@onesignal/onesignal-vue3 2.0.0-beta.2 → 2.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
@@ -108,15 +108,16 @@ Example:
108
108
  await OneSignal.Notifications.requestPermission();
109
109
  ```
110
110
 
111
- | Sync/Async | Function Name | Description | Argument List |
112
- | ---------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
113
- | `async` | `setDefaultUrl` | Sets the default URL for notifications. | `url` (string) |
114
- | `async` | `setDefaultTitle` | Sets the default title for notifications. | `title` (string) |
115
- | `sync` | `isPushSupported` | Returns true if the current browser supports web push. | |
116
- | `async` | `getPermissionStatus` | Returns the browser's current notification permission. | `onComplete` (Action<NotificationPermission>) |
117
- | `async` | `requestPermission` | Requests push notifications permission via the native browser prompt. | |
118
- | `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) |
119
- | `sync` | `removeEventListener` | Removes the event listener. | `() => {}` (the event listener you want to remove) |
111
+ | Sync/Async | Function / Property | Description | Argument List |
112
+ | ---------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
113
+ | `async` | `setDefaultUrl()` | Sets the default URL for notifications. | `url` (string) |
114
+ | `async` | `setDefaultTitle()` | Sets the default title for notifications. | `title` (string) |
115
+ | `sync` | `isPushSupported()` | Returns true if the current browser supports web push. | |
116
+ | `async` | `requestPermission()` | Requests push notifications permission via the native browser prompt. | |
117
+ | `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) |
118
+ | `sync` | `removeEventListener()` | Removes the event listener. | `() => {}` (the event listener you want to remove) |
119
+ | | `permission` | A boolean representing whether or not the user has granted permission for push notifications. | |
120
+ | | `permissionNative` | A string representing the native push permission status: 'default', 'granted', or 'denied'. | |
120
121
 
121
122
 
122
123
 
@@ -168,6 +169,13 @@ OneSignal.Debug.setLogLevel(“trace”);
168
169
  | `setLogLevel` | Turns on logging with the given log level. | `setLogLevel: string`<br>- `"trace"`<br>- `"debug"`<br>- `"info"`<br>- `"warn"`<br>- `"error"` |
169
170
 
170
171
  # Limitations
172
+ ## May 2023
173
+ ## Version 16 (beta)
174
+ Please test thoroughly prior to production use.
175
+ * Any User namespace calls must be invoked **after** initialization (async). Example: `OneSignal.User.addTag("tag", "2");`
176
+ * HTTP environments are not supported.
177
+ * AMP environments are not supported.
178
+ * Identity verification is not functional.
171
179
 
172
180
  ## January 2023
173
181
  ### Version 16 (alpha)
package/README.md CHANGED
@@ -1,17 +1,30 @@
1
1
  <h1 align="center">welcome to onesignal-vue3 👋</h1>
2
+ <p>
3
+ <a href="https://www.npmjs.com/package/onesignal-vue3" target="_blank">
4
+ <img alt="Version" src="https://img.shields.io/npm/v/onesignal-vue3.svg">
5
+ </a>
6
+ <a href="https://github.com/OneSignal/onesignal-vue3#readme" target="_blank">
7
+ <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
8
+ </a>
9
+ <a href="https://github.com/OneSignal/onesignal-vue3/graphs/commit-activity" target="_blank">
10
+ <img alt="Maintenance" src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" />
11
+ </a>
12
+ <a href="https://twitter.com/onesignal" target="_blank">
13
+ <img alt="Twitter: onesignal" src="https://img.shields.io/twitter/follow/onesignal.svg?style=social" />
14
+ </a>
15
+ </p>
16
+
17
+ > This is a JavaScript module that can be used to easily include [OneSignal](https://onesignal.com/) code in a website or app that uses Vue for its front-end codebase.
2
18
 
3
- [![npm version](https://img.shields.io/npm/v/@onesignal/onesignal-vue3.svg)](https://www.npmjs.com/package/@onesignal/onesignal-vue3) [![npm downloads](https://img.shields.io/npm/dm/@onesignal/onesignal-vue3.svg)](https://www.npmjs.com/package/@onesignal/onesignal-vue3)
4
-
5
- Vue OneSignal Plugin: Make it easy to integrate OneSignal with your Vue App!
6
-
7
- This is a JavaScript module that can be used to easily include [OneSignal](https://onesignal.com/) code in a website or app that uses Vue for its front-end codebase.
19
+ * 🏠 [Homepage](https://onesignal.com)
20
+ * 🖤 [npm](https://www.npmjs.com/package/@onesignal/onesignal-vue3)
8
21
 
9
- OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 800k businesses to send 5 billion Push Notifications per day.
22
+ OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 2 million+ businesses to send 9 billion Push Notifications per day.
10
23
 
11
24
  You can find more information on OneSignal [here](https://onesignal.com/).
12
25
 
13
- * 🏠 [Homepage](https://onesignal.com)
14
- * 🖤 [npm](https://www.npmjs.com/package/@onesignal/onesignal-vue3)
26
+ > 🚧 Version 2 now in Beta!
27
+ See our [migration guide](./MigrationGuide.md) to get started.
15
28
 
16
29
  > 🚧 Version 2 now in Beta!
17
30
  See our [migration guide](./MigrationGuide.md) to get started.
@@ -103,8 +116,31 @@ this.$OneSignal.init({ appId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }).then(()
103
116
  });
104
117
  ```
