react-onesignal 3.0.0-beta.3 → 3.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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 | Function / Property | 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
+ | `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) |
123
+ | | `permission` | A boolean representing whether or not the user has granted permission for push notifications. | |
124
+ | | `permissionNative` | A string representing the native push permission status: 'default', 'granted', or 'denied'. | |
123
125
 
124
126
 
125
127
 
@@ -172,6 +174,14 @@ OneSignal.Debug.setLogLevel(“trace”);
172
174
 
173
175
  # Limitations
174
176
 
177
+ ## May 2023
178
+ ## Version 16 (beta)
179
+ Please test thoroughly prior to production use.
180
+ * Any User namespace calls must be invoked **after** initialization (async). Example: `OneSignal.User.addTag("tag", "2");`
181
+ * HTTP environments are not supported.
182
+ * AMP environments are not supported.
183
+ * Identity verification is not functional.
184
+
175
185
  ## January 2023
176
186
  ### Version 16 (alpha)
177
187
  It is recommended this version is used **only** in development and staging envrionments.
package/README.md CHANGED
@@ -5,17 +5,18 @@
5
5
  <span style="color: grey !important">Showing web push notifications from Chrome, Safari, and Firefox</span>
6
6
  </p>
7
7
 
8
- # React OneSignal
9
- ---
8
+ > 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
9
 
11
10
  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.
12
11
 
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.
12
+ 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
13
 
15
14
  You can find more information on OneSignal [here](https://onesignal.com/).
16
15
 
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.
16
+ ### Migration Guides
17
+ Versions 2.0 and 3.0 were recently released and include breaking changes. See the [Migration Guide](https://github.com/OneSignal/react-onesignal/blob/user-model/v1/MigrationGuide.md) to update your implementation.
18
+
19
+ > ATTENTION: v3 is currently in Beta 🚧 and includes a fundamental shift to the OneSignal subscriber ("player") model. Learn more [here](https://documentation.onesignal.com/v11.0/docs/user-model).
19
20
 
20
21
  ## Contents
21
22
  - [Install](#install)
@@ -64,14 +65,36 @@ await OneSignal.init({ appId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' });
64
65
  const [initialized, setInitialized] = useState(false);
65
66
  OneSignal.init({ appId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }).then(() => {
66
67
  setInitialized(true);
67
- OneSignal.showSlidedownPrompt().then(() => {
68
- // do other stuff
69
- });
68
+ OneSignal.Slidedown.promptPush();
69
+ // do other stuff
70
70
  })
71
71
  ```
72
72
 
73
73
  ### 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.
74
+ 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.
75
+
76
+ <details>
77
+ <summary>Expand to see more options</summary>
78
+
79
+ | Property Name | Type | Description |
80
+ | ---------------------------| --------------------- | -------------------------------------------------- |
81
+ | `appId` | `string` | The ID of your OneSignal app. |
82
+ | `autoRegister` | `boolean` (optional) | Whether or not to automatically register the user. |
83
+ | `autoResubscribe` | `boolean` (optional) | Whether or not to automatically resubscribe the user. |
84
+ | `path` | `string` (optional) | The path to the OneSignal service worker file. |
85
+ | `serviceWorkerPath` | `string` (optional) | The path to the OneSignal service worker script. |
86
+ | `serviceWorkerUpdaterPath` | `string` (optional) | The path to the OneSignal service worker updater script. |
87
+ | `subdomainName` | `string` (optional) | The subdomain of your OneSignal app. |
88
+ | `allowLocalhostAsSecureOrigin` | `boolean` (optional) | Whether or not to allow localhost as a secure origin. |
89
+ | `requiresUserPrivacyConsent`| `boolean` (optional) | Whether or not the user's consent is required. |
90
+ | `persistNotification` | `boolean` (optional) | Whether or not notifications should persist. |
91
+ | `notificationClickHandlerMatch`| `string` (optional) | The URL match pattern for notification clicks. |
92
+ | `notificationClickHandlerAction`| `string` (optional)| The action to perform when a notification is clicked. |
93
+ | `welcomeNotification` | `object` (optional) | The welcome notification configuration. |
94
+ | `notifyButton` | `object` (optional) | The notify button configuration. |
95
+ | `promptOptions` | `object` (optional) | Additional options for the subscription prompt. |
96
+ | `webhooks` | `object` (optional) | The webhook configuration. |
97
+ | `[key: string]` | `any` | Additional properties can be added as needed. |
75
98
 
