react-onesignal 3.0.0-beta.3 → 3.0.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/MigrationGuide.md CHANGED
@@ -111,15 +111,17 @@ Example:
111
111
  await OneSignal.Notifications.requestPermission();
112
112
  ```
113
113
 
114
- | Sync/Async | Function Name | Description | Argument List |
115
- | ---------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
116
- | `async` | `setDefaultUrl` | Sets the default URL for notifications. | `url` (string) |
117
- | `async` | `setDefaultTitle` | Sets the default title for notifications. | `title` (string) |
118
- | `sync` | `isPushSupported` | Returns true if the current browser supports web push. | |
119
- | `async` | `getPermissionStatus` | Returns the browser's current notification permission. | `onComplete` (Action<NotificationPermission>) |
120
- | `async` | `requestPermission` | Requests push notifications permission via the native browser prompt. | |
121
- | `sync` | `addEventListener` | Adds an event listener for the following events:<br><br>- `click`<br>- `willDisplay`<br>- `dismiss`<br>- `permissionPromptDisplay`<br>- `permissionChange`*<br> * argument type: bool | - `<event>` (string)<br>- `(arg: <type>) => {}` (callback) |
122
- | `sync` | `removeEventListener` | Removes the event listener. | `() => {}` (the event listener you want to remove) |
114
+
115
+ | Sync/Async | Property/Function | Description | Argument List |
116
+ | ---------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
117
+ | `async` | `setDefaultUrl()` | Sets the default URL for notifications. | `url` (string) |
118
+ | `async` | `setDefaultTitle()` | Sets the default title for notifications. | `title` (string) |
119
+ | `sync` | `isPushSupported()` | Returns true if the current browser supports web push. | |
120
+ | `async` | `requestPermission()` | Requests push notifications permission via the native browser prompt. | |
121
+ | | `permission` | Returns true if your site has permission to display notifications. | |
122
+ | | `permissionNative` | Returns browser's native notification permission status; `"default"`(end-user has not accept or decided yet), `"granted"`, or `"denied"`. | |
123
+ | `sync` | `addEventListener()` | Adds an event listener for the following events:<br><br>- `click`<br>- `foregroundWillDisplay`<br>- `dismiss`<br>- `permissionPromptDisplay`<br>- `permissionChange`*<br> * argument type: bool | - `<event>` (string)<br>- `(arg: <type>) => {}` (callback) |
124
+ | `sync` | `removeEventListener()` | Removes the event listener. | `() => {}` (the event listener you want to remove) |
123
125
 
124
126
 
125
127
 
@@ -156,8 +158,8 @@ OneSignal.User.PushSubscription.optIn();
156
158
  | | `optedIn` | Gets a boolean value indicating whether the current user is subscribed to push notifications. | |
157
159
  | `async` | `optIn()` | Subscribes the current user to push notifications. | |
158
160
  | `async` | `optOut()` | Unsubscribes the current user from push notifications. | |
159
- | `sync` | `addEventListener()` | Adds an event listener for the `subscriptionChange` event. | - `event` ("subscriptionChange")<br>- `listener` ((change: SubscriptionChangeEvent) => void) |
160
- | `sync` | `removeEventListener()` | Removes an event listener for the `subscriptionChange` event. | - `event` ("subscriptionChange")<br>- `listener` ((change: SubscriptionChangeEvent) => void) |
161
+ | `sync` | `addEventListener()` | Adds an event listener for the `change` event. | - `event` ("change")<br>- `listener` ((change: SubscriptionChangeEvent) => void) |
162
+ | `sync` | `removeEventListener()` | Removes an event listener for the `change` event. | - `event` ("change")<br>- `listener` ((change: SubscriptionChangeEvent) => void) |
161
163
 
162
164
  ### Debug Namespace
163
165
 
@@ -171,18 +173,9 @@ OneSignal.Debug.setLogLevel(“trace”);
171
173
  | `setLogLevel` | Turns on logging with the given log level. | `setLogLevel: string`<br>- `"trace"`<br>- `"debug"`<br>- `"info"`<br>- `"warn"`<br>- `"error"` |
172
174
 
173
175
  # Limitations
174
-
175
- ## January 2023
176
- ### Version 16 (alpha)
177
- It is recommended this version is used **only** in development and staging envrionments.
178
- * Switching between users via `login()` and `logout()` is unsafe. **Please stick to single user testing.**
179
- * Any User namespace calls must be invoked **after** initialization (async). Example: `OneSignal.User.addTag("tag", "2");`
180
- * Aliases will be available in a future release,
181
- * HTTP environments are not supported.
176
+ * HTTP environments are no longer supported.
182
177
  * AMP environments are not supported.
183
- * Identity verification is not functional.
184
- * Outcomes are not functional.
185
-
178
+ * Identity verification not available yet, coming soon.
186
179
 
187
180
  # Glossary
188
181
 
@@ -331,4 +324,4 @@ It is recommended this version is used **only** in development and staging envri
331
324
  Consider the above changes when migrating to version 2 and make sure to thoroughly test your application.
332
325
 
333
326
  Enjoy!
334
- </details>
327
+ </details>
package/README.md CHANGED
@@ -1,21 +1,30 @@
1
- <p align="center">
2
- <img src="https://media.onesignal.com/cms/Website%20Layout/logo-red.svg"/>
3
- <br/>
4
- <br/>
5
- <span style="color: grey !important">Showing web push notifications from Chrome, Safari, and Firefox</span>
1
+ <h1 align="center">Welcome to react-onesignal 👋</h1>
2
+ <p>
3
+ <a href="https://www.npmjs.com/package/react-onesignal" target="_blank">
4
+ <img alt="Version" src="https://img.shields.io/npm/v/react-onesignal.svg">
5
+ </a>
6
+ <a href="https://github.com/OneSignal/react-onesignal#readme" target="_blank">
7
+ <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
8
+ </a>
9
+ <a href="https://github.com/OneSignal/react-onesignal/graphs/commit-activity" target="_blank">
10
+ <img alt="Maintenance" src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" />
11
+ </a>
12
+ <a href="https://twitter.com/onesignal" target="_blank">
13
+ <img alt="Twitter: onesignal" src="https://img.shields.io/twitter/follow/onesignal.svg?style=social" />
14
+ </a>
6
15
  </p>
7
16
 
8
- # React OneSignal
9
- ---
17
+ > This is a JavaScript module that can be used to easily include [OneSignal](https://onesignal.com/) code in a website or app in practically any JS front-end codebase (not limited to React).
10
18
 
11
- This is a JavaScript module that can be used to easily include [OneSignal](https://onesignal.com/) code in a website or app that uses React for its front-end codebase.
19
+ * 🏠 [Homepage](https://github.com/OneSignal/react-onesignal#readme)
20
+ * 🖤 [npm](https://www.npmjs.com/package/react-onesignal)
12
21
 
13
- OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 800k businesses to send 5 billion Push Notifications per day.
22
+ OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 2 million+ businesses to send 9 billion Push Notifications per day.
14
23
 
15
24
  You can find more information on OneSignal [here](https://onesignal.com/).
16
25
 
17
- ### Migration Guide
18
- Version 2.0 was recently released. Read the [Migration Guide](https://github.com/OneSignal/react-onesignal/blob/master/MigrationGuide.md) here if you're coming from a version 1 release of the SDK.
26
+ ### Migration Guides
27
+ Versions 3.0 were recently released and include breaking changes. See the [Migration Guide](https://github.com/OneSignal/react-onesignal/blob/main/MigrationGuide.md) to update your implementation.
19
28
 
20
29
  ## Contents
21
30
  - [Install](#install)
@@ -64,14 +73,36 @@ await OneSignal.init({ appId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' });
64
73
  const [initialized, setInitialized] = useState(false);
65
74
  OneSignal.init({ appId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }).then(() => {
66
75
  setInitialized(true);
67
- OneSignal.showSlidedownPrompt().then(() => {
68
- // do other stuff
69
- });
76
+ OneSignal.Slidedown.promptPush();
77
+ // do other stuff
70
78
  })
71
79
  ```
