@everfur/sdk 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +80 -0
- package/dist/{Chat.d-aycmX1CA.d.cts → Chat.d-CtfANk3A.d.cts} +3 -3
- package/dist/{Chat.d-puminpyi.d.ts → Chat.d-a7Ksz7NZ.d.ts} +3 -3
- package/dist/{DepthViews.d-BdvFZgPs.d.cts → DepthViews.d-BqMnWSMu.d.cts} +1 -1
- package/dist/{DepthViews.d-Dy0Zl-s-.d.ts → DepthViews.d-CuBElgEc.d.ts} +1 -1
- package/dist/{DepthViews.d-DIvxzLDf.d.ts → DepthViews.d-DbJejGm3.d.ts} +1 -1
- package/dist/{DepthViews.d-wLNkzk9f.d.cts → DepthViews.d-dXWL6ToG.d.cts} +1 -1
- package/dist/{RecordsPage.d-9Ank15PT.d.ts → RecordsPage.d-DKrZ9rHX.d.ts} +1 -1
- package/dist/{RecordsPage.d-DMKU0IKc.d.cts → RecordsPage.d-DRPdUAo4.d.cts} +1 -1
- package/dist/animations/index.cjs +1 -1
- package/dist/animations/index.d.cts +5 -3
- package/dist/animations/index.d.ts +5 -3
- package/dist/animations/index.js +1 -1
- package/dist/{attachments.d-rp3xs-Q3.d.ts → attachments.d-BGn2_knv.d.ts} +5 -5
- package/dist/{attachments.d--sIsfk6e.d.ts → attachments.d-CoQhXrP9.d.ts} +2 -2
- package/dist/{attachments.d-DNUCiyy5.d.cts → attachments.d-CpaOfi2g.d.cts} +5 -5
- package/dist/{attachments.d-ZEpTUeWN.d.cts → attachments.d-CqHMGoER.d.cts} +2 -2
- package/dist/{bookingCopy.d-DUrmVcLs.d.cts → bookingCopy.d-Bnq2zk0F.d.cts} +2 -2
- package/dist/{bookingCopy.d-D0uIIFAJ.d.ts → bookingCopy.d-BwCOCZUj.d.ts} +2 -2
- package/dist/{branding.d-CTXTUg_8.d.cts → branding.d-Bbc6p1XY.d.cts} +1 -1
- package/dist/{branding.d-DxJSoFce.d.ts → branding.d-y6c0UwhE.d.ts} +1 -1
- package/dist/{casesRepository.d-DCnix2pT.d.cts → casesRepository.d-CsUJ2Oyb.d.cts} +1 -1
- package/dist/{casesRepository.d-DbirgbyH.d.ts → casesRepository.d-DG83Ggbq.d.ts} +1 -1
- package/dist/chat/index.cjs +3 -3
- package/dist/chat/index.d.cts +9 -9
- package/dist/chat/index.d.ts +9 -9
- package/dist/chat/index.js +3 -3
- package/dist/client/index.cjs +3 -3
- package/dist/client/index.d.cts +10 -10
- package/dist/client/index.d.ts +10 -10
- package/dist/client/index.js +3 -3
- package/dist/{clinicBatch.d-Ccmrngcu.d.cts → clinicBatch.d-BLpbpS51.d.cts} +2 -2
- package/dist/{clinicBatch.d-D9Ci7IpP.d.ts → clinicBatch.d-Byjx4y_W.d.ts} +2 -2
- package/dist/{config.d-DJ4mvf_w.d.cts → config.d-C0WgjutL.d.cts} +1 -1
- package/dist/{config.d-MX7IKP2f.d.ts → config.d-zd2eTb2L.d.ts} +1 -1
- package/dist/consent/index.d.cts +5 -5
- package/dist/consent/index.d.ts +5 -5
- package/dist/{context.d-BdnBe8Oe.d.ts → context.d-BBjmV0rz.d.ts} +7 -7
- package/dist/{context.d-C6MJsMpN.d.cts → context.d-Du_UPxa1.d.cts} +7 -7
- package/dist/{copy.d-BIfQOoDB.d.ts → copy.d-D_VVj01o.d.ts} +2 -2
- package/dist/{copy.d-C_u7shha.d.cts → copy.d-Da_PP2K3.d.cts} +2 -2
- package/dist/core/index.cjs +2 -2
- package/dist/core/index.d.cts +16 -16
- package/dist/core/index.d.ts +16 -16
- package/dist/core/index.js +2 -2
- package/dist/{depth.d-COFxYWLU.d.ts → depth.d-BEedifOR.d.ts} +2 -2
- package/dist/{depth.d-D2e5WZuE.d.cts → depth.d-RTV61QNf.d.cts} +2 -2
- package/dist/{entitlementRepository.d-DLuxnGi5.d.ts → entitlementRepository.d-BwThmh3V.d.ts} +3 -3
- package/dist/{entitlementRepository.d-BP15dFbe.d.cts → entitlementRepository.d-C-stdRyA.d.cts} +3 -3
- package/dist/{focus.d-C0Tr0oVJ.d.ts → focus.d-CtotIyEt.d.ts} +20 -4
- package/dist/{focus.d-jQWp0hdK.d.cts → focus.d-Dsm39DjO.d.cts} +20 -4
- package/dist/health-plan/index.cjs +46 -41
- package/dist/health-plan/index.d.cts +8 -8
- package/dist/health-plan/index.d.ts +8 -8
- package/dist/health-plan/index.js +47 -42
- package/dist/{idempotency.d-DXb1BN2A.d.ts → idempotency.d-Bfm7oIxS.d.cts} +8 -1
- package/dist/{idempotency.d-HF6fyRt2.d.cts → idempotency.d-Cv-B7SfC.d.ts} +8 -1
- package/dist/{identity.d-BePPZ7Uv.d.ts → identity.d-BksOEa6m.d.ts} +1 -1
- package/dist/{identity.d-CJfnWOdH.d.cts → identity.d-CioQhZrq.d.cts} +1 -1
- package/dist/index.cjs +6 -6
- package/dist/index.d.cts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/index.js +6 -6
- package/dist/{introEvents.d-BkGDT_kG.d.cts → introEvents.d-fAZitxMA.d.cts} +1 -1
- package/dist/{introEvents.d-DHlMvmC7.d.ts → introEvents.d-tOi4o3F4.d.ts} +1 -1
- package/dist/notifications/index.d.cts +4 -4
- package/dist/notifications/index.d.ts +4 -4
- package/dist/{optInView.d-s-w4aGN3.d.ts → optInView.d-B8zTORO2.d.ts} +2 -2
- package/dist/{optInView.d-0iI5JoAf.d.cts → optInView.d-BkNSv4Gk.d.cts} +2 -2
- package/dist/{parse.d-COt1qVA6.d.ts → parse.d-B5JHS6Pr.d.ts} +1 -1
- package/dist/{parse.d-EmsgOUMQ.d.cts → parse.d-BgjO82mY.d.cts} +1 -1
- package/dist/{pets.d-nNAVnw7f.d.cts → pets.d-B_LoizOv.d.cts} +1 -1
- package/dist/{pets.d-BFT_b53y.d.ts → pets.d-OWxskXCP.d.ts} +1 -1
- package/dist/{petsRepository.d-B2TpRE7r.d.cts → petsRepository.d-B5DWzU7C.d.cts} +1 -1
- package/dist/{petsRepository.d-RGwSZcYl.d.ts → petsRepository.d-Ba3xhJcj.d.ts} +1 -1
- package/dist/{planSignals.d-BDbp2e-k.d.cts → planSignals.d-Cl6n5QpS.d.cts} +2 -2
- package/dist/{planSignals.d-DSnxKoWe.d.ts → planSignals.d-DtxZoWGM.d.ts} +2 -2
- package/dist/{ports.d-D2n4HRUy.d.ts → ports.d-BDtwHxmW.d.ts} +4 -4
- package/dist/{ports.d-DBA_gsq5.d.cts → ports.d-gZNTn8Qf.d.cts} +4 -4
- package/dist/records/depth/index.d.cts +9 -9
- package/dist/records/depth/index.d.ts +9 -9
- package/dist/records/index.cjs +62 -52
- package/dist/records/index.d.cts +21 -15
- package/dist/records/index.d.ts +21 -15
- package/dist/records/index.js +63 -53
- package/dist/{requestFunnel.d-RZex94XX.d.cts → requestFunnel.d-CR4akGCY.d.cts} +2 -2
- package/dist/{requestFunnel.d-D9edIEjZ.d.ts → requestFunnel.d-DFf9C__p.d.ts} +2 -2
- package/dist/{runtimeTypes.d-BYq38b17.d.ts → runtimeTypes.d-BqBOrZxa.d.ts} +5 -5
- package/dist/{runtimeTypes.d-LkwZaF7z.d.cts → runtimeTypes.d-CHdH-y2c.d.cts} +5 -5
- package/dist/{screenProps.d-CQ0qZJkr.d.cts → screenProps.d-B1dIANI0.d.cts} +1 -1
- package/dist/{screenProps.d-BVzRzowC.d.ts → screenProps.d-CVqFJw-J.d.ts} +1 -1
- package/dist/server/events/index.cjs +1 -1
- package/dist/server/events/index.d.cts +2 -2
- package/dist/server/events/index.d.ts +2 -2
- package/dist/server/events/index.js +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.cts +3 -3
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +1 -1
- package/dist/shop/index.cjs +5 -4
- package/dist/shop/index.d.cts +15 -3
- package/dist/shop/index.d.ts +15 -3
- package/dist/shop/index.js +5 -4
- package/dist/tabs/index.cjs +3 -3
- package/dist/tabs/index.d.cts +9 -8
- package/dist/tabs/index.d.ts +9 -8
- package/dist/tabs/index.js +3 -3
- package/dist/televet/booking/index.d.cts +6 -6
- package/dist/televet/booking/index.d.ts +6 -6
- package/dist/testing/index.cjs +1 -1
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/rn/index.d.cts +9 -9
- package/dist/testing/rn/index.d.ts +9 -9
- package/dist/testing/web/index.d.cts +9 -9
- package/dist/testing/web/index.d.ts +9 -9
- package/dist/texting/index.d.cts +5 -5
- package/dist/texting/index.d.ts +5 -5
- package/dist/{threadOptions.d-9r4Csa7k.d.cts → threadOptions.d-CnSfFVMr.d.cts} +2 -2
- package/dist/{threadOptions.d-B6GA09aM.d.ts → threadOptions.d-DZ0AoQGk.d.ts} +2 -2
- package/dist/{timelineRows.d-BvM2A7_G.d.cts → timelineRows.d-CF1KvLcQ.d.cts} +1 -1
- package/dist/{timelineRows.d-Bes8ip2v.d.ts → timelineRows.d-CtL0y7y1.d.ts} +1 -1
- package/dist/{tokens.d-DarDaV39.d.cts → tokens.d-BUVqme2D.d.cts} +1 -1
- package/dist/{tokens.d-DarDaV39.d.ts → tokens.d-BUVqme2D.d.ts} +1 -1
- package/dist/{typeStyle.d-Co5KF0up.d.ts → typeStyle.d-B3Kdtjie.d.ts} +2 -2
- package/dist/{typeStyle.d-xIZj02Ru.d.cts → typeStyle.d-DmlwyJq-.d.cts} +2 -2
- package/dist/{usePresentation.d-BGz32Vlm.d.ts → usePresentation.d-BsR08Wxt.d.ts} +1 -1
- package/dist/{usePresentation.d-DYTF_ZGf.d.cts → usePresentation.d-CZS0qlLI.d.cts} +1 -1
- package/dist/{useRecordsDepth.d-BQRL0Hez.d.ts → useRecordsDepth.d-DTAxFf5s.d.ts} +1 -1
- package/dist/{useRecordsDepth.d--LLA_4ga.d.cts → useRecordsDepth.d-k-zYIHTe.d.cts} +1 -1
- package/dist/{view.d-DqbCADFa.d.ts → view.d-BE7VOlsB.d.ts} +3 -3
- package/dist/{view.d-0yBjLTV3.d.cts → view.d-CAWQjcY_.d.cts} +3 -3
- package/dist/web/consent/index.d.cts +5 -5
- package/dist/web/consent/index.d.ts +5 -5
- package/dist/web/health-plan/index.cjs +35 -30
- package/dist/web/health-plan/index.d.cts +10 -10
- package/dist/web/health-plan/index.d.ts +10 -10
- package/dist/web/health-plan/index.js +35 -30
- package/dist/web/index.cjs +9 -9
- package/dist/web/index.d.cts +30 -29
- package/dist/web/index.d.ts +30 -29
- package/dist/web/index.js +9 -9
- package/dist/web/intro/index.d.cts +6 -6
- package/dist/web/intro/index.d.ts +6 -6
- package/dist/web/notifications/index.d.cts +3 -3
- package/dist/web/notifications/index.d.ts +3 -3
- package/dist/web/records/depth/index.d.cts +9 -9
- package/dist/web/records/depth/index.d.ts +9 -9
- package/dist/web/records/index.cjs +2 -2
- package/dist/web/records/index.d.cts +11 -11
- package/dist/web/records/index.d.ts +11 -11
- package/dist/web/records/index.js +2 -2
- package/dist/web/records-sheet/index.cjs +87 -62
- package/dist/web/records-sheet/index.d.cts +9 -2
- package/dist/web/records-sheet/index.d.ts +9 -2
- package/dist/web/records-sheet/index.js +87 -62
- package/dist/web/shop/index.cjs +7 -6
- package/dist/web/shop/index.d.cts +3 -3
- package/dist/web/shop/index.d.ts +3 -3
- package/dist/web/shop/index.js +7 -6
- package/dist/web/televet/booking/index.d.cts +7 -7
- package/dist/web/televet/booking/index.d.ts +7 -7
- package/dist/web/texting/index.d.cts +5 -5
- package/dist/web/texting/index.d.ts +5 -5
- package/package.json +2 -1
|
@@ -96,17 +96,17 @@ return Object.freeze({features:/* @__PURE__ */Object.freeze({...parsed.data.feat
|
|
|
96
96
|
/* @__PURE__ */Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(row=>row.wireCode));var NORMALIZED_FOLD=/* @__PURE__ */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",session_revoked:"authExpired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",unrestrictedKeyRequired:"accessDenied",user_ref_invalid:"validationFailed",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",linked_account_read_only:"conflict",catalog_empty_refused:"conflict",catalog_shrink_refused:"conflict"}),CONTRACT_ERROR_ROWS=/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(generated=>/* @__PURE__ */Object.freeze({wireCode:generated.wireCode,envelope:generated.envelope,retryable:generated.retryable,normalized:NORMALIZED_FOLD[generated.wireCode]}))),BY_KEY=new Map(CONTRACT_ERROR_ROWS.map(r=>[r.envelope+r.wireCode.toUpperCase(),r])),ENVELOPE_LOOKUP_ORDER=/* @__PURE__ */Object.freeze(["http_envelope",...[...new Set(CONTRACT_ERROR_ROWS.map(r=>r.envelope))].filter(e=>e!=="http_envelope").sort()]);function contractErrorFor(wireCode,envelope){if(typeof wireCode!="string")return;let key=wireCode.trim().toUpperCase();if(key.length!==0)for(let candidate of[envelope??"http_envelope",...ENVELOPE_LOOKUP_ORDER]){let row=BY_KEY.get(candidate+key);if(row)return row}}var CATEGORY_OF=/* @__PURE__ */Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",identitySignatureRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",runtimeDisposed:"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 categoryFor(code){return CATEGORY_OF[code]}function fromWire(wire){let contractRow=contractErrorFor(wire);if(contractRow)return contractRow.normalized;let upper=(wire??"").trim().toUpperCase(),canonical=upper.replace(/[^A-Z0-9]/g,"");if(canonical==="AUTHREJECTED")return"authRejected";if(upper.startsWith("AUTH"))return"authExpired";switch(canonical){case"DAILYQUOTAEXCEEDED":case"QUOTAEXCEEDED":return"quotaExceeded";case"RATELIMITED":case"TOOMANYREQUESTS":case"TELEVETRATELIMITED":return"rateLimited";case"IDEMPOTENCYKEYCONFLICT":case"IDEMPOTENCYCONFLICT":return"idempotencyConflict";case"ACCESSDENIED":case"FORBIDDEN":return"accessDenied";case"IDENTITYSIGNATUREREQUIRED":return"identitySignatureRequired";case"RUNTIMEDISPOSED":return"runtimeDisposed";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"}}var AUTO_RETRYABLE_CODES=/* @__PURE__ */new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function isAutoRetryable(code){return AUTO_RETRYABLE_CODES.has(code)}var RETRYABLE_CONTRACT_CODES=/* @__PURE__ */new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function isRetryableCode(code){return isAutoRetryable(code)||RETRYABLE_CONTRACT_CODES.has(code)}var BACKOFF_BASE_MS=500,BACKOFF_CAP_MS=8e3,MAX_RETRY_ATTEMPTS=4;function backoffDelayMs(attempt,rng=Math.random){let bounded=Math.max(0,attempt),ceiling=Math.min(BACKOFF_BASE_MS*2**bounded,BACKOFF_CAP_MS);return Math.floor(rng()*ceiling)}var ACCESS_DENIED_COPY="This feature isn't available on your account right now.",VALIDATION_FAILED_COPY="Something in that request was not right. Check the details and try again.",USER_FACING_COPY=/* @__PURE__ */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:ACCESS_DENIED_COPY,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:VALIDATION_FAILED_COPY,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.",identitySignatureRequired:ACCESS_DENIED_COPY,runtimeDisposed:VALIDATION_FAILED_COPY,unknown:"Something went wrong. Please try again."}),SESSION_REVOKED_COPY="This session has ended. Please sign in again.",LINKED_ACCOUNT_READ_ONLY="linked_account_read_only";function displayFor(code,wireCode,reasonCode){return code==="conflict"&&reasonCode===LINKED_ACCOUNT_READ_ONLY?ACCESS_DENIED_COPY:(code==="authRejected"||code==="authExpired")&&typeof wireCode=="string"&&wireCode.trim().toLowerCase()==="session_revoked"?SESSION_REVOKED_COPY:userFacingError(code)}function userFacingError(code){return USER_FACING_COPY[code]}function defineHidden(target,key,value){Object.defineProperty(target,key,{value:value,enumerable:false,writable:false,configurable:false})}var REASON_CODE_SHAPE=/^[a-z][a-z0-9_]{0,63}$/;function makeEverfurError(code,opts){let row=contractErrorFor(opts?.wireCode,opts?.wireEnvelope),linkedReadOnly=code==="conflict"&&opts?.reasonCode===LINKED_ACCOUNT_READ_ONLY,error={code:code,category:categoryFor(code),retryable:opts?.retryable??(linkedReadOnly?false:isRetryableCode(code)),displayMessage:displayFor(code,opts?.wireCode,linkedReadOnly?LINKED_ACCOUNT_READ_ONLY:null)};opts?.httpStatus!==void 0&&(error.httpStatus=opts.httpStatus),opts?.requestId&&(error.requestId=opts.requestId),typeof opts?.reasonCode=="string"&&REASON_CODE_SHAPE.test(opts.reasonCode)&&(error.reasonCode=opts.reasonCode);let wait=opts?.retryAfterSeconds;if(typeof wait=="number"&&Number.isFinite(wait)&&wait>=0&&(error.retryAfterSeconds=Math.round(wait)),row);return opts?.wireMessage&&defineHidden(error,"wireMessage",opts.wireMessage),opts?.raw!==void 0&&opts.raw!==null&&defineHidden(error,"raw",opts.raw),/* @__PURE__ */Object.freeze(error)}function ok(value,warning){/* @__PURE__ */
|
|
97
97
|
return Object.freeze({ok:true,value:value})}function err(error){/* @__PURE__ */
|
|
98
98
|
return Object.freeze({ok:false,error:error})}var EverfurConfigError=class _EverfurConfigError extends Error{constructor(kind,message){super(message),this.name="EverfurConfigError",this.kind=kind,Object.setPrototypeOf(this,_EverfurConfigError.prototype)}};function errorFrame(fields){/* @__PURE__ */
|
|
99
|
-
return Object.freeze({kind:"error",terminal:true,code:fields.code,retryable:fields.retryable,wireMessage:fields.wireMessage,synthesized:fields.synthesized,lastEventId:fields.lastEventId,serverRequestId:null})}function mintFailedError(cause,refusal){let message=cause instanceof Error?cause.message:typeof cause=="string"?cause:null;return makeEverfurError("authRejected",{retryable:false,...refusal?.wireCode?{wireCode:refusal.wireCode}:{},...refusal?.requestId?{requestId:refusal.requestId}:{},...message?{wireMessage:message}:{},...cause!=null?{raw:cause}:{}})}function authHeaders(auth){let headers={};return auth.mode==="personalized"?headers.authorization=`Bearer ${auth.token}`:headers["x-everfur-partner-key"]=auth.publishableKey,auth.userRef&&(headers["x-everfur-user-ref"]=auth.userRef),auth.sessionId&&(headers["x-everfur-session-id"]=auth.sessionId),headers}function withAuthHeaders(req,auth){return{...req,headers:{...stripAuthHeaders(req.headers),...authHeaders(auth)}}}function stripAuthHeaders(headers){if(!headers)return{};let out={};for(let[key,value]of Object.entries(headers)){let lower=key.toLowerCase();lower==="authorization"||lower==="x-everfur-partner-key"||(out[key]=value)}return out}async function authedSend(req,ctx){if(ctx.mode==="anonymous")return ctx.transport.request(withAuthHeaders(req,{mode:"anonymous",publishableKey:ctx.publishableKey,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));let token;try{token=await ctx.identity.currentToken()}catch(cause){return ctx.identity.reportRejected?.(),err(mintFailedError(cause))}let first=await ctx.transport.request(withAuthHeaders(req,{mode:"personalized",token:token,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));if(first.ok||first.error.httpStatus!==401)return first;let refreshed;try{refreshed=await ctx.identity.currentToken({forceRefresh:!0})}catch(cause){return ctx.identity.reportRejected?.(),err(mintFailedError(cause,{wireCode:wireCodeOf(first.error.raw),requestId:first.error.requestId}))}let retry=await ctx.transport.request(withAuthHeaders(req,{mode:"personalized",token:refreshed,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));return!retry.ok&&retry.error.httpStatus===401?(ctx.identity.reportRejected?.(),err(refusedAfterRemintError(retry.error))):retry}function refusedAfterRemintError(refusal){let raw=refusal.raw,wireCode=wireCodeOf(raw);return makeEverfurError("authRejected",{retryable:false,...refusal.httpStatus!==void 0?{httpStatus:refusal.httpStatus}:{},...refusal.requestId?{requestId:refusal.requestId}:{},...wireCode?{wireCode:wireCode}:{},...refusal.reasonCode?{reasonCode:refusal.reasonCode}:{},...refusal.wireMessage?{wireMessage:refusal.wireMessage}:{},...raw!=null?{raw:raw}:{}})}function wireCodeOf(body){if(typeof body!="object"||body===null)return null;let b=body,code=(typeof b.error=="object"&&b.error!==null?b.error.code:void 0)??b.code;return typeof code=="string"&&code.length>0?code:null}function networkError(cause){return makeEverfurError("internalError",{retryable:true,wireMessage:describeCause(cause)})}function describeCause(cause){return cause instanceof Error?cause.message:typeof cause=="string"?cause:"network request failed"}var FUNNEL_UNARY_TIMEOUT_MS=3e4,RETRY_OVERRIDE_MAX_MS=BACKOFF_CAP_MS*2,IDEMPOTENCY_HEADER="idempotency-key",MUTATING_METHODS=/* @__PURE__ */new Set(["POST","PUT","PATCH","DELETE"]),NOOP_OBSERVER=/* @__PURE__ */Object.freeze({onEvent(){}}),defaultFunnelTimers=/* @__PURE__ */Object.freeze({setTimeout:(handler,ms)=>setTimeout(handler,ms),clearTimeout:handle=>clearTimeout(handle),now:()=>Date.now()});function seededIdempotencyKey(seed){let safe=seed.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return safe.length===0?null:`efs_${safe}`.slice(0,128)}function createRequestFunnel(deps){let observer=deps.observer??NOOP_OBSERVER,timers=deps.timers??defaultFunnelTimers,rng=deps.rng??Math.random,sleep=deps.sleep??((ms,signal)=>delayAbortable(ms,timers,signal)),ceiling=deps.maxAttempts??MAX_RETRY_ATTEMPTS,timeoutMs=deps.unaryTimeoutMs??FUNNEL_UNARY_TIMEOUT_MS,mintKey=deps.newIdempotencyKey??defaultIdempotencyKeyFactory(),emit=event=>{try{observer.onEvent(event)}catch{}};async function send(call,req,opts){let perCallMaxAttempts=opts?.maxAttempts,maxAttempts=Math.max(1,perCallMaxAttempts??ceiling),idempotent=opts?.idempotent??MUTATING_METHODS.has(req.method),seeded=opts?.idempotencyKey===void 0?null:seededIdempotencyKey(opts.idempotencyKey),idempotencyKey=idempotent?seeded??mintKey():null,base2=assembleHeaders(req,idempotencyKey),attempt=0;for(;;){let stamp=extra=>/* @__PURE__ */Object.freeze({call:call,method:req.method,path:req.path,attempt:attempt,...idempotencyKey?{idempotencyKey:idempotencyKey}:{},...extra});emit(stamp({phase:"attempt"}));let deadline=boundedSignal(timeoutMs,timers),merged=mergeSignals(deadline.signal,req.signal),settled;try{settled=await authedSend({...base2,signal:merged.signal},deps.auth)}catch(cause){settled=err(networkError(cause))}finally{merged.dispose(),deadline.cancel()}if(settled.ok)return emit(stamp({phase:"settled",ok:true,reason:"ok"})),settled;let error=settled.error,decision=decideRetry(error,attempt,{maxAttempts:maxAttempts,rng:rng,now:timers.now(),aborted:req.signal?.aborted===true,...perCallMaxAttempts!==void 0?{perCallMaxAttempts:perCallMaxAttempts}:{},...deps.errorPolicy!==void 0?{policy:deps.errorPolicy}:{}}),settledEvent={ok:false,code:error.code,reason:decision.reason,...error.httpStatus!==void 0?{httpStatus:error.httpStatus}:{},...error.requestId!==void 0?{requestId:error.requestId}:{}};if(!decision.retry)return emit(stamp({phase:"settled",...settledEvent})),err(error);if(emit(stamp({phase:"retry",...settledEvent,delayMs:decision.delayMs})),await sleep(decision.delayMs,req.signal),req.signal?.aborted===true)return emit(stamp({phase:"settled",...settledEvent,reason:"aborted"})),err(error);attempt+=1}}async function authorize(req){return withAuthHeaders(req,await resolveDeviceAuth(deps.auth))}async function*stream(call,req,signal){emit(
|
|
99
|
+
return Object.freeze({kind:"error",terminal:true,code:fields.code,retryable:fields.retryable,wireMessage:fields.wireMessage,synthesized:fields.synthesized,lastEventId:fields.lastEventId,serverRequestId:null})}function mintFailedError(cause,refusal){let message=cause instanceof Error?cause.message:typeof cause=="string"?cause:null;return makeEverfurError("authRejected",{retryable:false,...refusal?.wireCode?{wireCode:refusal.wireCode}:{},...refusal?.requestId?{requestId:refusal.requestId}:{},...message?{wireMessage:message}:{},...cause!=null?{raw:cause}:{}})}function authHeaders(auth){let headers={};return auth.mode==="personalized"?headers.authorization=`Bearer ${auth.token}`:headers["x-everfur-partner-key"]=auth.publishableKey,auth.userRef&&(headers["x-everfur-user-ref"]=auth.userRef),auth.sessionId&&(headers["x-everfur-session-id"]=auth.sessionId),headers}function withAuthHeaders(req,auth){return{...req,headers:{...stripAuthHeaders(req.headers),...authHeaders(auth)}}}function stripAuthHeaders(headers){if(!headers)return{};let out={};for(let[key,value]of Object.entries(headers)){let lower=key.toLowerCase();lower==="authorization"||lower==="x-everfur-partner-key"||(out[key]=value)}return out}async function authedSend(req,ctx){if(ctx.mode==="anonymous")return ctx.transport.request(withAuthHeaders(req,{mode:"anonymous",publishableKey:ctx.publishableKey,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));let token;try{token=await ctx.identity.currentToken()}catch(cause){return ctx.identity.reportRejected?.(),err(mintFailedError(cause))}let first=await ctx.transport.request(withAuthHeaders(req,{mode:"personalized",token:token,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));if(first.ok||first.error.httpStatus!==401)return first;let refreshed;try{refreshed=await ctx.identity.currentToken({forceRefresh:!0})}catch(cause){return ctx.identity.reportRejected?.(),err(mintFailedError(cause,{wireCode:wireCodeOf(first.error.raw),requestId:first.error.requestId}))}let retry=await ctx.transport.request(withAuthHeaders(req,{mode:"personalized",token:refreshed,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));return!retry.ok&&retry.error.httpStatus===401?(ctx.identity.reportRejected?.(),err(refusedAfterRemintError(retry.error))):retry}function refusedAfterRemintError(refusal){let raw=refusal.raw,wireCode=wireCodeOf(raw);return makeEverfurError("authRejected",{retryable:false,...refusal.httpStatus!==void 0?{httpStatus:refusal.httpStatus}:{},...refusal.requestId?{requestId:refusal.requestId}:{},...wireCode?{wireCode:wireCode}:{},...refusal.reasonCode?{reasonCode:refusal.reasonCode}:{},...refusal.wireMessage?{wireMessage:refusal.wireMessage}:{},...raw!=null?{raw:raw}:{}})}function wireCodeOf(body){if(typeof body!="object"||body===null)return null;let b=body,code=(typeof b.error=="object"&&b.error!==null?b.error.code:void 0)??b.code;return typeof code=="string"&&code.length>0?code:null}var SDK_VERSION="0.15.0";function networkError(cause){return makeEverfurError("internalError",{retryable:true,wireMessage:describeCause(cause)})}function describeCause(cause){return cause instanceof Error?cause.message:typeof cause=="string"?cause:"network request failed"}var FUNNEL_UNARY_TIMEOUT_MS=3e4,RETRY_OVERRIDE_MAX_MS=BACKOFF_CAP_MS*2,IDEMPOTENCY_HEADER="idempotency-key",MUTATING_METHODS=/* @__PURE__ */new Set(["POST","PUT","PATCH","DELETE"]),NOOP_OBSERVER=/* @__PURE__ */Object.freeze({onEvent(){}}),defaultFunnelTimers=/* @__PURE__ */Object.freeze({setTimeout:(handler,ms)=>setTimeout(handler,ms),clearTimeout:handle=>clearTimeout(handle),now:()=>Date.now()});function seededIdempotencyKey(seed){let safe=seed.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return safe.length===0?null:`efs_${safe}`.slice(0,128)}function createRequestFunnel(deps){let observer=deps.observer??NOOP_OBSERVER,timers=deps.timers??defaultFunnelTimers,rng=deps.rng??Math.random,sleep=deps.sleep??((ms,signal)=>delayAbortable(ms,timers,signal)),ceiling=deps.maxAttempts??MAX_RETRY_ATTEMPTS,timeoutMs=deps.unaryTimeoutMs??FUNNEL_UNARY_TIMEOUT_MS,mintKey=deps.newIdempotencyKey??defaultIdempotencyKeyFactory(),emit=event=>{try{observer.onEvent(event)}catch{}};async function send(call,req,opts){let perCallMaxAttempts=opts?.maxAttempts,maxAttempts=Math.max(1,perCallMaxAttempts??ceiling),idempotent=opts?.idempotent??MUTATING_METHODS.has(req.method),seeded=opts?.idempotencyKey===void 0?null:seededIdempotencyKey(opts.idempotencyKey),idempotencyKey=idempotent?seeded??mintKey():null,base2=assembleHeaders(req,idempotencyKey),attempt=0;for(;;){let stamp=extra=>/* @__PURE__ */Object.freeze({call:call,method:req.method,path:req.path,attempt:attempt,...idempotencyKey?{idempotencyKey:idempotencyKey}:{},...extra});emit(stamp({phase:"attempt"}));let deadline=boundedSignal(timeoutMs,timers),merged=mergeSignals(deadline.signal,req.signal),settled;try{settled=await authedSend({...base2,signal:merged.signal},deps.auth)}catch(cause){settled=err(networkError(cause))}finally{merged.dispose(),deadline.cancel()}if(settled.ok)return emit(stamp({phase:"settled",ok:true,reason:"ok"})),settled;let error=settled.error,decision=decideRetry(error,attempt,{maxAttempts:maxAttempts,rng:rng,now:timers.now(),aborted:req.signal?.aborted===true,...perCallMaxAttempts!==void 0?{perCallMaxAttempts:perCallMaxAttempts}:{},...deps.errorPolicy!==void 0?{policy:deps.errorPolicy}:{}}),settledEvent={ok:false,code:error.code,reason:decision.reason,...error.httpStatus!==void 0?{httpStatus:error.httpStatus}:{},...error.requestId!==void 0?{requestId:error.requestId}:{}};if(!decision.retry)return emit(stamp({phase:"settled",...settledEvent})),err(error);if(emit(stamp({phase:"retry",...settledEvent,delayMs:decision.delayMs})),await sleep(decision.delayMs,req.signal),req.signal?.aborted===true)return emit(stamp({phase:"settled",...settledEvent,reason:"aborted"})),err(error);attempt+=1}}async function authorize(req){return withAuthHeaders(req,await resolveDeviceAuth(deps.auth))}async function*stream(call,req,signal){emit(
|
|
100
100
|
/* @__PURE__ */Object.freeze({call:call,phase:"stream.open",method:req.method,path:req.path,attempt:0}));try{yield*deps.auth.transport.stream(req,signal)}catch{yield errorFrame({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}}/* @__PURE__ */
|
|
101
|
-
return Object.freeze({send:send,authorize:authorize,stream:stream})}function assembleHeaders(req,idempotencyKey){let headers={};for(let[key,value]of Object.entries(req.headers??{}))key.toLowerCase()!==IDEMPOTENCY_HEADER&&(headers[key]=value);return idempotencyKey!==null&&(headers["Idempotency-Key"]=idempotencyKey),{...req,headers:headers}}function defaultIdempotencyKeyFactory(){let counter=0;return()=>`efk_${Date.now().toString(36)}_${(counter++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}var POLICY_MAX_ATTEMPTS_CAP=10;function decideRetry(error,attempt,ctx){if(ctx.aborted)return{retry:false,reason:"aborted"};let throttle=throttleKind(error);if(throttle==="quota")return{retry:false,reason:"daily-quota-exhausted"};if(throttle!=="burst"&&!isAutoRetryable(error.code))return{retry:false,reason:"terminal-code"};let reason=throttle==="burst"?"burst-throttle":"retryable-code";if((()=>{if(ctx.policy===void 0)return false;try{return!ctx.policy.shouldRetry(error.code,attempt)}catch{return false}})())return{retry:false,reason:"terminal-code"};let policyCeiling=()=>{if(ctx.policy===void 0)return null;let raw;try{raw=ctx.policy.maxAttempts(error.code)}catch{return null}return typeof raw!="number"||!Number.isFinite(raw)?null:Math.max(1,Math.min(POLICY_MAX_ATTEMPTS_CAP,Math.floor(raw)))},ceiling=ctx.perCallMaxAttempts??policyCeiling()??ctx.maxAttempts;if(attempt+1>=ceiling)return{retry:false,reason:"attempts-exhausted"};let override=retryOverrideMs(error,ctx.now);return override!==null?override>RETRY_OVERRIDE_MAX_MS?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:reason,delayMs:override}:{retry:true,reason:reason,delayMs:backoffDelayMs(attempt,ctx.rng)}}function throttleKind(error){let code=error.code==="unknown"?fromWire(rawWireCode(error.raw)):error.code;return code==="quotaExceeded"?"quota":code==="rateLimited"||error.httpStatus===429?"burst":null}function retryOverrideMs(error,now){let at=findResetsAt(error.raw);if(at!==null){let delta=at-now;return delta>0?delta:0}let wait=findRetryAfterSeconds(error.raw);return wait===null?null:Math.round(wait*1e3)}function findRetryAfterSeconds(raw){for(let scope of candidateScopes(raw)){let value=scope.retry_after_seconds;if(typeof value=="number"&&Number.isFinite(value)&&value>=0)return value}return null}function findResetsAt(raw){for(let scope of candidateScopes(raw)){let value=scope.resets_at,parsed=parseInstantMs(value);if(parsed!==null)return parsed}return null}function candidateScopes(raw){if(!isRecord(raw))return[];let out=[raw];for(let nested of["error","detail"]){let value=raw[nested];isRecord(value)&&out.push(value)}return out}function parseInstantMs(value){if(typeof value=="number"&&Number.isFinite(value))return value<1e11?Math.round(value*1e3):Math.round(value);if(typeof value=="string"&&value.trim().length>0){let parsed=Date.parse(value);return Number.isFinite(parsed)?parsed:null}return null}function rawWireCode(raw){for(let scope of candidateScopes(raw)){let code=scope.code;if(typeof code=="string"&&code.length>0)return code}return null}function isRecord(value){return typeof value=="object"&&value!==null}async function resolveDeviceAuth(auth){return auth.mode==="anonymous"?{mode:"anonymous",publishableKey:auth.publishableKey,userRef:auth.userRef,...auth.sessionId?{sessionId:auth.sessionId}:{}}:{mode:"personalized",token:await auth.identity.currentToken(),userRef:auth.userRef,...auth.sessionId?{sessionId:auth.sessionId}:{}}}function boundedSignal(ms,timers){let ctrl=new AbortController,handle=timers.setTimeout(()=>ctrl.abort(),ms);return{signal:ctrl.signal,cancel:()=>timers.clearTimeout(handle)}}function mergeSignals(deadline,caller){let noop=()=>{};if(!caller)return{signal:deadline,dispose:noop};let ctrl=new AbortController;if(deadline.aborted||caller.aborted)return ctrl.abort(),{signal:ctrl.signal,dispose:noop};let onAbort=()=>ctrl.abort();return deadline.addEventListener("abort",onAbort,{once:true}),caller.addEventListener("abort",onAbort,{once:true}),{signal:ctrl.signal,dispose:()=>{deadline.removeEventListener("abort",onAbort),caller.removeEventListener("abort",onAbort)}}}function delayAbortable(ms,timers,signal){return ms<=0||signal?.aborted===true?Promise.resolve():new Promise(resolve=>{let handle=timers.setTimeout(()=>{signal?.removeEventListener("abort",onAbort),resolve()},ms),onAbort=()=>{timers.clearTimeout(handle),resolve()};signal?.addEventListener("abort",onAbort,{once:true})})}function isNotFoundError(error){return error!=null&&(error.httpStatus===404||error.category==="notFound")}function plainNotFound(error){return error.code!=="conversationNotFound"?error:makeEverfurError("resourceNotFound",{retryable:false,...error.httpStatus===void 0?{}:{httpStatus:error.httpStatus},...error.requestId===void 0?{}:{requestId:error.requestId},...error.reasonCode===void 0?{}:{reasonCode:error.reasonCode},...error.wireMessage===void 0?{}:{wireMessage:error.wireMessage},...error.raw===void 0?{}:{raw:error.raw}})}function plainResult(res){return res.ok?res:err(plainNotFound(res.error))}function withPlainNotFound(funnel){return{send:async(...args)=>plainResult(await funnel.send(...args)),authorize:req=>funnel.authorize(req),stream:(call,req,signal)=>funnel.stream(call,req,signal)}}var REF_MAX=128;var ICONS=/* @__PURE__ */new Set(["shield","arrow","check","star","truck","refresh","card","alert","x","chat","repeat","calendar","flame"]),obj=value=>value!==null&&typeof value=="object"&&!Array.isArray(value)?value:null,str2=(value,max=1e3)=>typeof value=="string"&&value.trim().length>0&&value.length<=max?value.trim():null,kindOf=value=>typeof value=="string"&&/^[A-Za-z0-9_-]{1,40}$/.test(value)?value:null,iconOf=value=>typeof value=="string"&&ICONS.has(value)?value:null;function imageOf(value){let s=str2(value,2048);return s===null||/\s/.test(s)?null:/^https:\/\/[^/]/i.test(s)||/^\/(?![/\\])/.test(s)?s:null}var idOf=value=>typeof value=="number"&&Number.isInteger(value)?String(value):str2(value,REF_MAX);function weightOf(value){return typeof value=="number"&&Number.isFinite(value)&&value>0?value:null}function clean(fields){/* @__PURE__ */
|
|
102
|
-
return Object.freeze(Object.fromEntries(Object.entries(fields).filter(([,v])=>v!=null)))}function listOf(value,each,max=20){if(!Array.isArray(value))return null;let out=[];for(let row of value){if(out.length>=max)break;let mapped=each(row);mapped!==null&&out.push(mapped)}return out.length===0?null:/* @__PURE__ */Object.freeze(out)}var words=(value,max=12,len=300)=>listOf(value,v=>str2(v,len),max);function focusOf(value){let o=obj(value),kicker=str2(o?.kicker,120),title=str2(o?.title,300);if(o===null||kicker===null||title===null)return null;let risk=obj(o.risk),odds=obj(o.odds),quote=obj(o.quote),jump=obj(o.jump);return clean({kicker:kicker,title:title,sources:listOf(o.sources,r=>{let label=str2(obj(r)?.label,60);return label===null?null:clean({label:label,kind:kindOf(obj(r)?.kind)})},6),risk:str2(risk?.lead,300)===null?null:clean({lead:str2(risk?.lead,300),body:str2(risk?.body),kind:kindOf(risk?.kind)}),odds:str2(odds?.label,120)===null||str2(odds?.from,20)===null||str2(odds?.to,20)===null?null:clean({label:str2(odds?.label,120),tag:str2(odds?.tag,40),from:str2(odds?.from,20),to:str2(odds?.to,20),toLabel:str2(odds?.toLabel,120)}),quote:str2(quote?.text)===null?null:clean({kicker:str2(quote?.kicker,120),tag:str2(quote?.tag,40),text:str2(quote?.text)}),jump:str2(jump?.title,300)===null||str2(jump?.go,60)===null?null:clean({title:str2(jump?.title,300),go:str2(jump?.go,60)})})}function routineOf(value){let o=obj(value),title=str2(o?.title,300),steps=listOf(o?.steps,r=>{let s=obj(r),t=str2(s?.title,300);return t===null?null:clean({title:t,body:str2(s?.body),source:str2(s?.source,200),fromVet:s?.fromVet===true?true:null})});return title===null||steps===null?null:clean({title:title,label:str2(o?.label,60),steps:steps})}function pickOf(value){let o=obj(value),title=str2(o?.title,300);if(o===null||title===null)return null;let rating=obj(o.rating),reviews=obj(o.reviews),why=obj(o.why),score=obj(why?.score),dose=obj(o.dose),ingredients=obj(o.ingredients),reviewItems=listOf(reviews?.items,r=>{let v=obj(r),stars=v?.stars,text2=str2(v?.text),by=str2(v?.by,80);return typeof stars!="number"||!Number.isFinite(stars)||stars<1||stars>5||text2===null||by===null?null:clean({stars:Math.round(stars),text:text2,by:by})},5),whyRows=listOf(why?.rows,r=>{let v=obj(r),chip=str2(v?.chip,40),t=str2(v?.title,300);return chip===null||t===null?null:clean({chip:chip,kind:kindOf(v?.kind),title:t,body:str2(v?.body)})}),stats=listOf(dose?.stats,r=>{let v=obj(r),val=str2(v?.value,40),label=str2(v?.label,120),kind=v?.kind;return val===null||label===null?null:clean({value:val,label:label,kind:kind==="weight"||kind==="dose"||kind==="days"?kind:null})},6),ingredientItems=words(ingredients?.items,12,80);return clean({title:title,none:o.none===true?true:null,productId:idOf(o.productId),partnerSku:str2(o.partnerSku,200),rating:str2(rating?.value,20)===null?null:clean({value:str2(rating?.value,20),label:str2(rating?.label,120)}),line:str2(o.line),reviews:str2(reviews?.label,200)===null||reviewItems===null?null:clean({label:str2(reviews?.label,200),items:reviewItems}),checkoutLine:str2(o.checkoutLine,300),why:str2(why?.title,200)===null||whyRows===null?null:clean({title:str2(why?.title,200),rows:whyRows,score:str2(score?.text,200)===null||str2(score?.value,20)===null?null:clean({text:str2(score?.text,200),value:str2(score?.value,20)})}),dose:str2(dose?.title,200)===null||stats===null?null:clean({title:str2(dose?.title,200),stats:stats,note:str2(dose?.note)}),doseLabel:str2(o.doseLabel,120),ingredients:ingredientItems===null?null:clean({label:str2(ingredients?.label,200),items:ingredientItems}),proof:str2(o.proof,300),trust:listOf(o.trust,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,120);return icon===null||label===null?null:clean({icon:icon,label:label})},6),more:str2(o.more,120),fine:str2(o.fine),checkin:str2(o.checkin,200)})}function signsOf(value){let o=obj(value),title=str2(o?.title,200),items=listOf(o?.items,r=>{let v=obj(r),t=str2(v?.title,300),body=str2(v?.body);return t===null||body===null?null:clean({title:t,body:body,urgent:v?.urgent===true?true:null,callVet:v?.callVet===true?true:null})});return title===null||items===null?null:clean({title:title,items:items})}function checkupOf(value){let o=obj(value),title=str2(o?.title,200),questions=words(o?.questions,12,300),add=str2(o?.add,80),added=str2(o?.added,80);return title===null||questions===null||add===null||added===null?null:clean({title:title,questions:questions,add:add,added:added})}function extrasOf(value){let o=obj(value),title=str2(o?.title,200),items=listOf(o?.items,r=>{let v=obj(r),key=str2(v?.key,REF_MAX),t=str2(v?.title,300),action=str2(v?.action,80),added=str2(v?.added,80);return key===null||t===null||action===null||added===null?null:clean({key:key,title:t,body:str2(v?.body),price:str2(v?.price,40),was:str2(v?.was,40),tag:str2(v?.tag,40),imageUrl:imageOf(v?.imageUrl),icon:iconOf(v?.icon),kind:kindOf(v?.kind),action:action,added:added,owned:v?.owned===true?true:null})},6);return title===null||items===null?null:clean({title:title,items:items})}function healthPlanFocusDesignFromWire(raw){let o=obj(raw),title=str2(o?.title,300),pick2=pickOf(o?.pick);if(o===null||title===null||pick2===null)return null;let byline=obj(o.byline);return clean({eyebrow:str2(o.eyebrow,120),title:title,subtitle:str2(o.subtitle,300),headImageUrl:imageOf(o.headImageUrl),byline:str2(byline?.name,120)===null?null:clean({name:str2(byline?.name,120),role:str2(byline?.role,120),imageUrl:imageOf(byline?.imageUrl),shortName:str2(byline?.shortName,60)}),focus:focusOf(o.focus),routine:routineOf(o.routine),pick:pick2,signs:signsOf(o.signs),checkup:checkupOf(o.checkup),extras:extrasOf(o.extras),fine:str2(o.fine),checkoutRows:listOf(o.checkoutRows,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,60),val=str2(v?.value,200);return icon===null||label===null||val===null?null:clean({icon:icon,label:label,value:val})},6)})}function healthPlanPageFromWire(raw,petRef){let o=obj(raw);if(o===null||!("page"in o))return null;let pet=obj(o.pet),sex=pet?.sex;/* @__PURE__ */
|
|
103
|
-
return Object.freeze({petRef:str2(o.pet_ref,REF_MAX)??petRef,pet:/* @__PURE__ */Object.freeze({name:str2(pet?.name,120),species:str2(pet?.species,60),sex:sex==="female"||sex==="male"?sex:null,breed:str2(pet?.breed,120),weightKg:weightOf(pet?.weight_kg),weightLb:weightOf(pet?.weight_lb)}),checkout:o.checkout==="everfur_stripe"?"everfur_stripe":"partner",page:healthPlanFocusDesignFromWire(o.page),vetReviewed:o.vet_reviewed===true,trackingTextsEnabled:o.tracking_texts_enabled===true})}function invalid(wireMessage){return makeEverfurError("validationFailed",{retryable:false,wireMessage:wireMessage})}function malformed(call){return makeEverfurError("internalError",{retryable:false,httpStatus:502,wireMessage:`${call}: the response was not the expected shape`})}function disposed(verb){return makeEverfurError("runtimeDisposed",{retryable:false,wireMessage:`the Everfur runtime is disposed; ${verb} was called after unmount`})}var validRef=value=>typeof value=="string"&&value.length>0&&value.length<=REF_MAX;function base(petRef){return`/widget/v1/pets/${encodeURIComponent(petRef)}/plan`}async function readPage(funnel,petRef,opts){if(!validRef(petRef))return err(invalid("petRef must be 1..128 characters"));let res=await funnel.send("healthPlan.page.read",{method:"GET",path:`${base(petRef)}/page`,...opts?.signal?{signal:opts.signal}:{}});if(!res.ok)return err(res.error);let page=healthPlanPageFromWire(res.value,petRef);return page===null?err(malformed("healthPlan.page.read")):ok(page)}var readers=/* @__PURE__ */new WeakMap;function createHealthPlanPageReader(runtime){let known=readers.get(runtime);if(known!==void 0)return known;let reader=makeHealthPlanPageReader(runtime);return readers.set(runtime,reader),reader}function makeHealthPlanPageReader(runtime){return{getPage:(petRef,opts)=>{if(runtime.isDisposed)return Promise.resolve(err(disposed("getPage")));let{services:services}=runtime.registry,funnel=withPlainNotFound(createRequestFunnel({auth:services.authFor(null),...services.errorPolicy?{errorPolicy:services.errorPolicy}:{}}));return readPage(funnel,petRef,opts)}}}var EVERFUR_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurContext@v1"),globalContextHost=globalThis,EverfurContext=globalContextHost[EVERFUR_CONTEXT_SYMBOL]??(globalContextHost[EVERFUR_CONTEXT_SYMBOL]=react.createContext(null));EverfurContext.displayName??="EverfurContext";function useEverfurContext(){let ctx=react.useContext(EverfurContext);if(ctx===null)throw new EverfurConfigError("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return ctx}function reportHostFailure(error){let globalConsole=globalThis.console;try{globalConsole?.error?.("[everfur] A host callback threw; the SDK ignored it.",error)}catch{}}function isThenable(value){return(typeof value=="object"||typeof value=="function")&&value!==null&&typeof value.then=="function"}function callHost(fn,...args){if(typeof fn=="function")try{let result=fn(...args);return isThenable(result)&&Promise.resolve(result).then(void 0,reportHostFailure),result}catch(error){reportHostFailure(error);return}}var HEALTH_PLAN_STALE_MS=6e4;function useHealthPlanRevalidation({lifecycle:lifecycle,refreshKey:refreshKey,readyAt:readyAt,revalidate:revalidate,refresh:refresh,now:now=Date.now}){let latest=react.useRef({readyAt:readyAt,revalidate:revalidate,refresh:refresh??revalidate,now:now});latest.current={readyAt:readyAt,revalidate:revalidate,refresh:refresh??revalidate,now:now},react.useEffect(()=>{if(lifecycle==null)return;let stop=callHost(()=>lifecycle.onForeground(()=>{let{readyAt:at,revalidate:run,now:clock}=latest.current;at!==null&&clock()-at>=HEALTH_PLAN_STALE_MS&&run()}));return()=>{typeof stop=="function"&&callHost(stop)}},[lifecycle]);let seenKey=react.useRef(refreshKey);react.useEffect(()=>{Object.is(seenKey.current,refreshKey)||(seenKey.current=refreshKey,latest.current.refresh())},[refreshKey])}var HEALTH_PLAN_PAGE_SHARE_MS=5e3,sharedReads=/* @__PURE__ */new WeakMap;function readShared(reader,userRef,petRef,fresh){let reads=sharedReads.get(reader);reads===void 0&&(reads=/* @__PURE__ */new Map,sharedReads.set(reader,reads));let map=reads,key=`${userRef}\0${petRef}`,hit=map.get(key);if(!fresh&&hit!==void 0&&(hit.at===null||Date.now()-hit.at<HEALTH_PLAN_PAGE_SHARE_MS))return hit.promise;let entry={at:null,promise:reader.getPage(petRef).then(res=>(map.get(key)===entry&&(res.ok||isNotFoundError(res.error)?entry.at=Date.now():map.delete(key)),res))};return map.set(key,entry),entry.promise}function useHealthPlanPage(options){let{userRef:userRef,runtime:runtime}=useEverfurContext(),own=react.useMemo(()=>createHealthPlanPageReader(runtime),[runtime]),hostRepository=options.repository,repository=hostRepository??own,getPage=react.useCallback((pet,fresh)=>hostRepository!==void 0||userRef==null?repository.getPage(pet):readShared(own,userRef,pet,fresh),[hostRepository,repository,own,userRef]),{petRef:petRef}=options,enabled=options.enabled!==false&&userRef!=null&&petRef!==null,[state,setState]=react.useState({phase:"idle",petRef:null,page:null,error:null}),epoch=react.useRef(0),quiet=react.useRef(0),read=react.useCallback(async fresh=>{let mine=++epoch.current;if(!enabled||petRef===null){setState(prev=>prev.phase==="idle"&&prev.petRef===null?prev:{phase:"idle",petRef:null,page:null,error:null});return}setState(prev=>({phase:"loading",petRef:petRef,page:prev.petRef===petRef?prev.page:null,error:null}));let res=await getPage(petRef,fresh);mine===epoch.current&&(res.ok?setState({phase:"ready",petRef:petRef,page:res.value,error:null,readyAt:Date.now()}):isNotFoundError(res.error)?setState({phase:"ready",petRef:petRef,page:null,error:null,missing:true,readyAt:Date.now()}):setState({phase:"failed",petRef:petRef,page:null,error:res.error}))},[enabled,petRef,getPage]),load=react.useCallback(()=>read(true),[read]),ready=state.phase==="ready"&&state.petRef===petRef,revalidate=react.useCallback(async()=>{if(!enabled||petRef===null||!ready)return;let mine=epoch.current,seq=++quiet.current,res=await getPage(petRef,true);mine!==epoch.current||seq!==quiet.current||!res.ok||setState(prev=>prev.phase==="ready"&&prev.petRef===petRef?{phase:"ready",petRef:petRef,page:res.value,error:null,readyAt:Date.now()}:prev)},[enabled,petRef,ready,getPage]);useHealthPlanRevalidation({lifecycle:options.lifecycle,refreshKey:options.refreshKey,readyAt:ready?state.readyAt??null:null,revalidate:()=>{revalidate()},refresh:()=>{ready?revalidate():load()}}),react.useEffect(()=>(read(false),()=>{epoch.current+=1}),[read]);let stale=enabled&&state.petRef!==petRef;return react.useMemo(()=>({phase:stale?"loading":state.phase,page:stale?null:state.page,error:stale?null:state.error,missing:!stale&&state.missing===true,refresh:load}),[stale,state,load])}function hasLoneSurrogate(value){for(let i=0;i<value.length;i+=1){let code=value.charCodeAt(i);if(code>=55296&&code<=56319){let low=value.charCodeAt(i+1);if(!(low>=56320&&low<=57343))return true;i+=1}else if(code>=56320&&code<=57343)return true}return false}function serverLength(value){return[...value].length}var SPECIES_ALIASES=/* @__PURE__ */Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function canonicalPetSpecies(raw){if(typeof raw!="string")return null;let key=raw.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(SPECIES_ALIASES,key)?SPECIES_ALIASES[key]:null}var LIST_MAX=50,REF_MAX2=128,NAME_MAX=120,SHORT_MAX=120,NOTES_MAX=2e3,FOOD_MAX=120,MICROCHIP_MAX=80,SEXES=/* @__PURE__ */new Set(["male","female","unknown"]),PRECISIONS=/* @__PURE__ */new Set(["day","month","year"]),ACTIVITY=/* @__PURE__ */new Set(["low","medium","high","athletic"]),INDOOR_OUTDOOR=/* @__PURE__ */new Set(["indoor","outdoor","both"]),SEVERITIES=/* @__PURE__ */new Set(["mild","moderate","severe"]),ISO_DATE=/^(\d{4})-(\d{2})-(\d{2})$/,SCALAR_WIRE=[["sex","sex"],["spayedNeutered","spayed_neutered"],["birthDate","birth_date"],["birthDatePrecision","birth_date_precision"],["activityLevel","activity_level"],["indoorOutdoor","indoor_outdoor"],["foodBrand","food_brand"],["foodType","food_type"],["microchipId","microchip_id"]],LIST_WIRE=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];/* @__PURE__ */Object.freeze([...SCALAR_WIRE,...LIST_WIRE].map(([key])=>key));function isRealDate(value){let match=ISO_DATE.exec(value);if(match===null)return false;let[year,month,day]=[Number(match[1]),Number(match[2]),Number(match[3])],date2=new Date(Date.UTC(year,month-1,day));return date2.getUTCFullYear()===year&&date2.getUTCMonth()===month-1&&date2.getUTCDate()===day}var oneOf=allowed=>(field,value)=>typeof value=="string"&&allowed.has(value)?null:`${field} must be one of ${[...allowed].join(", ")}`,boolean=(field,value)=>typeof value=="boolean"?null:`${field} must be true or false`,date=(field,value)=>typeof value=="string"&&isRealDate(value)?null:`${field} must be a real date written YYYY-MM-DD`,text=(max,opts={})=>(field,value)=>{if(typeof value!="string")return`${field} must be a string`;if(hasLoneSurrogate(value))return`${field} contains an unpaired surrogate and cannot be encoded`;let measured=opts.trimmed?value.trim():value;if(opts.required&&measured.length===0)return`${field} is required and must not be blank`;let length=serverLength(measured);return length<=max?null:`${field} is ${length} characters; the server accepts at most ${max}`},SCALAR_CHECKS={sex:oneOf(SEXES),spayedNeutered:boolean,birthDate:date,birthDatePrecision:oneOf(PRECISIONS),activityLevel:oneOf(ACTIVITY),indoorOutdoor:oneOf(INDOOR_OUTDOOR),foodBrand:text(FOOD_MAX),foodType:text(FOOD_MAX),microchipId:text(MICROCHIP_MAX)},REF_FIELD=["ref","ref",false,text(REF_MAX2,{required:true,trimmed:true})],NOTES_FIELD=["notes","notes",false,text(NOTES_MAX,{trimmed:true})],MEDICATION_FIELDS=[REF_FIELD,["name","name",true,text(NAME_MAX,{required:true,trimmed:true})],["dose","dose",false,text(SHORT_MAX,{trimmed:true})],["frequency","frequency",false,text(SHORT_MAX,{trimmed:true})],["startDate","start_date",false,date],["endDate","end_date",false,date],NOTES_FIELD],ITEM_FIELDS={allergies:[REF_FIELD,["allergen","allergen",true,text(NAME_MAX,{required:true,trimmed:true})],["severity","severity",false,oneOf(SEVERITIES)],NOTES_FIELD],medications:MEDICATION_FIELDS,supplements:MEDICATION_FIELDS,conditions:[REF_FIELD,["conditionName","condition_name",true,text(NAME_MAX,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,date],NOTES_FIELD]};function itemToWire(list,index,raw){let at=`${list}[${index}]`;if(typeof raw!="object"||raw===null||Array.isArray(raw))return{error:`${at} must be an object`};let source=raw,item={};for(let[key,wire,isRequired,check]of ITEM_FIELDS[list]){let value=source[key];if(value==null){if(isRequired)return{error:`${at}.${key} is required`};value===null&&(item[wire]=null);continue}let bad=check(`${at}.${key}`,value);if(bad!==null)return{error:bad};item[wire]=value}let start=item.start_date,end=item.end_date;return typeof start=="string"&&typeof end=="string"&&end<start?{error:`${at}.endDate must not be before startDate`}:{item:item}}function listToWire(list,raw){if(!Array.isArray(raw))return{error:`${list} must be an array (send [] to clear it)`};if(raw.length>LIST_MAX)return{error:`${list} has ${raw.length} items; the server accepts at most ${LIST_MAX}`};let items=[],refs=/* @__PURE__ */new Set;for(let index=0;index<raw.length;index+=1){let mapped=itemToWire(list,index,raw[index]);if("error"in mapped)return mapped;let ref=mapped.item.ref;if(typeof ref=="string"){let key=ref.trim();if(refs.has(key))return{error:`${list}: ref ${JSON.stringify(key)} is used twice; a ref names one item`};refs.add(key)}items.push(mapped.item)}return{items:items}}function petHealthToWire(input,species){let source=input,body={};for(let[key,wire]of SCALAR_WIRE){let value=source[key];if(value!==void 0){if(value!==null){let bad=SCALAR_CHECKS[key](key,value);if(bad!==null)return{error:bad}}body[wire]=value}}let dateSent=source.birthDate!==void 0,precisionSent=source.birthDatePrecision!==void 0;if(dateSent!==precisionSent||dateSent&&source.birthDate===null!=(source.birthDatePrecision===null))return{error:"birthDate and birthDatePrecision must be sent together, both set or both null"};for(let[key,wire]of LIST_WIRE){let value=source[key];if(value===void 0)continue;let mapped=listToWire(key,value);if("error"in mapped)return mapped;body[wire]=mapped.items}return Object.keys(body).length>0&&species!==void 0&&canonicalPetSpecies(species)===null?{error:"health fields need a pet Everfur reads as a dog or a cat (dog, canine, k9, puppy, cat, feline, kitten)"}:{body:body}}var str3=value=>typeof value=="string"?value:null,pick=(allowed,value)=>typeof value=="string"&&allowed.has(value)?value:null,bool=value=>typeof value=="boolean"?value:null;function itemsFromWire(raw,map){return Array.isArray(raw)?/* @__PURE__ */Object.freeze(raw.flatMap(row=>{if(typeof row!="object"||row===null||Array.isArray(row))return[];let item=map(row);return item===null?[]:[item]})):/* @__PURE__ */Object.freeze([])}function medicationFromWire(o){let name=str3(o.name);return name===null||name.length===0?null:/* @__PURE__ */Object.freeze({ref:str3(o.ref),name:name,dose:str3(o.dose),frequency:str3(o.frequency),startDate:str3(o.start_date),endDate:str3(o.end_date),notes:str3(o.notes)})}function petHealthFromWire(o){let version=o.profile_version;/* @__PURE__ */
|
|
101
|
+
return Object.freeze({send:send,authorize:authorize,stream:stream})}function assembleHeaders(req,idempotencyKey){let headers={};for(let[key,value]of Object.entries(req.headers??{}))key.toLowerCase()!==IDEMPOTENCY_HEADER&&(headers[key]=value);return idempotencyKey!==null&&(headers["Idempotency-Key"]=idempotencyKey),{...req,headers:headers}}function defaultIdempotencyKeyFactory(){let counter=0;return()=>`efk_${Date.now().toString(36)}_${(counter++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}var POLICY_MAX_ATTEMPTS_CAP=10;function decideRetry(error,attempt,ctx){if(ctx.aborted)return{retry:false,reason:"aborted"};let throttle=throttleKind(error);if(throttle==="quota")return{retry:false,reason:"daily-quota-exhausted"};if(throttle!=="burst"&&!isAutoRetryable(error.code))return{retry:false,reason:"terminal-code"};let reason=throttle==="burst"?"burst-throttle":"retryable-code";if((()=>{if(ctx.policy===void 0)return false;try{return!ctx.policy.shouldRetry(error.code,attempt)}catch{return false}})())return{retry:false,reason:"terminal-code"};let policyCeiling=()=>{if(ctx.policy===void 0)return null;let raw;try{raw=ctx.policy.maxAttempts(error.code)}catch{return null}return typeof raw!="number"||!Number.isFinite(raw)?null:Math.max(1,Math.min(POLICY_MAX_ATTEMPTS_CAP,Math.floor(raw)))},ceiling=ctx.perCallMaxAttempts??policyCeiling()??ctx.maxAttempts;if(attempt+1>=ceiling)return{retry:false,reason:"attempts-exhausted"};let override=retryOverrideMs(error,ctx.now);return override!==null?override>RETRY_OVERRIDE_MAX_MS?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:reason,delayMs:override}:{retry:true,reason:reason,delayMs:backoffDelayMs(attempt,ctx.rng)}}function throttleKind(error){let code=error.code==="unknown"?fromWire(rawWireCode(error.raw)):error.code;return code==="quotaExceeded"?"quota":code==="rateLimited"||error.httpStatus===429?"burst":null}function retryOverrideMs(error,now){let at=findResetsAt(error.raw);if(at!==null){let delta=at-now;return delta>0?delta:0}let wait=findRetryAfterSeconds(error.raw);return wait===null?null:Math.round(wait*1e3)}function findRetryAfterSeconds(raw){for(let scope of candidateScopes(raw)){let value=scope.retry_after_seconds;if(typeof value=="number"&&Number.isFinite(value)&&value>=0)return value}return null}function findResetsAt(raw){for(let scope of candidateScopes(raw)){let value=scope.resets_at,parsed=parseInstantMs(value);if(parsed!==null)return parsed}return null}function candidateScopes(raw){if(!isRecord(raw))return[];let out=[raw];for(let nested of["error","detail"]){let value=raw[nested];isRecord(value)&&out.push(value)}return out}function parseInstantMs(value){if(typeof value=="number"&&Number.isFinite(value))return value<1e11?Math.round(value*1e3):Math.round(value);if(typeof value=="string"&&value.trim().length>0){let parsed=Date.parse(value);return Number.isFinite(parsed)?parsed:null}return null}function rawWireCode(raw){for(let scope of candidateScopes(raw)){let code=scope.code;if(typeof code=="string"&&code.length>0)return code}return null}function isRecord(value){return typeof value=="object"&&value!==null}async function resolveDeviceAuth(auth){return auth.mode==="anonymous"?{mode:"anonymous",publishableKey:auth.publishableKey,userRef:auth.userRef,...auth.sessionId?{sessionId:auth.sessionId}:{}}:{mode:"personalized",token:await auth.identity.currentToken(),userRef:auth.userRef,...auth.sessionId?{sessionId:auth.sessionId}:{}}}function boundedSignal(ms,timers){let ctrl=new AbortController,handle=timers.setTimeout(()=>ctrl.abort(),ms);return{signal:ctrl.signal,cancel:()=>timers.clearTimeout(handle)}}function mergeSignals(deadline,caller){let noop=()=>{};if(!caller)return{signal:deadline,dispose:noop};let ctrl=new AbortController;if(deadline.aborted||caller.aborted)return ctrl.abort(),{signal:ctrl.signal,dispose:noop};let onAbort=()=>ctrl.abort();return deadline.addEventListener("abort",onAbort,{once:true}),caller.addEventListener("abort",onAbort,{once:true}),{signal:ctrl.signal,dispose:()=>{deadline.removeEventListener("abort",onAbort),caller.removeEventListener("abort",onAbort)}}}function delayAbortable(ms,timers,signal){return ms<=0||signal?.aborted===true?Promise.resolve():new Promise(resolve=>{let handle=timers.setTimeout(()=>{signal?.removeEventListener("abort",onAbort),resolve()},ms),onAbort=()=>{timers.clearTimeout(handle),resolve()};signal?.addEventListener("abort",onAbort,{once:true})})}function isNotFoundError(error){return error!=null&&(error.httpStatus===404||error.category==="notFound")}function plainNotFound(error){return error.code!=="conversationNotFound"?error:makeEverfurError("resourceNotFound",{retryable:false,...error.httpStatus===void 0?{}:{httpStatus:error.httpStatus},...error.requestId===void 0?{}:{requestId:error.requestId},...error.reasonCode===void 0?{}:{reasonCode:error.reasonCode},...error.wireMessage===void 0?{}:{wireMessage:error.wireMessage},...error.raw===void 0?{}:{raw:error.raw}})}function plainResult(res){return res.ok?res:err(plainNotFound(res.error))}function withPlainNotFound(funnel){return{send:async(...args)=>plainResult(await funnel.send(...args)),authorize:req=>funnel.authorize(req),stream:(call,req,signal)=>funnel.stream(call,req,signal)}}var REF_MAX=128;var ICONS=/* @__PURE__ */new Set(["shield","arrow","check","star","truck","refresh","card","alert","x","chat","repeat","calendar","flame","box","cart","minus","plus","chev","pulse","file","kit","dna","heart","bottle","harness","ramp"]),TONES=/* @__PURE__ */new Set(["y","c","g","r"]),TRACK_STATES=/* @__PURE__ */new Set(["done","now","next"]),obj=value=>value!==null&&typeof value=="object"&&!Array.isArray(value)?value:null,str2=(value,max=1e3)=>typeof value=="string"&&value.trim().length>0&&value.length<=max?value.trim():null,kindOf=value=>typeof value=="string"&&/^[A-Za-z0-9_-]{1,40}$/.test(value)?value:null,iconOf=value=>typeof value=="string"&&ICONS.has(value)?value:null;function imageOf(value){let s=str2(value,2048);return s===null||/\s/.test(s)?null:/^https:\/\/[^/]/i.test(s)||/^\/(?![/\\])/.test(s)?s:null}var idOf=value=>typeof value=="number"&&Number.isInteger(value)?String(value):str2(value,REF_MAX);function weightOf(value){return typeof value=="number"&&Number.isFinite(value)&&value>0?value:null}function clean(fields){/* @__PURE__ */
|
|
102
|
+
return Object.freeze(Object.fromEntries(Object.entries(fields).filter(([,v])=>v!=null)))}function listOf(value,each,max=20){if(!Array.isArray(value))return null;let out=[];for(let row of value){if(out.length>=max)break;let mapped=each(row);mapped!==null&&out.push(mapped)}return out.length===0?null:/* @__PURE__ */Object.freeze(out)}var words=(value,max=12,len=300)=>listOf(value,v=>str2(v,len),max);function focusOf(value){let o=obj(value),kicker=str2(o?.kicker,120),title=str2(o?.title,300);if(o===null||kicker===null||title===null)return null;let risk=obj(o.risk),odds=obj(o.odds),quote=obj(o.quote),jump=obj(o.jump);return clean({kicker:kicker,title:title,sources:listOf(o.sources,r=>{let label=str2(obj(r)?.label,60);return label===null?null:clean({label:label,kind:kindOf(obj(r)?.kind)})},6),risk:str2(risk?.lead,300)===null?null:clean({lead:str2(risk?.lead,300),body:str2(risk?.body),kind:kindOf(risk?.kind)}),odds:str2(odds?.label,120)===null||str2(odds?.from,20)===null||str2(odds?.to,20)===null?null:clean({label:str2(odds?.label,120),tag:str2(odds?.tag,40),from:str2(odds?.from,20),to:str2(odds?.to,20),toLabel:str2(odds?.toLabel,120)}),quote:str2(quote?.text)===null?null:clean({kicker:str2(quote?.kicker,120),tag:str2(quote?.tag,40),text:str2(quote?.text)}),jump:str2(jump?.title,300)===null||str2(jump?.go,60)===null?null:clean({title:str2(jump?.title,300),go:str2(jump?.go,60)})})}function routineOf(value){let o=obj(value),title=str2(o?.title,300),steps=listOf(o?.steps,r=>{let s=obj(r),t=str2(s?.title,300),tone=s?.tone;return t===null?null:clean({title:t,body:str2(s?.body),source:str2(s?.source,200),tone:typeof tone=="string"&&TONES.has(tone)?tone:null,icon:iconOf(s?.icon),fromVet:s?.fromVet===true?true:null})});return title===null||steps===null?null:clean({title:title,label:str2(o?.label,60),steps:steps})}function pickOf(value){let o=obj(value),title=str2(o?.title,300);if(o===null||title===null)return null;let rating=obj(o.rating),reviews=obj(o.reviews),why=obj(o.why),score=obj(why?.score),dose=obj(o.dose),ingredients=obj(o.ingredients),reviewItems=listOf(reviews?.items,r=>{let v=obj(r),stars=v?.stars,text2=str2(v?.text),by=str2(v?.by,80);return typeof stars!="number"||!Number.isFinite(stars)||stars<1||stars>5||text2===null||by===null?null:clean({stars:Math.round(stars),text:text2,by:by})},5),whyRows=listOf(why?.rows,r=>{let v=obj(r),chip=str2(v?.chip,40),t=str2(v?.title,300);return chip===null||t===null?null:clean({chip:chip,kind:kindOf(v?.kind),title:t,body:str2(v?.body)})}),stats=listOf(dose?.stats,r=>{let v=obj(r),val=str2(v?.value,40),label=str2(v?.label,120),kind=v?.kind;return val===null||label===null?null:clean({value:val,label:label,kind:kind==="weight"||kind==="dose"||kind==="days"?kind:null})},6),ingredientItems=words(ingredients?.items,12,80);return clean({title:title,none:o.none===true?true:null,hidden:o.none===true&&o.hidden===true?true:null,productId:idOf(o.productId),partnerSku:str2(o.partnerSku,200),rating:str2(rating?.value,20)===null?null:clean({value:str2(rating?.value,20),label:str2(rating?.label,120)}),line:str2(o.line),reviews:str2(reviews?.label,200)===null||reviewItems===null?null:clean({label:str2(reviews?.label,200),items:reviewItems}),checkoutLine:str2(o.checkoutLine,300),why:str2(why?.title,200)===null||whyRows===null?null:clean({title:str2(why?.title,200),rows:whyRows,score:str2(score?.text,200)===null||str2(score?.value,20)===null?null:clean({text:str2(score?.text,200),value:str2(score?.value,20)})}),dose:str2(dose?.title,200)===null||stats===null?null:clean({title:str2(dose?.title,200),stats:stats,note:str2(dose?.note)}),doseLabel:str2(o.doseLabel,120),ingredients:ingredientItems===null?null:clean({label:str2(ingredients?.label,200),items:ingredientItems}),proof:str2(o.proof,300),trust:listOf(o.trust,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,120);return icon===null||label===null?null:clean({icon:icon,label:label})},6),more:str2(o.more,120),fine:str2(o.fine),checkin:str2(o.checkin,200)})}function signsOf(value){let o=obj(value),title=str2(o?.title,200),items=listOf(o?.items,r=>{let v=obj(r),t=str2(v?.title,300),body=str2(v?.body);return t===null||body===null?null:clean({title:t,body:body,urgent:v?.urgent===true?true:null,callVet:v?.callVet===true?true:null})});return title===null||items===null?null:clean({title:title,items:items})}function checkupOf(value){let o=obj(value),title=str2(o?.title,200),questions=words(o?.questions,12,300),add=str2(o?.add,80),added=str2(o?.added,80);return title===null||questions===null||add===null||added===null?null:clean({title:title,questions:questions,add:add,added:added})}function extrasOf(value){let o=obj(value),title=str2(o?.title,200),items=listOf(o?.items,r=>{let v=obj(r),key=str2(v?.key,REF_MAX),t=str2(v?.title,300),action=str2(v?.action,80),productId=idOf(v?.productId),added=str2(v?.added,80)??(productId!==null?action:null);return key===null||t===null||action===null||added===null?null:clean({key:key,productId:productId,title:t,body:str2(v?.body),price:str2(v?.price,40),was:str2(v?.was,40),tag:str2(v?.tag,40),imageUrl:imageOf(v?.imageUrl),icon:iconOf(v?.icon),kind:kindOf(v?.kind),action:action,added:added,owned:v?.owned===true?true:null})},6);return title===null||items===null?null:clean({title:title,items:items})}function waitOf(value){let o=obj(value),kicker=str2(o?.kicker,120),title=str2(o?.title,120);return o===null||kicker===null||title===null?null:clean({kicker:kicker,title:title,icon:iconOf(o.icon),track:listOf(o.track,r=>{let v=obj(r),t=str2(v?.title,120),state=v?.state;return t===null?null:clean({title:t,detail:str2(v?.detail,120),state:typeof state=="string"&&TRACK_STATES.has(state)?state:null,tag:str2(v?.tag,40)})},6),heading:str2(o.heading,200),rows:listOf(o.rows,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,120);if(icon===null||label===null)return null;if(v?.fromVet===true)return clean({icon:icon,label:label,text:"",fromVet:true});let text2=str2(v?.text,300);return text2===null?null:clean({icon:icon,label:label,text:text2})},6),note:str2(o.note,300),action:str2(o.action,80)})}function healthPlanFocusDesignFromWire(raw){let o=obj(raw),title=str2(o?.title,300),pick2=pickOf(o?.pick);if(o===null||title===null||pick2===null)return null;let byline=obj(o.byline);return clean({eyebrow:str2(o.eyebrow,120),title:title,subtitle:str2(o.subtitle,300),subtitleNoRecords:str2(o.subtitleNoRecords,300),headImageUrl:imageOf(o.headImageUrl),byline:str2(byline?.name,120)===null?null:clean({name:str2(byline?.name,120),role:str2(byline?.role,120),imageUrl:imageOf(byline?.imageUrl),shortName:str2(byline?.shortName,60)}),focus:focusOf(o.focus),routine:routineOf(o.routine),pick:pick2,signs:signsOf(o.signs),checkup:checkupOf(o.checkup),extras:extrasOf(o.extras),wait:waitOf(o.wait),fine:str2(o.fine),checkoutRows:listOf(o.checkoutRows,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,60),val=str2(v?.value,200);return icon===null||label===null||val===null?null:clean({icon:icon,label:label,value:val})},6)})}function healthPlanPageFromWire(raw,petRef){let o=obj(raw);if(o===null||!("page"in o))return null;let pet=obj(o.pet),sex=pet?.sex;/* @__PURE__ */
|
|
103
|
+
return Object.freeze({petRef:str2(o.pet_ref,REF_MAX)??petRef,pet:/* @__PURE__ */Object.freeze({name:str2(pet?.name,120),species:str2(pet?.species,60),sex:sex==="female"||sex==="male"?sex:null,breed:str2(pet?.breed,120),weightKg:weightOf(pet?.weight_kg),weightLb:weightOf(pet?.weight_lb)}),checkout:o.checkout==="everfur_stripe"?"everfur_stripe":"partner",page:healthPlanFocusDesignFromWire(o.page),vetReviewed:o.vet_reviewed===true,trackingTextsEnabled:o.tracking_texts_enabled===true})}function invalid(wireMessage){return makeEverfurError("validationFailed",{retryable:false,wireMessage:wireMessage})}function malformed(call){return makeEverfurError("internalError",{retryable:false,httpStatus:502,wireMessage:`${call}: the response was not the expected shape`})}function disposed(verb){return makeEverfurError("runtimeDisposed",{retryable:false,wireMessage:`the Everfur runtime is disposed; ${verb} was called after unmount`})}var validRef=value=>typeof value=="string"&&value.length>0&&value.length<=REF_MAX;function base(petRef){return`/widget/v1/pets/${encodeURIComponent(petRef)}/plan`}async function readPage(funnel,petRef,opts){if(!validRef(petRef))return err(invalid("petRef must be 1..128 characters"));let res=await funnel.send("healthPlan.page.read",{method:"GET",path:`${base(petRef)}/page`,...opts?.signal?{signal:opts.signal}:{}});if(!res.ok)return err(res.error);let page=healthPlanPageFromWire(res.value,petRef);return page===null?err(malformed("healthPlan.page.read")):ok(page)}var readers=/* @__PURE__ */new WeakMap;function createHealthPlanPageReader(runtime){let known=readers.get(runtime);if(known!==void 0)return known;let reader=makeHealthPlanPageReader(runtime);return readers.set(runtime,reader),reader}function makeHealthPlanPageReader(runtime){return{getPage:(petRef,opts)=>{if(runtime.isDisposed)return Promise.resolve(err(disposed("getPage")));let{services:services}=runtime.registry,funnel=withPlainNotFound(createRequestFunnel({auth:services.authFor(null),...services.errorPolicy?{errorPolicy:services.errorPolicy}:{}}));return readPage(funnel,petRef,opts)}}}var EVERFUR_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurContext@v1"),globalContextHost=globalThis,EverfurContext=globalContextHost[EVERFUR_CONTEXT_SYMBOL]??(globalContextHost[EVERFUR_CONTEXT_SYMBOL]=react.createContext(null));EverfurContext.displayName??="EverfurContext";function useEverfurContext(){let ctx=react.useContext(EverfurContext);if(ctx===null)throw new EverfurConfigError("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return ctx}function reportHostFailure(error){let globalConsole=globalThis.console;try{globalConsole?.error?.("[everfur] A host callback threw; the SDK ignored it.",error)}catch{}}function isThenable(value){return(typeof value=="object"||typeof value=="function")&&value!==null&&typeof value.then=="function"}function callHost(fn,...args){if(typeof fn=="function")try{let result=fn(...args);return isThenable(result)&&Promise.resolve(result).then(void 0,reportHostFailure),result}catch(error){reportHostFailure(error);return}}var HEALTH_PLAN_STALE_MS=6e4;function useHealthPlanRevalidation({lifecycle:lifecycle,refreshKey:refreshKey,readyAt:readyAt,revalidate:revalidate,refresh:refresh,now:now=Date.now}){let latest=react.useRef({readyAt:readyAt,revalidate:revalidate,refresh:refresh??revalidate,now:now});latest.current={readyAt:readyAt,revalidate:revalidate,refresh:refresh??revalidate,now:now},react.useEffect(()=>{if(lifecycle==null)return;let stop=callHost(()=>lifecycle.onForeground(()=>{let{readyAt:at,revalidate:run,now:clock}=latest.current;at!==null&&clock()-at>=HEALTH_PLAN_STALE_MS&&run()}));return()=>{typeof stop=="function"&&callHost(stop)}},[lifecycle]);let seenKey=react.useRef(refreshKey);react.useEffect(()=>{Object.is(seenKey.current,refreshKey)||(seenKey.current=refreshKey,latest.current.refresh())},[refreshKey])}var HEALTH_PLAN_PAGE_SHARE_MS=HEALTH_PLAN_STALE_MS,SHARED_READS_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#HealthPlanPageReads@v1");function sharedReads(){let host=globalThis,stored=host[SHARED_READS_SYMBOL];if(stored instanceof WeakMap)return stored;let made=/* @__PURE__ */new WeakMap;return host[SHARED_READS_SYMBOL]=made,made}function readShared(reader,runtime,userRef,petRef,fresh){let all=sharedReads(),reads=all.get(runtime);reads===void 0&&(reads=/* @__PURE__ */new Map,all.set(runtime,reads));let map=reads,key=`${userRef}\0${petRef}`,hit=map.get(key);if(!fresh&&hit!==void 0&&(hit.at===null||Date.now()-hit.at<HEALTH_PLAN_PAGE_SHARE_MS))return hit.promise;let entry={at:null,promise:reader.getPage(petRef).then(res=>(map.get(key)===entry&&(res.ok||isNotFoundError(res.error)?entry.at=Date.now():map.delete(key)),res))};return map.set(key,entry),entry.promise}function useHealthPlanPage(options){let{userRef:userRef,runtime:runtime}=useEverfurContext(),own=react.useMemo(()=>createHealthPlanPageReader(runtime),[runtime]),hostRepository=options.repository,repository=hostRepository??own,getPage=react.useCallback((pet,fresh)=>hostRepository!==void 0||userRef==null?repository.getPage(pet):readShared(own,runtime,userRef,pet,fresh),[hostRepository,repository,own,runtime,userRef]),{petRef:petRef}=options,enabled=options.enabled!==false&&userRef!=null&&petRef!==null,[state,setState]=react.useState({phase:"idle",petRef:null,page:null,error:null}),epoch=react.useRef(0),quiet=react.useRef(0),read=react.useCallback(async fresh=>{let mine=++epoch.current;if(!enabled||petRef===null){setState(prev=>prev.phase==="idle"&&prev.petRef===null?prev:{phase:"idle",petRef:null,page:null,error:null});return}setState(prev=>({phase:"loading",petRef:petRef,page:prev.petRef===petRef?prev.page:null,error:null}));let res=await getPage(petRef,fresh);mine===epoch.current&&(res.ok?setState({phase:"ready",petRef:petRef,page:res.value,error:null,readyAt:Date.now()}):isNotFoundError(res.error)?setState({phase:"ready",petRef:petRef,page:null,error:null,missing:true,readyAt:Date.now()}):setState({phase:"failed",petRef:petRef,page:null,error:res.error}))},[enabled,petRef,getPage]),load=react.useCallback(()=>read(true),[read]),ready=state.phase==="ready"&&state.petRef===petRef,revalidate=react.useCallback(async()=>{if(!enabled||petRef===null||!ready)return;let mine=epoch.current,seq=++quiet.current,res=await getPage(petRef,true);mine!==epoch.current||seq!==quiet.current||!res.ok||setState(prev=>prev.phase==="ready"&&prev.petRef===petRef?{phase:"ready",petRef:petRef,page:res.value,error:null,readyAt:Date.now()}:prev)},[enabled,petRef,ready,getPage]);useHealthPlanRevalidation({lifecycle:options.lifecycle,refreshKey:options.refreshKey,readyAt:ready?state.readyAt??null:null,revalidate:()=>{revalidate()},refresh:()=>{ready?revalidate():load()}}),react.useEffect(()=>(read(false),()=>{epoch.current+=1}),[read]);let stale=enabled&&state.petRef!==petRef;return react.useMemo(()=>({phase:stale?"loading":state.phase,page:stale?null:state.page,error:stale?null:state.error,missing:!stale&&state.missing===true,refresh:load}),[stale,state,load])}function hasLoneSurrogate(value){for(let i=0;i<value.length;i+=1){let code=value.charCodeAt(i);if(code>=55296&&code<=56319){let low=value.charCodeAt(i+1);if(!(low>=56320&&low<=57343))return true;i+=1}else if(code>=56320&&code<=57343)return true}return false}function serverLength(value){return[...value].length}var SPECIES_ALIASES=/* @__PURE__ */Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function canonicalPetSpecies(raw){if(typeof raw!="string")return null;let key=raw.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(SPECIES_ALIASES,key)?SPECIES_ALIASES[key]:null}var LIST_MAX=50,REF_MAX2=128,NAME_MAX=120,SHORT_MAX=120,NOTES_MAX=2e3,FOOD_MAX=120,MICROCHIP_MAX=80,SEXES=/* @__PURE__ */new Set(["male","female","unknown"]),PRECISIONS=/* @__PURE__ */new Set(["day","month","year"]),ACTIVITY=/* @__PURE__ */new Set(["low","medium","high","athletic"]),INDOOR_OUTDOOR=/* @__PURE__ */new Set(["indoor","outdoor","both"]),SEVERITIES=/* @__PURE__ */new Set(["mild","moderate","severe"]),ISO_DATE=/^(\d{4})-(\d{2})-(\d{2})$/,SCALAR_WIRE=[["sex","sex"],["spayedNeutered","spayed_neutered"],["birthDate","birth_date"],["birthDatePrecision","birth_date_precision"],["activityLevel","activity_level"],["indoorOutdoor","indoor_outdoor"],["foodBrand","food_brand"],["foodType","food_type"],["microchipId","microchip_id"]],LIST_WIRE=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];/* @__PURE__ */Object.freeze([...SCALAR_WIRE,...LIST_WIRE].map(([key])=>key));function isRealDate(value){let match=ISO_DATE.exec(value);if(match===null)return false;let[year,month,day]=[Number(match[1]),Number(match[2]),Number(match[3])],date2=new Date(Date.UTC(year,month-1,day));return date2.getUTCFullYear()===year&&date2.getUTCMonth()===month-1&&date2.getUTCDate()===day}var oneOf=allowed=>(field,value)=>typeof value=="string"&&allowed.has(value)?null:`${field} must be one of ${[...allowed].join(", ")}`,boolean=(field,value)=>typeof value=="boolean"?null:`${field} must be true or false`,date=(field,value)=>typeof value=="string"&&isRealDate(value)?null:`${field} must be a real date written YYYY-MM-DD`,text=(max,opts={})=>(field,value)=>{if(typeof value!="string")return`${field} must be a string`;if(hasLoneSurrogate(value))return`${field} contains an unpaired surrogate and cannot be encoded`;let measured=opts.trimmed?value.trim():value;if(opts.required&&measured.length===0)return`${field} is required and must not be blank`;let length=serverLength(measured);return length<=max?null:`${field} is ${length} characters; the server accepts at most ${max}`},SCALAR_CHECKS={sex:oneOf(SEXES),spayedNeutered:boolean,birthDate:date,birthDatePrecision:oneOf(PRECISIONS),activityLevel:oneOf(ACTIVITY),indoorOutdoor:oneOf(INDOOR_OUTDOOR),foodBrand:text(FOOD_MAX),foodType:text(FOOD_MAX),microchipId:text(MICROCHIP_MAX)},REF_FIELD=["ref","ref",false,text(REF_MAX2,{required:true,trimmed:true})],NOTES_FIELD=["notes","notes",false,text(NOTES_MAX,{trimmed:true})],MEDICATION_FIELDS=[REF_FIELD,["name","name",true,text(NAME_MAX,{required:true,trimmed:true})],["dose","dose",false,text(SHORT_MAX,{trimmed:true})],["frequency","frequency",false,text(SHORT_MAX,{trimmed:true})],["startDate","start_date",false,date],["endDate","end_date",false,date],NOTES_FIELD],ITEM_FIELDS={allergies:[REF_FIELD,["allergen","allergen",true,text(NAME_MAX,{required:true,trimmed:true})],["severity","severity",false,oneOf(SEVERITIES)],NOTES_FIELD],medications:MEDICATION_FIELDS,supplements:MEDICATION_FIELDS,conditions:[REF_FIELD,["conditionName","condition_name",true,text(NAME_MAX,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,date],NOTES_FIELD]};function itemToWire(list,index,raw){let at=`${list}[${index}]`;if(typeof raw!="object"||raw===null||Array.isArray(raw))return{error:`${at} must be an object`};let source=raw,item={};for(let[key,wire,isRequired,check]of ITEM_FIELDS[list]){let value=source[key];if(value==null){if(isRequired)return{error:`${at}.${key} is required`};value===null&&(item[wire]=null);continue}let bad=check(`${at}.${key}`,value);if(bad!==null)return{error:bad};item[wire]=value}let start=item.start_date,end=item.end_date;return typeof start=="string"&&typeof end=="string"&&end<start?{error:`${at}.endDate must not be before startDate`}:{item:item}}function listToWire(list,raw){if(!Array.isArray(raw))return{error:`${list} must be an array (send [] to clear it)`};if(raw.length>LIST_MAX)return{error:`${list} has ${raw.length} items; the server accepts at most ${LIST_MAX}`};let items=[],refs=/* @__PURE__ */new Set;for(let index=0;index<raw.length;index+=1){let mapped=itemToWire(list,index,raw[index]);if("error"in mapped)return mapped;let ref=mapped.item.ref;if(typeof ref=="string"){let key=ref.trim();if(refs.has(key))return{error:`${list}: ref ${JSON.stringify(key)} is used twice; a ref names one item`};refs.add(key)}items.push(mapped.item)}return{items:items}}function petHealthToWire(input,species){let source=input,body={};for(let[key,wire]of SCALAR_WIRE){let value=source[key];if(value!==void 0){if(value!==null){let bad=SCALAR_CHECKS[key](key,value);if(bad!==null)return{error:bad}}body[wire]=value}}let dateSent=source.birthDate!==void 0,precisionSent=source.birthDatePrecision!==void 0;if(dateSent!==precisionSent||dateSent&&source.birthDate===null!=(source.birthDatePrecision===null))return{error:"birthDate and birthDatePrecision must be sent together, both set or both null"};for(let[key,wire]of LIST_WIRE){let value=source[key];if(value===void 0)continue;let mapped=listToWire(key,value);if("error"in mapped)return mapped;body[wire]=mapped.items}return Object.keys(body).length>0&&species!==void 0&&canonicalPetSpecies(species)===null?{error:"health fields need a pet Everfur reads as a dog or a cat (dog, canine, k9, puppy, cat, feline, kitten)"}:{body:body}}var str3=value=>typeof value=="string"?value:null,pick=(allowed,value)=>typeof value=="string"&&allowed.has(value)?value:null,bool=value=>typeof value=="boolean"?value:null;function itemsFromWire(raw,map){return Array.isArray(raw)?/* @__PURE__ */Object.freeze(raw.flatMap(row=>{if(typeof row!="object"||row===null||Array.isArray(row))return[];let item=map(row);return item===null?[]:[item]})):/* @__PURE__ */Object.freeze([])}function medicationFromWire(o){let name=str3(o.name);return name===null||name.length===0?null:/* @__PURE__ */Object.freeze({ref:str3(o.ref),name:name,dose:str3(o.dose),frequency:str3(o.frequency),startDate:str3(o.start_date),endDate:str3(o.end_date),notes:str3(o.notes)})}function petHealthFromWire(o){let version=o.profile_version;/* @__PURE__ */
|
|
104
104
|
return Object.freeze({profileVersion:typeof version=="number"&&Number.isInteger(version)&&version>=0?version:0,sex:pick(SEXES,o.sex),spayedNeutered:bool(o.spayed_neutered),birthDate:str3(o.birth_date),birthDatePrecision:pick(PRECISIONS,o.birth_date_precision),activityLevel:pick(ACTIVITY,o.activity_level),indoorOutdoor:pick(INDOOR_OUTDOOR,o.indoor_outdoor),foodBrand:str3(o.food_brand),foodType:str3(o.food_type),microchipId:str3(o.microchip_id),allergies:itemsFromWire(o.allergies,row=>{let allergen=str3(row.allergen);return allergen===null||allergen.length===0?null:/* @__PURE__ */Object.freeze({ref:str3(row.ref),allergen:allergen,severity:pick(SEVERITIES,row.severity),notes:str3(row.notes)})}),medications:itemsFromWire(o.medications,medicationFromWire),supplements:itemsFromWire(o.supplements,medicationFromWire),conditions:itemsFromWire(o.conditions,row=>{let conditionName=str3(row.condition_name);return conditionName===null||conditionName.length===0?null:/* @__PURE__ */Object.freeze({ref:str3(row.ref),conditionName:conditionName,diagnosedDate:str3(row.diagnosed_date),notes:str3(row.notes)})})})}var PET_NAME_MAX=100,PET_SPECIES_MAX=50,PET_BREED_MAX=100,PET_AGE_YEARS_MAX=50,PET_WEIGHT_KG_MAX=500,PET_REF_MAX=128,ERASE_USER_DATA_TIMEOUT_MS=6e4;function invalid2(wireMessage){return makeEverfurError("validationFailed",{retryable:false,wireMessage:wireMessage})}function checkString(field,value,max){if(typeof value!="string")return invalid2(`${field} must be a string`);let length=serverLength(value);return length<=max?null:invalid2(`${field} is ${length} characters; the server accepts at most ${max}`)}function outOfRange(field,value,max){return typeof value=="number"&&Number.isFinite(value)&&value>=0&&value<=max?null:invalid2(`${field} must be a finite number between 0 and ${max}`)}function validate(petRef,profile){if(typeof petRef!="string")return invalid2("pet_ref must be a string");if(petRef.trim().length===0)return invalid2("pet_ref must not be blank");if(hasLoneSurrogate(petRef))return invalid2("pet_ref contains an unpaired surrogate and cannot be encoded");if(profile!=null&&typeof profile!="object")return invalid2("profile must be an object");let checks=[checkString("pet_ref",petRef,PET_REF_MAX)];return profile?.name!==void 0&&checks.push(checkString("name",profile.name,PET_NAME_MAX)),profile?.species!==void 0&&checks.push(checkString("species",profile.species,PET_SPECIES_MAX)),profile?.breed!==void 0&&checks.push(checkString("breed",profile.breed,PET_BREED_MAX)),profile?.ageYears!==void 0&&checks.push(outOfRange("age_years",profile.ageYears,PET_AGE_YEARS_MAX)),profile?.weightKg!==void 0&&checks.push(outOfRange("weight_kg",profile.weightKg,PET_WEIGHT_KG_MAX)),checks.find(c=>c!==null)??null}function healthToWire(source,species){let health=petHealthToWire(source,species);return"error"in health?{error:invalid2(health.error)}:health}function patchToWire(patch){if(typeof patch!="object"||patch===null)return{error:invalid2("patch must be an object")};let p=patch,fields=[["name","name",v=>checkString("name",v,PET_NAME_MAX)],["species","species",v=>checkString("species",v,PET_SPECIES_MAX)],["breed","breed",v=>checkString("breed",v,PET_BREED_MAX)],["ageYears","age_years",v=>outOfRange("age_years",v,PET_AGE_YEARS_MAX)],["weightKg","weight_kg",v=>outOfRange("weight_kg",v,PET_WEIGHT_KG_MAX)]],body={};for(let[key,wire,check]of fields){let value=p[key];if(value!==void 0){if(value!==null){let bad=check(value);if(bad!==null)return{error:bad}}body[wire]=value}}let health=healthToWire(p,p.species);return"error"in health?health:(Object.assign(body,health.body),Object.keys(body).length===0?{error:invalid2("patch must change at least one field")}:{body:body})}function toWire(profile){if(profile==null)return{body:{}};let health=healthToWire(profile,profile.species);return"error"in health?health:{body:{...profile.name!==void 0?{name:profile.name}:{},...profile.species!==void 0?{species:profile.species}:{},...profile.breed!==void 0?{breed:profile.breed}:{},...profile.ageYears!==void 0?{age_years:profile.ageYears}:{},...profile.weightKg!==void 0?{weight_kg:profile.weightKg}:{},...health.body}}}var str4=v=>typeof v=="string"?v:null,num=v=>typeof v=="number"&&Number.isFinite(v)?v:null;function fromWire2(raw,petRef){let o=typeof raw=="object"&&raw!==null?raw:{};/* @__PURE__ */
|
|
105
105
|
return Object.freeze({petRef:str4(o.pet_ref)??petRef,name:str4(o.name),species:str4(o.species),breed:str4(o.breed),ageYears:num(o.age_years),weightKg:num(o.weight_kg)})}function widgetPetFromWire(raw){if(typeof raw!="object"||raw===null)return null;let o=raw,petRef=str4(o.pet_ref);return petRef===null||petRef.length===0?null:/* @__PURE__ */Object.freeze({petId:str4(o.pet_id),petRef:petRef,name:str4(o.name),species:str4(o.species),breed:str4(o.breed),ageYears:num(o.age_years),weightKg:num(o.weight_kg),updatedAt:str4(o.updated_at)})}function widgetPetProfileFromWire(raw){let pet=widgetPetFromWire(raw);return pet===null?null:/* @__PURE__ */Object.freeze({...pet,...petHealthFromWire(raw)})}function petListFromWire(raw){let rows=Array.isArray(raw)?raw:typeof raw=="object"&&raw!==null&&Array.isArray(raw.pets)?raw.pets:[];/* @__PURE__ */
|
|
106
106
|
return Object.freeze(rows.flatMap(row=>{let pet=widgetPetFromWire(row);return pet===null?[]:[pet]}))}function createPetsRepository(auth){return createPetsRepositoryOver(createRequestFunnel({auth:auth}),createRequestFunnel({auth:auth,unaryTimeoutMs:ERASE_USER_DATA_TIMEOUT_MS}))}function createPetsRepositoryOver(funnel,eraseFunnel=funnel){let withSignal=(req,signal)=>signal?{...req,signal:signal}:req,petPath=petRef=>validate(petRef,void 0)??`/widget/v1/pets/${encodeURIComponent(petRef)}`;return{async list(opts){let res=await funnel.send("pets.list",withSignal({method:"GET",path:"/widget/v1/pets"},opts?.signal));return res.ok?ok(petListFromWire(res.value)):err(res.error)},async registerPet(petRef,profile,opts){let invalid4=validate(petRef,profile);if(invalid4!==null)return err(invalid4);let wire=toWire(profile);if("error"in wire)return err(wire.error);let base2={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(petRef)}`,body:wire.body},res=await funnel.send("pets.registerPet",opts?.signal?{...base2,signal:opts.signal}:base2);return res.ok?ok(fromWire2(res.value,petRef)):err(res.error)},async updatePet(petRef,patch,opts){let path=petPath(petRef);if(typeof path!="string")return err(path);let wire=patchToWire(patch);if("error"in wire)return err(wire.error);let res=await funnel.send("pets.updatePet",withSignal({method:"PATCH",path:path,body:wire.body},opts?.signal));return res.ok?ok(fromWire2(res.value,petRef)):err(res.error)},async getPetProfile(petRef,opts){let path=petPath(petRef);if(typeof path!="string")return err(path);let res=await funnel.send("pets.getPetProfile",withSignal({method:"GET",path:`${path}/profile`},opts?.signal));if(!res.ok)return err(res.error);let profile=widgetPetProfileFromWire(res.value);return profile===null?err(makeEverfurError("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):ok(profile)},async deletePet(petRef,opts){let path=petPath(petRef);if(typeof path!="string")return err(path);let res=await funnel.send("pets.deletePet",withSignal({method:"DELETE",path:path},opts?.signal));return res.ok?ok(void 0):err(res.error)},async eraseUserData(opts){let res=await eraseFunnel.send("pets.eraseUserData",withSignal({method:"DELETE",path:"/widget/v1/me"},opts?.signal),{maxAttempts:1});return res.ok?ok(void 0):err(res.error)}}}function useEverfurPetProfile(petRef){let{runtime:runtime,userRef:userRef,scopeEpoch:scopeEpoch}=useEverfurContext(),repository=react.useMemo(()=>createPetsRepository(runtime.registry.services.authFor(userRef)),[runtime,userRef,scopeEpoch]),key=react.useMemo(()=>({repository:repository,petRef:petRef}),[repository,petRef]),[state,setState]=react.useState({key:key,profile:null,loading:petRef!==null,error:null}),current=state.key===key?state:{profile:null,loading:petRef!==null,error:null},generation=react.useRef(0),load=react.useCallback(async()=>{let request=++generation.current;if(key.petRef===null){setState({key:key,profile:null,loading:false,error:null});return}setState(previous=>({key:key,profile:previous.key===key?previous.profile:null,loading:true,error:null}));let result=await key.repository.getPetProfile(key.petRef);request===generation.current&&setState(result.ok?{key:key,profile:result.value,loading:false,error:null}:{key:key,profile:null,loading:false,error:result.error})},[key]);return react.useEffect(()=>(load(),()=>{generation.current+=1}),[load]),react.useMemo(()=>({profile:current.profile,loading:current.loading,error:current.error,refresh:load}),[current.profile,current.loading,current.error,load])}var listeners=/* @__PURE__ */new WeakMap;function subscribePetsChanged(runtime,listener){let set=listeners.get(runtime);return set===void 0&&(set=/* @__PURE__ */new Set,listeners.set(runtime,set)),set.add(listener),()=>{set?.delete(listener)}}function useEverfurPets(){let{runtime:runtime,userRef:userRef,activePet:activePetRef,scopeEpoch:scopeEpoch}=useEverfurContext(),repository=react.useMemo(()=>createPetsRepository(runtime.registry.services.authFor(userRef)),[runtime,userRef,scopeEpoch]),[state,setState]=react.useState({repository:repository,pets:[],loading:true,error:null}),current=state.repository===repository?state:{pets:[],loading:true,error:null},generation=react.useRef(0),load=react.useCallback(async()=>{let request=++generation.current;setState(previous=>({...previous,repository:repository,loading:true,error:null,pets:previous.repository===repository?previous.pets:[]}));let result=await repository.list();request===generation.current&&setState(result.ok?{repository:repository,pets:result.value,loading:false,error:null}:previous=>({repository:repository,pets:previous.repository===repository?previous.pets:[],loading:false,error:result.error}))},[repository]);react.useEffect(()=>(load(),()=>{generation.current+=1}),[load]),react.useEffect(()=>subscribePetsChanged(runtime,()=>{load()}),[runtime,load]);let activePet=react.useMemo(()=>activePetRef===null?null:current.pets.find(pet=>pet.petRef===activePetRef)??null,[activePetRef,current.pets]);return react.useMemo(()=>({pets:current.pets,activePet:activePet,loading:current.loading,error:current.error,refresh:load}),[current.pets,current.loading,current.error,activePet,load])}var DEFAULT_PRESENTATION=/* @__PURE__ */Object.freeze({chatAnswerStyle:"cards",chatHistoryStyle:"sheet",chatTopCard:"focus",chatFollowUpCount:3,chatFollowUpsExcludeTelevet:false,chatComposerMic:true,chatComposerUpload:true,safetyDisclaimerPlacement:"composer",healthPlanLayout:"focus_plan",recordsTopRiskLine:true,recordsClearResultsFilter:true,chatComposerStyle:"compact",chatComposerPlaceholder:"pet_name",chatHistoryBar:"scroll",chatGeneralBanner:true,chatSendButton:"always_dark",chatTextingAsk:true}),PRESENTATION_WIRE_NAMES=/* @__PURE__ */Object.freeze({chatAnswerStyle:"chat_answer_style",chatHistoryStyle:"chat_history_style",chatTopCard:"chat_top_card",chatFollowUpCount:"chat_follow_up_count",chatFollowUpsExcludeTelevet:"chat_follow_ups_exclude_televet",chatComposerMic:"chat_composer_mic",chatComposerUpload:"chat_composer_upload",safetyDisclaimerPlacement:"safety_disclaimer_placement",healthPlanLayout:"health_plan_layout",recordsTopRiskLine:"records_top_risk_line",recordsClearResultsFilter:"records_clear_results_filter",chatComposerStyle:"chat_composer_style",chatComposerPlaceholder:"chat_composer_placeholder",chatHistoryBar:"chat_history_bar",chatGeneralBanner:"chat_general_banner",chatSendButton:"chat_send_button",chatTextingAsk:"chat_texting_ask"}),FIELDS=Object.keys(PRESENTATION_WIRE_NAMES),PRESENTATION_LOCK="presentation",PRESENTATION_LOCK_PREFIX="presentation.";var ENUMS={chatAnswerStyle:["bubbles","cards"],chatHistoryStyle:["drawer","sheet"],chatTopCard:["none","focus"],safetyDisclaimerPlacement:["composer","answer_footer"],healthPlanLayout:["standard","focus_plan"],chatComposerStyle:["standard","compact"],chatComposerPlaceholder:["generic","pet_name"],chatHistoryBar:["pinned","scroll"],chatSendButton:["always_dark","dim_when_empty"]},BOOLS=/* @__PURE__ */new Set(["chatFollowUpsExcludeTelevet","chatComposerMic","chatComposerUpload","recordsTopRiskLine","recordsClearResultsFilter","chatGeneralBanner","chatTextingAsk"]);function parseField(field,value){if(value==null)return;let allowed=ENUMS[field];return allowed!==void 0?typeof value=="string"&&allowed.includes(value)?value:void 0:BOOLS.has(field)?typeof value=="boolean"?value:void 0:typeof value=="number"&&Number.isInteger(value)&&value>=0&&value<=3?value:void 0}function parsePresentation(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return null;let source=raw,out={};for(let field of FIELDS){let wire=PRESENTATION_WIRE_NAMES[field],value=Object.prototype.hasOwnProperty.call(source,wire)?source[wire]:source[field],parsed=parseField(field,value);parsed!==void 0&&(out[field]=parsed)}return Object.keys(out).length===0?null:/* @__PURE__ */Object.freeze(out)}function isPresentationFieldLocked(field,locked){if(locked==null)return false;let one=`${PRESENTATION_LOCK_PREFIX}${PRESENTATION_WIRE_NAMES[field]}`;for(let name of locked)if(name===PRESENTATION_LOCK||name===one)return true;return false}function resolvePresentation(input){let server=parsePresentation(input?.server??null)??{},client=parsePresentation(input?.client??null)??{},locked=input?.locked?[...input.locked]:null,out={};for(let field of FIELDS){let fromServer=server[field],fromClient=isPresentationFieldLocked(field,locked)?void 0:client[field];out[field]=fromClient??fromServer??DEFAULT_PRESENTATION[field]}/* @__PURE__ */
|
|
107
107
|
return Object.freeze(out)}var NO_SNAPSHOT=/* @__PURE__ */Object.freeze({branding:null}),NO_STORE=/* @__PURE__ */Object.freeze({subscribe:()=>()=>{},getSnapshot:()=>NO_SNAPSHOT});function keyOf(input){return input?Object.keys(input).sort().map(k=>`${k}=${String(input[k])}`).join("&"):""}function useEverfurPresentation(client){return useEverfurPresentationState(client).presentation}function useEverfurPresentationState(client){let{runtime:runtime}=useEverfurContext(),store=runtime?.entitlements??NO_STORE,readBranding=react.useCallback(()=>store.getSnapshot()?.branding??null,[store]),branding=react.useSyncExternalStore(store.subscribe,readBranding,readBranding),clientKey=keyOf(client);return react.useMemo(()=>{let locked=branding?.lockedFields??null;return{presentation:resolvePresentation({server:branding?.presentation??null,locked:locked,client:client??null}),isLocked:field=>isPresentationFieldLocked(field,locked)}},[branding,clientKey])}var REQUIRES=/* @__PURE__ */Object.freeze({chat:/* @__PURE__ */Object.freeze(["chat.message.create"]),records:/* @__PURE__ */Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:/* @__PURE__ */Object.freeze(["records.clinic.create"]),video:/* @__PURE__ */Object.freeze(["video.gait.execute"]),photo:/* @__PURE__ */Object.freeze(["photo.checkup.execute"]),animations:/* @__PURE__ */Object.freeze(["animations.state.read"]),televet:/* @__PURE__ */Object.freeze(["televet.visit.create"]),texting:/* @__PURE__ */Object.freeze(["sms.identity.read","sms.identity.update"]),healthPlan:/* @__PURE__ */Object.freeze(["shop.plan.read","shop.plan.update"])});function requires(name){return REQUIRES[name]}function decideCapability(name,decisions,opts){let keys=requires(name),byResource=/* @__PURE__ */new Map;for(let decision of decisions)byResource.set(decision.resource,decision);if(opts?.isPending===true&&keys.some(key=>!byResource.has(key)))return freezeDecision({name:name,enabled:false,isPending:true,limits:{}});let limits=mergeLimits(keys,byResource);return keys.filter(key=>byResource.get(key)?.granted!==true).length===0?freezeDecision({name:name,enabled:true,isPending:false,limits:limits}):freezeDecision({name:name,enabled:false,isPending:false,limits:limits,disabled:disabledFor(keys,byResource)})}function mergeLimits(keys,byResource){let out={};for(let key of keys){let decisionLimits=byResource.get(key)?.limits;if(decisionLimits)for(let[limitKey,limitValue]of Object.entries(decisionLimits)){let existing=out[limitKey];out[limitKey]=existing===void 0?limitValue:Math.min(existing,limitValue)}}return out}function disabledFor(keys,byResource){for(let key of keys){let explicit=byResource.get(key)?.disabled;if(explicit)/* @__PURE__ */
|
|
108
108
|
return Object.freeze({reason:explicit.reason,level:explicit.level,recoverable:explicit.recoverable})}/* @__PURE__ */
|
|
109
|
-
return Object.freeze({reason:userFacingError("accessDenied"),level:"user_entitlement",recoverable:false})}function freezeDecision(d){let base2={name:d.name,enabled:d.enabled,isPending:d.isPending,limits:/* @__PURE__ */Object.freeze({...d.limits})};return d.disabled!==void 0&&(base2.disabled=d.disabled),/* @__PURE__ */Object.freeze(base2)}function useCapability(name){let{runtime:runtime}=useEverfurContext(),store=runtime.entitlements,snapshot=react.useSyncExternalStore(store.subscribe,store.getSnapshot,store.getSnapshot);return react.useMemo(()=>decideCapability(name,snapshot.decisions,{isPending:snapshot.isPending}),[name,snapshot])}var COARSE_NOW_TICK_MS=3600*1e3;function useCoarseNow(fixed,shown=true){let[now,setNow]=react.useState(()=>fixed??Date.now()),first=react.useRef(true);return react.useEffect(()=>{if(first.current){first.current=false;return}fixed===void 0&&shown&&setNow(Date.now())},[fixed,shown]),react.useEffect(()=>{if(fixed!==void 0||!shown)return;let tick=setInterval(()=>setNow(Date.now()),COARSE_NOW_TICK_MS),onVisible=()=>{document.visibilityState==="visible"&&setNow(Date.now())},doc=typeof document<"u"&&typeof document.addEventListener=="function"?document:null;return doc?.addEventListener("visibilitychange",onVisible),()=>{clearInterval(tick),doc?.removeEventListener("visibilitychange",onVisible)}},[fixed,shown]),fixed??now}var RECORDS_TERMINAL=/* @__PURE__ */Object.freeze(["published","failed","revoked"]);function isTerminalStatus(status){return RECORDS_TERMINAL.includes(status)}var NAMELESS_PET="your pet";var capital=text2=>text2.charAt(0).toUpperCase()+text2.slice(1);function pronounForSex(sex){let s=sex?.trim().toLowerCase();return s==="female"?"her":s==="male"?"his":null}function sheetPetWords(name,pronoun){let trimmed=name.trim(),shown=trimmed.length>0?trimmed:NAMELESS_PET,Name=capital(shown);return pronoun==="her"?{name:shown,Name:Name,poss:"her",Poss:"Her",subj:"she"}:pronoun==="his"?{name:shown,Name:Name,poss:"his",Poss:"His",subj:"he"}:{name:shown,Name:Name,poss:`${shown}'s`,Poss:`${Name}'s`,subj:shown}}var SHEET_COPY=/* @__PURE__ */Object.freeze({vitalsFrom:(w,visit,date2)=>`Vitals from ${w.poss} ${visit}, ${date2}`,vitalsSource:w=>`Where ${w.name}'s vitals come from`,temperature:"Temperature",heartRate:"Heart rate",breathing:"Breathing",upcomingCare:"Upcoming care",overdueBy:date2=>`Overdue · due by ${date2}`,dueSoon:"Due soon",later:"Later",noDate:"No date",dueIn:(date2,days)=>`Due ${date2} · in ${days} ${days===1?"day":"days"}`,dueToday:date2=>`Due ${date2} · today`,overdueByDays:(date2,days)=>`Overdue by ${days} ${days===1?"day":"days"} · due ${date2}`,recordsHistory:"Records & history",labs:"Labs & bloodwork",results:"results",screenings:"Screenings",screeningsClear:"All clear",screeningsToReview:n=>`${n} to review`,noScreenings:"No screenings yet",visits:"Visits & records",timeline:"Timeline",events:n=>`${n} ${n===1?"event":"events"}`,weight:"Weight",vetVisits:n=>`${n} vet ${n===1?"visit":"visits"}`,history:"History",theirClinic:w=>`${w.Poss} clinic`,bloodPanel:"Blood panel",aboveRange:"above range",belowRange:"below range",othersInRange:"Other values in range.",addRecords:w=>`Add ${w.name}'s records`,moreThanOneClinic:"Records can come from more than one clinic over a lifetime.",visitsCount:n=>`${n} ${n===1?"visit":"visits"}`,panelsCount:n=>`${n} blood ${n===1?"panel":"panels"}`,requestFromClinic:"Request from a clinic",uploadDocument:"Upload a document",onFileNow:"On file now",firstRecord:w=>`Add ${w.name}'s first record`,firstLead:w=>`Records can come from more than one clinic over a lifetime. Start with the one ${w.subj} sees most, and this page fills in from there.`,requestFromTheirClinic:w=>`Request from ${w.poss} clinic`,requestDetail:"We send a secure request and read every page they send back.",uploadDetail:"A PDF, or a photo of a paper record.",findClinic:w=>`Find ${w.name}'s clinic`,chooseFile:"Choose a file",sayBeats:/* @__PURE__ */Object.freeze(["Hmmm","I wonder","what I may be","hiding"]),sayStill:"I wonder what I may be hiding",sample:"Sample",peekLead:w=>`A sneak peek at how ${w.name}'s records will read. Every number links back to the page it came from.`,sampleNote:w=>`Sample data until ${w.poss} records arrive.`,onTheWay:w=>`${w.Name}'s records are on the way`,clinicsTake:"Clinics usually take 2 to 5 days.",anotherClinic:"Another clinic",anotherClinicDetail:"Seen more than one vet? We ask each one.",noDueDate:"No due date on file",noLabs:w=>`No lab results on file for ${w.name} yet. They show up here when a record includes a blood or urine panel.`,noVisits:w=>`No visits in ${w.name}'s records yet. They show up here when a record includes one.`,oneReading:"One reading so far: we'll plot a trend as more come in.",takingNow:"Taking now",noCurrentMeds:"No current medications on file.",noVetTitle:w=>`When ${w.name} has a vet, start here.`,requestedFrom:clinic=>`Requested from ${clinic}. Clinics usually take 2 to 5 days.`,onTheWayFrom:(w,clinic)=>`${w.Name}'s records from ${clinic} are on the way.`,readingUpload:"We're reading the document you uploaded.",seeWhereItStands:"See where it stands",topRisk:w=>`${w.Poss} top risk`,seePlan:w=>`See ${w.poss} Health Plan`,panelOn:date2=>`${date2} blood panel`,latestReading:"Latest reading",rangeLine:(low,high,unit)=>`range ${low} to ${high}${unit?` ${unit}`:""}`,noRange:"No range on the report",above:"Above",inRange:"In range",below:"Below",high:"High",belowRangePill:"Below range",changeUp:(delta,unit)=>`Up ${delta}${unit?` ${unit}`:""}`,changeDown:(delta,unit)=>`Down ${delta}${unit?` ${unit}`:""}`,changeSince:(date2,pct)=>` since ${date2}, about ${pct}%.`,whatIs:name=>`What ${name} is`,otherValues:panel=>`Other ${panel} values`,panelTitle:(panel,date2)=>`${panel} · ${date2}`,askAboutThis:"Ask about this"});function sheetSampleKind(species){let s=species?.trim().toLowerCase()??"";return/^(dog|canine|k9|puppy)\b/.test(s)?"dog":/^(cat|feline|kitten)\b/.test(s)?"cat":"other"}var DAY_MS=864e5,DUE_SOON_DAYS=30,LB_PER_KG=2.20462,MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dayMs(value){if(value==null||value.length===0)return null;let ms=Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(value)?`${value}T00:00:00Z`:value);return Number.isNaN(ms)?null:ms}function shortDate(ms){let d=new Date(ms);return`${MONTHS[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function longDate(ms){return`${shortDate(ms)}, ${new Date(ms).getUTCFullYear()}`}function monthTick(ms){let d=new Date(ms);return`${d.getUTCMonth()+1}/${String(d.getUTCFullYear()%100).padStart(2,"0")}`}var dayKey=ms=>new Date(ms).toISOString().slice(0,10);function num2(value){return String(Math.round(value*100)/100)}var lb=kg=>Math.round(kg*LB_PER_KG*10)/10;function midSentence(text2){let t=text2.trim();return t.length<2||t[1]===t[1]?.toUpperCase()?t:t.charAt(0).toLowerCase()+t.slice(1)}function vitalKind(text2){return/temp/i.test(text2)?"temp":/heart|pulse/i.test(text2)?"heart":/resp|breath/i.test(text2)?"breath":null}var VITAL_ORDER=["temp","heart","breath"],VITAL_LABEL={temp:SHEET_COPY.temperature,heart:SHEET_COPY.heartRate,breath:SHEET_COPY.breathing};function sheetVitals(record){if(record===null||record.withheld)return{vitals:[],observedMs:null};let best=/* @__PURE__ */new Map;for(let e of record.entities){if(e.category!=="vital"||e.value===null||e.value.trim().length===0)continue;let kind=vitalKind(`${e.canonicalKey??""} ${e.key} ${e.label}`);if(kind===null)continue;let ms=dayMs(e.observedAt)??0,prev=best.get(kind);(prev===void 0||ms>prev.ms)&&best.set(kind,{value:e.value.trim(),unit:e.unit,ms:ms})}let vitals=VITAL_ORDER.flatMap(kind=>{let v=best.get(kind);return v===void 0?[]:[{kind:kind,value:v.value,unit:v.unit,label:VITAL_LABEL[kind]}]}),observed=[...best.values()].map(v=>v.ms).filter(ms=>ms>0);return{vitals:vitals,observedMs:observed.length>0?Math.max(...observed):null}}function encounterOn(encounters,ms){let key=dayKey(ms);return encounters.find(e=>{let at=dayMs(e.date);return at!==null&&dayKey(at)===key})??null}function dueIcon(title){return/vaccin|rabies|dhpp|booster|bordetella|lepto|lyme|parvo|distemper/i.test(title)?"efi-shield":/\b(alt|alp|lab|labs|blood|panel|bloodwork|urinalysis|chemistry|cbc)\b/i.test(title)?"efi-flask-sm":"efi-calendar"}function sheetDue(items,nowMs){return items.map(item=>{let due=dayMs(item.dueAt),icon=dueIcon(item.title);if(due!==null&&due<nowMs-DAY_MS+1)return{item:item,title:item.title,when:SHEET_COPY.overdueBy(shortDate(due)),tone:"alert",pill:null,icon:icon};let when=item.detail??(due===null?SHEET_COPY.noDueDate:longDate(due));if(due===null)return{item:item,title:item.title,when:when,tone:"none",pill:null,icon:icon};let soon=due-nowMs<=DUE_SOON_DAYS*DAY_MS;return{item:item,title:item.title,when:when,tone:soon?"watch":"later",pill:soon?SHEET_COPY.dueSoon:SHEET_COPY.later,icon:icon}})}function pointFlag(status){return status==null?null:/above|high/i.test(status)?"above":/below|low/i.test(status)?"below":/in_range|normal|in range/i.test(status)?"in":null}var kgShown=kg=>Math.round(kg*10)/10;function weightText(kg,unit){let pounds=`${num2(lb(kg))} lb`,kilos=`${num2(kgShown(kg))} kg`;return unit==="kg"?{main:kilos,other:pounds}:{main:pounds,other:kilos}}function weightModel(timeline,unit){if(timeline===null||timeline.withheld)return null;let readings=timeline.weights.flatMap(w=>{let ms=dayMs(w.observedOn);return ms===null||w.weightKg===null?[]:[{ms:ms,kg:w.weightKg}]}).sort((a,b)=>a.ms-b.ms),last=readings[readings.length-1];if(last===void 0)return null;let lbs=readings.map(r=>lb(r.kg)),lo=Math.min(...lbs),hi=Math.max(...lbs),t0=readings[0]?.ms??last.ms,span=last.ms-t0,points=readings.map((r,i)=>({x:span>0?Math.round((3.55+93.45*(r.ms-t0)/span)*100)/100:50,y:hi>lo?Math.round((75-50*((lbs[i]??lo)-lo)/(hi-lo))*10)/10:50,lb:lbs[i]??0,value:unit==="kg"?kgShown(r.kg):lbs[i]??0,ms:r.ms})),tickPoints=points.length<=4?points:[points[0],points[points.length-1]].filter(p=>p!==void 0),text2=weightText(last.kg,unit);return{latest:text2.main,sub:`${text2.other} · ${shortDate(last.ms)}`,single:points.length===1,points:points,ticks:tickPoints.map(p=>({x:p.x,label:monthTick(p.ms)})),vetCount:points.length}}function labDays(markers){let days=/* @__PURE__ */new Map;if(markers===null||markers.withheld)return days;for(let marker of markers.markers)for(let point of marker.points){let ms=dayMs(point.at);if(ms===null)continue;let key=dayKey(ms),day=days.get(key)??{ms:ms,flagged:[],total:0,inRange:0,clinics:/* @__PURE__ */new Set};day.total+=1;let flag=pointFlag(point.status);flag==="in"&&(day.inRange+=1),(flag==="above"||flag==="below")&&day.flagged.push({marker:marker,point:point,ms:ms,flag:flag}),point.sourceClinic&&day.clinics.add(point.sourceClinic),days.set(key,day)}return days}function historyModel(inputs,days){let items=[];for(let[key,day]of days)day.flagged.forEach((f,i)=>{let value=f.point.value===null?f.point.qualitativeResult??"":num2(f.point.value),unit=f.point.unit??f.marker.unit,others=day.flagged.length===1&&day.inRange===day.total-1&&day.total>1;items.push({key:`lab-${key}-${f.marker.markerId}-${i}`,ms:day.ms,date:`${shortDate(day.ms)} · ${SHEET_COPY.bloodPanel}`,title:`${f.marker.name} ${value}${unit?` ${unit}`:""}, ${f.flag==="above"?SHEET_COPY.aboveRange:SHEET_COPY.belowRange}`,text:others?SHEET_COPY.othersInRange:null,alert:true,markerId:f.marker.markerId,order:0})});let encounters=inputs.depth?.withheld===false?inputs.depth.encounters:[],visits=inputs.timeline?.withheld===false?inputs.timeline.visits:[],usedVisits=/* @__PURE__ */new Set;encounters.forEach((e,i)=>{let ms=dayMs(e.date);if(ms===null)return;let visit=visits.find(v=>e.docId!==null&&v.docId===e.docId||dayMs(v.visitDate)!==null&&dayKey(dayMs(v.visitDate)??0)===dayKey(ms))??null;visit!==null&&usedVisits.add(visit.visitId);let summary=visit?.summary?.trim()||null,type=e.type?.trim()||null,title=summary??type;title!==null&&items.push({key:`enc-${e.encounterId}-${i}`,ms:ms,date:summary!==null&&type!==null?`${shortDate(ms)} · ${type}`:shortDate(ms),title:title,text:null,alert:false,markerId:null,order:1})});for(let v of visits){let ms=dayMs(v.visitDate),summary=v.summary?.trim()||null;usedVisits.has(v.visitId)||ms===null||summary===null||items.push({key:`visit-${v.visitId}`,ms:ms,date:shortDate(ms),title:summary,text:null,alert:false,markerId:null,order:1})}items.sort((a,b)=>b.ms-a.ms||a.order-b.order);let years=[];for(let entry of items){let item={key:entry.key,ms:entry.ms,date:entry.date,title:entry.title,text:entry.text,alert:entry.alert,markerId:entry.markerId},year=String(new Date(item.ms).getUTCFullYear()),last=years[years.length-1];last!==void 0&&last.year===year?last.items.push(item):years.push({year:year,items:[item]})}return{years:years,count:items.length}}function sourcesModel(inputs,days){let encounters=inputs.depth?.withheld===false?inputs.depth.encounters:[],clinicLabel=name=>name?.trim()||SHEET_COPY.theirClinic(inputs.words),visits=/* @__PURE__ */new Map;for(let e of encounters)visits.set(clinicLabel(e.clinicName),(visits.get(clinicLabel(e.clinicName))??0)+1);let panels=/* @__PURE__ */new Map,onlyClinic=visits.size===1?[...visits.keys()][0]:void 0;for(let day of days.values()){let names=day.clinics.size>0?[...day.clinics].map(clinicLabel):[onlyClinic??SHEET_COPY.theirClinic(inputs.words)];for(let n of names)panels.set(n,(panels.get(n)??0)+1)}return[.../* @__PURE__ */new Set([...visits.keys(),...panels.keys()])].map(label=>({label:label,detail:[(visits.get(label)??0)>0?SHEET_COPY.visitsCount(visits.get(label)??0):null,(panels.get(label)??0)>0?SHEET_COPY.panelsCount(panels.get(label)??0):null].filter(p=>p!==null).join(" · ")}))}var PULL_PCT={requested:15,awaiting_clinic:35,awaiting_upload:35,received:60,parsing:75,in_review:90};function sheetPull(requests){let open=requests.filter(r=>!isTerminalStatus(r.status)).sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0))[0];if(open===void 0)return null;let step=(open.waitingExpectation?.trim()||open.statusLabel).trim();return step.length===0?null:{step:step,pct:PULL_PCT[open.status]??15}}var newestFirst=requests=>[...requests].sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0)),sentence=label=>/[.!?]$/.test(label)?label:`${label}.`;function sheetOnTheWay(words2,requests){let active=newestFirst(requests).filter(r=>!isTerminalStatus(r.status)),waiting=active.filter(r=>r.status==="awaiting_upload"),moving=active.filter(r=>r.status!=="awaiting_upload"),lines=[],clinics=/* @__PURE__ */new Map;for(let r of moving){let clinic=r.clinicName?.trim()??"";r.source!=="clinic_request"||clinic===""||clinics.has(clinic)||clinics.set(clinic,r)}for(let[clinic,newest]of clinics)lines.push({key:`clinic-${clinic}`,text:SHEET_COPY.onTheWayFrom(words2,clinic),requestId:newest.id});let upload=moving.find(r=>r.source==="owner_provided");upload!==void 0&&lines.push({key:"upload",text:SHEET_COPY.readingUpload,requestId:upload.id});let wait=waiting[0],label=wait?.statusLabel.trim()??"";return wait!==void 0&&label!==""&&lines.push({key:"awaiting-upload",text:sentence(label),requestId:wait.id}),lines}function sheetRequestedClinic(requests){return newestFirst(requests).find(r=>!isTerminalStatus(r.status)&&r.status!=="awaiting_upload"&&r.source==="clinic_request"&&(r.clinicName?.trim()??"")!=="")?.clinicName?.trim()??null}function sheetMedications(timeline){if(timeline===null||timeline.withheld)return null;let named=timeline.medications.filter(m=>(m.drugName?.trim()??"")!=="");return named.length===0?null:{current:named.filter(m=>(m.stoppedOn?.trim()??"")==="").map(m=>{let parts=[m.dose,m.frequency,m.route].map(p=>p?.trim()??"").filter(p=>p!==""),detail=m.sig?.trim()||(parts.length>0?parts.join(" · "):null);return{key:m.medicationId,name:(m.drugName??"").trim(),detail:detail}})}}function sheetFailedRequest(requests){if(requests.some(r=>!isTerminalStatus(r.status)))return null;let newest=[...requests].sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0))[0];if(newest===void 0||newest.status!=="failed")return null;let words2=newest.statusLabel.trim();return words2.length>0?words2:null}function sheetHasRecord(record,markers,depth){return record!==null&&!record.withheld&&!record.isEmpty||markers!==null&&!markers.withheld&&markers.markers.length>0?true:depth!==null&&!depth.withheld&&depth.encounters.length>0}function buildRecordsSheetModel(inputs){let{record:record,depth:depth,markers:markers,nowMs:nowMs}=inputs,has=sheetHasRecord(record,markers,depth),pull=sheetPull(inputs.requests),days=labDays(markers),{vitals:vitals,observedMs:observedMs}=sheetVitals(record),encounters=depth?.withheld===false?depth.encounters:[],visitAt=observedMs===null?null:encounterOn(encounters,observedMs),vitalsFrom=observedMs!==null&&visitAt?.type?SHEET_COPY.vitalsFrom(inputs.words,midSentence(visitAt.type),shortDate(observedMs)):null,unit=inputs.weightUnit??"lb",weight=weightModel(inputs.timeline,unit),latestKg=weight!==null?null:inputs.petWeightKg,meta=[inputs.breed?.trim()||null,weight?.latest??(latestKg!==null?weightText(latestKg,unit).main:null)].filter(p=>p!==null),timelineVisits=inputs.timeline?.withheld===false?inputs.timeline.visits.length:0,history=historyModel(inputs,days),encounterDays=encounters.map(e=>dayMs(e.date)).filter(ms=>ms!==null),markerList=markers?.withheld===false?markers.markers:[],featured=markers?.featuredMarkerId??markerList.find(m=>pointFlag(m.latest?.status)==="above"||pointFlag(m.latest?.status)==="below")?.markerId??markerList[0]?.markerId??null;return{state:has?"full":pull!==null?"onTheWay":"none",meta:meta.length>0?meta.join(" · "):null,vitals:vitals,vitalsFrom:vitalsFrom,due:record!==null&&!record.withheld?sheetDue(record.forwardLooking,nowMs):[],labsCount:markers?.withheld===false?markers.summary?.totalMarkers??markers.markers.length:0,featuredMarkerId:featured,latestVisit:encounterDays.length>0?longDate(Math.max(...encounterDays)):null,weight:weight,history:history.years,historyCount:history.count,sources:sourcesModel(inputs,days),pull:pull,hasVisits:encounters.length>0||timelineVisits>0,medications:sheetMedications(inputs.timeline),failedRequest:pull===null?sheetFailedRequest(inputs.requests):null,inFlight:sheetOnTheWay(inputs.words,inputs.requests),requestedClinic:sheetRequestedClinic(inputs.requests)}}function lastPoint(marker){let dated=marker.points.filter(p=>p.value!==null);return dated[dated.length-1]??marker.points[marker.points.length-1]??null}function rangeOf(point){return point===null||point.refLow===null||point.refHigh===null||!Number.isFinite(point.refLow)||!Number.isFinite(point.refHigh)||point.refHigh<=point.refLow?null:{low:point.refLow,high:point.refHigh}}function markerRow(marker,point=lastPoint(marker)){let range=rangeOf(point),unit=point?.unit??marker.unit,value=point?.value??null;return{markerId:marker.markerId,name:marker.name,value:value===null?point?.qualitativeResult??"":num2(value),unit:unit,range:range===null?null:`${num2(range.low)} to ${num2(range.high)}${unit?` ${unit}`:""}`,at:range===null||value===null?null:Math.round(Math.min(100,Math.max(0,20+60*(value-range.low)/(range.high-range.low)))),flag:pointFlag(point?.status??marker.latest?.status??null)}}function flagPill(flag){return flag==="above"?SHEET_COPY.high:flag==="below"?SHEET_COPY.belowRangePill:flag==="in"?SHEET_COPY.inRange:null}var panelWord=panel=>{let name=panel.replace(/\s+panel$/i,"").trim()||panel;return name.length>1&&name[1]===name[1]?.toUpperCase()?name:name.charAt(0).toLowerCase()+name.slice(1)};function buildSheetLabModel(markers,markerId){let marker=markers.markers.find(m=>m.markerId===markerId);if(marker===void 0)return null;let last=lastPoint(marker),row=markerRow(marker,last),lastMs=dayMs(last?.at??marker.latest?.at??null),range=rangeOf(last),latestSub=[lastMs===null?null:shortDate(lastMs),range===null?SHEET_COPY.noRange:SHEET_COPY.rangeLine(num2(range.low),num2(range.high),row.unit)].filter(p=>p!==null).join(" · "),numeric=marker.points.flatMap(p=>{let ms=dayMs(p.at);return p.value===null||ms===null?[]:[{p:p,ms:ms,v:p.value}]}),chart=[];if(numeric.length>0){let values=numeric.map(n=>n.v),lo=range?.low??Math.min(...values),hi=range?.high??Math.max(...values);chart=numeric.map((n,i)=>({x:numeric.length===1?50:Math.round((18+64*i/(numeric.length-1))*100)/100,y:hi>lo?Math.min(98,Math.max(2,Math.round((75-50*(n.v-lo)/(hi-lo))*10)/10)):50,label:num2(n.v),out:pointFlag(n.p.status)==="above"||pointFlag(n.p.status)==="below",tick:shortDate(n.ms)}))}let first=numeric[0],final=numeric[numeric.length-1],change=null;if(first!==void 0&&final!==void 0&&numeric.length>=2&&final.v!==first.v){let delta=Math.abs(final.v-first.v),pct=first.v!==0?Math.round(delta/Math.abs(first.v)*100):null,lead2=final.v>first.v?SHEET_COPY.changeUp(num2(delta),row.unit):SHEET_COPY.changeDown(num2(delta),row.unit);change=pct===null?null:{lead:lead2,rest:SHEET_COPY.changeSince(shortDate(first.ms),pct)}}let groups=[],lastKey=lastMs===null?null:dayKey(lastMs),others=markers.markers.filter(m=>m.markerId!==marker.markerId),samePanel=others.filter(m=>m.panel!==null&&m.panel===marker.panel);if(samePanel.length>0&&marker.panel!==null){let rows=samePanel.map(m=>markerRow(m));groups.push({title:SHEET_COPY.otherValues(panelWord(marker.panel)),allInRange:rows.every(r=>r.flag==="in"),rows:rows})}if(lastKey!==null&&lastMs!==null){let byPanel=/* @__PURE__ */new Map;for(let m of others){if(m.panel===null||m.panel===marker.panel)continue;let p=[...m.points].reverse().find(pt=>{let ms=dayMs(pt.at);return ms!==null&&dayKey(ms)===lastKey});p!==void 0&&byPanel.set(m.panel,[...byPanel.get(m.panel)??[],markerRow(m,p)])}for(let[panel,rows]of byPanel)groups.push({title:SHEET_COPY.panelTitle(panel,shortDate(lastMs)),allInRange:rows.every(r=>r.flag==="in"),rows:rows})}return{markerId:marker.markerId,name:marker.name,meta:lastMs===null?null:SHEET_COPY.panelOn(longDate(lastMs)),pill:flagPill(row.flag),flagged:row.flag==="above"||row.flag==="below",latest:`${row.value}${row.unit?` ${row.unit}`:""}`,latestSub:latestSub,hasRange:range!==null,chart:chart,change:change,meaning:(marker.meaning??"").split(/\n\s*\n/).map(p=>p.trim()).filter(p=>p.length>0),groups:groups}}var FACT_ENTITY_TYPE_MAX=64,FACT_CANONICAL_KEY_MAX=512;function normalizeOrigin(raw){return raw==="owner_reported"||raw==="clinic_document"?raw:null}var entitySchema=/* @__PURE__ */zod.z.object({key:/* @__PURE__ */zod.z.string(),category:/* @__PURE__ */zod.z.string().optional(),label:/* @__PURE__ */zod.z.string().optional(),value:/* @__PURE__ */zod.z.string().nullish(),unit:/* @__PURE__ */zod.z.string().nullish(),observed_at:/* @__PURE__ */zod.z.string().nullish(),status:/* @__PURE__ */zod.z.string().nullish(),origin:/* @__PURE__ */zod.z.string().nullish(),canonical_key:/* @__PURE__ */zod.z.string().nullish()});var documentSchema=/* @__PURE__ */zod.z.object({doc_id:/* @__PURE__ */zod.z.string(),title:/* @__PURE__ */zod.z.string().nullish(),document_class:/* @__PURE__ */zod.z.string().nullish(),page_count:/* @__PURE__ */zod.z.number().nullish(),received_at:/* @__PURE__ */zod.z.string().nullish()});function mapEntityRow(e){/* @__PURE__ */
|
|
109
|
+
return Object.freeze({reason:userFacingError("accessDenied"),level:"user_entitlement",recoverable:false})}function freezeDecision(d){let base2={name:d.name,enabled:d.enabled,isPending:d.isPending,limits:/* @__PURE__ */Object.freeze({...d.limits})};return d.disabled!==void 0&&(base2.disabled=d.disabled),/* @__PURE__ */Object.freeze(base2)}function useCapability(name){let{runtime:runtime}=useEverfurContext(),store=runtime.entitlements,snapshot=react.useSyncExternalStore(store.subscribe,store.getSnapshot,store.getSnapshot);return react.useMemo(()=>decideCapability(name,snapshot.decisions,{isPending:snapshot.isPending}),[name,snapshot])}var COARSE_NOW_TICK_MS=3600*1e3;function useCoarseNow(fixed,shown=true){let[now,setNow]=react.useState(()=>fixed??Date.now()),first=react.useRef(true);return react.useEffect(()=>{if(first.current){first.current=false;return}fixed===void 0&&shown&&setNow(Date.now())},[fixed,shown]),react.useEffect(()=>{if(fixed!==void 0||!shown)return;let tick=setInterval(()=>setNow(Date.now()),COARSE_NOW_TICK_MS),onVisible=()=>{document.visibilityState==="visible"&&setNow(Date.now())},doc=typeof document<"u"&&typeof document.addEventListener=="function"?document:null;return doc?.addEventListener("visibilitychange",onVisible),()=>{clearInterval(tick),doc?.removeEventListener("visibilitychange",onVisible)}},[fixed,shown]),fixed??now}var RECORDS_TERMINAL=/* @__PURE__ */Object.freeze(["published","failed","revoked"]);function isTerminalStatus(status){return RECORDS_TERMINAL.includes(status)}var NAMELESS_PET="your pet";var capital=text2=>text2.charAt(0).toUpperCase()+text2.slice(1);function pronounForSex(sex){let s=sex?.trim().toLowerCase();return s==="female"?"her":s==="male"?"his":null}function sheetPetWords(name,pronoun){let trimmed=name.trim(),shown=trimmed.length>0?trimmed:NAMELESS_PET,Name=capital(shown);return pronoun==="her"?{name:shown,Name:Name,poss:"her",Poss:"Her",subj:"she"}:pronoun==="his"?{name:shown,Name:Name,poss:"his",Poss:"His",subj:"he"}:{name:shown,Name:Name,poss:`${shown}'s`,Poss:`${Name}'s`,subj:shown}}var SHEET_COPY=/* @__PURE__ */Object.freeze({vitalsFrom:(w,visit,date2)=>`Vitals from ${w.poss} ${visit}, ${date2}`,vitalsSource:w=>`Where ${w.name}'s vitals come from`,temperature:"Temperature",heartRate:"Heart rate",breathing:"Breathing",upcomingCare:"Upcoming care",overdueBy:date2=>`Overdue · due by ${date2}`,dueSoon:"Due soon",later:"Later",noDate:"No date",dueIn:(date2,days)=>`Due ${date2} · in ${days} ${days===1?"day":"days"}`,dueToday:date2=>`Due ${date2} · today`,overdueByDays:(date2,days)=>`Overdue by ${days} ${days===1?"day":"days"} · due ${date2}`,recordsHistory:"Records & history",labs:"Labs & bloodwork",results:"results",screenings:"Screenings",screeningsClear:"All clear",screeningsToReview:n=>`${n} to review`,noScreenings:"No screenings yet",visits:"Visits & records",timeline:"Timeline",events:n=>`${n} ${n===1?"event":"events"}`,weight:"Weight",vetVisits:n=>`${n} vet ${n===1?"visit":"visits"}`,history:"History",theirClinic:w=>`${w.Poss} clinic`,bloodPanel:"Blood panel",aboveRange:"above range",belowRange:"below range",othersInRange:"Other values in range.",addRecords:w=>`Add ${w.name}'s records`,moreThanOneClinic:"Records can come from more than one clinic over a lifetime.",visitsCount:n=>`${n} ${n===1?"visit":"visits"}`,panelsCount:n=>`${n} blood ${n===1?"panel":"panels"}`,requestFromClinic:"Request from a clinic",uploadDocument:"Upload a document",onFileNow:"On file now",firstRecord:w=>`Add ${w.name}'s first record`,firstLead:w=>`Records can come from more than one clinic over a lifetime. Start with the one ${w.subj} sees most, and this page fills in from there.`,requestFromTheirClinic:w=>`Request from ${w.poss} clinic`,requestDetail:"We send a secure request and read every page they send back.",uploadDetail:"A PDF, or a photo of a paper record.",findClinic:w=>`Find ${w.name}'s clinic`,chooseFile:"Choose a file",sayBeats:/* @__PURE__ */Object.freeze(["Hmmm","I wonder","what I may be","hiding"]),sayStill:"I wonder what I may be hiding",sample:"Sample",peekLead:w=>`A sneak peek at how ${w.name}'s records will read. Every number links back to the page it came from.`,sampleNote:w=>`Sample data until ${w.poss} records arrive.`,onTheWay:w=>`${w.Name}'s records are on the way`,clinicsTake:"Clinics usually take 2 to 5 days.",anotherClinic:"Another clinic",anotherClinicDetail:"Seen more than one vet? We ask each one.",noDueDate:"No due date on file",noLabs:w=>`No lab results on file for ${w.name} yet. They show up here when a record includes a blood or urine panel.`,noVisits:w=>`No visits in ${w.name}'s records yet. They show up here when a record includes one.`,oneReading:"One reading so far: we'll plot a trend as more come in.",takingNow:"Taking now",noCurrentMeds:"No current medications on file.",noVetTitle:w=>`When ${w.name} has a vet, start here.`,requestedFrom:clinic=>`Requested from ${clinic}. Clinics usually take 2 to 5 days.`,onTheWayFrom:(w,clinic)=>`${w.Name}'s records from ${clinic} are on the way.`,readingUpload:"We're reading the document you uploaded.",seeWhereItStands:"See where it stands",topRisk:w=>`${w.Poss} top risk`,seePlan:w=>`See ${w.poss} Health Plan`,panelOn:date2=>`${date2} blood panel`,latestReading:"Latest reading",rangeLine:(low,high,unit)=>`range ${low} to ${high}${unit?` ${unit}`:""}`,noRange:"No range on the report",above:"Above",inRange:"In range",below:"Below",high:"High",belowRangePill:"Below range",changeUp:(delta,unit)=>`Up ${delta}${unit?` ${unit}`:""}`,changeDown:(delta,unit)=>`Down ${delta}${unit?` ${unit}`:""}`,changeSince:(date2,pct)=>` since ${date2}, about ${pct}%.`,whatIs:name=>`What ${name} is`,otherValues:panel=>`Other ${panel} values`,panelTitle:(panel,date2)=>`${panel} · ${date2}`,askAboutThis:"Ask about this"});function sheetSampleKind(species){let s=species?.trim().toLowerCase()??"";return/^(dog|canine|k9|puppy)\b/.test(s)?"dog":/^(cat|feline|kitten)\b/.test(s)?"cat":"other"}var DAY_MS=864e5,DUE_SOON_DAYS=30,LB_PER_KG=2.20462,MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dayMs(value){if(value==null||value.length===0)return null;let ms=Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(value)?`${value}T00:00:00Z`:value);return Number.isNaN(ms)?null:ms}function shortDate(ms){let d=new Date(ms);return`${MONTHS[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function longDate(ms){return`${shortDate(ms)}, ${new Date(ms).getUTCFullYear()}`}function monthTick(ms){let d=new Date(ms);return`${d.getUTCMonth()+1}/${String(d.getUTCFullYear()%100).padStart(2,"0")}`}var dayKey=ms=>new Date(ms).toISOString().slice(0,10);function num2(value){return String(Math.round(value*100)/100)}var lb=kg=>Math.round(kg*LB_PER_KG*10)/10;function midSentence(text2){let t=text2.trim();return t.length<2||t[1]===t[1]?.toUpperCase()?t:t.charAt(0).toLowerCase()+t.slice(1)}function vitalKind(text2){return/temp/i.test(text2)?"temp":/heart|pulse/i.test(text2)?"heart":/resp|breath/i.test(text2)?"breath":null}var VITAL_ORDER=["temp","heart","breath"],VITAL_LABEL={temp:SHEET_COPY.temperature,heart:SHEET_COPY.heartRate,breath:SHEET_COPY.breathing};function sheetVitals(record){if(record===null||record.withheld)return{vitals:[],observedMs:null};let best=/* @__PURE__ */new Map;for(let e of record.entities){if(e.category!=="vital"||e.value===null||e.value.trim().length===0)continue;let kind=vitalKind(`${e.canonicalKey??""} ${e.key} ${e.label}`);if(kind===null)continue;let ms=dayMs(e.observedAt)??0,prev=best.get(kind);(prev===void 0||ms>prev.ms)&&best.set(kind,{value:e.value.trim(),unit:e.unit,ms:ms})}let vitals=VITAL_ORDER.flatMap(kind=>{let v=best.get(kind);return v===void 0?[]:[{kind:kind,value:v.value,unit:v.unit,label:VITAL_LABEL[kind]}]}),observed=[...best.values()].map(v=>v.ms).filter(ms=>ms>0);return{vitals:vitals,observedMs:observed.length>0?Math.max(...observed):null}}function encounterOn(encounters,ms){let key=dayKey(ms);return encounters.find(e=>{let at=dayMs(e.date);return at!==null&&dayKey(at)===key})??null}function dueIcon(title){return/vaccin|rabies|dhpp|booster|bordetella|lepto|lyme|parvo|distemper/i.test(title)?"efi-shield":/\b(alt|alp|lab|labs|blood|panel|bloodwork|urinalysis|chemistry|cbc)\b/i.test(title)?"efi-flask-sm":"efi-calendar"}function sheetDue(items,nowMs){return items.map(item=>{let due=dayMs(item.dueAt),icon=dueIcon(item.title);if(due!==null&&due<nowMs-DAY_MS+1)return{item:item,title:item.title,when:SHEET_COPY.overdueBy(shortDate(due)),tone:"alert",pill:null,icon:icon};let when=item.detail??(due===null?SHEET_COPY.noDueDate:longDate(due));if(due===null)return{item:item,title:item.title,when:when,tone:"none",pill:null,icon:icon};let soon=due-nowMs<=DUE_SOON_DAYS*DAY_MS;return{item:item,title:item.title,when:when,tone:soon?"watch":"later",pill:soon?SHEET_COPY.dueSoon:SHEET_COPY.later,icon:icon}})}function pointFlag(status){return status==null?null:/above|high/i.test(status)?"above":/below|low/i.test(status)?"below":/in_range|normal|in range/i.test(status)?"in":null}var kgShown=kg=>Math.round(kg*10)/10;function weightText(kg,unit){let pounds=`${num2(lb(kg))} lb`,kilos=`${num2(kgShown(kg))} kg`;return unit==="kg"?{main:kilos,other:pounds}:{main:pounds,other:kilos}}function weightModel(timeline,unit){if(timeline===null||timeline.withheld)return null;let readings=timeline.weights.flatMap(w=>{let ms=dayMs(w.observedOn);return ms===null||w.weightKg===null?[]:[{ms:ms,kg:w.weightKg}]}).sort((a,b)=>a.ms-b.ms),last=readings[readings.length-1];if(last===void 0)return null;let lbs=readings.map(r=>lb(r.kg)),lo=Math.min(...lbs),hi=Math.max(...lbs),t0=readings[0]?.ms??last.ms,span=last.ms-t0,points=readings.map((r,i)=>({x:span>0?Math.round((3.55+93.45*(r.ms-t0)/span)*100)/100:50,y:hi>lo?Math.round((75-50*((lbs[i]??lo)-lo)/(hi-lo))*10)/10:50,lb:lbs[i]??0,value:unit==="kg"?kgShown(r.kg):lbs[i]??0,ms:r.ms})),tickPoints=points.length<=4?points:[points[0],points[points.length-1]].filter(p=>p!==void 0),text2=weightText(last.kg,unit);return{latest:text2.main,sub:`${text2.other} · ${shortDate(last.ms)}`,single:points.length===1,points:points,ticks:tickPoints.map(p=>({x:p.x,label:monthTick(p.ms)})),vetCount:points.length}}function labDays(markers){let days=/* @__PURE__ */new Map;if(markers===null||markers.withheld)return days;for(let marker of markers.markers)for(let point of marker.points){let ms=dayMs(point.at);if(ms===null)continue;let key=dayKey(ms),day=days.get(key)??{ms:ms,flagged:[],total:0,inRange:0,clinics:/* @__PURE__ */new Set};day.total+=1;let flag=pointFlag(point.status);flag==="in"&&(day.inRange+=1),(flag==="above"||flag==="below")&&day.flagged.push({marker:marker,point:point,ms:ms,flag:flag}),point.sourceClinic&&day.clinics.add(point.sourceClinic),days.set(key,day)}return days}function historyModel(inputs,days){let items=[];for(let[key,day]of days)day.flagged.forEach((f,i)=>{let value=f.point.value===null?f.point.qualitativeResult??"":num2(f.point.value),unit=f.point.unit??f.marker.unit,others=day.flagged.length===1&&day.inRange===day.total-1&&day.total>1;items.push({key:`lab-${key}-${f.marker.markerId}-${i}`,ms:day.ms,date:`${shortDate(day.ms)} · ${SHEET_COPY.bloodPanel}`,title:`${f.marker.name} ${value}${unit?` ${unit}`:""}, ${f.flag==="above"?SHEET_COPY.aboveRange:SHEET_COPY.belowRange}`,text:others?SHEET_COPY.othersInRange:null,alert:true,markerId:f.marker.markerId,order:0})});let encounters=inputs.depth?.withheld===false?inputs.depth.encounters:[],visits=inputs.timeline?.withheld===false?inputs.timeline.visits:[],usedVisits=/* @__PURE__ */new Set;encounters.forEach((e,i)=>{let ms=dayMs(e.date);if(ms===null)return;let visit=visits.find(v=>e.docId!==null&&v.docId===e.docId||dayMs(v.visitDate)!==null&&dayKey(dayMs(v.visitDate)??0)===dayKey(ms))??null;visit!==null&&usedVisits.add(visit.visitId);let summary=visit?.summary?.trim()||null,type=e.type?.trim()||null,title=summary??type;title!==null&&items.push({key:`enc-${e.encounterId}-${i}`,ms:ms,date:summary!==null&&type!==null?`${shortDate(ms)} · ${type}`:shortDate(ms),title:title,text:null,alert:false,markerId:null,order:1})});for(let v of visits){let ms=dayMs(v.visitDate),summary=v.summary?.trim()||null;usedVisits.has(v.visitId)||ms===null||summary===null||items.push({key:`visit-${v.visitId}`,ms:ms,date:shortDate(ms),title:summary,text:null,alert:false,markerId:null,order:1})}items.sort((a,b)=>b.ms-a.ms||a.order-b.order);let years=[];for(let entry of items){let item={key:entry.key,ms:entry.ms,date:entry.date,title:entry.title,text:entry.text,alert:entry.alert,markerId:entry.markerId},year=String(new Date(item.ms).getUTCFullYear()),last=years[years.length-1];last!==void 0&&last.year===year?last.items.push(item):years.push({year:year,items:[item]})}return{years:years,count:items.length}}function sourcesModel(inputs,days){let encounters=inputs.depth?.withheld===false?inputs.depth.encounters:[],clinicLabel=name=>name?.trim()||SHEET_COPY.theirClinic(inputs.words),visits=/* @__PURE__ */new Map;for(let e of encounters)visits.set(clinicLabel(e.clinicName),(visits.get(clinicLabel(e.clinicName))??0)+1);let panels=/* @__PURE__ */new Map,onlyClinic=visits.size===1?[...visits.keys()][0]:void 0;for(let day of days.values()){let names=day.clinics.size>0?[...day.clinics].map(clinicLabel):[onlyClinic??SHEET_COPY.theirClinic(inputs.words)];for(let n of names)panels.set(n,(panels.get(n)??0)+1)}return[.../* @__PURE__ */new Set([...visits.keys(),...panels.keys()])].map(label=>({label:label,detail:[(visits.get(label)??0)>0?SHEET_COPY.visitsCount(visits.get(label)??0):null,(panels.get(label)??0)>0?SHEET_COPY.panelsCount(panels.get(label)??0):null].filter(p=>p!==null).join(" · ")}))}var PULL_PCT={requested:15,awaiting_clinic:35,awaiting_upload:35,received:60,parsing:75,in_review:90};function sheetPull(requests){let open=requests.filter(r=>!isTerminalStatus(r.status)).sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0))[0];if(open===void 0)return null;let step=(open.waitingExpectation?.trim()||open.statusLabel).trim();return step.length===0?null:{step:step,pct:PULL_PCT[open.status]??15}}var newestFirst=requests=>[...requests].sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0)),sentence=label=>/[.!?]$/.test(label)?label:`${label}.`;function sheetOnTheWay(words2,requests){let active=newestFirst(requests).filter(r=>!isTerminalStatus(r.status)),waiting=active.filter(r=>r.status==="awaiting_upload"),moving=active.filter(r=>r.status!=="awaiting_upload"),lines=[],clinics=/* @__PURE__ */new Map;for(let r of moving){let clinic=r.clinicName?.trim()??"";r.source!=="clinic_request"||clinic===""||clinics.has(clinic)||clinics.set(clinic,r)}for(let[clinic,newest]of clinics)lines.push({key:`clinic-${clinic}`,text:SHEET_COPY.onTheWayFrom(words2,clinic),requestId:newest.id});let upload=moving.find(r=>r.source==="owner_provided");upload!==void 0&&lines.push({key:"upload",text:SHEET_COPY.readingUpload,requestId:upload.id});let wait=waiting[0],label=wait?.statusLabel.trim()??"";return wait!==void 0&&label!==""&&lines.push({key:"awaiting-upload",text:sentence(label),requestId:wait.id}),lines}function sheetRequestedClinic(requests){return newestFirst(requests).find(r=>!isTerminalStatus(r.status)&&r.status!=="awaiting_upload"&&r.source==="clinic_request"&&(r.clinicName?.trim()??"")!=="")?.clinicName?.trim()??null}function sheetMedications(timeline){if(timeline===null||timeline.withheld)return null;let named=timeline.medications.filter(m=>(m.drugName?.trim()??"")!=="");return named.length===0?null:{current:named.filter(m=>(m.stoppedOn?.trim()??"")==="").map(m=>{let parts=[m.dose,m.frequency,m.route].map(p=>p?.trim()??"").filter(p=>p!==""),detail=m.sig?.trim()||(parts.length>0?parts.join(" · "):null);return{key:m.medicationId,name:(m.drugName??"").trim(),detail:detail}})}}function sheetFailedRequest(requests){if(requests.some(r=>!isTerminalStatus(r.status)))return null;let newest=[...requests].sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0))[0];if(newest===void 0||newest.status!=="failed")return null;let words2=newest.statusLabel.trim();return words2.length>0?words2:null}function sheetHasRecord(record,markers,depth){return record!==null&&!record.withheld&&!record.isEmpty||markers!==null&&!markers.withheld&&markers.markers.length>0?true:depth!==null&&!depth.withheld&&depth.encounters.length>0}function sheetAge(ageYears){if(typeof ageYears!="number"||!Number.isFinite(ageYears)||ageYears<=0)return null;let totalMonths=Math.floor(ageYears*12+1e-9),years=Math.floor(totalMonths/12),months=totalMonths%12;return years<=0?`${months}M`:months>0?`${years}Y ${months}M`:`${years}Y`}function buildRecordsSheetModel(inputs){let{record:record,depth:depth,markers:markers,nowMs:nowMs}=inputs,has=sheetHasRecord(record,markers,depth),pull=sheetPull(inputs.requests),days=labDays(markers),{vitals:vitals,observedMs:observedMs}=sheetVitals(record),encounters=depth?.withheld===false?depth.encounters:[],visitAt=observedMs===null?null:encounterOn(encounters,observedMs),vitalsFrom=observedMs!==null&&visitAt?.type?SHEET_COPY.vitalsFrom(inputs.words,midSentence(visitAt.type),shortDate(observedMs)):null,unit=inputs.weightUnit??"lb",weight=weightModel(inputs.timeline,unit),latestKg=weight!==null?null:inputs.petWeightKg,meta=[inputs.breed?.trim()||null,sheetAge(inputs.petAgeYears),weight?.latest??(latestKg!==null?weightText(latestKg,unit).main:null)].filter(p=>p!==null),timelineVisits=inputs.timeline?.withheld===false?inputs.timeline.visits.length:0,history=historyModel(inputs,days),encounterDays=encounters.map(e=>dayMs(e.date)).filter(ms=>ms!==null),markerList=markers?.withheld===false?markers.markers:[],featured=markers?.featuredMarkerId??markerList.find(m=>pointFlag(m.latest?.status)==="above"||pointFlag(m.latest?.status)==="below")?.markerId??markerList[0]?.markerId??null;return{state:has?"full":pull!==null?"onTheWay":"none",meta:meta.length>0?meta.join(" · "):null,vitals:vitals,vitalsFrom:vitalsFrom,due:record!==null&&!record.withheld?sheetDue(record.forwardLooking,nowMs):[],labsCount:markers?.withheld===false?markers.summary?.totalMarkers??markers.markers.length:0,featuredMarkerId:featured,latestVisit:encounterDays.length>0?longDate(Math.max(...encounterDays)):null,weight:weight,history:history.years,historyCount:history.count,sources:sourcesModel(inputs,days),pull:pull,hasVisits:encounters.length>0||timelineVisits>0,medications:sheetMedications(inputs.timeline),failedRequest:pull===null?sheetFailedRequest(inputs.requests):null,inFlight:sheetOnTheWay(inputs.words,inputs.requests),requestedClinic:sheetRequestedClinic(inputs.requests)}}function lastPoint(marker){let dated=marker.points.filter(p=>p.value!==null);return dated[dated.length-1]??marker.points[marker.points.length-1]??null}function rangeOf(point){return point===null||point.refLow===null||point.refHigh===null||!Number.isFinite(point.refLow)||!Number.isFinite(point.refHigh)||point.refHigh<=point.refLow?null:{low:point.refLow,high:point.refHigh}}function markerRow(marker,point=lastPoint(marker)){let range=rangeOf(point),unit=point?.unit??marker.unit,value=point?.value??null;return{markerId:marker.markerId,name:marker.name,value:value===null?point?.qualitativeResult??"":num2(value),unit:unit,range:range===null?null:`${num2(range.low)} to ${num2(range.high)}${unit?` ${unit}`:""}`,at:range===null||value===null?null:Math.round(Math.min(100,Math.max(0,20+60*(value-range.low)/(range.high-range.low)))),flag:pointFlag(point?.status??marker.latest?.status??null)}}function flagPill(flag){return flag==="above"?SHEET_COPY.high:flag==="below"?SHEET_COPY.belowRangePill:flag==="in"?SHEET_COPY.inRange:null}var panelWord=panel=>{let name=panel.replace(/\s+panel$/i,"").trim()||panel;return name.length>1&&name[1]===name[1]?.toUpperCase()?name:name.charAt(0).toLowerCase()+name.slice(1)};function buildSheetLabModel(markers,markerId){let marker=markers.markers.find(m=>m.markerId===markerId);if(marker===void 0)return null;let last=lastPoint(marker),row=markerRow(marker,last),lastMs=dayMs(last?.at??marker.latest?.at??null),range=rangeOf(last),latestSub=[lastMs===null?null:shortDate(lastMs),range===null?SHEET_COPY.noRange:SHEET_COPY.rangeLine(num2(range.low),num2(range.high),row.unit)].filter(p=>p!==null).join(" · "),numeric=marker.points.flatMap(p=>{let ms=dayMs(p.at);return p.value===null||ms===null?[]:[{p:p,ms:ms,v:p.value}]}),chart=[];if(numeric.length>0){let values=numeric.map(n=>n.v),lo=range?.low??Math.min(...values),hi=range?.high??Math.max(...values);chart=numeric.map((n,i)=>({x:numeric.length===1?50:Math.round((18+64*i/(numeric.length-1))*100)/100,y:hi>lo?Math.min(98,Math.max(2,Math.round((75-50*(n.v-lo)/(hi-lo))*10)/10)):50,label:num2(n.v),out:pointFlag(n.p.status)==="above"||pointFlag(n.p.status)==="below",tick:shortDate(n.ms)}))}let first=numeric[0],final=numeric[numeric.length-1],change=null;if(first!==void 0&&final!==void 0&&numeric.length>=2&&final.v!==first.v){let delta=Math.abs(final.v-first.v),pct=first.v!==0?Math.round(delta/Math.abs(first.v)*100):null,lead2=final.v>first.v?SHEET_COPY.changeUp(num2(delta),row.unit):SHEET_COPY.changeDown(num2(delta),row.unit);change=pct===null?null:{lead:lead2,rest:SHEET_COPY.changeSince(shortDate(first.ms),pct)}}let groups=[],lastKey=lastMs===null?null:dayKey(lastMs),others=markers.markers.filter(m=>m.markerId!==marker.markerId),samePanel=others.filter(m=>m.panel!==null&&m.panel===marker.panel);if(samePanel.length>0&&marker.panel!==null){let rows=samePanel.map(m=>markerRow(m));groups.push({title:SHEET_COPY.otherValues(panelWord(marker.panel)),allInRange:rows.every(r=>r.flag==="in"),rows:rows})}if(lastKey!==null&&lastMs!==null){let byPanel=/* @__PURE__ */new Map;for(let m of others){if(m.panel===null||m.panel===marker.panel)continue;let p=[...m.points].reverse().find(pt=>{let ms=dayMs(pt.at);return ms!==null&&dayKey(ms)===lastKey});p!==void 0&&byPanel.set(m.panel,[...byPanel.get(m.panel)??[],markerRow(m,p)])}for(let[panel,rows]of byPanel)groups.push({title:SHEET_COPY.panelTitle(panel,shortDate(lastMs)),allInRange:rows.every(r=>r.flag==="in"),rows:rows})}return{markerId:marker.markerId,name:marker.name,meta:lastMs===null?null:SHEET_COPY.panelOn(longDate(lastMs)),pill:flagPill(row.flag),flagged:row.flag==="above"||row.flag==="below",latest:`${row.value}${row.unit?` ${row.unit}`:""}`,latestSub:latestSub,hasRange:range!==null,chart:chart,change:change,meaning:(marker.meaning??"").split(/\n\s*\n/).map(p=>p.trim()).filter(p=>p.length>0),groups:groups}}var FACT_ENTITY_TYPE_MAX=64,FACT_CANONICAL_KEY_MAX=512;function normalizeOrigin(raw){return raw==="owner_reported"||raw==="clinic_document"?raw:null}var entitySchema=/* @__PURE__ */zod.z.object({key:/* @__PURE__ */zod.z.string(),category:/* @__PURE__ */zod.z.string().optional(),label:/* @__PURE__ */zod.z.string().optional(),value:/* @__PURE__ */zod.z.string().nullish(),unit:/* @__PURE__ */zod.z.string().nullish(),observed_at:/* @__PURE__ */zod.z.string().nullish(),status:/* @__PURE__ */zod.z.string().nullish(),origin:/* @__PURE__ */zod.z.string().nullish(),canonical_key:/* @__PURE__ */zod.z.string().nullish()});var documentSchema=/* @__PURE__ */zod.z.object({doc_id:/* @__PURE__ */zod.z.string(),title:/* @__PURE__ */zod.z.string().nullish(),document_class:/* @__PURE__ */zod.z.string().nullish(),page_count:/* @__PURE__ */zod.z.number().nullish(),received_at:/* @__PURE__ */zod.z.string().nullish()});function mapEntityRow(e){/* @__PURE__ */
|
|
110
110
|
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:normalizeOrigin(e.origin),canonicalKey:e.canonical_key??null})}function mapDocumentRow(d){/* @__PURE__ */
|
|
111
111
|
return Object.freeze({docId:d.doc_id,title:d.title??null,documentClass:d.document_class??null,pageCount:d.page_count??null,receivedAt:d.received_at??null})}var str5=/* @__PURE__ */zod.z.string().nullish(),num3=/* @__PURE__ */zod.z.number().nullish(),pointSchema=/* @__PURE__ */zod.z.object({collected_at:str5,at:str5,value:num3,unit:str5,qualitative_result:str5,ref_low:num3,ref_high:num3,status:str5,source_clinic:str5,source_doc_id:str5,doc_id:str5,reviewed:/* @__PURE__ */zod.z.boolean().nullish()}),latestSchema=/* @__PURE__ */zod.z.object({collected_at:str5,at:str5,value:num3,unit:str5,qualitative_result:str5,status:str5}),markerSchema=/* @__PURE__ */zod.z.object({marker_id:/* @__PURE__ */zod.z.string().min(1),canonical_name:str5,name:str5,loinc_code:str5,canonical_unit:str5,unit:str5,panel_name:str5,panel:str5,meaning_text:str5,meaning:str5,latest:/* @__PURE__ */latestSchema.nullish(),trajectory:str5,points:/* @__PURE__ */zod.z.array(pointSchema).optional()}),summarySchema=/* @__PURE__ */zod.z.object({total_markers:/* @__PURE__ */zod.z.number().int().nonnegative(),in_range_count:/* @__PURE__ */zod.z.number().int().nonnegative(),out_of_range_count:/* @__PURE__ */zod.z.number().int().nonnegative(),unknown_count:/* @__PURE__ */zod.z.number().int().nonnegative()}),markersSchema=/* @__PURE__ */zod.z.object({markers:/* @__PURE__ */zod.z.array(markerSchema).optional(),summary:/* @__PURE__ */summarySchema.nullish(),disclaimer:/* @__PURE__ */zod.z.string().optional(),featured_marker_id:str5});function isObject(v){return typeof v=="object"&&v!==null&&!Array.isArray(v)}function withheldMarkers(pet){/* @__PURE__ */
|
|
112
112
|
return Object.freeze({petRef:pet,withheld:true,markers:/* @__PURE__ */Object.freeze([]),summary:null,disclaimer:"",featuredMarkerId:null})}function mapRecordMarkers(petRef,wire){let w=isObject(wire)?wire:{},pet=typeof w.pet_ref=="string"&&w.pet_ref.length>0?w.pet_ref:petRef;if(w.withheld===true)return withheldMarkers(pet);let parsed=markersSchema.safeParse(w);if(!parsed.success)return withheldMarkers(pet);let m=parsed.data,point=p=>/* @__PURE__ */Object.freeze({at:p.collected_at??p.at??null,value:p.value??null,unit:p.unit??null,qualitativeResult:p.qualitative_result??null,refLow:p.ref_low??null,refHigh:p.ref_high??null,status:p.status??null,sourceClinic:p.source_clinic??null,docId:p.source_doc_id??p.doc_id??null,reviewed:p.reviewed===true}),markers=(m.markers??[]).map(marker=>/* @__PURE__ */Object.freeze({markerId:marker.marker_id,name:marker.canonical_name??marker.name??marker.marker_id,loincCode:marker.loinc_code??null,unit:marker.canonical_unit??marker.unit??null,panel:marker.panel_name??marker.panel??null,meaning:marker.meaning_text??marker.meaning??null,latest:marker.latest?/* @__PURE__ */Object.freeze({at:marker.latest.collected_at??marker.latest.at??null,value:marker.latest.value??null,unit:marker.latest.unit??null,qualitativeResult:marker.latest.qualitative_result??null,status:marker.latest.status??null}):null,trajectory:marker.trajectory??null,points:/* @__PURE__ */Object.freeze((marker.points??[]).map(point))}));/* @__PURE__ */
|
|
@@ -117,121 +117,144 @@ return Object.freeze({petRef:pet,available:false,withheld:withheld,labResults:/*
|
|
|
117
117
|
return Object.freeze({petRef:pet,available:true,withheld:false,labResults:/* @__PURE__ */Object.freeze((d.lab_results??[]).map(m=>/* @__PURE__ */Object.freeze({markerId:m.marker_id,name:m.name,loincCode:m.loinc_code??null,unit:m.unit??null,panel:m.panel??null,meaning:m.meaning??null,latest:/* @__PURE__ */Object.freeze({at:m.latest?.at??null,value:m.latest?.value??null,unit:m.latest?.unit??null,qualitativeResult:m.latest?.qualitative_result??null,status:m.latest?.status??null}),trajectory:m.trajectory??null,points:/* @__PURE__ */Object.freeze((m.points??[]).map(point))}))),encounters:/* @__PURE__ */Object.freeze((d.encounters??[]).map(e=>/* @__PURE__ */Object.freeze({encounterId:e.encounter_id,date:e.date??null,type:e.type??null,clinicName:e.clinic_name??null,veterinarian:e.veterinarian??null,docId:e.doc_id??null}))),clinicianNotes:/* @__PURE__ */Object.freeze((d.clinician_notes??[]).map(n=>/* @__PURE__ */Object.freeze({noteId:n.note_id,encounterId:n.encounter_id??null,observedOn:n.observed_on??null,sections:/* @__PURE__ */Object.freeze((n.sections??[]).map(s=>/* @__PURE__ */Object.freeze({section:s.section,text:s.text})))}))),physicalExams:/* @__PURE__ */Object.freeze((d.physical_exams??[]).map(x=>/* @__PURE__ */Object.freeze({examId:x.exam_id,encounterId:x.encounter_id??null,observedOn:x.observed_on??null,docId:x.doc_id??null,systems:/* @__PURE__ */Object.freeze(Object.entries(x.systems??{}).map(([system,field])=>/* @__PURE__ */Object.freeze({system:system,findingStatus:field.finding_status??null,finding:field.finding??null})))}))),completeness:d.completeness?/* @__PURE__ */Object.freeze({hasLabHistory:d.completeness.has_lab_history===true,hasVaccinationHistory:d.completeness.has_vaccination_history===true,hasWeightHistory:d.completeness.has_weight_history===true,hasVitalsHistory:d.completeness.has_vitals_history===true,hasPhysicalExamHistory:d.completeness.has_physical_exam_history===true,hasProcedureHistory:d.completeness.has_procedure_history===true,hasGeneticHistory:d.completeness.has_genetic_history===true,hasReproductiveHistory:d.completeness.has_reproductive_history===true,hasParasitePreventionHistory:d.completeness.has_parasite_prevention_history===true,earliestRecordAt:d.completeness.earliest_record_at??null,latestRecordAt:d.completeness.latest_record_at??null,documentsIngested:d.completeness.documents_ingested??0,documentsInReview:d.completeness.documents_in_review??0,entitiesPendingReview:/* @__PURE__ */Object.freeze({...d.completeness.entities_pending_review??{}}),heldTotal:d.completeness.held_total??0}):null,conflicts:/* @__PURE__ */Object.freeze((d.conflicts??[]).map(c=>/* @__PURE__ */Object.freeze({conflictId:c.conflict_id,entityType:c.entity_type,field:c.field??null,severity:c.severity??"needs_review",candidates:/* @__PURE__ */Object.freeze((c.candidates??[]).map(k=>/* @__PURE__ */Object.freeze({value:k.value,docId:k.source_doc_id??k.doc_id??null,collectedAt:k.collected_at??null})))})))})}function withheldTimeline(pet){/* @__PURE__ */
|
|
118
118
|
return Object.freeze({petRef:pet,withheld:true,isEmpty:false,visits:/* @__PURE__ */Object.freeze([]),vaccines:/* @__PURE__ */Object.freeze([]),weights:/* @__PURE__ */Object.freeze([]),medications:/* @__PURE__ */Object.freeze([]),disclaimer:""})}function mapRecordsTimeline(petRef,wire){let w=isObject2(wire)?wire:{},pet=petOf(w,petRef);if(w.withheld===true)return withheldTimeline(pet);let parsed=timelineSchema.safeParse(w);if(!parsed.success)return withheldTimeline(pet);let t=parsed.data,visits=t.visits.map(v=>/* @__PURE__ */Object.freeze({visitId:v.visit_id,visitDate:v.visit_date??null,veterinarian:v.veterinarian??null,summary:v.summary??null,docId:v.doc_id??null})),vaccines=t.vaccines.map(v=>/* @__PURE__ */Object.freeze({vaccineId:v.vaccine_id,product:v.product??null,lot:v.lot??null,administeredOn:v.administered_on??null,expiresOn:v.expires_on??null,docId:v.doc_id??null})),weights=t.weights.map(v=>/* @__PURE__ */Object.freeze({weightId:v.weight_id,observedOn:v.observed_on??null,weightKg:v.weight_kg??null,docId:v.doc_id??null})),medications=t.medications.map(m=>/* @__PURE__ */Object.freeze({medicationId:m.medication_id,drugName:m.drug_name??null,dose:m.dose??null,route:m.route??null,frequency:m.frequency??null,sig:m.sig??null,rxNumber:m.rx_number??null,startedOn:m.started_on??null,stoppedOn:m.stopped_on??null,docId:m.doc_id??null}));/* @__PURE__ */
|
|
119
119
|
return Object.freeze({petRef:pet,withheld:false,isEmpty:visits.length===0&&vaccines.length===0&&weights.length===0&&medications.length===0,visits:/* @__PURE__ */Object.freeze(visits),vaccines:/* @__PURE__ */Object.freeze(vaccines),weights:/* @__PURE__ */Object.freeze(weights),medications:/* @__PURE__ */Object.freeze(medications),disclaimer:t.disclaimer??""})}function mapDocumentContributions(petRef,wire){let w=isObject2(wire)?wire:{},pet=petOf(w,petRef),withheld=()=>/* @__PURE__ */Object.freeze({petRef:pet,withheld:true,document:null,contributions:/* @__PURE__ */Object.freeze([]),contributionCount:0});if(w.withheld===true)return withheld();let parsed=contributionsSchema.safeParse(w);if(!parsed.success)return withheld();let contributions=/* @__PURE__ */Object.freeze(parsed.data.contributions.map(mapEntityRow));/* @__PURE__ */
|
|
120
|
-
return Object.freeze({petRef:pet,withheld:false,document:mapDocumentRow(parsed.data.document),contributions:contributions,contributionCount:parsed.data.contribution_count??contributions.length})}var BASE="/widget/v1/records/pets";function createRecordsDepthClient(deps){let funnel=withPlainNotFound(deps.funnel??createRequestFunnel({auth:deps.auth,...deps.errorPolicy?{errorPolicy:deps.errorPolicy}:{}})),segment=(value,max)=>typeof value=="string"&&value.length>0&&!hasLoneSurrogate(value)&&[...value].length<=max,read=async(call,petRef,path,map)=>{if(!segment(petRef,PET_REF_MAX2))return invalid3();let result=await funnel.send(call,{method:"GET",path:path});if(!result.ok)return result;let view=map(result.value);return view.petRef===petRef?ok(view):err(makeEverfurError("internalError",{retryable:false}))},pet=petRef=>`${BASE}/${encodeURIComponent(petRef)}`,record=petRef=>`${pet(petRef)}/everfur_record`,parsed=async(call,req,map)=>{let result=await funnel.send(call,req,req.method==="POST"?{idempotent:false,maxAttempts:1}:void 0);if(!result.ok)return result;let value=map(result.value);return value===null?err(makeEverfurError("internalError",{retryable:false})):ok(value)},factBody=(input,corrected)=>!segment(input.entityType,FACT_ENTITY_TYPE_MAX)||!segment(input.canonicalKey,FACT_CANONICAL_KEY_MAX)||input.idempotencyKey!==void 0&&!segment(input.idempotencyKey,IDEMPOTENCY_KEY_MAX)||corrected!==void 0&&Object.keys(corrected).length===0?null:{entity_type:input.entityType,canonical_key:input.canonicalKey,...corrected!==void 0?{corrected_fields:corrected}:{},...input.idempotencyKey!==void 0?{idempotency_key:input.idempotencyKey}:{}};return{getRecordDepth:petRef=>read("records.depth.record",petRef,`${pet(petRef)}/record`,wire=>mapRecordDepth(petRef,wire)),getTimeline:petRef=>read("records.depth.timeline",petRef,`${pet(petRef)}/timeline`,wire=>mapRecordsTimeline(petRef,wire)),getDocumentContributions(petRef,docId){return segment(docId,64)?read("records.depth.contributions",petRef,`${pet(petRef)}/documents/${encodeURIComponent(docId)}/contributions`,wire=>mapDocumentContributions(petRef,wire)):invalid3()},getMarkers:petRef=>read("records.depth.markers",petRef,`${pet(petRef)}/markers`,wire=>mapRecordMarkers(petRef,wire)),createShare(petRef,opts){if(!segment(petRef,PET_REF_MAX2))return invalid3();let audience=opts?.audience;return audience!==void 0&&!RECORD_SHARE_AUDIENCES.includes(audience)?invalid3():parsed("records.share.create",{method:"POST",path:`${record(petRef)}/share`,...audience!==void 0?{body:{audience:audience}}:{}},wire=>mapRecordShareLink(wire,deps.apiBaseUrl))},emailShare(petRef,input){let kind=input.recipientKind,email=typeof input.recipientEmail=="string"?input.recipientEmail.trim():"",kindOk=kind==="other"||RECORD_SHARE_AUDIENCES.includes(kind);return!segment(petRef,PET_REF_MAX2)||!kindOk||!isShareRecipientEmail(email)||hasLoneSurrogate(email)?invalid3():parsed("records.share.email",{method:"POST",path:`${record(petRef)}/share/email`,body:{recipient_email:email,recipient_kind:kind}},mapRecordShareEmailReceipt)},async readFeatures(){try{let result=await funnel.send("records.getFeatures",{method:"GET",path:"/widget/v1/records/features"});return result.ok?mapRecordsFeatures(result.value):RECORDS_FEATURES_PDF_ONLY}catch{return RECORDS_FEATURES_PDF_ONLY}},listShares(petRef){return segment(petRef,PET_REF_MAX2)?parsed("records.share.list",{method:"GET",path:`${record(petRef)}/shares`},mapRecordShareList):invalid3()},async revokeShare(petRef,shareId){if(!segment(petRef,PET_REF_MAX2)||!segment(shareId,64))return invalid3();let result=await funnel.send("records.share.revoke",{method:"DELETE",path:`${record(petRef)}/shares/${encodeURIComponent(shareId)}`},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},getPdfLink(petRef){return segment(petRef,PET_REF_MAX2)?parsed("records.pdf.link",{method:"GET",path:`${record(petRef)}/pdf-link`},mapRecordPdfLink):invalid3()},async editFact(petRef,input){let body=segment(petRef,PET_REF_MAX2)?factBody(input,input.correctedFields):null;if(body===null)return invalid3();let result=await funnel.send("records.fact.edit",{method:"POST",path:`${record(petRef)}/facts/edit`,body:body},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},async removeFact(petRef,input){let body=segment(petRef,PET_REF_MAX2)?factBody(input):null;if(body===null)return invalid3();let result=await funnel.send("records.fact.remove",{method:"POST",path:`${record(petRef)}/facts/remove`,body:body},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},listRequestDocuments(requestId){return segment(requestId,64)?parsed("records.request.documents",{method:"GET",path:`/widget/v1/records/requests/${encodeURIComponent(requestId)}/documents`},mapRequestDocuments):invalid3()},listAuthorizationSignatures:()=>parsed("records.signatures.list",{method:"GET",path:"/widget/v1/records/authorization-signatures"},mapSignatureSuggestions)}}function invalid3(){return Promise.resolve(err(makeEverfurError("validationFailed",{retryable:false})))}var epochs=/* @__PURE__ */new Map,listeners2=/* @__PURE__ */new Set;function recordsConsentEpochOf(petRef){return epochs.get(petRef)??0}function subscribe(onStoreChange){return listeners2.add(onStoreChange),()=>{listeners2.delete(onStoreChange)}}function useRecordsConsentEpoch(petRef){let snapshot=react.useCallback(()=>recordsConsentEpochOf(petRef),[petRef]);return react.useSyncExternalStore(subscribe,snapshot,snapshot)}function useEverfurRecordsDepthClient(){let{runtime:runtime,userRef:userRef,scopeEpoch:scopeEpoch}=useEverfurContext();return react.useMemo(()=>{let{services:services}=runtime.registry;return createRecordsDepthClient({auth:services.authFor(userRef),...services.errorPolicy?{errorPolicy:services.errorPolicy}:{},...typeof services.apiBaseUrl=="string"?{apiBaseUrl:services.apiBaseUrl}:{}})},[runtime,userRef,scopeEpoch])}function useRecordsDepthRead(petRef,read,isEmpty,extraKey=""){let client=useEverfurRecordsDepthClient(),{userRef:userRef}=useEverfurContext(),consentEpoch=useRecordsConsentEpoch(petRef),scope=react.useMemo(()=>({}),[client,petRef,extraKey,consentEpoch]),[state,setState]=react.useState({scope:scope,value:null,error:null,loading:true}),generation=react.useRef(0),load=react.useCallback(async()=>{let gen=generation.current+=1;if(setState({scope:scope,value:null,error:null,loading:true}),userRef===null){setState({scope:scope,value:null,error:null,loading:false});return}let result=await read(client,petRef);gen===generation.current&&(result.ok?setState({scope:scope,value:result.value,error:null,loading:false}):setState({scope:scope,value:null,error:result.error,loading:false}))},[client,petRef,read,scope,userRef]);react.useEffect(()=>(load(),()=>{generation.current+=1}),[load]);let current=state.scope===scope?state:{value:null,error:null,loading:true},refresh=react.useCallback(()=>{load()},[load]),available=current.error===null||current.error.httpStatus!==404,error=available?current.error:null,status=current.loading?"loading":error!==null?"error":current.value===null?"empty":current.value.withheld?"populated":isEmpty(current.value)?"empty":"populated";return react.useMemo(()=>({status:status,value:current.value,error:error,available:available,refresh:refresh}),[status,current.value,error,available,refresh])}var readMarkers=(client,petRef)=>client.getMarkers(petRef),markersEmpty=value=>value.markers.length===0;function useRecordsMarkers(petRef){let state=useRecordsDepthRead(petRef,readMarkers,markersEmpty);return react.useMemo(()=>{let markers=state.available&&state.value!==null&&!state.value.withheld?state.value:null;return{status:state.status,markers:markers,available:state.available,error:state.error,refresh:state.refresh}},[state])}var freezeInPlace=Object.freeze;function deepFreeze(value){if(value!==null&&typeof value=="object"&&!Object.isFrozen(value)){freezeInPlace(value);for(let key of Object.keys(value))deepFreeze(value[key])}return value}var TEXT_SCALE_TIER_CAPS=/* @__PURE__ */Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),SPACE={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},RADIUS={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},TYPE_SIZE={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},LINE_HEIGHT={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},WEIGHT={regular:"400",medium:"500",bold:"700"},LETTER_SPACING={eyebrow:1,monoWide:.9,headerBrand:-.42,tight:-.35},DEFAULT_MAX_FONT_SCALE=0,SYSTEM_FONT_FAMILY="System",SYSTEM_MONO_FAMILY="monospace",TIERS=["content","heading","control","compact","badge"];function authoredTierSizes(size){let out={};for(let tier of TIERS)out[tier]=size;return out}var NO_FONT_SOURCES=[];function baseType(){return{family:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,fontUrl:null,families:{regular:SYSTEM_FONT_FAMILY,medium:SYSTEM_FONT_FAMILY,bold:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,monoMedium:SYSTEM_MONO_FAMILY,monoBold:SYSTEM_MONO_FAMILY},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:TYPE_SIZE,tierSizes:authoredTierSizes(TYPE_SIZE),lineHeight:LINE_HEIGHT,weight:WEIGHT,letterSpacing:LETTER_SPACING,scale:1,maxScale:DEFAULT_MAX_FONT_SCALE,scaleCaps:TEXT_SCALE_TIER_CAPS,headingFamily:null,headingWeight:null,fontSources:NO_FONT_SOURCES}}var NO_SLOTS={},EASING_CURVES=/* @__PURE__ */Object.freeze({standard:/* @__PURE__ */Object.freeze([.2,0,0,1]),emphasized:/* @__PURE__ */Object.freeze([.2,.8,.2,1]),exit:/* @__PURE__ */Object.freeze([.4,0,1,1])});function cssCubicBezier(curve){return`cubic-bezier(${curve.join(", ")})`}var MOTION={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:cssCubicBezier(EASING_CURVES.standard),emphasized:cssCubicBezier(EASING_CURVES.emphasized),exit:cssCubicBezier(EASING_CURVES.exit)},reducedMotion:false},LIGHT_COLOR={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:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",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:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",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(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",highlight:"#FFC3BC",onHighlight:"#000000",mark:"#07C168",controlEdge:"rgba(16,70,46,0.18)",structureEdge:"rgba(16,70,46,0.25)",primaryEdge:"#10462E",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)",info:"#10462E",badgeBgInfo:"rgba(16,70,46,0.10)",infoEdge:"rgba(16,70,46,0.25)"},EVERFUR_LIGHT=deepFreeze({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:LIGHT_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS}),DARK_COLOR={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:"#9A9A9A",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",onDanger:"#0E1F17",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",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",highlight:"#605051",onHighlight:"#F5F3F0",mark:"#07C168",controlEdge:"rgba(107,211,154,0.22)",structureEdge:"rgba(107,211,154,0.28)",primaryEdge:"#6BD39A",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)",info:"#6BD39A",badgeBgInfo:"rgba(107,211,154,0.12)",infoEdge:"rgba(107,211,154,0.28)"},EVERFUR_DARK=deepFreeze({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:DARK_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS});var EVERFUR_THEME_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),globalThemeHost=globalThis,EverfurThemeContext=globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]??(globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]=react.createContext(EVERFUR_LIGHT));EverfurThemeContext.displayName??="EverfurThemeContext";function useEverfurTheme(){return react.useContext(EverfurThemeContext)}function parseColor(value){let rgba=toRgba(value);return rgba===null?null:normalizeRgba(rgba)}function toRgba(value){if(typeof value=="number")return argbIntToRgba(value);if(typeof value!="string")return null;let s=value.trim();if(s.length===0)return null;if(s.startsWith("#"))return fromHex(s.slice(1));if(s.toLowerCase().startsWith("0x"))return fromHex(s.slice(2));if(s.toLowerCase().startsWith("rgb"))return fromRgbFunc(s);if(/^[0-9a-fA-F]+$/.test(s)){let hex=fromHex(s);if(hex!==null)return hex}return/^\d+$/.test(s)?argbIntToRgba(Number.parseInt(s,10)):null}function fromHex(hex){let h=hex.trim();if(!/^[0-9a-fA-F]+$/.test(h))return null;if(h.length===3)return{r:dup(h[0]),g:dup(h[1]),b:dup(h[2]),a:1};if(h.length===6)return{r:byte(h,0),g:byte(h,2),b:byte(h,4),a:1};if(h.length===8){let a=byte(h,0);return{r:byte(h,2),g:byte(h,4),b:byte(h,6),a:a/255}}return null}function fromRgbFunc(input){let open=input.indexOf("("),close=input.indexOf(")");if(open<0||close<0||close<open)return null;let parts=input.slice(open+1,close).split(",").map(p=>p.trim());if(parts.length<3)return null;let r=clampByte(Number(parts[0])),g=clampByte(Number(parts[1])),b=clampByte(Number(parts[2]));if(r===null||g===null||b===null)return null;let a=1;if(parts.length>=4){let alpha=Number(parts[3]);if(!Number.isFinite(alpha))return null;a=Math.min(1,Math.max(0,alpha))}return{r:r,g:g,b:b,a:a}}function argbIntToRgba(n){if(!Number.isFinite(n))return null;let int=Math.trunc(n)>>>0,a=int>>>24&255;return{r:int>>>16&255,g:int>>>8&255,b:int&255,a:a===0?1:a/255}}function byte(hex,at){return Number.parseInt(hex.slice(at,at+2),16)}function dup(nibble){return Number.parseInt(`${nibble??"0"}${nibble??"0"}`,16)}function clampByte(n){return Number.isFinite(n)?Math.min(255,Math.max(0,Math.round(n))):null}function normalizeRgba(rgba){if(rgba.a>=1)return rgbToHex(rgba.r,rgba.g,rgba.b);let a=Math.round(rgba.a*1e3)/1e3;return`rgba(${rgba.r},${rgba.g},${rgba.b},${a})`}function rgbToHex(r,g,b){return`#${hex2(r)}${hex2(g)}${hex2(b)}`.toUpperCase()}function hex2(n){return n.toString(16).padStart(2,"0")}var NEAR_BLACK="#111111",WHITE="#FFFFFF",BLACK="#000000";function readableOn(background){let rgba=toRgba(background);if(rgba===null)return WHITE;let bg=relativeLuminance(rgba),black=relativeLuminance({r:17,g:17,b:17}),white=relativeLuminance({r:255,g:255,b:255});return luminanceContrast(bg,white)>=luminanceContrast(bg,black)?WHITE:NEAR_BLACK}function legibleOn(background,target){let first=readableOn(background);return contrastRatio(first,background)>=target?first:contrastRatio(WHITE,background)>=contrastRatio(BLACK,background)?WHITE:BLACK}function poleForGrounds(grounds){let worst=ink=>grounds.reduce((low,ground)=>Math.min(low,contrastRatio(ink,ground)),Number.POSITIVE_INFINITY);return worst(WHITE)>=worst(BLACK)?WHITE:BLACK}function relativeLuminance(rgba){let r=linearize(rgba.r/255),g=linearize(rgba.g/255),b=linearize(rgba.b/255);return.2126*r+.7152*g+.0722*b}function linearize(channel){return channel<=.03928?channel/12.92:Math.pow((channel+.055)/1.055,2.4)}function luminanceContrast(l1,l2){let lighter=Math.max(l1,l2),darker=Math.min(l1,l2);return(lighter+.05)/(darker+.05)}function contrastRatio(a,b){let fg=toRgba(a),bg=toRgba(b);if(fg===null||bg===null)return 1;let ground=bg.a>=1?bg:{...bg},fore=fg.a>=1?fg:composite(fg,ground);return luminanceContrast(relativeLuminance(fore),relativeLuminance(ground))}function composite(fg,bg){let a=fg.a,mix=(f,g)=>Math.round(f*a+g*(1-a));return{r:mix(fg.r,bg.r),g:mix(fg.g,bg.g),b:mix(fg.b,bg.b),a:1}}function flattenOnto(color,background){let fg=toRgba(color),bg=toRgba(background);if(fg===null||bg===null)return null;let out=fg.a>=1?fg:composite(fg,{...bg});return rgbToHex(out.r,out.g,out.b)}function withAlpha(color,alpha){let rgba=toRgba(color);if(rgba===null)return null;let a=Math.min(1,Math.max(0,alpha));return`rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${a})`}var PUSH_STEP=.05;function pushToContrast(color,grounds,pole,target){let first=grounds[0];if(first===void 0)return pole;let reads=candidate=>grounds.every(ground=>contrastRatio(candidate,ground)>=target);if(toRgba(color)===null)return pole;if(reads(color))return color;let flat=flattenOnto(color,first),from=flat===null?null:toRgba(flat),to=toRgba(pole);if(from===null||to===null)return pole;for(let step=1;step<1/PUSH_STEP;step+=1){let t=step*PUSH_STEP,mix=(a,b)=>Math.round(a+(b-a)*t),candidate=rgbToHex(mix(from.r,to.r),mix(from.g,to.g),mix(from.b,to.b));if(reads(candidate))return candidate}return pole}var RAPH_V3_LIGHT=/* @__PURE__ */Object.freeze({ink:"#262523",ink2:"#4A4845",ink3:"#6B6863",paper:"#F8F7F4",card:"#FFFFFF",line:"#E7E6E2",tile:"#F2F1EE",shadow:"rgba(38, 37, 35, .07)",riskBg:"#FFE3E1",riskInk:"#B0231B",riskDot:"#E5372B",clearBg:"#E6F4D3",clearInk:"#2F6A12",clearDot:"#5FA82B",watchDot:"#E5A000"}),cache=/* @__PURE__ */new WeakMap;function v3Palette(theme){let hit=cache.get(theme);if(hit!==void 0)return hit;let c=theme.color,dark=theme.brightness==="dark",neutrals=dark?{dark:dark,ink:c.text.primary,ink2:c.text.secondary,ink3:c.text.muted,paper:c.background,card:c.surface,line:c.borderRingCream,tile:c.surfaceSubtle,shadow:c.shadow,riskBg:c.badgeBgCritical,riskInk:c.danger,riskDot:c.danger,clearBg:c.badgeBgPositive,clearInk:c.success,clearDot:c.success,watchDot:c.warningStrong}:{dark:dark,...RAPH_V3_LIGHT},textOn=(ink,grounds)=>pushToContrast(ink,grounds,poleForGrounds(grounds),V3_TEXT_CONTRAST),labelOn=(ink,fill2)=>contrastRatio(ink,fill2)>=V3_TEXT_CONTRAST?ink:legibleOn(fill2,V3_TEXT_CONTRAST),badgeGrounds=[neutrals.card,neutrals.paper].map(under=>flattenOnto(c.brandSoft,under)??under),brand={primary:c.primary,onPrimary:labelOn(c.onPrimary,c.primary),accent:c.accent,onAccent:labelOn(c.onAccent,c.accent),link:textOn(c.linkInk,[neutrals.card,neutrals.paper,neutrals.tile]),badge:c.brandSoft,onBadge:textOn(c.brandInk,badgeGrounds)},palette=/* @__PURE__ */Object.freeze({...neutrals,...brand});return cache.set(theme,palette),palette}var V3_TEXT_CONTRAST=4.5;function v3InkOn(fill2,inks){for(let ink of inks)if(contrastRatio(ink,fill2)>=V3_TEXT_CONTRAST)return ink;return legibleOn(fill2,V3_TEXT_CONTRAST)}var RAPH_RECORDS_RULES=/* @__PURE__ */Object.freeze({".efh":/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",fontFamily:"$font",fontSize:"15px",lineHeight:"1.5",color:"#000000"}),".efh-pill":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",minHeight:"24px",padding:"0 10px",borderRadius:"999px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1",letterSpacing:".06em",textTransform:"uppercase",whiteSpace:"nowrap",color:"#10462E"}),".efh-pill--clear":/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#07C168",boxShadow:"inset 0 0 0 1.5px #07C168"}),".efh-pill--high":/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"}),".efh-card":/* @__PURE__ */Object.freeze({padding:"16px",background:"#FFFFFF",borderRadius:"20px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.09), 0 6px 18px -10px rgba(0, 0, 0, 0.14)"}),".efh-card__head":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px 16px",marginBottom:"12px"}),".efh-card__title":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"18px",lineHeight:"1.25",letterSpacing:"-.02em",color:"#10462E"}),".efh-card > .efh-card__title":/* @__PURE__ */Object.freeze({marginBottom:"12px"}),".efh-btn":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"48px",padding:"0 20px",borderRadius:"999px",fontWeight:"700",fontSize:"16px",lineHeight:"1",whiteSpace:"nowrap",transition:"transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 180ms ease"}),".efh-btn--ink":/* @__PURE__ */Object.freeze({background:"#10462E",color:"#FFFFFF"}),".efh-btn--row":/* @__PURE__ */Object.freeze({minHeight:"40px",padding:"0 16px",fontSize:"15px"}),".efh-latest b":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"32px",lineHeight:"1",letterSpacing:"-.02em",color:"#C03410"}),".efh-latest small":/* @__PURE__ */Object.freeze({fontSize:"15px",color:"#6B6B6B"}),".efh-wchart":/* @__PURE__ */Object.freeze({minWidth:"0",margin:"20px 0 0"}),".efh-wchart__body":/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"8px 82px minmax(0, 1fr)",columnGap:"8px"}),".efh-wchart__rail":/* @__PURE__ */Object.freeze({position:"relative",height:"148px",display:"grid",gridTemplateRows:"1fr 2fr 1fr",overflow:"hidden",borderRadius:"2px"}),".efh-wchart__legend":/* @__PURE__ */Object.freeze({position:"relative",height:"148px"}),".efh-wchart__plot":/* @__PURE__ */Object.freeze({position:"relative",height:"148px"}),".efh-wchart__rail span":/* @__PURE__ */Object.freeze({background:"#E4E4E4"}),".efh-wchart__rail span:nth-child(2)":/* @__PURE__ */Object.freeze({background:"#07C168"}),".efh-range":/* @__PURE__ */Object.freeze({position:"absolute",left:"0",right:"0",display:"flex",alignItems:"center",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.2",letterSpacing:".02em",textTransform:"uppercase",color:"#3D3D3D"}),".efh-range--over":/* @__PURE__ */Object.freeze({top:"0",height:"25%"}),".efh-range--in":/* @__PURE__ */Object.freeze({top:"25%",height:"50%"}),".efh-range--under":/* @__PURE__ */Object.freeze({top:"75%",height:"25%"}),".efh-wchart__plot svg":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0",width:"100%",height:"100%",overflow:"visible"}),".efh-wchart__band":/* @__PURE__ */Object.freeze({fill:"#DCF6EA"}),".efh-wchart__grid":/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"}),".efh-wchart__line":/* @__PURE__ */Object.freeze({fill:"none",stroke:"#000000",strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"}),".efh-draw":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0"}),".efh-wpt":/* @__PURE__ */Object.freeze({position:"absolute",width:"7px",height:"7px",translate:"-50% -50%",borderRadius:"50%",background:"#07C168",boxShadow:"0 0 0 1.5px #FFFFFF"}),".efh-wpt--lg":/* @__PURE__ */Object.freeze({width:"12px",height:"12px"}),".efh-wpt--out":/* @__PURE__ */Object.freeze({background:"#C03410"}),".efh-wval":/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"calc(100% + 4px)",translate:"-50% 0",fontWeight:"500",fontSize:"12px",lineHeight:"1",color:"#3D3D3D",whiteSpace:"nowrap"}),".efh-wval--out":/* @__PURE__ */Object.freeze({fontWeight:"700",color:"#C03410"}),".efh-wchart__x":/* @__PURE__ */Object.freeze({position:"relative",height:"18px",margin:"8px 0 0 106px"}),".efh-wchart__x span":/* @__PURE__ */Object.freeze({position:"absolute",top:"0",translate:"-50% 0",fontFamily:"$mono",fontSize:"12px",lineHeight:"1.3",color:"#6B6B6B",whiteSpace:"nowrap"}),".efh-lab":/* @__PURE__ */Object.freeze({padding:"8px 16px 96px"}),".efh-titles":/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",paddingTop:"4px"}),".efh-title":/* @__PURE__ */Object.freeze({fontWeight:"500",fontSize:"22px",lineHeight:"1.2",letterSpacing:"-.015em",color:"#10462E"}),".efh-smeta":/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"13px",lineHeight:"1.45",color:"#6B6B6B"}),".efh-latest":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px"}),".efh-chg":/* @__PURE__ */Object.freeze({marginTop:"12px",fontSize:"15px"}),".efh-chg b":/* @__PURE__ */Object.freeze({color:"#10462E"}),".efh-ctx":/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",fontSize:"17px",lineHeight:"1.55"}),".efh-mks":/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",margin:"0 -8px",padding:"0",listStyle:"none"}),".efh-mk":/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) 96px",gridTemplateRows:"auto auto",alignItems:"center",columnGap:"12px",padding:"10px 8px"}),".efh-mk__name":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"}),".efh-mk__line":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"0 6px",marginTop:"1px",fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B",fontVariantNumeric:"tabular-nums"}),".efh-mk__line b":/* @__PURE__ */Object.freeze({fontSize:"17px",color:"#000000"}),".efh-mkbar":/* @__PURE__ */Object.freeze({gridColumn:"2",gridRow:"1 / 3",position:"relative",display:"block",height:"6px",borderRadius:"999px",background:"#ECECEC"}),".efh-mkbar__in":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0 20%",borderRadius:"inherit",background:"#07C168"}),".efh-mkbar__dot":/* @__PURE__ */Object.freeze({position:"absolute",top:"50%",left:"var(--at, 50%)",width:"10px",height:"10px",translate:"-50% -50%",border:"2px solid #FFFFFF",borderRadius:"50%",background:"#10462E"}),".efh-peek .efh-mk__name":/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"}),".emb-btn":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"48px",padding:"0 22px",borderRadius:"999px",background:"#262523",color:"#fff",fontWeight:"700",fontSize:"16px",textDecoration:"none",transition:"transform 160ms cubic-bezier(0.23, 1, 0.32, 1), opacity 160ms ease"}),".emb-btn--sm":/* @__PURE__ */Object.freeze({minHeight:"40px",padding:"0 16px",fontSize:"15px"}),".dot":/* @__PURE__ */Object.freeze({display:"inline-block",width:"9px",height:"9px",borderRadius:"50%",flex:"none"}),".dot--risk":/* @__PURE__ */Object.freeze({background:"#E5372B"}),".rec-top":/* @__PURE__ */Object.freeze({display:"grid",gap:"8px",justifyItems:"start",padding:"16px 18px 18px",borderRadius:"22px",background:"#FFCE34"}),".rec-top__k":/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"7px",fontFamily:"$mono",fontSize:"10.5px",letterSpacing:".06em",textTransform:"uppercase",color:"#4A4845"}),".rec-top__t":/* @__PURE__ */Object.freeze({fontSize:"17px",fontWeight:"700",lineHeight:"1.35"}),".rec-top .emb-btn":/* @__PURE__ */Object.freeze({marginTop:"4px"}),".ph-toast":/* @__PURE__ */Object.freeze({position:"absolute",left:"16px",right:"16px",top:"112px",zIndex:"50",background:"#262523",color:"#fff",borderRadius:"16px",padding:"12px 15px",fontSize:"14.5px",lineHeight:"1.4",opacity:"0",transform:"translateY(-8px)",pointerEvents:"none",transition:"opacity 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"}),".ph-toast.is-on":/* @__PURE__ */Object.freeze({opacity:"1",transform:"none",transitionDuration:"220ms"})}),WEB_HEALTH_RULES=/* @__PURE__ */Object.freeze({".efw-root":/* @__PURE__ */Object.freeze([[10000001,/* @__PURE__ */Object.freeze({colorScheme:"light"})],[10000002,/* @__PURE__ */Object.freeze({"--efw-card-pad":"24px"})],[10000003,/* @__PURE__ */Object.freeze({fontSize:"17px",lineHeight:"1.55",margin:"0"})],[10000012,/* @__PURE__ */Object.freeze({margin:"0",fontFamily:"$font",fontSize:"17px",lineHeight:"1.55",color:"#000000",background:"#FFFFFF",WebkitFontSmoothing:"antialiased"})]]),".efw-root h2":/* @__PURE__ */Object.freeze([[10100005,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})],[10100009,/* @__PURE__ */Object.freeze({fontSize:"32px"})],[10100017,/* @__PURE__ */Object.freeze({margin:"0"})],[10100023,/* @__PURE__ */Object.freeze({color:"#10462E",fontWeight:"500"})]]),".efw-root h3":/* @__PURE__ */Object.freeze([[10100006,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})],[10100010,/* @__PURE__ */Object.freeze({fontSize:"24px"})],[10100018,/* @__PURE__ */Object.freeze({margin:"0"})],[10100024,/* @__PURE__ */Object.freeze({color:"#10462E",fontWeight:"500"})]]),".efw-root h4":/* @__PURE__ */Object.freeze([[10100007,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})]]),".efw-root small":/* @__PURE__ */Object.freeze([[10100011,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-root img":/* @__PURE__ */Object.freeze([[10100013,/* @__PURE__ */Object.freeze({display:"block",maxWidth:"100%"})]]),".efw-root a":/* @__PURE__ */Object.freeze([[10100014,/* @__PURE__ */Object.freeze({color:"inherit"})]]),".efw-root p":/* @__PURE__ */Object.freeze([[10100015,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root ul":/* @__PURE__ */Object.freeze([[10100019,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root ol":/* @__PURE__ */Object.freeze([[10100020,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root figure":/* @__PURE__ */Object.freeze([[10100021,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-visually-hidden":/* @__PURE__ */Object.freeze([[20000025,/* @__PURE__ */Object.freeze({position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"})]]),".efw-btn":/* @__PURE__ */Object.freeze([[20000026,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",borderRadius:"999px",border:"0 solid #10462E",font:"inherit",textDecoration:"none",whiteSpace:"nowrap",cursor:"pointer",touchAction:"manipulation",transition:"background-color 180ms ease, color 180ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-btn--ink":/* @__PURE__ */Object.freeze([[20000027,/* @__PURE__ */Object.freeze({minHeight:"52px",padding:"0 24px",background:"#10462E",color:"#FFFFFF",border:"1.5px solid #FFFFFF",fontSize:"17px",fontWeight:"700",lineHeight:"1"})],[20000043,/* @__PURE__ */Object.freeze({borderColor:"#10462E"})]]),".efw-btn--outline":/* @__PURE__ */Object.freeze([[20000028,/* @__PURE__ */Object.freeze({minHeight:"52px",padding:"0 24px",background:"transparent",color:"#10462E",borderWidth:"1.5px",fontSize:"17px",lineHeight:"1"})]]),".efw-ico":/* @__PURE__ */Object.freeze([[20000029,/* @__PURE__ */Object.freeze({display:"block",flex:"none",width:"24px",height:"24px"})]]),".efw-card":/* @__PURE__ */Object.freeze([[20000030,/* @__PURE__ */Object.freeze({padding:"var(--efw-card-pad)",background:"#FFFFFF",border:"1px solid #E4E4E4",borderRadius:"20px"})]]),".efw-card__head":/* @__PURE__ */Object.freeze([[20000031,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px 16px",marginBottom:"16px"})]]),".efw-card__title":/* @__PURE__ */Object.freeze([[20000032,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"20px",lineHeight:"1.25",letterSpacing:"-0.02em"})]]),".efw-card__link":/* @__PURE__ */Object.freeze([[20000033,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"15px",lineHeight:"1.4",color:"#10462E",textDecoration:"none",whiteSpace:"nowrap"})]]),".efw-pill":/* @__PURE__ */Object.freeze([[20000034,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",minHeight:"24px",padding:"0 10px",borderRadius:"999px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1",letterSpacing:"0.06em",textTransform:"uppercase",whiteSpace:"nowrap"})]]),".efw-pill--soon":/* @__PURE__ */Object.freeze([[20000037,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",boxShadow:"inset 0 0 0 1.25px #F6D892"})]]),".efw-pill--clear":/* @__PURE__ */Object.freeze([[20000039,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#07C168",boxShadow:"inset 0 0 0 1.5px #07C168"})]]),".efw-pill--plain":/* @__PURE__ */Object.freeze([[20000040,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",boxShadow:"inset 0 0 0 1.5px rgba(16, 70, 46, 0.2)"})]]),".efw-btn--sm":/* @__PURE__ */Object.freeze([[20000041,/* @__PURE__ */Object.freeze({minHeight:"46px",padding:"0 16px",fontSize:"15px"})]]),".efw-btn--sm .efw-ico":/* @__PURE__ */Object.freeze([[30000042,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-card--pet":/* @__PURE__ */Object.freeze([[20000044,/* @__PURE__ */Object.freeze({overflow:"hidden",paddingBottom:"0"})]]),".efw-pet__head":/* @__PURE__ */Object.freeze([[20000045,/* @__PURE__ */Object.freeze({position:"relative",zIndex:"1",display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px"})]]),".efw-pet__name":/* @__PURE__ */Object.freeze([[20000046,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"24px",lineHeight:"1.1",letterSpacing:"-0.02em"})]]),".efw-pet__meta":/* @__PURE__ */Object.freeze([[20000047,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",letterSpacing:"0.02em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-stage":/* @__PURE__ */Object.freeze([[20000049,/* @__PURE__ */Object.freeze({position:"relative",aspectRatio:"16 / 9",margin:"calc(8px * -1) calc(var(--efw-card-pad) * -1) 0"})]]),".efw-stage__grass":/* @__PURE__ */Object.freeze([[20000050,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",bottom:"0",width:"100%",height:"40%",objectFit:"cover",objectPosition:"50% 0"})]]),".efw-stage__pet":/* @__PURE__ */Object.freeze([[20000051,/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"7%",height:"88%",width:"auto",maxWidth:"none",translate:"-50% 0"})]]),".efw-stage__info":/* @__PURE__ */Object.freeze([[20000052,/* @__PURE__ */Object.freeze({position:"absolute",top:"10%",left:"var(--efw-card-pad)",display:"grid",gap:"16px",maxWidth:"38%"})]]),".efw-vitals":/* @__PURE__ */Object.freeze([[20000053,/* @__PURE__ */Object.freeze({display:"grid",gap:"14px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-vitals li":/* @__PURE__ */Object.freeze([[20100054,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"10px"})]]),".efw-vitals .efw-ico":/* @__PURE__ */Object.freeze([[30000055,/* @__PURE__ */Object.freeze({width:"28px",height:"28px"})]]),".efw-vitals b":/* @__PURE__ */Object.freeze([[20100056,/* @__PURE__ */Object.freeze({fontSize:"24px",lineHeight:"1",letterSpacing:"-0.02em",color:"#000000"})]]),".efw-vitals small":/* @__PURE__ */Object.freeze([[20100057,/* @__PURE__ */Object.freeze({fontWeight:"500",fontSize:"13px",color:"#6B6B6B"})]]),".efw-ico--thermo":/* @__PURE__ */Object.freeze([[20000058,/* @__PURE__ */Object.freeze({color:"#10462E"})]]),".efw-ico--heart":/* @__PURE__ */Object.freeze([[20000059,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-ico--wind":/* @__PURE__ */Object.freeze([[20000060,/* @__PURE__ */Object.freeze({color:"#4E98C9"})]]),".efw-tiles":/* @__PURE__ */Object.freeze([[20000061,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:"16px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-tile":/* @__PURE__ */Object.freeze([[20000062,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateRows:"auto 1fr auto",gap:"12px",minHeight:"164px",padding:"24px",borderRadius:"20px",color:"#10462E",textDecoration:"none",boxShadow:"inset 0 0 0 1px transparent",transition:"box-shadow 150ms ease"})]]),".efw-tile--sage":/* @__PURE__ */Object.freeze([[20000063,/* @__PURE__ */Object.freeze({background:"#E6ECE8"})]]),".efw-tile--pink":/* @__PURE__ */Object.freeze([[20000064,/* @__PURE__ */Object.freeze({background:"#FFEAE8"})]]),".efw-tile--blue":/* @__PURE__ */Object.freeze([[20000065,/* @__PURE__ */Object.freeze({background:"#EAEEF6"})]]),".efw-tile--yellow":/* @__PURE__ */Object.freeze([[20000066,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-tile__top":/* @__PURE__ */Object.freeze([[20000067,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"flex-start",justifyContent:"space-between"})]]),".efw-tile__top .efw-ico":/* @__PURE__ */Object.freeze([[30000068,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#10462E"})]]),".efw-tile__top .efw-ico--chev":/* @__PURE__ */Object.freeze([[30000069,/* @__PURE__ */Object.freeze({width:"20px",height:"20px",color:"#819E90"})]]),".efw-tile__title":/* @__PURE__ */Object.freeze([[20000070,/* @__PURE__ */Object.freeze({alignSelf:"end",fontWeight:"700",fontSize:"17px",lineHeight:"1.25",letterSpacing:"-0.01em"})]]),".efw-tile__foot":/* @__PURE__ */Object.freeze([[20000071,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"8px",minHeight:"28px"})]]),".efw-tile__num":/* @__PURE__ */Object.freeze([[20000072,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"24px",lineHeight:"1",letterSpacing:"-0.02em"})]]),".efw-tile__unit":/* @__PURE__ */Object.freeze([[20000073,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-card--pink":/* @__PURE__ */Object.freeze([[20000074,/* @__PURE__ */Object.freeze({background:"#FFF6F5",scrollMarginTop:"calc(72px + 16px)"})],[20000075,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column"})]]),".efw-add":/* @__PURE__ */Object.freeze([[20000076,/* @__PURE__ */Object.freeze({flex:"1",display:"flex",flexDirection:"column",gap:"12px"})]]),".efw-add__head":/* @__PURE__ */Object.freeze([[20000077,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"})]]),".efw-add__head .efw-ico":/* @__PURE__ */Object.freeze([[30000078,/* @__PURE__ */Object.freeze({width:"26px",height:"26px",color:"#C03410"})]]),".efw-add p":/* @__PURE__ */Object.freeze([[20100079,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-add .efw-btn":/* @__PURE__ */Object.freeze([[30000080,/* @__PURE__ */Object.freeze({width:"100%"})]]),".efw-add__actions":/* @__PURE__ */Object.freeze([[20000081,/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",marginTop:"auto",paddingTop:"4px"})]]),".efw-sources":/* @__PURE__ */Object.freeze([[20000082,/* @__PURE__ */Object.freeze({display:"grid",gap:"6px",margin:"4px 0 0",padding:"0",listStyle:"none"})]]),".efw-sources li":/* @__PURE__ */Object.freeze([[20100083,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"0 12px",padding:"10px 14px",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.4"})]]),".efw-sources li span:last-child":/* @__PURE__ */Object.freeze([[30200084,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-card--pink .efw-btn--outline":/* @__PURE__ */Object.freeze([[30000085,/* @__PURE__ */Object.freeze({background:"#FFFFFF",borderWidth:"1.5px",fontWeight:"700"})]]),".efw-wt__num":/* @__PURE__ */Object.freeze([[20000086,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"baseline",gap:"8px",marginBottom:"16px"})]]),".efw-wt__num b":/* @__PURE__ */Object.freeze([[20100087,/* @__PURE__ */Object.freeze({fontSize:"32px",lineHeight:"1",letterSpacing:"-0.02em",color:"#10462E"})]]),".efw-wt__num span":/* @__PURE__ */Object.freeze([[20100088,/* @__PURE__ */Object.freeze({fontSize:"15px",color:"#6B6B6B"})]]),".efw-wchart":/* @__PURE__ */Object.freeze([[20000089,/* @__PURE__ */Object.freeze({"--efw-plot-h":"176px",minWidth:"0"})]]),".efw-wchart__body":/* @__PURE__ */Object.freeze([[20000090,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"8px 64px minmax(0, 1fr)",columnGap:"8px"})]]),".efw-wchart__rail":/* @__PURE__ */Object.freeze([[20000091,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})],[20000094,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateRows:"1fr 2fr 1fr",overflow:"hidden",borderRadius:"2px"})]]),".efw-wchart__legend":/* @__PURE__ */Object.freeze([[20000092,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})]]),".efw-wchart__plot":/* @__PURE__ */Object.freeze([[20000093,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})]]),".efw-wchart__plot svg":/* @__PURE__ */Object.freeze([[20100101,/* @__PURE__ */Object.freeze({position:"absolute",inset:"0",width:"100%",height:"100%",overflow:"visible"})]]),".efw-wchart__drop":/* @__PURE__ */Object.freeze([[20000104,/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__line":/* @__PURE__ */Object.freeze([[20000105,/* @__PURE__ */Object.freeze({fill:"none",stroke:"#000000",strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__pt":/* @__PURE__ */Object.freeze([[20000106,/* @__PURE__ */Object.freeze({position:"absolute",width:"11px",height:"11px",translate:"-50% -50%",border:"1.5px solid #FFFFFF",borderRadius:"50%",background:"#07C168"})]]),".efw-wchart__val":/* @__PURE__ */Object.freeze([[20000108,/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"calc(100% + 4px)",translate:"-50% 0",fontWeight:"500",fontSize:"12px",lineHeight:"1",color:"#3D3D3D",whiteSpace:"nowrap"})]]),".efw-wchart__pt--below .efw-wchart__val":/* @__PURE__ */Object.freeze([[30000109,/* @__PURE__ */Object.freeze({bottom:"auto",top:"calc(100% + 4px)"})]]),".efw-wchart__x":/* @__PURE__ */Object.freeze([[20000110,/* @__PURE__ */Object.freeze({position:"relative",height:"18px",margin:"8px 0 0 calc(8px + 64px + 8px * 2)"})]]),".efw-wchart__x span":/* @__PURE__ */Object.freeze([[20100111,/* @__PURE__ */Object.freeze({position:"absolute",top:"0",translate:"-50% 0",fontFamily:"$mono",fontSize:"12px",lineHeight:"1.3",color:"#6B6B6B",whiteSpace:"nowrap"})]]),".efw-due":/* @__PURE__ */Object.freeze([[20000113,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-due li":/* @__PURE__ */Object.freeze([[20100114,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"10px"})]]),".efw-due li > .efw-ico":/* @__PURE__ */Object.freeze([[30100115,/* @__PURE__ */Object.freeze({width:"20px",height:"20px",color:"#6B6B6B"})]]),".efw-due li.efw-is-alert":/* @__PURE__ */Object.freeze([[30100116,/* @__PURE__ */Object.freeze({background:"#FBF1EE"})]]),".efw-due li.efw-is-alert > .efw-ico":/* @__PURE__ */Object.freeze([[40100117,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-due__text":/* @__PURE__ */Object.freeze([[20000118,/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",minWidth:"0"})]]),".efw-due__title":/* @__PURE__ */Object.freeze([[20000119,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-is-alert .efw-due__title":/* @__PURE__ */Object.freeze([[30000120,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-due__when":/* @__PURE__ */Object.freeze([[20000121,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B"})]]),".efw-is-alert .efw-due__when":/* @__PURE__ */Object.freeze([[30000122,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-max1279 .efw-stage":/* @__PURE__ */Object.freeze([[20000124,/* @__PURE__ */Object.freeze({aspectRatio:"16 / 10"})]]),".efw-max1279 .efw-tiles":/* @__PURE__ */Object.freeze([[20000125,/* @__PURE__ */Object.freeze({gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:"12px"})]]),".efw-max559 .efw-root":/* @__PURE__ */Object.freeze([[10000126,/* @__PURE__ */Object.freeze({"--efw-card-pad":"18px"})]]),".efw-max559 .efw-stage":/* @__PURE__ */Object.freeze([[20000128,/* @__PURE__ */Object.freeze({aspectRatio:"5 / 4"})]]),".efw-max559 .efw-stage__info":/* @__PURE__ */Object.freeze([[20000129,/* @__PURE__ */Object.freeze({top:"16px",right:"var(--efw-card-pad)",maxWidth:"none",gap:"8px"})]]),".efw-max559 .efw-vitals":/* @__PURE__ */Object.freeze([[20000130,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",gap:"4px 12px"})]]),".efw-max559 .efw-vitals li":/* @__PURE__ */Object.freeze([[20100131,/* @__PURE__ */Object.freeze({gap:"6px"})]]),".efw-max559 .efw-vitals .efw-ico":/* @__PURE__ */Object.freeze([[30000132,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-max559 .efw-vitals b":/* @__PURE__ */Object.freeze([[20100133,/* @__PURE__ */Object.freeze({fontSize:"17px"})]]),".efw-max559 .efw-stage__pet":/* @__PURE__ */Object.freeze([[20000134,/* @__PURE__ */Object.freeze({height:"72%"})]]),".efw-max559 .efw-due li":/* @__PURE__ */Object.freeze([[20100135,/* @__PURE__ */Object.freeze({gap:"8px 12px"})]]),".efw-max559 .efw-tiles":/* @__PURE__ */Object.freeze([[20000136,/* @__PURE__ */Object.freeze({gap:"10px"})]]),".efw-max559 .efw-tile":/* @__PURE__ */Object.freeze([[20000137,/* @__PURE__ */Object.freeze({minHeight:"0",gap:"8px",padding:"16px"})]]),".efw-max559 .efw-tile__title":/* @__PURE__ */Object.freeze([[20000138,/* @__PURE__ */Object.freeze({fontSize:"15px"})]]),".efw-max559 .efw-tile__num":/* @__PURE__ */Object.freeze([[20000139,/* @__PURE__ */Object.freeze({fontSize:"20px"})]]),".efw-max559 .efw-wchart":/* @__PURE__ */Object.freeze([[20000140,/* @__PURE__ */Object.freeze({"--efw-plot-h":"148px"})]]),".efw-rec":/* @__PURE__ */Object.freeze([[20000141,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-rec > li.efw-rec__row":/* @__PURE__ */Object.freeze([[30100143,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"10px",color:"inherit",textDecoration:"none"})]]),".efw-rec--plain > li.efw-rec__row":/* @__PURE__ */Object.freeze([[30100145,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-rec__text":/* @__PURE__ */Object.freeze([[20000147,/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",minWidth:"0"})]]),".efw-rec__title":/* @__PURE__ */Object.freeze([[20000148,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-rec__meta":/* @__PURE__ */Object.freeze([[20000149,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B"})]]),".efw-pill--high":/* @__PURE__ */Object.freeze([[20000157,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"})]]),".efw-markers":/* @__PURE__ */Object.freeze([[20000158,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-marker":/* @__PURE__ */Object.freeze([[20000159,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(88px, 148px) 116px",alignItems:"center",gap:"16px",padding:"12px",borderRadius:"10px",color:"inherit",textDecoration:"none"})]]),".efw-marker.efw-is-alert":/* @__PURE__ */Object.freeze([[30000160,/* @__PURE__ */Object.freeze({background:"#FBF1EE"})]]),".efw-marker__name":/* @__PURE__ */Object.freeze([[20000161,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"4px 8px",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-marker__val":/* @__PURE__ */Object.freeze([[20000163,/* @__PURE__ */Object.freeze({textAlign:"right",whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"})]]),".efw-marker__val b":/* @__PURE__ */Object.freeze([[20100164,/* @__PURE__ */Object.freeze({fontSize:"17px",color:"#000000"})]]),".efw-marker__val small":/* @__PURE__ */Object.freeze([[20100165,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-marker.efw-is-alert .efw-marker__val b":/* @__PURE__ */Object.freeze([[40100166,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-rbar":/* @__PURE__ */Object.freeze([[20000167,/* @__PURE__ */Object.freeze({position:"relative",height:"8px",borderRadius:"999px",background:"#ECECEC"})]]),".efw-rbar__in":/* @__PURE__ */Object.freeze([[20000168,/* @__PURE__ */Object.freeze({position:"absolute",top:"0",bottom:"0",left:"20%",right:"20%",borderRadius:"inherit",background:"#07C168"})]]),".efw-rbar__dot":/* @__PURE__ */Object.freeze([[20000169,/* @__PURE__ */Object.freeze({position:"absolute",top:"50%",left:"var(--efw-at, 50%)",width:"12px",height:"12px",translate:"-50% -50%",border:"2px solid #FFFFFF",borderRadius:"50%",background:"#10462E"})]]),".efw-is-alert .efw-rbar__dot":/* @__PURE__ */Object.freeze([[30000170,/* @__PURE__ */Object.freeze({background:"#C03410"})]]),".efw-tl":/* @__PURE__ */Object.freeze([[20000172,/* @__PURE__ */Object.freeze({margin:"0",padding:"0",listStyle:"none"})]]),".efw-tl__year":/* @__PURE__ */Object.freeze([[20000173,/* @__PURE__ */Object.freeze({margin:"32px 0 12px 40px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.4",letterSpacing:"0.06em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-tl__year:first-child":/* @__PURE__ */Object.freeze([[30000174,/* @__PURE__ */Object.freeze({marginTop:"0"})]]),".efw-tl__item":/* @__PURE__ */Object.freeze([[20000175,/* @__PURE__ */Object.freeze({position:"relative",display:"grid",gridTemplateColumns:"24px minmax(0, 1fr)",gap:"16px",paddingBottom:"24px"})]]),".efw-tl__item::before":/* @__PURE__ */Object.freeze([[20100176,/* @__PURE__ */Object.freeze({content:'""',position:"absolute",left:"11px",top:"20px",bottom:"-4px",width:"2px",borderRadius:"1px",background:"#E4E4E4"})]]),".efw-tl__item:last-child::before":/* @__PURE__ */Object.freeze([[30100177,/* @__PURE__ */Object.freeze({bottom:"12px"})]]),".efw-tl__item:has(+ .efw-tl__year)::before":/* @__PURE__ */Object.freeze([[30100178,/* @__PURE__ */Object.freeze({bottom:"12px"})]]),".efw-tl__dot":/* @__PURE__ */Object.freeze([[20000179,/* @__PURE__ */Object.freeze({width:"16px",height:"16px",margin:"3px 4px 0",border:"3px solid #10462E",borderRadius:"50%",background:"#FFFFFF"})]]),".efw-tl__item.efw-is-alert .efw-tl__dot":/* @__PURE__ */Object.freeze([[40000181,/* @__PURE__ */Object.freeze({borderColor:"#C03410"})]]),".efw-tl__date":/* @__PURE__ */Object.freeze([[20000182,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",lineHeight:"1.4",letterSpacing:"0.04em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-tl__title":/* @__PURE__ */Object.freeze([[20000183,/* @__PURE__ */Object.freeze({marginTop:"2px",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-tl__item.efw-is-alert .efw-tl__title":/* @__PURE__ */Object.freeze([[40000184,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-tl__text":/* @__PURE__ */Object.freeze([[20000185,/* @__PURE__ */Object.freeze({marginTop:"2px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-doc":/* @__PURE__ */Object.freeze([[20000187,/* @__PURE__ */Object.freeze({display:"grid",gap:"8px",padding:"24px",border:"1px solid #E4E4E4",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.5"})]]),".efw-doc__head":/* @__PURE__ */Object.freeze([[20000188,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px"})]]),".efw-doc__page":/* @__PURE__ */Object.freeze([[20000189,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",color:"#6B6B6B"})]]),".efw-doc__who":/* @__PURE__ */Object.freeze([[20000190,/* @__PURE__ */Object.freeze({fontWeight:"700"})]]),".efw-pop":/* @__PURE__ */Object.freeze([[20000191,/* @__PURE__ */Object.freeze({position:"relative",justifySelf:"start"})]]),".efw-pop__btn":/* @__PURE__ */Object.freeze([[20000192,/* @__PURE__ */Object.freeze({position:"relative",display:"grid",placeItems:"center",width:"20px",height:"20px",padding:"0",border:"0",borderRadius:"50%",background:"#4E98C9",color:"#FFFFFF",cursor:"pointer",touchAction:"manipulation",transition:"background-color 150ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-pop__btn .efw-ico":/* @__PURE__ */Object.freeze([[30000193,/* @__PURE__ */Object.freeze({width:"14px",height:"14px"})]]),'.efw-pop__btn[aria-expanded="true"]':/* @__PURE__ */Object.freeze([[30000194,/* @__PURE__ */Object.freeze({background:"#3E7AA1"})]]),".efw-pop__card":/* @__PURE__ */Object.freeze([[20000195,/* @__PURE__ */Object.freeze({position:"absolute",zIndex:"5",top:"calc(100% + 8px)",right:"-8px",width:"max-content",maxWidth:"min(240px, 60vw)",padding:"10px 14px",border:"1px solid #B5C1BC",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.45",color:"#000000",transformOrigin:"right top",visibility:"hidden",opacity:"0",transform:"scale(0.96)",transition:"opacity 150ms cubic-bezier(0.23, 1, 0.32, 1), transform 150ms cubic-bezier(0.23, 1, 0.32, 1), visibility 0s linear 150ms"})]]),".efw-pop__card.efw-is-open":/* @__PURE__ */Object.freeze([[30000196,/* @__PURE__ */Object.freeze({visibility:"visible",opacity:"1",transform:"none",transitionDelay:"0s"})]]),".efw-pop__card a":/* @__PURE__ */Object.freeze([[20100197,/* @__PURE__ */Object.freeze({fontWeight:"700",color:"#10462E",textUnderlineOffset:"3px"})]]),".efw-pet__head .efw-pop":/* @__PURE__ */Object.freeze([[30000198,/* @__PURE__ */Object.freeze({alignSelf:"center"})]]),".efw-max559 .efw-marker":/* @__PURE__ */Object.freeze([[20000199,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-max559 .efw-marker .efw-rbar":/* @__PURE__ */Object.freeze([[30000200,/* @__PURE__ */Object.freeze({gridColumn:"1 / -1",gridRow:"2"})]]),".efw-max559 .efw-doc":/* @__PURE__ */Object.freeze([[20000201,/* @__PURE__ */Object.freeze({padding:"16px"})]]),".efw-max559 .efw-pet__head .efw-pop__card":/* @__PURE__ */Object.freeze([[30000202,/* @__PURE__ */Object.freeze({right:"auto",left:"-8px",transformOrigin:"left top"})]]),".efw-scroller":/* @__PURE__ */Object.freeze([[20000203,/* @__PURE__ */Object.freeze({position:"relative",minWidth:"0",maxWidth:"100%"})]]),".efw-scroller__track":/* @__PURE__ */Object.freeze([[20000204,/* @__PURE__ */Object.freeze({position:"relative",overflowX:"auto",overscrollBehaviorX:"contain",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-hero":/* @__PURE__ */Object.freeze([[30000205,/* @__PURE__ */Object.freeze({"--efw-grass-h":"88px",position:"relative",display:"grid",gridTemplateColumns:"minmax(0, 1.6fr) minmax(0, 1fr)",columnGap:"32px",marginTop:"32px",padding:"32px 32px 0",overflow:"hidden",scrollMarginTop:"calc(72px + 16px)"})]]),".efw-page--health-empty .efw-hero__grass":/* @__PURE__ */Object.freeze([[30000206,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",bottom:"0",width:"100%",height:"var(--efw-grass-h)",objectFit:"cover",objectPosition:"50% 0"})]]),".efw-page--health-empty .efw-hero__copy":/* @__PURE__ */Object.freeze([[30000207,/* @__PURE__ */Object.freeze({position:"relative",zIndex:"1",paddingBottom:"calc(var(--efw-grass-h) + 24px)"})]]),".efw-page--health-empty .efw-hero__title":/* @__PURE__ */Object.freeze([[30000208,/* @__PURE__ */Object.freeze({fontSize:"clamp(24px, 2vw, 28px)",lineHeight:"1.15",letterSpacing:"-0.02em",textWrap:"balance"})]]),".efw-page--health-empty .efw-hero__lead":/* @__PURE__ */Object.freeze([[30000209,/* @__PURE__ */Object.freeze({maxWidth:"560px",marginTop:"8px",fontSize:"17px",lineHeight:"1.5",textWrap:"pretty"})]]),".efw-page--health-empty .efw-hero__scene":/* @__PURE__ */Object.freeze([[30000210,/* @__PURE__ */Object.freeze({position:"relative",minHeight:"220px"})]]),".efw-page--health-empty .efw-evie":/* @__PURE__ */Object.freeze([[30000211,/* @__PURE__ */Object.freeze({"--efw-say-room":"84px",position:"absolute",left:"50%",bottom:"calc(var(--efw-grass-h) * 0.3)",height:"min(calc(100% - var(--efw-say-room)), 300px)",aspectRatio:"720 / 1119",translate:"-50% 0",containerType:"inline-size"})]]),".efw-page--health-empty .efw-evie__img":/* @__PURE__ */Object.freeze([[30000212,/* @__PURE__ */Object.freeze({display:"block",width:"100%",height:"100%"})]]),".efw-page--health-empty .efw-say":/* @__PURE__ */Object.freeze([[30000213,/* @__PURE__ */Object.freeze({position:"absolute",left:"var(--efw-head-x)",bottom:"calc(100% - var(--efw-head-top) + 2px)",width:"clamp(184px, 110cqw, 250px)",height:"auto",translate:"-62% 0",overflow:"visible"})]]),".efw-page--health-empty .efw-say text":/* @__PURE__ */Object.freeze([[30100214,/* @__PURE__ */Object.freeze({fontFamily:'"Caveat", $font',fontWeight:"500",fontSize:"22px",fill:"#10462E"})]]),".efw-page--health-empty .efw-say__p":/* @__PURE__ */Object.freeze([[30000215,/* @__PURE__ */Object.freeze({opacity:"0"})]]),".efw-page--health-empty .efw-say__still":/* @__PURE__ */Object.freeze([[30000216,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-page--health-empty .efw-ways":/* @__PURE__ */Object.freeze([[30000217,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:"12px",marginTop:"24px"})]]),".efw-page--health-empty .efw-way":/* @__PURE__ */Object.freeze([[30000218,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column",gap:"6px",padding:"24px",borderRadius:"20px",textDecoration:"none",touchAction:"manipulation",transition:"background-color 180ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-way > .efw-ico":/* @__PURE__ */Object.freeze([[40000219,/* @__PURE__ */Object.freeze({width:"26px",height:"26px",marginBottom:"8px"})]]),".efw-page--health-empty .efw-way__title":/* @__PURE__ */Object.freeze([[30000220,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-way__text":/* @__PURE__ */Object.freeze([[30000221,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-way__go":/* @__PURE__ */Object.freeze([[30000222,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",gap:"2px",marginTop:"auto",paddingTop:"12px",fontWeight:"700",fontSize:"15px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-way__go .efw-ico":/* @__PURE__ */Object.freeze([[40000223,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-page--health-empty .efw-way--ink":/* @__PURE__ */Object.freeze([[30000224,/* @__PURE__ */Object.freeze({background:"#10462E",color:"#FFFFFF"})]]),".efw-page--health-empty .efw-way--ink .efw-way__go .efw-ico":/* @__PURE__ */Object.freeze([[50000225,/* @__PURE__ */Object.freeze({color:"#07C168"})]]),".efw-page--health-empty .efw-way--drop":/* @__PURE__ */Object.freeze([[30000226,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",border:"1.5px dashed #10462E"})]]),".efw-page--health-empty .efw-way--drop .efw-way__text":/* @__PURE__ */Object.freeze([[40000227,/* @__PURE__ */Object.freeze({color:"#000000"})]]),".efw-page--health-empty .efw-peek":/* @__PURE__ */Object.freeze([[30000228,/* @__PURE__ */Object.freeze({marginTop:"48px"})]]),".efw-page--health-empty .efw-peek__head":/* @__PURE__ */Object.freeze([[30000229,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"8px 12px"})]]),".efw-page--health-empty .efw-peek__lead":/* @__PURE__ */Object.freeze([[30000230,/* @__PURE__ */Object.freeze({maxWidth:"720px",marginTop:"8px",fontSize:"17px",lineHeight:"1.5",textWrap:"pretty"})]]),".efw-page--health-empty .efw-labs":/* @__PURE__ */Object.freeze([[30000231,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gridTemplateAreas:'"head head" "groups nav" "car car"',alignItems:"center",columnGap:"12px",marginTop:"24px"})]]),".efw-page--health-empty .efw-labs__head":/* @__PURE__ */Object.freeze([[30000232,/* @__PURE__ */Object.freeze({gridArea:"head",display:"flex",alignItems:"center",gap:"8px"})]]),".efw-page--health-empty .efw-labs__head .efw-ico":/* @__PURE__ */Object.freeze([[40000233,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#C03410"})]]),".efw-page--health-empty .efw-labs__groups":/* @__PURE__ */Object.freeze([[30000234,/* @__PURE__ */Object.freeze({gridArea:"groups",margin:"10px -6px -6px"})]]),".efw-page--health-empty .efw-groups":/* @__PURE__ */Object.freeze([[30000235,/* @__PURE__ */Object.freeze({display:"flex",gap:"8px",minWidth:"0",padding:"6px",overflowX:"auto",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-group":/* @__PURE__ */Object.freeze([[30000236,/* @__PURE__ */Object.freeze({flex:"none",minHeight:"40px",padding:"0 16px",border:"1.5px solid #E4E4E4",borderRadius:"999px",background:"#FFFFFF",color:"#10462E",font:"inherit",fontSize:"15px",fontWeight:"500",lineHeight:"1",whiteSpace:"nowrap",cursor:"pointer",touchAction:"manipulation",transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease"})]]),".efw-page--health-empty .efw-group[aria-current]":/* @__PURE__ */Object.freeze([[40000237,/* @__PURE__ */Object.freeze({borderColor:"#10462E",background:"#10462E",color:"#FFFFFF"})]]),".efw-page--health-empty .efw-arrows":/* @__PURE__ */Object.freeze([[30000238,/* @__PURE__ */Object.freeze({gridArea:"nav",display:"flex",gap:"8px",marginTop:"16px"})]]),".efw-page--health-empty .efw-arrow":/* @__PURE__ */Object.freeze([[30000239,/* @__PURE__ */Object.freeze({display:"grid",placeItems:"center",width:"44px",height:"44px",padding:"0",border:"1.5px solid #E4E4E4",borderRadius:"50%",background:"#FFFFFF",color:"#10462E",cursor:"pointer",touchAction:"manipulation",transition:"border-color 150ms ease, opacity 150ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-arrow .efw-ico":/* @__PURE__ */Object.freeze([[40000240,/* @__PURE__ */Object.freeze({width:"22px",height:"22px"})]]),".efw-page--health-empty .efw-arrow--prev .efw-ico":/* @__PURE__ */Object.freeze([[40000241,/* @__PURE__ */Object.freeze({rotate:"180deg"})]]),".efw-page--health-empty .efw-arrow:disabled":/* @__PURE__ */Object.freeze([[40000242,/* @__PURE__ */Object.freeze({opacity:"0.35",cursor:"default"})]]),".efw-page--health-empty .efw-car__track":/* @__PURE__ */Object.freeze([[30000243,/* @__PURE__ */Object.freeze({gridArea:"car",display:"flex",gap:"32px",marginTop:"24px",overflowX:"auto",overscrollBehaviorX:"contain",scrollSnapType:"x mandatory",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-slide":/* @__PURE__ */Object.freeze([[30000244,/* @__PURE__ */Object.freeze({flex:"0 0 100%",display:"grid",gridTemplateColumns:"minmax(0, 1.45fr) minmax(0, 1fr)",alignItems:"start",gap:"32px",scrollSnapAlign:"start",scrollSnapStop:"always"})]]),".efw-page--health-empty .efw-slide__title":/* @__PURE__ */Object.freeze([[30000245,/* @__PURE__ */Object.freeze({margin:"0",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-page--health-empty .efw-slide__lead":/* @__PURE__ */Object.freeze([[30000246,/* @__PURE__ */Object.freeze({margin:"2px 0 12px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-marker":/* @__PURE__ */Object.freeze([[30000247,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) minmax(80px, 120px) 92px",transition:"background-color 150ms ease"})]]),".efw-page--health-empty .efw-marker__what":/* @__PURE__ */Object.freeze([[30000248,/* @__PURE__ */Object.freeze({display:"block",flexBasis:"100%",fontWeight:"400",fontSize:"15px",lineHeight:"1.45",color:"#6B6B6B"})]]),".efw-page--health-empty .efw-marker.efw-is-lit":/* @__PURE__ */Object.freeze([[40000249,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-page--health-empty .efw-flag > summary":/* @__PURE__ */Object.freeze([[30100250,/* @__PURE__ */Object.freeze({listStyle:"none",cursor:"pointer"})]]),".efw-page--health-empty .efw-flag[open]":/* @__PURE__ */Object.freeze([[40000251,/* @__PURE__ */Object.freeze({borderRadius:"10px",background:"#FBF1EE"})]]),".efw-page--health-empty .efw-flag__note":/* @__PURE__ */Object.freeze([[30000252,/* @__PURE__ */Object.freeze({display:"grid",justifyItems:"start",gap:"8px",padding:"0 12px 12px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-flag__note b":/* @__PURE__ */Object.freeze([[30100253,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-page--health-empty .efw-from > summary":/* @__PURE__ */Object.freeze([[30100254,/* @__PURE__ */Object.freeze({listStyle:"none",cursor:"pointer"})]]),".efw-page--health-empty .efw-from__cap":/* @__PURE__ */Object.freeze([[30000255,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"6px",width:"fit-content",marginBottom:"8px",fontWeight:"700",fontSize:"14px",lineHeight:"1.4",color:"#10462E"})]]),".efw-page--health-empty .efw-from:not([open]) .efw-from__cap":/* @__PURE__ */Object.freeze([[50000256,/* @__PURE__ */Object.freeze({marginBottom:"0"})]]),".efw-page--health-empty .efw-from__cap .efw-ico":/* @__PURE__ */Object.freeze([[40000257,/* @__PURE__ */Object.freeze({width:"16px",height:"16px",color:"#819E90"})]]),".efw-page--health-empty .efw-from__cap .efw-from__chev":/* @__PURE__ */Object.freeze([[40000258,/* @__PURE__ */Object.freeze({width:"18px",height:"18px",color:"#10462E",transition:"rotate 200ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-from[open] .efw-from__chev":/* @__PURE__ */Object.freeze([[50000259,/* @__PURE__ */Object.freeze({rotate:"90deg"})]]),".efw-page--health-empty .efw-from .efw-doc":/* @__PURE__ */Object.freeze([[40000260,/* @__PURE__ */Object.freeze({gap:"4px",padding:"16px"})]]),".efw-page--health-empty .efw-lab":/* @__PURE__ */Object.freeze([[30000261,/* @__PURE__ */Object.freeze({width:"100%",borderCollapse:"separate",borderSpacing:"0 3px",fontFamily:"$mono",fontSize:"13px",lineHeight:"1.35",fontVariantNumeric:"tabular-nums"})]]),".efw-page--health-empty .efw-lab th":/* @__PURE__ */Object.freeze([[30100262,/* @__PURE__ */Object.freeze({padding:"0 8px 2px",fontWeight:"400",fontSize:"12px",letterSpacing:"0.04em",textTransform:"uppercase",color:"#6B6B6B",textAlign:"left"})]]),".efw-page--health-empty .efw-lab td":/* @__PURE__ */Object.freeze([[30100263,/* @__PURE__ */Object.freeze({padding:"5px 8px",whiteSpace:"nowrap",transition:"background-color 150ms ease"})]]),".efw-page--health-empty .efw-lab tr[data-line] td":/* @__PURE__ */Object.freeze([[40200264,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-page--health-empty .efw-lab tr[data-line] td:first-child":/* @__PURE__ */Object.freeze([[50200265,/* @__PURE__ */Object.freeze({borderRadius:"6px 0 0 6px"})]]),".efw-page--health-empty .efw-lab tr[data-line] td:last-child":/* @__PURE__ */Object.freeze([[50200266,/* @__PURE__ */Object.freeze({borderRadius:"0 6px 6px 0"})]]),".efw-page--health-empty .efw-lab tr.efw-is-lit td":/* @__PURE__ */Object.freeze([[40200267,/* @__PURE__ */Object.freeze({background:"#F6D892"})]]),".efw-page--health-empty .efw-more":/* @__PURE__ */Object.freeze([[30000268,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:"16px",margin:"16px 0 0",padding:"0",listStyle:"none"})]]),".efw-page--health-empty .efw-more > li":/* @__PURE__ */Object.freeze([[30100269,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column",gap:"12px",padding:"24px",borderRadius:"20px"})]]),".efw-page--health-empty .efw-more__head":/* @__PURE__ */Object.freeze([[30000270,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"})]]),".efw-page--health-empty .efw-more__head .efw-ico":/* @__PURE__ */Object.freeze([[40000271,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#10462E"})]]),".efw-page--health-empty .efw-more__title":/* @__PURE__ */Object.freeze([[30000272,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-more__lead":/* @__PURE__ */Object.freeze([[30000273,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-more__rows":/* @__PURE__ */Object.freeze([[30000274,/* @__PURE__ */Object.freeze({display:"grid",gap:"6px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-page--health-empty .efw-more__rows li":/* @__PURE__ */Object.freeze([[30100275,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"4px 12px",minHeight:"44px",padding:"8px 14px",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.4"})]]),".efw-page--health-empty .efw-more__when":/* @__PURE__ */Object.freeze([[30000276,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",letterSpacing:"0.02em",color:"#6B6B6B",whiteSpace:"nowrap"})]]),".efw-max1279 .efw-page--health-empty .efw-ways":/* @__PURE__ */Object.freeze([[30000277,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)"})]]),".efw-max1279 .efw-page--health-empty .efw-more":/* @__PURE__ */Object.freeze([[30000278,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)"})]]),".efw-max1279 .efw-page--health-empty .efw-slide":/* @__PURE__ */Object.freeze([[30000279,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)",gap:"24px"})]]),".efw-hero1 .efw-page--health-empty .efw-hero":/* @__PURE__ */Object.freeze([[30000280,/* @__PURE__ */Object.freeze({"--efw-grass-h":"64px",gridTemplateColumns:"minmax(0, 1fr)",padding:"24px var(--efw-card-pad) 0"})]]),".efw-hero1 .efw-page--health-empty .efw-hero__copy":/* @__PURE__ */Object.freeze([[30000281,/* @__PURE__ */Object.freeze({paddingBottom:"0"})]]),".efw-hero1 .efw-page--health-empty .efw-hero__scene":/* @__PURE__ */Object.freeze([[30000282,/* @__PURE__ */Object.freeze({minHeight:"0",height:"264px"})]]),".efw-hero1 .efw-page--health-empty .efw-evie":/* @__PURE__ */Object.freeze([[30000283,/* @__PURE__ */Object.freeze({height:"176px"})]]),".efw-max559 .efw-page--health-empty .efw-way":/* @__PURE__ */Object.freeze([[30000284,/* @__PURE__ */Object.freeze({padding:"16px"})]]),".efw-max559 .efw-page--health-empty .efw-marker":/* @__PURE__ */Object.freeze([[30000285,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-max559 .efw-page--health-empty .efw-labs":/* @__PURE__ */Object.freeze([[30000286,/* @__PURE__ */Object.freeze({gridTemplateAreas:'"head nav" "groups groups" "car car"'})]]),".efw-max559 .efw-page--health-empty .efw-labs__head .efw-ico":/* @__PURE__ */Object.freeze([[40000287,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-max559 .efw-page--health-empty .efw-arrows":/* @__PURE__ */Object.freeze([[30000288,/* @__PURE__ */Object.freeze({gap:"6px",marginTop:"0"})]]),".efw-max559 .efw-page--health-empty .efw-arrow":/* @__PURE__ */Object.freeze([[30000289,/* @__PURE__ */Object.freeze({width:"40px",height:"40px"})]]),".efw-max559 .efw-page--health-empty .efw-more__rows li:nth-child(n + 3)":/* @__PURE__ */Object.freeze([[40100290,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-page--health .efw-grid":/* @__PURE__ */Object.freeze([[30000291,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1.35fr) minmax(0, 1fr)",gridTemplateAreas:'"pet due" "files files" "weight add"',gap:"24px",marginTop:"32px"})]]),".efw-page--health .efw-block":/* @__PURE__ */Object.freeze([[30000292,/* @__PURE__ */Object.freeze({minWidth:"0"})]]),".efw-page--health .efw-block--pet":/* @__PURE__ */Object.freeze([[30000293,/* @__PURE__ */Object.freeze({gridArea:"pet"})]]),".efw-page--health .efw-block--due":/* @__PURE__ */Object.freeze([[30000294,/* @__PURE__ */Object.freeze({gridArea:"due"})]]),".efw-page--health .efw-block--files":/* @__PURE__ */Object.freeze([[30000295,/* @__PURE__ */Object.freeze({gridArea:"files"})]]),".efw-page--health .efw-block--weight":/* @__PURE__ */Object.freeze([[30000296,/* @__PURE__ */Object.freeze({gridArea:"weight"})]]),".efw-page--health .efw-block--add":/* @__PURE__ */Object.freeze([[30000297,/* @__PURE__ */Object.freeze({gridArea:"add"})]]),".efw-page--health .efw-block--files .efw-card__head":/* @__PURE__ */Object.freeze([[40000298,/* @__PURE__ */Object.freeze({marginBottom:"12px"})]]),".efw-max1279 .efw-page--health .efw-grid":/* @__PURE__ */Object.freeze([[30000299,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)",gridTemplateAreas:'"pet" "due" "files" "weight" "add"'})]])});var RAPH_RECORDS_FONTS=/* @__PURE__ */Object.freeze({font:'"Azeret", "Helvetica Neue", Arial, sans-serif',mono:'"Azeret Mono", ui-monospace, "SF Mono", Menlo, monospace',hand:'"Caveat", "Segoe Print", cursive',sans:'"Figtree", "Helvetica Neue", Arial, sans-serif'}),RAPH_RECORDS_ICONS=/* @__PURE__ */Object.freeze({"efi-flask":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M13.1725 1.88153V7.52689C13.1724 7.84254 13.2516 8.15316 13.403 8.43014L18.5873 17.9143C18.7442 18.201 18.8237 18.5234 18.818 18.8501C18.8124 19.1767 18.7218 19.4963 18.5552 19.7773C18.3886 20.0583 18.1517 20.2911 17.8678 20.4528C17.5839 20.6145 17.2628 20.6995 16.9361 20.6994H5.64536C5.31866 20.6995 4.99757 20.6145 4.71368 20.4528C4.42979 20.2911 4.19288 20.0583 4.02626 19.7773C3.85964 19.4963 3.76906 19.1767 3.76342 18.8501C3.75778 18.5234 3.83728 18.201 3.99409 17.9143L9.17841 8.43014C9.32979 8.15316 9.40907 7.84254 9.40893 7.52689V1.88153",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M6.07162 14.1128H16.5099",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M7.99755 1.88153H14.5838",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-flask-sm":{viewBox:"0 0 19.5956 19.5956",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M11.2668 1.63354V6.53244C11.2666 6.80635 11.3354 7.0759 11.4668 7.31626L15.9656 15.5464C16.1017 15.7951 16.1707 16.075 16.1658 16.3584C16.1609 16.6419 16.0823 16.9192 15.9377 17.163C15.7931 17.4069 15.5875 17.6089 15.3412 17.7492C15.0948 17.8895 14.8162 17.9632 14.5327 17.9632H4.7349C4.4514 17.9632 4.17277 17.8895 3.92642 17.7492C3.68006 17.6089 3.47448 17.4069 3.32989 17.163C3.18531 16.9192 3.1067 16.6419 3.10181 16.3584C3.09691 16.075 3.1659 15.7951 3.30198 15.5464L7.80079 7.31626C7.93216 7.0759 8.00095 6.80635 8.00083 6.53244V1.63354",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M5.10449 12.2476H14.1625",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M6.77637 1.63354H12.4917",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-shield":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.8178 12.2313C18.8178 16.9358 15.5247 19.2881 11.6106 20.6523C11.4056 20.7218 11.183 20.7185 10.9802 20.6429C7.05663 19.288 3.76351 16.9358 3.76351 12.2313V5.6451C3.76351 5.39556 3.86264 5.15624 4.03909 4.97979C4.21554 4.80333 4.45486 4.7042 4.7044 4.7042C6.58619 4.7042 8.93842 3.57513 10.5756 2.14498C10.7749 1.97467 11.0285 1.8811 11.2907 1.8811C11.5528 1.8811 11.8064 1.97467 12.0057 2.14498C13.6523 3.58454 15.9951 4.7042 17.8769 4.7042C18.1264 4.7042 18.3658 4.80333 18.5422 4.97979C18.7187 5.15624 18.8178 5.39556 18.8178 5.6451V12.2313Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M8.468 11.2906L10.3498 13.1724L14.1134 9.40885",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-folder":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.8179 18.8175C19.3169 18.8175 19.7956 18.6193 20.1485 18.2664C20.5014 17.9135 20.6996 17.4348 20.6996 16.9358V7.52683C20.6996 7.02775 20.5014 6.54911 20.1485 6.19621C19.7956 5.8433 19.3169 5.64504 18.8179 5.64504H11.3848C11.0701 5.64813 10.7596 5.57223 10.4818 5.42429C10.204 5.27635 9.96778 5.0611 9.79469 4.79824L9.03257 3.66917C8.86123 3.40898 8.62796 3.19541 8.35372 3.04761C8.07947 2.89981 7.77282 2.82241 7.46128 2.82236H3.76357C3.26449 2.82236 2.78585 3.02062 2.43294 3.37353C2.08004 3.72643 1.88178 4.20507 1.88178 4.70415V16.9358C1.88178 17.4348 2.08004 17.9135 2.43294 18.2664C2.78585 18.6193 3.26449 18.8175 3.76357 18.8175H18.8179Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-clock":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M11.2907 20.6999C16.4871 20.6999 20.6996 16.4873 20.6996 11.2909C20.6996 6.09451 16.4871 1.88199 11.2907 1.88199C6.0943 1.88199 1.88178 6.09451 1.88178 11.2909C1.88178 16.4873 6.0943 20.6999 11.2907 20.6999Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M11.2907 5.64559V11.2909L15.0543 13.1727",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-thermo":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M15 4.28578V15.5786C15.817 16.0504 16.4556 16.7785 16.8166 17.6501C17.1777 18.5217 17.241 19.4881 16.9968 20.3994C16.7526 21.3107 16.2146 22.1159 15.4661 22.6903C14.7176 23.2646 13.8006 23.5759 12.8571 23.5759C11.9137 23.5759 10.9966 23.2646 10.2482 22.6903C9.49969 22.1159 8.96164 21.3107 8.71746 20.3994C8.47328 19.4881 8.53662 18.5217 8.89766 17.6501C9.2587 16.7785 9.89725 16.0504 10.7143 15.5786V4.28578C10.7143 3.71746 10.9401 3.17242 11.3419 2.77056C11.7438 2.36869 12.2888 2.14293 12.8571 2.14293C13.4255 2.14293 13.9705 2.36869 14.3724 2.77056C14.7742 3.17242 15 3.71746 15 4.28578Z",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-heart":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M2.14286 10.1783C2.14288 8.98605 2.50456 7.82182 3.18014 6.8394C3.85572 5.85699 4.81341 5.10261 5.92672 4.67591C7.04004 4.2492 8.2566 4.17024 9.41573 4.44945C10.5749 4.72867 11.622 5.35292 12.4189 6.23976C12.4751 6.29978 12.5429 6.34762 12.6183 6.38034C12.6937 6.41305 12.775 6.42993 12.8571 6.42993C12.9393 6.42993 13.0206 6.41305 13.096 6.38034C13.1714 6.34762 13.2392 6.29978 13.2954 6.23976C14.0898 5.34716 15.1372 4.71766 16.2982 4.43505C17.4592 4.15244 18.6787 4.23014 19.7945 4.65778C20.9103 5.08543 21.8693 5.84275 22.5441 6.82894C23.2188 7.81514 23.5771 8.98344 23.5714 10.1783C23.5714 12.6319 21.9643 14.4641 20.3571 16.0712L14.4729 21.7637C14.2732 21.993 14.0271 22.1772 13.7508 22.304C13.4745 22.4309 13.1743 22.4975 12.8703 22.4994C12.5663 22.5013 12.2653 22.4385 11.9875 22.3152C11.7096 22.1919 11.4611 22.0108 11.2586 21.7841L5.35714 16.0712C3.75 14.4641 2.14286 12.6426 2.14286 10.1783Z",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-wind":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M13.7143 21C13.9859 21.2037 14.3021 21.34 14.6367 21.3975C14.9713 21.4551 15.3148 21.4323 15.6389 21.3311C15.963 21.2299 16.2584 21.0531 16.5008 20.8153C16.7431 20.5774 16.9255 20.2855 17.0329 19.9633C17.1403 19.6412 17.1696 19.2982 17.1183 18.9626C17.0671 18.6269 16.9369 18.3082 16.7384 18.0328C16.5398 17.7573 16.2787 17.533 15.9765 17.3783C15.6742 17.2235 15.3395 17.1429 15 17.1429H2.14286M18.75 8.57143C19.0239 8.20616 19.3867 7.91699 19.8039 7.73136C20.221 7.54574 20.6787 7.46982 21.1334 7.51082C21.5881 7.55183 22.0248 7.70839 22.4021 7.96564C22.7793 8.22289 23.0845 8.5723 23.2886 8.98068C23.4928 9.38905 23.5892 9.84285 23.5687 10.299C23.5482 10.7551 23.4114 11.1984 23.1714 11.5868C22.9313 11.9752 22.596 12.2958 22.1972 12.5181C21.7984 12.7404 21.3494 12.8571 20.8929 12.8571H2.14286M10.5 4.71429C10.7716 4.51056 11.0878 4.3743 11.4224 4.31674C11.757 4.25917 12.1005 4.28195 12.4246 4.38319C12.7487 4.48442 13.0441 4.66123 13.2865 4.89903C13.5289 5.13683 13.7112 5.42882 13.8186 5.75094C13.926 6.07306 13.9553 6.41608 13.9041 6.75173C13.8529 7.08739 13.7226 7.40607 13.5241 7.68152C13.3256 7.95697 13.0644 8.1813 12.7622 8.33602C12.4599 8.49074 12.1253 8.57143 11.7857 8.57143H2.14286",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-chevron":{viewBox:"0 0 19.358 19.358",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M7.25918 14.5191L12.0987 9.67957L7.25918 4.84007",stroke:"currentColor",strokeWidth:"1.61317",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-clip":{viewBox:"0 0 28.0714 28.0714",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.7142 4.67897H21.0535C21.6739 4.67897 22.2689 4.92543 22.7076 5.36413C23.1463 5.80283 23.3928 6.39784 23.3928 7.01826V23.3933C23.3928 24.0137 23.1463 24.6087 22.7076 25.0474C22.2689 25.4861 21.6739 25.7325 21.0535 25.7325H7.0178C6.39738 25.7325 5.80238 25.4861 5.36368 25.0474C4.92498 24.6087 4.67852 24.0137 4.67852 23.3933V7.01826C4.67852 6.39784 4.92498 5.80283 5.36368 5.36413C5.80238 4.92543 6.39738 4.67897 7.0178 4.67897H9.35709M10.5267 16.3754H17.5446M14.0357 19.8843V12.8665M10.5267 2.33969H17.5446C18.1906 2.33969 18.7142 2.86335 18.7142 3.50933V5.84861C18.7142 6.49459 18.1906 7.01826 17.5446 7.01826H10.5267C9.88075 7.01826 9.35709 6.49459 9.35709 5.84861V3.50933C9.35709 2.86335 9.88075 2.33969 10.5267 2.33969Z",stroke:"currentColor",strokeWidth:"2.33929",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-download":{viewBox:"0 0 24.7029 24.7029",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M12.3514 15.4394V3.08798M17.4978 10.293L12.3514 15.4394L7.20495 10.293M21.6149 15.4394V19.5566C21.6149 20.1025 21.3981 20.6261 21.012 21.0122C20.6259 21.3982 20.1023 21.6151 19.5564 21.6151H5.14637C4.60041 21.6151 4.0768 21.3982 3.69074 21.0122C3.30469 20.6261 3.0878 20.1025 3.0878 19.5566V15.4394",stroke:"currentColor",strokeWidth:"2.05857",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-upload":{viewBox:"0 0 24.7029 24.7029",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M12.3515 3.08766V15.4391M7.20503 8.23409L12.3515 3.08766L17.4979 8.23409M21.615 15.4391V19.5562C21.615 20.1022 21.3981 20.6258 21.0121 21.0119C20.626 21.3979 20.1024 21.6148 19.5565 21.6148H5.14646C4.60049 21.6148 4.07688 21.3979 3.69083 21.0119C3.30477 20.6258 3.08789 20.1022 3.08789 19.5562V15.4391",stroke:"currentColor",strokeWidth:"2.05857",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-calendar":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M8 2v4"},[]],["path",{d:"M16 2v4"},[]],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2"},[]],["path",{d:"M3 10h18"},[]]]]]},"efi-file":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"},[]],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4"},[]],["path",{d:"M10 9H8"},[]],["path",{d:"M16 13H8"},[]],["path",{d:"M16 17H8"},[]]]]]},"efi-info-mark":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"},[["path",{d:"M12 17.5v-6.5"},[]],["path",{d:"M12 6.5h.01"},[]]]]]},"efi-syringe":{viewBox:"0 0 19.5956 19.5956",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M14.5322 1.63281L17.7982 4.89874",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M13.7158 5.71556L16.1653 3.26611",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M15.3496 7.34845L6.93981 15.7582C6.12333 16.5747 4.89861 16.5747 4.16377 15.7582L3.67388 15.2683C2.8574 14.4518 2.8574 13.2271 3.67388 12.4923L12.0836 4.08252",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M7.18457 8.9812L10.4505 12.2471",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M3.9182 15.5134L1.46875 17.9629",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M11.2666 3.26611L16.1655 8.16501",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-send":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"},[]],["path",{d:"m21.854 2.147-10.94 10.939"},[]]]]]}});var RAPH=/* @__PURE__ */Object.freeze({ink:"#10462E",go:"#07C168",white:"#FFFFFF",black:"#000000",muted:"#6B6B6B",noteInk:"#6B6863",meta:"#3D3D3D",line:"#E4E4E4",bar:"#ECECEC",alert:"#C03410",alertDeep:"#6D1D14",tintSage:"#E6ECE8",tintBlue:"#EAEEF6",tintYellow:"#FCF0D6",tintRed:"#FBF1EE",tintGo:"#DCF6EA",watchFill:"#F9E6B9",icoSage:"#819E90",bgMist:"#F1F5F2",embCyan:"#E0FDFF",embTeal:"#00707C",embInk:"#262523",sky:"#4E98C9",plainEdge:"rgba(16, 70, 46, 0.2)",tintPink:"#FFEAE8",tintPinkSoft:"#FFF6F5",popEdge:"#B5C1BC",yellowEdge:"#F6D892",yellow:"#F2C763"}),INK_FILLS=/* @__PURE__ */new Set([".efh-btn--ink",".efh-way--ink",".efh-wpt--vet",".efh-wkey .is-vet::before",".efh-mkbar__dot",".efw-btn--ink",".efw-page--health-empty .efw-way--ink",".efw-page--health-empty .efw-group[aria-current]",".efw-rbar__dot"]),ON_INK=/* @__PURE__ */new Set([".efh-btn--ink",".efh-way--ink",".efw-btn--ink",".efw-page--health-empty .efw-way--ink",".efw-page--health-empty .efw-group[aria-current]"]),GO_STATUS=/* @__PURE__ */new Set([".efh-pill--clear",".efh-mkbar__in",".efh-wchart__rail span:nth-child(2)",".efw-pill--clear",".efw-rbar__in",".efw-wchart__rail span:nth-child(2)",".efw-wchart__pt"]),FILL_PROPERTIES=/* @__PURE__ */new Set(["background","borderColor"]),TIER_PREFIX=/^\.efw-(max1279|hero1|max559)\s+/;function mixColor(a,b,t){let over=withAlpha(a,t);return(over!==null?flattenOnto(over,b):null)??b}var same=(a,b)=>parseColor(a)===parseColor(b);function isRaphIdentity(theme){if(theme.brightness!=="light")return false;let c=theme.color,k=EVERFUR_LIGHT.color;return same(c.primary,k.primary)&&same(c.brandInk,k.brandInk)&&same(c.onPrimary,k.onPrimary)&&same(c.accent,k.accent)&&same(c.accentEdge,k.accentEdge)}var TOP=/* @__PURE__ */Object.freeze({card:"#FFCE34",kicker:"#4A4845",button:"#262523",riskDot:"#E5372B"}),TOP_SELECTORS=/* @__PURE__ */new Set([".rec-top",".rec-top__k",".rec-top__t",".rec-top .emb-btn",".emb-btn",".emb-btn--sm",".dot",".dot--risk"]);function painterFor(theme){let c=theme.color,v=v3Palette(theme),dark=theme.brightness==="dark",identity=isRaphIdentity(theme),compiled=(dark?EVERFUR_DARK:EVERFUR_LIGHT).color,accentSet=!same(c.accent,compiled.accent),decoGo=accentSet?c.accent:c.accentEdge,ground=dark?c.surface:RAPH.white,tint=(hue,lightT)=>mixColor(hue,ground,dark?.18:lightT),neutral=dark?{[RAPH.white]:v.card,[RAPH.black]:v.ink,[RAPH.muted]:v.ink3,[RAPH.noteInk]:v.ink3,[RAPH.meta]:c.text.metaCool,[RAPH.line]:v.line,[RAPH.bar]:v.line,[RAPH.embInk]:v.ink,[RAPH.alert]:v.riskInk,[RAPH.alertDeep]:v.riskInk,[RAPH.tintBlue]:tint(RAPH.sky,0),[RAPH.tintYellow]:tint(c.warningStrong,0),[RAPH.watchFill]:tint(c.warningStrong,0),[RAPH.tintRed]:tint(c.danger,0),[RAPH.tintGo]:tint(RAPH.go,0),[RAPH.yellowEdge]:tint(c.warningStrong,0)}:{},brand=identity?{}:{[RAPH.tintSage]:tint(c.primary,.105),[RAPH.icoSage]:mixColor(c.brandInk,ground,.527),[RAPH.bgMist]:tint(c.primary,.059),[RAPH.embCyan]:accentSet?tint(c.accent,.14):tint(RAPH.embCyan,1),[RAPH.embTeal]:accentSet?c.accent:dark?c.brandInk:RAPH.embTeal,[RAPH.tintPink]:tint(c.highlight,.35),[RAPH.tintPinkSoft]:tint(c.highlight,.15),[RAPH.popEdge]:mixColor(c.brandInk,dark?v.line:RAPH.line,.22)},topCard=accentSet?c.accent:identity?RAPH.tintSage:tint(c.primary,.105),topKicker=v3InkOn(topCard,[accentSet?c.onAccent:dark?c.text.muted:TOP.kicker,TOP.button]),topInk=accentSet?v3InkOn(topCard,[c.onAccent,TOP.button]):null;return{painter:(tiered,property,raph)=>{let key=raph.toUpperCase(),selector=tiered.replace(TIER_PREFIX,"");return selector.startsWith(".ph-toast")?raph:TOP_SELECTORS.has(selector)?key===TOP.card?topCard:key===TOP.kicker?topKicker:key===TOP.button?v.primary:key===TOP.riskDot?dark?c.danger:TOP.riskDot:key==="#FFF"&&property==="color"?v.onPrimary:raph:key===RAPH.ink?INK_FILLS.has(selector)&&FILL_PROPERTIES.has(property)?v.primary:c.brandInk:key===RAPH.white&&ON_INK.has(selector)&&property==="color"?v.onPrimary:key===RAPH.go?GO_STATUS.has(selector)?RAPH.go:decoGo:key===RAPH.plainEdge.toUpperCase()?identity?raph:withAlpha(c.brandInk,.2)??raph:neutral[key]??brand[key]??raph},topInk:topInk}}var COLOR=/#[0-9A-Fa-f]{6}\b|#[0-9A-Fa-f]{3}\b|rgba\([^)]*\)/g;function paintRule(painter,selector,rule){let next={};for(let[property,value]of Object.entries(rule))next[property]=value.replace(COLOR,hit=>painter(selector,property,hit));return next}function paint({painter:painter,topInk:topInk}){let out={};for(let[selector,rule]of Object.entries(RAPH_RECORDS_RULES)){let next=paintRule(painter,selector,rule);selector===".rec-top"&&topInk!==null&&(next.color=topInk),out[selector]=/* @__PURE__ */Object.freeze(next)}/* @__PURE__ */
|
|
120
|
+
return Object.freeze({petRef:pet,withheld:false,document:mapDocumentRow(parsed.data.document),contributions:contributions,contributionCount:parsed.data.contribution_count??contributions.length})}var BASE="/widget/v1/records/pets";function createRecordsDepthClient(deps){let funnel=withPlainNotFound(deps.funnel??createRequestFunnel({auth:deps.auth,...deps.errorPolicy?{errorPolicy:deps.errorPolicy}:{}})),segment=(value,max)=>typeof value=="string"&&value.length>0&&!hasLoneSurrogate(value)&&[...value].length<=max,read=async(call,petRef,path,map)=>{if(!segment(petRef,PET_REF_MAX2))return invalid3();let result=await funnel.send(call,{method:"GET",path:path});if(!result.ok)return result;let view=map(result.value);return view.petRef===petRef?ok(view):err(makeEverfurError("internalError",{retryable:false}))},pet=petRef=>`${BASE}/${encodeURIComponent(petRef)}`,record=petRef=>`${pet(petRef)}/everfur_record`,parsed=async(call,req,map)=>{let result=await funnel.send(call,req,req.method==="POST"?{idempotent:false,maxAttempts:1}:void 0);if(!result.ok)return result;let value=map(result.value);return value===null?err(makeEverfurError("internalError",{retryable:false})):ok(value)},factBody=(input,corrected)=>!segment(input.entityType,FACT_ENTITY_TYPE_MAX)||!segment(input.canonicalKey,FACT_CANONICAL_KEY_MAX)||input.idempotencyKey!==void 0&&!segment(input.idempotencyKey,IDEMPOTENCY_KEY_MAX)||corrected!==void 0&&Object.keys(corrected).length===0?null:{entity_type:input.entityType,canonical_key:input.canonicalKey,...corrected!==void 0?{corrected_fields:corrected}:{},...input.idempotencyKey!==void 0?{idempotency_key:input.idempotencyKey}:{}};return{getRecordDepth:petRef=>read("records.depth.record",petRef,`${pet(petRef)}/record`,wire=>mapRecordDepth(petRef,wire)),getTimeline:petRef=>read("records.depth.timeline",petRef,`${pet(petRef)}/timeline`,wire=>mapRecordsTimeline(petRef,wire)),getDocumentContributions(petRef,docId){return segment(docId,64)?read("records.depth.contributions",petRef,`${pet(petRef)}/documents/${encodeURIComponent(docId)}/contributions`,wire=>mapDocumentContributions(petRef,wire)):invalid3()},getMarkers:petRef=>read("records.depth.markers",petRef,`${pet(petRef)}/markers`,wire=>mapRecordMarkers(petRef,wire)),createShare(petRef,opts){if(!segment(petRef,PET_REF_MAX2))return invalid3();let audience=opts?.audience;return audience!==void 0&&!RECORD_SHARE_AUDIENCES.includes(audience)?invalid3():parsed("records.share.create",{method:"POST",path:`${record(petRef)}/share`,...audience!==void 0?{body:{audience:audience}}:{}},wire=>mapRecordShareLink(wire,deps.apiBaseUrl))},emailShare(petRef,input){let kind=input.recipientKind,email=typeof input.recipientEmail=="string"?input.recipientEmail.trim():"",kindOk=kind==="other"||RECORD_SHARE_AUDIENCES.includes(kind);return!segment(petRef,PET_REF_MAX2)||!kindOk||!isShareRecipientEmail(email)||hasLoneSurrogate(email)?invalid3():parsed("records.share.email",{method:"POST",path:`${record(petRef)}/share/email`,body:{recipient_email:email,recipient_kind:kind}},mapRecordShareEmailReceipt)},async readFeatures(){try{let result=await funnel.send("records.getFeatures",{method:"GET",path:"/widget/v1/records/features"});return result.ok?mapRecordsFeatures(result.value):RECORDS_FEATURES_PDF_ONLY}catch{return RECORDS_FEATURES_PDF_ONLY}},listShares(petRef){return segment(petRef,PET_REF_MAX2)?parsed("records.share.list",{method:"GET",path:`${record(petRef)}/shares`},mapRecordShareList):invalid3()},async revokeShare(petRef,shareId){if(!segment(petRef,PET_REF_MAX2)||!segment(shareId,64))return invalid3();let result=await funnel.send("records.share.revoke",{method:"DELETE",path:`${record(petRef)}/shares/${encodeURIComponent(shareId)}`},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},getPdfLink(petRef){return segment(petRef,PET_REF_MAX2)?parsed("records.pdf.link",{method:"GET",path:`${record(petRef)}/pdf-link`},mapRecordPdfLink):invalid3()},async editFact(petRef,input){let body=segment(petRef,PET_REF_MAX2)?factBody(input,input.correctedFields):null;if(body===null)return invalid3();let result=await funnel.send("records.fact.edit",{method:"POST",path:`${record(petRef)}/facts/edit`,body:body},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},async removeFact(petRef,input){let body=segment(petRef,PET_REF_MAX2)?factBody(input):null;if(body===null)return invalid3();let result=await funnel.send("records.fact.remove",{method:"POST",path:`${record(petRef)}/facts/remove`,body:body},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},listRequestDocuments(requestId){return segment(requestId,64)?parsed("records.request.documents",{method:"GET",path:`/widget/v1/records/requests/${encodeURIComponent(requestId)}/documents`},mapRequestDocuments):invalid3()},listAuthorizationSignatures:()=>parsed("records.signatures.list",{method:"GET",path:"/widget/v1/records/authorization-signatures"},mapSignatureSuggestions)}}function invalid3(){return Promise.resolve(err(makeEverfurError("validationFailed",{retryable:false})))}var epochs=/* @__PURE__ */new Map,listeners2=/* @__PURE__ */new Set;function recordsConsentEpochOf(petRef){return epochs.get(petRef)??0}function subscribe(onStoreChange){return listeners2.add(onStoreChange),()=>{listeners2.delete(onStoreChange)}}function useRecordsConsentEpoch(petRef){let snapshot=react.useCallback(()=>recordsConsentEpochOf(petRef),[petRef]);return react.useSyncExternalStore(subscribe,snapshot,snapshot)}function useEverfurRecordsDepthClient(){let{runtime:runtime,userRef:userRef,scopeEpoch:scopeEpoch}=useEverfurContext();return react.useMemo(()=>{let{services:services}=runtime.registry;return createRecordsDepthClient({auth:services.authFor(userRef),...services.errorPolicy?{errorPolicy:services.errorPolicy}:{},...typeof services.apiBaseUrl=="string"?{apiBaseUrl:services.apiBaseUrl}:{}})},[runtime,userRef,scopeEpoch])}function useRecordsDepthRead(petRef,read,isEmpty,extraKey=""){let client=useEverfurRecordsDepthClient(),{userRef:userRef}=useEverfurContext(),consentEpoch=useRecordsConsentEpoch(petRef),scope=react.useMemo(()=>({}),[client,petRef,extraKey,consentEpoch]),[state,setState]=react.useState({scope:scope,value:null,error:null,loading:true}),generation=react.useRef(0),load=react.useCallback(async()=>{let gen=generation.current+=1;if(setState({scope:scope,value:null,error:null,loading:true}),userRef===null){setState({scope:scope,value:null,error:null,loading:false});return}let result=await read(client,petRef);gen===generation.current&&(result.ok?setState({scope:scope,value:result.value,error:null,loading:false}):setState({scope:scope,value:null,error:result.error,loading:false}))},[client,petRef,read,scope,userRef]);react.useEffect(()=>(load(),()=>{generation.current+=1}),[load]);let current=state.scope===scope?state:{value:null,error:null,loading:true},refresh=react.useCallback(()=>{load()},[load]),available=current.error===null||current.error.httpStatus!==404,error=available?current.error:null,status=current.loading?"loading":error!==null?"error":current.value===null?"empty":current.value.withheld?"populated":isEmpty(current.value)?"empty":"populated";return react.useMemo(()=>({status:status,value:current.value,error:error,available:available,refresh:refresh}),[status,current.value,error,available,refresh])}var readMarkers=(client,petRef)=>client.getMarkers(petRef),markersEmpty=value=>value.markers.length===0;function useRecordsMarkers(petRef){let state=useRecordsDepthRead(petRef,readMarkers,markersEmpty);return react.useMemo(()=>{let markers=state.available&&state.value!==null&&!state.value.withheld?state.value:null;return{status:state.status,markers:markers,available:state.available,error:state.error,refresh:state.refresh}},[state])}function mapTier(wire){let tier={url:wire.url,kind:wire.kind,expiresAt:wire.expires_at};return typeof wire.loop_duration_ms=="number"&&(tier.loopDurationMs=wire.loop_duration_ms),typeof wire.cache_key=="string"&&wire.cache_key.length>0&&(tier.cacheKey=wire.cache_key),/* @__PURE__ */Object.freeze(tier)}function mapPetStateResponse(wire){let tiers={};wire.tiers.animation&&(tiers.animation=mapTier(wire.tiers.animation)),wire.tiers.image&&(tiers.image=mapTier(wire.tiers.image));let overlays={};wire.overlays.weather_alert&&(overlays.weatherAlert=mapTier(wire.overlays.weather_alert));let response={category:wire.category,tiers:/* @__PURE__ */Object.freeze(tiers),overlays:/* @__PURE__ */Object.freeze(overlays),idle:"bundled",ttlSeconds:wire.ttl_seconds,degraded:wire.degraded};return typeof wire.cache_epoch=="number"&&(response.cacheEpoch=wire.cache_epoch),/* @__PURE__ */Object.freeze(response)}var mediaKindWireSchema=/* @__PURE__ */zod.z.enum(["webp","video"]),categoryWireSchema=/* @__PURE__ */zod.z.enum(["health","attention","moment","activity","mood","idle"]),petStateTierWireSchema=/* @__PURE__ */zod.z.object({url:/* @__PURE__ */zod.z.string(),kind:/* @__PURE__ */mediaKindWireSchema.default("webp"),loop_duration_ms:/* @__PURE__ */zod.z.number().nullish(),expires_at:/* @__PURE__ */zod.z.string(),cache_key:/* @__PURE__ */zod.z.string().nullish()}),petStateResponseWireSchema=/* @__PURE__ */zod.z.object({category:categoryWireSchema,tiers:/* @__PURE__ */zod.z.object({animation:/* @__PURE__ */petStateTierWireSchema.optional(),image:/* @__PURE__ */petStateTierWireSchema.optional()}).default({}),overlays:/* @__PURE__ */zod.z.object({weather_alert:/* @__PURE__ */petStateTierWireSchema.optional()}).default({}),idle:/* @__PURE__ */zod.z.literal("bundled").default("bundled"),ttl_seconds:/* @__PURE__ */zod.z.number(),degraded:/* @__PURE__ */zod.z.boolean().default(false),cache_epoch:/* @__PURE__ */zod.z.number().default(0)});function parsePetStateWire(raw){let parsed=petStateResponseWireSchema.safeParse(raw);return parsed.success?parsed.data:null}function createPetStateRepository(auth){return createPetStateRepositoryOver(createRequestFunnel({auth:auth}))}function createPetStateRepositoryOver(funnel){return{async getState(petRef,opts){if(hasLoneSurrogate(petRef))return err(makeEverfurError("validationFailed",{retryable:false,wireMessage:"pet_ref contains an unpaired surrogate and cannot be encoded"}));let path=`/widget/v1/pets/${encodeURIComponent(petRef)}/state`,res=await funnel.send("animations.getState",opts?.signal?{method:"GET",path:path,signal:opts.signal}:{method:"GET",path:path},opts?.maxAttempts!==void 0?{maxAttempts:opts.maxAttempts}:void 0);if(res.ok){let wire=parsePetStateWire(res.value);return wire===null?err(makeEverfurError("internalError",{retryable:true})):ok(mapPetStateResponse(wire))}return res.error.httpStatus===404?ok(null):err(res.error)}}}var LOADING=/* @__PURE__ */Object.freeze({status:"loading"}),NONE=/* @__PURE__ */Object.freeze({status:"none"}),RETRY_MS=3e4,RECORDS_PET_ART_RETRIES_MS=/* @__PURE__ */Object.freeze([2e3,6e3]),NO_FAILURES=/* @__PURE__ */Object.freeze({animation:false,image:false});function recordsPetArtOf(read,failed,reducedMotion){if(read.kind==="pending")return LOADING;if(read.kind==="failed"||read.value===null)return NONE;let{animation:animation,image:image}=read.value.tiers;return animation!==void 0&&animation.kind==="webp"&&!reducedMotion&&!failed.animation?{status:"art",url:animation.url,key:animation.cacheKey??animation.url,animated:true}:image!==void 0&&image.kind==="webp"&&!failed.image?{status:"art",url:image.url,key:image.cacheKey??image.url,animated:false}:NONE}function useRecordsPetArt(petRef,opts){let context=react.useContext(EverfurContext),runtime=context?.runtime??null,userRef=context?.userRef??null,scope=runtime!==null&&userRef!==null&&petRef!==null?`${userRef}|${petRef}`:null,[read,setRead]=react.useState({scope:scope,read:{kind:"pending"}}),[failed,setFailed]=react.useState({scope:scope,failed:NO_FAILURES}),[due,setDue]=react.useState({scope:scope,at:0}),current=read.scope===scope?read.read:{kind:"pending"},done=current.kind==="answer"&¤t.value===null,attempts=react.useRef({scope:scope,n:0});react.useEffect(()=>{if(scope===null||runtime===null||userRef===null||petRef===null||!opts.isFocused||done)return;let at=due.scope===scope?due.at:0,live=true,controller=typeof AbortController=="function"?new AbortController:null,run=()=>{createPetStateRepository(runtime.registry.services.authFor(userRef)).getState(petRef,controller?{signal:controller.signal,maxAttempts:1}:{maxAttempts:1}).then(result=>{if(!live)return;if(result.ok){attempts.current={scope:scope,n:0};let value=result.value;setRead(prev=>value!==null&&value.degraded&&prev.scope===scope&&prev.read.kind==="answer"&&prev.read.value!==null?prev:{scope:scope,read:{kind:"answer",value:value}}),value!==null&&(value.degraded||setFailed({scope:scope,failed:NO_FAILURES}),setDue({scope:scope,at:Date.now()+Math.max(30,value.ttlSeconds)*1e3}));return}if(result.error.httpStatus===403){setRead({scope:scope,read:{kind:"answer",value:null}});return}let n=attempts.current.scope===scope?attempts.current.n:0,quick=RECORDS_PET_ART_RETRIES_MS[n];attempts.current={scope:scope,n:n+1},setRead(prev=>prev.scope===scope&&prev.read.kind==="answer"?prev:quick!==void 0?{scope:scope,read:{kind:"pending"}}:{scope:scope,read:{kind:"failed"}}),setDue({scope:scope,at:Date.now()+(quick??RETRY_MS)})})},wait=Math.max(0,at-Date.now()),timer=wait===0?null:setTimeout(run,wait);return timer===null&&run(),()=>{live=false,timer!==null&&clearTimeout(timer),controller?.abort()}},[scope,runtime,userRef,petRef,opts.isFocused,done,due]);let failedNow=failed.scope===scope?failed.failed:NO_FAILURES,art=react.useMemo(()=>scope===null?NONE:recordsPetArtOf(current,failedNow,opts.reducedMotion),[scope,current,failedNow,opts.reducedMotion]),onError=react.useCallback(()=>{art.status==="art"&&setFailed(prev=>{let base2=prev.scope===scope?prev.failed:NO_FAILURES;return{scope:scope,failed:art.animated?{...base2,animation:true}:{...base2,image:true}}})},[art,scope]);return react.useMemo(()=>({art:art,onError:onError}),[art,onError])}var freezeInPlace=Object.freeze;function deepFreeze(value){if(value!==null&&typeof value=="object"&&!Object.isFrozen(value)){freezeInPlace(value);for(let key of Object.keys(value))deepFreeze(value[key])}return value}var TEXT_SCALE_TIER_CAPS=/* @__PURE__ */Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),SPACE={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},RADIUS={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},TYPE_SIZE={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},LINE_HEIGHT={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},WEIGHT={regular:"400",medium:"500",bold:"700"},LETTER_SPACING={eyebrow:1,monoWide:.9,headerBrand:-.42,tight:-.35},DEFAULT_MAX_FONT_SCALE=0,SYSTEM_FONT_FAMILY="System",SYSTEM_MONO_FAMILY="monospace",TIERS=["content","heading","control","compact","badge"];function authoredTierSizes(size){let out={};for(let tier of TIERS)out[tier]=size;return out}var NO_FONT_SOURCES=[];function baseType(){return{family:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,fontUrl:null,families:{regular:SYSTEM_FONT_FAMILY,medium:SYSTEM_FONT_FAMILY,bold:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,monoMedium:SYSTEM_MONO_FAMILY,monoBold:SYSTEM_MONO_FAMILY},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:TYPE_SIZE,tierSizes:authoredTierSizes(TYPE_SIZE),lineHeight:LINE_HEIGHT,weight:WEIGHT,letterSpacing:LETTER_SPACING,scale:1,maxScale:DEFAULT_MAX_FONT_SCALE,scaleCaps:TEXT_SCALE_TIER_CAPS,headingFamily:null,headingWeight:null,fontSources:NO_FONT_SOURCES}}var NO_SLOTS={},EASING_CURVES=/* @__PURE__ */Object.freeze({standard:/* @__PURE__ */Object.freeze([.2,0,0,1]),emphasized:/* @__PURE__ */Object.freeze([.2,.8,.2,1]),exit:/* @__PURE__ */Object.freeze([.4,0,1,1])});function cssCubicBezier(curve){return`cubic-bezier(${curve.join(", ")})`}var MOTION={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:cssCubicBezier(EASING_CURVES.standard),emphasized:cssCubicBezier(EASING_CURVES.emphasized),exit:cssCubicBezier(EASING_CURVES.exit)},reducedMotion:false},LIGHT_COLOR={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:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",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:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",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(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",highlight:"#FFC3BC",onHighlight:"#000000",mark:"#07C168",controlEdge:"rgba(16,70,46,0.18)",structureEdge:"rgba(16,70,46,0.25)",primaryEdge:"#10462E",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)",info:"#10462E",badgeBgInfo:"rgba(16,70,46,0.10)",infoEdge:"rgba(16,70,46,0.25)"},EVERFUR_LIGHT=deepFreeze({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:LIGHT_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS}),DARK_COLOR={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:"#9A9A9A",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",onDanger:"#0E1F17",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",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",highlight:"#605051",onHighlight:"#F5F3F0",mark:"#07C168",controlEdge:"rgba(107,211,154,0.22)",structureEdge:"rgba(107,211,154,0.28)",primaryEdge:"#6BD39A",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)",info:"#6BD39A",badgeBgInfo:"rgba(107,211,154,0.12)",infoEdge:"rgba(107,211,154,0.28)"},EVERFUR_DARK=deepFreeze({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:DARK_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS});var EVERFUR_THEME_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),globalThemeHost=globalThis,EverfurThemeContext=globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]??(globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]=react.createContext(EVERFUR_LIGHT));EverfurThemeContext.displayName??="EverfurThemeContext";function useEverfurTheme(){return react.useContext(EverfurThemeContext)}var VERSION=typeof __EVERFUR_SDK_VERSION__=="string"&&__EVERFUR_SDK_VERSION__.length>0?__EVERFUR_SDK_VERSION__:SDK_VERSION,ORIGIN=typeof __EVERFUR_CDN_ORIGIN__=="string"&&__EVERFUR_CDN_ORIGIN__.length>0?__EVERFUR_CDN_ORIGIN__:"https://sdk.everfur.com",RECORDS_GRASS_URL=`${ORIGIN}/${VERSION}/assets/grass.webp`,GRASS_WIDTH=1520,GRASS_HEIGHT=479;function parseColor(value){let rgba=toRgba(value);return rgba===null?null:normalizeRgba(rgba)}function toRgba(value){if(typeof value=="number")return argbIntToRgba(value);if(typeof value!="string")return null;let s=value.trim();if(s.length===0)return null;if(s.startsWith("#"))return fromHex(s.slice(1));if(s.toLowerCase().startsWith("0x"))return fromHex(s.slice(2));if(s.toLowerCase().startsWith("rgb"))return fromRgbFunc(s);if(/^[0-9a-fA-F]+$/.test(s)){let hex=fromHex(s);if(hex!==null)return hex}return/^\d+$/.test(s)?argbIntToRgba(Number.parseInt(s,10)):null}function fromHex(hex){let h=hex.trim();if(!/^[0-9a-fA-F]+$/.test(h))return null;if(h.length===3)return{r:dup(h[0]),g:dup(h[1]),b:dup(h[2]),a:1};if(h.length===6)return{r:byte(h,0),g:byte(h,2),b:byte(h,4),a:1};if(h.length===8){let a=byte(h,0);return{r:byte(h,2),g:byte(h,4),b:byte(h,6),a:a/255}}return null}function fromRgbFunc(input){let open=input.indexOf("("),close=input.indexOf(")");if(open<0||close<0||close<open)return null;let parts=input.slice(open+1,close).split(",").map(p=>p.trim());if(parts.length<3)return null;let r=clampByte(Number(parts[0])),g=clampByte(Number(parts[1])),b=clampByte(Number(parts[2]));if(r===null||g===null||b===null)return null;let a=1;if(parts.length>=4){let alpha=Number(parts[3]);if(!Number.isFinite(alpha))return null;a=Math.min(1,Math.max(0,alpha))}return{r:r,g:g,b:b,a:a}}function argbIntToRgba(n){if(!Number.isFinite(n))return null;let int=Math.trunc(n)>>>0,a=int>>>24&255;return{r:int>>>16&255,g:int>>>8&255,b:int&255,a:a===0?1:a/255}}function byte(hex,at){return Number.parseInt(hex.slice(at,at+2),16)}function dup(nibble){return Number.parseInt(`${nibble??"0"}${nibble??"0"}`,16)}function clampByte(n){return Number.isFinite(n)?Math.min(255,Math.max(0,Math.round(n))):null}function normalizeRgba(rgba){if(rgba.a>=1)return rgbToHex(rgba.r,rgba.g,rgba.b);let a=Math.round(rgba.a*1e3)/1e3;return`rgba(${rgba.r},${rgba.g},${rgba.b},${a})`}function rgbToHex(r,g,b){return`#${hex2(r)}${hex2(g)}${hex2(b)}`.toUpperCase()}function hex2(n){return n.toString(16).padStart(2,"0")}var NEAR_BLACK="#111111",WHITE="#FFFFFF",BLACK="#000000";function readableOn(background){let rgba=toRgba(background);if(rgba===null)return WHITE;let bg=relativeLuminance(rgba),black=relativeLuminance({r:17,g:17,b:17}),white=relativeLuminance({r:255,g:255,b:255});return luminanceContrast(bg,white)>=luminanceContrast(bg,black)?WHITE:NEAR_BLACK}function legibleOn(background,target){let first=readableOn(background);return contrastRatio(first,background)>=target?first:contrastRatio(WHITE,background)>=contrastRatio(BLACK,background)?WHITE:BLACK}function poleForGrounds(grounds){let worst=ink=>grounds.reduce((low,ground)=>Math.min(low,contrastRatio(ink,ground)),Number.POSITIVE_INFINITY);return worst(WHITE)>=worst(BLACK)?WHITE:BLACK}function relativeLuminance(rgba){let r=linearize(rgba.r/255),g=linearize(rgba.g/255),b=linearize(rgba.b/255);return.2126*r+.7152*g+.0722*b}function linearize(channel){return channel<=.03928?channel/12.92:Math.pow((channel+.055)/1.055,2.4)}function luminanceContrast(l1,l2){let lighter=Math.max(l1,l2),darker=Math.min(l1,l2);return(lighter+.05)/(darker+.05)}function contrastRatio(a,b){let fg=toRgba(a),bg=toRgba(b);if(fg===null||bg===null)return 1;let ground=bg.a>=1?bg:{...bg},fore=fg.a>=1?fg:composite(fg,ground);return luminanceContrast(relativeLuminance(fore),relativeLuminance(ground))}function composite(fg,bg){let a=fg.a,mix=(f,g)=>Math.round(f*a+g*(1-a));return{r:mix(fg.r,bg.r),g:mix(fg.g,bg.g),b:mix(fg.b,bg.b),a:1}}function flattenOnto(color,background){let fg=toRgba(color),bg=toRgba(background);if(fg===null||bg===null)return null;let out=fg.a>=1?fg:composite(fg,{...bg});return rgbToHex(out.r,out.g,out.b)}function withAlpha(color,alpha){let rgba=toRgba(color);if(rgba===null)return null;let a=Math.min(1,Math.max(0,alpha));return`rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${a})`}var PUSH_STEP=.05;function pushToContrast(color,grounds,pole,target){let first=grounds[0];if(first===void 0)return pole;let reads=candidate=>grounds.every(ground=>contrastRatio(candidate,ground)>=target);if(toRgba(color)===null)return pole;if(reads(color))return color;let flat=flattenOnto(color,first),from=flat===null?null:toRgba(flat),to=toRgba(pole);if(from===null||to===null)return pole;for(let step=1;step<1/PUSH_STEP;step+=1){let t=step*PUSH_STEP,mix=(a,b)=>Math.round(a+(b-a)*t),candidate=rgbToHex(mix(from.r,to.r),mix(from.g,to.g),mix(from.b,to.b));if(reads(candidate))return candidate}return pole}var RAPH_V3_LIGHT=/* @__PURE__ */Object.freeze({ink:"#262523",ink2:"#4A4845",ink3:"#6B6863",paper:"#F8F7F4",card:"#FFFFFF",line:"#E7E6E2",tile:"#F2F1EE",shadow:"rgba(38, 37, 35, .07)",riskBg:"#FFE3E1",riskInk:"#B0231B",riskDot:"#E5372B",clearBg:"#E6F4D3",clearInk:"#2F6A12",clearDot:"#5FA82B",watchDot:"#E5A000"}),cache=/* @__PURE__ */new WeakMap;function v3Palette(theme){let hit=cache.get(theme);if(hit!==void 0)return hit;let c=theme.color,dark=theme.brightness==="dark",neutrals=dark?{dark:dark,ink:c.text.primary,ink2:c.text.secondary,ink3:c.text.muted,paper:c.background,card:c.surface,line:c.borderRingCream,tile:c.surfaceSubtle,shadow:c.shadow,riskBg:c.badgeBgCritical,riskInk:c.danger,riskDot:c.danger,clearBg:c.badgeBgPositive,clearInk:c.success,clearDot:c.success,watchDot:c.warningStrong}:{dark:dark,...RAPH_V3_LIGHT},textOn=(ink,grounds)=>pushToContrast(ink,grounds,poleForGrounds(grounds),V3_TEXT_CONTRAST),labelOn=(ink,fill2)=>contrastRatio(ink,fill2)>=V3_TEXT_CONTRAST?ink:legibleOn(fill2,V3_TEXT_CONTRAST),badgeGrounds=[neutrals.card,neutrals.paper].map(under=>flattenOnto(c.brandSoft,under)??under),brand={primary:c.primary,onPrimary:labelOn(c.onPrimary,c.primary),accent:c.accent,onAccent:labelOn(c.onAccent,c.accent),link:textOn(c.linkInk,[neutrals.card,neutrals.paper,neutrals.tile]),badge:c.brandSoft,onBadge:textOn(c.brandInk,badgeGrounds)},palette=/* @__PURE__ */Object.freeze({...neutrals,...brand});return cache.set(theme,palette),palette}var V3_TEXT_CONTRAST=4.5;function v3InkOn(fill2,inks){for(let ink of inks)if(contrastRatio(ink,fill2)>=V3_TEXT_CONTRAST)return ink;return legibleOn(fill2,V3_TEXT_CONTRAST)}var RAPH_RECORDS_RULES=/* @__PURE__ */Object.freeze({".efh":/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",fontFamily:"$font",fontSize:"15px",lineHeight:"1.5",color:"#000000"}),".efh-pill":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",minHeight:"24px",padding:"0 10px",borderRadius:"999px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1",letterSpacing:".06em",textTransform:"uppercase",whiteSpace:"nowrap",color:"#10462E"}),".efh-pill--clear":/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#07C168",boxShadow:"inset 0 0 0 1.5px #07C168"}),".efh-pill--high":/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"}),".efh-card":/* @__PURE__ */Object.freeze({padding:"16px",background:"#FFFFFF",borderRadius:"20px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.09), 0 6px 18px -10px rgba(0, 0, 0, 0.14)"}),".efh-card__head":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px 16px",marginBottom:"12px"}),".efh-card__title":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"18px",lineHeight:"1.25",letterSpacing:"-.02em",color:"#10462E"}),".efh-card > .efh-card__title":/* @__PURE__ */Object.freeze({marginBottom:"12px"}),".efh-btn":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"48px",padding:"0 20px",borderRadius:"999px",fontWeight:"700",fontSize:"16px",lineHeight:"1",whiteSpace:"nowrap",transition:"transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 180ms ease"}),".efh-btn--ink":/* @__PURE__ */Object.freeze({background:"#10462E",color:"#FFFFFF"}),".efh-btn--row":/* @__PURE__ */Object.freeze({minHeight:"40px",padding:"0 16px",fontSize:"15px"}),".efh-latest b":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"32px",lineHeight:"1",letterSpacing:"-.02em",color:"#C03410"}),".efh-latest small":/* @__PURE__ */Object.freeze({fontSize:"15px",color:"#6B6B6B"}),".efh-wchart":/* @__PURE__ */Object.freeze({minWidth:"0",margin:"20px 0 0"}),".efh-wchart__body":/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"8px 82px minmax(0, 1fr)",columnGap:"8px"}),".efh-wchart__rail":/* @__PURE__ */Object.freeze({position:"relative",height:"148px",display:"grid",gridTemplateRows:"1fr 2fr 1fr",overflow:"hidden",borderRadius:"2px"}),".efh-wchart__legend":/* @__PURE__ */Object.freeze({position:"relative",height:"148px"}),".efh-wchart__plot":/* @__PURE__ */Object.freeze({position:"relative",height:"148px"}),".efh-wchart__rail span":/* @__PURE__ */Object.freeze({background:"#E4E4E4"}),".efh-wchart__rail span:nth-child(2)":/* @__PURE__ */Object.freeze({background:"#07C168"}),".efh-range":/* @__PURE__ */Object.freeze({position:"absolute",left:"0",right:"0",display:"flex",alignItems:"center",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.2",letterSpacing:".02em",textTransform:"uppercase",color:"#3D3D3D"}),".efh-range--over":/* @__PURE__ */Object.freeze({top:"0",height:"25%"}),".efh-range--in":/* @__PURE__ */Object.freeze({top:"25%",height:"50%"}),".efh-range--under":/* @__PURE__ */Object.freeze({top:"75%",height:"25%"}),".efh-wchart__plot svg":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0",width:"100%",height:"100%",overflow:"visible"}),".efh-wchart__band":/* @__PURE__ */Object.freeze({fill:"#DCF6EA"}),".efh-wchart__grid":/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"}),".efh-wchart__line":/* @__PURE__ */Object.freeze({fill:"none",stroke:"#000000",strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"}),".efh-draw":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0"}),".efh-wpt":/* @__PURE__ */Object.freeze({position:"absolute",width:"7px",height:"7px",translate:"-50% -50%",borderRadius:"50%",background:"#07C168",boxShadow:"0 0 0 1.5px #FFFFFF"}),".efh-wpt--lg":/* @__PURE__ */Object.freeze({width:"12px",height:"12px"}),".efh-wpt--out":/* @__PURE__ */Object.freeze({background:"#C03410"}),".efh-wval":/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"calc(100% + 4px)",translate:"-50% 0",fontWeight:"500",fontSize:"12px",lineHeight:"1",color:"#3D3D3D",whiteSpace:"nowrap"}),".efh-wval--out":/* @__PURE__ */Object.freeze({fontWeight:"700",color:"#C03410"}),".efh-wchart__x":/* @__PURE__ */Object.freeze({position:"relative",height:"18px",margin:"8px 0 0 106px"}),".efh-wchart__x span":/* @__PURE__ */Object.freeze({position:"absolute",top:"0",translate:"-50% 0",fontFamily:"$mono",fontSize:"12px",lineHeight:"1.3",color:"#6B6B6B",whiteSpace:"nowrap"}),".efh-lab":/* @__PURE__ */Object.freeze({padding:"8px 16px 96px"}),".efh-titles":/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",paddingTop:"4px"}),".efh-title":/* @__PURE__ */Object.freeze({fontWeight:"500",fontSize:"22px",lineHeight:"1.2",letterSpacing:"-.015em",color:"#10462E"}),".efh-smeta":/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"13px",lineHeight:"1.45",color:"#6B6B6B"}),".efh-latest":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px"}),".efh-chg":/* @__PURE__ */Object.freeze({marginTop:"12px",fontSize:"15px"}),".efh-chg b":/* @__PURE__ */Object.freeze({color:"#10462E"}),".efh-ctx":/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",fontSize:"17px",lineHeight:"1.55"}),".efh-mks":/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",margin:"0 -8px",padding:"0",listStyle:"none"}),".efh-mk":/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) 96px",gridTemplateRows:"auto auto",alignItems:"center",columnGap:"12px",padding:"10px 8px"}),".efh-mk__name":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"}),".efh-mk__line":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"0 6px",marginTop:"1px",fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B",fontVariantNumeric:"tabular-nums"}),".efh-mk__line b":/* @__PURE__ */Object.freeze({fontSize:"17px",color:"#000000"}),".efh-mkbar":/* @__PURE__ */Object.freeze({gridColumn:"2",gridRow:"1 / 3",position:"relative",display:"block",height:"6px",borderRadius:"999px",background:"#ECECEC"}),".efh-mkbar__in":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0 20%",borderRadius:"inherit",background:"#07C168"}),".efh-mkbar__dot":/* @__PURE__ */Object.freeze({position:"absolute",top:"50%",left:"var(--at, 50%)",width:"10px",height:"10px",translate:"-50% -50%",border:"2px solid #FFFFFF",borderRadius:"50%",background:"#10462E"}),".efh-peek .efh-mk__name":/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"}),".emb-btn":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"48px",padding:"0 22px",borderRadius:"999px",background:"#262523",color:"#fff",fontWeight:"700",fontSize:"16px",textDecoration:"none",transition:"transform 160ms cubic-bezier(0.23, 1, 0.32, 1), opacity 160ms ease"}),".emb-btn--sm":/* @__PURE__ */Object.freeze({minHeight:"40px",padding:"0 16px",fontSize:"15px"}),".dot":/* @__PURE__ */Object.freeze({display:"inline-block",width:"9px",height:"9px",borderRadius:"50%",flex:"none"}),".dot--risk":/* @__PURE__ */Object.freeze({background:"#E5372B"}),".rec-top":/* @__PURE__ */Object.freeze({display:"grid",gap:"8px",justifyItems:"start",padding:"16px 18px 18px",borderRadius:"22px",background:"#FFCE34"}),".rec-top__k":/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"7px",fontFamily:"$mono",fontSize:"10.5px",letterSpacing:".06em",textTransform:"uppercase",color:"#4A4845"}),".rec-top__t":/* @__PURE__ */Object.freeze({fontSize:"17px",fontWeight:"700",lineHeight:"1.35"}),".rec-top .emb-btn":/* @__PURE__ */Object.freeze({marginTop:"4px"}),".ph-toast":/* @__PURE__ */Object.freeze({position:"absolute",left:"16px",right:"16px",top:"112px",zIndex:"50",background:"#262523",color:"#fff",borderRadius:"16px",padding:"12px 15px",fontSize:"14.5px",lineHeight:"1.4",opacity:"0",transform:"translateY(-8px)",pointerEvents:"none",transition:"opacity 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"}),".ph-toast.is-on":/* @__PURE__ */Object.freeze({opacity:"1",transform:"none",transitionDuration:"220ms"})}),WEB_HEALTH_RULES=/* @__PURE__ */Object.freeze({".efw-root":/* @__PURE__ */Object.freeze([[10000001,/* @__PURE__ */Object.freeze({colorScheme:"light"})],[10000002,/* @__PURE__ */Object.freeze({"--efw-card-pad":"24px"})],[10000003,/* @__PURE__ */Object.freeze({fontSize:"17px",lineHeight:"1.55",margin:"0"})],[10000012,/* @__PURE__ */Object.freeze({margin:"0",fontFamily:"$font",fontSize:"17px",lineHeight:"1.55",color:"#000000",background:"#FFFFFF",WebkitFontSmoothing:"antialiased"})]]),".efw-root h2":/* @__PURE__ */Object.freeze([[10100005,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})],[10100009,/* @__PURE__ */Object.freeze({fontSize:"32px"})],[10100017,/* @__PURE__ */Object.freeze({margin:"0"})],[10100023,/* @__PURE__ */Object.freeze({color:"#10462E",fontWeight:"500"})]]),".efw-root h3":/* @__PURE__ */Object.freeze([[10100006,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})],[10100010,/* @__PURE__ */Object.freeze({fontSize:"24px"})],[10100018,/* @__PURE__ */Object.freeze({margin:"0"})],[10100024,/* @__PURE__ */Object.freeze({color:"#10462E",fontWeight:"500"})]]),".efw-root h4":/* @__PURE__ */Object.freeze([[10100007,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})]]),".efw-root small":/* @__PURE__ */Object.freeze([[10100011,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-root img":/* @__PURE__ */Object.freeze([[10100013,/* @__PURE__ */Object.freeze({display:"block",maxWidth:"100%"})]]),".efw-root a":/* @__PURE__ */Object.freeze([[10100014,/* @__PURE__ */Object.freeze({color:"inherit"})]]),".efw-root p":/* @__PURE__ */Object.freeze([[10100015,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root ul":/* @__PURE__ */Object.freeze([[10100019,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root ol":/* @__PURE__ */Object.freeze([[10100020,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root figure":/* @__PURE__ */Object.freeze([[10100021,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-visually-hidden":/* @__PURE__ */Object.freeze([[20000025,/* @__PURE__ */Object.freeze({position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"})]]),".efw-btn":/* @__PURE__ */Object.freeze([[20000026,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",borderRadius:"999px",border:"0 solid #10462E",font:"inherit",textDecoration:"none",whiteSpace:"nowrap",cursor:"pointer",touchAction:"manipulation",transition:"background-color 180ms ease, color 180ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-btn--ink":/* @__PURE__ */Object.freeze([[20000027,/* @__PURE__ */Object.freeze({minHeight:"52px",padding:"0 24px",background:"#10462E",color:"#FFFFFF",border:"1.5px solid #FFFFFF",fontSize:"17px",fontWeight:"700",lineHeight:"1"})],[20000043,/* @__PURE__ */Object.freeze({borderColor:"#10462E"})]]),".efw-btn--outline":/* @__PURE__ */Object.freeze([[20000028,/* @__PURE__ */Object.freeze({minHeight:"52px",padding:"0 24px",background:"transparent",color:"#10462E",borderWidth:"1.5px",fontSize:"17px",lineHeight:"1"})]]),".efw-ico":/* @__PURE__ */Object.freeze([[20000029,/* @__PURE__ */Object.freeze({display:"block",flex:"none",width:"24px",height:"24px"})]]),".efw-card":/* @__PURE__ */Object.freeze([[20000030,/* @__PURE__ */Object.freeze({padding:"var(--efw-card-pad)",background:"#FFFFFF",border:"1px solid #E4E4E4",borderRadius:"20px"})]]),".efw-card__head":/* @__PURE__ */Object.freeze([[20000031,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px 16px",marginBottom:"16px"})]]),".efw-card__title":/* @__PURE__ */Object.freeze([[20000032,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"20px",lineHeight:"1.25",letterSpacing:"-0.02em"})]]),".efw-card__link":/* @__PURE__ */Object.freeze([[20000033,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"15px",lineHeight:"1.4",color:"#10462E",textDecoration:"none",whiteSpace:"nowrap"})]]),".efw-pill":/* @__PURE__ */Object.freeze([[20000034,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",minHeight:"24px",padding:"0 10px",borderRadius:"999px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1",letterSpacing:"0.06em",textTransform:"uppercase",whiteSpace:"nowrap"})]]),".efw-pill--overdue":/* @__PURE__ */Object.freeze([[20000036,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"})]]),".efw-pill--soon":/* @__PURE__ */Object.freeze([[20000037,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",boxShadow:"inset 0 0 0 1.25px #F6D892"})]]),".efw-pill--later":/* @__PURE__ */Object.freeze([[20000038,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#6B6B6B",boxShadow:"inset 0 0 0 1.25px #E4E4E4"})]]),".efw-pill--clear":/* @__PURE__ */Object.freeze([[20000039,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#07C168",boxShadow:"inset 0 0 0 1.5px #07C168"})]]),".efw-pill--plain":/* @__PURE__ */Object.freeze([[20000040,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",boxShadow:"inset 0 0 0 1.5px rgba(16, 70, 46, 0.2)"})]]),".efw-btn--sm":/* @__PURE__ */Object.freeze([[20000041,/* @__PURE__ */Object.freeze({minHeight:"46px",padding:"0 16px",fontSize:"15px"})]]),".efw-btn--sm .efw-ico":/* @__PURE__ */Object.freeze([[30000042,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-card--pet":/* @__PURE__ */Object.freeze([[20000044,/* @__PURE__ */Object.freeze({overflow:"hidden",paddingBottom:"0"})]]),".efw-pet__head":/* @__PURE__ */Object.freeze([[20000045,/* @__PURE__ */Object.freeze({position:"relative",zIndex:"1",display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px"})]]),".efw-pet__name":/* @__PURE__ */Object.freeze([[20000046,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"24px",lineHeight:"1.1",letterSpacing:"-0.02em"})]]),".efw-pet__meta":/* @__PURE__ */Object.freeze([[20000047,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",letterSpacing:"0.02em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-stage":/* @__PURE__ */Object.freeze([[20000049,/* @__PURE__ */Object.freeze({position:"relative",aspectRatio:"16 / 9",margin:"calc(8px * -1) calc(var(--efw-card-pad) * -1) 0"})]]),".efw-stage__grass":/* @__PURE__ */Object.freeze([[20000050,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",bottom:"0",width:"100%",height:"40%",objectFit:"cover",objectPosition:"50% 0"})]]),".efw-stage__pet":/* @__PURE__ */Object.freeze([[20000051,/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"7%",height:"88%",width:"auto",maxWidth:"none",translate:"-50% 0"})]]),".efw-stage__info":/* @__PURE__ */Object.freeze([[20000052,/* @__PURE__ */Object.freeze({position:"absolute",top:"10%",left:"var(--efw-card-pad)",display:"grid",gap:"16px",maxWidth:"38%"})]]),".efw-vitals":/* @__PURE__ */Object.freeze([[20000053,/* @__PURE__ */Object.freeze({display:"grid",gap:"14px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-vitals li":/* @__PURE__ */Object.freeze([[20100054,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"10px"})]]),".efw-vitals .efw-ico":/* @__PURE__ */Object.freeze([[30000055,/* @__PURE__ */Object.freeze({width:"28px",height:"28px"})]]),".efw-vitals b":/* @__PURE__ */Object.freeze([[20100056,/* @__PURE__ */Object.freeze({fontSize:"24px",lineHeight:"1",letterSpacing:"-0.02em",color:"#000000"})]]),".efw-vitals small":/* @__PURE__ */Object.freeze([[20100057,/* @__PURE__ */Object.freeze({fontWeight:"500",fontSize:"13px",color:"#6B6B6B"})]]),".efw-ico--thermo":/* @__PURE__ */Object.freeze([[20000058,/* @__PURE__ */Object.freeze({color:"#10462E"})]]),".efw-ico--heart":/* @__PURE__ */Object.freeze([[20000059,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-ico--wind":/* @__PURE__ */Object.freeze([[20000060,/* @__PURE__ */Object.freeze({color:"#4E98C9"})]]),".efw-tiles":/* @__PURE__ */Object.freeze([[20000061,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:"16px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-tile":/* @__PURE__ */Object.freeze([[20000062,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateRows:"auto 1fr auto",gap:"12px",minHeight:"164px",padding:"24px",borderRadius:"20px",color:"#10462E",textDecoration:"none",boxShadow:"inset 0 0 0 1px transparent",transition:"box-shadow 150ms ease"})]]),".efw-tile--sage":/* @__PURE__ */Object.freeze([[20000063,/* @__PURE__ */Object.freeze({background:"#E6ECE8"})]]),".efw-tile--pink":/* @__PURE__ */Object.freeze([[20000064,/* @__PURE__ */Object.freeze({background:"#FFEAE8"})]]),".efw-tile--blue":/* @__PURE__ */Object.freeze([[20000065,/* @__PURE__ */Object.freeze({background:"#EAEEF6"})]]),".efw-tile--yellow":/* @__PURE__ */Object.freeze([[20000066,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-tile__top":/* @__PURE__ */Object.freeze([[20000067,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"flex-start",justifyContent:"space-between"})]]),".efw-tile__top .efw-ico":/* @__PURE__ */Object.freeze([[30000068,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#10462E"})]]),".efw-tile__top .efw-ico--chev":/* @__PURE__ */Object.freeze([[30000069,/* @__PURE__ */Object.freeze({width:"20px",height:"20px",color:"#819E90"})]]),".efw-tile__title":/* @__PURE__ */Object.freeze([[20000070,/* @__PURE__ */Object.freeze({alignSelf:"end",fontWeight:"700",fontSize:"17px",lineHeight:"1.25",letterSpacing:"-0.01em"})]]),".efw-tile__foot":/* @__PURE__ */Object.freeze([[20000071,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"8px",minHeight:"28px"})]]),".efw-tile__num":/* @__PURE__ */Object.freeze([[20000072,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"24px",lineHeight:"1",letterSpacing:"-0.02em"})]]),".efw-tile__unit":/* @__PURE__ */Object.freeze([[20000073,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-card--pink":/* @__PURE__ */Object.freeze([[20000074,/* @__PURE__ */Object.freeze({background:"#FFF6F5",scrollMarginTop:"calc(72px + 16px)"})],[20000075,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column"})]]),".efw-add":/* @__PURE__ */Object.freeze([[20000076,/* @__PURE__ */Object.freeze({flex:"1",display:"flex",flexDirection:"column",gap:"12px"})]]),".efw-add__head":/* @__PURE__ */Object.freeze([[20000077,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"})]]),".efw-add__head .efw-ico":/* @__PURE__ */Object.freeze([[30000078,/* @__PURE__ */Object.freeze({width:"26px",height:"26px",color:"#C03410"})]]),".efw-add p":/* @__PURE__ */Object.freeze([[20100079,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-add .efw-btn":/* @__PURE__ */Object.freeze([[30000080,/* @__PURE__ */Object.freeze({width:"100%"})]]),".efw-add__actions":/* @__PURE__ */Object.freeze([[20000081,/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",marginTop:"auto",paddingTop:"4px"})]]),".efw-sources":/* @__PURE__ */Object.freeze([[20000082,/* @__PURE__ */Object.freeze({display:"grid",gap:"6px",margin:"4px 0 0",padding:"0",listStyle:"none"})]]),".efw-sources li":/* @__PURE__ */Object.freeze([[20100083,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"0 12px",padding:"10px 14px",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.4"})]]),".efw-sources li span:last-child":/* @__PURE__ */Object.freeze([[30200084,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-card--pink .efw-btn--outline":/* @__PURE__ */Object.freeze([[30000085,/* @__PURE__ */Object.freeze({background:"#FFFFFF",borderWidth:"1.5px",fontWeight:"700"})]]),".efw-wt__num":/* @__PURE__ */Object.freeze([[20000086,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"baseline",gap:"8px",marginBottom:"16px"})]]),".efw-wt__num b":/* @__PURE__ */Object.freeze([[20100087,/* @__PURE__ */Object.freeze({fontSize:"32px",lineHeight:"1",letterSpacing:"-0.02em",color:"#10462E"})]]),".efw-wt__num span":/* @__PURE__ */Object.freeze([[20100088,/* @__PURE__ */Object.freeze({fontSize:"15px",color:"#6B6B6B"})]]),".efw-wchart":/* @__PURE__ */Object.freeze([[20000089,/* @__PURE__ */Object.freeze({"--efw-plot-h":"176px",minWidth:"0"})]]),".efw-wchart__body":/* @__PURE__ */Object.freeze([[20000090,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"8px 64px minmax(0, 1fr)",columnGap:"8px"})]]),".efw-wchart__rail":/* @__PURE__ */Object.freeze([[20000091,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})],[20000094,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateRows:"1fr 2fr 1fr",overflow:"hidden",borderRadius:"2px"})]]),".efw-wchart__legend":/* @__PURE__ */Object.freeze([[20000092,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})]]),".efw-wchart__plot":/* @__PURE__ */Object.freeze([[20000093,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})]]),".efw-wchart__rail span":/* @__PURE__ */Object.freeze([[20100095,/* @__PURE__ */Object.freeze({background:"#E4E4E4"})]]),".efw-wchart__rail span:nth-child(2)":/* @__PURE__ */Object.freeze([[30100096,/* @__PURE__ */Object.freeze({background:"#07C168"})]]),".efw-range":/* @__PURE__ */Object.freeze([[20000097,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",right:"0",display:"flex",alignItems:"center",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.2",letterSpacing:"0.02em",textTransform:"uppercase",color:"#3D3D3D"})]]),".efw-range--over":/* @__PURE__ */Object.freeze([[20000098,/* @__PURE__ */Object.freeze({top:"0",height:"25%"})]]),".efw-range--in":/* @__PURE__ */Object.freeze([[20000099,/* @__PURE__ */Object.freeze({top:"25%",height:"50%"})]]),".efw-range--under":/* @__PURE__ */Object.freeze([[20000100,/* @__PURE__ */Object.freeze({top:"75%",height:"25%"})]]),".efw-wchart__plot svg":/* @__PURE__ */Object.freeze([[20100101,/* @__PURE__ */Object.freeze({position:"absolute",inset:"0",width:"100%",height:"100%",overflow:"visible"})]]),".efw-wchart__band":/* @__PURE__ */Object.freeze([[20000102,/* @__PURE__ */Object.freeze({fill:"#DCF6EA"})]]),".efw-wchart__grid":/* @__PURE__ */Object.freeze([[20000103,/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__drop":/* @__PURE__ */Object.freeze([[20000104,/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__line":/* @__PURE__ */Object.freeze([[20000105,/* @__PURE__ */Object.freeze({fill:"none",stroke:"#000000",strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__pt":/* @__PURE__ */Object.freeze([[20000106,/* @__PURE__ */Object.freeze({position:"absolute",width:"11px",height:"11px",translate:"-50% -50%",border:"1.5px solid #FFFFFF",borderRadius:"50%",background:"#07C168"})]]),".efw-wchart__pt--low":/* @__PURE__ */Object.freeze([[20000107,/* @__PURE__ */Object.freeze({background:"#F2C763"})]]),".efw-wchart__val":/* @__PURE__ */Object.freeze([[20000108,/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"calc(100% + 4px)",translate:"-50% 0",fontWeight:"500",fontSize:"12px",lineHeight:"1",color:"#3D3D3D",whiteSpace:"nowrap"})]]),".efw-wchart__pt--below .efw-wchart__val":/* @__PURE__ */Object.freeze([[30000109,/* @__PURE__ */Object.freeze({bottom:"auto",top:"calc(100% + 4px)"})]]),".efw-wchart__x":/* @__PURE__ */Object.freeze([[20000110,/* @__PURE__ */Object.freeze({position:"relative",height:"18px",margin:"8px 0 0 calc(8px + 64px + 8px * 2)"})]]),".efw-wchart__x span":/* @__PURE__ */Object.freeze([[20100111,/* @__PURE__ */Object.freeze({position:"absolute",top:"0",translate:"-50% 0",fontFamily:"$mono",fontSize:"12px",lineHeight:"1.3",color:"#6B6B6B",whiteSpace:"nowrap"})]]),".efw-due":/* @__PURE__ */Object.freeze([[20000113,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-due li":/* @__PURE__ */Object.freeze([[20100114,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"10px"})]]),".efw-due li > .efw-ico":/* @__PURE__ */Object.freeze([[30100115,/* @__PURE__ */Object.freeze({width:"20px",height:"20px",color:"#6B6B6B"})]]),".efw-due li.efw-is-alert":/* @__PURE__ */Object.freeze([[30100116,/* @__PURE__ */Object.freeze({background:"#FBF1EE"})]]),".efw-due li.efw-is-alert > .efw-ico":/* @__PURE__ */Object.freeze([[40100117,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-due__text":/* @__PURE__ */Object.freeze([[20000118,/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",minWidth:"0"})]]),".efw-due__title":/* @__PURE__ */Object.freeze([[20000119,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-is-alert .efw-due__title":/* @__PURE__ */Object.freeze([[30000120,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-due__when":/* @__PURE__ */Object.freeze([[20000121,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B"})]]),".efw-is-alert .efw-due__when":/* @__PURE__ */Object.freeze([[30000122,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-max1279 .efw-stage":/* @__PURE__ */Object.freeze([[20000124,/* @__PURE__ */Object.freeze({aspectRatio:"16 / 10"})]]),".efw-max1279 .efw-tiles":/* @__PURE__ */Object.freeze([[20000125,/* @__PURE__ */Object.freeze({gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:"12px"})]]),".efw-max559 .efw-root":/* @__PURE__ */Object.freeze([[10000126,/* @__PURE__ */Object.freeze({"--efw-card-pad":"18px"})]]),".efw-max559 .efw-stage":/* @__PURE__ */Object.freeze([[20000128,/* @__PURE__ */Object.freeze({aspectRatio:"5 / 4"})]]),".efw-max559 .efw-stage__info":/* @__PURE__ */Object.freeze([[20000129,/* @__PURE__ */Object.freeze({top:"16px",right:"var(--efw-card-pad)",maxWidth:"none",gap:"8px"})]]),".efw-max559 .efw-vitals":/* @__PURE__ */Object.freeze([[20000130,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",gap:"4px 12px"})]]),".efw-max559 .efw-vitals li":/* @__PURE__ */Object.freeze([[20100131,/* @__PURE__ */Object.freeze({gap:"6px"})]]),".efw-max559 .efw-vitals .efw-ico":/* @__PURE__ */Object.freeze([[30000132,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-max559 .efw-vitals b":/* @__PURE__ */Object.freeze([[20100133,/* @__PURE__ */Object.freeze({fontSize:"17px"})]]),".efw-max559 .efw-stage__pet":/* @__PURE__ */Object.freeze([[20000134,/* @__PURE__ */Object.freeze({height:"72%"})]]),".efw-max559 .efw-due li":/* @__PURE__ */Object.freeze([[20100135,/* @__PURE__ */Object.freeze({gap:"8px 12px"})]]),".efw-max559 .efw-tiles":/* @__PURE__ */Object.freeze([[20000136,/* @__PURE__ */Object.freeze({gap:"10px"})]]),".efw-max559 .efw-tile":/* @__PURE__ */Object.freeze([[20000137,/* @__PURE__ */Object.freeze({minHeight:"0",gap:"8px",padding:"16px"})]]),".efw-max559 .efw-tile__title":/* @__PURE__ */Object.freeze([[20000138,/* @__PURE__ */Object.freeze({fontSize:"15px"})]]),".efw-max559 .efw-tile__num":/* @__PURE__ */Object.freeze([[20000139,/* @__PURE__ */Object.freeze({fontSize:"20px"})]]),".efw-max559 .efw-wchart":/* @__PURE__ */Object.freeze([[20000140,/* @__PURE__ */Object.freeze({"--efw-plot-h":"148px"})]]),".efw-rec":/* @__PURE__ */Object.freeze([[20000141,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-rec > li.efw-rec__row":/* @__PURE__ */Object.freeze([[30100143,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"10px",color:"inherit",textDecoration:"none"})]]),".efw-rec--plain > li.efw-rec__row":/* @__PURE__ */Object.freeze([[30100145,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-rec__text":/* @__PURE__ */Object.freeze([[20000147,/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",minWidth:"0"})]]),".efw-rec__title":/* @__PURE__ */Object.freeze([[20000148,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-rec__meta":/* @__PURE__ */Object.freeze([[20000149,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B"})]]),".efw-pill--high":/* @__PURE__ */Object.freeze([[20000157,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"})]]),".efw-markers":/* @__PURE__ */Object.freeze([[20000158,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-marker":/* @__PURE__ */Object.freeze([[20000159,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(88px, 148px) 116px",alignItems:"center",gap:"16px",padding:"12px",borderRadius:"10px",color:"inherit",textDecoration:"none"})]]),".efw-marker.efw-is-alert":/* @__PURE__ */Object.freeze([[30000160,/* @__PURE__ */Object.freeze({background:"#FBF1EE"})]]),".efw-marker__name":/* @__PURE__ */Object.freeze([[20000161,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"4px 8px",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-marker__val":/* @__PURE__ */Object.freeze([[20000163,/* @__PURE__ */Object.freeze({textAlign:"right",whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"})]]),".efw-marker__val b":/* @__PURE__ */Object.freeze([[20100164,/* @__PURE__ */Object.freeze({fontSize:"17px",color:"#000000"})]]),".efw-marker__val small":/* @__PURE__ */Object.freeze([[20100165,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-marker.efw-is-alert .efw-marker__val b":/* @__PURE__ */Object.freeze([[40100166,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-rbar":/* @__PURE__ */Object.freeze([[20000167,/* @__PURE__ */Object.freeze({position:"relative",height:"8px",borderRadius:"999px",background:"#ECECEC"})]]),".efw-rbar__in":/* @__PURE__ */Object.freeze([[20000168,/* @__PURE__ */Object.freeze({position:"absolute",top:"0",bottom:"0",left:"20%",right:"20%",borderRadius:"inherit",background:"#07C168"})]]),".efw-rbar__dot":/* @__PURE__ */Object.freeze([[20000169,/* @__PURE__ */Object.freeze({position:"absolute",top:"50%",left:"var(--efw-at, 50%)",width:"12px",height:"12px",translate:"-50% -50%",border:"2px solid #FFFFFF",borderRadius:"50%",background:"#10462E"})]]),".efw-is-alert .efw-rbar__dot":/* @__PURE__ */Object.freeze([[30000170,/* @__PURE__ */Object.freeze({background:"#C03410"})]]),".efw-tl":/* @__PURE__ */Object.freeze([[20000172,/* @__PURE__ */Object.freeze({margin:"0",padding:"0",listStyle:"none"})]]),".efw-tl__year":/* @__PURE__ */Object.freeze([[20000173,/* @__PURE__ */Object.freeze({margin:"32px 0 12px 40px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.4",letterSpacing:"0.06em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-tl__year:first-child":/* @__PURE__ */Object.freeze([[30000174,/* @__PURE__ */Object.freeze({marginTop:"0"})]]),".efw-tl__item":/* @__PURE__ */Object.freeze([[20000175,/* @__PURE__ */Object.freeze({position:"relative",display:"grid",gridTemplateColumns:"24px minmax(0, 1fr)",gap:"16px",paddingBottom:"24px"})]]),".efw-tl__item::before":/* @__PURE__ */Object.freeze([[20100176,/* @__PURE__ */Object.freeze({content:'""',position:"absolute",left:"11px",top:"20px",bottom:"-4px",width:"2px",borderRadius:"1px",background:"#E4E4E4"})]]),".efw-tl__item:last-child::before":/* @__PURE__ */Object.freeze([[30100177,/* @__PURE__ */Object.freeze({bottom:"12px"})]]),".efw-tl__item:has(+ .efw-tl__year)::before":/* @__PURE__ */Object.freeze([[30100178,/* @__PURE__ */Object.freeze({bottom:"12px"})]]),".efw-tl__dot":/* @__PURE__ */Object.freeze([[20000179,/* @__PURE__ */Object.freeze({width:"16px",height:"16px",margin:"3px 4px 0",border:"3px solid #10462E",borderRadius:"50%",background:"#FFFFFF"})]]),".efw-tl__item.efw-is-alert .efw-tl__dot":/* @__PURE__ */Object.freeze([[40000181,/* @__PURE__ */Object.freeze({borderColor:"#C03410"})]]),".efw-tl__date":/* @__PURE__ */Object.freeze([[20000182,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",lineHeight:"1.4",letterSpacing:"0.04em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-tl__title":/* @__PURE__ */Object.freeze([[20000183,/* @__PURE__ */Object.freeze({marginTop:"2px",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-tl__item.efw-is-alert .efw-tl__title":/* @__PURE__ */Object.freeze([[40000184,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-tl__text":/* @__PURE__ */Object.freeze([[20000185,/* @__PURE__ */Object.freeze({marginTop:"2px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-doc":/* @__PURE__ */Object.freeze([[20000187,/* @__PURE__ */Object.freeze({display:"grid",gap:"8px",padding:"24px",border:"1px solid #E4E4E4",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.5"})]]),".efw-doc__head":/* @__PURE__ */Object.freeze([[20000188,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px"})]]),".efw-doc__page":/* @__PURE__ */Object.freeze([[20000189,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",color:"#6B6B6B"})]]),".efw-doc__who":/* @__PURE__ */Object.freeze([[20000190,/* @__PURE__ */Object.freeze({fontWeight:"700"})]]),".efw-pop":/* @__PURE__ */Object.freeze([[20000191,/* @__PURE__ */Object.freeze({position:"relative",justifySelf:"start"})]]),".efw-pop__btn":/* @__PURE__ */Object.freeze([[20000192,/* @__PURE__ */Object.freeze({position:"relative",display:"grid",placeItems:"center",width:"20px",height:"20px",padding:"0",border:"0",borderRadius:"50%",background:"#4E98C9",color:"#FFFFFF",cursor:"pointer",touchAction:"manipulation",transition:"background-color 150ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-pop__btn .efw-ico":/* @__PURE__ */Object.freeze([[30000193,/* @__PURE__ */Object.freeze({width:"14px",height:"14px"})]]),'.efw-pop__btn[aria-expanded="true"]':/* @__PURE__ */Object.freeze([[30000194,/* @__PURE__ */Object.freeze({background:"#3E7AA1"})]]),".efw-pop__card":/* @__PURE__ */Object.freeze([[20000195,/* @__PURE__ */Object.freeze({position:"absolute",zIndex:"5",top:"calc(100% + 8px)",right:"-8px",width:"max-content",maxWidth:"min(240px, 60vw)",padding:"10px 14px",border:"1px solid #B5C1BC",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.45",color:"#000000",transformOrigin:"right top",visibility:"hidden",opacity:"0",transform:"scale(0.96)",transition:"opacity 150ms cubic-bezier(0.23, 1, 0.32, 1), transform 150ms cubic-bezier(0.23, 1, 0.32, 1), visibility 0s linear 150ms"})]]),".efw-pop__card.efw-is-open":/* @__PURE__ */Object.freeze([[30000196,/* @__PURE__ */Object.freeze({visibility:"visible",opacity:"1",transform:"none",transitionDelay:"0s"})]]),".efw-pop__card a":/* @__PURE__ */Object.freeze([[20100197,/* @__PURE__ */Object.freeze({fontWeight:"700",color:"#10462E",textUnderlineOffset:"3px"})]]),".efw-pet__head .efw-pop":/* @__PURE__ */Object.freeze([[30000198,/* @__PURE__ */Object.freeze({alignSelf:"center"})]]),".efw-max559 .efw-marker":/* @__PURE__ */Object.freeze([[20000199,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-max559 .efw-marker .efw-rbar":/* @__PURE__ */Object.freeze([[30000200,/* @__PURE__ */Object.freeze({gridColumn:"1 / -1",gridRow:"2"})]]),".efw-max559 .efw-doc":/* @__PURE__ */Object.freeze([[20000201,/* @__PURE__ */Object.freeze({padding:"16px"})]]),".efw-max559 .efw-pet__head .efw-pop__card":/* @__PURE__ */Object.freeze([[30000202,/* @__PURE__ */Object.freeze({right:"auto",left:"-8px",transformOrigin:"left top"})]]),".efw-scroller":/* @__PURE__ */Object.freeze([[20000203,/* @__PURE__ */Object.freeze({position:"relative",minWidth:"0",maxWidth:"100%"})]]),".efw-scroller__track":/* @__PURE__ */Object.freeze([[20000204,/* @__PURE__ */Object.freeze({position:"relative",overflowX:"auto",overscrollBehaviorX:"contain",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-hero":/* @__PURE__ */Object.freeze([[30000205,/* @__PURE__ */Object.freeze({"--efw-grass-h":"88px",position:"relative",display:"grid",gridTemplateColumns:"minmax(0, 1.6fr) minmax(0, 1fr)",columnGap:"32px",marginTop:"32px",padding:"32px 32px 0",overflow:"hidden",scrollMarginTop:"calc(72px + 16px)"})]]),".efw-page--health-empty .efw-hero__grass":/* @__PURE__ */Object.freeze([[30000206,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",bottom:"0",width:"100%",height:"var(--efw-grass-h)",objectFit:"cover",objectPosition:"50% 0"})]]),".efw-page--health-empty .efw-hero__copy":/* @__PURE__ */Object.freeze([[30000207,/* @__PURE__ */Object.freeze({position:"relative",zIndex:"1",paddingBottom:"calc(var(--efw-grass-h) + 24px)"})]]),".efw-page--health-empty .efw-hero__title":/* @__PURE__ */Object.freeze([[30000208,/* @__PURE__ */Object.freeze({fontSize:"clamp(24px, 2vw, 28px)",lineHeight:"1.15",letterSpacing:"-0.02em",textWrap:"balance"})]]),".efw-page--health-empty .efw-hero__lead":/* @__PURE__ */Object.freeze([[30000209,/* @__PURE__ */Object.freeze({maxWidth:"560px",marginTop:"8px",fontSize:"17px",lineHeight:"1.5",textWrap:"pretty"})]]),".efw-page--health-empty .efw-hero__scene":/* @__PURE__ */Object.freeze([[30000210,/* @__PURE__ */Object.freeze({position:"relative",minHeight:"220px"})]]),".efw-page--health-empty .efw-evie":/* @__PURE__ */Object.freeze([[30000211,/* @__PURE__ */Object.freeze({"--efw-say-room":"84px",position:"absolute",left:"50%",bottom:"calc(var(--efw-grass-h) * 0.3)",height:"min(calc(100% - var(--efw-say-room)), 300px)",aspectRatio:"720 / 1119",translate:"-50% 0",containerType:"inline-size"})]]),".efw-page--health-empty .efw-evie__img":/* @__PURE__ */Object.freeze([[30000212,/* @__PURE__ */Object.freeze({display:"block",width:"100%",height:"100%"})]]),".efw-page--health-empty .efw-say":/* @__PURE__ */Object.freeze([[30000213,/* @__PURE__ */Object.freeze({position:"absolute",left:"var(--efw-head-x)",bottom:"calc(100% - var(--efw-head-top) + 2px)",width:"clamp(184px, 110cqw, 250px)",height:"auto",translate:"-62% 0",overflow:"visible"})]]),".efw-page--health-empty .efw-say text":/* @__PURE__ */Object.freeze([[30100214,/* @__PURE__ */Object.freeze({fontFamily:'"Caveat", $font',fontWeight:"500",fontSize:"22px",fill:"#10462E"})]]),".efw-page--health-empty .efw-say__p":/* @__PURE__ */Object.freeze([[30000215,/* @__PURE__ */Object.freeze({opacity:"0"})]]),".efw-page--health-empty .efw-say__still":/* @__PURE__ */Object.freeze([[30000216,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-page--health-empty .efw-ways":/* @__PURE__ */Object.freeze([[30000217,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:"12px",marginTop:"24px"})]]),".efw-page--health-empty .efw-way":/* @__PURE__ */Object.freeze([[30000218,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column",gap:"6px",padding:"24px",borderRadius:"20px",textDecoration:"none",touchAction:"manipulation",transition:"background-color 180ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-way > .efw-ico":/* @__PURE__ */Object.freeze([[40000219,/* @__PURE__ */Object.freeze({width:"26px",height:"26px",marginBottom:"8px"})]]),".efw-page--health-empty .efw-way__title":/* @__PURE__ */Object.freeze([[30000220,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-way__text":/* @__PURE__ */Object.freeze([[30000221,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-way__go":/* @__PURE__ */Object.freeze([[30000222,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",gap:"2px",marginTop:"auto",paddingTop:"12px",fontWeight:"700",fontSize:"15px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-way__go .efw-ico":/* @__PURE__ */Object.freeze([[40000223,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-page--health-empty .efw-way--ink":/* @__PURE__ */Object.freeze([[30000224,/* @__PURE__ */Object.freeze({background:"#10462E",color:"#FFFFFF"})]]),".efw-page--health-empty .efw-way--ink .efw-way__go .efw-ico":/* @__PURE__ */Object.freeze([[50000225,/* @__PURE__ */Object.freeze({color:"#07C168"})]]),".efw-page--health-empty .efw-way--drop":/* @__PURE__ */Object.freeze([[30000226,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",border:"1.5px dashed #10462E"})]]),".efw-page--health-empty .efw-way--drop .efw-way__text":/* @__PURE__ */Object.freeze([[40000227,/* @__PURE__ */Object.freeze({color:"#000000"})]]),".efw-page--health-empty .efw-peek":/* @__PURE__ */Object.freeze([[30000228,/* @__PURE__ */Object.freeze({marginTop:"48px"})]]),".efw-page--health-empty .efw-peek__head":/* @__PURE__ */Object.freeze([[30000229,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"8px 12px"})]]),".efw-page--health-empty .efw-peek__lead":/* @__PURE__ */Object.freeze([[30000230,/* @__PURE__ */Object.freeze({maxWidth:"720px",marginTop:"8px",fontSize:"17px",lineHeight:"1.5",textWrap:"pretty"})]]),".efw-page--health-empty .efw-labs":/* @__PURE__ */Object.freeze([[30000231,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gridTemplateAreas:'"head head" "groups nav" "car car"',alignItems:"center",columnGap:"12px",marginTop:"24px"})]]),".efw-page--health-empty .efw-labs__head":/* @__PURE__ */Object.freeze([[30000232,/* @__PURE__ */Object.freeze({gridArea:"head",display:"flex",alignItems:"center",gap:"8px"})]]),".efw-page--health-empty .efw-labs__head .efw-ico":/* @__PURE__ */Object.freeze([[40000233,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#C03410"})]]),".efw-page--health-empty .efw-labs__groups":/* @__PURE__ */Object.freeze([[30000234,/* @__PURE__ */Object.freeze({gridArea:"groups",margin:"10px -6px -6px"})]]),".efw-page--health-empty .efw-groups":/* @__PURE__ */Object.freeze([[30000235,/* @__PURE__ */Object.freeze({display:"flex",gap:"8px",minWidth:"0",padding:"6px",overflowX:"auto",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-group":/* @__PURE__ */Object.freeze([[30000236,/* @__PURE__ */Object.freeze({flex:"none",minHeight:"40px",padding:"0 16px",border:"1.5px solid #E4E4E4",borderRadius:"999px",background:"#FFFFFF",color:"#10462E",font:"inherit",fontSize:"15px",fontWeight:"500",lineHeight:"1",whiteSpace:"nowrap",cursor:"pointer",touchAction:"manipulation",transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease"})]]),".efw-page--health-empty .efw-group[aria-current]":/* @__PURE__ */Object.freeze([[40000237,/* @__PURE__ */Object.freeze({borderColor:"#10462E",background:"#10462E",color:"#FFFFFF"})]]),".efw-page--health-empty .efw-arrows":/* @__PURE__ */Object.freeze([[30000238,/* @__PURE__ */Object.freeze({gridArea:"nav",display:"flex",gap:"8px",marginTop:"16px"})]]),".efw-page--health-empty .efw-arrow":/* @__PURE__ */Object.freeze([[30000239,/* @__PURE__ */Object.freeze({display:"grid",placeItems:"center",width:"44px",height:"44px",padding:"0",border:"1.5px solid #E4E4E4",borderRadius:"50%",background:"#FFFFFF",color:"#10462E",cursor:"pointer",touchAction:"manipulation",transition:"border-color 150ms ease, opacity 150ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-arrow .efw-ico":/* @__PURE__ */Object.freeze([[40000240,/* @__PURE__ */Object.freeze({width:"22px",height:"22px"})]]),".efw-page--health-empty .efw-arrow--prev .efw-ico":/* @__PURE__ */Object.freeze([[40000241,/* @__PURE__ */Object.freeze({rotate:"180deg"})]]),".efw-page--health-empty .efw-arrow:disabled":/* @__PURE__ */Object.freeze([[40000242,/* @__PURE__ */Object.freeze({opacity:"0.35",cursor:"default"})]]),".efw-page--health-empty .efw-car__track":/* @__PURE__ */Object.freeze([[30000243,/* @__PURE__ */Object.freeze({gridArea:"car",display:"flex",gap:"32px",marginTop:"24px",overflowX:"auto",overscrollBehaviorX:"contain",scrollSnapType:"x mandatory",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-slide":/* @__PURE__ */Object.freeze([[30000244,/* @__PURE__ */Object.freeze({flex:"0 0 100%",display:"grid",gridTemplateColumns:"minmax(0, 1.45fr) minmax(0, 1fr)",alignItems:"start",gap:"32px",scrollSnapAlign:"start",scrollSnapStop:"always"})]]),".efw-page--health-empty .efw-slide__title":/* @__PURE__ */Object.freeze([[30000245,/* @__PURE__ */Object.freeze({margin:"0",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-page--health-empty .efw-slide__lead":/* @__PURE__ */Object.freeze([[30000246,/* @__PURE__ */Object.freeze({margin:"2px 0 12px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-marker":/* @__PURE__ */Object.freeze([[30000247,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) minmax(80px, 120px) 92px",transition:"background-color 150ms ease"})]]),".efw-page--health-empty .efw-marker__what":/* @__PURE__ */Object.freeze([[30000248,/* @__PURE__ */Object.freeze({display:"block",flexBasis:"100%",fontWeight:"400",fontSize:"15px",lineHeight:"1.45",color:"#6B6B6B"})]]),".efw-page--health-empty .efw-marker.efw-is-lit":/* @__PURE__ */Object.freeze([[40000249,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-page--health-empty .efw-flag > summary":/* @__PURE__ */Object.freeze([[30100250,/* @__PURE__ */Object.freeze({listStyle:"none",cursor:"pointer"})]]),".efw-page--health-empty .efw-flag[open]":/* @__PURE__ */Object.freeze([[40000251,/* @__PURE__ */Object.freeze({borderRadius:"10px",background:"#FBF1EE"})]]),".efw-page--health-empty .efw-flag__note":/* @__PURE__ */Object.freeze([[30000252,/* @__PURE__ */Object.freeze({display:"grid",justifyItems:"start",gap:"8px",padding:"0 12px 12px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-flag__note b":/* @__PURE__ */Object.freeze([[30100253,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-page--health-empty .efw-from > summary":/* @__PURE__ */Object.freeze([[30100254,/* @__PURE__ */Object.freeze({listStyle:"none",cursor:"pointer"})]]),".efw-page--health-empty .efw-from__cap":/* @__PURE__ */Object.freeze([[30000255,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"6px",width:"fit-content",marginBottom:"8px",fontWeight:"700",fontSize:"14px",lineHeight:"1.4",color:"#10462E"})]]),".efw-page--health-empty .efw-from:not([open]) .efw-from__cap":/* @__PURE__ */Object.freeze([[50000256,/* @__PURE__ */Object.freeze({marginBottom:"0"})]]),".efw-page--health-empty .efw-from__cap .efw-ico":/* @__PURE__ */Object.freeze([[40000257,/* @__PURE__ */Object.freeze({width:"16px",height:"16px",color:"#819E90"})]]),".efw-page--health-empty .efw-from__cap .efw-from__chev":/* @__PURE__ */Object.freeze([[40000258,/* @__PURE__ */Object.freeze({width:"18px",height:"18px",color:"#10462E",transition:"rotate 200ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-from[open] .efw-from__chev":/* @__PURE__ */Object.freeze([[50000259,/* @__PURE__ */Object.freeze({rotate:"90deg"})]]),".efw-page--health-empty .efw-from .efw-doc":/* @__PURE__ */Object.freeze([[40000260,/* @__PURE__ */Object.freeze({gap:"4px",padding:"16px"})]]),".efw-page--health-empty .efw-lab":/* @__PURE__ */Object.freeze([[30000261,/* @__PURE__ */Object.freeze({width:"100%",borderCollapse:"separate",borderSpacing:"0 3px",fontFamily:"$mono",fontSize:"13px",lineHeight:"1.35",fontVariantNumeric:"tabular-nums"})]]),".efw-page--health-empty .efw-lab th":/* @__PURE__ */Object.freeze([[30100262,/* @__PURE__ */Object.freeze({padding:"0 8px 2px",fontWeight:"400",fontSize:"12px",letterSpacing:"0.04em",textTransform:"uppercase",color:"#6B6B6B",textAlign:"left"})]]),".efw-page--health-empty .efw-lab td":/* @__PURE__ */Object.freeze([[30100263,/* @__PURE__ */Object.freeze({padding:"5px 8px",whiteSpace:"nowrap",transition:"background-color 150ms ease"})]]),".efw-page--health-empty .efw-lab tr[data-line] td":/* @__PURE__ */Object.freeze([[40200264,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-page--health-empty .efw-lab tr[data-line] td:first-child":/* @__PURE__ */Object.freeze([[50200265,/* @__PURE__ */Object.freeze({borderRadius:"6px 0 0 6px"})]]),".efw-page--health-empty .efw-lab tr[data-line] td:last-child":/* @__PURE__ */Object.freeze([[50200266,/* @__PURE__ */Object.freeze({borderRadius:"0 6px 6px 0"})]]),".efw-page--health-empty .efw-lab tr.efw-is-lit td":/* @__PURE__ */Object.freeze([[40200267,/* @__PURE__ */Object.freeze({background:"#F6D892"})]]),".efw-page--health-empty .efw-more":/* @__PURE__ */Object.freeze([[30000268,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:"16px",margin:"16px 0 0",padding:"0",listStyle:"none"})]]),".efw-page--health-empty .efw-more > li":/* @__PURE__ */Object.freeze([[30100269,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column",gap:"12px",padding:"24px",borderRadius:"20px"})]]),".efw-page--health-empty .efw-more__head":/* @__PURE__ */Object.freeze([[30000270,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"})]]),".efw-page--health-empty .efw-more__head .efw-ico":/* @__PURE__ */Object.freeze([[40000271,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#10462E"})]]),".efw-page--health-empty .efw-more__title":/* @__PURE__ */Object.freeze([[30000272,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-more__lead":/* @__PURE__ */Object.freeze([[30000273,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-more__rows":/* @__PURE__ */Object.freeze([[30000274,/* @__PURE__ */Object.freeze({display:"grid",gap:"6px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-page--health-empty .efw-more__rows li":/* @__PURE__ */Object.freeze([[30100275,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"4px 12px",minHeight:"44px",padding:"8px 14px",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.4"})]]),".efw-page--health-empty .efw-more__when":/* @__PURE__ */Object.freeze([[30000276,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",letterSpacing:"0.02em",color:"#6B6B6B",whiteSpace:"nowrap"})]]),".efw-max1279 .efw-page--health-empty .efw-ways":/* @__PURE__ */Object.freeze([[30000277,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)"})]]),".efw-max1279 .efw-page--health-empty .efw-more":/* @__PURE__ */Object.freeze([[30000278,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)"})]]),".efw-max1279 .efw-page--health-empty .efw-slide":/* @__PURE__ */Object.freeze([[30000279,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)",gap:"24px"})]]),".efw-hero1 .efw-page--health-empty .efw-hero":/* @__PURE__ */Object.freeze([[30000280,/* @__PURE__ */Object.freeze({"--efw-grass-h":"64px",gridTemplateColumns:"minmax(0, 1fr)",padding:"24px var(--efw-card-pad) 0"})]]),".efw-hero1 .efw-page--health-empty .efw-hero__copy":/* @__PURE__ */Object.freeze([[30000281,/* @__PURE__ */Object.freeze({paddingBottom:"0"})]]),".efw-hero1 .efw-page--health-empty .efw-hero__scene":/* @__PURE__ */Object.freeze([[30000282,/* @__PURE__ */Object.freeze({minHeight:"0",height:"264px"})]]),".efw-hero1 .efw-page--health-empty .efw-evie":/* @__PURE__ */Object.freeze([[30000283,/* @__PURE__ */Object.freeze({height:"176px"})]]),".efw-max559 .efw-page--health-empty .efw-way":/* @__PURE__ */Object.freeze([[30000284,/* @__PURE__ */Object.freeze({padding:"16px"})]]),".efw-max559 .efw-page--health-empty .efw-marker":/* @__PURE__ */Object.freeze([[30000285,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-max559 .efw-page--health-empty .efw-labs":/* @__PURE__ */Object.freeze([[30000286,/* @__PURE__ */Object.freeze({gridTemplateAreas:'"head nav" "groups groups" "car car"'})]]),".efw-max559 .efw-page--health-empty .efw-labs__head .efw-ico":/* @__PURE__ */Object.freeze([[40000287,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-max559 .efw-page--health-empty .efw-arrows":/* @__PURE__ */Object.freeze([[30000288,/* @__PURE__ */Object.freeze({gap:"6px",marginTop:"0"})]]),".efw-max559 .efw-page--health-empty .efw-arrow":/* @__PURE__ */Object.freeze([[30000289,/* @__PURE__ */Object.freeze({width:"40px",height:"40px"})]]),".efw-max559 .efw-page--health-empty .efw-more__rows li:nth-child(n + 3)":/* @__PURE__ */Object.freeze([[40100290,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-page--health .efw-grid":/* @__PURE__ */Object.freeze([[30000291,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1.35fr) minmax(0, 1fr)",gridTemplateAreas:'"pet due" "files files" "weight add"',gap:"24px",marginTop:"32px"})]]),".efw-page--health .efw-block":/* @__PURE__ */Object.freeze([[30000292,/* @__PURE__ */Object.freeze({minWidth:"0"})]]),".efw-page--health .efw-block--pet":/* @__PURE__ */Object.freeze([[30000293,/* @__PURE__ */Object.freeze({gridArea:"pet"})]]),".efw-page--health .efw-block--due":/* @__PURE__ */Object.freeze([[30000294,/* @__PURE__ */Object.freeze({gridArea:"due"})]]),".efw-page--health .efw-block--files":/* @__PURE__ */Object.freeze([[30000295,/* @__PURE__ */Object.freeze({gridArea:"files"})]]),".efw-page--health .efw-block--weight":/* @__PURE__ */Object.freeze([[30000296,/* @__PURE__ */Object.freeze({gridArea:"weight"})]]),".efw-page--health .efw-block--add":/* @__PURE__ */Object.freeze([[30000297,/* @__PURE__ */Object.freeze({gridArea:"add"})]]),".efw-page--health .efw-block--files .efw-card__head":/* @__PURE__ */Object.freeze([[40000298,/* @__PURE__ */Object.freeze({marginBottom:"12px"})]]),".efw-max1279 .efw-page--health .efw-grid":/* @__PURE__ */Object.freeze([[30000299,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)",gridTemplateAreas:'"pet" "due" "files" "weight" "add"'})]])});var RAPH_RECORDS_FONTS=/* @__PURE__ */Object.freeze({font:'"Azeret", "Helvetica Neue", Arial, sans-serif',mono:'"Azeret Mono", ui-monospace, "SF Mono", Menlo, monospace',hand:'"Caveat", "Segoe Print", cursive',sans:'"Figtree", "Helvetica Neue", Arial, sans-serif'}),RAPH_RECORDS_ICONS=/* @__PURE__ */Object.freeze({"efi-flask":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M13.1725 1.88153V7.52689C13.1724 7.84254 13.2516 8.15316 13.403 8.43014L18.5873 17.9143C18.7442 18.201 18.8237 18.5234 18.818 18.8501C18.8124 19.1767 18.7218 19.4963 18.5552 19.7773C18.3886 20.0583 18.1517 20.2911 17.8678 20.4528C17.5839 20.6145 17.2628 20.6995 16.9361 20.6994H5.64536C5.31866 20.6995 4.99757 20.6145 4.71368 20.4528C4.42979 20.2911 4.19288 20.0583 4.02626 19.7773C3.85964 19.4963 3.76906 19.1767 3.76342 18.8501C3.75778 18.5234 3.83728 18.201 3.99409 17.9143L9.17841 8.43014C9.32979 8.15316 9.40907 7.84254 9.40893 7.52689V1.88153",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M6.07162 14.1128H16.5099",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M7.99755 1.88153H14.5838",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-flask-sm":{viewBox:"0 0 19.5956 19.5956",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M11.2668 1.63354V6.53244C11.2666 6.80635 11.3354 7.0759 11.4668 7.31626L15.9656 15.5464C16.1017 15.7951 16.1707 16.075 16.1658 16.3584C16.1609 16.6419 16.0823 16.9192 15.9377 17.163C15.7931 17.4069 15.5875 17.6089 15.3412 17.7492C15.0948 17.8895 14.8162 17.9632 14.5327 17.9632H4.7349C4.4514 17.9632 4.17277 17.8895 3.92642 17.7492C3.68006 17.6089 3.47448 17.4069 3.32989 17.163C3.18531 16.9192 3.1067 16.6419 3.10181 16.3584C3.09691 16.075 3.1659 15.7951 3.30198 15.5464L7.80079 7.31626C7.93216 7.0759 8.00095 6.80635 8.00083 6.53244V1.63354",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M5.10449 12.2476H14.1625",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M6.77637 1.63354H12.4917",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-shield":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.8178 12.2313C18.8178 16.9358 15.5247 19.2881 11.6106 20.6523C11.4056 20.7218 11.183 20.7185 10.9802 20.6429C7.05663 19.288 3.76351 16.9358 3.76351 12.2313V5.6451C3.76351 5.39556 3.86264 5.15624 4.03909 4.97979C4.21554 4.80333 4.45486 4.7042 4.7044 4.7042C6.58619 4.7042 8.93842 3.57513 10.5756 2.14498C10.7749 1.97467 11.0285 1.8811 11.2907 1.8811C11.5528 1.8811 11.8064 1.97467 12.0057 2.14498C13.6523 3.58454 15.9951 4.7042 17.8769 4.7042C18.1264 4.7042 18.3658 4.80333 18.5422 4.97979C18.7187 5.15624 18.8178 5.39556 18.8178 5.6451V12.2313Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M8.468 11.2906L10.3498 13.1724L14.1134 9.40885",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-folder":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.8179 18.8175C19.3169 18.8175 19.7956 18.6193 20.1485 18.2664C20.5014 17.9135 20.6996 17.4348 20.6996 16.9358V7.52683C20.6996 7.02775 20.5014 6.54911 20.1485 6.19621C19.7956 5.8433 19.3169 5.64504 18.8179 5.64504H11.3848C11.0701 5.64813 10.7596 5.57223 10.4818 5.42429C10.204 5.27635 9.96778 5.0611 9.79469 4.79824L9.03257 3.66917C8.86123 3.40898 8.62796 3.19541 8.35372 3.04761C8.07947 2.89981 7.77282 2.82241 7.46128 2.82236H3.76357C3.26449 2.82236 2.78585 3.02062 2.43294 3.37353C2.08004 3.72643 1.88178 4.20507 1.88178 4.70415V16.9358C1.88178 17.4348 2.08004 17.9135 2.43294 18.2664C2.78585 18.6193 3.26449 18.8175 3.76357 18.8175H18.8179Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-clock":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M11.2907 20.6999C16.4871 20.6999 20.6996 16.4873 20.6996 11.2909C20.6996 6.09451 16.4871 1.88199 11.2907 1.88199C6.0943 1.88199 1.88178 6.09451 1.88178 11.2909C1.88178 16.4873 6.0943 20.6999 11.2907 20.6999Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M11.2907 5.64559V11.2909L15.0543 13.1727",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-thermo":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M15 4.28578V15.5786C15.817 16.0504 16.4556 16.7785 16.8166 17.6501C17.1777 18.5217 17.241 19.4881 16.9968 20.3994C16.7526 21.3107 16.2146 22.1159 15.4661 22.6903C14.7176 23.2646 13.8006 23.5759 12.8571 23.5759C11.9137 23.5759 10.9966 23.2646 10.2482 22.6903C9.49969 22.1159 8.96164 21.3107 8.71746 20.3994C8.47328 19.4881 8.53662 18.5217 8.89766 17.6501C9.2587 16.7785 9.89725 16.0504 10.7143 15.5786V4.28578C10.7143 3.71746 10.9401 3.17242 11.3419 2.77056C11.7438 2.36869 12.2888 2.14293 12.8571 2.14293C13.4255 2.14293 13.9705 2.36869 14.3724 2.77056C14.7742 3.17242 15 3.71746 15 4.28578Z",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-heart":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M2.14286 10.1783C2.14288 8.98605 2.50456 7.82182 3.18014 6.8394C3.85572 5.85699 4.81341 5.10261 5.92672 4.67591C7.04004 4.2492 8.2566 4.17024 9.41573 4.44945C10.5749 4.72867 11.622 5.35292 12.4189 6.23976C12.4751 6.29978 12.5429 6.34762 12.6183 6.38034C12.6937 6.41305 12.775 6.42993 12.8571 6.42993C12.9393 6.42993 13.0206 6.41305 13.096 6.38034C13.1714 6.34762 13.2392 6.29978 13.2954 6.23976C14.0898 5.34716 15.1372 4.71766 16.2982 4.43505C17.4592 4.15244 18.6787 4.23014 19.7945 4.65778C20.9103 5.08543 21.8693 5.84275 22.5441 6.82894C23.2188 7.81514 23.5771 8.98344 23.5714 10.1783C23.5714 12.6319 21.9643 14.4641 20.3571 16.0712L14.4729 21.7637C14.2732 21.993 14.0271 22.1772 13.7508 22.304C13.4745 22.4309 13.1743 22.4975 12.8703 22.4994C12.5663 22.5013 12.2653 22.4385 11.9875 22.3152C11.7096 22.1919 11.4611 22.0108 11.2586 21.7841L5.35714 16.0712C3.75 14.4641 2.14286 12.6426 2.14286 10.1783Z",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-wind":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M13.7143 21C13.9859 21.2037 14.3021 21.34 14.6367 21.3975C14.9713 21.4551 15.3148 21.4323 15.6389 21.3311C15.963 21.2299 16.2584 21.0531 16.5008 20.8153C16.7431 20.5774 16.9255 20.2855 17.0329 19.9633C17.1403 19.6412 17.1696 19.2982 17.1183 18.9626C17.0671 18.6269 16.9369 18.3082 16.7384 18.0328C16.5398 17.7573 16.2787 17.533 15.9765 17.3783C15.6742 17.2235 15.3395 17.1429 15 17.1429H2.14286M18.75 8.57143C19.0239 8.20616 19.3867 7.91699 19.8039 7.73136C20.221 7.54574 20.6787 7.46982 21.1334 7.51082C21.5881 7.55183 22.0248 7.70839 22.4021 7.96564C22.7793 8.22289 23.0845 8.5723 23.2886 8.98068C23.4928 9.38905 23.5892 9.84285 23.5687 10.299C23.5482 10.7551 23.4114 11.1984 23.1714 11.5868C22.9313 11.9752 22.596 12.2958 22.1972 12.5181C21.7984 12.7404 21.3494 12.8571 20.8929 12.8571H2.14286M10.5 4.71429C10.7716 4.51056 11.0878 4.3743 11.4224 4.31674C11.757 4.25917 12.1005 4.28195 12.4246 4.38319C12.7487 4.48442 13.0441 4.66123 13.2865 4.89903C13.5289 5.13683 13.7112 5.42882 13.8186 5.75094C13.926 6.07306 13.9553 6.41608 13.9041 6.75173C13.8529 7.08739 13.7226 7.40607 13.5241 7.68152C13.3256 7.95697 13.0644 8.1813 12.7622 8.33602C12.4599 8.49074 12.1253 8.57143 11.7857 8.57143H2.14286",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-chevron":{viewBox:"0 0 19.358 19.358",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M7.25918 14.5191L12.0987 9.67957L7.25918 4.84007",stroke:"currentColor",strokeWidth:"1.61317",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-clip":{viewBox:"0 0 28.0714 28.0714",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.7142 4.67897H21.0535C21.6739 4.67897 22.2689 4.92543 22.7076 5.36413C23.1463 5.80283 23.3928 6.39784 23.3928 7.01826V23.3933C23.3928 24.0137 23.1463 24.6087 22.7076 25.0474C22.2689 25.4861 21.6739 25.7325 21.0535 25.7325H7.0178C6.39738 25.7325 5.80238 25.4861 5.36368 25.0474C4.92498 24.6087 4.67852 24.0137 4.67852 23.3933V7.01826C4.67852 6.39784 4.92498 5.80283 5.36368 5.36413C5.80238 4.92543 6.39738 4.67897 7.0178 4.67897H9.35709M10.5267 16.3754H17.5446M14.0357 19.8843V12.8665M10.5267 2.33969H17.5446C18.1906 2.33969 18.7142 2.86335 18.7142 3.50933V5.84861C18.7142 6.49459 18.1906 7.01826 17.5446 7.01826H10.5267C9.88075 7.01826 9.35709 6.49459 9.35709 5.84861V3.50933C9.35709 2.86335 9.88075 2.33969 10.5267 2.33969Z",stroke:"currentColor",strokeWidth:"2.33929",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-download":{viewBox:"0 0 24.7029 24.7029",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M12.3514 15.4394V3.08798M17.4978 10.293L12.3514 15.4394L7.20495 10.293M21.6149 15.4394V19.5566C21.6149 20.1025 21.3981 20.6261 21.012 21.0122C20.6259 21.3982 20.1023 21.6151 19.5564 21.6151H5.14637C4.60041 21.6151 4.0768 21.3982 3.69074 21.0122C3.30469 20.6261 3.0878 20.1025 3.0878 19.5566V15.4394",stroke:"currentColor",strokeWidth:"2.05857",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-upload":{viewBox:"0 0 24.7029 24.7029",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M12.3515 3.08766V15.4391M7.20503 8.23409L12.3515 3.08766L17.4979 8.23409M21.615 15.4391V19.5562C21.615 20.1022 21.3981 20.6258 21.0121 21.0119C20.626 21.3979 20.1024 21.6148 19.5565 21.6148H5.14646C4.60049 21.6148 4.07688 21.3979 3.69083 21.0119C3.30477 20.6258 3.08789 20.1022 3.08789 19.5562V15.4391",stroke:"currentColor",strokeWidth:"2.05857",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-calendar":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M8 2v4"},[]],["path",{d:"M16 2v4"},[]],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2"},[]],["path",{d:"M3 10h18"},[]]]]]},"efi-file":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"},[]],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4"},[]],["path",{d:"M10 9H8"},[]],["path",{d:"M16 13H8"},[]],["path",{d:"M16 17H8"},[]]]]]},"efi-info-mark":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"},[["path",{d:"M12 17.5v-6.5"},[]],["path",{d:"M12 6.5h.01"},[]]]]]},"efi-syringe":{viewBox:"0 0 19.5956 19.5956",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M14.5322 1.63281L17.7982 4.89874",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M13.7158 5.71556L16.1653 3.26611",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M15.3496 7.34845L6.93981 15.7582C6.12333 16.5747 4.89861 16.5747 4.16377 15.7582L3.67388 15.2683C2.8574 14.4518 2.8574 13.2271 3.67388 12.4923L12.0836 4.08252",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M7.18457 8.9812L10.4505 12.2471",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M3.9182 15.5134L1.46875 17.9629",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M11.2666 3.26611L16.1655 8.16501",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-send":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"},[]],["path",{d:"m21.854 2.147-10.94 10.939"},[]]]]]}});var RAPH=/* @__PURE__ */Object.freeze({ink:"#10462E",go:"#07C168",white:"#FFFFFF",black:"#000000",muted:"#6B6B6B",noteInk:"#6B6863",meta:"#3D3D3D",line:"#E4E4E4",bar:"#ECECEC",alert:"#C03410",alertDeep:"#6D1D14",tintSage:"#E6ECE8",tintBlue:"#EAEEF6",tintYellow:"#FCF0D6",tintRed:"#FBF1EE",tintGo:"#DCF6EA",watchFill:"#F9E6B9",icoSage:"#819E90",bgMist:"#F1F5F2",embCyan:"#E0FDFF",embTeal:"#00707C",embInk:"#262523",sky:"#4E98C9",plainEdge:"rgba(16, 70, 46, 0.2)",tintPink:"#FFEAE8",tintPinkSoft:"#FFF6F5",popEdge:"#B5C1BC",yellowEdge:"#F6D892",yellow:"#F2C763"}),INK_FILLS=/* @__PURE__ */new Set([".efh-btn--ink",".efh-way--ink",".efh-wpt--vet",".efh-wkey .is-vet::before",".efh-mkbar__dot",".efw-btn--ink",".efw-page--health-empty .efw-way--ink",".efw-page--health-empty .efw-group[aria-current]",".efw-rbar__dot"]),ON_INK=/* @__PURE__ */new Set([".efh-btn--ink",".efh-way--ink",".efw-btn--ink",".efw-page--health-empty .efw-way--ink",".efw-page--health-empty .efw-group[aria-current]"]),GO_STATUS=/* @__PURE__ */new Set([".efh-pill--clear",".efh-mkbar__in",".efh-wchart__rail span:nth-child(2)",".efw-pill--clear",".efw-rbar__in",".efw-wchart__rail span:nth-child(2)",".efw-wchart__pt"]),FILL_PROPERTIES=/* @__PURE__ */new Set(["background","borderColor"]),TIER_PREFIX=/^\.efw-(max1279|hero1|max559)\s+/;function mixColor(a,b,t){let over=withAlpha(a,t);return(over!==null?flattenOnto(over,b):null)??b}var same=(a,b)=>parseColor(a)===parseColor(b);function isRaphIdentity(theme){if(theme.brightness!=="light")return false;let c=theme.color,k=EVERFUR_LIGHT.color;return same(c.primary,k.primary)&&same(c.brandInk,k.brandInk)&&same(c.onPrimary,k.onPrimary)&&same(c.accent,k.accent)&&same(c.accentEdge,k.accentEdge)}var TOP=/* @__PURE__ */Object.freeze({card:"#FFCE34",kicker:"#4A4845",button:"#262523",riskDot:"#E5372B"}),TOP_SELECTORS=/* @__PURE__ */new Set([".rec-top",".rec-top__k",".rec-top__t",".rec-top .emb-btn",".emb-btn",".emb-btn--sm",".dot",".dot--risk"]);function painterFor(theme){let c=theme.color,v=v3Palette(theme),dark=theme.brightness==="dark",identity=isRaphIdentity(theme),compiled=(dark?EVERFUR_DARK:EVERFUR_LIGHT).color,accentSet=!same(c.accent,compiled.accent),decoGo=accentSet?c.accent:c.accentEdge,ground=dark?c.surface:RAPH.white,tint=(hue,lightT)=>mixColor(hue,ground,dark?.18:lightT),neutral=dark?{[RAPH.white]:v.card,[RAPH.black]:v.ink,[RAPH.muted]:v.ink3,[RAPH.noteInk]:v.ink3,[RAPH.meta]:c.text.metaCool,[RAPH.line]:v.line,[RAPH.bar]:v.line,[RAPH.embInk]:v.ink,[RAPH.alert]:v.riskInk,[RAPH.alertDeep]:v.riskInk,[RAPH.tintBlue]:tint(RAPH.sky,0),[RAPH.tintYellow]:tint(c.warningStrong,0),[RAPH.watchFill]:tint(c.warningStrong,0),[RAPH.tintRed]:tint(c.danger,0),[RAPH.tintGo]:tint(RAPH.go,0),[RAPH.yellowEdge]:tint(c.warningStrong,0)}:{},brand=identity?{}:{[RAPH.tintSage]:tint(c.primary,.105),[RAPH.icoSage]:mixColor(c.brandInk,ground,.527),[RAPH.bgMist]:tint(c.primary,.059),[RAPH.embCyan]:accentSet?tint(c.accent,.14):tint(RAPH.embCyan,1),[RAPH.embTeal]:accentSet?c.accent:dark?c.brandInk:RAPH.embTeal,[RAPH.tintPink]:tint(c.highlight,.35),[RAPH.tintPinkSoft]:tint(c.highlight,.15),[RAPH.popEdge]:mixColor(c.brandInk,dark?v.line:RAPH.line,.22)},topCard=accentSet?c.accent:identity?RAPH.tintSage:tint(c.primary,.105),topKicker=v3InkOn(topCard,[accentSet?c.onAccent:dark?c.text.muted:TOP.kicker,TOP.button]),topInk=accentSet?v3InkOn(topCard,[c.onAccent,TOP.button]):null;return{painter:(tiered,property,raph)=>{let key=raph.toUpperCase(),selector=tiered.replace(TIER_PREFIX,"");return selector.startsWith(".ph-toast")?raph:TOP_SELECTORS.has(selector)?key===TOP.card?topCard:key===TOP.kicker?topKicker:key===TOP.button?v.primary:key===TOP.riskDot?dark?c.danger:TOP.riskDot:key==="#FFF"&&property==="color"?v.onPrimary:raph:key===RAPH.ink?INK_FILLS.has(selector)&&FILL_PROPERTIES.has(property)?v.primary:c.brandInk:key===RAPH.white&&ON_INK.has(selector)&&property==="color"?v.onPrimary:key===RAPH.go?GO_STATUS.has(selector)?RAPH.go:decoGo:key===RAPH.plainEdge.toUpperCase()?identity?raph:withAlpha(c.brandInk,.2)??raph:neutral[key]??brand[key]??raph},topInk:topInk}}var COLOR=/#[0-9A-Fa-f]{6}\b|#[0-9A-Fa-f]{3}\b|rgba\([^)]*\)/g;function paintRule(painter,selector,rule){let next={};for(let[property,value]of Object.entries(rule))next[property]=value.replace(COLOR,hit=>painter(selector,property,hit));return next}function paint({painter:painter,topInk:topInk}){let out={};for(let[selector,rule]of Object.entries(RAPH_RECORDS_RULES)){let next=paintRule(painter,selector,rule);selector===".rec-top"&&topInk!==null&&(next.color=topInk),out[selector]=/* @__PURE__ */Object.freeze(next)}/* @__PURE__ */
|
|
121
121
|
return Object.freeze(out)}function paintWeb({painter:painter}){let out={};for(let[selector,entries]of Object.entries(WEB_HEALTH_RULES))out[selector]=/* @__PURE__ */Object.freeze(entries.map(([rank,rule])=>/* @__PURE__ */Object.freeze([rank,/* @__PURE__ */Object.freeze(paintRule(painter,selector,rule))])));/* @__PURE__ */
|
|
122
|
-
return Object.freeze(out)}var cache2=/* @__PURE__ */new WeakMap,webCache=/* @__PURE__ */new WeakMap;function recordsSheetWebRules(theme,palette="theme"){if(palette==="raph")return WEB_HEALTH_RULES;let hit=webCache.get(theme);if(hit!==void 0)return hit;let rules=paintWeb(painterFor(theme));return webCache.set(theme,rules),rules}function recordsSheetRules(theme,palette="theme"){if(palette==="raph")return RAPH_RECORDS_RULES;let hit=cache2.get(theme);if(hit!==void 0)return hit;let rules=paint(painterFor(theme));return cache2.set(theme,rules),rules}var SheetFontsContext=react.createContext(RAPH_RECORDS_FONTS);var SheetRulesContext=react.createContext(RAPH_RECORDS_RULES),BASE2=/* @__PURE__ */Object.freeze({h:{boxSizing:"border-box",margin:0,color:"inherit",fontWeight:700,lineHeight:1.15,fontSize:"inherit"},p:{boxSizing:"border-box",margin:0},list:{boxSizing:"border-box",margin:0,padding:0,listStyle:"none"},button:{boxSizing:"border-box",font:"inherit",color:"inherit",background:"none",border:0,padding:0,cursor:"pointer",textAlign:"inherit",WebkitTapHighlightColor:"transparent",touchAction:"manipulation"},block:{boxSizing:"border-box"},media:{display:"block",boxSizing:"border-box"},root:{boxSizing:"border-box",letterSpacing:"normal",wordSpacing:"normal",textTransform:"none",textIndent:0,textAlign:"start",fontStyle:"normal"}}),LONGHANDS=/* @__PURE__ */Object.freeze({margin:["marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginInline","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingInline","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd"],inset:["top","right","bottom","left"],gap:["rowGap","columnGap"],font:["fontFamily","fontSize","fontWeight","fontStyle","fontVariant","lineHeight"],background:["backgroundColor","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundClip","backgroundOrigin"],border:["borderWidth","borderStyle","borderColor","borderTop","borderRight","borderBottom","borderLeft"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],flex:["flexGrow","flexShrink","flexBasis"],overflow:["overflowX","overflowY"],listStyle:["listStyleType","listStylePosition","listStyleImage"],gridTemplate:["gridTemplateColumns","gridTemplateRows","gridTemplateAreas"],gridColumn:["gridColumnStart","gridColumnEnd"],gridRow:["gridRowStart","gridRowEnd"],transition:["transitionProperty","transitionDuration","transitionTimingFunction","transitionDelay"],outline:["outlineWidth","outlineStyle","outlineColor"],textDecoration:["textDecorationLine","textDecorationColor","textDecorationStyle"]});function put(out,k,v){for(let l of LONGHANDS[k]??[])delete out[l];delete out[k],out[k]=v}function fill(value,fonts){return value.replace(/\$(font|mono|hand|sans)\b/g,(_,k)=>fonts[k])}function sx(fonts,base2,...selectors){return sxIn(RAPH_RECORDS_RULES,fonts,base2,...selectors)}function sxIn(rules,fonts,base2,...selectors){let out=base2===null?{}:{...BASE2[base2]};for(let s of selectors){if(!s)continue;let rule=rules[s];if(rule!==void 0)for(let[k,v]of Object.entries(rule))k!=="content"&&put(out,k,fill(v,fonts))}return out}function useSx(){let fonts=react.useContext(SheetFontsContext),rules=react.useContext(SheetRulesContext);return(base2,...selectors)=>sxIn(rules,fonts,base2,...selectors)}var SheetWebRulesContext=react.createContext(WEB_HEALTH_RULES),SHEET_TIER_WIDTHS=/* @__PURE__ */Object.freeze({max1279:952,hero1:630,max559:504}),PHONE_TIERS=/* @__PURE__ */Object.freeze([".efw-max1279",".efw-hero1",".efw-max559"]);function sheetTiers(width){let out=[];return width<SHEET_TIER_WIDTHS.max1279&&out.push(".efw-max1279"),width<SHEET_TIER_WIDTHS.hero1&&out.push(".efw-hero1"),width<SHEET_TIER_WIDTHS.max559&&out.push(".efw-max559"),out}var SheetTiersContext=react.createContext(PHONE_TIERS);function wxIn(rules,fonts,tiers,base2,...selectors){let hits=[];for(let s of selectors)if(s){for(let entry of rules[s]??[])hits.push(entry);for(let t of tiers)for(let entry of rules[`${t} ${s}`]??[])hits.push(entry)}hits.sort((a,b)=>a[0]-b[0]);let out=base2===null?{}:{...BASE2[base2]};for(let[,rule]of hits)for(let[k,v]of Object.entries(rule))k!=="content"&&put(out,k,fill(v,fonts));return out}function useWx(){let fonts=react.useContext(SheetFontsContext),rules=react.useContext(SheetWebRulesContext),tiers=react.useContext(SheetTiersContext);return(base2,...selectors)=>wxIn(rules,fonts,tiers,base2,...selectors)}function iconNodes(nodes,prefix){return nodes.map(([tag,attrs,children],i)=>react.createElement(tag,{key:`${prefix}${i}`,...attrs},...iconNodes(children,`${prefix}${i}.`)))}function SheetIcon({id:id,style:style}){let icon=RAPH_RECORDS_ICONS[id];return icon===void 0?null:react.createElement("svg",{viewBox:icon.viewBox,style:style,"aria-hidden":true,focusable:"false"},...iconNodes(icon.nodes,""))}function forHostSpread(style){let rest={...style};return delete rest.font,{fontFamily:"inherit",fontStyle:"inherit",fontVariant:"inherit",...rest}}var RECORDS_SHEET_ROW_BUTTON_STYLE=/* @__PURE__ */Object.freeze(forHostSpread(sx(RAPH_RECORDS_FONTS,"button",".efh-btn",".efh-btn--ink",".efh-btn--row")));var pluralize=(n,one,many=`${one}s`)=>n===1?one:many,WEB_HEALTH_COPY=/* @__PURE__ */Object.freeze({vitalsLabel:pet=>`Vitals at ${pet}’s last exam`,vitalsFromLabel:pet=>`Where ${pet}’s vitals come from`,vitalsFrom:(vet,date2)=>`From ${vet}’s exam, ${date2}. `,examNotes:"Exam notes",upcomingCare:"Upcoming Care",viewAll:"View all →",nothingDue:pet=>`Nothing due for ${pet} right now.`,overdue:"Overdue",dueSoon:"Due soon",later:"Later",noDate:"No date",overdueBy:days=>`Overdue by ${days} ${pluralize(days,"day")}`,dueTodayRelative:"Due today",dueInRelative:days=>`Due in ${days} ${pluralize(days,"day")}`,noDueDate:"No due date on file",overdueWhen:(relative,date2)=>`${relative} · due ${date2}`,dueToday:date2=>`Due ${date2} · today`,dueIn:(date2,days)=>`Due ${date2} · in ${days} ${pluralize(days,"day")}`,recordsHistory:"Records & History",labs:"Labs & bloodwork",screenings:"Screenings",visits:"Visits & records",timeline:"Timeline",results:n=>pluralize(n,"result"),noScreenings:"No screenings yet",noVisits:"No visits yet",events:n=>` ${pluralize(n,"event")}`,screeningsToReview:n=>`${n} to review`,screeningsClear:"All clear",weight:"Weight",noWeights:pet=>`No weights on file yet. They show up here from ${pet}’s vet visits.`,weightTrend:(n,latest,unit,direction)=>`${n} readings, latest ${latest} ${unit}, trend ${direction}.`,oneReading:"One reading so far: we’ll plot a trend as more come in.",addRecords:pet=>`Add ${pet}’s records`,moreThanOneClinic:"Records can come from more than one clinic over a lifetime.",onFileNow:"On file now",requestFromClinic:"Request from a clinic",uploadDocument:"Upload a document",seeWhereItStands:"See where it stands",uploadedDocument:"Uploaded document",onTheWayFrom:(pet,clinic)=>`${pet}’s records from ${clinic} are on the way.`,readingUpload:"We’re reading the document you uploaded.",uploadFormatHint:"Upload PDF records you already have, up to 25 MB each. You can pick several at once. We'll read them and add the results to your records.",uploadLimitHint:"PDFs up to 25 MB each. You can pick several at once.",firstRecord:pet=>`Add ${pet}’s first record`,firstLead:pet=>`Records can come from more than one clinic over a lifetime. Start with the one ${pet} sees most, and this page fills in from there.`,findClinic:pet=>`Find ${pet}’s clinic`,chooseFile:"Choose a file",sayBeats:/* @__PURE__ */Object.freeze(["Hmmm","I wonder","what I may be","hiding"]),sayStill:"I wonder what I may be hiding",demo:"Demo",peekLead:pet=>`A sneak peek at how ${pet}’s records will read. Every number links back to the page it came from.`,markerGroups:"Marker groups",previousGroup:"Previous group",nextGroup:"Next group",sampleMarkers:"Sample markers by group",slideLabel:(title,n,of)=>`${title}, ${n} of ${of}`,sampleNotTheirs:pet=>`This is a sample, not ${pet}’s result.`,sampleNoteRest:pet=>` Add ${pet}’s records to see ${pet}’s own numbers. Anything outside the range gets flagged like this, with what it measures and what to ask ${pet}’s vet.`,readFrom:page=>`Read from the lab report, page ${page}`,pageOf:(page,of)=>`p. ${page} of ${of}`,tableHead:/* @__PURE__ */Object.freeze(["Test","Result","Unit","Range"]),high:"High"});var DAY_MS2=864e5,DUE_SOON_WINDOW_DAYS=30,LB_PER_KG2=2.2046226,MONTHS2=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],MONTHS_LONG=["January","February","March","April","May","June","July","August","September","October","November","December"];function careDueDate(ms){let d=new Date(ms);return`${MONTHS2[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function recordsDate(ms){let d=new Date(ms);return`${MONTHS2[d.getUTCMonth()]??""} ${d.getUTCDate()}, ${d.getUTCFullYear()}`}function examDate(ms){let d=new Date(ms);return`${MONTHS_LONG[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function careIcon(key){let k=key.toLowerCase();return["vacc","booster","rabies","dhpp"].some(part=>k.includes(part))?"efi-syringe":["test","screen","fecal","heartworm","worm","dental","tooth"].some(part=>k.includes(part))?"efi-flask-sm":"efi-calendar"}function webCareRows(items,nowMs){let byKey=/* @__PURE__ */new Map;for(let item of items){let key=item.title,incumbent=byKey.get(key),cMs=dayMs(item.dueAt),iMs=incumbent===void 0?null:dayMs(incumbent.dueAt);(incumbent===void 0||cMs!==null&&(iMs===null||cMs<iMs))&&byKey.set(key,item)}let rows=[...byKey.values()].map(item=>{let ms=dayMs(item.dueAt),icon=careIcon(item.title);if(ms===null)return{key:item.title,item:item,title:item.title,when:WEB_HEALTH_COPY.noDueDate,tone:"upcoming",pill:{className:".efw-pill--later",text:WEB_HEALTH_COPY.noDate},icon:icon,ms:ms};let diffDays=Math.round((ms-nowMs)/DAY_MS2),tone=diffDays<0?"overdue":diffDays<=DUE_SOON_WINDOW_DAYS?"dueSoon":"upcoming",relative=diffDays<0?WEB_HEALTH_COPY.overdueBy(-diffDays):diffDays===0?WEB_HEALTH_COPY.dueTodayRelative:WEB_HEALTH_COPY.dueInRelative(diffDays),date2=careDueDate(ms),when=tone==="overdue"?WEB_HEALTH_COPY.overdueWhen(relative,date2):diffDays<=0?WEB_HEALTH_COPY.dueToday(date2):WEB_HEALTH_COPY.dueIn(date2,diffDays),pill=tone==="overdue"?{className:".efw-pill--overdue",text:WEB_HEALTH_COPY.overdue}:tone==="dueSoon"?{className:".efw-pill--soon",text:WEB_HEALTH_COPY.dueSoon}:{className:".efw-pill--later",text:WEB_HEALTH_COPY.later};return{key:item.title,item:item,title:item.title,when:when,tone:tone,pill:pill,icon:icon,ms:ms}});return rows.sort((a,b)=>a.ms===null&&b.ms===null?0:a.ms===null?1:b.ms===null?-1:a.ms-b.ms),rows.map(row=>({key:row.key,item:row.item,title:row.title,when:row.when,tone:row.tone,pill:row.pill,icon:row.icon}))}function latestVisitLabel(timeline){if(timeline===null||timeline.withheld)return null;let best=null;for(let visit of timeline.visits){if(!visit.visitDate)continue;let ms=Date.parse(visit.visitDate);Number.isNaN(ms)||(best===null||ms>best)&&(best=ms)}if(best===null)return null;let d=new Date(best);return`${String(d.getUTCMonth()+1).padStart(2,"0")}.${String(d.getUTCDate()).padStart(2,"0")}.${d.getUTCFullYear()}`}function timelineCount(timeline){if(timeline===null||timeline.withheld)return null;let count=timeline.visits.length+timeline.vaccines.length+timeline.weights.length+timeline.medications.length;return count>0?count:null}var round1=value=>Math.round(value*10)/10;function weightValue(value){if(!Number.isFinite(value))return"";let rounded=round1(value);return Number.isInteger(rounded)?String(rounded):rounded.toFixed(1)}function webWeightPlot(points){let n=points.length;if(n<2)return[];let values=points.map(p=>p.value),low=Math.min(...values),high=Math.max(...values),span=high-low||Math.max(Math.abs(high)*.1,1),axisAt=/* @__PURE__ */new Set;if(n<=6)for(let i=0;i<n;i+=1)axisAt.add(i);else for(let i=0;i<6;i+=1)axisAt.add(Math.round(i*(n-1)/5));return points.map((p,i)=>{let y=round1(Math.min(94,Math.max(6,75-(p.value-low)/span*50)));return{x:round1(8+i/(n-1)*84),y:y,label:weightValue(p.value),axis:axisAt.has(i)?monthTick(p.ms):null,below:y>=60}})}function webWeight(timeline,unit){if(timeline===null||timeline.withheld)return null;let readings=timeline.weights.flatMap(w=>{let ms=dayMs(w.observedOn);return ms===null||w.weightKg===null||!Number.isFinite(w.weightKg)?[]:[{ms:ms,kg:w.weightKg,iso:w.observedOn??""}]}).sort((a,b)=>a.ms-b.ms),last=readings[readings.length-1];if(last===void 0)return null;let inUnit=kg=>unit==="lb"?kg*LB_PER_KG2:kg,other=unit==="lb"?"kg":"lb",values=readings.map(r=>inUnit(r.kg)),latest=values[values.length-1]??0,first=values[0]??latest,plot=webWeightPlot(readings.map((r,i)=>({value:values[i]??0,ms:r.ms})));return{primary:`${weightValue(latest)} ${unit}`,secondary:`${weightValue(unit==="lb"?last.kg:last.kg*LB_PER_KG2)} ${other}`,count:readings.length,date:readings.length===1?{iso:last.iso,text:recordsDate(last.ms)}:null,plot:plot,label:plot.length>0?WEB_HEALTH_COPY.weightTrend(values.length,weightValue(latest),unit,latest>first?"rising":latest<first?"falling":"steady"):null}}function vitalsExam(depth,observedMs){if(observedMs===null||depth===null||depth.withheld)return null;let day=new Date(observedMs).toISOString().slice(0,10),encounter=depth.encounters.find(e=>{let ms2=dayMs(e.date);return ms2!==null&&new Date(ms2).toISOString().slice(0,10)===day}),vet=encounter?.veterinarian?.trim(),ms=dayMs(encounter?.date);return vet&&ms!==null?{vet:vet,date:examDate(ms)}:null}function documentClassLabel(value){let spaced=value.replace(/_/g," ").trim();return spaced.length>0?spaced.charAt(0).toUpperCase()+spaced.slice(1):value}function webSources(record,depth){if(record===null||record.withheld)return[];let clinics=/* @__PURE__ */new Map;if(depth!==null&&!depth.withheld)for(let e of depth.encounters){let name=e.clinicName?.trim();e.docId!==null&&name&&clinics.set(e.docId,name)}return Object.values(record.documents).sort((a,b)=>(dayMs(b.receivedAt)??0)-(dayMs(a.receivedAt)??0)).slice(0,4).reverse().map(doc=>{let received=dayMs(doc.receivedAt);return{key:doc.docId,name:clinics.get(doc.docId)??WEB_HEALTH_COPY.uploadedDocument,meta:[doc.documentClass?documentClassLabel(doc.documentClass):null,received!==null?recordsDate(received):null].filter(p=>p!==null).join(" · ")}})}function webOnTheWay(petName,requests){return sheetOnTheWay(sheetPetWords(petName,null),requests).map(line=>line.key==="upload"?{...line,text:WEB_HEALTH_COPY.readingUpload}:line.key.startsWith("clinic-")?{...line,text:WEB_HEALTH_COPY.onTheWayFrom(petName,line.key.slice(7))}:line)}var SAMPLE_GROUPS=[{title:"Liver",lead:"What the liver makes and clears.",markers:[{line:"alt",name:"ALT",what:"An enzyme found mostly in liver cells.",at:92,value:"118",unit:"U/L",high:true},{line:"alp",name:"ALP",what:"An enzyme from the liver and bones.",at:33,value:"64",unit:"U/L"},{line:"ggt",name:"GGT",what:"An enzyme tied to the liver’s bile ducts.",at:36,value:"3",unit:"U/L"},{line:"tbil",name:"Total bilirubin",what:"A yellow pigment the liver clears.",at:33,value:"0.2",unit:"mg/dL"}],page:2,panel:"Chemistry panel",rows:[{test:"ALB",result:"3.2",unit:"g/dL",range:"2.3-4.0"},{line:"alp",test:"ALP",result:"64",unit:"U/L",range:"23-212"},{line:"alt",test:"ALT",result:"118 H",unit:"U/L",range:"10-100"},{test:"BUN",result:"18",unit:"mg/dL",range:"7-27"},{line:"ggt",test:"GGT",result:"3",unit:"U/L",range:"0-11"},{line:"tbil",test:"T. BILI",result:"0.2",unit:"mg/dL",range:"0.0-0.9"}]},{title:"Kidney",lead:"What the kidneys filter out and keep in balance.",markers:[{line:"bun",name:"BUN",what:"Protein waste the kidneys filter out.",at:53,value:"18",unit:"mg/dL"},{line:"crea",name:"Creatinine",what:"Muscle waste the kidneys filter out.",at:48,value:"1.1",unit:"mg/dL"},{line:"sdma",name:"SDMA",what:"Another measure of kidney filtering.",at:59,value:"9",unit:"µg/dL"},{line:"phos",name:"Phosphorus",what:"A mineral the kidneys keep in balance.",at:42,value:"4.1",unit:"mg/dL"}],page:2,panel:"Chemistry panel",rows:[{test:"ALT",result:"45",unit:"U/L",range:"10-100"},{line:"bun",test:"BUN",result:"18",unit:"mg/dL",range:"7-27"},{test:"CA",result:"10.1",unit:"mg/dL",range:"7.9-12.0"},{line:"crea",test:"CREA",result:"1.1",unit:"mg/dL",range:"0.5-1.8"},{line:"phos",test:"PHOS",result:"4.1",unit:"mg/dL",range:"2.5-6.8"},{line:"sdma",test:"SDMA",result:"9",unit:"µg/dL",range:"0-14"}]},{title:"Blood cells",lead:"The cells that carry oxygen, fight infection and help blood clot.",markers:[{line:"rbc",name:"Red blood cells",what:"Cells that carry oxygen around the body.",at:43,value:"6.9",unit:"M/µL"},{line:"hgb",name:"Hemoglobin",what:"The part of red cells that holds oxygen.",at:42,value:"15.8",unit:"g/dL"},{line:"wbc",name:"White blood cells",what:"Cells that fight infection.",at:44,value:"9.8",unit:"K/µL"},{line:"plt",name:"Platelets",what:"Cell fragments that help blood clot.",at:41,value:"265",unit:"K/µL"}],page:3,panel:"Complete blood count",rows:[{test:"HCT",result:"46",unit:"%",range:"37.3-61.7"},{line:"hgb",test:"HGB",result:"15.8",unit:"g/dL",range:"13.1-20.5"},{test:"NEUT",result:"6.1",unit:"K/µL",range:"2.95-11.64"},{line:"plt",test:"PLT",result:"265",unit:"K/µL",range:"148-484"},{line:"rbc",test:"RBC",result:"6.9",unit:"M/µL",range:"5.65-8.87"},{line:"wbc",test:"WBC",result:"9.8",unit:"K/µL",range:"5.05-16.76"}]},{title:"Sugar and salts",lead:"Fuel, and the salts that keep fluids, nerves and muscles steady.",markers:[{line:"glu",name:"Glucose",what:"Blood sugar, the body’s main fuel.",at:41,value:"96",unit:"mg/dL"},{line:"na",name:"Sodium",what:"A salt that keeps fluids in balance.",at:31,value:"147",unit:"mmol/L"},{line:"k",name:"Potassium",what:"A salt that helps nerves and muscles work.",at:49,value:"4.6",unit:"mmol/L"},{line:"ca",name:"Calcium",what:"A mineral for bones, muscles and nerves.",at:52,value:"10.1",unit:"mg/dL"}],page:2,panel:"Chemistry panel",rows:[{line:"ca",test:"CA",result:"10.1",unit:"mg/dL",range:"7.9-12.0"},{test:"CL",result:"112",unit:"mmol/L",range:"109-122"},{line:"glu",test:"GLU",result:"96",unit:"mg/dL",range:"70-143"},{line:"k",test:"K",result:"4.6",unit:"mmol/L",range:"3.5-5.8"},{line:"na",test:"NA",result:"147",unit:"mmol/L",range:"144-160"},{test:"PHOS",result:"4.1",unit:"mg/dL",range:"2.5-6.8"}]}],SAMPLE_REPORT_PAGES=12,SAMPLE_MORE=[{tone:"pink",icon:"efi-shield",title:"Screenings",lead:()=>"Tests that look for common problems early, and what came back.",rows:[{label:"Heartworm test",pill:{tone:"clear",text:"Negative"}},{label:"Tick panel (4Dx)",pill:{tone:"clear",text:"Negative"}},{label:"Fecal exam",pill:{tone:"clear",text:"Negative"}}]},{tone:"blue",icon:"efi-folder",title:"Visits & records",lead:()=>"Every visit, with the vet’s notes and the pages they came from.",rows:[{label:"Wellness exam",when:"38 pages"},{label:"Skin and allergy visit",when:"6 pages"},{label:"Everfur video visit",when:"3 pages"}]},{tone:"yellow",icon:"efi-clock",title:"Timeline",lead:petName=>`${petName}’s whole history in order, with what’s due next.`,rows:[{label:"Rabies vaccine",pill:{tone:"soon",text:"Due soon"}},{label:"Wellness exam",when:"Jun 12"},{label:"Heartworm test",when:"Apr 18"}]}];var readDepth=(client,petRef)=>client.getRecordDepth(petRef),depthEmpty=value=>!value.available,readTimeline=(client,petRef)=>client.getTimeline(petRef),timelineEmpty=value=>value.isEmpty;function useSheetFonts(fonts){return react.useMemo(()=>({...RAPH_RECORDS_FONTS,...fonts??{}}),[fonts])}function useSheetRules(palette){let theme=useEverfurTheme();return react.useMemo(()=>recordsSheetRules(theme,palette),[theme,palette])}function useSheetWebRules(palette){let theme=useEverfurTheme();return react.useMemo(()=>recordsSheetWebRules(theme,palette),[theme,palette])}function RecordsSheet(props){let fonts=useSheetFonts(props.options.fonts),rules=useSheetRules(props.options.palette),webRules=useSheetWebRules(props.options.palette);/* @__PURE__ */
|
|
123
|
-
return jsxRuntime.jsx(
|
|
124
|
-
|
|
122
|
+
return Object.freeze(out)}var cache2=/* @__PURE__ */new WeakMap,webCache=/* @__PURE__ */new WeakMap;function recordsSheetWebRules(theme,palette="theme"){if(palette==="raph")return WEB_HEALTH_RULES;let hit=webCache.get(theme);if(hit!==void 0)return hit;let rules=paintWeb(painterFor(theme));return webCache.set(theme,rules),rules}function recordsSheetRules(theme,palette="theme"){if(palette==="raph")return RAPH_RECORDS_RULES;let hit=cache2.get(theme);if(hit!==void 0)return hit;let rules=paint(painterFor(theme));return cache2.set(theme,rules),rules}var EASE_OUT="cubic-bezier(0.23, 1, 0.32, 1)";function useArrival(reduced){let[element,setElement]=react.useState(null),motion=!reduced,[arrived,setArrived]=react.useState(!motion);return react.useEffect(()=>{if(!motion){setArrived(true);return}if(arrived||element===null)return;if(typeof IntersectionObserver>"u"){setArrived(true);return}let observer=new IntersectionObserver(entries=>{entries.some(entry=>entry.isIntersecting)&&(setArrived(true),observer.disconnect())},{rootMargin:"0px 0px -8% 0px"});return observer.observe(element),()=>observer.disconnect()},[motion,arrived,element]),{ref:setElement,element:element,arrived:arrived,motion:motion}}function phase(motion,arrived,before,after){return motion?arrived?after:before:{}}function stagePetMotion(a){return phase(a.motion,a.arrived,{opacity:0,translate:"-50% 16px"},{transition:`opacity 400ms ease 380ms, translate 900ms ${EASE_OUT} 380ms`})}function stageGrassMotion(a){return phase(a.motion,a.arrived,{clipPath:"inset(100% 0 0 0)"},{clipPath:"inset(0 0 0 0)",transition:`clip-path 800ms ${EASE_OUT} 80ms`})}function enterDelayMs(index){return Math.min(index,6)*60}function enterMotion(a,index){let d=enterDelayMs(index);return phase(a.motion,a.arrived,{opacity:0,translate:"0 10px"},{transition:`opacity 300ms ease ${d}ms, translate 500ms ${EASE_OUT} ${d}ms`})}function CountUp({value:value,arrival:arrival,style:style}){let[shown,setShown]=react.useState(value),ran=react.useRef(false),{arrived:arrived,motion:motion}=arrival;return react.useEffect(()=>{let end=Number.parseFloat(value);if(!arrived||!motion||ran.current||Number.isNaN(end)||typeof requestAnimationFrame>"u"){setShown(value);return}ran.current=true;let places=(value.split(".")[1]??"").length,frame=0,start=null,tick=now=>{start??=now;let k=Math.min(1,(now-start)/700);setShown(k<1?(end*(1-Math.pow(1-k,3))).toFixed(places):value),k<1&&(frame=requestAnimationFrame(tick))};return frame=requestAnimationFrame(tick),()=>cancelAnimationFrame(frame)},[arrived,motion,value]),/* @__PURE__ */jsxRuntime.jsx("span",{style:style,"data-count":"",children:shown})}var BEAT=[{scale:"1",offset:0,easing:EASE_OUT},{scale:"1.22",offset:.3,easing:EASE_OUT},{scale:"0.96",offset:.55,easing:EASE_OUT},{scale:"1",offset:1}];function useHeartBeat(node,a){let done=react.useRef(false);react.useEffect(()=>{let el=node.current;if(!a.motion||!a.arrived||done.current||el===null||typeof el.animate!="function")return;done.current=true;let run=null;try{run=el.animate(BEAT,{duration:900,delay:700,easing:"linear"})}catch{}return()=>run?.cancel()},[node,a.motion,a.arrived])}function usePetLean(box,pet,enabled){react.useEffect(()=>{if(!enabled||box===null||typeof requestAnimationFrame>"u")return;let tx=0,ty=0,x=0,y=0,vx=0,vy=0,frame=0,loop=()=>{vx=(vx+(tx-x)*.08)*.78,vy=(vy+(ty-y)*.08)*.78,x+=vx,y+=vy;let drawing=pet.current;drawing!==null&&(drawing.style.transform=`translate(${x.toFixed(2)}px, ${y.toFixed(2)}px)`),frame=Math.abs(tx-x)+Math.abs(ty-y)+Math.abs(vx)+Math.abs(vy)>.05?requestAnimationFrame(loop):0},onMove=event=>{if(event.pointerType!=="mouse")return;let r=box.getBoundingClientRect();r.width===0||r.height===0||(tx=((event.clientX-r.left)/r.width-.5)*18,ty=((event.clientY-r.top)/r.height-.5)*8,frame||(frame=requestAnimationFrame(loop)))},onLeave=()=>{tx=0,ty=0,frame||(frame=requestAnimationFrame(loop))};return box.addEventListener("pointermove",onMove),box.addEventListener("pointerleave",onLeave),()=>{box.removeEventListener("pointermove",onMove),box.removeEventListener("pointerleave",onLeave),cancelAnimationFrame(frame),pet.current?.style.removeProperty("transform")}},[box,pet,enabled])}function useTileHover(ink,reduced){let[hover,setHover]=react.useState(false),[down,setDown]=react.useState(false),tile=reduced?{transition:"none",...hover?{boxShadow:`inset 0 0 0 1.5px ${ink}`}:{}}:{transition:`box-shadow 150ms ease, transform 260ms ${EASE_OUT}`,...hover?{boxShadow:`inset 0 0 0 1.5px ${ink}`}:{},...down?{transform:"scale(0.98)"}:hover?{transform:"translateY(-3px)"}:{}},chevron=reduced?{}:{transition:`transform 260ms ${EASE_OUT}`,...hover?{transform:"translateX(4px)"}:{}};return{tile:tile,chevron:chevron,handlers:{onPointerEnter:event=>setHover(event.pointerType==="mouse"),onPointerLeave:()=>{setHover(false),setDown(false)},onPointerDown:()=>setDown(true),onPointerUp:()=>setDown(false),onPointerCancel:()=>setDown(false)}}}function usePointerState(){let[hover,setHover]=react.useState(false),[down,setDown]=react.useState(false);return{hover:hover,down:down,handlers:{onPointerEnter:event=>setHover(event.pointerType==="mouse"),onPointerLeave:()=>{setHover(false),setDown(false)},onPointerDown:()=>setDown(true),onPointerUp:()=>setDown(false),onPointerCancel:()=>setDown(false)}}}var NOTE_IN=[{opacity:0,transform:"translateY(-4px)",offset:0,easing:EASE_OUT},{opacity:1,transform:"none",offset:1}];function useNoteIn(node,open,reduced){react.useEffect(()=>{let el=node.current;if(!open||reduced||el===null||typeof el.animate!="function")return;let run=null;try{run=el.animate(NOTE_IN,{duration:200,easing:"linear"})}catch{}return()=>run?.cancel()},[node,open,reduced])}function chartLineMotion(a){return phase(a.motion,a.arrived,{clipPath:"inset(0 100% 0 0)"},{clipPath:"inset(0 0 0 0)",transition:`clip-path 900ms ${EASE_OUT} 200ms`})}function chartPointMotion(a,xPercent){let d=Math.round(xPercent*8);return phase(a.motion,a.arrived,{opacity:0,scale:"0.4"},{transition:`opacity 200ms ease ${d}ms, scale 350ms ${EASE_OUT} ${d}ms`})}function chartRailMotion(a,index){let d=index*70;return{transformOrigin:"50% 0",...phase(a.motion,a.arrived,{transform:"scaleY(0)"},{transition:`transform 420ms ${EASE_OUT} ${d}ms`})}}function chartLegendMotion(a){return phase(a.motion,a.arrived,{opacity:0},{transition:"opacity 400ms ease 120ms"})}function useTimelineSeen(count,reduced){let nodes=react.useRef(/* @__PURE__ */new Map),[seen,setSeen]=react.useState(reduced?"all":/* @__PURE__ */new Set),watchable=!reduced&&typeof IntersectionObserver<"u";return react.useEffect(()=>{if(!watchable){setSeen("all");return}let observer=new IntersectionObserver(entries=>{let hits=[];for(let entry of entries){if(!entry.isIntersecting)continue;let index=Number(entry.target.dataset.row);Number.isFinite(index)&&hits.push(index),observer.unobserve(entry.target)}hits.length>0&&setSeen(was=>was==="all"?was:/* @__PURE__ */new Set([...was,...hits]))},{rootMargin:"0px 0px -18% 0px"});return nodes.current.forEach(node=>observer.observe(node)),()=>{observer.disconnect(),setSeen("all")}},[watchable,count]),{watching:watchable&&seen!=="all",seen:index=>seen==="all"||seen.has(index),rowRef:index=>node=>{node===null?nodes.current.delete(index):(node.dataset.row=String(index),nodes.current.set(index,node))}}}function timelineRowMotion(t,index){let waiting=t.watching&&!t.seen(index);return{row:{transition:`opacity 500ms ${EASE_OUT}, translate 500ms ${EASE_OUT}`,...waiting?{opacity:.25,translate:"10px 0"}:{}},rail:{transformOrigin:"50% 0",transition:`scale 600ms ${EASE_OUT} 150ms`,...waiting?{scale:"1 0"}:{}},dot:{transition:"background-color 300ms ease, border-color 300ms ease"}}}var EAR="50% 50% 45% 45% / 60% 60% 40% 40%",SKELETON_PARTS=[{top:"8%",left:"25%",width:"17%",height:"17%",rotate:"-15deg",borderRadius:EAR},{top:"8%",right:"25%",width:"17%",height:"17%",rotate:"15deg",borderRadius:EAR},{top:"12%",left:"28%",width:"44%",aspectRatio:"1",borderRadius:"50%"},{bottom:"2%",left:"16%",width:"68%",height:"60%",borderRadius:"50% 50% 18% 18% / 34% 34% 8% 8%"}],SKELETON_GROUND="#EFE9E3",SWEEP="linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.62) 50%, rgba(255, 255, 255, 0) 100%)";function SkeletonPart({style:style,sweep:sweep}){let glint=react.useRef(null);return react.useEffect(()=>{let el=glint.current;if(!sweep||el===null||typeof el.animate!="function")return;let run=null;try{run=el.animate([{transform:"translate3d(-100%, 0, 0)"},{transform:"translate3d(100%, 0, 0)"}],{duration:1400,iterations:1/0,easing:"linear"})}catch{}return()=>run?.cancel()},[sweep]),/* @__PURE__ */jsxRuntime.jsx("span",{style:{...style,position:"absolute",display:"block",overflow:"hidden",background:SKELETON_GROUND},children:/* @__PURE__ */jsxRuntime.jsx("span",{ref:glint,style:{position:"absolute",inset:0,backgroundImage:SWEEP,transform:"translate3d(-100%, 0, 0)",opacity:sweep?1:0}})})}function PetDrawingSkeleton({sweep:sweep}){/* @__PURE__ */
|
|
123
|
+
return jsxRuntime.jsx("span",{style:{position:"relative",display:"block",width:"100%",height:"100%"},"data-testid":"everfur-records-sheet-pet-skeleton",children:SKELETON_PARTS.map((part,i)=>/* @__PURE__ */jsxRuntime.jsx(SkeletonPart,{style:part,sweep:sweep},i))})}function initialsOf(name){return name.trim().split(/\s+/).filter(Boolean).slice(0,2).map(word=>Array.from(word)[0]??"").join("").toUpperCase()}function PetMonogram({name:name,ink:ink,tint:tint,line:line}){let letters=initialsOf(name);/* @__PURE__ */
|
|
124
|
+
return jsxRuntime.jsxs("svg",{viewBox:"0 0 48 48",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true",focusable:"false",style:{display:"block",width:"100%",height:"100%"},"data-testid":"everfur-records-sheet-pet-monogram",children:[
|
|
125
|
+
/* @__PURE__ */jsxRuntime.jsx("circle",{cx:"24",cy:"24",r:"23.5",vectorEffect:"non-scaling-stroke",fill:tint,stroke:line}),letters?/* @__PURE__ */jsxRuntime.jsx("text",{x:"24",y:"24",textAnchor:"middle",dominantBaseline:"central",fontSize:letters.length>1?20:26,fontWeight:"700",fill:ink,children:letters}):null]})}var PULSE_EASE="cubic-bezier(0.4, 0, 0.6, 1)",PULSE=[{opacity:1,offset:0,easing:PULSE_EASE},{opacity:.5,offset:.5,easing:PULSE_EASE},{opacity:1,offset:1}];function PetArt({art:art,onError:onError,name:name,skeleton:skeleton,reduced:reduced,monogram:monogram,testID:testID}){let renderKey=art.status==="art"?art.key:null,[loadedKey,setLoadedKey]=react.useState(null),artVisible=renderKey!==null&&loadedKey===renderKey,artPending=renderKey!==null&&!artVisible,holding=skeleton&&(renderKey!==null||art.status==="loading"),under=react.useRef(null),breathing=artPending&&!holding&&!reduced;react.useEffect(()=>{let el=under.current;if(!breathing||el===null||typeof el.animate!="function")return;let run=null;try{run=el.animate(PULSE,{duration:2e3,iterations:1/0,easing:"linear"})}catch{}return()=>run?.cancel()},[breathing]);let painted=node=>{node!==null&&renderKey!==null&&node.complete&&node.naturalWidth>0&&loadedKey!==renderKey&&setLoadedKey(renderKey)},fade=reduced?"none":"opacity 200ms ease-out";/* @__PURE__ */
|
|
126
|
+
return jsxRuntime.jsxs("span",{style:{position:"relative",display:"block",width:"100%",height:"100%",overflow:"hidden"},"data-testid":testID,"data-art":art.status,children:[
|
|
127
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{ref:under,"aria-hidden":"true",style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",opacity:artVisible?0:1,transition:artVisible?fade:"none"},children:holding?/* @__PURE__ */jsxRuntime.jsx(PetDrawingSkeleton,{sweep:!reduced&&!artVisible}):/* @__PURE__ */jsxRuntime.jsx(PetMonogram,{name:name,...monogram})}),art.status==="art"?/* @__PURE__ */jsxRuntime.jsx("img",{ref:painted,src:art.url,width:720,height:1119,alt:"","aria-hidden":"true",draggable:false,decoding:"async",onLoad:()=>setLoadedKey(art.key),onError:onError,style:{position:"absolute",inset:0,display:"block",width:"100%",height:"100%",maxWidth:"none",objectFit:"contain",opacity:artVisible?1:0,transition:fade},"data-testid":"everfur-records-sheet-pet-art"},art.key):null]})}function usePageVisible(){let[visible,setVisible]=react.useState(()=>typeof document>"u"||document.visibilityState!=="hidden");return react.useEffect(()=>{if(typeof document>"u")return;let read=()=>setVisible(document.visibilityState!=="hidden");return read(),document.addEventListener("visibilitychange",read),()=>document.removeEventListener("visibilitychange",read)},[]),visible}var SheetFontsContext=react.createContext(RAPH_RECORDS_FONTS);var SheetRulesContext=react.createContext(RAPH_RECORDS_RULES),BASE2=/* @__PURE__ */Object.freeze({h:{boxSizing:"border-box",margin:0,color:"inherit",fontWeight:700,lineHeight:1.15,fontSize:"inherit"},p:{boxSizing:"border-box",margin:0},list:{boxSizing:"border-box",margin:0,padding:0,listStyle:"none"},button:{boxSizing:"border-box",font:"inherit",color:"inherit",background:"none",border:0,padding:0,cursor:"pointer",textAlign:"inherit",WebkitTapHighlightColor:"transparent",touchAction:"manipulation"},block:{boxSizing:"border-box"},media:{display:"block",boxSizing:"border-box"},root:{boxSizing:"border-box",letterSpacing:"normal",wordSpacing:"normal",textTransform:"none",textIndent:0,textAlign:"start",fontStyle:"normal"}}),LONGHANDS=/* @__PURE__ */Object.freeze({margin:["marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginInline","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingInline","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd"],inset:["top","right","bottom","left"],gap:["rowGap","columnGap"],font:["fontFamily","fontSize","fontWeight","fontStyle","fontVariant","lineHeight"],background:["backgroundColor","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundClip","backgroundOrigin"],border:["borderWidth","borderStyle","borderColor","borderTop","borderRight","borderBottom","borderLeft"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],flex:["flexGrow","flexShrink","flexBasis"],overflow:["overflowX","overflowY"],listStyle:["listStyleType","listStylePosition","listStyleImage"],gridTemplate:["gridTemplateColumns","gridTemplateRows","gridTemplateAreas"],gridColumn:["gridColumnStart","gridColumnEnd"],gridRow:["gridRowStart","gridRowEnd"],transition:["transitionProperty","transitionDuration","transitionTimingFunction","transitionDelay"],outline:["outlineWidth","outlineStyle","outlineColor"],textDecoration:["textDecorationLine","textDecorationColor","textDecorationStyle"]});function put(out,k,v){for(let l of LONGHANDS[k]??[])delete out[l];delete out[k],out[k]=v}function fill(value,fonts){return value.replace(/\$(font|mono|hand|sans)\b/g,(_,k)=>fonts[k])}function sx(fonts,base2,...selectors){return sxIn(RAPH_RECORDS_RULES,fonts,base2,...selectors)}function sxIn(rules,fonts,base2,...selectors){let out=base2===null?{}:{...BASE2[base2]};for(let s of selectors){if(!s)continue;let rule=rules[s];if(rule!==void 0)for(let[k,v]of Object.entries(rule))k!=="content"&&put(out,k,fill(v,fonts))}return out}function useSx(){let fonts=react.useContext(SheetFontsContext),rules=react.useContext(SheetRulesContext);return(base2,...selectors)=>sxIn(rules,fonts,base2,...selectors)}var SheetWebRulesContext=react.createContext(WEB_HEALTH_RULES),SHEET_TIER_WIDTHS=/* @__PURE__ */Object.freeze({max1279:952,hero1:630,max559:504,tabletColumn:476,sideBarViewport:768}),PHONE_TIERS=/* @__PURE__ */Object.freeze([".efw-max1279",".efw-hero1",".efw-max559"]);function sheetTiers(width,viewport){let out=[];width<SHEET_TIER_WIDTHS.max1279&&out.push(".efw-max1279"),width<SHEET_TIER_WIDTHS.hero1&&out.push(".efw-hero1");let sideBar=viewport!==void 0&&viewport>=SHEET_TIER_WIDTHS.sideBarViewport;return width<(sideBar?SHEET_TIER_WIDTHS.tabletColumn:SHEET_TIER_WIDTHS.max559)&&out.push(".efw-max559"),out}var SheetTiersContext=react.createContext(PHONE_TIERS);function wxIn(rules,fonts,tiers,base2,...selectors){let hits=[];for(let s of selectors)if(s){for(let entry of rules[s]??[])hits.push(entry);for(let t of tiers)for(let entry of rules[`${t} ${s}`]??[])hits.push(entry)}hits.sort((a,b)=>a[0]-b[0]);let out=base2===null?{}:{...BASE2[base2]};for(let[,rule]of hits)for(let[k,v]of Object.entries(rule))k!=="content"&&put(out,k,fill(v,fonts));return out}function useWx(){let fonts=react.useContext(SheetFontsContext),rules=react.useContext(SheetWebRulesContext),tiers=react.useContext(SheetTiersContext);return(base2,...selectors)=>wxIn(rules,fonts,tiers,base2,...selectors)}function iconNodes(nodes,prefix){return nodes.map(([tag,attrs,children],i)=>react.createElement(tag,{key:`${prefix}${i}`,...attrs},...iconNodes(children,`${prefix}${i}.`)))}function SheetIcon({id:id,style:style,iconRef:iconRef}){let icon=RAPH_RECORDS_ICONS[id];return icon===void 0?null:react.createElement("svg",{viewBox:icon.viewBox,style:style,"aria-hidden":true,focusable:"false",ref:iconRef},...iconNodes(icon.nodes,""))}function forHostSpread(style){let rest={...style};return delete rest.font,{fontFamily:"inherit",fontStyle:"inherit",fontVariant:"inherit",...rest}}var RECORDS_SHEET_ROW_BUTTON_STYLE=/* @__PURE__ */Object.freeze(forHostSpread(sx(RAPH_RECORDS_FONTS,"button",".efh-btn",".efh-btn--ink",".efh-btn--row")));var pluralize=(n,one,many=`${one}s`)=>n===1?one:many,WEB_HEALTH_COPY=/* @__PURE__ */Object.freeze({vitalsLabel:pet=>`Vitals at ${pet}’s last exam`,vitalsFromLabel:pet=>`Where ${pet}’s vitals come from`,vitalsFrom:(vet,date2)=>`From ${vet}’s exam, ${date2}. `,examNotes:"Exam notes",upcomingCare:"Upcoming Care",viewAll:"View all →",nothingDue:pet=>`Nothing due for ${pet} right now.`,overdue:"Overdue",dueSoon:"Due soon",later:"Later",noDate:"No date",overdueBy:days=>`Overdue by ${days} ${pluralize(days,"day")}`,dueTodayRelative:"Due today",dueInRelative:days=>`Due in ${days} ${pluralize(days,"day")}`,noDueDate:"No due date on file",overdueWhen:(relative,date2)=>`${relative} · due ${date2}`,dueToday:date2=>`Due ${date2} · today`,dueIn:(date2,days)=>`Due ${date2} · in ${days} ${pluralize(days,"day")}`,recordsHistory:"Records & History",labs:"Labs & bloodwork",screenings:"Screenings",visits:"Visits & records",timeline:"Timeline",results:n=>pluralize(n,"result"),noScreenings:"No screenings yet",noVisits:"No visits yet",events:n=>` ${pluralize(n,"event")}`,screeningsToReview:n=>`${n} to review`,screeningsClear:"All clear",weight:"Weight",noWeights:pet=>`No weights on file yet. They show up here from ${pet}’s vet visits.`,weightTrend:(n,latest,unit,direction)=>`${n} readings, latest ${latest} ${unit}, trend ${direction}.`,weightRange:(low,high,unit)=>` Estimated range ${low} to ${high} ${unit}.`,rangeOver:["Over","weight"],rangeIn:"Stable",rangeUnder:["Under","weight"],estimatedRange:"Estimated Optimal Adult Range",oneReading:"One reading so far: we’ll plot a trend as more come in.",addRecords:pet=>`Add ${pet}’s records`,moreThanOneClinic:"Records can come from more than one clinic over a lifetime.",onFileNow:"On file now",requestFromClinic:"Request from a clinic",uploadDocument:"Upload a document",seeWhereItStands:"See where it stands",uploadedDocument:"Uploaded document",onTheWayFrom:(pet,clinic)=>`${pet}’s records from ${clinic} are on the way.`,readingUpload:"We’re reading the document you uploaded.",uploadFormatHint:"Upload PDF records you already have, up to 25 MB each. You can pick several at once. We'll read them and add the results to your records.",uploadLimitHint:"PDFs up to 25 MB each. You can pick several at once.",firstRecord:pet=>`Add ${pet}’s first record`,firstLead:pet=>`Records can come from more than one clinic over a lifetime. Start with the one ${pet} sees most, and this page fills in from there.`,findClinic:pet=>`Find ${pet}’s clinic`,chooseFile:"Choose a file",sayBeats:/* @__PURE__ */Object.freeze(["Hmmm","I wonder","what I may be","hiding"]),sayStill:"I wonder what I may be hiding",demo:"Demo",peekLead:pet=>`A sneak peek at how ${pet}’s records will read. Every number links back to the page it came from.`,markerGroups:"Marker groups",previousGroup:"Previous group",nextGroup:"Next group",sampleMarkers:"Sample markers by group",slideLabel:(title,n,of)=>`${title}, ${n} of ${of}`,sampleNotTheirs:pet=>`This is a sample, not ${pet}’s result.`,sampleNoteRest:pet=>` Add ${pet}’s records to see ${pet}’s own numbers. Anything outside the range gets flagged like this, with what it measures and what to ask ${pet}’s vet.`,readFrom:page=>`Read from the lab report, page ${page}`,pageOf:(page,of)=>`p. ${page} of ${of}`,tableHead:/* @__PURE__ */Object.freeze(["Test","Result","Unit","Range"]),high:"High"});var DAY_MS2=864e5,DUE_SOON_WINDOW_DAYS=30,LB_PER_KG2=2.2046226,MONTHS2=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],MONTHS_LONG=["January","February","March","April","May","June","July","August","September","October","November","December"];function careDueDate(ms){let d=new Date(ms);return`${MONTHS2[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function recordsDate(ms){let d=new Date(ms);return`${MONTHS2[d.getUTCMonth()]??""} ${d.getUTCDate()}, ${d.getUTCFullYear()}`}function examDate(ms){let d=new Date(ms);return`${MONTHS_LONG[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function careIcon(key){let k=key.toLowerCase();return["vacc","booster","rabies","dhpp"].some(part=>k.includes(part))?"efi-syringe":["test","screen","fecal","heartworm","worm","dental","tooth"].some(part=>k.includes(part))?"efi-flask-sm":"efi-calendar"}function webCareRows(items,nowMs){let byKey=/* @__PURE__ */new Map;for(let item of items){let key=item.title,incumbent=byKey.get(key),cMs=dayMs(item.dueAt),iMs=incumbent===void 0?null:dayMs(incumbent.dueAt);(incumbent===void 0||cMs!==null&&(iMs===null||cMs<iMs))&&byKey.set(key,item)}let rows=[...byKey.values()].map(item=>{let ms=dayMs(item.dueAt),icon=careIcon(item.title);if(ms===null)return{key:item.title,item:item,title:item.title,when:WEB_HEALTH_COPY.noDueDate,tone:"upcoming",pill:{className:".efw-pill--later",text:WEB_HEALTH_COPY.noDate},icon:icon,ms:ms};let diffDays=Math.round((ms-nowMs)/DAY_MS2),tone=diffDays<0?"overdue":diffDays<=DUE_SOON_WINDOW_DAYS?"dueSoon":"upcoming",relative=diffDays<0?WEB_HEALTH_COPY.overdueBy(-diffDays):diffDays===0?WEB_HEALTH_COPY.dueTodayRelative:WEB_HEALTH_COPY.dueInRelative(diffDays),date2=careDueDate(ms),when=tone==="overdue"?WEB_HEALTH_COPY.overdueWhen(relative,date2):diffDays<=0?WEB_HEALTH_COPY.dueToday(date2):WEB_HEALTH_COPY.dueIn(date2,diffDays),pill=tone==="overdue"?{className:".efw-pill--overdue",text:WEB_HEALTH_COPY.overdue}:tone==="dueSoon"?{className:".efw-pill--soon",text:WEB_HEALTH_COPY.dueSoon}:{className:".efw-pill--later",text:WEB_HEALTH_COPY.later};return{key:item.title,item:item,title:item.title,when:when,tone:tone,pill:pill,icon:icon,ms:ms}});return rows.sort((a,b)=>a.ms===null&&b.ms===null?0:a.ms===null?1:b.ms===null?-1:a.ms-b.ms),rows.map(row=>({key:row.key,item:row.item,title:row.title,when:row.when,tone:row.tone,pill:row.pill,icon:row.icon}))}function latestVisitLabel(timeline){if(timeline===null||timeline.withheld)return null;let best=null;for(let visit of timeline.visits){if(!visit.visitDate)continue;let ms=Date.parse(visit.visitDate);Number.isNaN(ms)||(best===null||ms>best)&&(best=ms)}if(best===null)return null;let d=new Date(best);return`${String(d.getUTCMonth()+1).padStart(2,"0")}.${String(d.getUTCDate()).padStart(2,"0")}.${d.getUTCFullYear()}`}function timelineCount(timeline){if(timeline===null||timeline.withheld)return null;let count=timeline.visits.length+timeline.vaccines.length+timeline.weights.length+timeline.medications.length;return count>0?count:null}var STABLE_BAND_FRACTION=.1,MIN_READINGS_FOR_BAND=2;function deriveWeightBand(values){let finite=values.filter(v=>v!==null&&Number.isFinite(v)).sort((a,b)=>a-b);if(finite.length<MIN_READINGS_FOR_BAND)return null;let mid=Math.floor(finite.length/2),center=finite.length%2===1?finite[mid]:(finite[mid-1]+finite[mid])/2;if(!(center>0))return null;let half=center*STABLE_BAND_FRACTION;return{low:center-half,high:center+half}}function weightPointStatus(value,band){return value>band.high?"over":value<band.low?"under":"in"}var round1=value=>Math.round(value*10)/10;function weightValue(value){if(!Number.isFinite(value))return"";let rounded=round1(value);return Number.isInteger(rounded)?String(rounded):rounded.toFixed(1)}function webWeightPlot(points,band=null){let n=points.length;if(n<2)return[];let values=points.map(p=>p.value),low=band!==null?band.low:Math.min(...values),high=band!==null?band.high:Math.max(...values),span=high-low||Math.max(Math.abs(high)*.1,1),axisAt=/* @__PURE__ */new Set;if(n<=6)for(let i=0;i<n;i+=1)axisAt.add(i);else for(let i=0;i<6;i+=1)axisAt.add(Math.round(i*(n-1)/5));return points.map((p,i)=>{let y=round1(Math.min(94,Math.max(6,75-(p.value-low)/span*50))),outside=band!==null&&weightPointStatus(p.value,band)!=="in";return{x:round1(8+i/(n-1)*84),y:y,label:weightValue(p.value),axis:axisAt.has(i)?monthTick(p.ms):null,below:y>=60,outside:outside}})}function webWeight(timeline,unit){if(timeline===null||timeline.withheld)return null;let readings=timeline.weights.flatMap(w=>{let ms=dayMs(w.observedOn);return ms===null||w.weightKg===null||!Number.isFinite(w.weightKg)?[]:[{ms:ms,kg:w.weightKg,iso:w.observedOn??""}]}).sort((a,b)=>a.ms-b.ms),last=readings[readings.length-1];if(last===void 0)return null;let inUnit=kg=>unit==="lb"?kg*LB_PER_KG2:kg,other=unit==="lb"?"kg":"lb",values=readings.map(r=>inUnit(r.kg)),latest=values[values.length-1]??0,first=values[0]??latest,bandKg=deriveWeightBand(readings.map(r=>r.kg)),band=bandKg!==null?{low:inUnit(bandKg.low),high:inUnit(bandKg.high)}:null,plot=webWeightPlot(readings.map((r,i)=>({value:values[i]??0,ms:r.ms})),band),range=plot.length>0&&band!==null?WEB_HEALTH_COPY.weightRange(weightValue(band.low),weightValue(band.high),unit):"";return{primary:`${weightValue(latest)} ${unit}`,secondary:`${weightValue(unit==="lb"?last.kg:last.kg*LB_PER_KG2)} ${other}`,count:readings.length,date:readings.length===1?{iso:last.iso,text:recordsDate(last.ms)}:null,plot:plot,band:plot.length>0?band:null,label:plot.length>0?WEB_HEALTH_COPY.weightTrend(values.length,weightValue(latest),unit,latest>first?"rising":latest<first?"falling":"steady")+range:null}}function vitalsExam(depth,observedMs){if(observedMs===null||depth===null||depth.withheld)return null;let day=new Date(observedMs).toISOString().slice(0,10),encounter=depth.encounters.find(e=>{let ms2=dayMs(e.date);return ms2!==null&&new Date(ms2).toISOString().slice(0,10)===day}),vet=encounter?.veterinarian?.trim(),ms=dayMs(encounter?.date);return vet&&ms!==null?{vet:vet,date:examDate(ms)}:null}function documentClassLabel(value){let spaced=value.replace(/_/g," ").trim();return spaced.length>0?spaced.charAt(0).toUpperCase()+spaced.slice(1):value}function webSources(record,depth){if(record===null||record.withheld)return[];let clinics=/* @__PURE__ */new Map;if(depth!==null&&!depth.withheld)for(let e of depth.encounters){let name=e.clinicName?.trim();e.docId!==null&&name&&clinics.set(e.docId,name)}return Object.values(record.documents).sort((a,b)=>(dayMs(b.receivedAt)??0)-(dayMs(a.receivedAt)??0)).slice(0,4).reverse().map(doc=>{let received=dayMs(doc.receivedAt);return{key:doc.docId,name:clinics.get(doc.docId)??WEB_HEALTH_COPY.uploadedDocument,meta:[doc.documentClass?documentClassLabel(doc.documentClass):null,received!==null?recordsDate(received):null].filter(p=>p!==null).join(" · ")}})}function webOnTheWay(petName,requests){return sheetOnTheWay(sheetPetWords(petName,null),requests).map(line=>line.key==="upload"?{...line,text:WEB_HEALTH_COPY.readingUpload}:line.key.startsWith("clinic-")?{...line,text:WEB_HEALTH_COPY.onTheWayFrom(petName,line.key.slice(7))}:line)}var SAMPLE_GROUPS=[{title:"Liver",lead:"What the liver makes and clears.",markers:[{line:"alt",name:"ALT",what:"An enzyme found mostly in liver cells.",at:92,value:"118",unit:"U/L",high:true},{line:"alp",name:"ALP",what:"An enzyme from the liver and bones.",at:33,value:"64",unit:"U/L"},{line:"ggt",name:"GGT",what:"An enzyme tied to the liver’s bile ducts.",at:36,value:"3",unit:"U/L"},{line:"tbil",name:"Total bilirubin",what:"A yellow pigment the liver clears.",at:33,value:"0.2",unit:"mg/dL"}],page:2,panel:"Chemistry panel",rows:[{test:"ALB",result:"3.2",unit:"g/dL",range:"2.3-4.0"},{line:"alp",test:"ALP",result:"64",unit:"U/L",range:"23-212"},{line:"alt",test:"ALT",result:"118 H",unit:"U/L",range:"10-100"},{test:"BUN",result:"18",unit:"mg/dL",range:"7-27"},{line:"ggt",test:"GGT",result:"3",unit:"U/L",range:"0-11"},{line:"tbil",test:"T. BILI",result:"0.2",unit:"mg/dL",range:"0.0-0.9"}]},{title:"Kidney",lead:"What the kidneys filter out and keep in balance.",markers:[{line:"bun",name:"BUN",what:"Protein waste the kidneys filter out.",at:53,value:"18",unit:"mg/dL"},{line:"crea",name:"Creatinine",what:"Muscle waste the kidneys filter out.",at:48,value:"1.1",unit:"mg/dL"},{line:"sdma",name:"SDMA",what:"Another measure of kidney filtering.",at:59,value:"9",unit:"µg/dL"},{line:"phos",name:"Phosphorus",what:"A mineral the kidneys keep in balance.",at:42,value:"4.1",unit:"mg/dL"}],page:2,panel:"Chemistry panel",rows:[{test:"ALT",result:"45",unit:"U/L",range:"10-100"},{line:"bun",test:"BUN",result:"18",unit:"mg/dL",range:"7-27"},{test:"CA",result:"10.1",unit:"mg/dL",range:"7.9-12.0"},{line:"crea",test:"CREA",result:"1.1",unit:"mg/dL",range:"0.5-1.8"},{line:"phos",test:"PHOS",result:"4.1",unit:"mg/dL",range:"2.5-6.8"},{line:"sdma",test:"SDMA",result:"9",unit:"µg/dL",range:"0-14"}]},{title:"Blood cells",lead:"The cells that carry oxygen, fight infection and help blood clot.",markers:[{line:"rbc",name:"Red blood cells",what:"Cells that carry oxygen around the body.",at:43,value:"6.9",unit:"M/µL"},{line:"hgb",name:"Hemoglobin",what:"The part of red cells that holds oxygen.",at:42,value:"15.8",unit:"g/dL"},{line:"wbc",name:"White blood cells",what:"Cells that fight infection.",at:44,value:"9.8",unit:"K/µL"},{line:"plt",name:"Platelets",what:"Cell fragments that help blood clot.",at:41,value:"265",unit:"K/µL"}],page:3,panel:"Complete blood count",rows:[{test:"HCT",result:"46",unit:"%",range:"37.3-61.7"},{line:"hgb",test:"HGB",result:"15.8",unit:"g/dL",range:"13.1-20.5"},{test:"NEUT",result:"6.1",unit:"K/µL",range:"2.95-11.64"},{line:"plt",test:"PLT",result:"265",unit:"K/µL",range:"148-484"},{line:"rbc",test:"RBC",result:"6.9",unit:"M/µL",range:"5.65-8.87"},{line:"wbc",test:"WBC",result:"9.8",unit:"K/µL",range:"5.05-16.76"}]},{title:"Sugar and salts",lead:"Fuel, and the salts that keep fluids, nerves and muscles steady.",markers:[{line:"glu",name:"Glucose",what:"Blood sugar, the body’s main fuel.",at:41,value:"96",unit:"mg/dL"},{line:"na",name:"Sodium",what:"A salt that keeps fluids in balance.",at:31,value:"147",unit:"mmol/L"},{line:"k",name:"Potassium",what:"A salt that helps nerves and muscles work.",at:49,value:"4.6",unit:"mmol/L"},{line:"ca",name:"Calcium",what:"A mineral for bones, muscles and nerves.",at:52,value:"10.1",unit:"mg/dL"}],page:2,panel:"Chemistry panel",rows:[{line:"ca",test:"CA",result:"10.1",unit:"mg/dL",range:"7.9-12.0"},{test:"CL",result:"112",unit:"mmol/L",range:"109-122"},{line:"glu",test:"GLU",result:"96",unit:"mg/dL",range:"70-143"},{line:"k",test:"K",result:"4.6",unit:"mmol/L",range:"3.5-5.8"},{line:"na",test:"NA",result:"147",unit:"mmol/L",range:"144-160"},{test:"PHOS",result:"4.1",unit:"mg/dL",range:"2.5-6.8"}]}],SAMPLE_REPORT_PAGES=12,SAMPLE_MORE=[{tone:"pink",icon:"efi-shield",title:"Screenings",lead:()=>"Tests that look for common problems early, and what came back.",rows:[{label:"Heartworm test",pill:{tone:"clear",text:"Negative"}},{label:"Tick panel (4Dx)",pill:{tone:"clear",text:"Negative"}},{label:"Fecal exam",pill:{tone:"clear",text:"Negative"}}]},{tone:"blue",icon:"efi-folder",title:"Visits & records",lead:()=>"Every visit, with the vet’s notes and the pages they came from.",rows:[{label:"Wellness exam",when:"38 pages"},{label:"Skin and allergy visit",when:"6 pages"},{label:"Everfur video visit",when:"3 pages"}]},{tone:"yellow",icon:"efi-clock",title:"Timeline",lead:petName=>`${petName}’s whole history in order, with what’s due next.`,rows:[{label:"Rabies vaccine",pill:{tone:"soon",text:"Due soon"}},{label:"Wellness exam",when:"Jun 12"},{label:"Heartworm test",when:"Apr 18"}]}];var readDepth=(client,petRef)=>client.getRecordDepth(petRef),depthEmpty=value=>!value.available,readTimeline=(client,petRef)=>client.getTimeline(petRef),timelineEmpty=value=>value.isEmpty;function useSheetFonts(fonts){return react.useMemo(()=>({...RAPH_RECORDS_FONTS,...fonts??{}}),[fonts])}function useSheetRules(palette){let theme=useEverfurTheme();return react.useMemo(()=>recordsSheetRules(theme,palette),[theme,palette])}function useSheetWebRules(palette){let theme=useEverfurTheme();return react.useMemo(()=>recordsSheetWebRules(theme,palette),[theme,palette])}function RecordsSheet(props){let fonts=useSheetFonts(props.options.fonts),rules=useSheetRules(props.options.palette),webRules=useSheetWebRules(props.options.palette);/* @__PURE__ */
|
|
128
|
+
return jsxRuntime.jsx(SheetFontsContext.Provider,{value:fonts,children:/* @__PURE__ */jsxRuntime.jsx(SheetRulesContext.Provider,{value:rules,children:/* @__PURE__ */jsxRuntime.jsx(SheetWebRulesContext.Provider,{value:webRules,children:/* @__PURE__ */jsxRuntime.jsx(RecordsSheetBody,{...props})})})})}function useSheetPetFacts(petRef,hostName,options){let{pets:pets}=useEverfurPets(),pet=pets.find(p=>p.petRef===petRef)??null,planCapability=useCapability("healthPlan"),plan=useHealthPlanPage({petRef:petRef,enabled:planCapability.enabled}),planPet=plan.page?.pet??null,planSettled=!planCapability.enabled||plan.phase==="ready"||plan.phase==="failed",planSex=pronounForSex(planPet?.sex),askProfile=options.pronoun===void 0&&planSettled&&planSex===null,{profile:profile}=useEverfurPetProfile(askProfile?petRef:null),name=hostName.trim()||pet?.name?.trim()||planPet?.name?.trim()||"",focus=plan.page?.page?.focus??null;return{name:name,pronoun:options.pronoun??planSex??pronounForSex(profile?.sex),species:sheetSampleKind(pet?.species??planPet?.species??profile?.species),breed:pet?.breed??null,weightKg:pet?.weightKg??null,ageYears:pet?.ageYears??null,focus:focus!==null&&focus.title.trim()!==""?focus:null}}var useIsomorphicLayoutEffect=typeof document>"u"?react.useEffect:react.useLayoutEffect;function useSheetTiers(root){let[tiers,setTiers]=react.useState(PHONE_TIERS);return useIsomorphicLayoutEffect(()=>{let node=root.current;if(node===null||typeof ResizeObserver>"u")return;let read=()=>{let cs=getComputedStyle(node),width=node.clientWidth-(parseFloat(cs.paddingLeft)||0)-(parseFloat(cs.paddingRight)||0),next=sheetTiers(width,typeof window>"u"?void 0:window.innerWidth);setTiers(was=>was.length===next.length&&was.every((t,i)=>t===next[i])?was:next)};read();let observer=new ResizeObserver(read);return observer.observe(node),()=>observer.disconnect()},[root]),tiers}var SheetStageContext=react.createContext({host:void 0,art:{status:"none"},onError:()=>{},reduced:true}),kitVar=(name,value)=>({[`--efw-${name}`]:value});function RecordsSheetBody({petRef:petRef,petName:petName,options:options,records:records,readable:readable,consentControl:consentControl,canRequestFromClinic:canRequestFromClinic,onRequest:onRequest,onUpload:onUpload,onOpenRecord:onOpenRecord,onOpenMarker:onOpenMarker,onOpenScreenings:onOpenScreenings,renderUpcomingCareAction:renderUpcomingCareAction,weightUnit:pageUnit,onOpenPlan:pageOpenPlan,noVet:noVet,onOpenRequest:onOpenRequest,nowMs:nowMs}){let facts=useSheetPetFacts(petRef,petName,options),words2=sheetPetWords(facts.name,facts.pronoun),weightUnit=options.weightUnit??pageUnit??"lb",onOpenPlan=options.onOpenPlan??pageOpenPlan,topRiskOn=useEverfurPresentation(options.topRiskLine===void 0?void 0:{recordsTopRiskLine:options.topRiskLine}).recordsTopRiskLine,markers=useRecordsMarkers(petRef),depth=useRecordsDepthRead(petRef,readDepth,depthEmpty),timeline=useRecordsDepthRead(petRef,readTimeline,timelineEmpty),at=useCoarseNow(nowMs),model=react.useMemo(()=>buildRecordsSheetModel({words:words2,record:records.record,depth:depth.value,markers:markers.markers,timeline:timeline.value,requests:records.requests,breed:facts.breed,petWeightKg:facts.weightKg,petAgeYears:facts.ageYears,nowMs:at,weightUnit:weightUnit}),[facts.name,facts.pronoun,facts.breed,facts.weightKg,facts.ageYears,records.record,records.requests,depth.value,markers.markers,timeline.value,at,weightUnit]),weight=react.useMemo(()=>webWeight(timeline.value,weightUnit),[timeline.value,weightUnit]),inFlight=react.useMemo(()=>webOnTheWay(facts.name,records.requests),[facts.name,records.requests]),photos=acceptsPhotos(records.uploadContentTypes),historyRef=react.useRef(null),heroRef=react.useRef(null),rootRef=react.useRef(null),tiers=useSheetTiers(rootRef),reduced=useEverfurTheme().motion.reducedMotion,pageVisible=usePageVisible(),petArt=useRecordsPetArt(options.stage===void 0?petRef:null,{reducedMotion:reduced,isFocused:pageVisible}),stageArt=react.useMemo(()=>({host:options.stage,art:petArt.art,onError:petArt.onError,reduced:reduced}),[options.stage,petArt.art,petArt.onError,reduced]),name=words2.name,top=topRiskOn&&facts.focus!==null?/* @__PURE__ */jsxRuntime.jsx(TopRisk,{words:words2,focus:facts.focus,onOpenPlan:onOpenPlan}):null,openHistory=model.history.length>0||model.failedRequest!==null?()=>historyRef.current?.scrollIntoView({block:"start"}):onOpenRecord,body;return readable?model.state!=="full"?body=/* @__PURE__ */jsxRuntime.jsxs(Page,{kind:"empty",children:[top,
|
|
129
|
+
/* @__PURE__ */jsxRuntime.jsx(Hero,{heroRef:heroRef,name:name,model:model,inFlight:inFlight,noVet:noVet===true,canRequest:canRequestFromClinic,onRequest:onRequest,onUpload:onUpload,onOpenRequest:onOpenRequest,photos:photos}),weight!==null?/* @__PURE__ */jsxRuntime.jsx("div",{style:{marginTop:24},children:/* @__PURE__ */jsxRuntime.jsx(WeightCard,{name:name,weight:weight})}):null,
|
|
125
130
|
/* @__PURE__ */jsxRuntime.jsx(SamplePeek,{name:name,kind:facts.species,onAdd:()=>heroRef.current?.scrollIntoView({block:"start"})})]}):body=/* @__PURE__ */jsxRuntime.jsxs(Page,{kind:"health",children:[top,
|
|
126
131
|
/* @__PURE__ */jsxRuntime.jsxs(Grid,{children:[
|
|
127
|
-
/* @__PURE__ */jsxRuntime.jsx(PetCard,{name:name,title:words2.Name,model:model,depth:depth.value,
|
|
132
|
+
/* @__PURE__ */jsxRuntime.jsx(PetCard,{name:name,title:words2.Name,model:model,depth:depth.value,records:records,onOpenRecord:onOpenRecord}),
|
|
128
133
|
/* @__PURE__ */jsxRuntime.jsx(DueCard,{name:name,rows:webCareRows(records.record!==null&&!records.record.withheld?records.record.forwardLooking:[],at),renderAction:renderUpcomingCareAction,onViewAll:openHistory}),
|
|
129
134
|
/* @__PURE__ */jsxRuntime.jsx(FilesBlock,{model:model,timeline:timeline.value,screenings:sheetScreenings(markers.markers?.markers??[]),onOpenMarker:onOpenMarker,onOpenScreenings:onOpenScreenings,onOpenRecord:onOpenRecord,onOpenTimeline:openHistory}),
|
|
130
135
|
/* @__PURE__ */jsxRuntime.jsx(WeightCard,{name:name,weight:weight}),
|
|
131
136
|
/* @__PURE__ */jsxRuntime.jsx(AddCard,{name:name,sources:webSources(records.record,depth.value),inFlight:inFlight,canRequest:canRequestFromClinic,onRequest:onRequest,onUpload:onUpload,onOpenRequest:onOpenRequest,photos:photos})]}),
|
|
132
137
|
/* @__PURE__ */jsxRuntime.jsx(Medications,{model:model}),
|
|
133
138
|
/* @__PURE__ */jsxRuntime.jsx(History,{words:words2,model:model,onOpenMarker:onOpenMarker,sectionRef:historyRef})]}):body=/* @__PURE__ */jsxRuntime.jsxs(Page,{kind:"health",children:[top,consentControl,
|
|
134
|
-
/* @__PURE__ */jsxRuntime.jsx("div",{style:{marginTop:32},children:/* @__PURE__ */jsxRuntime.jsx(AddCard,{name:name,sources:[],inFlight:[],canRequest:canRequestFromClinic,onRequest:onRequest,onUpload:onUpload,photos:photos})})]}),/* @__PURE__ */jsxRuntime.jsx(SheetTiersContext.Provider,{value:tiers,children:/* @__PURE__ */jsxRuntime.jsx(Root,{rootRef:rootRef,style:options.style,state:readable?model.state:"consent",tiers:tiers,children:body})})}function Root({rootRef:rootRef,style:style,state:state,tiers:tiers,children:children}){let wx=useWx();/* @__PURE__ */
|
|
139
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{style:{marginTop:32},children:/* @__PURE__ */jsxRuntime.jsx(AddCard,{name:name,sources:[],inFlight:[],canRequest:canRequestFromClinic,onRequest:onRequest,onUpload:onUpload,photos:photos})})]}),/* @__PURE__ */jsxRuntime.jsx(SheetTiersContext.Provider,{value:tiers,children:/* @__PURE__ */jsxRuntime.jsx(SheetStageContext.Provider,{value:stageArt,children:/* @__PURE__ */jsxRuntime.jsx(Root,{rootRef:rootRef,style:options.style,state:readable?model.state:"consent",tiers:tiers,children:body})})})}function Root({rootRef:rootRef,style:style,state:state,tiers:tiers,children:children}){let wx=useWx();/* @__PURE__ */
|
|
135
140
|
return jsxRuntime.jsx("div",{ref:rootRef,style:{...wx("root",".efw-root"),...style},"data-testid":"everfur-records-sheet","data-state":state,"data-wide":tiers.length===0?"true":void 0,"data-tiers":tiers.join(" ").replace(/\.efw-/g,"")||void 0,children:children})}function Page({kind:kind,children:children}){/* @__PURE__ */
|
|
136
141
|
return jsxRuntime.jsx("div",{"data-page":kind==="health"?"health":"health-empty",children:/* @__PURE__ */jsxRuntime.jsx(PageKind.Provider,{value:kind,children:children})})}var PageKind=react.createContext("health");function Grid({children:children}){let wx=useWx();/* @__PURE__ */
|
|
137
142
|
return jsxRuntime.jsx("div",{style:wx("block",".efw-page--health .efw-grid"),"data-testid":"everfur-records-sheet-grid",children:children})}function TopRisk({words:words2,focus:focus,onOpenPlan:onOpenPlan}){let sx2=useSx(),id=react.useId(),sentence2=focus.risk?.lead?.trim()||focus.title.trim();/* @__PURE__ */
|
|
138
143
|
return jsxRuntime.jsxs("section",{style:{...sx2("block",".rec-top"),marginBottom:0},"aria-labelledby":id,"data-testid":"everfur-records-sheet-top-risk",children:[
|
|
139
144
|
/* @__PURE__ */jsxRuntime.jsxs("p",{id:id,style:sx2("p",".rec-top__k"),children:[
|
|
140
145
|
/* @__PURE__ */jsxRuntime.jsx("span",{style:sx2("block",".dot",".dot--risk"),"aria-hidden":"true"}),SHEET_COPY.topRisk(words2)]}),
|
|
141
|
-
/* @__PURE__ */jsxRuntime.jsx("p",{style:{...sx2("p",".rec-top__t"),overflowWrap:"anywhere"},children:sentence2}),onOpenPlan!==void 0?/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onOpenPlan,style:sx2("button",".emb-btn",".emb-btn--sm",".rec-top .emb-btn"),"data-testid":"everfur-records-sheet-top-risk-plan",children:SHEET_COPY.seePlan(words2)}):null]})}var VITAL_ICON={temp:["efi-thermo",".efw-ico--thermo"],heart:["efi-heart",".efw-ico--heart"],breath:["efi-wind",".efw-ico--wind"]};function PetCard({name:name,title:title,model:model,depth:depth,
|
|
142
|
-
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:VITAL_ICON[v.kind][0],style:wx("media",".efw-ico",".efw-vitals .efw-ico",VITAL_ICON[v.kind][1])}),
|
|
143
|
-
/* @__PURE__ */jsxRuntime.jsx("b",{style:wx(null,".efw-vitals b"),children:v.value}),v.unit?/* @__PURE__ */jsxRuntime.jsx("small",{style:wx(null,".efw-root small",".efw-vitals small"),children:v.unit}):null]},v.kind))});/* @__PURE__ */
|
|
146
|
+
/* @__PURE__ */jsxRuntime.jsx("p",{style:{...sx2("p",".rec-top__t"),overflowWrap:"anywhere"},children:sentence2}),onOpenPlan!==void 0?/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onOpenPlan,style:sx2("button",".emb-btn",".emb-btn--sm",".rec-top .emb-btn"),"data-testid":"everfur-records-sheet-top-risk-plan",children:SHEET_COPY.seePlan(words2)}):null]})}var VITAL_ICON={temp:["efi-thermo",".efw-ico--thermo"],heart:["efi-heart",".efw-ico--heart"],breath:["efi-wind",".efw-ico--wind"]};function PetCard({name:name,title:title,model:model,depth:depth,records:records,onOpenRecord:onOpenRecord}){let wx=useWx(),id=react.useId(),tiers=react.useContext(SheetTiersContext),{host:host,reduced:reduced}=react.useContext(SheetStageContext),stage=useArrival(reduced),list=useArrival(reduced),petBox=react.useRef(null),heart=react.useRef(null);usePetLean(stage.element,petBox,!reduced),useHeartBeat(heart,list);let meta=model.meta===null?[]:model.meta.split(" · "),exam=model.vitals.length>0?vitalsExam(depth,sheetVitals(records.record).observedMs):null,vitals=model.vitals.length===0?null:/* @__PURE__ */jsxRuntime.jsx("ul",{ref:list.ref,style:wx("list",".efw-root ul",".efw-vitals"),"aria-label":WEB_HEALTH_COPY.vitalsLabel(name),"data-testid":"everfur-records-sheet-vitals",children:model.vitals.map((v,index)=>/* @__PURE__ */jsxRuntime.jsxs("li",{style:{...wx("block",".efw-vitals li"),...enterMotion(list,index)},children:[
|
|
147
|
+
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:VITAL_ICON[v.kind][0],style:wx("media",".efw-ico",".efw-vitals .efw-ico",VITAL_ICON[v.kind][1]),iconRef:v.kind==="heart"?heart:void 0}),
|
|
148
|
+
/* @__PURE__ */jsxRuntime.jsx("b",{style:wx(null,".efw-vitals b"),children:/* @__PURE__ */jsxRuntime.jsx(CountUp,{value:v.value,arrival:list})}),v.unit?/* @__PURE__ */jsxRuntime.jsx("small",{style:wx(null,".efw-root small",".efw-vitals small"),children:v.unit}):null]},v.kind))}),wideHead=!tiers.includes(".efw-max559");/* @__PURE__ */
|
|
144
149
|
return jsxRuntime.jsxs("section",{style:wx("block",".efw-card",".efw-card--pet",".efw-page--health .efw-block",".efw-page--health .efw-block--pet"),"aria-labelledby":id,"data-testid":"everfur-records-sheet-head",children:[
|
|
145
150
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-pet__head"),children:[
|
|
146
151
|
/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:{...wx("h",".efw-root h2",".efw-pet__name"),overflowWrap:"anywhere"},children:title}),meta.length>0?/* @__PURE__ */jsxRuntime.jsxs("p",{style:wx("p",".efw-root p",".efw-pet__meta"),children:[
|
|
147
152
|
/* @__PURE__ */jsxRuntime.jsx("span",{"aria-hidden":"true",children:meta.join(" · ")}),
|
|
148
|
-
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-visually-hidden"),children:meta.join(", ")})]}):null,exam!==null?/* @__PURE__ */jsxRuntime.jsx(VitalsPop,{label:WEB_HEALTH_COPY.vitalsFromLabel(name),text:WEB_HEALTH_COPY.vitalsFrom(exam.vet,exam.date),onOpen:onOpenRecord}):null]}),
|
|
149
|
-
/* @__PURE__ */jsxRuntime.
|
|
150
|
-
/* @__PURE__ */jsxRuntime.jsx(
|
|
153
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-visually-hidden"),children:meta.join(", ")})]}):null,exam!==null?/* @__PURE__ */jsxRuntime.jsx(VitalsPop,{label:WEB_HEALTH_COPY.vitalsFromLabel(name),text:WEB_HEALTH_COPY.vitalsFrom(exam.vet,exam.date),onOpen:onOpenRecord,wide:wideHead}):null]}),
|
|
154
|
+
/* @__PURE__ */jsxRuntime.jsxs("div",{ref:stage.ref,style:wx("block",".efw-stage"),"data-testid":"everfur-records-sheet-stage","data-arrived":stage.arrived?"true":void 0,children:[
|
|
155
|
+
/* @__PURE__ */jsxRuntime.jsx(Grass,{src:host?.grassSrc??RECORDS_GRASS_URL,style:{...wx("media",".efw-root img",".efw-stage__grass"),height:"32%",...stageGrassMotion(stage)}}),
|
|
156
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{ref:petBox,style:{...wx("block",".efw-stage__pet"),bottom:"5%",height:"86%",aspectRatio:"720 / 1119",...stagePetMotion(stage)},children:/* @__PURE__ */jsxRuntime.jsx(StagePet,{name:name,skeleton:true})}),vitals!==null?/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-stage__info"),children:vitals}):null]})]})}function Grass({src:src,style:style}){let[failed,setFailed]=react.useState(null);/* @__PURE__ */
|
|
157
|
+
return jsxRuntime.jsx("img",{src:src,alt:"",width:GRASS_WIDTH,height:GRASS_HEIGHT,onError:()=>setFailed(src),style:failed===src?{...style,visibility:"hidden"}:style,"data-testid":"everfur-records-sheet-grass"})}function StagePet({name:name,skeleton:skeleton}){let wx=useWx(),{host:host,art:art,onError:onError,reduced:reduced}=react.useContext(SheetStageContext);if(host!==void 0)/* @__PURE__ */return jsxRuntime.jsx("img",{src:host.petSrc,alt:"",width:720,height:1119,style:PET_IMG});let ink=String(wx(null,".efw-root h2").color??"#10462E");/* @__PURE__ */
|
|
158
|
+
return jsxRuntime.jsx(PetArt,{art:art,onError:onError,name:name,skeleton:skeleton,reduced:reduced,monogram:{ink:ink,tint:mixColor(ink,"#FFFFFF",.1),line:mixColor(ink,"#FFFFFF",.61)},testID:"everfur-records-sheet-pet"})}var PET_IMG=/* @__PURE__ */Object.freeze({display:"block",width:"100%",height:"100%",maxWidth:"none",objectFit:"contain"});function VitalsPop({label:label,text:text2,onOpen:onOpen,wide:wide}){let wx=useWx(),id=react.useId(),[open,setOpen]=react.useState(false),button=react.useRef(null),card=react.useRef(null);return react.useEffect(()=>{if(!open)return;let doc=button.current?.ownerDocument;if(doc===void 0)return;let onClick=event=>{let target=event.target;target!==null&&(button.current?.contains(target)===true||card.current?.contains(target)===true)||setOpen(false)},onKey=event=>{event.key==="Escape"&&(setOpen(false),button.current?.focus())};return doc.addEventListener("click",onClick),doc.addEventListener("keydown",onKey),()=>{doc.removeEventListener("click",onClick),doc.removeEventListener("keydown",onKey)}},[open]),/* @__PURE__ */jsxRuntime.jsxs("div",{style:{...wx("block",".efw-pop",".efw-pet__head .efw-pop"),...wide?{marginLeft:"auto"}:{}},children:[
|
|
151
159
|
/* @__PURE__ */jsxRuntime.jsx("button",{ref:button,type:"button","aria-expanded":open,"aria-controls":id,"aria-label":label,onClick:()=>setOpen(was=>!was),style:wx("button",".efw-pop__btn",open&&'.efw-pop__btn[aria-expanded="true"]'),"data-testid":"everfur-records-sheet-vitals-from",children:/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-info-mark",style:wx("media",".efw-ico",".efw-pop__btn .efw-ico")})}),
|
|
152
160
|
/* @__PURE__ */jsxRuntime.jsxs("p",{ref:card,id:id,style:wx("p",".efw-root p",".efw-pop__card",open&&".efw-pop__card.efw-is-open",".efw-pet__head .efw-pop__card"),children:[text2,
|
|
153
|
-
/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onOpen,style:{...wx("button",".efw-root a",".efw-pop__card a"),textDecoration:"underline"},children:WEB_HEALTH_COPY.examNotes})]})]})}var MAX_DUE_ROWS=4;function DueCard({name:name,rows:rows,renderAction:renderAction,onViewAll:onViewAll}){let wx=useWx(),id=react.useId();/* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onOpen,style:{...wx("button",".efw-root a",".efw-pop__card a"),textDecoration:"underline"},children:WEB_HEALTH_COPY.examNotes})]})]})}var MAX_DUE_ROWS=4;function DueCard({name:name,rows:rows,renderAction:renderAction,onViewAll:onViewAll}){let wx=useWx(),id=react.useId(),list=useArrival(react.useContext(SheetStageContext).reduced);/* @__PURE__ */
|
|
154
162
|
return jsxRuntime.jsxs("section",{style:wx("block",".efw-card",".efw-page--health .efw-block",".efw-page--health .efw-block--due"),"aria-labelledby":id,"data-testid":"everfur-records-sheet-upcoming",children:[
|
|
155
163
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-card__head"),children:[
|
|
156
|
-
/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:WEB_HEALTH_COPY.upcomingCare}),rows.length>0?/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onViewAll,style:wx("button",".efw-root a",".efw-card__link"),"data-testid":"everfur-records-sheet-upcoming-all",children:WEB_HEALTH_COPY.viewAll}):null]}),rows.length===0?/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p"),children:WEB_HEALTH_COPY.nothingDue(name)}):/* @__PURE__ */jsxRuntime.jsx("ol",{style:wx("list",".efw-root ol",".efw-due"),children:rows.slice(0,MAX_DUE_ROWS).map(row=>{let alert=row.tone==="overdue";/* @__PURE__ */
|
|
157
|
-
return jsxRuntime.jsxs("li",{style:wx("block",".efw-due li",alert&&".efw-due li.efw-is-alert"),children:[
|
|
164
|
+
/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:WEB_HEALTH_COPY.upcomingCare}),rows.length>0?/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onViewAll,style:wx("button",".efw-root a",".efw-card__link"),"data-testid":"everfur-records-sheet-upcoming-all",children:WEB_HEALTH_COPY.viewAll}):null]}),rows.length===0?/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p"),children:WEB_HEALTH_COPY.nothingDue(name)}):/* @__PURE__ */jsxRuntime.jsx("ol",{ref:list.ref,style:wx("list",".efw-root ol",".efw-due"),children:rows.slice(0,MAX_DUE_ROWS).map((row,index)=>{let alert=row.tone==="overdue";/* @__PURE__ */
|
|
165
|
+
return jsxRuntime.jsxs("li",{style:{...wx("block",".efw-due li",alert&&".efw-due li.efw-is-alert"),...enterMotion(list,index)},children:[
|
|
158
166
|
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:row.icon,style:wx("media",".efw-ico",".efw-due li > .efw-ico",alert&&".efw-due li.efw-is-alert > .efw-ico")}),
|
|
159
167
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-due__text"),children:[
|
|
160
168
|
/* @__PURE__ */jsxRuntime.jsx("h3",{style:wx("h",".efw-root h3",".efw-due__title",alert&&".efw-is-alert .efw-due__title"),children:row.title}),
|
|
161
169
|
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-due__when",alert&&".efw-is-alert .efw-due__when"),children:row.when})]}),alert&&renderAction!==void 0?/* @__PURE__ */jsxRuntime.jsx(HostRender,{render:()=>renderAction(row.item),fallback:/* @__PURE__ */jsxRuntime.jsx(DuePill,{row:row}),resetKey:row.item}):/* @__PURE__ */jsxRuntime.jsx(DuePill,{row:row})]},row.key)})})]})}function DuePill({row:row}){let wx=useWx();/* @__PURE__ */
|
|
162
|
-
return jsxRuntime.jsx("span",{style:wx("block",".efw-pill",row.pill.className),children:row.pill.text})}function sheetScreenings(markers){let screenings=markers.filter(m=>(m.latest?.qualitativeResult??"").trim().length>0);if(screenings.length===0)return null;let flagged=screenings.filter(m=>screeningIsFlagged(m.latest?.status??null,m.latest?.qualitativeResult??"")),first=flagged[0]??screenings[0];return flagged.length>0?{label:WEB_HEALTH_COPY.screeningsToReview(flagged.length),flagged:true,markerId:first.markerId}:{label:WEB_HEALTH_COPY.screeningsClear,flagged:false,markerId:first.markerId}}function screeningIsFlagged(status,resultText){return status==="in_range"?false:status==="above"||status==="below"?true:/negative|not detected|clear|none/i.test(resultText)?false:/positive|detected|present|reactive/i.test(resultText)}function Tile({tone:tone,icon:icon,title:title,foot:foot,onOpen:onOpen,testID:testID}){let wx=useWx();/* @__PURE__ */
|
|
163
|
-
return jsxRuntime.jsx("li",{children:/* @__PURE__ */jsxRuntime.jsxs("button",{type:"button",onClick:onOpen,style:{...
|
|
170
|
+
return jsxRuntime.jsx("span",{style:wx("block",".efw-pill",row.pill.className),children:row.pill.text})}function sheetScreenings(markers){let screenings=markers.filter(m=>(m.latest?.qualitativeResult??"").trim().length>0);if(screenings.length===0)return null;let flagged=screenings.filter(m=>screeningIsFlagged(m.latest?.status??null,m.latest?.qualitativeResult??"")),first=flagged[0]??screenings[0];return flagged.length>0?{label:WEB_HEALTH_COPY.screeningsToReview(flagged.length),flagged:true,markerId:first.markerId}:{label:WEB_HEALTH_COPY.screeningsClear,flagged:false,markerId:first.markerId}}function screeningIsFlagged(status,resultText){return status==="in_range"?false:status==="above"||status==="below"?true:/negative|not detected|clear|none/i.test(resultText)?false:/positive|detected|present|reactive/i.test(resultText)}function Tile({tone:tone,icon:icon,title:title,foot:foot,onOpen:onOpen,testID:testID,enter:enter}){let wx=useWx(),tileStyle=wx("button",".efw-root a",".efw-tile",`.efw-tile--${tone}`),hover=useTileHover(String(tileStyle.color??"#10462E"),react.useContext(SheetStageContext).reduced);/* @__PURE__ */
|
|
171
|
+
return jsxRuntime.jsx("li",{style:enter,children:/* @__PURE__ */jsxRuntime.jsxs("button",{type:"button",onClick:onOpen,...hover.handlers,style:{...tileStyle,...hover.tile,width:"100%"},"data-testid":testID,children:[
|
|
164
172
|
/* @__PURE__ */jsxRuntime.jsxs("span",{style:wx("block",".efw-tile__top"),children:[
|
|
165
173
|
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:icon,style:wx("media",".efw-ico",".efw-tile__top .efw-ico")}),
|
|
166
|
-
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:wx("media",".efw-ico",".efw-tile__top .efw-ico",".efw-tile__top .efw-ico--chev")})]}),
|
|
174
|
+
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:{...wx("media",".efw-ico",".efw-tile__top .efw-ico",".efw-tile__top .efw-ico--chev"),...hover.chevron}})]}),
|
|
167
175
|
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx("block",".efw-tile__title"),children:title}),
|
|
168
|
-
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx("block",".efw-tile__foot"),children:foot})]})})}function FilesBlock({model:model,timeline:timeline,screenings:screenings,onOpenMarker:onOpenMarker,onOpenScreenings:onOpenScreenings,onOpenRecord:onOpenRecord,onOpenTimeline:onOpenTimeline}){let wx=useWx(),id=react.useId(),labs=model.labsCount,featured=model.featuredMarkerId,visit=latestVisitLabel(timeline),events=timelineCount(timeline),pill=(text2,className)=>/* @__PURE__ */jsxRuntime.jsx("span",{style:wx("block",".efw-pill",className),children:text2});/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx("block",".efw-tile__foot"),children:foot})]})})}function FilesBlock({model:model,timeline:timeline,screenings:screenings,onOpenMarker:onOpenMarker,onOpenScreenings:onOpenScreenings,onOpenRecord:onOpenRecord,onOpenTimeline:onOpenTimeline}){let wx=useWx(),id=react.useId(),labs=model.labsCount,featured=model.featuredMarkerId,visit=latestVisitLabel(timeline),events=timelineCount(timeline),pill=(text2,className)=>/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx("block",".efw-pill",className),fontVariantNumeric:"tabular-nums"},children:text2}),list=useArrival(react.useContext(SheetStageContext).reduced);/* @__PURE__ */
|
|
169
177
|
return jsxRuntime.jsxs("section",{style:wx("block",".efw-page--health .efw-block",".efw-page--health .efw-block--files"),"aria-labelledby":id,"data-testid":"everfur-records-sheet-tiles",children:[
|
|
170
178
|
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-card__head",".efw-page--health .efw-block--files .efw-card__head"),children:/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:WEB_HEALTH_COPY.recordsHistory})}),
|
|
171
|
-
/* @__PURE__ */jsxRuntime.jsxs("ul",{style:wx("list",".efw-root ul",".efw-tiles"),children:[
|
|
172
|
-
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"sage",icon:"efi-flask",title:WEB_HEALTH_COPY.labs,testID:"everfur-records-sheet-tile-labs",onOpen:featured!==null?()=>onOpenMarker(featured):onOpenRecord,foot:/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
173
|
-
/* @__PURE__ */jsxRuntime.jsx(
|
|
179
|
+
/* @__PURE__ */jsxRuntime.jsxs("ul",{ref:list.ref,style:wx("list",".efw-root ul",".efw-tiles"),children:[
|
|
180
|
+
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"sage",icon:"efi-flask",title:WEB_HEALTH_COPY.labs,testID:"everfur-records-sheet-tile-labs",enter:enterMotion(list,0),onOpen:featured!==null?()=>onOpenMarker(featured):onOpenRecord,foot:/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
181
|
+
/* @__PURE__ */jsxRuntime.jsx(CountUp,{value:String(labs),arrival:list,style:wx(null,".efw-tile__num")}),
|
|
174
182
|
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-tile__unit"),children:WEB_HEALTH_COPY.results(labs)})]})}),
|
|
175
|
-
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"pink",icon:"efi-shield",title:WEB_HEALTH_COPY.screenings,testID:"everfur-records-sheet-tile-screenings",onOpen:onOpenScreenings??(screenings!==null?()=>onOpenMarker(screenings.markerId):onOpenRecord),foot:screenings!==null?pill(screenings.label,screenings.flagged?".efw-pill--high":".efw-pill--clear"):/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-tile__unit"),children:WEB_HEALTH_COPY.noScreenings})}),
|
|
176
|
-
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"blue",icon:"efi-folder",title:WEB_HEALTH_COPY.visits,onOpen:onOpenRecord,testID:"everfur-records-sheet-tile-record",foot:visit!==null?pill(visit,".efw-pill--plain"):/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-tile__unit"),children:WEB_HEALTH_COPY.noVisits})}),
|
|
177
|
-
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"yellow",icon:"efi-clock",title:WEB_HEALTH_COPY.timeline,testID:"everfur-records-sheet-tile-timeline",onOpen:onOpenTimeline,foot:events!==null?pill(
|
|
183
|
+
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"pink",icon:"efi-shield",title:WEB_HEALTH_COPY.screenings,testID:"everfur-records-sheet-tile-screenings",enter:enterMotion(list,1),onOpen:onOpenScreenings??(screenings!==null?()=>onOpenMarker(screenings.markerId):onOpenRecord),foot:screenings!==null?pill(screenings.label,screenings.flagged?".efw-pill--high":".efw-pill--clear"):/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-tile__unit"),children:WEB_HEALTH_COPY.noScreenings})}),
|
|
184
|
+
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"blue",icon:"efi-folder",title:WEB_HEALTH_COPY.visits,onOpen:onOpenRecord,testID:"everfur-records-sheet-tile-record",enter:enterMotion(list,2),foot:visit!==null?pill(visit,".efw-pill--plain"):/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-tile__unit"),children:WEB_HEALTH_COPY.noVisits})}),
|
|
185
|
+
/* @__PURE__ */jsxRuntime.jsx(Tile,{tone:"yellow",icon:"efi-clock",title:WEB_HEALTH_COPY.timeline,testID:"everfur-records-sheet-tile-timeline",onOpen:onOpenTimeline,enter:enterMotion(list,3),foot:events!==null?pill(/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
186
|
+
/* @__PURE__ */jsxRuntime.jsx(CountUp,{value:String(events),arrival:list,style:{marginInlineEnd:"0.6ch"}}),WEB_HEALTH_COPY.events(events)]}),".efw-pill--plain"):null})]})]})}function WeightCard({name:name,weight:weight}){let wx=useWx(),id=react.useId(),plot=weight?.plot??[],band=weight?.band??null,figure=useArrival(react.useContext(SheetStageContext).reduced);/* @__PURE__ */
|
|
178
187
|
return jsxRuntime.jsxs("section",{style:wx("block",".efw-card",".efw-page--health .efw-block",".efw-page--health .efw-block--weight"),"aria-labelledby":id,"data-testid":"everfur-records-sheet-weight",children:[
|
|
179
188
|
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-card__head"),children:/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:WEB_HEALTH_COPY.weight})}),weight!==null?/* @__PURE__ */jsxRuntime.jsxs("p",{style:wx("p",".efw-root p",".efw-wt__num"),children:[
|
|
180
189
|
/* @__PURE__ */jsxRuntime.jsx("b",{style:wx(null,".efw-wt__num b"),children:weight.primary}),
|
|
181
|
-
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-wt__num span"),children:weight.secondary})]}):/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p"),children:WEB_HEALTH_COPY.noWeights(name)}),plot.length>0?/* @__PURE__ */jsxRuntime.jsxs("figure",{style:wx("block",".efw-root figure",".efw-wchart"),children:[
|
|
190
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-wt__num span"),children:weight.secondary})]}):/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p"),children:WEB_HEALTH_COPY.noWeights(name)}),plot.length>0?/* @__PURE__ */jsxRuntime.jsxs("figure",{ref:figure.ref,style:wx("block",".efw-root figure",".efw-wchart"),children:[
|
|
182
191
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-wchart__body"),children:[
|
|
183
|
-
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-wchart__rail"),"aria-hidden":"true"
|
|
184
|
-
/* @__PURE__ */jsxRuntime.jsx("
|
|
192
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-wchart__rail"),"aria-hidden":"true",children:band!==null?/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
193
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx("block",".efw-wchart__rail span"),...chartRailMotion(figure,0)}}),
|
|
194
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx("block",".efw-wchart__rail span",".efw-wchart__rail span:nth-child(2)"),...chartRailMotion(figure,1)}}),
|
|
195
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx("block",".efw-wchart__rail span"),...chartRailMotion(figure,2)}})]}):null}),
|
|
196
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{style:{...wx("block",".efw-wchart__legend"),...chartLegendMotion(figure)},"aria-hidden":"true",children:band!==null?/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
197
|
+
/* @__PURE__ */jsxRuntime.jsxs("p",{style:wx("p",".efw-root p",".efw-range",".efw-range--over"),children:[WEB_HEALTH_COPY.rangeOver[0],
|
|
198
|
+
/* @__PURE__ */jsxRuntime.jsx("br",{}),WEB_HEALTH_COPY.rangeOver[1]]}),
|
|
199
|
+
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-range",".efw-range--in"),children:WEB_HEALTH_COPY.rangeIn}),
|
|
200
|
+
/* @__PURE__ */jsxRuntime.jsxs("p",{style:wx("p",".efw-root p",".efw-range",".efw-range--under"),children:[WEB_HEALTH_COPY.rangeUnder[0],
|
|
201
|
+
/* @__PURE__ */jsxRuntime.jsx("br",{}),WEB_HEALTH_COPY.rangeUnder[1]]})]}):null}),
|
|
185
202
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-wchart__plot"),role:"img","aria-label":weight?.label??void 0,children:[
|
|
186
|
-
/* @__PURE__ */jsxRuntime.jsxs("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:wx("media",".efw-wchart__plot svg"),children:[
|
|
187
|
-
/* @__PURE__ */jsxRuntime.jsx("
|
|
203
|
+
/* @__PURE__ */jsxRuntime.jsxs("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{...wx("media",".efw-wchart__plot svg"),...chartLineMotion(figure)},children:[band!==null?/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
204
|
+
/* @__PURE__ */jsxRuntime.jsx("rect",{x:"0",y:"25",width:"100",height:"50",style:wx(null,".efw-wchart__band"),"data-testid":"everfur-records-sheet-weight-band"}),
|
|
205
|
+
/* @__PURE__ */jsxRuntime.jsx("line",{x1:"0",y1:"25",x2:"100",y2:"25",style:wx(null,".efw-wchart__grid")}),
|
|
206
|
+
/* @__PURE__ */jsxRuntime.jsx("line",{x1:"0",y1:"75",x2:"100",y2:"75",style:wx(null,".efw-wchart__grid")})]}):null,plot.map((p,i)=>/* @__PURE__ */jsxRuntime.jsx("line",{x1:p.x,y1:"0",x2:p.x,y2:"100",style:wx(null,".efw-wchart__drop")},`d-${i}`)),
|
|
207
|
+
/* @__PURE__ */jsxRuntime.jsx("polyline",{points:plot.map(p=>`${p.x},${p.y}`).join(" "),style:wx(null,".efw-wchart__line")})]}),plot.map((p,i)=>/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx("block",".efw-wchart__pt",p.outside&&".efw-wchart__pt--low"),left:`${p.x}%`,top:`${p.y}%`,...chartPointMotion(figure,p.x)},"data-outside":p.outside?"":void 0,children:/* @__PURE__ */jsxRuntime.jsx("span",{style:wx("block",".efw-wchart__val",p.below&&".efw-wchart__pt--below .efw-wchart__val"),children:p.label})},`p-${i}`))]})]}),
|
|
188
208
|
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-wchart__x"),"aria-hidden":"true",children:plot.map((p,i)=>p.axis!==null?/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx(null,".efw-wchart__x span"),left:`${p.x}%`},children:p.axis},`x-${i}`):null)})]}):weight!==null&&weight.count===1?/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[weight.date!==null?/* @__PURE__ */jsxRuntime.jsx("p",{style:{...wx("p",".efw-root p",".efw-pet__meta"),marginBottom:8},children:/* @__PURE__ */jsxRuntime.jsx("time",{dateTime:weight.date.iso,children:weight.date.text})}):null,
|
|
189
|
-
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-pet__meta"),"data-testid":"everfur-records-sheet-weight-single",children:WEB_HEALTH_COPY.oneReading})]}):null]})}function Medications({model:model}){let wx=useWx(),id=react.useId(),meds=model.medications;return meds===null?null:/* @__PURE__ */jsxRuntime.jsxs("section",{style:{...wx("block",".efw-card"),marginTop:24},"aria-labelledby":id,"data-testid":"everfur-records-sheet-meds",children:[
|
|
209
|
+
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-pet__meta"),"data-testid":"everfur-records-sheet-weight-single",children:WEB_HEALTH_COPY.oneReading})]}):null,plot.length>0&&band!==null?/* @__PURE__ */jsxRuntime.jsx("p",{style:{...wx("p",".efw-root p",".efw-pet__meta"),marginTop:8},"data-testid":"everfur-records-sheet-weight-estimated",children:WEB_HEALTH_COPY.estimatedRange}):null]})}function Medications({model:model}){let wx=useWx(),id=react.useId(),meds=model.medications;return meds===null?null:/* @__PURE__ */jsxRuntime.jsxs("section",{style:{...wx("block",".efw-card"),marginTop:24},"aria-labelledby":id,"data-testid":"everfur-records-sheet-meds",children:[
|
|
190
210
|
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-card__head"),children:/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:SHEET_COPY.takingNow})}),meds.current.length===0?/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p"),children:SHEET_COPY.noCurrentMeds}):/* @__PURE__ */jsxRuntime.jsx("ul",{style:wx("list",".efw-root ul",".efw-rec"),children:meds.current.map(m=>/* @__PURE__ */jsxRuntime.jsx("li",{style:wx("block",".efw-rec > li.efw-rec__row",".efw-rec--plain > li.efw-rec__row"),children:/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-rec__text"),children:[
|
|
191
211
|
/* @__PURE__ */jsxRuntime.jsx("h3",{style:{...wx("h",".efw-root h3",".efw-rec__title"),overflowWrap:"anywhere"},children:m.name}),m.detail!==null?/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-rec__meta"),children:m.detail}):null]})},m.key))})]})}function Failed({words:words2}){let wx=useWx();/* @__PURE__ */
|
|
192
|
-
return jsxRuntime.jsx("p",{style:{...wx("p",".efw-root p"),color:wx(null,".efw-ico--heart").color},role:"status","data-testid":"everfur-records-sheet-failed",children:words2})}function HistoryRow({item:item,last:last,beforeYear:beforeYear,onOpenMarker:onOpenMarker}){let wx=useWx(),markerId=item.markerId,text2=/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
212
|
+
return jsxRuntime.jsx("p",{style:{...wx("p",".efw-root p"),color:wx(null,".efw-ico--heart").color},role:"status","data-testid":"everfur-records-sheet-failed",children:words2})}function HistoryRow({item:item,last:last,beforeYear:beforeYear,onOpenMarker:onOpenMarker,seen:seen,index:index}){let wx=useWx(),motion=timelineRowMotion(seen,index),lit=seen.seen(index)&&!item.alert?{background:String(wx(null,".efw-wchart__pt").background??"#07C168")}:{},markerId=item.markerId,text2=/* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[
|
|
193
213
|
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-tl__date"),children:item.date}),
|
|
194
214
|
/* @__PURE__ */jsxRuntime.jsx("h3",{style:wx("h",".efw-root h3",".efw-tl__title",item.alert&&".efw-tl__item.efw-is-alert .efw-tl__title"),children:item.title}),item.text!==null?/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-tl__text"),children:item.text}):null]});/* @__PURE__ */
|
|
195
|
-
return jsxRuntime.jsxs("li",{style:wx("block",".efw-tl__item"),children:[
|
|
196
|
-
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx("block",".efw-tl__item::before",last&&".efw-tl__item:last-child::before",beforeYear&&".efw-tl__item:has(+ .efw-tl__year)::before"),"aria-hidden":"true"}),
|
|
197
|
-
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx("block",".efw-tl__dot",item.alert&&".efw-tl__item.efw-is-alert .efw-tl__dot"),"aria-hidden":"true"}),markerId!==null?/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:()=>onOpenMarker(markerId),style:wx("button"),"data-testid":`everfur-records-sheet-history-marker-${markerId}`,children:text2}):/* @__PURE__ */jsxRuntime.jsx("div",{children:text2})]})}function History({words:words2,model:model,onOpenMarker:onOpenMarker,sectionRef:sectionRef}){let wx=useWx(),id=react.useId();if(model.history.length===0&&model.failedRequest===null)return null;let rows=[];return model.history.forEach((year,y)=>{rows.push(/* @__PURE__ */jsxRuntime.jsx("li",{style:wx("p",".efw-tl__year",y===0&&".efw-tl__year:first-child"),children:year.year},`year-${year.year}`)),year.items.forEach((item,i)=>{let lastOfYear=i===year.items.length-1;rows.push(
|
|
198
|
-
/* @__PURE__ */jsxRuntime.jsx(HistoryRow,{item:item,onOpenMarker:onOpenMarker,last:lastOfYear&&y===model.history.length-1,beforeYear:lastOfYear&&y<model.history.length-1},item.key))})}),/* @__PURE__ */jsxRuntime.jsxs("section",{ref:sectionRef,style:{...wx("block",".efw-card"),marginTop:24},"aria-labelledby":id,"data-testid":"everfur-records-sheet-history",children:[
|
|
215
|
+
return jsxRuntime.jsxs("li",{ref:seen.rowRef(index),style:{...wx("block",".efw-tl__item"),...motion.row},children:[
|
|
216
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx("block",".efw-tl__item::before",last&&".efw-tl__item:last-child::before",beforeYear&&".efw-tl__item:has(+ .efw-tl__year)::before"),...motion.rail},"aria-hidden":"true"}),
|
|
217
|
+
/* @__PURE__ */jsxRuntime.jsx("span",{style:{...wx("block",".efw-tl__dot",item.alert&&".efw-tl__item.efw-is-alert .efw-tl__dot"),...motion.dot,...lit},"aria-hidden":"true"}),markerId!==null?/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:()=>onOpenMarker(markerId),style:wx("button"),"data-testid":`everfur-records-sheet-history-marker-${markerId}`,children:text2}):/* @__PURE__ */jsxRuntime.jsx("div",{children:text2})]})}function History({words:words2,model:model,onOpenMarker:onOpenMarker,sectionRef:sectionRef}){let wx=useWx(),id=react.useId(),count=model.history.reduce((n,year)=>n+year.items.length,0),seen=useTimelineSeen(count,react.useContext(SheetStageContext).reduced);if(model.history.length===0&&model.failedRequest===null)return null;let rows=[],index=0;return model.history.forEach((year,y)=>{rows.push(/* @__PURE__ */jsxRuntime.jsx("li",{style:wx("p",".efw-tl__year",y===0&&".efw-tl__year:first-child"),children:year.year},`year-${year.year}`)),year.items.forEach((item,i)=>{let lastOfYear=i===year.items.length-1;index+=1,rows.push(
|
|
218
|
+
/* @__PURE__ */jsxRuntime.jsx(HistoryRow,{item:item,onOpenMarker:onOpenMarker,last:lastOfYear&&y===model.history.length-1,beforeYear:lastOfYear&&y<model.history.length-1,seen:seen,index:index},item.key))})}),/* @__PURE__ */jsxRuntime.jsxs("section",{ref:sectionRef,style:{...wx("block",".efw-card"),marginTop:24},"aria-labelledby":id,"data-testid":"everfur-records-sheet-history",children:[
|
|
199
219
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-card__head"),children:[
|
|
200
220
|
/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:SHEET_COPY.history}),model.history.length>0?/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-tl__date"),children:SHEET_COPY.theirClinic(words2)}):null]}),model.failedRequest!==null?/* @__PURE__ */jsxRuntime.jsx(Failed,{words:model.failedRequest}):null,rows.length>0?/* @__PURE__ */jsxRuntime.jsx("ol",{style:wx("list",".efw-root ol",".efw-tl"),children:rows}):null]})}function OnTheWay({lines:lines,onOpenRequest:onOpenRequest}){let wx=useWx(),add=react.useContext(PageKind)==="health";return lines.length===0?null:/* @__PURE__ */jsxRuntime.jsx(jsxRuntime.Fragment,{children:lines.map(line=>/* @__PURE__ */jsxRuntime.jsxs("div",{style:{display:"grid",justifyItems:"start",gap:8},"data-testid":"everfur-records-sheet-on-the-way",children:[
|
|
201
221
|
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",add&&".efw-add p"),children:line.text}),onOpenRequest!==void 0?/* @__PURE__ */jsxRuntime.jsxs("button",{type:"button",onClick:()=>onOpenRequest(line.requestId),"data-testid":"everfur-records-sheet-on-the-way-go",style:wx("button",".efw-root a",".efw-btn",".efw-btn--outline",".efw-btn--sm",add&&".efw-add .efw-btn",add&&".efw-card--pink .efw-btn--outline"),children:[WEB_HEALTH_COPY.seeWhereItStands,
|
|
202
|
-
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:wx("media",".efw-ico",".efw-btn--sm .efw-ico")})]}):null]},line.key))})}function AddCard({name:name,sources:sources,inFlight:inFlight,canRequest:canRequest,onRequest:onRequest,onUpload:onUpload,onOpenRequest:onOpenRequest,photos:photos}){let wx=useWx(),id=react.useId(),hintId=react.useId(),btn=kind=>wx("button",".efw-root a",".efw-btn",kind,".efw-btn--sm",".efw-add .efw-btn",kind===".efw-btn--outline"&&".efw-card--pink .efw-btn--outline");/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:wx("media",".efw-ico",".efw-btn--sm .efw-ico")})]}):null]},line.key))})}function AddCard({name:name,sources:sources,inFlight:inFlight,canRequest:canRequest,onRequest:onRequest,onUpload:onUpload,onOpenRequest:onOpenRequest,photos:photos}){let wx=useWx(),id=react.useId(),hintId=react.useId(),list=useArrival(react.useContext(SheetStageContext).reduced),btn=kind=>wx("button",".efw-root a",".efw-btn",kind,".efw-btn--sm",".efw-add .efw-btn",kind===".efw-btn--outline"&&".efw-card--pink .efw-btn--outline");/* @__PURE__ */
|
|
203
223
|
return jsxRuntime.jsx("section",{style:wx("block",".efw-card",".efw-card--pink",".efw-page--health .efw-block",".efw-page--health .efw-block--add"),"aria-labelledby":id,"data-testid":"everfur-records-sheet-add",children:/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-add"),children:[
|
|
204
224
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-add__head"),children:[
|
|
205
225
|
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-clip",style:wx("media",".efw-ico",".efw-add__head .efw-ico")}),
|
|
206
226
|
/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:WEB_HEALTH_COPY.addRecords(name)})]}),
|
|
207
227
|
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-add p"),children:WEB_HEALTH_COPY.moreThanOneClinic}),
|
|
208
|
-
/* @__PURE__ */jsxRuntime.jsx(PageKind.Provider,{value:"health",children:/* @__PURE__ */jsxRuntime.jsx(OnTheWay,{lines:inFlight,onOpenRequest:onOpenRequest})}),sources.length>0?/* @__PURE__ */jsxRuntime.jsx("ul",{style:wx("list",".efw-root ul",".efw-sources"),"aria-label":WEB_HEALTH_COPY.onFileNow,children:sources.map(s=>/* @__PURE__ */jsxRuntime.jsxs("li",{style:wx("block",".efw-sources li"),children:[
|
|
228
|
+
/* @__PURE__ */jsxRuntime.jsx(PageKind.Provider,{value:"health",children:/* @__PURE__ */jsxRuntime.jsx(OnTheWay,{lines:inFlight,onOpenRequest:onOpenRequest})}),sources.length>0?/* @__PURE__ */jsxRuntime.jsx("ul",{ref:list.ref,style:wx("list",".efw-root ul",".efw-sources"),"aria-label":WEB_HEALTH_COPY.onFileNow,children:sources.map((s,index)=>/* @__PURE__ */jsxRuntime.jsxs("li",{style:{...wx("block",".efw-sources li"),...enterMotion(list,index)},children:[
|
|
209
229
|
/* @__PURE__ */jsxRuntime.jsx("span",{children:s.name}),s.meta?/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-sources li span:last-child"),children:s.meta}):null]},s.key))}):null,
|
|
210
230
|
/* @__PURE__ */jsxRuntime.jsx("p",{id:hintId,style:wx("p",".efw-root p",".efw-add p",".efw-visually-hidden"),children:photos?SHEET_COPY.uploadDetail:WEB_HEALTH_COPY.uploadFormatHint}),
|
|
211
231
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-add__actions"),children:[canRequest?/* @__PURE__ */jsxRuntime.jsxs("button",{type:"button",onClick:onRequest,style:btn(".efw-btn--ink"),"data-testid":"everfur-records-sheet-request",children:[
|
|
212
232
|
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-send",style:wx("media",".efw-ico",".efw-btn--sm .efw-ico")}),WEB_HEALTH_COPY.requestFromClinic]}):null,
|
|
213
233
|
/* @__PURE__ */jsxRuntime.jsxs("button",{type:"button",onClick:onUpload,"aria-describedby":hintId,style:btn(".efw-btn--outline"),"data-testid":"everfur-records-sheet-upload",children:[
|
|
214
|
-
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-upload",style:wx("media",".efw-ico",".efw-btn--sm .efw-ico")}),WEB_HEALTH_COPY.uploadDocument]})]})]})})}var SAY_KEYFRAMES=[{opacity:0,offset:0},{opacity:1,offset:.025},{opacity:1,offset:.052},{opacity:0,offset:.077},{opacity:0,offset:1}];function Say(){let wx=useWx(),pathId=`${react.useId().replace(/:/g,"")}-say`,reduced=useEverfurTheme().motion.reducedMotion,beats=react.useRef([]);react.useEffect(()=>{if(reduced)return;let running=beats.current.flatMap((el,i)=>el!==null&&typeof el.animate=="function"?[el.animate(SAY_KEYFRAMES,{duration:44e3,delay:1200+i*3600,iterations:1/0,easing:"
|
|
215
|
-
|
|
234
|
+
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-upload",style:wx("media",".efw-ico",".efw-btn--sm .efw-ico")}),WEB_HEALTH_COPY.uploadDocument]})]})]})})}var SAY_EASE="ease-in-out",SAY_KEYFRAMES=[{opacity:0,offset:0,easing:SAY_EASE},{opacity:1,offset:.025,easing:SAY_EASE},{opacity:1,offset:.052,easing:SAY_EASE},{opacity:0,offset:.077,easing:SAY_EASE},{opacity:0,offset:1}];function Say(){let wx=useWx(),pathId=`${react.useId().replace(/:/g,"")}-say`,reduced=useEverfurTheme().motion.reducedMotion,beats=react.useRef([]);react.useEffect(()=>{if(reduced)return;let running=beats.current.flatMap((el,i)=>el!==null&&typeof el.animate=="function"?[el.animate(SAY_KEYFRAMES,{duration:44e3,delay:1200+i*3600,iterations:1/0,easing:"linear"})]:[]);return()=>running.forEach(a=>a.cancel())},[reduced]);let text2=wx(null,".efw-page--health-empty .efw-say text");
|
|
235
|
+
/* @__PURE__ */
|
|
236
|
+
return jsxRuntime.jsxs("svg",{viewBox:"0 0 240 64",focusable:"false",style:{...wx("media",".efw-page--health-empty .efw-say"),maxWidth:"100%"},children:[
|
|
216
237
|
/* @__PURE__ */jsxRuntime.jsx("path",{id:pathId,d:"M 12 60 Q 120 -4 228 60",fill:"none"}),reduced?null:WEB_HEALTH_COPY.sayBeats.map((beat,i)=>/* @__PURE__ */jsxRuntime.jsx("text",{ref:el=>{beats.current[i]=el},style:{...text2,...wx(null,".efw-page--health-empty .efw-say__p"),...kitVar("i",String(i))},children:/* @__PURE__ */jsxRuntime.jsx("textPath",{href:`#${pathId}`,startOffset:"50%",textAnchor:"middle",children:beat})},beat)),
|
|
217
238
|
/* @__PURE__ */jsxRuntime.jsx("text",{style:{...text2,...wx(null,".efw-page--health-empty .efw-say__still"),...reduced?{display:"inline"}:{}},children:/* @__PURE__ */jsxRuntime.jsx("textPath",{href:`#${pathId}`,startOffset:"50%",textAnchor:"middle",children:WEB_HEALTH_COPY.sayStill})})]})}var NOTE_MS=2600;function useRequestedNote(){let[on,setOn]=react.useState(false),[shown,setShown]=react.useState(0),timer=react.useRef(null);react.useEffect(()=>()=>{timer.current!==null&&clearTimeout(timer.current)},[]);let show=react.useCallback(()=>{timer.current!==null&&clearTimeout(timer.current),setOn(true),setShown(n=>n+1),timer.current=setTimeout(()=>{timer.current=null,setOn(false)},NOTE_MS)},[]);return{on:on,shown:shown,show:show}}function RequestedNote({clinic:clinic,on:on,shown:shown}){let sx2=useSx(),reduced=useEverfurTheme().motion.reducedMotion,{transitionDuration:transitionDuration,...his}=sx2("block",".ph-toast",on&&".ph-toast.is-on"),transition=transitionDuration===void 0?his.transition:String(his.transition).replace(/\d+ms/g,String(transitionDuration)),style={...his,transition:transition,top:0,left:0,right:0,...reduced?{transform:"none",transition:"opacity 150ms ease"}:{}};/* @__PURE__ */
|
|
218
|
-
return jsxRuntime.jsx("div",{style:style,role:"status","aria-live":"polite","data-on":on?"true":"false","data-testid":"everfur-records-sheet-requested-note",children:shown>0?/* @__PURE__ */jsxRuntime.jsx("span",{children:SHEET_COPY.requestedFrom(clinic)},shown):null})}function WayButton({kind:kind,icon:icon,title:title,text:text2,go:go,onClick:onClick,describedBy:describedBy,testID:testID}){let wx=useWx(),ink=kind==="ink";/* @__PURE__ */
|
|
219
|
-
return jsxRuntime.jsxs("button",{type:"button",onClick:onClick,"aria-describedby":describedBy,"data-testid":testID,style:{...
|
|
239
|
+
return jsxRuntime.jsx("div",{style:style,role:"status","aria-live":"polite","data-on":on?"true":"false","data-testid":"everfur-records-sheet-requested-note",children:shown>0?/* @__PURE__ */jsxRuntime.jsx("span",{children:SHEET_COPY.requestedFrom(clinic)},shown):null})}function WayButton({kind:kind,icon:icon,title:title,text:text2,go:go,onClick:onClick,describedBy:describedBy,testID:testID}){let wx=useWx(),ink=kind==="ink",reduced=react.useContext(SheetStageContext).reduced,pointer=usePointerState(),base2=wx("button",".efw-root a",".efw-page--health-empty .efw-way",`.efw-page--health-empty .efw-way--${kind}`),hoverBg=ink?mixColor(String(base2.background??"#10462E"),"#000000",.86):mixColor(String(wx(null,".efw-tile--sage").background??"#E6ECE8"),"#FFFFFF",.7);/* @__PURE__ */
|
|
240
|
+
return jsxRuntime.jsxs("button",{type:"button",onClick:onClick,"aria-describedby":describedBy,"data-testid":testID,...pointer.handlers,style:{...base2,textAlign:"left",...pointer.hover?{background:hoverBg}:{},...pointer.down?{transform:"scale(0.98)"}:{},...reduced?{transition:"none"}:{}},"data-hover":pointer.hover?"":void 0,children:[
|
|
220
241
|
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:icon,style:wx("media",".efw-ico",".efw-page--health-empty .efw-way > .efw-ico")}),
|
|
221
242
|
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-page--health-empty .efw-way__title"),children:title}),
|
|
222
243
|
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-page--health-empty .efw-way__text",!ink&&".efw-page--health-empty .efw-way--drop .efw-way__text"),children:text2}),
|
|
223
244
|
/* @__PURE__ */jsxRuntime.jsxs("span",{style:wx("block",".efw-page--health-empty .efw-way__go"),children:[go,
|
|
224
|
-
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:wx("media",".efw-ico",".efw-page--health-empty .efw-way__go .efw-ico",ink&&".efw-page--health-empty .efw-way--ink .efw-way__go .efw-ico")})]})]})}function Hero({heroRef:heroRef,name:name,model:model,inFlight:inFlight,
|
|
225
|
-
return jsxRuntime.jsxs("section",{ref:heroRef,style:
|
|
245
|
+
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:wx("media",".efw-ico",".efw-page--health-empty .efw-way__go .efw-ico",ink&&".efw-page--health-empty .efw-way--ink .efw-way__go .efw-ico")})]})]})}function Hero({heroRef:heroRef,name:name,model:model,inFlight:inFlight,noVet:noVet,canRequest:canRequest,onRequest:onRequest,onUpload:onUpload,onOpenRequest:onOpenRequest,photos:photos}){let wx=useWx(),id=react.useId(),hintId=react.useId(),note=useRequestedNote(),requested=model.requestedClinic,{host:host}=react.useContext(SheetStageContext);/* @__PURE__ */
|
|
246
|
+
return jsxRuntime.jsxs("section",{ref:heroRef,style:wx("block",".efw-card",".efw-page--health-empty .efw-hero"),"aria-labelledby":id,"data-testid":"everfur-records-sheet-none",children:[
|
|
247
|
+
/* @__PURE__ */jsxRuntime.jsx(Grass,{src:host?.grassSrc??RECORDS_GRASS_URL,style:wx("media",".efw-root img",".efw-page--health-empty .efw-hero__grass")}),
|
|
226
248
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-page--health-empty .efw-hero__copy"),children:[
|
|
227
249
|
/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-page--health-empty .efw-hero__title"),children:noVet?SHEET_COPY.noVetTitle(sheetPetWords(name,null)):WEB_HEALTH_COPY.firstRecord(name)}),
|
|
228
250
|
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-page--health-empty .efw-hero__lead"),children:WEB_HEALTH_COPY.firstLead(name)}),
|
|
229
251
|
/* @__PURE__ */jsxRuntime.jsx(OnTheWay,{lines:inFlight,onOpenRequest:onOpenRequest}),model.failedRequest!==null?/* @__PURE__ */jsxRuntime.jsx(Failed,{words:model.failedRequest}):null,
|
|
230
252
|
/* @__PURE__ */jsxRuntime.jsx("p",{id:hintId,style:wx("p",".efw-root p",".efw-visually-hidden"),children:photos?SHEET_COPY.uploadDetail:WEB_HEALTH_COPY.uploadFormatHint}),
|
|
231
253
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:{...wx("block",".efw-page--health-empty .efw-ways"),position:"relative"},"data-testid":"everfur-records-sheet-none-ways",children:[requested!==null&&canRequest?/* @__PURE__ */jsxRuntime.jsx(RequestedNote,{clinic:requested,on:note.on,shown:note.shown}):null,canRequest?/* @__PURE__ */jsxRuntime.jsx(WayButton,{kind:"ink",icon:"efi-send",onClick:requested!==null?note.show:onRequest,testID:"everfur-records-sheet-none-request",title:WEB_HEALTH_COPY.requestFromClinic,text:SHEET_COPY.requestDetail,go:WEB_HEALTH_COPY.findClinic(name)}):null,
|
|
232
|
-
/* @__PURE__ */jsxRuntime.jsx(WayButton,{kind:"drop",icon:"efi-upload",onClick:onUpload,describedBy:hintId,testID:"everfur-records-sheet-none-upload",title:WEB_HEALTH_COPY.uploadDocument,text:photos?SHEET_COPY.uploadDetail:WEB_HEALTH_COPY.uploadLimitHint,go:WEB_HEALTH_COPY.chooseFile})]})]}),
|
|
233
|
-
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-page--health-empty .efw-
|
|
234
|
-
/* @__PURE__ */jsxRuntime.jsx(
|
|
254
|
+
/* @__PURE__ */jsxRuntime.jsx(WayButton,{kind:"drop",icon:"efi-upload",onClick:onUpload,describedBy:hintId,testID:"everfur-records-sheet-none-upload",title:WEB_HEALTH_COPY.uploadDocument,text:photos?SHEET_COPY.uploadDetail:WEB_HEALTH_COPY.uploadLimitHint,go:WEB_HEALTH_COPY.chooseFile})]})]}),
|
|
255
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-page--health-empty .efw-hero__scene"),"aria-hidden":"true","data-testid":"everfur-records-sheet-scene",children:/* @__PURE__ */jsxRuntime.jsxs("div",{style:{...wx("block",".efw-page--health-empty .efw-evie"),...kitVar("head-x","21.5%"),...kitVar("head-top","0%")},children:[
|
|
256
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-page--health-empty .efw-evie__img"),children:/* @__PURE__ */jsxRuntime.jsx(StagePet,{name:name,skeleton:false})}),
|
|
257
|
+
/* @__PURE__ */jsxRuntime.jsx(Say,{})]})})]})}function webSampleFor(kind){if(kind==="dog")return{labs:true,more:SAMPLE_MORE};let visits=SAMPLE_MORE.filter(card=>card.icon==="efi-folder");if(kind==="other")return{labs:false,more:visits};let timeline=SAMPLE_MORE.filter(card=>card.icon==="efi-clock").map(card=>({...card,rows:card.rows.filter(row=>!/heartworm/i.test(row.label))}));return{labs:true,more:[...visits,...timeline]}}function SamplePeek({name:name,kind:kind,onAdd:onAdd}){let wx=useWx(),id=react.useId(),sample=webSampleFor(kind);/* @__PURE__ */
|
|
235
258
|
return jsxRuntime.jsxs("section",{style:wx("block",".efw-page--health-empty .efw-peek"),"aria-labelledby":id,"data-testid":"everfur-records-sheet-sample",children:[
|
|
236
259
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-page--health-empty .efw-peek__head"),children:[
|
|
237
260
|
/* @__PURE__ */jsxRuntime.jsx("h2",{id:id,style:wx("h",".efw-root h2",".efw-card__title"),children:WEB_HEALTH_COPY.recordsHistory}),
|
|
@@ -248,34 +271,36 @@ return jsxRuntime.jsxs("section",{style:wx("block",".efw-card",".efw-page--healt
|
|
|
248
271
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-page--health-empty .efw-labs__head"),children:[
|
|
249
272
|
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-flask",style:wx("media",".efw-ico",".efw-page--health-empty .efw-labs__head .efw-ico")}),
|
|
250
273
|
/* @__PURE__ */jsxRuntime.jsx("h3",{id:id,style:wx("h",".efw-root h3",".efw-card__title"),children:WEB_HEALTH_COPY.labs})]}),
|
|
251
|
-
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-scroller",".efw-page--health-empty .efw-labs__groups"),children:/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-page--health-empty .efw-groups",".efw-scroller__track"),role:"group","aria-label":WEB_HEALTH_COPY.markerGroups,children:SAMPLE_GROUPS.map((group,index)=>/* @__PURE__ */jsxRuntime.jsx(
|
|
252
|
-
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-page--health-empty .efw-arrows"),children:[[-1,WEB_HEALTH_COPY.previousGroup,current===0],[1,WEB_HEALTH_COPY.nextGroup,current===last]].map(([dir,label,off])=>/* @__PURE__ */jsxRuntime.jsx(
|
|
274
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-scroller",".efw-page--health-empty .efw-labs__groups"),children:/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-page--health-empty .efw-groups",".efw-scroller__track"),role:"group","aria-label":WEB_HEALTH_COPY.markerGroups,children:SAMPLE_GROUPS.map((group,index)=>/* @__PURE__ */jsxRuntime.jsx(GroupButton,{title:group.title,current:index===current,onClick:()=>go(index)},group.title))})}),
|
|
275
|
+
/* @__PURE__ */jsxRuntime.jsx("div",{style:wx("block",".efw-page--health-empty .efw-arrows"),children:[[-1,WEB_HEALTH_COPY.previousGroup,current===0],[1,WEB_HEALTH_COPY.nextGroup,current===last]].map(([dir,label,off])=>/* @__PURE__ */jsxRuntime.jsx(ArrowButton,{dir:dir,label:label,off:off,onClick:()=>step(dir)},dir))}),
|
|
253
276
|
/* @__PURE__ */jsxRuntime.jsx("div",{ref:trackRef,tabIndex:0,role:"region","aria-label":WEB_HEALTH_COPY.sampleMarkers,style:wx("block",".efw-page--health-empty .efw-car__track"),children:SAMPLE_GROUPS.map((group,index)=>/* @__PURE__ */jsxRuntime.jsx(SampleSlide,{group:group,index:index,name:name,reportsOpen:reportsOpen,onReports:setReportsOpen,onAdd:onAdd},group.title))}),
|
|
254
|
-
/* @__PURE__ */jsxRuntime.jsx("p",{role:"status","aria-live":"polite",style:wx("p",".efw-visually-hidden"),children:said})]})}function
|
|
277
|
+
/* @__PURE__ */jsxRuntime.jsx("p",{role:"status","aria-live":"polite",style:wx("p",".efw-visually-hidden"),children:said})]})}function useInk(){let wx=useWx();return String(wx(null,".efw-page--health-empty .efw-group[aria-current]").borderColor??"#10462E")}function GroupButton({title:title,current:current,onClick:onClick}){let wx=useWx(),ink=useInk(),reduced=react.useContext(SheetStageContext).reduced,pointer=usePointerState();/* @__PURE__ */
|
|
278
|
+
return jsxRuntime.jsx("button",{type:"button","aria-current":current?"true":void 0,onClick:onClick,...pointer.handlers,style:{...wx("button",".efw-page--health-empty .efw-group",current&&".efw-page--health-empty .efw-group[aria-current]"),...pointer.hover&&!current?{borderColor:ink}:{},...reduced?{transition:"none"}:{}},children:title})}function ArrowButton({dir:dir,label:label,off:off,onClick:onClick}){let wx=useWx(),ink=useInk(),reduced=react.useContext(SheetStageContext).reduced,pointer=usePointerState();/* @__PURE__ */
|
|
279
|
+
return jsxRuntime.jsx("button",{type:"button","aria-label":label,disabled:off,onClick:onClick,...pointer.handlers,style:{...wx("button",".efw-page--health-empty .efw-arrow",off&&".efw-page--health-empty .efw-arrow:disabled"),...pointer.hover&&!off?{borderColor:ink}:{},...pointer.down&&!off?{transform:"scale(0.97)"}:{},...reduced?{transition:"none"}:{}},children:/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:wx("media",".efw-ico",".efw-page--health-empty .efw-arrow .efw-ico",dir<0&&".efw-page--health-empty .efw-arrow--prev .efw-ico")})})}function SampleSlide({group:group,index:index,name:name,reportsOpen:reportsOpen,onReports:onReports,onAdd:onAdd}){let wx=useWx(),reduced=react.useContext(SheetStageContext).reduced,cap=usePointerState(),still=reduced?{transition:"none"}:{},[lit,setLit]=react.useState(null),lineOf=target=>target instanceof Element?target.closest("[data-line]"):null;/* @__PURE__ */
|
|
255
280
|
return jsxRuntime.jsxs("div",{role:"group","aria-roledescription":"slide","aria-label":WEB_HEALTH_COPY.slideLabel(group.title,index+1,SAMPLE_GROUPS.length),style:wx("block",".efw-page--health-empty .efw-slide"),onPointerOver:event=>{let row=lineOf(event.target);row&&setLit(row.dataset.line??null)},onPointerOut:event=>{let row=lineOf(event.target);row&&!(event.relatedTarget instanceof Node&&row.contains(event.relatedTarget))&&setLit(null)},children:[
|
|
256
281
|
/* @__PURE__ */jsxRuntime.jsxs("div",{children:[
|
|
257
282
|
/* @__PURE__ */jsxRuntime.jsx("h4",{style:wx("h",".efw-root h4",".efw-page--health-empty .efw-slide__title"),children:group.title}),
|
|
258
283
|
/* @__PURE__ */jsxRuntime.jsx("p",{style:wx("p",".efw-root p",".efw-page--health-empty .efw-slide__lead"),children:group.lead}),
|
|
259
|
-
/* @__PURE__ */jsxRuntime.jsx("ul",{style:wx("list",".efw-root ul",".efw-markers"),children:group.markers.map(marker=>/* @__PURE__ */jsxRuntime.jsx("li",{children:marker.high===true?/* @__PURE__ */jsxRuntime.jsx(FlagMarker,{marker:marker,lit:lit===marker.line,name:name,onAdd:onAdd}):/* @__PURE__ */jsxRuntime.jsx("div",{"data-line":marker.line,style:markerStyle(wx,false,lit===marker.line),children:/* @__PURE__ */jsxRuntime.jsx(MarkerBody,{marker:marker})})},marker.line))})]}),
|
|
284
|
+
/* @__PURE__ */jsxRuntime.jsx("ul",{style:wx("list",".efw-root ul",".efw-markers"),children:group.markers.map(marker=>/* @__PURE__ */jsxRuntime.jsx("li",{children:marker.high===true?/* @__PURE__ */jsxRuntime.jsx(FlagMarker,{marker:marker,lit:lit===marker.line,name:name,onAdd:onAdd}):/* @__PURE__ */jsxRuntime.jsx("div",{"data-line":marker.line,style:{...markerStyle(wx,false,lit===marker.line),...still},children:/* @__PURE__ */jsxRuntime.jsx(MarkerBody,{marker:marker})})},marker.line))})]}),
|
|
260
285
|
/* @__PURE__ */jsxRuntime.jsxs("details",{open:reportsOpen,onToggle:event=>{event.currentTarget.open!==reportsOpen&&onReports(event.currentTarget.open)},children:[
|
|
261
|
-
/* @__PURE__ */jsxRuntime.jsxs("summary",{style:wx("block",".efw-page--health-empty .efw-from > summary",".efw-page--health-empty .efw-from__cap",!reportsOpen&&".efw-page--health-empty .efw-from:not([open]) .efw-from__cap"),children:[
|
|
286
|
+
/* @__PURE__ */jsxRuntime.jsxs("summary",{...cap.handlers,style:{...wx("block",".efw-page--health-empty .efw-from > summary",".efw-page--health-empty .efw-from__cap",!reportsOpen&&".efw-page--health-empty .efw-from:not([open]) .efw-from__cap"),...cap.hover?{textDecoration:"underline",textUnderlineOffset:"3px"}:{}},children:[
|
|
262
287
|
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-file",style:wx("media",".efw-ico",".efw-page--health-empty .efw-from__cap .efw-ico")}),WEB_HEALTH_COPY.readFrom(group.page),
|
|
263
|
-
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:wx("media",".efw-ico",".efw-page--health-empty .efw-from__cap .efw-ico",".efw-page--health-empty .efw-from__cap .efw-from__chev",reportsOpen&&".efw-page--health-empty .efw-from[open] .efw-from__chev")})]}),
|
|
288
|
+
/* @__PURE__ */jsxRuntime.jsx(SheetIcon,{id:"efi-chevron",style:{...wx("media",".efw-ico",".efw-page--health-empty .efw-from__cap .efw-ico",".efw-page--health-empty .efw-from__cap .efw-from__chev",reportsOpen&&".efw-page--health-empty .efw-from[open] .efw-from__chev"),...still}})]}),
|
|
264
289
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-doc",".efw-page--health-empty .efw-from .efw-doc"),children:[
|
|
265
290
|
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-doc__head"),children:[
|
|
266
291
|
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-doc__who"),children:group.panel}),
|
|
267
292
|
/* @__PURE__ */jsxRuntime.jsx("span",{style:wx(null,".efw-doc__page"),children:WEB_HEALTH_COPY.pageOf(group.page,SAMPLE_REPORT_PAGES)})]}),
|
|
268
293
|
/* @__PURE__ */jsxRuntime.jsxs("table",{style:wx("block",".efw-page--health-empty .efw-lab"),children:[
|
|
269
294
|
/* @__PURE__ */jsxRuntime.jsx("thead",{children:/* @__PURE__ */jsxRuntime.jsx("tr",{children:WEB_HEALTH_COPY.tableHead.map(h=>/* @__PURE__ */jsxRuntime.jsx("th",{scope:"col",style:wx(null,".efw-page--health-empty .efw-lab th"),children:h},h))})}),
|
|
270
|
-
/* @__PURE__ */jsxRuntime.jsx("tbody",{translate:"no",children:group.rows.map(row=>{let on=row.line!==void 0&&lit===row.line,cell=(first,lastCell)=>wx(null,".efw-page--health-empty .efw-lab td",row.line!==void 0&&".efw-page--health-empty .efw-lab tr[data-line] td",row.line!==void 0&&first&&".efw-page--health-empty .efw-lab tr[data-line] td:first-child",row.line!==void 0&&lastCell&&".efw-page--health-empty .efw-lab tr[data-line] td:last-child",on&&".efw-page--health-empty .efw-lab tr.efw-is-lit td");/* @__PURE__ */
|
|
295
|
+
/* @__PURE__ */jsxRuntime.jsx("tbody",{translate:"no",children:group.rows.map(row=>{let on=row.line!==void 0&&lit===row.line,cell=(first,lastCell)=>({...wx(null,".efw-page--health-empty .efw-lab td",row.line!==void 0&&".efw-page--health-empty .efw-lab tr[data-line] td",row.line!==void 0&&first&&".efw-page--health-empty .efw-lab tr[data-line] td:first-child",row.line!==void 0&&lastCell&&".efw-page--health-empty .efw-lab tr[data-line] td:last-child",on&&".efw-page--health-empty .efw-lab tr.efw-is-lit td"),...still});/* @__PURE__ */
|
|
271
296
|
return jsxRuntime.jsxs("tr",{"data-line":row.line,children:[
|
|
272
297
|
/* @__PURE__ */jsxRuntime.jsx("td",{style:cell(true,false),children:row.test}),
|
|
273
298
|
/* @__PURE__ */jsxRuntime.jsx("td",{style:cell(false,false),children:row.result}),
|
|
274
299
|
/* @__PURE__ */jsxRuntime.jsx("td",{style:cell(false,false),children:row.unit}),
|
|
275
|
-
/* @__PURE__ */jsxRuntime.jsx("td",{style:cell(false,true),children:row.range})]},row.test)})})]})]})]})]})}var markerStyle=(wx,alert,lit)=>wx("block",".efw-marker",alert&&".efw-marker.efw-is-alert",".efw-page--health-empty .efw-marker",lit&&".efw-page--health-empty .efw-marker.efw-is-lit");function FlagMarker({marker:marker,lit:lit,name:name,onAdd:onAdd}){let wx=useWx(),[open,setOpen]=react.useState(false);/* @__PURE__ */
|
|
300
|
+
/* @__PURE__ */jsxRuntime.jsx("td",{style:cell(false,true),children:row.range})]},row.test)})})]})]})]})]})}function withMixAlpha(hex,alpha){let m=/^#([0-9a-f]{6})$/i.exec(hex.trim());if(m===null)return hex;let v=Number.parseInt(m[1],16);return`rgba(${v>>16&255}, ${v>>8&255}, ${v&255}, ${alpha})`}var markerStyle=(wx,alert,lit)=>wx("block",".efw-marker",alert&&".efw-marker.efw-is-alert",".efw-page--health-empty .efw-marker",lit&&".efw-page--health-empty .efw-marker.efw-is-lit");function FlagMarker({marker:marker,lit:lit,name:name,onAdd:onAdd}){let wx=useWx(),[open,setOpen]=react.useState(false),reduced=react.useContext(SheetStageContext).reduced,pointer=usePointerState(),note=react.useRef(null);useNoteIn(note,open,reduced);let tintRed=String(wx(null,".efw-marker.efw-is-alert").background??"#FBF1EE"),alertInk=String(wx(null,".efw-pill--high").color??"#C03410"),hoverBg=withMixAlpha(mixColor(tintRed,alertInk,70/76),.76);/* @__PURE__ */
|
|
276
301
|
return jsxRuntime.jsxs("details",{open:open,onToggle:event=>setOpen(event.currentTarget.open),style:wx("block",open&&".efw-page--health-empty .efw-flag[open]"),children:[
|
|
277
|
-
/* @__PURE__ */jsxRuntime.jsx("summary",{"data-line":marker.line,style:{...markerStyle(wx,true,lit),...wx(null,".efw-page--health-empty .efw-flag > summary")},children:/* @__PURE__ */jsxRuntime.jsx(MarkerBody,{marker:marker})}),
|
|
278
|
-
/* @__PURE__ */jsxRuntime.jsxs("div",{style:wx("block",".efw-page--health-empty .efw-flag__note"),children:[
|
|
302
|
+
/* @__PURE__ */jsxRuntime.jsx("summary",{"data-line":marker.line,...pointer.handlers,style:{...markerStyle(wx,true,lit),...wx(null,".efw-page--health-empty .efw-flag > summary"),...pointer.hover?{background:hoverBg}:{},...reduced?{transition:"none"}:{}},children:/* @__PURE__ */jsxRuntime.jsx(MarkerBody,{marker:marker})}),
|
|
303
|
+
/* @__PURE__ */jsxRuntime.jsxs("div",{ref:note,style:wx("block",".efw-page--health-empty .efw-flag__note"),children:[
|
|
279
304
|
/* @__PURE__ */jsxRuntime.jsxs("p",{style:wx("p",".efw-root p"),children:[
|
|
280
305
|
/* @__PURE__ */jsxRuntime.jsx("b",{style:wx(null,".efw-page--health-empty .efw-flag__note b"),children:WEB_HEALTH_COPY.sampleNotTheirs(name)}),WEB_HEALTH_COPY.sampleNoteRest(name)]}),
|
|
281
306
|
/* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onAdd,style:wx("button",".efw-root a",".efw-card__link"),children:WEB_HEALTH_COPY.addRecords(name)})]})]})}function MarkerBody({marker:marker}){let wx=useWx(),alert=marker.high===true;/* @__PURE__ */
|