105
118
 
106
- ### Options
107
- 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.
119
+ ### Init Options
120
+ 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.
121
+
122
+ <details>
123
+ <summary>Expand to see more options</summary>
124
+
125
+ | Property Name | Type | Description |
126
+ | ---------------------------| --------------------- | -------------------------------------------------- |
127
+ | `appId` | `string` | The ID of your OneSignal app. |
128
+ | `autoRegister` | `boolean` (optional) | Whether or not to automatically register the user. |
129
+ | `autoResubscribe` | `boolean` (optional) | Whether or not to automatically resubscribe the user. |
130
+ | `path` | `string` (optional) | The path to the OneSignal service worker file. |
131
+ | `serviceWorkerPath` | `string` (optional) | The path to the OneSignal service worker script. |
132
+ | `serviceWorkerUpdaterPath` | `string` (optional) | The path to the OneSignal service worker updater script. |
133
+ | `subdomainName` | `string` (optional) | The subdomain of your OneSignal app. |
134
+ | `allowLocalhostAsSecureOrigin` | `boolean` (optional) | Whether or not to allow localhost as a secure origin. |
135
+ | `requiresUserPrivacyConsent`| `boolean` (optional) | Whether or not the user's consent is required. |
136
+ | `persistNotification` | `boolean` (optional) | Whether or not notifications should persist. |
137
+ | `notificationClickHandlerMatch`| `string` (optional) | The URL match pattern for notification clicks. |
138
+ | `notificationClickHandlerAction`| `string` (optional)| The action to perform when a notification is clicked. |
139
+ | `welcomeNotification` | `object` (optional) | The welcome notification configuration. |
140
+ | `notifyButton` | `object` (optional) | The notify button configuration. |
141
+ | `promptOptions` | `object` (optional) | Additional options for the subscription prompt. |
142
+ | `webhooks` | `object` (optional) | The webhook configuration. |
143
+ | `[key: string]` | `any` | Additional properties can be added as needed. |
108
144
 
109
145
  **Service Worker Params**
110
146
  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).
@@ -116,6 +152,10 @@ In this distribution, you can specify the parameters via the following:
116
152
  | `serviceWorkerParam` | Use to specify the scope, or the path the service worker has control of. Example: `{ scope: "/js/push/onesignal/" }` |
117
153
  | `serviceWorkerPath` | The path to the service worker file. |
118
154
 
155
+ </details>
156
+
157
+ ---
158
+
119
159
  ### Service Worker File
120
160
  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)).
121
161
 
@@ -127,79 +167,125 @@ Visit `https://yoursite.com/OneSignalSDKWorker.js` in the address bar to make su
127
167
  ### Code completion
128
168
  If IntelliSense is not working as expected in your `.vue` file, try adding an import from the OneSignal plugin.
129
169
 