72
80
 
73
81
  ### Init Options
74
- You can pass other [options](https://documentation.onesignal.com/docs/web-push-sdk#init) to the `init` function. Use these options to configure personalized prompt options, auto-resubscribe, and more.
82
+ You can pass other [options](https://documentation.onesignal.com/v11.0/docs/web-sdk#initializing-the-sdk) to the `init` function. Use these options to configure personalized prompt options, auto-resubscribe, and more.
83
+
84
+ <details>
85
+ <summary>Expand to see more options</summary>
86
+
87
+ | Property Name | Type | Description |
88
+ | ---------------------------| --------------------- | -------------------------------------------------- |
89
+ | `appId` | `string` | The ID of your OneSignal app. |
90
+ | `autoRegister` | `boolean` (optional) | Whether or not to automatically register the user. |
91
+ | `autoResubscribe` | `boolean` (optional) | Whether or not to automatically resubscribe the user. |
92
+ | `path` | `string` (optional) | The path to the OneSignal service worker file. |
93
+ | `serviceWorkerPath` | `string` (optional) | The path to the OneSignal service worker script. |
94
+ | `serviceWorkerUpdaterPath` | `string` (optional) | The path to the OneSignal service worker updater script. |
95
+ | `subdomainName` | `string` (optional) | The subdomain of your OneSignal app. |
96
+ | `allowLocalhostAsSecureOrigin` | `boolean` (optional) | Whether or not to allow localhost as a secure origin. |
97
+ | `requiresUserPrivacyConsent`| `boolean` (optional) | Whether or not the user's consent is required. |
98
+ | `persistNotification` | `boolean` (optional) | Whether or not notifications should persist. |
99
+ | `notificationClickHandlerMatch`| `string` (optional) | The URL match pattern for notification clicks. |
100
+ | `notificationClickHandlerAction`| `string` (optional)| The action to perform when a notification is clicked. |
101
+ | `welcomeNotification` | `object` (optional) | The welcome notification configuration. |
102
+ | `notifyButton` | `object` (optional) | The notify button configuration. |
103
+ | `promptOptions` | `object` (optional) | Additional options for the subscription prompt. |
104
+ | `webhooks` | `object` (optional) | The webhook configuration. |
105
+ | `[key: string]` | `any` | Additional properties can be added as needed. |
75
106
 
76
107
  **Service Worker Params**
77
108
  You can customize the location and filenames of service worker assets. You are also able to specify the specific scope that your service worker should control. You can read more [here](https://documentation.onesignal.com/docs/onesignal-service-worker-faq#sdk-parameter-reference-for-service-workers).
@@ -83,6 +114,10 @@ In this distribution, you can specify the parameters via the following:
83
114
  | `serviceWorkerParam` | Use to specify the scope, or the path the service worker has control of. Example: `{ scope: "/js/push/onesignal/" }` |
84
115
  | `serviceWorkerPath` | The path to the service worker file. |
85
116
 
117
+ </details>
118
+
119
+ ---
120
+
86
121
  ### Service Worker File
87
122
  If you haven't done so already, you will need to add the [OneSignal Service Worker file](https://github.com/OneSignal/OneSignal-Website-SDK/files/7585231/OneSignal-Web-SDK-HTTPS-Integration-Files.zip) to your site ([learn more](https://documentation.onesignal.com/docs/web-push-quickstart#step-6-upload-files)).
88
123
 
@@ -92,76 +127,59 @@ The OneSignal SDK file must be publicly accessible. You can put them in your top
92
127
  Visit `https://yoursite.com/OneSignalSDKWorker.js` in the address bar to make sure the files are being served successfully.
93
128
 
94
129
  ---
95
- ## OneSignal API
96
130
  ### Typescript
97
131
  This package includes Typescript support.
98
132
 
99
133
  ```ts
100
- interface OneSignal {
101
- init(options: IInitObject): Promise<void>;
102
- on(event: string, listener: () => void): void;
103
- off(event: string, listener: () => void): void;
104
- once(event: string, listener: () => void): void;
105
- isPushNotificationsEnabled(callback?: Action<boolean>): Promise<boolean>;
106
- showHttpPrompt(options?: AutoPromptOptions): Promise<void>;
107
- registerForPushNotifications(options?: RegisterOptions): Promise<void>;
108
- setDefaultNotificationUrl(url: string): Promise<void>;
109
- setDefaultTitle(title: string): Promise<void>;
110
- getTags(callback?: Action<any>): Promise<void>;
111
- sendTag(key: string, value: any, callback?: Action<Object>): Promise<Object | null>;
112
- sendTags(tags: TagsObject<any>, callback?: Action<Object>): Promise<Object | null>;
113
- deleteTag(tag: string): Promise<Array<string>>;
114
- deleteTags(tags: Array<string>, callback?: Action<Array<string>>): Promise<Array<string>>;
115
- addListenerForNotificationOpened(callback?: Action<Notification>): Promise<void>;
116
- setSubscription(newSubscription: boolean): Promise<void>;
117
- showHttpPermissionRequest(options?: AutoPromptOptions): Promise<any>;
118
- showNativePrompt(): Promise<void>;
119
- showSlidedownPrompt(options?: AutoPromptOptions): Promise<void>;
120
- showCategorySlidedown(options?: AutoPromptOptions): Promise<void>;
121
- showSmsSlidedown(options?: AutoPromptOptions): Promise<void>;
122
- showEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
123
- showSmsAndEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
124
- getNotificationPermission(onComplete?: Action<NotificationPermission>): Promise<NotificationPermission>;
125
- getUserId(callback?: Action<string | undefined | null>): Promise<string | undefined | null>;
126
- getSubscription(callback?: Action<boolean>): Promise<boolean>;
127
- setEmail(email: string, options?: SetEmailOptions): Promise<string | null>;
128
- setSMSNumber(smsNumber: string, options?: SetSMSOptions): Promise<string | null>;
129
- logoutEmail(): Promise<void>;
130
- logoutSMS(): Promise<void>;
131
- setExternalUserId(externalUserId: string | undefined | null, authHash?: string): Promise<void>;
132
- removeExternalUserId(): Promise<void>;
133
- getExternalUserId(): Promise<string | undefined | null>;
134
- provideUserConsent(consent: boolean): Promise<void>;
135
- getEmailId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
136
- getSMSId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
137
- sendOutcome(outcomeName: string, outcomeWeight?: number | undefined): Promise<void>;
134
+ interface IOneSignalOneSignal {
135
+ Slidedown: IOneSignalSlidedown;
136
+ Notifications: IOneSignalNotifications;
137
+ Session: IOneSignalSession;
138
+ User: IOneSignalUser;
139
+ Debug: IOneSignalDebug;
140
+ login(externalId: string, jwtToken?: string): Promise<void>;
141
+ logout(): Promise<void>;
142
+ init(options: IInitObject): Promise<void>;
143
+ setConsentGiven(consent: boolean): Promise<void>;
144
+ setConsentRequired(requiresConsent: boolean): Promise<void>;
138
145
  }
139
146
  ```
140
147
 
141
148
  ### OneSignal API
142
- See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/docs/web-push-sdk) for information on all available SDK functions.
149
+ See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for information on all available SDK functions.
143
150
 
144
151
  ---
145
152
  ## Advanced Usage
146
153
  ### Events and Event Listeners
147
154
  Use listeners to react to OneSignal-related events:
148
155
 
149
- * `subscriptionChange`
150
- * `permissionPromptDisplay`
151
- * `notificationPermissionChange`
152
- * `popoverShown`
153
- * `customPromptClick`
154
- * `notificationDisplay`
155
- * `notificationDismiss`
156
+ ### Notifications Namespace
157
+ | Event Name | Callback Argument Type |
158
+ |-|-|
159
+ |'click' | NotificationClickEvent|
160
+ |'foregroundWillDisplay'| NotificationForegroundWillDisplayEvent
161
+ | 'dismiss'| NotificationDismissEvent|
162
+ |'permissionChange'| boolean|
163
+ |'permissionPromptDisplay'| void|
164
+
165
+ ### Slidedown Namespace
166
+ | Event Name | Callback Argument Type |
167
+ |-|-|
168
+ |'slidedownShown' | boolean |
169
+
170
+ ### Push Subscription Namespace
171
+ | Event Name | Callback Argument Type |
172
+ |-|-|
173
+ |'change' | boolean |
156
174
 
157
175
  **Example**
158
176
  ```js
159
- OneSignal.on('subscriptionChange', function(isSubscribed) {
160
- console.log("The user's subscription state is now:", isSubscribed);
177
+ OneSignal.Notifications.addEventListener('click', (event) => {
178
+ console.log("The notification was clicked!", event);
161
179
  });
162
180
  ```
163
181
 
164
- See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/docs/web-push-sdk) for all available event listeners.
182
+ See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for all available event listeners.
165
183
 
166
184
  ## Troubleshooting
167
185
  ### `window.OneSignal already defined as 'object'!`
@@ -192,7 +210,7 @@ Reach out to us via our [Discord server](https://discord.com/invite/EP7gf6Uz7G)!
192
210
 
193
211
  ## 📝 License
194
212
 
195
- Copyright © 2022 [OneSignal](https://github.com/OneSignal).<br />
213
+ Copyright © 2023 [OneSignal](https://github.com/OneSignal).<br />
196
214
  This project is [Modified MIT](https://github.com/OneSignal/react-onesignal/blob/master/LICENSE) licensed.
197
215
 
198
216
  ## Thanks
package/dist/index.d.ts CHANGED
@@ -7,7 +7,6 @@ declare global {
7
7
  };
8
8
  }
9
9
  }
10
- declare type Action<T> = (item: T) => void;
11
10
  interface AutoPromptOptions {
12
11
  force?: boolean;
13
12
  forceSlidedownOverNative?: boolean;
@@ -41,9 +40,102 @@ declare type SubscriptionChangeEvent = {
41
40
  previous: PushSubscriptionNamespaceProperties;
42
41
  current: PushSubscriptionNamespaceProperties;
43
42
  };
44
- declare type NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
43
+ declare type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
45
44
  declare type SlidedownEventName = 'slidedownShown';
46
45
  declare type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
46
+ interface IOSNotification {
47
+ /**
48
+ * The OneSignal notification id;
49
+ * - Primary id on OneSignal's REST API and dashboard
50
+ */
51
+ readonly notificationId: string;
52
+ /**
53
+ * Visible title text on the notification
54
+ */
55
+ readonly title?: string;
56
+ /**
57
+ * Visible body text on the notification
58
+ */
59
+ readonly body: string;
60
+ /**
61
+ * Visible icon the notification; URL format
62
+ */
63
+ readonly icon?: string;
64
+ /**
65
+ * Visible small badgeIcon that displays on some devices; URL format
66
+ * Example: On Android's status bar
67
+ */
68
+ readonly badgeIcon?: string;
69
+ /**
70
+ * Visible image on the notification; URL format
71
+ */
72
+ readonly image?: string;
73
+ /**
74
+ * Visible buttons on the notification
75
+ */
76
+ readonly actionButtons?: IOSNotificationActionButton[];
77
+ /**
78
+ * If this value is the same as existing notification, it will replace it
79
+ * Can be set when creating the notification with "Web Push Topic" on the dashboard
80
+ * or web_push_topic from the REST API.
81
+ */
82
+ readonly topic?: string;
83
+ /**
84
+ * Custom object that was sent with the notification;
85
+ * definable when creating the notification from the OneSignal REST API or dashboard
86
+ */
87
+ readonly additionalData?: object;
88
+ /**
89
+ * URL to open when clicking or tapping on the notification
90
+ */
91
+ readonly launchURL?: string;
92
+ /**
93
+ * Confirm the push was received by reporting back to OneSignal
94
+ */
95
+ readonly confirmDelivery: boolean;
96
+ }
97
+ interface IOSNotificationActionButton {
98
+ /**
99
+ * Any unique identifier to represent which button was clicked. This is typically passed back to the service worker
100
+ * and host page through events to identify which button was clicked.
101
+ * e.g. 'like-button'
102
+ */
103
+ readonly actionId: string;
104
+ /**
105
+ * The notification action button's text.
106
+ */
107
+ readonly text: string;
108
+ /**
109
+ * A valid publicly reachable HTTPS URL to an image.
110
+ */
111
+ readonly icon?: string;
112
+ /**
113
+ * The URL to open the web browser to when this action button is clicked.
114
+ */
115
+ readonly launchURL?: string;
116
+ }
117
+ interface NotificationClickResult {
118
+ readonly actionId?: string;
119
+ readonly url?: string;
120
+ }
121
+ declare type NotificationEventTypeMap = {
122
+ 'click': NotificationClickEvent;
123
+ 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;
124
+ 'dismiss': NotificationDismissEvent;
125
+ 'permissionChange': boolean;
126
+ 'permissionPromptDisplay': void;
127
+ };
128
+ interface NotificationForegroundWillDisplayEvent {
129
+ readonly notification: IOSNotification;
130
+ preventDefault(): void;
131
+ }
132
+ interface NotificationDismissEvent {
133
+ notification: IOSNotification;
134
+ }
135
+ interface NotificationClickEvent {
136
+ readonly notification: IOSNotification;
137
+ readonly result: NotificationClickResult;
138
+ }
47
139
  interface IInitObject {
48
140
  appId: string;
49
141
  subdomainName?: string;
@@ -79,13 +171,14 @@ interface IOneSignalOneSignal {
79
171
  setConsentRequired(requiresConsent: boolean): Promise<void>;
80
172
  }
81
173
  interface IOneSignalNotifications {
174
+ permissionNative: NotificationPermission;
175
+ permission: boolean;
82
176
  setDefaultUrl(url: string): Promise<void>;
83
177
  setDefaultTitle(title: string): Promise<void>;
84
178
  isPushSupported(): boolean;
85
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
86
179
  requestPermission(): Promise<void>;
87
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
88
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
180
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
181
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
89
182
  }
90
183
  interface IOneSignalSlidedown {
91
184
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -128,8 +221,8 @@ interface IOneSignalPushSubscription {
128
221
  optedIn: boolean | undefined;
129
222
  optIn(): Promise<void>;
130
223
  optOut(): Promise<void>;
131
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
132
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
224
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
225
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
133
226
  }
134
227
  declare const OneSignal: IOneSignalOneSignal;
135
228
  export default OneSignal;
package/dist/index.es.js CHANGED
@@ -6,8 +6,10 @@ let isOneSignalInitialized = false;
6
6
  // to disambiguate between a CDN load failure and a delayed call to
7
7
  // OneSignal#init.
8
8
  let isOneSignalScriptFailed = false;
9
- window.OneSignalDeferred = (window === null || window === void 0 ? void 0 : window.OneSignalDeferred) || [];
10
- addSDKScript();
9
+ if (window) {
10
+ window.OneSignalDeferred = window.OneSignalDeferred || [];
11
+ addSDKScript();
12
+ }
11
13
  /* H E L P E R S */
12
14
  function handleOnError() {
13
15
  isOneSignalScriptFailed = true;
@@ -291,24 +293,6 @@ function notificationsSetDefaultTitle(title) {
291
293
  }
292
294
  });
293
295
  }
294
- function notificationsGetPermissionStatus(onComplete) {
295
- return new Promise((resolve, reject) => {
296
- var _a;
297
- if (isOneSignalScriptFailed) {
298
- reject();
299
- }
300
- try {
301
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
302
- OneSignal.Notifications.getPermissionStatus(onComplete)
303
- .then((value) => resolve(value))
304
- .catch((error) => reject(error));
305
- });
306
- }
307
- catch (error) {
308
- reject(error);
309
- }
310
- });
311
- }
312
296
  function notificationsRequestPermission() {
313
297
  return new Promise((resolve, reject) => {
314
298
  var _a;
@@ -542,10 +526,11 @@ const SlidedownNamespace = {
542
526
  removeEventListener: slidedownRemoveEventListener,
543
527
  };
544
528
  const NotificationsNamespace = {
529
+ get permissionNative() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.Notifications) === null || _b === void 0 ? void 0 : _b.permissionNative) !== null && _c !== void 0 ? _c : 'default'; },
530
+ get permission() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.Notifications) === null || _b === void 0 ? void 0 : _b.permission) !== null && _c !== void 0 ? _c : false; },
545
531
  setDefaultUrl: notificationsSetDefaultUrl,
