react-onesignal 3.4.6 → 3.5.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 CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const u="onesignal-sdk",l="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js";let d=!1,s=!1;typeof window<"u"&&(window.OneSignalDeferred=window.OneSignalDeferred||[],c());function f(){s=!0}function c(){const n=document.createElement("script");n.id=u,n.defer=!0,n.src=l,n.onerror=()=>{f()},document.head.appendChild(n)}function w(){return g()||S()}function p(){return window.top!==window&&navigator.vendor==="Apple Computer, Inc."&&navigator.platform==="MacIntel"}function S(){return window.safari&&typeof window.safari.pushNotification<"u"||p()}function g(){return typeof PushSubscriptionOptions<"u"&&PushSubscriptionOptions.prototype.hasOwnProperty("applicationServerKey")}const m=()=>w(),h=n=>{var e;return d?Promise.reject("OneSignal is already initialized."):!n||!n.appId?Promise.reject("You need to provide your OneSignal appId."):document?(((e=n.welcomeNotification)==null?void 0:e.disabled)!==void 0&&(n.welcomeNotification.disable=n.welcomeNotification.disabled),new Promise((i,r)=>{var t;(t=window.OneSignalDeferred)==null||t.push(o=>{o.init(n).then(()=>{d=!0,i()}).catch(r)})})):Promise.reject("Document is not defined.")};function O(n,e){return new Promise((i,r)=>{var t;if(s){r(new Error("OneSignal script failed to load."));return}(t=window.OneSignalDeferred)==null||t.push(o=>{o.login(n,e).then(()=>i()).catch(a=>r(a))})})}function v(){return new Promise((n,e)=>{var i;if(s){e(new Error("OneSignal script failed to load."));return}(i=window.OneSignalDeferred)==null||i.push(r=>{r.logout().then(()=>n()).catch(t=>e(t))})})}function E(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.setConsentGiven(n).then(()=>e()).catch(o=>i(o))})})}function D(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.setConsentRequired(n).then(()=>e()).catch(o=>i(o))})})}function P(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptPush(n).then(()=>e()).catch(o=>i(o))})})}function L(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptPushCategories(n).then(()=>e()).catch(o=>i(o))})})}function U(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptSms(n).then(()=>e()).catch(o=>i(o))})})}function A(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptEmail(n).then(()=>e()).catch(o=>i(o))})})}function N(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptSmsAndEmail(n).then(()=>e()).catch(o=>i(o))})})}function b(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.Slidedown.addEventListener(n,e)})}function I(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.Slidedown.removeEventListener(n,e)})}function T(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Notifications.setDefaultUrl(n).then(()=>e()).catch(o=>i(o))})})}function R(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Notifications.setDefaultTitle(n).then(()=>e()).catch(o=>i(o))})})}function C(){return new Promise((n,e)=>{var i;if(s){e(new Error("OneSignal script failed to load."));return}(i=window.OneSignalDeferred)==null||i.push(r=>{r.Notifications.requestPermission().then(t=>n(t)).catch(t=>e(t))})})}function y(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.Notifications.addEventListener(n,e)})}function q(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.Notifications.removeEventListener(n,e)})}function k(n,e){return new Promise((i,r)=>{var t;if(s){r(new Error("OneSignal script failed to load."));return}(t=window.OneSignalDeferred)==null||t.push(o=>{o.Session.sendOutcome(n,e).then(()=>i()).catch(a=>r(a))})})}function G(n){return new Promise((e,i)=>{var r;if(s){i(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Session.sendUniqueOutcome(n).then(()=>e()).catch(o=>i(o))})})}function _(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.addAlias(n,e)})}function K(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.addAliases(n)})}function x(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.removeAlias(n)})}function V(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.removeAliases(n)})}function z(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.addEmail(n)})}function M(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.removeEmail(n)})}function F(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.addSms(n)})}function Y(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.removeSms(n)})}function B(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.addTag(n,e)})}function H(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.addTags(n)})}function J(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.removeTag(n)})}function Q(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.removeTags(n)})}async function W(){var e;let n;return await((e=window.OneSignalDeferred)==null?void 0:e.push(i=>{n=i.User.getTags()})),n}function X(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.addEventListener(n,e)})}function Z(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.removeEventListener(n,e)})}function $(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.User.setLanguage(n)})}async function j(){var e;let n;return await((e=window.OneSignalDeferred)==null?void 0:e.push(i=>{n=i.User.getLanguage()})),n}function ee(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.trackEvent(n,e)})}function ne(){return new Promise((n,e)=>{var i;if(s){e(new Error("OneSignal script failed to load."));return}(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.PushSubscription.optIn().then(()=>n()).catch(t=>e(t))})})}function ie(){return new Promise((n,e)=>{var i;if(s){e(new Error("OneSignal script failed to load."));return}(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.PushSubscription.optOut().then(()=>n()).catch(t=>e(t))})})}function re(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.PushSubscription.addEventListener(n,e)})}function te(n,e){var i;(i=window.OneSignalDeferred)==null||i.push(r=>{r.User.PushSubscription.removeEventListener(n,e)})}function oe(n){var e;(e=window.OneSignalDeferred)==null||e.push(i=>{i.Debug.setLogLevel(n)})}const se={get id(){var n,e,i;return(i=(e=(n=window.OneSignal)==null?void 0:n.User)==null?void 0:e.PushSubscription)==null?void 0:i.id},get token(){var n,e,i;return(i=(e=(n=window.OneSignal)==null?void 0:n.User)==null?void 0:e.PushSubscription)==null?void 0:i.token},get optedIn(){var n,e,i;return(i=(e=(n=window.OneSignal)==null?void 0:n.User)==null?void 0:e.PushSubscription)==null?void 0:i.optedIn},optIn:ne,optOut:ie,addEventListener:re,removeEventListener:te},ae={get onesignalId(){var n,e;return(e=(n=window.OneSignal)==null?void 0:n.User)==null?void 0:e.onesignalId},get externalId(){var n,e;return(e=(n=window.OneSignal)==null?void 0:n.User)==null?void 0:e.externalId},addAlias:_,addAliases:K,removeAlias:x,removeAliases:V,addEmail:z,removeEmail:M,addSms:F,removeSms:Y,addTag:B,addTags:H,removeTag:J,removeTags:Q,getTags:W,addEventListener:X,removeEventListener:Z,setLanguage:$,getLanguage:j,trackEvent:ee,PushSubscription:se},de={sendOutcome:k,sendUniqueOutcome:G},ue={setLogLevel:oe},le={promptPush:P,promptPushCategories:L,promptSms:U,promptEmail:A,promptSmsAndEmail:N,addEventListener:b,removeEventListener:I},fe={get permissionNative(){var n,e;return((e=(n=window.OneSignal)==null?void 0:n.Notifications)==null?void 0:e.permissionNative)??"default"},get permission(){var n,e;return((e=(n=window.OneSignal)==null?void 0:n.Notifications)==null?void 0:e.permission)??!1},setDefaultUrl:T,setDefaultTitle:R,isPushSupported:m,requestPermission:C,addEventListener:y,removeEventListener:q},ce={login:O,logout:v,init:h,setConsentGiven:E,setConsentRequired:D,Slidedown:le,Notifications:fe,Session:de,User:ae,Debug:ue},we=ce;module.exports=we;
1
+ "use strict";const d="onesignal-sdk",l="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js";let u=!1,s=!1;typeof window<"u"&&(window.OneSignalDeferred=window.OneSignalDeferred||[]);function c(){s=!0}function f(i){if(document.getElementById(d))return;const e=document.createElement("script");e.id=d,e.defer=!0,e.src=i||l,e.onerror=()=>{c()},document.head.appendChild(e)}function w(){return g()||S()}function p(){return window.top!==window&&navigator.vendor==="Apple Computer, Inc."&&navigator.platform==="MacIntel"}function S(){return window.safari&&typeof window.safari.pushNotification<"u"||p()}function g(){return typeof PushSubscriptionOptions<"u"&&PushSubscriptionOptions.prototype.hasOwnProperty("applicationServerKey")}const m=()=>w(),h=i=>{var e;return u?Promise.reject("OneSignal is already initialized."):!i||!i.appId?Promise.reject("You need to provide your OneSignal appId."):document?(((e=i.welcomeNotification)==null?void 0:e.disabled)!==void 0&&(i.welcomeNotification.disable=i.welcomeNotification.disabled),f(i.scriptSrc),new Promise((n,r)=>{var t;(t=window.OneSignalDeferred)==null||t.push(o=>{o.init(i).then(()=>{u=!0,n()}).catch(r)})})):Promise.reject("Document is not defined.")};function O(i,e){return new Promise((n,r)=>{var t;if(s){r(new Error("OneSignal script failed to load."));return}(t=window.OneSignalDeferred)==null||t.push(o=>{o.login(i,e).then(()=>n()).catch(a=>r(a))})})}function v(){return new Promise((i,e)=>{var n;if(s){e(new Error("OneSignal script failed to load."));return}(n=window.OneSignalDeferred)==null||n.push(r=>{r.logout().then(()=>i()).catch(t=>e(t))})})}function E(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.setConsentGiven(i).then(()=>e()).catch(o=>n(o))})})}function D(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.setConsentRequired(i).then(()=>e()).catch(o=>n(o))})})}function P(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptPush(i).then(()=>e()).catch(o=>n(o))})})}function L(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptPushCategories(i).then(()=>e()).catch(o=>n(o))})})}function U(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptSms(i).then(()=>e()).catch(o=>n(o))})})}function A(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptEmail(i).then(()=>e()).catch(o=>n(o))})})}function N(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Slidedown.promptSmsAndEmail(i).then(()=>e()).catch(o=>n(o))})})}function b(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.Slidedown.addEventListener(i,e)})}function T(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.Slidedown.removeEventListener(i,e)})}function I(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Notifications.setDefaultUrl(i).then(()=>e()).catch(o=>n(o))})})}function R(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Notifications.setDefaultTitle(i).then(()=>e()).catch(o=>n(o))})})}function C(){return new Promise((i,e)=>{var n;if(s){e(new Error("OneSignal script failed to load."));return}(n=window.OneSignalDeferred)==null||n.push(r=>{r.Notifications.requestPermission().then(t=>i(t)).catch(t=>e(t))})})}function y(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.Notifications.addEventListener(i,e)})}function q(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.Notifications.removeEventListener(i,e)})}function k(i,e){return new Promise((n,r)=>{var t;if(s){r(new Error("OneSignal script failed to load."));return}(t=window.OneSignalDeferred)==null||t.push(o=>{o.Session.sendOutcome(i,e).then(()=>n()).catch(a=>r(a))})})}function G(i){return new Promise((e,n)=>{var r;if(s){n(new Error("OneSignal script failed to load."));return}(r=window.OneSignalDeferred)==null||r.push(t=>{t.Session.sendUniqueOutcome(i).then(()=>e()).catch(o=>n(o))})})}function K(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.addAlias(i,e)})}function _(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.addAliases(i)})}function x(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.removeAlias(i)})}function V(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.removeAliases(i)})}function z(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.addEmail(i)})}function F(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.removeEmail(i)})}function M(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.addSms(i)})}function B(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.removeSms(i)})}function Y(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.addTag(i,e)})}function H(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.addTags(i)})}function J(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.removeTag(i)})}function Q(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.removeTags(i)})}async function W(){var e;let i;return await((e=window.OneSignalDeferred)==null?void 0:e.push(n=>{i=n.User.getTags()})),i}function X(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.addEventListener(i,e)})}function Z(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.removeEventListener(i,e)})}function $(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.User.setLanguage(i)})}async function j(){var e;let i;return await((e=window.OneSignalDeferred)==null?void 0:e.push(n=>{i=n.User.getLanguage()})),i}function ee(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.trackEvent(i,e)})}function ne(){return new Promise((i,e)=>{var n;if(s){e(new Error("OneSignal script failed to load."));return}(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.PushSubscription.optIn().then(()=>i()).catch(t=>e(t))})})}function ie(){return new Promise((i,e)=>{var n;if(s){e(new Error("OneSignal script failed to load."));return}(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.PushSubscription.optOut().then(()=>i()).catch(t=>e(t))})})}function re(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.PushSubscription.addEventListener(i,e)})}function te(i,e){var n;(n=window.OneSignalDeferred)==null||n.push(r=>{r.User.PushSubscription.removeEventListener(i,e)})}function oe(i){var e;(e=window.OneSignalDeferred)==null||e.push(n=>{n.Debug.setLogLevel(i)})}const se={get id(){var i,e,n;return(n=(e=(i=window.OneSignal)==null?void 0:i.User)==null?void 0:e.PushSubscription)==null?void 0:n.id},get token(){var i,e,n;return(n=(e=(i=window.OneSignal)==null?void 0:i.User)==null?void 0:e.PushSubscription)==null?void 0:n.token},get optedIn(){var i,e,n;return(n=(e=(i=window.OneSignal)==null?void 0:i.User)==null?void 0:e.PushSubscription)==null?void 0:n.optedIn},optIn:ne,optOut:ie,addEventListener:re,removeEventListener:te},ae={get onesignalId(){var i,e;return(e=(i=window.OneSignal)==null?void 0:i.User)==null?void 0:e.onesignalId},get externalId(){var i,e;return(e=(i=window.OneSignal)==null?void 0:i.User)==null?void 0:e.externalId},addAlias:K,addAliases:_,removeAlias:x,removeAliases:V,addEmail:z,removeEmail:F,addSms:M,removeSms:B,addTag:Y,addTags:H,removeTag:J,removeTags:Q,getTags:W,addEventListener:X,removeEventListener:Z,setLanguage:$,getLanguage:j,trackEvent:ee,PushSubscription:se},de={sendOutcome:k,sendUniqueOutcome:G},ue={setLogLevel:oe},le={promptPush:P,promptPushCategories:L,promptSms:U,promptEmail:A,promptSmsAndEmail:N,addEventListener:b,removeEventListener:T},ce={get permissionNative(){var i,e;return((e=(i=window.OneSignal)==null?void 0:i.Notifications)==null?void 0:e.permissionNative)??"default"},get permission(){var i,e;return((e=(i=window.OneSignal)==null?void 0:i.Notifications)==null?void 0:e.permission)??!1},setDefaultUrl:I,setDefaultTitle:R,isPushSupported:m,requestPermission:C,addEventListener:y,removeEventListener:q},fe={login:O,logout:v,init:h,setConsentGiven:E,setConsentRequired:D,Slidedown:le,Notifications:ce,Session:de,User:ae,Debug:ue},we=fe;module.exports=we;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../index.ts"],"sourcesContent":["const ONESIGNAL_SDK_ID = 'onesignal-sdk';\nconst ONE_SIGNAL_SCRIPT_SRC =\n 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js';\n\n// true if the script is successfully loaded from CDN.\nlet isOneSignalInitialized = false;\n// true if the script fails to load from CDN. A separate flag is necessary\n// to disambiguate between a CDN load failure and a delayed call to\n// OneSignal#init.\nlet isOneSignalScriptFailed = false;\n\nif (typeof window !== 'undefined') {\n window.OneSignalDeferred = window.OneSignalDeferred || [];\n addSDKScript();\n}\n\ndeclare global {\n interface Window {\n OneSignalDeferred?: OneSignalDeferredLoadedCallback[];\n OneSignal?: IOneSignalOneSignal;\n safari?: {\n pushNotification: any;\n };\n }\n}\n\n/* H E L P E R S */\n\nfunction handleOnError() {\n isOneSignalScriptFailed = true;\n}\n\nfunction addSDKScript() {\n const script = document.createElement('script');\n script.id = ONESIGNAL_SDK_ID;\n script.defer = true;\n script.src = ONE_SIGNAL_SCRIPT_SRC;\n\n // Always resolve whether or not the script is successfully initialized.\n // This is important for users who may block cdn.onesignal.com w/ adblock.\n script.onerror = () => {\n handleOnError();\n };\n\n document.head.appendChild(script);\n}\n\n/**\n * The following code is copied directly from the native SDK source file BrowserSupportsPush.ts\n * S T A R T\n */\n\n// Checks if the browser supports push notifications by checking if specific\n// classes and properties on them exist\nfunction isPushNotificationsSupported() {\n return supportsVapidPush() || supportsSafariPush();\n}\n\nfunction isMacOSSafariInIframe(): boolean {\n // Fallback detection for Safari on macOS in an iframe context\n return (\n window.top !== window && // isContextIframe\n navigator.vendor === 'Apple Computer, Inc.' && // isSafari\n navigator.platform === 'MacIntel'\n ); // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (\n (window.safari && typeof window.safari.pushNotification !== 'undefined') ||\n isMacOSSafariInIframe()\n );\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return (\n typeof PushSubscriptionOptions !== 'undefined' &&\n PushSubscriptionOptions.prototype.hasOwnProperty('applicationServerKey')\n );\n}\n/* E N D */\n\n/**\n * This is a SPECIAL FUNCTION\n * It is a hardcoded implementation copied from the upstream/native WebSDK since we want to return a boolean immediately\n * Natively, this is done via the shimloading mechanism (i.e. if the SDK loads, push is supported)\n * @PublicApi\n */\nconst isPushSupported = (): boolean => {\n return isPushNotificationsSupported();\n};\n\n/**\n * @PublicApi\n */\nconst init = (options: IInitObject): Promise<void> => {\n if (isOneSignalInitialized) {\n return Promise.reject(`OneSignal is already initialized.`);\n }\n\n if (!options || !options.appId) {\n return Promise.reject('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n // Handle both disabled and disable keys for welcome notification\n if (options.welcomeNotification?.disabled !== undefined) {\n options.welcomeNotification.disable = options.welcomeNotification.disabled;\n }\n\n return new Promise<void>((resolve, reject) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options)\n .then(() => {\n isOneSignalInitialized = true;\n resolve();\n })\n .catch(reject);\n });\n });\n};\n\nexport interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\nexport interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\nexport interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\nexport interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\nexport type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\nexport type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\nexport type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\nexport type SlidedownEventName = 'slidedownAllowClick' | 'slidedownCancelClick' | 'slidedownClosed' | 'slidedownQueued' | 'slidedownShown';\nexport type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\nexport interface IOSNotification {\n /**\n * The OneSignal notification id;\n * - Primary id on OneSignal's REST API and dashboard\n */\n readonly notificationId: string;\n\n /**\n * Visible title text on the notification\n */\n readonly title?: string;\n\n /**\n * Visible body text on the notification\n */\n readonly body: string;\n\n /**\n * Visible icon the notification; URL format\n */\n readonly icon?: string;\n\n /**\n * Visible small badgeIcon that displays on some devices; URL format\n * Example: On Android's status bar\n */\n readonly badgeIcon?: string;\n\n /**\n * Visible image on the notification; URL format\n */\n readonly image?: string;\n\n /**\n * Visible buttons on the notification\n */\n readonly actionButtons?: IOSNotificationActionButton[];\n\n /**\n * If this value is the same as existing notification, it will replace it\n * Can be set when creating the notification with \"Web Push Topic\" on the dashboard\n * or web_push_topic from the REST API.\n */\n readonly topic?: string;\n\n /**\n * Custom object that was sent with the notification;\n * definable when creating the notification from the OneSignal REST API or dashboard\n */\n readonly additionalData?: object;\n\n /**\n * URL to open when clicking or tapping on the notification\n */\n readonly launchURL?: string;\n\n /**\n * Confirm the push was received by reporting back to OneSignal\n */\n readonly confirmDelivery: boolean;\n}\n\nexport interface IOSNotificationActionButton {\n /**\n * Any unique identifier to represent which button was clicked. This is typically passed back to the service worker\n * and host page through events to identify which button was clicked.\n * e.g. 'like-button'\n */\n readonly actionId: string;\n /**\n * The notification action button's text.\n */\n readonly text: string;\n /**\n * A valid publicly reachable HTTPS URL to an image.\n */\n readonly icon?: string;\n /**\n * The URL to open the web browser to when this action button is clicked.\n */\n readonly launchURL?: string;\n}\n\nexport interface NotificationClickResult {\n readonly actionId?: string;\n readonly url?: string;\n}\n\nexport type NotificationEventTypeMap = {\n 'click': NotificationClickEvent;\n 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;\n 'dismiss': NotificationDismissEvent;\n 'permissionChange': boolean;\n 'permissionPromptDisplay': void;\n};\n\nexport interface NotificationForegroundWillDisplayEvent {\n readonly notification: IOSNotification;\n preventDefault(): void;\n}\n\nexport interface NotificationDismissEvent {\n notification: IOSNotification;\n}\n\nexport interface NotificationClickEvent {\n readonly notification: IOSNotification;\n readonly result: NotificationClickResult;\n}\n\nexport type UserChangeEvent = {\n current: UserNamespaceProperties;\n};\nexport type UserNamespaceProperties = {\n onesignalId: string | undefined;\n externalId: string | undefined;\n};\n\nexport interface IInitObject {\n appId: string;\n requiresUserPrivacyConsent?: boolean;\n safari_web_id?: string;\n subdomainName?: string;\n promptOptions?: {\n slidedown: {\n prompts: {\n /**\n * Whether to automatically display the prompt.\n * `true` will display the prompt based on the delay options.\n * `false` will prevent the prompt from displaying until the Slidedowns methods are used.\n */\n autoPrompt: boolean;\n\n /**\n * Only available for type: category. Up to 10 categories.\n * @example\n * categories: [{ tag: 'local_news', label: 'Local News' }] // The user will be tagged with local_news but will see \"Local News\" in the prompt.\n */\n categories?: {\n /** Should identify the action. */\n tag: string;\n\n /** What the user will see. */\n label: string;\n }[];\n\n /**\n * The delay options for the prompt.\n * @example delay: { pageViews: 3, timeDelay: 20 } // The user will not be shown the prompt until 20 seconds after the 3rd page view.\n */\n delay: {\n /** The number of pages a user needs to visit before the prompt is displayed. */\n pageViews?: number;\n\n /** The number of seconds a user needs to wait before the prompt is displayed.Both options must be satisfied for the prompt to display */\n timeDelay?: number;\n };\n\n /**\n * The text to display in the prompt.\n */\n text?: {\n /** The callout asking the user to opt-in. Up to 90 characters. */\n actionMessage?: string;\n\n /** Triggers the opt-in. Up to 15 characters. */\n acceptButton?: string;\n\n /** Cancels opt-in. Up to 15 characters. */\n cancelButton?: string;\n\n /** The message of the confirmation prompt displayed after the email and/or phone number is provided. Up to 90 characters. */\n confirmMessage?: string;\n\n /** Identifies the email text field. Up to 15 characters. */\n emailLabel?: string;\n\n /** Cancels the category update. Up to 15 characters. */\n negativeUpdateButton?: string;\n\n /** Saves the updated category tags. Up to 15 characters. */\n positiveUpdateButton?: string;\n\n /** Identifies the phone number text field. Up to 15 characters. */\n smsLabel?: string;\n\n /** A different message shown to subscribers presented the prompt again to update categories. Up to 90 characters. */\n updateMessage?: string;\n };\n\n /**\n * The type of prompt to display.\n * `push` which is the Slide Prompt without categories.\n * `category` which is the Slide Prompt with categories.\n * `sms` only asks for phone number.\n * `email` only asks for email address.\n * `smsAndEmail` asks for both phone number and email address.\n */\n type: 'push' | 'category' | 'sms' | 'email' | 'smsAndEmail';\n }[];\n };\n };\n welcomeNotification?: {\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n * @deprecated Use 'disable' instead. This will be removed in a future version.\n */\n disabled?: boolean;\n\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n */\n disable?: boolean;\n\n /**\n * The welcome notification's message. You can localize this to your own language.\n * If left blank or set to blank, the default of 'Thanks for subscribing!' will be used.\n */\n message: string;\n\n /**\n * The welcome notification's title. You can localize this to your own language. If not set, or left blank, the site's title will be used.\n * Set to one space ' ' to clear the title, although this is not recommended.\n */\n title?: string;\n\n /**\n * By default, clicking the welcome notification does not open any link.\n * This is recommended because the user has just visited your site and subscribed.\n */\n url?: string;\n };\n\n /**\n * Will enable customization of the notify/subscription bell button.\n */\n notifyButton?: {\n /**\n * A function you define that returns true to show the Subscription Bell, or false to hide it.\n * Typically used the hide the Subscription Bell after the user is subscribed.\n * This function is not re-evaluated on every state change; this function is only evaluated once when the Subscription Bell begins to show.\n */\n displayPredicate?: () => boolean | Promise<boolean>;\n\n /**\n * Enable the Subscription Bell. The Subscription Bell is otherwise disabled by default.\n */\n enable?: boolean;\n\n /** Specify CSS-valid pixel offsets using bottom, left, and right. */\n offset?: { bottom: string; left: string; right: string };\n\n /**\n * If `true`, the Subscription Bell will display an icon that there is 1 unread message.\n * When hovering over the Subscription Bell, the user will see custom text set by message.prenotify.\n */\n prenotify: boolean;\n\n /** Either `bottom-left` or `bottom-right`. The Subscription Bell will be fixed at this location on your page. */\n position?: 'bottom-left' | 'bottom-right';\n\n /** Set `false` to hide the 'Powered by OneSignal' text in the Subscription Bell dialog popup. */\n showCredit: boolean;\n\n /**\n * The Subscription Bell will initially appear at one of these sizes, and then shrink down to size `small` after the user subscribes.\n */\n size?: 'small' | 'medium' | 'large';\n\n /** Customize the Subscription Bell text. */\n text: {\n 'dialog.blocked.message': string;\n 'dialog.blocked.title': string;\n 'dialog.main.button.subscribe': string;\n 'dialog.main.button.unsubscribe': string;\n 'dialog.main.title': string;\n 'message.action.resubscribed': string;\n 'message.action.subscribed': string;\n 'message.action.subscribing': string;\n 'message.action.unsubscribed': string;\n 'message.prenotify': string;\n 'tip.state.blocked': string;\n 'tip.state.subscribed': string;\n 'tip.state.unsubscribed': string;\n };\n };\n\n persistNotification?: boolean;\n webhooks?: {\n /**\n * Enable this setting only if your server has CORS enabled and supports non-simple CORS requests.\n * If this setting is disabled, your webhook will not need CORS to receive data, but it will not receive the custom headers.\n * The simplest option is to leave it disabled.\n * @default false\n */\n cors: boolean;\n\n /**\n * This event occurs after a notification is clicked.\n * @example https://site.com/hook\n */\n 'notification.clicked'?: string;\n\n /**\n * This event occurs after a notification is intentionally dismissed by the user (clicking the notification body or one of the notification action buttons does not trigger the dismissed webhook),\n * after a group of notifications are all dismissed (with this notification as part of that group), or after a notification expires on its own time and disappears. This event is supported on Chrome only.\n * @example https://site.com/hook\n */\n 'notification.dismissed'?: string;\n\n /**\n * This event occurs after a notification is displayed.\n * @example https://site.com/hook\n */\n 'notification.willDisplay'?: string;\n };\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: 'exact' | 'origin';\n notificationClickHandlerAction?: 'navigate' | 'focus';\n path?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerOverrideForTypical?: boolean;\n [key: string]: unknown;\n}\n\nexport interface IOneSignalOneSignal {\n\tSlidedown: IOneSignalSlidedown;\n\tNotifications: IOneSignalNotifications;\n\tSession: IOneSignalSession;\n\tUser: IOneSignalUser;\n\tDebug: IOneSignalDebug;\n\tlogin(externalId: string, jwtToken?: string): Promise<void>;\n\tlogout(): Promise<void>;\n\tinit(options: IInitObject): Promise<void>;\n\tsetConsentGiven(consent: boolean): Promise<void>;\n\tsetConsentRequired(requiresConsent: boolean): Promise<void>;\n}\nexport interface IOneSignalNotifications {\n\tpermissionNative: NotificationPermission;\n\tpermission: boolean;\n\tsetDefaultUrl(url: string): Promise<void>;\n\tsetDefaultTitle(title: string): Promise<void>;\n\tisPushSupported(): boolean;\n\trequestPermission(): Promise<boolean>;\n\taddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n\tremoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n}\nexport interface IOneSignalSlidedown {\n\tpromptPush(options?: AutoPromptOptions): Promise<void>;\n\tpromptPushCategories(options?: AutoPromptOptions): Promise<void>;\n\tpromptSms(options?: AutoPromptOptions): Promise<void>;\n\tpromptEmail(options?: AutoPromptOptions): Promise<void>;\n\tpromptSmsAndEmail(options?: AutoPromptOptions): Promise<void>;\n\taddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n\tremoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n}\nexport interface IOneSignalDebug {\n\tsetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void;\n}\nexport interface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\nexport interface IOneSignalUser {\n\tonesignalId: string | undefined;\n\texternalId: string | undefined;\n\tPushSubscription: IOneSignalPushSubscription;\n\taddAlias(label: string, id: string): void;\n\taddAliases(aliases: { [key: string]: string }): void;\n\tremoveAlias(label: string): void;\n\tremoveAliases(labels: string[]): void;\n\taddEmail(email: string): void;\n\tremoveEmail(email: string): void;\n\taddSms(smsNumber: string): void;\n\tremoveSms(smsNumber: string): void;\n\taddTag(key: string, value: string): void;\n\taddTags(tags: { [key: string]: string }): void;\n\tremoveTag(key: string): void;\n\tremoveTags(keys: string[]): void;\n\tgetTags(): { [key: string]: string };\n\taddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tsetLanguage(language: string): void;\n\tgetLanguage(): string;\n\ttrackEvent(name: string, properties?: Record<string, unknown>): void;\n}\nexport interface IOneSignalPushSubscription {\n\tid: string | null | undefined;\n\ttoken: string | null | undefined;\n\toptedIn: boolean | undefined;\n\toptIn(): Promise<void>;\n\toptOut(): Promise<void>;\n\taddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n}\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.logout()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener);\n });\n \n}\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.removeEventListener(event, listener);\n });\n \n}\nfunction notificationsSetDefaultUrl(url: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsRequestPermission(): Promise<boolean> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then(result => resolve(result))\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener);\n });\n \n}\nfunction notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.removeEventListener(event, listener);\n });\n \n}\nfunction sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction userAddAlias(label: string, id: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAlias(label, id);\n });\n \n}\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAliases(aliases);\n });\n \n}\nfunction userRemoveAlias(label: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAlias(label);\n });\n \n}\nfunction userRemoveAliases(labels: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAliases(labels);\n });\n \n}\nfunction userAddEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEmail(email);\n });\n \n}\nfunction userRemoveEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEmail(email);\n });\n \n}\nfunction userAddSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addSms(smsNumber);\n });\n \n}\nfunction userRemoveSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeSms(smsNumber);\n });\n \n}\nfunction userAddTag(key: string, value: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTag(key, value);\n });\n \n}\nfunction userAddTags(tags: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTags(tags);\n });\n \n}\nfunction userRemoveTag(key: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTag(key);\n });\n \n}\nfunction userRemoveTags(keys: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTags(keys);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetTags(): { [key: string]: string } {\n let retVal: { [key: string]: string };\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getTags();\n });\n return retVal;\n}\nfunction userAddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEventListener(event, listener);\n });\n \n}\nfunction userRemoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEventListener(event, listener);\n });\n \n}\nfunction userSetLanguage(language: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.setLanguage(language);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetLanguage(): string {\n let retVal: string;\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getLanguage();\n });\n return retVal;\n}\nfunction userTrackEvent(name: string, properties?: Record<string, unknown>): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.trackEvent(name, properties);\n });\n \n}\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener);\n });\n \n}\nfunction pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener);\n });\n \n}\nfunction debugSetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel);\n });\n \n}\nconst PushSubscriptionNamespace: IOneSignalPushSubscription = {\n\tget id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id; },\n\tget token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token; },\n\tget optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn; },\n\toptIn: pushSubscriptionOptIn,\n\toptOut: pushSubscriptionOptOut,\n\taddEventListener: pushSubscriptionAddEventListener,\n\tremoveEventListener: pushSubscriptionRemoveEventListener,\n};\n\nconst UserNamespace: IOneSignalUser = {\n\tget onesignalId(): string | undefined { return window.OneSignal?.User?.onesignalId; },\n\tget externalId(): string | undefined { return window.OneSignal?.User?.externalId; },\n\taddAlias: userAddAlias,\n\taddAliases: userAddAliases,\n\tremoveAlias: userRemoveAlias,\n\tremoveAliases: userRemoveAliases,\n\taddEmail: userAddEmail,\n\tremoveEmail: userRemoveEmail,\n\taddSms: userAddSms,\n\tremoveSms: userRemoveSms,\n\taddTag: userAddTag,\n\taddTags: userAddTags,\n\tremoveTag: userRemoveTag,\n\tremoveTags: userRemoveTags,\n\tgetTags: userGetTags,\n\taddEventListener: userAddEventListener,\n\tremoveEventListener: userRemoveEventListener,\n\tsetLanguage: userSetLanguage,\n\tgetLanguage: userGetLanguage,\n\ttrackEvent: userTrackEvent,\n\tPushSubscription: PushSubscriptionNamespace,\n};\n\nconst SessionNamespace: IOneSignalSession = {\n\tsendOutcome: sessionSendOutcome,\n\tsendUniqueOutcome: sessionSendUniqueOutcome,\n};\n\nconst DebugNamespace: IOneSignalDebug = {\n\tsetLogLevel: debugSetLogLevel,\n};\n\nconst SlidedownNamespace: IOneSignalSlidedown = {\n\tpromptPush: slidedownPromptPush,\n\tpromptPushCategories: slidedownPromptPushCategories,\n\tpromptSms: slidedownPromptSms,\n\tpromptEmail: slidedownPromptEmail,\n\tpromptSmsAndEmail: slidedownPromptSmsAndEmail,\n\taddEventListener: slidedownAddEventListener,\n\tremoveEventListener: slidedownRemoveEventListener,\n};\n\nconst NotificationsNamespace: IOneSignalNotifications = {\n\tget permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },\n\tget permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },\n\tsetDefaultUrl: notificationsSetDefaultUrl,\n\tsetDefaultTitle: notificationsSetDefaultTitle,\n\tisPushSupported,\n\trequestPermission: notificationsRequestPermission,\n\taddEventListener: notificationsAddEventListener,\n\tremoveEventListener: notificationsRemoveEventListener,\n};\n\nconst OneSignalNamespace: IOneSignalOneSignal = {\n\tlogin: oneSignalLogin,\n\tlogout: oneSignalLogout,\n\tinit,\n\tsetConsentGiven: oneSignalSetConsentGiven,\n\tsetConsentRequired: oneSignalSetConsentRequired,\n\tSlidedown: SlidedownNamespace,\n\tNotifications: NotificationsNamespace,\n\tSession: SessionNamespace,\n\tUser: UserNamespace,\n\tDebug: DebugNamespace,\n};\n\nconst OneSignal = OneSignalNamespace;\nexport default OneSignal;\n"],"names":["ONESIGNAL_SDK_ID","ONE_SIGNAL_SCRIPT_SRC","isOneSignalInitialized","isOneSignalScriptFailed","addSDKScript","handleOnError","script","isPushNotificationsSupported","supportsVapidPush","supportsSafariPush","isMacOSSafariInIframe","isPushSupported","init","options","_a","resolve","reject","OneSignal","oneSignalLogin","externalId","jwtToken","error","oneSignalLogout","oneSignalSetConsentGiven","consent","oneSignalSetConsentRequired","requiresConsent","slidedownPromptPush","slidedownPromptPushCategories","slidedownPromptSms","slidedownPromptEmail","slidedownPromptSmsAndEmail","slidedownAddEventListener","event","listener","slidedownRemoveEventListener","notificationsSetDefaultUrl","url","notificationsSetDefaultTitle","title","notificationsRequestPermission","result","notificationsAddEventListener","notificationsRemoveEventListener","sessionSendOutcome","outcomeName","outcomeWeight","sessionSendUniqueOutcome","userAddAlias","label","id","userAddAliases","aliases","userRemoveAlias","userRemoveAliases","labels","userAddEmail","email","userRemoveEmail","userAddSms","smsNumber","userRemoveSms","userAddTag","key","value","userAddTags","tags","userRemoveTag","userRemoveTags","keys","userGetTags","retVal","userAddEventListener","userRemoveEventListener","userSetLanguage","language","userGetLanguage","userTrackEvent","name","properties","pushSubscriptionOptIn","pushSubscriptionOptOut","pushSubscriptionAddEventListener","pushSubscriptionRemoveEventListener","debugSetLogLevel","logLevel","PushSubscriptionNamespace","_c","_b","UserNamespace","SessionNamespace","DebugNamespace","SlidedownNamespace","NotificationsNamespace","OneSignalNamespace"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../index.ts"],"sourcesContent":["const ONESIGNAL_SDK_ID = 'onesignal-sdk';\nconst DEFAULT_SCRIPT_SRC =\n 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js';\n\nlet isOneSignalInitialized = false;\nlet isOneSignalScriptFailed = false;\n\nif (typeof window !== 'undefined') {\n window.OneSignalDeferred = window.OneSignalDeferred || [];\n}\n\ndeclare global {\n interface Window {\n OneSignalDeferred?: OneSignalDeferredLoadedCallback[];\n OneSignal?: IOneSignalOneSignal;\n safari?: {\n pushNotification: any;\n };\n }\n}\n\n/* H E L P E R S */\n\nfunction handleOnError() {\n isOneSignalScriptFailed = true;\n}\n\nfunction addSDKScript(scriptSrc?: string) {\n if (document.getElementById(ONESIGNAL_SDK_ID)) {\n return;\n }\n\n const script = document.createElement('script');\n script.id = ONESIGNAL_SDK_ID;\n script.defer = true;\n script.src = scriptSrc || DEFAULT_SCRIPT_SRC;\n\n // Always resolve whether or not the script is successfully initialized.\n // This is important for users who may block cdn.onesignal.com w/ adblock.\n script.onerror = () => {\n handleOnError();\n };\n\n document.head.appendChild(script);\n}\n\n/**\n * The following code is copied directly from the native SDK source file BrowserSupportsPush.ts\n * S T A R T\n */\n\n// Checks if the browser supports push notifications by checking if specific\n// classes and properties on them exist\nfunction isPushNotificationsSupported() {\n return supportsVapidPush() || supportsSafariPush();\n}\n\nfunction isMacOSSafariInIframe(): boolean {\n // Fallback detection for Safari on macOS in an iframe context\n return (\n window.top !== window && // isContextIframe\n navigator.vendor === 'Apple Computer, Inc.' && // isSafari\n navigator.platform === 'MacIntel'\n ); // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (\n (window.safari && typeof window.safari.pushNotification !== 'undefined') ||\n isMacOSSafariInIframe()\n );\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return (\n typeof PushSubscriptionOptions !== 'undefined' &&\n PushSubscriptionOptions.prototype.hasOwnProperty('applicationServerKey')\n );\n}\n/* E N D */\n\n/**\n * This is a SPECIAL FUNCTION\n * It is a hardcoded implementation copied from the upstream/native WebSDK since we want to return a boolean immediately\n * Natively, this is done via the shimloading mechanism (i.e. if the SDK loads, push is supported)\n * @PublicApi\n */\nconst isPushSupported = (): boolean => {\n return isPushNotificationsSupported();\n};\n\n/**\n * @PublicApi\n */\nconst init = (options: IInitObject): Promise<void> => {\n if (isOneSignalInitialized) {\n return Promise.reject(`OneSignal is already initialized.`);\n }\n\n if (!options || !options.appId) {\n return Promise.reject('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n // Handle both disabled and disable keys for welcome notification\n if (options.welcomeNotification?.disabled !== undefined) {\n options.welcomeNotification.disable = options.welcomeNotification.disabled;\n }\n\n addSDKScript(options.scriptSrc);\n\n return new Promise<void>((resolve, reject) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options)\n .then(() => {\n isOneSignalInitialized = true;\n resolve();\n })\n .catch(reject);\n });\n });\n};\n\nexport interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\nexport interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\nexport interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\nexport interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\nexport type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\nexport type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\nexport type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\nexport type SlidedownEventName = 'slidedownAllowClick' | 'slidedownCancelClick' | 'slidedownClosed' | 'slidedownQueued' | 'slidedownShown';\nexport type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\nexport interface IOSNotification {\n /**\n * The OneSignal notification id;\n * - Primary id on OneSignal's REST API and dashboard\n */\n readonly notificationId: string;\n\n /**\n * Visible title text on the notification\n */\n readonly title?: string;\n\n /**\n * Visible body text on the notification\n */\n readonly body: string;\n\n /**\n * Visible icon the notification; URL format\n */\n readonly icon?: string;\n\n /**\n * Visible small badgeIcon that displays on some devices; URL format\n * Example: On Android's status bar\n */\n readonly badgeIcon?: string;\n\n /**\n * Visible image on the notification; URL format\n */\n readonly image?: string;\n\n /**\n * Visible buttons on the notification\n */\n readonly actionButtons?: IOSNotificationActionButton[];\n\n /**\n * If this value is the same as existing notification, it will replace it\n * Can be set when creating the notification with \"Web Push Topic\" on the dashboard\n * or web_push_topic from the REST API.\n */\n readonly topic?: string;\n\n /**\n * Custom object that was sent with the notification;\n * definable when creating the notification from the OneSignal REST API or dashboard\n */\n readonly additionalData?: object;\n\n /**\n * URL to open when clicking or tapping on the notification\n */\n readonly launchURL?: string;\n\n /**\n * Confirm the push was received by reporting back to OneSignal\n */\n readonly confirmDelivery: boolean;\n}\n\nexport interface IOSNotificationActionButton {\n /**\n * Any unique identifier to represent which button was clicked. This is typically passed back to the service worker\n * and host page through events to identify which button was clicked.\n * e.g. 'like-button'\n */\n readonly actionId: string;\n /**\n * The notification action button's text.\n */\n readonly text: string;\n /**\n * A valid publicly reachable HTTPS URL to an image.\n */\n readonly icon?: string;\n /**\n * The URL to open the web browser to when this action button is clicked.\n */\n readonly launchURL?: string;\n}\n\nexport interface NotificationClickResult {\n readonly actionId?: string;\n readonly url?: string;\n}\n\nexport type NotificationEventTypeMap = {\n 'click': NotificationClickEvent;\n 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;\n 'dismiss': NotificationDismissEvent;\n 'permissionChange': boolean;\n 'permissionPromptDisplay': void;\n};\n\nexport interface NotificationForegroundWillDisplayEvent {\n readonly notification: IOSNotification;\n preventDefault(): void;\n}\n\nexport interface NotificationDismissEvent {\n notification: IOSNotification;\n}\n\nexport interface NotificationClickEvent {\n readonly notification: IOSNotification;\n readonly result: NotificationClickResult;\n}\n\nexport type UserChangeEvent = {\n current: UserNamespaceProperties;\n};\nexport type UserNamespaceProperties = {\n onesignalId: string | undefined;\n externalId: string | undefined;\n};\n\nexport interface IInitObject {\n appId: string;\n requiresUserPrivacyConsent?: boolean;\n safari_web_id?: string;\n subdomainName?: string;\n promptOptions?: {\n slidedown: {\n prompts: {\n /**\n * Whether to automatically display the prompt.\n * `true` will display the prompt based on the delay options.\n * `false` will prevent the prompt from displaying until the Slidedowns methods are used.\n */\n autoPrompt: boolean;\n\n /**\n * Only available for type: category. Up to 10 categories.\n * @example\n * categories: [{ tag: 'local_news', label: 'Local News' }] // The user will be tagged with local_news but will see \"Local News\" in the prompt.\n */\n categories?: {\n /** Should identify the action. */\n tag: string;\n\n /** What the user will see. */\n label: string;\n }[];\n\n /**\n * The delay options for the prompt.\n * @example delay: { pageViews: 3, timeDelay: 20 } // The user will not be shown the prompt until 20 seconds after the 3rd page view.\n */\n delay: {\n /** The number of pages a user needs to visit before the prompt is displayed. */\n pageViews?: number;\n\n /** The number of seconds a user needs to wait before the prompt is displayed.Both options must be satisfied for the prompt to display */\n timeDelay?: number;\n };\n\n /**\n * The text to display in the prompt.\n */\n text?: {\n /** The callout asking the user to opt-in. Up to 90 characters. */\n actionMessage?: string;\n\n /** Triggers the opt-in. Up to 15 characters. */\n acceptButton?: string;\n\n /** Cancels opt-in. Up to 15 characters. */\n cancelButton?: string;\n\n /** The message of the confirmation prompt displayed after the email and/or phone number is provided. Up to 90 characters. */\n confirmMessage?: string;\n\n /** Identifies the email text field. Up to 15 characters. */\n emailLabel?: string;\n\n /** Cancels the category update. Up to 15 characters. */\n negativeUpdateButton?: string;\n\n /** Saves the updated category tags. Up to 15 characters. */\n positiveUpdateButton?: string;\n\n /** Identifies the phone number text field. Up to 15 characters. */\n smsLabel?: string;\n\n /** A different message shown to subscribers presented the prompt again to update categories. Up to 90 characters. */\n updateMessage?: string;\n };\n\n /**\n * The type of prompt to display.\n * `push` which is the Slide Prompt without categories.\n * `category` which is the Slide Prompt with categories.\n * `sms` only asks for phone number.\n * `email` only asks for email address.\n * `smsAndEmail` asks for both phone number and email address.\n */\n type: 'push' | 'category' | 'sms' | 'email' | 'smsAndEmail';\n }[];\n };\n };\n welcomeNotification?: {\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n * @deprecated Use 'disable' instead. This will be removed in a future version.\n */\n disabled?: boolean;\n\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n */\n disable?: boolean;\n\n /**\n * The welcome notification's message. You can localize this to your own language.\n * If left blank or set to blank, the default of 'Thanks for subscribing!' will be used.\n */\n message: string;\n\n /**\n * The welcome notification's title. You can localize this to your own language. If not set, or left blank, the site's title will be used.\n * Set to one space ' ' to clear the title, although this is not recommended.\n */\n title?: string;\n\n /**\n * By default, clicking the welcome notification does not open any link.\n * This is recommended because the user has just visited your site and subscribed.\n */\n url?: string;\n };\n\n /**\n * Will enable customization of the notify/subscription bell button.\n */\n notifyButton?: {\n /**\n * A function you define that returns true to show the Subscription Bell, or false to hide it.\n * Typically used the hide the Subscription Bell after the user is subscribed.\n * This function is not re-evaluated on every state change; this function is only evaluated once when the Subscription Bell begins to show.\n */\n displayPredicate?: () => boolean | Promise<boolean>;\n\n /**\n * Enable the Subscription Bell. The Subscription Bell is otherwise disabled by default.\n */\n enable?: boolean;\n\n /** Specify CSS-valid pixel offsets using bottom, left, and right. */\n offset?: { bottom: string; left: string; right: string };\n\n /**\n * If `true`, the Subscription Bell will display an icon that there is 1 unread message.\n * When hovering over the Subscription Bell, the user will see custom text set by message.prenotify.\n */\n prenotify: boolean;\n\n /** Either `bottom-left` or `bottom-right`. The Subscription Bell will be fixed at this location on your page. */\n position?: 'bottom-left' | 'bottom-right';\n\n /** Set `false` to hide the 'Powered by OneSignal' text in the Subscription Bell dialog popup. */\n showCredit: boolean;\n\n /**\n * The Subscription Bell will initially appear at one of these sizes, and then shrink down to size `small` after the user subscribes.\n */\n size?: 'small' | 'medium' | 'large';\n\n /** Customize the Subscription Bell text. */\n text: {\n 'dialog.blocked.message': string;\n 'dialog.blocked.title': string;\n 'dialog.main.button.subscribe': string;\n 'dialog.main.button.unsubscribe': string;\n 'dialog.main.title': string;\n 'message.action.resubscribed': string;\n 'message.action.subscribed': string;\n 'message.action.subscribing': string;\n 'message.action.unsubscribed': string;\n 'message.prenotify': string;\n 'tip.state.blocked': string;\n 'tip.state.subscribed': string;\n 'tip.state.unsubscribed': string;\n };\n };\n\n persistNotification?: boolean;\n webhooks?: {\n /**\n * Enable this setting only if your server has CORS enabled and supports non-simple CORS requests.\n * If this setting is disabled, your webhook will not need CORS to receive data, but it will not receive the custom headers.\n * The simplest option is to leave it disabled.\n * @default false\n */\n cors: boolean;\n\n /**\n * This event occurs after a notification is clicked.\n * @example https://site.com/hook\n */\n 'notification.clicked'?: string;\n\n /**\n * This event occurs after a notification is intentionally dismissed by the user (clicking the notification body or one of the notification action buttons does not trigger the dismissed webhook),\n * after a group of notifications are all dismissed (with this notification as part of that group), or after a notification expires on its own time and disappears. This event is supported on Chrome only.\n * @example https://site.com/hook\n */\n 'notification.dismissed'?: string;\n\n /**\n * This event occurs after a notification is displayed.\n * @example https://site.com/hook\n */\n 'notification.willDisplay'?: string;\n };\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: 'exact' | 'origin';\n notificationClickHandlerAction?: 'navigate' | 'focus';\n path?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerOverrideForTypical?: boolean;\n /**\n * Overrides the default OneSignal SDK script URL.\n * Use this to self-host the SDK script on your own domain, e.g. to comply\n * with strict Cross-Origin-Embedder-Policy (COEP) or Content-Security-Policy (CSP) headers.\n * @default 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js'\n */\n scriptSrc?: string;\n [key: string]: unknown;\n}\n\nexport interface IOneSignalOneSignal {\n\tSlidedown: IOneSignalSlidedown;\n\tNotifications: IOneSignalNotifications;\n\tSession: IOneSignalSession;\n\tUser: IOneSignalUser;\n\tDebug: IOneSignalDebug;\n\tlogin(externalId: string, jwtToken?: string): Promise<void>;\n\tlogout(): Promise<void>;\n\tinit(options: IInitObject): Promise<void>;\n\tsetConsentGiven(consent: boolean): Promise<void>;\n\tsetConsentRequired(requiresConsent: boolean): Promise<void>;\n}\nexport interface IOneSignalNotifications {\n\tpermissionNative: NotificationPermission;\n\tpermission: boolean;\n\tsetDefaultUrl(url: string): Promise<void>;\n\tsetDefaultTitle(title: string): Promise<void>;\n\tisPushSupported(): boolean;\n\trequestPermission(): Promise<boolean>;\n\taddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n\tremoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n}\nexport interface IOneSignalSlidedown {\n\tpromptPush(options?: AutoPromptOptions): Promise<void>;\n\tpromptPushCategories(options?: AutoPromptOptions): Promise<void>;\n\tpromptSms(options?: AutoPromptOptions): Promise<void>;\n\tpromptEmail(options?: AutoPromptOptions): Promise<void>;\n\tpromptSmsAndEmail(options?: AutoPromptOptions): Promise<void>;\n\taddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n\tremoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n}\nexport interface IOneSignalDebug {\n\tsetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void;\n}\nexport interface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\nexport interface IOneSignalUser {\n\tonesignalId: string | undefined;\n\texternalId: string | undefined;\n\tPushSubscription: IOneSignalPushSubscription;\n\taddAlias(label: string, id: string): void;\n\taddAliases(aliases: { [key: string]: string }): void;\n\tremoveAlias(label: string): void;\n\tremoveAliases(labels: string[]): void;\n\taddEmail(email: string): void;\n\tremoveEmail(email: string): void;\n\taddSms(smsNumber: string): void;\n\tremoveSms(smsNumber: string): void;\n\taddTag(key: string, value: string): void;\n\taddTags(tags: { [key: string]: string }): void;\n\tremoveTag(key: string): void;\n\tremoveTags(keys: string[]): void;\n\tgetTags(): { [key: string]: string };\n\taddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tsetLanguage(language: string): void;\n\tgetLanguage(): string;\n\ttrackEvent(name: string, properties?: Record<string, unknown>): void;\n}\nexport interface IOneSignalPushSubscription {\n\tid: string | null | undefined;\n\ttoken: string | null | undefined;\n\toptedIn: boolean | undefined;\n\toptIn(): Promise<void>;\n\toptOut(): Promise<void>;\n\taddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n}\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.logout()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener);\n });\n \n}\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.removeEventListener(event, listener);\n });\n \n}\nfunction notificationsSetDefaultUrl(url: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsRequestPermission(): Promise<boolean> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then(result => resolve(result))\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener);\n });\n \n}\nfunction notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.removeEventListener(event, listener);\n });\n \n}\nfunction sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction userAddAlias(label: string, id: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAlias(label, id);\n });\n \n}\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAliases(aliases);\n });\n \n}\nfunction userRemoveAlias(label: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAlias(label);\n });\n \n}\nfunction userRemoveAliases(labels: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAliases(labels);\n });\n \n}\nfunction userAddEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEmail(email);\n });\n \n}\nfunction userRemoveEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEmail(email);\n });\n \n}\nfunction userAddSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addSms(smsNumber);\n });\n \n}\nfunction userRemoveSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeSms(smsNumber);\n });\n \n}\nfunction userAddTag(key: string, value: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTag(key, value);\n });\n \n}\nfunction userAddTags(tags: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTags(tags);\n });\n \n}\nfunction userRemoveTag(key: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTag(key);\n });\n \n}\nfunction userRemoveTags(keys: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTags(keys);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetTags(): { [key: string]: string } {\n let retVal: { [key: string]: string };\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getTags();\n });\n return retVal;\n}\nfunction userAddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEventListener(event, listener);\n });\n \n}\nfunction userRemoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEventListener(event, listener);\n });\n \n}\nfunction userSetLanguage(language: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.setLanguage(language);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetLanguage(): string {\n let retVal: string;\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getLanguage();\n });\n return retVal;\n}\nfunction userTrackEvent(name: string, properties?: Record<string, unknown>): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.trackEvent(name, properties);\n });\n \n}\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener);\n });\n \n}\nfunction pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener);\n });\n \n}\nfunction debugSetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel);\n });\n \n}\nconst PushSubscriptionNamespace: IOneSignalPushSubscription = {\n\tget id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id; },\n\tget token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token; },\n\tget optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn; },\n\toptIn: pushSubscriptionOptIn,\n\toptOut: pushSubscriptionOptOut,\n\taddEventListener: pushSubscriptionAddEventListener,\n\tremoveEventListener: pushSubscriptionRemoveEventListener,\n};\n\nconst UserNamespace: IOneSignalUser = {\n\tget onesignalId(): string | undefined { return window.OneSignal?.User?.onesignalId; },\n\tget externalId(): string | undefined { return window.OneSignal?.User?.externalId; },\n\taddAlias: userAddAlias,\n\taddAliases: userAddAliases,\n\tremoveAlias: userRemoveAlias,\n\tremoveAliases: userRemoveAliases,\n\taddEmail: userAddEmail,\n\tremoveEmail: userRemoveEmail,\n\taddSms: userAddSms,\n\tremoveSms: userRemoveSms,\n\taddTag: userAddTag,\n\taddTags: userAddTags,\n\tremoveTag: userRemoveTag,\n\tremoveTags: userRemoveTags,\n\tgetTags: userGetTags,\n\taddEventListener: userAddEventListener,\n\tremoveEventListener: userRemoveEventListener,\n\tsetLanguage: userSetLanguage,\n\tgetLanguage: userGetLanguage,\n\ttrackEvent: userTrackEvent,\n\tPushSubscription: PushSubscriptionNamespace,\n};\n\nconst SessionNamespace: IOneSignalSession = {\n\tsendOutcome: sessionSendOutcome,\n\tsendUniqueOutcome: sessionSendUniqueOutcome,\n};\n\nconst DebugNamespace: IOneSignalDebug = {\n\tsetLogLevel: debugSetLogLevel,\n};\n\nconst SlidedownNamespace: IOneSignalSlidedown = {\n\tpromptPush: slidedownPromptPush,\n\tpromptPushCategories: slidedownPromptPushCategories,\n\tpromptSms: slidedownPromptSms,\n\tpromptEmail: slidedownPromptEmail,\n\tpromptSmsAndEmail: slidedownPromptSmsAndEmail,\n\taddEventListener: slidedownAddEventListener,\n\tremoveEventListener: slidedownRemoveEventListener,\n};\n\nconst NotificationsNamespace: IOneSignalNotifications = {\n\tget permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },\n\tget permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },\n\tsetDefaultUrl: notificationsSetDefaultUrl,\n\tsetDefaultTitle: notificationsSetDefaultTitle,\n\tisPushSupported,\n\trequestPermission: notificationsRequestPermission,\n\taddEventListener: notificationsAddEventListener,\n\tremoveEventListener: notificationsRemoveEventListener,\n};\n\nconst OneSignalNamespace: IOneSignalOneSignal = {\n\tlogin: oneSignalLogin,\n\tlogout: oneSignalLogout,\n\tinit,\n\tsetConsentGiven: oneSignalSetConsentGiven,\n\tsetConsentRequired: oneSignalSetConsentRequired,\n\tSlidedown: SlidedownNamespace,\n\tNotifications: NotificationsNamespace,\n\tSession: SessionNamespace,\n\tUser: UserNamespace,\n\tDebug: DebugNamespace,\n};\n\nconst OneSignal = OneSignalNamespace;\nexport default OneSignal;\n"],"names":["ONESIGNAL_SDK_ID","DEFAULT_SCRIPT_SRC","isOneSignalInitialized","isOneSignalScriptFailed","handleOnError","addSDKScript","scriptSrc","script","isPushNotificationsSupported","supportsVapidPush","supportsSafariPush","isMacOSSafariInIframe","isPushSupported","init","options","_a","resolve","reject","OneSignal","oneSignalLogin","externalId","jwtToken","error","oneSignalLogout","oneSignalSetConsentGiven","consent","oneSignalSetConsentRequired","requiresConsent","slidedownPromptPush","slidedownPromptPushCategories","slidedownPromptSms","slidedownPromptEmail","slidedownPromptSmsAndEmail","slidedownAddEventListener","event","listener","slidedownRemoveEventListener","notificationsSetDefaultUrl","url","notificationsSetDefaultTitle","title","notificationsRequestPermission","result","notificationsAddEventListener","notificationsRemoveEventListener","sessionSendOutcome","outcomeName","outcomeWeight","sessionSendUniqueOutcome","userAddAlias","label","id","userAddAliases","aliases","userRemoveAlias","userRemoveAliases","labels","userAddEmail","email","userRemoveEmail","userAddSms","smsNumber","userRemoveSms","userAddTag","key","value","userAddTags","tags","userRemoveTag","userRemoveTags","keys","userGetTags","retVal","userAddEventListener","userRemoveEventListener","userSetLanguage","language","userGetLanguage","userTrackEvent","name","properties","pushSubscriptionOptIn","pushSubscriptionOptOut","pushSubscriptionAddEventListener","pushSubscriptionRemoveEventListener","debugSetLogLevel","logLevel","PushSubscriptionNamespace","_c","_b","UserNamespace","SessionNamespace","DebugNamespace","SlidedownNamespace","NotificationsNamespace","OneSignalNamespace"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -325,6 +325,13 @@ export interface IInitObject {
325
325
  };