130
-
131
170
  ![intellisense](https://user-images.githubusercontent.com/11739227/164801900-96592534-f991-49e0-ba36-e02bb04f31b8.png)
132
171
 
133
-
134
172
  ### Typescript
135
173
  This package includes Typescript support.
136
174
 
137
175
  ```ts
138
- interface IOneSignal {
139
- init(options: IInitObject): Promise<void>;
140
- on(event: string, listener: () => void): void;
141
- off(event: string, listener: () => void): void;
142
- once(event: string, listener: () => void): void;
143
- isPushNotificationsEnabled(callback?: Action<boolean>): Promise<boolean>;
144
- showHttpPrompt(options?: AutoPromptOptions): Promise<void>;
145
- registerForPushNotifications(options?: RegisterOptions): Promise<void>;
146
- setDefaultNotificationUrl(url: string): Promise<void>;
147
- setDefaultTitle(title: string): Promise<void>;
148
- getTags(callback?: Action<any>): Promise<void>;
149
- sendTag(key: string, value: any, callback?: Action<Object>): Promise<Object | null>;
150
- sendTags(tags: TagsObject<any>, callback?: Action<Object>): Promise<Object | null>;
151
- deleteTag(tag: string): Promise<Array<string>>;
152
- deleteTags(tags: Array<string>, callback?: Action<Array<string>>): Promise<Array<string>>;
153
- addListenerForNotificationOpened(callback?: Action<Notification>): Promise<void>;
154
- setSubscription(newSubscription: boolean): Promise<void>;
155
- showHttpPermissionRequest(options?: AutoPromptOptions): Promise<any>;
156
- showNativePrompt(): Promise<void>;
157
- showSlidedownPrompt(options?: AutoPromptOptions): Promise<void>;
158
- showCategorySlidedown(options?: AutoPromptOptions): Promise<void>;
159
- showSmsSlidedown(options?: AutoPromptOptions): Promise<void>;
160
- showEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
161
- showSmsAndEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
162
- getNotificationPermission(onComplete?: Function): Promise<NotificationPermission>;
163
- getUserId(callback?: Action<string | undefined | null>): Promise<string | undefined | null>;
164
- getSubscription(callback?: Action<boolean>): Promise<boolean>;
165
- setEmail(email: string, options?: SetEmailOptions): Promise<string | null>;
166
- setSMSNumber(smsNumber: string, options?: SetSMSOptions): Promise<string | null>;
167
- logoutEmail(): Promise<void>;
168
- logoutSMS(): Promise<void>;
169
- setExternalUserId(externalUserId: string | undefined | null, authHash?: string): Promise<void>;
170
- removeExternalUserId(): Promise<void>;
171
- getExternalUserId(): Promise<string | undefined | null>;
172
- provideUserConsent(consent: boolean): Promise<void>;
173
- getEmailId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
174
- getSMSId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
175
- sendOutcome(outcomeName: string, outcomeWeight?: number | undefined): Promise<void>;
176
+ interface IOneSignalOneSignal {
177
+ Slidedown: IOneSignalSlidedown;
178
+ Notifications: IOneSignalNotifications;
179
+ Session: IOneSignalSession;
180
+ User: IOneSignalUser;
181
+ Debug: IOneSignalDebug;
182
+ login(externalId: string, jwtToken?: string): Promise<void>;
183
+ logout(): Promise<void>;
184
+ init(options: IInitObject): Promise<void>;
185
+ setConsentGiven(consent: boolean): Promise<void>;
186
+ setConsentRequired(requiresConsent: boolean): Promise<void>;
176
187
  }
177
188
  ```
178
189
 
179
190
  ### OneSignal API
180
- See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/docs/web-push-sdk) for information on all available SDK functions.
191
+ See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for information on all available SDK functions.
181
192
 
182
193
  ---
183
194
  ## Advanced Usage
184
195
  ### Events and Event Listeners
185
196
  Use listeners to react to OneSignal-related events:
186
197
 