546
532
  setDefaultTitle: notificationsSetDefaultTitle,
547
533
  isPushSupported,
548
- getPermissionStatus: notificationsGetPermissionStatus,
549
534
  requestPermission: notificationsRequestPermission,
550
535
  addEventListener: notificationsAddEventListener,
551
536
  removeEventListener: notificationsRemoveEventListener,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../index.ts"],"sourcesContent":["const ONESIGNAL_SDK_ID = 'onesignal-sdk';\nconst ONE_SIGNAL_SCRIPT_SRC = \"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\nwindow.OneSignalDeferred = window?.OneSignalDeferred || [];\n\naddSDKScript();\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 window.top !== window && // isContextIframe\n navigator.vendor === \"Apple Computer, Inc.\" && // isSafari\n navigator.platform === \"MacIntel\"; // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (window.safari && typeof window.safari.pushNotification !== \"undefined\") ||\n isMacOSSafariInIframe();\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return typeof PushSubscriptionOptions !== \"undefined\" &&\n PushSubscriptionOptions.prototype.hasOwnProperty(\"applicationServerKey\");\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 throw new Error('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n return new Promise<void>((resolve) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options).then(() => {\n isOneSignalInitialized = true;\n resolve();\n });\n });\n });\n};\n\ntype Action<T> = (item: T) => void;\ninterface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\ninterface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\ninterface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\ninterface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\ntype PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\ntype SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\ntype NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\ninterface NotificationButtonData { action?: string; title?: string; icon?: string; url?: string; }\ninterface StructuredNotification { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: string; buttons?: NotificationButtonData[]; }\ntype SlidedownEventName = 'slidedownShown';\ntype OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\n\ninterface IInitObject {\n appId: string;\n subdomainName?: string;\n requiresUserPrivacyConsent?: boolean;\n promptOptions?: object;\n welcomeNotification?: object;\n notifyButton?: object;\n persistNotification?: boolean;\n webhooks?: object;\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: string;\n notificationClickHandlerAction?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerUpdaterPath?: string;\n path?: string;\n allowLocalhostAsSecureOrigin?: boolean;\n [key: string]: any;\n}\n\ninterface 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}\ninterface IOneSignalNotifications {\n\tsetDefaultUrl(url: string): Promise<void>;\n\tsetDefaultTitle(title: string): Promise<void>;\n\tisPushSupported(): boolean;\n\tgetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;\n\trequestPermission(): Promise<void>;\n\taddEventListener(event: NotificationEventName, listener: (obj: any) => void): void;\n\tremoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void;\n}\ninterface 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}\ninterface IOneSignalDebug {\n\tsetLogLevel(logLevel: string): void;\n}\ninterface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\ninterface IOneSignalUser {\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}\ninterface 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: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;\n\tremoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;\n}\n\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.logout()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener)\n });\n}\n\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsGetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.getPermissionStatus(onComplete)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsRequestPermission(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsAddEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;\nfunction notificationsAddEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;\nfunction notificationsAddEventListener(event: 'permissionPromptDisplay', listener: () => void): void;\n\nfunction notificationsAddEventListener(event: NotificationEventName, listener: (obj: any) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener)\n });\n}\n\nfunction notificationsRemoveEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;\nfunction notificationsRemoveEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;\nfunction notificationsRemoveEventListener(event: 'permissionPromptDisplay', listener: () => void): void;\n\nfunction notificationsRemoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction userAddAlias(label: string, id: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAlias(label, id)\n });\n}\n\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAliases(aliases)\n });\n}\n\nfunction userRemoveAlias(label: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAlias(label)\n });\n}\n\nfunction userRemoveAliases(labels: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAliases(labels)\n });\n}\n\nfunction userAddEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addEmail(email)\n });\n}\n\nfunction userRemoveEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeEmail(email)\n });\n}\n\nfunction userAddSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addSms(smsNumber)\n });\n}\n\nfunction userRemoveSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeSms(smsNumber)\n });\n}\n\nfunction userAddTag(key: string, value: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTag(key, value)\n });\n}\n\nfunction userAddTags(tags: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTags(tags)\n });\n}\n\nfunction userRemoveTag(key: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTag(key)\n });\n}\n\nfunction userRemoveTags(keys: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTags(keys)\n });\n}\n\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionAddEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener)\n });\n}\n\nfunction pushSubscriptionRemoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener)\n });\n}\n\nfunction debugSetLogLevel(logLevel: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel)\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\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\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\tsetDefaultUrl: notificationsSetDefaultUrl,\n\tsetDefaultTitle: notificationsSetDefaultTitle,\n\tisPushSupported,\n\tgetPermissionStatus: notificationsGetPermissionStatus,\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":[],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../index.ts"],"sourcesContent":["const ONESIGNAL_SDK_ID = 'onesignal-sdk';\nconst ONE_SIGNAL_SCRIPT_SRC = \"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 (window) {\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 window.top !== window && // isContextIframe\n navigator.vendor === \"Apple Computer, Inc.\" && // isSafari\n navigator.platform === \"MacIntel\"; // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (window.safari && typeof window.safari.pushNotification !== \"undefined\") ||\n isMacOSSafariInIframe();\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return typeof PushSubscriptionOptions !== \"undefined\" &&\n PushSubscriptionOptions.prototype.hasOwnProperty(\"applicationServerKey\");\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 throw new Error('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n return new Promise<void>((resolve) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options).then(() => {\n isOneSignalInitialized = true;\n resolve();\n });\n });\n });\n};\n\ninterface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\ninterface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\ninterface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\ninterface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\ntype PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\ntype SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\ntype NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\ntype SlidedownEventName = 'slidedownShown';\ntype OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\ninterface 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\ninterface 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\ninterface NotificationClickResult {\n readonly actionId?: string;\n readonly url?: string;\n}\n\ntype NotificationEventTypeMap = {\n 'click': NotificationClickEvent;\n 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;\n 'dismiss': NotificationDismissEvent;\n 'permissionChange': boolean;\n 'permissionPromptDisplay': void;\n}\n\ninterface NotificationForegroundWillDisplayEvent {\n readonly notification: IOSNotification;\n preventDefault(): void;\n}\n\ninterface NotificationDismissEvent {\n notification: IOSNotification;\n}\n\ninterface NotificationClickEvent {\n readonly notification: IOSNotification;\n readonly result: NotificationClickResult;\n}\n\n\ninterface IInitObject {\n appId: string;\n subdomainName?: string;\n requiresUserPrivacyConsent?: boolean;\n promptOptions?: object;\n welcomeNotification?: object;\n notifyButton?: object;\n persistNotification?: boolean;\n webhooks?: object;\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: string;\n notificationClickHandlerAction?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerUpdaterPath?: string;\n path?: string;\n allowLocalhostAsSecureOrigin?: boolean;\n [key: string]: any;\n}\n\ninterface 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}\ninterface 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<void>;\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}\ninterface 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}\ninterface IOneSignalDebug {\n\tsetLogLevel(logLevel: string): void;\n}\ninterface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\ninterface IOneSignalUser {\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}\ninterface 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}\n\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.logout()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener)\n });\n}\n\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsRequestPermission(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener)\n });\n}\n\nfunction notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction userAddAlias(label: string, id: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAlias(label, id)\n });\n}\n\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAliases(aliases)\n });\n}\n\nfunction userRemoveAlias(label: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAlias(label)\n });\n}\n\nfunction userRemoveAliases(labels: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAliases(labels)\n });\n}\n\nfunction userAddEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addEmail(email)\n });\n}\n\nfunction userRemoveEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeEmail(email)\n });\n}\n\nfunction userAddSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addSms(smsNumber)\n });\n}\n\nfunction userRemoveSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeSms(smsNumber)\n });\n}\n\nfunction userAddTag(key: string, value: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTag(key, value)\n });\n}\n\nfunction userAddTags(tags: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTags(tags)\n });\n}\n\nfunction userRemoveTag(key: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTag(key)\n });\n}\n\nfunction userRemoveTags(keys: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTags(keys)\n });\n}\n\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener)\n });\n}\n\nfunction pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener)\n });\n}\n\nfunction debugSetLogLevel(logLevel: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel)\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\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\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":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,8 +8,10 @@ let isOneSignalInitialized = false;