76
99
  **Service Worker Params**
77
100
  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 +106,10 @@ In this distribution, you can specify the parameters via the following:
83
106
  | `serviceWorkerParam` | Use to specify the scope, or the path the service worker has control of. Example: `{ scope: "/js/push/onesignal/" }` |
84
107
  | `serviceWorkerPath` | The path to the service worker file. |
85
108
 
109
+ </details>
110
+
111
+ ---
112
+
86
113
  ### Service Worker File
87
114
  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
115
 
@@ -92,76 +119,123 @@ The OneSignal SDK file must be publicly accessible. You can put them in your top
92
119
  Visit `https://yoursite.com/OneSignalSDKWorker.js` in the address bar to make sure the files are being served successfully.
93
120
 
94
121
  ---
95
- ## OneSignal API
96
122
  ### Typescript
97
123
  This package includes Typescript support.
98
124
 
99
125
  ```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>;
126
+ interface IOneSignalOneSignal {
127
+ Slidedown: IOneSignalSlidedown;
128
+ Notifications: IOneSignalNotifications;
129
+ Session: IOneSignalSession;
130
+ User: IOneSignalUser;
131
+ Debug: IOneSignalDebug;
132
+ login(externalId: string, jwtToken?: string): Promise<void>;
133
+ logout(): Promise<void>;
134
+ init(options: IInitObject): Promise<void>;
135
+ setConsentGiven(consent: boolean): Promise<void>;
136
+ setConsentRequired(requiresConsent: boolean): Promise<void>;
138
137
  }
139
138
  ```
140
139
 
141
140
  ### OneSignal API
142
- See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/docs/web-push-sdk) for information on all available SDK functions.
141
+ See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for information on all available SDK functions.
143
142
 
144
143
  ---
145
144
  ## Advanced Usage
146
145
  ### Events and Event Listeners
147
146
  Use listeners to react to OneSignal-related events:
148
147
 