326
326
  serviceWorkerPath?: string;
327
327
  serviceWorkerOverrideForTypical?: boolean;
328
+ /**
329
+ * Overrides the default OneSignal SDK script URL.
330
+ * Use this to self-host the SDK script on your own domain, e.g. to comply
331
+ * with strict Cross-Origin-Embedder-Policy (COEP) or Content-Security-Policy (CSP) headers.
332
+ * @default 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js'
333
+ */
334
+ scriptSrc?: string;
328
335
  [key: string]: unknown;
329
336
  }
330
337
  export interface IOneSignalOneSignal {
package/dist/index.js CHANGED
@@ -1,14 +1,16 @@
1
- const u = "onesignal-sdk", l = "https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js";
2
- let d = !1, s = !1;
3
- typeof window < "u" && (window.OneSignalDeferred = window.OneSignalDeferred || [], c());
1
+ const d = "onesignal-sdk", l = "https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js";
2
+ let u = !1, s = !1;
3
+ typeof window < "u" && (window.OneSignalDeferred = window.OneSignalDeferred || []);
4
4
  function f() {
5
5
  s = !0;
6
6
  }
7
- function c() {
8
- const n = document.createElement("script");
9
- n.id = u, n.defer = !0, n.src = l, n.onerror = () => {
7
+ function c(i) {
8
+ if (document.getElementById(d))
9
+ return;
10
+ const e = document.createElement("script");
11
+ e.id = d, e.defer = !0, e.src = i || l, e.onerror = () => {
10
12
  f();
11
- }, document.head.appendChild(n);
13
+ }, document.head.appendChild(e);
12
14
  }
13
15
  function w() {
14
16
  return g() || S();
@@ -24,373 +26,373 @@ function S() {
24
26
  function g() {
25
27
  return typeof PushSubscriptionOptions < "u" && PushSubscriptionOptions.prototype.hasOwnProperty("applicationServerKey");
26
28
  }
27
- const m = () => w(), h = (n) => {
29
+ const m = () => w(), h = (i) => {
28
30
  var e;
29
- return d ? Promise.reject("OneSignal is already initialized.") : !n || !n.appId ? Promise.reject("You need to provide your OneSignal appId.") : document ? (((e = n.welcomeNotification) == null ? void 0 : e.disabled) !== void 0 && (n.welcomeNotification.disable = n.welcomeNotification.disabled), new Promise((i, r) => {
31
+ return u ? Promise.reject("OneSignal is already initialized.") : !i || !i.appId ? Promise.reject("You need to provide your OneSignal appId.") : document ? (((e = i.welcomeNotification) == null ? void 0 : e.disabled) !== void 0 && (i.welcomeNotification.disable = i.welcomeNotification.disabled), c(i.scriptSrc), new Promise((n, r) => {
30
32
  var t;
31
33
  (t = window.OneSignalDeferred) == null || t.push((o) => {
32
- o.init(n).then(() => {
33
- d = !0, i();
34
+ o.init(i).then(() => {
35
+ u = !0, n();
34
36
  }).catch(r);
35
37
  });
36
38
  })) : Promise.reject("Document is not defined.");
37
39
  };
38
- function O(n, e) {
39
- return new Promise((i, r) => {
40
+ function O(i, e) {
41
+ return new Promise((n, r) => {
40
42
  var t;
41
43
  if (s) {
42
44
  r(new Error("OneSignal script failed to load."));
43
45
  return;
44
46
  }
45
47
  (t = window.OneSignalDeferred) == null || t.push((o) => {
46
- o.login(n, e).then(() => i()).catch((a) => r(a));
48
+ o.login(i, e).then(() => n()).catch((a) => r(a));
47
49
  });
48
50
  });
49
51
  }
50
52
  function v() {
51
- return new Promise((n, e) => {
52
- var i;
53
+ return new Promise((i, e) => {
54
+ var n;
53
55
  if (s) {
54
56
  e(new Error("OneSignal script failed to load."));
55
57
  return;
56
58
  }
57
- (i = window.OneSignalDeferred) == null || i.push((r) => {
58
- r.logout().then(() => n()).catch((t) => e(t));
59
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
60
+ r.logout().then(() => i()).catch((t) => e(t));
59
61
  });
60
62
  });
61
63
  }
62
- function E(n) {
63
- return new Promise((e, i) => {
64
+ function E(i) {
65
+ return new Promise((e, n) => {
64
66
  var r;
65
67
  if (s) {
66
- i(new Error("OneSignal script failed to load."));
68
+ n(new Error("OneSignal script failed to load."));
67
69
  return;
68
70
  }
69
71
  (r = window.OneSignalDeferred) == null || r.push((t) => {
70
- t.setConsentGiven(n).then(() => e()).catch((o) => i(o));
72
+ t.setConsentGiven(i).then(() => e()).catch((o) => n(o));
71
73
  });
72
74
  });
73
75
  }
74
- function D(n) {
75
- return new Promise((e, i) => {
76
+ function D(i) {
77
+ return new Promise((e, n) => {
76
78
  var r;
77
79
  if (s) {
78
- i(new Error("OneSignal script failed to load."));
80
+ n(new Error("OneSignal script failed to load."));
79
81
  return;
80
82
  }
81
83
  (r = window.OneSignalDeferred) == null || r.push((t) => {
82
- t.setConsentRequired(n).then(() => e()).catch((o) => i(o));
84
+ t.setConsentRequired(i).then(() => e()).catch((o) => n(o));
83
85
  });
84
86
  });
85
87
  }
86
- function P(n) {
87
- return new Promise((e, i) => {
88
+ function P(i) {
89
+ return new Promise((e, n) => {
88
90
  var r;
89
91
  if (s) {
90
- i(new Error("OneSignal script failed to load."));
92
+ n(new Error("OneSignal script failed to load."));
91
93
  return;
92
94
  }
93
95
  (r = window.OneSignalDeferred) == null || r.push((t) => {
94
- t.Slidedown.promptPush(n).then(() => e()).catch((o) => i(o));
96
+ t.Slidedown.promptPush(i).then(() => e()).catch((o) => n(o));
95
97
  });
96
98
  });
97
99
  }
98
- function L(n) {
99
- return new Promise((e, i) => {
100
+ function L(i) {
101
+ return new Promise((e, n) => {
100
102
  var r;
101
103
  if (s) {
102
- i(new Error("OneSignal script failed to load."));
104
+ n(new Error("OneSignal script failed to load."));
103
105
  return;
104
106
  }
105
107
  (r = window.OneSignalDeferred) == null || r.push((t) => {
106
- t.Slidedown.promptPushCategories(n).then(() => e()).catch((o) => i(o));
108
+ t.Slidedown.promptPushCategories(i).then(() => e()).catch((o) => n(o));
107
109
  });
108
110
  });
109
111
  }
110
- function U(n) {
111
- return new Promise((e, i) => {
112
+ function U(i) {
113
+ return new Promise((e, n) => {
112
114
  var r;
113
115
  if (s) {
114
- i(new Error("OneSignal script failed to load."));
116
+ n(new Error("OneSignal script failed to load."));
115
117
  return;
116
118
  }
117
119
  (r = window.OneSignalDeferred) == null || r.push((t) => {
118
- t.Slidedown.promptSms(n).then(() => e()).catch((o) => i(o));
120
+ t.Slidedown.promptSms(i).then(() => e()).catch((o) => n(o));
119
121
  });
120
122
  });
121
123
  }
122
- function A(n) {
123
- return new Promise((e, i) => {
124
+ function A(i) {
125
+ return new Promise((e, n) => {
124
126
  var r;
125
127
  if (s) {
126
- i(new Error("OneSignal script failed to load."));
128
+ n(new Error("OneSignal script failed to load."));
127
129
  return;
128
130
  }
129
131
  (r = window.OneSignalDeferred) == null || r.push((t) => {
130
- t.Slidedown.promptEmail(n).then(() => e()).catch((o) => i(o));
132
+ t.Slidedown.promptEmail(i).then(() => e()).catch((o) => n(o));
131
133
  });
132
134
  });
133
135
  }
134
- function N(n) {
135
- return new Promise((e, i) => {
136
+ function N(i) {
137
+ return new Promise((e, n) => {
136
138
  var r;
137
139
  if (s) {
138
- i(new Error("OneSignal script failed to load."));
140
+ n(new Error("OneSignal script failed to load."));
139
141
  return;
140
142
  }
141
143
  (r = window.OneSignalDeferred) == null || r.push((t) => {
142
- t.Slidedown.promptSmsAndEmail(n).then(() => e()).catch((o) => i(o));
144
+ t.Slidedown.promptSmsAndEmail(i).then(() => e()).catch((o) => n(o));
143
145
  });
144
146
  });
145
147
  }
146
- function b(n, e) {
147
- var i;
148
- (i = window.OneSignalDeferred) == null || i.push((r) => {
149
- r.Slidedown.addEventListener(n, e);
148
+ function b(i, e) {
149
+ var n;
150
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
151
+ r.Slidedown.addEventListener(i, e);
150
152
  });
151
153
  }
152
- function I(n, e) {
153
- var i;
154
- (i = window.OneSignalDeferred) == null || i.push((r) => {
155
- r.Slidedown.removeEventListener(n, e);
154
+ function T(i, e) {
155
+ var n;
156
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
157
+ r.Slidedown.removeEventListener(i, e);
156
158
  });
157
159
  }
158
- function T(n) {
159
- return new Promise((e, i) => {
160
+ function I(i) {
161
+ return new Promise((e, n) => {
160
162
  var r;
161
163
  if (s) {
162
- i(new Error("OneSignal script failed to load."));
164
+ n(new Error("OneSignal script failed to load."));
163
165
  return;
164
166
  }
165
167
  (r = window.OneSignalDeferred) == null || r.push((t) => {
166
- t.Notifications.setDefaultUrl(n).then(() => e()).catch((o) => i(o));
168
+ t.Notifications.setDefaultUrl(i).then(() => e()).catch((o) => n(o));
167
169
  });
168
170
  });
169
171
  }
170
- function R(n) {
171
- return new Promise((e, i) => {
172
+ function R(i) {
173
+ return new Promise((e, n) => {
172
174
  var r;
173
175
  if (s) {
174
- i(new Error("OneSignal script failed to load."));
176
+ n(new Error("OneSignal script failed to load."));
175
177
  return;
176
178
  }
177
179
  (r = window.OneSignalDeferred) == null || r.push((t) => {
178
- t.Notifications.setDefaultTitle(n).then(() => e()).catch((o) => i(o));
180
+ t.Notifications.setDefaultTitle(i).then(() => e()).catch((o) => n(o));
179
181
  });
180
182
  });
181
183
  }
182
184
  function C() {
183
- return new Promise((n, e) => {
184
- var i;
185
+ return new Promise((i, e) => {
186
+ var n;
185
187
  if (s) {
186
188
  e(new Error("OneSignal script failed to load."));
187
189
  return;
188
190
  }
189
- (i = window.OneSignalDeferred) == null || i.push((r) => {
190
- r.Notifications.requestPermission().then((t) => n(t)).catch((t) => e(t));
191
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
192
+ r.Notifications.requestPermission().then((t) => i(t)).catch((t) => e(t));
191
193
  });
192
194
  });
193
195
  }
194
- function y(n, e) {
195
- var i;
196
- (i = window.OneSignalDeferred) == null || i.push((r) => {
197
- r.Notifications.addEventListener(n, e);
196
+ function y(i, e) {
197
+ var n;
198
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
199
+ r.Notifications.addEventListener(i, e);
198
200
  });
199
201
  }
200
- function q(n, e) {
201
- var i;
202
- (i = window.OneSignalDeferred) == null || i.push((r) => {
203
- r.Notifications.removeEventListener(n, e);
202
+ function q(i, e) {
203
+ var n;
204
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
205
+ r.Notifications.removeEventListener(i, e);
204
206
  });
205
207
  }
206
- function k(n, e) {
207
- return new Promise((i, r) => {
208
+ function k(i, e) {
209
+ return new Promise((n, r) => {
208
210
  var t;
209
211
  if (s) {
210
212
  r(new Error("OneSignal script failed to load."));
211
213
  return;
212
214
  }
213
215
  (t = window.OneSignalDeferred) == null || t.push((o) => {
214
- o.Session.sendOutcome(n, e).then(() => i()).catch((a) => r(a));
216
+ o.Session.sendOutcome(i, e).then(() => n()).catch((a) => r(a));
215
217
  });
216
218
  });
217
219
  }
218
- function G(n) {
219
- return new Promise((e, i) => {
220
+ function G(i) {
221
+ return new Promise((e, n) => {
220
222
  var r;
221
223
  if (s) {
222
- i(new Error("OneSignal script failed to load."));
224
+ n(new Error("OneSignal script failed to load."));
223
225
  return;
224
226
  }
225
227
  (r = window.OneSignalDeferred) == null || r.push((t) => {
226
- t.Session.sendUniqueOutcome(n).then(() => e()).catch((o) => i(o));
228
+ t.Session.sendUniqueOutcome(i).then(() => e()).catch((o) => n(o));
227
229
  });
228
230
  });
229
231
  }
230
- function _(n, e) {
231
- var i;
232
- (i = window.OneSignalDeferred) == null || i.push((r) => {
233
- r.User.addAlias(n, e);
232
+ function K(i, e) {
233
+ var n;
234
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
235
+ r.User.addAlias(i, e);
234
236
  });
235
237
  }
236
- function K(n) {
238
+ function _(i) {
237
239
  var e;
238
- (e = window.OneSignalDeferred) == null || e.push((i) => {
239
- i.User.addAliases(n);
240
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
241
+ n.User.addAliases(i);
240
242
  });
241
243
  }
242
- function x(n) {
244
+ function x(i) {
243
245
  var e;
244
- (e = window.OneSignalDeferred) == null || e.push((i) => {
245
- i.User.removeAlias(n);
246
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
247
+ n.User.removeAlias(i);
246
248
  });
247
249
  }
248
- function V(n) {
250
+ function V(i) {
249
251
  var e;
250
- (e = window.OneSignalDeferred) == null || e.push((i) => {
251
- i.User.removeAliases(n);
252
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
253
+ n.User.removeAliases(i);
252
254
  });
253
255
  }
254
- function z(n) {
256
+ function z(i) {
255
257
  var e;
256
- (e = window.OneSignalDeferred) == null || e.push((i) => {
257
- i.User.addEmail(n);
258
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
259
+ n.User.addEmail(i);
258
260
  });
259
261
  }
260
- function M(n) {
262
+ function F(i) {
261
263
  var e;
262
- (e = window.OneSignalDeferred) == null || e.push((i) => {
263
- i.User.removeEmail(n);
264
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
265
+ n.User.removeEmail(i);
264
266
  });
265
267
  }
266
- function F(n) {
268
+ function M(i) {
267
269
  var e;
268
- (e = window.OneSignalDeferred) == null || e.push((i) => {
269
- i.User.addSms(n);
270
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
271
+ n.User.addSms(i);
270
272
  });
271
273
  }
272
- function Y(n) {
274
+ function B(i) {
273
275
  var e;
274
- (e = window.OneSignalDeferred) == null || e.push((i) => {
275
- i.User.removeSms(n);
276
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
277
+ n.User.removeSms(i);
276
278
  });
277
279
  }
278
- function B(n, e) {
279
- var i;
280
- (i = window.OneSignalDeferred) == null || i.push((r) => {
281
- r.User.addTag(n, e);
280
+ function Y(i, e) {
281
+ var n;
282
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
283
+ r.User.addTag(i, e);
282
284
  });
283
285
  }
284
- function H(n) {
286
+ function H(i) {
285
287
  var e;
286
- (e = window.OneSignalDeferred) == null || e.push((i) => {
287
- i.User.addTags(n);
288
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
289
+ n.User.addTags(i);
288
290
  });
289
291
  }
290
- function J(n) {
292
+ function J(i) {
291
293
  var e;
292
- (e = window.OneSignalDeferred) == null || e.push((i) => {
293
- i.User.removeTag(n);
294
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
295
+ n.User.removeTag(i);
294
296
  });
295
297
  }
296
- function Q(n) {
298
+ function Q(i) {
297
299
  var e;
298
- (e = window.OneSignalDeferred) == null || e.push((i) => {
299
- i.User.removeTags(n);
300
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
301
+ n.User.removeTags(i);
300
302
  });
301
303
  }
302
304
  async function W() {
303
305
  var e;
304
- let n;
305
- return await ((e = window.OneSignalDeferred) == null ? void 0 : e.push((i) => {
306
- n = i.User.getTags();
307
- })), n;
306
+ let i;
307
+ return await ((e = window.OneSignalDeferred) == null ? void 0 : e.push((n) => {
308
+ i = n.User.getTags();
309
+ })), i;
308
310
  }
309
- function X(n, e) {
310
- var i;
311
- (i = window.OneSignalDeferred) == null || i.push((r) => {
312
- r.User.addEventListener(n, e);
311
+ function X(i, e) {
312
+ var n;
313
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
314
+ r.User.addEventListener(i, e);
313
315
  });
314
316
  }
315
- function Z(n, e) {
316
- var i;
317
- (i = window.OneSignalDeferred) == null || i.push((r) => {
318
- r.User.removeEventListener(n, e);
317
+ function Z(i, e) {
318
+ var n;
319
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
320
+ r.User.removeEventListener(i, e);
319
321
  });
320
322
  }
321
- function $(n) {
323
+ function $(i) {
322
324
  var e;
323
- (e = window.OneSignalDeferred) == null || e.push((i) => {
324
- i.User.setLanguage(n);
325
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
326
+ n.User.setLanguage(i);
325
327
  });
326
328
  }
327
329
  async function j() {
328
330
  var e;
329
- let n;
330
- return await ((e = window.OneSignalDeferred) == null ? void 0 : e.push((i) => {
331
- n = i.User.getLanguage();
332
- })), n;
331
+ let i;
332
+ return await ((e = window.OneSignalDeferred) == null ? void 0 : e.push((n) => {
333
+ i = n.User.getLanguage();
334
+ })), i;
333
335
  }
334
- function ee(n, e) {
335
- var i;
336
- (i = window.OneSignalDeferred) == null || i.push((r) => {
337
- r.User.trackEvent(n, e);
336
+ function ee(i, e) {
337
+ var n;
338
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
339
+ r.User.trackEvent(i, e);
338
340
  });
339
341
  }
340
342
  function ne() {
341
- return new Promise((n, e) => {
342
- var i;
343
+ return new Promise((i, e) => {
344
+ var n;
343
345
  if (s) {
344
346
  e(new Error("OneSignal script failed to load."));
345
347
  return;
346
348
  }
347
- (i = window.OneSignalDeferred) == null || i.push((r) => {
348
- r.User.PushSubscription.optIn().then(() => n()).catch((t) => e(t));
349
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
350
+ r.User.PushSubscription.optIn().then(() => i()).catch((t) => e(t));
349
351
  });
350
352
  });
351
353
  }
352
354
  function ie() {
353
- return new Promise((n, e) => {
354
- var i;
355
+ return new Promise((i, e) => {
356
+ var n;
355
357
  if (s) {
356
358
  e(new Error("OneSignal script failed to load."));
357
359
  return;
358
360
  }
359
- (i = window.OneSignalDeferred) == null || i.push((r) => {
360
- r.User.PushSubscription.optOut().then(() => n()).catch((t) => e(t));
361
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
362
+ r.User.PushSubscription.optOut().then(() => i()).catch((t) => e(t));
361
363
  });
362
364
  });
363
365
  }
364
- function re(n, e) {
365
- var i;
366
- (i = window.OneSignalDeferred) == null || i.push((r) => {
367
- r.User.PushSubscription.addEventListener(n, e);
366
+ function re(i, e) {
367
+ var n;
368
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
369
+ r.User.PushSubscription.addEventListener(i, e);
368
370
  });
369
371
  }
370
- function te(n, e) {
371
- var i;
372
- (i = window.OneSignalDeferred) == null || i.push((r) => {
373
- r.User.PushSubscription.removeEventListener(n, e);
372
+ function te(i, e) {
373
+ var n;
374
+ (n = window.OneSignalDeferred) == null || n.push((r) => {
375
+ r.User.PushSubscription.removeEventListener(i, e);
374
376
  });
375
377
  }
376
- function oe(n) {
378
+ function oe(i) {
377
379
  var e;
378
- (e = window.OneSignalDeferred) == null || e.push((i) => {
379
- i.Debug.setLogLevel(n);
380
+ (e = window.OneSignalDeferred) == null || e.push((n) => {
381
+ n.Debug.setLogLevel(i);
380
382
  });
381
383
  }
382
384
  const se = {
383
385
  get id() {
384
- var n, e, i;
385
- return (i = (e = (n = window.OneSignal) == null ? void 0 : n.User) == null ? void 0 : e.PushSubscription) == null ? void 0 : i.id;
386
+ var i, e, n;
387
+ return (n = (e = (i = window.OneSignal) == null ? void 0 : i.User) == null ? void 0 : e.PushSubscription) == null ? void 0 : n.id;
386
388
  },
387
389
  get token() {
388
- var n, e, i;
389
- return (i = (e = (n = window.OneSignal) == null ? void 0 : n.User) == null ? void 0 : e.PushSubscription) == null ? void 0 : i.token;
390
+ var i, e, n;
391
+ return (n = (e = (i = window.OneSignal) == null ? void 0 : i.User) == null ? void 0 : e.PushSubscription) == null ? void 0 : n.token;
390
392
  },
391
393
  get optedIn() {
392
- var n, e, i;
393
- return (i = (e = (n = window.OneSignal) == null ? void 0 : n.User) == null ? void 0 : e.PushSubscription) == null ? void 0 : i.optedIn;
394
+ var i, e, n;
395
+ return (n = (e = (i = window.OneSignal) == null ? void 0 : i.User) == null ? void 0 : e.PushSubscription) == null ? void 0 : n.optedIn;
394
396
  },
395
397
  optIn: ne,
396
398
  optOut: ie,
@@ -398,22 +400,22 @@ const se = {
398
400
  removeEventListener: te
399
401
  }, ae = {
400
402
  get onesignalId() {
401
- var n, e;
402
- return (e = (n = window.OneSignal) == null ? void 0 : n.User) == null ? void 0 : e.onesignalId;
403
+ var i, e;
404
+ return (e = (i = window.OneSignal) == null ? void 0 : i.User) == null ? void 0 : e.onesignalId;
403
405
  },
404
406
  get externalId() {
405
- var n, e;
406
- return (e = (n = window.OneSignal) == null ? void 0 : n.User) == null ? void 0 : e.externalId;
407
+ var i, e;
408
+ return (e = (i = window.OneSignal) == null ? void 0 : i.User) == null ? void 0 : e.externalId;
407
409
  },
408
- addAlias: _,
409
- addAliases: K,
410
+ addAlias: K,
411
+ addAliases: _,
410
412
  removeAlias: x,
411
413
  removeAliases: V,
412
414
  addEmail: z,
413
- removeEmail: M,
414
- addSms: F,
415
- removeSms: Y,
416
- addTag: B,
415
+ removeEmail: F,
416
+ addSms: M,
417
+ removeSms: B,
418
+ addTag: Y,
417
419
  addTags: H,
418
420
  removeTag: J,
419
421
  removeTags: Q,
@@ -436,17 +438,17 @@ const se = {
436
438
  promptEmail: A,
437
439
  promptSmsAndEmail: N,
438
440
  addEventListener: b,
439
- removeEventListener: I
441
+ removeEventListener: T
440
442
  }, fe = {
441
443
  get permissionNative() {
442
- var n, e;
443
- return ((e = (n = window.OneSignal) == null ? void 0 : n.Notifications) == null ? void 0 : e.permissionNative) ?? "default";
444
+ var i, e;
445
+ return ((e = (i = window.OneSignal) == null ? void 0 : i.Notifications) == null ? void 0 : e.permissionNative) ?? "default";
444
446
  },
445
447
  get permission() {
446
- var n, e;
447
- return ((e = (n = window.OneSignal) == null ? void 0 : n.Notifications) == null ? void 0 : e.permission) ?? !1;
448
+ var i, e;
449
+ return ((e = (i = window.OneSignal) == null ? void 0 : i.Notifications) == null ? void 0 : e.permission) ?? !1;
448
450
  },
449
- setDefaultUrl: T,
451
+ setDefaultUrl: I,
450
452
  setDefaultTitle: R,
451
453
  isPushSupported: m,
452
454
  requestPermission: C,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../index.ts"],"sourcesContent":["const ONESIGNAL_SDK_ID = 'onesignal-sdk';\nconst ONE_SIGNAL_SCRIPT_SRC =\n 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js';\n\n// true if the script is successfully loaded from CDN.\nlet isOneSignalInitialized = false;\n// true if the script fails to load from CDN. A separate flag is necessary\n// to disambiguate between a CDN load failure and a delayed call to\n// OneSignal#init.\nlet isOneSignalScriptFailed = false;\n\nif (typeof window !== 'undefined') {\n window.OneSignalDeferred = window.OneSignalDeferred || [];\n addSDKScript();\n}\n\ndeclare global {\n interface Window {\n OneSignalDeferred?: OneSignalDeferredLoadedCallback[];\n OneSignal?: IOneSignalOneSignal;\n safari?: {\n pushNotification: any;\n };\n }\n}\n\n/* H E L P E R S */\n\nfunction handleOnError() {\n isOneSignalScriptFailed = true;\n}\n\nfunction addSDKScript() {\n const script = document.createElement('script');\n script.id = ONESIGNAL_SDK_ID;\n script.defer = true;\n script.src = ONE_SIGNAL_SCRIPT_SRC;\n\n // Always resolve whether or not the script is successfully initialized.\n // This is important for users who may block cdn.onesignal.com w/ adblock.\n script.onerror = () => {\n handleOnError();\n };\n\n document.head.appendChild(script);\n}\n\n/**\n * The following code is copied directly from the native SDK source file BrowserSupportsPush.ts\n * S T A R T\n */\n\n// Checks if the browser supports push notifications by checking if specific\n// classes and properties on them exist\nfunction isPushNotificationsSupported() {\n return supportsVapidPush() || supportsSafariPush();\n}\n\nfunction isMacOSSafariInIframe(): boolean {\n // Fallback detection for Safari on macOS in an iframe context\n return (\n window.top !== window && // isContextIframe\n navigator.vendor === 'Apple Computer, Inc.' && // isSafari\n navigator.platform === 'MacIntel'\n ); // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (\n (window.safari && typeof window.safari.pushNotification !== 'undefined') ||\n isMacOSSafariInIframe()\n );\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return (\n typeof PushSubscriptionOptions !== 'undefined' &&\n PushSubscriptionOptions.prototype.hasOwnProperty('applicationServerKey')\n );\n}\n/* E N D */\n\n/**\n * This is a SPECIAL FUNCTION\n * It is a hardcoded implementation copied from the upstream/native WebSDK since we want to return a boolean immediately\n * Natively, this is done via the shimloading mechanism (i.e. if the SDK loads, push is supported)\n * @PublicApi\n */\nconst isPushSupported = (): boolean => {\n return isPushNotificationsSupported();\n};\n\n/**\n * @PublicApi\n */\nconst init = (options: IInitObject): Promise<void> => {\n if (isOneSignalInitialized) {\n return Promise.reject(`OneSignal is already initialized.`);\n }\n\n if (!options || !options.appId) {\n return Promise.reject('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n // Handle both disabled and disable keys for welcome notification\n if (options.welcomeNotification?.disabled !== undefined) {\n options.welcomeNotification.disable = options.welcomeNotification.disabled;\n }\n\n return new Promise<void>((resolve, reject) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options)\n .then(() => {\n isOneSignalInitialized = true;\n resolve();\n })\n .catch(reject);\n });\n });\n};\n\nexport interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\nexport interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\nexport interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\nexport interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\nexport type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\nexport type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\nexport type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\nexport type SlidedownEventName = 'slidedownAllowClick' | 'slidedownCancelClick' | 'slidedownClosed' | 'slidedownQueued' | 'slidedownShown';\nexport type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\nexport interface IOSNotification {\n /**\n * The OneSignal notification id;\n * - Primary id on OneSignal's REST API and dashboard\n */\n readonly notificationId: string;\n\n /**\n * Visible title text on the notification\n */\n readonly title?: string;\n\n /**\n * Visible body text on the notification\n */\n readonly body: string;\n\n /**\n * Visible icon the notification; URL format\n */\n readonly icon?: string;\n\n /**\n * Visible small badgeIcon that displays on some devices; URL format\n * Example: On Android's status bar\n */\n readonly badgeIcon?: string;\n\n /**\n * Visible image on the notification; URL format\n */\n readonly image?: string;\n\n /**\n * Visible buttons on the notification\n */\n readonly actionButtons?: IOSNotificationActionButton[];\n\n /**\n * If this value is the same as existing notification, it will replace it\n * Can be set when creating the notification with \"Web Push Topic\" on the dashboard\n * or web_push_topic from the REST API.\n */\n readonly topic?: string;\n\n /**\n * Custom object that was sent with the notification;\n * definable when creating the notification from the OneSignal REST API or dashboard\n */\n readonly additionalData?: object;\n\n /**\n * URL to open when clicking or tapping on the notification\n */\n readonly launchURL?: string;\n\n /**\n * Confirm the push was received by reporting back to OneSignal\n */\n readonly confirmDelivery: boolean;\n}\n\nexport interface IOSNotificationActionButton {\n /**\n * Any unique identifier to represent which button was clicked. This is typically passed back to the service worker\n * and host page through events to identify which button was clicked.\n * e.g. 'like-button'\n */\n readonly actionId: string;\n /**\n * The notification action button's text.\n */\n readonly text: string;\n /**\n * A valid publicly reachable HTTPS URL to an image.\n */\n readonly icon?: string;\n /**\n * The URL to open the web browser to when this action button is clicked.\n */\n readonly launchURL?: string;\n}\n\nexport interface NotificationClickResult {\n readonly actionId?: string;\n readonly url?: string;\n}\n\nexport type NotificationEventTypeMap = {\n 'click': NotificationClickEvent;\n 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;\n 'dismiss': NotificationDismissEvent;\n 'permissionChange': boolean;\n 'permissionPromptDisplay': void;\n};\n\nexport interface NotificationForegroundWillDisplayEvent {\n readonly notification: IOSNotification;\n preventDefault(): void;\n}\n\nexport interface NotificationDismissEvent {\n notification: IOSNotification;\n}\n\nexport interface NotificationClickEvent {\n readonly notification: IOSNotification;\n readonly result: NotificationClickResult;\n}\n\nexport type UserChangeEvent = {\n current: UserNamespaceProperties;\n};\nexport type UserNamespaceProperties = {\n onesignalId: string | undefined;\n externalId: string | undefined;\n};\n\nexport interface IInitObject {\n appId: string;\n requiresUserPrivacyConsent?: boolean;\n safari_web_id?: string;\n subdomainName?: string;\n promptOptions?: {\n slidedown: {\n prompts: {\n /**\n * Whether to automatically display the prompt.\n * `true` will display the prompt based on the delay options.\n * `false` will prevent the prompt from displaying until the Slidedowns methods are used.\n */\n autoPrompt: boolean;\n\n /**\n * Only available for type: category. Up to 10 categories.\n * @example\n * categories: [{ tag: 'local_news', label: 'Local News' }] // The user will be tagged with local_news but will see \"Local News\" in the prompt.\n */\n categories?: {\n /** Should identify the action. */\n tag: string;\n\n /** What the user will see. */\n label: string;\n }[];\n\n /**\n * The delay options for the prompt.\n * @example delay: { pageViews: 3, timeDelay: 20 } // The user will not be shown the prompt until 20 seconds after the 3rd page view.\n */\n delay: {\n /** The number of pages a user needs to visit before the prompt is displayed. */\n pageViews?: number;\n\n /** The number of seconds a user needs to wait before the prompt is displayed.Both options must be satisfied for the prompt to display */\n timeDelay?: number;\n };\n\n /**\n * The text to display in the prompt.\n */\n text?: {\n /** The callout asking the user to opt-in. Up to 90 characters. */\n actionMessage?: string;\n\n /** Triggers the opt-in. Up to 15 characters. */\n acceptButton?: string;\n\n /** Cancels opt-in. Up to 15 characters. */\n cancelButton?: string;\n\n /** The message of the confirmation prompt displayed after the email and/or phone number is provided. Up to 90 characters. */\n confirmMessage?: string;\n\n /** Identifies the email text field. Up to 15 characters. */\n emailLabel?: string;\n\n /** Cancels the category update. Up to 15 characters. */\n negativeUpdateButton?: string;\n\n /** Saves the updated category tags. Up to 15 characters. */\n positiveUpdateButton?: string;\n\n /** Identifies the phone number text field. Up to 15 characters. */\n smsLabel?: string;\n\n /** A different message shown to subscribers presented the prompt again to update categories. Up to 90 characters. */\n updateMessage?: string;\n };\n\n /**\n * The type of prompt to display.\n * `push` which is the Slide Prompt without categories.\n * `category` which is the Slide Prompt with categories.\n * `sms` only asks for phone number.\n * `email` only asks for email address.\n * `smsAndEmail` asks for both phone number and email address.\n */\n type: 'push' | 'category' | 'sms' | 'email' | 'smsAndEmail';\n }[];\n };\n };\n welcomeNotification?: {\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n * @deprecated Use 'disable' instead. This will be removed in a future version.\n */\n disabled?: boolean;\n\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n */\n disable?: boolean;\n\n /**\n * The welcome notification's message. You can localize this to your own language.\n * If left blank or set to blank, the default of 'Thanks for subscribing!' will be used.\n */\n message: string;\n\n /**\n * The welcome notification's title. You can localize this to your own language. If not set, or left blank, the site's title will be used.\n * Set to one space ' ' to clear the title, although this is not recommended.\n */\n title?: string;\n\n /**\n * By default, clicking the welcome notification does not open any link.\n * This is recommended because the user has just visited your site and subscribed.\n */\n url?: string;\n };\n\n /**\n * Will enable customization of the notify/subscription bell button.\n */\n notifyButton?: {\n /**\n * A function you define that returns true to show the Subscription Bell, or false to hide it.\n * Typically used the hide the Subscription Bell after the user is subscribed.\n * This function is not re-evaluated on every state change; this function is only evaluated once when the Subscription Bell begins to show.\n */\n displayPredicate?: () => boolean | Promise<boolean>;\n\n /**\n * Enable the Subscription Bell. The Subscription Bell is otherwise disabled by default.\n */\n enable?: boolean;\n\n /** Specify CSS-valid pixel offsets using bottom, left, and right. */\n offset?: { bottom: string; left: string; right: string };\n\n /**\n * If `true`, the Subscription Bell will display an icon that there is 1 unread message.\n * When hovering over the Subscription Bell, the user will see custom text set by message.prenotify.\n */\n prenotify: boolean;\n\n /** Either `bottom-left` or `bottom-right`. The Subscription Bell will be fixed at this location on your page. */\n position?: 'bottom-left' | 'bottom-right';\n\n /** Set `false` to hide the 'Powered by OneSignal' text in the Subscription Bell dialog popup. */\n showCredit: boolean;\n\n /**\n * The Subscription Bell will initially appear at one of these sizes, and then shrink down to size `small` after the user subscribes.\n */\n size?: 'small' | 'medium' | 'large';\n\n /** Customize the Subscription Bell text. */\n text: {\n 'dialog.blocked.message': string;\n 'dialog.blocked.title': string;\n 'dialog.main.button.subscribe': string;\n 'dialog.main.button.unsubscribe': string;\n 'dialog.main.title': string;\n 'message.action.resubscribed': string;\n 'message.action.subscribed': string;\n 'message.action.subscribing': string;\n 'message.action.unsubscribed': string;\n 'message.prenotify': string;\n 'tip.state.blocked': string;\n 'tip.state.subscribed': string;\n 'tip.state.unsubscribed': string;\n };\n };\n\n persistNotification?: boolean;\n webhooks?: {\n /**\n * Enable this setting only if your server has CORS enabled and supports non-simple CORS requests.\n * If this setting is disabled, your webhook will not need CORS to receive data, but it will not receive the custom headers.\n * The simplest option is to leave it disabled.\n * @default false\n */\n cors: boolean;\n\n /**\n * This event occurs after a notification is clicked.\n * @example https://site.com/hook\n */\n 'notification.clicked'?: string;\n\n /**\n * This event occurs after a notification is intentionally dismissed by the user (clicking the notification body or one of the notification action buttons does not trigger the dismissed webhook),\n * after a group of notifications are all dismissed (with this notification as part of that group), or after a notification expires on its own time and disappears. This event is supported on Chrome only.\n * @example https://site.com/hook\n */\n 'notification.dismissed'?: string;\n\n /**\n * This event occurs after a notification is displayed.\n * @example https://site.com/hook\n */\n 'notification.willDisplay'?: string;\n };\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: 'exact' | 'origin';\n notificationClickHandlerAction?: 'navigate' | 'focus';\n path?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerOverrideForTypical?: boolean;\n [key: string]: unknown;\n}\n\nexport interface IOneSignalOneSignal {\n\tSlidedown: IOneSignalSlidedown;\n\tNotifications: IOneSignalNotifications;\n\tSession: IOneSignalSession;\n\tUser: IOneSignalUser;\n\tDebug: IOneSignalDebug;\n\tlogin(externalId: string, jwtToken?: string): Promise<void>;\n\tlogout(): Promise<void>;\n\tinit(options: IInitObject): Promise<void>;\n\tsetConsentGiven(consent: boolean): Promise<void>;\n\tsetConsentRequired(requiresConsent: boolean): Promise<void>;\n}\nexport interface IOneSignalNotifications {\n\tpermissionNative: NotificationPermission;\n\tpermission: boolean;\n\tsetDefaultUrl(url: string): Promise<void>;\n\tsetDefaultTitle(title: string): Promise<void>;\n\tisPushSupported(): boolean;\n\trequestPermission(): Promise<boolean>;\n\taddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n\tremoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n}\nexport interface IOneSignalSlidedown {\n\tpromptPush(options?: AutoPromptOptions): Promise<void>;\n\tpromptPushCategories(options?: AutoPromptOptions): Promise<void>;\n\tpromptSms(options?: AutoPromptOptions): Promise<void>;\n\tpromptEmail(options?: AutoPromptOptions): Promise<void>;\n\tpromptSmsAndEmail(options?: AutoPromptOptions): Promise<void>;\n\taddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n\tremoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n}\nexport interface IOneSignalDebug {\n\tsetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void;\n}\nexport interface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\nexport interface IOneSignalUser {\n\tonesignalId: string | undefined;\n\texternalId: string | undefined;\n\tPushSubscription: IOneSignalPushSubscription;\n\taddAlias(label: string, id: string): void;\n\taddAliases(aliases: { [key: string]: string }): void;\n\tremoveAlias(label: string): void;\n\tremoveAliases(labels: string[]): void;\n\taddEmail(email: string): void;\n\tremoveEmail(email: string): void;\n\taddSms(smsNumber: string): void;\n\tremoveSms(smsNumber: string): void;\n\taddTag(key: string, value: string): void;\n\taddTags(tags: { [key: string]: string }): void;\n\tremoveTag(key: string): void;\n\tremoveTags(keys: string[]): void;\n\tgetTags(): { [key: string]: string };\n\taddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tsetLanguage(language: string): void;\n\tgetLanguage(): string;\n\ttrackEvent(name: string, properties?: Record<string, unknown>): void;\n}\nexport interface IOneSignalPushSubscription {\n\tid: string | null | undefined;\n\ttoken: string | null | undefined;\n\toptedIn: boolean | undefined;\n\toptIn(): Promise<void>;\n\toptOut(): Promise<void>;\n\taddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n}\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.logout()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener);\n });\n \n}\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.removeEventListener(event, listener);\n });\n \n}\nfunction notificationsSetDefaultUrl(url: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsRequestPermission(): Promise<boolean> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then(result => resolve(result))\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener);\n });\n \n}\nfunction notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.removeEventListener(event, listener);\n });\n \n}\nfunction sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction userAddAlias(label: string, id: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAlias(label, id);\n });\n \n}\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAliases(aliases);\n });\n \n}\nfunction userRemoveAlias(label: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAlias(label);\n });\n \n}\nfunction userRemoveAliases(labels: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAliases(labels);\n });\n \n}\nfunction userAddEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEmail(email);\n });\n \n}\nfunction userRemoveEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEmail(email);\n });\n \n}\nfunction userAddSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addSms(smsNumber);\n });\n \n}\nfunction userRemoveSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeSms(smsNumber);\n });\n \n}\nfunction userAddTag(key: string, value: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTag(key, value);\n });\n \n}\nfunction userAddTags(tags: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTags(tags);\n });\n \n}\nfunction userRemoveTag(key: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTag(key);\n });\n \n}\nfunction userRemoveTags(keys: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTags(keys);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetTags(): { [key: string]: string } {\n let retVal: { [key: string]: string };\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getTags();\n });\n return retVal;\n}\nfunction userAddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEventListener(event, listener);\n });\n \n}\nfunction userRemoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEventListener(event, listener);\n });\n \n}\nfunction userSetLanguage(language: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.setLanguage(language);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetLanguage(): string {\n let retVal: string;\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getLanguage();\n });\n return retVal;\n}\nfunction userTrackEvent(name: string, properties?: Record<string, unknown>): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.trackEvent(name, properties);\n });\n \n}\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener);\n });\n \n}\nfunction pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener);\n });\n \n}\nfunction debugSetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel);\n });\n \n}\nconst PushSubscriptionNamespace: IOneSignalPushSubscription = {\n\tget id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id; },\n\tget token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token; },\n\tget optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn; },\n\toptIn: pushSubscriptionOptIn,\n\toptOut: pushSubscriptionOptOut,\n\taddEventListener: pushSubscriptionAddEventListener,\n\tremoveEventListener: pushSubscriptionRemoveEventListener,\n};\n\nconst UserNamespace: IOneSignalUser = {\n\tget onesignalId(): string | undefined { return window.OneSignal?.User?.onesignalId; },\n\tget externalId(): string | undefined { return window.OneSignal?.User?.externalId; },\n\taddAlias: userAddAlias,\n\taddAliases: userAddAliases,\n\tremoveAlias: userRemoveAlias,\n\tremoveAliases: userRemoveAliases,\n\taddEmail: userAddEmail,\n\tremoveEmail: userRemoveEmail,\n\taddSms: userAddSms,\n\tremoveSms: userRemoveSms,\n\taddTag: userAddTag,\n\taddTags: userAddTags,\n\tremoveTag: userRemoveTag,\n\tremoveTags: userRemoveTags,\n\tgetTags: userGetTags,\n\taddEventListener: userAddEventListener,\n\tremoveEventListener: userRemoveEventListener,\n\tsetLanguage: userSetLanguage,\n\tgetLanguage: userGetLanguage,\n\ttrackEvent: userTrackEvent,\n\tPushSubscription: PushSubscriptionNamespace,\n};\n\nconst SessionNamespace: IOneSignalSession = {\n\tsendOutcome: sessionSendOutcome,\n\tsendUniqueOutcome: sessionSendUniqueOutcome,\n};\n\nconst DebugNamespace: IOneSignalDebug = {\n\tsetLogLevel: debugSetLogLevel,\n};\n\nconst SlidedownNamespace: IOneSignalSlidedown = {\n\tpromptPush: slidedownPromptPush,\n\tpromptPushCategories: slidedownPromptPushCategories,\n\tpromptSms: slidedownPromptSms,\n\tpromptEmail: slidedownPromptEmail,\n\tpromptSmsAndEmail: slidedownPromptSmsAndEmail,\n\taddEventListener: slidedownAddEventListener,\n\tremoveEventListener: slidedownRemoveEventListener,\n};\n\nconst NotificationsNamespace: IOneSignalNotifications = {\n\tget permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },\n\tget permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },\n\tsetDefaultUrl: notificationsSetDefaultUrl,\n\tsetDefaultTitle: notificationsSetDefaultTitle,\n\tisPushSupported,\n\trequestPermission: notificationsRequestPermission,\n\taddEventListener: notificationsAddEventListener,\n\tremoveEventListener: notificationsRemoveEventListener,\n};\n\nconst OneSignalNamespace: IOneSignalOneSignal = {\n\tlogin: oneSignalLogin,\n\tlogout: oneSignalLogout,\n\tinit,\n\tsetConsentGiven: oneSignalSetConsentGiven,\n\tsetConsentRequired: oneSignalSetConsentRequired,\n\tSlidedown: SlidedownNamespace,\n\tNotifications: NotificationsNamespace,\n\tSession: SessionNamespace,\n\tUser: UserNamespace,\n\tDebug: DebugNamespace,\n};\n\nconst OneSignal = OneSignalNamespace;\nexport default OneSignal;\n"],"names":["ONESIGNAL_SDK_ID","ONE_SIGNAL_SCRIPT_SRC","isOneSignalInitialized","isOneSignalScriptFailed","addSDKScript","handleOnError","script","isPushNotificationsSupported","supportsVapidPush","supportsSafariPush","isMacOSSafariInIframe","isPushSupported","init","options","_a","resolve","reject","OneSignal","oneSignalLogin","externalId","jwtToken","error","oneSignalLogout","oneSignalSetConsentGiven","consent","oneSignalSetConsentRequired","requiresConsent","slidedownPromptPush","slidedownPromptPushCategories","slidedownPromptSms","slidedownPromptEmail","slidedownPromptSmsAndEmail","slidedownAddEventListener","event","listener","slidedownRemoveEventListener","notificationsSetDefaultUrl","url","notificationsSetDefaultTitle","title","notificationsRequestPermission","result","notificationsAddEventListener","notificationsRemoveEventListener","sessionSendOutcome","outcomeName","outcomeWeight","sessionSendUniqueOutcome","userAddAlias","label","id","userAddAliases","aliases","userRemoveAlias","userRemoveAliases","labels","userAddEmail","email","userRemoveEmail","userAddSms","smsNumber","userRemoveSms","userAddTag","key","value","userAddTags","tags","userRemoveTag","userRemoveTags","keys","userGetTags","retVal","userAddEventListener","userRemoveEventListener","userSetLanguage","language","userGetLanguage","userTrackEvent","name","properties","pushSubscriptionOptIn","pushSubscriptionOptOut","pushSubscriptionAddEventListener","pushSubscriptionRemoveEventListener","debugSetLogLevel","logLevel","PushSubscriptionNamespace","_b","_c","UserNamespace","SessionNamespace","DebugNamespace","SlidedownNamespace","NotificationsNamespace","OneSignalNamespace"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../index.ts"],"sourcesContent":["const ONESIGNAL_SDK_ID = 'onesignal-sdk';\nconst DEFAULT_SCRIPT_SRC =\n 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js';\n\nlet isOneSignalInitialized = false;\nlet isOneSignalScriptFailed = false;\n\nif (typeof window !== 'undefined') {\n window.OneSignalDeferred = window.OneSignalDeferred || [];\n}\n\ndeclare global {\n interface Window {\n OneSignalDeferred?: OneSignalDeferredLoadedCallback[];\n OneSignal?: IOneSignalOneSignal;\n safari?: {\n pushNotification: any;\n };\n }\n}\n\n/* H E L P E R S */\n\nfunction handleOnError() {\n isOneSignalScriptFailed = true;\n}\n\nfunction addSDKScript(scriptSrc?: string) {\n if (document.getElementById(ONESIGNAL_SDK_ID)) {\n return;\n }\n\n const script = document.createElement('script');\n script.id = ONESIGNAL_SDK_ID;\n script.defer = true;\n script.src = scriptSrc || DEFAULT_SCRIPT_SRC;\n\n // Always resolve whether or not the script is successfully initialized.\n // This is important for users who may block cdn.onesignal.com w/ adblock.\n script.onerror = () => {\n handleOnError();\n };\n\n document.head.appendChild(script);\n}\n\n/**\n * The following code is copied directly from the native SDK source file BrowserSupportsPush.ts\n * S T A R T\n */\n\n// Checks if the browser supports push notifications by checking if specific\n// classes and properties on them exist\nfunction isPushNotificationsSupported() {\n return supportsVapidPush() || supportsSafariPush();\n}\n\nfunction isMacOSSafariInIframe(): boolean {\n // Fallback detection for Safari on macOS in an iframe context\n return (\n window.top !== window && // isContextIframe\n navigator.vendor === 'Apple Computer, Inc.' && // isSafari\n navigator.platform === 'MacIntel'\n ); // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (\n (window.safari && typeof window.safari.pushNotification !== 'undefined') ||\n isMacOSSafariInIframe()\n );\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return (\n typeof PushSubscriptionOptions !== 'undefined' &&\n PushSubscriptionOptions.prototype.hasOwnProperty('applicationServerKey')\n );\n}\n/* E N D */\n\n/**\n * This is a SPECIAL FUNCTION\n * It is a hardcoded implementation copied from the upstream/native WebSDK since we want to return a boolean immediately\n * Natively, this is done via the shimloading mechanism (i.e. if the SDK loads, push is supported)\n * @PublicApi\n */\nconst isPushSupported = (): boolean => {\n return isPushNotificationsSupported();\n};\n\n/**\n * @PublicApi\n */\nconst init = (options: IInitObject): Promise<void> => {\n if (isOneSignalInitialized) {\n return Promise.reject(`OneSignal is already initialized.`);\n }\n\n if (!options || !options.appId) {\n return Promise.reject('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n // Handle both disabled and disable keys for welcome notification\n if (options.welcomeNotification?.disabled !== undefined) {\n options.welcomeNotification.disable = options.welcomeNotification.disabled;\n }\n\n addSDKScript(options.scriptSrc);\n\n return new Promise<void>((resolve, reject) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options)\n .then(() => {\n isOneSignalInitialized = true;\n resolve();\n })\n .catch(reject);\n });\n });\n};\n\nexport interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\nexport interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\nexport interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\nexport interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\nexport type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\nexport type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\nexport type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\nexport type SlidedownEventName = 'slidedownAllowClick' | 'slidedownCancelClick' | 'slidedownClosed' | 'slidedownQueued' | 'slidedownShown';\nexport type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\nexport interface IOSNotification {\n /**\n * The OneSignal notification id;\n * - Primary id on OneSignal's REST API and dashboard\n */\n readonly notificationId: string;\n\n /**\n * Visible title text on the notification\n */\n readonly title?: string;\n\n /**\n * Visible body text on the notification\n */\n readonly body: string;\n\n /**\n * Visible icon the notification; URL format\n */\n readonly icon?: string;\n\n /**\n * Visible small badgeIcon that displays on some devices; URL format\n * Example: On Android's status bar\n */\n readonly badgeIcon?: string;\n\n /**\n * Visible image on the notification; URL format\n */\n readonly image?: string;\n\n /**\n * Visible buttons on the notification\n */\n readonly actionButtons?: IOSNotificationActionButton[];\n\n /**\n * If this value is the same as existing notification, it will replace it\n * Can be set when creating the notification with \"Web Push Topic\" on the dashboard\n * or web_push_topic from the REST API.\n */\n readonly topic?: string;\n\n /**\n * Custom object that was sent with the notification;\n * definable when creating the notification from the OneSignal REST API or dashboard\n */\n readonly additionalData?: object;\n\n /**\n * URL to open when clicking or tapping on the notification\n */\n readonly launchURL?: string;\n\n /**\n * Confirm the push was received by reporting back to OneSignal\n */\n readonly confirmDelivery: boolean;\n}\n\nexport interface IOSNotificationActionButton {\n /**\n * Any unique identifier to represent which button was clicked. This is typically passed back to the service worker\n * and host page through events to identify which button was clicked.\n * e.g. 'like-button'\n */\n readonly actionId: string;\n /**\n * The notification action button's text.\n */\n readonly text: string;\n /**\n * A valid publicly reachable HTTPS URL to an image.\n */\n readonly icon?: string;\n /**\n * The URL to open the web browser to when this action button is clicked.\n */\n readonly launchURL?: string;\n}\n\nexport interface NotificationClickResult {\n readonly actionId?: string;\n readonly url?: string;\n}\n\nexport type NotificationEventTypeMap = {\n 'click': NotificationClickEvent;\n 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;\n 'dismiss': NotificationDismissEvent;\n 'permissionChange': boolean;\n 'permissionPromptDisplay': void;\n};\n\nexport interface NotificationForegroundWillDisplayEvent {\n readonly notification: IOSNotification;\n preventDefault(): void;\n}\n\nexport interface NotificationDismissEvent {\n notification: IOSNotification;\n}\n\nexport interface NotificationClickEvent {\n readonly notification: IOSNotification;\n readonly result: NotificationClickResult;\n}\n\nexport type UserChangeEvent = {\n current: UserNamespaceProperties;\n};\nexport type UserNamespaceProperties = {\n onesignalId: string | undefined;\n externalId: string | undefined;\n};\n\nexport interface IInitObject {\n appId: string;\n requiresUserPrivacyConsent?: boolean;\n safari_web_id?: string;\n subdomainName?: string;\n promptOptions?: {\n slidedown: {\n prompts: {\n /**\n * Whether to automatically display the prompt.\n * `true` will display the prompt based on the delay options.\n * `false` will prevent the prompt from displaying until the Slidedowns methods are used.\n */\n autoPrompt: boolean;\n\n /**\n * Only available for type: category. Up to 10 categories.\n * @example\n * categories: [{ tag: 'local_news', label: 'Local News' }] // The user will be tagged with local_news but will see \"Local News\" in the prompt.\n */\n categories?: {\n /** Should identify the action. */\n tag: string;\n\n /** What the user will see. */\n label: string;\n }[];\n\n /**\n * The delay options for the prompt.\n * @example delay: { pageViews: 3, timeDelay: 20 } // The user will not be shown the prompt until 20 seconds after the 3rd page view.\n */\n delay: {\n /** The number of pages a user needs to visit before the prompt is displayed. */\n pageViews?: number;\n\n /** The number of seconds a user needs to wait before the prompt is displayed.Both options must be satisfied for the prompt to display */\n timeDelay?: number;\n };\n\n /**\n * The text to display in the prompt.\n */\n text?: {\n /** The callout asking the user to opt-in. Up to 90 characters. */\n actionMessage?: string;\n\n /** Triggers the opt-in. Up to 15 characters. */\n acceptButton?: string;\n\n /** Cancels opt-in. Up to 15 characters. */\n cancelButton?: string;\n\n /** The message of the confirmation prompt displayed after the email and/or phone number is provided. Up to 90 characters. */\n confirmMessage?: string;\n\n /** Identifies the email text field. Up to 15 characters. */\n emailLabel?: string;\n\n /** Cancels the category update. Up to 15 characters. */\n negativeUpdateButton?: string;\n\n /** Saves the updated category tags. Up to 15 characters. */\n positiveUpdateButton?: string;\n\n /** Identifies the phone number text field. Up to 15 characters. */\n smsLabel?: string;\n\n /** A different message shown to subscribers presented the prompt again to update categories. Up to 90 characters. */\n updateMessage?: string;\n };\n\n /**\n * The type of prompt to display.\n * `push` which is the Slide Prompt without categories.\n * `category` which is the Slide Prompt with categories.\n * `sms` only asks for phone number.\n * `email` only asks for email address.\n * `smsAndEmail` asks for both phone number and email address.\n */\n type: 'push' | 'category' | 'sms' | 'email' | 'smsAndEmail';\n }[];\n };\n };\n welcomeNotification?: {\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n * @deprecated Use 'disable' instead. This will be removed in a future version.\n */\n disabled?: boolean;\n\n /**\n * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.\n */\n disable?: boolean;\n\n /**\n * The welcome notification's message. You can localize this to your own language.\n * If left blank or set to blank, the default of 'Thanks for subscribing!' will be used.\n */\n message: string;\n\n /**\n * The welcome notification's title. You can localize this to your own language. If not set, or left blank, the site's title will be used.\n * Set to one space ' ' to clear the title, although this is not recommended.\n */\n title?: string;\n\n /**\n * By default, clicking the welcome notification does not open any link.\n * This is recommended because the user has just visited your site and subscribed.\n */\n url?: string;\n };\n\n /**\n * Will enable customization of the notify/subscription bell button.\n */\n notifyButton?: {\n /**\n * A function you define that returns true to show the Subscription Bell, or false to hide it.\n * Typically used the hide the Subscription Bell after the user is subscribed.\n * This function is not re-evaluated on every state change; this function is only evaluated once when the Subscription Bell begins to show.\n */\n displayPredicate?: () => boolean | Promise<boolean>;\n\n /**\n * Enable the Subscription Bell. The Subscription Bell is otherwise disabled by default.\n */\n enable?: boolean;\n\n /** Specify CSS-valid pixel offsets using bottom, left, and right. */\n offset?: { bottom: string; left: string; right: string };\n\n /**\n * If `true`, the Subscription Bell will display an icon that there is 1 unread message.\n * When hovering over the Subscription Bell, the user will see custom text set by message.prenotify.\n */\n prenotify: boolean;\n\n /** Either `bottom-left` or `bottom-right`. The Subscription Bell will be fixed at this location on your page. */\n position?: 'bottom-left' | 'bottom-right';\n\n /** Set `false` to hide the 'Powered by OneSignal' text in the Subscription Bell dialog popup. */\n showCredit: boolean;\n\n /**\n * The Subscription Bell will initially appear at one of these sizes, and then shrink down to size `small` after the user subscribes.\n */\n size?: 'small' | 'medium' | 'large';\n\n /** Customize the Subscription Bell text. */\n text: {\n 'dialog.blocked.message': string;\n 'dialog.blocked.title': string;\n 'dialog.main.button.subscribe': string;\n 'dialog.main.button.unsubscribe': string;\n 'dialog.main.title': string;\n 'message.action.resubscribed': string;\n 'message.action.subscribed': string;\n 'message.action.subscribing': string;\n 'message.action.unsubscribed': string;\n 'message.prenotify': string;\n 'tip.state.blocked': string;\n 'tip.state.subscribed': string;\n 'tip.state.unsubscribed': string;\n };\n };\n\n persistNotification?: boolean;\n webhooks?: {\n /**\n * Enable this setting only if your server has CORS enabled and supports non-simple CORS requests.\n * If this setting is disabled, your webhook will not need CORS to receive data, but it will not receive the custom headers.\n * The simplest option is to leave it disabled.\n * @default false\n */\n cors: boolean;\n\n /**\n * This event occurs after a notification is clicked.\n * @example https://site.com/hook\n */\n 'notification.clicked'?: string;\n\n /**\n * This event occurs after a notification is intentionally dismissed by the user (clicking the notification body or one of the notification action buttons does not trigger the dismissed webhook),\n * after a group of notifications are all dismissed (with this notification as part of that group), or after a notification expires on its own time and disappears. This event is supported on Chrome only.\n * @example https://site.com/hook\n */\n 'notification.dismissed'?: string;\n\n /**\n * This event occurs after a notification is displayed.\n * @example https://site.com/hook\n */\n 'notification.willDisplay'?: string;\n };\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: 'exact' | 'origin';\n notificationClickHandlerAction?: 'navigate' | 'focus';\n path?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerOverrideForTypical?: boolean;\n /**\n * Overrides the default OneSignal SDK script URL.\n * Use this to self-host the SDK script on your own domain, e.g. to comply\n * with strict Cross-Origin-Embedder-Policy (COEP) or Content-Security-Policy (CSP) headers.\n * @default 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js'\n */\n scriptSrc?: string;\n [key: string]: unknown;\n}\n\nexport interface IOneSignalOneSignal {\n\tSlidedown: IOneSignalSlidedown;\n\tNotifications: IOneSignalNotifications;\n\tSession: IOneSignalSession;\n\tUser: IOneSignalUser;\n\tDebug: IOneSignalDebug;\n\tlogin(externalId: string, jwtToken?: string): Promise<void>;\n\tlogout(): Promise<void>;\n\tinit(options: IInitObject): Promise<void>;\n\tsetConsentGiven(consent: boolean): Promise<void>;\n\tsetConsentRequired(requiresConsent: boolean): Promise<void>;\n}\nexport interface IOneSignalNotifications {\n\tpermissionNative: NotificationPermission;\n\tpermission: boolean;\n\tsetDefaultUrl(url: string): Promise<void>;\n\tsetDefaultTitle(title: string): Promise<void>;\n\tisPushSupported(): boolean;\n\trequestPermission(): Promise<boolean>;\n\taddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n\tremoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;\n}\nexport interface IOneSignalSlidedown {\n\tpromptPush(options?: AutoPromptOptions): Promise<void>;\n\tpromptPushCategories(options?: AutoPromptOptions): Promise<void>;\n\tpromptSms(options?: AutoPromptOptions): Promise<void>;\n\tpromptEmail(options?: AutoPromptOptions): Promise<void>;\n\tpromptSmsAndEmail(options?: AutoPromptOptions): Promise<void>;\n\taddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n\tremoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;\n}\nexport interface IOneSignalDebug {\n\tsetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void;\n}\nexport interface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\nexport interface IOneSignalUser {\n\tonesignalId: string | undefined;\n\texternalId: string | undefined;\n\tPushSubscription: IOneSignalPushSubscription;\n\taddAlias(label: string, id: string): void;\n\taddAliases(aliases: { [key: string]: string }): void;\n\tremoveAlias(label: string): void;\n\tremoveAliases(labels: string[]): void;\n\taddEmail(email: string): void;\n\tremoveEmail(email: string): void;\n\taddSms(smsNumber: string): void;\n\tremoveSms(smsNumber: string): void;\n\taddTag(key: string, value: string): void;\n\taddTags(tags: { [key: string]: string }): void;\n\tremoveTag(key: string): void;\n\tremoveTags(keys: string[]): void;\n\tgetTags(): { [key: string]: string };\n\taddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;\n\tsetLanguage(language: string): void;\n\tgetLanguage(): string;\n\ttrackEvent(name: string, properties?: Record<string, unknown>): void;\n}\nexport interface IOneSignalPushSubscription {\n\tid: string | null | undefined;\n\ttoken: string | null | undefined;\n\toptedIn: boolean | undefined;\n\toptIn(): Promise<void>;\n\toptOut(): Promise<void>;\n\taddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n\tremoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;\n}\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.logout()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener);\n });\n \n}\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Slidedown.removeEventListener(event, listener);\n });\n \n}\nfunction notificationsSetDefaultUrl(url: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsRequestPermission(): Promise<boolean> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then(result => resolve(result))\n .catch(error => reject(error));\n });\n });\n}\nfunction notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener);\n });\n \n}\nfunction notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Notifications.removeEventListener(event, listener);\n });\n \n}\nfunction sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction userAddAlias(label: string, id: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAlias(label, id);\n });\n \n}\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addAliases(aliases);\n });\n \n}\nfunction userRemoveAlias(label: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAlias(label);\n });\n \n}\nfunction userRemoveAliases(labels: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeAliases(labels);\n });\n \n}\nfunction userAddEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEmail(email);\n });\n \n}\nfunction userRemoveEmail(email: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEmail(email);\n });\n \n}\nfunction userAddSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addSms(smsNumber);\n });\n \n}\nfunction userRemoveSms(smsNumber: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeSms(smsNumber);\n });\n \n}\nfunction userAddTag(key: string, value: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTag(key, value);\n });\n \n}\nfunction userAddTags(tags: { [key: string]: string }): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addTags(tags);\n });\n \n}\nfunction userRemoveTag(key: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTag(key);\n });\n \n}\nfunction userRemoveTags(keys: string[]): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeTags(keys);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetTags(): { [key: string]: string } {\n let retVal: { [key: string]: string };\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getTags();\n });\n return retVal;\n}\nfunction userAddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.addEventListener(event, listener);\n });\n \n}\nfunction userRemoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.removeEventListener(event, listener);\n });\n \n}\nfunction userSetLanguage(language: string): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.setLanguage(language);\n });\n \n}\n// @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred\nasync function userGetLanguage(): string {\n let retVal: string;\n await window.OneSignalDeferred?.push((OneSignal) => {\n retVal = OneSignal.User.getLanguage();\n });\n return retVal;\n}\nfunction userTrackEvent(name: string, properties?: Record<string, unknown>): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.trackEvent(name, properties);\n });\n \n}\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject(new Error('OneSignal script failed to load.'));\n return;\n }\n\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then(() => resolve())\n .catch(error => reject(error));\n });\n });\n}\nfunction pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener);\n });\n \n}\nfunction pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener);\n });\n \n}\nfunction debugSetLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void {\n \n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel);\n });\n \n}\nconst PushSubscriptionNamespace: IOneSignalPushSubscription = {\n\tget id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id; },\n\tget token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token; },\n\tget optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn; },\n\toptIn: pushSubscriptionOptIn,\n\toptOut: pushSubscriptionOptOut,\n\taddEventListener: pushSubscriptionAddEventListener,\n\tremoveEventListener: pushSubscriptionRemoveEventListener,\n};\n\nconst UserNamespace: IOneSignalUser = {\n\tget onesignalId(): string | undefined { return window.OneSignal?.User?.onesignalId; },\n\tget externalId(): string | undefined { return window.OneSignal?.User?.externalId; },\n\taddAlias: userAddAlias,\n\taddAliases: userAddAliases,\n\tremoveAlias: userRemoveAlias,\n\tremoveAliases: userRemoveAliases,\n\taddEmail: userAddEmail,\n\tremoveEmail: userRemoveEmail,\n\taddSms: userAddSms,\n\tremoveSms: userRemoveSms,\n\taddTag: userAddTag,\n\taddTags: userAddTags,\n\tremoveTag: userRemoveTag,\n\tremoveTags: userRemoveTags,\n\tgetTags: userGetTags,\n\taddEventListener: userAddEventListener,\n\tremoveEventListener: userRemoveEventListener,\n\tsetLanguage: userSetLanguage,\n\tgetLanguage: userGetLanguage,\n\ttrackEvent: userTrackEvent,\n\tPushSubscription: PushSubscriptionNamespace,\n};\n\nconst SessionNamespace: IOneSignalSession = {\n\tsendOutcome: sessionSendOutcome,\n\tsendUniqueOutcome: sessionSendUniqueOutcome,\n};\n\nconst DebugNamespace: IOneSignalDebug = {\n\tsetLogLevel: debugSetLogLevel,\n};\n\nconst SlidedownNamespace: IOneSignalSlidedown = {\n\tpromptPush: slidedownPromptPush,\n\tpromptPushCategories: slidedownPromptPushCategories,\n\tpromptSms: slidedownPromptSms,\n\tpromptEmail: slidedownPromptEmail,\n\tpromptSmsAndEmail: slidedownPromptSmsAndEmail,\n\taddEventListener: slidedownAddEventListener,\n\tremoveEventListener: slidedownRemoveEventListener,\n};\n\nconst NotificationsNamespace: IOneSignalNotifications = {\n\tget permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },\n\tget permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },\n\tsetDefaultUrl: notificationsSetDefaultUrl,\n\tsetDefaultTitle: notificationsSetDefaultTitle,\n\tisPushSupported,\n\trequestPermission: notificationsRequestPermission,\n\taddEventListener: notificationsAddEventListener,\n\tremoveEventListener: notificationsRemoveEventListener,\n};\n\nconst OneSignalNamespace: IOneSignalOneSignal = {\n\tlogin: oneSignalLogin,\n\tlogout: oneSignalLogout,\n\tinit,\n\tsetConsentGiven: oneSignalSetConsentGiven,\n\tsetConsentRequired: oneSignalSetConsentRequired,\n\tSlidedown: SlidedownNamespace,\n\tNotifications: NotificationsNamespace,\n\tSession: SessionNamespace,\n\tUser: UserNamespace,\n\tDebug: DebugNamespace,\n};\n\nconst OneSignal = OneSignalNamespace;\nexport default OneSignal;\n"],"names":["ONESIGNAL_SDK_ID","DEFAULT_SCRIPT_SRC","isOneSignalInitialized","isOneSignalScriptFailed","handleOnError","addSDKScript","scriptSrc","script","isPushNotificationsSupported","supportsVapidPush","supportsSafariPush","isMacOSSafariInIframe","isPushSupported","init","options","_a","resolve","reject","OneSignal","oneSignalLogin","externalId","jwtToken","error","oneSignalLogout","oneSignalSetConsentGiven","consent","oneSignalSetConsentRequired","requiresConsent","slidedownPromptPush","slidedownPromptPushCategories","slidedownPromptSms","slidedownPromptEmail","slidedownPromptSmsAndEmail","slidedownAddEventListener","event","listener","slidedownRemoveEventListener","notificationsSetDefaultUrl","url","notificationsSetDefaultTitle","title","notificationsRequestPermission","result","notificationsAddEventListener","notificationsRemoveEventListener","sessionSendOutcome","outcomeName","outcomeWeight","sessionSendUniqueOutcome","userAddAlias","label","id","userAddAliases","aliases","userRemoveAlias","userRemoveAliases","labels","userAddEmail","email","userRemoveEmail","userAddSms","smsNumber","userRemoveSms","userAddTag","key","value","userAddTags","tags","userRemoveTag","userRemoveTags","keys","userGetTags","retVal","userAddEventListener","userRemoveEventListener","userSetLanguage","language","userGetLanguage","userTrackEvent","name","properties","pushSubscriptionOptIn","pushSubscriptionOptOut","pushSubscriptionAddEventListener","pushSubscriptionRemoveEventListener","debugSetLogLevel","logLevel","PushSubscriptionNamespace","_b","_c","UserNamespace","SessionNamespace","DebugNamespace","SlidedownNamespace","NotificationsNamespace","OneSignalNamespace"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-onesignal",
3
- "version": "3.4.6",
3
+ "version": "3.5.0",
4
4
  "description": "React OneSignal Module: Make it easy to integrate OneSignal with your React App!",
5
5
  "contributors": [
6
6
  {