8
8
  // to disambiguate between a CDN load failure and a delayed call to
9
9
  // OneSignal#init.
10
10
  let isOneSignalScriptFailed = false;
11
- window.OneSignalDeferred = (window === null || window === void 0 ? void 0 : window.OneSignalDeferred) || [];
12
- addSDKScript();
11
+ if (window) {
12
+ window.OneSignalDeferred = window.OneSignalDeferred || [];
13
+ addSDKScript();
14
+ }
13
15
  /* H E L P E R S */
14
16
  function handleOnError() {
15
17
  isOneSignalScriptFailed = true;
@@ -293,24 +295,6 @@ function notificationsSetDefaultTitle(title) {
293
295
  }
294
296
  });
295
297
  }
296
- function notificationsGetPermissionStatus(onComplete) {
297
- return new Promise((resolve, reject) => {
298
- var _a;
299
- if (isOneSignalScriptFailed) {
300
- reject();
301
- }
302
- try {
303
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
304
- OneSignal.Notifications.getPermissionStatus(onComplete)
305
- .then((value) => resolve(value))
306
- .catch((error) => reject(error));
307
- });
308
- }
309
- catch (error) {
310
- reject(error);
311
- }
312
- });
313
- }
314
298
  function notificationsRequestPermission() {
315
299
  return new Promise((resolve, reject) => {
316
300
  var _a;
@@ -544,10 +528,11 @@ const SlidedownNamespace = {
544
528
  removeEventListener: slidedownRemoveEventListener,
545
529
  };
546
530
  const NotificationsNamespace = {
531
+ get permissionNative() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.Notifications) === null || _b === void 0 ? void 0 : _b.permissionNative) !== null && _c !== void 0 ? _c : 'default'; },
532
+ get permission() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.Notifications) === null || _b === void 0 ? void 0 : _b.permission) !== null && _c !== void 0 ? _c : false; },
547
533
  setDefaultUrl: notificationsSetDefaultUrl,
