@everfur/sdk 0.1.0 → 0.3.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 (187) hide show
  1. package/CHANGELOG.md +648 -1
  2. package/README.md +58 -23
  3. package/consent/package.json +8 -0
  4. package/dist/Chat-DPUD6dnc.d.cts +128 -0
  5. package/dist/Chat-DwAC2vhB.d.ts +128 -0
  6. package/dist/DepthViews-DNEM96Se.d.ts +16 -0
  7. package/dist/DepthViews-DP0R-DhB.d.cts +19 -0
  8. package/dist/DepthViews-D_3hl4xk.d.ts +19 -0
  9. package/dist/DepthViews-DbFhR4Du.d.cts +16 -0
  10. package/dist/ErrorPolicyPort-CNf4uQZP.d.cts +22 -0
  11. package/dist/ErrorPolicyPort-CwbfmxzJ.d.ts +22 -0
  12. package/dist/{EverfurResult-D92-uL82.d.cts → EverfurResult-DN9pL2Ab.d.cts} +11 -10
  13. package/dist/{EverfurResult-D92-uL82.d.ts → EverfurResult-DN9pL2Ab.d.ts} +11 -10
  14. package/dist/{PhotoController-BItt5M7u.d.cts → PhotoController-3l7MT9jA.d.cts} +1 -1
  15. package/dist/{PhotoController-D8zMTdcW.d.ts → PhotoController-vzY5bfY_.d.ts} +1 -1
  16. package/dist/animations/index.cjs +1 -1997
  17. package/dist/animations/index.d.cts +35 -35
  18. package/dist/animations/index.d.ts +35 -35
  19. package/dist/animations/index.js +1 -1972
  20. package/dist/attachments-5NeobOCd.d.ts +256 -0
  21. package/dist/attachments-Bw3iMQgu.d.ts +146 -0
  22. package/dist/attachments-CQgFrEQ7.d.cts +146 -0
  23. package/dist/attachments-D8T5re7e.d.cts +256 -0
  24. package/dist/casesRepository-ClLv6qMl.d.ts +188 -0
  25. package/dist/casesRepository-DHwtGRYY.d.cts +188 -0
  26. package/dist/chat/index.cjs +1 -1170
  27. package/dist/chat/index.d.cts +31 -53
  28. package/dist/chat/index.d.ts +31 -53
  29. package/dist/chat/index.js +1 -1167
  30. package/dist/client/index.cjs +9 -2315
  31. package/dist/client/index.d.cts +77 -15
  32. package/dist/client/index.d.ts +77 -15
  33. package/dist/client/index.js +9 -2215
  34. package/dist/{config-CiJ0PVBB.d.ts → config-CzTZGlfF.d.cts} +63 -25
  35. package/dist/{config-BSjBdxrZ.d.cts → config-DW60uRb9.d.ts} +63 -25
  36. package/dist/consent/index.cjs +1 -0
  37. package/dist/consent/index.d.cts +33 -0
  38. package/dist/consent/index.d.ts +33 -0
  39. package/dist/consent/index.js +1 -0
  40. package/dist/context-DXhqHlPU.d.ts +159 -0
  41. package/dist/context-XvTzq1tE.d.cts +159 -0
  42. package/dist/copy-Mjoo91aS.d.ts +198 -0
  43. package/dist/copy-bKDNigLb.d.cts +198 -0
  44. package/dist/core/index.cjs +13 -3175
  45. package/dist/core/index.d.cts +58 -12
  46. package/dist/core/index.d.ts +58 -12
  47. package/dist/core/index.js +13 -3163
  48. package/dist/depth-CErXCU8J.d.cts +502 -0
  49. package/dist/depth-DjDcJ6kH.d.ts +502 -0
  50. package/dist/entitlementRepository-DKdXFgTo.d.cts +698 -0
  51. package/dist/entitlementRepository-DSbzuyAW.d.ts +698 -0
  52. package/dist/{identity-DK9zORrG.d.ts → identity-BMx2SUOM.d.ts} +19 -6
  53. package/dist/{identity-Brl-lDd6.d.cts → identity-DI4eVx9S.d.cts} +19 -6
  54. package/dist/{ids-CJ1S6adf.d.cts → ids-B2GAAifq.d.cts} +1 -1
  55. package/dist/{ids-CJ1S6adf.d.ts → ids-B2GAAifq.d.ts} +1 -1
  56. package/dist/index.cjs +12 -4488
  57. package/dist/index.d.cts +29 -121
  58. package/dist/index.d.ts +29 -121
  59. package/dist/index.js +12 -4464
  60. package/dist/models-B-Uh2LTf.d.ts +214 -0
  61. package/dist/models-D2EUxPZY.d.cts +214 -0
  62. package/dist/notifications/index.cjs +2 -0
  63. package/dist/notifications/index.d.cts +17 -0
  64. package/dist/notifications/index.d.ts +17 -0
  65. package/dist/notifications/index.js +2 -0
  66. package/dist/pets-CtQdRpWo.d.ts +92 -0
  67. package/dist/pets-aB8q0JyX.d.cts +92 -0
  68. package/dist/photo/index.cjs +1 -2189
  69. package/dist/photo/index.d.cts +6 -6
  70. package/dist/photo/index.d.ts +6 -6
  71. package/dist/photo/index.js +1 -2186
  72. package/dist/ports-BN6RHF9W.d.cts +48 -0
  73. package/dist/ports-BN6RHF9W.d.ts +48 -0
  74. package/dist/ports-DEBzEhbp.d.cts +386 -0
  75. package/dist/ports-DMolTRzU.d.ts +386 -0
  76. package/dist/profile-CSs1wlXT.d.cts +93 -0
  77. package/dist/profile-CSs1wlXT.d.ts +93 -0
  78. package/dist/records/depth/index.cjs +2 -0
  79. package/dist/records/depth/index.d.cts +13 -0
  80. package/dist/records/depth/index.d.ts +13 -0
  81. package/dist/records/depth/index.js +2 -0
  82. package/dist/records/index.cjs +3 -2839
  83. package/dist/records/index.d.cts +137 -203
  84. package/dist/records/index.d.ts +137 -203
  85. package/dist/records/index.js +3 -2833
  86. package/dist/requestFunnel-CjW7uDuA.d.ts +87 -0
  87. package/dist/requestFunnel-L-BQfi0z.d.cts +87 -0
  88. package/dist/{resolve-Dq_4_agU.d.ts → resolve-D4Ywz5OS.d.cts} +10 -4
  89. package/dist/{resolve-Dq_4_agU.d.cts → resolve-D4Ywz5OS.d.ts} +10 -4
  90. package/dist/{runtime-BgQnA594.d.cts → runtime-B8s-_hv8.d.cts} +134 -59
  91. package/dist/{runtime-CBA-LvdM.d.ts → runtime-BR9ysG0J.d.ts} +134 -59
  92. package/dist/server/events/index.cjs +2 -0
  93. package/dist/server/events/index.d.cts +550 -0
  94. package/dist/server/events/index.d.ts +550 -0
  95. package/dist/server/events/index.js +2 -0
  96. package/dist/server/index.cjs +2 -533
  97. package/dist/server/index.d.cts +73 -18
  98. package/dist/server/index.d.ts +73 -18
  99. package/dist/server/index.js +2 -530
  100. package/dist/species-BXAIMh7I.d.cts +9 -0
  101. package/dist/species-BXAIMh7I.d.ts +9 -0
  102. package/dist/televet/index.cjs +1 -0
  103. package/dist/televet/index.d.cts +60 -0
  104. package/dist/televet/index.d.ts +60 -0
  105. package/dist/televet/index.js +1 -0
  106. package/dist/testing/index.cjs +5 -823
  107. package/dist/testing/index.d.cts +17 -3
  108. package/dist/testing/index.d.ts +17 -3
  109. package/dist/testing/index.js +5 -820
  110. package/dist/testing/rn/index.cjs +1 -449
  111. package/dist/testing/rn/index.d.cts +17 -29
  112. package/dist/testing/rn/index.d.ts +17 -29
  113. package/dist/testing/rn/index.js +1 -444
  114. package/dist/testing/web/index.cjs +1 -0
  115. package/dist/testing/web/index.d.cts +131 -0
  116. package/dist/testing/web/index.d.ts +131 -0
  117. package/dist/testing/web/index.js +1 -0
  118. package/dist/timelineRows-CaohZzXS.d.cts +19 -0
  119. package/dist/timelineRows-DZed6dAM.d.ts +19 -0
  120. package/dist/typeStyle-0TydiZ1w.d.cts +19 -0
  121. package/dist/typeStyle-CWMsoe6b.d.ts +19 -0
  122. package/dist/uploadTransport-D0M0T4hN.d.ts +38 -0
  123. package/dist/uploadTransport-DKJHs3Yj.d.cts +38 -0
  124. package/dist/useRecordsDepth-BHBzJ76R.d.cts +237 -0
  125. package/dist/useRecordsDepth-BU-OhzH6.d.ts +237 -0
  126. package/dist/useVetVisit-Bc84hWUU.d.cts +187 -0
  127. package/dist/useVetVisit-CjmMa896.d.ts +187 -0
  128. package/dist/video/index.cjs +1 -1941
  129. package/dist/video/index.d.cts +4 -4
  130. package/dist/video/index.d.ts +4 -4
  131. package/dist/video/index.js +1 -1938
  132. package/dist/view-C3qPIXGX.d.cts +310 -0
  133. package/dist/view-DtSPYpKa.d.ts +310 -0
  134. package/dist/visitIntent-D7_yVp1I.d.cts +8 -0
  135. package/dist/visitIntent-D7_yVp1I.d.ts +8 -0
  136. package/dist/web/consent/index.cjs +1 -0
  137. package/dist/web/consent/index.d.cts +34 -0
  138. package/dist/web/consent/index.d.ts +34 -0
  139. package/dist/web/consent/index.js +1 -0
  140. package/dist/web/index.cjs +14 -0
  141. package/dist/web/index.d.cts +217 -0
  142. package/dist/web/index.d.ts +217 -0
  143. package/dist/web/index.js +14 -0
  144. package/dist/web/notifications/index.cjs +2 -0
  145. package/dist/web/notifications/index.d.cts +213 -0
  146. package/dist/web/notifications/index.d.ts +213 -0
  147. package/dist/web/notifications/index.js +2 -0
  148. package/dist/web/records/depth/index.cjs +2 -0
  149. package/dist/web/records/depth/index.d.cts +12 -0
  150. package/dist/web/records/depth/index.d.ts +12 -0
  151. package/dist/web/records/depth/index.js +2 -0
  152. package/dist/web/records/index.cjs +4 -0
  153. package/dist/web/records/index.d.cts +194 -0
  154. package/dist/web/records/index.d.ts +194 -0
  155. package/dist/web/records/index.js +4 -0
  156. package/dist/web/televet/index.cjs +1 -0
  157. package/dist/web/televet/index.d.cts +50 -0
  158. package/dist/web/televet/index.d.ts +50 -0
  159. package/dist/web/televet/index.js +1 -0
  160. package/notifications/package.json +8 -0
  161. package/package.json +197 -9
  162. package/records/depth/package.json +8 -0
  163. package/server/events/device-blocked.cjs +15 -0
  164. package/server/events/package.json +9 -0
  165. package/televet/package.json +8 -0
  166. package/testing/web/native-blocked.cjs +12 -0
  167. package/testing/web/package.json +8 -0
  168. package/web/consent/native-blocked.cjs +12 -0
  169. package/web/consent/package.json +8 -0
  170. package/web/native-blocked.cjs +12 -0
  171. package/web/notifications/native-blocked.cjs +12 -0
  172. package/web/notifications/package.json +8 -0
  173. package/web/package.json +8 -0
  174. package/web/records/depth/native-blocked.cjs +12 -0
  175. package/web/records/depth/package.json +8 -0
  176. package/web/records/native-blocked.cjs +12 -0
  177. package/web/records/package.json +8 -0
  178. package/web/televet/native-blocked.cjs +12 -0
  179. package/web/televet/package.json +8 -0
  180. package/dist/ChatController-CKdBvPj2.d.ts +0 -146
  181. package/dist/ChatController-CpUMvvZf.d.cts +0 -146
  182. package/dist/FilePort-BabWrv7I.d.cts +0 -22
  183. package/dist/FilePort-BabWrv7I.d.ts +0 -22
  184. package/dist/petsRepository-BEGb97M9.d.cts +0 -326
  185. package/dist/petsRepository-Bu18r2kK.d.ts +0 -326
  186. package/dist/requestFunnel-DuUH-kAe.d.cts +0 -28
  187. package/dist/requestFunnel-dio5OmR9.d.ts +0 -28
@@ -0,0 +1,4 @@
1
+ 'use strict';var react=require('react'),zod=require('zod'),jsxRuntime=require('react/jsx-runtime');var ad=Object.defineProperty;var i=(e,r)=>ad(e,"name",{value:r,configurable:true});var Jn=Object.freeze([Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"ConflictException",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"DAILY_QUOTA_EXCEEDED",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"FILE_TOO_LARGE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_IN_FLIGHT",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"INVALID_CONTENT_TYPE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"InternalFailureException",envelope:"http_envelope",httpStatus:500,retryable:true}),Object.freeze({wireCode:"MethodNotAllowedException",envelope:"http_envelope",httpStatus:405,retryable:false}),Object.freeze({wireCode:"NotImplementedException",envelope:"http_envelope",httpStatus:501,retryable:false}),Object.freeze({wireCode:"PaymentRequiredException",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ResourceNotFoundException",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"ServiceUnavailableException",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"TIER_UPGRADE_REQUIRED",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ThrottlingException",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"ValidationException",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"accessDenied",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"access_denied",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"device_cipher_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"email_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"event_cursor_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_payload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_not_available",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_unknown",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_required",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_reused",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"insufficientCapability",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"insufficient_scope",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"internal_error",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"invalidRequest",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_client",envelope:"oauth_error",httpStatus:401,retryable:false}),Object.freeze({wireCode:"invalid_client_metadata",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_grant",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_redirect_uri",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),Object.freeze({wireCode:"mcp_request_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"not_found",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"partner_visit_link_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"partner_visit_owner_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"partner_visit_pet_already_mapped",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"payload_too_large",envelope:"http_envelope",httpStatus:413,retryable:false}),Object.freeze({wireCode:"petRefInUse",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"pet_health_list_removals_unconfirmed",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_health_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_not_registered",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"provider_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"rateLimited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"record_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"record_subject_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"record_upload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"records_consent_required",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"sandbox_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"session_required",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"share_limit_reached",envelope:"http_envelope",httpStatus:429,retryable:false}),Object.freeze({wireCode:"slow_down",envelope:"oauth_error",httpStatus:429,retryable:true}),Object.freeze({wireCode:"species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"tenant_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"tenant_has_no_capabilities",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"tenant_resource_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"tenant_surface_not_enabled",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"timeout",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"token_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"unavailable",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"unsupported_grant_type",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"unsupported_response_type",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"verify_mint_rate_limited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"verify_mint_refused",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"verify_mint_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);Object.freeze(Jn.map(e=>e.wireCode));var sd=Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),Mi=Object.freeze(Jn.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:sd[e.wireCode]}))),ld=new Map(Mi.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),dd=Object.freeze(["http_envelope",...[...new Set(Mi.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function cn(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...dd]){let n=ld.get(o+t);if(n)return n}}i(cn,"contractErrorFor");function cd(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}i(cd,"contractDocUrl");function $i(e){return null}i($i,"publishedDocUrl");var ud=Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function Ui(e){return ud[e]}i(Ui,"categoryFor");function Bi(e){let r=cn(e);if(r)return r.normalized;let t=(e??"").trim().toUpperCase(),o=t.replace(/[^A-Z0-9]/g,"");if(o==="AUTHREJECTED")return "authRejected";if(t.startsWith("AUTH"))return "authExpired";switch(o){case "DAILYQUOTAEXCEEDED":case "QUOTAEXCEEDED":return "quotaExceeded";case "RATELIMITED":case "TOOMANYREQUESTS":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}i(Bi,"fromWire");var pd=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function Zn(e){return pd.has(e)}i(Zn,"isAutoRetryable");var md=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function ji(e){return Zn(e)||md.has(e)}i(ji,"isRetryableCode");var fd=500,eo=8e3,Hi=4;function Vi(e,r=Math.random){let t=Math.max(0,e),o=Math.min(fd*2**t,eo);return Math.floor(r()*o)}i(Vi,"backoffDelayMs");var yd=Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:"This feature isn't available on your account right now.",paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:"Something in that request was not right. Check the details and try again.",sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",unknown:"Something went wrong. Please try again."});function ro(e){return yd[e]}i(ro,"userFacingError");function Wi(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}i(Wi,"defineHidden");var gd=/^[a-z][a-z0-9_]{0,63}$/;function L(e,r){let t=cn(r?.wireCode,r?.wireEnvelope),o={code:e,category:Ui(e),retryable:r?.retryable??ji(e),displayMessage:ro(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&gd.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Wi(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Wi(o,"raw",r.raw),Object.freeze(o)}i(L,"makeEverfurError");function Se(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}i(Se,"ok");function j(e){return Object.freeze({ok:false,error:e})}i(j,"err");var un=class un extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,un.prototype);}};i(un,"EverfurConfigError");var Ut=un;var Xi=new Set(["requested","awaiting_clinic","awaiting_upload","received","parsing","in_review","published","failed","revoked"]),Gi=Object.freeze({submitted:"requested",sent:"requested",dispatching:"requested",awaiting_response:"awaiting_clinic",clinic_responded_no_records:"awaiting_clinic",records_received:"received",parsing_failed:"in_review",review_email_failed:"in_review",clinic_declined:"failed"});function bd(e){let r=Object.prototype.hasOwnProperty.call(Gi,e)?Gi[e]:void 0;if(r!==void 0)return r;let t=e;return Xi.has(t)?t:"parsing"}i(bd,"normalizeStatus");function Ji(e){return e==="owner_reported"||e==="clinic_document"?e:null}i(Ji,"normalizeOrigin");var hd=zod.z.object({request_id:zod.z.string().min(1),pet_ref:zod.z.string().min(1),status:zod.z.string(),simple_status:zod.z.string().nullish(),simple_status_detail:zod.z.string().nullish(),status_label:zod.z.string().optional(),dispatch_status:zod.z.string().nullish(),can_retry_send:zod.z.boolean().optional(),can_revoke:zod.z.boolean().optional(),can_convert_to_upload:zod.z.boolean().optional(),can_update_clinic_email:zod.z.boolean().optional(),reminder_count:zod.z.number().int().nonnegative().optional(),last_reminder_at:zod.z.string().nullish(),waiting_expectation:zod.z.string().nullish(),document_count:zod.z.number().optional(),held_item_count:zod.z.number().optional(),received_at:zod.z.string().nullish(),parsing_started_at:zod.z.string().nullish(),review_started_at:zod.z.string().nullish(),created_at:zod.z.string().optional(),updated_at:zod.z.string().optional(),source:zod.z.string().nullish().catch(null),action_needed_label:zod.z.string().nullish().catch(null),failure_reason:zod.z.string().nullish().catch(null),failure_code:zod.z.string().nullish().catch(null),recovery_stage:zod.z.string().nullish().catch(null),show_clinic_phone:zod.z.boolean().optional().catch(void 0),clinic_name:zod.z.string().nullish().catch(null),clinic_email:zod.z.string().nullish().catch(null),clinic_phone:zod.z.string().nullish().catch(null),converted_to_upload_at:zod.z.string().nullish().catch(null),request_group_id:zod.z.string().nullish().catch(null)}).passthrough();function Yr(e){let r=hd.safeParse(e);if(!r.success)return null;let t=r.data,o=vd(t.simple_status),n=o==="requested"&&(t.status==="awaiting_upload"||t.simple_status_detail==="awaiting_owner_upload")?"awaiting_upload":o==="parsing"&&(t.simple_status_detail==="in_review"||t.simple_status_detail==="review_email_failed")?"in_review":o??bd(t.status);return Object.freeze({id:t.request_id,petRef:t.pet_ref,status:n,simpleStatus:o,simpleStatusDetail:t.simple_status_detail??null,statusLabel:t.status_label??"",dispatchStatus:t.dispatch_status??null,canRetrySend:t.can_retry_send===true,canRevoke:t.can_revoke===true,canConvertToUpload:t.can_convert_to_upload===true,canUpdateClinicEmail:t.can_update_clinic_email===true,reminderCount:t.reminder_count??0,lastReminderAt:t.last_reminder_at??null,waitingExpectation:t.waiting_expectation??null,documentCount:Ki(t.document_count,0),heldItemCount:Ki(t.held_item_count,0),receivedAt:t.received_at??null,parsingStartedAt:t.parsing_started_at??null,reviewStartedAt:t.review_started_at??null,createdAt:t.created_at??"",updatedAt:t.updated_at??"",wireStatus:t.status,source:t.source??null,actionNeededLabel:t.action_needed_label??null,failureReason:t.failure_reason??null,failureCode:t.failure_code??null,recoveryStage:t.recovery_stage??null,showClinicPhone:t.show_clinic_phone===true,clinicName:t.clinic_name??null,clinicEmail:t.clinic_email??null,clinicPhone:t.clinic_phone??null,convertedToUploadAt:t.converted_to_upload_at??null,requestGroupId:t.request_group_id??null})}i(Yr,"mapRequestView");var Rd=zod.z.object({request_group_id:zod.z.string().min(1),pet_ref:zod.z.string().min(1),total:zod.z.number().int().nonnegative(),responded:zod.z.number().int().nonnegative(),pending:zod.z.number().int().nonnegative(),members:zod.z.array(zod.z.unknown())});function Zi(e){let r=Rd.safeParse(e);if(!r.success)return null;let t=r.data,o=to(t.members);return o.some(n=>n.petRef!==t.pet_ref)?null:Object.freeze({requestGroupId:t.request_group_id,petRef:t.pet_ref,total:t.total,responded:t.responded,pending:t.pending,members:o})}i(Zi,"mapRequestGroup");function vd(e){return !e||e==="awaiting_upload"||e==="in_review"?null:Xi.has(e)?e:null}i(vd,"normalizeSimpleStatus");function to(e){let r=Array.isArray(e)?e:[],t=[];for(let o of r){let n=Yr(o);n!==null&&t.push(n);}return Object.freeze(t)}i(to,"mapRequestList");var Cd=zod.z.object({source_doc_id:zod.z.string().min(1),request_id:zod.z.string().min(1)});function ea(e){let r=Cd.safeParse(e);return r.success?Object.freeze({documentId:r.data.source_doc_id,requestId:r.data.request_id,status:"received"}):null}i(ea,"mapUploadedDocument");var Ed=zod.z.object({label:zod.z.string(),value:zod.z.string()}),no=zod.z.object({key:zod.z.string(),category:zod.z.string().optional(),label:zod.z.string().optional(),value:zod.z.string().nullish(),unit:zod.z.string().nullish(),observed_at:zod.z.string().nullish(),status:zod.z.string().nullish(),origin:zod.z.string().nullish(),canonical_key:zod.z.string().nullish()}),xd=zod.z.object({at:zod.z.string(),value:zod.z.number().nullish(),display:zod.z.string().nullish(),origin:zod.z.string().nullish()}),Sd=zod.z.object({key:zod.z.string(),label:zod.z.string().optional(),points:zod.z.array(xd).optional()}),wd=zod.z.object({title:zod.z.string(),detail:zod.z.string().nullish(),due_at:zod.z.string().nullish()}),oo=zod.z.object({doc_id:zod.z.string(),title:zod.z.string().nullish(),page_count:zod.z.number().nullish(),received_at:zod.z.string().nullish()});function io(e){return Object.freeze({key:e.key,category:e.category??"",label:e.label??e.key,value:e.value??null,unit:e.unit??null,observedAt:e.observed_at??null,status:e.status??null,origin:Ji(e.origin),canonicalKey:e.canonical_key??null})}i(io,"mapEntityRow");function ao(e){return Object.freeze({docId:e.doc_id,title:e.title??null,pageCount:e.page_count??null,receivedAt:e.received_at??null})}i(ao,"mapDocumentRow");var kd=zod.z.object({identity:zod.z.array(Ed).optional(),entities:zod.z.array(no).optional(),entity_series:zod.z.array(Sd).optional(),forward_looking:zod.z.array(wd).optional(),documents:zod.z.array(oo).optional()});function ra(e,r){let t=Pd(r)?r:{},o=Qi(t.schema_version,"epdf/1.0"),n=Qi(t.disclaimer,""),l=typeof t.pet_ref=="string"&&t.pet_ref.length>0?t.pet_ref:e;if(t.withheld===true)return Yi(l,o,n);let a=kd.safeParse(t);if(!a.success)return Yi(l,o,n);let c=a.data,s=(c.identity??[]).map(b=>Object.freeze({label:b.label,value:b.value})),d=(c.entities??[]).map(io),u=(c.entity_series??[]).map(b=>Object.freeze({key:b.key,label:b.label??b.key,points:Object.freeze((b.points??[]).map(m=>Object.freeze({at:m.at,value:m.value??null,display:m.display??null,origin:Ji(m.origin)})))})),p=(c.forward_looking??[]).map(b=>Object.freeze({title:b.title,detail:b.detail??null,dueAt:b.due_at??null})),f={};for(let b of c.documents??[])f[b.doc_id]=ao(b);let y=t.is_empty===true||s.length===0&&d.length===0&&u.length===0&&p.length===0&&Object.keys(f).length===0;return Object.freeze({petRef:l,schemaVersion:o,isEmpty:y,withheld:false,generatedAt:Td(t.generated_at),identity:Object.freeze(s),entities:Object.freeze(d),entitySeries:Object.freeze(u),forwardLooking:Object.freeze(p),documents:Object.freeze(f),disclaimer:n})}i(ra,"mapRecordView");function Yi(e,r,t){return Object.freeze({petRef:e,schemaVersion:r,isEmpty:false,withheld:true,generatedAt:null,identity:Object.freeze([]),entities:Object.freeze([]),entitySeries:Object.freeze([]),forwardLooking:Object.freeze([]),documents:Object.freeze({}),disclaimer:t})}i(Yi,"withheldView");var _d=zod.z.object({pet_ref:zod.z.string().optional(),granted:zod.z.boolean().optional(),version:zod.z.string().nullish(),granted_at:zod.z.string().nullish()});function pn(e,r){let t=_d.safeParse(r),o=t.success?t.data:{};return Object.freeze({petRef:typeof o.pet_ref=="string"&&o.pet_ref.length>0?o.pet_ref:e,granted:o.granted===true,version:o.version??null,grantedAt:o.granted_at??null})}i(pn,"mapConsent");function Pd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(Pd,"isObject");function Ki(e,r){return typeof e=="number"&&Number.isFinite(e)?e:r}i(Ki,"numberOr");function Qi(e,r){return typeof e=="string"&&e.length>0?e:r}i(Qi,"strOr");function Td(e){return typeof e=="string"&&e.length>0?e:null}i(Td,"strOrNull");var ta=Object.freeze(["published","failed","revoked"]);function Et(e){return ta.includes(e)}i(Et,"isTerminalStatus");function Kr(e){if(e===null)return null;let r=e.recordsReason;return r==="consent_required"||r==="session_required"||r==="entitlement"||r==="pet_not_found"?r:null}i(Kr,"recordsDenialReasonOf");var Dd="records_consent_required";function Id(e){let r=e.raw;if(r===null||typeof r!="object")return null;let t=r,o=typeof t.error=="object"&&t.error!==null?t.error.code:t.code;return typeof o=="string"&&o.length>0?o:null}i(Id,"recordsWireCodeOf");function Mr(e){return e===null||e.httpStatus!==409?false:Id(e)===Dd}i(Mr,"isRecordsConsentRequired");var Od=Object.freeze({postMultipart(){return Promise.reject(new Error("UploadTransport is unavailable; no records upload adapter was injected"))}});function mn(e){return e!==Od}i(mn,"isUploadTransportAvailable");var na=Object.freeze({record(){}}),Ir=25*1024*1024,oa=64,Bt=128,Xe=128,Qr="application/pdf",ia=9e4;function sa(e){return new so(e)}i(sa,"createRecordsController");var lo=class lo{constructor(r){this.recordCache=new Map;this.consentEpoch=new Map;this.reportedGaps=new Set;this.repository=r.repository,this.uploads=r.uploads,this.telemetry=r.telemetry??na,this.newIdempotencyKey=r.newIdempotencyKey??Ld(),this.timers=r.timers??Nd,this.uploadDeadlineMs=r.uploadDeadlineMs??ia;}async createUploadRequest(r){let t=await this.repository.createRequest({pet_ref:r.petRef,idempotency_key:r.idempotencyKey});if(!t.ok)return this.onRequestError(t.error);let o=Yr(t.value);return o===null?j(fn()):(this.observeRequest(o),Se(o))}async getRequest(r){let t=await this.repository.getRequest(r);if(!t.ok)return this.onRequestError(t.error);let o=Yr(t.value);return o===null?j(fn()):(this.observeRequest(o),Se(o))}async listRequests(){let r=await this.repository.listRequests();if(!r.ok)return this.onRequestError(r.error);let t=to(r.value);for(let o of t)this.observeRequest(o);return Se(t)}async uploadDocument(r){let{requestId:t,file:o}=r,n=Ad(o);if(n!==null)return this.telemetry.record("records.upload.rejected",{reason:n}),j(aa(`upload rejected: ${n}`));let l=await this.repository.initiateUpload(t,{content_type:Qr,file_size:o.sizeBytes});if(!l.ok)return this.onRequestError(l.error);let a=await this.postToS3(l.value,o,r);if(!a.ok)return this.telemetry.record("records.upload.failed",{reason:a.reason}),j(aa(a.reason));let c=await this.repository.completeUpload(t,{upload_id:l.value.upload_id});if(!c.ok)return c.error.code==="mediaUploadFailed"&&this.telemetry.record("records.upload.rejected",{reason:qd(c.error)??"corrupt"}),this.onRequestError(c.error);let s=ea(c.value);return s===null?j(fn()):Se(s)}async postToS3(r,t,o){let n=new AbortController,l=Fd(n.signal,o.signal),a=this.timers.setTimeout(()=>n.abort(),this.uploadDeadlineMs);try{let c={signal:l};return o.onProgress&&(c.onProgress=o.onProgress),await this.uploads.postMultipart(r,t,c),{ok:!0}}catch{return {ok:false,reason:n.signal.aborted&&o.signal?.aborted!==true?"timeout":"upload_error"}}finally{this.timers.clearTimeout(a);}}async getRecord(r){let t=this.consentEpoch.get(r)??0,o=await this.repository.getRecord(r);if(t!==(this.consentEpoch.get(r)??0))return j(Object.freeze({...L("accessDenied",{retryable:false}),recordsReason:"consent_required"}));if(!o.ok){let l=Kr(o.error);return l==="consent_required"?(this.recordCache.delete(r),this.telemetry.record("records.consent.denied",{pet_ref:r})):l==="entitlement"&&this.telemetry.record("records.capability.denied",{pet_ref:r}),j(o.error)}let n=ra(r,o.value);return n.petRef!==r?j(fn()):n.withheld?(this.telemetry.record("records.redaction.withheld",{pet_ref:r}),this.recordCache.delete(r),Se(n)):(this.recordCache.set(r,n),Se(n))}peekCachedRecord(r){return this.recordCache.get(r)??null}async getConsent(r){let t=await this.repository.getConsent(r);return t.ok?Se(pn(r,t.value)):j(t.error)}async grantConsent(r){let t=await this.repository.putConsent(r.petRef,{consent_version:r.consentVersion,idempotency_key:r.idempotencyKey});return t.ok?Se(pn(r.petRef,t.value)):(Kr(t.error)==="entitlement"&&this.telemetry.record("records.capability.denied",{pet_ref:r.petRef}),j(t.error))}async revokeConsent(r){let t=await this.repository.deleteConsent(r);return t.ok?(this.consentEpoch.set(r,(this.consentEpoch.get(r)??0)+1),this.recordCache.delete(r),Se(pn(r,t.value))):j(t.error)}reportCapabilityDenied(r){this.telemetry.record("records.capability.denied",r?{pet_ref:r}:{});}observeRequest(r){r.reviewStartedAt!==null&&!this.reportedGaps.has(r.id)&&(this.reportedGaps.add(r.id),this.telemetry.record("records.parse.gap",{request_id:r.id}));}onRequestError(r){return Kr(r)==="entitlement"&&this.telemetry.record("records.capability.denied",{}),j(r)}};i(lo,"RecordsControllerImpl");var so=lo;function Ad(e){if(e.mimeType!==Qr)return "unsupported_format";let r=e.sizeBytes;return typeof r!="number"||!Number.isFinite(r)||r<=0||r>Ir?"oversize":null}i(Ad,"validateFile");function qd(e){let r=e.wireMessage;return r==="unsupported_format"||r==="oversize"||r==="corrupt"?r:null}i(qd,"reasonFromWire");function aa(e){return L("mediaUploadFailed",{retryable:false,wireMessage:e})}i(aa,"uploadFailed");function fn(){return L("internalError",{retryable:true})}i(fn,"internal");var Nd={setTimeout:i((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout")};function Fd(e,r){if(!r)return e;let t=new AbortController;if(e.aborted||r.aborted)return t.abort(),t.signal;let o=i(()=>t.abort(),"onAbort");return e.addEventListener("abort",o,{once:true}),r.addEventListener("abort",o,{once:true}),t.signal}i(Fd,"mergeSignals");function Ld(){let e=0;return ()=>`records-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,10)}`}i(Ld,"defaultIdempotencyFactory");function Xr(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}i(Xr,"assertNever");function la(e){return Object.freeze({kind:"error",terminal:true,code:e.code,retryable:e.retryable,wireMessage:e.wireMessage,synthesized:e.synthesized,lastEventId:e.lastEventId,serverRequestId:e.serverRequestId??null})}i(la,"errorFrame");function $d(e){let r={};return e.mode==="personalized"?r.authorization=`Bearer ${e.token}`:r["x-everfur-partner-key"]=e.publishableKey,e.userRef&&(r["x-everfur-user-ref"]=e.userRef),e.sessionId&&(r["x-everfur-session-id"]=e.sessionId),r}i($d,"authHeaders");function jt(e,r){return {...e,headers:{...Ud(e.headers),...$d(r)}}}i(jt,"withAuthHeaders");function Ud(e){if(!e)return {};let r={};for(let[t,o]of Object.entries(e)){let n=t.toLowerCase();n==="authorization"||n==="x-everfur-partner-key"||(r[t]=o);}return r}i(Ud,"stripAuthHeaders");async function da(e,r){if(r.mode==="anonymous")return r.transport.request(jt(e,{mode:"anonymous",publishableKey:r.publishableKey,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));let t;try{t=await r.identity.currentToken();}catch{return j(co())}let o=await r.transport.request(jt(e,{mode:"personalized",token:t,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));if(o.ok||o.error.httpStatus!==401)return o;let n;try{n=await r.identity.currentToken({forceRefresh:!0});}catch{return j(co())}let l=await r.transport.request(jt(e,{mode:"personalized",token:n,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?j(co(l.error.httpStatus)):l}i(da,"authedSend");function co(e){return L("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}i(co,"authRejectedError");function ca(e){return L("internalError",{retryable:true,wireMessage:Bd(e)})}i(ca,"networkError");function Bd(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}i(Bd,"describeCause");var jd=3e4,Hd=eo*2,Vd="idempotency-key",Wd=new Set(["POST","PUT","PATCH","DELETE"]),Gd=Object.freeze({onEvent(){}}),Yd=Object.freeze({setTimeout:i((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function Jr(e){let r=e.observer??Gd,t=e.timers??Yd,o=e.rng??Math.random,n=e.sleep??((f,y)=>ac(f,t,y)),l=e.maxAttempts??Hi,a=e.unaryTimeoutMs??jd,c=e.newIdempotencyKey??$r(),s=i(f=>{try{r.onEvent(f);}catch{}},"emit");async function d(f,y,b){let m=b?.maxAttempts,S=Math.max(1,m??l),x=b?.idempotent??Wd.has(y.method)?c():null,g=Kd(y,x),h=0;for(;;){let v=i(B=>Object.freeze({call:f,method:y.method,path:y.path,attempt:h,...x?{idempotencyKey:x}:{},...B}),"stamp");s(v({phase:"attempt"}));let E=oc(a,t),k=ic(E.signal,y.signal),D;try{D=await da({...g,signal:k.signal},e.auth);}catch(B){D=j(ca(B));}finally{k.dispose(),E.cancel();}if(D.ok)return s(v({phase:"settled",ok:true,reason:"ok"})),D;let I=D.error,P=Xd(I,h,{maxAttempts:S,rng:o,now:t.now(),aborted:y.signal?.aborted===true,...m!==void 0?{perCallMaxAttempts:m}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),O={ok:false,code:I.code,reason:P.reason,...I.httpStatus!==void 0?{httpStatus:I.httpStatus}:{},...I.requestId!==void 0?{requestId:I.requestId}:{}};if(!P.retry)return s(v({phase:"settled",...O})),j(I);if(s(v({phase:"retry",...O,delayMs:P.delayMs})),await n(P.delayMs,y.signal),y.signal?.aborted===true)return s(v({phase:"settled",...O,reason:"aborted"})),j(I);h+=1;}}i(d,"send");async function u(f){return jt(f,await nc(e.auth))}i(u,"authorize");async function*p(f,y,b){s(Object.freeze({call:f,phase:"stream.open",method:y.method,path:y.path,attempt:0}));try{yield*e.auth.transport.stream(y,b);}catch{yield la({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return i(p,"stream"),Object.freeze({send:d,authorize:u,stream:p})}i(Jr,"createRequestFunnel");function Kd(e,r){let t={};for(let[o,n]of Object.entries(e.headers??{}))o.toLowerCase()!==Vd&&(t[o]=n);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}i(Kd,"assembleHeaders");function $r(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}i($r,"defaultIdempotencyKeyFactory");var Qd=10;function Xd(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=Jd(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!Zn(e.code))return {retry:false,reason:"terminal-code"};let n=o==="burst"?"burst-throttle":"retryable-code";if(i(()=>{if(t.policy===void 0)return false;try{return !t.policy.shouldRetry(e.code,r)}catch{return false}},"policyVetoedRetry")())return {retry:false,reason:"terminal-code"};let a=i(()=>{if(t.policy===void 0)return null;let d;try{d=t.policy.maxAttempts(e.code);}catch{return null}return typeof d!="number"||!Number.isFinite(d)?null:Math.max(1,Math.min(Qd,Math.floor(d)))},"policyCeiling"),c=t.perCallMaxAttempts??a()??t.maxAttempts;if(r+1>=c)return {retry:false,reason:"attempts-exhausted"};let s=Zd(e,t.now);return s!==null?s>Hd?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:n,delayMs:s}:{retry:true,reason:n,delayMs:Vi(r,t.rng)}}i(Xd,"decideRetry");function Jd(e){let r=e.code==="unknown"?Bi(tc(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}i(Jd,"throttleKind");function Zd(e,r){let t=ec(e.raw);if(t===null)return null;let o=t-r;return o>0?o:0}i(Zd,"retryOverrideMs");function ec(e){for(let r of pa(e)){let t=r.resets_at,o=rc(t);if(o!==null)return o}return null}i(ec,"findResetsAt");function pa(e){if(!ua(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];ua(o)&&r.push(o);}return r}i(pa,"candidateScopes");function rc(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let r=Date.parse(e);return Number.isFinite(r)?r:null}return null}i(rc,"parseInstantMs");function tc(e){for(let r of pa(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}i(tc,"rawWireCode");function ua(e){return typeof e=="object"&&e!==null}i(ua,"isRecord");async function nc(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}i(nc,"resolveDeviceAuth");function oc(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:i(()=>r.clearTimeout(o),"cancel")}}i(oc,"boundedSignal");function ic(e,r){let t=i(()=>{},"noop");if(!r)return {signal:e,dispose:t};let o=new AbortController;if(e.aborted||r.aborted)return o.abort(),{signal:o.signal,dispose:t};let n=i(()=>o.abort(),"onAbort");return e.addEventListener("abort",n,{once:true}),r.addEventListener("abort",n,{once:true}),{signal:o.signal,dispose:i(()=>{e.removeEventListener("abort",n),r.removeEventListener("abort",n);},"dispose")}}i(ic,"mergeSignals");function ac(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let n=r.setTimeout(()=>{t?.removeEventListener("abort",l),o();},e),l=i(()=>{r.clearTimeout(n),o();},"onAbort");t?.addEventListener("abort",l,{once:true});})}i(ac,"delayAbortable");function Zr(e){for(let r=0;r<e.length;r+=1){let t=e.charCodeAt(r);if(t>=55296&&t<=56319){let o=e.charCodeAt(r+1);if(!(o>=56320&&o<=57343))return true;r+=1;}else if(t>=56320&&t<=57343)return true}return false}i(Zr,"hasLoneSurrogate");var Ur="/widget/v1/records";function fa(e){let{auth:r}=e,t=r.mode,o=e.funnel??Jr({auth:r,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),n=i(async(s,d,u)=>{let p=await o.send(s,d);return p.ok?p:j(dc(p.error,t,u))},"send"),l=i((s,d)=>typeof d!="string"||d.length===0?L("validationFailed",{retryable:false,wireMessage:`${s} is required and must be a non-empty string`}):Zr(d)?L("validationFailed",{retryable:false,wireMessage:`${s} contains an unpaired surrogate and cannot be encoded`}):null,"segmentError"),a=i((s,d,u)=>{let p=l(s,d);if(p!==null)return p;let y=[...d].length;return y>u?L("validationFailed",{retryable:false,wireMessage:`${s} is ${y} characters; the server accepts at most ${u}`}):null},"boundsError"),c=i((...s)=>s.find(d=>d!==null)??null,"firstError");return {createRequest:i(s=>{let d=c(a("idempotency_key",s.idempotency_key,Bt),a("pet_ref",s.pet_ref,Xe));return d?Promise.resolve(j(d)):n("records.createRequest",uo(`${Ur}/requests`,s),"request")},"createRequest"),initiateUpload:i((s,d)=>{let u=l("request_id",s);return u?Promise.resolve(j(u)):n("records.initiateUpload",uo(`${Ur}/requests/${encodeURIComponent(s)}/uploads/initiate`,d),"request")},"initiateUpload"),completeUpload:i((s,d)=>{let u=l("request_id",s);return u?Promise.resolve(j(u)):n("records.completeUpload",uo(`${Ur}/requests/${encodeURIComponent(s)}/uploads/complete`,d),"request")},"completeUpload"),getRequest:i(s=>{let d=l("request_id",s);return d?Promise.resolve(j(d)):n("records.getRequest",yn(`${Ur}/requests/${encodeURIComponent(s)}`),"request")},"getRequest"),listRequests:i(async()=>{let s=await n("records.listRequests",yn(`${Ur}/requests`),"request");if(!s.ok)return s;let d=s.value;return {ok:true,value:Array.isArray(d)?d:d.items??[]}},"listRequests"),getRecord:i(s=>{let d=a("pet_ref",s,Xe);return d?Promise.resolve(j(d)):n("records.getRecord",yn(`${Ur}/pets/${encodeURIComponent(s)}/record`),"content")},"getRecord"),getConsent:i(s=>{let d=a("pet_ref",s,Xe);return d?Promise.resolve(j(d)):n("records.getConsent",yn(`${Ur}/pets/${encodeURIComponent(s)}/consent`),"consent")},"getConsent"),putConsent:i((s,d)=>{let u=c(a("consent_version",d.consent_version,oa),a("idempotency_key",d.idempotency_key,Bt),a("pet_ref",s,Xe));return u?Promise.resolve(j(u)):n("records.putConsent",cc(`${Ur}/pets/${encodeURIComponent(s)}/consent`,d),"consent")},"putConsent"),deleteConsent:i(s=>{let d=a("pet_ref",s,Xe);return d?Promise.resolve(j(d)):n("records.deleteConsent",uc(`${Ur}/pets/${encodeURIComponent(s)}/consent`),"consent")},"deleteConsent")}}i(fa,"createHttpRecordsRepository");function ma(e,r){let t={...e,recordsReason:r};for(let o of ["wireMessage","raw"]){let n=Object.getOwnPropertyDescriptor(e,o);n!==void 0&&Object.defineProperty(t,o,n);}return Object.freeze(t)}i(ma,"withReason");var sc="pet_not_registered";function lc(e){return e.httpStatus!==404?null:e.reasonCode===sc?"pet_not_found":"entitlement"}i(lc,"recordsErrorReasonFor");function dc(e,r,t){let o=lc(e);return o!==null?ma(e,o):e.code!=="accessDenied"?e:ma(e,r==="anonymous"?"session_required":t==="content"?"consent_required":"entitlement")}i(dc,"tagReason");function yn(e){return {method:"GET",path:e}}i(yn,"get");function uo(e,r){return {method:"POST",path:e,body:r}}i(uo,"post");function cc(e,r){return {method:"PUT",path:e,body:r}}i(cc,"put");function uc(e){return {method:"DELETE",path:e}}i(uc,"del");var ya=Symbol.for("@everfur/sdk#EverfurContext@v1"),ga=globalThis,ba=ga[ya]??(ga[ya]=react.createContext(null));ba.displayName??="EverfurContext";function ie(){let e=react.useContext(ba);if(e===null)throw new Ut("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}i(ie,"useEverfurContext");var po=new Map,mo=new Set;function ha(e){po.set(e,(po.get(e)??0)+1);for(let r of [...mo])r();}i(ha,"notifyRecordsConsentWithdrawn");function gc(e){return po.get(e)??0}i(gc,"recordsConsentEpochOf");function bc(e){return mo.add(e),()=>{mo.delete(e);}}i(bc,"subscribe");function gn(e){let r=react.useCallback(()=>gc(e),[e]);return react.useSyncExternalStore(bc,r,r)}i(gn,"useRecordsConsentEpoch");var yo={record:null,requests:[],consent:null,error:null,denialReason:null,withheld:false,loading:true,isUploading:false,uploadProgress:null,uploadQueue:[]},va=4e3,Rc=30;function Je(e){let{petRef:r}=e,t=react.useRef(e.uploadTransport);t.current=e.uploadTransport;let o=e.uploadTransport!==void 0,{runtime:n,userRef:l,scopeEpoch:a}=ie(),c=react.useMemo(()=>({}),[n,l,r,a,e.controller]),s=react.useRef(c),[d,u]=react.useState({scope:c,controller:e.controller??null}),p=e.controller??(d.scope===c?d.controller:null),[f,y]=react.useState({scope:c,value:yo}),b=f.scope===c?f.value:yo,m=react.useCallback(w=>{y(C=>C.scope===c?{scope:c,value:w(C.value)}:C);},[c]),S=react.useRef(0);react.useEffect(()=>(s.current=c,y({scope:c,value:yo}),()=>{s.current=null,S.current+=1;}),[c]),react.useEffect(()=>{if(e.controller)return;let{services:w}=n.registry,C={record:i((T,U)=>w.telemetry.track(T,U),"record")},q=n.registry.acquire("records",`${l??""}|${r}${o?"|own-upload":""}`,()=>sa({repository:fa({auth:w.authFor(l),...w.errorPolicy?{errorPolicy:w.errorPolicy}:{}}),uploads:o?{postMultipart:i((T,U,se)=>(t.current??w.uploadTransport).postMultipart(T,U,se),"postMultipart")}:w.uploadTransport,telemetry:C}),()=>{});return u({scope:c,controller:q}),()=>{n.registry.release(q);}},[n,l,r,e.controller,a,c,o]);let R=react.useCallback(w=>{m(C=>({...C,...w}));},[m]),x=react.useCallback(async()=>{if(!p||s.current!==c)return;let w=S.current+=1;E.current=0,I(),R({loading:true,error:null,denialReason:null,withheld:false});let[C,q]=await Promise.all([p.getConsent(r),p.listRequests()]);if(w!==S.current)return;let T=C.ok?C.value:null,U=q.ok?q.value.filter(ke=>ke.petRef===r):[],se=q.ok?null:q.error;if(T&&T.granted){let ke=await p.getRecord(r);if(w!==S.current)return;if(ke.ok){R({consent:T,requests:U,record:ke.value,withheld:ke.value.withheld,error:ke.value.withheld?Sc():se,denialReason:null,loading:false});return}R({consent:T,requests:U,record:null,error:ke.error,denialReason:Kr(ke.error),withheld:false,loading:false});return}R({consent:T,requests:U,record:null,error:C.ok?se:C.error,denialReason:T?"consent_required":xc(C),withheld:false,loading:false});},[p,r,R,c]);react.useEffect(()=>(x(),()=>{S.current+=1;}),[x]);let g=react.useMemo(()=>Ec(b.requests),[b.requests]),h=g?.id??null,v=g?.status??null,E=react.useRef(0),k=react.useRef(null),[D,I]=react.useReducer(w=>w+1,0);react.useEffect(()=>{if(!p||h===null||v===null||Et(v)||v==="in_review")return;k.current!==String(h)&&(k.current=String(h),E.current=0);let w=false,C=i(async()=>{if(w||E.current>=Rc)return;E.current+=1;let T=await p.getRequest(h);if(!w){if(T.ok&&T.value.petRef===r){if(m(U=>({...U,requests:hn(U.requests,T.value)})),Et(T.value.status)){T.value.status==="published"&&x();return}if(T.value.status==="in_review")return}q=setTimeout(()=>{C();},va);}},"tick"),q=setTimeout(()=>{C();},va);return ()=>{w=true,clearTimeout(q);}},[p,h,v,x,D,r,m]);let P=react.useCallback(async w=>{if(!p||s.current!==c)return Rn();let C=await p.createUploadRequest({petRef:r,idempotencyKey:w});return s.current===c&&C.ok&&C.value.petRef===r&&m(q=>({...q,requests:hn(q.requests,C.value)})),C},[p,r,c,m]),O=react.useCallback((w,C)=>{m(q=>({...q,uploadQueue:q.uploadQueue.map(T=>T.key===w?C(T):T)}));},[m]),B=react.useCallback(async(w,C)=>{let q=Date.now().toString(36),T=C.map((se,ke)=>{let X=vc(se);return {key:`${q}-${ke}`,name:se.name??null,status:X===null?"queued":"skipped",progress:0,skipReason:X,error:null}}),U=[...T];if(!p||s.current!==c)return Object.freeze(U);m(se=>({...se,uploadQueue:T,isUploading:true,uploadProgress:0}));for(let[se,ke]of C.entries()){let X=T[se];if(X.status==="skipped")continue;if(s.current!==c)break;O(X.key,Be=>({...Be,status:"uploading",progress:0})),R({uploadProgress:0});let ve=await p.uploadDocument({requestId:w,file:ke,onProgress:i(Be=>{if(s.current!==c)return;let vr=Math.min(1,Math.max(0,Be));O(X.key,Cr=>({...Cr,progress:Math.max(Cr.progress,vr)})),R({uploadProgress:vr});},"onProgress")});if(s.current!==c)break;let er=ve.ok?{...X,status:"done",progress:1}:{...X,status:"failed",error:ve.error};if(U[se]=er,O(X.key,()=>er),ve.ok){let Be=await p.getRequest(w);s.current===c&&Be.ok&&Be.value.petRef===r&&m(vr=>({...vr,requests:hn(vr.requests,Be.value)}));}}return s.current===c&&R({isUploading:false,uploadProgress:null}),Object.freeze(U)},[p,R,O,r,c,m]),M=react.useCallback(async(w,C)=>{if(!p||s.current!==c)return Rn();let q=`${Date.now().toString(36)}-0`;m(U=>({...U,isUploading:true,uploadProgress:0,uploadQueue:[{key:q,name:C.name??null,status:"uploading",progress:0,skipReason:null,error:null}]}));let T=await p.uploadDocument({requestId:w,file:C,onProgress:i(U=>{s.current===c&&(R({uploadProgress:U}),O(q,se=>({...se,progress:Math.max(se.progress,Math.min(1,U))})));},"onProgress")});if(s.current!==c)return T;if(R({isUploading:false,uploadProgress:null}),O(q,U=>T.ok?{...U,status:"done",progress:1}:{...U,status:"failed",error:T.error}),T.ok){let U=await p.getRequest(w);s.current===c&&U.ok&&U.value.petRef===r&&m(se=>({...se,requests:hn(se.requests,U.value)}));}return T},[p,R,O,r,c,m]),H=react.useCallback(async(w,C)=>{if(!p||s.current!==c)return Rn();let q=await p.grantConsent({petRef:r,consentVersion:w,idempotencyKey:C});return q.ok&&s.current===c&&x(),q},[p,r,x,c]),G=react.useCallback(async()=>{if(!p||s.current!==c)return Rn();let w=await p.revokeConsent(r);return w.ok&&ha(r),w.ok&&s.current===c&&(S.current+=1,R({record:null,withheld:false,loading:false,denialReason:"consent_required",consent:w.value})),w},[p,r,R,c]),Ce=react.useCallback(()=>{x();},[x]),Q=Cc(b,p!==null);return react.useMemo(()=>({status:Q,record:b.record,requests:b.requests,activeRequest:g,consent:b.consent,error:b.error,denialReason:b.denialReason,withheld:b.withheld,isUploading:b.isUploading,uploadProgress:b.uploadProgress,uploadQueue:b.uploadQueue,createRequest:P,uploadDocument:M,uploadDocuments:B,grantConsent:H,revokeConsent:G,refresh:Ce}),[Q,b,g,P,M,B,H,G,Ce])}i(Je,"useEverfurRecords");function vc(e){if(e.mimeType!==Qr)return "unsupported";let r=e.sizeBytes;return typeof r!="number"||!Number.isFinite(r)||r<=0||r>Ir?"too_large":null}i(vc,"skipReasonFor");function Cc(e,r){return e.loading||!r?"loading":e.withheld||e.denialReason!==null||e.error!==null?"error":e.record!==null&&!e.record.isEmpty||e.requests.length>0?"populated":"empty"}i(Cc,"selectStatus");function Ec(e){if(e.length===0)return null;let r=e[0];for(let t of e)t.updatedAt>r.updatedAt&&(r=t);return r}i(Ec,"newestRequest");function hn(e,r){let t=e.filter(o=>o.id!==r.id);return [r,...t]}i(hn,"replaceRequest");function xc(e){return e.ok?"consent_required":Kr(e.error)??"consent_required"}i(xc,"consentDenial");function Sc(){return L("internalError",{retryable:false})}i(Sc,"withheldSentinel");function Rn(){return {ok:false,error:L("internalError",{retryable:true})}}i(Rn,"notReady");function go(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}i(go,"reportHostFailure");function wc(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}i(wc,"isThenable");function kc(e,...r){if(typeof e=="function")try{let t=e(...r);return wc(t)&&Promise.resolve(t).then(void 0,go),t}catch(t){go(t);return}}i(kc,"callHost");var Ca=new WeakMap;function Vt(e){if(typeof e!="function")return;let r=Ca.get(e);if(r!==void 0)return r;let t=i((...o)=>{kc(e,...o);},"guarded");return Ca.set(e,t),t}i(Vt,"guardHost");function Ie(e,r){let t=null;for(let o of r){let n=e[o];typeof n=="function"&&(t??={...e},t[o]=Vt(n));}return t??e}i(Ie,"guardHostProps");function Wt(e,...r){let t;try{t=e(...r);}catch(o){return go(o),Promise.resolve({ok:false,error:o})}return Promise.resolve(t).then(o=>({ok:true,value:o}),o=>({ok:false,error:o}))}i(Wt,"callHostAsync");var Ea=Object.freeze({name:"dashboard"});function vn(e=Ea){return Object.freeze({stack:Object.freeze([e])})}i(vn,"initialRecordsNav");function Cn(e){return e.stack[e.stack.length-1]??Ea}i(Cn,"currentRecordsScreen");function bo(e,r){return Object.freeze({stack:Object.freeze([...e.stack,r])})}i(bo,"pushRecordsNav");function ho(e,r){return Object.freeze({stack:Object.freeze([...e.stack.slice(0,-1),r])})}i(ho,"replaceRecordsNav");function Ro(e){return vn(e)}i(Ro,"resetRecordsNav");function En(e){return e.stack.length<=1?{state:e,handled:false}:{state:Object.freeze({stack:Object.freeze(e.stack.slice(0,-1))}),handled:true}}i(En,"popRecordsNav");function xa(e,r){return r.name==="dashboard"?Ro(r):Cn(e).name==="upload"&&r.name==="request"?ho(e,r):bo(e,r)}i(xa,"transitionRecordsNav");function vo(e,r){switch(r.type){case "push":return bo(e,r.screen);case "pop":return En(e).state;case "replace":return ho(e,r.screen);case "reset":return Ro(r.screen);case "navigate":return xa(e,r.screen);default:return e}}i(vo,"recordsNavReducer");var J=Object.freeze({title:"Request records",clinic:"Clinic",search:"Search clinics by name or location",placeholder:"Clinic name, city, or ZIP",email:"Clinic email",emailPlaceholder:"records@clinic.com",ownerName:"Your full name",scopeHeading:"What you\u2019re authorizing",send:"Send request",sending:"Sending\u2026",cancel:"Cancel",sign:"Signature",draw:"Draw your signature",type:"Type your name to sign",toType:"Can\u2019t draw? Type your name instead",toDraw:"Draw your signature instead",clear:"Clear",missingSignature:"Please add your signature before submitting.",recentlyUsed:"Recently used"});var xe=Object.freeze({title:J.title,placeholder:J.placeholder,searchA11y:J.search,clearSearch:"Clear search",loading:"Loading clinics",uploadOwn:"I already have the records",uploadOwnStarting:"Setting up your upload\u2026",uploadOwnA11y:"Upload records you already have",noPet:"Add a pet first, then come back to request their records.",recentlyUsed:J.recentlyUsed,noMatch:i(e=>`No clinics match \u201C${e}\u201D. You can still request records using the option above.`,"noMatch"),loadingMore:"Loading more\u2026",loadMoreFailed:"Couldn\u2019t load more. Tap to retry.",loadMoreRetryA11y:"Retry loading more clinics",selectA11y:i(e=>`Request records from ${e}`,"selectA11y"),fallback:Object.freeze({title:"Can\u2019t find your clinic?",subtitle:"Add it by email and we\u2019ll request your records.",expandA11y:"Can't find your clinic? Add it by email to request records.",collapseA11y:"Hide the request-by-email form",nameLabel:"Clinic name",namePlaceholder:"Your clinic\u2019s name",emailLabel:"Clinic email",emailPlaceholder:"records@clinic.com",reviewNote:"We review every request by hand before reaching out to the clinic.",submit:"Continue",submitA11y:"Request records by email"})});function Sa(e){switch(e){case "verified":return {label:"Email on file",a11y:"verified email on file, we can request records directly",tone:"positive"};case "unverified":return {label:"Email unconfirmed",a11y:"email on file but unconfirmed, we will try and let you know",tone:"caution"};default:return {label:"We may need your help",a11y:"no email on file, we may ask you to confirm how to reach this clinic",tone:"neutral"}}}i(Sa,"clinicEmailStatusBadge");function wa(e){return e===null||!Number.isFinite(e)?"":`${e.toFixed(1)} km`}i(wa,"formatClinicDistanceLabel");function ka(e){return e===null||!Number.isFinite(e)?"":`${e.toFixed(1)} ${e===1?"kilometer":"kilometers"} away`}i(ka,"formatClinicDistanceForA11y");var _a=300,Co=2;var Y=Object.freeze({loading:"Loading",empty:"No records yet",upload:"Upload records",consentRequired:"Consent required",allow:"Allow",sessionRequired:"Sign in required",recordUnavailable:"Record unavailable",retry:"Try again",records:"Records",beingReviewed:"being reviewed"});function Pa(e){return !Et(e.status)}i(Pa,"isRecordsInProgress");function xn(e,r){if(r===null)return null;let t=e.filter(l=>l.petRef===r);if(t.length===0)return null;let o=t.find(l=>l.status==="published");return o!==void 0?o:t.filter(Pa).sort((l,a)=>a.updatedAt.localeCompare(l.updatedAt))[0]??null}i(xn,"pickPetRecordsRequest");function Eo(e){if(e.hasMarkers)return "published";let r=xn(e.requests,e.petRef);return r===null?"none":r.status==="published"||Pa(r)?"in_progress":"none"}i(Eo,"deriveRecordsDashboardState");function _c(e){return e.recordLoading?true:e.hasFullRecord?false:e.markersLoading||!e.hasMarkers&&e.requestsLoading}i(_c,"selectDashboardLoading");function xo(e){return _c(e)?"loading":e.hasFullRecord?"record":e.markersError||e.recordError&&!e.hasMarkers?"error":e.dashboardState==="in_progress"&&e.drivingRequest!==null?"in_progress":e.dashboardState==="none"?"none":"labs_only"}i(xo,"selectDashboardView");function tr(e){return e?.httpStatus===429?"rate_limited":e?.httpStatus===502?"service_unavailable":"error"}i(tr,"recordsEmptyVariantForError");var ye=Object.freeze({loading:"Loading record request",awaitingNote:"Clinics usually reply within a week. We follow up automatically and will let you know if there\u2019s no reply by day 14.",waitingBanner:i(e=>`It\u2019s been ${e} ${e===1?"day":"days"}. Some clinics take a little longer; we\u2019ve been following up automatically and are still on it. If there\u2019s no reply by day 14, we\u2019ll let you know.`,"waitingBanner"),viewRecords:"View health records",nextStep:"You can try a different clinic or upload records you already have.",tryAnotherClinic:"Request from a different clinic",tryAnotherClinicA11y:"Request records from a different clinic",convert:"Upload my own records instead",converting:"Switching\u2026",convertHint:"We\u2019ll stop waiting on the clinic so you can add the records you already have. If the clinic does reply, we\u2019ll still add their records too.",freshUpload:"Upload your own records",freshUploadStarting:"Starting\u2026",cancel:"Cancel request",cancelling:"Cancelling\u2026",cancelA11y:"Cancel this records request",cancellingA11y:"Cancelling, please wait",resend:"Resend email",resending:"Resending\u2026",resendA11y:"Resend the authorization email to the clinic",resendingA11y:"Resending the email, please wait",errors:Object.freeze({cancel:"We couldn\u2019t cancel this request. Please try again.",retry:"We couldn\u2019t retry this request. Please try again.",email:"We couldn\u2019t update the clinic email. Please try again.",convert:"We couldn\u2019t switch this to an upload. Please try again.",start:"We couldn\u2019t start that. Please try again.",invalidEmail:"Enter a valid clinic email."})});function Pc(e){if(e.wireStatus==="clinic_declined")return "The clinic declined to release the records.";if(e.wireStatus==="clinic_responded_no_records")return "The clinic replied but didn\u2019t include your records.";switch(e.failureCode){case "no_response":return "The clinic didn\u2019t reply after several reminders over 14 days.";case "parse_timeout":case "parse_error":return "We received the records but couldn\u2019t read them. Uploading a clean copy usually fixes this.";case "hard_bounce":case "dispatch_failed":return "We couldn\u2019t deliver the email to the clinic.";default:return "This request didn\u2019t go through."}}i(Pc,"fallbackFailureTitle");function Ta(e){let r=e.failureReason?.trim()??"";return r.length>0?r:Pc(e)}i(Ta,"failureTitle");var Tc=1440*60*1e3;function So(e,r){if(!e.createdAt)return 0;let t=Date.parse(e.createdAt);if(Number.isNaN(t))return 0;let o=r-t;return o<=0?0:Math.floor(o/Tc)}i(So,"requestElapsedDays");var Dc=7;function Da(e,r){return e.wireStatus!=="awaiting_response"?false:So(e,r)>=Dc}i(Da,"requestWaitingTooLong");function wo(e){return e.status==="failed"}i(wo,"isTerminalFailure");function Ia(e){return wo(e)||e.canUpdateClinicEmail===true||e.canRetrySend===true}i(Ia,"shouldOfferRecovery");function qa(e,r){let[t,o]=react.useState(""),[n,l]=react.useState(""),[a,c]=react.useState([]),[s,d]=react.useState(null),[u,p]=react.useState([]),[f,y]=react.useState(true),[b,m]=react.useState(false),[S,R]=react.useState(false),[x,g]=react.useState(null),[h,v]=react.useState(null),[E,k]=react.useState(0),D=react.useRef(0),I=react.useRef(true),P=r?.latitude,O=r?.longitude,B=react.useMemo(()=>P!==void 0&&O!==void 0?{latitude:P,longitude:O}:void 0,[P,O]);react.useEffect(()=>(I.current=true,()=>{I.current=false,D.current+=1;}),[e]),react.useEffect(()=>{let Q=true;return y(true),e.recentClinics({limit:5}).then(w=>{Q&&(w.ok&&p(w.value.clinics),y(false));}).catch(()=>{Q&&y(false);}),()=>{Q=false;}},[e]),react.useEffect(()=>{let Q=t.trim();if(Q.length<Co){l("");return}let w=setTimeout(()=>l(Q),_a);return ()=>clearTimeout(w)},[t]);let M=n.length>=Co;react.useEffect(()=>{let Q=D.current+=1;if(c([]),d(null),g(null),v(null),!M){m(false);return}m(true),e.searchClinics({query:n,limit:25,...B?{location:B}:{}}).then(w=>{!I.current||Q!==D.current||(w.ok?(c(w.value.clinics),d(w.value.nextCursor)):g(w.error),m(false));}).catch(()=>{I.current&&Q===D.current&&m(false);});},[e,n,M,B,E]);let H=react.useCallback(()=>{if(!M||s===null||S)return;let Q=D.current;R(true),v(null),e.searchClinics({query:n,limit:25,cursor:s,...B?{location:B}:{}}).then(w=>{!I.current||Q!==D.current||(w.ok?(c(C=>[...C,...w.value.clinics]),d(w.value.nextCursor)):v(w.error),R(false));}).catch(()=>{I.current&&Q===D.current&&R(false);});},[e,s,n,M,S,B]),G=react.useCallback(Q=>o(Q),[]),Ce=react.useCallback(()=>k(Q=>Q+1),[]);return react.useMemo(()=>({query:t,debouncedQuery:n,isSearchActive:M,clinics:a,recent:u,recentLoading:f,initialLoading:b,loadingMore:S,hasNextPage:s!==null,error:x,pageError:h,setQuery:G,loadMore:H,retry:Ce}),[t,n,M,a,u,f,b,S,s,x,h,G,H,Ce])}i(qa,"useClinicPicker");function _o(e,r,t,o){return Object.freeze({key:e?.id??`free:${r??""}`,clinic:e,freeText:r,email:t,idempotencyKey:o})}i(_o,"clinicDraftFor");var xt=10,wn=zod.z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),Gt=i((e,r=1)=>zod.z.string().refine(t=>!Zr(t)&&[...t].length>=r&&[...t].length<=e),"text"),Fa=i(e=>[...e].some(r=>r.charCodeAt(0)<32||r.charCodeAt(0)===127),"hasControl"),Ic=zod.z.object({clinicId:wn.optional(),clinicFreeText:Gt(200).refine(e=>e.trim().length>0).optional(),clinicEmail:Gt(320,3).refine(e=>!Fa(e)&&/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(e.trim())).optional(),signatureId:wn.optional(),signaturePngBase64:zod.z.string().min(1).max(2*1024*1024).optional(),idempotencyKey:zod.z.string().regex(/^[A-Za-z0-9._-]{8,128}$/)}).strict().refine(e=>e.clinicId===void 0!=(e.clinicFreeText===void 0)).refine(e=>e.signatureId===void 0!=(e.signaturePngBase64===void 0)),Oc=zod.z.object({petRef:Gt(128),ownerName:Gt(200).refine(e=>e.trim().length>0&&!Fa(e)),authorizationVersion:Gt(64),clinics:zod.z.array(Ic).min(1).max(xt)}).strict(),Ac=zod.z.object({request_group_id:wn,pet_ref:zod.z.string(),created_count:zod.z.number().int().nonnegative(),failed_count:zod.z.number().int().nonnegative(),results:zod.z.array(zod.z.object({idempotency_key:zod.z.string(),clinic_id:wn.nullable().optional(),clinic_free_text:zod.z.string().nullable().optional(),created:zod.z.boolean(),request:zod.z.unknown().optional(),failure_code:zod.z.string().nullable().optional(),failure_reason:zod.z.string().nullable().optional()}))});function La(e){let r=e.funnel??Jr({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}});return {async createClinicRequestBatch(t){if(!Oc.safeParse(t).success)return j(L("validationFailed",{retryable:false}));let o=await r.send("records.clinic.createBatch",{method:"POST",path:"/widget/v1/records/clinic-requests/batch",body:{pet_ref:t.petRef,owner_name:t.ownerName,authorization_version:t.authorizationVersion,clinics:t.clinics.map(a=>({...a.clinicId!==void 0?{clinic_id:a.clinicId}:{clinic_free_text:a.clinicFreeText},...a.clinicEmail!==void 0?{clinic_email:a.clinicEmail}:{},...a.signatureId!==void 0?{signature_id:a.signatureId}:{signature_png_base64:a.signaturePngBase64},idempotency_key:a.idempotencyKey}))}});if(!o.ok)return o;let n=Ac.safeParse(o.value);if(!n.success||n.data.pet_ref!==t.petRef)return Na();let l=[];for(let a of n.data.results){let c=a.request===void 0||a.request===null?null:Yr(a.request);if(a.created!==(c!==null))return Na();l.push(Object.freeze({idempotencyKey:a.idempotency_key,clinicId:a.clinic_id??null,clinicFreeText:a.clinic_free_text??null,created:a.created,request:c,failureCode:a.failure_code??null,failureReason:a.failure_reason??null}));}return Se(Object.freeze({requestGroupId:n.data.request_group_id,petRef:n.data.pet_ref,results:Object.freeze(l),createdCount:n.data.created_count,failedCount:n.data.failed_count}))}}}i(La,"createRecordsClinicBatchClient");function Na(){return j(L("internalError",{retryable:false}))}i(Na,"malformed");var za=zod.z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),qc=zod.z.object({clinics:zod.z.array(zod.z.object({clinic_id:za,name:zod.z.string().min(1),address:zod.z.string().nullable(),phone:zod.z.string().nullable(),email_status:zod.z.string(),distance_km:zod.z.number().finite().nonnegative().nullable()})),next_cursor:zod.z.string().nullable().optional()}),Nc=zod.z.object({authorization_version:zod.z.string().min(1),scope_template:zod.z.string().min(1),authorization_template:zod.z.string().min(1)}),Fc=zod.z.object({upload_id:zod.z.string().min(1),upload_url:zod.z.string().url().refine(e=>e.startsWith("https://")),upload_fields:zod.z.record(zod.z.string())});function Ma(e){let{repository:r}=e,t=i(async n=>{let l=await n;if(!l.ok)return l;let a=Yr(l.value);return a===null?lt():Se(a)},"request"),o=i(async n=>{let l=await n;if(!l.ok)return l;let a=qc.safeParse(l.value);return a.success?Se(Object.freeze({clinics:Object.freeze(a.data.clinics.map(c=>Object.freeze({id:c.clinic_id,name:c.name,address:c.address,phone:c.phone,emailStatus:c.email_status,distanceKm:c.distance_km}))),nextCursor:a.data.next_cursor??null})):lt()},"page");return {searchClinics:i((n={})=>o(r.searchClinics(n)),"searchClinics"),recentClinics:i((n={})=>o(r.recentClinics(n)),"recentClinics"),async getRequestGroup(n){let l=await r.getRequestGroup(n);if(!l.ok)return l;let a=Zi(l.value);return a===null?lt():Se(a)},async getAuthorizationCopy(){let n=await r.getAuthorizationCopy();if(!n.ok)return n;let l=Nc.safeParse(n.value);return l.success?Se(Object.freeze({authorizationVersion:l.data.authorization_version,scopeTemplate:l.data.scope_template,authorizationTemplate:l.data.authorization_template})):lt()},async createClinicRequest(n){let l=await t(r.createClinicRequest(n));return l.ok&&l.value.petRef!==n.petRef?lt():l},retryRequest:i(n=>t(r.retryRequest(n)),"retryRequest"),revokeRequest:i(n=>t(r.revokeRequest(n)),"revokeRequest"),updateClinicEmail:i((n,l)=>t(r.updateClinicEmail(n,l)),"updateClinicEmail"),convertToUpload:i(n=>t(r.convertToUpload(n)),"convertToUpload"),async initiateSignatureUpload(n){let l=await r.initiateSignatureUpload(n);if(!l.ok)return l;let a=Fc.safeParse(l.value);return a.success?Se(Object.freeze({uploadId:a.data.upload_id,uploadUrl:a.data.upload_url,uploadFields:Object.freeze(a.data.upload_fields)})):lt()},async completeSignatureUpload(n){let l=await r.completeSignatureUpload(n);if(!l.ok)return l;let a=zod.z.object({signature_id:za}).safeParse(l.value);return a.success?Se(a.data.signature_id):lt()}}}i(Ma,"createRecordsClinicController");function lt(){return j(L("internalError",{retryable:false}))}i(lt,"malformed");var et="/widget/v1/records",$a=zod.z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),tt=i((e,r=1)=>zod.z.string().refine(t=>!Zr(t)&&[...t].length>=r&&[...t].length<=e),"text"),Ba=i(e=>[...e].some(r=>r.charCodeAt(0)<32||r.charCodeAt(0)===127),"hasControl"),ja=tt(320,3).refine(e=>!Ba(e)&&/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(e.trim())),Ua=tt(64),Lc=zod.z.object({limit:zod.z.number().int().min(1).max(25).optional()}).strict(),zc=zod.z.object({query:tt(200,0).optional(),location:zod.z.object({latitude:zod.z.number().finite().min(-90).max(90),longitude:zod.z.number().finite().min(-180).max(180)}).strict().optional(),limit:zod.z.number().int().min(1).max(100).optional(),cursor:tt(512,0).optional()}).strict(),Mc=zod.z.object({petRef:tt(128),ownerName:tt(200).refine(e=>e.trim().length>0&&!Ba(e)),authorizationVersion:tt(64),clinicId:$a.optional(),clinicFreeText:tt(200).refine(e=>e.trim().length>0).optional(),clinicEmail:ja.optional(),signatureId:$a.optional(),signaturePngBase64:zod.z.string().min(1).max(2*1024*1024).optional(),idempotencyKey:zod.z.string().regex(/^[A-Za-z0-9._-]{8,128}$/)}).strict().refine(e=>e.clinicId===void 0!=(e.clinicFreeText===void 0)).refine(e=>e.signatureId===void 0!=(e.signaturePngBase64===void 0));function Ha(e){let r=e.funnel??Jr({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=i((n,l,a=false)=>r.send(`records.clinic.${n}`,l,l.method==="GET"||a?void 0:{idempotent:false,maxAttempts:1}),"send"),o=i((n,l,a)=>Ua.safeParse(n).success?t(l,{method:"POST",path:`${et}/requests/${encodeURIComponent(n)}/${l}`,...a?{body:a}:{}}):rt(),"recover");return {searchClinics(n){return zc.safeParse(n).success?t("search",{method:"GET",path:`${et}/clinics/search`,query:{q:n.query??"",lat:n.location?.latitude,lng:n.location?.longitude,limit:n.limit,cursor:n.cursor}}):rt()},recentClinics(n){return Lc.safeParse(n).success?t("recent",{method:"GET",path:`${et}/clinics/recent`,query:{limit:n.limit}}):rt()},getRequestGroup(n){return Ua.safeParse(n).success?t("requestGroup",{method:"GET",path:`${et}/request-groups/${encodeURIComponent(n)}`}):rt()},getAuthorizationCopy:i(()=>t("authorizationCopy",{method:"GET",path:`${et}/authorization-copy`}),"getAuthorizationCopy"),createClinicRequest(n){return Mc.safeParse(n).success?t("create",{method:"POST",path:`${et}/clinic-requests`,body:{pet_ref:n.petRef,owner_name:n.ownerName,authorization_version:n.authorizationVersion,idempotency_key:n.idempotencyKey,...n.clinicId!==void 0?{clinic_id:n.clinicId}:{clinic_free_text:n.clinicFreeText},...n.clinicEmail!==void 0?{clinic_email:n.clinicEmail}:{},...n.signatureId!==void 0?{signature_id:n.signatureId}:{signature_png_base64:n.signaturePngBase64}}},true):rt()},retryRequest:i(n=>o(n,"retry"),"retryRequest"),revokeRequest:i(n=>o(n,"revoke"),"revokeRequest"),convertToUpload:i(n=>o(n,"convert-to-upload"),"convertToUpload"),updateClinicEmail(n,l){return ja.safeParse(l).success?o(n,"clinic-email",{clinic_email:l}):rt()},initiateSignatureUpload(n){return !Number.isInteger(n)||n<=0||n>2*1024*1024?rt():t("signatureInitiate",{method:"POST",path:`${et}/signatures/initiate`,body:{content_type:"image/png",file_size:n}})},completeSignatureUpload(n){return /^sig-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(n)?t("signatureComplete",{method:"POST",path:`${et}/signatures/complete`,body:{upload_id:n}}):rt()}}}i(Ha,"createHttpRecordsClinicRepository");function rt(){return Promise.resolve(j(L("validationFailed",{retryable:false})))}i(rt,"invalid");function Sr(){let{runtime:e,userRef:r,scopeEpoch:t}=ie(),o=react.useMemo(()=>{let{services:l}=e.registry;return Ma({repository:Ha({auth:l.authFor(r),...l.errorPolicy?{errorPolicy:l.errorPolicy}:{}})})},[e,r,t]),n=react.useRef(o);return react.useEffect(()=>(n.current=o,()=>{n.current=null;}),[o]),react.useMemo(()=>{let l=i(async a=>{if(r===null||n.current!==o)return j(L("accessDenied"));let c=await a();return n.current===o?c:j(L("accessDenied"))},"run");return {searchClinics:i(a=>l(()=>o.searchClinics(a)),"searchClinics"),recentClinics:i(a=>l(()=>o.recentClinics(a)),"recentClinics"),getRequestGroup:i(a=>l(()=>o.getRequestGroup(a)),"getRequestGroup"),getAuthorizationCopy:i(()=>l(()=>o.getAuthorizationCopy()),"getAuthorizationCopy"),createClinicRequest:i(a=>l(()=>o.createClinicRequest(a)),"createClinicRequest"),retryRequest:i(a=>l(()=>o.retryRequest(a)),"retryRequest"),revokeRequest:i(a=>l(()=>o.revokeRequest(a)),"revokeRequest"),updateClinicEmail:i((a,c)=>l(()=>o.updateClinicEmail(a,c)),"updateClinicEmail"),convertToUpload:i(a=>l(()=>o.convertToUpload(a)),"convertToUpload"),initiateSignatureUpload:i(a=>l(()=>o.initiateSignatureUpload(a)),"initiateSignatureUpload"),completeSignatureUpload:i(a=>l(()=>o.completeSignatureUpload(a)),"completeSignatureUpload")}},[o,r])}i(Sr,"useEverfurRecordsClinic");function Po(){let{runtime:e,userRef:r,scopeEpoch:t}=ie(),o=react.useMemo(()=>{let{services:l}=e.registry;return La({auth:l.authFor(r),...l.errorPolicy?{errorPolicy:l.errorPolicy}:{}})},[e,r,t]),n=react.useRef(o);return react.useEffect(()=>(n.current=o,()=>{n.current=null;}),[o]),react.useMemo(()=>({async createClinicRequestBatch(l){if(r===null||n.current!==o)return j(L("accessDenied"));let a=await o.createClinicRequestBatch(l);return n.current===o?a:j(L("accessDenied"))}}),[o,r])}i(Po,"useEverfurRecordsClinicBatch");var Io=class Io extends react.Component{constructor(){super(...arguments);this.state={failed:false,key:this.props.resetKey};}static getDerivedStateFromError(){return {failed:true}}static getDerivedStateFromProps(t,o){return Object.is(t.resetKey,o.key)?null:{failed:false,key:t.resetKey}}render(){return this.state.failed?this.props.fallback:this.props.children}};i(Io,"HostRenderBoundary");var To=Io;function Uc({render:e}){return e()}i(Uc,"RenderHost");function Do({render:e,fallback:r,resetKey:t}){return react.createElement(To,{fallback:r,resetKey:t,children:react.createElement(Uc,{render:e})})}i(Do,"HostRender");function qo(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))qo(e[r]);}return e}i(qo,"deepFreeze");var Bc=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Ka={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Qa={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},Ya={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},jc={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},Hc={regular:"400",medium:"500",bold:"700"},Vc={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Wc=0,_n="System",Pn="monospace",Gc=["content","heading","control","compact","badge"];function Yc(e){let r={};for(let t of Gc)r[t]=e;return r}i(Yc,"authoredTierSizes");function Xa(){return {family:_n,mono:Pn,fontUrl:null,families:{regular:_n,medium:_n,bold:_n,mono:Pn,monoMedium:Pn,monoBold:Pn},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:Ya,tierSizes:Yc(Ya),lineHeight:jc,weight:Hc,letterSpacing:Vc,scale:1,maxScale:Wc,scaleCaps:Bc}}i(Xa,"baseType");var Ja={},Oo=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function Ao(e){return `cubic-bezier(${e.join(", ")})`}i(Ao,"cssCubicBezier");var Za={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:Ao(Oo.standard),emphasized:Ao(Oo.emphasized),exit:Ao(Oo.exit)},reducedMotion:false},Kc={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#B91C1C",errorRed:"#FF1B00",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},es=qo({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Kc,space:Ka,radius:Qa,type:Xa(),motion:Za,slots:Ja}),Qc={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A938C",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};qo({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Qc,space:Ka,radius:Qa,type:Xa(),motion:Za,slots:Ja});var rs=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),ts=globalThis,No=ts[rs]??(ts[rs]=react.createContext(es));No.displayName??="EverfurThemeContext";function ge(){return react.useContext(No)}i(ge,"useEverfurTheme");var ns=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});var os='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',Zc="System";function eu(e){let r=e.trim();return r.length===0||r===Zc?os:`${is(r)}, ${os}`}i(eu,"cssFontFamily");function ru(e){let r=e.trim();return r.length===0||r==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${is(r)}, ui-monospace, Menlo, Consolas, monospace`}i(ru,"cssMonoFamily");function is(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}i(is,"quote");function A(e,r){let t=e.type,o=t.families[r];return {fontFamily:r==="mono"||r==="monoMedium"||r==="monoBold"?ru(o):eu(o),fontWeight:t.namedFaces[r]?t.weight.regular:t.weight[ns[r]]}}i(A,"faceCss");var tu=Object.freeze({chat:Object.freeze(["chat.message.create"]),records:Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:Object.freeze(["records.clinic.create"]),video:Object.freeze(["video.gait.execute"]),photo:Object.freeze(["photo.checkup.execute"]),animations:Object.freeze(["animations.state.read"]),televet:Object.freeze(["televet.visit.create"])});function nu(e){return tu[e]}i(nu,"requires");function as(e,r,t){let o=nu(e),n=new Map;for(let c of r)n.set(c.resource,c);if(t?.isPending===true&&o.some(c=>!n.has(c)))return Fo({name:e,enabled:false,isPending:true,limits:{}});let l=ou(o,n);return o.filter(c=>n.get(c)?.granted!==true).length===0?Fo({name:e,enabled:true,isPending:false,limits:l}):Fo({name:e,enabled:false,isPending:false,limits:l,disabled:iu(o,n)})}i(as,"decideCapability");function ou(e,r){let t={};for(let o of e){let n=r.get(o)?.limits;if(n)for(let[l,a]of Object.entries(n)){let c=t[l];t[l]=c===void 0?a:Math.min(c,a);}}return t}i(ou,"mergeLimits");function iu(e,r){for(let t of e){let o=r.get(t)?.disabled;if(o)return Object.freeze({reason:o.reason,level:o.level,recoverable:o.recoverable})}return Object.freeze({reason:ro("accessDenied"),level:"user_entitlement",recoverable:false})}i(iu,"disabledFor");function Fo(e){let r={name:e.name,enabled:e.enabled,isPending:e.isPending,limits:Object.freeze({...e.limits})};return e.disabled!==void 0&&(r.disabled=e.disabled),Object.freeze(r)}i(Fo,"freezeDecision");function Lo(e){let{runtime:r}=ie(),t=r.entitlements,o=react.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot);return react.useMemo(()=>as(e,o.decisions,{isPending:o.isPending}),[e,o])}i(Lo,"useCapability");var lu=48;function du(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}i(du,"selectView");function Ae(e){let{capability:r,children:t,renderDisabled:o,renderPending:n,style:l,className:a}=e,c=Lo(r),s=react.useMemo(()=>du(c),[c]);switch(s){case "enabled":return t;case "pending":return n?jsxRuntime.jsx(Do,{render:n,fallback:jsxRuntime.jsx(ss,{capability:r,style:l,className:a})}):jsxRuntime.jsx(ss,{capability:r,style:l,className:a});case "disabled":return o?jsxRuntime.jsx(Do,{render:()=>o(c),fallback:jsxRuntime.jsx(ls,{decision:c,style:l,className:a}),resetKey:c}):jsxRuntime.jsx(ls,{decision:c,style:l,className:a});default:return Xr(s)}}i(Ae,"CapabilityGate");function ss({capability:e,style:r,className:t}){let o=ge(),n=react.useMemo(()=>ds(o),[o]);return jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":`Loading ${e}`,className:t,style:{...n.offstate,...r},children:jsxRuntime.jsx("div",{style:n.skeletonBar})})}i(ss,"PendingSkeleton");function ls({decision:e,style:r,className:t}){let o=ge(),n=react.useMemo(()=>ds(o),[o]),l=e.disabled?.reason??"";return jsxRuntime.jsx("div",{className:t,style:{...n.offstate,...r},children:l.length>0?jsxRuntime.jsx("p",{style:n.offstateText,children:l}):null})}i(ls,"OffState");function ds(e){let{color:r,space:t,radius:o,type:n}=e;return {offstate:{boxSizing:"border-box",minHeight:lu,display:"flex",flexDirection:"column",justifyContent:"center",padding:`${t.md}px ${t.lg}px`,backgroundColor:r.surfaceCream,borderRadius:o.md,border:`1px solid ${r.brandBorder}`},offstateText:{margin:0,...A(e,"regular"),fontSize:n.size.body,lineHeight:`${Math.round(n.size.body*n.lineHeight.normal)}px`,color:r.text.muted},skeletonBar:{height:t.md,borderRadius:o.xs,backgroundColor:r.brandSofter}}}i(ds,"makeStyles");var Mo=Object.freeze({title:"For educational use only",body:"Everfur is for educational purposes only. It helps you track visible changes through AI checkups. It does not diagnose, treat, prescribe, or replace veterinary care. For urgent symptoms or emergencies, contact a veterinarian immediately."});function qe(e){let r=ge(),t=react.useMemo(()=>uu(r),[r]);return jsxRuntime.jsxs("div",{role:"note",className:e.className,style:{...t.container,...e.style},children:[jsxRuntime.jsx("p",{style:t.title,children:Mo.title}),jsxRuntime.jsx("p",{style:t.body,children:Mo.body})]})}i(qe,"ClinicalDisclaimer");function uu(e){let{color:r,space:t,type:o}=e,n=`${Math.round(o.size.caption*o.lineHeight.snug)}px`;return {container:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:t.xs,padding:`${t.md}px ${t.lg}px`,borderTop:`1px solid ${r.borderHairlineGreen}`,backgroundColor:r.surfaceCream},title:{margin:0,...A(e,"bold"),fontSize:o.size.caption,lineHeight:n,color:r.text.secondary,letterSpacing:o.letterSpacing.eyebrow},body:{margin:0,...A(e,"regular"),fontSize:o.size.caption,lineHeight:n,color:r.text.muted}}}i(uu,"makeStyles");var mu=120,fu=44;function yu({reason:e,onExit:r,exitLabel:t,style:o,className:n}){let{color:l,space:a,radius:c,type:s}=ge();return jsxRuntime.jsxs("div",{className:n,"data-testid":"records-gate-off",style:{boxSizing:"border-box",minHeight:mu,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",gap:a.md,padding:a.lg,borderRadius:c.md,border:`1px solid ${l.brandBorder}`,backgroundColor:l.surfaceCream,color:l.text.primary,...o},children:[e.length>0?jsxRuntime.jsx("p",{style:{margin:0,fontSize:s.size.bodyTight,color:l.text.muted},children:e}):null,jsxRuntime.jsx("button",{type:"button",onClick:r,"data-testid":"records-gate-off-exit",style:{minHeight:fu,padding:`0 ${a.lg}px`,borderRadius:c.pill,border:`1.5px solid ${l.brand}`,backgroundColor:"transparent",color:l.brand,font:"inherit",fontSize:s.size.body,cursor:"pointer"},children:t})]})}i(yu,"RecordsGateOffState");function Ne(e,r){return e===void 0?{}:{renderDisabled:i(t=>jsxRuntime.jsx(yu,{reason:t.disabled?.reason??"",onExit:e,exitLabel:r}),"renderDisabled")}}i(Ne,"recordsGateExit");function bu(e,r){if(e===void 0)return {};let t={};return e.backgroundColor!==void 0&&(t.backgroundColor=e.backgroundColor),e.borderColor!==void 0&&(t.borderColor=e.borderColor,t.borderWidth=r??1),e.borderRadius!==void 0&&(t.borderRadius=e.borderRadius),t}i(bu,"slotBox");function qr(e){return e?.textColor===void 0?{}:{color:e.textColor}}i(qr,"slotText");function wr(e,r){let t=bu(e,r),o={};return t.backgroundColor!==void 0&&(o.backgroundColor=t.backgroundColor),t.borderColor!==void 0&&(o.border=`${t.borderWidth??1}px solid ${t.borderColor}`),t.borderRadius!==void 0&&(o.borderRadius=t.borderRadius),o}i(wr,"slotBoxCss");var hu="your pet";function Fe(e){let r=e?.trim()??"";return r.length>0?r:hu}i(Fe,"petNameOr");var nr=Object.freeze({title:"Health records",openTimeline:"Open timeline",loading:"Loading health records",lead:i(e=>`${Fe(e)}\u2019s lab trends`,"lead"),retryMarkers:"Retry loading lab trends",viewFullRecord:"View full medical record",viewTimeline:"View full timeline",important:i(e=>`Important: ${e}`,"important")}),yr=Object.freeze({title:"Marker Summary",marker:"Marker",markers:"Markers",outOfRange:"OUT OF RANGE",inRange:"IN RANGE",noRange:"NO RANGE",subtitle:"Summary of your pet\u2019s biomarkers",ask:"Ask about these markers",askA11y:"Ask Everfur about these markers",a11y:i((e,r,t,o)=>`Marker summary: ${e} ${e===1?"marker":"markers"}, ${r} in range, ${t} out of range${o>0?`, ${o} without a range`:""}.`,"a11y")}),Uo=Object.freeze({counter:i((e,r)=>`${e+1} of ${r}`,"counter"),a11y:i((e,r,t)=>e!==null?`${e}, marker ${r+1} of ${t}. Swipe left or right to see more markers.`:`Marker ${r+1} of ${t}`,"a11y")}),Br=Object.freeze({tapHint:"Tap a point to see where it came from.",singleHint:"One reading so far: we\u2019ll plot a trend as more come in.",empty:"No readings for this marker yet.",ask:"Ask about this marker",askA11y:i(e=>`Ask Everfur about ${e}`,"askA11y"),status:i(e=>`Status: ${e}`,"status"),latestA11y:i((e,r,t)=>`Latest reading ${e}, ${r}, collected ${t}`,"latestA11y"),readingsA11y:i(e=>`${e} readings, oldest to newest`,"readingsA11y")}),or=Object.freeze({title:"Where this reading came from",close:"Close reading details",collected:"Collected",clinic:"Clinic",referenceRange:"Reference range",noRange:"Not on file for this reading",sourceDocument:"Source document",unverified:"Our team hasn\u2019t verified this reading against the original document yet.",reviewed:"Reviewed by our team",ask:"Ask about this reading",askA11y:"Ask Everfur about this reading"}),St=Object.freeze({title:i(e=>`${Fe(e)}\u2019s records request`,"title"),body:i(e=>`We\u2019re requesting ${Fe(e)}\u2019s records from your vet. This usually takes a few days; we\u2019ll show lab trends here as soon as they arrive.`,"body"),a11y:i(e=>`Records request in progress for ${Fe(e)}.`,"a11y"),openA11y:i((e,r)=>`Open ${Fe(e)}\u2019s records request. ${r}`,"openA11y"),ask:"Ask about this request",askA11y:"Ask Everfur about this records request"}),dt=Object.freeze({title:i(e=>`Add ${Fe(e)}\u2019s records`,"title"),body:"Records can come from more than one clinic over a lifetime.",requestFromClinic:"Request from a clinic",requestFromClinicA11y:i(e=>`Request ${Fe(e)}\u2019s records from a clinic`,"requestFromClinicA11y"),uploadDocument:"Upload a document",uploadDocumentA11y:i(e=>`Upload one of ${Fe(e)}\u2019s records`,"uploadDocumentA11y")});var vu=120,Yt=44,je="Back";function Z(){let e=ge(),r=react.useMemo(()=>Cu(e),[e]);return {theme:e,styles:r}}i(Z,"useScreenStyles");function He({title:e,onBack:r,right:t,testID:o,variant:n="brand"}){let{styles:l}=Z();return jsxRuntime.jsxs("header",{style:l.headerRow,"data-testid":o,children:[r?jsxRuntime.jsx("button",{type:"button",onClick:r,"aria-label":je,style:l.iconButton,"data-testid":o?`${o}-back`:void 0,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:l.backChevron})}):jsxRuntime.jsx("span",{style:l.iconButton}),jsxRuntime.jsx("h2",{style:n==="document"?l.documentTitle:l.headerTitle,children:e}),jsxRuntime.jsx("div",{style:l.headerRight,children:t??jsxRuntime.jsx("span",{style:l.iconButton})})]})}i(He,"ScreenHeader");function nt({disclaimer:e,style:r}){let{styles:t}=Z();return e.trim().length===0?null:jsxRuntime.jsxs("p",{role:"note","aria-label":nr.important(e),style:{...t.band,...r},"data-testid":"records-disclaimer-band",children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:t.infoGlyph,children:"i"}),jsxRuntime.jsx("span",{style:t.bandText,children:e})]})}i(nt,"DisclaimerBand");function ee({label:e,onClick:r,kind:t="primary",disabled:o=false,busy:n=false,ariaLabel:l,testID:a,style:c}){let{styles:s}=Z(),d=t==="primary"?s.pillPrimary:t==="outline"?s.pillOutline:t==="danger"?s.pillDanger:t==="ask"?s.pillAsk:s.pillLink;return jsxRuntime.jsx("button",{type:"button",onClick:r,disabled:o||n,"aria-busy":n,"aria-label":l,style:{...s.pill,...d,...o?s.pillDisabled:{},...c},"data-testid":a,children:e})}i(ee,"Pill");function Nr({label:e,tone:r="neutral",testID:t}){let{styles:o}=Z();return jsxRuntime.jsx("span",{style:{...o.chip,...o.chipTones[r]},"data-testid":t,children:e})}i(Nr,"Chip");function kr({title:e,count:r}){let{styles:t}=Z();return jsxRuntime.jsxs("div",{style:t.sectionHeader,children:[jsxRuntime.jsx("h3",{style:t.sectionTitle,children:e}),r!==void 0?jsxRuntime.jsx("span",{style:t.sectionCount,children:r}):null]})}i(kr,"SectionHeader");function ct({direction:e="right"}){let{styles:r}=Z(),t=e==="right"?"45deg":e==="down"?"135deg":"-45deg";return jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...r.chevron,transform:`rotate(${t})`}})}i(ct,"Chevron");function Cu(e){let{color:r,space:t,radius:o,type:n,slots:l}=e,a=i((y,b)=>`${Math.round(y*b)}px`,"lh"),c=i((y,b,m,S="regular")=>({margin:0,...A(e,S),fontSize:y,lineHeight:a(y,b),color:m}),"text"),s=qr(l.recordCard),d=`1px solid ${r.brandBorder}`,u=e.brightness==="dark"?r.errorRed:r.danger,p=i((y,b)=>({backgroundColor:y,color:b}),"tone"),f={boxSizing:"border-box",minHeight:Yt,minWidth:Yt,padding:`${t.md}px ${t.lg+t.xs/2}px`,borderRadius:o.pill,...A(e,"bold"),fontSize:n.size.body,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:t.sm,textDecoration:"none"};return {chipTones:{neutral:p(r.badgeBgNeutral,r.text.secondary),info:p(r.brandSoft,r.brand),warning:p(r.badgeBgCaution,r.warningStrong),critical:p(r.badgeBgCritical,r.danger),positive:p(r.badgeBgPositive,r.success)},root:{boxSizing:"border-box",display:"flex",flexDirection:"column",minHeight:vu,height:"100%",backgroundColor:r.background,color:r.text.primary,...A(e,"regular")},body:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column",overflowY:"auto"},content:{display:"flex",flexDirection:"column",gap:t.lg,padding:`0 ${t.lg}px ${t.xxl}px`},contentTight:{display:"flex",flexDirection:"column",gap:t.lg,padding:`0 ${t.sm}px ${t.xxl}px`},inset:{padding:`0 ${t.sm}px`},headerRow:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:t.sm,padding:`${t.xs}px ${t.lg}px ${t.md}px`},iconButton:{boxSizing:"border-box",width:Yt,height:Yt,display:"inline-flex",alignItems:"center",justifyContent:"center",border:0,background:"transparent",cursor:"pointer",padding:0,color:r.brand,flexShrink:0},backChevron:{display:"block",width:t.md,height:t.md,borderLeft:`2px solid ${r.brand}`,borderBottom:`2px solid ${r.brand}`,transform:"rotate(45deg)",marginLeft:t.xs},headerTitle:{...c(n.size.heading,n.lineHeight.tight,r.brand,"bold"),flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},documentTitle:{...c(n.size.subtitle,n.lineHeight.snug,r.text.primary,"bold"),flex:1,textAlign:"center"},headerRight:{display:"flex",alignItems:"center",gap:t.sm+t.xs/2},section:{display:"flex",flexDirection:"column",gap:t.sm+t.xs/2},sectionHeader:{display:"flex",alignItems:"center",gap:t.sm,padding:`0 ${t.xs}px`},sectionTitle:{...c(n.size.body+1,n.lineHeight.snug,r.text.primary,"bold")},sectionCount:{...c(n.size.bodyTight,n.lineHeight.snug,r.text.muted,"medium")},card:{boxSizing:"border-box",borderRadius:o.lg-t.xs,border:d,backgroundColor:r.surface,padding:`${t.xs}px ${t.lg}px`,margin:0,listStyle:"none",...wr(l.recordCard,1)},creamCard:{boxSizing:"border-box",borderRadius:o.lg-t.xs/2,border:d,backgroundColor:r.surfaceCream,padding:t.lg,display:"flex",flexDirection:"column",gap:t.md,...wr(l.recordCard,1)},row:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:t.md,padding:`${t.md}px 0`},rowDivider:{borderTop:`1px solid ${r.borderHairlineGreen}`},rowMain:{flex:1,minWidth:0},rowRight:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:t.xs+t.xs/2},rowTitle:{...c(n.size.body,n.lineHeight.snug,r.text.primary,"medium"),...s},rowDetail:{...c(n.size.caption,n.lineHeight.normal,r.text.secondary),marginTop:t.xs/2,...s},rowValue:{...c(n.size.body+1,n.lineHeight.snug,r.text.primary,"bold"),marginTop:t.xs/2,...s},rowMuted:{...c(n.size.caption,n.lineHeight.normal,r.text.muted),...s},chip:{display:"inline-block",borderRadius:o.pill,padding:`${t.xs-1}px ${t.sm}px`,...A(e,"medium"),fontSize:n.size.tiny,lineHeight:a(n.size.tiny,n.lineHeight.snug),whiteSpace:"nowrap"},pill:f,pillPrimary:{border:0,backgroundColor:r.brand,color:r.onPrimary,...wr(l.primaryButton),...qr(l.primaryButton)},pillOutline:{border:`1.5px solid ${r.brand}`,backgroundColor:"transparent",color:r.brand},pillDanger:{border:`1.4px solid ${r.danger}`,backgroundColor:r.surface,color:r.danger,fontSize:n.size.bodyTight},pillAsk:{border:`1px solid ${r.borderRingCream}`,backgroundColor:r.surface,color:r.text.primary},pillLink:{border:0,backgroundColor:"transparent",color:r.brand,padding:`${t.sm}px`},pillDisabled:{opacity:.5,cursor:"default"},infoNote:{display:"flex",gap:t.sm,borderRadius:o.md-t.xs/2,backgroundColor:r.brandSoft,padding:`${t.sm+t.xs/2}px ${t.md}px`,...c(n.size.bodyTight,n.lineHeight.normal,r.text.primary)},cautionNote:{display:"flex",gap:t.sm,borderRadius:o.md-t.xs/2,backgroundColor:r.badgeBgCaution,padding:`${t.sm+t.xs/2}px ${t.md}px`,...c(n.size.bodyTight,n.lineHeight.normal,r.warningStrong)},statusCard:{borderRadius:o.md,backgroundColor:r.brandSoft,padding:t.md+t.xs/2,...c(n.size.bodyTight,n.lineHeight.relaxed,r.text.primary)},errorBanner:{display:"flex",gap:t.sm,borderRadius:o.md-t.xs/2,backgroundColor:r.badgeBgCritical,padding:t.md,...c(n.size.bodyTight,n.lineHeight.normal,u)},errorText:c(n.size.bodyTight,n.lineHeight.normal,u),band:{display:"flex",alignItems:"flex-start",gap:t.sm,borderRadius:o.md-t.xs/2,padding:t.md,backgroundColor:r.brandSoft,margin:0},bandText:{flex:1,...c(n.size.caption,n.lineHeight.normal,r.text.secondary)},infoGlyph:{boxSizing:"border-box",flexShrink:0,width:t.md+t.xs/2,height:t.md+t.xs/2,borderRadius:o.pill,border:`1px solid ${r.text.secondary}`,display:"inline-flex",alignItems:"center",justifyContent:"center",...A(e,"bold"),fontSize:n.size.small,color:r.text.secondary},chevron:{display:"inline-block",width:t.sm,height:t.sm,borderTop:`2px solid ${r.text.muted}`,borderRight:`2px solid ${r.text.muted}`,flexShrink:0},lead:{...c(n.size.body+1,n.lineHeight.snug,r.text.primary,"bold"),padding:`0 ${t.sm}px`},field:{boxSizing:"border-box",display:"block",width:"100%",minHeight:Yt,padding:`${t.sm}px ${t.md}px`,border:`1px solid ${r.borderHairlineGreen}`,borderRadius:o.sm,color:r.text.primary,backgroundColor:r.surface,...A(e,"regular"),fontSize:n.size.body},fieldLabel:{...c(n.size.bodyTight,n.lineHeight.normal,r.text.secondary,"medium"),display:"block",marginBottom:t.xs},muted:c(n.size.caption,n.lineHeight.normal,r.text.muted),bodyText:c(n.size.body,n.lineHeight.normal,r.text.primary),mono:A(e,"mono"),plainList:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},sheetBackdrop:{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.4)",display:"flex",alignItems:"flex-end",justifyContent:"center",zIndex:10},sheet:{boxSizing:"border-box",width:"100%",maxWidth:560,maxHeight:"88%",overflowY:"auto",backgroundColor:r.surface,borderTopLeftRadius:o.xl-1,borderTopRightRadius:o.xl-1,padding:`${t.md}px ${t.lg+t.xs+t.xs/2}px ${o.xl}px`,display:"flex",flexDirection:"column",gap:t.md,...A(e,"regular"),color:r.text.primary},sheetHandle:{alignSelf:"center",width:t.xxl+t.xs,height:t.xs,borderRadius:o.pill,backgroundColor:r.borderRingCream},sheetHeader:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:t.sm},sheetTitle:{...c(n.size.heading,n.lineHeight.snug,r.text.primary,"bold")},sheetHelper:c(n.size.bodyTight,n.lineHeight.normal,r.text.muted),closeGlyph:{fontSize:n.size.verdict,lineHeight:1,color:r.text.primary}}}i(Cu,"makeScreenStyles");function wt(e,r){return e===null?"":r?`${e} ${r}`:e}i(wt,"formatEntityValue");var us=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function K(e){if(!e)return "-";let r=/^(\d{4})-(\d{2})-(\d{2})/.exec(e);if(r!==null){let n=us[Number(r[2])-1];return n===void 0?"-":`${n} ${Number(r[3])}, ${r[1]}`}let t=Date.parse(e);if(Number.isNaN(t))return "-";let o=new Date(t);return `${us[o.getUTCMonth()]} ${o.getUTCDate()}, ${o.getUTCFullYear()}`}i(K,"formatRecordsDate");var pe=Object.freeze({timeline:"Timeline",loadingTimeline:"Loading timeline",labResults:"Blood & lab work",visits:"Visits",physicalExams:"Physical exams",visitNotes:"Visit notes",visit:"Visit",exam:"Exam",visitNote:"Visit note",notRecorded:"Not recorded",abnormal:"Abnormal",notExamined:"Not examined",normal:"Normal",measured:i(e=>`Measured ${e}`,"measured"),uploadedDocument:"Uploaded document",kind:Object.freeze({visit:"Visit",vaccine:"Vaccine",weight:"Weight",medication:"Medication"}),clinicVisit:"Clinic visit",doctor:i(e=>`Dr. ${e}`,"doctor"),lot:i(e=>`Lot ${e}`,"lot"),expires:i(e=>`Expires ${e}`,"expires")});function Fr(e){switch(e){case "above":return {label:"Above range",outOfRange:true};case "below":return {label:"Below range",outOfRange:true};case "in_range":return {label:"In range",outOfRange:false};default:return {label:"No range on file",outOfRange:false}}}i(Fr,"markerStatusLabel");function kt(e,r){return r<2?null:`${e==="flat"?"Holding steady":`Trending ${e==="down"?"down":e==="up"?"up":"steady"}`} over ${r} visits`}i(kt,"trajectoryLabel");function jr(e){let r=e.replace(/_/g," ").trim();return r.length===0?e:r.charAt(0).toUpperCase()+r.slice(1)}i(jr,"humanize");var ps=Object.freeze({general:"General / attitude",eent:"Eyes, ears, nose & throat",oral_dental:"Oral & dental",cardiovascular:"Cardiovascular",respiratory:"Respiratory",gastrointestinal:"GI / abdomen",urogenital:"Urogenital",musculoskeletal:"Musculoskeletal",neurologic:"Neurologic",integument:"Skin & coat",lymphatic:"Lymph nodes"});function _t(e){return Object.prototype.hasOwnProperty.call(ps,e)?ps[e]:jr(e)}i(_t,"bodySystemLabel");var ms=Object.freeze({reason_for_visit:"Reason for visit",subjective:"Subjective",objective:"Objective",assessment:"Assessment",plan:"Plan",discharge_instructions:"Discharge instructions",follow_up:"Follow-up",remarks:"Notes"});function Pt(e){return Object.prototype.hasOwnProperty.call(ms,e)?ms[e]:jr(e)}i(Pt,"soapSectionLabel");function fs(e){return e===null||!Number.isFinite(e)?"-":`${e.toFixed(3).replace(/\.?0+$/,"")} kg`}i(fs,"formatWeightKg");function ar(e,r,t){if((e===null||!Number.isFinite(e))&&t)return t;if(e===null||!Number.isFinite(e))return "-";let o=e.toFixed(3).replace(/\.?0+$/,"");return r?`${o} ${r}`:o}i(ar,"formatMarkerReading");function jo(e,r,t){let o=kt(r,t);return e?`${pe.measured(K(e))}${o?` \xB7 ${o}`:""}`:o}i(jo,"labDetailLine");var ys=Object.freeze({idle:Object.freeze({title:"Find your pet\u2019s clinic",body:"Search for the clinic that holds your pet\u2019s records. We\u2019ll request them on your behalf once you sign the authorization.",action:null}),no_requests:Object.freeze({title:"No record requests yet",body:"When you request records from a clinic, you\u2019ll be able to track every step here.",action:null}),no_records:Object.freeze({title:"Nothing to show just yet",body:"Once your pet\u2019s records arrive and our team reviews them, lab trends and visits will appear here.",action:null}),rate_limited:Object.freeze({title:"Slow down a moment",body:"You\u2019ve made a lot of requests just now. You can try again shortly.",action:"Try again"}),service_unavailable:Object.freeze({title:"Records search is temporarily down",body:"We\u2019re working on it. Please try again in a few minutes.",action:"Try again"}),error:Object.freeze({title:"Couldn\u2019t reach Everfur",body:"Check your connection and try again.",action:"Try again"})}),Ho=60;function gs(e){return `Try again in ${e}s`}i(gs,"coolingActionLabel");var bs="Try again, available shortly";var le=Object.freeze({openA11y:"Share medical record",title:"Share medical record",helper:"Anyone with an active link can view this record until it expires. You can turn a link off anytime.",close:"Close",closeSheetA11y:"Close share sheet",viewDocument:"View document",createLink:"Create link and share",creatingLink:"Creating link...",downloadPdf:"Download PDF",preparingPdf:"Preparing PDF...",activeLinks:"Active links",loadingLinks:"Loading your share links",errorTitle:"Couldn\u2019t load your links",errorBody:"Check your connection and try again. You can still create a new link above.",retry:"Try again",retrying:"Retrying...",emptyTitle:"No active links yet",emptyBody:"Create a link above to let your vet or a sitter view this record. It expires on its own, and you can turn it off anytime.",copyLink:"Copy link",copyLinkA11y:i(e=>`Copy share link, ${e}`,"copyLinkA11y"),turnOff:"Turn off",turnOffA11y:i(e=>`Turn off share link, ${e}`,"turnOffA11y"),turningOff:"Turning off...",keep:"Keep",confirmTurnOff:"Turn off this link? Anyone who has it will lose access.",consentOffTitle:"Records access is off",consentOffBody:"Allow records for this pet again to create a link or download the PDF. Any links that were live have been turned off. You can still turn off a link from this list.",toasts:Object.freeze({noAddress:"Link created, but no address came back. It is listed under Active links.",shareSheet:"Could not open the share sheet. The link is saved below.",copied:"Link copied.",copyFailed:"Could not copy the link.",turnedOff:"Link turned off."})});function Eu(e,r){if(!e)return false;let t=Date.parse(e);return Number.isNaN(t)?false:t<=r}i(Eu,"isShareExpired");function xu(e,r){let t=K(e);return t==="-"?r?"Expired":"No expiry date":r?`Expired ${t}`:`Expires ${t}`}i(xu,"formatShareExpiry");function hs(e,r,t){let o=e.map(n=>{let l=Eu(n.expiresAt,t),a=xu(n.expiresAt,l),c=K(n.createdAt),s=l?"Expired":"Active",d=a.replace(/^Expires /,"expiring ").replace(/^Expired /,"expired ").replace(/^Expired$/,"expired").replace(/^No expiry date$/,"with no expiry date");return {shareId:n.shareId,shareUrl:r[n.shareId]??null,active:!l,statusLabel:s,expiryLabel:a,createdLabel:c==="-"?null:`Created ${c}`,a11yLabel:`Share link. ${s}. ${a}.`,actionContext:d}});return Object.freeze([...o.filter(n=>n.active),...o.filter(n=>!n.active)])}i(hs,"buildShareRows");function Tn(e,r){let t=e?.httpStatus;if(Mr(e)){if(r==="create")return "Records access for this pet is off, so a new link cannot be created.";if(r==="download")return "Records access for this pet is off, so the PDF cannot be downloaded."}if(t===429)return "You are creating links a little too fast. Wait a moment, then try again.";if(r==="revoke"&&(t===404||t===409||t===410))return "That link was already turned off.";if(t===401||t===403)return "You need to be signed in as this pet's owner to do that.";switch(r){case "create":return "Could not create a share link. Please try again.";case "revoke":return "Could not turn off that link. Please try again.";default:return "Could not download the record PDF. Please try again."}}i(Tn,"shareErrorMessage");function he({width:e,height:r,radius:t,style:o}){let{color:n,radius:l}=ge();return jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"block",width:e,height:r,borderRadius:t??l.xs,backgroundColor:n.skeleton,flexShrink:0,...o}})}i(he,"SkeletonBlock");var Vo=180,vs=44,Wo=62;function Dn({testID:e}){let r=Tt(),t=i(o=>jsxRuntime.jsxs("div",{style:r.actionRow,children:[jsxRuntime.jsxs("div",{style:r.actionLeft,children:[jsxRuntime.jsx(he,{width:18,height:18,radius:9}),jsxRuntime.jsx(he,{width:"55%",height:14,radius:7})]}),jsxRuntime.jsx(he,{width:18,height:18,radius:9})]},o),"action");return jsxRuntime.jsxs("div",{role:"progressbar","aria-label":nr.loading,"aria-busy":"true",style:r.dashboard,"data-testid":e,children:[jsxRuntime.jsx("div",{style:r.inset,children:jsxRuntime.jsxs("div",{style:r.summaryCard,children:[jsxRuntime.jsx(he,{width:Vo,height:Vo,radius:Vo/2}),jsxRuntime.jsxs("div",{style:r.badges,children:[jsxRuntime.jsx(he,{width:70,height:22,radius:11}),jsxRuntime.jsx(he,{width:70,height:22,radius:11})]})]})}),jsxRuntime.jsx("div",{style:r.inset,children:jsxRuntime.jsx(he,{width:150,height:16,radius:8})}),jsxRuntime.jsx("div",{style:r.carouselCard,children:jsxRuntime.jsx(he,{width:"100%",height:300,radius:14})}),jsxRuntime.jsxs("div",{style:r.dots,children:[jsxRuntime.jsx(he,{width:6,height:6,radius:3}),jsxRuntime.jsx(he,{width:18,height:6,radius:3}),jsxRuntime.jsx(he,{width:6,height:6,radius:3})]}),jsxRuntime.jsx("div",{style:r.centered,children:jsxRuntime.jsx(he,{width:46,height:12,radius:6})}),jsxRuntime.jsx("div",{style:r.inset,children:jsxRuntime.jsx(he,{width:"100%",height:vs,radius:12})}),jsxRuntime.jsxs("div",{style:{...r.inset,...r.actions},children:[t("a"),t("b")]})]})}i(Dn,"DashboardSkeleton");function Cs({testID:e}){let r=Tt();return jsxRuntime.jsxs("div",{role:"progressbar","aria-label":ye.loading,"aria-busy":"true",style:r.request,"data-testid":e,children:[jsxRuntime.jsx("div",{children:[0,1,2,3].map(t=>jsxRuntime.jsxs("div",{style:r.railRow,children:[jsxRuntime.jsxs("div",{style:r.railColumn,children:[jsxRuntime.jsx(he,{width:24,height:24,radius:12}),t<3?jsxRuntime.jsx(he,{width:2,height:20,radius:1}):null]}),jsxRuntime.jsxs("div",{style:r.railBody,children:[jsxRuntime.jsx(he,{width:"55%",height:14,radius:7}),jsxRuntime.jsx(he,{width:"75%",height:11,radius:6})]})]},t))}),jsxRuntime.jsxs("div",{style:r.statusCard,children:[jsxRuntime.jsx(he,{width:"90%",height:13,radius:6}),jsxRuntime.jsx(he,{width:"60%",height:13,radius:6})]}),jsxRuntime.jsx(he,{width:"100%",height:50,radius:25})]})}i(Cs,"RequestSkeleton");function Es({testID:e}){let r=Tt();return jsxRuntime.jsxs("div",{role:"progressbar","aria-label":pe.loadingTimeline,"aria-busy":"true",style:r.timeline,"data-testid":e,children:[jsxRuntime.jsx("div",{style:r.timelineDisclaimer,children:jsxRuntime.jsx(he,{width:"100%",height:vs,radius:12})}),Array.from({length:6},(t,o)=>jsxRuntime.jsxs("div",{children:[o>0?jsxRuntime.jsx("div",{style:r.timelineSeparator}):null,jsxRuntime.jsxs("div",{style:r.timelineRow,children:[jsxRuntime.jsx(he,{width:34,height:34,radius:17}),jsxRuntime.jsxs("div",{style:r.timelineBody,children:[jsxRuntime.jsxs("div",{style:r.timelineTop,children:[jsxRuntime.jsx(he,{width:44,height:10,radius:5}),jsxRuntime.jsx(he,{width:56,height:12,radius:6})]}),jsxRuntime.jsx(he,{width:"70%",height:14,radius:7}),o%2===0?jsxRuntime.jsx(he,{width:"45%",height:12,radius:6}):null]})]})]},o))]})}i(Es,"TimelineSkeleton");function xs({testID:e}){let r=Tt();return jsxRuntime.jsx("div",{role:"progressbar","aria-label":xe.loading,"aria-busy":"true",style:r.clinics,"data-testid":e,children:Array.from({length:5},(t,o)=>jsxRuntime.jsxs("div",{style:r.clinicRow,children:[jsxRuntime.jsx(he,{width:"65%",height:14,radius:7}),jsxRuntime.jsx(he,{width:"40%",height:11,radius:6})]},o))})}i(xs,"ClinicsSkeleton");function Ss({testID:e}){let r=Tt();return jsxRuntime.jsx("div",{role:"progressbar","aria-label":le.loadingLinks,"aria-busy":"true",style:r.shares,"data-testid":e,children:[0,1].map(t=>jsxRuntime.jsxs("div",{style:r.shareRow,children:[jsxRuntime.jsx(he,{width:"55%",height:13}),jsxRuntime.jsx(he,{width:"40%",height:11})]},t))})}i(Ss,"SharesSkeleton");function Ve({variant:e,onAction:r,message:t,testID:o}){let n=Tt(),l=ys[e],[a,c]=react.useState(e==="rate_limited"?Ho:0);react.useEffect(()=>{e==="rate_limited"&&c(Ho);},[e]),react.useEffect(()=>{if(a<=0)return;let u=setTimeout(()=>c(p=>Math.max(0,p-1)),1e3);return ()=>clearTimeout(u)},[a]);let s=e==="rate_limited"&&a>0,d=s?gs(a):l.action;return jsxRuntime.jsxs("section",{role:"status",style:n.empty,"data-testid":o,children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:n.emptyGlyph}),jsxRuntime.jsx("h3",{style:n.emptyTitle,children:l.title}),jsxRuntime.jsx("p",{style:n.emptyBody,children:t??l.body}),d!==null&&r?jsxRuntime.jsx("button",{type:"button",onClick:r,disabled:s,"aria-label":s?bs:d,style:{...n.emptyAction,...s?n.emptyActionDisabled:{}},"data-testid":o?`${o}-action`:`records-empty-${e}-action`,children:d}):null]})}i(Ve,"RecordsEmptyState");function Tt(){let e=ge();return react.useMemo(()=>ku(e),[e])}i(Tt,"useStyles");function ku(e){let{color:r,space:t,radius:o,type:n}=e,l=`1px solid ${r.brandBorder}`;return {dashboard:{display:"flex",flexDirection:"column",gap:t.lg,padding:`${t.xs}px ${t.sm}px 0`,backgroundColor:r.background},inset:{padding:`0 ${t.sm}px`},summaryCard:{display:"flex",flexDirection:"column",alignItems:"center",gap:t.md+t.xs/2,borderRadius:o.lg-t.xs,border:l,backgroundColor:r.surface,padding:`${t.lg+t.xs}px ${t.lg}px`},badges:{display:"flex",gap:t.md},carouselCard:{borderRadius:o.lg-t.xs,border:l,backgroundColor:r.surface,padding:t.lg},dots:{display:"flex",alignItems:"center",justifyContent:"center",gap:t.xs+t.xs/2},centered:{display:"flex",justifyContent:"center"},actions:{display:"flex",flexDirection:"column",gap:t.sm+t.xs/2},actionRow:{display:"flex",alignItems:"center",justifyContent:"space-between",borderRadius:o.md,border:l,backgroundColor:r.surface,padding:t.lg},actionLeft:{flex:1,display:"flex",alignItems:"center",gap:t.md},request:{display:"flex",flexDirection:"column",gap:t.lg+t.xs/2,padding:`${t.xs}px ${t.lg}px 0`},railRow:{display:"flex",alignItems:"flex-start",gap:t.md},railColumn:{display:"flex",flexDirection:"column",alignItems:"center",gap:t.xs/2,width:24},railBody:{flex:1,display:"flex",flexDirection:"column",gap:t.xs+t.xs/2,paddingBottom:t.lg+t.xs/2},statusCard:{display:"flex",flexDirection:"column",gap:t.sm,borderRadius:o.md,backgroundColor:r.brandSoft,padding:t.md+t.xs/2},timeline:{backgroundColor:r.background},timelineDisclaimer:{padding:`${t.xs}px ${t.lg}px ${t.md}px`},timelineRow:{display:"flex",gap:t.md,padding:`${t.md+t.xs/2}px ${t.lg}px`},timelineBody:{flex:1,display:"flex",flexDirection:"column",gap:t.xs-1},timelineTop:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:t.sm},timelineSeparator:{height:1,backgroundColor:r.brandBorder,marginLeft:Wo},clinics:{display:"flex",flexDirection:"column",gap:t.md},clinicRow:{display:"flex",flexDirection:"column",gap:t.sm,borderRadius:o.lg-t.xs/2,border:l,backgroundColor:r.surface,padding:`${t.md+t.xs/2}px`},shares:{display:"flex",flexDirection:"column",gap:t.md,padding:t.md,borderRadius:o.md,backgroundColor:r.surfaceCream,border:l},shareRow:{display:"flex",flexDirection:"column",gap:t.xs+t.xs/2},empty:{display:"flex",flexDirection:"column",alignItems:"center",gap:t.sm+t.xs/2,padding:`${t.xxl}px ${t.xl}px`,textAlign:"center"},emptyGlyph:{boxSizing:"border-box",width:22,height:22,borderRadius:11,backgroundColor:r.brandSoft,border:l,marginBottom:t.xs},emptyTitle:{margin:0,...A(e,"bold"),fontSize:n.size.subtitle,lineHeight:`${Math.round(n.size.subtitle*n.lineHeight.snug)-1}px`,color:r.brand},emptyBody:{margin:0,...A(e,"regular"),fontSize:n.size.bodyTight,lineHeight:`${Math.round(n.size.bodyTight*n.lineHeight.normal)}px`,color:r.text.muted,maxWidth:320},emptyAction:{boxSizing:"border-box",marginTop:t.sm,minHeight:40,borderRadius:o.pill,padding:`0 ${t.lg+t.xs/2}px`,backgroundColor:r.brand,color:r.onPrimary,border:0,cursor:"pointer",...A(e,"bold"),fontSize:n.size.bodyTight},emptyActionDisabled:{opacity:.5,cursor:"default"}}}i(ku,"makeStyles");var Tu=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function Go(e){let{userRef:r,scopeEpoch:t}=ie();return jsxRuntime.jsx(Ae,{capability:"recordsClinic",style:e.style,className:e.className,...Ne(e.onBack,je),children:r===null?jsxRuntime.jsx("p",{role:"alert",children:Y.sessionRequired}):jsxRuntime.jsx(Du,{...Ie(e,["onNavigate","onBack"])},JSON.stringify([r,t,e.petRef]))})}i(Go,"EverfurClinicPicker");function Du({petRef:e,controller:r,recordsController:t,location:o,onNavigate:n,onBack:l,style:a,className:c}){let{theme:s,styles:d}=Z(),u=Sr(),p=qa(r??u,o),f=Je(t?{petRef:e,controller:t}:{petRef:e}),y=react.useRef($r()),[b,m]=react.useState(false),[S,R]=react.useState(null),[x,g]=react.useState(false),[h,v]=react.useState(""),[E,k]=react.useState(false),[D,I]=react.useState(""),[P,O]=react.useState(false),B=react.useCallback(T=>{n?.({name:"consent",clinic:_o(T,null,"",y.current())});},[n]),M=i(()=>{b||(m(true),R(null),f.createRequest(`records-upload-${Date.now().toString(36)}`).then(T=>{if(m(false),!T.ok){R(ye.errors.start);return}n?.({name:"request",requestId:T.value.id});}));},"startUpload"),H=E?h:p.query,G=Tu.test(D.trim()),Ce=H.trim().length>0&&G,Q=p.isSearchActive?p.clinics:p.recent,w=p.isSearchActive?p.error?tr(p.error):!p.initialLoading&&p.clinics.length===0?"idle":null:p.recent.length>0||p.recentLoading?null:"idle",C={display:"flex",flexDirection:"column",gap:s.space.sm},q=i(T=>{let U=T.currentTarget;U.scrollTop+U.clientHeight>=U.scrollHeight-U.clientHeight*.6&&p.loadMore();},"onScroll");return jsxRuntime.jsxs("div",{className:c,style:{...d.root,...a},"data-testid":"records-clinic-picker",children:[jsxRuntime.jsx(He,{title:xe.title,onBack:l,testID:"records-clinic-header"}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:s.space.sm,margin:`0 ${s.space.lg}px ${s.space.sm}px`,padding:`0 ${s.space.md+s.space.xs/2}px`,height:44,borderRadius:22,backgroundColor:s.color.surfaceSubtle,border:`1px solid ${s.color.borderHairlineGreen}`},children:[jsxRuntime.jsx("input",{type:"search",value:p.query,onChange:T=>p.setQuery(T.target.value),placeholder:xe.placeholder,maxLength:200,"aria-label":xe.searchA11y,autoComplete:"off",style:{flex:1,border:0,background:"transparent",font:"inherit",fontSize:s.type.size.body,color:s.color.text.primary,outline:"none"},"data-testid":"records-clinic-search-input"}),p.query.length>0?jsxRuntime.jsx("button",{type:"button",onClick:()=>p.setQuery(""),"aria-label":xe.clearSearch,style:{...d.iconButton,width:32,height:32},"data-testid":"records-clinic-search-clear",children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:d.closeGlyph,children:"\xD7"})}):null]}),n?jsxRuntime.jsxs("div",{style:{...C,padding:`0 ${s.space.lg}px ${s.space.md}px`},children:[S?jsxRuntime.jsx("p",{role:"alert",style:d.errorBanner,children:S}):null,jsxRuntime.jsx(ee,{label:b?xe.uploadOwnStarting:xe.uploadOwn,kind:"outline",ariaLabel:xe.uploadOwnA11y,busy:b,onClick:M,testID:"records-clinic-upload-own"})]}):null,jsxRuntime.jsxs("div",{style:{...d.body,...d.content,gap:s.space.md},onScroll:p.isSearchActive?q:void 0,"data-testid":"records-clinic-results",children:[p.isSearchActive?jsxRuntime.jsxs("section",{style:{...d.creamCard,borderStyle:"dashed",padding:`${s.space.md}px ${s.space.md+s.space.xs/2}px`},"data-testid":"records-clinic-fallback-card",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>g(T=>!T),"aria-expanded":x,"aria-label":x?xe.fallback.collapseA11y:xe.fallback.expandA11y,style:{display:"flex",alignItems:"center",gap:s.space.md,width:"100%",minHeight:44,background:"transparent",border:0,padding:0,cursor:"pointer",textAlign:"left",font:"inherit",color:"inherit"},"data-testid":"records-clinic-fallback",children:[jsxRuntime.jsxs("span",{style:{flex:1,display:"flex",flexDirection:"column",gap:s.space.xs/2},children:[jsxRuntime.jsx("span",{style:{...d.rowTitle,...A(s,"bold")},children:xe.fallback.title}),jsxRuntime.jsx("span",{style:d.muted,children:xe.fallback.subtitle})]}),jsxRuntime.jsx(ct,{direction:x?"up":"down"})]}),x?jsxRuntime.jsxs("div",{style:C,children:[jsxRuntime.jsx("label",{htmlFor:"records-clinic-fallback-name",style:d.fieldLabel,children:xe.fallback.nameLabel}),jsxRuntime.jsx("input",{id:"records-clinic-fallback-name",style:d.field,value:H,onChange:T=>{v(T.target.value),k(true);},placeholder:xe.fallback.namePlaceholder,maxLength:200,autoComplete:"off","data-testid":"records-clinic-fallback-name"}),jsxRuntime.jsx("label",{htmlFor:"records-clinic-fallback-email",style:d.fieldLabel,children:xe.fallback.emailLabel}),jsxRuntime.jsx("input",{id:"records-clinic-fallback-email",type:"email",style:d.field,value:D,onChange:T=>{I(T.target.value),O(false);},onBlur:()=>O(true),placeholder:xe.fallback.emailPlaceholder,maxLength:320,autoComplete:"off","data-testid":"records-clinic-fallback-email"}),P&&D.trim().length>0&&!G?jsxRuntime.jsx("p",{role:"alert",style:d.errorText,children:ye.errors.invalidEmail}):null,jsxRuntime.jsx("p",{style:d.muted,children:xe.fallback.reviewNote}),jsxRuntime.jsx(ee,{label:xe.fallback.submit,ariaLabel:xe.fallback.submitA11y,disabled:!Ce||!n,onClick:()=>n?.({name:"consent",clinic:_o(null,H.trim(),D.trim().toLowerCase(),y.current())}),testID:"records-clinic-fallback-submit"})]}):null]}):p.recent.length>0?jsxRuntime.jsx("h3",{style:{...d.fieldLabel,...A(s,"bold"),textTransform:"uppercase",marginBottom:0},"data-testid":"records-clinic-recent-label",children:xe.recentlyUsed}):null,p.isSearchActive&&p.initialLoading?jsxRuntime.jsx(xs,{testID:"records-clinic-page-loading"}):null,jsxRuntime.jsx("ul",{style:{...d.plainList,gap:s.space.md},children:Q.map(T=>{let U=Sa(T.emailStatus),se=wa(T.distanceKm),ke=[T.name,T.address,T.phone?`phone ${T.phone}`:null,se?ka(T.distanceKm):null,U.a11y].filter(Boolean).join(", "),X=U.tone==="positive"?{backgroundColor:s.color.badgeBgPositive,color:s.color.success}:U.tone==="caution"?{backgroundColor:s.color.badgeBgCaution,color:s.color.cautionAccent}:{backgroundColor:s.color.badgeBgNeutral,color:s.color.text.muted};return jsxRuntime.jsx("li",{children:jsxRuntime.jsxs("button",{type:"button",onClick:()=>B(T),"aria-label":xe.selectA11y(ke),style:{...d.creamCard,backgroundColor:s.color.surface,width:"100%",textAlign:"left",cursor:"pointer",gap:s.space.sm,padding:`${s.space.md}px ${s.space.md+s.space.xs/2}px`,font:"inherit",color:"inherit"},"data-testid":`records-clinic-${T.id}`,children:[jsxRuntime.jsxs("span",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:s.space.sm},children:[jsxRuntime.jsx("span",{style:{...d.rowTitle,...A(s,"bold"),color:s.color.brand},children:T.name}),se?jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...d.muted,...d.mono},children:se}):null]}),T.address?jsxRuntime.jsx("span",{style:d.rowDetail,children:T.address}):null,T.phone?jsxRuntime.jsx("span",{"aria-hidden":"true",style:d.rowMuted,children:T.phone}):null,jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...d.chip,...X,...A(s,"bold"),fontSize:s.type.size.micro,alignSelf:"flex-start"},children:U.label})]})},T.id)})}),w&&!p.initialLoading?jsxRuntime.jsx(Ve,{variant:w,message:p.isSearchActive&&w==="idle"?xe.noMatch(p.debouncedQuery):p.error?.displayMessage,onAction:p.error?.retryable===true?p.retry:void 0,testID:"records-clinic-empty"}):null,jsxRuntime.jsxs("div",{style:C,children:[p.loadingMore?jsxRuntime.jsx("p",{role:"status",style:{...d.muted,textAlign:"center"},"data-testid":"records-clinic-loading-more",children:xe.loadingMore}):null,p.pageError?jsxRuntime.jsx("button",{type:"button",onClick:p.loadMore,"aria-label":xe.loadMoreRetryA11y,style:{...d.pill,...d.pillLink},"data-testid":"records-clinic-page-error-retry",children:xe.loadMoreFailed}):null]})]}),jsxRuntime.jsx(qe,{})]})}i(Du,"PickerBody");var Pe=Object.freeze({title:"Request records",resultTitle:"Request status",addClinic:"Add a clinic",atCap:`Up to ${xt} clinics`,sendA11y:i(e=>e===1?"Send 1 records request":`Send ${e} records requests`,"sendA11y"),send:i(e=>`Send ${e} ${e===1?"request":"requests"}`,"send"),sending:"Sending\u2026",addToContinue:"Add a clinic to continue",tryAgain:"Try again",remove:i(e=>`Remove ${e}`,"remove"),emailToAdd:"Email to add",perClinic:"Per-clinic result",sent:"Sent",notSent:"Not sent",allFailed:"We couldn\u2019t send any of these requests. See the details below and try again.",partial:i((e,r,t)=>`${e} of ${r} requests sent. ${t} couldn\u2019t be sent.`,"partial"),allSent:i(e=>`${e} ${e===1?"request":"requests"} sent.`,"allSent"),responded:i((e,r)=>`${e} of ${r} ${r===1?"clinic":"clinics"} responded`,"responded")});function Kt(e,r,t,o){let n={owner_name:r,pet_name:t,clinic_name:o},l=false,a=e.scopeTemplate.replace(/\{([^{}]+)\}/g,(c,s)=>Object.prototype.hasOwnProperty.call(n,s)?n[s]??"":(l=true,""));return l||/[{}]/.test(a)?null:a}i(Kt,"renderClinicScope");function Qt(e){return e===null||e.emailStatus!=="verified"&&e.emailStatus!=="unverified"}i(Qt,"clinicNeedsEmail");function ws(e,r,t){let[o,n]=react.useState(e.ownerName),[l,a]=react.useState(""),[c,s]=react.useState(null),[d,u]=react.useState(""),[p,f]=react.useState([]),[y,b]=react.useState([]),[m,S]=react.useState(null),[R,x]=react.useState(null),[g,h]=react.useState(false),[v,E]=react.useState(false),[k,D]=react.useState(null),[I,P]=react.useState(0),O=react.useRef(false),B=react.useRef(false),M=react.useRef(0),H=react.useRef($r()),G=react.useRef(null),Ce=react.useRef(null),Q=react.useRef(0);react.useEffect(()=>(O.current=true,B.current=false,h(false),()=>{O.current=false,Q.current+=1,M.current+=1,G.current=null,Ce.current?.abort();}),[r]),react.useEffect(()=>{let X=true;return S(null),G.current=null,r.getAuthorizationCopy().then(ve=>{X&&(ve.ok?(S(ve.value),x(null)):x(ve.error));}).catch(()=>{X&&x(L("internalError"));}),()=>{X=false;}},[r,I]),react.useEffect(()=>{let X=true;return b([]),r.recentClinics({limit:5}).then(ve=>{X&&ve.ok&&b(ve.value.clinics);}).catch(()=>{}),()=>{X=false;}},[r]);let w=i(()=>{G.current=null,x(null);},"invalidate"),C=c?.name??l.trim(),q=m?Kt(m,o.trim(),e.petName,C):null,T=Qt(c),U=!!(m&&q&&o.trim()&&e.petName.trim()&&C&&(!T||/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(d.trim()))&&t),se=i(async()=>{if(B.current)return;let X=++M.current;E(true);try{let ve=await r.searchClinics({query:l.trim(),limit:100});if(!O.current||X!==M.current)return;ve.ok?(f(ve.value.clinics),x(null)):x(ve.error);}catch{O.current&&X===M.current&&x(L("internalError"));}finally{O.current&&X===M.current&&E(false);}},"search"),ke=i(async()=>{if(B.current||k||!U||!m||!q||!t)return;B.current=true;let X=Q.current,ve=i(()=>O.current&&Q.current===X,"current");h(true),x(null);try{if(!G.current){Ce.current=new AbortController;let Be=await t({petRef:e.petRef,petName:e.petName,ownerName:o.trim(),clinicName:C,authorizationVersion:m.authorizationVersion,scopeText:q,signal:Ce.current.signal});if(!ve()||Be===null)return;let vr=c&&(!T||c.emailStatus==="none")?{clinicId:c.id}:{clinicFreeText:C};G.current={petRef:e.petRef,ownerName:o.trim(),authorizationVersion:m.authorizationVersion,...vr,...T?{clinicEmail:d.trim().toLowerCase()}:{},...Be.signatureId!==void 0?{signatureId:Be.signatureId}:{signaturePngBase64:Be.signaturePngBase64},idempotencyKey:H.current()};}if(!ve())return;let er=await r.createClinicRequest(G.current);if(!ve())return;if(!er.ok){x(er.error);return}if(er.value.petRef!==e.petRef){x(L("internalError"));return}D(er.value),G.current=null,e.onCreated?.(er.value);}catch{ve()&&x(L("internalError"));}finally{B.current=false,ve()&&h(false);}},"submit");return {ownerName:o,query:l,clinic:c,email:d,clinics:p,copy:m,scope:q,error:R,busy:g,searching:v,created:k,ready:U,needsEmail:T,recent:p.length===0&&c===null?y:[],setOwnerName(X){B.current||(w(),n(X));},setQuery(X){B.current||(w(),M.current+=1,E(false),f([]),s(null),u(""),a(X));},setEmail(X){B.current||(w(),u(X));},selectClinic(X){B.current||(w(),M.current+=1,E(false),f([]),s(X),a(X.name),u(""));},invalidate:w,search:se,submit:ke,retryCopy(){x(null),P(X=>X+1);}}}i(ws,"useClinicRequestForm");var Iu=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function It(e){return e.clinic?.name??e.freeText??""}i(It,"draftName");function Dt(e){return Qt(e.clinic)}i(Dt,"draftNeedsEmail");function ks(e,r,t,o,n){let[l,a]=react.useState(e.ownerName),[c,s]=react.useState(""),[d,u]=react.useState([]),[p,f]=react.useState([]),[y,b]=react.useState([]),[m,S]=react.useState(null),[R,x]=react.useState(null),[g,h]=react.useState(false),[v,E]=react.useState(false),[k,D]=react.useState(null),[I,P]=react.useState(null),[O,B]=react.useState(0),M=react.useRef(false),H=react.useRef(false),G=react.useRef(0),Ce=react.useRef(0),Q=react.useRef($r()),w=react.useRef(null),C=react.useRef(null);react.useEffect(()=>(M.current=true,H.current=false,h(false),()=>{M.current=false,Ce.current+=1,G.current+=1,w.current=null,C.current?.abort();}),[r,t]),react.useEffect(()=>{let z=true;return S(null),w.current=null,r.getAuthorizationCopy().then(be=>{z&&(be.ok?(S(be.value),x(null)):x(be.error));}).catch(()=>{z&&x(L("internalError"));}),()=>{z=false;}},[r,O]),react.useEffect(()=>{let z=true;return f([]),r.recentClinics({limit:5}).then(be=>{z&&be.ok&&f(be.value.clinics);}).catch(()=>{}),()=>{z=false;}},[r]);let q=i(()=>{w.current=null,x(null);},"invalidate"),T=y.map(It),U=m?T.map(z=>Kt(m,l.trim(),e.petName,z)):[],se=U.every(z=>z!==null)?U.join(`
2
+
3
+ `):null,ke=y.length>0&&y.every(z=>!Dt(z)||Iu.test(z.email.trim())),X=y.length>=xt,ve=!!(m&&se&&l.trim()&&e.petName.trim()&&ke&&o)&&k===null,er=i(async()=>{if(H.current)return;let z=++G.current;E(true);try{let be=await r.searchClinics({query:c.trim(),limit:100});if(!M.current||z!==G.current)return;be.ok?(u(be.value.clinics),x(null)):x(be.error);}catch{M.current&&z===G.current&&x(L("internalError"));}finally{M.current&&z===G.current&&E(false);}},"search"),Be=i(z=>{H.current||X||k!==null||z.clinic!==null&&y.some(be=>be.clinic?.id===z.clinic?.id)||(q(),b(be=>[...be,{...z,key:Q.current(),idempotencyKey:Q.current()}]),u([]),s(""));},"add"),vr=i(async()=>{if(H.current||k!==null||!ve||!m||!se||!o)return;H.current=true;let z=Ce.current,be=i(()=>M.current&&Ce.current===z,"current");h(true),x(null);try{if(w.current===null){C.current=new AbortController;let rr=await o({petRef:e.petRef,petName:e.petName,ownerName:l.trim(),clinicName:T.join(", "),authorizationVersion:m.authorizationVersion,scopeText:se,signal:C.current.signal});if(!be()||rr===null)return;if(w.current=rr,rr.signaturePngBase64!==void 0&&n!==void 0){let id=await n(rr.signaturePngBase64,C.current.signal);if(!be())return;w.current={signatureId:id.signatureId};}}let Er=w.current,Mt=y.map(rr=>({...rr.clinic!==null&&(!Dt(rr)||rr.clinic.emailStatus==="none")?{clinicId:rr.clinic.id}:{clinicFreeText:It(rr)},...Dt(rr)?{clinicEmail:rr.email.trim().toLowerCase()}:{},...Er.signatureId!==void 0?{signatureId:Er.signatureId}:{signaturePngBase64:Er.signaturePngBase64},idempotencyKey:rr.idempotencyKey})),$t=await t.createClinicRequestBatch({petRef:e.petRef,ownerName:l.trim(),authorizationVersion:m.authorizationVersion,clinics:Mt});if(!be())return;if(!$t.ok){x($t.error);return}D($t.value),e.onCreated?.($t.value),Cr($t.value.requestGroupId,z);}catch{be()&&x(L("internalError"));}finally{H.current=false,be()&&h(false);}},"submit"),Cr=i(async(z,be)=>{try{let Er=await r.getRequestGroup(z);if(!M.current||Ce.current!==be)return;Er.ok&&Er.value.petRef===e.petRef&&P(Er.value);}catch{}},"loadGroup"),Ee=i(async()=>{k===null||H.current||await Cr(k.requestGroupId,Ce.current);},"refreshGroup");return {ownerName:l,query:c,clinics:d,copy:m,scopeText:se,error:R,busy:g,searching:v,drafts:y,outcome:k,group:I,ready:ve,atCap:X,recent:d.length===0?p.filter(z=>!y.some(be=>be.clinic?.id===z.id)):[],setOwnerName(z){H.current||(q(),a(z));},setQuery(z){H.current||(G.current+=1,E(false),u([]),s(z));},search:er,addClinic(z){Be({clinic:z,freeText:null,email:""});},addFreeText(){let z=c.trim();z.length!==0&&Be({clinic:null,freeText:z,email:""});},setDraftEmail(z,be){H.current||(q(),b(Er=>Er.map(Mt=>Mt.key===z?{...Mt,email:be}:Mt)));},removeDraft(z){H.current||k!==null||(q(),b(be=>be.filter(Er=>Er.key!==z)));},submit:vr,refreshGroup:Ee,retryCopy(){x(null),B(z=>z+1);}}}i(ks,"useClinicBatchForm");function _s(e){try{let r=new URL(e);if(r.protocol!=="https:"||r.username||r.password||r.port&&r.port!=="443")return !1;let t=r.hostname.toLowerCase();return t==="s3.amazonaws.com"||t.endsWith(".s3.amazonaws.com")||/^(?:[a-z0-9][a-z0-9.-]*\.)?s3[.-][a-z0-9-]+\.amazonaws\.com$/.test(t)||/^(?:[a-z0-9][a-z0-9.-]*\.)?s3\.dualstack\.[a-z0-9-]+\.amazonaws\.com$/.test(t)||t==="s3-accelerate.amazonaws.com"||t.endsWith(".s3-accelerate.amazonaws.com")||t==="s3-accelerate.dualstack.amazonaws.com"||t.endsWith(".s3-accelerate.dualstack.amazonaws.com")}catch{return false}}i(_s,"trustedSignatureUploadUrl");function Ps(e,r,t,o){e.clearRect(0,0,t,o);let n=r.trim();if(!n)return;let l=Math.max(1,t-32),a=Math.min(44,Math.max(16,Math.round(o*.34))),c=i(()=>{e.font=`italic 700 ${a}px Georgia, "Times New Roman", serif`;},"font");for(c();a>12&&e.measureText(n).width>l;)a-=2,c();e.textAlign="center",e.textBaseline="middle",e.fillText(n,t/2,o/2,l);}i(Ps,"paintClinicTypedSignature");async function Ts(e,r,t,o=fetch){let n=i(()=>new Error("Signature upload failed"),"fail"),l=await new Promise(f=>e.toBlob(f,"image/png"));if(!l||!l.size||l.size>2*1024*1024||t.aborted)throw n();let a=await r.initiateSignatureUpload(l.size);if(!a.ok||t.aborted||!_s(a.value.uploadUrl))throw n();let c=new FormData;for(let[f,y]of Object.entries(a.value.uploadFields))c.append(f,y);c.append("file",l,"signature.png");let s=new AbortController,d=i(()=>s.abort(),"onAbort");t.addEventListener("abort",d,{once:true});let u=setTimeout(d,9e4);try{if(!(await o(a.value.uploadUrl,{method:"POST",body:c,credentials:"omit",redirect:"error",referrerPolicy:"no-referrer",signal:s.signal})).ok||t.aborted)throw n()}catch{throw n()}finally{clearTimeout(u),t.removeEventListener("abort",d);}let p=await r.completeSignatureUpload(a.value.uploadId);if(!p.ok||t.aborted)throw n();return {signatureId:p.value}}i(Ts,"registerClinicSignature");var Au=8;function ft(e){let r=react.useRef(null),t=react.useRef(false),o=react.useRef(0),[n,l]=react.useState("draw"),[a,c]=react.useState(""),[s,d]=react.useState(false),u=react.useCallback(()=>{e?.(),o.current=0,d(false),c("");let f=r.current?.getContext("2d");f&&r.current&&f.clearRect(0,0,r.current.width,r.current.height);},[e]),p=i(f=>{let y=f.currentTarget.getBoundingClientRect();return [(f.clientX-y.left)*f.currentTarget.width/y.width,(f.clientY-y.top)*f.currentTarget.height/y.height]},"point");return {canvas:r,mode:n,typed:a,signed:s,clear:u,setTyped(f){e?.(),c(f),d(!!f.trim());let y=r.current?.getContext("2d");y&&r.current&&Ps(y,f,r.current.width,r.current.height);},toggle(){u(),l(f=>f==="draw"?"type":"draw");},onPointerDown(f){if(n!=="draw")return;e?.(),t.current=true,f.currentTarget.setPointerCapture(f.pointerId);let y=f.currentTarget.getContext("2d");if(!y)return;let[b,m]=p(f);y.beginPath(),y.moveTo(b,m),y.lineWidth=2,y.lineCap="round",y.strokeStyle="#111";},onPointerMove(f){if(!t.current||n!=="draw")return;let y=f.currentTarget.getContext("2d");if(!y)return;let[b,m]=p(f);y.lineTo(b,m),y.stroke(),o.current+=1,d(o.current>=Au);},onPointerUp(){t.current=false;},register(f,y){return !r.current||!s?Promise.reject(new Error("Signature upload failed")):Ts(r.current,f,y)}}}i(ft,"useSignatureCanvas");function yt({pad:e,disabled:r}){let t=ge(),o={minHeight:44,padding:t.space.sm,border:`1px solid ${t.color.borderHairlineGreen}`,borderRadius:t.radius.sm,background:t.color.surface,color:t.color.text.primary,font:"inherit"},n={...o,cursor:"pointer"};return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{style:{margin:`0 0 ${t.space.sm}px`},children:e.mode==="draw"?J.draw:J.type}),e.mode==="type"&&jsxRuntime.jsx("input",{"aria-label":J.type,style:{...o,display:"block",width:"100%",boxSizing:"border-box"},maxLength:100,value:e.typed,disabled:r,autoComplete:"off",onChange:l=>e.setTyped(l.target.value)}),jsxRuntime.jsx("canvas",{ref:e.canvas,width:480,height:160,"aria-label":J.sign,style:{display:"block",maxWidth:"100%",boxSizing:"border-box",touchAction:"none",background:"#fff",border:`1px solid ${t.color.borderHairlineGreen}`},onPointerDown:l=>{r||e.onPointerDown(l);},onPointerMove:l=>{r||e.onPointerMove(l);},onPointerUp:e.onPointerUp,onPointerCancel:e.onPointerUp}),jsxRuntime.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:t.space.sm,marginTop:t.space.sm},children:[jsxRuntime.jsx("button",{type:"button",style:n,disabled:r,onClick:e.clear,children:J.clear}),jsxRuntime.jsx("button",{type:"button",style:n,disabled:r,onClick:e.toggle,children:e.mode==="draw"?J.toType:J.toDraw})]})]})}i(yt,"SignatureCanvas");function Jo(e){let{userRef:r,scopeEpoch:t}=ie();return jsxRuntime.jsx(Ae,{capability:"recordsClinic",...Ne(e.onClose,J.cancel),children:r===null?jsxRuntime.jsx("p",{role:"alert",children:Y.sessionRequired}):jsxRuntime.jsx(qu,{...Ie(e,["onClose","onCreated"])},JSON.stringify([r,t,e.petRef,e.petName]))})}i(Jo,"EverfurClinicRequestBatch");function qu(e){let r=Sr(),t=Po(),o=e.controller??r,n=ge(),l=ft(),a=ks(e,o,e.batchClient??t,e.onCaptureSignature??(async m=>l.signed?l.register(o,m.signal):null)),c=e.onCaptureSignature!==void 0||l.signed,s={minHeight:44,padding:n.space.sm,border:`1px solid ${n.color.borderHairlineGreen}`,borderRadius:n.radius.sm,background:n.color.surface,color:n.color.text.primary,font:"inherit"},d={...s,display:"block",width:"100%",boxSizing:"border-box"},u={...s,cursor:"pointer"},p={margin:0,color:n.color.text.muted,fontSize:n.type.size.bodyTight},f=i(m=>[m.name,m.address,m.phone].filter(Boolean).join(", "),"clinicLabel"),y=a.busy?Pe.sending:a.drafts.length===0?Pe.addToContinue:a.error?Pe.tryAgain:Pe.send(a.drafts.length),b=a.outcome?Pe.resultTitle:Pe.title;return jsxRuntime.jsxs("section",{className:e.className,"aria-label":b,style:{background:n.color.surface,color:n.color.text.primary,padding:n.space.lg,borderRadius:n.radius.lg,minHeight:120,minWidth:0,overflowWrap:"anywhere",...e.style},children:[jsxRuntime.jsx("h2",{style:{margin:0,fontSize:n.type.size.heading},children:b}),jsxRuntime.jsx("p",{style:{margin:`${n.space.sm}px 0 ${n.space.lg}px`},children:e.petName}),a.outcome?jsxRuntime.jsxs("div",{style:{display:"grid",gap:n.space.sm},"data-testid":"records-batch-result",children:[jsxRuntime.jsx("p",{role:"status",style:{margin:0},children:a.outcome.createdCount===0?Pe.allFailed:a.outcome.failedCount>0?Pe.partial(a.outcome.createdCount,a.outcome.results.length,a.outcome.failedCount):Pe.allSent(a.outcome.createdCount)}),jsxRuntime.jsx("h3",{style:{margin:0,fontSize:n.type.size.subtitle},children:Pe.perClinic}),jsxRuntime.jsx("ul",{style:{listStyle:"none",margin:0,padding:0,display:"grid",gap:n.space.sm},children:a.outcome.results.map((m,S)=>{let R=m.request?.clinicName??a.drafts[S]?.clinic?.name??m.clinicFreeText??"";return jsxRuntime.jsxs("li",{"data-testid":`records-batch-row-${m.created?"created":"failed"}`,children:[jsxRuntime.jsx("span",{children:R})," ",jsxRuntime.jsx("span",{style:p,children:m.created?Pe.sent:Pe.notSent}),m.created&&m.request?.statusLabel?jsxRuntime.jsx("p",{style:p,children:m.request.statusLabel}):null,!m.created&&m.failureReason?jsxRuntime.jsx("p",{style:p,children:m.failureReason}):null]},m.idempotencyKey)})}),a.group?jsxRuntime.jsx("p",{"aria-live":"polite",style:{margin:0},children:Pe.responded(a.group.responded,a.group.total)}):null,a.group?.members.map(m=>m.statusLabel?jsxRuntime.jsx("p",{style:p,children:[m.clinicName,m.statusLabel].filter(Boolean).join(": ")},m.id):null)]}):jsxRuntime.jsxs("div",{style:{display:"grid",gap:n.space.md},children:[jsxRuntime.jsxs("label",{children:[J.ownerName,jsxRuntime.jsx("input",{style:d,maxLength:200,value:a.ownerName,disabled:a.busy,autoComplete:"name",onChange:m=>{l.clear(),a.setOwnerName(m.target.value);}})]}),a.drafts.length>0&&jsxRuntime.jsx("ul",{style:{listStyle:"none",margin:0,padding:0,display:"grid",gap:n.space.sm},children:a.drafts.map(m=>jsxRuntime.jsxs("li",{"data-testid":`records-batch-draft-${m.key}`,style:{display:"grid",gap:n.space.xs},children:[jsxRuntime.jsx("span",{children:It(m)}),Dt(m)?jsxRuntime.jsxs("label",{children:[J.email,jsxRuntime.jsx("input",{style:d,type:"email",placeholder:J.emailPlaceholder,maxLength:320,autoComplete:"off",value:m.email,disabled:a.busy,onChange:S=>{l.clear(),a.setDraftEmail(m.key,S.target.value);}})]}):null,Dt(m)&&!m.email.trim()?jsxRuntime.jsx("p",{style:p,children:Pe.emailToAdd}):null,jsxRuntime.jsx("button",{type:"button",style:u,disabled:a.busy,"aria-label":Pe.remove(It(m)),onClick:()=>{l.clear(),a.removeDraft(m.key);},children:Pe.remove(It(m))})]},m.key))}),jsxRuntime.jsx("p",{style:{margin:0},children:a.atCap?Pe.atCap:Pe.addClinic}),!a.atCap&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("label",{children:[J.clinic,jsxRuntime.jsx("input",{style:d,placeholder:J.placeholder,maxLength:200,value:a.query,disabled:a.busy,autoComplete:"off",onChange:m=>a.setQuery(m.target.value)})]}),jsxRuntime.jsx("button",{type:"button",style:u,disabled:a.busy||a.searching||a.query.trim().length<2,onClick:()=>{a.search();},children:J.search}),a.query.trim().length>0&&a.clinics.length===0&&!a.searching&&jsxRuntime.jsx("button",{type:"button",style:u,disabled:a.busy,onClick:()=>{l.clear(),a.addFreeText();},children:Pe.addClinic}),a.searching&&jsxRuntime.jsx("p",{role:"status",children:Y.loading}),a.recent.length>0&&jsxRuntime.jsx("h3",{style:{margin:0,fontSize:n.type.size.subtitle},children:J.recentlyUsed}),a.recent.map(m=>jsxRuntime.jsx("button",{type:"button",style:u,disabled:a.busy,onClick:()=>{l.clear(),a.addClinic(m);},children:f(m)},`recent-${m.id}`)),a.clinics.map(m=>jsxRuntime.jsx("button",{type:"button",style:u,disabled:a.busy,onClick:()=>{l.clear(),a.addClinic(m);},children:f(m)},m.id))]}),jsxRuntime.jsx("h3",{style:{margin:`${n.space.sm}px 0 0`,fontSize:n.type.size.subtitle},children:J.scopeHeading}),a.copy?jsxRuntime.jsx("p",{style:{whiteSpace:"pre-wrap",margin:0},children:a.drafts.length>0&&a.ownerName.trim()?a.scopeText??L("internalError").displayMessage:Y.consentRequired}):!a.error&&jsxRuntime.jsx("p",{role:"status",children:Y.loading}),!e.onCaptureSignature&&jsxRuntime.jsx(yt,{pad:l,disabled:a.busy}),!c&&jsxRuntime.jsx("p",{role:"alert",children:J.missingSignature}),a.error&&jsxRuntime.jsx("p",{role:"alert",children:a.error.displayMessage}),!a.copy&&a.error&&jsxRuntime.jsx("button",{type:"button",style:u,onClick:a.retryCopy,children:Y.retry}),jsxRuntime.jsx("button",{type:"button","aria-label":Pe.sendA11y(a.drafts.length),style:{...u,background:n.color.primary,color:n.color.onPrimary,opacity:a.busy||!a.ready||!c?.5:1},disabled:a.busy||!a.ready||!c,onClick:()=>{a.submit();},children:y})]}),e.onClose&&jsxRuntime.jsx("button",{type:"button",style:u,disabled:a.busy,onClick:e.onClose,children:J.cancel}),jsxRuntime.jsx(qe,{})]})}i(qu,"BatchBody");var de=Object.freeze({scopeHeading:"What you\u2019re authorizing",scopeBody:"You\u2019re asking your pet\u2019s clinic to release their medical records to Everfur, on your behalf, so we can organize them for you.",whatWeDo:Object.freeze(["We email the clinic a signed copy of this authorization.","When records arrive, our team reviews them before they appear in your app.","You can revoke this request at any time."]),retentionNote:"We keep the records you receive so you always have them. See our Privacy Policy for how records are stored and used.",authorizeLabel:i((e,r)=>`I authorize ${r} to release ${Fe(e)}\u2019s records to Everfur.`,"authorizeLabel"),missingSignatureError:"Please add your signature before submitting.",missingDraftError:"Something went wrong with your selection. Please go back and pick the clinic again.",newClinicDirectSendNote:"We\u2019ll email this clinic directly to request your pet\u2019s medical records. Clinics usually reply within a week.",titleFreeText:"Confirm your request",titleDirectory:"Authorize records release",noEmailNote:i((e,r)=>`We don\u2019t have an email on file for ${r}. Add it so we can request ${Fe(e)}\u2019s records.`,"noEmailNote"),emailLabel:"Clinic email",emailPlaceholder:"records@clinic.com",emailRequired:"Enter the clinic email before sending the request.",reuseSignature:"Reuse a previous signature",reuseHint:"\u2026or sign again below",reuseTileA11y:"Use this earlier signature",reuseTileSelectedA11y:"Earlier signature, selected",signType:"Type your name to sign",signDraw:"Sign with your finger",clear:"Clear",clearA11y:"Clear signature",fullName:"Your full name",fullNamePlaceholder:"Jane Doe",toType:"Can\u2019t draw? Type your name instead",toTypeA11y:"Can\u2019t draw? Type your name to sign instead",toDraw:"Draw your signature instead",signatureHint:i(e=>`Your signature is added to the authorization sent to ${e}.`,"signatureHint"),submit:"Authorize & send request",submitting:"Submitting\u2026",submitA11y:"Submit authorization"});var Fu="value_text",Is=64,Os=512;function As(e){return e!==null&&e.httpStatus===409&&!Mr(e)}i(As,"isFactReviewerLocked");var Jt=Object.freeze({num:"value_num",date:"value_date",bool:"value_bool",text:Fu}),qs=/^[+-]?(?:\d+\.?\d*|\.\d+)$/,Ns=/^\d{4}-\d{2}-\d{2}$/;function Fs(e){if(e==null)return "text";let r=e.trim();return qs.test(r)?"num":Ns.test(r)&&!Number.isNaN(Date.parse(r))?"date":r==="true"||r==="false"?"bool":"text"}i(Fs,"inferFactValueKind");function Zo(e,r){let t=r.trim(),o=Fs(e);if(o==="num"&&qs.test(t)){let n=Number(t);if(Number.isFinite(n))return Object.freeze({[Jt.num]:n})}return o==="date"&&Ns.test(t)&&!Number.isNaN(Date.parse(t))?Object.freeze({[Jt.date]:t}):Object.freeze(o==="bool"&&(t==="true"||t==="false")?{[Jt.bool]:t==="true"}:{[Jt.text]:t})}i(Zo,"factCorrectionFor");var we=zod.z.string().nullish(),In=zod.z.number().nullish(),Lu=zod.z.object({collected_at:we,at:we,value:In,unit:we,qualitative_result:we,ref_low:In,ref_high:In,status:we,source_clinic:we,source_doc_id:we,doc_id:we,reviewed:zod.z.boolean().nullish()}),zu=zod.z.object({collected_at:we,at:we,value:In,unit:we,qualitative_result:we,status:we}),Mu=zod.z.object({marker_id:zod.z.string().min(1),canonical_name:we,name:we,loinc_code:we,canonical_unit:we,unit:we,panel_name:we,panel:we,meaning_text:we,meaning:we,latest:zu.nullish(),trajectory:we,points:zod.z.array(Lu).optional()}),$u=zod.z.object({total_markers:zod.z.number().int().nonnegative(),in_range_count:zod.z.number().int().nonnegative(),out_of_range_count:zod.z.number().int().nonnegative(),unknown_count:zod.z.number().int().nonnegative()}),Uu=zod.z.object({markers:zod.z.array(Mu).optional(),summary:$u.nullish(),disclaimer:zod.z.string().optional(),featured_marker_id:we});function Bu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(Bu,"isObject");function Ls(e){return Object.freeze({petRef:e,withheld:true,markers:Object.freeze([]),summary:null,disclaimer:"",featuredMarkerId:null})}i(Ls,"withheldMarkers");function zs(e,r){let t=Bu(r)?r:{},o=typeof t.pet_ref=="string"&&t.pet_ref.length>0?t.pet_ref:e;if(t.withheld===true)return Ls(o);let n=Uu.safeParse(t);if(!n.success)return Ls(o);let l=n.data,a=i(s=>Object.freeze({at:s.collected_at??s.at??null,value:s.value??null,unit:s.unit??null,qualitativeResult:s.qualitative_result??null,refLow:s.ref_low??null,refHigh:s.ref_high??null,status:s.status??null,sourceClinic:s.source_clinic??null,docId:s.source_doc_id??s.doc_id??null,reviewed:s.reviewed===true}),"point"),c=(l.markers??[]).map(s=>Object.freeze({markerId:s.marker_id,name:s.canonical_name??s.name??s.marker_id,loincCode:s.loinc_code??null,unit:s.canonical_unit??s.unit??null,panel:s.panel_name??s.panel??null,meaning:s.meaning_text??s.meaning??null,latest:s.latest?Object.freeze({at:s.latest.collected_at??s.latest.at??null,value:s.latest.value??null,unit:s.latest.unit??null,qualitativeResult:s.latest.qualitative_result??null,status:s.latest.status??null}):null,trajectory:s.trajectory??null,points:Object.freeze((s.points??[]).map(a))}));return Object.freeze({petRef:o,withheld:false,markers:Object.freeze(c),summary:l.summary?Object.freeze({totalMarkers:l.summary.total_markers,inRangeCount:l.summary.in_range_count,outOfRangeCount:l.summary.out_of_range_count,unknownCount:l.summary.unknown_count}):null,disclaimer:l.disclaimer??"",featuredMarkerId:l.featured_marker_id??null})}i(zs,"mapRecordMarkers");var ju=zod.z.string().min(1).refine(e=>e.startsWith("https://")),Zt=zod.z.string().nullish(),Hu=zod.z.object({share_id:zod.z.string().min(1),share_url:zod.z.string().min(1),expires_at:Zt}),Vu=zod.z.object({shares:zod.z.array(zod.z.object({share_id:zod.z.string().min(1),expires_at:Zt,created_at:Zt,view_count:zod.z.number().int().nonnegative().nullish(),last_viewed_at:Zt})).optional()}),Wu=zod.z.object({download_url:ju,expires_at:Zt});function Gu(e,r){let t=e.trim();if(t.length===0)return null;try{let o=/^[a-z][a-z0-9+.-]*:/i.test(t)?new URL(t):r!==void 0?new URL(t,r):null;return o===null||o.protocol!=="https:"?null:o.toString()}catch{return null}}i(Gu,"resolveShareUrl");function Ms(e,r){let t=Hu.safeParse(e);if(!t.success)return null;let o=Gu(t.data.share_url,r);return o===null?null:Object.freeze({shareId:t.data.share_id,shareUrl:o,expiresAt:t.data.expires_at??null})}i(Ms,"mapRecordShareLink");function $s(e){let r=Vu.safeParse(e);return r.success?Object.freeze((r.data.shares??[]).map(t=>Object.freeze({shareId:t.share_id,expiresAt:t.expires_at??null,createdAt:t.created_at??null,viewCount:t.view_count??0,lastViewedAt:t.last_viewed_at??null}))):null}i($s,"mapRecordShareList");function Us(e){let r=Wu.safeParse(e);return r.success?Object.freeze({downloadUrl:r.data.download_url,expiresAt:r.data.expires_at??null}):null}i(Us,"mapRecordPdfLink");var Yu=zod.z.object({signatures:zod.z.array(zod.z.object({signature_id:zod.z.string().min(1),preview_url:zod.z.string().min(1).refine(e=>e.startsWith("https://")),created_at:zod.z.string().nullish()})).optional()});function Bs(e){let r=Yu.safeParse(e);return r.success?Object.freeze((r.data.signatures??[]).map(t=>Object.freeze({signatureId:t.signature_id,previewUrl:t.preview_url,createdAt:t.created_at??null}))):null}i(Bs,"mapSignatureSuggestions");var $=zod.z.string().nullish(),en=zod.z.number().nullish(),Ku=zod.z.object({at:$,value:en,unit:$,qualitative_result:$,ref_low:en,ref_high:en,status:$,doc_id:$}),Qu=zod.z.object({marker_id:zod.z.string(),name:zod.z.string(),loinc_code:$,unit:$,panel:$,meaning:$,latest:zod.z.object({at:$,value:en,unit:$,qualitative_result:$,status:$}).nullish(),trajectory:$,points:zod.z.array(Ku).optional()}),Xu=zod.z.object({encounter_id:zod.z.string(),date:$,type:$,clinic_name:$,veterinarian:$,doc_id:$}),Ju=zod.z.object({note_id:zod.z.string(),encounter_id:$,observed_on:$,sections:zod.z.array(zod.z.object({section:zod.z.string(),text:zod.z.string()})).optional()}),Zu=zod.z.object({exam_id:zod.z.string(),encounter_id:$,observed_on:$,doc_id:$,systems:zod.z.record(zod.z.object({finding_status:$,finding:$})).optional()}),ep=zod.z.object({has_lab_history:zod.z.boolean().optional(),has_vaccination_history:zod.z.boolean().optional(),has_weight_history:zod.z.boolean().optional(),has_vitals_history:zod.z.boolean().optional(),has_physical_exam_history:zod.z.boolean().optional(),has_procedure_history:zod.z.boolean().optional(),has_genetic_history:zod.z.boolean().optional(),has_reproductive_history:zod.z.boolean().optional(),has_parasite_prevention_history:zod.z.boolean().optional(),earliest_record_at:$,latest_record_at:$,documents_ingested:zod.z.number().int().nonnegative().optional(),documents_in_review:zod.z.number().int().nonnegative().optional(),entities_pending_review:zod.z.record(zod.z.number().int().nonnegative()).optional(),held_total:zod.z.number().int().nonnegative().optional()}),rp=zod.z.object({conflict_id:zod.z.string(),entity_type:zod.z.string(),field:$,severity:$,candidates:zod.z.array(zod.z.object({value:zod.z.string(),source_doc_id:$,doc_id:$,collected_at:$})).optional()}),tp=zod.z.object({lab_results:zod.z.array(Qu).optional(),encounters:zod.z.array(Xu).optional(),clinician_notes:zod.z.array(Ju).optional(),physical_exams:zod.z.array(Zu).optional(),completeness:ep.nullish(),conflicts:zod.z.array(rp).optional()}),np=zod.z.object({visits:zod.z.array(zod.z.object({visit_id:zod.z.string(),visit_date:$,veterinarian:$,summary:$,doc_id:$})),vaccines:zod.z.array(zod.z.object({vaccine_id:zod.z.string(),product:$,lot:$,administered_on:$,expires_on:$,doc_id:$})),weights:zod.z.array(zod.z.object({weight_id:zod.z.string(),observed_on:$,weight_kg:en,doc_id:$})),medications:zod.z.array(zod.z.object({medication_id:zod.z.string(),drug_name:$,dose:$,route:$,frequency:$,sig:$,rx_number:$,started_on:$,stopped_on:$,doc_id:$})),disclaimer:zod.z.string().optional()}),op=zod.z.object({document:oo,contributions:zod.z.array(no),contribution_count:zod.z.number().int().nonnegative().optional()});function ri(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(ri,"isObject");function ti(e,r){return typeof e.pet_ref=="string"&&e.pet_ref.length>0?e.pet_ref:r}i(ti,"petOf");function ei(e,r){return Object.freeze({petRef:e,available:false,withheld:r,labResults:Object.freeze([]),encounters:Object.freeze([]),clinicianNotes:Object.freeze([]),physicalExams:Object.freeze([]),completeness:null,conflicts:Object.freeze([])})}i(ei,"emptyDepth");function ip(e,r){let t=ri(r)?r:{},o=ti(t,e);if(t.withheld===true)return ei(o,true);if(!["lab_results","encounters","clinician_notes","physical_exams","completeness","conflicts"].some(s=>s in t))return ei(o,false);let l=tp.safeParse(t);if(!l.success)return ei(o,true);let a=l.data,c=i(s=>Object.freeze({at:s.at??null,value:s.value??null,unit:s.unit??null,qualitativeResult:s.qualitative_result??null,refLow:s.ref_low??null,refHigh:s.ref_high??null,status:s.status??null,docId:s.doc_id??null}),"point");return Object.freeze({petRef:o,available:true,withheld:false,labResults:Object.freeze((a.lab_results??[]).map(s=>Object.freeze({markerId:s.marker_id,name:s.name,loincCode:s.loinc_code??null,unit:s.unit??null,panel:s.panel??null,meaning:s.meaning??null,latest:Object.freeze({at:s.latest?.at??null,value:s.latest?.value??null,unit:s.latest?.unit??null,qualitativeResult:s.latest?.qualitative_result??null,status:s.latest?.status??null}),trajectory:s.trajectory??null,points:Object.freeze((s.points??[]).map(c))}))),encounters:Object.freeze((a.encounters??[]).map(s=>Object.freeze({encounterId:s.encounter_id,date:s.date??null,type:s.type??null,clinicName:s.clinic_name??null,veterinarian:s.veterinarian??null,docId:s.doc_id??null}))),clinicianNotes:Object.freeze((a.clinician_notes??[]).map(s=>Object.freeze({noteId:s.note_id,encounterId:s.encounter_id??null,observedOn:s.observed_on??null,sections:Object.freeze((s.sections??[]).map(d=>Object.freeze({section:d.section,text:d.text})))}))),physicalExams:Object.freeze((a.physical_exams??[]).map(s=>Object.freeze({examId:s.exam_id,encounterId:s.encounter_id??null,observedOn:s.observed_on??null,docId:s.doc_id??null,systems:Object.freeze(Object.entries(s.systems??{}).map(([d,u])=>Object.freeze({system:d,findingStatus:u.finding_status??null,finding:u.finding??null})))}))),completeness:a.completeness?Object.freeze({hasLabHistory:a.completeness.has_lab_history===true,hasVaccinationHistory:a.completeness.has_vaccination_history===true,hasWeightHistory:a.completeness.has_weight_history===true,hasVitalsHistory:a.completeness.has_vitals_history===true,hasPhysicalExamHistory:a.completeness.has_physical_exam_history===true,hasProcedureHistory:a.completeness.has_procedure_history===true,hasGeneticHistory:a.completeness.has_genetic_history===true,hasReproductiveHistory:a.completeness.has_reproductive_history===true,hasParasitePreventionHistory:a.completeness.has_parasite_prevention_history===true,earliestRecordAt:a.completeness.earliest_record_at??null,latestRecordAt:a.completeness.latest_record_at??null,documentsIngested:a.completeness.documents_ingested??0,documentsInReview:a.completeness.documents_in_review??0,entitiesPendingReview:Object.freeze({...a.completeness.entities_pending_review??{}}),heldTotal:a.completeness.held_total??0}):null,conflicts:Object.freeze((a.conflicts??[]).map(s=>Object.freeze({conflictId:s.conflict_id,entityType:s.entity_type,field:s.field??null,severity:s.severity??"needs_review",candidates:Object.freeze((s.candidates??[]).map(d=>Object.freeze({value:d.value,docId:d.source_doc_id??d.doc_id??null,collectedAt:d.collected_at??null})))})))})}i(ip,"mapRecordDepth");function js(e){return Object.freeze({petRef:e,withheld:true,isEmpty:false,visits:Object.freeze([]),vaccines:Object.freeze([]),weights:Object.freeze([]),medications:Object.freeze([]),disclaimer:""})}i(js,"withheldTimeline");function ap(e,r){let t=ri(r)?r:{},o=ti(t,e);if(t.withheld===true)return js(o);let n=np.safeParse(t);if(!n.success)return js(o);let l=n.data,a=l.visits.map(u=>Object.freeze({visitId:u.visit_id,visitDate:u.visit_date??null,veterinarian:u.veterinarian??null,summary:u.summary??null,docId:u.doc_id??null})),c=l.vaccines.map(u=>Object.freeze({vaccineId:u.vaccine_id,product:u.product??null,lot:u.lot??null,administeredOn:u.administered_on??null,expiresOn:u.expires_on??null,docId:u.doc_id??null})),s=l.weights.map(u=>Object.freeze({weightId:u.weight_id,observedOn:u.observed_on??null,weightKg:u.weight_kg??null,docId:u.doc_id??null})),d=l.medications.map(u=>Object.freeze({medicationId:u.medication_id,drugName:u.drug_name??null,dose:u.dose??null,route:u.route??null,frequency:u.frequency??null,sig:u.sig??null,rxNumber:u.rx_number??null,startedOn:u.started_on??null,stoppedOn:u.stopped_on??null,docId:u.doc_id??null}));return Object.freeze({petRef:o,withheld:false,isEmpty:a.length===0&&c.length===0&&s.length===0&&d.length===0,visits:Object.freeze(a),vaccines:Object.freeze(c),weights:Object.freeze(s),medications:Object.freeze(d),disclaimer:l.disclaimer??""})}i(ap,"mapRecordsTimeline");function sp(e,r){let t=ri(r)?r:{},o=ti(t,e),n=i(()=>Object.freeze({petRef:o,withheld:true,document:null,contributions:Object.freeze([]),contributionCount:0}),"withheld");if(t.withheld===true)return n();let l=op.safeParse(t);if(!l.success)return n();let a=Object.freeze(l.data.contributions.map(io));return Object.freeze({petRef:o,withheld:false,document:ao(l.data.document),contributions:a,contributionCount:l.data.contribution_count??a.length})}i(sp,"mapDocumentContributions");var lp="/widget/v1/records/pets";function Hs(e){let r=e.funnel??Jr({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=i((s,d)=>typeof s=="string"&&s.length>0&&!Zr(s)&&[...s].length<=d,"segment"),o=i(async(s,d,u,p)=>{if(!t(d,Xe))return ot();let f=await r.send(s,{method:"GET",path:u});if(!f.ok)return f;let y=p(f.value);return y.petRef===d?Se(y):j(L("internalError",{retryable:false}))},"read"),n=i(s=>`${lp}/${encodeURIComponent(s)}`,"pet"),l=i(s=>`${n(s)}/everfur_record`,"record"),a=i(async(s,d,u)=>{let p=await r.send(s,d,d.method==="POST"?{idempotent:false,maxAttempts:1}:void 0);if(!p.ok)return p;let f=u(p.value);return f===null?j(L("internalError",{retryable:false})):Se(f)},"parsed"),c=i((s,d)=>!t(s.entityType,Is)||!t(s.canonicalKey,Os)||s.idempotencyKey!==void 0&&!t(s.idempotencyKey,Bt)||d!==void 0&&Object.keys(d).length===0?null:{entity_type:s.entityType,canonical_key:s.canonicalKey,...d!==void 0?{corrected_fields:d}:{},...s.idempotencyKey!==void 0?{idempotency_key:s.idempotencyKey}:{}},"factBody");return {getRecordDepth:i(s=>o("records.depth.record",s,`${n(s)}/record`,d=>ip(s,d)),"getRecordDepth"),getTimeline:i(s=>o("records.depth.timeline",s,`${n(s)}/timeline`,d=>ap(s,d)),"getTimeline"),getDocumentContributions(s,d){return t(d,64)?o("records.depth.contributions",s,`${n(s)}/documents/${encodeURIComponent(d)}/contributions`,u=>sp(s,u)):ot()},getMarkers:i(s=>o("records.depth.markers",s,`${n(s)}/markers`,d=>zs(s,d)),"getMarkers"),createShare(s){return t(s,Xe)?a("records.share.create",{method:"POST",path:`${l(s)}/share`},d=>Ms(d,e.apiBaseUrl)):ot()},listShares(s){return t(s,Xe)?a("records.share.list",{method:"GET",path:`${l(s)}/shares`},$s):ot()},async revokeShare(s,d){if(!t(s,Xe)||!t(d,64))return ot();let u=await r.send("records.share.revoke",{method:"DELETE",path:`${l(s)}/shares/${encodeURIComponent(d)}`},{idempotent:false,maxAttempts:1});return u.ok?Se(void 0):u},getPdfLink(s){return t(s,Xe)?a("records.pdf.link",{method:"GET",path:`${l(s)}/pdf-link`},Us):ot()},async editFact(s,d){let u=t(s,Xe)?c(d,d.correctedFields):null;if(u===null)return ot();let p=await r.send("records.fact.edit",{method:"POST",path:`${l(s)}/facts/edit`,body:u},{idempotent:false,maxAttempts:1});return p.ok?Se(void 0):p},async removeFact(s,d){let u=t(s,Xe)?c(d):null;if(u===null)return ot();let p=await r.send("records.fact.remove",{method:"POST",path:`${l(s)}/facts/remove`,body:u},{idempotent:false,maxAttempts:1});return p.ok?Se(void 0):p},listAuthorizationSignatures:i(()=>a("records.signatures.list",{method:"GET",path:"/widget/v1/records/authorization-signatures"},Bs),"listAuthorizationSignatures")}}i(Hs,"createRecordsDepthClient");function ot(){return Promise.resolve(j(L("validationFailed",{retryable:false})))}i(ot,"invalid");function Vr(){let{runtime:e,userRef:r,scopeEpoch:t}=ie();return react.useMemo(()=>{let{services:o}=e.registry;return Hs({auth:o.authFor(r),...o.errorPolicy?{errorPolicy:o.errorPolicy}:{},...typeof o.apiBaseUrl=="string"?{apiBaseUrl:o.apiBaseUrl}:{}})},[e,r,t])}i(Vr,"useEverfurRecordsDepthClient");function Tr(e,r,t,o=""){let n=Vr(),{userRef:l}=ie(),a=gn(e),c=react.useMemo(()=>({}),[n,e,o,a]),[s,d]=react.useState({scope:c,value:null,error:null,loading:true}),u=react.useRef(0),p=react.useCallback(async()=>{let R=u.current+=1;if(d({scope:c,value:null,error:null,loading:true}),l===null){d({scope:c,value:null,error:null,loading:false});return}let x=await r(n,e);R===u.current&&(x.ok?d({scope:c,value:x.value,error:null,loading:false}):d({scope:c,value:null,error:x.error,loading:false}));},[n,e,r,c,l]);react.useEffect(()=>(p(),()=>{u.current+=1;}),[p]);let f=s.scope===c?s:{value:null,error:null,loading:true},y=react.useCallback(()=>{p();},[p]),b=f.error===null||f.error.httpStatus!==404,m=b?f.error:null,S=f.loading?"loading":m!==null?"error":f.value===null?"empty":f.value.withheld?"populated":t(f.value)?"empty":"populated";return react.useMemo(()=>({status:S,value:f.value,error:m,available:b,refresh:y}),[S,f.value,m,b,y])}i(Tr,"useRecordsDepthRead");function it(e){return e!==null&&e.httpStatus===404}i(it,"isDarkRouteError");var mp=i((e,r)=>e.getMarkers(r),"readMarkers"),fp=i(e=>e.markers.length===0,"markersEmpty");function oi(e){let r=Tr(e,mp,fp);return react.useMemo(()=>{let t=r.available&&r.value!==null&&!r.value.withheld?r.value:null;return {status:r.status,markers:t,available:r.available,error:r.error,refresh:r.refresh}},[r])}i(oi,"useRecordsMarkers");var yp=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function Gs(e){let{clinic:r,controller:t,depthClient:o,capture:n,onCreated:l}=e,a=r.clinic?.name??r.freeText??"",c=r.clinic===null,[s,d]=react.useState(false),[u,p]=react.useState(e.ownerName),[f,y]=react.useState(r.email),[b,m]=react.useState(false),[S,R]=react.useState(null),[x,g]=react.useState(null),[h,v]=react.useState(0),[E,k]=react.useState(null),[D,I]=react.useState(false),[P,O]=react.useState(null),[B,M]=react.useState([]),[H,G]=react.useState(null),[Ce,Q]=react.useState(false),w=react.useRef(false),C=react.useRef(true),q=react.useRef($r()),T=react.useRef(null);react.useEffect(()=>(C.current=true,()=>{C.current=false,T.current=null;}),[t]),react.useEffect(()=>{let Ee=true;return R(null),T.current=null,t.getAuthorizationCopy().then(z=>{Ee&&(z.ok?(R(z.value),g(null)):g(z.error));}).catch(()=>{Ee&&g(L("internalError"));}),()=>{Ee=false;}},[t,h]),react.useEffect(()=>{if(o===void 0)return;let Ee=true;return o.listAuthorizationSignatures().then(z=>{Ee&&(z.ok?M(z.value):it(z.error)||M([]));}).catch(()=>{}),()=>{Ee=false;}},[o]);let U=Qt(r.clinic),se=f.trim().toLowerCase(),ke=yp.test(se),X=U&&(b||se.length>0)&&!ke?de.emailRequired:null,ve=S?Kt(S,u.trim(),Fe(e.petName),a):null,er=e.hostCapture===true||Ce||H!==null,Be=!!(s&&S&&ve&&u.trim()&&a&&er&&(!U||ke)),vr=react.useCallback(async()=>{if(!(w.current||P!==null||!S||!ve)){if(!a){k(de.missingDraftError);return}if(U&&!ke){m(true),k(de.emailRequired);return}if(!(!s||!u.trim())){w.current=true,I(true),k(null);try{if(T.current===null){let z=H!==null?{signatureId:H}:await n();if(!C.current)return;if(z===null){k(de.missingSignatureError);return}let be=r.clinic&&(!U||r.clinic.emailStatus==="none")?{clinicId:r.clinic.id}:{clinicFreeText:a};T.current={petRef:e.petRef,ownerName:u.trim(),authorizationVersion:S.authorizationVersion,...be,...U?{clinicEmail:se}:{},...z.signatureId!==void 0?{signatureId:z.signatureId}:{signaturePngBase64:z.signaturePngBase64},idempotencyKey:q.current()};}let Ee=await t.createClinicRequest(T.current);if(!C.current)return;if(!Ee.ok){k(Ee.error.displayMessage);return}if(Ee.value.petRef!==e.petRef){k(L("internalError").displayMessage);return}O(Ee.value),T.current=null,l?.(Ee.value);}catch{C.current&&k(L("internalError").displayMessage);}finally{w.current=false,C.current&&I(false);}}}},[s,n,r.clinic,a,t,S,P,e.petRef,U,se,l,u,H,ve,ke]),Cr=react.useCallback(()=>{T.current=null,k(null);},[]);return {title:c?de.titleFreeText:de.titleDirectory,clinicName:a,isFreeText:c,authorized:s,ownerName:u,email:f,emailError:X,needsEmail:U,directoryClinicNoEmail:U&&r.clinic!==null,copy:S,copyError:x,scope:ve,error:E,busy:D,created:P,ready:Be,signatures:B,reuseSignatureId:H,hasSignature:er,setAuthorized(Ee){w.current||(Cr(),d(Ee));},setOwnerName(Ee){w.current||(Cr(),p(Ee));},setEmail(Ee){w.current||(Cr(),m(false),y(Ee));},setSigned(Ee){w.current||(Cr(),Q(Ee),Ee&&G(null));},pickReuseSignature(Ee){w.current||(Cr(),G(Ee));},retryCopy(){g(null),v(Ee=>Ee+1);},submit:vr}}i(Gs,"useRecordsConsentForm");function ai(e){let{userRef:r,scopeEpoch:t}=ie();return jsxRuntime.jsx(Ae,{capability:"recordsClinic",style:e.style,className:e.className,...Ne(e.onBack,je),children:r===null?jsxRuntime.jsx("p",{role:"alert",children:Y.sessionRequired}):jsxRuntime.jsx(Rp,{...Ie(e,["onCreated","onNavigate","onBack"])},JSON.stringify([r,t,e.petRef,e.clinic.key]))})}i(ai,"EverfurRecordsConsent");function Rp({petRef:e,petName:r,clinic:t,ownerName:o,onCaptureSignature:n,onCreated:l,controller:a,onNavigate:c,onBack:s,style:d,className:u}){let{theme:p,styles:f}=Z(),y=Sr(),b=a??y,m=Vr(),S=ft(),R=Gs({petRef:e,petName:r,ownerName:o??"",clinic:t,controller:b,depthClient:m,capture:n?()=>n({petRef:e,petName:Fe(r),ownerName:R.ownerName,clinicName:R.clinicName,authorizationVersion:R.copy?.authorizationVersion??"",scopeText:R.scope??"",signal:new AbortController().signal}):async()=>S.signed?S.register(b,new AbortController().signal):null,hostCapture:n!==void 0,onCreated:i(P=>{l?.(P),c?.({name:"dashboard"});},"onCreated")}),x=S.signed,g=react.useRef(R);g.current=R,react.useEffect(()=>{g.current.setSigned(x);},[x]);let[h,v]=react.useState("draw"),E=R.busy,k={display:"flex",flexDirection:"column",gap:p.space.sm},D="records-consent-owner-name",I="records-consent-clinic-email";return jsxRuntime.jsxs("div",{className:u,style:{...f.root,...d},"data-testid":"records-consent-screen",children:[jsxRuntime.jsx(He,{title:R.title,onBack:s,testID:"records-consent-header"}),jsxRuntime.jsxs("div",{style:{...f.body,...f.content,gap:p.space.lg+p.space.xs/2},"data-testid":"records-consent",children:[jsxRuntime.jsxs("section",{style:f.creamCard,"aria-label":de.scopeHeading,children:[jsxRuntime.jsx("h3",{style:{...f.sectionTitle,color:p.color.brand},children:de.scopeHeading}),jsxRuntime.jsx("p",{style:f.bodyText,children:de.scopeBody}),jsxRuntime.jsx("ul",{style:{...f.plainList,gap:p.space.sm},children:de.whatWeDo.map(P=>jsxRuntime.jsxs("li",{style:{...f.bodyText,display:"flex",gap:p.space.sm},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{color:p.color.brand,...A(p,"bold")},children:"\u2713"}),jsxRuntime.jsx("span",{children:P})]},P))}),jsxRuntime.jsx("p",{style:{...f.muted,paddingTop:p.space.xs,borderTop:`1px solid ${p.color.borderHairlineGreen}`},children:de.retentionNote}),R.copy&&R.scope?jsxRuntime.jsx("p",{style:{...f.rowDetail,whiteSpace:"pre-wrap"},"data-testid":"records-consent-scope",children:R.scope}):R.copyError?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("p",{role:"alert",style:f.errorText,children:R.copyError.displayMessage}),jsxRuntime.jsx(ee,{label:Y.retry,kind:"outline",onClick:R.retryCopy,testID:"records-consent-copy-retry"})]}):jsxRuntime.jsx("p",{role:"status",style:f.muted,children:Y.loading})]}),jsxRuntime.jsxs("button",{type:"button",role:"checkbox","aria-checked":R.authorized,onClick:()=>R.setAuthorized(!R.authorized),style:{display:"flex",alignItems:"flex-start",gap:p.space.md,textAlign:"left",font:"inherit",cursor:"pointer",borderRadius:p.radius.lg-p.space.xs,border:`1px solid ${R.authorized?p.color.brand:p.color.brandBorder}`,backgroundColor:R.authorized?p.color.brandSoft:p.color.surface,padding:p.space.md+p.space.xs/2,color:p.color.text.primary},"data-testid":"records-authorize-toggle",children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{boxSizing:"border-box",flexShrink:0,width:p.space.xl,height:p.space.xl,borderRadius:p.radius.xs+1,border:`1.6px solid ${p.color.brand}`,backgroundColor:R.authorized?p.color.brand:p.color.surface,color:p.color.onPrimary,display:"inline-flex",alignItems:"center",justifyContent:"center",...A(p,"bold")},children:R.authorized?"\u2713":""}),jsxRuntime.jsx("span",{style:{...f.rowTitle,...A(p,"bold"),fontSize:p.type.size.bodyTight},children:de.authorizeLabel(r,R.clinicName)})]}),jsxRuntime.jsxs("div",{style:k,children:[jsxRuntime.jsx("label",{htmlFor:D,style:f.fieldLabel,children:de.fullName}),jsxRuntime.jsx("input",{id:D,style:f.field,value:R.ownerName,placeholder:de.fullNamePlaceholder,maxLength:200,disabled:E,autoComplete:"name",onChange:P=>R.setOwnerName(P.target.value),"data-testid":"records-consent-owner-name"})]}),R.needsEmail?jsxRuntime.jsxs("div",{style:k,"data-testid":"records-consent-email-block",children:[R.directoryClinicNoEmail?jsxRuntime.jsx("p",{style:f.cautionNote,"data-testid":"records-consent-no-email-note",children:de.noEmailNote(r,R.clinicName)}):null,jsxRuntime.jsx("label",{htmlFor:I,style:f.fieldLabel,children:de.emailLabel}),jsxRuntime.jsx("input",{id:I,type:"email",style:f.field,value:R.email,placeholder:de.emailPlaceholder,maxLength:320,disabled:E,autoComplete:"off",onChange:P=>R.setEmail(P.target.value),"data-testid":"records-consent-clinic-email"}),R.emailError?jsxRuntime.jsx("p",{role:"alert",style:f.errorText,children:R.emailError}):null,jsxRuntime.jsx("p",{style:f.muted,"data-testid":"records-consent-review-note",children:de.newClinicDirectSendNote})]}):null,n?null:jsxRuntime.jsxs("div",{style:k,children:[R.signatures.length>0?jsxRuntime.jsxs("div",{style:k,children:[jsxRuntime.jsx("span",{style:f.fieldLabel,children:de.reuseSignature}),jsxRuntime.jsx("div",{style:{display:"flex",gap:p.space.sm,overflowX:"auto",padding:`${p.space.xs}px 0`},children:R.signatures.map(P=>{let O=R.reuseSignatureId===P.signatureId;return jsxRuntime.jsx("button",{type:"button",onClick:()=>R.pickReuseSignature(O?null:P.signatureId),"aria-label":O?de.reuseTileSelectedA11y:de.reuseTileA11y,"aria-pressed":O,style:{flexShrink:0,width:112,height:56,borderRadius:p.radius.sm,border:O?`2px solid ${p.color.brand}`:`1px solid ${p.color.brandBorder}`,backgroundColor:p.color.surface,padding:0,overflow:"hidden",cursor:"pointer"},"data-testid":`records-consent-reuse-${P.signatureId}`,children:jsxRuntime.jsx("img",{src:P.previewUrl,alt:"",style:{width:"100%",height:"100%",objectFit:"contain"}})},P.signatureId)})}),jsxRuntime.jsx("p",{style:f.muted,children:de.reuseHint})]}):null,jsxRuntime.jsx("span",{style:f.fieldLabel,children:h==="type"?de.signType:de.signDraw}),jsxRuntime.jsx(yt,{pad:S,disabled:E}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{S.toggle(),v(P=>P==="draw"?"type":"draw");},"aria-label":h==="draw"?de.toTypeA11y:de.toDraw,style:{...f.pill,...f.pillLink,textDecoration:"underline"},"data-testid":"records-consent-sign-mode-toggle",children:h==="draw"?de.toType:de.toDraw}),jsxRuntime.jsx("p",{style:f.muted,children:de.signatureHint(R.clinicName)})]}),R.error?jsxRuntime.jsx("p",{role:"alert","aria-live":"assertive",style:f.errorBanner,children:R.error}):null,R.created?jsxRuntime.jsx("p",{role:"status",style:f.bodyText,children:R.created.statusLabel||Y.records}):null]}),jsxRuntime.jsx("div",{style:{padding:`${p.space.md}px ${p.space.lg}px ${p.space.xxl}px`,borderTop:`1px solid ${p.color.borderHairlineGreen}`,backgroundColor:p.color.background},children:jsxRuntime.jsx(ee,{label:E?de.submitting:de.submit,ariaLabel:de.submitA11y,disabled:!R.ready,busy:E,onClick:()=>{R.submit();},style:{width:"100%",minHeight:54},testID:"records-consent-submit"})}),jsxRuntime.jsx(qe,{})]})}i(Rp,"ConsentBody");function An(e){return e==="above"||e==="below"?"critical":e==="in_range"?"positive":"neutral"}i(An,"markerStatusTone");function Cp(e){switch(e){case "above":return "above the reference range";case "below":return "below the reference range";case "in_range":return "within range";default:return "no reference range on file"}}i(Cp,"markerStatusSpoken");function Ep(e){return e.refLow!==null&&e.refHigh!==null?`, reference range ${e.refLow} to ${e.refHigh}`:e.refLow!==null?`, reference range at least ${e.refLow}`:e.refHigh!==null?`, reference range up to ${e.refHigh}`:""}i(Ep,"rangePhrase");function qn(e,r){let t=r?` ${r}`:"";return e.refLow!==null&&e.refHigh!==null?`${e.refLow}-${e.refHigh}${t}`:e.refLow!==null?`\u2265 ${e.refLow}${t}`:e.refHigh!==null?`\u2264 ${e.refHigh}${t}`:"-"}i(qn,"formatReferenceRange");function si(e,r){let t=r.reviewed?", reviewed by our team":"",o=r.sourceClinic?`, from ${r.sourceClinic}`:"";return `${K(r.at)}: ${ar(r.value,e.unit,r.qualitativeResult)}, ${Cp(r.status)}${Ep(r)}${o}${t}`}i(si,"markerPointSpoken");function Me(e){return e?.trim()||"my pet"}i(Me,"lead");function Ys(e){let r=e.trim();return /[.!?]$/.test(r)?r:`${r}.`}i(Ys,"clause");function Ks(e,r){let t=r.canonicalName.trim()||"a lab marker",o=[`I'm looking at ${Me(e)}'s ${t}`],n=[r.latestValueText?.trim(),r.statusText?.trim(),r.trajectoryText?.trim()].filter(Boolean).join(", ");return o[0]+=n?`: ${n}.`:".",r.meaningText?.trim()&&o.push(Ys(r.meaningText)),o.push(`What does this trend tell me, and should I do anything differently for ${Me(e)}?`),{prompt:o.join(" "),entityRef:{type:"marker",id:r.markerId,payload:{marker:t,...r.statusText?.trim()?{status:r.statusText.trim()}:{}}}}}i(Ks,"buildMarkerAskPrompt");function Qs(e,r,t){let{totalMarkers:o,inRangeCount:n,outOfRangeCount:l,unknownCount:a}=r;if(o===0)return {prompt:`I'm looking at ${Me(e)}'s lab markers, but there aren't any on file yet. What lab work is worth running for ${Me(e)}?`,entityRef:{type:"marker_summary",id:t,payload:{total:0}}};let c=a>0?`, ${a} without a reference range`:"";return {prompt:`I'm looking at ${Me(e)}'s lab markers: ${o} total, ${n} in range, ${l} out of range${c}. What should I focus on?`,entityRef:{type:"marker_summary",id:t,payload:{total:o,inRange:n,outOfRange:l,unknown:a}}}}i(Qs,"buildMarkerSummaryAskPrompt");function Xs(e,r){let t=r.canonicalName.trim()||"a lab marker",o=[`${t}: ${r.valueText.trim()}`];r.collectedAt?.trim()&&o.push(`collected ${r.collectedAt.trim()}`),r.sourceClinic?.trim()&&o.push(`from ${r.sourceClinic.trim()}`),r.referenceText?.trim()&&o.push(`reference range ${r.referenceText.trim()}`),r.flagged&&o.push(`flagged ${r.flagged}`);let n={marker:t};return r.flagged&&(n.status=r.flagged),r.reviewed!==void 0&&(n.reviewed=r.reviewed),{prompt:`I'm looking at ${Me(e)}'s ${o.join(", ")}. What does this mean, and should I be concerned?`,entityRef:{type:"lab_reading",id:r.entityId,payload:n}}}i(Xs,"buildMarkerReadingAskPrompt");function Js(e,r,t){let o=r.clinicName?.trim(),n=r.heldItemCount??0,l=n>0?`, ${n} fact${n===1?"":"s"} being verified`:"";return {prompt:`I'm looking at ${Me(e)}'s records request${o?` to ${o}`:""}, status: ${r.statusLabel.trim()}${l}. What does this status mean, and what happens next?`,entityRef:{type:"records_request",id:t,payload:{status:r.status,held:n,...o?{clinic:o}:{}}}}}i(Js,"buildRecordsRequestAskPrompt");var xp=Object.freeze({vaccination:"vaccine",medication:"medication",body_weight:"weight",vital:"weight"});function Zs(e,r,t,o){let n=r.entityTypeLabel.trim()||"record",l=r.title.trim()||n,a=r.detail?.trim();return {prompt:`I'm looking at ${Me(e)}'s ${n.toLowerCase()}: ${l}${a?`, ${a}`:""}. What does this mean, and what should I keep on top of for ${Me(e)}?`,entityRef:{type:xp[t]??t,id:o,payload:{kind:n,title:l,...a?{detail:a}:{}}}}}i(Zs,"buildEntityRowAskPrompt");function el(e,r,t){let o=r.filter(a=>a.label.trim()),n={type:"upcoming_care",id:t};if(o.length===0)return {prompt:`I'm looking at ${Me(e)}'s upcoming care, but nothing is scheduled yet. What preventive care and checkups should ${Me(e)} be on?`,entityRef:n};let l=[...o].sort((a,c)=>(a.tone==="overdue"?0:1)-(c.tone==="overdue"?0:1)).slice(0,4).map(a=>a.relativeText.trim()?`${a.label.trim()} (${a.relativeText.trim().toLowerCase()})`:a.label.trim());return {prompt:`I'm looking at ${Me(e)}'s upcoming care: ${l.join(", ")}. What should I prioritize for ${Me(e)}, and how do I stay on top of these?`,entityRef:n}}i(el,"buildUpcomingCareAskPrompt");function rl(e,r,t){let o=[`I'm looking at ${Me(e)}'s physical exam${r.observedOn?.trim()?` from ${r.observedOn.trim()}`:""}.`],n=r.abnormal.filter(l=>l.system.trim());return n.length>0?(o.push(`Abnormal: ${n.slice(0,6).map(l=>`${l.system.trim()}: ${l.finding.trim()}`).join("; ")}.`),o.push(`What do these findings mean, and what should I follow up on for ${Me(e)}?`)):o.push(`Everything examined came back normal. What does this tell me about ${Me(e)}'s health?`),{prompt:o.join(" "),entityRef:{type:"physical_exam",id:t}}}i(rl,"buildPhysicalExamAskPrompt");function tl(e,r,t){let o=[`I'm looking at ${Me(e)}'s visit notes${r.observedOn?.trim()?` from ${r.observedOn.trim()}`:""}.`];for(let n of r.sections.filter(l=>l.text.trim()).slice(0,3))o.push(`${n.label.trim()||"Note"}: ${Ys(n.text)}`);return o.push(`Can you summarize what happened and what I should follow up on for ${Me(e)}?`),{prompt:o.join(" "),entityRef:{type:"visit",id:t}}}i(tl,"buildVisitNoteAskPrompt");function nl(e,r,t){let o=r.scopeLabel.trim()||"a detail",n=r.candidates.filter(a=>a.value.trim()),l=n.slice(0,3).map(a=>`"${a.value.trim()}"${a.clinicName?.trim()?` (${a.clinicName.trim()})`:""}`).join(" vs ");return {prompt:`Two of ${Me(e)}'s documents disagree on ${o}: ${l}. Which is likely correct, and what should I ask my vet?`,entityRef:{type:"conflict",id:t,payload:{field:o,severity:r.severity,values:n.map(a=>a.value.trim()).join(" | ")}}}}i(nl,"buildConflictAskPrompt");function at(e,r){return e??r?.version??""}i(at,"resolveConsentVersion");function gt(e,r){return at(e,r).length>0}i(gt,"canGrantConsent");function st(e,r){return e.denialReason==="consent_required"?r?{kind:"consent_required"}:{kind:"consent_unavailable"}:e.denialReason==="pet_not_found"?{kind:"pet_not_found",error:L("petNotFound",{retryable:false})}:e.denialReason==="entitlement"?{kind:"error",error:L("accessDenied")}:e.denialReason==="session_required"?{kind:"session_required"}:e.withheld?{kind:"withheld"}:e.error===null?{kind:"withheld"}:{kind:"error",error:e.error}}i(st,"selectErrorView");function Nn(e){let r=e.clinicName?.trim()??"";return r.length>0?r:e.source==="owner_provided"?ol.ownerUpload:ol.clinicRequest}i(Nn,"selectRequestTitle");var ol=Object.freeze({ownerUpload:"Records you uploaded",clinicRequest:"Record request"});function Sp(e){let r=[...e].sort((t,o)=>t.updatedAt!==o.updatedAt?t.updatedAt>o.updatedAt?-1:1:t.createdAt!==o.createdAt?t.createdAt>o.createdAt?-1:1:0);return Object.freeze(r)}i(Sp,"selectRequestList");function rn(e){let r=e.actionNeededLabel?.trim()??"";return r.length>0?r:e.statusLabel}i(rn,"selectPrimaryLabel");function Fn(e){if(e.showClinicPhone!==true)return null;let r=e.clinicPhone?.trim()??"";return r.length===0?null:{phone:r,dial:`tel:${r.replace(/[^+\d]/g,"")}`,clinicName:e.clinicName?.trim()||null}}i(Fn,"selectClinicCall");var lr=200,li=16,di=(lr-li)/2,il=2*Math.PI*di;function sl({summary:e,onAsk:r,testID:t}){let o=wp(),{theme:n,styles:l}=Z(),{totalMarkers:a,inRangeCount:c,outOfRangeCount:s,unknownCount:d}=e,u=c+s+d,p=react.useMemo(()=>{if(!(u>0))return [];let f=[{key:"in_range",color:n.color.success,count:c},{key:"out_of_range",color:n.color.danger,count:s},{key:"unknown",color:n.color.text.muted,count:d}],y=0;return f.filter(b=>b.count>0).map(b=>{let m=b.count/u*il,S=-y;return y+=m,{key:b.key,color:b.color,length:m,offset:S}})},[u,c,s,d,n]);return jsxRuntime.jsxs("section",{role:"group","aria-label":yr.title,style:o.card,"data-testid":t,children:[jsxRuntime.jsx("h3",{style:o.title,children:yr.title}),jsxRuntime.jsx("div",{style:o.ringRow,children:jsxRuntime.jsxs("div",{style:o.ringWrap,role:"img","aria-label":yr.a11y(a,c,s,d),children:[jsxRuntime.jsxs("svg",{width:lr,height:lr,viewBox:`0 0 ${lr} ${lr}`,"aria-hidden":"true",focusable:"false",children:[jsxRuntime.jsx("circle",{cx:lr/2,cy:lr/2,r:di,stroke:n.color.surfaceSubtle,strokeWidth:li,fill:"none"}),jsxRuntime.jsx("g",{transform:`rotate(-90 ${lr/2} ${lr/2})`,children:p.map(f=>jsxRuntime.jsx("circle",{cx:lr/2,cy:lr/2,r:di,stroke:f.color,strokeWidth:li,fill:"none",strokeDasharray:`${f.length} ${il}`,strokeDashoffset:f.offset,strokeLinecap:p.length>1?"round":"butt","data-testid":`marker-ring-${f.key}`},f.key))})]}),jsxRuntime.jsxs("div",{style:o.center,"aria-hidden":"true",children:[jsxRuntime.jsx("span",{style:o.centerCount,children:a}),jsxRuntime.jsx("span",{style:o.centerLabel,children:a===1?yr.marker:yr.markers})]})]})}),p.length>0?jsxRuntime.jsxs("div",{style:o.badges,children:[jsxRuntime.jsx("span",{style:{...o.badge,borderColor:n.color.danger,color:n.color.danger},children:`${s} ${yr.outOfRange}`}),jsxRuntime.jsx("span",{style:{...o.badge,borderColor:n.color.success,color:n.color.success},children:`${c} ${yr.inRange}`}),d>0?jsxRuntime.jsx("span",{style:{...o.badge,borderColor:n.color.text.muted,color:n.color.text.muted},children:`${d} ${yr.noRange}`}):null]}):null,jsxRuntime.jsx("p",{style:o.subtitle,children:yr.subtitle}),r?jsxRuntime.jsx("button",{type:"button",onClick:r,"aria-label":yr.askA11y,style:{...l.pill,...l.pillAsk},"data-testid":"marker-summary-ask",children:yr.ask}):null]})}i(sl,"MarkerSummaryCard");function wp(){let e=ge();return react.useMemo(()=>kp(e),[e])}i(wp,"useStyles");function kp(e){let{color:r,space:t,radius:o,type:n}=e;return {card:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:t.sm+t.xs/2,borderRadius:o.sm,backgroundColor:r.surfaceCream,border:`1px solid ${r.brandBorder}`,padding:t.lg-1},title:{margin:0,...A(e,"bold"),fontSize:n.size.body,color:r.brand,letterSpacing:n.letterSpacing.headerBrand},ringRow:{display:"flex",justifyContent:"center"},ringWrap:{position:"relative",width:lr,height:lr},center:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",pointerEvents:"none"},centerCount:{...A(e,"medium"),fontSize:n.size.verdict*2,lineHeight:1.1,color:r.text.primary},centerLabel:{...A(e,"medium"),fontSize:n.size.heading-1,lineHeight:1.2,color:r.text.primary},badges:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:t.sm},badge:{border:"1px solid",borderRadius:o.pill,padding:`${t.xs}px ${t.sm+t.xs/2}px`,...A(e,"mono"),fontSize:n.size.nano,lineHeight:`${n.size.tiny}px`,textTransform:"uppercase",letterSpacing:n.letterSpacing.headerBrand/2},subtitle:{margin:0,...A(e,"regular"),fontSize:n.size.caption,lineHeight:`${Math.round(n.size.caption*n.lineHeight.relaxed)}px`,color:r.text.primary}}}i(kp,"makeStyles");function _p(e){return e.value!==null&&Number.isFinite(e.value)}i(_p,"numeric");function ll(e){let r=e.points.filter(_p);if(r.length===0)return null;let t=e.points[e.points.length-1]??null,o=t?.refLow??null,n=t?.refHigh??null,l=r.map(R=>R.value),a=Math.min(...l,...o!==null?[o]:[],...n!==null?[n]:[]),c=Math.max(...l,...o!==null?[o]:[],...n!==null?[n]:[]);a===c&&(a-=1,c+=1);let s=(c-a)*.18,d=a-s,u=c+s,p=u-d,f=i(R=>(u-R)/p*100,"y"),y=6,b=r.length,m=r.map((R,x)=>({index:x,xPct:b<=1?50:y+x/(b-1)*(100-2*y),yPct:f(R.value),status:R.status,point:R})),S=o!==null||n!==null?{topPct:n!==null?f(n):0,bottomPct:o!==null?f(o):100}:null;return {points:m,band:S,firstDate:r[0]?.at??null,lastDate:r[r.length-1]?.at??null}}i(ll,"buildMarkerChart");var cl='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function ul(e){return e.tagName==="DIALOG"}i(ul,"isDialogElement");function At(e,r,t){let o=react.useRef(null),n=react.useRef(false),l=react.useRef(null),a=react.useRef(t);a.current=t;let c=react.useCallback(()=>{if(!n.current)return;n.current=false;let u=a.current===void 0?l.current:a.current.current;l.current=null,u&&u.isConnected&&u.focus();},[]);react.useEffect(()=>{if(!e){c();return}if(!n.current){let f=typeof document>"u"?null:document.activeElement;l.current=f instanceof HTMLElement?f:null;}n.current=true;let u=o.current;if(u===null)return;if(!ul(u)){u.contains(document.activeElement)||(u.querySelector(cl)??u).focus();return}let p=u;typeof p.showModal=="function"?p.open||p.showModal():p.setAttribute("open","");},[e,c]),react.useEffect(()=>c,[c]);let s=react.useCallback(u=>{let p=o.current;if(p===null)return;if(u.key==="Escape"&&!ul(p)){u.preventDefault(),u.stopPropagation(),r();return}if(u.key!=="Tab")return;let f=Array.from(p.querySelectorAll(cl)),y=f[0],b=f[f.length-1];if(!y||!b){u.preventDefault();return}let m=document.activeElement;u.shiftKey&&(m===y||!p.contains(m))?(u.preventDefault(),b.focus()):!u.shiftKey&&(m===b||!p.contains(m))&&(u.preventDefault(),y.focus());},[r]),d=react.useCallback(u=>{u.preventDefault(),r();},[r]);return {dialogRef:o,onKeyDown:s,onCancel:d}}i(At,"useModalDialog");var pl=100,zn=44;function Tp({marker:e,onPointPress:r,onAsk:t}){let o=ui(),{theme:n,styles:l}=Z(),a=Fr(e.latest?.status??null),c=kt(e.trajectory,e.points.length),s=react.useMemo(()=>ll(e),[e]),d=e.latest?ar(e.latest.value,e.unit,e.latest.qualitativeResult):null;return jsxRuntime.jsx("li",{style:o.page,"data-testid":`marker-card-${e.markerId}`,children:jsxRuntime.jsxs("article",{style:o.card,children:[jsxRuntime.jsxs("div",{style:o.headerRow,children:[jsxRuntime.jsxs("div",{style:o.nameColumn,children:[jsxRuntime.jsx("span",{style:o.markerName,children:e.name}),e.unit?jsxRuntime.jsx("span",{style:o.unit,children:e.unit}):null]}),jsxRuntime.jsx("span",{"aria-label":Br.status(a.label),children:jsxRuntime.jsx(Nr,{label:a.label,tone:An(e.latest?.status??null)})})]}),e.latest&&d!==null?jsxRuntime.jsxs("div",{style:o.latestRow,children:[jsxRuntime.jsx("span",{style:{...o.latestValue,...a.outOfRange?o.latestValueDanger:{}},"aria-label":Br.latestA11y(d,a.label,K(e.latest.at)),children:d}),jsxRuntime.jsx("span",{style:o.latestDate,children:K(e.latest.at)})]}):null,c?jsxRuntime.jsx("p",{style:o.trajectory,children:c}):null,s!==null?jsxRuntime.jsxs("div",{style:o.chartWrap,children:[jsxRuntime.jsxs("svg",{viewBox:`0 0 ${pl} ${zn}`,preserveAspectRatio:"none",style:o.plot,"aria-hidden":"true",focusable:"false",children:[s.band?jsxRuntime.jsx("rect",{x:0,y:s.band.topPct/100*zn,width:pl,height:Math.max(0,(s.band.bottomPct-s.band.topPct)/100*zn),fill:n.color.badgeBgPositive}):null,s.points.length>1?jsxRuntime.jsx("polyline",{fill:"none",stroke:n.color.brandBorder,strokeWidth:.6,vectorEffect:"non-scaling-stroke",points:s.points.map(u=>`${u.xPct},${u.yPct/100*zn}`).join(" ")}):null]}),jsxRuntime.jsx("div",{style:o.dotLayer,children:s.points.map(u=>jsxRuntime.jsx("button",{type:"button",onClick:()=>r(e,u.point),"aria-label":si(e,u.point),style:{...o.dot,...u.status==="above"||u.status==="below"?o.dotDanger:{},left:`${u.xPct}%`,top:`${u.yPct}%`},"data-testid":`marker-point-${e.markerId}-${u.index}`},u.index))}),jsxRuntime.jsx("ul",{"aria-label":Br.readingsA11y(e.name),style:o.a11yTable,children:e.points.map((u,p)=>jsxRuntime.jsx("li",{children:si(e,u)},p))}),jsxRuntime.jsx("p",{style:e.points.length===1?o.singleHint:o.tapHint,children:e.points.length===1?Br.singleHint:Br.tapHint})]}):jsxRuntime.jsx("p",{style:o.emptyBody,children:Br.empty}),t?jsxRuntime.jsx("button",{type:"button",onClick:()=>t(e),"aria-label":Br.askA11y(e.name),style:{...l.pill,...l.pillAsk},"data-testid":`marker-ask-${e.markerId}`,children:Br.ask}):null]})})}i(Tp,"MarkerTrendCard");function fl({markers:e,onPointPress:r,onAsk:t}){let o=ui(),[n,l]=react.useState(0),a=i(s=>{let d=s.currentTarget;d.clientWidth<=0||l(Math.max(0,Math.min(Math.round(d.scrollLeft/d.clientWidth),e.length-1)));},"onScroll"),c=e[n]??null;return jsxRuntime.jsxs("div",{style:o.carousel,"data-testid":"marker-carousel",children:[jsxRuntime.jsx("ul",{style:o.track,onScroll:a,children:e.map(s=>jsxRuntime.jsx(Tp,{marker:s,onPointPress:r,onAsk:t},s.markerId))}),jsxRuntime.jsxs("div",{style:o.footer,"aria-label":Uo.a11y(c?.name??null,n,e.length),children:[jsxRuntime.jsx("div",{style:o.dots,"aria-hidden":"true",children:e.map((s,d)=>jsxRuntime.jsx("span",{style:{...o.dotIndicator,...d===n?o.dotActive:{}}},s.markerId))}),jsxRuntime.jsx("span",{style:o.counter,children:Uo.counter(n,e.length)})]})]})}i(fl,"MarkerTrendCarousel");function yl({marker:e,point:r,onClose:t,onAsk:o}){let n=ui(),{styles:l}=Z(),a=At(e!==null&&r!==null,t);if(e===null||r===null)return null;let c=i((s,d)=>jsxRuntime.jsxs("div",{style:n.detailRow,children:[jsxRuntime.jsx("dt",{style:n.detailLabel,children:s}),jsxRuntime.jsx("dd",{style:n.detailValue,children:d})]},s),"row");return jsxRuntime.jsx("div",{style:l.sheetBackdrop,onClick:t,"data-testid":"marker-provenance-backdrop",children:jsxRuntime.jsxs("div",{ref:a.dialogRef,role:"dialog","aria-modal":"true","aria-label":or.title,style:{...l.sheet,backgroundColor:n.sheetBg.backgroundColor},onClick:s=>s.stopPropagation(),onKeyDown:a.onKeyDown,"data-testid":"marker-provenance-sheet",children:[jsxRuntime.jsx("span",{style:l.sheetHandle,"aria-hidden":"true"}),jsxRuntime.jsxs("div",{style:l.sheetHeader,children:[jsxRuntime.jsx("h3",{style:l.sheetTitle,children:or.title}),jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":or.close,style:l.iconButton,"data-testid":"marker-provenance-close",children:jsxRuntime.jsx("span",{style:l.closeGlyph,"aria-hidden":"true",children:"\xD7"})})]}),jsxRuntime.jsxs("div",{style:n.valueRow,children:[jsxRuntime.jsx("span",{style:n.markerName,children:e.name}),jsxRuntime.jsx("span",{style:n.latestValue,children:ar(r.value,e.unit,r.qualitativeResult)})]}),r.reviewed?jsxRuntime.jsx("span",{style:n.reviewed,children:or.reviewed}):null,jsxRuntime.jsxs("dl",{style:n.details,children:[c(or.collected,K(r.at)),r.sourceClinic?c(or.clinic,r.sourceClinic):null,c(or.referenceRange,r.refLow!==null||r.refHigh!==null?qn(r,e.unit):or.noRange),r.docId?c(or.sourceDocument,r.docId):null]}),r.reviewed?null:jsxRuntime.jsx("p",{style:n.unverified,children:or.unverified}),o?jsxRuntime.jsx("button",{type:"button",onClick:o,"aria-label":or.askA11y,style:{...l.pill,...l.pillAsk},"data-testid":"marker-provenance-ask",children:or.ask}):null]})})}i(yl,"MarkerProvenanceDialog");function ui(){let e=ge();return react.useMemo(()=>Dp(e),[e])}i(ui,"useStyles");function Dp(e){let{color:r,space:t,radius:o,type:n}=e,l=i((c,s,d,u="regular")=>({margin:0,...A(e,u),fontSize:c,lineHeight:`${Math.round(c*s)}px`,color:d}),"text"),a=t.md;return {page:{flex:"0 0 100%",scrollSnapAlign:"start",boxSizing:"border-box",padding:`0 ${t.sm}px`,listStyle:"none"},card:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:t.md,borderRadius:o.lg-t.xs/2,border:`1px solid ${r.brandBorder}`,backgroundColor:r.surface,padding:t.lg},headerRow:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:t.sm+t.xs/2},nameColumn:{flex:1,display:"flex",flexDirection:"column",gap:t.xs/2,minWidth:0},markerName:{...l(n.size.subtitle,n.lineHeight.snug,r.text.primary,"bold")},unit:{...A(e,"mono"),fontSize:n.size.tiny,lineHeight:`${n.size.body}px`,color:r.text.muted},latestRow:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:t.md},latestValue:{...l(n.size.verdict+t.xs,n.lineHeight.tight,r.text.primary,"bold")},latestValueDanger:{color:r.danger},latestDate:l(n.size.caption,n.lineHeight.normal,r.text.muted),trajectory:l(n.size.bodyTight,n.lineHeight.normal,r.text.muted),chartWrap:{position:"relative",display:"flex",flexDirection:"column",gap:t.sm},plot:{display:"block",width:"100%",height:140,borderRadius:o.sm,backgroundColor:r.surfaceCream,border:`1px solid ${r.borderHairlineGreen}`},dotLayer:{position:"absolute",left:0,right:0,top:0,height:140},dot:{position:"absolute",boxSizing:"border-box",width:a,height:a,borderRadius:a/2,marginLeft:-a/2,marginTop:-a/2,backgroundColor:r.brand,border:`2px solid ${r.surface}`,padding:0,cursor:"pointer"},dotDanger:{backgroundColor:r.danger},a11yTable:{position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",margin:0,padding:0,listStyle:"none"},tapHint:{...l(n.size.tiny,n.lineHeight.normal,r.text.placeholder),textAlign:"center"},singleHint:{...l(n.size.caption,n.lineHeight.normal,r.text.muted),textAlign:"center"},emptyBody:{...l(n.size.bodyTight,n.lineHeight.normal,r.text.muted),textAlign:"center",padding:`${t.xxl+t.xs}px 0`},carousel:{display:"flex",flexDirection:"column"},track:{display:"flex",overflowX:"auto",scrollSnapType:"x mandatory",margin:0,padding:0,listStyle:"none"},footer:{display:"flex",flexDirection:"column",alignItems:"center",gap:t.sm,paddingTop:t.md},dots:{display:"flex",gap:t.xs+t.xs/2},dotIndicator:{display:"block",width:t.xs+t.xs/2,height:t.xs+t.xs/2,borderRadius:t.xs-1,backgroundColor:r.borderHairlineGreen},dotActive:{width:t.lg+t.xs/2,backgroundColor:r.brand},counter:{...A(e,"mono"),fontSize:n.size.tiny,lineHeight:`${n.size.body}px`,letterSpacing:n.letterSpacing.eyebrow/3,color:r.text.muted},sheetBg:{backgroundColor:r.surfaceCream},valueRow:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:t.md},reviewed:{alignSelf:"flex-start",borderRadius:o.pill,padding:`${t.xs}px ${t.sm+t.xs/2}px`,backgroundColor:r.badgeBgPositive,...l(n.size.tiny,n.lineHeight.normal,r.success,"medium")},details:{margin:0,display:"flex",flexDirection:"column",gap:t.md},detailRow:{display:"flex",flexDirection:"column",gap:t.xs/2},detailLabel:{...l(n.size.caption,n.lineHeight.normal,r.text.muted,"medium")},detailValue:{...l(n.size.body,n.lineHeight.normal,r.text.primary),marginLeft:0},unverified:l(n.size.caption,n.lineHeight.normal,r.text.muted)}}i(Dp,"makeStyles");var V=Object.freeze({title:"Full medical record",shareA11y:"Share medical record",requestClinicsA11y:"Request records from clinics",inReview:i(e=>`${e} ${e===1?"document":"documents"} from your vet ${e===1?"is":"are"} being reviewed. Your full record will appear here once review is complete.`,"inReview"),needsAttention:"Needs your attention",conflictSub:"Two documents list different values. Your vet can confirm which is correct.",askConflict:"Ask Everfur about this",whatsOnFile:"What's on file",coverage:Object.freeze({labs:"Labs",vaccines:"Vaccines",weight:"Weight",vitals:"Vitals",exams:"Exams",procedures:"Procedures",genetics:"Genetics",parasite:"Parasite prevention",reproductive:"Reproductive"}),onFile:"on file",noneOnFile:"none on file",documentsOnFile:i(e=>`${e} ${e===1?"document":"documents"} on file`,"documentsOnFile"),inReviewChip:i(e=>`${e} in review`,"inReviewChip"),beingVerified:i(e=>`${e} being verified`,"beingVerified"),beingVerifiedA11y:i(e=>`${e} ${e===1?"fact is":"facts are"} being verified`,"beingVerifiedA11y"),pendingReview:"Pending review: ",dateRange:i((e,r)=>`${K(e)} to ${K(r)}`,"dateRange"),documents:"Documents",uploadedDocument:pe.uploadedDocument,documentRowA11y:i(e=>`View what ${e} contributed to this record`,"documentRowA11y"),identity:"Identity",needsReview:"Needs review",upcomingCare:"Upcoming care",lastDone:i(e=>`Last done ${e}`,"lastDone"),overdue:"Overdue",due:i(e=>`Due ${e}`,"due"),askUpcomingCare:"Ask Everfur about upcoming care",askEverfur:"Ask Everfur",askExam:"Ask Everfur about this exam",askVisit:"Ask Everfur about this visit",labResults:pe.labResults,visits:pe.visits,physicalExams:pe.physicalExams,visitNotes:pe.visitNotes,document:Object.freeze({title:"Health Record",download:"Download record PDF",empty:"This record is empty for now.",docTitle:"Medical Record",namelessPet:"Your pet",generated:i(e=>`Generated ${K(e)}`,"generated"),identity:"Identity",labs:"Blood & Lab Work",ref:i(e=>`Ref ${e}`,"ref"),noRange:"No reference range",upcomingCare:"Upcoming Care",physicalExams:"Physical Exams",clinicianNotes:"Clinician Notes"})}),gl=Object.freeze({vaccination:"Vaccinations",medication:"Medications",problem:"Problems & diagnoses",procedure:"Procedures & surgery",allergy:"Allergies",parasite_prevention:"Parasite prevention",reproductive:"Reproductive history",vital:"Vitals",body_weight:"Weight",lab_result:"Lab results",imaging:"Imaging & radiology",genetic_result:"Genetic testing",document_note:"Other notes"});function nn(e){return Object.prototype.hasOwnProperty.call(gl,e)?gl[e]:jr(e)}i(nn,"entityTypeLabel");var bl=Object.freeze(["vaccination","medication","problem","procedure","allergy","parasite_prevention","reproductive","vital","body_weight"]);function hl(e){let r=bl.filter(o=>e.includes(o)),t=e.filter(o=>!bl.includes(o));return [...r,...t]}i(hl,"orderEntityTypes");function Mn(e){switch(e){case "identity_risk":return {label:"Identity mismatch",rank:0,tone:"critical"};case "benign":return {label:"Minor difference",rank:2,tone:"neutral"};default:return {label:"Needs review",rank:1,tone:"warning"}}}i(Mn,"conflictSeverityMeta");function on(e,r){if(!e)return null;let t=Date.parse(e);if(Number.isNaN(t))return null;let o=t<r-1440*60*1e3;return {label:o?V.overdue:V.due(K(e)),overdue:o}}i(on,"dueBadge");function Rl(e){return e===null?null:e.refLow!==null&&e.refHigh!==null?`${e.refLow}-${e.refHigh}`:e.refLow!==null?`\u2265 ${e.refLow}`:e.refHigh!==null?`\u2264 ${e.refHigh}`:null}i(Rl,"formatReferenceBand");var Ke=Object.freeze({editA11y:i(e=>`Edit ${e}. Correct or remove this record detail.`,"editA11y"),title:i(e=>`Edit ${e}`,"title"),helper:"Corrects your record. Your vet can still review it.",close:"Close",closeEditorA11y:"Close editor",save:"Save changes",saving:"Saving...",remove:"Remove this detail",removeA11y:i(e=>`Remove ${e}`,"removeA11y"),confirmRemove:"Remove this detail from your record? This can't be undone.",removeConfirm:"Remove",removing:"Removing...",keep:"Keep",noChange:"Change a value before saving.",saved:"Saved.",removed:"Removed.",detail:"record detail"});function vl(e,r){return Mr(e)?r==="remove"?"Records access for this pet is off, so this detail cannot be removed.":"Records access for this pet is off, so this detail cannot be changed.":As(e)?r==="remove"?"A clinician already reviewed this detail, so it can't be removed here.":"A clinician already reviewed this detail, so it can't be changed here.":r==="remove"?"Couldn't remove that. Please check your connection and try again.":"Couldn't save that. Please check your connection and try again."}i(vl,"factEditErrorMessage");var Ip=Object.freeze({edits:Object.freeze({}),removed:Object.freeze([])});function pi(e,r){if(Object.keys(r.edits).length===0&&r.removed.length===0)return e;let t=[];for(let o of e){let n=o.canonicalKey??null;if(n!==null&&r.removed.includes(n))continue;let l=n!==null?r.edits[n]:void 0;t.push(l===void 0?o:Object.freeze({...o,value:l}));}return Object.freeze(t)}i(pi,"applyFactOverlay");function mi(e){return typeof e.canonicalKey=="string"&&e.canonicalKey.length>0}i(mi,"isFactEditable");function Op(){return `records-fact-${Date.now().toString(36)}`}i(Op,"defaultFactKey");function fi(e,r={}){let t=Vr(),{userRef:o}=ie(),[n,l]=react.useState(Ip),[a,c]=react.useState(false),[s,d]=react.useState(null),u=react.useMemo(()=>({}),[t,e,o]),[p,f]=react.useState(null),y=react.useCallback(()=>f(u),[u]),b=o!==null&&p!==u,m=react.useRef(false),S=react.useRef(r.newIdempotencyKey);S.current=r.newIdempotencyKey;let R=react.useCallback(()=>(S.current??Op)(),[]),x=react.useCallback((E,k,D)=>{if(c(false),!E.ok){if(k(),it(E.error)){y();return}d(vl(E.error,D));}},[y]),g=react.useCallback(async(E,k)=>{let D=E.canonicalKey??"",I=k.trim();if(m.current||D.length===0||I.length===0)return j(L("validationFailed",{retryable:false}));m.current=true,c(true),d(null);let P=n;l(B=>({...B,edits:{...B.edits,[D]:I}}));let O=await t.editFact(e,{entityType:E.category,canonicalKey:D,correctedFields:Zo(E.value,I),idempotencyKey:R()});return m.current=false,x(O,()=>l(P),"edit"),O},[t,e,n,x,R]),h=react.useCallback(async E=>{let k=E.canonicalKey??"";if(m.current||k.length===0)return j(L("validationFailed",{retryable:false}));m.current=true,c(true),d(null);let D=n;l(P=>({...P,removed:[...P.removed,k]}));let I=await t.removeFact(e,{entityType:E.category,canonicalKey:k,idempotencyKey:R()});return m.current=false,x(I,()=>l(D),"remove"),I},[t,e,n,x,R]),v=react.useCallback(()=>d(null),[]);return react.useMemo(()=>({overlay:n,busy:a,error:s,available:b,edit:g,remove:h,clearError:v}),[n,a,s,b,g,h,v])}i(fi,"useRecordFactEdit");function xl({entity:e,factEdit:r,children:t}){let{theme:o,styles:n}=Z(),[l,a]=react.useState(false),c=react.useRef(null),s=e.label.trim()||Ke.detail;return jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:o.space.sm},children:[jsxRuntime.jsx("div",{style:{flex:1,minWidth:0},children:t}),jsxRuntime.jsx("button",{ref:c,type:"button",onClick:()=>a(true),"aria-label":Ke.editA11y(s),style:n.iconButton,"data-testid":`fact-edit-open-${e.canonicalKey??e.key}`,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"block",width:o.space.md+o.space.xs/2,height:2,backgroundColor:o.color.brand,borderRadius:o.radius.pill,transform:"rotate(-45deg)"}})}),l?jsxRuntime.jsx(Np,{entity:e,title:s,factEdit:r,onClose:()=>a(false),returnFocusTo:c}):null]})}i(xl,"FactEditAffordance");function Np({entity:e,title:r,factEdit:t,onClose:o,returnFocusTo:n}){let{theme:l,styles:a}=Z(),c=At(true,o,n),[s,d]=react.useState(e.value??""),[u,p]=react.useState(null),[f,y]=react.useState(false);react.useEffect(()=>{t.clearError();},[t]);let b=s.trim().length>0&&s.trim()!==(e.value??"").trim(),m=u??t.error,S=t.busy,R=i(()=>{if(!b){p(Ke.noChange);return}p(null),t.edit(e,s).then(h=>{h.ok&&o();});},"submitEdit"),x=i(()=>{p(null),t.remove(e).then(h=>{h.ok?o():y(false);});},"submitRemove"),g=`fact-edit-${e.key}`;return jsxRuntime.jsx("div",{style:a.sheetBackdrop,onClick:o,children:jsxRuntime.jsxs("div",{ref:c.dialogRef,role:"dialog","aria-modal":"true","aria-label":Ke.title(r),style:a.sheet,onClick:h=>h.stopPropagation(),onKeyDown:c.onKeyDown,"data-testid":"fact-edit-sheet",children:[jsxRuntime.jsx("span",{style:a.sheetHandle,"aria-hidden":"true"}),jsxRuntime.jsxs("div",{style:a.sheetHeader,children:[jsxRuntime.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:l.space.xs},children:[jsxRuntime.jsx("h3",{style:a.sheetTitle,children:Ke.title(r)}),jsxRuntime.jsx("p",{role:"status","aria-live":"polite",style:{...a.sheetHelper,...m?a.errorText:{}},children:m??Ke.helper})]}),jsxRuntime.jsx("button",{type:"button",onClick:o,"aria-label":Ke.close,style:a.iconButton,"data-testid":"fact-edit-close",children:jsxRuntime.jsx("span",{style:a.closeGlyph,"aria-hidden":"true",children:"\xD7"})})]}),jsxRuntime.jsx("label",{htmlFor:g,style:a.fieldLabel,children:e.label}),jsxRuntime.jsx("input",{id:g,style:a.field,value:s,onChange:h=>{d(h.target.value),p(null);},disabled:S,maxLength:512,"data-testid":"fact-edit-field"}),f?jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:l.space.sm,padding:l.space.md,borderRadius:l.radius.md,backgroundColor:l.color.badgeBgCritical},"data-testid":"fact-edit-confirm-remove",children:[jsxRuntime.jsx("p",{style:a.bodyText,children:Ke.confirmRemove}),jsxRuntime.jsxs("div",{style:{display:"flex",gap:l.space.sm},children:[jsxRuntime.jsx(ee,{label:S?Ke.removing:Ke.removeConfirm,kind:"danger",busy:S,onClick:x,style:{flex:1},testID:"fact-edit-remove-confirm"}),jsxRuntime.jsx(ee,{label:Ke.keep,kind:"outline",disabled:S,onClick:()=>y(false),style:{flex:1},testID:"fact-edit-remove-cancel"})]})]}):jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:l.space.sm},children:[jsxRuntime.jsx(ee,{label:S?Ke.saving:Ke.save,busy:S,disabled:!b,onClick:R,testID:"fact-edit-save"}),jsxRuntime.jsx("button",{type:"button","aria-label":Ke.removeA11y(r),disabled:S,onClick:()=>{p(null),y(true);},style:{...a.pill,...a.pillLink,color:l.color.danger,...S?a.pillDisabled:{}},"data-testid":"fact-edit-remove",children:Ke.remove})]})]})})}i(Np,"FactEditSheet");function Bn({record:e,depth:r,petName:t,showLabs:o=true,onNavigate:n,onAsk:l,factEdit:a,nowMs:c}){let{theme:s,styles:d}=Z(),u=c??Date.now(),p=react.useMemo(()=>a?pi(e.entities,a.overlay):e.entities,[e.entities,a]),f=react.useMemo(()=>{let g=[],h=new Map;for(let v of p){let E=v.category.trim();if(E.length===0)continue;let k=h.get(E);k===void 0?(g.push(E),h.set(E,[v])):k.push(v);}return {order:hl(g),groups:h}},[p]),y=Object.values(e.documents),b=a!==void 0&&a.available,m=i((g,h,v)=>l?jsxRuntime.jsx("button",{type:"button",onClick:()=>{let E=g();l(E.prompt,E.entityRef);},"aria-label":h,style:{...d.pill,...d.pillAsk,marginTop:s.space.lg,alignSelf:"flex-start"},"data-testid":v,children:h}):null,"ask"),S={display:"flex",flexDirection:"column",gap:s.space.lg+s.space.xs},R=i(g=>({...d.row,...g>0?d.rowDivider:{}}),"rowStyle"),x={...d.card,padding:`${s.space.md}px ${s.space.lg}px`,display:"flex",flexDirection:"column"};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{style:S,children:[r&&r.conflicts.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-conflicts",children:[jsxRuntime.jsx(kr,{title:V.needsAttention,count:r.conflicts.length}),[...r.conflicts].sort((g,h)=>Mn(g.severity).rank-Mn(h.severity).rank).map(g=>{let h=Mn(g.severity),v=jr(g.field??g.entityType);return jsxRuntime.jsxs("div",{style:{...x,borderColor:d.chipTones[h.tone].color,gap:s.space.sm},children:[jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:s.space.sm},children:[jsxRuntime.jsx("span",{style:{...d.rowTitle,...A(s,"bold"),flex:1},children:h.label}),jsxRuntime.jsx(Nr,{label:v,tone:h.tone})]}),jsxRuntime.jsx("p",{style:d.rowDetail,children:V.conflictSub}),g.candidates.map((E,k)=>jsxRuntime.jsxs("div",{style:{borderTop:`1px solid ${s.color.borderHairlineGreen}`,paddingTop:s.space.sm},children:[jsxRuntime.jsx("p",{style:d.rowTitle,children:E.value}),jsxRuntime.jsx("p",{style:d.rowMuted,children:[E.docId?e.documents[E.docId]?.title??V.uploadedDocument:V.uploadedDocument,E.collectedAt?K(E.collectedAt):null].filter(Boolean).join(" \xB7 ")})]},k)),m(()=>nl(t,{scopeLabel:v,severity:g.severity,candidates:g.candidates.map(E=>({value:E.value,clinicName:E.docId?e.documents[E.docId]?.title??null:null}))},g.conflictId),V.askConflict,`records-ask-conflict-${g.conflictId}`)]},g.conflictId)})]}):null,r?.completeness?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-completeness",children:[jsxRuntime.jsx(kr,{title:V.whatsOnFile}),jsxRuntime.jsxs("div",{style:d.card,children:[jsxRuntime.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:s.space.sm,padding:`${s.space.md}px 0`},children:[[V.coverage.labs,r.completeness.hasLabHistory],[V.coverage.vaccines,r.completeness.hasVaccinationHistory],[V.coverage.weight,r.completeness.hasWeightHistory],[V.coverage.vitals,r.completeness.hasVitalsHistory],[V.coverage.exams,r.completeness.hasPhysicalExamHistory],[V.coverage.procedures,r.completeness.hasProcedureHistory],[V.coverage.genetics,r.completeness.hasGeneticHistory],[V.coverage.parasite,r.completeness.hasParasitePreventionHistory],[V.coverage.reproductive,r.completeness.hasReproductiveHistory]].map(([g,h])=>jsxRuntime.jsx("span",{"aria-label":`${g}: ${h?V.onFile:V.noneOnFile}`,style:{...d.chip,...h?d.chipTones.positive:{backgroundColor:s.color.badgeBgNeutral,color:s.color.text.muted},fontSize:s.type.size.caption},children:g},g))}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:s.space.sm,paddingBottom:s.space.md},children:[jsxRuntime.jsx("span",{style:{...d.rowDetail,flex:1,marginTop:0},children:V.documentsOnFile(r.completeness.documentsIngested)}),r.completeness.documentsInReview>0?jsxRuntime.jsx(Nr,{label:V.inReviewChip(r.completeness.documentsInReview),tone:"warning"}):null,yi(r.completeness.heldTotal,r.completeness.entitiesPendingReview)>0?jsxRuntime.jsx("span",{"aria-label":V.beingVerifiedA11y(yi(r.completeness.heldTotal,r.completeness.entitiesPendingReview)),children:jsxRuntime.jsx(Nr,{label:V.beingVerified(yi(r.completeness.heldTotal,r.completeness.entitiesPendingReview)),tone:"warning"})}):null]}),r.completeness.earliestRecordAt||r.completeness.latestRecordAt?jsxRuntime.jsx("p",{style:{...d.rowDetail,paddingBottom:s.space.md},children:V.dateRange(r.completeness.earliestRecordAt,r.completeness.latestRecordAt)}):null,Object.entries(r.completeness.entitiesPendingReview).filter(([,g])=>g>0).length>0?jsxRuntime.jsxs("p",{style:{...d.rowMuted,paddingBottom:s.space.md},children:[V.pendingReview,Object.entries(r.completeness.entitiesPendingReview).filter(([,g])=>g>0).map(([g,h])=>`${nn(g)} (${h})`).join(", ")]}):null]})]}):null,y.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-documents",children:[jsxRuntime.jsx(kr,{title:V.documents,count:y.length}),jsxRuntime.jsx("ul",{style:d.card,children:y.map((g,h)=>{let v=g.title?.trim()||V.uploadedDocument,E=g.receivedAt?K(g.receivedAt):null,k=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{style:d.rowMain,children:[jsxRuntime.jsx("span",{style:d.rowTitle,children:v}),E?jsxRuntime.jsx("span",{style:{...d.rowDetail,display:"block"},children:E}):null]}),n?jsxRuntime.jsx(ct,{}):null]});return jsxRuntime.jsx("li",{style:R(h),children:n?jsxRuntime.jsx("button",{type:"button",onClick:()=>n({name:"contributions",docId:g.docId}),"aria-label":V.documentRowA11y(v),style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:s.space.md,width:"100%",background:"transparent",border:0,padding:0,cursor:"pointer",textAlign:"left",font:"inherit",color:"inherit"},"data-testid":`records-document-row-${g.docId}`,children:k}):k},g.docId)})})]}):null,e.identity.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-identity",children:[jsxRuntime.jsx(kr,{title:V.identity}),jsxRuntime.jsx("dl",{style:d.card,children:e.identity.map((g,h)=>jsxRuntime.jsxs("div",{style:R(h),children:[jsxRuntime.jsx("dt",{style:{...d.rowDetail,...A(s,"medium"),marginTop:0},children:g.label}),jsxRuntime.jsx("dd",{style:{...d.rowTitle,margin:0,textAlign:"right"},children:g.value})]},`${h}:${g.label}`))})]}):null,e.forwardLooking.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-upcoming",children:[jsxRuntime.jsx(kr,{title:V.upcomingCare,count:e.forwardLooking.length}),jsxRuntime.jsx("ul",{style:d.card,children:e.forwardLooking.map((g,h)=>{let v=on(g.dueAt,u);return jsxRuntime.jsxs("li",{style:R(h),children:[jsxRuntime.jsxs("span",{style:d.rowMain,children:[jsxRuntime.jsx("span",{style:d.rowTitle,children:g.title}),g.detail?jsxRuntime.jsx("span",{style:{...d.rowDetail,display:"block"},children:g.detail}):null]}),v?jsxRuntime.jsx(Nr,{label:v.label,tone:v.overdue?"critical":"info"}):null]},`${g.title}-${h}`)})}),m(()=>el(t,e.forwardLooking.map(g=>{let h=on(g.dueAt,u);return {label:g.title,relativeText:h?.label??"",tone:h?.overdue?"overdue":"upcoming"}}),e.petRef),V.askUpcomingCare,"records-ask-upcoming-care")]}):null,f.order.map(g=>{let h=f.groups.get(g)??[];if(h.length===0)return null;let v=nn(g);return jsxRuntime.jsxs("section",{style:d.section,"data-testid":`record-section-${g}`,children:[jsxRuntime.jsx(kr,{title:v,count:h.length}),jsxRuntime.jsx("ul",{style:d.card,children:h.map((E,k)=>{let D=[wt(E.value,E.unit),E.observedAt?K(E.observedAt):null].filter(P=>P&&P.length>0).join(" \xB7 "),I=jsxRuntime.jsxs("div",{style:R(k),children:[jsxRuntime.jsxs("div",{style:{...d.rowMain,display:"flex",flexDirection:"column"},children:[jsxRuntime.jsx("span",{style:d.rowTitle,children:E.label}),D?jsxRuntime.jsx("span",{style:d.rowDetail,children:D}):null,m(()=>Zs(t,{entityTypeLabel:v,title:E.label,detail:D||null},g,E.key),V.askEverfur,`records-ask-entity-${E.key}`)]}),E.status?jsxRuntime.jsx(Nr,{label:jr(E.status)}):null]});return jsxRuntime.jsx("li",{children:b&&mi(E)&&a?jsxRuntime.jsx(xl,{entity:E,factEdit:a,children:I}):I},E.key)})})]},g)}),r&&r.physicalExams.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-exams",children:[jsxRuntime.jsx(kr,{title:V.physicalExams,count:r.physicalExams.length}),r.physicalExams.map(g=>jsxRuntime.jsxs("div",{style:x,children:[jsxRuntime.jsx("h4",{style:{...d.rowTitle,paddingTop:s.space.sm},children:g.observedOn?K(g.observedOn):pe.exam}),jsxRuntime.jsx("ul",{style:d.plainList,children:g.systems.map((h,v)=>{let E=h.findingStatus==="abnormal",k=E?pe.abnormal:h.findingStatus==="not_examined"?pe.notExamined:pe.normal;return jsxRuntime.jsxs("li",{style:R(v),children:[jsxRuntime.jsxs("span",{style:d.rowMain,children:[jsxRuntime.jsx("span",{style:d.rowTitle,children:_t(h.system)}),E&&h.finding?jsxRuntime.jsx("span",{style:{...d.rowDetail,display:"block"},children:h.finding}):null]}),jsxRuntime.jsx(Nr,{label:k,tone:E?"warning":h.findingStatus==="not_examined"?"neutral":"positive"})]},h.system)})}),m(()=>rl(t,{observedOn:g.observedOn?K(g.observedOn):null,abnormal:g.systems.filter(h=>h.findingStatus==="abnormal").map(h=>({system:_t(h.system),finding:h.finding??""}))},g.examId),V.askExam,`records-ask-exam-${g.examId}`)]},g.examId))]}):null,r&&r.clinicianNotes.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-notes",children:[jsxRuntime.jsx(kr,{title:V.visitNotes,count:r.clinicianNotes.length}),r.clinicianNotes.map(g=>jsxRuntime.jsxs("div",{style:x,children:[jsxRuntime.jsx("h4",{style:{...d.rowTitle,paddingTop:s.space.sm},children:g.observedOn?K(g.observedOn):pe.visitNote}),jsxRuntime.jsx("dl",{style:d.plainList,children:g.sections.map((h,v)=>jsxRuntime.jsxs("div",{style:{padding:`${s.space.md}px 0`,...v>0?d.rowDivider:{}},children:[jsxRuntime.jsx("dt",{style:{...d.rowDetail,...A(s,"bold"),marginTop:0,textTransform:"uppercase"},children:Pt(h.section)}),jsxRuntime.jsx("dd",{style:{...d.bodyText,marginLeft:0,...h.text?{}:{color:s.color.text.muted,fontStyle:"italic"}},children:h.text||pe.notRecorded})]},`${h.section}:${v}`))}),m(()=>tl(t,{observedOn:g.observedOn?K(g.observedOn):null,sections:g.sections.map(h=>({label:Pt(h.section),text:h.text}))},g.noteId),V.askVisit,`records-ask-note-${g.noteId}`)]},g.noteId))]}):null,o&&r&&r.labResults.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-labs",children:[jsxRuntime.jsx(kr,{title:V.labResults,count:r.labResults.length}),jsxRuntime.jsx("ul",{style:d.card,children:r.labResults.map((g,h)=>{let v=Fr(g.latest.status),E=jo(g.latest.at,g.trajectory,g.points.length);return jsxRuntime.jsxs("li",{style:R(h),children:[jsxRuntime.jsxs("span",{style:{...d.rowMain,display:"flex",flexDirection:"column"},children:[jsxRuntime.jsx("span",{style:d.rowTitle,children:g.name}),jsxRuntime.jsx("span",{style:d.rowValue,children:ar(g.latest.value,g.latest.unit,g.latest.qualitativeResult)}),E?jsxRuntime.jsx("span",{style:d.rowDetail,children:E}):null]}),jsxRuntime.jsx(Nr,{label:v.label,tone:An(g.latest.status)})]},g.markerId)})})]}):null,r&&r.encounters.length>0?jsxRuntime.jsxs("section",{style:d.section,"data-testid":"record-section-visits",children:[jsxRuntime.jsx(kr,{title:V.visits,count:r.encounters.length}),jsxRuntime.jsx("ul",{style:d.card,children:r.encounters.map((g,h)=>{let v=[g.date?K(g.date):null,g.clinicName,g.veterinarian].filter(E=>E&&E!=="-").join(" \xB7 ");return jsxRuntime.jsx("li",{style:R(h),children:jsxRuntime.jsxs("span",{style:d.rowMain,children:[jsxRuntime.jsx("span",{style:d.rowTitle,children:g.type?jr(g.type):pe.visit}),v?jsxRuntime.jsx("span",{style:{...d.rowDetail,display:"block"},children:v}):null]})},g.encounterId)})})]}):null]}),jsxRuntime.jsx(nt,{disclaimer:e.disclaimer})]})}i(Bn,"RecordSections");function yi(e,r){return e>0?e:Object.values(r).reduce((t,o)=>t+o,0)}i(yi,"heldCount");var an=Object.freeze({heading:"A quick call can help",fallbackPrompt:"Reaching out to the clinic directly often speeds up a slow records request.",call:"Call the clinic",callAt:i(e=>`Call the clinic at ${e}`,"callAt")});var kl=Math.round(Ir/(1024*1024)),ht=Object.freeze({queued:"Queued",verifying:"Verifying\u2026",done:"Done",failed:"Failed",uploading:i((e,r)=>`Uploading ${e+1} of ${r} records`,"uploading"),uploaded:i((e,r)=>`${e} of ${r} records uploaded`,"uploaded")});function _l(e){let r=Math.round(e.progress*100);switch(e.status){case "done":return ht.done;case "failed":return ht.failed;case "uploading":return e.progress>=1?ht.verifying:`${r}%`;case "queued":return ht.queued;default:return null}}i(_l,"uploadItemStatusLabel");function Pl(e){if(e.length===0)return null;let r=i(l=>{let a=l.map(c=>c.name??"");return a.length<=3?a.join(", "):`${a.slice(0,3).join(", ")} and ${a.length-3} more`},"nameList"),t=e.filter(l=>l.reason==="too_large"),o=e.filter(l=>l.reason==="unsupported"),n=[];return o.length>0&&n.push(`${r(o)} ${o.length>1?"are not PDFs":"is not a PDF"}`),t.length>0&&n.push(`${r(t)} ${t.length>1?"are":"is"} over ${kl} MB`),`Didn\u2019t upload: ${n.join("; ")}. We can only read PDFs up to ${kl} MB right now.`}i(Pl,"skippedFilesMessage");function Tl(e){let r=[];for(let t of e)t.status==="skipped"&&t.skipReason!==null&&r.push({name:t.name,reason:t.skipReason});return r}i(Tl,"skippedOf");var gi=[37,80,68,70,45],jn="application/pdf,.pdf",Fp="application/octet-stream",Lp="file:web-document";async function zp(e,r){let t=e.slice(0,r);try{return typeof t.arrayBuffer=="function"?new Uint8Array(await t.arrayBuffer()):await new Promise(o=>{let n=new FileReader;n.onload=()=>{o(n.result instanceof ArrayBuffer?new Uint8Array(n.result):new Uint8Array);},n.onerror=()=>o(new Uint8Array),n.readAsArrayBuffer(t);})}catch{return new Uint8Array}}i(zp,"readHead");async function Dl(e){if(e.size<gi.length)return false;let r=await zp(e,gi.length);return gi.every((t,o)=>r[o]===t)}i(Dl,"isPdfBlob");async function Hn(e){let r=await Dl(e),t=e.name,o=typeof t=="string"?t:void 0;return Object.freeze({uri:Lp,mimeType:r?Qr:Fp,sizeBytes:e.size,blob:e,...o!==void 0?{name:o}:{}})}i(Hn,"fileToHandle");function bi(e){let r=e.sizeBytes;return e.mimeType===Qr&&typeof r=="number"&&Number.isFinite(r)&&r>0&&r<=Ir}i(bi,"isUploadableHandle");function Mp(e=document){return new Promise(r=>{let t=e.createElement("input");t.type="file",t.accept=jn,t.hidden=true;let o=i(()=>{t.remove();},"done");t.addEventListener("change",()=>{let n=t.files?.[0];if(o(),n===void 0){r(null);return}Hn(n).then(r);},{once:true}),t.addEventListener("cancel",()=>{o(),r(null);},{once:true}),e.body.appendChild(t),t.click();})}i(Mp,"pickDocument");var Dr=Object.freeze({email:"Clinic email",emailPlaceholder:"records@clinic.com",emailError:"Enter a valid clinic email.",updateEmail:"Update email & resend",updateEmailA11y:"Update clinic email and resend request",retry:"Retry sending",retryA11y:"Retry sending records request",retryHint:"Save the updated email first, then retry.",cancelRequest:"Cancel request",keepRequest:"Keep request",uploadInstead:"Upload instead",cancelQuestion:"Cancel this request?",cancelConsequence:"We\u2019ll stop sending reminders to the clinic. If the clinic has already sent records, they may still arrive. You can start a new request or upload your own records anytime."});function Il({request:e,onRecovered:r,canUpload:t=false},o){let[n,l]=react.useState(""),[a,c]=react.useState(false),[s,d]=react.useState(null),[u,p]=react.useState(false),[f,y]=react.useState(null),b=react.useRef(false),m=react.useRef(false),S=react.useRef(0);react.useEffect(()=>(m.current=true,()=>{m.current=false,S.current+=1;}),[o]);let R=f!==null&&f.before===e.updatedAt?{...f.value,canRetrySend:e.canRetrySend===true&&f.value.canRetrySend===true,canUpdateClinicEmail:e.canUpdateClinicEmail===true&&f.value.canUpdateClinicEmail===true,canRevoke:e.canRevoke===true&&f.value.canRevoke===true,canConvertToUpload:e.canConvertToUpload===true&&f.value.canConvertToUpload===true}:e,x=n.trim(),g=x.length<=320&&!Array.from(x).some(I=>I.charCodeAt(0)<=32||I.charCodeAt(0)===127)&&/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(x),h=R.canUpdateClinicEmail===true&&x.length>0,v=R.canRetrySend===true&&!a&&!h,E=R.canUpdateClinicEmail===true&&!a&&g,k=R.canConvertToUpload===true&&t,D=i(async I=>{let P={retry:v,email:E,revoke:R.canRevoke===true&&u,convert:k};if(b.current||!m.current||!P[I])return;b.current=true,c(true),d(null);let O=S.current,B=i(()=>m.current&&O===S.current,"live");try{let M=I==="retry"?await o.retryRequest(e.id):I==="email"?await o.updateClinicEmail(e.id,x):I==="revoke"?await o.revokeRequest(e.id):await o.convertToUpload(e.id);if(!B())return;if(!M.ok){d(M.error);return}if(M.value.id!==e.id||M.value.petRef!==e.petRef){d(L("internalError"));return}y({before:e.updatedAt,value:M.value}),l(""),p(!1),r();}catch{B()&&d(L("internalError"));}finally{b.current=false,B()&&c(false);}},"run");return {request:R,email:n,busy:a,error:s,canRetry:v,canUpdateEmail:E,canConvert:k,hasEmailEdit:h,confirmingRevoke:u&&R.canRevoke===true,emailInvalid:x.length>0&&!g,setEmail(I){b.current||(l(I),d(null));},retry:i(()=>D("retry"),"retry"),updateEmail:i(()=>D("email"),"updateEmail"),revoke:i(()=>D("revoke"),"revoke"),convert:i(()=>D("convert"),"convert"),askRevoke(){!b.current&&R.canRevoke===true&&p(true);},keepRequest(){b.current||p(false);}}}i(Il,"useRecordsRecovery");var Up=["requested","sent_to_clinic","awaiting_clinic","records_received","processing","ready"],Bp=["requested","awaiting_upload","records_received","processing","ready"],jp=["requested","sent_to_clinic","awaiting_clinic","awaiting_upload","records_received","processing","ready"],ln=Object.freeze({requested:"Request created",sent_to_clinic:"Sent to the clinic",awaiting_clinic:"Waiting on the clinic",awaiting_upload:"Add your records",records_received:"Records received",processing:"Preparing your records",parsing_failed:"Needs a closer look",manual_review:"Our team is reviewing it",ready:"Ready to view",delivery_failed:"Email could not be delivered",processing_failed:"Could not process the records",clinic_declined:"Clinic declined the request",clinic_no_records:"Clinic replied without your records",no_response:"No response from the clinic",revoked:"You cancelled this request"}),cr=Object.freeze({delivered:"Email delivered to the clinic",emailing:"Emailing the clinic",bounced:"The clinic email did not go through",waiting:"Waiting for the clinic to send the records",upload:"Upload the records you already have",ownerAdded:"You added these records",clinicSent:"The clinic sent the records",preparing:"Getting your records ready to view",ready:"Your records are ready to view",parsingFailed:"We couldn\u2019t read this one automatically",manualReview:"Checking these by hand so nothing\u2019s missed",switchedTitle:"Stopped waiting on the clinic",switched:"You switched to uploading your own records"}),Hp=Object.freeze({delivery_failed:"The clinic email could not be delivered",processing_failed:"We could not read these records",clinic_declined:"The clinic declined to release records",clinic_no_records:"The clinic replied without records",no_response:"No reply after repeated reminders",revoked:"You cancelled this request"}),Vp=Object.freeze({requested:"sent",awaiting_clinic:"awaiting_response",awaiting_upload:"awaiting_upload",received:"records_received",parsing:"parsing",in_review:"in_review",published:"published",failed:"failed",revoked:"revoked"});function Wp(e){return e.wireStatus??Vp[e.status]??"sent"}i(Wp,"wireStatusOf");function Gp(e,r){return e!=="awaiting_response"||r<=0?null:`${r} ${r===1?"reminder":"reminders"} sent`}i(Gp,"reminderProgressLabel");function Yp(e){switch(e){case "submitted":case "sent":return 1;case "awaiting_response":return 2;case "records_received":return 3;case "parsing":case "parsing_failed":case "in_review":case "review_email_failed":return 4;case "published":return 5;default:return -1}}i(Yp,"reachedRailIndex");function Kp(e){switch(e.dispatchStatus){case "sent":return cr.delivered;case "preparing":case "queued":case "sending":return cr.emailing;case "failed":return cr.bounced;default:return null}}i(Kp,"deliveryDetail");function Qp(e,r){return Gp(r,e.reminderCount??0)??cr.waiting}i(Qp,"awaitingDetail");function Xp(e,r,t){let o=r.source==="owner_provided"||!!r.convertedToUploadAt;switch(e){case "sent_to_clinic":return Kp(r);case "awaiting_clinic":return Qp(r,t);case "awaiting_upload":return cr.upload;case "records_received":return o?cr.ownerAdded:cr.clinicSent;case "processing":return cr.preparing;case "ready":return cr.ready;default:return null}}i(Xp,"railDetail");function Jp(e,r){return !!e.reviewStartedAt||r==="parsing_failed"||r==="review_email_failed"}i(Jp,"tookReviewBranch");function Zp(e,r,t){if(e.key!=="processing"||!Jp(r,t))return [e];let o=t==="parsing_failed",n=t==="published",l=n?"done":o?"current":"done",a=n?"done":o?"upcoming":"current";return [{key:"parsing_failed",title:ln.parsing_failed,detail:cr.parsingFailed,at:null,state:l},{key:"manual_review",title:ln.manual_review,detail:cr.manualReview,at:r.reviewStartedAt??null,state:a}]}i(Zp,"expandProcessingPhase");function em(e){switch(e){case "awaiting_upload":return 3;case "records_received":return 4;case "parsing":case "parsing_failed":case "in_review":case "review_email_failed":return 5;case "published":return 6;default:return 3}}i(em,"convertedReachedIndex");function Ol(e){return {key:"awaiting_clinic",title:cr.switchedTitle,detail:cr.switched,at:e.convertedToUploadAt??null,state:"done"}}i(Ol,"convertedClinicSwitchEvent");function rm(e){switch(e){case "submitted":case "sent":return 0;case "awaiting_upload":return 1;case "records_received":return 2;case "parsing":case "parsing_failed":case "in_review":case "review_email_failed":return 3;case "published":return 4;default:return -1}}i(rm,"ownerReachedIndex");function tm(e,r,t){switch(e){case "requested":return r.createdAt||null;case "awaiting_clinic":return r.lastReminderAt??null;case "processing":return r.parsingStartedAt??r.reviewStartedAt??null;case "ready":return t==="published"&&r.updatedAt||null;default:return null}}i(tm,"railTimestamp");function Al(e,r,t,o){return {key:e,title:ln[e],detail:Xp(e,r,t),at:tm(e,r,t),state:o}}i(Al,"railEvent");function Wr(e,r){return {key:e,title:ln[e],detail:Hp[e]??null,at:r.updatedAt||null,state:"failed"}}i(Wr,"terminalEvent");function Ri(e,r,t,o,n){return e.map((l,a)=>{let c=n?.(l)??null;if(c!==null)return c;let s=o==="published"||a<r?"done":a===r?"current":"upcoming";return Al(l,t,o,s)}).flatMap(l=>Zp(l,t,o))}i(Ri,"walkRail");function vi(e){let r=Wp(e),t=i(n=>Al(n,e,r,"done"),"done");if(r==="revoked")return [t("requested"),Wr("revoked",e)];if(e.convertedToUploadAt)return r==="failed"?[t("requested"),t("sent_to_clinic"),Ol(e),t("awaiting_upload"),t("records_received"),Wr("processing_failed",e)]:Ri(jp,em(r),e,r,n=>n==="awaiting_clinic"?Ol(e):null);if(e.source==="owner_provided"){if(r==="failed"||r==="clinic_declined")return [t("requested"),t("awaiting_upload"),t("records_received"),Wr("processing_failed",e)];let n=rm(r);return Ri(Bp,n<0?1:n,e,r)}if(r==="clinic_declined")return [t("requested"),t("sent_to_clinic"),t("awaiting_clinic"),Wr("clinic_declined",e)];if(r==="clinic_responded_no_records")return [t("requested"),t("sent_to_clinic"),t("awaiting_clinic"),Wr("clinic_no_records",e)];if(r==="failed"){let n=e.failureCode??null;return n==="no_response"?[t("requested"),t("sent_to_clinic"),t("awaiting_clinic"),Wr("no_response",e)]:n==="hard_bounce"||n==="dispatch_failed"?[t("requested"),Wr("delivery_failed",e)]:n==="parse_timeout"||n==="parse_error"||e.dispatchStatus==="sent"?[t("requested"),t("sent_to_clinic"),t("awaiting_clinic"),t("records_received"),Wr("processing_failed",e)]:[t("requested"),Wr("delivery_failed",e)]}let o=Yp(r);return Ri(Up,o<0?1:o,e,r)}i(vi,"buildRequestTimeline");var om=Object.freeze({done:"completed",current:"in progress",failed:"needs attention",upcoming:"not started"}),Vn=24;function Gn({request:e}){let r=sm(),t=vi(e);return jsxRuntime.jsx("ol",{style:r.list,"data-testid":"records-timeline",children:t.map((o,n)=>jsxRuntime.jsx(im,{event:o,isLast:n===t.length-1,styles:r},o.key))})}i(Gn,"RequestTimeline");function im({event:e,isLast:r,styles:t}){let o=e.at?K(e.at):null,n={...t.title,...e.state==="current"?t.titleCurrent:{},...e.state==="failed"?t.titleFailed:{},...e.state==="upcoming"?t.titleUpcoming:{}};return jsxRuntime.jsxs("li",{style:t.row,"data-testid":`records-timeline-${e.key}`,children:[jsxRuntime.jsxs("div",{style:t.railColumn,"aria-hidden":"true",children:[jsxRuntime.jsx(am,{state:e.state,styles:t}),r?null:jsxRuntime.jsx("div",{style:{...t.connector,...e.state==="done"?t.connectorDone:{}}})]}),jsxRuntime.jsxs("div",{style:t.body,children:[jsxRuntime.jsxs("div",{style:t.titleRow,children:[jsxRuntime.jsx("span",{style:n,children:e.title}),o?jsxRuntime.jsx("span",{style:t.date,children:o}):null]}),e.detail?jsxRuntime.jsx("span",{style:{...t.detail,...e.state==="upcoming"?t.detailUpcoming:{}},children:e.detail}):null,jsxRuntime.jsx("span",{style:t.srOnly,children:om[e.state]})]})]})}i(im,"TimelineRow");function am({state:e,styles:r}){return e==="done"?jsxRuntime.jsx("div",{style:{...r.dot,...r.dotDone},children:"\u2713"}):e==="failed"?jsxRuntime.jsx("div",{style:{...r.dot,...r.dotFailed},children:"!"}):e==="current"?jsxRuntime.jsx("div",{style:{...r.dot,...r.dotCurrent},children:jsxRuntime.jsx("div",{style:r.dotCurrentCore})}):jsxRuntime.jsx("div",{style:{...r.dot,...r.dotUpcoming}})}i(am,"Dot");function sm(){let e=ge();return react.useMemo(()=>lm(e),[e])}i(sm,"useStyles");function lm(e){let{color:r}=e,t={boxSizing:"border-box",width:Vn,height:Vn,borderRadius:Vn/2,display:"flex",alignItems:"center",justifyContent:"center",...A(e,"bold"),fontSize:12,lineHeight:"14px"};return {list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},row:{display:"flex",alignItems:"flex-start",gap:12},railColumn:{display:"flex",flexDirection:"column",alignItems:"center",alignSelf:"stretch",width:Vn,flexShrink:0},body:{flex:1,minWidth:0,paddingBottom:18,display:"flex",flexDirection:"column",gap:2},titleRow:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},dot:t,dotDone:{backgroundColor:r.brand,color:r.surface},dotFailed:{backgroundColor:r.danger,color:r.surface},dotCurrent:{border:`2px solid ${r.brand}`,backgroundColor:r.surface},dotCurrentCore:{width:10,height:10,borderRadius:5,backgroundColor:r.brand},dotUpcoming:{border:`2px solid ${r.borderHairlineGreen}`,backgroundColor:r.surface},connector:{width:2,flex:1,minHeight:22,backgroundColor:r.borderHairlineGreen,margin:"2px 0"},connectorDone:{backgroundColor:r.brand},title:{flex:1,...A(e,"bold"),fontSize:14,lineHeight:"18px",color:r.text.primary},titleCurrent:{color:r.brand},titleFailed:{color:r.danger},titleUpcoming:{color:r.text.muted,...A(e,"regular")},date:{...A(e,"regular"),fontSize:12,lineHeight:"16px",color:r.text.muted},detail:{...A(e,"regular"),fontSize:13,lineHeight:"17px",color:r.text.muted},detailUpcoming:{opacity:.7},srOnly:{position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap",border:0}}}i(lm,"makeStyles");var pm=300,mm=900,Nl=120,Fl=44,Ll=40,zl=24,fm=3;function Ft(e,r,t){let o=st(e,t);switch(o.kind){case "consent_required":return jsxRuntime.jsx(ym,{onGrant:r});case "consent_unavailable":return jsxRuntime.jsx(pr,{label:Y.consentRequired,glyph:"empty"});case "session_required":return jsxRuntime.jsx(pr,{label:Y.sessionRequired,glyph:"empty"});case "withheld":return jsxRuntime.jsx(pr,{label:Y.recordUnavailable,glyph:"withheld"});case "pet_not_found":case "error":return jsxRuntime.jsx(gm,{error:o.error,onRetry:e.refresh});default:return Xr(o)}}i(Ft,"renderErrorFamily");function Ml(){let{theme:e,styles:r}=Lt(),[t,o]=react.useState(false),n=react.useRef(null);react.useEffect(()=>{let a=setTimeout(()=>o(true),pm);return ()=>clearTimeout(a)},[]);let l=t&&!e.motion.reducedMotion;return react.useEffect(()=>{let a=n.current;if(!l||a===null||typeof a.animate!="function")return;let c=a.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:mm,iterations:1/0});return ()=>c.cancel()},[l]),jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":Y.loading,style:r.centered,children:t?jsxRuntime.jsx("div",{ref:n,"aria-hidden":"true",style:r.spinner}):null})}i(Ml,"LoadingState");function $l({records:e}){let{styles:r}=Lt(),t=e.uploadQueue;if(t.length===0)return null;let o=t.filter(a=>a.status!=="skipped"),n=o.filter(a=>a.status==="done").length,l=Pl(Tl(t));return jsxRuntime.jsxs("div",{style:r.card,"data-testid":"records-upload-queue",children:[l!==null?jsxRuntime.jsx("p",{role:"alert",style:r.errorText,children:l}):null,o.length>0?jsxRuntime.jsx("ul",{"aria-live":"polite","aria-label":e.isUploading?ht.uploading(n,o.length):ht.uploaded(n,o.length),style:{listStyle:"none",margin:0,padding:0},children:o.map(a=>{let c=Math.round(a.progress*100);return jsxRuntime.jsxs("li",{style:r.row,"data-testid":`records-upload-file-${a.status}`,children:[jsxRuntime.jsx("span",{style:r.rowLabel,children:a.name??""}),jsxRuntime.jsx("span",{style:r.rowValue,children:_l(a)}),a.status==="uploading"?jsxRuntime.jsx("progress",{max:100,value:c,style:{width:"100%"}}):null,a.status==="failed"&&a.error?jsxRuntime.jsx("span",{style:r.timelineMeta,children:a.error.displayMessage}):null]},a.key)})}):null]})}i($l,"UploadQueue");function ym({onGrant:e}){let{styles:r}=Lt();return jsxRuntime.jsxs("div",{role:"alert","aria-live":"assertive",style:r.centered,children:[jsxRuntime.jsx("p",{style:r.alertText,children:Y.consentRequired}),jsxRuntime.jsx("button",{type:"button",onClick:e,style:r.primaryButton,children:Y.allow})]})}i(ym,"ConsentRequiredState");function pr({label:e,glyph:r}){let{styles:t}=Lt();return jsxRuntime.jsxs("div",{role:"alert","aria-live":"assertive",style:t.centered,children:[jsxRuntime.jsx("div",{"aria-hidden":"true",style:r==="withheld"?t.withheldGlyph:t.emptyGlyph}),jsxRuntime.jsx("p",{style:t.alertText,children:e})]})}i(pr,"AlertState");function gm({error:e,onRetry:r}){let{styles:t}=Lt();return jsxRuntime.jsxs("div",{role:"alert","aria-live":"assertive",style:t.centered,children:[jsxRuntime.jsx("p",{style:t.errorText,children:e.displayMessage}),e.retryable?jsxRuntime.jsx("button",{type:"button",onClick:r,style:t.primaryButton,children:Y.retry}):null]})}i(gm,"ErrorState");function Ul({call:e,prompt:r}){let{styles:t}=Lt(),o=r.trim().length>0?r:an.fallbackPrompt;return jsxRuntime.jsxs("div",{style:t.callCard,children:[jsxRuntime.jsx("p",{style:t.timelineLabel,children:an.heading}),jsxRuntime.jsx("p",{style:t.timelineMeta,children:o}),jsxRuntime.jsx("a",{href:e.dial,"aria-label":an.callAt(e.phone),style:t.linkButton,"data-testid":"records-call-clinic",children:an.call})]})}i(Ul,"ClinicCallCard");function Lt(){let e=ge(),r=react.useMemo(()=>bm(e),[e]);return {theme:e,styles:r}}i(Lt,"useRecordsTheme");function bm(e){let{color:r,space:t,radius:o,type:n,slots:l}=e,a=i((m,S)=>`${Math.round(m*S)}px`,"lh"),c=`1px solid ${r.brandBorder}`,s=wr(l.recordCard,1),d=qr(l.recordCard),u=i((m,S,R,x="regular")=>({margin:0,...A(e,x),fontSize:m,lineHeight:a(m,S),color:R}),"text"),p=i((m,S,R,x="regular")=>({...u(m,S,R,x),...d}),"inCard"),f={boxSizing:"border-box",minHeight:Fl,minWidth:Fl,padding:`${t.md}px ${t.xl}px`,borderRadius:o.pill,...A(e,"bold"),fontSize:n.size.body,letterSpacing:n.letterSpacing.tight},y={boxSizing:"border-box",width:Ll,height:Ll},b=e.brightness==="dark"?r.errorRed:r.danger;return {container:{boxSizing:"border-box",display:"flex",flexDirection:"column",minHeight:Nl,height:"100%",backgroundColor:r.background,color:r.text.primary,...A(e,"regular")},body:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column",overflowY:"auto"},centered:{boxSizing:"border-box",flex:"1 1 auto",minHeight:Nl,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:t.lg,padding:t.xl,textAlign:"center"},spinner:{boxSizing:"border-box",width:zl,height:zl,borderRadius:o.pill,border:`${fm}px solid ${r.brandSofter}`,borderTopColor:r.brand},emptyGlyph:{...y,borderRadius:o.lg,backgroundColor:r.brandSoft,border:c},withheldGlyph:{...y,borderRadius:o.sm,backgroundColor:r.badgeBgCaution,border:`1px solid ${r.cautionAccent}`},alertText:u(n.size.subtitle,n.lineHeight.snug,r.text.secondary),errorText:u(n.size.subtitle,n.lineHeight.snug,b),primaryButton:{...f,border:0,cursor:"pointer",backgroundColor:r.primary,color:r.onPrimary,...wr(l.primaryButton),...qr(l.primaryButton)},disabledButton:{...f,border:c,cursor:"default",backgroundColor:r.surfaceSubtle,color:r.text.muted},list:{display:"flex",flexDirection:"column",gap:t.md,padding:t.lg},card:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:t.xs,padding:`${t.md}px ${t.lg}px`,borderRadius:o.md,backgroundColor:r.surfaceCream,border:c,...s},cardTitle:{...p(n.size.heading,n.lineHeight.snug,r.text.primary,"bold"),letterSpacing:n.letterSpacing.tight},callCard:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:t.sm,padding:t.md,borderRadius:o.md,backgroundColor:r.surfaceCream,border:c,...s},linkButton:{...f,display:"inline-flex",alignItems:"center",justifyContent:"center",alignSelf:"flex-start",textDecoration:"none",border:0,backgroundColor:r.primary,color:r.onPrimary,...wr(l.primaryButton),...qr(l.primaryButton)},timelineLabel:{...p(n.size.subtitle,n.lineHeight.snug,r.text.secondary,"bold")},timelineMeta:p(n.size.bodyTight,n.lineHeight.normal,r.text.muted),row:{display:"flex",justifyContent:"space-between",gap:t.md,padding:`${t.xs}px 0`,borderBottom:`1px solid ${r.borderHairlineGreen}`},rowLabel:p(n.size.body,n.lineHeight.normal,r.text.muted),rowValue:{...p(n.size.body,n.lineHeight.normal,r.text.primary,"medium"),textAlign:"right"},disclaimer:u(n.size.caption,n.lineHeight.normal,r.text.muted)}}i(bm,"makeStyles");var Cm=i((e,r)=>e.getRecordDepth(r),"readDepth"),Em=i(e=>!e.available,"depthEmpty");function Ei(e){let{style:r,className:t,renderPending:o,...n}=Ie(e,["onNavigate","onBack","onAsk"]),{userRef:l}=ie(),{styles:a}=Z();return jsxRuntime.jsx(Ae,{capability:"records",style:r,className:t,...o?{renderPending:o}:{},...Ne(n.onBack,je),children:jsxRuntime.jsxs("div",{className:t,style:{...a.root,...r},"data-testid":"records-dashboard",children:[l===null?jsxRuntime.jsx("div",{style:a.body,children:jsxRuntime.jsx(pr,{label:Y.sessionRequired,glyph:"empty"})}):jsxRuntime.jsx(xm,{...n}),jsxRuntime.jsx(qe,{})]})})}i(Ei,"EverfurRecordsDashboard");function xm({petRef:e,petName:r,controller:t,consentVersion:o,onNavigate:n,onBack:l,onAsk:a}){let{theme:c,styles:s}=Z(),d=react.useMemo(()=>t?{petRef:e,controller:t}:{petRef:e},[e,t]),u=Je(d),p=oi(e),f=Tr(e,Cm,Em),[y,b]=react.useState(null),m=react.useCallback((C,q)=>b({marker:C,point:q}),[]),S=gt(o,u.consent),R=i(()=>{let C=at(o,u.consent);C.length!==0&&u.grantConsent(C,`records-consent-${Date.now().toString(36)}`);},"onGrant"),x=p.markers?.markers??[],g=x.length>0,h=u.record!==null&&!u.record.isEmpty&&!u.record.withheld,v=xn(u.requests,e),E=Eo({hasMarkers:g,requests:u.requests,petRef:e}),k=xo({recordLoading:u.status==="loading",hasFullRecord:h,recordError:u.status==="error",markersLoading:p.status==="loading",markersError:p.status==="error",hasMarkers:g,requestsLoading:u.status==="loading",dashboardState:E,drivingRequest:v}),D=p.markers?.disclaimer??u.record?.disclaimer??"",I=i(()=>{u.refresh(),p.refresh(),f.refresh();},"retryAll"),P=f.value!==null&&!f.value.withheld&&f.value.available?f.value:null,O=Fe(r),B=a&&p.markers?.summary?()=>{let C=Qs(r,p.markers?.summary??{totalMarkers:0,inRangeCount:0,outOfRangeCount:0,unknownCount:0},e);a(C.prompt,C.entityRef);}:void 0,M=a?C=>{let q=Ks(r,{canonicalName:C.name,markerId:C.markerId,latestValueText:C.latest?ar(C.latest.value,C.unit,C.latest.qualitativeResult):null,statusText:C.latest?Fr(C.latest.status).label:null,trajectoryText:kt(C.trajectory,C.points.length),meaningText:C.meaning});a(q.prompt,q.entityRef);}:void 0,H=a&&y?()=>{let{marker:C,point:q}=y,T=Xs(r,{canonicalName:C.name,valueText:ar(q.value,C.unit,q.qualitativeResult),collectedAt:K(q.at),sourceClinic:q.sourceClinic,referenceText:q.refLow!==null||q.refHigh!==null?qn(q,C.unit):null,flagged:q.status==="above"?"above":q.status==="below"?"below":null,reviewed:q.reviewed,entityId:q.docId??C.markerId});b(null),a(T.prompt,T.entityRef);}:void 0,G=i((C,q,T)=>jsxRuntime.jsxs("button",{type:"button",onClick:q,"aria-label":C,style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",borderRadius:c.radius.md,border:`1px solid ${c.color.brandBorder}`,backgroundColor:c.color.surface,padding:c.space.lg,cursor:"pointer",font:"inherit",color:c.color.text.primary,textAlign:"left"},"data-testid":T,children:[jsxRuntime.jsxs("span",{style:{display:"flex",alignItems:"center",gap:c.space.md},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:18,height:18,borderRadius:c.radius.xs,backgroundColor:c.color.brandSoft,border:`1px solid ${c.color.brandBorder}`}}),jsxRuntime.jsx("span",{style:{...s.rowTitle},children:C})]}),jsxRuntime.jsx(ct,{})]}),"actionRow"),Ce=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[p.markers?.summary?jsxRuntime.jsx("div",{style:s.inset,children:jsxRuntime.jsx(sl,{summary:p.markers.summary,onAsk:B,testID:"dashboard-marker-summary"})}):null,jsxRuntime.jsx("p",{style:s.lead,children:nr.lead(r)}),jsxRuntime.jsx(fl,{markers:x,onPointPress:m,onAsk:M})]}),Q=i(C=>n?jsxRuntime.jsxs("div",{style:{...s.inset,display:"flex",flexDirection:"column",gap:c.space.sm+c.space.xs/2},children:[C?G(nr.viewFullRecord,()=>n({name:"record"}),"dashboard-full-record-action"):null,G(nr.viewTimeline,()=>n({name:"timeline"}),"dashboard-timeline-action")]}):null,"actions"),w;if(u.status==="error"){let C=st(u,S);w=C.kind==="error"||C.kind==="pet_not_found"?jsxRuntime.jsx(Ve,{variant:tr(C.error),message:C.error.displayMessage,onAction:C.error.retryable?I:void 0,testID:"dashboard-error"}):Ft(u,R,S);}else switch(k){case "loading":w=jsxRuntime.jsx(Dn,{testID:"dashboard-loading"});break;case "record":w=jsxRuntime.jsxs("div",{style:s.contentTight,"data-testid":"dashboard-record",children:[g?Ce:p.status==="error"?jsxRuntime.jsx("div",{style:s.inset,children:G(nr.retryMarkers,I,"dashboard-markers-retry")}):null,jsxRuntime.jsx("div",{style:s.inset,children:u.record?jsxRuntime.jsx(Bn,{record:u.record,depth:P,petName:r,showLabs:!g,onNavigate:n,onAsk:a}):null}),Q(true)]});break;case "error":{let C=p.error??u.error;w=jsxRuntime.jsx(Ve,{variant:tr(C),message:C?.displayMessage,onAction:C?.retryable?I:void 0,testID:"dashboard-error"});break}case "in_progress":w=jsxRuntime.jsxs("div",{style:s.content,"data-testid":"dashboard-in-progress",children:[v?jsxRuntime.jsx(Sm,{request:v,petName:O,onOpen:n?()=>n({name:"request",requestId:v.id}):void 0,onAsk:a?()=>{let C=Js(r,{clinicName:v.clinicName??null,statusLabel:rn(v),status:v.status,heldItemCount:v.heldItemCount},v.id);a(C.prompt,C.entityRef);}:void 0}):null,jsxRuntime.jsx(nt,{disclaimer:D})]});break;case "none":w=jsxRuntime.jsxs("div",{style:s.content,"data-testid":"dashboard-request-prompt",children:[jsxRuntime.jsxs("section",{style:{borderRadius:c.radius.sm,backgroundColor:c.color.surfaceCream,border:`1px solid ${c.color.borderRingCream}`,padding:`${c.space.lg+c.space.xs/2}px ${c.space.lg+c.space.xs}px`,display:"flex",flexDirection:"column",gap:c.space.sm},children:[jsxRuntime.jsx("h3",{style:{...s.sectionTitle,fontSize:c.type.size.subtitle,color:c.color.brand},children:dt.title(r)}),jsxRuntime.jsx("p",{style:s.bodyText,children:dt.body}),n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ee,{label:dt.requestFromClinic,ariaLabel:dt.requestFromClinicA11y(r),onClick:()=>n({name:"clinicPicker"}),testID:"dashboard-request-prompt-clinic"}),jsxRuntime.jsx(ee,{label:dt.uploadDocument,kind:"outline",ariaLabel:dt.uploadDocumentA11y(r),onClick:()=>n({name:"upload"}),testID:"dashboard-request-prompt-upload"})]}):null]}),jsxRuntime.jsx(nt,{disclaimer:D})]});break;case "labs_only":w=jsxRuntime.jsxs("div",{style:s.contentTight,"data-testid":"dashboard-labs-only",children:[Ce,jsxRuntime.jsx("div",{style:s.inset,children:jsxRuntime.jsx(nt,{disclaimer:D})}),Q(false)]});break;default:w=Xr(k);}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(He,{title:nr.title,onBack:l,testID:"dashboard-header",right:n?jsxRuntime.jsx("button",{type:"button",onClick:()=>n({name:"timeline"}),"aria-label":nr.openTimeline,style:s.iconButton,"data-testid":"dashboard-timeline-link",children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"flex",flexDirection:"column",gap:4},children:[0,1,2].map(C=>jsxRuntime.jsx("span",{style:{display:"block",width:18,height:2,borderRadius:2,backgroundColor:c.color.brand}},C))})}):void 0}),jsxRuntime.jsx("div",{style:s.body,children:w}),jsxRuntime.jsx(yl,{marker:y?.marker??null,point:y?.point??null,onClose:()=>b(null),onAsk:H})]})}i(xm,"DashboardBody");function Sm({request:e,petName:r,onOpen:t,onAsk:o}){let{theme:n,styles:l}=Z(),a=e.clinicName?.trim()||St.title(r),c=rn(e),s=jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:n.space.lg},children:[jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:n.space.sm},children:[jsxRuntime.jsx("span",{style:{...l.rowTitle,...A(n,"bold"),fontSize:n.type.size.subtitle},children:a}),t?jsxRuntime.jsx(ct,{}):null]}),jsxRuntime.jsx(Gn,{request:e}),c.length>0?jsxRuntime.jsx("p",{style:l.statusCard,children:c}):null]});return jsxRuntime.jsxs("section",{"aria-label":t?void 0:St.a11y(r),style:{...l.creamCard,backgroundColor:n.color.surface,padding:n.space.lg+n.space.xs/2,gap:n.space.lg},"data-testid":"dashboard-in-progress-card",children:[t?jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":St.openA11y(r,c),style:{background:"transparent",border:0,padding:0,cursor:"pointer",textAlign:"left",font:"inherit",color:"inherit",width:"100%"},"data-testid":"dashboard-in-progress-open",children:s}):s,o?jsxRuntime.jsx(ee,{label:St.ask,kind:"ask",ariaLabel:St.askA11y,onClick:o,testID:"dashboard-in-progress-ask"}):null]})}i(Sm,"InProgressCard");var Yn=Object.freeze({visit:0,vaccine:1,weight:2,medication:3});function Bl(e){if(!e)return null;let r=Date.parse(e);return Number.isNaN(r)?null:r}i(Bl,"toMillis");function jl(e){let r=[...e.visits.map((t,o)=>({key:`visit-${o}-${t.visitId}`,kind:"visit",kindLabel:pe.kind.visit,at:t.visitDate,date:K(t.visitDate),title:t.summary??pe.clinicVisit,detail:t.veterinarian?pe.doctor(t.veterinarian):null,docId:t.docId})),...e.vaccines.map((t,o)=>{let n=[];return t.lot&&n.push(pe.lot(t.lot)),t.expiresOn&&n.push(pe.expires(K(t.expiresOn))),{key:`vaccine-${o}-${t.vaccineId}`,kind:"vaccine",kindLabel:pe.kind.vaccine,at:t.administeredOn,date:K(t.administeredOn),title:t.product||pe.kind.vaccine,detail:n.length?n.join(" \xB7 "):null,docId:t.docId}}),...e.weights.map((t,o)=>({key:`weight-${o}-${t.weightId}`,kind:"weight",kindLabel:pe.kind.weight,at:t.observedOn,date:K(t.observedOn),title:fs(t.weightKg),detail:null,docId:t.docId})),...e.medications.map((t,o)=>{let n=[t.dose,t.route,t.frequency].filter(l=>!!l);return {key:`medication-${o}-${t.medicationId}`,kind:"medication",kindLabel:pe.kind.medication,at:t.startedOn,date:K(t.startedOn),title:t.drugName||pe.kind.medication,detail:n.length?n.join(" \xB7 "):null,docId:t.docId}})];return Object.freeze(r.sort((t,o)=>{let n=Bl(t.at),l=Bl(o.at);return n===null&&l===null?Yn[t.kind]-Yn[o.kind]:n===null?1:l===null?-1:l!==n?l-n:Yn[t.kind]-Yn[o.kind]}))}i(jl,"buildTimelineRows");var Tm=300,Hl=120,Vl=44,Dm=i((e,r)=>e.getTimeline(r),"readTimeline"),Im=i(e=>e.isEmpty,"timelineEmpty");var Om=i(e=>e.contributions.length===0,"contributionsEmpty");function Wl({petRef:e,style:r,className:t,onBack:o}){let n=Tr(e,Dm,Im);return jsxRuntime.jsx(Yl,{state:n,style:r,className:t,onBack:o,header:jsxRuntime.jsx(He,{title:pe.timeline,onBack:Vt(o),testID:"timeline-header"}),loading:jsxRuntime.jsx(Es,{testID:"timeline-loading"}),empty:jsxRuntime.jsx(Ve,{variant:"no_records",testID:"timeline-empty"}),render:l=>jsxRuntime.jsx(Nm,{timeline:l})})}i(Wl,"EverfurRecordsTimeline");function Gl({petRef:e,docId:r,style:t,className:o,onBack:n}){let l=react.useCallback((s,d)=>s.getDocumentContributions(d,r),[r]),a=Tr(e,l,Om,r),c=a.value?.document?.title?.trim()||pe.uploadedDocument;return jsxRuntime.jsx(Yl,{state:a,style:t,className:o,onBack:n,header:jsxRuntime.jsx(He,{title:c,onBack:Vt(n),testID:"contributions-header"}),empty:jsxRuntime.jsx(Ve,{variant:"no_records",testID:"contributions-empty"}),render:s=>jsxRuntime.jsx(Fm,{view:s})})}i(Gl,"EverfurDocumentContributions");function Yl({state:e,style:r,className:t,header:o,loading:n,empty:l,render:a,onBack:c}){let{styles:s}=xi(),{userRef:d}=ie();return jsxRuntime.jsx(Ae,{capability:"records",style:r,className:t,...Ne(Vt(c),je),children:jsxRuntime.jsxs("div",{className:t,style:{...s.container,...r},children:[o??null,jsxRuntime.jsx("div",{style:s.body,children:d===null?jsxRuntime.jsx("p",{role:"alert",style:s.alertText,children:Y.sessionRequired}):Am(e,a,s,n,l)}),jsxRuntime.jsx(qe,{})]})})}i(Yl,"DepthSurface");function Am(e,r,t,o,n){switch(e.status){case "loading":return o??jsxRuntime.jsx(qm,{styles:t});case "empty":return n??jsxRuntime.jsx("div",{style:t.centered,children:jsxRuntime.jsx("div",{role:"img","aria-label":Y.empty,style:t.emptyGlyph})});case "error":return e.error?jsxRuntime.jsx(Ve,{variant:tr(e.error),message:e.error.displayMessage,onAction:e.error.retryable?e.refresh:void 0,testID:"depth-error"}):null;case "populated":return e.value===null||e.value.withheld?null:r(e.value);default:return null}}i(Am,"renderState");function qm({styles:e}){let[r,t]=react.useState(false);return react.useEffect(()=>{let o=setTimeout(()=>t(true),Tm);return ()=>clearTimeout(o)},[]),jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":Y.loading,style:e.centered,children:r?jsxRuntime.jsx("div",{"aria-hidden":"true",style:e.spinner}):null})}i(qm,"LoadingState");function Nm({timeline:e}){let{styles:r}=xi(),t=jl(e);return jsxRuntime.jsxs("section",{"aria-label":pe.timeline,style:r.timelineList,children:[e.disclaimer.length>0?jsxRuntime.jsx("p",{role:"note","aria-label":nr.important(e.disclaimer),style:r.timelineBand,children:e.disclaimer}):null,jsxRuntime.jsx("ul",{style:r.plainList,children:t.map((o,n)=>jsxRuntime.jsx("li",{style:n>0?r.timelineSeparated:void 0,"data-testid":`records-timeline-row-${o.kind}`,children:jsxRuntime.jsxs("div",{style:r.timelineRow,"aria-label":[o.kindLabel,o.date,o.title,o.detail].filter(Boolean).join(", "),children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:r.timelineBubble}),jsxRuntime.jsxs("div",{style:r.timelineBody,children:[jsxRuntime.jsxs("div",{style:r.topLine,children:[jsxRuntime.jsx("span",{style:r.timelineKind,children:o.kindLabel}),jsxRuntime.jsx("span",{style:r.date,children:o.date})]}),jsxRuntime.jsx("span",{style:r.timelineTitle,children:o.title}),o.detail?jsxRuntime.jsx("span",{style:r.rowDetail,children:o.detail}):null]})]})},o.key))})]})}i(Nm,"TimelineBody");function Fm({view:e}){let{styles:r}=xi();return jsxRuntime.jsxs("section",{"aria-label":Y.records,style:r.list,children:[e.document?.receivedAt?jsxRuntime.jsx("p",{style:r.rowDetail,children:K(e.document.receivedAt)}):null,jsxRuntime.jsx("dl",{style:r.card,children:e.contributions.map(t=>jsxRuntime.jsxs("div",{style:r.row,children:[jsxRuntime.jsx("dt",{style:r.rowTitle,children:t.label}),jsxRuntime.jsx("dd",{style:r.rowValue,children:wt(t.value,t.unit)}),t.observedAt?jsxRuntime.jsx("dd",{style:r.rowDetail,children:K(t.observedAt)}):null]},t.key))})]})}i(Fm,"ContributionsBody");function xi(){let e=ge(),r=react.useMemo(()=>Lm(e),[e]);return {theme:e,styles:r}}i(xi,"useDepthTheme");function Lm(e){let{color:r,space:t,radius:o,type:n,slots:l}=e,a=i((f,y)=>`${Math.round(f*y)}px`,"lh"),c=i((f,y,b,m="regular")=>({margin:0,...A(e,m),fontSize:f,lineHeight:a(f,y),color:b}),"text"),s=qr(l.recordCard),d=i((f,y,b,m="regular")=>({...c(f,y,b,m),...s}),"inCard"),u=`1px solid ${r.brandBorder}`,p=e.brightness==="dark"?r.errorRed:r.danger;return {container:{boxSizing:"border-box",display:"flex",flexDirection:"column",minHeight:Hl,height:"100%",backgroundColor:r.background,color:r.text.primary,...A(e,"regular")},body:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column",overflowY:"auto"},centered:{boxSizing:"border-box",flex:"1 1 auto",minHeight:Hl,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:t.lg,padding:t.xl,textAlign:"center"},spinner:{boxSizing:"border-box",width:24,height:24,borderRadius:o.pill,border:`3px solid ${r.brandSofter}`,borderTopColor:r.brand},emptyGlyph:{boxSizing:"border-box",width:40,height:40,borderRadius:o.lg,backgroundColor:r.brandSoft,border:u},alertText:c(n.size.subtitle,n.lineHeight.snug,r.text.secondary),errorText:c(n.size.subtitle,n.lineHeight.snug,p),primaryButton:{boxSizing:"border-box",minHeight:Vl,minWidth:Vl,padding:`${t.md}px ${t.xl}px`,borderRadius:o.pill,...A(e,"bold"),fontSize:n.size.body,border:0,cursor:"pointer",backgroundColor:r.primary,color:r.onPrimary,...wr(l.primaryButton),...qr(l.primaryButton)},list:{display:"flex",flexDirection:"column",gap:t.md,padding:t.lg},section:{display:"flex",flexDirection:"column",gap:t.sm},heading:{...c(n.size.heading,n.lineHeight.snug,r.text.primary,"bold")},card:{boxSizing:"border-box",listStyle:"none",display:"flex",flexDirection:"column",gap:t.sm,margin:0,padding:t.md,borderRadius:o.md,backgroundColor:r.surfaceCream,border:u,...wr(l.recordCard,1)},plainList:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:t.sm},row:{display:"flex",flexDirection:"column",gap:t.xs,padding:`${t.xs}px 0`,borderBottom:`1px solid ${r.borderHairlineGreen}`},topLine:{display:"flex",justifyContent:"space-between",gap:t.md},kindLabel:{...d(n.size.caption,n.lineHeight.normal,r.text.muted,"medium")},date:d(n.size.caption,n.lineHeight.normal,r.text.muted),rowTitle:{...d(n.size.body,n.lineHeight.normal,r.text.primary,"bold")},rowValue:{...d(n.size.body,n.lineHeight.normal,r.text.primary,"medium")},rowDetail:d(n.size.bodyTight,n.lineHeight.normal,r.text.muted),rowMuted:{...d(n.size.bodyTight,n.lineHeight.normal,r.text.muted),opacity:.7},chip:{...c(n.size.caption,n.lineHeight.normal,r.text.primary),alignSelf:"flex-start",padding:`${t.xs}px ${t.sm}px`,borderRadius:o.pill},chipNeutral:{backgroundColor:r.badgeBgNeutral},chipCaution:{backgroundColor:r.badgeBgCaution},chipCritical:{backgroundColor:r.badgeBgCritical},disclaimer:c(n.size.caption,n.lineHeight.normal,r.text.muted),timelineList:{display:"flex",flexDirection:"column",paddingBottom:t.xxl},timelineBand:{...c(n.size.caption,n.lineHeight.normal,r.text.secondary),borderRadius:o.md-t.xs/2,padding:t.md,backgroundColor:r.brandSoft,margin:`${t.xs}px ${t.lg}px ${t.md}px`},timelineSeparated:{borderTop:`1px solid ${r.brandBorder}`,marginLeft:Wo,paddingLeft:0},timelineRow:{display:"flex",gap:t.md,padding:`${t.md+t.xs/2}px ${t.lg}px`},timelineBubble:{boxSizing:"border-box",flexShrink:0,width:34,height:34,borderRadius:o.pill,backgroundColor:r.brandSoft,border:u},timelineBody:{flex:1,display:"flex",flexDirection:"column",gap:t.xs-1,minWidth:0},timelineKind:{...A(e,"mono"),fontSize:n.size.micro,lineHeight:`${n.size.bodyTight}px`,letterSpacing:n.letterSpacing.eyebrow/3,textTransform:"uppercase",color:r.text.secondary},timelineTitle:{...c(n.size.body,n.lineHeight.normal,r.text.primary,"medium")}}}i(Lm,"makeStyles");function Si(e,r={}){let t=Vr(),{userRef:o}=ie(),n=r.now??Date.now,[l,a]=react.useState(null),[c,s]=react.useState(true),[d,u]=react.useState(null),[p,f]=react.useState(null),y=p===true,[b,m]=react.useState({}),[S,R]=react.useState(false),[x,g]=react.useState(null),[h,v]=react.useState(false),[E,k]=react.useState(false),D=gn(e),I=react.useRef(0),P=react.useRef(true),O=react.useCallback(async()=>{let C=I.current+=1;if(s(true),u(null),o===null){a(null),s(false);return}let q=await t.listShares(e);C!==I.current||!P.current||(q.ok?(a(q.value),f(true)):it(q.error)?(a(null),f(false)):(a(null),u(q.error),Kl(q)&&f(true)),s(false));},[t,e,o]);react.useEffect(()=>(P.current=true,O(),()=>{P.current=false,I.current+=1;}),[O]);let B=react.useRef(D);react.useEffect(()=>{B.current!==D&&(B.current=D,m({}),k(true),O());},[D,O]);let M=react.useCallback(async()=>{R(true);let C=await t.createShare(e);return P.current&&(R(false),C.ok?(m(q=>({...q,[C.value.shareId]:C.value.shareUrl})),O()):it(C.error)?f(false):Mr(C.error)&&k(true)),C},[t,e,O]),H=react.useCallback(async C=>{g(C);let q=await t.revokeShare(e,C);return P.current&&(g(null),O()),q},[t,e,O]),G=react.useCallback(async()=>{v(true);let C=await t.getPdfLink(e);return P.current&&(v(false),!C.ok&&Mr(C.error)&&k(true)),C},[t,e]),Ce=react.useCallback(()=>{k(false),O();},[O]),Q=react.useMemo(()=>hs(l??[],b,n()),[l,b,n]),w=c?"loading":d!==null?"error":Q.length===0?"empty":"populated";return react.useMemo(()=>({status:w,rows:Q,available:y,consentRequired:E,error:d,creating:S,revokingId:x,preparingPdf:h,createLink:M,revoke:H,pdfLink:G,refresh:Ce}),[w,Q,y,E,d,S,x,h,M,H,G,Ce])}i(Si,"useRecordShares");function Kl(e){return e.ok||e.error.httpStatus!==void 0&&e.error.httpStatus!==404}i(Kl,"answeredBehindGate");function Ql(e){return e.available||e.status!=="empty"}i(Ql,"sharesListShown");function wi(e){let r=Vr(),{userRef:t}=ie(),o=react.useMemo(()=>({}),[r,e,t]),[n,l]=react.useState({scope:o,lit:null});react.useEffect(()=>{if(t===null)return;let c=true;return r.listShares(e).then(s=>{c&&(!s.ok&&it(s.error)?l({scope:o,lit:false}):Kl(s)&&l({scope:o,lit:true}));},()=>{}),()=>{c=false;}},[r,e,t,o]);let a=n.scope===o?n.lit:null;return react.useMemo(()=>({lit:a}),[a])}i(wi,"useRecordsDepthProbe");function ki(e){let r=Vr(),o=wi(e).lit===true,[n,l]=react.useState(false),[a,c]=react.useState(null),s=react.useRef(true);react.useEffect(()=>(s.current=true,()=>{s.current=false;}),[]);let d=react.useCallback(async()=>{l(true),c(null);let u=await r.getPdfLink(e);return s.current&&(l(false),u.ok||c(u.error)),u},[r,e]);return react.useMemo(()=>({preparing:n,available:o,error:a,pdfLink:d}),[n,o,a,d])}i(ki,"useRecordPdfLink");function _i(e){typeof window<"u"&&window.open(e,"_blank","noopener");}i(_i,"openInNewTab");function zm(e){return typeof navigator>"u"||!navigator.clipboard?Promise.reject(new Error("clipboard unavailable")):navigator.clipboard.writeText(e)}i(zm,"copyText");function Jl({petRef:e,onClose:r,onNavigate:t,onOpenUrl:o,onCopy:n,returnFocusTo:l}){let{theme:a,styles:c}=Z(),s=At(true,r,l),d=Si(e),[u,p]=react.useState(null),[f,y]=react.useState(null),b=d.available&&!d.consentRequired,m=i((v,E)=>{Wt(o??(D=>_i(D)),v,E).then(D=>{D.ok||p(le.toasts.shareSheet);});},"open"),S=i(()=>{p(null),d.createLink().then(v=>{v.ok?m(v.value.shareUrl,"share_link"):p(Tn(v.error,"create"));});},"onCreateLink"),R=i(()=>{p(null),d.pdfLink().then(v=>{v.ok?m(v.value.downloadUrl,"record_pdf"):p(Tn(v.error,"download"));});},"onDownload"),x=i(v=>{v.shareUrl!==null&&Wt(n??zm,v.shareUrl).then(E=>p(E.ok?le.toasts.copied:le.toasts.copyFailed));},"onCopyRow"),g=i(v=>{d.revoke(v).then(E=>{y(null),p(E.ok?le.toasts.turnedOff:Tn(E.error,"revoke"));});},"onConfirmRevoke"),h={display:"flex",flexDirection:"column",gap:a.space.sm,padding:a.space.md,borderRadius:a.radius.md,backgroundColor:a.color.surfaceCream,border:`1px solid ${a.color.brandBorder}`};return jsxRuntime.jsx("div",{style:c.sheetBackdrop,onClick:r,children:jsxRuntime.jsxs("div",{ref:s.dialogRef,role:"dialog","aria-modal":"true","aria-label":le.title,style:c.sheet,onClick:v=>v.stopPropagation(),onKeyDown:s.onKeyDown,"data-testid":"share-record-sheet",children:[jsxRuntime.jsx("span",{style:c.sheetHandle,"aria-hidden":"true"}),jsxRuntime.jsxs("div",{style:c.sheetHeader,children:[jsxRuntime.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:a.space.xs},children:[jsxRuntime.jsx("h3",{style:c.sheetTitle,children:le.title}),jsxRuntime.jsx("p",{style:c.sheetHelper,children:le.helper})]}),jsxRuntime.jsx("button",{type:"button",onClick:r,"aria-label":le.close,style:c.iconButton,"data-testid":"share-record-close",children:jsxRuntime.jsx("span",{style:c.closeGlyph,"aria-hidden":"true",children:"\xD7"})})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:a.space.sm},children:[t?jsxRuntime.jsx(ee,{label:le.viewDocument,onClick:()=>{r(),t({name:"document"});},testID:"share-view-document"}):null,b?jsxRuntime.jsx(ee,{label:d.creating?le.creatingLink:le.createLink,kind:"outline",busy:d.creating,onClick:S,testID:"share-create-link"}):null,b?jsxRuntime.jsx(ee,{label:d.preparingPdf?le.preparingPdf:le.downloadPdf,kind:"outline",busy:d.preparingPdf,onClick:R,testID:"share-download-pdf"}):null]}),d.consentRequired?jsxRuntime.jsxs("div",{style:h,"data-testid":"share-consent-off",children:[jsxRuntime.jsx("p",{style:c.rowTitle,children:le.consentOffTitle}),jsxRuntime.jsx("p",{style:c.muted,children:le.consentOffBody}),jsxRuntime.jsx(ee,{label:le.retry,kind:"outline",onClick:d.refresh,testID:"share-consent-retry"})]}):null,u?jsxRuntime.jsx("p",{role:"status","aria-live":"polite",style:c.infoNote,"data-testid":"share-notice",children:u}):null,Ql(d)?jsxRuntime.jsxs("section",{"aria-label":le.activeLinks,style:{display:"flex",flexDirection:"column",gap:a.space.sm},children:[jsxRuntime.jsx("h4",{style:{...c.fieldLabel,...A(a,"bold"),textTransform:"uppercase"},children:le.activeLinks}),d.status==="loading"?jsxRuntime.jsx(Ss,{testID:"share-record-loading"}):d.status==="error"?jsxRuntime.jsxs("div",{style:h,"data-testid":"share-record-error",children:[jsxRuntime.jsx("p",{style:c.rowTitle,children:le.errorTitle}),jsxRuntime.jsx("p",{style:c.muted,children:le.errorBody}),jsxRuntime.jsx(ee,{label:le.retry,kind:"outline",onClick:d.refresh,testID:"share-record-retry"})]}):d.rows.length===0?jsxRuntime.jsxs("div",{style:h,"data-testid":"share-record-empty",children:[jsxRuntime.jsx("p",{style:c.rowTitle,children:le.emptyTitle}),jsxRuntime.jsx("p",{style:c.muted,children:le.emptyBody})]}):jsxRuntime.jsx("ul",{style:{...c.plainList,gap:a.space.md},children:d.rows.map(v=>jsxRuntime.jsxs("li",{style:{...h},"data-testid":`share-row-${v.shareId}`,children:[jsxRuntime.jsxs("div",{"aria-label":v.a11yLabel,children:[jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:a.space.sm},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:a.space.sm,height:a.space.sm,borderRadius:a.space.xs,backgroundColor:v.active?a.color.success:a.color.text.muted}}),jsxRuntime.jsx("span",{style:{...c.rowTitle,...A(a,"bold")},children:v.statusLabel}),jsxRuntime.jsx("span",{style:c.muted,children:v.expiryLabel})]}),v.createdLabel?jsxRuntime.jsx("p",{style:c.muted,children:v.createdLabel}):null]}),f===v.shareId?jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:a.space.sm},"data-testid":`share-revoke-confirm-${v.shareId}`,children:[jsxRuntime.jsx("p",{style:c.bodyText,children:le.confirmTurnOff}),jsxRuntime.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:a.space.sm},children:[jsxRuntime.jsx(ee,{label:d.revokingId===v.shareId?le.turningOff:le.turnOff,kind:"danger",busy:d.revokingId===v.shareId,onClick:()=>g(v.shareId),testID:`share-revoke-do-${v.shareId}`}),jsxRuntime.jsx(ee,{label:le.keep,kind:"outline",disabled:d.revokingId===v.shareId,onClick:()=>y(null),testID:`share-revoke-cancel-${v.shareId}`})]})]}):jsxRuntime.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:a.space.sm},children:[jsxRuntime.jsx(ee,{label:le.copyLink,kind:"outline",disabled:v.shareUrl===null,ariaLabel:le.copyLinkA11y(v.actionContext),onClick:()=>x(v),testID:`share-copy-${v.shareId}`}),jsxRuntime.jsx(ee,{label:le.turnOff,kind:"danger",ariaLabel:le.turnOffA11y(v.actionContext),onClick:()=>y(v.shareId),testID:`share-ask-revoke-${v.shareId}`})]})]},v.shareId))})]}):null]})})}i(Jl,"ShareSheet");var mr=V.document,Zl=Object.freeze(["medication","vaccination","problem","allergy","procedure","body_weight","vital"]),Mm=i((e,r)=>e.getRecordDepth(r),"readDepth"),$m=i(e=>!e.available,"depthEmpty");function Um(e,r){return e.identity.length===0&&e.entities.length===0&&e.forwardLooking.length===0&&(r===null||r.labResults.length===0&&r.physicalExams.length===0&&r.clinicianNotes.length===0)}i(Um,"documentIsEmpty");function Ti(e){let{style:r,className:t,renderPending:o,...n}=Ie(e,["onBack"]),{userRef:l}=ie(),{theme:a,styles:c}=Z();return jsxRuntime.jsx(Ae,{capability:"records",style:r,className:t,...o?{renderPending:o}:{},...Ne(n.onBack,je),children:jsxRuntime.jsxs("div",{className:t,style:{...c.root,backgroundColor:a.color.surface,...r},"data-testid":"record-document-screen",children:[l===null?jsxRuntime.jsx("div",{style:c.body,children:jsxRuntime.jsx(pr,{label:Y.sessionRequired,glyph:"empty"})}):jsxRuntime.jsx(Bm,{...n}),jsxRuntime.jsx(qe,{})]})})}i(Ti,"EverfurRecordDocument");function Bm({petRef:e,petName:r,controller:t,consentVersion:o,onBack:n,onOpenUrl:l}){let{theme:a,styles:c}=Z(),s=ed(),d=react.useMemo(()=>t?{petRef:e,controller:t}:{petRef:e},[e,t]),u=Je(d),p=Tr(e,Mm,$m),f=ki(e),y=gt(o,u.consent),b=i(()=>{let h=at(o,u.consent);h.length!==0&&u.grantConsent(h,`records-consent-${Date.now().toString(36)}`);},"onGrant"),m=p.value!==null&&!p.value.withheld&&p.value.available?p.value:null,S=u.record,R=i(()=>{f.pdfLink().then(h=>{if(!h.ok)return;Wt(l??(E=>_i(E)),h.value.downloadUrl,"record_pdf");});},"download"),x,g=false;if(u.status==="loading"||p.status==="loading"&&S!==null)x=jsxRuntime.jsx("div",{"data-testid":"record-document-loading",children:jsxRuntime.jsx(Ml,{})});else if(u.status==="error"){let h=st(u,y);x=h.kind==="error"||h.kind==="pet_not_found"?jsxRuntime.jsx(Ve,{variant:tr(h.error),message:h.error.displayMessage,onAction:h.error.retryable?()=>{u.refresh(),p.refresh();}:void 0,testID:"record-document-error"}):Ft(u,b,y);}else S===null||Um(S,m)?x=jsxRuntime.jsx("p",{style:s.empty,"data-testid":"record-document-empty",children:mr.empty}):(g=true,x=jsxRuntime.jsx(jm,{record:S,depth:m,petName:r,wordmark:a.meta.displayName}));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(He,{title:mr.title,variant:"document",onBack:n,testID:"record-document-header",right:f.available&&g?jsxRuntime.jsx("button",{type:"button",onClick:R,disabled:f.preparing,"aria-busy":f.preparing,"aria-label":mr.download,style:c.iconButton,"data-testid":"record-document-download",children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"block",width:12,height:12,borderLeft:`2px solid ${a.color.brand}`,borderBottom:`2px solid ${a.color.brand}`,transform:"rotate(-45deg)"}})}):void 0}),f.error?jsxRuntime.jsx("p",{role:"alert",style:{...c.errorText,padding:`0 ${a.space.lg}px`},children:f.error.displayMessage}):null,jsxRuntime.jsx("div",{style:c.body,children:x})]})}i(Bm,"DocumentBody");function jm({record:e,depth:r,petName:t,wordmark:o}){let n=ed(),l=react.useMemo(()=>{let d=[],u=new Map;for(let y of e.entities){let b=y.category.trim();if(b.length===0)continue;let m=u.get(b);m===void 0?(d.push(b),u.set(b,[y])):m.push(y);}let p=Zl.filter(y=>d.includes(y)),f=d.filter(y=>!Zl.includes(y));return [...p,...f].map(y=>({type:y,rows:u.get(y)??[]}))},[e.entities]),a=Date.now(),c=i((d,u,p)=>jsxRuntime.jsxs("section",{style:n.section,"data-testid":p,children:[jsxRuntime.jsxs("div",{style:n.sectionHeader,children:[jsxRuntime.jsx("h3",{style:n.sectionTitle,children:d}),jsxRuntime.jsx("span",{style:n.rule})]}),jsxRuntime.jsx("div",{children:u})]},p),"section"),s=i((d,u)=>({...n.row,...d>0?n.rowDivider:{},...u}),"row");return jsxRuntime.jsxs("article",{style:n.page,"data-testid":"record-document",children:[jsxRuntime.jsxs("header",{style:n.letterhead,children:[jsxRuntime.jsx("span",{style:n.wordmark,children:o}),jsxRuntime.jsx("span",{style:n.docTitle,children:mr.docTitle}),jsxRuntime.jsx("span",{style:n.petName,children:t?.trim()||mr.namelessPet}),jsxRuntime.jsx("span",{style:n.generated,children:mr.generated(e.generatedAt)})]}),e.identity.length>0?c(mr.identity,e.identity.map((d,u)=>jsxRuntime.jsxs("div",{style:s(u),children:[jsxRuntime.jsx("span",{style:n.rowLabel,children:d.label}),jsxRuntime.jsx("span",{style:n.rowValue,children:d.value})]},`${u}:${d.label}`)),"record-document-identity"):null,r&&r.labResults.length>0?c(mr.labs,r.labResults.map((d,u)=>{let p=Fr(d.latest.status),f=Rl(d.points[d.points.length-1]??null),y=ar(d.latest.value,d.latest.unit??d.unit,d.latest.qualitativeResult);return jsxRuntime.jsxs("div",{style:s(u,p.outOfRange?n.rowFlag:void 0),children:[jsxRuntime.jsxs("span",{style:n.rowMain,children:[jsxRuntime.jsx("span",{style:n.rowLabel,children:d.name}),jsxRuntime.jsxs("span",{style:n.rowMeta,children:[f?mr.ref(f):mr.noRange,d.latest.at?` \xB7 ${K(d.latest.at)}`:""]})]}),jsxRuntime.jsxs("span",{style:n.rowRight,children:[y!=="-"?jsxRuntime.jsx("span",{style:{...n.rowValue,...p.outOfRange?n.alert:{}},children:y}):null,jsxRuntime.jsx("span",{style:{...n.markerStatus,...p.outOfRange?n.alert:{}},children:p.label})]})]},d.markerId)}),"record-document-labs"):null,l.map(({type:d,rows:u})=>c(nn(d),u.map((p,f)=>{let y=[wt(p.value,p.unit),p.observedAt?K(p.observedAt):null].filter(b=>b&&b.length>0).join(" \xB7 ");return jsxRuntime.jsx("div",{style:s(f),children:jsxRuntime.jsxs("span",{style:n.rowMain,children:[jsxRuntime.jsx("span",{style:n.rowLabel,children:p.label}),y?jsxRuntime.jsx("span",{style:n.rowMeta,children:y}):null]})},p.key)}),`record-document-${d}`)),e.forwardLooking.length>0?c(mr.upcomingCare,e.forwardLooking.map((d,u)=>{let p=on(d.dueAt,a);return jsxRuntime.jsxs("div",{style:s(u),children:[jsxRuntime.jsxs("span",{style:n.rowMain,children:[jsxRuntime.jsx("span",{style:n.rowLabel,children:d.title}),d.detail?jsxRuntime.jsx("span",{style:n.rowMeta,children:d.detail}):null]}),p?jsxRuntime.jsx("span",{style:{...n.rowValue,...p.overdue?n.alert:{}},children:p.label}):null]},`${d.title}-${u}`)}),"record-document-upcoming"):null,r&&r.physicalExams.length>0?c(mr.physicalExams,r.physicalExams.map((d,u)=>jsxRuntime.jsxs("div",{style:{...n.block,...u>0?n.rowDivider:{}},children:[d.observedOn?jsxRuntime.jsx("span",{style:n.blockDate,children:K(d.observedOn)}):null,d.systems.filter(p=>p.finding).map(p=>jsxRuntime.jsxs("div",{style:n.fieldRow,children:[jsxRuntime.jsx("span",{style:n.fieldLabel,children:_t(p.system)}),jsxRuntime.jsx("span",{style:n.fieldValue,children:p.finding})]},p.system))]},d.examId)),"record-document-exams"):null,r&&r.clinicianNotes.length>0?c(mr.clinicianNotes,r.clinicianNotes.map((d,u)=>jsxRuntime.jsxs("div",{style:{...n.block,...u>0?n.rowDivider:{}},children:[d.observedOn?jsxRuntime.jsx("span",{style:n.blockDate,children:K(d.observedOn)}):null,d.sections.filter(p=>p.text).map((p,f)=>jsxRuntime.jsxs("div",{style:n.noteSection,children:[jsxRuntime.jsx("span",{style:n.noteLabel,children:Pt(p.section)}),jsxRuntime.jsx("p",{style:n.noteBody,children:p.text})]},`${p.section}-${f}`))]},d.noteId)),"record-document-notes"):null,e.disclaimer.length>0?jsxRuntime.jsx("p",{style:n.disclaimer,children:e.disclaimer}):null]})}i(jm,"RecordDocument");function ed(){let e=ge();return react.useMemo(()=>Hm(e),[e])}i(ed,"useDocStyles");function Hm(e){let{color:r,space:t,radius:o,type:n}=e,l=i((s,d,u,p="regular")=>({margin:0,...A(e,p),fontSize:s,lineHeight:`${Math.round(s*d)}px`,color:u}),"text"),a=i((s,d)=>({margin:0,...A(e,"mono"),fontSize:s,lineHeight:`${s+t.xs-1}px`,color:d,letterSpacing:n.letterSpacing.eyebrow/2,textTransform:"uppercase"}),"monoText"),c=`1px solid ${r.borderHairlineGreen}`;return {empty:{...l(n.size.body,n.lineHeight.normal,r.text.muted,"medium"),textAlign:"center",padding:`${t.xxl}px ${t.xxl}px`},page:{padding:`0 ${t.lg+t.xs}px ${t.xxl+t.lg}px`,...A(e,"regular")},letterhead:{display:"flex",flexDirection:"column",alignItems:"center",gap:t.xs+t.xs/2,padding:`${t.md}px 0 ${t.lg+t.xs+t.xs/2}px`,borderBottom:`2px solid ${r.brand}`,marginBottom:t.sm},wordmark:{...l(n.size.heading,n.lineHeight.snug,r.brand,"bold"),letterSpacing:n.letterSpacing.headerBrand},docTitle:{...a(n.size.caption,r.brand),marginTop:t.sm+t.xs/2,letterSpacing:n.letterSpacing.eyebrow+.4},petName:l(n.size.verdict+t.xs/2,n.lineHeight.tight,r.text.primary),generated:{...a(n.size.tiny,r.text.muted),textTransform:"none"},section:{marginTop:t.lg+t.xs+t.xs/2},sectionHeader:{display:"flex",alignItems:"center",gap:t.sm+t.xs/2,marginBottom:t.sm},sectionTitle:a(n.size.tiny,r.brand),rule:{flex:1,height:1,backgroundColor:r.borderHairlineGreen},row:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:t.md+t.xs/2,padding:`${t.sm+1}px 0`},rowDivider:{borderTop:c},rowFlag:{backgroundColor:r.badgeBgCritical,margin:`0 -${t.sm}px`,padding:`${t.sm+1}px ${t.sm}px`,borderRadius:o.xs},rowMain:{display:"flex",flexDirection:"column",minWidth:0},rowRight:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:t.xs/2},rowLabel:{...l(n.size.body,n.lineHeight.normal,r.text.primary,"medium")},rowValue:{...l(n.size.body,n.lineHeight.normal,r.text.primary,"bold"),textAlign:"right"},alert:{color:r.danger},rowMeta:{marginTop:t.xs/2,...A(e,"mono"),fontSize:n.size.tiny,lineHeight:`${n.size.body}px`,color:r.text.muted},markerStatus:a(n.size.micro,r.text.muted),block:{padding:`${t.sm+t.xs/2}px 0`},blockDate:{...a(n.size.tiny,r.text.muted),display:"block",marginBottom:t.xs+t.xs/2},fieldRow:{display:"flex",alignItems:"flex-start",gap:t.md+t.xs/2,padding:`${t.xs-1}px 0`},fieldLabel:{width:120,flexShrink:0,...l(n.size.bodyTight,n.lineHeight.normal,r.text.muted,"medium")},fieldValue:{flex:1,...l(n.size.bodyTight,n.lineHeight.normal,r.text.primary,"medium")},noteSection:{marginTop:t.sm},noteLabel:{...a(n.size.tiny,r.brand),display:"block",marginBottom:t.xs/2},noteBody:l(n.size.bodyTight,n.lineHeight.relaxed,r.text.primary),disclaimer:{...l(n.size.tiny,n.lineHeight.relaxed,r.text.muted),marginTop:o.xl,paddingTop:t.md+t.xs/2,borderTop:c}}}i(Hm,"makeDocStyles");var Km=i((e,r)=>e.getRecordDepth(r),"readDepth"),Qm=i(e=>!e.available,"depthEmpty");function Di(e){let{style:r,className:t,renderPending:o,...n}=Ie(e,["onNavigate","onBack","onAsk"]),{userRef:l}=ie(),{styles:a}=Z();return jsxRuntime.jsx(Ae,{capability:"records",style:r,className:t,...o?{renderPending:o}:{},...Ne(n.onBack,je),children:jsxRuntime.jsxs("div",{className:t,style:{...a.root,...r},"data-testid":"everfur-record-screen",children:[l===null?jsxRuntime.jsx("div",{style:a.body,children:jsxRuntime.jsx(pr,{label:Y.sessionRequired,glyph:"empty"})}):jsxRuntime.jsx(Xm,{...n}),jsxRuntime.jsx(qe,{})]})})}i(Di,"EverfurRecordDetail");function Xm({petRef:e,petName:r,controller:t,consentVersion:o,onNavigate:n,onBack:l,onAsk:a,onOpenUrl:c,onCopy:s}){let{theme:d,styles:u}=Z(),p=react.useMemo(()=>t?{petRef:e,controller:t}:{petRef:e},[e,t]),f=Je(p),y=Tr(e,Km,Qm),b=fi(e),m=wi(e),[S,R]=react.useState(false),x=react.useRef(null),g=gt(o,f.consent),h=i(()=>{let P=at(o,f.consent);P.length!==0&&f.grantConsent(P,`records-consent-${Date.now().toString(36)}`);},"onGrant"),v=y.value!==null&&!y.value.withheld&&y.value.available?y.value:null,E=f.record,k=i(()=>{f.refresh(),y.refresh();},"retry"),D=n!==void 0||m.lit===true,I;if(f.status==="loading"||y.status==="loading"&&E!==null&&!E.isEmpty)I=jsxRuntime.jsx(Dn,{testID:"everfur-record-loading"});else if(f.status==="error"){let P=st(f,g);I=P.kind==="error"||P.kind==="pet_not_found"?jsxRuntime.jsx(Ve,{variant:tr(P.error),message:P.error.displayMessage,onAction:P.error.retryable?k:void 0,testID:"everfur-record-error"}):Ft(f,h,g);}else if(E===null||E.isEmpty){let P=v?.completeness?.documentsInReview??0;I=jsxRuntime.jsxs("div",{style:u.content,"data-testid":"everfur-record-empty",children:[jsxRuntime.jsx(Ve,{variant:"no_records",message:P>0?V.inReview(P):void 0}),jsxRuntime.jsx(nt,{disclaimer:E?.disclaimer??""})]});}else I=jsxRuntime.jsx("div",{style:{...u.content,gap:d.space.lg+d.space.xs,paddingBottom:d.space.xxl+d.space.sm},"data-testid":"everfur-record",children:jsxRuntime.jsx(Bn,{record:E,depth:v,petName:r,onNavigate:n,onAsk:a,factEdit:b})});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(He,{title:V.title,onBack:l,testID:"everfur-record-header",right:D||n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[n?jsxRuntime.jsx("button",{type:"button",onClick:()=>n({name:"clinicBatch"}),"aria-label":V.requestClinicsA11y,style:u.iconButton,"data-testid":"everfur-record-request-clinics",children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"block",width:14,height:14,border:`2px solid ${d.color.brand}`,transform:"rotate(45deg)"}})}):null,D?jsxRuntime.jsx("button",{ref:x,type:"button",onClick:()=>R(true),"aria-label":V.shareA11y,style:u.iconButton,"data-testid":"everfur-record-share",children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"block",width:16,height:16,borderRadius:d.radius.pill,border:`2px solid ${d.color.brand}`}})}):null]}):void 0}),jsxRuntime.jsx("div",{style:u.body,children:I}),S?jsxRuntime.jsx(Jl,{petRef:e,onClose:()=>R(false),returnFocusTo:x,onNavigate:n,...c?{onOpenUrl:c}:{},...s?{onCopy:s}:{}}):null]})}i(Xm,"RecordBody");var Jm=Math.round(Ir/(1024*1024)),Ge=Object.freeze({title:i(e=>`Upload ${Fe(e)}\u2019s records`,"title"),subtitle:i(e=>`Already have lab results, a vet summary, or test reports? Add them here and we\u2019ll read them and pull out ${Fe(e)}\u2019s health markers.`,"subtitle"),noPet:"Select a pet first, then upload their records.",cardTitle:"Add records",cardSubtitle:`Upload PDF records you already have, up to ${Jm} MB each. You can pick several at once. We\u2019ll read them and add the results to your records.`,chooseFiles:"Choose files",chooseFilesA11y:"Choose records to upload",uploading:i((e,r)=>`Uploading ${e+1} of ${r}\u2026`,"uploading"),cancel:"Cancel",cancelA11y:"Cancel these uploads",received:i(e=>`${e===1?"Record received.":`${e} records received.`} We\u2019ll read and review ${e===1?"it":"them"}, then add the results to your records, usually within 1-2 business days.`,"received"),retryFailed:i(e=>`Retry ${e} that didn\u2019t upload`,"retryFailed"),retryFailedA11y:i(e=>`Retry ${e} failed upload${e>1?"s":""}`,"retryFailedA11y"),addMore:"Add more files",addMoreA11y:"Add more records",done:"Done",doneA11y:"Done, view records",errors:Object.freeze({start:"We couldn\u2019t start that upload. Check your connection and try again.",startPlain:"We couldn\u2019t start that upload. Please try again.",upload:"We couldn\u2019t upload that record. Check your connection and try again."})});function Ai(e){let{style:r,className:t,renderPending:o,...n}=Ie(e,["onNavigate","onBack"]),{userRef:l}=ie(),{styles:a}=Z();return jsxRuntime.jsx(Ae,{capability:"records",style:r,className:t,...o?{renderPending:o}:{},...Ne(n.onBack,je),children:jsxRuntime.jsxs("div",{className:t,style:{...a.root,...r},"data-testid":"upload-screen",children:[l===null?jsxRuntime.jsx("div",{style:a.body,children:jsxRuntime.jsx(pr,{label:Y.sessionRequired,glyph:"empty"})}):jsxRuntime.jsx(rf,{...n}),jsxRuntime.jsx(qe,{})]})})}i(Ai,"EverfurRecordsUpload");function rf({petRef:e,petName:r,controller:t,onNavigate:o,onBack:n}){let{theme:l,styles:a}=Z(),{runtime:c}=ie(),s=react.useMemo(()=>t?{petRef:e,controller:t}:{petRef:e},[e,t]),d=Je(s),u=t!==void 0||mn(c.registry.services.uploadTransport);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(He,{title:"",onBack:n,testID:"upload-header"}),jsxRuntime.jsxs("div",{style:{...a.body,...a.content,padding:l.space.lg+l.space.xs,gap:l.space.lg+l.space.xs},children:[jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:l.space.sm,textAlign:"center"},children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{display:"block",width:52,height:52,borderRadius:l.radius.pill,backgroundColor:l.color.brandSoft,border:`1px solid ${l.color.brandBorder}`}}),jsxRuntime.jsx("h3",{style:{...a.sectionTitle,fontSize:l.type.size.heading+2,color:l.color.brand},children:Ge.title(r)}),jsxRuntime.jsx("p",{style:{...a.muted,fontSize:l.type.size.body,maxWidth:340},children:Ge.subtitle(r)})]}),jsxRuntime.jsx(qi,{records:d,requestId:null,canUpload:u,onDone:o?p=>o({name:"request",requestId:p}):void 0})]})]})}i(rf,"UploadBody");function qi({records:e,requestId:r,canUpload:t,onDone:o}){let{theme:n,styles:l}=Z(),a=react.useRef(null),[c,s]=react.useState(null),[d,u]=react.useState(0),[p,f]=react.useState(false),y=react.useRef(r),b=react.useRef([]),m=e.uploadQueue.filter(k=>k.status!=="skipped"),S=m.filter(k=>k.status==="done").length,R=m.filter(k=>k.status==="failed").length,x=!e.isUploading&&!p&&d>0,g=react.useCallback(async k=>{if(k.length!==0){s(null),f(true);try{let D=y.current;if(D===null){let P=await e.createRequest(`records-upload-${Date.now().toString(36)}`);if(!P.ok){s(Ge.errors.start);return}D=P.value.id,y.current=D;}u(P=>P+1);let I=await e.uploadDocuments(D,k);b.current=I.flatMap((P,O)=>P.status==="failed"&&k[O]!==void 0?[k[O]]:[]);}finally{f(false);}}},[e]),h=i(k=>{let D=Array.from(k.currentTarget.files??[]);k.currentTarget.value="",!(D.length===0||!t)&&(async()=>{let I=[];for(let P of D)I.push(await Hn(P));if(I.length===1&&!bi(I[0])){s(Ge.errors.upload);return}await g(I);})();},"onChange"),v=i(()=>a.current?.click(),"pick"),E=e.isUploading||p;return jsxRuntime.jsxs("section",{style:{...l.creamCard,backgroundColor:n.color.surface,border:`1px solid ${n.color.brandSoft}`,borderRadius:n.radius.md},"data-testid":"records-upload-card",children:[jsxRuntime.jsx("h4",{style:{...l.rowTitle,...A(n,"bold"),fontSize:n.type.size.subtitle},children:Ge.cardTitle}),jsxRuntime.jsx("p",{style:l.muted,children:Ge.cardSubtitle}),jsxRuntime.jsx("input",{ref:a,type:"file",accept:jn,multiple:true,tabIndex:-1,"aria-hidden":"true",hidden:true,disabled:!t,onChange:h,"data-testid":"records-upload-input"}),c?jsxRuntime.jsx("p",{role:"alert",style:l.errorBanner,children:c}):null,jsxRuntime.jsx($l,{records:e}),E?jsxRuntime.jsx("p",{style:l.muted,children:Ge.uploading(S,m.length)}):x?jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:n.space.sm},children:[S>0?jsxRuntime.jsx("p",{role:"status",style:l.bodyText,children:Ge.received(S)}):null,R>0?jsxRuntime.jsx(ee,{label:Ge.retryFailed(R),kind:"link",ariaLabel:Ge.retryFailedA11y(R),onClick:()=>{g(b.current);},testID:"records-upload-retry-failed"}):null,jsxRuntime.jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:n.space.sm},children:[jsxRuntime.jsx(ee,{label:Ge.addMore,kind:"link",ariaLabel:Ge.addMoreA11y,disabled:!t,onClick:v,testID:"records-upload-another"}),o&&y.current!==null&&S>0?jsxRuntime.jsx(ee,{label:Ge.done,ariaLabel:Ge.doneA11y,onClick:()=>o(y.current),testID:"records-upload-done"}):null]})]}):jsxRuntime.jsx(ee,{label:Ge.chooseFiles,ariaLabel:Ge.chooseFilesA11y,disabled:!t,onClick:v,testID:"records-upload-choose"})]})}i(qi,"UploadRecordCard");function Fi(e){let{style:r,className:t,renderPending:o,...n}=Ie(e,["onNavigate","onBack"]),{userRef:l}=ie(),{styles:a}=Z();return jsxRuntime.jsx(Ae,{capability:"records",style:r,className:t,...o?{renderPending:o}:{},...Ne(n.onBack,je),children:jsxRuntime.jsxs("div",{className:t,style:{...a.root,...r},"data-testid":"records-request-screen",children:[l===null?jsxRuntime.jsx("div",{style:a.body,children:jsxRuntime.jsx(pr,{label:Y.sessionRequired,glyph:"empty"})}):jsxRuntime.jsx(af,{...n}),jsxRuntime.jsx(qe,{})]})})}i(Fi,"EverfurRecordsRequest");function af({petRef:e,requestId:r,controller:t,onNavigate:o,onBack:n,nowMs:l}){let{styles:a}=Z(),{runtime:c,userRef:s,scopeEpoch:d}=ie(),u=Je(t?{petRef:e,controller:t}:{petRef:e}),p=u.requests.find(b=>b.id===r)??null,f=t!==void 0||mn(c.registry.services.uploadTransport),y;return u.status==="loading"?y=jsxRuntime.jsx(Cs,{testID:"records-request-loading"}):u.status==="error"&&u.error?y=jsxRuntime.jsx(Ve,{variant:tr(u.error),message:u.error.displayMessage,onAction:u.error.retryable?u.refresh:void 0,testID:"records-request-error"}):p===null?y=jsxRuntime.jsx(Ve,{variant:"no_requests",testID:"records-request-missing"}):y=jsxRuntime.jsx(sf,{request:p,records:u,canUpload:f,onNavigate:o,nowMs:l},JSON.stringify([s,d,p.id])),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(He,{title:p?Nn(p):"",onBack:n,testID:"records-request-header"}),jsxRuntime.jsx("div",{style:a.body,children:y})]})}i(af,"RequestBody");function sf({request:e,records:r,canUpload:t,onNavigate:o,nowMs:n}){let{theme:l,styles:a}=Z(),c=Il({request:e,onRecovered:r.refresh,canUpload:t},Sr()),[s,d]=react.useState(null),[u,p]=react.useState(false),[f,y]=react.useState(null),b=react.useRef(true);react.useEffect(()=>(b.current=true,()=>{b.current=false;}),[]);let m=c.request,S=n??Date.now(),R=m.status==="published",x=m.status==="published"||m.status==="failed"||m.status==="revoked",g=wo(m),h=m.wireStatus==="clinic_responded_no_records",v=Da(m,S),E=x?null:m.waitingExpectation?.trim()||null,k=Fn(m),D=c.error!==null&&s!==null?s==="revoke"?ye.errors.cancel:ye.errors[s]:null,I=i((H,G)=>{d(H),G();},"run"),P=i(()=>{u||(p(true),y(null),r.createRequest(`records-upload-${Date.now().toString(36)}`).then(H=>{if(b.current){if(p(false),!H.ok){y(ye.errors.start);return}o?.({name:"request",requestId:H.value.id});}}));},"startFresh"),O={display:"flex",flexDirection:"column",gap:l.space.sm},B=i(H=>jsxRuntime.jsx("p",{role:"alert",style:a.errorBanner,children:H}),"errorBanner"),M=`records-failure-clinic-email-${m.id}`;return jsxRuntime.jsxs("div",{style:{...a.content,gap:l.space.lg+l.space.xs/2},"data-testid":`records-request-${m.id}`,children:[jsxRuntime.jsx(Gn,{request:m}),m.status==="awaiting_upload"?jsxRuntime.jsx(qi,{records:r,requestId:m.id,canUpload:t}):null,m.statusLabel.length>0?jsxRuntime.jsx("p",{style:a.statusCard,children:m.statusLabel}):null,E&&!v?jsxRuntime.jsx("p",{style:a.infoNote,children:E}):m.wireStatus==="awaiting_response"&&!v?jsxRuntime.jsx("p",{style:a.infoNote,children:ye.awaitingNote}):null,v?jsxRuntime.jsx("p",{style:a.cautionNote,"data-testid":"records-request-waiting-banner",children:ye.waitingBanner(So(m,S))}):null,R&&o?jsxRuntime.jsx(ee,{label:ye.viewRecords,onClick:()=>o({name:"dashboard"}),testID:"records-request-view-dashboard"}):null,Ia(m)?jsxRuntime.jsxs("section",{style:{...O,gap:l.space.md,borderRadius:l.radius.lg-l.space.xs,padding:l.space.md+l.space.xs/2,backgroundColor:g?l.color.badgeBgCritical:l.color.badgeBgCaution},"data-testid":"records-failure-card",children:[jsxRuntime.jsx("p",{style:{...a.rowTitle,...A(l,"bold"),color:g?l.color.danger:l.color.warningStrong},children:Ta(m)}),m.canUpdateClinicEmail!==true&&m.canRetrySend!==true?jsxRuntime.jsx("p",{style:a.rowDetail,children:ye.nextStep}):null,m.canUpdateClinicEmail===true?jsxRuntime.jsxs("div",{style:O,children:[jsxRuntime.jsx("label",{htmlFor:M,style:a.fieldLabel,children:Dr.email}),jsxRuntime.jsx("input",{id:M,type:"email",style:a.field,placeholder:Dr.emailPlaceholder,autoComplete:"off",maxLength:320,value:c.email,disabled:c.busy,onChange:H=>c.setEmail(H.target.value),"data-testid":"records-failure-clinic-email"}),c.emailInvalid?jsxRuntime.jsx("p",{role:"alert",style:a.errorText,children:ye.errors.invalidEmail}):null,jsxRuntime.jsx(ee,{label:Dr.updateEmail,ariaLabel:Dr.updateEmailA11y,disabled:!c.canUpdateEmail,busy:c.busy&&s==="email",onClick:()=>I("email",c.updateEmail),testID:"records-failure-update-email"})]}):null,m.canRetrySend===true?jsxRuntime.jsx(ee,{label:Dr.retry,kind:"outline",ariaLabel:Dr.retryA11y,disabled:!c.canRetry,busy:c.busy&&s==="retry",onClick:()=>I("retry",c.retry),testID:"records-failure-retry-send"}):null,m.canRetrySend===true&&c.hasEmailEdit?jsxRuntime.jsx("p",{style:a.rowDetail,children:Dr.retryHint}):null,D&&(s==="email"||s==="retry")?B(D):null]}):null,(g||h)&&o?jsxRuntime.jsx(ee,{label:ye.tryAnotherClinic,kind:"outline",ariaLabel:ye.tryAnotherClinicA11y,onClick:()=>o({name:"clinicPicker"}),testID:"records-request-try-another-clinic"}):null,k!==null?jsxRuntime.jsxs("div",{style:O,children:[jsxRuntime.jsx(Ul,{call:k,prompt:m.statusLabel}),m.canRetrySend===true?jsxRuntime.jsx(ee,{label:c.busy&&s==="retry"?ye.resending:ye.resend,kind:"outline",ariaLabel:c.busy&&s==="retry"?ye.resendingA11y:ye.resendA11y,disabled:!c.canRetry,onClick:()=>I("retry",c.retry),testID:"records-resend-authorization"}):null]}):null,c.canConvert?jsxRuntime.jsxs("div",{style:O,children:[jsxRuntime.jsx(ee,{label:c.busy&&s==="convert"?ye.converting:ye.convert,busy:c.busy&&s==="convert",onClick:()=>I("convert",c.convert),testID:"records-convert-upload"}),jsxRuntime.jsx("p",{style:a.muted,children:ye.convertHint}),D&&s==="convert"?B(D):null]}):null,x&&!R?jsxRuntime.jsxs("div",{style:O,children:[jsxRuntime.jsx(ee,{label:u?ye.freshUploadStarting:ye.freshUpload,kind:g||h?"outline":"primary",busy:u,onClick:P,testID:"records-upload-own-fresh"}),f?B(f):null]}):null,D&&s==="revoke"?B(D):null,m.canRevoke===true?c.confirmingRevoke?jsxRuntime.jsxs("div",{style:O,"data-testid":"records-revoke-confirm",children:[jsxRuntime.jsx("p",{style:{...a.rowTitle,...A(l,"bold"),fontSize:l.type.size.subtitle},children:Dr.cancelQuestion}),jsxRuntime.jsx("p",{style:a.bodyText,children:Dr.cancelConsequence}),jsxRuntime.jsx(ee,{label:c.busy&&s==="revoke"?ye.cancelling:ye.cancel,kind:"danger",ariaLabel:c.busy&&s==="revoke"?ye.cancellingA11y:ye.cancelA11y,busy:c.busy&&s==="revoke",onClick:()=>I("revoke",c.revoke),testID:"records-revoke-do"}),jsxRuntime.jsx(ee,{label:Dr.keepRequest,kind:"outline",disabled:c.busy,onClick:c.keepRequest,testID:"records-revoke-keep"})]}):jsxRuntime.jsx(ee,{label:ye.cancel,kind:"danger",ariaLabel:ye.cancelA11y,disabled:c.busy,onClick:c.askRevoke,testID:"records-revoke"}):null]})}i(sf,"RequestDetail");function nd(e){let{petRef:r,petName:t,controller:o,clinicController:n,consentVersion:l,ownerName:a,onCaptureSignature:c,initialScreen:s,historyMode:d="memory",onExit:u,style:p,className:f,renderPending:y,onOpenUrl:b,onCopy:m,onAsk:S,location:R}=Ie(e,["onExit"]),[x,g]=react.useReducer(vo,s,vn),h=Cn(x),v=x.stack.length,E=react.useRef(v);E.current=v;let k=react.useRef(v),D=react.useRef(false);react.useEffect(()=>{if(d!=="browser"||typeof window>"u")return;let G=i(Ce=>{let Q=Ce.state;(typeof Q?.efRecords=="number"?Q.efRecords:1)<E.current&&(D.current=true,g({type:"pop"}));},"onPopState");return window.addEventListener("popstate",G),()=>window.removeEventListener("popstate",G)},[d]),react.useEffect(()=>{if(d!=="browser"||typeof window>"u")return;let G=k.current;v>G?window.history.pushState({efRecords:v},""):v<G&&!D.current&&window.history.go(v-G),D.current=false,k.current=v;},[d,v]);let I=react.useCallback(G=>g({type:"navigate",screen:G}),[]),P=react.useMemo(()=>En(x).handled?()=>g({type:"pop"}):u,[x,u]),O={onNavigate:I,...P?{onBack:P}:{},...t!==void 0?{petName:t}:{},...b?{onOpenUrl:b}:{},...m?{onCopy:m}:{},...S?{onAsk:S}:{},...R?{location:R}:{}},B={...o?{controller:o}:{},...l!==void 0?{consentVersion:l}:{}},M={...p?{style:p}:{},...f!==void 0?{className:f}:{}},H=y?{renderPending:y}:{};switch(h.name){case "dashboard":return jsxRuntime.jsx(Ei,{petRef:r,...O,...B,...H,...M});case "request":return jsxRuntime.jsx(Fi,{petRef:r,requestId:h.requestId,...O,...o?{controller:o}:{},...H,...M});case "timeline":return jsxRuntime.jsx(Wl,{petRef:r,...O,...M});case "record":return jsxRuntime.jsx(Di,{petRef:r,...O,...B,...H,...M});case "document":return jsxRuntime.jsx(Ti,{petRef:r,...O,...B,...H,...M});case "contributions":return jsxRuntime.jsx(Gl,{petRef:r,docId:h.docId,...O,...M});case "clinicPicker":return jsxRuntime.jsx(Go,{petRef:r,...O,...n?{controller:n}:{},...o?{recordsController:o}:{},...M});case "clinicBatch":return jsxRuntime.jsx(Jo,{petRef:r,petName:t??"",ownerName:a??"",...P?{onClose:P}:{},onCreated:()=>g({type:"navigate",screen:{name:"dashboard"}}),...c?{onCaptureSignature:c}:{},...n?{controller:n}:{},...M});case "consent":return jsxRuntime.jsx(ai,{petRef:r,clinic:h.clinic,...O,...a!==void 0?{ownerName:a}:{},...c?{onCaptureSignature:c}:{},...n?{controller:n}:{},...M});case "upload":return jsxRuntime.jsx(Ai,{petRef:r,...O,...o?{controller:o}:{},...H,...M});default:return Xr(h)}}i(nd,"EverfurRecordsFlow");var pf=nd;function mf(e){let{userRef:r,scopeEpoch:t}=ie();return jsxRuntime.jsx(Ae,{capability:"recordsClinic",...Ne(e.onClose,J.cancel),children:r===null?jsxRuntime.jsx("p",{role:"alert",children:Y.sessionRequired}):jsxRuntime.jsx(ff,{...Ie(e,["onClose","onCreated"])},JSON.stringify([r,t,e.petRef,e.petName]))})}i(mf,"EverfurClinicRequest");function ff(e){let r=Sr(),t=e.controller??r,o=ge(),n={current:null},l=ft(()=>n.current?.invalidate()),a=ws(e,t,e.onCaptureSignature??(async u=>l.signed?l.register(t,u.signal):null));n.current=a;let c={minHeight:44,padding:o.space.sm,border:`1px solid ${o.color.borderHairlineGreen}`,borderRadius:o.radius.sm,background:o.color.surface,color:o.color.text.primary,font:"inherit"},s={...c,cursor:"pointer"},d=i(()=>{a.busy||l.clear();},"clear");return jsxRuntime.jsxs("section",{className:e.className,"aria-label":J.title,style:{background:o.color.surface,color:o.color.text.primary,padding:o.space.lg,borderRadius:o.radius.lg,minHeight:120,minWidth:0,overflowWrap:"anywhere",...e.style},children:[jsxRuntime.jsx("h2",{style:{margin:0,fontSize:o.type.size.heading},children:J.title}),jsxRuntime.jsx("p",{style:{margin:`${o.space.sm}px 0 ${o.space.lg}px`},children:e.petName}),a.created?jsxRuntime.jsx("p",{role:"status",children:a.created.statusLabel||Y.records}):jsxRuntime.jsxs("div",{style:{display:"grid",gap:o.space.md},children:[jsxRuntime.jsxs("label",{children:[J.ownerName,jsxRuntime.jsx("input",{style:{...c,display:"block",width:"100%",boxSizing:"border-box"},maxLength:200,value:a.ownerName,disabled:a.busy,autoComplete:"name",onChange:u=>{d(),a.setOwnerName(u.target.value);}})]}),jsxRuntime.jsxs("label",{children:[J.clinic,jsxRuntime.jsx("input",{style:{...c,display:"block",width:"100%",boxSizing:"border-box"},placeholder:J.placeholder,maxLength:200,value:a.query,disabled:a.busy,autoComplete:"off",onChange:u=>{d(),a.setQuery(u.target.value);}})]}),jsxRuntime.jsx("button",{type:"button",style:s,disabled:a.busy||a.searching||a.query.trim().length<2,onClick:()=>{a.search();},children:J.search}),a.searching&&jsxRuntime.jsx("p",{role:"status",children:Y.loading}),a.recent.length>0&&jsxRuntime.jsx("h3",{style:{margin:`${o.space.sm}px 0 0`,fontSize:o.type.size.subtitle},"data-testid":"records-clinic-recent-label",children:J.recentlyUsed}),a.recent.map(u=>jsxRuntime.jsxs("button",{type:"button",style:s,disabled:a.busy,onClick:()=>{d(),a.selectClinic(u);},children:[u.name,u.address?`, ${u.address}`:"",u.phone?`, ${u.phone}`:""]},`recent-${u.id}`)),a.clinics.map(u=>jsxRuntime.jsxs("button",{type:"button",style:s,disabled:a.busy,onClick:()=>{d(),a.selectClinic(u);},children:[u.name,u.address?`, ${u.address}`:"",u.phone?`, ${u.phone}`:""]},u.id)),a.needsEmail&&jsxRuntime.jsxs("label",{children:[J.email,jsxRuntime.jsx("input",{style:{...c,display:"block",width:"100%",boxSizing:"border-box"},type:"email",placeholder:J.emailPlaceholder,maxLength:320,autoComplete:"off",value:a.email,disabled:a.busy,onChange:u=>{d(),a.setEmail(u.target.value);}})]}),jsxRuntime.jsx("h3",{style:{margin:`${o.space.sm}px 0 0`,fontSize:o.type.size.subtitle},children:J.scopeHeading}),a.copy?jsxRuntime.jsx("p",{style:{whiteSpace:"pre-wrap",margin:0},children:a.query.trim()&&a.ownerName.trim()?a.scope??L("internalError").displayMessage:Y.consentRequired}):!a.error&&jsxRuntime.jsx("p",{role:"status",children:Y.loading}),!e.onCaptureSignature&&jsxRuntime.jsx(yt,{pad:l,disabled:a.busy}),a.error&&jsxRuntime.jsx("p",{role:"alert",children:a.error.displayMessage}),!a.copy&&a.error&&jsxRuntime.jsx("button",{type:"button",style:s,onClick:a.retryCopy,children:Y.retry}),jsxRuntime.jsx("button",{type:"button",style:{...s,background:o.color.primary,color:o.color.onPrimary,opacity:a.busy||!a.ready||!e.onCaptureSignature&&!l.signed?.5:1},disabled:a.busy||!a.ready||!e.onCaptureSignature&&!l.signed,onClick:()=>{a.submit();},children:a.busy?J.sending:J.send})]}),e.onClose&&jsxRuntime.jsx("button",{type:"button",style:s,disabled:a.busy,onClick:e.onClose,children:J.cancel}),jsxRuntime.jsx(qe,{})]})}i(ff,"ClinicRequestBody");var yf="file",gf="document.pdf",bf="records upload: the file handle carries no bytes",od="records upload failed";function hf(e={}){let r=e.xhr??(()=>new XMLHttpRequest);return Object.freeze({postMultipart(t,o,n){return new Promise((l,a)=>{let c=o.blob;if(c===void 0){a(new Error(bf));return}let{signal:s,onProgress:d}=n;if(s?.aborted===true){a(new Error(od));return}let u=new FormData;for(let[m,S]of Object.entries(t.upload_fields))u.append(m,S);u.append(yf,c,gf);let p=r(),f=false,y=i(m=>{f||(f=true,s?.removeEventListener("abort",b),m?l():a(new Error(od)));},"settle"),b=i(()=>{p.abort(),y(false);},"onAbort");p.open("POST",t.upload_url,true),p.withCredentials=false,d&&(p.upload.onprogress=m=>{!m.lengthComputable||m.total<=0||d(Math.min(1,Math.max(0,m.loaded/m.total)));}),p.onload=()=>y(p.status>=200&&p.status<300),p.onerror=()=>y(false),p.onabort=()=>y(false),p.ontimeout=()=>y(false),s?.addEventListener("abort",b,{once:true}),p.send(u);})}})}i(hf,"createWebRecordsUploadTransport");
4
+ exports.EverfurClinicPicker=Go;exports.EverfurClinicRequest=mf;exports.EverfurClinicRequestBatch=Jo;exports.EverfurRecordDetail=Di;exports.EverfurRecordDocument=Ti;exports.EverfurRecords=pf;exports.EverfurRecordsConsent=ai;exports.EverfurRecordsDashboard=Ei;exports.EverfurRecordsFlow=nd;exports.EverfurRecordsRequest=Fi;exports.EverfurRecordsUpload=Ai;exports.RECORDS_CLINIC_BATCH_MAX=xt;exports.RECORDS_DOCUMENT_ACCEPT=jn;exports.RECORDS_TERMINAL=ta;exports.REQUEST_TIMELINE_TITLES=ln;exports.SignatureCanvas=yt;exports.applyFactOverlay=pi;exports.buildRequestTimeline=vi;exports.createWebRecordsUploadTransport=hf;exports.currentRecordsScreen=Cn;exports.deriveRecordsDashboardState=Eo;exports.fileToHandle=Hn;exports.initialRecordsNav=vn;exports.isFactEditable=mi;exports.isPdfBlob=Dl;exports.isTerminalStatus=Et;exports.isUploadableHandle=bi;exports.pickDocument=Mp;exports.pickPetRecordsRequest=xn;exports.popRecordsNav=En;exports.pushRecordsNav=bo;exports.recordsDenialReasonOf=Kr;exports.recordsNavReducer=vo;exports.replaceRecordsNav=ho;exports.resetRecordsNav=Ro;exports.selectClinicCall=Fn;exports.selectDashboardView=xo;exports.selectPrimaryLabel=rn;exports.selectRequestList=Sp;exports.selectRequestTitle=Nn;exports.transitionRecordsNav=xa;exports.useEverfurRecords=Je;exports.useEverfurRecordsClinic=Sr;exports.useEverfurRecordsClinicBatch=Po;exports.useRecordFactEdit=fi;exports.useRecordPdfLink=ki;exports.useRecordShares=Si;exports.useRecordsMarkers=oi;exports.useSignatureCanvas=ft;