@insight-health/aura 0.1.0-beta.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.umd.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x={insightBaseUrl:"https://anywhere.insighthealth.ai"};let p=null;function A(){return p}function v(i){p={...x,...i}}function O(i){v(i)}function g(){const i=A();if(!i)throw new Error("Insight SDK not configured. Call configure() first to set global configuration.");return i}class C{constructor(){this.events={},this.subscribe=(e,t)=>(this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{this.events[e]=this.events[e].filter(s=>s!==t)}),this.emit=(e,t)=>{this.events[e]&&this.events[e].forEach(s=>s(t))}}}function U(i){return{log:e=>{console.log(`[${i}]: ${e}`)},warn:e=>{console.warn(`[${i}]: ${e}`)},error:e=>{console.error(`[${i}]: ${e}`)}}}const u=U("Insight Health Aura Widget"),f={opacity:"0",pointerEvents:"none",width:"0",height:"0",maxWidth:"0",maxHeight:"0"},W={border:"none",borderRadius:"10px",boxShadow:"0 0 10px 0 rgba(0, 0, 0, 0.1)",overflow:"hidden",background:"#fff",position:"fixed",bottom:"20px",right:"20px",transition:"opacity 0.2s ease-in-out, width 0.2s ease-in-out, height 0.2s ease-in-out, max-width 0.2s ease-in-out, max-height 0.2s ease-in-out",zIndex:"9999"};class B{constructor(){this.config=null,this.widgetFrame=null,this.unsubscriptions=[],this.messageQueue=[],this.isQueueingEnabled=!1,this.methodRegistry={},this.eventBus=new C,this.isFrameReady=!1,this.isFrameAuthenticated=!1,this.postMessage=e=>{var s;if(!((s=this.widgetFrame)!=null&&s.contentWindow)){u.warn("No widget iframe to communicate with");return}const t=g();this.widgetFrame.contentWindow.postMessage(e,{targetOrigin:t.insightBaseUrl})},this.enableQueue=()=>{this.isQueueingEnabled=!0},this.disableQueue=(e=!1)=>{this.isQueueingEnabled=!1,e&&this.flushQueue()},this.flushQueue=()=>{const e=[...this.messageQueue];this.clearQueue(),e.forEach(t=>{this.postMessage(t)})},this.clearQueue=()=>{this.messageQueue=[]},this.sendOrQueue=e=>{if(this.isQueueingEnabled){this.messageQueue.push(e);return}this.postMessage(e)},this.handleMethodCall=async e=>{const{callId:t,methodName:s,args:a}=e,r=this.methodRegistry[s];if(!r){this.postMessage({type:"Method.Response",payload:{callId:t,methodName:s,success:!1,error:{message:`Method "${s}" is not registered`,code:"METHOD_NOT_FOUND"}}});return}try{const n=await r(a||{});this.postMessage({type:"Method.Response",payload:{callId:t,methodName:s,success:!0,result:n}})}catch(n){const h=n instanceof Error?n:new Error(String(n));this.postMessage({type:"Method.Response",payload:{callId:t,success:!1,methodName:s,error:{message:h.message,code:"METHOD_EXECUTION_ERROR",stack:h.stack,name:h.name,cause:h.cause,apiResponse:h.response}}})}},this.init=e=>new Promise(t=>{if(!this.widgetFrame){this.reset(),this.enableQueue();const s=g(),{themeConfig:a,entitlements:r={},tenantId:n,tenantName:h,user:w,language:y,container:c,widgetId:b,widgetStyles:o}=e;this.config=e,this.isFrameReady=!1,this.widgetFrame=document.createElement("iframe");const F=(o==null?void 0:o.width)||"350px",M=(o==null?void 0:o.height)||"600px",E={...W,...o,...f};Object.assign(this.widgetFrame.style,E),this.widgetFrame.id=b||"aura-widget",this.widgetFrame.setAttribute("allow",`microphone ${s.insightBaseUrl}; camera ${s.insightBaseUrl}; clipboard-read ${s.insightBaseUrl}; clipboard-write ${s.insightBaseUrl};`),this.widgetFrame.src=`${s.insightBaseUrl}`,this.widgetFrame.__desiredWidth=F,this.widgetFrame.__desiredHeight=M,this.widgetFrame.onerror=()=>{u.error(`Failed to load iframe. Please ensure your Content Security Policy includes:
|
|
2
2
|
frame-src ${s.insightBaseUrl}
|
|
3
|
-
`)},(c&&document.querySelector(c)||document.body).appendChild(this.widgetFrame);const Q=this.eventBus.subscribe("Auth.Ready",()=>{this.isFrameReady=!0,a&&this.setTheme(a),r&&this.setEntitlements(r),this.setUser({tenantId:n,tenantName:h,user:w,language:y})}),R=this.eventBus.subscribe("Auth.Complete",l=>{var m;this.isFrameAuthenticated=!0,this.disableQueue(!0),t(l),(m=e.onAuthenticated)==null||m.call(e,l)});this.unsubscriptions.push(Q,R)}}),this.setUser=e=>{const t=this.config.partnerKey,{tenantId:s,tenantName:a,user:r,language:n}=e;this.config.tenantId=s,this.config.tenantName=a,this.config.user=r,this.config.language=n,this.isFrameAuthenticated=!1,this.postMessage({type:"Auth.Login",payload:{partnerKey:t,tenantId:s,tenantName:a,user:r,language:n}})},this.setTheme=e=>{this.postMessage({type:"Theme.Update",payload:{...e}})},this.setEntitlements=e=>{this.postMessage({type:"Entitlements.Update",payload:{entitlements:e}})},this.show=()=>{if(this.widgetFrame){const e=this.widgetFrame.__desiredWidth||"350px",t=this.widgetFrame.__desiredHeight||"600px",s={opacity:"1",pointerEvents:"auto",width:e,height:t,maxWidth:e,maxHeight:t};Object.assign(this.widgetFrame.style,{...s})}},this.hide=()=>{this.widgetFrame&&Object.assign(this.widgetFrame.style,{...f})},this.reset=()=>{this.widgetFrame&&this.widgetFrame.remove(),this.widgetFrame=null,this.isFrameReady=!1,this.isFrameAuthenticated=!1,this.unsubscriptions.forEach(e=>e==null?void 0:e()),this.unsubscriptions=[],this.disableQueue(),this.clearQueue(),this.methodRegistry={}},this.command=e=>{this.sendOrQueue(e),this.show()},this.emit=this.command,this.on=(e,t)=>this.eventBus.subscribe(e,t),this.registerTemplates=e=>{this.sendOrQueue({type:"Template.Register",payload:e})},this.autoRegisterTemplates=e=>{this.sendOrQueue({type:"Template.AutoRegister",payload:e})},this.registerMethod=(e,t)=>{if(typeof e!="string"){u.error("Method name must be a string");return}if(typeof t!="function"){u.error("Method handler for name "+e+" must be a function");return}this.methodRegistry[e]=t},this.unregisterMethod=e=>delete this.methodRegistry[e],this.getConfig=()=>this.config,this.getVersion=()=>"0.1.0
|
|
3
|
+
`)},(c&&document.querySelector(c)||document.body).appendChild(this.widgetFrame);const Q=this.eventBus.subscribe("Auth.Ready",()=>{this.isFrameReady=!0,a&&this.setTheme(a),r&&this.setEntitlements(r),this.setUser({tenantId:n,tenantName:h,user:w,language:y})}),R=this.eventBus.subscribe("Auth.Complete",l=>{var m;this.isFrameAuthenticated=!0,this.disableQueue(!0),t(l),(m=e.onAuthenticated)==null||m.call(e,l)});this.unsubscriptions.push(Q,R)}}),this.setUser=e=>{const t=this.config.partnerKey,{tenantId:s,tenantName:a,user:r,language:n}=e;this.config.tenantId=s,this.config.tenantName=a,this.config.user=r,this.config.language=n,this.isFrameAuthenticated=!1,this.postMessage({type:"Auth.Login",payload:{partnerKey:t,tenantId:s,tenantName:a,user:r,language:n}})},this.setTheme=e=>{this.postMessage({type:"Theme.Update",payload:{...e}})},this.setEntitlements=e=>{this.postMessage({type:"Entitlements.Update",payload:{entitlements:e}})},this.show=()=>{if(this.widgetFrame){const e=this.widgetFrame.__desiredWidth||"350px",t=this.widgetFrame.__desiredHeight||"600px",s={opacity:"1",pointerEvents:"auto",width:e,height:t,maxWidth:e,maxHeight:t};Object.assign(this.widgetFrame.style,{...s})}},this.hide=()=>{this.widgetFrame&&Object.assign(this.widgetFrame.style,{...f})},this.reset=()=>{this.widgetFrame&&this.widgetFrame.remove(),this.widgetFrame=null,this.isFrameReady=!1,this.isFrameAuthenticated=!1,this.unsubscriptions.forEach(e=>e==null?void 0:e()),this.unsubscriptions=[],this.disableQueue(),this.clearQueue(),this.methodRegistry={}},this.command=e=>{this.sendOrQueue(e),this.show()},this.emit=this.command,this.on=(e,t)=>this.eventBus.subscribe(e,t),this.registerTemplates=e=>{this.sendOrQueue({type:"Template.Register",payload:e})},this.autoRegisterTemplates=e=>{this.sendOrQueue({type:"Template.AutoRegister",payload:e})},this.registerMethod=(e,t)=>{if(typeof e!="string"){u.error("Method name must be a string");return}if(typeof t!="function"){u.error("Method handler for name "+e+" must be a function");return}this.methodRegistry[e]=t},this.unregisterMethod=e=>delete this.methodRegistry[e],this.getConfig=()=>this.config,this.getVersion=()=>"0.1.0",window.addEventListener("message",e=>{var t;if(!(e.source!==((t=this.widgetFrame)==null?void 0:t.contentWindow)||!e.data)){if(e.data.type==="Method.Call"){this.handleMethodCall(e.data.payload);return}this.eventBus.emit(e.data.type,e.data.payload)}})}}let d=null;function T(){return d||(d=new B),d}const $=T();exports.AuraWidget=$;exports.configure=O;exports.getConfig=g;
|
package/dist/index.js
CHANGED
|
@@ -247,7 +247,7 @@ class B {
|
|
|
247
247
|
return;
|
|
248
248
|
}
|
|
249
249
|
this.methodRegistry[e] = t;
|
|
250
|
-
}, this.unregisterMethod = (e) => delete this.methodRegistry[e], this.getConfig = () => this.config, this.getVersion = () => "0.1.0
|
|
250
|
+
}, this.unregisterMethod = (e) => delete this.methodRegistry[e], this.getConfig = () => this.config, this.getVersion = () => "0.1.0", window.addEventListener(
|
|
251
251
|
"message",
|
|
252
252
|
(e) => {
|
|
253
253
|
var t;
|
package/dist/index.umd.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function(r,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(r=typeof globalThis<"u"?globalThis:r||self,u(r.InsightAura={}))})(this,function(r){"use strict";const u={insightBaseUrl:"https://anywhere.insighthealth.ai"};let m=null;function b(){return m}function F(i){m={...u,...i}}function M(i){F(i)}function c(){const i=b();if(!i)throw new Error("Insight SDK not configured. Call configure() first to set global configuration.");return i}class E{constructor(){this.events={},this.subscribe=(e,t)=>(this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{this.events[e]=this.events[e].filter(s=>s!==t)}),this.emit=(e,t)=>{this.events[e]&&this.events[e].forEach(s=>s(t))}}}function Q(i){return{log:e=>{console.log(`[${i}]: ${e}`)},warn:e=>{console.warn(`[${i}]: ${e}`)},error:e=>{console.error(`[${i}]: ${e}`)}}}const g=Q("Insight Health Aura Widget"),f={opacity:"0",pointerEvents:"none",width:"0",height:"0",maxWidth:"0",maxHeight:"0"},R={border:"none",borderRadius:"10px",boxShadow:"0 0 10px 0 rgba(0, 0, 0, 0.1)",overflow:"hidden",background:"#fff",position:"fixed",bottom:"20px",right:"20px",transition:"opacity 0.2s ease-in-out, width 0.2s ease-in-out, height 0.2s ease-in-out, max-width 0.2s ease-in-out, max-height 0.2s ease-in-out",zIndex:"9999"};class x{constructor(){this.config=null,this.widgetFrame=null,this.unsubscriptions=[],this.messageQueue=[],this.isQueueingEnabled=!1,this.methodRegistry={},this.eventBus=new E,this.isFrameReady=!1,this.isFrameAuthenticated=!1,this.postMessage=e=>{var s;if(!((s=this.widgetFrame)!=null&&s.contentWindow)){g.warn("No widget iframe to communicate with");return}const t=c();this.widgetFrame.contentWindow.postMessage(e,{targetOrigin:t.insightBaseUrl})},this.enableQueue=()=>{this.isQueueingEnabled=!0},this.disableQueue=(e=!1)=>{this.isQueueingEnabled=!1,e&&this.flushQueue()},this.flushQueue=()=>{const e=[...this.messageQueue];this.clearQueue(),e.forEach(t=>{this.postMessage(t)})},this.clearQueue=()=>{this.messageQueue=[]},this.sendOrQueue=e=>{if(this.isQueueingEnabled){this.messageQueue.push(e);return}this.postMessage(e)},this.handleMethodCall=async e=>{const{callId:t,methodName:s,args:h}=e,a=this.methodRegistry[s];if(!a){this.postMessage({type:"Method.Response",payload:{callId:t,methodName:s,success:!1,error:{message:`Method "${s}" is not registered`,code:"METHOD_NOT_FOUND"}}});return}try{const n=await a(h||{});this.postMessage({type:"Method.Response",payload:{callId:t,methodName:s,success:!0,result:n}})}catch(n){const o=n instanceof Error?n:new Error(String(n));this.postMessage({type:"Method.Response",payload:{callId:t,success:!1,methodName:s,error:{message:o.message,code:"METHOD_EXECUTION_ERROR",stack:o.stack,name:o.name,cause:o.cause,apiResponse:o.response}}})}},this.init=e=>new Promise(t=>{if(!this.widgetFrame){this.reset(),this.enableQueue();const s=c(),{themeConfig:h,entitlements:a={},tenantId:n,tenantName:o,user:O,language:T,container:p,widgetId:C,widgetStyles:d}=e;this.config=e,this.isFrameReady=!1,this.widgetFrame=document.createElement("iframe");const U=(d==null?void 0:d.width)||"350px",W=(d==null?void 0:d.height)||"600px",B={...R,...d,...f};Object.assign(this.widgetFrame.style,B),this.widgetFrame.id=C||"aura-widget",this.widgetFrame.setAttribute("allow",`microphone ${s.insightBaseUrl}; camera ${s.insightBaseUrl}; clipboard-read ${s.insightBaseUrl}; clipboard-write ${s.insightBaseUrl};`),this.widgetFrame.src=`${s.insightBaseUrl}`,this.widgetFrame.__desiredWidth=U,this.widgetFrame.__desiredHeight=W,this.widgetFrame.onerror=()=>{g.error(`Failed to load iframe. Please ensure your Content Security Policy includes:
|
|
2
2
|
frame-src ${s.insightBaseUrl}
|
|
3
|
-
`)},(p&&document.querySelector(p)||document.body).appendChild(this.widgetFrame);const $=this.eventBus.subscribe("Auth.Ready",()=>{this.isFrameReady=!0,h&&this.setTheme(h),a&&this.setEntitlements(a),this.setUser({tenantId:n,tenantName:o,user:O,language:T})}),I=this.eventBus.subscribe("Auth.Complete",w=>{var y;this.isFrameAuthenticated=!0,this.disableQueue(!0),t(w),(y=e.onAuthenticated)==null||y.call(e,w)});this.unsubscriptions.push($,I)}}),this.setUser=e=>{const t=this.config.partnerKey,{tenantId:s,tenantName:h,user:a,language:n}=e;this.config.tenantId=s,this.config.tenantName=h,this.config.user=a,this.config.language=n,this.isFrameAuthenticated=!1,this.postMessage({type:"Auth.Login",payload:{partnerKey:t,tenantId:s,tenantName:h,user:a,language:n}})},this.setTheme=e=>{this.postMessage({type:"Theme.Update",payload:{...e}})},this.setEntitlements=e=>{this.postMessage({type:"Entitlements.Update",payload:{entitlements:e}})},this.show=()=>{if(this.widgetFrame){const e=this.widgetFrame.__desiredWidth||"350px",t=this.widgetFrame.__desiredHeight||"600px",s={opacity:"1",pointerEvents:"auto",width:e,height:t,maxWidth:e,maxHeight:t};Object.assign(this.widgetFrame.style,{...s})}},this.hide=()=>{this.widgetFrame&&Object.assign(this.widgetFrame.style,{...f})},this.reset=()=>{this.widgetFrame&&this.widgetFrame.remove(),this.widgetFrame=null,this.isFrameReady=!1,this.isFrameAuthenticated=!1,this.unsubscriptions.forEach(e=>e==null?void 0:e()),this.unsubscriptions=[],this.disableQueue(),this.clearQueue(),this.methodRegistry={}},this.command=e=>{this.sendOrQueue(e),this.show()},this.emit=this.command,this.on=(e,t)=>this.eventBus.subscribe(e,t),this.registerTemplates=e=>{this.sendOrQueue({type:"Template.Register",payload:e})},this.autoRegisterTemplates=e=>{this.sendOrQueue({type:"Template.AutoRegister",payload:e})},this.registerMethod=(e,t)=>{if(typeof e!="string"){g.error("Method name must be a string");return}if(typeof t!="function"){g.error("Method handler for name "+e+" must be a function");return}this.methodRegistry[e]=t},this.unregisterMethod=e=>delete this.methodRegistry[e],this.getConfig=()=>this.config,this.getVersion=()=>"0.1.0
|
|
3
|
+
`)},(p&&document.querySelector(p)||document.body).appendChild(this.widgetFrame);const $=this.eventBus.subscribe("Auth.Ready",()=>{this.isFrameReady=!0,h&&this.setTheme(h),a&&this.setEntitlements(a),this.setUser({tenantId:n,tenantName:o,user:O,language:T})}),I=this.eventBus.subscribe("Auth.Complete",w=>{var y;this.isFrameAuthenticated=!0,this.disableQueue(!0),t(w),(y=e.onAuthenticated)==null||y.call(e,w)});this.unsubscriptions.push($,I)}}),this.setUser=e=>{const t=this.config.partnerKey,{tenantId:s,tenantName:h,user:a,language:n}=e;this.config.tenantId=s,this.config.tenantName=h,this.config.user=a,this.config.language=n,this.isFrameAuthenticated=!1,this.postMessage({type:"Auth.Login",payload:{partnerKey:t,tenantId:s,tenantName:h,user:a,language:n}})},this.setTheme=e=>{this.postMessage({type:"Theme.Update",payload:{...e}})},this.setEntitlements=e=>{this.postMessage({type:"Entitlements.Update",payload:{entitlements:e}})},this.show=()=>{if(this.widgetFrame){const e=this.widgetFrame.__desiredWidth||"350px",t=this.widgetFrame.__desiredHeight||"600px",s={opacity:"1",pointerEvents:"auto",width:e,height:t,maxWidth:e,maxHeight:t};Object.assign(this.widgetFrame.style,{...s})}},this.hide=()=>{this.widgetFrame&&Object.assign(this.widgetFrame.style,{...f})},this.reset=()=>{this.widgetFrame&&this.widgetFrame.remove(),this.widgetFrame=null,this.isFrameReady=!1,this.isFrameAuthenticated=!1,this.unsubscriptions.forEach(e=>e==null?void 0:e()),this.unsubscriptions=[],this.disableQueue(),this.clearQueue(),this.methodRegistry={}},this.command=e=>{this.sendOrQueue(e),this.show()},this.emit=this.command,this.on=(e,t)=>this.eventBus.subscribe(e,t),this.registerTemplates=e=>{this.sendOrQueue({type:"Template.Register",payload:e})},this.autoRegisterTemplates=e=>{this.sendOrQueue({type:"Template.AutoRegister",payload:e})},this.registerMethod=(e,t)=>{if(typeof e!="string"){g.error("Method name must be a string");return}if(typeof t!="function"){g.error("Method handler for name "+e+" must be a function");return}this.methodRegistry[e]=t},this.unregisterMethod=e=>delete this.methodRegistry[e],this.getConfig=()=>this.config,this.getVersion=()=>"0.1.0",window.addEventListener("message",e=>{var t;if(!(e.source!==((t=this.widgetFrame)==null?void 0:t.contentWindow)||!e.data)){if(e.data.type==="Method.Call"){this.handleMethodCall(e.data.payload);return}this.eventBus.emit(e.data.type,e.data.payload)}})}}let l=null;function A(){return l||(l=new x),l}const v=A();r.AuraWidget=v,r.configure=M,r.getConfig=c,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
|