548
534
  setDefaultTitle: notificationsSetDefaultTitle,
549
535
  isPushSupported,
550
- getPermissionStatus: notificationsGetPermissionStatus,
551
536
  requestPermission: notificationsRequestPermission,
552
537
  addEventListener: notificationsAddEventListener,
553
538
  removeEventListener: notificationsRemoveEventListener,
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 = \"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\nwindow.OneSignalDeferred = window?.OneSignalDeferred || [];\n\naddSDKScript();\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 window.top !== window && // isContextIframe\n navigator.vendor === \"Apple Computer, Inc.\" && // isSafari\n navigator.platform === \"MacIntel\"; // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (window.safari && typeof window.safari.pushNotification !== \"undefined\") ||\n isMacOSSafariInIframe();\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return typeof PushSubscriptionOptions !== \"undefined\" &&\n PushSubscriptionOptions.prototype.hasOwnProperty(\"applicationServerKey\");\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 throw new Error('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n return new Promise<void>((resolve) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options).then(() => {\n isOneSignalInitialized = true;\n resolve();\n });\n });\n });\n};\n\ntype Action<T> = (item: T) => void;\ninterface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\ninterface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\ninterface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\ninterface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\ntype PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\ntype SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\ntype NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\ninterface NotificationButtonData { action?: string; title?: string; icon?: string; url?: string; }\ninterface StructuredNotification { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: string; buttons?: NotificationButtonData[]; }\ntype SlidedownEventName = 'slidedownShown';\ntype OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\n\ninterface IInitObject {\n appId: string;\n subdomainName?: string;\n requiresUserPrivacyConsent?: boolean;\n promptOptions?: object;\n welcomeNotification?: object;\n notifyButton?: object;\n persistNotification?: boolean;\n webhooks?: object;\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: string;\n notificationClickHandlerAction?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerUpdaterPath?: string;\n path?: string;\n allowLocalhostAsSecureOrigin?: boolean;\n [key: string]: any;\n}\n\ninterface 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}\ninterface IOneSignalNotifications {\n\tsetDefaultUrl(url: string): Promise<void>;\n\tsetDefaultTitle(title: string): Promise<void>;\n\tisPushSupported(): boolean;\n\tgetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;\n\trequestPermission(): Promise<void>;\n\taddEventListener(event: NotificationEventName, listener: (obj: any) => void): void;\n\tremoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void;\n}\ninterface 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}\ninterface IOneSignalDebug {\n\tsetLogLevel(logLevel: string): void;\n}\ninterface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\ninterface IOneSignalUser {\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}\ninterface 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: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;\n\tremoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;\n}\n\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.logout()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener)\n });\n}\n\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsGetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.getPermissionStatus(onComplete)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsRequestPermission(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsAddEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;\nfunction notificationsAddEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;\nfunction notificationsAddEventListener(event: 'permissionPromptDisplay', listener: () => void): void;\n\nfunction notificationsAddEventListener(event: NotificationEventName, listener: (obj: any) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener)\n });\n}\n\nfunction notificationsRemoveEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;\nfunction notificationsRemoveEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;\nfunction notificationsRemoveEventListener(event: 'permissionPromptDisplay', listener: () => void): void;\n\nfunction notificationsRemoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction userAddAlias(label: string, id: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAlias(label, id)\n });\n}\n\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAliases(aliases)\n });\n}\n\nfunction userRemoveAlias(label: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAlias(label)\n });\n}\n\nfunction userRemoveAliases(labels: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAliases(labels)\n });\n}\n\nfunction userAddEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addEmail(email)\n });\n}\n\nfunction userRemoveEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeEmail(email)\n });\n}\n\nfunction userAddSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addSms(smsNumber)\n });\n}\n\nfunction userRemoveSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeSms(smsNumber)\n });\n}\n\nfunction userAddTag(key: string, value: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTag(key, value)\n });\n}\n\nfunction userAddTags(tags: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTags(tags)\n });\n}\n\nfunction userRemoveTag(key: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTag(key)\n });\n}\n\nfunction userRemoveTags(keys: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTags(keys)\n });\n}\n\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionAddEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener)\n });\n}\n\nfunction pushSubscriptionRemoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener)\n });\n}\n\nfunction debugSetLogLevel(logLevel: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel)\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\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\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\tsetDefaultUrl: notificationsSetDefaultUrl,\n\tsetDefaultTitle: notificationsSetDefaultTitle,\n\tisPushSupported,\n\tgetPermissionStatus: notificationsGetPermissionStatus,\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":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../index.ts"],"sourcesContent":["const ONESIGNAL_SDK_ID = 'onesignal-sdk';\nconst ONE_SIGNAL_SCRIPT_SRC = \"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 (window) {\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 window.top !== window && // isContextIframe\n navigator.vendor === \"Apple Computer, Inc.\" && // isSafari\n navigator.platform === \"MacIntel\"; // isMacOS\n}\n\nfunction supportsSafariPush(): boolean {\n return (window.safari && typeof window.safari.pushNotification !== \"undefined\") ||\n isMacOSSafariInIframe();\n}\n\n// Does the browser support the standard Push API\nfunction supportsVapidPush(): boolean {\n return typeof PushSubscriptionOptions !== \"undefined\" &&\n PushSubscriptionOptions.prototype.hasOwnProperty(\"applicationServerKey\");\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 throw new Error('You need to provide your OneSignal appId.');\n }\n\n if (!document) {\n return Promise.reject(`Document is not defined.`);\n }\n\n return new Promise<void>((resolve) => {\n window.OneSignalDeferred?.push((OneSignal) => {\n OneSignal.init(options).then(() => {\n isOneSignalInitialized = true;\n resolve();\n });\n });\n });\n};\n\ninterface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }\ninterface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }\ninterface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }\ninterface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }\ntype PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };\ntype SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };\ntype NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';\ntype SlidedownEventName = 'slidedownShown';\ntype OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\ninterface 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\ninterface 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\ninterface NotificationClickResult {\n readonly actionId?: string;\n readonly url?: string;\n}\n\ntype NotificationEventTypeMap = {\n 'click': NotificationClickEvent;\n 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;\n 'dismiss': NotificationDismissEvent;\n 'permissionChange': boolean;\n 'permissionPromptDisplay': void;\n}\n\ninterface NotificationForegroundWillDisplayEvent {\n readonly notification: IOSNotification;\n preventDefault(): void;\n}\n\ninterface NotificationDismissEvent {\n notification: IOSNotification;\n}\n\ninterface NotificationClickEvent {\n readonly notification: IOSNotification;\n readonly result: NotificationClickResult;\n}\n\n\ninterface IInitObject {\n appId: string;\n subdomainName?: string;\n requiresUserPrivacyConsent?: boolean;\n promptOptions?: object;\n welcomeNotification?: object;\n notifyButton?: object;\n persistNotification?: boolean;\n webhooks?: object;\n autoResubscribe?: boolean;\n autoRegister?: boolean;\n notificationClickHandlerMatch?: string;\n notificationClickHandlerAction?: string;\n serviceWorkerParam?: { scope: string };\n serviceWorkerPath?: string;\n serviceWorkerUpdaterPath?: string;\n path?: string;\n allowLocalhostAsSecureOrigin?: boolean;\n [key: string]: any;\n}\n\ninterface 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}\ninterface 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<void>;\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}\ninterface 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}\ninterface IOneSignalDebug {\n\tsetLogLevel(logLevel: string): void;\n}\ninterface IOneSignalSession {\n\tsendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;\n\tsendUniqueOutcome(outcomeName: string): Promise<void>;\n}\ninterface IOneSignalUser {\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}\ninterface 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}\n\nfunction oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.login(externalId, jwtToken)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalLogout(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.logout()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentGiven(consent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentGiven(consent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.setConsentRequired(requiresConsent)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPush(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptPushCategories(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSms(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.promptSmsAndEmail(options)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Slidedown.addEventListener(event, listener)\n });\n}\n\nfunction slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultUrl(url)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsSetDefaultTitle(title: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.setDefaultTitle(title)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsRequestPermission(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.requestPermission()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Notifications.addEventListener(event, listener)\n });\n}\n\nfunction notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\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();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction sessionSendUniqueOutcome(outcomeName: string): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Session.sendUniqueOutcome(outcomeName)\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction userAddAlias(label: string, id: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAlias(label, id)\n });\n}\n\nfunction userAddAliases(aliases: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addAliases(aliases)\n });\n}\n\nfunction userRemoveAlias(label: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAlias(label)\n });\n}\n\nfunction userRemoveAliases(labels: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeAliases(labels)\n });\n}\n\nfunction userAddEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addEmail(email)\n });\n}\n\nfunction userRemoveEmail(email: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeEmail(email)\n });\n}\n\nfunction userAddSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addSms(smsNumber)\n });\n}\n\nfunction userRemoveSms(smsNumber: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeSms(smsNumber)\n });\n}\n\nfunction userAddTag(key: string, value: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTag(key, value)\n });\n}\n\nfunction userAddTags(tags: { [key: string]: string }): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.addTags(tags)\n });\n}\n\nfunction userRemoveTag(key: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTag(key)\n });\n}\n\nfunction userRemoveTags(keys: string[]): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.removeTags(keys)\n });\n}\n\nfunction pushSubscriptionOptIn(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optIn()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionOptOut(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isOneSignalScriptFailed) {\n reject();\n }\n\n try {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.optOut()\n .then((value: any) => resolve(value))\n .catch((error: any) => reject(error));\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nfunction pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.addEventListener(event, listener)\n });\n}\n\nfunction pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.User.PushSubscription.removeEventListener(event, listener)\n });\n}\n\nfunction debugSetLogLevel(logLevel: string): void {\n window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {\n OneSignal.Debug.setLogLevel(logLevel)\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\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\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":[],"mappings":";;AAAA,MAAM,gBAAgB,GAAG,eAAe,CAAC;AACzC,MAAM,qBAAqB,GAAG,6DAA6D,CAAC;AAE5F;AACA,IAAI,sBAAsB,GAAG,KAAK,CAAC;AACnC;AACA;AACA;AACA,IAAI,uBAAuB,GAAG,KAAK,CAAC;AAEpC,IAAI,MAAM,EAAE;IACV,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC1D,YAAY,EAAE,CAAC;CAChB;AAYD;AAEA,SAAS,aAAa;IACpB,uBAAuB,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC;IAC7B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,GAAG,qBAAqB,CAAC;;;IAInC,MAAM,CAAC,OAAO,GAAG;QACf,aAAa,EAAE,CAAC;KACjB,CAAA;IAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED;;;;AAKA;AACA;AACA,SAAS,4BAA4B;IACnC,OAAO,iBAAiB,EAAE,IAAI,kBAAkB,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB;;IAE5B,OAAO,MAAM,CAAC,GAAG,KAAK,MAAM;QAC5B,SAAS,CAAC,MAAM,KAAK,sBAAsB;QAC3C,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,KAAK,WAAW;QACtE,qBAAqB,EAAE,CAAC;AAClC,CAAC;AAED;AACA,SAAS,iBAAiB;IACxB,OAAO,OAAO,uBAAuB,KAAK,WAAW;QAC9C,uBAAuB,CAAC,SAAS,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;AAClF,CAAC;AACD;AAEA;;;;;;AAMA,MAAM,eAAe,GAAG;IACtB,OAAO,4BAA4B,EAAE,CAAC;AACxC,CAAC,CAAA;AAED;;;AAGA,MAAM,IAAI,GAAG,CAAC,OAAoB;IAChC,IAAI,sBAAsB,EAAE;QAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;KACnD;IAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO;;QAC/B,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAAS;YACvC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBAC3B,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;SACJ,EAAE;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AA8MF,SAAS,cAAc,CAAC,UAAkB,EAAE,QAAiB;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;qBAClC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,MAAM,EAAE;qBACf,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgB;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;qBAC/B,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,eAAwB;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,kBAAkB,CAAC,eAAe,CAAC;qBAC1C,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA2B;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;qBACpC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,OAA2B;IAChE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC;qBAC9C,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA2B;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;qBACnC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA2B;IACvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;qBACrC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA2B;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC;qBAC3C,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAyB,EAAE,QAAqC;;IACjG,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KACtD,EAAE;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAyB,EAAE,QAAqC;;IACpG,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KACzD,EAAE;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC;qBACvC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;qBAC3C,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE;qBACxC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAkC,KAAQ,EAAE,QAAoD;;IACpI,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KAC1D,EAAE;AACL,CAAC;AAED,SAAS,gCAAgC,CAAkC,KAAQ,EAAE,QAAoD;;IACvI,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KAC7D,EAAE;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB,EAAE,aAAsB;IACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC;qBACtD,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,WAAmB;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC;qBAC7C,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,EAAU;;IAC7C,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;KACnC,EAAE;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAAkC;;IACxD,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;KACnC,EAAE;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;;IACpC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;KAClC,EAAE;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAgB;;IACzC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;KACrC,EAAE;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;;IACjC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;KAC/B,EAAE;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;;IACpC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;KAClC,EAAE;AACL,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;;IACnC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;KACjC,EAAE;AACL,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;;IACtC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;KACpC,EAAE;AACL,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,KAAa;;IAC5C,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KAClC,EAAE;AACL,CAAC;AAED,SAAS,WAAW,CAAC,IAA+B;;IAClD,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;KAC7B,EAAE;AACL,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;;IAChC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAC9B,EAAE;AACL,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;;IACpC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;KAChC,EAAE;AACL,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;qBACpC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,uBAAuB,EAAE;YAC3B,MAAM,EAAE,CAAC;SACV;QAED,IAAI;YACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;gBAC5D,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;qBACrC,IAAI,CAAC,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;qBACpC,KAAK,CAAC,CAAC,KAAU,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACzC,EAAE;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAe,EAAE,QAAmD;;IAC5G,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KAClE,EAAE;AACL,CAAC;AAED,SAAS,mCAAmC,CAAC,KAAe,EAAE,QAAmD;;IAC/G,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KACrE,EAAE;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;;IACxC,MAAA,MAAM,CAAC,iBAAiB,0CAAE,IAAI,CAAC,CAAC,SAA8B;QAC5D,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;KACtC,EAAE;AACL,CAAC;AACD,MAAM,yBAAyB,GAA+B;IAC7D,IAAI,EAAE,qBAAgC,yBAAO,MAAM,CAAC,SAAS,0CAAE,IAAI,0CAAE,gBAAgB,0CAAE,EAAE,CAAA,EAAE;IAC3F,IAAI,KAAK,qBAAgC,yBAAO,MAAM,CAAC,SAAS,0CAAE,IAAI,0CAAE,gBAAgB,0CAAE,KAAK,CAAA,EAAE;IACjG,IAAI,OAAO,qBAA0B,yBAAO,MAAM,CAAC,SAAS,0CAAE,IAAI,0CAAE,gBAAgB,0CAAE,OAAO,CAAA,EAAE;IAC/F,KAAK,EAAE,qBAAqB;IAC5B,MAAM,EAAE,sBAAsB;IAC9B,gBAAgB,EAAE,gCAAgC;IAClD,mBAAmB,EAAE,mCAAmC;CACxD,CAAC;AAEF,MAAM,aAAa,GAAmB;IACrC,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,iBAAiB;IAChC,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,eAAe;IAC5B,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE,aAAa;IACxB,UAAU,EAAE,cAAc;IAC1B,gBAAgB,EAAE,yBAAyB;CAC3C,CAAC;AAEF,MAAM,gBAAgB,GAAsB;IAC3C,WAAW,EAAE,kBAAkB;IAC/B,iBAAiB,EAAE,wBAAwB;CAC3C,CAAC;AAEF,MAAM,cAAc,GAAoB;IACvC,WAAW,EAAE,gBAAgB;CAC7B,CAAC;AAEF,MAAM,kBAAkB,GAAwB;IAC/C,UAAU,EAAE,mBAAmB;IAC/B,oBAAoB,EAAE,6BAA6B;IACnD,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,oBAAoB;IACjC,iBAAiB,EAAE,0BAA0B;IAC7C,gBAAgB,EAAE,yBAAyB;IAC3C,mBAAmB,EAAE,4BAA4B;CACjD,CAAC;AAEF,MAAM,sBAAsB,GAA4B;IACvD,IAAI,gBAAgB,qBAA6B,yBAAO,MAAM,CAAC,SAAS,0CAAE,aAAa,0CAAE,gBAAgB,mCAAI,SAAS,CAAC,EAAE;IACzH,IAAI,UAAU,qBAAc,yBAAO,MAAM,CAAC,SAAS,0CAAE,aAAa,0CAAE,UAAU,mCAAI,KAAK,CAAC,EAAE;IAC1F,aAAa,EAAE,0BAA0B;IACzC,eAAe,EAAE,4BAA4B;IAC7C,eAAe;IACf,iBAAiB,EAAE,8BAA8B;IACjD,gBAAgB,EAAE,6BAA6B;IAC/C,mBAAmB,EAAE,gCAAgC;CACrD,CAAC;AAEF,MAAM,kBAAkB,GAAwB;IAC/C,KAAK,EAAE,cAAc;IACrB,MAAM,EAAE,eAAe;IACvB,IAAI;IACJ,eAAe,EAAE,wBAAwB;IACzC,kBAAkB,EAAE,2BAA2B;IAC/C,SAAS,EAAE,kBAAkB;IAC7B,aAAa,EAAE,sBAAsB;IACrC,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,cAAc;CACrB,CAAC;AAEF,MAAM,SAAS,GAAG,kBAAkB;;;;"}
package/index.ts CHANGED
@@ -8,9 +8,10 @@ let isOneSignalInitialized = false;
8
8
  // OneSignal#init.
