@everfur/sdk 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/CHANGELOG.md +326 -0
  2. package/README.md +24 -16
  3. package/dist/{Chat-DZpYH8Uh.d.ts → Chat-Cv9EYMYA.d.ts} +3 -3
  4. package/dist/{Chat-bATY4atj.d.cts → Chat-s2vcPbw3.d.cts} +3 -3
  5. package/dist/{DepthViews-qBIoA48w.d.ts → DepthViews-CVxUHOJ-.d.ts} +1 -1
  6. package/dist/{DepthViews-C4DC4Kom.d.cts → DepthViews-Cz7mSW7p.d.cts} +1 -1
  7. package/dist/{DepthViews-dLTizxjr.d.ts → DepthViews-DNRY0Ugm.d.ts} +1 -1
  8. package/dist/{DepthViews-BpHUbjSY.d.cts → DepthViews-DvNixbxg.d.cts} +1 -1
  9. package/dist/{ErrorPolicyPort-D22LUVrK.d.ts → ErrorPolicyPort-DwSnmGcX.d.ts} +1 -1
  10. package/dist/{ErrorPolicyPort-D6CybiqJ.d.cts → ErrorPolicyPort-NFDPe-5w.d.cts} +1 -1
  11. package/dist/{EverfurError-DmELDpXp.d.cts → EverfurError-pEXDbUJ1.d.cts} +9 -1
  12. package/dist/{EverfurError-DmELDpXp.d.ts → EverfurError-pEXDbUJ1.d.ts} +9 -1
  13. package/dist/{EverfurResult-ZtH-YV1h.d.cts → EverfurResult-dtl8ERAw.d.cts} +1 -1
  14. package/dist/{EverfurResult-SGvHKsCB.d.ts → EverfurResult-sKkoXew0.d.ts} +1 -1
  15. package/dist/IntakeMedia-BFZfBLjB.d.cts +116 -0
  16. package/dist/{BookedScreen-DFJcgf1e.d.ts → IntakeMedia-BH0fYDT2.d.cts} +58 -2
  17. package/dist/{BookedScreen-R5X_Zrlh.d.cts → IntakeMedia-Bavl7E4Z.d.ts} +58 -2
  18. package/dist/IntakeMedia-C8GlN_GK.d.ts +116 -0
  19. package/dist/animations/index.cjs +109 -1
  20. package/dist/animations/index.d.cts +6 -6
  21. package/dist/animations/index.d.ts +6 -6
  22. package/dist/animations/index.js +109 -1
  23. package/dist/{attachments-CPRFfoHT.d.ts → attachments-BaslXMdS.d.ts} +3 -3
  24. package/dist/{attachments-CUOGILir.d.cts → attachments-DbFwz4iq.d.cts} +7 -7
  25. package/dist/{attachments-Ce06TWqe.d.cts → attachments-y3EcOX_w.d.cts} +3 -3
  26. package/dist/{attachments-CXAnZcEg.d.ts → attachments-y_aO4hlk.d.ts} +7 -7
  27. package/dist/{bookingCopy-BwVopcoV.d.cts → bookingCopy-4i1R7klo.d.cts} +15 -7
  28. package/dist/{bookingCopy-DFTv9w6J.d.ts → bookingCopy-B3UMITD-.d.ts} +15 -7
  29. package/dist/{branding-ytH4jJq1.d.ts → branding-BYEqU855.d.ts} +1 -1
  30. package/dist/{branding-Bio5MM6g.d.cts → branding-BwEu68C8.d.cts} +1 -1
  31. package/dist/{callRoom-7wrE3RP2.d.ts → callRoom-B1qq_D-4.d.ts} +1 -1
  32. package/dist/{callRoom-B_EqaUzx.d.cts → callRoom-DfZTWFXh.d.cts} +1 -1
  33. package/dist/{casesRepository-CJchNp3x.d.cts → casesRepository-B6Z0XBIb.d.cts} +2 -2
  34. package/dist/{casesRepository-DAVcY3jC.d.ts → casesRepository-SI0zp5YH.d.ts} +2 -2
  35. package/dist/chat/index.cjs +333 -1
  36. package/dist/chat/index.d.cts +12 -12
  37. package/dist/chat/index.d.ts +12 -12
  38. package/dist/chat/index.js +333 -1
  39. package/dist/client/index.cjs +115 -11
  40. package/dist/client/index.d.cts +14 -14
  41. package/dist/client/index.d.ts +14 -14
  42. package/dist/client/index.js +115 -11
  43. package/dist/{config-ZxwCylac.d.ts → config-Cvo47voG.d.ts} +3 -3
  44. package/dist/{config-h5h6TsHL.d.cts → config-v5k6NsK_.d.cts} +3 -3
  45. package/dist/consent/index.cjs +112 -1
  46. package/dist/consent/index.d.cts +9 -9
  47. package/dist/consent/index.d.ts +9 -9
  48. package/dist/consent/index.js +112 -1
  49. package/dist/{context-CtsAgJnc.d.cts → context-BZOtJbBO.d.cts} +9 -9
  50. package/dist/{context-DtPIshVA.d.ts → context-cZ7NZ0sG.d.ts} +9 -9
  51. package/dist/{copy-Cg89Qoal.d.ts → copy-CZBUHbyS.d.ts} +5 -5
  52. package/dist/{copy-CaWaplQc.d.cts → copy-ChJupm1p.d.cts} +5 -5
  53. package/dist/core/index.cjs +140 -13
  54. package/dist/core/index.d.cts +19 -19
  55. package/dist/core/index.d.ts +19 -19
  56. package/dist/core/index.js +140 -13
  57. package/dist/{depth-EXZYEO70.d.cts → depth-CRyU7-pf.d.cts} +8 -7
  58. package/dist/{depth-Bo4bAwcn.d.ts → depth-vNpwOkZ8.d.ts} +8 -7
  59. package/dist/{entitlementRepository-BYtVb1oU.d.cts → entitlementRepository-Bv8nSYRd.d.cts} +4 -4
  60. package/dist/{entitlementRepository-DcbIx8yV.d.ts → entitlementRepository-CUdxbQrP.d.ts} +4 -4
  61. package/dist/{identity-EC5-apbY.d.ts → identity-B8GkH53J.d.ts} +2 -2
  62. package/dist/{identity-b5Vp32Vp.d.cts → identity-BHaMJ3KK.d.cts} +2 -2
  63. package/dist/index.cjs +363 -12
  64. package/dist/index.d.cts +19 -19
  65. package/dist/index.d.ts +19 -19
  66. package/dist/index.js +363 -12
  67. package/dist/{models-DSqA5Ahs.d.ts → models-CrbUwbuS.d.ts} +1 -1
  68. package/dist/{models-Bn2z0NNo.d.cts → models-DzvqEjMm.d.cts} +1 -1
  69. package/dist/notifications/index.cjs +94 -2
  70. package/dist/notifications/index.d.cts +5 -5
  71. package/dist/notifications/index.d.ts +5 -5
  72. package/dist/notifications/index.js +94 -2
  73. package/dist/{pets-DM8QvKLo.d.cts → pets-BI7Ji8hi.d.cts} +2 -2
  74. package/dist/{pets-B_27_agU.d.ts → pets-Dnn-DK1T.d.ts} +2 -2
  75. package/dist/{petsRepository-CuYZZaI5.d.ts → petsRepository-B2lO1sKS.d.ts} +2 -2
  76. package/dist/{petsRepository-BJsJ4cju.d.cts → petsRepository-BP9nhM1R.d.cts} +2 -2
  77. package/dist/photo/index.cjs +131 -1
  78. package/dist/photo/index.d.cts +3 -3
  79. package/dist/photo/index.d.ts +3 -3
  80. package/dist/photo/index.js +131 -1
  81. package/dist/{ports-nXHf50_X.d.ts → ports-BUXF0Rp3.d.ts} +7 -7
  82. package/dist/{ports-ZmJYgd5I.d.cts → ports-C40S2V14.d.cts} +7 -7
  83. package/dist/records/depth/index.cjs +200 -2
  84. package/dist/records/depth/index.d.cts +11 -11
  85. package/dist/records/depth/index.d.ts +11 -11
  86. package/dist/records/depth/index.js +200 -2
  87. package/dist/records/index.cjs +742 -4
  88. package/dist/records/index.d.cts +22 -14
  89. package/dist/records/index.d.ts +22 -14
  90. package/dist/records/index.js +742 -4
  91. package/dist/{requestFunnel-Ve9BshTB.d.ts → requestFunnel-BrOijMcw.d.ts} +5 -5
  92. package/dist/{requestFunnel-C_cZXhIA.d.cts → requestFunnel-BxNVGyGm.d.cts} +5 -5
  93. package/dist/{runtimeTypes-ByKsp8hm.d.ts → runtimeTypes-CvI1ZH8j.d.ts} +7 -7
  94. package/dist/{runtimeTypes-D155OlBW.d.cts → runtimeTypes-DOO3f-W-.d.cts} +7 -7
  95. package/dist/server/events/index.cjs +92 -2
  96. package/dist/server/events/index.d.cts +4 -4
  97. package/dist/server/events/index.d.ts +4 -4
  98. package/dist/server/events/index.js +92 -2
  99. package/dist/server/index.cjs +95 -2
  100. package/dist/server/index.d.cts +5 -5
  101. package/dist/server/index.d.ts +5 -5
  102. package/dist/server/index.js +95 -2
  103. package/dist/televet/booking/index.cjs +394 -4
  104. package/dist/televet/booking/index.d.cts +24 -127
  105. package/dist/televet/booking/index.d.ts +24 -127
  106. package/dist/televet/booking/index.js +394 -4
  107. package/dist/televet/call/index.cjs +71 -1
  108. package/dist/televet/call/index.d.cts +3 -3
  109. package/dist/televet/call/index.d.ts +3 -3
  110. package/dist/televet/call/index.js +71 -1
  111. package/dist/televet/index.cjs +101 -1
  112. package/dist/televet/index.d.cts +25 -8
  113. package/dist/televet/index.d.ts +25 -8
  114. package/dist/televet/index.js +101 -1
  115. package/dist/{bookingTypes-D4pD3tHs.d.ts → televetGlobal-C5dTUACe.d.cts} +34 -1
  116. package/dist/{bookingTypes-D4pD3tHs.d.cts → televetGlobal-CnjrfhT4.d.ts} +34 -1
  117. package/dist/testing/index.cjs +98 -7
  118. package/dist/testing/index.d.cts +3 -3
  119. package/dist/testing/index.d.ts +3 -3
  120. package/dist/testing/index.js +98 -7
  121. package/dist/testing/rn/index.cjs +101 -1
  122. package/dist/testing/rn/index.d.cts +13 -13
  123. package/dist/testing/rn/index.d.ts +13 -13
  124. package/dist/testing/rn/index.js +101 -1
  125. package/dist/testing/web/index.cjs +95 -1
  126. package/dist/testing/web/index.d.cts +14 -14
  127. package/dist/testing/web/index.d.ts +14 -14
  128. package/dist/testing/web/index.js +95 -1
  129. package/dist/{timelineRows-DXpjECfA.d.ts → timelineRows-CEx2TzYB.d.ts} +1 -1
  130. package/dist/{timelineRows-BNF43SXK.d.cts → timelineRows-Dffceql_.d.cts} +1 -1
  131. package/dist/{tokens-BYtbKwFh.d.cts → tokens-Tzo1KBND.d.cts} +43 -2
  132. package/dist/{tokens-BYtbKwFh.d.ts → tokens-Tzo1KBND.d.ts} +43 -2
  133. package/dist/{typeStyle-BqfwxZH4.d.cts → typeStyle-C3IG9Sft.d.ts} +22 -3
  134. package/dist/{typeStyle-DKz02DGU.d.ts → typeStyle-CZ3Tj60N.d.cts} +22 -3
  135. package/dist/{useRecordsDepth-CARTuHKh.d.cts → useRecordsDepth-D6a6-_u_.d.cts} +7 -6
  136. package/dist/{useRecordsDepth-fPSv-GXU.d.ts → useRecordsDepth-DuPUJFDQ.d.ts} +7 -6
  137. package/dist/{useVetVisit-Ds8f1peV.d.cts → useVetVisit-BQX_aTJs.d.cts} +2 -2
  138. package/dist/{useVetVisit-BsjoDO-n.d.ts → useVetVisit-RPBOabl8.d.ts} +2 -2
  139. package/dist/video/index.cjs +122 -1
  140. package/dist/video/index.d.cts +3 -3
  141. package/dist/video/index.d.ts +3 -3
  142. package/dist/video/index.js +122 -1
  143. package/dist/{view-Dc-JlFkf.d.ts → view-BSmN5RWf.d.ts} +5 -5
  144. package/dist/{view-DGPaVno8.d.cts → view-UFwCG1Pn.d.cts} +5 -5
  145. package/dist/web/consent/index.cjs +111 -1
  146. package/dist/web/consent/index.d.cts +9 -9
  147. package/dist/web/consent/index.d.ts +9 -9
  148. package/dist/web/consent/index.js +111 -1
  149. package/dist/web/index.cjs +325 -14
  150. package/dist/web/index.d.cts +22 -22
  151. package/dist/web/index.d.ts +22 -22
  152. package/dist/web/index.js +325 -14
  153. package/dist/web/notifications/index.cjs +95 -2
  154. package/dist/web/notifications/index.d.cts +7 -7
  155. package/dist/web/notifications/index.d.ts +7 -7
  156. package/dist/web/notifications/index.js +95 -2
  157. package/dist/web/records/depth/index.cjs +169 -2
  158. package/dist/web/records/depth/index.d.cts +11 -11
  159. package/dist/web/records/depth/index.d.ts +11 -11
  160. package/dist/web/records/depth/index.js +169 -2
  161. package/dist/web/records/index.cjs +689 -4
  162. package/dist/web/records/index.d.cts +34 -37
  163. package/dist/web/records/index.d.ts +34 -37
  164. package/dist/web/records/index.js +689 -4
  165. package/dist/web/records/upload/index.cjs +3 -0
  166. package/dist/web/records/upload/index.d.cts +23 -0
  167. package/dist/web/records/upload/index.d.ts +23 -0
  168. package/dist/web/records/upload/index.js +3 -0
  169. package/dist/web/televet/booking/index.cjs +423 -4
  170. package/dist/web/televet/booking/index.d.cts +26 -74
  171. package/dist/web/televet/booking/index.d.ts +26 -74
  172. package/dist/web/televet/booking/index.js +423 -4
  173. package/dist/web/televet/call/index.cjs +28 -1
  174. package/dist/web/televet/call/index.d.cts +2 -2
  175. package/dist/web/televet/call/index.d.ts +2 -2
  176. package/dist/web/televet/call/index.js +28 -1
  177. package/dist/web/televet/index.cjs +102 -4
  178. package/dist/web/televet/index.d.cts +29 -10
  179. package/dist/web/televet/index.d.ts +29 -10
  180. package/dist/web/televet/index.js +102 -4
  181. package/package.json +20 -4
  182. package/web/records/upload/native-blocked.cjs +12 -0
  183. package/web/records/upload/package.json +8 -0
  184. package/dist/televetGlobal-CEk0_cW9.d.cts +0 -34
  185. package/dist/televetGlobal-Cs9Wbqsy.d.ts +0 -34
