@novu/js 3.11.0 → 3.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{chunk-QQNKEWGC.js → chunk-MKYWGA37.js} +131 -809
- package/dist/cjs/chunk-WFVHYVDM.js +793 -0
- package/dist/cjs/index.d.ts +3 -4
- package/dist/cjs/index.js +26 -26
- package/dist/cjs/internal/index.d.ts +8 -2
- package/dist/cjs/internal/index.js +8 -4
- package/dist/cjs/novu-CKWESYFZ.d.ts +165 -0
- package/dist/cjs/{novu-ThMWeiRt.d.ts → novu-event-emitter-C7GZ7-r1.d.ts} +220 -163
- package/dist/cjs/themes/index.d.ts +3 -3
- package/dist/cjs/{types-BjANCN3c.d.ts → types-CeLsxWJg.d.ts} +2 -2
- package/dist/cjs/ui/index.d.ts +5 -4
- package/dist/cjs/ui/index.js +12 -12
- package/dist/esm/{chunk-UM35OVAD.mjs → chunk-76A4RQYD.mjs} +99 -771
- package/dist/esm/chunk-GY4JXBST.mjs +765 -0
- package/dist/esm/index.d.mts +3 -4
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/internal/index.d.mts +8 -2
- package/dist/esm/internal/index.mjs +1 -1
- package/dist/esm/novu-3CfttQ8e.d.mts +165 -0
- package/dist/esm/{novu-DY-mm8Og.d.mts → novu-event-emitter-C7GZ7-r1.d.mts} +220 -163
- package/dist/esm/themes/index.d.mts +3 -3
- package/dist/esm/{types-C5eX1GmB.d.mts → types-4YuozpWu.d.mts} +2 -2
- package/dist/esm/ui/index.d.mts +5 -4
- package/dist/esm/ui/index.mjs +4 -4
- package/dist/novu.min.js +12 -12
- package/dist/novu.min.js.gz +0 -0
- package/package.json +17 -17
- package/dist/cjs/chunk-VWSQDNZX.js +0 -66
- package/dist/cjs/types-BM_9Xx5Z.d.ts +0 -220
- package/dist/esm/chunk-RZWQYM3H.mjs +0 -62
- package/dist/esm/types-BM_9Xx5Z.d.mts +0 -220
package/dist/esm/index.d.mts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { N as Notification } from './novu-
|
|
2
|
-
export { E as EventHandler,
|
|
3
|
-
|
|
4
|
-
export { C as ChannelPreference, a as ChannelType, b as Context, D as DaySchedule, c as DefaultSchedule, I as InboxNotification, d as NotificationStatus, e as NovuError, f as NovuOptions, P as PreferenceLevel, g as PreferencesResponse, h as StandardNovuOptions, i as Subscriber, T as TimeRange, U as UnreadCount, W as WebSocketEvent, j as WeeklySchedule, k as WorkflowCriticalityEnum } from './types-BM_9Xx5Z.mjs';
|
|
1
|
+
import { S as SeverityLevelEnum, N as NotificationFilter, a as Notification } from './novu-event-emitter-C7GZ7-r1.mjs';
|
|
2
|
+
export { C as ChannelPreference, d as ChannelType, e as Context, D as DaySchedule, f as DefaultSchedule, E as EventHandler, b as Events, F as FiltersCountResponse, I as InboxNotification, L as ListNotificationsResponse, g as NotificationStatus, h as NovuError, i as NovuOptions, P as Preference, j as PreferenceLevel, k as PreferencesResponse, l as Schedule, c as SocketEventNames, m as StandardNovuOptions, n as Subscriber, T as TimeRange, U as UnreadCount, W as WebSocketEvent, o as WeeklySchedule, p as WorkflowCriticalityEnum } from './novu-event-emitter-C7GZ7-r1.mjs';
|
|
3
|
+
export { N as Novu } from './novu-3CfttQ8e.mjs';
|
|
5
4
|
|
|
6
5
|
declare const areTagsEqual: (tags1?: string[], tags2?: string[]) => boolean;
|
|
7
6
|
declare const areSeveritiesEqual: (el1?: SeverityLevelEnum | SeverityLevelEnum[], el2?: SeverityLevelEnum | SeverityLevelEnum[]) => boolean;
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export { Novu, areSeveritiesEqual, areTagsEqual, checkNotificationDataFilter, checkNotificationMatchesFilter, isSameFilter } from './chunk-76A4RQYD.mjs';
|
|
2
|
+
export { ChannelType, NotificationStatus, PreferenceLevel, SeverityLevelEnum, WebSocketEvent, WorkflowCriticalityEnum } from './chunk-GY4JXBST.mjs';
|
|
3
3
|
import './chunk-STZMOEWR.mjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { e as Context, n as Subscriber, r as NovuEventEmitter, q as InboxService, I as InboxNotification, a as Notification } from '../novu-event-emitter-C7GZ7-r1.mjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Builds a compact, stable string key from context objects by extracting only type:id pairs.
|
|
@@ -19,10 +19,16 @@ declare function buildSubscriber({ subscriberId, subscriber, }: {
|
|
|
19
19
|
subscriber: Subscriber | string | undefined;
|
|
20
20
|
}): Subscriber;
|
|
21
21
|
|
|
22
|
+
declare function createNotification({ emitter, inboxService, notification, }: {
|
|
23
|
+
emitter: NovuEventEmitter;
|
|
24
|
+
inboxService: InboxService;
|
|
25
|
+
notification: InboxNotification;
|
|
26
|
+
}): Notification;
|
|
27
|
+
|
|
22
28
|
interface Token {
|
|
23
29
|
type: 'bold' | 'text';
|
|
24
30
|
content: string;
|
|
25
31
|
}
|
|
26
32
|
declare const parseMarkdownIntoTokens: (text: string) => Token[];
|
|
27
33
|
|
|
28
|
-
export { type Token, buildContextKey, buildSubscriber, parseMarkdownIntoTokens };
|
|
34
|
+
export { type Token, buildContextKey, buildSubscriber, createNotification, parseMarkdownIntoTokens };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { buildContextKey, buildSubscriber, parseMarkdownIntoTokens } from '../chunk-
|
|
1
|
+
export { buildContextKey, buildSubscriber, createNotification, parseMarkdownIntoTokens } from '../chunk-GY4JXBST.mjs';
|
|
2
2
|
import '../chunk-STZMOEWR.mjs';
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { q as InboxService, r as NovuEventEmitter, s as Session, R as Result, t as ScheduleCache, l as Schedule, u as UpdateScheduleArgs, v as PreferencesCache, w as ListPreferencesArgs, P as Preference, B as BasePreferenceArgs, x as InstancePreferenceArgs, y as ListNotificationsArgs, L as ListNotificationsResponse, I as InboxNotification, a as Notification, N as NotificationFilter, z as FilterCountArgs, A as FilterCountResponse, G as FiltersCountArgs, F as FiltersCountResponse, H as BaseArgs, J as InstanceArgs, K as SnoozeArgs, c as SocketEventNames, M as EventNames, E as EventHandler, b as Events, O as ContextValue, i as NovuOptions, n as Subscriber, e as Context } from './novu-event-emitter-C7GZ7-r1.mjs';
|
|
2
|
+
|
|
3
|
+
declare class BaseModule {
|
|
4
|
+
#private;
|
|
5
|
+
_inboxService: InboxService;
|
|
6
|
+
_emitter: NovuEventEmitter;
|
|
7
|
+
constructor({ inboxServiceInstance, eventEmitterInstance, }: {
|
|
8
|
+
inboxServiceInstance: InboxService;
|
|
9
|
+
eventEmitterInstance: NovuEventEmitter;
|
|
10
|
+
});
|
|
11
|
+
protected onSessionSuccess(_: Session): void;
|
|
12
|
+
protected onSessionError(_: unknown): void;
|
|
13
|
+
callWithSession<T>(fn: () => Result<T>): Result<T>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare class PreferenceSchedule extends BaseModule {
|
|
17
|
+
#private;
|
|
18
|
+
readonly cache: ScheduleCache;
|
|
19
|
+
constructor({ cache, useCache, inboxServiceInstance, eventEmitterInstance, }: {
|
|
20
|
+
cache: ScheduleCache;
|
|
21
|
+
useCache: boolean;
|
|
22
|
+
inboxServiceInstance: InboxService;
|
|
23
|
+
eventEmitterInstance: NovuEventEmitter;
|
|
24
|
+
});
|
|
25
|
+
get(): Result<Schedule>;
|
|
26
|
+
update(args: UpdateScheduleArgs): Result<Schedule>;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare class Preferences extends BaseModule {
|
|
30
|
+
#private;
|
|
31
|
+
readonly cache: PreferencesCache;
|
|
32
|
+
readonly scheduleCache: ScheduleCache;
|
|
33
|
+
readonly schedule: PreferenceSchedule;
|
|
34
|
+
constructor({ useCache, inboxServiceInstance, eventEmitterInstance, }: {
|
|
35
|
+
useCache: boolean;
|
|
36
|
+
inboxServiceInstance: InboxService;
|
|
37
|
+
eventEmitterInstance: NovuEventEmitter;
|
|
38
|
+
});
|
|
39
|
+
list(args?: ListPreferencesArgs): Result<Preference[]>;
|
|
40
|
+
update(args: BasePreferenceArgs): Result<Preference>;
|
|
41
|
+
update(args: InstancePreferenceArgs): Result<Preference>;
|
|
42
|
+
bulkUpdate(args: Array<BasePreferenceArgs>): Result<Preference[]>;
|
|
43
|
+
bulkUpdate(args: Array<InstancePreferenceArgs>): Result<Preference[]>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare class NotificationsCache {
|
|
47
|
+
#private;
|
|
48
|
+
constructor({ emitter, inboxService }: {
|
|
49
|
+
emitter: NovuEventEmitter;
|
|
50
|
+
inboxService: InboxService;
|
|
51
|
+
});
|
|
52
|
+
private updateNotification;
|
|
53
|
+
private removeNotification;
|
|
54
|
+
private handleNotificationEvent;
|
|
55
|
+
private getAggregated;
|
|
56
|
+
get(args: ListNotificationsArgs): ListNotificationsResponse | undefined;
|
|
57
|
+
has(args: ListNotificationsArgs): boolean;
|
|
58
|
+
set(args: ListNotificationsArgs, data: ListNotificationsResponse): void;
|
|
59
|
+
unshift(args: ListNotificationsArgs, notification: InboxNotification): void;
|
|
60
|
+
update(args: ListNotificationsArgs, data: ListNotificationsResponse): void;
|
|
61
|
+
getAll(args: ListNotificationsArgs): ListNotificationsResponse | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Get unique notifications based on specified filter fields.
|
|
64
|
+
* The same tags and data can be applied to multiple filters which means that the same notification can be duplicated.
|
|
65
|
+
*/
|
|
66
|
+
getUniqueNotifications({ tags, read, data, }: Pick<ListNotificationsArgs, 'tags' | 'read' | 'data'>): Array<Notification>;
|
|
67
|
+
clear(filter: NotificationFilter): void;
|
|
68
|
+
clearAll(): void;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
declare class Notifications extends BaseModule {
|
|
72
|
+
#private;
|
|
73
|
+
readonly cache: NotificationsCache;
|
|
74
|
+
constructor({ useCache, inboxServiceInstance, eventEmitterInstance, }: {
|
|
75
|
+
useCache: boolean;
|
|
76
|
+
inboxServiceInstance: InboxService;
|
|
77
|
+
eventEmitterInstance: NovuEventEmitter;
|
|
78
|
+
});
|
|
79
|
+
list({ limit, ...restOptions }?: ListNotificationsArgs): Result<ListNotificationsResponse>;
|
|
80
|
+
count(args?: FilterCountArgs): Result<FilterCountResponse>;
|
|
81
|
+
count(args?: FiltersCountArgs): Result<FiltersCountResponse>;
|
|
82
|
+
read(args: BaseArgs): Result<Notification>;
|
|
83
|
+
read(args: InstanceArgs): Result<Notification>;
|
|
84
|
+
unread(args: BaseArgs): Result<Notification>;
|
|
85
|
+
unread(args: InstanceArgs): Result<Notification>;
|
|
86
|
+
seen(args: BaseArgs): Result<Notification>;
|
|
87
|
+
seen(args: InstanceArgs): Result<Notification>;
|
|
88
|
+
archive(args: BaseArgs): Result<Notification>;
|
|
89
|
+
archive(args: InstanceArgs): Result<Notification>;
|
|
90
|
+
unarchive(args: BaseArgs): Result<Notification>;
|
|
91
|
+
unarchive(args: InstanceArgs): Result<Notification>;
|
|
92
|
+
delete(args: BaseArgs): Result<void>;
|
|
93
|
+
delete(args: InstanceArgs): Result<void>;
|
|
94
|
+
snooze(args: SnoozeArgs): Result<Notification>;
|
|
95
|
+
unsnooze(args: BaseArgs): Result<Notification>;
|
|
96
|
+
unsnooze(args: InstanceArgs): Result<Notification>;
|
|
97
|
+
completePrimary(args: BaseArgs): Result<Notification>;
|
|
98
|
+
completePrimary(args: InstanceArgs): Result<Notification>;
|
|
99
|
+
completeSecondary(args: BaseArgs): Result<Notification>;
|
|
100
|
+
completeSecondary(args: InstanceArgs): Result<Notification>;
|
|
101
|
+
revertPrimary(args: BaseArgs): Result<Notification>;
|
|
102
|
+
revertPrimary(args: InstanceArgs): Result<Notification>;
|
|
103
|
+
revertSecondary(args: BaseArgs): Result<Notification>;
|
|
104
|
+
revertSecondary(args: InstanceArgs): Result<Notification>;
|
|
105
|
+
readAll({ tags, data, }?: {
|
|
106
|
+
tags?: NotificationFilter['tags'];
|
|
107
|
+
data?: Record<string, unknown>;
|
|
108
|
+
}): Result<void>;
|
|
109
|
+
seenAll(args?: {
|
|
110
|
+
notificationIds: string[];
|
|
111
|
+
} | {
|
|
112
|
+
tags?: NotificationFilter['tags'];
|
|
113
|
+
data?: Record<string, unknown>;
|
|
114
|
+
} | {}): Result<void>;
|
|
115
|
+
archiveAll({ tags, data, }?: {
|
|
116
|
+
tags?: NotificationFilter['tags'];
|
|
117
|
+
data?: Record<string, unknown>;
|
|
118
|
+
}): Result<void>;
|
|
119
|
+
archiveAllRead({ tags, data }?: {
|
|
120
|
+
tags?: string[];
|
|
121
|
+
data?: Record<string, unknown>;
|
|
122
|
+
}): Result<void>;
|
|
123
|
+
deleteAll({ tags, data, }?: {
|
|
124
|
+
tags?: NotificationFilter['tags'];
|
|
125
|
+
data?: Record<string, unknown>;
|
|
126
|
+
}): Result<void>;
|
|
127
|
+
clearCache({ filter }?: {
|
|
128
|
+
filter?: NotificationFilter;
|
|
129
|
+
}): void;
|
|
130
|
+
triggerHelloWorldEvent(): Promise<any>;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
interface BaseSocketInterface {
|
|
134
|
+
isSocketEvent(eventName: string): eventName is SocketEventNames;
|
|
135
|
+
connect(): Result<void>;
|
|
136
|
+
disconnect(): Result<void>;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
declare class Novu implements Pick<NovuEventEmitter, 'on'> {
|
|
140
|
+
#private;
|
|
141
|
+
readonly notifications: Notifications;
|
|
142
|
+
readonly preferences: Preferences;
|
|
143
|
+
readonly socket: BaseSocketInterface;
|
|
144
|
+
on: <Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>) => () => void;
|
|
145
|
+
/**
|
|
146
|
+
* @deprecated
|
|
147
|
+
* Use the cleanup function returned by the "on" method instead.
|
|
148
|
+
*/
|
|
149
|
+
off: <Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>) => void;
|
|
150
|
+
get applicationIdentifier(): string | undefined;
|
|
151
|
+
get subscriberId(): string | undefined;
|
|
152
|
+
get context(): Partial<Record<string, ContextValue>> | undefined;
|
|
153
|
+
get contextKey(): string;
|
|
154
|
+
constructor(options: NovuOptions);
|
|
155
|
+
changeSubscriber(options: {
|
|
156
|
+
subscriber: Subscriber;
|
|
157
|
+
subscriberHash?: string;
|
|
158
|
+
}): Promise<void>;
|
|
159
|
+
changeContext(options: {
|
|
160
|
+
context: Context;
|
|
161
|
+
contextHash?: string;
|
|
162
|
+
}): Promise<void>;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export { Novu as N };
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { j as WeeklySchedule, S as SeverityLevelEnum, k as WorkflowCriticalityEnum, C as ChannelPreference, l as Session, R as Result, P as PreferenceLevel, m as Workflow, n as Prettify, i as Subscriber, c as DefaultSchedule, b as Context, I as InboxNotification, N as NotificationFilter, A as ActionTypeEnum, g as PreferencesResponse, W as WebSocketEvent, o as ContextValue, f as NovuOptions } from './types-BM_9Xx5Z.mjs';
|
|
2
|
-
|
|
3
1
|
type HttpClientOptions = {
|
|
4
2
|
apiVersion?: string;
|
|
5
3
|
apiUrl?: string;
|
|
@@ -7,6 +5,11 @@ type HttpClientOptions = {
|
|
|
7
5
|
headers?: Record<string, string>;
|
|
8
6
|
};
|
|
9
7
|
|
|
8
|
+
declare class NovuError extends Error {
|
|
9
|
+
originalError: Error;
|
|
10
|
+
constructor(message: string, originalError: unknown);
|
|
11
|
+
}
|
|
12
|
+
|
|
10
13
|
type ListPreferencesArgs = {
|
|
11
14
|
tags?: string[];
|
|
12
15
|
severity?: SeverityLevelEnum | SeverityLevelEnum[];
|
|
@@ -41,19 +44,6 @@ declare class PreferencesCache {
|
|
|
41
44
|
clearAll(): void;
|
|
42
45
|
}
|
|
43
46
|
|
|
44
|
-
declare class BaseModule {
|
|
45
|
-
#private;
|
|
46
|
-
protected _inboxService: InboxService;
|
|
47
|
-
protected _emitter: NovuEventEmitter;
|
|
48
|
-
constructor({ inboxServiceInstance, eventEmitterInstance, }: {
|
|
49
|
-
inboxServiceInstance: InboxService;
|
|
50
|
-
eventEmitterInstance: NovuEventEmitter;
|
|
51
|
-
});
|
|
52
|
-
protected onSessionSuccess(_: Session): void;
|
|
53
|
-
protected onSessionError(_: unknown): void;
|
|
54
|
-
callWithSession<T>(fn: () => Result<T>): Result<T>;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
47
|
type ScheduleLike = Partial<Pick<Schedule, 'isEnabled' | 'weeklySchedule'>>;
|
|
58
48
|
declare class Schedule {
|
|
59
49
|
#private;
|
|
@@ -68,36 +58,6 @@ declare class Schedule {
|
|
|
68
58
|
update(args: UpdateScheduleArgs): Result<Schedule>;
|
|
69
59
|
}
|
|
70
60
|
|
|
71
|
-
declare class PreferenceSchedule extends BaseModule {
|
|
72
|
-
#private;
|
|
73
|
-
readonly cache: ScheduleCache;
|
|
74
|
-
constructor({ cache, useCache, inboxServiceInstance, eventEmitterInstance, }: {
|
|
75
|
-
cache: ScheduleCache;
|
|
76
|
-
useCache: boolean;
|
|
77
|
-
inboxServiceInstance: InboxService;
|
|
78
|
-
eventEmitterInstance: NovuEventEmitter;
|
|
79
|
-
});
|
|
80
|
-
get(): Result<Schedule>;
|
|
81
|
-
update(args: UpdateScheduleArgs): Result<Schedule>;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
declare class Preferences extends BaseModule {
|
|
85
|
-
#private;
|
|
86
|
-
readonly cache: PreferencesCache;
|
|
87
|
-
readonly scheduleCache: ScheduleCache;
|
|
88
|
-
readonly schedule: PreferenceSchedule;
|
|
89
|
-
constructor({ useCache, inboxServiceInstance, eventEmitterInstance, }: {
|
|
90
|
-
useCache: boolean;
|
|
91
|
-
inboxServiceInstance: InboxService;
|
|
92
|
-
eventEmitterInstance: NovuEventEmitter;
|
|
93
|
-
});
|
|
94
|
-
list(args?: ListPreferencesArgs): Result<Preference[]>;
|
|
95
|
-
update(args: BasePreferenceArgs): Result<Preference>;
|
|
96
|
-
update(args: InstancePreferenceArgs): Result<Preference>;
|
|
97
|
-
bulkUpdate(args: Array<BasePreferenceArgs>): Result<Preference[]>;
|
|
98
|
-
bulkUpdate(args: Array<InstancePreferenceArgs>): Result<Preference[]>;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
61
|
declare class ScheduleCache {
|
|
102
62
|
#private;
|
|
103
63
|
constructor({ emitterInstance }: {
|
|
@@ -134,6 +94,220 @@ declare class Preference {
|
|
|
134
94
|
}>): Result<Preference>;
|
|
135
95
|
}
|
|
136
96
|
|
|
97
|
+
declare global {
|
|
98
|
+
/**
|
|
99
|
+
* If you want to provide custom types for the notification.data object,
|
|
100
|
+
* simply redeclare this rule in the global namespace.
|
|
101
|
+
* Every notification object will use the provided type.
|
|
102
|
+
*/
|
|
103
|
+
interface NotificationData {
|
|
104
|
+
[k: string]: unknown;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
declare enum NotificationStatus {
|
|
108
|
+
READ = "read",
|
|
109
|
+
SEEN = "seen",
|
|
110
|
+
SNOOZED = "snoozed",
|
|
111
|
+
UNREAD = "unread",
|
|
112
|
+
UNSEEN = "unseen",
|
|
113
|
+
UNSNOOZED = "unsnoozed"
|
|
114
|
+
}
|
|
115
|
+
declare enum PreferenceLevel {
|
|
116
|
+
GLOBAL = "global",
|
|
117
|
+
TEMPLATE = "template"
|
|
118
|
+
}
|
|
119
|
+
declare enum ChannelType {
|
|
120
|
+
IN_APP = "in_app",
|
|
121
|
+
EMAIL = "email",
|
|
122
|
+
SMS = "sms",
|
|
123
|
+
CHAT = "chat",
|
|
124
|
+
PUSH = "push"
|
|
125
|
+
}
|
|
126
|
+
declare enum WebSocketEvent {
|
|
127
|
+
RECEIVED = "notification_received",
|
|
128
|
+
UNREAD = "unread_count_changed",
|
|
129
|
+
UNSEEN = "unseen_count_changed"
|
|
130
|
+
}
|
|
131
|
+
declare enum SeverityLevelEnum {
|
|
132
|
+
HIGH = "high",
|
|
133
|
+
MEDIUM = "medium",
|
|
134
|
+
LOW = "low",
|
|
135
|
+
NONE = "none"
|
|
136
|
+
}
|
|
137
|
+
declare enum WorkflowCriticalityEnum {
|
|
138
|
+
CRITICAL = "critical",
|
|
139
|
+
NON_CRITICAL = "nonCritical",
|
|
140
|
+
ALL = "all"
|
|
141
|
+
}
|
|
142
|
+
type UnreadCount = {
|
|
143
|
+
total: number;
|
|
144
|
+
severity: Record<SeverityLevelEnum, number>;
|
|
145
|
+
};
|
|
146
|
+
type Session = {
|
|
147
|
+
token: string;
|
|
148
|
+
/** @deprecated Use unreadCount.total instead */
|
|
149
|
+
totalUnreadCount: number;
|
|
150
|
+
unreadCount: UnreadCount;
|
|
151
|
+
removeNovuBranding: boolean;
|
|
152
|
+
isDevelopmentMode: boolean;
|
|
153
|
+
maxSnoozeDurationHours: number;
|
|
154
|
+
applicationIdentifier?: string;
|
|
155
|
+
contextKeys?: string[];
|
|
156
|
+
};
|
|
157
|
+
type Subscriber = {
|
|
158
|
+
id?: string;
|
|
159
|
+
subscriberId: string;
|
|
160
|
+
firstName?: string;
|
|
161
|
+
lastName?: string;
|
|
162
|
+
email?: string;
|
|
163
|
+
phone?: string;
|
|
164
|
+
avatar?: string;
|
|
165
|
+
locale?: string;
|
|
166
|
+
data?: Record<string, unknown>;
|
|
167
|
+
timezone?: string;
|
|
168
|
+
};
|
|
169
|
+
type Redirect = {
|
|
170
|
+
url: string;
|
|
171
|
+
target?: '_self' | '_blank' | '_parent' | '_top' | '_unfencedTop';
|
|
172
|
+
};
|
|
173
|
+
declare enum ActionTypeEnum {
|
|
174
|
+
PRIMARY = "primary",
|
|
175
|
+
SECONDARY = "secondary"
|
|
176
|
+
}
|
|
177
|
+
type Action = {
|
|
178
|
+
label: string;
|
|
179
|
+
isCompleted: boolean;
|
|
180
|
+
redirect?: Redirect;
|
|
181
|
+
};
|
|
182
|
+
type Workflow = {
|
|
183
|
+
id: string;
|
|
184
|
+
identifier: string;
|
|
185
|
+
name: string;
|
|
186
|
+
critical: boolean;
|
|
187
|
+
tags?: string[];
|
|
188
|
+
severity: SeverityLevelEnum;
|
|
189
|
+
};
|
|
190
|
+
type InboxNotification = {
|
|
191
|
+
id: string;
|
|
192
|
+
transactionId: string;
|
|
193
|
+
subject?: string;
|
|
194
|
+
body: string;
|
|
195
|
+
to: Subscriber;
|
|
196
|
+
isRead: boolean;
|
|
197
|
+
isSeen: boolean;
|
|
198
|
+
isArchived: boolean;
|
|
199
|
+
isSnoozed: boolean;
|
|
200
|
+
snoozedUntil?: string | null;
|
|
201
|
+
deliveredAt?: string[];
|
|
202
|
+
createdAt: string;
|
|
203
|
+
readAt?: string | null;
|
|
204
|
+
firstSeenAt?: string | null;
|
|
205
|
+
archivedAt?: string | null;
|
|
206
|
+
avatar?: string;
|
|
207
|
+
primaryAction?: Action;
|
|
208
|
+
secondaryAction?: Action;
|
|
209
|
+
channelType: ChannelType;
|
|
210
|
+
tags?: string[];
|
|
211
|
+
data?: NotificationData;
|
|
212
|
+
redirect?: Redirect;
|
|
213
|
+
workflow?: Workflow;
|
|
214
|
+
severity: SeverityLevelEnum;
|
|
215
|
+
};
|
|
216
|
+
type NotificationFilter = {
|
|
217
|
+
tags?: string[];
|
|
218
|
+
read?: boolean;
|
|
219
|
+
archived?: boolean;
|
|
220
|
+
snoozed?: boolean;
|
|
221
|
+
seen?: boolean;
|
|
222
|
+
data?: Record<string, unknown>;
|
|
223
|
+
severity?: SeverityLevelEnum | SeverityLevelEnum[];
|
|
224
|
+
};
|
|
225
|
+
type ChannelPreference = {
|
|
226
|
+
email?: boolean;
|
|
227
|
+
sms?: boolean;
|
|
228
|
+
in_app?: boolean;
|
|
229
|
+
chat?: boolean;
|
|
230
|
+
push?: boolean;
|
|
231
|
+
};
|
|
232
|
+
type TimeRange = {
|
|
233
|
+
start: string;
|
|
234
|
+
end: string;
|
|
235
|
+
};
|
|
236
|
+
type DaySchedule = {
|
|
237
|
+
isEnabled: boolean;
|
|
238
|
+
hours?: Array<TimeRange>;
|
|
239
|
+
};
|
|
240
|
+
type WeeklySchedule = {
|
|
241
|
+
monday?: DaySchedule;
|
|
242
|
+
tuesday?: DaySchedule;
|
|
243
|
+
wednesday?: DaySchedule;
|
|
244
|
+
thursday?: DaySchedule;
|
|
245
|
+
friday?: DaySchedule;
|
|
246
|
+
saturday?: DaySchedule;
|
|
247
|
+
sunday?: DaySchedule;
|
|
248
|
+
};
|
|
249
|
+
type DefaultSchedule = {
|
|
250
|
+
isEnabled?: boolean;
|
|
251
|
+
weeklySchedule?: WeeklySchedule;
|
|
252
|
+
};
|
|
253
|
+
type ContextValue = string | {
|
|
254
|
+
id: string;
|
|
255
|
+
data?: Record<string, unknown>;
|
|
256
|
+
};
|
|
257
|
+
type Context = Partial<Record<string, ContextValue>>;
|
|
258
|
+
type PreferencesResponse = {
|
|
259
|
+
level: PreferenceLevel;
|
|
260
|
+
enabled: boolean;
|
|
261
|
+
channels: ChannelPreference;
|
|
262
|
+
overrides?: IPreferenceOverride[];
|
|
263
|
+
workflow?: Workflow;
|
|
264
|
+
schedule?: {
|
|
265
|
+
isEnabled: boolean;
|
|
266
|
+
weeklySchedule?: WeeklySchedule;
|
|
267
|
+
};
|
|
268
|
+
};
|
|
269
|
+
declare enum PreferenceOverrideSourceEnum {
|
|
270
|
+
SUBSCRIBER = "subscriber",
|
|
271
|
+
TEMPLATE = "template",
|
|
272
|
+
WORKFLOW_OVERRIDE = "workflowOverride"
|
|
273
|
+
}
|
|
274
|
+
type IPreferenceOverride = {
|
|
275
|
+
channel: ChannelType;
|
|
276
|
+
source: PreferenceOverrideSourceEnum;
|
|
277
|
+
};
|
|
278
|
+
type Result<D = undefined, E = NovuError> = Promise<{
|
|
279
|
+
data?: D;
|
|
280
|
+
error?: E;
|
|
281
|
+
}>;
|
|
282
|
+
type KeylessNovuOptions = {} & {
|
|
283
|
+
[K in string]?: never;
|
|
284
|
+
};
|
|
285
|
+
type StandardNovuOptions = {
|
|
286
|
+
/** @deprecated Use apiUrl instead */
|
|
287
|
+
backendUrl?: string;
|
|
288
|
+
/** @internal Should be used internally for testing purposes */
|
|
289
|
+
__userAgent?: string;
|
|
290
|
+
applicationIdentifier: string;
|
|
291
|
+
subscriberHash?: string;
|
|
292
|
+
contextHash?: string;
|
|
293
|
+
apiUrl?: string;
|
|
294
|
+
socketUrl?: string;
|
|
295
|
+
useCache?: boolean;
|
|
296
|
+
defaultSchedule?: DefaultSchedule;
|
|
297
|
+
context?: Context;
|
|
298
|
+
} & ({
|
|
299
|
+
/** @deprecated Use subscriber prop instead */
|
|
300
|
+
subscriberId: string;
|
|
301
|
+
subscriber?: never;
|
|
302
|
+
} | {
|
|
303
|
+
subscriber: Subscriber | string;
|
|
304
|
+
subscriberId?: never;
|
|
305
|
+
});
|
|
306
|
+
type NovuOptions = KeylessNovuOptions | StandardNovuOptions;
|
|
307
|
+
type Prettify<T> = {
|
|
308
|
+
[K in keyof T]: T[K];
|
|
309
|
+
} & {};
|
|
310
|
+
|
|
137
311
|
type InboxServiceOptions = HttpClientOptions;
|
|
138
312
|
declare class InboxService {
|
|
139
313
|
#private;
|
|
@@ -285,28 +459,6 @@ declare class Notification implements Pick<NovuEventEmitter, 'on'>, InboxNotific
|
|
|
285
459
|
off<Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>): void;
|
|
286
460
|
}
|
|
287
461
|
|
|
288
|
-
declare class NotificationsCache {
|
|
289
|
-
#private;
|
|
290
|
-
constructor({ emitter }: {
|
|
291
|
-
emitter: NovuEventEmitter;
|
|
292
|
-
});
|
|
293
|
-
private updateNotification;
|
|
294
|
-
private removeNotification;
|
|
295
|
-
private handleNotificationEvent;
|
|
296
|
-
private getAggregated;
|
|
297
|
-
has(args: ListNotificationsArgs): boolean;
|
|
298
|
-
set(args: ListNotificationsArgs, data: ListNotificationsResponse): void;
|
|
299
|
-
update(args: ListNotificationsArgs, data: ListNotificationsResponse): void;
|
|
300
|
-
getAll(args: ListNotificationsArgs): ListNotificationsResponse | undefined;
|
|
301
|
-
/**
|
|
302
|
-
* Get unique notifications based on specified filter fields.
|
|
303
|
-
* The same tags and data can be applied to multiple filters which means that the same notification can be duplicated.
|
|
304
|
-
*/
|
|
305
|
-
getUniqueNotifications({ tags, read, data, }: Pick<ListNotificationsArgs, 'tags' | 'read' | 'data'>): Array<Notification>;
|
|
306
|
-
clear(filter: NotificationFilter): void;
|
|
307
|
-
clearAll(): void;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
462
|
type ListNotificationsArgs = {
|
|
311
463
|
tags?: string[];
|
|
312
464
|
read?: boolean;
|
|
@@ -376,69 +528,6 @@ type UnsnoozeArgs = BaseArgs | InstanceArgs;
|
|
|
376
528
|
type CompleteArgs = BaseArgs | InstanceArgs;
|
|
377
529
|
type RevertArgs = BaseArgs | InstanceArgs;
|
|
378
530
|
|
|
379
|
-
declare class Notifications extends BaseModule {
|
|
380
|
-
#private;
|
|
381
|
-
readonly cache: NotificationsCache;
|
|
382
|
-
constructor({ useCache, inboxServiceInstance, eventEmitterInstance, }: {
|
|
383
|
-
useCache: boolean;
|
|
384
|
-
inboxServiceInstance: InboxService;
|
|
385
|
-
eventEmitterInstance: NovuEventEmitter;
|
|
386
|
-
});
|
|
387
|
-
get inboxService(): InboxService;
|
|
388
|
-
list({ limit, ...restOptions }?: ListNotificationsArgs): Result<ListNotificationsResponse>;
|
|
389
|
-
count(args?: FilterCountArgs): Result<FilterCountResponse>;
|
|
390
|
-
count(args?: FiltersCountArgs): Result<FiltersCountResponse>;
|
|
391
|
-
read(args: BaseArgs): Result<Notification>;
|
|
392
|
-
read(args: InstanceArgs): Result<Notification>;
|
|
393
|
-
unread(args: BaseArgs): Result<Notification>;
|
|
394
|
-
unread(args: InstanceArgs): Result<Notification>;
|
|
395
|
-
seen(args: BaseArgs): Result<Notification>;
|
|
396
|
-
seen(args: InstanceArgs): Result<Notification>;
|
|
397
|
-
archive(args: BaseArgs): Result<Notification>;
|
|
398
|
-
archive(args: InstanceArgs): Result<Notification>;
|
|
399
|
-
unarchive(args: BaseArgs): Result<Notification>;
|
|
400
|
-
unarchive(args: InstanceArgs): Result<Notification>;
|
|
401
|
-
delete(args: BaseArgs): Result<void>;
|
|
402
|
-
delete(args: InstanceArgs): Result<void>;
|
|
403
|
-
snooze(args: SnoozeArgs): Result<Notification>;
|
|
404
|
-
unsnooze(args: BaseArgs): Result<Notification>;
|
|
405
|
-
unsnooze(args: InstanceArgs): Result<Notification>;
|
|
406
|
-
completePrimary(args: BaseArgs): Result<Notification>;
|
|
407
|
-
completePrimary(args: InstanceArgs): Result<Notification>;
|
|
408
|
-
completeSecondary(args: BaseArgs): Result<Notification>;
|
|
409
|
-
completeSecondary(args: InstanceArgs): Result<Notification>;
|
|
410
|
-
revertPrimary(args: BaseArgs): Result<Notification>;
|
|
411
|
-
revertPrimary(args: InstanceArgs): Result<Notification>;
|
|
412
|
-
revertSecondary(args: BaseArgs): Result<Notification>;
|
|
413
|
-
revertSecondary(args: InstanceArgs): Result<Notification>;
|
|
414
|
-
readAll({ tags, data, }?: {
|
|
415
|
-
tags?: NotificationFilter['tags'];
|
|
416
|
-
data?: Record<string, unknown>;
|
|
417
|
-
}): Result<void>;
|
|
418
|
-
seenAll(args?: {
|
|
419
|
-
notificationIds: string[];
|
|
420
|
-
} | {
|
|
421
|
-
tags?: NotificationFilter['tags'];
|
|
422
|
-
data?: Record<string, unknown>;
|
|
423
|
-
} | {}): Result<void>;
|
|
424
|
-
archiveAll({ tags, data, }?: {
|
|
425
|
-
tags?: NotificationFilter['tags'];
|
|
426
|
-
data?: Record<string, unknown>;
|
|
427
|
-
}): Result<void>;
|
|
428
|
-
archiveAllRead({ tags, data }?: {
|
|
429
|
-
tags?: string[];
|
|
430
|
-
data?: Record<string, unknown>;
|
|
431
|
-
}): Result<void>;
|
|
432
|
-
deleteAll({ tags, data, }?: {
|
|
433
|
-
tags?: NotificationFilter['tags'];
|
|
434
|
-
data?: Record<string, unknown>;
|
|
435
|
-
}): Result<void>;
|
|
436
|
-
clearCache({ filter }?: {
|
|
437
|
-
filter?: NotificationFilter;
|
|
438
|
-
}): void;
|
|
439
|
-
triggerHelloWorldEvent(): Promise<any>;
|
|
440
|
-
}
|
|
441
|
-
|
|
442
531
|
type KeylessInitializeSessionArgs = {} & {
|
|
443
532
|
[K in string]?: never;
|
|
444
533
|
};
|
|
@@ -563,36 +652,4 @@ declare class NovuEventEmitter {
|
|
|
563
652
|
emit<Key extends EventNames>(type: Key, event?: Events[Key]): void;
|
|
564
653
|
}
|
|
565
654
|
|
|
566
|
-
|
|
567
|
-
isSocketEvent(eventName: string): eventName is SocketEventNames;
|
|
568
|
-
connect(): Result<void>;
|
|
569
|
-
disconnect(): Result<void>;
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
declare class Novu implements Pick<NovuEventEmitter, 'on'> {
|
|
573
|
-
#private;
|
|
574
|
-
readonly notifications: Notifications;
|
|
575
|
-
readonly preferences: Preferences;
|
|
576
|
-
readonly socket: BaseSocketInterface;
|
|
577
|
-
on: <Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>) => () => void;
|
|
578
|
-
/**
|
|
579
|
-
* @deprecated
|
|
580
|
-
* Use the cleanup function returned by the "on" method instead.
|
|
581
|
-
*/
|
|
582
|
-
off: <Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>) => void;
|
|
583
|
-
get applicationIdentifier(): string | undefined;
|
|
584
|
-
get subscriberId(): string | undefined;
|
|
585
|
-
get context(): Partial<Record<string, ContextValue>> | undefined;
|
|
586
|
-
get contextKey(): string;
|
|
587
|
-
constructor(options: NovuOptions);
|
|
588
|
-
changeSubscriber(options: {
|
|
589
|
-
subscriber: Subscriber;
|
|
590
|
-
subscriberHash?: string;
|
|
591
|
-
}): Promise<void>;
|
|
592
|
-
changeContext(options: {
|
|
593
|
-
context: Context;
|
|
594
|
-
contextHash?: string;
|
|
595
|
-
}): Promise<void>;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
export { type EventHandler as E, type FiltersCountResponse as F, type ListNotificationsResponse as L, Notification as N, Preference as P, type SocketEventNames as S, type Events as a, Novu as b, Schedule as c };
|
|
655
|
+
export { type FilterCountResponse as A, type BasePreferenceArgs as B, type ChannelPreference as C, type DaySchedule as D, type EventHandler as E, type FiltersCountResponse as F, type FiltersCountArgs as G, type BaseArgs as H, type InboxNotification as I, type InstanceArgs as J, type SnoozeArgs as K, type ListNotificationsResponse as L, type EventNames as M, type NotificationFilter as N, type ContextValue as O, Preference as P, type Result as R, SeverityLevelEnum as S, type TimeRange as T, type UnreadCount as U, WebSocketEvent as W, Notification as a, type Events as b, type SocketEventNames as c, ChannelType as d, type Context as e, type DefaultSchedule as f, NotificationStatus as g, NovuError as h, type NovuOptions as i, PreferenceLevel as j, type PreferencesResponse as k, Schedule as l, type StandardNovuOptions as m, type Subscriber as n, type WeeklySchedule as o, WorkflowCriticalityEnum as p, InboxService as q, NovuEventEmitter as r, type Session as s, ScheduleCache as t, type UpdateScheduleArgs as u, PreferencesCache as v, type ListPreferencesArgs as w, type InstancePreferenceArgs as x, type ListNotificationsArgs as y, type FilterCountArgs as z };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as Theme } from '../types-
|
|
2
|
-
import '../
|
|
3
|
-
import '../novu-
|
|
1
|
+
import { r as Theme } from '../types-4YuozpWu.mjs';
|
|
2
|
+
import '../novu-event-emitter-C7GZ7-r1.mjs';
|
|
3
|
+
import '../novu-3CfttQ8e.mjs';
|
|
4
4
|
|
|
5
5
|
declare const dark: Theme;
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { U as UnreadCount, N as NotificationFilter,
|
|
2
|
-
import { N as
|
|
1
|
+
import { a as Notification, U as UnreadCount, N as NotificationFilter, P as Preference, l as Schedule, p as WorkflowCriticalityEnum, i as NovuOptions } from './novu-event-emitter-C7GZ7-r1.mjs';
|
|
2
|
+
import { N as Novu } from './novu-3CfttQ8e.mjs';
|
|
3
3
|
|
|
4
4
|
declare const appearanceKeys: readonly ["button", "input", "icon", "badge", "popoverContent", "popoverTrigger", "popoverClose", "dropdownContent", "dropdownTrigger", "dropdownItem", "dropdownItemLabel", "dropdownItemLabelContainer", "dropdownItemLeft__icon", "dropdownItemRight__icon", "dropdownItem__icon", "collapsible", "tooltipContent", "tooltipTrigger", "datePicker", "datePickerGrid", "datePickerGridRow", "datePickerGridCell", "datePickerGridCellTrigger", "datePickerTrigger", "datePickerGridHeader", "datePickerControl", "datePickerControlPrevTrigger", "datePickerControlNextTrigger", "datePickerControlPrevTrigger__icon", "datePickerControlNextTrigger__icon", "datePickerCalendar", "datePickerHeaderMonth", "datePickerCalendarDay__button", "timePicker", "timePicker__hourSelect", "timePicker__minuteSelect", "timePicker__periodSelect", "timePicker__separator", "timePickerHour__input", "timePickerMinute__input", "snoozeDatePicker", "snoozeDatePicker__actions", "snoozeDatePickerCancel__button", "snoozeDatePickerApply__button", "snoozeDatePicker__timePickerContainer", "snoozeDatePicker__timePickerLabel", "back__button", "skeletonText", "skeletonAvatar", "skeletonSwitch", "skeletonSwitchThumb", "tabsRoot", "tabsList", "tabsContent", "tabsTrigger", "dots", "root", "bellIcon", "lockIcon", "bellContainer", "severityHigh__bellContainer", "severityMedium__bellContainer", "severityLow__bellContainer", "bellSeverityGlow", "severityGlowHigh__bellSeverityGlow", "severityGlowMedium__bellSeverityGlow", "severityGlowLow__bellSeverityGlow", "bellDot", "preferences__button", "preferencesContainer", "inboxHeader", "loading", "inboxContent", "inbox__popoverTrigger", "inbox__popoverContent", "notificationListContainer", "notificationList", "notificationListEmptyNoticeContainer", "notificationListEmptyNoticeOverlay", "notificationListEmptyNoticeIcon", "notificationListEmptyNotice", "notificationList__skeleton", "notificationList__skeletonContent", "notificationList__skeletonItem", "notificationList__skeletonAvatar", "notificationList__skeletonText", "notificationListNewNotificationsNotice__button", "notification", "severityHigh__notification", "severityMedium__notification", "severityLow__notification", "notificationBar", "severityHigh__notificationBar", "severityMedium__notificationBar", "severityLow__notificationBar", "notificationContent", "notificationTextContainer", "notificationDot", "notificationSubject", "notificationSubject__strong", "notificationBody", "notificationBody__strong", "notificationBodyContainer", "notificationImage", "notificationImageLoadingFallback", "notificationDate", "notificationDateActionsContainer", "notificationDefaultActions", "notificationCustomActions", "notificationPrimaryAction__button", "notificationSecondaryAction__button", "notificationRead__button", "notificationUnread__button", "notificationArchive__button", "notificationUnarchive__button", "notificationSnooze__button", "notificationUnsnooze__button", "notificationRead__icon", "notificationUnread__icon", "notificationArchive__icon", "notificationUnarchive__icon", "notificationSnooze__icon", "notificationUnsnooze__icon", "notificationsTabs__tabsRoot", "notificationsTabs__tabsList", "notificationsTabs__tabsContent", "notificationsTabs__tabsTrigger", "notificationsTabsTriggerLabel", "notificationsTabsTriggerCount", "inboxStatus__title", "inboxStatus__dropdownTrigger", "inboxStatus__dropdownContent", "inboxStatus__dropdownItem", "inboxStatus__dropdownItemLabel", "inboxStatus__dropdownItemLabelContainer", "inboxStatus__dropdownItemLeft__icon", "inboxStatus__dropdownItemRight__icon", "inboxStatus__dropdownItem__icon", "inboxStatus__dropdownItemCheck__icon", "moreActionsContainer", "moreActions__dropdownTrigger", "moreActions__dropdownContent", "moreActions__dropdownItem", "moreActions__dropdownItemLabel", "moreActions__dropdownItemLeft__icon", "moreActions__dots", "moreTabs__button", "moreTabs__icon", "moreTabs__dropdownTrigger", "moreTabs__dropdownContent", "moreTabs__dropdownItem", "moreTabs__dropdownItemLabel", "moreTabs__dropdownItemRight__icon", "workflowContainer", "workflowLabel", "workflowLabelHeader", "workflowLabelHeaderContainer", "workflowLabelIcon", "workflowLabelContainer", "workflowContainerDisabledNotice", "workflowLabelDisabled__icon", "workflowContainerRight__icon", "workflowArrow__icon", "workflowDescription", "preferencesGroupContainer", "preferencesGroupHeader", "preferencesGroupLabelContainer", "preferencesGroupLabelIcon", "preferencesGroupLabel", "preferencesGroupActionsContainer", "preferencesGroupActionsContainerRight__icon", "preferencesGroupBody", "preferencesGroupChannels", "preferencesGroupInfo", "preferencesGroupInfoIcon", "preferencesGroupWorkflows", "channelContainer", "channelIconContainer", "channel__icon", "channelsContainerCollapsible", "channelsContainer", "channelLabel", "channelLabelContainer", "channelName", "channelSwitchContainer", "channelSwitch", "channelSwitchThumb", "preferencesHeader", "preferencesHeader__back__button", "preferencesHeader__back__button__icon", "preferencesHeader__title", "preferencesHeader__icon", "preferencesListEmptyNoticeContainer", "preferencesListEmptyNotice", "preferencesList__skeleton", "preferencesList__skeletonContent", "preferencesList__skeletonItem", "preferencesList__skeletonIcon", "preferencesList__skeletonSwitch", "preferencesList__skeletonSwitchThumb", "preferencesList__skeletonText", "scheduleContainer", "scheduleHeader", "scheduleLabelContainer", "scheduleLabelScheduleIcon", "scheduleLabelInfoIcon", "scheduleLabel", "scheduleActionsContainer", "scheduleActionsContainerRight", "scheduleBody", "scheduleDescription", "scheduleTable", "scheduleTableHeader", "scheduleHeaderColumn", "scheduleTableBody", "scheduleBodyRow", "scheduleBodyColumn", "scheduleInfoContainer", "scheduleInfoIcon", "scheduleInfo", "dayScheduleCopyTitle", "dayScheduleCopyIcon", "dayScheduleCopySelectAll", "dayScheduleCopyDay", "dayScheduleCopyFooterContainer", "dayScheduleCopy__dropdownTrigger", "dayScheduleCopy__dropdownContent", "timeSelect__dropdownTrigger", "timeSelect__time", "timeSelect__dropdownContent", "timeSelect__dropdownItem", "timeSelect__dropdownItemLabel", "timeSelect__dropdownItemLabelContainer", "timeSelect__dropdownItemCheck__icon", "notificationSnooze__dropdownContent", "notificationSnooze__dropdownItem", "notificationSnooze__dropdownItem__icon", "notificationSnoozeCustomTime_popoverContent", "notificationDeliveredAt__badge", "notificationDeliveredAt__icon", "notificationSnoozedUntil__icon", "strong"];
|
|
5
5
|
|