9
9
  let isOneSignalScriptFailed = false;
10
10
 
11
- window.OneSignalDeferred = window?.OneSignalDeferred || [];
12
-
13
- addSDKScript();
11
+ if (window) {
12
+ window.OneSignalDeferred = window.OneSignalDeferred || [];
13
+ addSDKScript();
14
+ }
14
15
 
15
16
  declare global {
16
17
  interface Window {
@@ -109,18 +110,125 @@ const init = (options: IInitObject): Promise<void> => {
109
110
  });
110
111
  };
111
112
 
112
- type Action<T> = (item: T) => void;
113
113
  interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }
114
114
  interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }
115
115
  interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }
116
116
  interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }
117
117
  type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };
118
118
  type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };
119
- type NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
120
- interface NotificationButtonData { action?: string; title?: string; icon?: string; url?: string; }
121
- interface StructuredNotification { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: string; buttons?: NotificationButtonData[]; }
119
+ type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
122
120
  type SlidedownEventName = 'slidedownShown';
123
121
  type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
122
+ interface IOSNotification {
123
+ /**
124
+ * The OneSignal notification id;
125
+ * - Primary id on OneSignal's REST API and dashboard
126
+ */
127
+ readonly notificationId: string;
128
+
129
+ /**
130
+ * Visible title text on the notification
131
+ */
132
+ readonly title?: string;
133
+
134
+ /**
135
+ * Visible body text on the notification
136
+ */
137
+ readonly body: string;
138
+
139
+ /**
140
+ * Visible icon the notification; URL format
141
+ */
142
+ readonly icon?: string;
143
+
144
+ /**
145
+ * Visible small badgeIcon that displays on some devices; URL format
146
+ * Example: On Android's status bar
147
+ */
148
+ readonly badgeIcon?: string;
149
+
150
+ /**
151
+ * Visible image on the notification; URL format
152
+ */
153
+ readonly image?: string;
154
+
155
+ /**
156
+ * Visible buttons on the notification
157
+ */
158
+ readonly actionButtons?: IOSNotificationActionButton[];
159
+
160
+ /**
161
+ * If this value is the same as existing notification, it will replace it
162
+ * Can be set when creating the notification with "Web Push Topic" on the dashboard
163
+ * or web_push_topic from the REST API.
164
+ */
165
+ readonly topic?: string;
166
+
167
+ /**
168
+ * Custom object that was sent with the notification;
169
+ * definable when creating the notification from the OneSignal REST API or dashboard
170
+ */
171
+ readonly additionalData?: object;
172
+
173
+ /**
174
+ * URL to open when clicking or tapping on the notification
175
+ */
176
+ readonly launchURL?: string;
177
+
178
+ /**
179
+ * Confirm the push was received by reporting back to OneSignal
180
+ */
181
+ readonly confirmDelivery: boolean;
182
+ }
183
+
184
+ interface IOSNotificationActionButton {
185
+ /**
186
+ * Any unique identifier to represent which button was clicked. This is typically passed back to the service worker
187
+ * and host page through events to identify which button was clicked.
188
+ * e.g. 'like-button'
189
+ */
190
+ readonly actionId: string;
191
+ /**
192
+ * The notification action button's text.
193
+ */
194
+ readonly text: string;
195
+ /**
196
+ * A valid publicly reachable HTTPS URL to an image.
197
+ */
198
+ readonly icon?: string;
199
+ /**
200
+ * The URL to open the web browser to when this action button is clicked.
201
+ */
202
+ readonly launchURL?: string;
203
+ }
204
+
205
+ interface NotificationClickResult {
206
+ readonly actionId?: string;
207
+ readonly url?: string;
208
+ }
209
+
210
+ type NotificationEventTypeMap = {
211
+ 'click': NotificationClickEvent;
212
+ 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;
213
+ 'dismiss': NotificationDismissEvent;
214
+ 'permissionChange': boolean;
215
+ 'permissionPromptDisplay': void;
216
+ }
217
+
218
+ interface NotificationForegroundWillDisplayEvent {
219
+ readonly notification: IOSNotification;
220
+ preventDefault(): void;
221
+ }
222
+
223
+ interface NotificationDismissEvent {
224
+ notification: IOSNotification;
225
+ }
226
+
227
+ interface NotificationClickEvent {
228
+ readonly notification: IOSNotification;
229
+ readonly result: NotificationClickResult;
230
+ }
231
+
124
232
 
