@careshiphealth/sdk 2.0.2 → 2.0.3
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,9 +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";
|
|
38
|
+
const packageJson = {
|
|
39
|
+
version
|
|
40
|
+
};
|
|
41
|
+
const WIDGET_CDN_URL = `https://cdn.jsdelivr.net/npm/@careshiphealth/widget@${packageJson.version}`;
|
|
37
42
|
const CONSTANTS = {
|
|
38
|
-
WIDGET_JS:
|
|
39
|
-
WIDGET_CSS:
|
|
43
|
+
WIDGET_JS: `${WIDGET_CDN_URL}/dist/supercare-widget.iife.js`,
|
|
44
|
+
WIDGET_CSS: `${WIDGET_CDN_URL}/dist/supercare-widget.css`
|
|
40
45
|
};
|
|
41
46
|
class SuperCareEmbed {
|
|
42
47
|
constructor() {
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/constant.ts","../src/index.ts"],"sourcesContent":["
|
|
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,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
|
|
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}({});
|
|
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":["
|
|
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,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
|
|
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"}})});
|
|
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":["
|
|
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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"}
|