@careshiphealth/sdk 2.0.3 → 2.0.5

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.esm.js CHANGED
@@ -34,14 +34,14 @@ var __async = (__this, __arguments, generator) => {
34
34
  step((generator = generator.apply(__this, __arguments)).next());
35
35
  });
36
36
  };
37
- const version = "2.0.3";
37
+ const version = "2.0.5";
38
38
  const packageJson = {
39
39
  version
40
40
  };
41
41
  const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;
42
42
  const CONSTANTS = {
43
- WIDGET_JS: `${WIDGET_CDN_URL}/dist/supercare-widget.iife.js`,
44
- WIDGET_CSS: `${WIDGET_CDN_URL}/dist/supercare-widget.css`
43
+ WIDGET_JS: `${WIDGET_CDN_URL}/dist/widget.iife.js`,
44
+ WIDGET_CSS: `${WIDGET_CDN_URL}/dist/widget.css`
45
45
  };
46
46
  class SuperCareEmbed {
47
47
  constructor() {
@@ -182,15 +182,11 @@ if (typeof window !== "undefined") {
182
182
  const scriptTag = document.querySelector("script[data-supercare-org-id]");
183
183
  if (scriptTag) {
184
184
  const orgId = scriptTag.getAttribute("data-supercare-org-id");
185
- scriptTag.getAttribute("data-supercare-widget-url") || void 0;
186
- scriptTag.getAttribute("data-supercare-css-url") || void 0;
187
185
  const containerId = scriptTag.getAttribute("data-supercare-container-id") || void 0;
188
186
  if (orgId && containerId) {
189
187
  superCareEmbed.embed({
190
188
  orgId,
191
189
  apiKey: scriptTag.getAttribute("data-supercare-api-key") || "",
192
- // widgetUrl,
193
- // cssUrl,
194
190
  containerId
195
191
  }).catch(console.error);
196
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/constant.ts","../src/index.ts"],"sourcesContent":["import packageJson from \"../package.json\";\n\nexport const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;\nexport const CONSTANTS = {\n WIDGET_JS: `${WIDGET_CDN_URL}/dist/supercare-widget.iife.js`,\n WIDGET_CSS: `${WIDGET_CDN_URL}/dist/supercare-widget.css`,\n};\n","import { CONSTANTS } from \"./constant\";\n\nexport interface SuperCareEmbedConfig {\n orgId: string;\n apiKey: string;\n // cssUrl?: string;\n // widgetUrl?: string;\n containerId: string;\n autoInit?: boolean;\n}\n\nexport interface SuperCareEmbedSDK {\n embed: (config: SuperCareEmbedConfig) => Promise<void>;\n remove: () => void;\n isEmbedded: () => boolean;\n}\n\nclass SuperCareEmbed implements SuperCareEmbedSDK {\n private isWidgetEmbedded = false;\n private scriptElement: HTMLScriptElement | null = null;\n private cssElement: HTMLLinkElement | null = null;\n private containerElement: HTMLDivElement | null = null;\n private config: SuperCareEmbedConfig | null = null;\n\n\n\n async embed(config: SuperCareEmbedConfig): Promise<void> {\n if (this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is already embedded\");\n return;\n }\n\n this.config = {\n // widgetUrl: defaultWidgetUrl,\n // cssUrl: defaultCssUrl,\n // containerId: \"supercare-09u2ekhbpo-body\",\n autoInit: true,\n ...config,\n };\n\n try {\n await this.injectCSS();\n await this.injectContainer();\n await this.injectScript();\n this.isWidgetEmbedded = true;\n } catch (error) {\n console.error(\"Failed to embed SuperCare widget:\", error);\n this.cleanup();\n throw error;\n }\n }\n\n\n remove(): void {\n if (!this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is not embedded\");\n return;\n }\n\n this.cleanup();\n this.isWidgetEmbedded = false;\n }\n\n\n isEmbedded(): boolean {\n return this.isWidgetEmbedded;\n }\n\n\n private async injectCSS(): Promise<void> {\n return new Promise((resolve, reject) => {\n // if (!this.config?.cssUrl) {\n // resolve();\n // return;\n // }\n\n const existingCSS = document.querySelector(\n `link[href=\"${CONSTANTS.WIDGET_CSS}\"]`\n );\n if (existingCSS) {\n resolve();\n return;\n }\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = CONSTANTS.WIDGET_CSS;\n\n link.onload = () => {\n this.cssElement = link;\n resolve();\n };\n\n link.onerror = () => {\n reject(new Error(`Failed to load CSS from ${CONSTANTS.WIDGET_CSS}`));\n };\n\n document.head.appendChild(link);\n });\n }\n\n private async injectContainer(): Promise<void> {\n if (!this.config?.containerId) {\n throw new Error(\"Container ID is required\");\n }\n\n const existingContainer = document.getElementById(this.config.containerId);\n if (existingContainer) {\n this.containerElement = existingContainer as HTMLDivElement;\n return;\n }\n\n const container = document.createElement(\"div\");\n container.id = this.config.containerId;\n document.body.appendChild(container);\n this.containerElement = container;\n }\n\n\n private async injectScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.config?.orgId || !this.config?.apiKey) {\n reject(new Error(\"Org ID and API Key are required\"));\n return;\n }\n\n // Check if script is already loaded\n const existingScript = document.getElementById(\n \"supercare-09u2ekhbpo-script\"\n );\n if (existingScript) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.id = \"supercare-09u2ekhbpo-script\";\n script.dataset['']\n script.type = \"module\";\n script.src = `${CONSTANTS.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`;\n\n script.onload = () => {\n this.scriptElement = script;\n resolve();\n };\n\n script.onerror = () => {\n reject(\n new Error(`Failed to load script from ${CONSTANTS.WIDGET_JS}`)\n );\n };\n\n document.body.appendChild(script);\n });\n }\n\n\n private cleanup(): void {\n if (this.scriptElement) {\n this.scriptElement.remove();\n this.scriptElement = null;\n }\n\n if (this.cssElement) {\n this.cssElement.remove();\n this.cssElement = null;\n }\n\n if (this.containerElement) {\n this.containerElement.remove();\n this.containerElement = null;\n }\n\n this.config = null;\n }\n}\n\nconst superCareEmbed = new SuperCareEmbed();\n\nexport { SuperCareEmbed };\nexport default superCareEmbed;\n\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const scriptTag = document.querySelector(\"script[data-supercare-org-id]\");\n if (scriptTag) {\n const orgId = scriptTag.getAttribute(\"data-supercare-org-id\");\n const widgetUrl =\n scriptTag.getAttribute(\"data-supercare-widget-url\") || undefined;\n const cssUrl =\n scriptTag.getAttribute(\"data-supercare-css-url\") || undefined;\n const containerId =\n scriptTag.getAttribute(\"data-supercare-container-id\") || undefined;\n\n if (orgId && containerId) {\n superCareEmbed\n .embed({\n orgId,\n apiKey: scriptTag.getAttribute(\"data-supercare-api-key\") || \"\",\n // widgetUrl,\n // cssUrl,\n containerId,\n })\n .catch(console.error);\n }\n }\n });\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).SuperCareEmbed = superCareEmbed;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/constant.ts","../src/index.ts"],"sourcesContent":["import packageJson from \"../package.json\";\n\nexport const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;\nexport const CONSTANTS = {\n WIDGET_JS: `${WIDGET_CDN_URL}/dist/widget.iife.js`,\n WIDGET_CSS: `${WIDGET_CDN_URL}/dist/widget.css`,\n};\n","import { CONSTANTS } from \"./constant\";\n\nexport interface SuperCareEmbedConfig {\n orgId: string;\n apiKey: string;\n // cssUrl?: string;\n // widgetUrl?: string;\n containerId: string;\n autoInit?: boolean;\n}\n\nexport interface SuperCareEmbedSDK {\n embed: (config: SuperCareEmbedConfig) => Promise<void>;\n remove: () => void;\n isEmbedded: () => boolean;\n}\n\nclass SuperCareEmbed implements SuperCareEmbedSDK {\n private isWidgetEmbedded = false;\n private scriptElement: HTMLScriptElement | null = null;\n private cssElement: HTMLLinkElement | null = null;\n private containerElement: HTMLDivElement | null = null;\n private config: SuperCareEmbedConfig | null = null;\n\n\n\n async embed(config: SuperCareEmbedConfig): Promise<void> {\n if (this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is already embedded\");\n return;\n }\n\n this.config = {\n // widgetUrl: defaultWidgetUrl,\n // cssUrl: defaultCssUrl,\n // containerId: \"supercare-09u2ekhbpo-body\",\n autoInit: true,\n ...config,\n };\n\n try {\n await this.injectCSS();\n await this.injectContainer();\n await this.injectScript();\n this.isWidgetEmbedded = true;\n } catch (error) {\n console.error(\"Failed to embed SuperCare widget:\", error);\n this.cleanup();\n throw error;\n }\n }\n\n\n remove(): void {\n if (!this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is not embedded\");\n return;\n }\n\n this.cleanup();\n this.isWidgetEmbedded = false;\n }\n\n\n isEmbedded(): boolean {\n return this.isWidgetEmbedded;\n }\n\n\n private async injectCSS(): Promise<void> {\n return new Promise((resolve, reject) => {\n // if (!this.config?.cssUrl) {\n // resolve();\n // return;\n // }\n\n const existingCSS = document.querySelector(\n `link[href=\"${CONSTANTS.WIDGET_CSS}\"]`\n );\n if (existingCSS) {\n resolve();\n return;\n }\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = CONSTANTS.WIDGET_CSS;\n\n link.onload = () => {\n this.cssElement = link;\n resolve();\n };\n\n link.onerror = () => {\n reject(new Error(`Failed to load CSS from ${CONSTANTS.WIDGET_CSS}`));\n };\n\n document.head.appendChild(link);\n });\n }\n\n private async injectContainer(): Promise<void> {\n if (!this.config?.containerId) {\n throw new Error(\"Container ID is required\");\n }\n\n const existingContainer = document.getElementById(this.config.containerId);\n if (existingContainer) {\n this.containerElement = existingContainer as HTMLDivElement;\n return;\n }\n\n const container = document.createElement(\"div\");\n container.id = this.config.containerId;\n document.body.appendChild(container);\n this.containerElement = container;\n }\n\n\n private async injectScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.config?.orgId || !this.config?.apiKey) {\n reject(new Error(\"Org ID and API Key are required\"));\n return;\n }\n\n // Check if script is already loaded\n const existingScript = document.getElementById(\n \"supercare-09u2ekhbpo-script\"\n );\n if (existingScript) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.id = \"supercare-09u2ekhbpo-script\";\n script.dataset['']\n script.type = \"module\";\n script.src = `${CONSTANTS.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`;\n\n script.onload = () => {\n this.scriptElement = script;\n resolve();\n };\n\n script.onerror = () => {\n reject(\n new Error(`Failed to load script from ${CONSTANTS.WIDGET_JS}`)\n );\n };\n\n document.body.appendChild(script);\n });\n }\n\n\n private cleanup(): void {\n if (this.scriptElement) {\n this.scriptElement.remove();\n this.scriptElement = null;\n }\n\n if (this.cssElement) {\n this.cssElement.remove();\n this.cssElement = null;\n }\n\n if (this.containerElement) {\n this.containerElement.remove();\n this.containerElement = null;\n }\n\n this.config = null;\n }\n}\n\nconst superCareEmbed = new SuperCareEmbed();\n\nexport { SuperCareEmbed };\nexport default superCareEmbed;\n\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const scriptTag = document.querySelector(\"script[data-supercare-org-id]\");\n if (scriptTag) {\n const orgId = scriptTag.getAttribute(\"data-supercare-org-id\");\n const containerId =\n scriptTag.getAttribute(\"data-supercare-container-id\") || undefined;\n\n if (orgId && containerId) {\n superCareEmbed\n .embed({\n orgId,\n apiKey: scriptTag.getAttribute(\"data-supercare-api-key\") || \"\",\n containerId,\n })\n .catch(console.error);\n }\n }\n });\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).SuperCareEmbed = superCareEmbed;\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var SuperCareEmbedSDK=function(e){"use strict";var t=Object.defineProperty,r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(e,r,i)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[r]=i,d=(e,t,r)=>new Promise((i,n)=>{var o=e=>{try{s(r.next(e))}catch(t){n(t)}},d=e=>{try{s(r.throw(e))}catch(t){n(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(o,d);s((r=r.apply(e,t)).next())});const s=`https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${"2.0.3"}`,c={WIDGET_JS:`${s}/dist/supercare-widget.iife.js`,WIDGET_CSS:`${s}/dist/supercare-widget.css`};class l{constructor(){this.isWidgetEmbedded=!1,this.scriptElement=null,this.cssElement=null,this.containerElement=null,this.config=null}embed(e){return d(this,null,function*(){if(this.isWidgetEmbedded)console.warn("SuperCare widget is already embedded");else{this.config=((e,t)=>{for(var d in t||(t={}))i.call(t,d)&&o(e,d,t[d]);if(r)for(var d of r(t))n.call(t,d)&&o(e,d,t[d]);return e})({autoInit:!0},e);try{yield this.injectCSS(),yield this.injectContainer(),yield this.injectScript(),this.isWidgetEmbedded=!0}catch(t){throw console.error("Failed to embed SuperCare widget:",t),this.cleanup(),t}}})}remove(){this.isWidgetEmbedded?(this.cleanup(),this.isWidgetEmbedded=!1):console.warn("SuperCare widget is not embedded")}isEmbedded(){return this.isWidgetEmbedded}injectCSS(){return d(this,null,function*(){return new Promise((e,t)=>{if(document.querySelector(`link[href="${c.WIDGET_CSS}"]`))return void e();const r=document.createElement("link");r.rel="stylesheet",r.href=c.WIDGET_CSS,r.onload=()=>{this.cssElement=r,e()},r.onerror=()=>{t(new Error(`Failed to load CSS from ${c.WIDGET_CSS}`))},document.head.appendChild(r)})})}injectContainer(){return d(this,null,function*(){var e;if(!(null==(e=this.config)?void 0:e.containerId))throw new Error("Container ID is required");const t=document.getElementById(this.config.containerId);if(t)return void(this.containerElement=t);const r=document.createElement("div");r.id=this.config.containerId,document.body.appendChild(r),this.containerElement=r})}injectScript(){return d(this,null,function*(){return new Promise((e,t)=>{var r,i;if(!(null==(r=this.config)?void 0:r.orgId)||!(null==(i=this.config)?void 0:i.apiKey))return void t(new Error("Org ID and API Key are required"));if(document.getElementById("supercare-09u2ekhbpo-script"))return void e();const n=document.createElement("script");n.id="supercare-09u2ekhbpo-script",n.dataset[""],n.type="module",n.src=`${c.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`,n.onload=()=>{this.scriptElement=n,e()},n.onerror=()=>{t(new Error(`Failed to load script from ${c.WIDGET_JS}`))},document.body.appendChild(n)})})}cleanup(){this.scriptElement&&(this.scriptElement.remove(),this.scriptElement=null),this.cssElement&&(this.cssElement.remove(),this.cssElement=null),this.containerElement&&(this.containerElement.remove(),this.containerElement=null),this.config=null}}const a=new l;return"undefined"!=typeof window&&window.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("script[data-supercare-org-id]");if(e){const t=e.getAttribute("data-supercare-org-id");e.getAttribute("data-supercare-widget-url"),e.getAttribute("data-supercare-css-url");const r=e.getAttribute("data-supercare-container-id")||void 0;t&&r&&a.embed({orgId:t,apiKey:e.getAttribute("data-supercare-api-key")||"",containerId:r}).catch(console.error)}}),"undefined"!=typeof window&&(window.SuperCareEmbed=a),e.SuperCareEmbed=l,e.default=a,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});
1
+ var SuperCareEmbedSDK=function(e){"use strict";var t=Object.defineProperty,i=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,i,n)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,d=(e,t,i)=>new Promise((n,r)=>{var o=e=>{try{s(i.next(e))}catch(t){r(t)}},d=e=>{try{s(i.throw(e))}catch(t){r(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,d);s((i=i.apply(e,t)).next())});const s=`https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${"2.0.5"}`,c={WIDGET_JS:`${s}/dist/widget.iife.js`,WIDGET_CSS:`${s}/dist/widget.css`};class l{constructor(){this.isWidgetEmbedded=!1,this.scriptElement=null,this.cssElement=null,this.containerElement=null,this.config=null}embed(e){return d(this,null,function*(){if(this.isWidgetEmbedded)console.warn("SuperCare widget is already embedded");else{this.config=((e,t)=>{for(var d in t||(t={}))n.call(t,d)&&o(e,d,t[d]);if(i)for(var d of i(t))r.call(t,d)&&o(e,d,t[d]);return e})({autoInit:!0},e);try{yield this.injectCSS(),yield this.injectContainer(),yield this.injectScript(),this.isWidgetEmbedded=!0}catch(t){throw console.error("Failed to embed SuperCare widget:",t),this.cleanup(),t}}})}remove(){this.isWidgetEmbedded?(this.cleanup(),this.isWidgetEmbedded=!1):console.warn("SuperCare widget is not embedded")}isEmbedded(){return this.isWidgetEmbedded}injectCSS(){return d(this,null,function*(){return new Promise((e,t)=>{if(document.querySelector(`link[href="${c.WIDGET_CSS}"]`))return void e();const i=document.createElement("link");i.rel="stylesheet",i.href=c.WIDGET_CSS,i.onload=()=>{this.cssElement=i,e()},i.onerror=()=>{t(new Error(`Failed to load CSS from ${c.WIDGET_CSS}`))},document.head.appendChild(i)})})}injectContainer(){return d(this,null,function*(){var e;if(!(null==(e=this.config)?void 0:e.containerId))throw new Error("Container ID is required");const t=document.getElementById(this.config.containerId);if(t)return void(this.containerElement=t);const i=document.createElement("div");i.id=this.config.containerId,document.body.appendChild(i),this.containerElement=i})}injectScript(){return d(this,null,function*(){return new Promise((e,t)=>{var i,n;if(!(null==(i=this.config)?void 0:i.orgId)||!(null==(n=this.config)?void 0:n.apiKey))return void t(new Error("Org ID and API Key are required"));if(document.getElementById("supercare-09u2ekhbpo-script"))return void e();const r=document.createElement("script");r.id="supercare-09u2ekhbpo-script",r.dataset[""],r.type="module",r.src=`${c.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`,r.onload=()=>{this.scriptElement=r,e()},r.onerror=()=>{t(new Error(`Failed to load script from ${c.WIDGET_JS}`))},document.body.appendChild(r)})})}cleanup(){this.scriptElement&&(this.scriptElement.remove(),this.scriptElement=null),this.cssElement&&(this.cssElement.remove(),this.cssElement=null),this.containerElement&&(this.containerElement.remove(),this.containerElement=null),this.config=null}}const a=new l;return"undefined"!=typeof window&&window.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("script[data-supercare-org-id]");if(e){const t=e.getAttribute("data-supercare-org-id"),i=e.getAttribute("data-supercare-container-id")||void 0;t&&i&&a.embed({orgId:t,apiKey:e.getAttribute("data-supercare-api-key")||"",containerId:i}).catch(console.error)}}),"undefined"!=typeof window&&(window.SuperCareEmbed=a),e.SuperCareEmbed=l,e.default=a,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});
2
2
  //# sourceMappingURL=supercare-embed-sdk.iife.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supercare-embed-sdk.iife.js","sources":["../src/constant.ts","../src/index.ts"],"sourcesContent":["import packageJson from \"../package.json\";\n\nexport const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;\nexport const CONSTANTS = {\n WIDGET_JS: `${WIDGET_CDN_URL}/dist/supercare-widget.iife.js`,\n WIDGET_CSS: `${WIDGET_CDN_URL}/dist/supercare-widget.css`,\n};\n","import { CONSTANTS } from \"./constant\";\n\nexport interface SuperCareEmbedConfig {\n orgId: string;\n apiKey: string;\n // cssUrl?: string;\n // widgetUrl?: string;\n containerId: string;\n autoInit?: boolean;\n}\n\nexport interface SuperCareEmbedSDK {\n embed: (config: SuperCareEmbedConfig) => Promise<void>;\n remove: () => void;\n isEmbedded: () => boolean;\n}\n\nclass SuperCareEmbed implements SuperCareEmbedSDK {\n private isWidgetEmbedded = false;\n private scriptElement: HTMLScriptElement | null = null;\n private cssElement: HTMLLinkElement | null = null;\n private containerElement: HTMLDivElement | null = null;\n private config: SuperCareEmbedConfig | null = null;\n\n\n\n async embed(config: SuperCareEmbedConfig): Promise<void> {\n if (this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is already embedded\");\n return;\n }\n\n this.config = {\n // widgetUrl: defaultWidgetUrl,\n // cssUrl: defaultCssUrl,\n // containerId: \"supercare-09u2ekhbpo-body\",\n autoInit: true,\n ...config,\n };\n\n try {\n await this.injectCSS();\n await this.injectContainer();\n await this.injectScript();\n this.isWidgetEmbedded = true;\n } catch (error) {\n console.error(\"Failed to embed SuperCare widget:\", error);\n this.cleanup();\n throw error;\n }\n }\n\n\n remove(): void {\n if (!this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is not embedded\");\n return;\n }\n\n this.cleanup();\n this.isWidgetEmbedded = false;\n }\n\n\n isEmbedded(): boolean {\n return this.isWidgetEmbedded;\n }\n\n\n private async injectCSS(): Promise<void> {\n return new Promise((resolve, reject) => {\n // if (!this.config?.cssUrl) {\n // resolve();\n // return;\n // }\n\n const existingCSS = document.querySelector(\n `link[href=\"${CONSTANTS.WIDGET_CSS}\"]`\n );\n if (existingCSS) {\n resolve();\n return;\n }\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = CONSTANTS.WIDGET_CSS;\n\n link.onload = () => {\n this.cssElement = link;\n resolve();\n };\n\n link.onerror = () => {\n reject(new Error(`Failed to load CSS from ${CONSTANTS.WIDGET_CSS}`));\n };\n\n document.head.appendChild(link);\n });\n }\n\n private async injectContainer(): Promise<void> {\n if (!this.config?.containerId) {\n throw new Error(\"Container ID is required\");\n }\n\n const existingContainer = document.getElementById(this.config.containerId);\n if (existingContainer) {\n this.containerElement = existingContainer as HTMLDivElement;\n return;\n }\n\n const container = document.createElement(\"div\");\n container.id = this.config.containerId;\n document.body.appendChild(container);\n this.containerElement = container;\n }\n\n\n private async injectScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.config?.orgId || !this.config?.apiKey) {\n reject(new Error(\"Org ID and API Key are required\"));\n return;\n }\n\n // Check if script is already loaded\n const existingScript = document.getElementById(\n \"supercare-09u2ekhbpo-script\"\n );\n if (existingScript) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.id = \"supercare-09u2ekhbpo-script\";\n script.dataset['']\n script.type = \"module\";\n script.src = `${CONSTANTS.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`;\n\n script.onload = () => {\n this.scriptElement = script;\n resolve();\n };\n\n script.onerror = () => {\n reject(\n new Error(`Failed to load script from ${CONSTANTS.WIDGET_JS}`)\n );\n };\n\n document.body.appendChild(script);\n });\n }\n\n\n private cleanup(): void {\n if (this.scriptElement) {\n this.scriptElement.remove();\n this.scriptElement = null;\n }\n\n if (this.cssElement) {\n this.cssElement.remove();\n this.cssElement = null;\n }\n\n if (this.containerElement) {\n this.containerElement.remove();\n this.containerElement = null;\n }\n\n this.config = null;\n }\n}\n\nconst superCareEmbed = new SuperCareEmbed();\n\nexport { SuperCareEmbed };\nexport default superCareEmbed;\n\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const scriptTag = document.querySelector(\"script[data-supercare-org-id]\");\n if (scriptTag) {\n const orgId = scriptTag.getAttribute(\"data-supercare-org-id\");\n const widgetUrl =\n scriptTag.getAttribute(\"data-supercare-widget-url\") || undefined;\n const cssUrl =\n scriptTag.getAttribute(\"data-supercare-css-url\") || undefined;\n const containerId =\n scriptTag.getAttribute(\"data-supercare-container-id\") || undefined;\n\n if (orgId && containerId) {\n superCareEmbed\n .embed({\n orgId,\n apiKey: scriptTag.getAttribute(\"data-supercare-api-key\") || \"\",\n // widgetUrl,\n // cssUrl,\n containerId,\n })\n .catch(console.error);\n }\n }\n });\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).SuperCareEmbed = superCareEmbed;\n}\n"],"names":["WIDGET_CDN_URL","CONSTANTS","WIDGET_JS","WIDGET_CSS","SuperCareEmbed","constructor","this","isWidgetEmbedded","scriptElement","cssElement","containerElement","config","embed","__async","console","warn","__spreadValues","autoInit","injectCSS","injectContainer","injectScript","error","cleanup","remove","isEmbedded","Promise","resolve","reject","document","querySelector","link","createElement","rel","href","onload","onerror","Error","head","appendChild","_a","containerId","existingContainer","getElementById","container","id","body","orgId","_b","apiKey","script","dataset","type","src","superCareEmbed","window","addEventListener","scriptTag","getAttribute","catch"],"mappings":"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"}
1
+ {"version":3,"file":"supercare-embed-sdk.iife.js","sources":["../src/constant.ts","../src/index.ts"],"sourcesContent":["import packageJson from \"../package.json\";\n\nexport const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;\nexport const CONSTANTS = {\n WIDGET_JS: `${WIDGET_CDN_URL}/dist/widget.iife.js`,\n WIDGET_CSS: `${WIDGET_CDN_URL}/dist/widget.css`,\n};\n","import { CONSTANTS } from \"./constant\";\n\nexport interface SuperCareEmbedConfig {\n orgId: string;\n apiKey: string;\n // cssUrl?: string;\n // widgetUrl?: string;\n containerId: string;\n autoInit?: boolean;\n}\n\nexport interface SuperCareEmbedSDK {\n embed: (config: SuperCareEmbedConfig) => Promise<void>;\n remove: () => void;\n isEmbedded: () => boolean;\n}\n\nclass SuperCareEmbed implements SuperCareEmbedSDK {\n private isWidgetEmbedded = false;\n private scriptElement: HTMLScriptElement | null = null;\n private cssElement: HTMLLinkElement | null = null;\n private containerElement: HTMLDivElement | null = null;\n private config: SuperCareEmbedConfig | null = null;\n\n\n\n async embed(config: SuperCareEmbedConfig): Promise<void> {\n if (this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is already embedded\");\n return;\n }\n\n this.config = {\n // widgetUrl: defaultWidgetUrl,\n // cssUrl: defaultCssUrl,\n // containerId: \"supercare-09u2ekhbpo-body\",\n autoInit: true,\n ...config,\n };\n\n try {\n await this.injectCSS();\n await this.injectContainer();\n await this.injectScript();\n this.isWidgetEmbedded = true;\n } catch (error) {\n console.error(\"Failed to embed SuperCare widget:\", error);\n this.cleanup();\n throw error;\n }\n }\n\n\n remove(): void {\n if (!this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is not embedded\");\n return;\n }\n\n this.cleanup();\n this.isWidgetEmbedded = false;\n }\n\n\n isEmbedded(): boolean {\n return this.isWidgetEmbedded;\n }\n\n\n private async injectCSS(): Promise<void> {\n return new Promise((resolve, reject) => {\n // if (!this.config?.cssUrl) {\n // resolve();\n // return;\n // }\n\n const existingCSS = document.querySelector(\n `link[href=\"${CONSTANTS.WIDGET_CSS}\"]`\n );\n if (existingCSS) {\n resolve();\n return;\n }\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = CONSTANTS.WIDGET_CSS;\n\n link.onload = () => {\n this.cssElement = link;\n resolve();\n };\n\n link.onerror = () => {\n reject(new Error(`Failed to load CSS from ${CONSTANTS.WIDGET_CSS}`));\n };\n\n document.head.appendChild(link);\n });\n }\n\n private async injectContainer(): Promise<void> {\n if (!this.config?.containerId) {\n throw new Error(\"Container ID is required\");\n }\n\n const existingContainer = document.getElementById(this.config.containerId);\n if (existingContainer) {\n this.containerElement = existingContainer as HTMLDivElement;\n return;\n }\n\n const container = document.createElement(\"div\");\n container.id = this.config.containerId;\n document.body.appendChild(container);\n this.containerElement = container;\n }\n\n\n private async injectScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.config?.orgId || !this.config?.apiKey) {\n reject(new Error(\"Org ID and API Key are required\"));\n return;\n }\n\n // Check if script is already loaded\n const existingScript = document.getElementById(\n \"supercare-09u2ekhbpo-script\"\n );\n if (existingScript) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.id = \"supercare-09u2ekhbpo-script\";\n script.dataset['']\n script.type = \"module\";\n script.src = `${CONSTANTS.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`;\n\n script.onload = () => {\n this.scriptElement = script;\n resolve();\n };\n\n script.onerror = () => {\n reject(\n new Error(`Failed to load script from ${CONSTANTS.WIDGET_JS}`)\n );\n };\n\n document.body.appendChild(script);\n });\n }\n\n\n private cleanup(): void {\n if (this.scriptElement) {\n this.scriptElement.remove();\n this.scriptElement = null;\n }\n\n if (this.cssElement) {\n this.cssElement.remove();\n this.cssElement = null;\n }\n\n if (this.containerElement) {\n this.containerElement.remove();\n this.containerElement = null;\n }\n\n this.config = null;\n }\n}\n\nconst superCareEmbed = new SuperCareEmbed();\n\nexport { SuperCareEmbed };\nexport default superCareEmbed;\n\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const scriptTag = document.querySelector(\"script[data-supercare-org-id]\");\n if (scriptTag) {\n const orgId = scriptTag.getAttribute(\"data-supercare-org-id\");\n const containerId =\n scriptTag.getAttribute(\"data-supercare-container-id\") || undefined;\n\n if (orgId && containerId) {\n superCareEmbed\n .embed({\n orgId,\n apiKey: scriptTag.getAttribute(\"data-supercare-api-key\") || \"\",\n containerId,\n })\n .catch(console.error);\n }\n }\n });\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).SuperCareEmbed = superCareEmbed;\n}\n"],"names":["WIDGET_CDN_URL","CONSTANTS","WIDGET_JS","WIDGET_CSS","SuperCareEmbed","constructor","this","isWidgetEmbedded","scriptElement","cssElement","containerElement","config","embed","__async","console","warn","__spreadValues","autoInit","injectCSS","injectContainer","injectScript","error","cleanup","remove","isEmbedded","Promise","resolve","reject","document","querySelector","link","createElement","rel","href","onload","onerror","Error","head","appendChild","_a","containerId","existingContainer","getElementById","container","id","body","orgId","_b","apiKey","script","dataset","type","src","superCareEmbed","window","addEventListener","scriptTag","getAttribute","catch"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).SuperCareEmbedSDK={})}(this,function(e){"use strict";var t=Object.defineProperty,i=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,i,n)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,d=(e,t,i)=>new Promise((n,r)=>{var o=e=>{try{s(i.next(e))}catch(t){r(t)}},d=e=>{try{s(i.throw(e))}catch(t){r(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,d);s((i=i.apply(e,t)).next())});const s=`https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${"2.0.3"}`,c={WIDGET_JS:`${s}/dist/supercare-widget.iife.js`,WIDGET_CSS:`${s}/dist/supercare-widget.css`};class l{constructor(){this.isWidgetEmbedded=!1,this.scriptElement=null,this.cssElement=null,this.containerElement=null,this.config=null}embed(e){return d(this,null,function*(){if(this.isWidgetEmbedded)console.warn("SuperCare widget is already embedded");else{this.config=((e,t)=>{for(var d in t||(t={}))n.call(t,d)&&o(e,d,t[d]);if(i)for(var d of i(t))r.call(t,d)&&o(e,d,t[d]);return e})({autoInit:!0},e);try{yield this.injectCSS(),yield this.injectContainer(),yield this.injectScript(),this.isWidgetEmbedded=!0}catch(t){throw console.error("Failed to embed SuperCare widget:",t),this.cleanup(),t}}})}remove(){this.isWidgetEmbedded?(this.cleanup(),this.isWidgetEmbedded=!1):console.warn("SuperCare widget is not embedded")}isEmbedded(){return this.isWidgetEmbedded}injectCSS(){return d(this,null,function*(){return new Promise((e,t)=>{if(document.querySelector(`link[href="${c.WIDGET_CSS}"]`))return void e();const i=document.createElement("link");i.rel="stylesheet",i.href=c.WIDGET_CSS,i.onload=()=>{this.cssElement=i,e()},i.onerror=()=>{t(new Error(`Failed to load CSS from ${c.WIDGET_CSS}`))},document.head.appendChild(i)})})}injectContainer(){return d(this,null,function*(){var e;if(!(null==(e=this.config)?void 0:e.containerId))throw new Error("Container ID is required");const t=document.getElementById(this.config.containerId);if(t)return void(this.containerElement=t);const i=document.createElement("div");i.id=this.config.containerId,document.body.appendChild(i),this.containerElement=i})}injectScript(){return d(this,null,function*(){return new Promise((e,t)=>{var i,n;if(!(null==(i=this.config)?void 0:i.orgId)||!(null==(n=this.config)?void 0:n.apiKey))return void t(new Error("Org ID and API Key are required"));if(document.getElementById("supercare-09u2ekhbpo-script"))return void e();const r=document.createElement("script");r.id="supercare-09u2ekhbpo-script",r.dataset[""],r.type="module",r.src=`${c.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`,r.onload=()=>{this.scriptElement=r,e()},r.onerror=()=>{t(new Error(`Failed to load script from ${c.WIDGET_JS}`))},document.body.appendChild(r)})})}cleanup(){this.scriptElement&&(this.scriptElement.remove(),this.scriptElement=null),this.cssElement&&(this.cssElement.remove(),this.cssElement=null),this.containerElement&&(this.containerElement.remove(),this.containerElement=null),this.config=null}}const a=new l;"undefined"!=typeof window&&window.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("script[data-supercare-org-id]");if(e){const t=e.getAttribute("data-supercare-org-id");e.getAttribute("data-supercare-widget-url"),e.getAttribute("data-supercare-css-url");const i=e.getAttribute("data-supercare-container-id")||void 0;t&&i&&a.embed({orgId:t,apiKey:e.getAttribute("data-supercare-api-key")||"",containerId:i}).catch(console.error)}}),"undefined"!=typeof window&&(window.SuperCareEmbed=a),e.SuperCareEmbed=l,e.default=a,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).SuperCareEmbedSDK={})}(this,function(e){"use strict";var t=Object.defineProperty,i=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,i,n)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,d=(e,t,i)=>new Promise((n,r)=>{var o=e=>{try{s(i.next(e))}catch(t){r(t)}},d=e=>{try{s(i.throw(e))}catch(t){r(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,d);s((i=i.apply(e,t)).next())});const s=`https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${"2.0.5"}`,c={WIDGET_JS:`${s}/dist/widget.iife.js`,WIDGET_CSS:`${s}/dist/widget.css`};class l{constructor(){this.isWidgetEmbedded=!1,this.scriptElement=null,this.cssElement=null,this.containerElement=null,this.config=null}embed(e){return d(this,null,function*(){if(this.isWidgetEmbedded)console.warn("SuperCare widget is already embedded");else{this.config=((e,t)=>{for(var d in t||(t={}))n.call(t,d)&&o(e,d,t[d]);if(i)for(var d of i(t))r.call(t,d)&&o(e,d,t[d]);return e})({autoInit:!0},e);try{yield this.injectCSS(),yield this.injectContainer(),yield this.injectScript(),this.isWidgetEmbedded=!0}catch(t){throw console.error("Failed to embed SuperCare widget:",t),this.cleanup(),t}}})}remove(){this.isWidgetEmbedded?(this.cleanup(),this.isWidgetEmbedded=!1):console.warn("SuperCare widget is not embedded")}isEmbedded(){return this.isWidgetEmbedded}injectCSS(){return d(this,null,function*(){return new Promise((e,t)=>{if(document.querySelector(`link[href="${c.WIDGET_CSS}"]`))return void e();const i=document.createElement("link");i.rel="stylesheet",i.href=c.WIDGET_CSS,i.onload=()=>{this.cssElement=i,e()},i.onerror=()=>{t(new Error(`Failed to load CSS from ${c.WIDGET_CSS}`))},document.head.appendChild(i)})})}injectContainer(){return d(this,null,function*(){var e;if(!(null==(e=this.config)?void 0:e.containerId))throw new Error("Container ID is required");const t=document.getElementById(this.config.containerId);if(t)return void(this.containerElement=t);const i=document.createElement("div");i.id=this.config.containerId,document.body.appendChild(i),this.containerElement=i})}injectScript(){return d(this,null,function*(){return new Promise((e,t)=>{var i,n;if(!(null==(i=this.config)?void 0:i.orgId)||!(null==(n=this.config)?void 0:n.apiKey))return void t(new Error("Org ID and API Key are required"));if(document.getElementById("supercare-09u2ekhbpo-script"))return void e();const r=document.createElement("script");r.id="supercare-09u2ekhbpo-script",r.dataset[""],r.type="module",r.src=`${c.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`,r.onload=()=>{this.scriptElement=r,e()},r.onerror=()=>{t(new Error(`Failed to load script from ${c.WIDGET_JS}`))},document.body.appendChild(r)})})}cleanup(){this.scriptElement&&(this.scriptElement.remove(),this.scriptElement=null),this.cssElement&&(this.cssElement.remove(),this.cssElement=null),this.containerElement&&(this.containerElement.remove(),this.containerElement=null),this.config=null}}const a=new l;"undefined"!=typeof window&&window.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("script[data-supercare-org-id]");if(e){const t=e.getAttribute("data-supercare-org-id"),i=e.getAttribute("data-supercare-container-id")||void 0;t&&i&&a.embed({orgId:t,apiKey:e.getAttribute("data-supercare-api-key")||"",containerId:i}).catch(console.error)}}),"undefined"!=typeof window&&(window.SuperCareEmbed=a),e.SuperCareEmbed=l,e.default=a,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=supercare-embed-sdk.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supercare-embed-sdk.umd.js","sources":["../src/constant.ts","../src/index.ts"],"sourcesContent":["import packageJson from \"../package.json\";\n\nexport const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;\nexport const CONSTANTS = {\n WIDGET_JS: `${WIDGET_CDN_URL}/dist/supercare-widget.iife.js`,\n WIDGET_CSS: `${WIDGET_CDN_URL}/dist/supercare-widget.css`,\n};\n","import { CONSTANTS } from \"./constant\";\n\nexport interface SuperCareEmbedConfig {\n orgId: string;\n apiKey: string;\n // cssUrl?: string;\n // widgetUrl?: string;\n containerId: string;\n autoInit?: boolean;\n}\n\nexport interface SuperCareEmbedSDK {\n embed: (config: SuperCareEmbedConfig) => Promise<void>;\n remove: () => void;\n isEmbedded: () => boolean;\n}\n\nclass SuperCareEmbed implements SuperCareEmbedSDK {\n private isWidgetEmbedded = false;\n private scriptElement: HTMLScriptElement | null = null;\n private cssElement: HTMLLinkElement | null = null;\n private containerElement: HTMLDivElement | null = null;\n private config: SuperCareEmbedConfig | null = null;\n\n\n\n async embed(config: SuperCareEmbedConfig): Promise<void> {\n if (this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is already embedded\");\n return;\n }\n\n this.config = {\n // widgetUrl: defaultWidgetUrl,\n // cssUrl: defaultCssUrl,\n // containerId: \"supercare-09u2ekhbpo-body\",\n autoInit: true,\n ...config,\n };\n\n try {\n await this.injectCSS();\n await this.injectContainer();\n await this.injectScript();\n this.isWidgetEmbedded = true;\n } catch (error) {\n console.error(\"Failed to embed SuperCare widget:\", error);\n this.cleanup();\n throw error;\n }\n }\n\n\n remove(): void {\n if (!this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is not embedded\");\n return;\n }\n\n this.cleanup();\n this.isWidgetEmbedded = false;\n }\n\n\n isEmbedded(): boolean {\n return this.isWidgetEmbedded;\n }\n\n\n private async injectCSS(): Promise<void> {\n return new Promise((resolve, reject) => {\n // if (!this.config?.cssUrl) {\n // resolve();\n // return;\n // }\n\n const existingCSS = document.querySelector(\n `link[href=\"${CONSTANTS.WIDGET_CSS}\"]`\n );\n if (existingCSS) {\n resolve();\n return;\n }\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = CONSTANTS.WIDGET_CSS;\n\n link.onload = () => {\n this.cssElement = link;\n resolve();\n };\n\n link.onerror = () => {\n reject(new Error(`Failed to load CSS from ${CONSTANTS.WIDGET_CSS}`));\n };\n\n document.head.appendChild(link);\n });\n }\n\n private async injectContainer(): Promise<void> {\n if (!this.config?.containerId) {\n throw new Error(\"Container ID is required\");\n }\n\n const existingContainer = document.getElementById(this.config.containerId);\n if (existingContainer) {\n this.containerElement = existingContainer as HTMLDivElement;\n return;\n }\n\n const container = document.createElement(\"div\");\n container.id = this.config.containerId;\n document.body.appendChild(container);\n this.containerElement = container;\n }\n\n\n private async injectScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.config?.orgId || !this.config?.apiKey) {\n reject(new Error(\"Org ID and API Key are required\"));\n return;\n }\n\n // Check if script is already loaded\n const existingScript = document.getElementById(\n \"supercare-09u2ekhbpo-script\"\n );\n if (existingScript) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.id = \"supercare-09u2ekhbpo-script\";\n script.dataset['']\n script.type = \"module\";\n script.src = `${CONSTANTS.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`;\n\n script.onload = () => {\n this.scriptElement = script;\n resolve();\n };\n\n script.onerror = () => {\n reject(\n new Error(`Failed to load script from ${CONSTANTS.WIDGET_JS}`)\n );\n };\n\n document.body.appendChild(script);\n });\n }\n\n\n private cleanup(): void {\n if (this.scriptElement) {\n this.scriptElement.remove();\n this.scriptElement = null;\n }\n\n if (this.cssElement) {\n this.cssElement.remove();\n this.cssElement = null;\n }\n\n if (this.containerElement) {\n this.containerElement.remove();\n this.containerElement = null;\n }\n\n this.config = null;\n }\n}\n\nconst superCareEmbed = new SuperCareEmbed();\n\nexport { SuperCareEmbed };\nexport default superCareEmbed;\n\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const scriptTag = document.querySelector(\"script[data-supercare-org-id]\");\n if (scriptTag) {\n const orgId = scriptTag.getAttribute(\"data-supercare-org-id\");\n const widgetUrl =\n scriptTag.getAttribute(\"data-supercare-widget-url\") || undefined;\n const cssUrl =\n scriptTag.getAttribute(\"data-supercare-css-url\") || undefined;\n const containerId =\n scriptTag.getAttribute(\"data-supercare-container-id\") || undefined;\n\n if (orgId && containerId) {\n superCareEmbed\n .embed({\n orgId,\n apiKey: scriptTag.getAttribute(\"data-supercare-api-key\") || \"\",\n // widgetUrl,\n // cssUrl,\n containerId,\n })\n .catch(console.error);\n }\n }\n });\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).SuperCareEmbed = superCareEmbed;\n}\n"],"names":["WIDGET_CDN_URL","CONSTANTS","WIDGET_JS","WIDGET_CSS","SuperCareEmbed","constructor","this","isWidgetEmbedded","scriptElement","cssElement","containerElement","config","embed","__async","console","warn","__spreadValues","autoInit","injectCSS","injectContainer","injectScript","error","cleanup","remove","isEmbedded","Promise","resolve","reject","document","querySelector","link","createElement","rel","href","onload","onerror","Error","head","appendChild","_a","containerId","existingContainer","getElementById","container","id","body","orgId","_b","apiKey","script","dataset","type","src","superCareEmbed","window","addEventListener","scriptTag","getAttribute","catch"],"mappings":"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"}
1
+ {"version":3,"file":"supercare-embed-sdk.umd.js","sources":["../src/constant.ts","../src/index.ts"],"sourcesContent":["import packageJson from \"../package.json\";\n\nexport const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;\nexport const CONSTANTS = {\n WIDGET_JS: `${WIDGET_CDN_URL}/dist/widget.iife.js`,\n WIDGET_CSS: `${WIDGET_CDN_URL}/dist/widget.css`,\n};\n","import { CONSTANTS } from \"./constant\";\n\nexport interface SuperCareEmbedConfig {\n orgId: string;\n apiKey: string;\n // cssUrl?: string;\n // widgetUrl?: string;\n containerId: string;\n autoInit?: boolean;\n}\n\nexport interface SuperCareEmbedSDK {\n embed: (config: SuperCareEmbedConfig) => Promise<void>;\n remove: () => void;\n isEmbedded: () => boolean;\n}\n\nclass SuperCareEmbed implements SuperCareEmbedSDK {\n private isWidgetEmbedded = false;\n private scriptElement: HTMLScriptElement | null = null;\n private cssElement: HTMLLinkElement | null = null;\n private containerElement: HTMLDivElement | null = null;\n private config: SuperCareEmbedConfig | null = null;\n\n\n\n async embed(config: SuperCareEmbedConfig): Promise<void> {\n if (this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is already embedded\");\n return;\n }\n\n this.config = {\n // widgetUrl: defaultWidgetUrl,\n // cssUrl: defaultCssUrl,\n // containerId: \"supercare-09u2ekhbpo-body\",\n autoInit: true,\n ...config,\n };\n\n try {\n await this.injectCSS();\n await this.injectContainer();\n await this.injectScript();\n this.isWidgetEmbedded = true;\n } catch (error) {\n console.error(\"Failed to embed SuperCare widget:\", error);\n this.cleanup();\n throw error;\n }\n }\n\n\n remove(): void {\n if (!this.isWidgetEmbedded) {\n console.warn(\"SuperCare widget is not embedded\");\n return;\n }\n\n this.cleanup();\n this.isWidgetEmbedded = false;\n }\n\n\n isEmbedded(): boolean {\n return this.isWidgetEmbedded;\n }\n\n\n private async injectCSS(): Promise<void> {\n return new Promise((resolve, reject) => {\n // if (!this.config?.cssUrl) {\n // resolve();\n // return;\n // }\n\n const existingCSS = document.querySelector(\n `link[href=\"${CONSTANTS.WIDGET_CSS}\"]`\n );\n if (existingCSS) {\n resolve();\n return;\n }\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = CONSTANTS.WIDGET_CSS;\n\n link.onload = () => {\n this.cssElement = link;\n resolve();\n };\n\n link.onerror = () => {\n reject(new Error(`Failed to load CSS from ${CONSTANTS.WIDGET_CSS}`));\n };\n\n document.head.appendChild(link);\n });\n }\n\n private async injectContainer(): Promise<void> {\n if (!this.config?.containerId) {\n throw new Error(\"Container ID is required\");\n }\n\n const existingContainer = document.getElementById(this.config.containerId);\n if (existingContainer) {\n this.containerElement = existingContainer as HTMLDivElement;\n return;\n }\n\n const container = document.createElement(\"div\");\n container.id = this.config.containerId;\n document.body.appendChild(container);\n this.containerElement = container;\n }\n\n\n private async injectScript(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this.config?.orgId || !this.config?.apiKey) {\n reject(new Error(\"Org ID and API Key are required\"));\n return;\n }\n\n // Check if script is already loaded\n const existingScript = document.getElementById(\n \"supercare-09u2ekhbpo-script\"\n );\n if (existingScript) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.id = \"supercare-09u2ekhbpo-script\";\n script.dataset['']\n script.type = \"module\";\n script.src = `${CONSTANTS.WIDGET_JS}?orgId=${this.config.orgId}&apiKey=${this.config.apiKey}`;\n\n script.onload = () => {\n this.scriptElement = script;\n resolve();\n };\n\n script.onerror = () => {\n reject(\n new Error(`Failed to load script from ${CONSTANTS.WIDGET_JS}`)\n );\n };\n\n document.body.appendChild(script);\n });\n }\n\n\n private cleanup(): void {\n if (this.scriptElement) {\n this.scriptElement.remove();\n this.scriptElement = null;\n }\n\n if (this.cssElement) {\n this.cssElement.remove();\n this.cssElement = null;\n }\n\n if (this.containerElement) {\n this.containerElement.remove();\n this.containerElement = null;\n }\n\n this.config = null;\n }\n}\n\nconst superCareEmbed = new SuperCareEmbed();\n\nexport { SuperCareEmbed };\nexport default superCareEmbed;\n\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const scriptTag = document.querySelector(\"script[data-supercare-org-id]\");\n if (scriptTag) {\n const orgId = scriptTag.getAttribute(\"data-supercare-org-id\");\n const containerId =\n scriptTag.getAttribute(\"data-supercare-container-id\") || undefined;\n\n if (orgId && containerId) {\n superCareEmbed\n .embed({\n orgId,\n apiKey: scriptTag.getAttribute(\"data-supercare-api-key\") || \"\",\n containerId,\n })\n .catch(console.error);\n }\n }\n });\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).SuperCareEmbed = superCareEmbed;\n}\n"],"names":["WIDGET_CDN_URL","CONSTANTS","WIDGET_JS","WIDGET_CSS","SuperCareEmbed","constructor","this","isWidgetEmbedded","scriptElement","cssElement","containerElement","config","embed","__async","console","warn","__spreadValues","autoInit","injectCSS","injectContainer","injectScript","error","cleanup","remove","isEmbedded","Promise","resolve","reject","document","querySelector","link","createElement","rel","href","onload","onerror","Error","head","appendChild","_a","containerId","existingContainer","getElementById","container","id","body","orgId","_b","apiKey","script","dataset","type","src","superCareEmbed","window","addEventListener","scriptTag","getAttribute","catch"],"mappings":"gqBAEaA,EAAiB,iEACjBC,EAAY,CACvBC,UAAW,GAAGF,wBACdG,WAAY,GAAGH,qBCYjB,MAAMI,EAAN,WAAAC,GACEC,KAAQC,kBAAmB,EAC3BD,KAAQE,cAA0C,KAClDF,KAAQG,WAAqC,KAC7CH,KAAQI,iBAA0C,KAClDJ,KAAQK,OAAsC,IAAA,CAIxC,KAAAC,CAAMD,GAA6C,OAAAE,EAAAP,KAAA,KAAA,YACvD,GAAIA,KAAKC,iBACPO,QAAQC,KAAK,4CADf,CAKAT,KAAKK,0HAASK,CAAA,CAIZC,UAAU,GACPN,GAGL,UACQL,KAAKY,kBACLZ,KAAKa,wBACLb,KAAKc,eACXd,KAAKC,kBAAmB,CAC1B,OAASc,GAGP,MAFAP,QAAQO,MAAM,oCAAqCA,GACnDf,KAAKgB,UACCD,CACR,CAnBA,CAoBF,EAAA,CAGA,MAAAE,GACOjB,KAAKC,kBAKVD,KAAKgB,UACLhB,KAAKC,kBAAmB,GALtBO,QAAQC,KAAK,mCAMjB,CAGA,UAAAS,GACE,OAAOlB,KAAKC,gBACd,CAGc,SAAAW,GAA2B,OAAAL,EAAAP,KAAA,KAAA,YACvC,OAAO,IAAImB,QAAQ,CAACC,EAASC,KAS3B,GAHoBC,SAASC,cAC3B,cAAc5B,EAAUE,gBAIxB,YADAuB,IAIF,MAAMI,EAAOF,SAASG,cAAc,QACpCD,EAAKE,IAAM,aACXF,EAAKG,KAAOhC,EAAUE,WAEtB2B,EAAKI,OAAS,KACZ5B,KAAKG,WAAaqB,EAClBJ,KAGFI,EAAKK,QAAU,KACbR,EAAO,IAAIS,MAAM,2BAA2BnC,EAAUE,gBAGxDyB,SAASS,KAAKC,YAAYR,IAE9B,EAAA,CAEc,eAAAX,GAAiC,OAAAN,EAAAP,KAAA,KAAA,kBAC7C,KAAK,OAAAiC,EAAAjC,KAAKK,aAAL,EAAA4B,EAAaC,aAChB,MAAM,IAAIJ,MAAM,4BAGlB,MAAMK,EAAoBb,SAASc,eAAepC,KAAKK,OAAO6B,aAC9D,GAAIC,EAEF,YADAnC,KAAKI,iBAAmB+B,GAI1B,MAAME,EAAYf,SAASG,cAAc,OACzCY,EAAUC,GAAKtC,KAAKK,OAAO6B,YAC3BZ,SAASiB,KAAKP,YAAYK,GAC1BrC,KAAKI,iBAAmBiC,CAC1B,EAAA,CAGc,YAAAvB,GAA8B,OAAAP,EAAAP,KAAA,KAAA,YAC1C,OAAO,IAAImB,QAAQ,CAACC,EAASC,aAC3B,KAAK,OAAAY,OAAK5B,aAAL,EAAA4B,EAAaO,UAAU,OAAAC,EAAAzC,KAAKK,aAAL,EAAAoC,EAAaC,QAEvC,YADArB,EAAO,IAAIS,MAAM,oCAQnB,GAHuBR,SAASc,eAC9B,+BAIA,YADAhB,IAIF,MAAMuB,EAASrB,SAASG,cAAc,UACtCkB,EAAOL,GAAK,8BACZK,EAAOC,QAAQ,IACfD,EAAOE,KAAO,SACdF,EAAOG,IAAM,GAAGnD,EAAUC,mBAAmBI,KAAKK,OAAOmC,gBAAgBxC,KAAKK,OAAOqC,SAErFC,EAAOf,OAAS,KACd5B,KAAKE,cAAgByC,EACrBvB,KAGFuB,EAAOd,QAAU,KACfR,EACE,IAAIS,MAAM,8BAA8BnC,EAAUC,eAItD0B,SAASiB,KAAKP,YAAYW,IAE9B,EAAA,CAGQ,OAAA3B,GACFhB,KAAKE,gBACPF,KAAKE,cAAce,SACnBjB,KAAKE,cAAgB,MAGnBF,KAAKG,aACPH,KAAKG,WAAWc,SAChBjB,KAAKG,WAAa,MAGhBH,KAAKI,mBACPJ,KAAKI,iBAAiBa,SACtBjB,KAAKI,iBAAmB,MAG1BJ,KAAKK,OAAS,IAChB,EAGF,MAAM0C,EAAiB,IAAIjD,EAKL,oBAAXkD,QACTA,OAAOC,iBAAiB,mBAAoB,KAC1C,MAAMC,EAAY5B,SAASC,cAAc,iCACzC,GAAI2B,EAAW,CACb,MAAMV,EAAQU,EAAUC,aAAa,yBAC/BjB,EACJgB,EAAUC,aAAa,qCAAkC,EAEvDX,GAASN,GACXa,EACGzC,MAAM,CACLkC,QACAE,OAAQQ,EAAUC,aAAa,2BAA6B,GAC5DjB,gBAEDkB,MAAM5C,QAAQO,MAErB,IAIkB,oBAAXiC,SACRA,OAAelD,eAAiBiD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@careshiphealth/sdk",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "A lightweight SDK to dynamically embed the SuperCare widget into any web page",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",