125
233
  interface IInitObject {
126
234
  appId: string;
@@ -156,13 +264,14 @@ interface IOneSignalOneSignal {
156
264
  setConsentRequired(requiresConsent: boolean): Promise<void>;
157
265
  }
158
266
  interface IOneSignalNotifications {
267
+ permissionNative: NotificationPermission;
268
+ permission: boolean;
159
269
  setDefaultUrl(url: string): Promise<void>;
160
270
  setDefaultTitle(title: string): Promise<void>;
161
271
  isPushSupported(): boolean;
162
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
163
272
  requestPermission(): Promise<void>;
164
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
165
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
273
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
274
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
166
275
  }
167
276
  interface IOneSignalSlidedown {
168
277
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -201,8 +310,8 @@ interface IOneSignalPushSubscription {
201
310
  optedIn: boolean | undefined;
202
311
  optIn(): Promise<void>;
203
312
  optOut(): Promise<void>;
204
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
205
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
313
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
314
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
206
315
  }
207
316
 
208
317
  function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
@@ -415,24 +524,6 @@ function notificationsSetDefaultTitle(title: string): Promise<void> {
415
524
  });
416
525
  }
417
526
 
418
- function notificationsGetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission> {
419
- return new Promise((resolve, reject) => {
420
- if (isOneSignalScriptFailed) {
421
- reject();
422
- }
423
-
424
- try {
425
- window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
426
- OneSignal.Notifications.getPermissionStatus(onComplete)
427
- .then((value: any) => resolve(value))
428
- .catch((error: any) => reject(error));
429
- });
430
- } catch (error) {
431
- reject(error);
432
- }
433
- });
434
- }
435
-
436
527
  function notificationsRequestPermission(): Promise<void> {
437
528
  return new Promise((resolve, reject) => {
438
529
  if (isOneSignalScriptFailed) {
@@ -451,21 +542,13 @@ function notificationsRequestPermission(): Promise<void> {
451
542
  });
452
543
  }
453
544
 
454
- function notificationsAddEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
455
- function notificationsAddEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
456
- function notificationsAddEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
457
-
458
- function notificationsAddEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
545
+ function notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
459
546
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
460
547
  OneSignal.Notifications.addEventListener(event, listener)
461
548
  });