187
- * `subscriptionChange`
188
- * `permissionPromptDisplay`
189
- * `notificationPermissionChange`
190
- * `popoverShown`
191
- * `customPromptClick`
192
- * `notificationDisplay`
193
- * `notificationDismiss`
198
+ ### Notifications Namespace
199
+ | Event Name | Callback Argument Type |
200
+ |-|-|
201
+ |'click' | NotificationClickResult|
202
+ |'foregroundWillDisplay'| NotificationForegroundWillDisplayEvent
203
+ | 'dismiss'| OSNotificationDataPayload|
204
+ |'permissionChange'| boolean|
205
+ |'permissionPromptDisplay'| void|
206
+
207
+ <details>
208
+ <summary>Expand to see associated types</summary>
209
+
210
+ #### `NotificationClickResult`
211
+ | Property | Description |
212
+ |-------------------------|---------------------------------------------|
213
+ | `actionId` | A string representing the action ID associated with the click event |
214
+ | `url` | A string representing the URL associated with the click event |
215
+
216
+ #### `NotificationForegroundWillDisplayEvent`
217
+ | Property | Description |
218
+ |-------------------------|---------------------------------------------|
219
+ | `notification` | An `OSNotification` type object |
220
+
221
+ #### `OSNotification`
222
+ | Property | Description |
223
+ |-----------------------|----------------------------------------------------------------------------------------------------------------------|
224
+ | `id` | Optional string representing the unique identifier of the notification. |
225
+ | `title` | Optional string representing the title of the notification. |
226
+ | `body` | Optional string representing the body of the notification. |
227
+ | `data` | Optional data object associated with the notification. |
228
+ | `url` | Optional string representing the URL to be opened when the notification is clicked. |
229
+ | `icon` | Optional string representing the URL of the icon to be displayed with the notification. |
230
+ | `image` | Optional string representing the URL of the image to be displayed with the notification. |
231
+ | `tag` | Optional string representing a unique identifier for a group of notifications. |
232
+ | `requireInteraction` | Optional boolean indicating whether the notification requires user interaction or not. |
233
+ | `renotify` | Optional boolean indicating whether the notification should be replaced or not, if a notification with the same tag is already displayed. |
234
+ | `actions` | Optional array of `NotificationActionButton` objects representing the action buttons associated with the notification. |
235
+
236
+ #### `NotificationActionButton`
237
+ | Property | Description |
238
+ |-------------|-----------------------------------------------------------------------------------------------|
239
+ | `action` | A string representing the action associated with the button. |
240
+ | `title` | A string representing the title of the button. |
241
+ | `icon` | Optional string representing the URL of the icon to be displayed with the button. |
242
+ | `url` | Optional string representing the URL to be opened when the button is clicked. |
243
+
244
+ #### `OSNotificationDataPayload`
245
+ | Property | Description |
246
+ |-------------|-----------------------------------------------------------------------------------------------|
247
+ | `id` | A string representing the unique identifier of the notification data payload. |
248
+ | `content` | A string representing the content of the notification data payload. |
249
+ | `heading` | Optional string representing the heading of the notification data payload. |
250
+ | `url` | Optional string representing the URL to be opened when the notification data payload is clicked. |
251
+ | `data` | Optional object containing additional data associated with the notification data payload. |
252
+ | `rr` | Optional string with value 'y' or 'n' representing whether or not the notification has [Confirmed Delivery](https://documentation.onesignal.com/docs/confirmed-deliveries). |
253
+ | `icon` | Optional string representing the URL of the icon to be displayed with the notification data payload. |
254
+ | `image` | Optional string representing the URL of the image to be displayed with the notification data payload. |
255
+ | `tag` | Optional string representing a unique identifier for a group of notification data payloads. |
256
+ | `badge` | Optional string representing the URL of the badge to be displayed with the notification data payload. |
257
+ | `vibrate` | Optional array of numbers representing the vibration pattern of the notification data payload. |
258
+ | `buttons` | Optional array of `NotificationButtonData` objects representing the button data associated with the notification data payload. |
259
+
260
+ #### `NotificationButtonData`
261
+ | Property | Description |
262
+ |----------|------------------------------------------------------------------------------------------------------|
263
+ | `url` | A string representing the URL to be opened when the button is clicked. |
264
+ | `id` | A string representing the ID of the action. |
265
+ | `action` | A string representing the type of the action (inherited from `NotificationAction`). |
266
+ | `title` | A string representing the title of the action button (inherited from `NotificationAction`). |
267
+ | `icon` | Optional string representing the URL of the icon to be displayed with the action button. |
268
+
269
+ </details>
270
+
271
+ ### Slidedown Namespace
272
+ | Event Name | Callback Argument Type |
273
+ |-|-|
274
+ |'slidedownShown' | boolean |
275
+
276
+ ### Push Subscription Namespace
277
+ | Event Name | Callback Argument Type |
278
+ |-|-|
279
+ |'change' | boolean |
194
280
 
195
281
  **Example**
196
282
  ```js
197
- this.$OneSignal.on('subscriptionChange', function(isSubscribed) {
198
- console.log("The user's subscription state is now:", isSubscribed);
283
+ this.$OneSignal.Notifications.addEventListener('change', (result) => {
284
+ console.log("The notification was clicked!", result);
199
285
  });
200
286
  ```
201
287
 
202
- See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/docs/web-push-sdk) for all available event listeners.
288
+ See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for all available event listeners.
203
289
 