@@ -1 +1,28 @@
1
- 'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');var rr=Object.defineProperty;var t=(e,r)=>rr(e,"name",{value:r,configurable:true});var ve=Object.freeze({track(){},trackExpectedFailure(){}});function Ee(e){try{return new URL(e.trim()).protocol==="https:"}catch{return false}}t(Ee,"isSafeRoomUrl");function re(e,r){return Ee(e)&&r.trim().length>0}t(re,"isUsableRoomCredential");function he(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}t(he,"reportHostFailure");function nr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}t(nr,"isThenable");function B(e,...r){if(typeof e=="function")try{let n=e(...r);return nr(n)&&Promise.resolve(n).then(void 0,he),n}catch(n){he(n);return}}t(B,"callHost");var Te=new WeakMap;function tr(e){if(typeof e!="function")return;let r=Te.get(e);if(r!==void 0)return r;let n=t((...a)=>{B(e,...a);},"guarded");return Te.set(e,n),n}t(tr,"guardHost");function Ce(e,r){let n=null;for(let a of r){let o=e[a];typeof o=="function"&&(n??={...e},n[a]=tr(o));}return n??e}t(Ce,"guardHostProps");var or=10,s=Object.freeze({muteCta:"Mute",unmuteCta:"Unmute",cameraOffCta:"Camera off",cameraOnCta:"Camera on",leaveCta:"Leave",switchCameraCta:"Switch camera",speakerOffCta:"Speaker off",speakerOnCta:"Speaker on",lobbyTitleNoName:"Your vet is joining",lobbySubtitle:"Usually under a minute",lobbyPrepLabel:"WHILE YOU WAIT",lobbyPrepNoPet:"Have your pet nearby and somewhere well lit.",lobbyTitle:t(e=>{let r=e?.trim()??"";return r.length>0?`${r} is joining`:s.lobbyTitleNoName},"lobbyTitle"),lobbyPrep:t(e=>{let r=e?.trim()??"";return r.length>0?`Have ${r} nearby and somewhere well lit.`:s.lobbyPrepNoPet},"lobbyPrep"),lobbyDuration:t(e=>`${e} minutes`,"lobbyDuration"),waitingRoomLabel:"Waiting room",leaveWaitingRoomLabel:"Leave the waiting room",lobbyTipsTitle:t(e=>{let r=e?.trim()??"";return r.length>0?`Before ${r} joins`:s.lobbyPrepLabel},"lobbyTipsTitle"),lobbyTipSpot:"Find a bright, quiet spot.",joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});var xe=Symbol.for("@everfur/sdk/televet");function ke(){let e=globalThis,r=e[xe];if(r!==void 0)return r;let n={presenter:null,snapshot:Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:new Set,dailyRegistered:false};return e[xe]=n,n}t(ke,"televetGlobal");function Fe(e){ke().dailyRegistered=e;}t(Fe,"markEverfurDailyRegistered");function Re(){let e=ke(),r=e.noticeReceipts;if(r!==void 0)return r;let n=new Map;return e.noticeReceipts=n,n}t(Re,"noticeReceipts");function Se(e){return Re().has(e)}t(Se,"hasRecordingNoticeAccepted");function x(e,r){let n=Re().get(e);n!==void 0&&(n.joined=r);}t(x,"markTelevetCallJoined");function oe(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))oe(e[r]);}return e}t(oe,"deepFreeze");var ar=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Pe={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Le={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},we={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},lr={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},ir={regular:"400",medium:"500",bold:"700"},sr={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},dr=0,W="System",G="monospace",ur=["content","heading","control","compact","badge"];function cr(e){let r={};for(let n of ur)r[n]=e;return r}t(cr,"authoredTierSizes");function _e(){return {family:W,mono:G,fontUrl:null,families:{regular:W,medium:W,bold:W,mono:G,monoMedium:G,monoBold:G},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:we,tierSizes:cr(we),lineHeight:lr,weight:ir,letterSpacing:sr,scale:1,maxScale:dr,scaleCaps:ar}}t(_e,"baseType");var Ae={},ne=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function te(e){return `cubic-bezier(${e.join(", ")})`}t(te,"cssCubicBezier");var Be={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:te(ne.standard),emphasized:te(ne.emphasized),exit:te(ne.exit)},reducedMotion:false},fr={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",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},De=oe({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:fr,space:Pe,radius:Le,type:_e(),motion:Be,slots:Ae}),pr={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",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};oe({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:pr,space:Pe,radius:Le,type:_e(),motion:Be,slots:Ae});var Ne=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),Oe=globalThis,ae=Oe[Ne]??(Oe[Ne]=react.createContext(De));ae.displayName??="EverfurThemeContext";function D(){return react.useContext(ae)}t(D,"useEverfurTheme");var Me=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function Ve(e,r){let{scale:n,scaleCaps:a}=e.type,o=a[r];return o>0?Math.min(n,o):n}t(Ve,"tierScale");function Ie(e,r,n){return Math.round(n*Ve(e,r)*10)/10}t(Ie,"tierPx");var He='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',gr="System";function br(e){let r=e.trim();return r.length===0||r===gr?He:`${Ue(r)}, ${He}`}t(br,"cssFontFamily");function vr(e){let r=e.trim();return r.length===0||r==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${Ue(r)}, ui-monospace, Menlo, Consolas, monospace`}t(vr,"cssMonoFamily");function Ue(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}t(Ue,"quote");function p(e,r){let n=e.type,a=n.families[r];return {fontFamily:r==="mono"||r==="monoMedium"||r==="monoBold"?vr(a):br(a),fontWeight:n.namedFaces[r]?n.weight.regular:n.weight[Me[r]]}}t(p,"faceCss");var $=Object.freeze({textAlign:"start"});var ie=`[everfur] The in-page vet call needs @daily-co/daily-js, which this app has not registered. Install it and call registerEverfurDaily(() => import('@daily-co/daily-js')) once in your app entry, before any Everfur call surface mounts. Until then the in-page visit tells the member the call cannot be joined; <VetVisitButton prefer="redirect" /> is the explicit way to the hosted visit in a new tab instead.`,se="@daily-co/daily-js",Er=`optional peer '${se}' has no registered loader`,hr=`optional peer '${se}' is present but failed its shape check`;function de(e){return typeof e=="object"&&e!==null}t(de,"isRecordLike");function Tr(e){let r=e;for(let n=0;n<3;n+=1){if(ze(r))return r;if(!de(r)||!("default"in r))return null;r=r.default;}return null}t(Tr,"normalizeDailyModule");function ze(e){return !de(e)&&typeof e!="function"?false:typeof e.createFrame=="function"}t(ze,"isEverfurDailyModule");var je=null,Y=null;function le(e){return Object.freeze({available:false,module:null,reason:e})}t(le,"unavailable");function Cr(e){je=e,Y=null,Fe(e!==null);}t(Cr,"registerEverfurDaily");function ue(){if(Y!==null)return Y;let e=je;if(e===null)return Promise.resolve(le(Er));let r=(async()=>{let n;try{n=await e();}catch(o){return le(`optional peer '${se}' is not installed: ${xr(o)}`)}let a=Tr(n);return a===null?le(hr):Object.freeze({available:true,module:a})})();return Y=r,r}t(ue,"loadEverfurDaily");function xr(e){return e instanceof Error?e.message:typeof e=="string"?e:"unknown load error"}t(xr,"describe");function We(e){if(!de(e)||!("errorMsg"in e))return null;let r=e.errorMsg;return typeof r=="string"&&r.length>0?r:null}t(We,"dailyErrorMessage");var $e=44,Ye="16 / 9",Rr="16px",ce="calc(100dvh - 8rem)",Sr=480,wr="3 / 4",Pr=500,Lr=270,_r=.45;function Ar(e,r){if(!r||e===null)return {aspectRatio:Ye,maxHeight:ce};if(e<Sr)return {aspectRatio:wr,maxHeight:ce,minHeight:Pr};let n=Math.max(Lr,Math.ceil(e*_r));return {aspectRatio:Ye,maxHeight:ce,minHeight:n}}t(Ar,"frameSize");var Br=5e3;function Dr(e){let{roomUrl:r,token:n,onLeave:a,displayName:o,daily:d,telemetry:O,onUnavailable:L,renderUnavailable:R,style:l,className:M}=Ce(e,["onLeave","onUnavailable"]),V=D(),u=react.useMemo(()=>Vr(V),[V]),H=`${react.useId()}-recording-notice`,[E,h]=react.useState("joining"),[I,fe]=react.useState(null),[_,q]=react.useState(null),[U,pe]=react.useState(false),[J,ye]=react.useState(false),[Qe,er]=react.useState(null),X=react.useRef(null),T=react.useRef(null),Z=react.useRef(false),z=react.useRef(false),Q=react.useRef(null),j=react.useRef(0),S=react.useRef({onLeave:a,onUnavailable:L,daily:d,telemetry:O});S.current={onLeave:a,onUnavailable:L,daily:d,telemetry:O};let w=react.useCallback(()=>{Z.current||(Z.current=true,B(S.current.onLeave));},[]);react.useEffect(()=>()=>{j.current+=1;},[]),react.useEffect(()=>{let i=false;q(null),j.current+=1,Z.current=false,z.current=false,ye(false),h("joining"),pe(Se(r));let c=t((m,ee)=>{i||(fe({reason:m,detail:ee}),B(S.current.onUnavailable,m,ee));},"refuse");if(!re(r,n)){c("roomUnusable","the call needs an https room URL and a non-empty join token");return}let y=S.current.daily;return y!==void 0?(q(()=>y),()=>{i=true;}):(ue().then(m=>{if(!i){if(!m.available){Mr(ie),c("dailyMissing",m.reason);return}q(()=>m.module);}}),()=>{i=true;})},[r,n]),react.useEffect(()=>{if(_===null||!U)return;let i=false,c=null,y=[],m=t((C,g)=>{i||(fe({reason:C,detail:g}),B(S.current.onUnavailable,C,g));},"refuse");return t(async()=>{let C=X.current;if(!C)return;let g=S.current.telemetry??ve;try{c=_.createFrame(C,{showLeaveButton:!0,showFullscreenButton:!1,showUserNameChangeUI:!1,iframeStyle:{width:"100%",height:"100%",border:"0",borderRadius:Rr}});}catch(b){m("dailyMissing",`createFrame failed: ${qe(b)}`);return}T.current=c;let A=t((b,be)=>{y.push({event:b,handler:be}),c?.on(b,be);},"attach");A("joined-meeting",()=>{i||c===null||z.current||(h("joined"),x(r,true));}),A("left-meeting",()=>{i||(x(r,false),h("left"),w());}),A("error",b=>{i||(x(r,false),h("error"),g.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:We(b)??"unknown"}));});try{if(await c.join({url:r,token:n,userName:o}),i)return;g.track("televet.call.joined",{provider:"daily"});}catch(b){if(i)return;x(r,false),h("error"),g.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:qe(b)});}},"start")(),()=>{i=true,x(r,false);for(let{event:A,handler:b}of y)try{c?.off(A,b);}catch{}let C=T.current;T.current=null,C?.destroy().catch(()=>{});let g=Q.current;g!==null&&(g.abandoned=true),Ke(g);}},[_,U,r,n,o,w]);let me=_!==null&&U&&I===null&&E!=="left";react.useEffect(()=>{let i=X.current;if(!me||i===null||typeof ResizeObserver>"u")return;let c=t(()=>{er(i.offsetWidth>0?i.offsetWidth:null);},"read");c();let y=new ResizeObserver(c);return y.observe(i),()=>y.disconnect()},[me]),react.useEffect(()=>{if(E!=="left")return;let i=T.current;T.current=null,i?.destroy().catch(()=>{}),Ke(Q.current);},[E]);let ge=react.useCallback(()=>{if(z.current)return;z.current=true;let i=j.current,c=T.current;if(T.current=null,x(r,false),!c){h("left"),w();return}ye(true);let y={call:c,settled:false,abandoned:false};Q.current=y,Or(Nr(c).then(()=>{y.settled=true;}),Br).then(m=>{m&&(y.abandoned=true),j.current===i&&(h("left"),w());});},[w,r]);return I!==null?R?jsxRuntime.jsx(jsxRuntime.Fragment,{children:R(I.reason,I.detail)}):null:_===null?null:U?jsxRuntime.jsxs("div",{className:M,"data-testid":"everfur-vet-call",style:{...u.root,...l},children:[E==="left"?null:jsxRuntime.jsx("div",{ref:X,"data-testid":"everfur-vet-call-frame",style:{...u.frame,...Ar(Qe,E==="joining"),...E==="error"?u.frameHidden:null}}),E==="joining"?jsxRuntime.jsx("button",{type:"button",onClick:ge,disabled:J,"aria-busy":J||void 0,"data-testid":"everfur-vet-call-joining-leave",style:{...u.failedLeave,...u.joiningLeave,...J?u.leaveHeld:null},children:s.leaveCta}):null,E==="error"?jsxRuntime.jsxs("div",{role:"alert","data-testid":"everfur-vet-call-failed",style:u.failed,children:[jsxRuntime.jsx("p",{style:u.failedText,children:s.joinFailedReason}),jsxRuntime.jsx("button",{type:"button",onClick:ge,"data-testid":"everfur-vet-call-failed-leave",style:u.failedLeave,children:s.leaveCta})]}):null]}):jsxRuntime.jsx("div",{className:M,"data-testid":"everfur-vet-call",style:{...u.root,...l},children:jsxRuntime.jsxs("div",{role:"alertdialog","aria-labelledby":H,"data-testid":"everfur-vet-call-recording-notice",style:u.notice,children:[jsxRuntime.jsx("p",{id:H,style:u.noticeTitle,children:s.recordingNoticeTitle}),jsxRuntime.jsxs("div",{style:u.noticeActions,children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>pe(true),"data-testid":"everfur-vet-call-recording-continue",style:u.noticeContinue,children:s.recordingNoticeCta}),jsxRuntime.jsx("button",{type:"button",onClick:w,"data-testid":"everfur-vet-call-recording-decline",style:u.failedLeave,children:s.recordingNoticeDecline})]})]})})}t(Dr,"EverfurVetCall");function Ke(e){e===null||e.settled||!e.abandoned||(e.settled=true,e.call.destroy().catch(()=>{}));}t(Ke,"releaseAbandoned");async function Nr(e){try{await e.leave();}catch{}try{await e.destroy();}catch{}}t(Nr,"teardown");function Or(e,r){return new Promise(n=>{let a=setTimeout(()=>n(true),r);e.then(()=>{clearTimeout(a),n(false);});})}t(Or,"settleWithin");function qe(e){return e instanceof Error?e.message:typeof e=="string"?e:"unknown error"}t(qe,"describe");var Je=false;function Mr(e){if(Je)return;Je=true;let r=globalThis.console;try{r?.warn?.(e);}catch{}}t(Mr,"warnOnce");function Vr(e){let{color:r,space:n,radius:a,type:o}=e;return {root:{...$,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:n.md,width:"100%"},frame:{position:"relative",width:"100%",overflow:"hidden",borderRadius:a.lg,backgroundColor:r.brandInk},frameHidden:{display:"none"},failed:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:n.md,padding:n.lg,borderRadius:a.md,border:`1px solid ${r.brandBorder}`,backgroundColor:r.surfaceCream,color:r.text.primary},failedText:{margin:0,fontSize:o.size.bodyTight,color:r.text.primary},notice:{display:"flex",flexDirection:"column",gap:n.md,padding:n.lg,borderRadius:a.md,border:`1px solid ${r.brandBorder}`,backgroundColor:r.surface,color:r.text.primary},noticeTitle:{margin:0,...p(e,"medium"),fontSize:o.size.subtitle,color:r.text.primary},noticeActions:{display:"flex",flexWrap:"wrap",gap:n.md},noticeContinue:{minHeight:$e,padding:`0 ${n.lg}px`,borderRadius:a.pill,border:0,backgroundColor:r.primary,color:r.onPrimary,cursor:"pointer",...p(e,"medium"),fontSize:o.size.body},failedLeave:{minHeight:$e,padding:`0 ${n.lg}px`,borderRadius:a.pill,border:`1.5px solid ${r.brandInk}`,backgroundColor:"transparent",color:r.brandInk,cursor:"pointer",...p(e,"medium"),fontSize:o.size.body},joiningLeave:{alignSelf:"flex-start"},leaveHeld:{cursor:"default",opacity:.6}}}t(Vr,"makeCallStyles");function Xe(e){let r=e.color;return {ink:r.brandInk,text:r.text.primary,muted:r.text.muted,line:r.borderRingCream,mist:r.surfaceSubtle,surface:r.surface,pink:r.scanButtonPink,onPink:r.onBubbleVet,go:r.success,alert:r.danger,alertWash:r.badgeBgCritical}}t(Xe,"televetPlainLook");var jr=44,Ze=3,Wr=420,Gr=.35,$r=1,Yr=.6;function Kr({theme:e}){let r=e.motion.reducedMotion,[n,a]=react.useState(0);return react.useEffect(()=>{if(r)return;let o=setInterval(()=>a(d=>(d+1)%Ze),Wr);return ()=>clearInterval(o)},[r]),jsxRuntime.jsx("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-dots",style:{display:"flex",gap:e.space.xs,justifyContent:"center"},children:Array.from({length:Ze},(o,d)=>jsxRuntime.jsx("span",{style:{width:6,height:6,borderRadius:e.radius.pill,backgroundColor:e.color.brandInk,opacity:r?Yr:d===n?$r:Gr,transition:r?"none":`opacity ${e.motion.duration.fast}ms ${e.motion.easing.standard}`}},d))})}t(Kr,"WaitingDots");function qr(e){let{clinicianName:r,petName:n,consultMinutes:a,onLeave:o,style:d,className:O}=e,L=typeof a=="number"&&Number.isFinite(a)&&a>0?a:null,R=D(),l=react.useMemo(()=>Jr(R),[R]),M=s.lobbyTitle(r),V=s.lobbyPrep(n);return jsxRuntime.jsxs("section",{className:O,"data-testid":"everfur-vet-call-lobby",style:{...l.root,...d},children:[jsxRuntime.jsxs("div",{style:l.topRow,children:[jsxRuntime.jsx("button",{type:"button",onClick:o,"aria-label":s.leaveWaitingRoomLabel,"data-testid":"everfur-vet-call-lobby-leave",style:l.leave,children:s.leaveCta}),jsxRuntime.jsx("p",{style:l.label,children:s.waitingRoomLabel})]}),jsxRuntime.jsxs("div",{style:l.center,children:[jsxRuntime.jsxs("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-avatar",style:l.avatar,children:[jsxRuntime.jsx("span",{style:l.avatarHead}),jsxRuntime.jsx("span",{style:l.avatarBody})]}),jsxRuntime.jsxs("div",{"aria-live":"polite",style:l.titleBlock,children:[jsxRuntime.jsx("p",{"data-testid":"everfur-vet-call-lobby-title",style:l.title,children:M}),jsxRuntime.jsx("p",{style:l.subtitle,children:s.lobbySubtitle})]}),jsxRuntime.jsx(Kr,{theme:R})]}),jsxRuntime.jsxs("div",{"data-testid":"everfur-vet-call-lobby-prep",style:l.prepCard,children:[jsxRuntime.jsx("p",{style:l.prepLabel,children:s.lobbyTipsTitle(r)}),jsxRuntime.jsx("ol",{style:l.tips,children:[s.lobbyTipSpot,V].map((u,H)=>jsxRuntime.jsxs("li",{style:l.tip,children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:l.tipNumber,children:String(H+1).padStart(2,"0")}),jsxRuntime.jsx("span",{style:l.prepBody,children:u})]},u))})]}),L===null?null:jsxRuntime.jsx("p",{"data-testid":"everfur-vet-call-lobby-duration",style:l.duration,children:s.lobbyDuration(L)})]})}t(qr,"EverfurVetCallLobby");function Jr(e){let{space:r,radius:n,type:a}=e,o=Xe(e),d=112;return {root:{...$,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:r.lg,padding:r.xl,borderRadius:n.lg,borderStyle:"solid",borderWidth:1,borderColor:o.line,backgroundColor:o.surface,color:o.text},topRow:{display:"flex",alignItems:"center",gap:14},leave:{minHeight:jr,padding:`0 ${r.lg}px`,margin:0,borderRadius:n.pill,borderStyle:"solid",borderWidth:1.5,borderColor:o.line,background:o.surface,color:o.ink,cursor:"pointer",...p(e,"bold"),fontSize:a.size.bodyTight},label:{margin:0,...p(e,"monoBold"),color:o.muted,fontSize:12,letterSpacing:"0.08em",textTransform:"uppercase"},center:{display:"flex",flexDirection:"column",alignItems:"center",gap:r.md},avatar:{position:"relative",width:d,height:d,borderRadius:n.pill,overflow:"hidden",backgroundColor:o.mist,boxShadow:`0 0 0 4px ${o.surface}, 0 0 0 6px ${o.go}`,display:"flex",alignItems:"center",justifyContent:"center"},avatarHead:{position:"absolute",top:d*.24,width:d*.28,height:d*.28,borderRadius:n.pill,backgroundColor:o.ink,opacity:.35},avatarBody:{position:"absolute",top:d*.58,width:d*.52,height:d*.34,borderTopLeftRadius:d*.26,borderTopRightRadius:d*.26,backgroundColor:o.ink,opacity:.35},titleBlock:{textAlign:"center"},title:{margin:0,...p(e,"medium"),fontSize:Ie(e,"heading",28),lineHeight:1.15,letterSpacing:"-0.02em",color:o.ink},subtitle:{margin:`${e.space.xs}px 0 0`,...p(e,"regular"),fontSize:a.size.body,color:o.text},prepCard:{display:"flex",flexDirection:"column",gap:r.sm,padding:r.lg,borderRadius:n.lg,borderStyle:"solid",borderWidth:1,borderColor:o.line},prepLabel:{margin:0,...p(e,"bold"),fontSize:19,color:o.ink},tips:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},tip:{display:"grid",gridTemplateColumns:"44px 1fr",gap:10,paddingTop:12,paddingBottom:12,borderTop:`1px solid ${o.line}`},tipNumber:{...p(e,"monoBold"),color:o.ink,fontSize:13,paddingTop:2},prepBody:{margin:0,...p(e,"regular"),fontSize:a.size.body,lineHeight:1.5,color:o.text},duration:{margin:0,textAlign:"center",...p(e,"regular"),fontSize:a.size.bodyTight,color:o.muted}}}t(Jr,"makeLobbyStyles");exports.EVERFUR_DAILY_SETUP=ie;exports.EverfurVetCall=Dr;exports.EverfurVetCallLobby=qr;exports.VET_CALL_CONSULT_MINUTES=or;exports.VET_CALL_COPY=s;exports.isEverfurDailyModule=ze;exports.isSafeRoomUrl=Ee;exports.isUsableRoomCredential=re;exports.loadEverfurDaily=ue;exports.registerEverfurDaily=Cr;
1
+ "use client";
2
+ "use strict";var react=require("react"),jsxRuntime=require("react/jsx-runtime");var noopTelemetry=/* @__PURE__ */Object.freeze({track(){},trackExpectedFailure(){}});function isSafeRoomUrl(url){try{return new URL(url.trim()).protocol==="https:"}catch{return false}}function isUsableRoomCredential(roomUrl,token){return isSafeRoomUrl(roomUrl)&&token.trim().length>0}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 GUARDED=/* @__PURE__ */new WeakMap;function guardHost(fn){if(typeof fn!="function")return;let cached=GUARDED.get(fn);if(cached!==void 0)return cached;let guarded=(...args)=>{callHost(fn,...args)};return GUARDED.set(fn,guarded),guarded}function guardHostProps(props,names){let guarded=null;for(let name of names){let fn=props[name];typeof fn=="function"&&(guarded??={...props},guarded[name]=guardHost(fn))}return guarded??props}var VET_CALL_CONSULT_MINUTES=10,VET_CALL_COPY=/* @__PURE__ */Object.freeze({muteCta:"Mute",unmuteCta:"Unmute",cameraOffCta:"Camera off",cameraOnCta:"Camera on",leaveCta:"Leave",switchCameraCta:"Switch camera",speakerOffCta:"Speaker off",speakerOnCta:"Speaker on",lobbyTitleNoName:"Your vet is joining",lobbySubtitle:"Usually under a minute",lobbyPrepLabel:"WHILE YOU WAIT",lobbyPrepNoPet:"Have your pet nearby and somewhere well lit.",lobbyTitle:clinicianName=>{let name=clinicianName?.trim()??"";return name.length>0?`${name} is joining`:VET_CALL_COPY.lobbyTitleNoName},lobbyPrep:petName=>{let pet=petName?.trim()??"";return pet.length>0?`Have ${pet} nearby and somewhere well lit.`:VET_CALL_COPY.lobbyPrepNoPet},lobbyDuration:minutes=>`${minutes} minutes`,waitingRoomLabel:"Waiting room",leaveWaitingRoomLabel:"Leave the waiting room",lobbyTipsTitle:clinicianName=>{let name=clinicianName?.trim()??"";return name.length>0?`Before ${name} joins`:VET_CALL_COPY.lobbyPrepLabel},lobbyTipSpot:"Find a bright, quiet spot.",joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});var SLOT=/* @__PURE__ */Symbol.for("@everfur/sdk/televet");function televetGlobal(){let realm=globalThis,existing=realm[SLOT];if(existing!==void 0)return existing;let created={presenter:null,snapshot:/* @__PURE__ */Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:/* @__PURE__ */new Set,dailyRegistered:false};return realm[SLOT]=created,created}function markEverfurDailyRegistered(registered){televetGlobal().dailyRegistered=registered}function noticeReceipts(){let g=televetGlobal(),existing=g.noticeReceipts;if(existing!==void 0)return existing;let created=/* @__PURE__ */new Map;return g.noticeReceipts=created,created}function hasRecordingNoticeAccepted(roomUrl){return noticeReceipts().has(roomUrl)}function markTelevetCallJoined(roomUrl,joined){let held=noticeReceipts().get(roomUrl);held!==void 0&&(held.joined=joined)}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}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}}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)"},EVERFUR_LIGHT=deepFreeze({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},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)"};deepFreeze({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},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 FACE_WEIGHT=/* @__PURE__ */Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function tierScale(theme,tier){let{scale:scale,scaleCaps:scaleCaps}=theme.type,cap=scaleCaps[tier];return cap>0?Math.min(scale,cap):scale}function tierPx(theme,tier,points){return Math.round(points*tierScale(theme,tier)*10)/10}var SYSTEM_UI_STACK='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',RN_SYSTEM_FAMILY="System";function cssFontFamily(family){let named=family.trim();return named.length===0||named===RN_SYSTEM_FAMILY?SYSTEM_UI_STACK:`${quote(named)}, ${SYSTEM_UI_STACK}`}function cssMonoFamily(mono){let named=mono.trim();return named.length===0||named==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${quote(named)}, ui-monospace, Menlo, Consolas, monospace`}function quote(family){return`"${family.replace(/[\\"]/g,"\\$&")}"`}function faceCss(theme,weight){let type=theme.type,family=type.families[weight];return{fontFamily:weight==="mono"||weight==="monoMedium"||weight==="monoBold"?cssMonoFamily(family):cssFontFamily(family),fontWeight:type.namedFaces[weight]?type.weight.regular:type.weight[FACE_WEIGHT[weight]]}}var SURFACE_ROOT_RESET=/* @__PURE__ */Object.freeze({textAlign:"start"});var EVERFUR_DAILY_SETUP=`[everfur] The in-page vet call needs @daily-co/daily-js, which this app has not registered. Install it and call registerEverfurDaily(() => import('@daily-co/daily-js')) once in your app entry, before any Everfur call surface mounts. Until then the in-page visit tells the member the call cannot be joined; <VetVisitButton prefer="redirect" /> is the explicit way to the hosted visit in a new tab instead.`,DAILY_PEER="@daily-co/daily-js",NOT_REGISTERED=`optional peer '${DAILY_PEER}' has no registered loader`,WRONG_SHAPE=`optional peer '${DAILY_PEER}' is present but failed its shape check`;function isRecordLike(candidate){return typeof candidate=="object"&&candidate!==null}function normalizeDailyModule(candidate){let current=candidate;for(let depth=0;depth<3;depth+=1){if(isEverfurDailyModule(current))return current;if(!isRecordLike(current)||!("default"in current))return null;current=current.default}return null}function isEverfurDailyModule(candidate){return!isRecordLike(candidate)&&typeof candidate!="function"?false:typeof candidate.createFrame=="function"}var loader=null,memo=null;function unavailable(reason){/* @__PURE__ */
3
+ return Object.freeze({available:false,module:null,reason:reason})}function registerEverfurDaily(next){loader=next,memo=null,markEverfurDailyRegistered(next!==null)}function loadEverfurDaily(){if(memo!==null)return memo;let load=loader;if(load===null)return Promise.resolve(unavailable(NOT_REGISTERED));let pending=(async()=>{let raw;try{raw=await load()}catch(cause){return unavailable(`optional peer '${DAILY_PEER}' is not installed: ${describe(cause)}`)}let module=normalizeDailyModule(raw);return module===null?unavailable(WRONG_SHAPE):/* @__PURE__ */Object.freeze({available:true,module:module})})();return memo=pending,pending}function describe(cause){return cause instanceof Error?cause.message:typeof cause=="string"?cause:"unknown load error"}function dailyErrorMessage(payload){if(!isRecordLike(payload)||!("errorMsg"in payload))return null;let message=payload.errorMsg;return typeof message=="string"&&message.length>0?message:null}var MIN_TOUCH_TARGET=44,FRAME_ASPECT="16 / 9",FRAME_RADIUS="16px",FRAME_MAX_HEIGHT="calc(100dvh - 8rem)",PREJOIN_STACKED_BELOW=480,PREJOIN_PORTRAIT_ASPECT="3 / 4",PREJOIN_STACKED_MIN_HEIGHT=500,PREJOIN_WIDE_MIN_HEIGHT=270,PREJOIN_WIDE_FLOOR_RATIO=.45;function frameSize(width,joining){if(!joining||width===null)return{aspectRatio:FRAME_ASPECT,maxHeight:FRAME_MAX_HEIGHT};if(width<PREJOIN_STACKED_BELOW)return{aspectRatio:PREJOIN_PORTRAIT_ASPECT,maxHeight:FRAME_MAX_HEIGHT,minHeight:PREJOIN_STACKED_MIN_HEIGHT};let floor=Math.max(PREJOIN_WIDE_MIN_HEIGHT,Math.ceil(width*PREJOIN_WIDE_FLOOR_RATIO));return{aspectRatio:FRAME_ASPECT,maxHeight:FRAME_MAX_HEIGHT,minHeight:floor}}var LEAVE_SETTLE_MS=5e3;function EverfurVetCall(props){let{roomUrl:roomUrl,token:token,onLeave:onLeave,displayName:displayName,daily:daily,telemetry:telemetry,onUnavailable:onUnavailable,renderUnavailable:renderUnavailable,style:style,className:className}=guardHostProps(props,["onLeave","onUnavailable"]),theme=useEverfurTheme(),styles=react.useMemo(()=>makeCallStyles(theme),[theme]),noticeId=`${react.useId()}-recording-notice`,[phase,setPhase]=react.useState("joining"),[unavailable2,setUnavailable]=react.useState(null),[module,setModule]=react.useState(null),[acknowledged,setAcknowledged]=react.useState(false),[leaving,setLeaving]=react.useState(false),[frameWidth,setFrameWidth]=react.useState(null),containerRef=react.useRef(null),frameRef=react.useRef(null),leftRef=react.useRef(false),leavingRef=react.useRef(false),leavingCallRef=react.useRef(null),generationRef=react.useRef(0),hostRef=react.useRef({onLeave:onLeave,onUnavailable:onUnavailable,daily:daily,telemetry:telemetry});hostRef.current={onLeave:onLeave,onUnavailable:onUnavailable,daily:daily,telemetry:telemetry};let reportLeave=react.useCallback(()=>{leftRef.current||(leftRef.current=true,callHost(hostRef.current.onLeave))},[]);react.useEffect(()=>()=>{generationRef.current+=1},[]),react.useEffect(()=>{let cancelled=false;setModule(null),generationRef.current+=1,leftRef.current=false,leavingRef.current=false,setLeaving(false),setPhase("joining"),setAcknowledged(hasRecordingNoticeAccepted(roomUrl));let refuse=(reason,detail)=>{cancelled||(setUnavailable({reason:reason,detail:detail}),callHost(hostRef.current.onUnavailable,reason,detail))};if(!isUsableRoomCredential(roomUrl,token)){refuse("roomUnusable","the call needs an https room URL and a non-empty join token");return}let injected=hostRef.current.daily;return injected!==void 0?(setModule(()=>injected),()=>{cancelled=true}):(loadEverfurDaily().then(loaded=>{if(!cancelled){if(!loaded.available){warnOnce(EVERFUR_DAILY_SETUP),refuse("dailyMissing",loaded.reason);return}setModule(()=>loaded.module)}}),()=>{cancelled=true})},[roomUrl,token]),react.useEffect(()=>{if(module===null||!acknowledged)return;let cancelled=false,frame=null,attached=[],refuse=(reason,detail)=>{cancelled||(setUnavailable({reason:reason,detail:detail}),callHost(hostRef.current.onUnavailable,reason,detail))};return(async()=>{let container=containerRef.current;if(!container)return;let sink=hostRef.current.telemetry??noopTelemetry;try{frame=module.createFrame(container,{showLeaveButton:!0,showFullscreenButton:!1,showUserNameChangeUI:!1,iframeStyle:{width:"100%",height:"100%",border:"0",borderRadius:FRAME_RADIUS}})}catch(cause){refuse("dailyMissing",`createFrame failed: ${describe2(cause)}`);return}frameRef.current=frame;let attach=(event,handler)=>{attached.push({event:event,handler:handler}),frame?.on(event,handler)};attach("joined-meeting",()=>{cancelled||frame===null||leavingRef.current||(setPhase("joined"),markTelevetCallJoined(roomUrl,true))}),attach("left-meeting",()=>{cancelled||(markTelevetCallJoined(roomUrl,false),setPhase("left"),reportLeave())}),attach("error",payload=>{cancelled||(markTelevetCallJoined(roomUrl,false),setPhase("error"),sink.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:dailyErrorMessage(payload)??"unknown"}))});try{if(await frame.join({url:roomUrl,token:token,userName:displayName}),cancelled)return;sink.track("televet.call.joined",{provider:"daily"})}catch(cause){if(cancelled)return;markTelevetCallJoined(roomUrl,false),setPhase("error"),sink.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:describe2(cause)})}})(),()=>{cancelled=true,markTelevetCallJoined(roomUrl,false);for(let{event:event,handler:handler}of attached)try{frame?.off(event,handler)}catch{}let call=frameRef.current;frameRef.current=null,call?.destroy().catch(()=>{});let pending=leavingCallRef.current;pending!==null&&(pending.abandoned=true),releaseAbandoned(pending)}},[module,acknowledged,roomUrl,token,displayName,reportLeave]);let framed=module!==null&&acknowledged&&unavailable2===null&&phase!=="left";react.useEffect(()=>{let node=containerRef.current;if(!framed||node===null||typeof ResizeObserver>"u")return;let read=()=>{setFrameWidth(node.offsetWidth>0?node.offsetWidth:null)};read();let observer=new ResizeObserver(read);return observer.observe(node),()=>observer.disconnect()},[framed]),react.useEffect(()=>{if(phase!=="left")return;let call=frameRef.current;frameRef.current=null,call?.destroy().catch(()=>{}),releaseAbandoned(leavingCallRef.current)},[phase]);let leave=react.useCallback(()=>{if(leavingRef.current)return;leavingRef.current=true;let generation=generationRef.current,call=frameRef.current;if(frameRef.current=null,markTelevetCallJoined(roomUrl,false),!call){setPhase("left"),reportLeave();return}setLeaving(true);let pending={call:call,settled:false,abandoned:false};leavingCallRef.current=pending,settleWithin(teardown(call).then(()=>{pending.settled=true}),LEAVE_SETTLE_MS).then(timedOut=>{timedOut&&(pending.abandoned=true),generationRef.current===generation&&(setPhase("left"),reportLeave())})},[reportLeave,roomUrl]);return unavailable2!==null?renderUnavailable?/* @__PURE__ */jsxRuntime.jsx(jsxRuntime.Fragment,{children:renderUnavailable(unavailable2.reason,unavailable2.detail)}):null:module===null?null:acknowledged?/* @__PURE__ */jsxRuntime.jsxs("div",{className:className,"data-testid":"everfur-vet-call",style:{...styles.root,...style},children:[phase==="left"?null:/* @__PURE__ */jsxRuntime.jsx("div",{ref:containerRef,"data-testid":"everfur-vet-call-frame",style:{...styles.frame,...frameSize(frameWidth,phase==="joining"),...phase==="error"?styles.frameHidden:null}}),phase==="joining"?
4
+ /* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:leave,disabled:leaving,"aria-busy":leaving||void 0,"data-testid":"everfur-vet-call-joining-leave",style:{...styles.failedLeave,...styles.joiningLeave,...leaving?styles.leaveHeld:null},children:VET_CALL_COPY.leaveCta}):null,phase==="error"?
5
+ /* @__PURE__ */jsxRuntime.jsxs("div",{role:"alert","data-testid":"everfur-vet-call-failed",style:styles.failed,children:[
6
+ /* @__PURE__ */jsxRuntime.jsx("p",{style:styles.failedText,children:VET_CALL_COPY.joinFailedReason}),
7
+ /* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:leave,"data-testid":"everfur-vet-call-failed-leave",style:styles.failedLeave,children:VET_CALL_COPY.leaveCta})]}):null]}):/* @__PURE__ */jsxRuntime.jsx("div",{className:className,"data-testid":"everfur-vet-call",style:{...styles.root,...style},children:/* @__PURE__ */jsxRuntime.jsxs("div",{role:"alertdialog","aria-labelledby":noticeId,"data-testid":"everfur-vet-call-recording-notice",style:styles.notice,children:[
8
+ /* @__PURE__ */jsxRuntime.jsx("p",{id:noticeId,style:styles.noticeTitle,children:VET_CALL_COPY.recordingNoticeTitle}),
9
+ /* @__PURE__ */jsxRuntime.jsxs("div",{style:styles.noticeActions,children:[
10
+ /* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:()=>setAcknowledged(true),"data-testid":"everfur-vet-call-recording-continue",style:styles.noticeContinue,children:VET_CALL_COPY.recordingNoticeCta}),
11
+ /* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:reportLeave,"data-testid":"everfur-vet-call-recording-decline",style:styles.failedLeave,children:VET_CALL_COPY.recordingNoticeDecline})]})]})})}function releaseAbandoned(pending){pending===null||pending.settled||!pending.abandoned||(pending.settled=true,pending.call.destroy().catch(()=>{}))}async function teardown(call){try{await call.leave()}catch{}try{await call.destroy()}catch{}}function settleWithin(work,ms){return new Promise(resolve=>{let timer=setTimeout(()=>resolve(true),ms);work.then(()=>{clearTimeout(timer),resolve(false)})})}function describe2(cause){return cause instanceof Error?cause.message:typeof cause=="string"?cause:"unknown error"}var warned=false;function warnOnce(message){if(warned)return;warned=true;let globalConsole=globalThis.console;try{globalConsole?.warn?.(message)}catch{}}function makeCallStyles(theme){let{color:color,space:space,radius:radius,type:type}=theme;return{root:{...SURFACE_ROOT_RESET,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:space.md,width:"100%"},frame:{position:"relative",width:"100%",overflow:"hidden",borderRadius:radius.lg,backgroundColor:color.brandInk},frameHidden:{display:"none"},failed:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:space.md,padding:space.lg,borderRadius:radius.md,border:`1px solid ${color.brandBorder}`,backgroundColor:color.surfaceCream,color:color.text.primary},failedText:{margin:0,fontSize:type.size.bodyTight,color:color.text.primary},notice:{display:"flex",flexDirection:"column",gap:space.md,padding:space.lg,borderRadius:radius.md,border:`1px solid ${color.brandBorder}`,backgroundColor:color.surface,color:color.text.primary},noticeTitle:{margin:0,...faceCss(theme,"medium"),fontSize:type.size.subtitle,color:color.text.primary},noticeActions:{display:"flex",flexWrap:"wrap",gap:space.md},noticeContinue:{minHeight:MIN_TOUCH_TARGET,padding:`0 ${space.lg}px`,borderRadius:radius.pill,border:0,backgroundColor:color.primary,color:color.onPrimary,cursor:"pointer",...faceCss(theme,"medium"),fontSize:type.size.body},failedLeave:{minHeight:MIN_TOUCH_TARGET,padding:`0 ${space.lg}px`,borderRadius:radius.pill,border:`1.5px solid ${color.brandInk}`,backgroundColor:"transparent",color:color.brandInk,cursor:"pointer",...faceCss(theme,"medium"),fontSize:type.size.body},joiningLeave:{alignSelf:"flex-start"},leaveHeld:{cursor:"default",opacity:.6}}}function televetPlainLook(theme){let c=theme.color;return{ink:c.brandInk,text:c.text.primary,muted:c.text.muted,line:c.borderRingCream,mist:c.surfaceSubtle,surface:c.surface,pink:c.highlight,onPink:c.onHighlight,go:c.mark,alert:c.danger,alertWash:c.badgeBgCritical}}var MIN_TOUCH_TARGET2=44,DOT_COUNT=3,DOT_STEP_MS=420,DOT_DIM=.35,DOT_BRIGHT=1,DOT_REDUCED=.6;function WaitingDots({theme:theme}){let reduced=theme.motion.reducedMotion,[lit,setLit]=react.useState(0);return react.useEffect(()=>{if(reduced)return;let timer=setInterval(()=>setLit(current=>(current+1)%DOT_COUNT),DOT_STEP_MS);return()=>clearInterval(timer)},[reduced]),/* @__PURE__ */jsxRuntime.jsx("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-dots",style:{display:"flex",gap:theme.space.xs,justifyContent:"center"},children:Array.from({length:DOT_COUNT},(_unused,index)=>/* @__PURE__ */jsxRuntime.jsx("span",{style:{width:6,height:6,borderRadius:theme.radius.pill,backgroundColor:theme.color.brandInk,opacity:reduced?DOT_REDUCED:index===lit?DOT_BRIGHT:DOT_DIM,transition:reduced?"none":`opacity ${theme.motion.duration.fast}ms ${theme.motion.easing.standard}`}},index))})}function EverfurVetCallLobby(props){let{clinicianName:clinicianName,petName:petName,consultMinutes:consultMinutes,onLeave:onLeave,style:style,className:className}=props,minutes=typeof consultMinutes=="number"&&Number.isFinite(consultMinutes)&&consultMinutes>0?consultMinutes:null,theme=useEverfurTheme(),styles=react.useMemo(()=>makeLobbyStyles(theme),[theme]),title=VET_CALL_COPY.lobbyTitle(clinicianName),prep=VET_CALL_COPY.lobbyPrep(petName);/* @__PURE__ */
12
+ return jsxRuntime.jsxs("section",{className:className,"data-testid":"everfur-vet-call-lobby",style:{...styles.root,...style},children:[
13
+ /* @__PURE__ */jsxRuntime.jsxs("div",{style:styles.topRow,children:[
14
+ /* @__PURE__ */jsxRuntime.jsx("button",{type:"button",onClick:onLeave,"aria-label":VET_CALL_COPY.leaveWaitingRoomLabel,"data-testid":"everfur-vet-call-lobby-leave",style:styles.leave,children:VET_CALL_COPY.leaveCta}),
15
+ /* @__PURE__ */jsxRuntime.jsx("p",{style:styles.label,children:VET_CALL_COPY.waitingRoomLabel})]}),
16
+ /* @__PURE__ */jsxRuntime.jsxs("div",{style:styles.center,children:[
17
+ /* @__PURE__ */jsxRuntime.jsxs("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-avatar",style:styles.avatar,children:[
18
+ /* @__PURE__ */jsxRuntime.jsx("span",{style:styles.avatarHead}),
19
+ /* @__PURE__ */jsxRuntime.jsx("span",{style:styles.avatarBody})]}),
20
+ /* @__PURE__ */jsxRuntime.jsxs("div",{"aria-live":"polite",style:styles.titleBlock,children:[
21
+ /* @__PURE__ */jsxRuntime.jsx("p",{"data-testid":"everfur-vet-call-lobby-title",style:styles.title,children:title}),
22
+ /* @__PURE__ */jsxRuntime.jsx("p",{style:styles.subtitle,children:VET_CALL_COPY.lobbySubtitle})]}),
23
+ /* @__PURE__ */jsxRuntime.jsx(WaitingDots,{theme:theme})]}),
24
+ /* @__PURE__ */jsxRuntime.jsxs("div",{"data-testid":"everfur-vet-call-lobby-prep",style:styles.prepCard,children:[
25
+ /* @__PURE__ */jsxRuntime.jsx("p",{style:styles.prepLabel,children:VET_CALL_COPY.lobbyTipsTitle(clinicianName)}),
26
+ /* @__PURE__ */jsxRuntime.jsx("ol",{style:styles.tips,children:[VET_CALL_COPY.lobbyTipSpot,prep].map((tip,i)=>/* @__PURE__ */jsxRuntime.jsxs("li",{style:styles.tip,children:[
27
+ /* @__PURE__ */jsxRuntime.jsx("span",{"aria-hidden":"true",style:styles.tipNumber,children:String(i+1).padStart(2,"0")}),
28
+ /* @__PURE__ */jsxRuntime.jsx("span",{style:styles.prepBody,children:tip})]},tip))})]}),minutes===null?null:/* @__PURE__ */jsxRuntime.jsx("p",{"data-testid":"everfur-vet-call-lobby-duration",style:styles.duration,children:VET_CALL_COPY.lobbyDuration(minutes)})]})}function makeLobbyStyles(theme){let{space:space,radius:radius,type:type}=theme,look=televetPlainLook(theme),avatarSize=112;return{root:{...SURFACE_ROOT_RESET,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:space.lg,padding:space.xl,borderRadius:radius.lg,borderStyle:"solid",borderWidth:1,borderColor:look.line,backgroundColor:look.surface,color:look.text},topRow:{display:"flex",alignItems:"center",gap:14},leave:{minHeight:MIN_TOUCH_TARGET2,padding:`0 ${space.lg}px`,margin:0,borderRadius:radius.pill,borderStyle:"solid",borderWidth:1.5,borderColor:look.line,background:look.surface,color:look.ink,cursor:"pointer",...faceCss(theme,"bold"),fontSize:type.size.bodyTight},label:{margin:0,...faceCss(theme,"monoBold"),color:look.muted,fontSize:12,letterSpacing:"0.08em",textTransform:"uppercase"},center:{display:"flex",flexDirection:"column",alignItems:"center",gap:space.md},avatar:{position:"relative",width:avatarSize,height:avatarSize,borderRadius:radius.pill,overflow:"hidden",backgroundColor:look.mist,boxShadow:`0 0 0 4px ${look.surface}, 0 0 0 6px ${look.go}`,display:"flex",alignItems:"center",justifyContent:"center"},avatarHead:{position:"absolute",top:avatarSize*.24,width:avatarSize*.28,height:avatarSize*.28,borderRadius:radius.pill,backgroundColor:look.ink,opacity:.35},avatarBody:{position:"absolute",top:avatarSize*.58,width:avatarSize*.52,height:avatarSize*.34,borderTopLeftRadius:avatarSize*.26,borderTopRightRadius:avatarSize*.26,backgroundColor:look.ink,opacity:.35},titleBlock:{textAlign:"center"},title:{margin:0,...faceCss(theme,"medium"),fontSize:tierPx(theme,"heading",28),lineHeight:1.15,letterSpacing:"-0.02em",color:look.ink},subtitle:{margin:`${theme.space.xs}px 0 0`,...faceCss(theme,"regular"),fontSize:type.size.body,color:look.text},prepCard:{display:"flex",flexDirection:"column",gap:space.sm,padding:space.lg,borderRadius:radius.lg,borderStyle:"solid",borderWidth:1,borderColor:look.line},prepLabel:{margin:0,...faceCss(theme,"bold"),fontSize:19,color:look.ink},tips:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},tip:{display:"grid",gridTemplateColumns:"44px 1fr",gap:10,paddingTop:12,paddingBottom:12,borderTop:`1px solid ${look.line}`},tipNumber:{...faceCss(theme,"monoBold"),color:look.ink,fontSize:13,paddingTop:2},prepBody:{margin:0,...faceCss(theme,"regular"),fontSize:type.size.body,lineHeight:1.5,color:look.text},duration:{margin:0,textAlign:"center",...faceCss(theme,"regular"),fontSize:type.size.bodyTight,color:look.muted}}}exports.EVERFUR_DAILY_SETUP=EVERFUR_DAILY_SETUP;exports.EverfurVetCall=EverfurVetCall;exports.EverfurVetCallLobby=EverfurVetCallLobby;exports.VET_CALL_CONSULT_MINUTES=VET_CALL_CONSULT_MINUTES;exports.VET_CALL_COPY=VET_CALL_COPY;exports.isEverfurDailyModule=isEverfurDailyModule;exports.isSafeRoomUrl=isSafeRoomUrl;exports.isUsableRoomCredential=isUsableRoomCredential;exports.loadEverfurDaily=loadEverfurDaily;exports.registerEverfurDaily=registerEverfurDaily;
@@ -1,8 +1,8 @@
1
1
  import { ReactNode, CSSProperties } from 'react';
2
2
  import { T as TelemetryPort } from '../../../TelemetryPort-BDNr00hu.cjs';
3
- export { V as VetCallPhase, i as isSafeRoomUrl, a as isUsableRoomCredential } from '../../../callRoom-B_EqaUzx.cjs';
3
+ export { V as VetCallPhase, i as isSafeRoomUrl, a as isUsableRoomCredential } from '../../../callRoom-DfZTWFXh.cjs';
4
4
  export { V as VET_CALL_CONSULT_MINUTES, a as VET_CALL_COPY } from '../../../callCopy-DHjem0R-.cjs';
5
- import '../../../EverfurError-DmELDpXp.cjs';
5
+ import '../../../EverfurError-pEXDbUJ1.cjs';
6
6
 
7
7
  /** The Daily events the call surface subscribes to. */
8
8
  type VetCallEvent = 'joined-meeting' | 'participant-joined' | 'participant-updated' | 'participant-left' | 'left-meeting' | 'error';
@@ -1,8 +1,8 @@
1
1
  import { ReactNode, CSSProperties } from 'react';
2
2
  import { T as TelemetryPort } from '../../../TelemetryPort-BDNr00hu.js';
3
- export { V as VetCallPhase, i as isSafeRoomUrl, a as isUsableRoomCredential } from '../../../callRoom-7wrE3RP2.js';
3
+ export { V as VetCallPhase, i as isSafeRoomUrl, a as isUsableRoomCredential } from '../../../callRoom-B1qq_D-4.js';
4
4
  export { V as VET_CALL_CONSULT_MINUTES, a as VET_CALL_COPY } from '../../../callCopy-DHjem0R-.js';
5
- import '../../../EverfurError-DmELDpXp.js';
5
+ import '../../../EverfurError-pEXDbUJ1.js';
6
6
 
7
7
  /** The Daily events the call surface subscribes to. */
8
8
  type VetCallEvent = 'joined-meeting' | 'participant-joined' | 'participant-updated' | 'participant-left' | 'left-meeting' | 'error';
@@ -1 +1,28 @@
1
- import {createContext,useMemo,useId,useState,useRef,useCallback,useEffect,useContext}from'react';import {jsx,Fragment,jsxs}from'react/jsx-runtime';var rr=Object.defineProperty;var t=(e,r)=>rr(e,"name",{value:r,configurable:true});var ve=Object.freeze({track(){},trackExpectedFailure(){}});function Ee(e){try{return new URL(e.trim()).protocol==="https:"}catch{return false}}t(Ee,"isSafeRoomUrl");function re(e,r){return Ee(e)&&r.trim().length>0}t(re,"isUsableRoomCredential");function he(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}t(he,"reportHostFailure");function nr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}t(nr,"isThenable");function B(e,...r){if(typeof e=="function")try{let n=e(...r);return nr(n)&&Promise.resolve(n).then(void 0,he),n}catch(n){he(n);return}}t(B,"callHost");var Te=new WeakMap;function tr(e){if(typeof e!="function")return;let r=Te.get(e);if(r!==void 0)return r;let n=t((...a)=>{B(e,...a);},"guarded");return Te.set(e,n),n}t(tr,"guardHost");function Ce(e,r){let n=null;for(let a of r){let o=e[a];typeof o=="function"&&(n??={...e},n[a]=tr(o));}return n??e}t(Ce,"guardHostProps");var or=10,s=Object.freeze({muteCta:"Mute",unmuteCta:"Unmute",cameraOffCta:"Camera off",cameraOnCta:"Camera on",leaveCta:"Leave",switchCameraCta:"Switch camera",speakerOffCta:"Speaker off",speakerOnCta:"Speaker on",lobbyTitleNoName:"Your vet is joining",lobbySubtitle:"Usually under a minute",lobbyPrepLabel:"WHILE YOU WAIT",lobbyPrepNoPet:"Have your pet nearby and somewhere well lit.",lobbyTitle:t(e=>{let r=e?.trim()??"";return r.length>0?`${r} is joining`:s.lobbyTitleNoName},"lobbyTitle"),lobbyPrep:t(e=>{let r=e?.trim()??"";return r.length>0?`Have ${r} nearby and somewhere well lit.`:s.lobbyPrepNoPet},"lobbyPrep"),lobbyDuration:t(e=>`${e} minutes`,"lobbyDuration"),waitingRoomLabel:"Waiting room",leaveWaitingRoomLabel:"Leave the waiting room",lobbyTipsTitle:t(e=>{let r=e?.trim()??"";return r.length>0?`Before ${r} joins`:s.lobbyPrepLabel},"lobbyTipsTitle"),lobbyTipSpot:"Find a bright, quiet spot.",joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});var xe=Symbol.for("@everfur/sdk/televet");function ke(){let e=globalThis,r=e[xe];if(r!==void 0)return r;let n={presenter:null,snapshot:Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:new Set,dailyRegistered:false};return e[xe]=n,n}t(ke,"televetGlobal");function Fe(e){ke().dailyRegistered=e;}t(Fe,"markEverfurDailyRegistered");function Re(){let e=ke(),r=e.noticeReceipts;if(r!==void 0)return r;let n=new Map;return e.noticeReceipts=n,n}t(Re,"noticeReceipts");function Se(e){return Re().has(e)}t(Se,"hasRecordingNoticeAccepted");function x(e,r){let n=Re().get(e);n!==void 0&&(n.joined=r);}t(x,"markTelevetCallJoined");function oe(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))oe(e[r]);}return e}t(oe,"deepFreeze");var ar=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Pe={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Le={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},we={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},lr={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},ir={regular:"400",medium:"500",bold:"700"},sr={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},dr=0,W="System",G="monospace",ur=["content","heading","control","compact","badge"];function cr(e){let r={};for(let n of ur)r[n]=e;return r}t(cr,"authoredTierSizes");function _e(){return {family:W,mono:G,fontUrl:null,families:{regular:W,medium:W,bold:W,mono:G,monoMedium:G,monoBold:G},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:we,tierSizes:cr(we),lineHeight:lr,weight:ir,letterSpacing:sr,scale:1,maxScale:dr,scaleCaps:ar}}t(_e,"baseType");var Ae={},ne=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function te(e){return `cubic-bezier(${e.join(", ")})`}t(te,"cssCubicBezier");var Be={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:te(ne.standard),emphasized:te(ne.emphasized),exit:te(ne.exit)},reducedMotion:false},fr={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",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},De=oe({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:fr,space:Pe,radius:Le,type:_e(),motion:Be,slots:Ae}),pr={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",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};oe({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:pr,space:Pe,radius:Le,type:_e(),motion:Be,slots:Ae});var Ne=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),Oe=globalThis,ae=Oe[Ne]??(Oe[Ne]=createContext(De));ae.displayName??="EverfurThemeContext";function D(){return useContext(ae)}t(D,"useEverfurTheme");var Me=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function Ve(e,r){let{scale:n,scaleCaps:a}=e.type,o=a[r];return o>0?Math.min(n,o):n}t(Ve,"tierScale");function Ie(e,r,n){return Math.round(n*Ve(e,r)*10)/10}t(Ie,"tierPx");var He='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',gr="System";function br(e){let r=e.trim();return r.length===0||r===gr?He:`${Ue(r)}, ${He}`}t(br,"cssFontFamily");function vr(e){let r=e.trim();return r.length===0||r==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${Ue(r)}, ui-monospace, Menlo, Consolas, monospace`}t(vr,"cssMonoFamily");function Ue(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}t(Ue,"quote");function p(e,r){let n=e.type,a=n.families[r];return {fontFamily:r==="mono"||r==="monoMedium"||r==="monoBold"?vr(a):br(a),fontWeight:n.namedFaces[r]?n.weight.regular:n.weight[Me[r]]}}t(p,"faceCss");var $=Object.freeze({textAlign:"start"});var ie=`[everfur] The in-page vet call needs @daily-co/daily-js, which this app has not registered. Install it and call registerEverfurDaily(() => import('@daily-co/daily-js')) once in your app entry, before any Everfur call surface mounts. Until then the in-page visit tells the member the call cannot be joined; <VetVisitButton prefer="redirect" /> is the explicit way to the hosted visit in a new tab instead.`,se="@daily-co/daily-js",Er=`optional peer '${se}' has no registered loader`,hr=`optional peer '${se}' is present but failed its shape check`;function de(e){return typeof e=="object"&&e!==null}t(de,"isRecordLike");function Tr(e){let r=e;for(let n=0;n<3;n+=1){if(ze(r))return r;if(!de(r)||!("default"in r))return null;r=r.default;}return null}t(Tr,"normalizeDailyModule");function ze(e){return !de(e)&&typeof e!="function"?false:typeof e.createFrame=="function"}t(ze,"isEverfurDailyModule");var je=null,Y=null;function le(e){return Object.freeze({available:false,module:null,reason:e})}t(le,"unavailable");function Cr(e){je=e,Y=null,Fe(e!==null);}t(Cr,"registerEverfurDaily");function ue(){if(Y!==null)return Y;let e=je;if(e===null)return Promise.resolve(le(Er));let r=(async()=>{let n;try{n=await e();}catch(o){return le(`optional peer '${se}' is not installed: ${xr(o)}`)}let a=Tr(n);return a===null?le(hr):Object.freeze({available:true,module:a})})();return Y=r,r}t(ue,"loadEverfurDaily");function xr(e){return e instanceof Error?e.message:typeof e=="string"?e:"unknown load error"}t(xr,"describe");function We(e){if(!de(e)||!("errorMsg"in e))return null;let r=e.errorMsg;return typeof r=="string"&&r.length>0?r:null}t(We,"dailyErrorMessage");var $e=44,Ye="16 / 9",Rr="16px",ce="calc(100dvh - 8rem)",Sr=480,wr="3 / 4",Pr=500,Lr=270,_r=.45;function Ar(e,r){if(!r||e===null)return {aspectRatio:Ye,maxHeight:ce};if(e<Sr)return {aspectRatio:wr,maxHeight:ce,minHeight:Pr};let n=Math.max(Lr,Math.ceil(e*_r));return {aspectRatio:Ye,maxHeight:ce,minHeight:n}}t(Ar,"frameSize");var Br=5e3;function Dr(e){let{roomUrl:r,token:n,onLeave:a,displayName:o,daily:d,telemetry:O,onUnavailable:L,renderUnavailable:R,style:l,className:M}=Ce(e,["onLeave","onUnavailable"]),V=D(),u=useMemo(()=>Vr(V),[V]),H=`${useId()}-recording-notice`,[E,h]=useState("joining"),[I,fe]=useState(null),[_,q]=useState(null),[U,pe]=useState(false),[J,ye]=useState(false),[Qe,er]=useState(null),X=useRef(null),T=useRef(null),Z=useRef(false),z=useRef(false),Q=useRef(null),j=useRef(0),S=useRef({onLeave:a,onUnavailable:L,daily:d,telemetry:O});S.current={onLeave:a,onUnavailable:L,daily:d,telemetry:O};let w=useCallback(()=>{Z.current||(Z.current=true,B(S.current.onLeave));},[]);useEffect(()=>()=>{j.current+=1;},[]),useEffect(()=>{let i=false;q(null),j.current+=1,Z.current=false,z.current=false,ye(false),h("joining"),pe(Se(r));let c=t((m,ee)=>{i||(fe({reason:m,detail:ee}),B(S.current.onUnavailable,m,ee));},"refuse");if(!re(r,n)){c("roomUnusable","the call needs an https room URL and a non-empty join token");return}let y=S.current.daily;return y!==void 0?(q(()=>y),()=>{i=true;}):(ue().then(m=>{if(!i){if(!m.available){Mr(ie),c("dailyMissing",m.reason);return}q(()=>m.module);}}),()=>{i=true;})},[r,n]),useEffect(()=>{if(_===null||!U)return;let i=false,c=null,y=[],m=t((C,g)=>{i||(fe({reason:C,detail:g}),B(S.current.onUnavailable,C,g));},"refuse");return t(async()=>{let C=X.current;if(!C)return;let g=S.current.telemetry??ve;try{c=_.createFrame(C,{showLeaveButton:!0,showFullscreenButton:!1,showUserNameChangeUI:!1,iframeStyle:{width:"100%",height:"100%",border:"0",borderRadius:Rr}});}catch(b){m("dailyMissing",`createFrame failed: ${qe(b)}`);return}T.current=c;let A=t((b,be)=>{y.push({event:b,handler:be}),c?.on(b,be);},"attach");A("joined-meeting",()=>{i||c===null||z.current||(h("joined"),x(r,true));}),A("left-meeting",()=>{i||(x(r,false),h("left"),w());}),A("error",b=>{i||(x(r,false),h("error"),g.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:We(b)??"unknown"}));});try{if(await c.join({url:r,token:n,userName:o}),i)return;g.track("televet.call.joined",{provider:"daily"});}catch(b){if(i)return;x(r,false),h("error"),g.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:qe(b)});}},"start")(),()=>{i=true,x(r,false);for(let{event:A,handler:b}of y)try{c?.off(A,b);}catch{}let C=T.current;T.current=null,C?.destroy().catch(()=>{});let g=Q.current;g!==null&&(g.abandoned=true),Ke(g);}},[_,U,r,n,o,w]);let me=_!==null&&U&&I===null&&E!=="left";useEffect(()=>{let i=X.current;if(!me||i===null||typeof ResizeObserver>"u")return;let c=t(()=>{er(i.offsetWidth>0?i.offsetWidth:null);},"read");c();let y=new ResizeObserver(c);return y.observe(i),()=>y.disconnect()},[me]),useEffect(()=>{if(E!=="left")return;let i=T.current;T.current=null,i?.destroy().catch(()=>{}),Ke(Q.current);},[E]);let ge=useCallback(()=>{if(z.current)return;z.current=true;let i=j.current,c=T.current;if(T.current=null,x(r,false),!c){h("left"),w();return}ye(true);let y={call:c,settled:false,abandoned:false};Q.current=y,Or(Nr(c).then(()=>{y.settled=true;}),Br).then(m=>{m&&(y.abandoned=true),j.current===i&&(h("left"),w());});},[w,r]);return I!==null?R?jsx(Fragment,{children:R(I.reason,I.detail)}):null:_===null?null:U?jsxs("div",{className:M,"data-testid":"everfur-vet-call",style:{...u.root,...l},children:[E==="left"?null:jsx("div",{ref:X,"data-testid":"everfur-vet-call-frame",style:{...u.frame,...Ar(Qe,E==="joining"),...E==="error"?u.frameHidden:null}}),E==="joining"?jsx("button",{type:"button",onClick:ge,disabled:J,"aria-busy":J||void 0,"data-testid":"everfur-vet-call-joining-leave",style:{...u.failedLeave,...u.joiningLeave,...J?u.leaveHeld:null},children:s.leaveCta}):null,E==="error"?jsxs("div",{role:"alert","data-testid":"everfur-vet-call-failed",style:u.failed,children:[jsx("p",{style:u.failedText,children:s.joinFailedReason}),jsx("button",{type:"button",onClick:ge,"data-testid":"everfur-vet-call-failed-leave",style:u.failedLeave,children:s.leaveCta})]}):null]}):jsx("div",{className:M,"data-testid":"everfur-vet-call",style:{...u.root,...l},children:jsxs("div",{role:"alertdialog","aria-labelledby":H,"data-testid":"everfur-vet-call-recording-notice",style:u.notice,children:[jsx("p",{id:H,style:u.noticeTitle,children:s.recordingNoticeTitle}),jsxs("div",{style:u.noticeActions,children:[jsx("button",{type:"button",onClick:()=>pe(true),"data-testid":"everfur-vet-call-recording-continue",style:u.noticeContinue,children:s.recordingNoticeCta}),jsx("button",{type:"button",onClick:w,"data-testid":"everfur-vet-call-recording-decline",style:u.failedLeave,children:s.recordingNoticeDecline})]})]})})}t(Dr,"EverfurVetCall");function Ke(e){e===null||e.settled||!e.abandoned||(e.settled=true,e.call.destroy().catch(()=>{}));}t(Ke,"releaseAbandoned");async function Nr(e){try{await e.leave();}catch{}try{await e.destroy();}catch{}}t(Nr,"teardown");function Or(e,r){return new Promise(n=>{let a=setTimeout(()=>n(true),r);e.then(()=>{clearTimeout(a),n(false);});})}t(Or,"settleWithin");function qe(e){return e instanceof Error?e.message:typeof e=="string"?e:"unknown error"}t(qe,"describe");var Je=false;function Mr(e){if(Je)return;Je=true;let r=globalThis.console;try{r?.warn?.(e);}catch{}}t(Mr,"warnOnce");function Vr(e){let{color:r,space:n,radius:a,type:o}=e;return {root:{...$,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:n.md,width:"100%"},frame:{position:"relative",width:"100%",overflow:"hidden",borderRadius:a.lg,backgroundColor:r.brandInk},frameHidden:{display:"none"},failed:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:n.md,padding:n.lg,borderRadius:a.md,border:`1px solid ${r.brandBorder}`,backgroundColor:r.surfaceCream,color:r.text.primary},failedText:{margin:0,fontSize:o.size.bodyTight,color:r.text.primary},notice:{display:"flex",flexDirection:"column",gap:n.md,padding:n.lg,borderRadius:a.md,border:`1px solid ${r.brandBorder}`,backgroundColor:r.surface,color:r.text.primary},noticeTitle:{margin:0,...p(e,"medium"),fontSize:o.size.subtitle,color:r.text.primary},noticeActions:{display:"flex",flexWrap:"wrap",gap:n.md},noticeContinue:{minHeight:$e,padding:`0 ${n.lg}px`,borderRadius:a.pill,border:0,backgroundColor:r.primary,color:r.onPrimary,cursor:"pointer",...p(e,"medium"),fontSize:o.size.body},failedLeave:{minHeight:$e,padding:`0 ${n.lg}px`,borderRadius:a.pill,border:`1.5px solid ${r.brandInk}`,backgroundColor:"transparent",color:r.brandInk,cursor:"pointer",...p(e,"medium"),fontSize:o.size.body},joiningLeave:{alignSelf:"flex-start"},leaveHeld:{cursor:"default",opacity:.6}}}t(Vr,"makeCallStyles");function Xe(e){let r=e.color;return {ink:r.brandInk,text:r.text.primary,muted:r.text.muted,line:r.borderRingCream,mist:r.surfaceSubtle,surface:r.surface,pink:r.scanButtonPink,onPink:r.onBubbleVet,go:r.success,alert:r.danger,alertWash:r.badgeBgCritical}}t(Xe,"televetPlainLook");var jr=44,Ze=3,Wr=420,Gr=.35,$r=1,Yr=.6;function Kr({theme:e}){let r=e.motion.reducedMotion,[n,a]=useState(0);return useEffect(()=>{if(r)return;let o=setInterval(()=>a(d=>(d+1)%Ze),Wr);return ()=>clearInterval(o)},[r]),jsx("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-dots",style:{display:"flex",gap:e.space.xs,justifyContent:"center"},children:Array.from({length:Ze},(o,d)=>jsx("span",{style:{width:6,height:6,borderRadius:e.radius.pill,backgroundColor:e.color.brandInk,opacity:r?Yr:d===n?$r:Gr,transition:r?"none":`opacity ${e.motion.duration.fast}ms ${e.motion.easing.standard}`}},d))})}t(Kr,"WaitingDots");function qr(e){let{clinicianName:r,petName:n,consultMinutes:a,onLeave:o,style:d,className:O}=e,L=typeof a=="number"&&Number.isFinite(a)&&a>0?a:null,R=D(),l=useMemo(()=>Jr(R),[R]),M=s.lobbyTitle(r),V=s.lobbyPrep(n);return jsxs("section",{className:O,"data-testid":"everfur-vet-call-lobby",style:{...l.root,...d},children:[jsxs("div",{style:l.topRow,children:[jsx("button",{type:"button",onClick:o,"aria-label":s.leaveWaitingRoomLabel,"data-testid":"everfur-vet-call-lobby-leave",style:l.leave,children:s.leaveCta}),jsx("p",{style:l.label,children:s.waitingRoomLabel})]}),jsxs("div",{style:l.center,children:[jsxs("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-avatar",style:l.avatar,children:[jsx("span",{style:l.avatarHead}),jsx("span",{style:l.avatarBody})]}),jsxs("div",{"aria-live":"polite",style:l.titleBlock,children:[jsx("p",{"data-testid":"everfur-vet-call-lobby-title",style:l.title,children:M}),jsx("p",{style:l.subtitle,children:s.lobbySubtitle})]}),jsx(Kr,{theme:R})]}),jsxs("div",{"data-testid":"everfur-vet-call-lobby-prep",style:l.prepCard,children:[jsx("p",{style:l.prepLabel,children:s.lobbyTipsTitle(r)}),jsx("ol",{style:l.tips,children:[s.lobbyTipSpot,V].map((u,H)=>jsxs("li",{style:l.tip,children:[jsx("span",{"aria-hidden":"true",style:l.tipNumber,children:String(H+1).padStart(2,"0")}),jsx("span",{style:l.prepBody,children:u})]},u))})]}),L===null?null:jsx("p",{"data-testid":"everfur-vet-call-lobby-duration",style:l.duration,children:s.lobbyDuration(L)})]})}t(qr,"EverfurVetCallLobby");function Jr(e){let{space:r,radius:n,type:a}=e,o=Xe(e),d=112;return {root:{...$,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:r.lg,padding:r.xl,borderRadius:n.lg,borderStyle:"solid",borderWidth:1,borderColor:o.line,backgroundColor:o.surface,color:o.text},topRow:{display:"flex",alignItems:"center",gap:14},leave:{minHeight:jr,padding:`0 ${r.lg}px`,margin:0,borderRadius:n.pill,borderStyle:"solid",borderWidth:1.5,borderColor:o.line,background:o.surface,color:o.ink,cursor:"pointer",...p(e,"bold"),fontSize:a.size.bodyTight},label:{margin:0,...p(e,"monoBold"),color:o.muted,fontSize:12,letterSpacing:"0.08em",textTransform:"uppercase"},center:{display:"flex",flexDirection:"column",alignItems:"center",gap:r.md},avatar:{position:"relative",width:d,height:d,borderRadius:n.pill,overflow:"hidden",backgroundColor:o.mist,boxShadow:`0 0 0 4px ${o.surface}, 0 0 0 6px ${o.go}`,display:"flex",alignItems:"center",justifyContent:"center"},avatarHead:{position:"absolute",top:d*.24,width:d*.28,height:d*.28,borderRadius:n.pill,backgroundColor:o.ink,opacity:.35},avatarBody:{position:"absolute",top:d*.58,width:d*.52,height:d*.34,borderTopLeftRadius:d*.26,borderTopRightRadius:d*.26,backgroundColor:o.ink,opacity:.35},titleBlock:{textAlign:"center"},title:{margin:0,...p(e,"medium"),fontSize:Ie(e,"heading",28),lineHeight:1.15,letterSpacing:"-0.02em",color:o.ink},subtitle:{margin:`${e.space.xs}px 0 0`,...p(e,"regular"),fontSize:a.size.body,color:o.text},prepCard:{display:"flex",flexDirection:"column",gap:r.sm,padding:r.lg,borderRadius:n.lg,borderStyle:"solid",borderWidth:1,borderColor:o.line},prepLabel:{margin:0,...p(e,"bold"),fontSize:19,color:o.ink},tips:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},tip:{display:"grid",gridTemplateColumns:"44px 1fr",gap:10,paddingTop:12,paddingBottom:12,borderTop:`1px solid ${o.line}`},tipNumber:{...p(e,"monoBold"),color:o.ink,fontSize:13,paddingTop:2},prepBody:{margin:0,...p(e,"regular"),fontSize:a.size.body,lineHeight:1.5,color:o.text},duration:{margin:0,textAlign:"center",...p(e,"regular"),fontSize:a.size.bodyTight,color:o.muted}}}t(Jr,"makeLobbyStyles");export{ie as EVERFUR_DAILY_SETUP,Dr as EverfurVetCall,qr as EverfurVetCallLobby,or as VET_CALL_CONSULT_MINUTES,s as VET_CALL_COPY,ze as isEverfurDailyModule,Ee as isSafeRoomUrl,re as isUsableRoomCredential,ue as loadEverfurDaily,Cr as registerEverfurDaily};
1
+ "use client";
2
+ import{createContext,useMemo,useId,useState,useRef,useCallback,useEffect,useContext}from"react";import{jsx,Fragment,jsxs}from"react/jsx-runtime";var noopTelemetry=/* @__PURE__ */Object.freeze({track(){},trackExpectedFailure(){}});function isSafeRoomUrl(url){try{return new URL(url.trim()).protocol==="https:"}catch{return false}}function isUsableRoomCredential(roomUrl,token){return isSafeRoomUrl(roomUrl)&&token.trim().length>0}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 GUARDED=/* @__PURE__ */new WeakMap;function guardHost(fn){if(typeof fn!="function")return;let cached=GUARDED.get(fn);if(cached!==void 0)return cached;let guarded=(...args)=>{callHost(fn,...args)};return GUARDED.set(fn,guarded),guarded}function guardHostProps(props,names){let guarded=null;for(let name of names){let fn=props[name];typeof fn=="function"&&(guarded??={...props},guarded[name]=guardHost(fn))}return guarded??props}var VET_CALL_CONSULT_MINUTES=10,VET_CALL_COPY=/* @__PURE__ */Object.freeze({muteCta:"Mute",unmuteCta:"Unmute",cameraOffCta:"Camera off",cameraOnCta:"Camera on",leaveCta:"Leave",switchCameraCta:"Switch camera",speakerOffCta:"Speaker off",speakerOnCta:"Speaker on",lobbyTitleNoName:"Your vet is joining",lobbySubtitle:"Usually under a minute",lobbyPrepLabel:"WHILE YOU WAIT",lobbyPrepNoPet:"Have your pet nearby and somewhere well lit.",lobbyTitle:clinicianName=>{let name=clinicianName?.trim()??"";return name.length>0?`${name} is joining`:VET_CALL_COPY.lobbyTitleNoName},lobbyPrep:petName=>{let pet=petName?.trim()??"";return pet.length>0?`Have ${pet} nearby and somewhere well lit.`:VET_CALL_COPY.lobbyPrepNoPet},lobbyDuration:minutes=>`${minutes} minutes`,waitingRoomLabel:"Waiting room",leaveWaitingRoomLabel:"Leave the waiting room",lobbyTipsTitle:clinicianName=>{let name=clinicianName?.trim()??"";return name.length>0?`Before ${name} joins`:VET_CALL_COPY.lobbyPrepLabel},lobbyTipSpot:"Find a bright, quiet spot.",joinFailedReason:"That did not open. Try again.",recordingNoticeTitle:"This consultation is recorded.",recordingNoticeCta:"Continue to the call",recordingNoticeDecline:"Not now",selfCameraOffLabel:"Your camera is off"});var SLOT=/* @__PURE__ */Symbol.for("@everfur/sdk/televet");function televetGlobal(){let realm=globalThis,existing=realm[SLOT];if(existing!==void 0)return existing;let created={presenter:null,snapshot:/* @__PURE__ */Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:/* @__PURE__ */new Set,dailyRegistered:false};return realm[SLOT]=created,created}function markEverfurDailyRegistered(registered){televetGlobal().dailyRegistered=registered}function noticeReceipts(){let g=televetGlobal(),existing=g.noticeReceipts;if(existing!==void 0)return existing;let created=/* @__PURE__ */new Map;return g.noticeReceipts=created,created}function hasRecordingNoticeAccepted(roomUrl){return noticeReceipts().has(roomUrl)}function markTelevetCallJoined(roomUrl,joined){let held=noticeReceipts().get(roomUrl);held!==void 0&&(held.joined=joined)}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}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}}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)"},EVERFUR_LIGHT=deepFreeze({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},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)"};deepFreeze({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},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]=createContext(EVERFUR_LIGHT));EverfurThemeContext.displayName??="EverfurThemeContext";function useEverfurTheme(){return useContext(EverfurThemeContext)}var FACE_WEIGHT=/* @__PURE__ */Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function tierScale(theme,tier){let{scale:scale,scaleCaps:scaleCaps}=theme.type,cap=scaleCaps[tier];return cap>0?Math.min(scale,cap):scale}function tierPx(theme,tier,points){return Math.round(points*tierScale(theme,tier)*10)/10}var SYSTEM_UI_STACK='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',RN_SYSTEM_FAMILY="System";function cssFontFamily(family){let named=family.trim();return named.length===0||named===RN_SYSTEM_FAMILY?SYSTEM_UI_STACK:`${quote(named)}, ${SYSTEM_UI_STACK}`}function cssMonoFamily(mono){let named=mono.trim();return named.length===0||named==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${quote(named)}, ui-monospace, Menlo, Consolas, monospace`}function quote(family){return`"${family.replace(/[\\"]/g,"\\$&")}"`}function faceCss(theme,weight){let type=theme.type,family=type.families[weight];return{fontFamily:weight==="mono"||weight==="monoMedium"||weight==="monoBold"?cssMonoFamily(family):cssFontFamily(family),fontWeight:type.namedFaces[weight]?type.weight.regular:type.weight[FACE_WEIGHT[weight]]}}var SURFACE_ROOT_RESET=/* @__PURE__ */Object.freeze({textAlign:"start"});var EVERFUR_DAILY_SETUP=`[everfur] The in-page vet call needs @daily-co/daily-js, which this app has not registered. Install it and call registerEverfurDaily(() => import('@daily-co/daily-js')) once in your app entry, before any Everfur call surface mounts. Until then the in-page visit tells the member the call cannot be joined; <VetVisitButton prefer="redirect" /> is the explicit way to the hosted visit in a new tab instead.`,DAILY_PEER="@daily-co/daily-js",NOT_REGISTERED=`optional peer '${DAILY_PEER}' has no registered loader`,WRONG_SHAPE=`optional peer '${DAILY_PEER}' is present but failed its shape check`;function isRecordLike(candidate){return typeof candidate=="object"&&candidate!==null}function normalizeDailyModule(candidate){let current=candidate;for(let depth=0;depth<3;depth+=1){if(isEverfurDailyModule(current))return current;if(!isRecordLike(current)||!("default"in current))return null;current=current.default}return null}function isEverfurDailyModule(candidate){return!isRecordLike(candidate)&&typeof candidate!="function"?false:typeof candidate.createFrame=="function"}var loader=null,memo=null;function unavailable(reason){/* @__PURE__ */
3
+ return Object.freeze({available:false,module:null,reason:reason})}function registerEverfurDaily(next){loader=next,memo=null,markEverfurDailyRegistered(next!==null)}function loadEverfurDaily(){if(memo!==null)return memo;let load=loader;if(load===null)return Promise.resolve(unavailable(NOT_REGISTERED));let pending=(async()=>{let raw;try{raw=await load()}catch(cause){return unavailable(`optional peer '${DAILY_PEER}' is not installed: ${describe(cause)}`)}let module=normalizeDailyModule(raw);return module===null?unavailable(WRONG_SHAPE):/* @__PURE__ */Object.freeze({available:true,module:module})})();return memo=pending,pending}function describe(cause){return cause instanceof Error?cause.message:typeof cause=="string"?cause:"unknown load error"}function dailyErrorMessage(payload){if(!isRecordLike(payload)||!("errorMsg"in payload))return null;let message=payload.errorMsg;return typeof message=="string"&&message.length>0?message:null}var MIN_TOUCH_TARGET=44,FRAME_ASPECT="16 / 9",FRAME_RADIUS="16px",FRAME_MAX_HEIGHT="calc(100dvh - 8rem)",PREJOIN_STACKED_BELOW=480,PREJOIN_PORTRAIT_ASPECT="3 / 4",PREJOIN_STACKED_MIN_HEIGHT=500,PREJOIN_WIDE_MIN_HEIGHT=270,PREJOIN_WIDE_FLOOR_RATIO=.45;function frameSize(width,joining){if(!joining||width===null)return{aspectRatio:FRAME_ASPECT,maxHeight:FRAME_MAX_HEIGHT};if(width<PREJOIN_STACKED_BELOW)return{aspectRatio:PREJOIN_PORTRAIT_ASPECT,maxHeight:FRAME_MAX_HEIGHT,minHeight:PREJOIN_STACKED_MIN_HEIGHT};let floor=Math.max(PREJOIN_WIDE_MIN_HEIGHT,Math.ceil(width*PREJOIN_WIDE_FLOOR_RATIO));return{aspectRatio:FRAME_ASPECT,maxHeight:FRAME_MAX_HEIGHT,minHeight:floor}}var LEAVE_SETTLE_MS=5e3;function EverfurVetCall(props){let{roomUrl:roomUrl,token:token,onLeave:onLeave,displayName:displayName,daily:daily,telemetry:telemetry,onUnavailable:onUnavailable,renderUnavailable:renderUnavailable,style:style,className:className}=guardHostProps(props,["onLeave","onUnavailable"]),theme=useEverfurTheme(),styles=useMemo(()=>makeCallStyles(theme),[theme]),noticeId=`${useId()}-recording-notice`,[phase,setPhase]=useState("joining"),[unavailable2,setUnavailable]=useState(null),[module,setModule]=useState(null),[acknowledged,setAcknowledged]=useState(false),[leaving,setLeaving]=useState(false),[frameWidth,setFrameWidth]=useState(null),containerRef=useRef(null),frameRef=useRef(null),leftRef=useRef(false),leavingRef=useRef(false),leavingCallRef=useRef(null),generationRef=useRef(0),hostRef=useRef({onLeave:onLeave,onUnavailable:onUnavailable,daily:daily,telemetry:telemetry});hostRef.current={onLeave:onLeave,onUnavailable:onUnavailable,daily:daily,telemetry:telemetry};let reportLeave=useCallback(()=>{leftRef.current||(leftRef.current=true,callHost(hostRef.current.onLeave))},[]);useEffect(()=>()=>{generationRef.current+=1},[]),useEffect(()=>{let cancelled=false;setModule(null),generationRef.current+=1,leftRef.current=false,leavingRef.current=false,setLeaving(false),setPhase("joining"),setAcknowledged(hasRecordingNoticeAccepted(roomUrl));let refuse=(reason,detail)=>{cancelled||(setUnavailable({reason:reason,detail:detail}),callHost(hostRef.current.onUnavailable,reason,detail))};if(!isUsableRoomCredential(roomUrl,token)){refuse("roomUnusable","the call needs an https room URL and a non-empty join token");return}let injected=hostRef.current.daily;return injected!==void 0?(setModule(()=>injected),()=>{cancelled=true}):(loadEverfurDaily().then(loaded=>{if(!cancelled){if(!loaded.available){warnOnce(EVERFUR_DAILY_SETUP),refuse("dailyMissing",loaded.reason);return}setModule(()=>loaded.module)}}),()=>{cancelled=true})},[roomUrl,token]),useEffect(()=>{if(module===null||!acknowledged)return;let cancelled=false,frame=null,attached=[],refuse=(reason,detail)=>{cancelled||(setUnavailable({reason:reason,detail:detail}),callHost(hostRef.current.onUnavailable,reason,detail))};return(async()=>{let container=containerRef.current;if(!container)return;let sink=hostRef.current.telemetry??noopTelemetry;try{frame=module.createFrame(container,{showLeaveButton:!0,showFullscreenButton:!1,showUserNameChangeUI:!1,iframeStyle:{width:"100%",height:"100%",border:"0",borderRadius:FRAME_RADIUS}})}catch(cause){refuse("dailyMissing",`createFrame failed: ${describe2(cause)}`);return}frameRef.current=frame;let attach=(event,handler)=>{attached.push({event:event,handler:handler}),frame?.on(event,handler)};attach("joined-meeting",()=>{cancelled||frame===null||leavingRef.current||(setPhase("joined"),markTelevetCallJoined(roomUrl,true))}),attach("left-meeting",()=>{cancelled||(markTelevetCallJoined(roomUrl,false),setPhase("left"),reportLeave())}),attach("error",payload=>{cancelled||(markTelevetCallJoined(roomUrl,false),setPhase("error"),sink.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:dailyErrorMessage(payload)??"unknown"}))});try{if(await frame.join({url:roomUrl,token:token,userName:displayName}),cancelled)return;sink.track("televet.call.joined",{provider:"daily"})}catch(cause){if(cancelled)return;markTelevetCallJoined(roomUrl,false),setPhase("error"),sink.trackExpectedFailure("televet.call.join_failed",{provider:"daily",detail:describe2(cause)})}})(),()=>{cancelled=true,markTelevetCallJoined(roomUrl,false);for(let{event:event,handler:handler}of attached)try{frame?.off(event,handler)}catch{}let call=frameRef.current;frameRef.current=null,call?.destroy().catch(()=>{});let pending=leavingCallRef.current;pending!==null&&(pending.abandoned=true),releaseAbandoned(pending)}},[module,acknowledged,roomUrl,token,displayName,reportLeave]);let framed=module!==null&&acknowledged&&unavailable2===null&&phase!=="left";useEffect(()=>{let node=containerRef.current;if(!framed||node===null||typeof ResizeObserver>"u")return;let read=()=>{setFrameWidth(node.offsetWidth>0?node.offsetWidth:null)};read();let observer=new ResizeObserver(read);return observer.observe(node),()=>observer.disconnect()},[framed]),useEffect(()=>{if(phase!=="left")return;let call=frameRef.current;frameRef.current=null,call?.destroy().catch(()=>{}),releaseAbandoned(leavingCallRef.current)},[phase]);let leave=useCallback(()=>{if(leavingRef.current)return;leavingRef.current=true;let generation=generationRef.current,call=frameRef.current;if(frameRef.current=null,markTelevetCallJoined(roomUrl,false),!call){setPhase("left"),reportLeave();return}setLeaving(true);let pending={call:call,settled:false,abandoned:false};leavingCallRef.current=pending,settleWithin(teardown(call).then(()=>{pending.settled=true}),LEAVE_SETTLE_MS).then(timedOut=>{timedOut&&(pending.abandoned=true),generationRef.current===generation&&(setPhase("left"),reportLeave())})},[reportLeave,roomUrl]);return unavailable2!==null?renderUnavailable?/* @__PURE__ */jsx(Fragment,{children:renderUnavailable(unavailable2.reason,unavailable2.detail)}):null:module===null?null:acknowledged?/* @__PURE__ */jsxs("div",{className:className,"data-testid":"everfur-vet-call",style:{...styles.root,...style},children:[phase==="left"?null:/* @__PURE__ */jsx("div",{ref:containerRef,"data-testid":"everfur-vet-call-frame",style:{...styles.frame,...frameSize(frameWidth,phase==="joining"),...phase==="error"?styles.frameHidden:null}}),phase==="joining"?
4
+ /* @__PURE__ */jsx("button",{type:"button",onClick:leave,disabled:leaving,"aria-busy":leaving||void 0,"data-testid":"everfur-vet-call-joining-leave",style:{...styles.failedLeave,...styles.joiningLeave,...leaving?styles.leaveHeld:null},children:VET_CALL_COPY.leaveCta}):null,phase==="error"?
5
+ /* @__PURE__ */jsxs("div",{role:"alert","data-testid":"everfur-vet-call-failed",style:styles.failed,children:[
6
+ /* @__PURE__ */jsx("p",{style:styles.failedText,children:VET_CALL_COPY.joinFailedReason}),
7
+ /* @__PURE__ */jsx("button",{type:"button",onClick:leave,"data-testid":"everfur-vet-call-failed-leave",style:styles.failedLeave,children:VET_CALL_COPY.leaveCta})]}):null]}):/* @__PURE__ */jsx("div",{className:className,"data-testid":"everfur-vet-call",style:{...styles.root,...style},children:/* @__PURE__ */jsxs("div",{role:"alertdialog","aria-labelledby":noticeId,"data-testid":"everfur-vet-call-recording-notice",style:styles.notice,children:[
8
+ /* @__PURE__ */jsx("p",{id:noticeId,style:styles.noticeTitle,children:VET_CALL_COPY.recordingNoticeTitle}),
9
+ /* @__PURE__ */jsxs("div",{style:styles.noticeActions,children:[
10
+ /* @__PURE__ */jsx("button",{type:"button",onClick:()=>setAcknowledged(true),"data-testid":"everfur-vet-call-recording-continue",style:styles.noticeContinue,children:VET_CALL_COPY.recordingNoticeCta}),
11
+ /* @__PURE__ */jsx("button",{type:"button",onClick:reportLeave,"data-testid":"everfur-vet-call-recording-decline",style:styles.failedLeave,children:VET_CALL_COPY.recordingNoticeDecline})]})]})})}function releaseAbandoned(pending){pending===null||pending.settled||!pending.abandoned||(pending.settled=true,pending.call.destroy().catch(()=>{}))}async function teardown(call){try{await call.leave()}catch{}try{await call.destroy()}catch{}}function settleWithin(work,ms){return new Promise(resolve=>{let timer=setTimeout(()=>resolve(true),ms);work.then(()=>{clearTimeout(timer),resolve(false)})})}function describe2(cause){return cause instanceof Error?cause.message:typeof cause=="string"?cause:"unknown error"}var warned=false;function warnOnce(message){if(warned)return;warned=true;let globalConsole=globalThis.console;try{globalConsole?.warn?.(message)}catch{}}function makeCallStyles(theme){let{color:color,space:space,radius:radius,type:type}=theme;return{root:{...SURFACE_ROOT_RESET,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:space.md,width:"100%"},frame:{position:"relative",width:"100%",overflow:"hidden",borderRadius:radius.lg,backgroundColor:color.brandInk},frameHidden:{display:"none"},failed:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:space.md,padding:space.lg,borderRadius:radius.md,border:`1px solid ${color.brandBorder}`,backgroundColor:color.surfaceCream,color:color.text.primary},failedText:{margin:0,fontSize:type.size.bodyTight,color:color.text.primary},notice:{display:"flex",flexDirection:"column",gap:space.md,padding:space.lg,borderRadius:radius.md,border:`1px solid ${color.brandBorder}`,backgroundColor:color.surface,color:color.text.primary},noticeTitle:{margin:0,...faceCss(theme,"medium"),fontSize:type.size.subtitle,color:color.text.primary},noticeActions:{display:"flex",flexWrap:"wrap",gap:space.md},noticeContinue:{minHeight:MIN_TOUCH_TARGET,padding:`0 ${space.lg}px`,borderRadius:radius.pill,border:0,backgroundColor:color.primary,color:color.onPrimary,cursor:"pointer",...faceCss(theme,"medium"),fontSize:type.size.body},failedLeave:{minHeight:MIN_TOUCH_TARGET,padding:`0 ${space.lg}px`,borderRadius:radius.pill,border:`1.5px solid ${color.brandInk}`,backgroundColor:"transparent",color:color.brandInk,cursor:"pointer",...faceCss(theme,"medium"),fontSize:type.size.body},joiningLeave:{alignSelf:"flex-start"},leaveHeld:{cursor:"default",opacity:.6}}}function televetPlainLook(theme){let c=theme.color;return{ink:c.brandInk,text:c.text.primary,muted:c.text.muted,line:c.borderRingCream,mist:c.surfaceSubtle,surface:c.surface,pink:c.highlight,onPink:c.onHighlight,go:c.mark,alert:c.danger,alertWash:c.badgeBgCritical}}var MIN_TOUCH_TARGET2=44,DOT_COUNT=3,DOT_STEP_MS=420,DOT_DIM=.35,DOT_BRIGHT=1,DOT_REDUCED=.6;function WaitingDots({theme:theme}){let reduced=theme.motion.reducedMotion,[lit,setLit]=useState(0);return useEffect(()=>{if(reduced)return;let timer=setInterval(()=>setLit(current=>(current+1)%DOT_COUNT),DOT_STEP_MS);return()=>clearInterval(timer)},[reduced]),/* @__PURE__ */jsx("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-dots",style:{display:"flex",gap:theme.space.xs,justifyContent:"center"},children:Array.from({length:DOT_COUNT},(_unused,index)=>/* @__PURE__ */jsx("span",{style:{width:6,height:6,borderRadius:theme.radius.pill,backgroundColor:theme.color.brandInk,opacity:reduced?DOT_REDUCED:index===lit?DOT_BRIGHT:DOT_DIM,transition:reduced?"none":`opacity ${theme.motion.duration.fast}ms ${theme.motion.easing.standard}`}},index))})}function EverfurVetCallLobby(props){let{clinicianName:clinicianName,petName:petName,consultMinutes:consultMinutes,onLeave:onLeave,style:style,className:className}=props,minutes=typeof consultMinutes=="number"&&Number.isFinite(consultMinutes)&&consultMinutes>0?consultMinutes:null,theme=useEverfurTheme(),styles=useMemo(()=>makeLobbyStyles(theme),[theme]),title=VET_CALL_COPY.lobbyTitle(clinicianName),prep=VET_CALL_COPY.lobbyPrep(petName);/* @__PURE__ */
12
+ return jsxs("section",{className:className,"data-testid":"everfur-vet-call-lobby",style:{...styles.root,...style},children:[
13
+ /* @__PURE__ */jsxs("div",{style:styles.topRow,children:[
14
+ /* @__PURE__ */jsx("button",{type:"button",onClick:onLeave,"aria-label":VET_CALL_COPY.leaveWaitingRoomLabel,"data-testid":"everfur-vet-call-lobby-leave",style:styles.leave,children:VET_CALL_COPY.leaveCta}),
15
+ /* @__PURE__ */jsx("p",{style:styles.label,children:VET_CALL_COPY.waitingRoomLabel})]}),
16
+ /* @__PURE__ */jsxs("div",{style:styles.center,children:[
17
+ /* @__PURE__ */jsxs("div",{"aria-hidden":"true","data-testid":"everfur-vet-call-lobby-avatar",style:styles.avatar,children:[
18
+ /* @__PURE__ */jsx("span",{style:styles.avatarHead}),
19
+ /* @__PURE__ */jsx("span",{style:styles.avatarBody})]}),
20
+ /* @__PURE__ */jsxs("div",{"aria-live":"polite",style:styles.titleBlock,children:[
21
+ /* @__PURE__ */jsx("p",{"data-testid":"everfur-vet-call-lobby-title",style:styles.title,children:title}),
22
+ /* @__PURE__ */jsx("p",{style:styles.subtitle,children:VET_CALL_COPY.lobbySubtitle})]}),
23
+ /* @__PURE__ */jsx(WaitingDots,{theme:theme})]}),
24
+ /* @__PURE__ */jsxs("div",{"data-testid":"everfur-vet-call-lobby-prep",style:styles.prepCard,children:[
25
+ /* @__PURE__ */jsx("p",{style:styles.prepLabel,children:VET_CALL_COPY.lobbyTipsTitle(clinicianName)}),
26
+ /* @__PURE__ */jsx("ol",{style:styles.tips,children:[VET_CALL_COPY.lobbyTipSpot,prep].map((tip,i)=>/* @__PURE__ */jsxs("li",{style:styles.tip,children:[
27
+ /* @__PURE__ */jsx("span",{"aria-hidden":"true",style:styles.tipNumber,children:String(i+1).padStart(2,"0")}),
28
+ /* @__PURE__ */jsx("span",{style:styles.prepBody,children:tip})]},tip))})]}),minutes===null?null:/* @__PURE__ */jsx("p",{"data-testid":"everfur-vet-call-lobby-duration",style:styles.duration,children:VET_CALL_COPY.lobbyDuration(minutes)})]})}function makeLobbyStyles(theme){let{space:space,radius:radius,type:type}=theme,look=televetPlainLook(theme),avatarSize=112;return{root:{...SURFACE_ROOT_RESET,boxSizing:"border-box",display:"flex",flexDirection:"column",gap:space.lg,padding:space.xl,borderRadius:radius.lg,borderStyle:"solid",borderWidth:1,borderColor:look.line,backgroundColor:look.surface,color:look.text},topRow:{display:"flex",alignItems:"center",gap:14},leave:{minHeight:MIN_TOUCH_TARGET2,padding:`0 ${space.lg}px`,margin:0,borderRadius:radius.pill,borderStyle:"solid",borderWidth:1.5,borderColor:look.line,background:look.surface,color:look.ink,cursor:"pointer",...faceCss(theme,"bold"),fontSize:type.size.bodyTight},label:{margin:0,...faceCss(theme,"monoBold"),color:look.muted,fontSize:12,letterSpacing:"0.08em",textTransform:"uppercase"},center:{display:"flex",flexDirection:"column",alignItems:"center",gap:space.md},avatar:{position:"relative",width:avatarSize,height:avatarSize,borderRadius:radius.pill,overflow:"hidden",backgroundColor:look.mist,boxShadow:`0 0 0 4px ${look.surface}, 0 0 0 6px ${look.go}`,display:"flex",alignItems:"center",justifyContent:"center"},avatarHead:{position:"absolute",top:avatarSize*.24,width:avatarSize*.28,height:avatarSize*.28,borderRadius:radius.pill,backgroundColor:look.ink,opacity:.35},avatarBody:{position:"absolute",top:avatarSize*.58,width:avatarSize*.52,height:avatarSize*.34,borderTopLeftRadius:avatarSize*.26,borderTopRightRadius:avatarSize*.26,backgroundColor:look.ink,opacity:.35},titleBlock:{textAlign:"center"},title:{margin:0,...faceCss(theme,"medium"),fontSize:tierPx(theme,"heading",28),lineHeight:1.15,letterSpacing:"-0.02em",color:look.ink},subtitle:{margin:`${theme.space.xs}px 0 0`,...faceCss(theme,"regular"),fontSize:type.size.body,color:look.text},prepCard:{display:"flex",flexDirection:"column",gap:space.sm,padding:space.lg,borderRadius:radius.lg,borderStyle:"solid",borderWidth:1,borderColor:look.line},prepLabel:{margin:0,...faceCss(theme,"bold"),fontSize:19,color:look.ink},tips:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},tip:{display:"grid",gridTemplateColumns:"44px 1fr",gap:10,paddingTop:12,paddingBottom:12,borderTop:`1px solid ${look.line}`},tipNumber:{...faceCss(theme,"monoBold"),color:look.ink,fontSize:13,paddingTop:2},prepBody:{margin:0,...faceCss(theme,"regular"),fontSize:type.size.body,lineHeight:1.5,color:look.text},duration:{margin:0,textAlign:"center",...faceCss(theme,"regular"),fontSize:type.size.bodyTight,color:look.muted}}}export{EVERFUR_DAILY_SETUP,EverfurVetCall,EverfurVetCallLobby,VET_CALL_CONSULT_MINUTES,VET_CALL_COPY,isEverfurDailyModule,isSafeRoomUrl,isUsableRoomCredential,loadEverfurDaily,registerEverfurDaily};