462
549
  }
463
550
 
464
- function notificationsRemoveEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
465
- function notificationsRemoveEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
466
- function notificationsRemoveEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
467
-
468
- function notificationsRemoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
551
+ function notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
469
552
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
470
553
  OneSignal.Notifications.removeEventListener(event, listener)
471
554
  });
@@ -615,13 +698,13 @@ function pushSubscriptionOptOut(): Promise<void> {
615
698
  });
616
699
  }
617
700
 
618
- function pushSubscriptionAddEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
701
+ function pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
619
702
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
620
703
  OneSignal.User.PushSubscription.addEventListener(event, listener)
621
704
  });
622
705
  }
623
706
 
624
- function pushSubscriptionRemoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
707
+ function pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
625
708
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
626
709
  OneSignal.User.PushSubscription.removeEventListener(event, listener)
627
710
  });
@@ -678,10 +761,11 @@ const SlidedownNamespace: IOneSignalSlidedown = {
678
761
  };
679
762
 
680
763
  const NotificationsNamespace: IOneSignalNotifications = {
764
+ get permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },
765
+ get permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },
681
766
  setDefaultUrl: notificationsSetDefaultUrl,
682
767
  setDefaultTitle: notificationsSetDefaultTitle,
683
768
  isPushSupported,
684
- getPermissionStatus: notificationsGetPermissionStatus,
685
769
  requestPermission: notificationsRequestPermission,
686
770
  addEventListener: notificationsAddEventListener,
687
771
  removeEventListener: notificationsRemoveEventListener,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-onesignal",
3
- "version": "3.0.0-beta.3",
3
+ "version": "3.0.0",
4
4
  "description": "React OneSignal Module: Make it easy to integrate OneSignal with your React App!",
5
5
  "author": "rgomezp",
6
6
  "contributors": [{ "name": "Rodrigo Gomez-Palacio" }, { "name": "Pedro Bini" }, { "name": "Graham Marlow" }],