204
290
  ---
205
291
 
@@ -223,7 +309,7 @@ Reach out to us via our [Discord server](https://discord.com/invite/EP7gf6Uz7G)!
223
309
 
224
310
  ## 📝 License
225
311
 
226
- Copyright © 2022 [OneSignal](https://github.com/OneSignal).<br />
312
+ Copyright © 2023 [OneSignal](https://github.com/OneSignal).<br />
227
313
  This project is [Modified MIT](https://github.com/OneSignal/onesignal-vue3/blob/main/LICENSE) licensed.
228
314
 
229
315
 
package/dist/index.d.ts CHANGED
@@ -13,7 +13,6 @@ declare global {
13
13
  };
14
14
  }
15
15
  }
16
- declare type Action<T> = (item: T) => void;
17
16
  interface AutoPromptOptions {
18
17
  force?: boolean;
19
18
  forceSlidedownOverNative?: boolean;
@@ -47,9 +46,60 @@ declare type SubscriptionChangeEvent = {
47
46
  previous: PushSubscriptionNamespaceProperties;
48
47
  current: PushSubscriptionNamespaceProperties;
49
48
  };
50
- declare type NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
49
+ declare type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
50
+ interface NotificationButtonData extends NotificationAction {
51
+ url: string;
52
+ }
51
53
  declare type SlidedownEventName = 'slidedownShown';
52
54
  declare type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
55
+ declare type OSNotification = {
56
+ id?: string;
57
+ title?: string;
58
+ body?: string;
59
+ data?: any;
60
+ url?: string;
61
+ icon?: string;
62
+ image?: string;
63
+ tag?: string;
64
+ requireInteraction?: boolean;
65
+ renotify?: true;
66
+ actions?: Array<NotificationActionButton>;
67
+ };
68
+ declare type NotificationActionButton = {
69
+ action: string;
70
+ title: string;
71
+ icon?: string;
72
+ url?: string;
73
+ };
74
+ export declare type NotificationClickResult = {
75
+ actionId?: string;
76
+ url?: string;
77
+ };
78
+ declare type NotificationEventTypeMap = {
79
+ 'click': NotificationClickResult;
80
+ 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;
81
+ 'dismiss': OSNotificationDataPayload;
82
+ 'permissionChange': boolean;
83
+ 'permissionPromptDisplay': void;
84
+ };
85
+ export declare type NotificationForegroundWillDisplayEvent = {
86
+ notification: OSNotification;
87
+ preventDefault(): void;
88
+ };
89
+ declare type OSNotificationDataPayload = {
90
+ id: string;
91
+ content: string;
92
+ heading?: string;
93
+ url?: string;
94
+ data?: object;
95
+ rr?: string;
96
+ icon?: string;
97
+ image?: string;
98
+ tag?: string;
99
+ badge?: string;
100
+ vibrate?: VibratePattern;
101
+ buttons?: NotificationButtonData[];
102
+ };
53
103
  interface IInitObject {
54
104
  appId: string;
55
105
  subdomainName?: string;
@@ -85,13 +135,14 @@ interface IOneSignalOneSignal {
85
135
  setConsentRequired(requiresConsent: boolean): Promise<void>;
86
136
  }
87
137
  interface IOneSignalNotifications {
138
+ permissionNative: NotificationPermission;
139
+ permission: boolean;
88
140
  setDefaultUrl(url: string): Promise<void>;
89
141
  setDefaultTitle(title: string): Promise<void>;
90
142
  isPushSupported(): boolean;
91
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
92
143
  requestPermission(): Promise<void>;
93
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
94
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
144
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
145
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
95
146
  }
96
147
  interface IOneSignalSlidedown {
97
148
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -121,6 +172,12 @@ interface IOneSignalUser {
121
172
  removeEmail(email: string): void;
122
173
  addSms(smsNumber: string): void;
123
174
  removeSms(smsNumber: string): void;
175
+ addTag(key: string, value: string): void;
176
+ addTags(tags: {
177
+ [key: string]: string;
178
+ }): void;
179
+ removeTag(key: string): void;
180
+ removeTags(keys: string[]): void;
124
181
  }
125
182
  interface IOneSignalPushSubscription {
126
183
  id: string | null | undefined;
@@ -128,8 +185,8 @@ interface IOneSignalPushSubscription {
128
185
  optedIn: boolean | undefined;
129
186
  optIn(): Promise<void>;
130
187
  optOut(): Promise<void>;
131
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
132
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
188
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
189
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
133
190
  }
134
191
  export declare const useOneSignal: () => IOneSignalOneSignal;
135
192
  declare const OneSignalVuePlugin: {
package/dist/index.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.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;
@@ -289,24 +291,6 @@ function notificationsSetDefaultTitle(title) {
289
291
  }
290
292
  });
291
293
  }
292
- function notificationsGetPermissionStatus(onComplete) {
293
- return new Promise(function (resolve, reject) {
294
- var _a;
295
- if (isOneSignalScriptFailed) {
296
- reject();
297
- }
298
- try {
299
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
300
- OneSignal.Notifications.getPermissionStatus(onComplete)
301
- .then(value => resolve(value))
302
- .catch(error => reject(error));
303
- });
304
- }
305
- catch (error) {
306
- reject(error);
307
- }
308
- });
309
- }
310
294
  function notificationsRequestPermission() {
311
295
  return new Promise(function (resolve, reject) {
312
296
  var _a;
@@ -421,6 +405,30 @@ function userRemoveSms(smsNumber) {
421
405
  OneSignal.User.removeSms(smsNumber);
422
406
  });
423
407
  }
408
+ function userAddTag(key, value) {
409
+ var _a;
410
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
411
+ OneSignal.User.addTag(key, value);
412
+ });
413
+ }
414
+ function userAddTags(tags) {
415
+ var _a;
416
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
417
+ OneSignal.User.addTags(tags);
418
+ });
419
+ }
420
+ function userRemoveTag(key) {
421
+ var _a;
422
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
423
+ OneSignal.User.removeTag(key);
424
+ });
425
+ }
426
+ function userRemoveTags(keys) {
427
+ var _a;
428
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
429
+ OneSignal.User.removeTags(keys);
430
+ });
431
+ }
424
432
  function pushSubscriptionOptIn() {
425
433
  return new Promise(function (resolve, reject) {
426
434
  var _a;
@@ -493,6 +501,10 @@ const UserNamespace = {
493
501
  removeEmail: userRemoveEmail,
494
502
  addSms: userAddSms,
495
503
  removeSms: userRemoveSms,
504
+ addTag: userAddTag,
505
+ addTags: userAddTags,
506
+ removeTag: userRemoveTag,
507
+ removeTags: userRemoveTags,
496
508
  PushSubscription: PushSubscriptionNamespace,
497
509
  };
498
510
  const SessionNamespace = {
@@ -512,10 +524,11 @@ const SlidedownNamespace = {
512
524
  removeEventListener: slidedownRemoveEventListener,
513
525
  };
514
526
  const NotificationsNamespace = {
527
+ 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'; },
528
+ 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; },
515
529
  setDefaultUrl: notificationsSetDefaultUrl,
516
530
  setDefaultTitle: notificationsSetDefaultTitle,
517
531
  isPushSupported,
518
- getPermissionStatus: notificationsGetPermissionStatus,
519
532
  requestPermission: notificationsRequestPermission,
520
533
  addEventListener: notificationsAddEventListener,
521
534
  removeEventListener: notificationsRemoveEventListener,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -10,9 +10,10 @@ let isOneSignalInitialized = false;
10
10
  // OneSignal#init.
11
11
  let isOneSignalScriptFailed = false;
12
12
 
13
- window.OneSignalDeferred = window.OneSignalDeferred || [];
14
-
15
- addSDKScript();
13
+ if (window) {
14
+ window.OneSignalDeferred = window.OneSignalDeferred || [];
15
+ addSDKScript();
16
+ }
16
17
 
17
18
  /* H E L P E R S */
18
19
 
@@ -119,18 +120,22 @@ const isPushSupported = (): boolean => {
119
120
  return isPushNotificationsSupported();
120
121
  }
121
122
 
122
- type Action<T> = (item: T) => void;
123
123
  interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }
124
124
  interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }
125
125
  interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }
126
126
  interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }
127
127
  type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };
128
128
  type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };
129
- type NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
130
- interface NotificationButtonData { action?: string; title?: string; icon?: string; url?: string; }
131
- 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[]; }
129
+ type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
130
+ interface NotificationButtonData extends NotificationAction { url: string; }
132
131
  type SlidedownEventName = 'slidedownShown';
133
132
  type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
133
+ 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>; };
134
+ type NotificationActionButton = { action: string; title: string; icon?: string; url?: string; }
135
+ export type NotificationClickResult = { actionId?: string; url?: string; }
136
+ type NotificationEventTypeMap = { 'click': NotificationClickResult; 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent; 'dismiss': OSNotificationDataPayload; 'permissionChange': boolean; 'permissionPromptDisplay': void; };
137
+ export type NotificationForegroundWillDisplayEvent = { notification: OSNotification; preventDefault(): void; }
138
+ 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[]; };
134
139
 
135
140
  interface IInitObject {
136
141
  appId: string;
@@ -166,13 +171,14 @@ interface IOneSignalOneSignal {
166
171
  setConsentRequired(requiresConsent: boolean): Promise<void>;
167
172
  }
168
173
  interface IOneSignalNotifications {
174
+ permissionNative: NotificationPermission;
175
+ permission: boolean;
169
176
  setDefaultUrl(url: string): Promise<void>;
170
177
  setDefaultTitle(title: string): Promise<void>;
171
178
  isPushSupported(): boolean;
172
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
173
179
  requestPermission(): Promise<void>;
174
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
175
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
180
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
181
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
176
182
  }
177
183
  interface IOneSignalSlidedown {
178
184
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -200,6 +206,10 @@ interface IOneSignalUser {
200
206
  removeEmail(email: string): void;
201
207
  addSms(smsNumber: string): void;
202
208
  removeSms(smsNumber: string): void;
209
+ addTag(key: string, value: string): void;
210
+ addTags(tags: { [key: string]: string }): void;
211
+ removeTag(key: string): void;
212
+ removeTags(keys: string[]): void;
203
213
  }
204
214
  interface IOneSignalPushSubscription {
205
215
  id: string | null | undefined;
@@ -207,8 +217,8 @@ interface IOneSignalPushSubscription {
207
217
  optedIn: boolean | undefined;
208
218
  optIn(): Promise<void>;
209
219
  optOut(): Promise<void>;
210
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
211
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
220
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
221
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
212
222
  }
213
223
 
214
224
  function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
@@ -421,24 +431,6 @@ function notificationsSetDefaultTitle(title: string): Promise<void> {
421
431
  });
422
432
  }
423
433
 
424
- function notificationsGetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission> {
425
- return new Promise(function (resolve, reject) {
426
- if (isOneSignalScriptFailed) {
427
- reject();
428
- }
429
-
430
- try {
431
- window.OneSignalDeferred?.push((OneSignal) => {
432
- OneSignal.Notifications.getPermissionStatus(onComplete)
433
- .then(value => resolve(value))
434
- .catch(error => reject(error));
435
- });
436
- } catch (error) {
437
- reject(error);
438
- }
439
- });
440
- }
441
-
442
434
  function notificationsRequestPermission(): Promise<void> {
443
435
  return new Promise(function (resolve, reject) {
444
436
  if (isOneSignalScriptFailed) {
@@ -457,21 +449,13 @@ function notificationsRequestPermission(): Promise<void> {
457
449
  });
458
450
  }
459
451
 
460
- function notificationsAddEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
461
- function notificationsAddEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
462
- function notificationsAddEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
463
-
464
- function notificationsAddEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
452
+ function notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
465
453
  window.OneSignalDeferred?.push((OneSignal) => {
466
454
  OneSignal.Notifications.addEventListener(event, listener)
467
455
  });
468
456
  }
469
457
 
470
- function notificationsRemoveEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
471
- function notificationsRemoveEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
472
- function notificationsRemoveEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
473
-
474
- function notificationsRemoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
458
+ function notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
475
459
  window.OneSignalDeferred?.push((OneSignal) => {
476
460
  OneSignal.Notifications.removeEventListener(event, listener)
477
461
  });
@@ -561,6 +545,30 @@ function userRemoveSms(smsNumber: string): void {
561
545
  });
562
546
  }