149
- * `subscriptionChange`
150
- * `permissionPromptDisplay`
151
- * `notificationPermissionChange`
152
- * `popoverShown`
153
- * `customPromptClick`
154
- * `notificationDisplay`
155
- * `notificationDismiss`
148
+ ### Notifications Namespace
149
+ | Event Name | Callback Argument Type |
150
+ |-|-|
151
+ |'click' | NotificationClickResult|
152
+ |'foregroundWillDisplay'| NotificationForegroundWillDisplayEvent
153
+ | 'dismiss'| OSNotificationDataPayload|
154
+ |'permissionChange'| boolean|
155
+ |'permissionPromptDisplay'| void|
156
+
157
+ <details>
158
+ <summary>Expand to see associated types</summary>
159
+
160
+ #### `NotificationClickResult`
161
+ | Property | Description |
162
+ |-------------------------|---------------------------------------------|
163
+ | `actionId` | A string representing the action ID associated with the click event |
164
+ | `url` | A string representing the URL associated with the click event |
165
+
166
+ #### `NotificationForegroundWillDisplayEvent`
167
+ | Property | Description |
168
+ |-------------------------|---------------------------------------------|
169
+ | `notification` | An `OSNotification` type object |
170
+
171
+ #### `OSNotification`
172
+ | Property | Description |
173
+ |-----------------------|----------------------------------------------------------------------------------------------------------------------|
174
+ | `id` | Optional string representing the unique identifier of the notification. |
175
+ | `title` | Optional string representing the title of the notification. |
176
+ | `body` | Optional string representing the body of the notification. |
177
+ | `data` | Optional data object associated with the notification. |
178
+ | `url` | Optional string representing the URL to be opened when the notification is clicked. |
179
+ | `icon` | Optional string representing the URL of the icon to be displayed with the notification. |
180
+ | `image` | Optional string representing the URL of the image to be displayed with the notification. |
181
+ | `tag` | Optional string representing a unique identifier for a group of notifications. |
182
+ | `requireInteraction` | Optional boolean indicating whether the notification requires user interaction or not. |
183
+ | `renotify` | Optional boolean indicating whether the notification should be replaced or not, if a notification with the same tag is already displayed. |
184
+ | `actions` | Optional array of `NotificationActionButton` objects representing the action buttons associated with the notification. |
185
+
186
+ #### `NotificationActionButton`
187
+ | Property | Description |
188
+ |-------------|-----------------------------------------------------------------------------------------------|
189
+ | `action` | A string representing the action associated with the button. |
190
+ | `title` | A string representing the title of the button. |
191
+ | `icon` | Optional string representing the URL of the icon to be displayed with the button. |
192
+ | `url` | Optional string representing the URL to be opened when the button is clicked. |
193
+
194
+ #### `OSNotificationDataPayload`
195
+ | Property | Description |
196
+ |-------------|-----------------------------------------------------------------------------------------------|
197
+ | `id` | A string representing the unique identifier of the notification data payload. |
198
+ | `content` | A string representing the content of the notification data payload. |
199
+ | `heading` | Optional string representing the heading of the notification data payload. |
200
+ | `url` | Optional string representing the URL to be opened when the notification data payload is clicked. |
201
+ | `data` | Optional object containing additional data associated with the notification data payload. |
202
+ | `rr` | Optional string with value 'y' or 'n' representing whether or not the notification has [Confirmed Delivery](https://documentation.onesignal.com/docs/confirmed-deliveries). |
203
+ | `icon` | Optional string representing the URL of the icon to be displayed with the notification data payload. |
204
+ | `image` | Optional string representing the URL of the image to be displayed with the notification data payload. |
205
+ | `tag` | Optional string representing a unique identifier for a group of notification data payloads. |
206
+ | `badge` | Optional string representing the URL of the badge to be displayed with the notification data payload. |
207
+ | `vibrate` | Optional array of numbers representing the vibration pattern of the notification data payload. |
208
+ | `buttons` | Optional array of `NotificationButtonData` objects representing the button data associated with the notification data payload. |
209
+
210
+ #### `NotificationButtonData`
211
+ | Property | Description |
212
+ |----------|------------------------------------------------------------------------------------------------------|
213
+ | `url` | A string representing the URL to be opened when the button is clicked. |
214
+ | `id` | A string representing the ID of the action. |
215
+ | `action` | A string representing the type of the action (inherited from `NotificationAction`). |
216
+ | `title` | A string representing the title of the action button (inherited from `NotificationAction`). |
217
+ | `icon` | Optional string representing the URL of the icon to be displayed with the action button. |
218
+
219
+ </details>
220
+
221
+ ### Slidedown Namespace
222
+ | Event Name | Callback Argument Type |
223
+ |-|-|
224
+ |'slidedownShown' | boolean |
225
+
226
+ ### Push Subscription Namespace
227
+ | Event Name | Callback Argument Type |
228
+ |-|-|
229
+ |'change' | boolean |
156
230
 
157
231
  **Example**
158
232
  ```js
159
- OneSignal.on('subscriptionChange', function(isSubscribed) {
160
- console.log("The user's subscription state is now:", isSubscribed);
233
+ OneSignal.Notifications.addEventListener('click', (result) => {
234
+ console.log("The notification was clicked!", result);
161
235
  });
162
236
  ```
163
237
 
164
- See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/docs/web-push-sdk) for all available event listeners.
238
+ See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for all available event listeners.
165
239
 
166
240
  ## Troubleshooting
167
241
  ### `window.OneSignal already defined as 'object'!`