563
547
 
548
+ function userAddTag(key: string, value: string): void {
549
+ window.OneSignalDeferred?.push((OneSignal) => {
550
+ OneSignal.User.addTag(key, value)
551
+ });
552
+ }
553
+
554
+ function userAddTags(tags: { [key: string]: string }): void {
555
+ window.OneSignalDeferred?.push((OneSignal) => {
556
+ OneSignal.User.addTags(tags)
557
+ });
558
+ }
559
+
560
+ function userRemoveTag(key: string): void {
561
+ window.OneSignalDeferred?.push((OneSignal) => {
562
+ OneSignal.User.removeTag(key)
563
+ });
564
+ }
565
+
566
+ function userRemoveTags(keys: string[]): void {
567
+ window.OneSignalDeferred?.push((OneSignal) => {
568
+ OneSignal.User.removeTags(keys)
569
+ });
570
+ }
571
+
564
572
  function pushSubscriptionOptIn(): Promise<void> {
565
573
  return new Promise(function (resolve, reject) {
566
574
  if (isOneSignalScriptFailed) {
@@ -597,13 +605,13 @@ function pushSubscriptionOptOut(): Promise<void> {
597
605
  });
598
606
  }
599
607
 
600
- function pushSubscriptionAddEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
608
+ function pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
601
609
  window.OneSignalDeferred?.push((OneSignal) => {
602
610
  OneSignal.User.PushSubscription.addEventListener(event, listener)
603
611
  });
604
612
  }
605
613
 
606
- function pushSubscriptionRemoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
614
+ function pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
607
615
  window.OneSignalDeferred?.push((OneSignal) => {
608
616
  OneSignal.User.PushSubscription.removeEventListener(event, listener)
609
617
  });
@@ -633,6 +641,10 @@ const UserNamespace: IOneSignalUser = {
633
641
  removeEmail: userRemoveEmail,
634
642
  addSms: userAddSms,
635
643
  removeSms: userRemoveSms,
644
+ addTag: userAddTag,
645
+ addTags: userAddTags,
646
+ removeTag: userRemoveTag,
647
+ removeTags: userRemoveTags,
636
648
  PushSubscription: PushSubscriptionNamespace,
637
649
  };
638
650
 
@@ -656,10 +668,11 @@ const SlidedownNamespace: IOneSignalSlidedown = {
656
668
  };
657
669
 
658
670
  const NotificationsNamespace: IOneSignalNotifications = {
671
+ get permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },
672
+ get permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },
659
673
  setDefaultUrl: notificationsSetDefaultUrl,
660
674
  setDefaultTitle: notificationsSetDefaultTitle,
661
675
  isPushSupported,
662
- getPermissionStatus: notificationsGetPermissionStatus,
663
676
  requestPermission: notificationsRequestPermission,
664
677
  addEventListener: notificationsAddEventListener,
665
678
  removeEventListener: notificationsRemoveEventListener,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onesignal/onesignal-vue3",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.5",
4
4
  "description": "Vue 3 OneSignal Plugin: Make it easy to integrate OneSignal with your Vue App!",
5
5
  "author": "rgomezp",
6
6
  "contributors": [