@@ -192,7 +266,7 @@ Reach out to us via our [Discord server](https://discord.com/invite/EP7gf6Uz7G)!
192
266
 
193
267
  ## 📝 License
194
268
 
195
- Copyright © 2022 [OneSignal](https://github.com/OneSignal).<br />
269
+ Copyright © 2023 [OneSignal](https://github.com/OneSignal).<br />
196
270
  This project is [Modified MIT](https://github.com/OneSignal/react-onesignal/blob/master/LICENSE) licensed.
197
271
 
198
272
  ## 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,60 @@ 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';
44
+ interface NotificationButtonData extends NotificationAction {
45
+ url: string;
46
+ }
45
47
  declare type SlidedownEventName = 'slidedownShown';
46
48
  declare type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
49
+ declare type OSNotification = {
50
+ id?: string;
51
+ title?: string;
52
+ body?: string;
53
+ data?: any;
54
+ url?: string;
55
+ icon?: string;
56
+ image?: string;
57
+ tag?: string;
58
+ requireInteraction?: boolean;
59
+ renotify?: true;
60
+ actions?: Array<NotificationActionButton>;
61
+ };
62
+ declare type NotificationActionButton = {
63
+ action: string;
64
+ title: string;
65
+ icon?: string;
66
+ url?: string;
67
+ };
68
+ export declare type NotificationClickResult = {
69
+ actionId?: string;
70
+ url?: string;
71
+ };
72
+ declare type NotificationEventTypeMap = {
73
+ 'click': NotificationClickResult;
74
+ 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;
75
+ 'dismiss': OSNotificationDataPayload;
76
+ 'permissionChange': boolean;
77
+ 'permissionPromptDisplay': void;
78
+ };
79
+ export declare type NotificationForegroundWillDisplayEvent = {
80
+ notification: OSNotification;
81
+ preventDefault(): void;
82
+ };
83
+ declare type OSNotificationDataPayload = {
84
+ id: string;
85
+ content: string;
86
+ heading?: string;
87
+ url?: string;
88
+ data?: object;
89
+ rr?: string;
90
+ icon?: string;
91
+ image?: string;
92
+ tag?: string;
93
+ badge?: string;
94
+ vibrate?: VibratePattern;
95
+ buttons?: NotificationButtonData[];
96
+ };
47
97
  interface IInitObject {
48
98
  appId: string;
49
99
  subdomainName?: string;
@@ -79,13 +129,14 @@ interface IOneSignalOneSignal {
79
129
  setConsentRequired(requiresConsent: boolean): Promise<void>;
80
130
  }
81
131
  interface IOneSignalNotifications {
132
+ permissionNative: NotificationPermission;
133
+ permission: boolean;
82
134
  setDefaultUrl(url: string): Promise<void>;
83
135
  setDefaultTitle(title: string): Promise<void>;
84
136
  isPushSupported(): boolean;
85
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
86
137
  requestPermission(): Promise<void>;
87
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
88
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
138
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
139
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
89
140
  }
90
141
  interface IOneSignalSlidedown {
91
142
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -128,8 +179,8 @@ interface IOneSignalPushSubscription {
128
179
  optedIn: boolean | undefined;
129
180
  optIn(): Promise<void>;
130
181
  optOut(): Promise<void>;
131
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
132
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
182
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
183
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
133
184
  }
134
185
  declare const OneSignal: IOneSignalOneSignal;
135
186
  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';\ninterface NotificationButtonData extends NotificationAction { url: string; };\ntype SlidedownEventName = 'slidedownShown';\ntype OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\ntype OSNotification = { id?: string; title?: string; body?: string; data?: any; url?: string; icon?: string; image?: string; tag?: string; requireInteraction?: boolean; renotify?: true; actions?: Array<NotificationActionButton>; };\ntype NotificationActionButton = { action: string; title: string; icon?: string; url?: string; }\nexport type NotificationClickResult = { actionId?: string; url?: string; }\ntype NotificationEventTypeMap = { 'click': NotificationClickResult; 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent; 'dismiss': OSNotificationDataPayload; 'permissionChange': boolean; 'permissionPromptDisplay': void; };\nexport type NotificationForegroundWillDisplayEvent = { notification: OSNotification; preventDefault(): void; }\ntype OSNotificationDataPayload = { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: VibratePattern; buttons?: NotificationButtonData[]; };\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';\ninterface NotificationButtonData extends NotificationAction { url: string; };\ntype SlidedownEventName = 'slidedownShown';\ntype OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;\ntype OSNotification = { id?: string; title?: string; body?: string; data?: any; url?: string; icon?: string; image?: string; tag?: string; requireInteraction?: boolean; renotify?: true; actions?: Array<NotificationActionButton>; };\ntype NotificationActionButton = { action: string; title: string; icon?: string; url?: string; }\nexport type NotificationClickResult = { actionId?: string; url?: string; }\ntype NotificationEventTypeMap = { 'click': NotificationClickResult; 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent; 'dismiss': OSNotificationDataPayload; 'permissionChange': boolean; 'permissionPromptDisplay': void; };\nexport type NotificationForegroundWillDisplayEvent = { notification: OSNotification; preventDefault(): void; }\ntype OSNotificationDataPayload = { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: VibratePattern; buttons?: NotificationButtonData[]; };\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;AAuGF,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,22 @@ 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';
120
+ interface NotificationButtonData extends NotificationAction { url: string; };
122
121
  type SlidedownEventName = 'slidedownShown';
123
122
  type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
123
+ type OSNotification = { id?: string; title?: string; body?: string; data?: any; url?: string; icon?: string; image?: string; tag?: string; requireInteraction?: boolean; renotify?: true; actions?: Array<NotificationActionButton>; };
124
+ type NotificationActionButton = { action: string; title: string; icon?: string; url?: string; }
125
+ export type NotificationClickResult = { actionId?: string; url?: string; }
126
+ type NotificationEventTypeMap = { 'click': NotificationClickResult; 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent; 'dismiss': OSNotificationDataPayload; 'permissionChange': boolean; 'permissionPromptDisplay': void; };
127
+ export type NotificationForegroundWillDisplayEvent = { notification: OSNotification; preventDefault(): void; }
128
+ type OSNotificationDataPayload = { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: VibratePattern; buttons?: NotificationButtonData[]; };
124
129
 
125
130
  interface IInitObject {
126
131
  appId: string;
@@ -156,13 +161,14 @@ interface IOneSignalOneSignal {
156
161
  setConsentRequired(requiresConsent: boolean): Promise<void>;
157
162
  }
158
163
  interface IOneSignalNotifications {
164
+ permissionNative: NotificationPermission;
165
+ permission: boolean;
159
166
  setDefaultUrl(url: string): Promise<void>;
160
167
  setDefaultTitle(title: string): Promise<void>;
161
168
  isPushSupported(): boolean;
162
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
163
169
  requestPermission(): Promise<void>;
164
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
165
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
170
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
171
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
166
172
  }
167
173
  interface IOneSignalSlidedown {
168
174
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -201,8 +207,8 @@ interface IOneSignalPushSubscription {
201
207
  optedIn: boolean | undefined;
202
208
  optIn(): Promise<void>;
203
209
  optOut(): Promise<void>;
204
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
205
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
210
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
211
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
206
212
  }
207
213
 
208
214
  function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
@@ -415,24 +421,6 @@ function notificationsSetDefaultTitle(title: string): Promise<void> {
415
421
  });
416
422
  }
417
423
 
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
424
  function notificationsRequestPermission(): Promise<void> {
437
425
  return new Promise((resolve, reject) => {
438
426
  if (isOneSignalScriptFailed) {
@@ -451,21 +439,13 @@ function notificationsRequestPermission(): Promise<void> {
451
439
  });
452
440
  }
453
441
 
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 {
442
+ function notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
459
443
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
460
444
  OneSignal.Notifications.addEventListener(event, listener)
461
445
  });
462
446
  }
463
447
 
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 {
448
+ function notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
469
449
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
470
450
  OneSignal.Notifications.removeEventListener(event, listener)
471
451
  });
@@ -615,13 +595,13 @@ function pushSubscriptionOptOut(): Promise<void> {
615
595
  });
616
596
  }
617
597
 
618
- function pushSubscriptionAddEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
598
+ function pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
619
599
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
620
600
  OneSignal.User.PushSubscription.addEventListener(event, listener)
621
601
  });
622
602
  }
623
603
 
624
- function pushSubscriptionRemoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
604
+ function pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
625
605
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
626
606
  OneSignal.User.PushSubscription.removeEventListener(event, listener)
627
607
  });
@@ -678,10 +658,11 @@ const SlidedownNamespace: IOneSignalSlidedown = {
678
658
  };
679
659
 
680
660
  const NotificationsNamespace: IOneSignalNotifications = {
661
+ get permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },
662
+ get permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },
681
663
  setDefaultUrl: notificationsSetDefaultUrl,
682
664
  setDefaultTitle: notificationsSetDefaultTitle,
683
665
  isPushSupported,
684
- getPermissionStatus: notificationsGetPermissionStatus,
685
666
  requestPermission: notificationsRequestPermission,
686
667
  addEventListener: notificationsAddEventListener,
687
668
  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-beta.5",
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" }],