@novu/js 2.6.6 → 3.0.0-canary.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-Z4XIR64I.js → chunk-ZA235BHP.js} +307 -280
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +14 -14
- package/dist/{esm/novu-DbpFmjhC.d.mts → cjs/novu-C2hAbM3b.d.ts} +20 -4
- package/dist/cjs/themes/index.d.ts +2 -2
- package/dist/cjs/themes/index.js +4 -3
- package/dist/cjs/types-CKkldJh0.d.ts +102 -0
- package/dist/cjs/ui/index.d.ts +22 -9
- package/dist/cjs/ui/index.js +1358 -842
- package/dist/esm/{chunk-JJC36NOH.mjs → chunk-X3JPDGPW.mjs} +307 -280
- package/dist/esm/index.d.mts +2 -2
- package/dist/esm/index.mjs +1 -1
- package/dist/{cjs/novu-DbpFmjhC.d.ts → esm/novu-C2hAbM3b.d.mts} +20 -4
- package/dist/esm/themes/index.d.mts +2 -2
- package/dist/esm/themes/index.mjs +4 -3
- package/dist/esm/types-Bi5NkU2g.d.mts +102 -0
- package/dist/esm/ui/index.d.mts +22 -9
- package/dist/esm/ui/index.mjs +1357 -841
- package/dist/index.css +1 -1
- package/dist/novu.min.js +10 -10
- package/dist/novu.min.js.gz +0 -0
- package/package.json +6 -6
- package/dist/cjs/types-B8jOWXQS.d.ts +0 -98
- package/dist/esm/types-DVZXB5KI.d.mts +0 -98
package/dist/cjs/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkZA235BHP_js = require('../chunk-ZA235BHP.js');
|
|
4
4
|
var chunkERC62PGI_js = require('../chunk-ERC62PGI.js');
|
|
5
5
|
var chunk7B52C2XE_js = require('../chunk-7B52C2XE.js');
|
|
6
6
|
var web = require('solid-js/web');
|
|
@@ -9,29 +9,14 @@ var store = require('solid-js/store');
|
|
|
9
9
|
var clsx = require('clsx');
|
|
10
10
|
var tailwindMerge = require('tailwind-merge');
|
|
11
11
|
var classVarianceAuthority = require('class-variance-authority');
|
|
12
|
-
var solidMotionone = require('solid-motionone');
|
|
13
12
|
var dom = require('@floating-ui/dom');
|
|
14
13
|
var solidFloatingUi = require('solid-floating-ui');
|
|
14
|
+
var solidMotionone = require('solid-motionone');
|
|
15
15
|
|
|
16
16
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
|
|
18
18
|
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
19
19
|
|
|
20
|
-
// src/ui/config/defaultVariables.ts
|
|
21
|
-
var defaultVariables = {
|
|
22
|
-
colorPrimary: "#0081F1",
|
|
23
|
-
colorPrimaryForeground: "white",
|
|
24
|
-
colorSecondary: "#F3F3F3",
|
|
25
|
-
colorSecondaryForeground: "#1A1523",
|
|
26
|
-
colorCounter: "#E5484D",
|
|
27
|
-
colorCounterForeground: "white",
|
|
28
|
-
colorBackground: "#FCFCFC",
|
|
29
|
-
colorForeground: "#1A1523",
|
|
30
|
-
colorNeutral: "#525252",
|
|
31
|
-
colorShadow: "rgba(122,133,153,0.25)",
|
|
32
|
-
fontSize: "inherit",
|
|
33
|
-
borderRadius: "0.375rem"
|
|
34
|
-
};
|
|
35
20
|
var defaultLocalization = {
|
|
36
21
|
locale: "en-US",
|
|
37
22
|
"inbox.filters.dropdownOptions.unread": "Unread only",
|
|
@@ -40,7 +25,7 @@ var defaultLocalization = {
|
|
|
40
25
|
"inbox.filters.labels.unread": "Unread",
|
|
41
26
|
"inbox.filters.labels.default": "Inbox",
|
|
42
27
|
"inbox.filters.labels.archived": "Archived",
|
|
43
|
-
"notifications.emptyNotice": "
|
|
28
|
+
"notifications.emptyNotice": "Quiet for now. Check back later.",
|
|
44
29
|
"notifications.actions.readAll": "Mark all as read",
|
|
45
30
|
"notifications.actions.archiveAll": "Archive all",
|
|
46
31
|
"notifications.actions.archiveRead": "Archive read",
|
|
@@ -49,17 +34,64 @@ var defaultLocalization = {
|
|
|
49
34
|
"notification.actions.unread.tooltip": "Mark as unread",
|
|
50
35
|
"notification.actions.archive.tooltip": "Archive",
|
|
51
36
|
"notification.actions.unarchive.tooltip": "Unarchive",
|
|
52
|
-
"preferences.title": "
|
|
37
|
+
"preferences.title": "Preferences",
|
|
38
|
+
"preferences.emptyNotice": "No notification specific preferences yet.",
|
|
53
39
|
"preferences.global": "Global Preferences",
|
|
54
40
|
"preferences.workflow.disabled.notice": "Contact admin to enable subscription management for this critical notification.",
|
|
55
41
|
"preferences.workflow.disabled.tooltip": "Contact admin to edit"
|
|
56
42
|
};
|
|
57
43
|
var [dynamicLocalization, setDynamicLocalization] = solidJs.createSignal({});
|
|
58
44
|
|
|
45
|
+
// src/ui/context/LocalizationContext.tsx
|
|
46
|
+
var LocalizationContext = solidJs.createContext(void 0);
|
|
47
|
+
var LocalizationProvider = (props) => {
|
|
48
|
+
const localization = solidJs.createMemo(() => {
|
|
49
|
+
const _a = props.localization || {}, {
|
|
50
|
+
dynamic
|
|
51
|
+
} = _a, localizationObject = chunk7B52C2XE_js.__objRest(_a, [
|
|
52
|
+
"dynamic"
|
|
53
|
+
]);
|
|
54
|
+
return chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, defaultLocalization), dynamicLocalization()), dynamic || {}), localizationObject);
|
|
55
|
+
});
|
|
56
|
+
const t = (key, ...args) => {
|
|
57
|
+
const value = localization()[key];
|
|
58
|
+
if (typeof value === "function") {
|
|
59
|
+
return value(args[0]);
|
|
60
|
+
}
|
|
61
|
+
return value;
|
|
62
|
+
};
|
|
63
|
+
const locale = solidJs.createMemo(() => localization().locale);
|
|
64
|
+
return web.createComponent(LocalizationContext.Provider, {
|
|
65
|
+
value: {
|
|
66
|
+
t,
|
|
67
|
+
locale
|
|
68
|
+
},
|
|
69
|
+
get children() {
|
|
70
|
+
return props.children;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
function useLocalization() {
|
|
75
|
+
const context = solidJs.useContext(LocalizationContext);
|
|
76
|
+
if (!context) {
|
|
77
|
+
throw new Error("useLocalization must be used within an LocalizationProvider");
|
|
78
|
+
}
|
|
79
|
+
return context;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// src/ui/types.ts
|
|
83
|
+
var NotificationStatus = /* @__PURE__ */ ((NotificationStatus2) => {
|
|
84
|
+
NotificationStatus2["UNREAD_READ"] = "unreadRead";
|
|
85
|
+
NotificationStatus2["UNREAD"] = "unread";
|
|
86
|
+
NotificationStatus2["ARCHIVED"] = "archived";
|
|
87
|
+
return NotificationStatus2;
|
|
88
|
+
})(NotificationStatus || {});
|
|
89
|
+
|
|
59
90
|
// src/ui/config/appearanceKeys.ts
|
|
60
91
|
var appearanceKeys = [
|
|
61
92
|
// Primitives
|
|
62
93
|
"button",
|
|
94
|
+
"icon",
|
|
63
95
|
"popoverContent",
|
|
64
96
|
"popoverTrigger",
|
|
65
97
|
"dropdownContent",
|
|
@@ -67,13 +99,17 @@ var appearanceKeys = [
|
|
|
67
99
|
"dropdownItem",
|
|
68
100
|
"dropdownItemLabel",
|
|
69
101
|
"dropdownItemLabelContainer",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
102
|
+
"dropdownItemLeft__icon",
|
|
103
|
+
"dropdownItemRight__icon",
|
|
104
|
+
"dropdownItem__icon",
|
|
105
|
+
"collapsible",
|
|
72
106
|
"tooltipContent",
|
|
73
107
|
"tooltipTrigger",
|
|
74
108
|
"back__button",
|
|
75
109
|
"skeletonText",
|
|
76
110
|
"skeletonAvatar",
|
|
111
|
+
"skeletonSwitch",
|
|
112
|
+
"skeletonSwitchThumb",
|
|
77
113
|
"tabsRoot",
|
|
78
114
|
"tabsList",
|
|
79
115
|
"tabsContent",
|
|
@@ -96,10 +132,18 @@ var appearanceKeys = [
|
|
|
96
132
|
"notificationListContainer",
|
|
97
133
|
"notificationList",
|
|
98
134
|
"notificationListEmptyNoticeContainer",
|
|
99
|
-
"
|
|
135
|
+
"notificationListEmptyNoticeOverlay",
|
|
100
136
|
"notificationListEmptyNoticeIcon",
|
|
137
|
+
"notificationListEmptyNotice",
|
|
138
|
+
"notificationList__skeleton",
|
|
139
|
+
"notificationList__skeletonContent",
|
|
140
|
+
"notificationList__skeletonItem",
|
|
141
|
+
"notificationList__skeletonAvatar",
|
|
142
|
+
"notificationList__skeletonText",
|
|
101
143
|
"notificationListNewNotificationsNotice__button",
|
|
102
144
|
"notification",
|
|
145
|
+
"notificationContent",
|
|
146
|
+
"notificationTextContainer",
|
|
103
147
|
"notificationDot",
|
|
104
148
|
"notificationSubject",
|
|
105
149
|
"notificationSubject__strong",
|
|
@@ -107,7 +151,9 @@ var appearanceKeys = [
|
|
|
107
151
|
"notificationBody__strong",
|
|
108
152
|
"notificationBodyContainer",
|
|
109
153
|
"notificationImage",
|
|
154
|
+
"notificationImageLoadingFallback",
|
|
110
155
|
"notificationDate",
|
|
156
|
+
"notificationDateActionsContainer",
|
|
111
157
|
"notificationDefaultActions",
|
|
112
158
|
"notificationCustomActions",
|
|
113
159
|
"notificationPrimaryAction__button",
|
|
@@ -116,6 +162,10 @@ var appearanceKeys = [
|
|
|
116
162
|
"notificationUnread__button",
|
|
117
163
|
"notificationArchive__button",
|
|
118
164
|
"notificationUnarchive__button",
|
|
165
|
+
"notificationRead__icon",
|
|
166
|
+
"notificationUnread__icon",
|
|
167
|
+
"notificationArchive__icon",
|
|
168
|
+
"notificationUnarchive__icon",
|
|
119
169
|
// Notifications tabs
|
|
120
170
|
"notificationsTabs__tabsRoot",
|
|
121
171
|
"notificationsTabs__tabsList",
|
|
@@ -132,6 +182,8 @@ var appearanceKeys = [
|
|
|
132
182
|
"inboxStatus__dropdownItemLabelContainer",
|
|
133
183
|
"inboxStatus__dropdownItemLeft__icon",
|
|
134
184
|
"inboxStatus__dropdownItemRight__icon",
|
|
185
|
+
"inboxStatus__dropdownItem__icon",
|
|
186
|
+
"inboxStatus__dropdownItemCheck__icon",
|
|
135
187
|
// More actions
|
|
136
188
|
"moreActionsContainer",
|
|
137
189
|
"moreActions__dropdownTrigger",
|
|
@@ -142,7 +194,7 @@ var appearanceKeys = [
|
|
|
142
194
|
"moreActions__dots",
|
|
143
195
|
// More tabs
|
|
144
196
|
"moreTabs__button",
|
|
145
|
-
"
|
|
197
|
+
"moreTabs__icon",
|
|
146
198
|
"moreTabs__dropdownTrigger",
|
|
147
199
|
"moreTabs__dropdownContent",
|
|
148
200
|
"moreTabs__dropdownItem",
|
|
@@ -157,13 +209,15 @@ var appearanceKeys = [
|
|
|
157
209
|
"workflowLabelDisabled__icon",
|
|
158
210
|
"workflowContainerRight__icon",
|
|
159
211
|
"workflowArrow__icon",
|
|
212
|
+
"workflowDescription",
|
|
160
213
|
// channel
|
|
161
214
|
"channelContainer",
|
|
215
|
+
"channelIconContainer",
|
|
216
|
+
"channel__icon",
|
|
162
217
|
"channelsContainerCollapsible",
|
|
163
218
|
"channelsContainer",
|
|
164
219
|
"channelLabel",
|
|
165
220
|
"channelLabelContainer",
|
|
166
|
-
"channelDescription",
|
|
167
221
|
"channelName",
|
|
168
222
|
"channelSwitchContainer",
|
|
169
223
|
"channelSwitch",
|
|
@@ -171,47 +225,133 @@ var appearanceKeys = [
|
|
|
171
225
|
// Preferences Header
|
|
172
226
|
"preferencesHeader",
|
|
173
227
|
"preferencesHeader__back__button",
|
|
228
|
+
"preferencesHeader__back__button__icon",
|
|
174
229
|
"preferencesHeader__title",
|
|
230
|
+
"preferencesHeader__icon",
|
|
175
231
|
// Preferences Loading
|
|
176
|
-
"
|
|
232
|
+
"preferencesListEmptyNoticeContainer",
|
|
233
|
+
"preferencesListEmptyNotice",
|
|
234
|
+
"preferencesList__skeleton",
|
|
235
|
+
"preferencesList__skeletonContent",
|
|
236
|
+
"preferencesList__skeletonItem",
|
|
237
|
+
"preferencesList__skeletonIcon",
|
|
238
|
+
"preferencesList__skeletonSwitch",
|
|
239
|
+
"preferencesList__skeletonSwitchThumb",
|
|
240
|
+
"preferencesList__skeletonText",
|
|
177
241
|
// Text formatting
|
|
178
242
|
"strong"
|
|
179
243
|
];
|
|
180
|
-
|
|
244
|
+
|
|
245
|
+
// src/ui/config/defaultVariables.ts
|
|
246
|
+
var defaultVariables = {
|
|
247
|
+
colorPrimary: "#7D52F4",
|
|
248
|
+
colorPrimaryForeground: "white",
|
|
249
|
+
colorSecondary: "#FFFFFF",
|
|
250
|
+
colorSecondaryForeground: "#646464",
|
|
251
|
+
colorCounter: "#FB3748",
|
|
252
|
+
colorCounterForeground: "white",
|
|
253
|
+
colorBackground: "#FCFCFC",
|
|
254
|
+
colorRing: "#E1E4EA",
|
|
255
|
+
colorForeground: "#1A1523",
|
|
256
|
+
colorNeutral: "#525252",
|
|
257
|
+
colorShadow: "rgb(0,0,0)",
|
|
258
|
+
fontSize: "1rem",
|
|
259
|
+
borderRadius: "0.375rem"
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
// src/ui/helpers/constants.ts
|
|
263
|
+
var DEFAULT_TARGET = "_blank";
|
|
264
|
+
var DEFAULT_REFERRER = "noopener noreferrer";
|
|
265
|
+
function createInfiniteScroll(fetcher, options) {
|
|
181
266
|
const [data, setData] = solidJs.createSignal([]);
|
|
182
267
|
const [initialLoading, setInitialLoading] = solidJs.createSignal(true);
|
|
183
|
-
const [
|
|
268
|
+
const [after, setAfter] = solidJs.createSignal(void 0);
|
|
184
269
|
const [end, setEnd] = solidJs.createSignal(false);
|
|
185
|
-
const [contents, { mutate, refetch }] = solidJs.createResource(
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
270
|
+
const [contents, { mutate, refetch }] = solidJs.createResource(
|
|
271
|
+
() => ({ trigger: true, after: after() }),
|
|
272
|
+
(params) => fetcher(params.after)
|
|
273
|
+
);
|
|
274
|
+
let observedElement = null;
|
|
275
|
+
let io = null;
|
|
276
|
+
solidJs.onMount(() => {
|
|
277
|
+
io = new IntersectionObserver(
|
|
278
|
+
(entries) => {
|
|
279
|
+
var _a;
|
|
280
|
+
const entry = entries[0];
|
|
281
|
+
if (entry && entry.isIntersecting && !end() && !contents.loading) {
|
|
282
|
+
const data2 = (_a = contents.latest) == null ? void 0 : _a.data;
|
|
283
|
+
if (data2) {
|
|
284
|
+
setAfter(data2[data2.length - 1][options.paginationField]);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
threshold: 0.1
|
|
192
290
|
}
|
|
291
|
+
);
|
|
292
|
+
if (observedElement && io) {
|
|
293
|
+
io.observe(observedElement);
|
|
294
|
+
}
|
|
295
|
+
solidJs.onCleanup(() => {
|
|
296
|
+
io == null ? void 0 : io.disconnect();
|
|
297
|
+
io = null;
|
|
193
298
|
});
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
solidJs.onCleanup(() => io.unobserve(el));
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
solidJs.createComputed(() => {
|
|
299
|
+
});
|
|
300
|
+
solidJs.createEffect(() => {
|
|
301
|
+
if (contents.loading) return;
|
|
201
302
|
const content = contents.latest;
|
|
202
303
|
if (!content) return;
|
|
203
304
|
setInitialLoading(false);
|
|
204
305
|
solidJs.batch(() => {
|
|
205
306
|
if (!content.hasMore) setEnd(true);
|
|
206
307
|
setData(content.data);
|
|
308
|
+
requestAnimationFrame(() => {
|
|
309
|
+
checkVisibilityAndLoadMore();
|
|
310
|
+
});
|
|
207
311
|
});
|
|
208
312
|
});
|
|
313
|
+
const checkVisibilityAndLoadMore = () => {
|
|
314
|
+
if (observedElement && !end() && !contents.loading) {
|
|
315
|
+
const observer = new IntersectionObserver(
|
|
316
|
+
(entries) => {
|
|
317
|
+
var _a;
|
|
318
|
+
const entry = entries[0];
|
|
319
|
+
if (entry.isIntersecting) {
|
|
320
|
+
const data2 = (_a = contents.latest) == null ? void 0 : _a.data;
|
|
321
|
+
if (data2) {
|
|
322
|
+
setAfter(data2[data2.length - 1][options.paginationField]);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
observer.disconnect();
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
threshold: [0.1]
|
|
329
|
+
}
|
|
330
|
+
);
|
|
331
|
+
observer.observe(observedElement);
|
|
332
|
+
solidJs.onCleanup(() => {
|
|
333
|
+
observer.disconnect();
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
const setEl = (el) => {
|
|
338
|
+
if (io && observedElement) {
|
|
339
|
+
io.unobserve(observedElement);
|
|
340
|
+
}
|
|
341
|
+
observedElement = el;
|
|
342
|
+
if (io && el) {
|
|
343
|
+
io.observe(el);
|
|
344
|
+
}
|
|
345
|
+
solidJs.onCleanup(() => {
|
|
346
|
+
if (io && el) io.unobserve(el);
|
|
347
|
+
});
|
|
348
|
+
};
|
|
209
349
|
const reset = () => chunk7B52C2XE_js.__async(this, null, function* () {
|
|
210
350
|
setData([]);
|
|
211
351
|
setInitialLoading(true);
|
|
212
352
|
setEnd(false);
|
|
213
|
-
if (
|
|
214
|
-
|
|
353
|
+
if (after() !== void 0) {
|
|
354
|
+
setAfter(void 0);
|
|
215
355
|
} else {
|
|
216
356
|
yield refetch();
|
|
217
357
|
}
|
|
@@ -221,7 +361,7 @@ function createInfiniteScroll(fetcher) {
|
|
|
221
361
|
{
|
|
222
362
|
initialLoading,
|
|
223
363
|
setEl,
|
|
224
|
-
|
|
364
|
+
after,
|
|
225
365
|
end,
|
|
226
366
|
mutate,
|
|
227
367
|
reset
|
|
@@ -261,6 +401,7 @@ function formatToRelativeTime({
|
|
|
261
401
|
var twMerge = tailwindMerge.extendTailwindMerge({
|
|
262
402
|
prefix: "nt-"
|
|
263
403
|
});
|
|
404
|
+
var publicFacingTwMerge = tailwindMerge.extendTailwindMerge({});
|
|
264
405
|
function cn(...inputs) {
|
|
265
406
|
return twMerge(clsx__default.default(inputs));
|
|
266
407
|
}
|
|
@@ -292,31 +433,105 @@ function createClassAndRuleFromCssString(classNameSet, styles) {
|
|
|
292
433
|
classNameSet.add(className);
|
|
293
434
|
return { className, rule };
|
|
294
435
|
}
|
|
295
|
-
var shades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
436
|
+
var shades = [25, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
296
437
|
function generateDefaultColor(props) {
|
|
297
438
|
const cssVariableDefaultRule = `.${props.id} { --nv-${props.key}: oklch(from ${props.color} l c h); }`;
|
|
298
439
|
return cssVariableDefaultRule;
|
|
299
440
|
}
|
|
300
|
-
function
|
|
441
|
+
function generateSolidShadeRulesFromColor({ color, key, id }) {
|
|
301
442
|
const rules = [];
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
443
|
+
const adjustLightness = (factor) => {
|
|
444
|
+
if (factor >= 0) {
|
|
445
|
+
return `min(1, calc(l + ${factor} * (1 - l)))`;
|
|
446
|
+
} else {
|
|
447
|
+
return `max(0, calc(l * (1 + ${factor})))`;
|
|
448
|
+
}
|
|
449
|
+
};
|
|
450
|
+
const lightnessOffsets = {
|
|
451
|
+
25: adjustLightness(0.475),
|
|
452
|
+
50: adjustLightness(0.45),
|
|
453
|
+
100: adjustLightness(0.4),
|
|
454
|
+
200: adjustLightness(0.3),
|
|
455
|
+
300: adjustLightness(0.2),
|
|
456
|
+
400: adjustLightness(0.1),
|
|
457
|
+
500: "l",
|
|
458
|
+
600: adjustLightness(-0.1),
|
|
459
|
+
700: adjustLightness(-0.2),
|
|
460
|
+
800: adjustLightness(-0.3),
|
|
461
|
+
900: adjustLightness(-0.4)
|
|
462
|
+
};
|
|
463
|
+
shades.forEach((shade) => {
|
|
464
|
+
const newLightness = lightnessOffsets[shade];
|
|
465
|
+
const cssVariableRule = `.${id} { --nv-${key}-${shade}: oklch(from ${color} ${newLightness} c h); }`;
|
|
466
|
+
rules.push(cssVariableRule);
|
|
467
|
+
});
|
|
307
468
|
return rules;
|
|
308
469
|
}
|
|
309
|
-
function
|
|
470
|
+
function generateAlphaShadeRulesFromColor({ color, key, id }) {
|
|
310
471
|
const rules = [];
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
472
|
+
const alphaMap = {
|
|
473
|
+
25: 0.025,
|
|
474
|
+
50: 0.05,
|
|
475
|
+
100: 0.1,
|
|
476
|
+
200: 0.2,
|
|
477
|
+
300: 0.3,
|
|
478
|
+
400: 0.4,
|
|
479
|
+
500: 0.5,
|
|
480
|
+
600: 0.6,
|
|
481
|
+
700: 0.7,
|
|
482
|
+
800: 0.8,
|
|
483
|
+
900: 0.9
|
|
484
|
+
};
|
|
485
|
+
Object.entries(alphaMap).forEach(([shade, alpha]) => {
|
|
486
|
+
const cssVariableAlphaRule = `.${id} { --nv-${key}-${shade}: oklch(from ${color} l c h / ${alpha}); }`;
|
|
314
487
|
rules.push(cssVariableAlphaRule);
|
|
315
|
-
}
|
|
488
|
+
});
|
|
489
|
+
return rules;
|
|
490
|
+
}
|
|
491
|
+
function generateFontSizeRules(props) {
|
|
492
|
+
const { id, baseFontSize } = props;
|
|
493
|
+
const sizeRatios = {
|
|
494
|
+
xs: 0.65625,
|
|
495
|
+
sm: 0.765625,
|
|
496
|
+
base: 0.875,
|
|
497
|
+
lg: 0.984375,
|
|
498
|
+
xl: 1.09375,
|
|
499
|
+
"2xl": 1.3125,
|
|
500
|
+
"3xl": 1.640625,
|
|
501
|
+
"4xl": 1.96875
|
|
502
|
+
};
|
|
503
|
+
const rules = [];
|
|
504
|
+
Object.entries(sizeRatios).forEach(([key, ratio]) => {
|
|
505
|
+
const size = `calc(${baseFontSize} * ${ratio})`;
|
|
506
|
+
const lineHeight = `calc(${baseFontSize} * ${ratio} * 1.33)`;
|
|
507
|
+
const cssVariableRule = `.${id} { --nv-font-size-${key}: ${size}; --nv-line-height-${key}: ${lineHeight}; }`;
|
|
508
|
+
rules.push(cssVariableRule);
|
|
509
|
+
});
|
|
510
|
+
return rules;
|
|
511
|
+
}
|
|
512
|
+
function generateBorderRadiusRules(props) {
|
|
513
|
+
const { id, baseRadius } = props;
|
|
514
|
+
const radiusRatios = {
|
|
515
|
+
none: 0,
|
|
516
|
+
xs: 0.333,
|
|
517
|
+
sm: 0.667,
|
|
518
|
+
md: 1,
|
|
519
|
+
lg: 1.333,
|
|
520
|
+
xl: 2,
|
|
521
|
+
"2xl": 2.667,
|
|
522
|
+
"3xl": 4,
|
|
523
|
+
full: 9999
|
|
524
|
+
};
|
|
525
|
+
const rules = [];
|
|
526
|
+
Object.entries(radiusRatios).forEach(([key, ratio]) => {
|
|
527
|
+
const value = key === "none" ? "0px" : key === "full" ? "9999px" : `calc(${baseRadius} * ${ratio})`;
|
|
528
|
+
const cssVariableRule = `.${id} { --nv-radius-${key}: ${value}; }`;
|
|
529
|
+
rules.push(cssVariableRule);
|
|
530
|
+
});
|
|
316
531
|
return rules;
|
|
317
532
|
}
|
|
318
533
|
var parseVariables = (variables, id) => {
|
|
319
|
-
|
|
534
|
+
const rules = [
|
|
320
535
|
generateDefaultColor({ color: variables.colorBackground, key: "color-background", id }),
|
|
321
536
|
generateDefaultColor({ color: variables.colorForeground, key: "color-foreground", id }),
|
|
322
537
|
generateDefaultColor({ color: variables.colorPrimary, key: "color-primary", id }),
|
|
@@ -326,24 +541,28 @@ var parseVariables = (variables, id) => {
|
|
|
326
541
|
generateDefaultColor({ color: variables.colorCounter, key: "color-counter", id }),
|
|
327
542
|
generateDefaultColor({ color: variables.colorCounterForeground, key: "color-counter-foreground", id }),
|
|
328
543
|
generateDefaultColor({ color: variables.colorShadow, key: "color-shadow", id }),
|
|
329
|
-
|
|
330
|
-
...
|
|
331
|
-
...
|
|
332
|
-
...
|
|
333
|
-
...
|
|
544
|
+
generateDefaultColor({ color: variables.colorRing, key: "color-ring", id }),
|
|
545
|
+
...generateAlphaShadeRulesFromColor({ color: variables.colorBackground, key: "color-background-alpha", id }),
|
|
546
|
+
...generateAlphaShadeRulesFromColor({ color: variables.colorForeground, key: "color-foreground-alpha", id }),
|
|
547
|
+
...generateSolidShadeRulesFromColor({ color: variables.colorPrimary, key: "color-primary", id }),
|
|
548
|
+
...generateAlphaShadeRulesFromColor({ color: variables.colorPrimary, key: "color-primary-alpha", id }),
|
|
549
|
+
...generateAlphaShadeRulesFromColor({
|
|
334
550
|
color: variables.colorPrimaryForeground,
|
|
335
551
|
key: "color-primary-foreground-alpha",
|
|
336
552
|
id
|
|
337
553
|
}),
|
|
338
|
-
...
|
|
339
|
-
...
|
|
340
|
-
...
|
|
554
|
+
...generateSolidShadeRulesFromColor({ color: variables.colorSecondary, key: "color-secondary", id }),
|
|
555
|
+
...generateAlphaShadeRulesFromColor({ color: variables.colorSecondary, key: "color-secondary-alpha", id }),
|
|
556
|
+
...generateAlphaShadeRulesFromColor({
|
|
341
557
|
color: variables.colorSecondaryForeground,
|
|
342
558
|
key: "color-secondary-foreground-alpha",
|
|
343
559
|
id
|
|
344
560
|
}),
|
|
345
|
-
...
|
|
561
|
+
...generateAlphaShadeRulesFromColor({ color: variables.colorNeutral, key: "color-neutral-alpha", id }),
|
|
562
|
+
...generateFontSizeRules({ id, baseFontSize: variables.fontSize }),
|
|
563
|
+
...generateBorderRadiusRules({ id, baseRadius: variables.borderRadius })
|
|
346
564
|
];
|
|
565
|
+
return rules;
|
|
347
566
|
};
|
|
348
567
|
var parseElements = (elements) => {
|
|
349
568
|
const elementsStyleData = [];
|
|
@@ -358,7 +577,12 @@ var parseElements = (elements) => {
|
|
|
358
577
|
}
|
|
359
578
|
}
|
|
360
579
|
}
|
|
361
|
-
|
|
580
|
+
const sortedElementsStyleData = elementsStyleData.sort((a, b) => {
|
|
581
|
+
const countA = (a.key.match(/__/g) || []).length;
|
|
582
|
+
const countB = (b.key.match(/__/g) || []).length;
|
|
583
|
+
return countA - countB;
|
|
584
|
+
});
|
|
585
|
+
return sortedElementsStyleData;
|
|
362
586
|
};
|
|
363
587
|
var getTagsFromTab = (tab) => {
|
|
364
588
|
var _a;
|
|
@@ -368,7 +592,7 @@ var getTagsFromTab = (tab) => {
|
|
|
368
592
|
// src/ui/helpers/useStyle.ts
|
|
369
593
|
var useStyle = () => {
|
|
370
594
|
const appearance = useAppearance();
|
|
371
|
-
const [
|
|
595
|
+
const [isServer, setIsServer] = solidJs.createSignal(true);
|
|
372
596
|
solidJs.onMount(() => {
|
|
373
597
|
setIsServer(false);
|
|
374
598
|
});
|
|
@@ -395,13 +619,14 @@ var useStyle = () => {
|
|
|
395
619
|
return countB - countA;
|
|
396
620
|
});
|
|
397
621
|
const finalClassName = classes.filter((className2) => !finalAppearanceKeys.includes(className2)).join(" ");
|
|
398
|
-
|
|
399
|
-
for (let i = 0; i < finalAppearanceKeys.length; i += 1) {
|
|
622
|
+
let appearanceClassnames = [];
|
|
623
|
+
for (let i = 0; i < finalAppearanceKeys.reverse().length; i += 1) {
|
|
400
624
|
if (typeof ((_a = appearance.elements()) == null ? void 0 : _a[finalAppearanceKeys[i]]) === "string") {
|
|
401
625
|
appearanceClassnames.push((_b = appearance.elements()) == null ? void 0 : _b[finalAppearanceKeys[i]]);
|
|
402
626
|
}
|
|
403
627
|
}
|
|
404
|
-
|
|
628
|
+
appearanceClassnames = [publicFacingTwMerge(appearanceClassnames)];
|
|
629
|
+
const cssInJsClasses = !!finalAppearanceKeys.length && !isServer() ? finalAppearanceKeys.map((appKey) => appearance.appearanceKeyToCssInJsClass[appKey]) : [];
|
|
405
630
|
return cn(
|
|
406
631
|
...finalAppearanceKeys.map((key) => `nv-${key}`),
|
|
407
632
|
"\u{1F514}",
|
|
@@ -422,10 +647,6 @@ function useUncontrolledState(props) {
|
|
|
422
647
|
return [uncontrolledValue, setUncontrolledValue];
|
|
423
648
|
}
|
|
424
649
|
|
|
425
|
-
// src/ui/helpers/constants.ts
|
|
426
|
-
var DEFAULT_TARGET = "_blank";
|
|
427
|
-
var DEFAULT_REFERRER = "noopener noreferrer";
|
|
428
|
-
|
|
429
650
|
// src/ui/context/AppearanceContext.tsx
|
|
430
651
|
var AppearanceContext = solidJs.createContext(void 0);
|
|
431
652
|
var AppearanceProvider = (props) => {
|
|
@@ -598,51 +819,6 @@ var useWebSocketEvent = ({
|
|
|
598
819
|
});
|
|
599
820
|
});
|
|
600
821
|
};
|
|
601
|
-
var LocalizationContext = solidJs.createContext(void 0);
|
|
602
|
-
var LocalizationProvider = (props) => {
|
|
603
|
-
const localization = solidJs.createMemo(() => {
|
|
604
|
-
const _a = props.localization || {}, {
|
|
605
|
-
dynamic
|
|
606
|
-
} = _a, localizationObject = chunk7B52C2XE_js.__objRest(_a, [
|
|
607
|
-
"dynamic"
|
|
608
|
-
]);
|
|
609
|
-
return chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues(chunk7B52C2XE_js.__spreadValues({}, defaultLocalization), dynamicLocalization()), dynamic || {}), localizationObject);
|
|
610
|
-
});
|
|
611
|
-
const t = (key, ...args) => {
|
|
612
|
-
const value = localization()[key];
|
|
613
|
-
if (typeof value === "function") {
|
|
614
|
-
return value(args[0]);
|
|
615
|
-
}
|
|
616
|
-
return value;
|
|
617
|
-
};
|
|
618
|
-
const locale = solidJs.createMemo(() => localization().locale);
|
|
619
|
-
return web.createComponent(LocalizationContext.Provider, {
|
|
620
|
-
value: {
|
|
621
|
-
t,
|
|
622
|
-
locale
|
|
623
|
-
},
|
|
624
|
-
get children() {
|
|
625
|
-
return props.children;
|
|
626
|
-
}
|
|
627
|
-
});
|
|
628
|
-
};
|
|
629
|
-
function useLocalization() {
|
|
630
|
-
const context = solidJs.useContext(LocalizationContext);
|
|
631
|
-
if (!context) {
|
|
632
|
-
throw new Error("useLocalization must be used within an LocalizationProvider");
|
|
633
|
-
}
|
|
634
|
-
return context;
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
// src/ui/types.ts
|
|
638
|
-
var NotificationStatus = /* @__PURE__ */ ((NotificationStatus2) => {
|
|
639
|
-
NotificationStatus2["UNREAD_READ"] = "unreadRead";
|
|
640
|
-
NotificationStatus2["UNREAD"] = "unread";
|
|
641
|
-
NotificationStatus2["ARCHIVED"] = "archived";
|
|
642
|
-
return NotificationStatus2;
|
|
643
|
-
})(NotificationStatus || {});
|
|
644
|
-
|
|
645
|
-
// src/ui/context/InboxContext.tsx
|
|
646
822
|
var InboxContext = solidJs.createContext(void 0);
|
|
647
823
|
var STATUS_TO_FILTER = {
|
|
648
824
|
["unreadRead" /* UNREAD_READ */]: {
|
|
@@ -754,7 +930,7 @@ var useInboxContext = () => {
|
|
|
754
930
|
};
|
|
755
931
|
var NovuContext = solidJs.createContext(void 0);
|
|
756
932
|
function NovuProvider(props) {
|
|
757
|
-
const novu = solidJs.createMemo(() => props.novu || new
|
|
933
|
+
const novu = solidJs.createMemo(() => props.novu || new chunkZA235BHP_js.Novu(props.options));
|
|
758
934
|
return web.createComponent(NovuContext.Provider, {
|
|
759
935
|
get value() {
|
|
760
936
|
return novu();
|
|
@@ -839,7 +1015,7 @@ var CountProvider = (props) => {
|
|
|
839
1015
|
const limitValue = limit();
|
|
840
1016
|
const tabFilter = chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, filter()), {
|
|
841
1017
|
tags,
|
|
842
|
-
|
|
1018
|
+
after: void 0,
|
|
843
1019
|
limit: limitValue
|
|
844
1020
|
});
|
|
845
1021
|
const hasEmptyCache = !notificationsCache.has(tabFilter);
|
|
@@ -873,11 +1049,16 @@ var CountProvider = (props) => {
|
|
|
873
1049
|
if (filter().archived) {
|
|
874
1050
|
return;
|
|
875
1051
|
}
|
|
876
|
-
const
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
1052
|
+
const tagsMap = tabs().reduce((acc, tab) => {
|
|
1053
|
+
const tags = getTagsFromTab(tab);
|
|
1054
|
+
const tagsKey = createKey(tags);
|
|
1055
|
+
acc.set(tagsKey, tags);
|
|
1056
|
+
return acc;
|
|
1057
|
+
}, /* @__PURE__ */ new Map());
|
|
1058
|
+
const uniqueTags = Array.from(tagsMap.values());
|
|
1059
|
+
if (uniqueTags.length > 0) {
|
|
1060
|
+
for (let i = 0; i < uniqueTags.length; i += 1) {
|
|
1061
|
+
const tags = uniqueTags[i];
|
|
881
1062
|
const allNotifications = tags.length === 0;
|
|
882
1063
|
const includesAtLeastOneTag = tags.some((tag) => {
|
|
883
1064
|
var _a;
|
|
@@ -1053,144 +1234,144 @@ var ExternalElementRenderer = (props) => {
|
|
|
1053
1234
|
return _el$;
|
|
1054
1235
|
})();
|
|
1055
1236
|
};
|
|
1056
|
-
var _tmpl$2 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1057
|
-
var
|
|
1237
|
+
var _tmpl$2 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 20 20"><path fill=currentColor d="M5.833 8.333L10 12.5l4.166-4.167H5.833z">`);
|
|
1238
|
+
var ArrowDropDown = (props) => {
|
|
1058
1239
|
return (() => {
|
|
1059
1240
|
var _el$ = _tmpl$2();
|
|
1060
1241
|
web.spread(_el$, props, true, true);
|
|
1061
1242
|
return _el$;
|
|
1062
1243
|
})();
|
|
1063
1244
|
};
|
|
1064
|
-
var _tmpl$3 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1065
|
-
var
|
|
1245
|
+
var _tmpl$3 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M9.20425 9.99907L12.9168 13.7116L11.8563 14.7721L7.08325 9.99907L11.8563 5.22607L12.9168 6.28657L9.20425 9.99907Z"fill=currentColor>`);
|
|
1246
|
+
var ArrowLeft = (props) => {
|
|
1066
1247
|
return (() => {
|
|
1067
1248
|
var _el$ = _tmpl$3();
|
|
1068
1249
|
web.spread(_el$, props, true, true);
|
|
1069
1250
|
return _el$;
|
|
1070
1251
|
})();
|
|
1071
1252
|
};
|
|
1072
|
-
var _tmpl$4 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1073
|
-
|
|
1253
|
+
var _tmpl$4 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5 12C5.6875 12 6.25 11.4462 6.25 10.7692H3.75C3.75 11.4462 4.3125 12 5 12ZM8.75 8.30769V5.23077C8.75 3.34154 7.73125 1.76 5.9375 1.34154V0.923077C5.9375 0.412308 5.51875 0 5 0C4.48125 0 4.0625 0.412308 4.0625 0.923077V1.34154C2.275 1.76 1.25 3.33538 1.25 5.23077V8.30769L0 9.53846V10.1538H10V9.53846L8.75 8.30769ZM7.5 8.92308H2.5V5.23077C2.5 3.70462 3.44375 2.46154 5 2.46154C6.55625 2.46154 7.5 3.70462 7.5 5.23077V8.92308Z"fill=currentColor>`);
|
|
1254
|
+
function Bell(props) {
|
|
1074
1255
|
return (() => {
|
|
1075
1256
|
var _el$ = _tmpl$4();
|
|
1076
1257
|
web.spread(_el$, props, true, true);
|
|
1077
1258
|
return _el$;
|
|
1078
1259
|
})();
|
|
1079
|
-
}
|
|
1080
|
-
var _tmpl$5 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1081
|
-
var
|
|
1260
|
+
}
|
|
1261
|
+
var _tmpl$5 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M0.625 9.375L2.93989 8.86059C3.5538 9.18889 4.25516 9.375 5 9.375C7.41622 9.375 9.375 7.41622 9.375 5C9.375 2.58375 7.41622 0.625 5 0.625C2.58375 0.625 0.625 2.58375 0.625 5C0.625 5.74484 0.81113 6.4462 1.13942 7.0601L0.625 9.375ZM6.50881 2.8125L6.43224 3.68761H7.1875V4.56259H6.35568L6.27912 5.43759H7.1875V6.31259H6.2026L6.12604 7.1875H5.24771L5.32423 6.31259H4.44591L4.36934 7.1875H3.49101L3.56755 6.31259H2.8125V5.43759H3.64411L3.72066 4.56259H2.8125V3.68761H3.79721L3.87377 2.8125H4.75211L4.67555 3.68761H5.55392L5.63048 2.8125H6.50881ZM4.59899 4.56259L4.52247 5.43759H5.40079L5.47736 4.56259H4.59899Z"fill=currentColor>`);
|
|
1262
|
+
var Chat = (props) => {
|
|
1082
1263
|
return (() => {
|
|
1083
1264
|
var _el$ = _tmpl$5();
|
|
1084
1265
|
web.spread(_el$, props, true, true);
|
|
1085
1266
|
return _el$;
|
|
1086
1267
|
})();
|
|
1087
1268
|
};
|
|
1088
|
-
var _tmpl$6 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1089
|
-
|
|
1269
|
+
var _tmpl$6 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 8 6"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.99994 4.58847L7.33298 0L8 0.705765L2.99994 6L0 2.82356L0.666549 2.11779L2.99994 4.58847Z"fill=currentColor>`);
|
|
1270
|
+
var Check = (props) => {
|
|
1090
1271
|
return (() => {
|
|
1091
1272
|
var _el$ = _tmpl$6();
|
|
1092
1273
|
web.spread(_el$, props, true, true);
|
|
1093
1274
|
return _el$;
|
|
1094
1275
|
})();
|
|
1095
|
-
}
|
|
1096
|
-
var _tmpl$7 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1097
|
-
var
|
|
1276
|
+
};
|
|
1277
|
+
var _tmpl$7 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 20 20"><path fill=currentColor d="M5 8.333c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S5.916 8.333 5 8.333zm10 0c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S15.916 8.333 15 8.333zm-5 0c-.917 0-1.667.75-1.667 1.667s.75 1.667 1.667 1.667c.916 0 1.666-.75 1.666-1.667S10.916 8.333 10 8.333z">`);
|
|
1278
|
+
var Dots = (props) => {
|
|
1098
1279
|
return (() => {
|
|
1099
1280
|
var _el$ = _tmpl$7();
|
|
1100
1281
|
web.spread(_el$, props, true, true);
|
|
1101
1282
|
return _el$;
|
|
1102
1283
|
})();
|
|
1103
1284
|
};
|
|
1104
|
-
var _tmpl$8 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1105
|
-
var
|
|
1285
|
+
var _tmpl$8 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.20703 1.875H2.8125H2.10547H1.875V2.04688V2.8125V3.60156V5.33984L0.00390625 3.95508C0.0351562 3.60156 0.216797 3.27344 0.505859 3.06055L0.9375 2.74023V1.875C0.9375 1.35742 1.35742 0.9375 1.875 0.9375H3.37109L4.3457 0.216797C4.53516 0.0761719 4.76367 0 5 0C5.23633 0 5.46484 0.0761719 5.6543 0.214844L6.62891 0.9375H8.125C8.64258 0.9375 9.0625 1.35742 9.0625 1.875V2.74023L9.49414 3.06055C9.7832 3.27344 9.96484 3.60156 9.99609 3.95508L8.125 5.33984V3.60156V2.8125V2.04688V1.875H7.89453H7.1875H5.79297H4.20508H4.20703ZM0 8.75V4.72852L4.25 7.87695C4.4668 8.03711 4.73047 8.125 5 8.125C5.26953 8.125 5.5332 8.03906 5.75 7.87695L10 4.72852V8.75C10 9.43945 9.43945 10 8.75 10H1.25C0.560547 10 0 9.43945 0 8.75ZM3.4375 3.125H6.5625C6.73438 3.125 6.875 3.26562 6.875 3.4375C6.875 3.60938 6.73438 3.75 6.5625 3.75H3.4375C3.26562 3.75 3.125 3.60938 3.125 3.4375C3.125 3.26562 3.26562 3.125 3.4375 3.125ZM3.4375 4.375H6.5625C6.73438 4.375 6.875 4.51562 6.875 4.6875C6.875 4.85938 6.73438 5 6.5625 5H3.4375C3.26562 5 3.125 4.85938 3.125 4.6875C3.125 4.51562 3.26562 4.375 3.4375 4.375Z"fill=currentColor>`);
|
|
1286
|
+
var Email = (props) => {
|
|
1106
1287
|
return (() => {
|
|
1107
1288
|
var _el$ = _tmpl$8();
|
|
1108
1289
|
web.spread(_el$, props, true, true);
|
|
1109
1290
|
return _el$;
|
|
1110
1291
|
})();
|
|
1111
1292
|
};
|
|
1112
|
-
var _tmpl$9 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1113
|
-
var
|
|
1293
|
+
var _tmpl$9 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 12"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.99962 0.856934C4.64404 0.856934 4.35676 1.14421 4.35676 1.49979V1.88551C2.89024 2.18283 1.78533 3.48059 1.78533 5.03551V5.41318C1.78533 6.35738 1.43779 7.26943 0.810999 7.97658L0.662339 8.14332C0.493589 8.33216 0.45341 8.60336 0.555865 8.83439C0.658321 9.06542 0.889348 9.21408 1.14247 9.21408H8.85676C9.10988 9.21408 9.3389 9.06542 9.44337 8.83439C9.54783 8.60336 9.50564 8.33216 9.33689 8.14332L9.18823 7.97658C8.56145 7.26943 8.2139 6.35939 8.2139 5.41318V5.03551C8.2139 3.48059 7.10899 2.18283 5.64247 1.88551V1.49979C5.64247 1.14421 5.3552 0.856934 4.99962 0.856934ZM5.90966 10.767C6.15073 10.5259 6.28533 10.1985 6.28533 9.85693H4.99962H3.7139C3.7139 10.1985 3.8485 10.5259 4.08957 10.767C4.33064 11.008 4.6581 11.1426 4.99962 11.1426C5.34113 11.1426 5.66859 11.008 5.90966 10.767Z"fill=currentColor>`);
|
|
1294
|
+
var InApp = (props) => {
|
|
1114
1295
|
return (() => {
|
|
1115
1296
|
var _el$ = _tmpl$9();
|
|
1116
1297
|
web.spread(_el$, props, true, true);
|
|
1117
1298
|
return _el$;
|
|
1118
1299
|
})();
|
|
1119
1300
|
};
|
|
1120
|
-
var _tmpl$10 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1121
|
-
var
|
|
1301
|
+
var _tmpl$10 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.29671 10C1.78742 10 1.39807 9.85716 1.12864 9.57149C0.862497 9.28581 0.729426 8.86623 0.729426 8.31274V2.64594H1.69543V8.29668C1.69543 8.52163 1.74964 8.69487 1.85806 8.81624C1.96978 8.93408 2.12914 8.99301 2.33614 8.99301H7.66389C7.86764 8.99301 8.02366 8.93408 8.13209 8.81624C8.24384 8.69487 8.29965 8.52163 8.29965 8.29668V2.64594H9.27059V8.31274C9.27059 8.8627 9.13591 9.28048 8.86648 9.56608C8.59705 9.85536 8.20931 10 7.70333 10H2.29671ZM3.41056 5.34543C3.29556 5.34543 3.20028 5.30438 3.1247 5.22226C3.04913 5.14015 3.01134 5.03304 3.01134 4.90089V4.72949C3.01134 4.59737 3.04749 4.49204 3.11977 4.41348C3.19535 4.33492 3.29227 4.29564 3.41056 4.29564H6.5944C6.71271 4.29564 6.80795 4.33492 6.88026 4.41348C6.95582 4.49204 6.9936 4.59737 6.9936 4.72949V4.90089C6.9936 5.03304 6.95582 5.14015 6.88026 5.22226C6.8047 5.30438 6.70939 5.34543 6.5944 5.34543H3.41056ZM1.05964 3.16014C0.724502 3.16014 0.463285 3.05301 0.276004 2.83877C0.0920037 2.62095 0 2.33172 0 1.97107V1.18907C0 0.824846 0.0952841 0.535614 0.28586 0.321373C0.476428 0.107124 0.734358 0 1.05964 0H8.94536C9.27715 0 9.53511 0.107124 9.71911 0.321373C9.90642 0.535614 10 0.824846 10 1.18907V1.97107C10 2.33172 9.90642 2.62095 9.71911 2.83877C9.53511 3.05301 9.27715 3.16014 8.94536 3.16014H1.05964ZM1.24693 2.19067H8.75805C8.87304 2.19067 8.95516 2.16211 9.00448 2.10497C9.05372 2.04427 9.07838 1.95322 9.07838 1.83181V1.32833C9.07838 1.20335 9.05372 1.1123 9.00448 1.05517C8.95516 0.99803 8.87304 0.969462 8.75805 0.969462H1.24693C1.13193 0.969462 1.04814 0.99803 0.995567 1.05517C0.946281 1.1123 0.921638 1.20335 0.921638 1.32833V1.83181C0.921638 1.95322 0.946281 2.04427 0.995567 2.10497C1.04814 2.16211 1.13193 2.19067 1.24693 2.19067Z"fill=currentColor>`);
|
|
1302
|
+
var MarkAsArchived = (props) => {
|
|
1122
1303
|
return (() => {
|
|
1123
1304
|
var _el$ = _tmpl$10();
|
|
1124
1305
|
web.spread(_el$, props, true, true);
|
|
1125
1306
|
return _el$;
|
|
1126
1307
|
})();
|
|
1127
1308
|
};
|
|
1128
|
-
var _tmpl$11 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1129
|
-
var
|
|
1309
|
+
var _tmpl$11 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M2.29671 10C1.78742 10 1.39807 9.85716 1.12864 9.57149C0.862497 9.28581 0.729426 8.86623 0.729426 8.31274V2.64594H1.69543V8.29668C1.69543 8.52163 1.74964 8.69487 1.85806 8.81624C1.96978 8.93408 2.12914 8.99301 2.33614 8.99301H7.66389C7.86764 8.99301 8.02366 8.93408 8.13209 8.81624C8.24384 8.69487 8.29965 8.52163 8.29965 8.29668V2.64594H9.27059V8.31274C9.27059 8.8627 9.13591 9.28048 8.86648 9.56608C8.59705 9.85536 8.20931 10 7.70333 10H2.29671ZM1.05964 3.16014C0.724502 3.16014 0.463285 3.05301 0.276004 2.83877C0.0920037 2.62095 0 2.33172 0 1.97107V1.18907C0 0.824846 0.0952841 0.535614 0.28586 0.321373C0.476428 0.107124 0.734358 0 1.05964 0H8.94536C9.27715 0 9.53511 0.107124 9.71911 0.321373C9.90642 0.535614 10 0.824846 10 1.18907V1.97107C10 2.33172 9.90642 2.62095 9.71911 2.83877C9.53511 3.05301 9.27715 3.16014 8.94536 3.16014H1.05964ZM1.24693 2.19067H8.75805C8.87304 2.19067 8.95516 2.16211 9.00448 2.10497C9.05372 2.04427 9.07838 1.95322 9.07838 1.83181V1.32833C9.07838 1.20335 9.05372 1.1123 9.00448 1.05517C8.95516 0.99803 8.87304 0.969462 8.75805 0.969462H1.24693C1.13193 0.969462 1.04814 0.99803 0.995567 1.05517C0.946281 1.1123 0.921638 1.20335 0.921638 1.32833V1.83181C0.921638 1.95322 0.946281 2.04427 0.995567 2.10497C1.04814 2.16211 1.13193 2.19067 1.24693 2.19067Z"fill=currentColor>`);
|
|
1310
|
+
var MarkAsArchivedRead = (props) => {
|
|
1130
1311
|
return (() => {
|
|
1131
1312
|
var _el$ = _tmpl$11();
|
|
1132
1313
|
web.spread(_el$, props, true, true);
|
|
1133
1314
|
return _el$;
|
|
1134
1315
|
})();
|
|
1135
1316
|
};
|
|
1136
|
-
var _tmpl$12 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1137
|
-
var
|
|
1317
|
+
var _tmpl$12 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M1.75683 10C1.17837 10 0.740942 9.85182 0.444565 9.55546C0.148188 9.26266 0 8.83065 0 8.25932V1.74077C0 1.16587 0.148188 0.732023 0.444565 0.43921C0.740942 0.146407 1.17837 0 1.75683 0H8.24315C8.82161 0 9.25901 0.146407 9.55546 0.43921C9.85182 0.732023 10 1.16587 10 1.74077V8.25932C10 8.83065 9.85182 9.26266 9.55546 9.55546C9.25901 9.85182 8.82161 10 8.24315 10H1.75683ZM1.8211 8.94491H8.17889C8.42524 8.94491 8.61456 8.88056 8.74665 8.75204C8.87874 8.62351 8.94483 8.42889 8.94483 8.16818V1.82647C8.94483 1.56937 8.87874 1.37655 8.74665 1.248C8.61456 1.11945 8.42524 1.05518 8.17889 1.05518H1.8211C1.57115 1.05518 1.38011 1.11945 1.248 1.248C1.11944 1.37655 1.05517 1.56937 1.05517 1.82647V8.16818C1.05517 8.42889 1.11944 8.62351 1.248 8.75204C1.38011 8.88056 1.57115 8.94491 1.8211 8.94491ZM4.42957 7.53616C4.32958 7.53616 4.24032 7.51477 4.16176 7.47189C4.0832 7.42546 4.00643 7.35763 3.93144 7.26841L2.66738 5.72579C2.57454 5.60795 2.52812 5.48833 2.52812 5.36693C2.52812 5.23481 2.57276 5.12232 2.66202 5.02949C2.75487 4.93307 2.86556 4.88486 2.99411 4.88486C3.07624 4.88486 3.14944 4.90272 3.21371 4.93843C3.28156 4.97056 3.34762 5.02949 3.4119 5.11518L4.40814 6.37925L6.52383 2.98876C6.63453 2.80666 6.77379 2.7156 6.94162 2.7156C7.06658 2.7156 7.17911 2.75667 7.27903 2.83879C7.37903 2.92093 7.42903 3.02804 7.42903 3.16016C7.42903 3.22087 7.41477 3.28336 7.38616 3.34763C7.3612 3.40834 7.33086 3.46547 7.29511 3.51903L4.90091 7.26301C4.78664 7.44511 4.62953 7.53616 4.42957 7.53616Z"fill=currentColor>`);
|
|
1318
|
+
var MarkAsRead = (props) => {
|
|
1138
1319
|
return (() => {
|
|
1139
1320
|
var _el$ = _tmpl$12();
|
|
1140
1321
|
web.spread(_el$, props, true, true);
|
|
1141
1322
|
return _el$;
|
|
1142
1323
|
})();
|
|
1143
1324
|
};
|
|
1144
|
-
var _tmpl$13 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1145
|
-
var
|
|
1325
|
+
var _tmpl$13 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M3.15789 2.99902V4.99902L0 2.49902L3.15789 -0.000976562V1.99902H5.78947C6.90618 1.99902 7.97714 2.42045 8.76677 3.1706C9.55639 3.92074 10 4.93816 10 5.99902C10 7.05989 9.55639 8.0773 8.76677 8.82745C7.97714 9.5776 6.90618 9.99902 5.78947 9.99902H1.05263V8.99902H5.78947C6.627 8.99902 7.43022 8.68295 8.02244 8.12034C8.61466 7.55773 8.94737 6.79467 8.94737 5.99902C8.94737 5.20337 8.61466 4.44031 8.02244 3.8777C7.43022 3.31509 6.627 2.99902 5.78947 2.99902H3.15789Z"fill=currentColor>`);
|
|
1326
|
+
var MarkAsUnarchived = (props) => {
|
|
1146
1327
|
return (() => {
|
|
1147
1328
|
var _el$ = _tmpl$13();
|
|
1148
1329
|
web.spread(_el$, props, true, true);
|
|
1149
1330
|
return _el$;
|
|
1150
1331
|
})();
|
|
1151
1332
|
};
|
|
1152
|
-
var _tmpl$14 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1153
|
-
var
|
|
1333
|
+
var _tmpl$14 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 11 11"fill=none xmlns=http://www.w3.org/2000/svg><path d="M6.8 1.5H1.5C0.947715 1.5 0.5 1.94772 0.5 2.5V9.5C0.5 10.0523 0.947715 10.5 1.5 10.5H8.5C9.05228 10.5 9.5 10.0523 9.5 9.5V4.2"stroke=currentColor stroke-miterlimit=1 stroke-linecap=round></path><circle cx=9.25 cy=1.75 r=1.25 fill=currentColor>`);
|
|
1334
|
+
var MarkAsUnread = (props) => {
|
|
1154
1335
|
return (() => {
|
|
1155
1336
|
var _el$ = _tmpl$14();
|
|
1156
1337
|
web.spread(_el$, props, true, true);
|
|
1157
1338
|
return _el$;
|
|
1158
1339
|
})();
|
|
1159
1340
|
};
|
|
1160
|
-
var _tmpl$15 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1161
|
-
var
|
|
1341
|
+
var _tmpl$15 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 13 12"><path fill=currentColor d="M9.787.98A5.972 5.972 0 006.5 0c-.668 0-1.31.11-1.911.31L9.187 4.94c.221.222.6.065.6-.248V.98z"></path><path fill=currentColor d="M2.879 1.216A5.99 5.99 0 00.5 6c0 1.134.315 2.195.862 3.1V7.309c0-1.966 2.379-2.946 3.764-1.552l4.995 5.027A5.99 5.99 0 0012.5 6a5.972 5.972 0 00-.862-3.1v1.791c0 1.966-2.379 2.946-3.764 1.552L2.879 1.216z"></path><path fill=currentColor d="M8.411 11.69L3.813 7.06a.351.351 0 00-.6.248v3.711c.944.62 2.073.98 3.287.98.668 0 1.31-.11 1.911-.31z">`);
|
|
1342
|
+
var Novu2 = (props) => {
|
|
1162
1343
|
return (() => {
|
|
1163
1344
|
var _el$ = _tmpl$15();
|
|
1164
1345
|
web.spread(_el$, props, true, true);
|
|
1165
1346
|
return _el$;
|
|
1166
1347
|
})();
|
|
1167
1348
|
};
|
|
1168
|
-
var _tmpl$16 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1169
|
-
var
|
|
1349
|
+
var _tmpl$16 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 16"fill=none xmlns=http://www.w3.org/2000/svg><path d="M4.12531 1.8999C3.94958 1.8999 3.80713 2.04235 3.80713 2.21808C3.80713 2.39382 3.94958 2.53627 4.12531 2.53627H6.0344C6.21013 2.53627 6.35258 2.39382 6.35258 2.21808C6.35258 2.04235 6.21013 1.8999 6.0344 1.8999H4.12531Z"fill=currentColor></path><path d="M4.12531 1.8999C3.94958 1.8999 3.80713 2.04235 3.80713 2.21808C3.80713 2.39382 3.94958 2.53627 4.12531 2.53627H6.0344C6.21013 2.53627 6.35258 2.39382 6.35258 2.21808C6.35258 2.04235 6.21013 1.8999 6.0344 1.8999H4.12531Z"stroke=currentColor></path><path d="M2.69329 1.46818H7.30693C7.75127 1.46818 8.11147 1.82839 8.11147 2.27273V13.7273C8.11147 14.1716 7.75127 14.5318 7.30693 14.5318H2.69329C2.24896 14.5318 1.88875 14.1716 1.88875 13.7273V2.27273C1.88875 1.82839 2.24896 1.46818 2.69329 1.46818ZM2.69329 0.85C1.90754 0.85 1.27057 1.48698 1.27057 2.27273V2.95695C1.17568 3.00972 1.11147 3.111 1.11147 3.22727V3.54545C1.11147 3.64155 1.15532 3.7274 1.22411 3.78409C1.15532 3.84078 1.11147 3.92663 1.11147 4.02273V4.65909C1.11147 4.75519 1.15532 4.84104 1.22411 4.89773C1.15532 4.95442 1.11147 5.04027 1.11147 5.13636V6.09091C1.11147 6.20718 1.17568 6.30846 1.27057 6.36123V13.7273C1.27057 14.513 1.90754 15.15 2.69329 15.15H7.30693C8.09268 15.15 8.72966 14.513 8.72966 13.7273V6.36123C8.82454 6.30846 8.88875 6.20718 8.88875 6.09091V4.81818C8.88875 4.70191 8.82454 4.60063 8.72966 4.54786V2.27273C8.72966 1.48698 8.09268 0.85 7.30693 0.85H2.69329Z"fill=currentColor stroke=currentColor stroke-width=0.3>`);
|
|
1350
|
+
var Push = (props) => {
|
|
1170
1351
|
return (() => {
|
|
1171
1352
|
var _el$ = _tmpl$16();
|
|
1172
1353
|
web.spread(_el$, props, true, true);
|
|
1173
1354
|
return _el$;
|
|
1174
1355
|
})();
|
|
1175
1356
|
};
|
|
1176
|
-
var _tmpl$17 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1177
|
-
var
|
|
1357
|
+
var _tmpl$17 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10 1.75L17.125 5.875V14.125L10 18.25L2.875 14.125V5.875L10 1.75ZM10 3.48325L4.375 6.73975V13.2603L10 16.5167L15.625 13.2603V6.73975L10 3.48325ZM10 13C9.20435 13 8.44129 12.6839 7.87868 12.1213C7.31607 11.5587 7 10.7956 7 10C7 9.20435 7.31607 8.44129 7.87868 7.87868C8.44129 7.31607 9.20435 7 10 7C10.7956 7 11.5587 7.31607 12.1213 7.87868C12.6839 8.44129 13 9.20435 13 10C13 10.7956 12.6839 11.5587 12.1213 12.1213C11.5587 12.6839 10.7956 13 10 13ZM10 11.5C10.3978 11.5 10.7794 11.342 11.0607 11.0607C11.342 10.7794 11.5 10.3978 11.5 10C11.5 9.60218 11.342 9.22064 11.0607 8.93934C10.7794 8.65804 10.3978 8.5 10 8.5C9.60218 8.5 9.22064 8.65804 8.93934 8.93934C8.65804 9.22064 8.5 9.60218 8.5 10C8.5 10.3978 8.65804 10.7794 8.93934 11.0607C9.22064 11.342 9.60218 11.5 10 11.5Z"fill=currentColor>`);
|
|
1358
|
+
var Settings = (props) => {
|
|
1178
1359
|
return (() => {
|
|
1179
1360
|
var _el$ = _tmpl$17();
|
|
1180
1361
|
web.spread(_el$, props, true, true);
|
|
1181
1362
|
return _el$;
|
|
1182
1363
|
})();
|
|
1183
1364
|
};
|
|
1184
|
-
var _tmpl$18 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1185
|
-
var
|
|
1365
|
+
var _tmpl$18 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 10"fill=none xmlns=http://www.w3.org/2000/svg><path d="M5.00051 9.28364C7.76195 9.28364 10 7.20598 10 4.64182C10 2.07766 7.76195 0 5.00051 0C2.23907 0 0.00101462 2.07766 0.00101462 4.64182C0.00101462 5.64829 0.346683 6.57889 0.932561 7.33988C0.895455 7.88663 0.709927 8.37313 0.514634 8.74358C0.407223 8.94889 0.297859 9.11404 0.21779 9.22562C0.176778 9.28141 0.145531 9.32381 0.122096 9.35282C0.110379 9.36621 0.102567 9.37737 0.096708 9.38407L0.0908493 9.39076C0.00101462 9.49342 -0.0243734 9.64517 0.0244497 9.77907C0.0732729 9.91297 0.186543 10 0.313483 10C0.873973 10 1.43837 9.80138 1.90707 9.56929C2.35429 9.34613 2.73511 9.08056 2.96751 8.88641C3.58854 9.14305 4.27597 9.28587 5.00051 9.28587V9.28364ZM1.87582 4.03481C1.87582 3.58179 2.19806 3.21357 2.5945 3.21357H2.96946C3.14132 3.21357 3.28193 3.37425 3.28193 3.57063C3.28193 3.76702 3.14132 3.92769 2.96946 3.92769H2.5945C2.54177 3.92769 2.50076 3.97679 2.50076 4.03481C2.50076 4.07052 2.51638 4.10399 2.54373 4.12408L3.11789 4.56148C3.31904 4.71323 3.43817 4.96987 3.43817 5.2466C3.43817 5.69962 3.11593 6.06784 2.71949 6.06784L2.18829 6.07007C2.01644 6.07007 1.87582 5.9094 1.87582 5.71301C1.87582 5.51663 2.01644 5.35595 2.18829 5.35595H2.71949C2.77222 5.35595 2.81323 5.30685 2.81323 5.24883C2.81323 5.21312 2.79761 5.17965 2.77026 5.15956L2.1961 4.72216C1.99691 4.56818 1.87582 4.31154 1.87582 4.03481ZM7.28153 3.21357H7.65649C7.82834 3.21357 7.96896 3.37425 7.96896 3.57063C7.96896 3.76702 7.82834 3.92769 7.65649 3.92769H7.28153C7.2288 3.92769 7.18779 3.97679 7.18779 4.03481C7.18779 4.07052 7.20341 4.10399 7.23075 4.12408L7.80491 4.56148C8.00411 4.71323 8.12519 4.96987 8.12519 5.2466C8.12519 5.69962 7.80296 6.06784 7.40651 6.06784L6.87532 6.07007C6.70346 6.07007 6.56285 5.9094 6.56285 5.71301C6.56285 5.51663 6.70346 5.35595 6.87532 5.35595H7.40651C7.45924 5.35595 7.50025 5.30685 7.50025 5.24883C7.50025 5.21312 7.48463 5.17965 7.45729 5.15956L6.88313 4.72216C6.68393 4.57041 6.56285 4.31377 6.56285 4.03705C6.56285 3.58402 6.88508 3.2158 7.28153 3.2158V3.21357ZM4.31308 3.35639L5.00051 4.40304L5.68794 3.35639C5.76801 3.23365 5.90862 3.18233 6.03751 3.23142C6.1664 3.28052 6.25038 3.41665 6.25038 3.57063V5.71301C6.25038 5.9094 6.10977 6.07007 5.93791 6.07007C5.76605 6.07007 5.62544 5.9094 5.62544 5.71301V4.64182L5.25048 5.21312C5.19189 5.30239 5.09815 5.35595 5.00051 5.35595C4.90286 5.35595 4.80912 5.30239 4.75053 5.21312L4.37557 4.64182V5.71301C4.37557 5.9094 4.23496 6.07007 4.0631 6.07007C3.89124 6.07007 3.75063 5.9094 3.75063 5.71301V3.57063C3.75063 3.41665 3.83656 3.28052 3.9635 3.23142C4.09044 3.18233 4.23105 3.23365 4.31308 3.35639Z"fill=currentColor>`);
|
|
1366
|
+
var Sms = (props) => {
|
|
1186
1367
|
return (() => {
|
|
1187
1368
|
var _el$ = _tmpl$18();
|
|
1188
1369
|
web.spread(_el$, props, true, true);
|
|
1189
1370
|
return _el$;
|
|
1190
1371
|
})();
|
|
1191
1372
|
};
|
|
1192
|
-
var _tmpl$19 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg
|
|
1193
|
-
var
|
|
1373
|
+
var _tmpl$19 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 10 8"fill=none xmlns=http://www.w3.org/2000/svg><path d="M1.0119 0.348031C1.06274 0.14468 1.26565 0 1.5 0H8.5C8.73435 0 8.93725 0.14468 8.9881 0.348031L9.9881 4.34804C9.996 4.37969 10 4.412 10 4.44444V7.55556C10 7.80102 9.77615 8 9.5 8H0.5C0.22386 8 0 7.80102 0 7.55556V4.44444C0 4.412 0.00399495 4.37969 0.011905 4.34804L1.0119 0.348031ZM1.90108 0.888889L1.12331 4H3.5C3.5 4.7364 4.17155 5.33333 5 5.33333C5.82845 5.33333 6.5 4.7364 6.5 4H8.8767L8.0989 0.888889H1.90108ZM7.292 4.88889C6.9062 5.67373 6.02515 6.22222 5 6.22222C3.97484 6.22222 3.0938 5.67373 2.70802 4.88889H1V7.11111H9V4.88889H7.292Z"fill=currentColor>`);
|
|
1374
|
+
var UnreadRead = (props) => {
|
|
1194
1375
|
return (() => {
|
|
1195
1376
|
var _el$ = _tmpl$19();
|
|
1196
1377
|
web.spread(_el$, props, true, true);
|
|
@@ -1204,9 +1385,9 @@ var BellContainer = (props) => {
|
|
|
1204
1385
|
const style = useStyle();
|
|
1205
1386
|
return (() => {
|
|
1206
1387
|
var _el$ = _tmpl$20();
|
|
1207
|
-
web.insert(_el$, web.createComponent(
|
|
1388
|
+
web.insert(_el$, web.createComponent(Bell, {
|
|
1208
1389
|
get ["class"]() {
|
|
1209
|
-
return style("bellIcon");
|
|
1390
|
+
return style("bellIcon", "nt-size-4");
|
|
1210
1391
|
}
|
|
1211
1392
|
}), null);
|
|
1212
1393
|
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
@@ -1215,17 +1396,17 @@ var BellContainer = (props) => {
|
|
|
1215
1396
|
},
|
|
1216
1397
|
get children() {
|
|
1217
1398
|
var _el$2 = _tmpl$20();
|
|
1218
|
-
web.effect(() => web.className(_el$2, style("bellDot", "nt-absolute nt-top-
|
|
1399
|
+
web.effect(() => web.className(_el$2, style("bellDot", "nt-absolute nt-top-0 nt-right-0 nt-block nt-size-2 nt-transform nt-bg-counter nt-rounded-full nt-border nt-border-background")));
|
|
1219
1400
|
return _el$2;
|
|
1220
1401
|
}
|
|
1221
1402
|
}), null);
|
|
1222
|
-
web.effect(() => web.className(_el$, style("bellContainer", `nt-
|
|
1403
|
+
web.effect(() => web.className(_el$, style("bellContainer", `nt-size-4 nt-flex nt-justify-center nt-items-center nt-relative nt-text-foreground nt-cursor-pointer`)));
|
|
1223
1404
|
return _el$;
|
|
1224
1405
|
})();
|
|
1225
1406
|
};
|
|
1226
1407
|
|
|
1227
1408
|
// src/ui/components/elements/Bell/Bell.tsx
|
|
1228
|
-
var
|
|
1409
|
+
var Bell2 = (props) => {
|
|
1229
1410
|
const {
|
|
1230
1411
|
totalUnreadCount
|
|
1231
1412
|
} = useTotalUnreadCount();
|
|
@@ -1254,7 +1435,7 @@ function isBrowser() {
|
|
|
1254
1435
|
}
|
|
1255
1436
|
|
|
1256
1437
|
// src/ui/components/elements/Footer.tsx
|
|
1257
|
-
var _tmpl$21 = /* @__PURE__ */ web.template(`<div class="nt-flex nt-shrink-0 nt-justify-center nt-items-center nt-gap-1 nt-mt-auto nt-
|
|
1438
|
+
var _tmpl$21 = /* @__PURE__ */ web.template(`<div class="nt-flex nt-shrink-0 nt-justify-center nt-items-center nt-gap-1 nt-mt-auto nt-py-3 nt-text-foreground-alpha-400"><a target=_blank class="nt-w-full nt-flex nt-items-center nt-gap-1 nt-justify-center"><span class=nt-text-xs>Inbox by</span><span class=nt-text-xs>Novu`);
|
|
1258
1439
|
var Footer = () => {
|
|
1259
1440
|
const {
|
|
1260
1441
|
hideBranding
|
|
@@ -1264,8 +1445,10 @@ var Footer = () => {
|
|
|
1264
1445
|
return !hideBranding();
|
|
1265
1446
|
},
|
|
1266
1447
|
get children() {
|
|
1267
|
-
var _el$ = _tmpl$21(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
|
|
1268
|
-
web.insert(_el$2, web.createComponent(Novu2, {
|
|
1448
|
+
var _el$ = _tmpl$21(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
|
|
1449
|
+
web.insert(_el$2, web.createComponent(Novu2, {
|
|
1450
|
+
"class": "nt-size-4"
|
|
1451
|
+
}), _el$4);
|
|
1269
1452
|
web.effect(() => web.setAttribute(_el$2, "href", `https://go.novu.co/powered?ref=${getCurrentDomain()}`));
|
|
1270
1453
|
return _el$;
|
|
1271
1454
|
}
|
|
@@ -1278,21 +1461,21 @@ function getCurrentDomain() {
|
|
|
1278
1461
|
return "";
|
|
1279
1462
|
}
|
|
1280
1463
|
var _tmpl$22 = /* @__PURE__ */ web.template(`<button>`);
|
|
1281
|
-
var buttonVariants = classVarianceAuthority.cva(
|
|
1464
|
+
var buttonVariants = classVarianceAuthority.cva(cn('nt-inline-flex nt-gap-4 nt-items-center nt-justify-center nt-whitespace-nowrap nt-text-sm nt-font-medium nt-transition-colors disabled:nt-pointer-events-none disabled:nt-opacity-50 after:nt-absolute after:nt-content-[""] before:nt-content-[""] before:nt-absolute [&_svg]:nt-pointer-events-none [&_svg]:nt-shrink-0', `focus-visible:nt-outline-none focus-visible:nt-ring-2 focus-visible:nt-rounded-md focus-visible:nt-ring-ring focus-visible:nt-ring-offset-2`), {
|
|
1282
1465
|
variants: {
|
|
1283
1466
|
variant: {
|
|
1284
|
-
default: "nt-bg-primary nt-text-primary-foreground hover:nt-bg-primary-alpha-
|
|
1285
|
-
secondary: "nt-bg-secondary nt-text-secondary-foreground hover:nt-bg-secondary-alpha-
|
|
1286
|
-
|
|
1287
|
-
ghost: "hover:nt-bg-neutral-alpha-50",
|
|
1467
|
+
default: "nt-bg-gradient-to-b nt-from-20% nt-from-primary-foreground-alpha-200 nt-to-transparent nt-bg-primary nt-text-primary-foreground nt-shadow-[0_0_0_0.5px_var(--nv-color-primary-600)] nt-relative before:nt-absolute before:nt-inset-0 before:nt-border before:nt-border-primary-foreground-alpha-100 after:nt-absolute after:nt-inset-0 after:nt-opacity-0 hover:after:nt-opacity-100 after:nt-transition-opacity after:nt-bg-gradient-to-b after:nt-from-primary-foreground-alpha-50 after:nt-to-transparent",
|
|
1468
|
+
secondary: "nt-bg-secondary nt-text-secondary-foreground nt-shadow-[0_0_0_0.5px_var(--nv-color-secondary-600)] nt-relative before:nt-absolute before:nt-inset-0 before:nt-border before:nt-border-secondary-foreground-alpha-100 after:nt-absolute after:nt-inset-0 after:nt-opacity-0 hover:after:nt-opacity-100 after:nt-transition-opacity after:nt-bg-gradient-to-b after:nt-from-secondary-foreground-alpha-50 after:nt-to-transparent",
|
|
1469
|
+
ghost: "hover:nt-bg-neutral-alpha-100 nt-text-foreground-alpha-600 hover:nt-text-foreground-alpha-800",
|
|
1288
1470
|
unstyled: ""
|
|
1289
1471
|
},
|
|
1290
1472
|
size: {
|
|
1291
1473
|
none: "",
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1474
|
+
iconSm: "nt-p-1 nt-rounded-md after:nt-rounded-md before:nt-rounded-md focus-visible:nt-rounded-md",
|
|
1475
|
+
icon: "nt-p-2.5 nt-rounded-xl before:nt-rounded-xl after:nt-rounded-xl focus-visible:nt-rounded-xl",
|
|
1476
|
+
default: "nt-px-2 nt-py-1 nt-rounded-lg focus-visible:nt-rounded-lg before:nt-rounded-lg after:nt-rounded-lg",
|
|
1477
|
+
sm: "nt-px-1 nt-py-px nt-rounded-md nt-text-xs nt-px-1 before:nt-rounded-md focus-visible:nt-rounded-md after:nt-rounded-md",
|
|
1478
|
+
lg: "nt-px-8 nt-py-2 nt-text-base before:nt-rounded-lg after:nt-rounded-lg focus-visible:nt-rounded-lg"
|
|
1296
1479
|
}
|
|
1297
1480
|
},
|
|
1298
1481
|
defaultVariants: {
|
|
@@ -1350,24 +1533,37 @@ var PopoverClose = (props) => {
|
|
|
1350
1533
|
})();
|
|
1351
1534
|
};
|
|
1352
1535
|
web.delegateEvents(["click"]);
|
|
1353
|
-
var
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1536
|
+
var _tmpl$24 = /* @__PURE__ */ web.template(`<div>`);
|
|
1537
|
+
var Root = (props) => {
|
|
1538
|
+
const [_, rest] = solidJs.splitProps(props, ["class"]);
|
|
1539
|
+
const {
|
|
1540
|
+
id
|
|
1541
|
+
} = useAppearance();
|
|
1542
|
+
const style = useStyle();
|
|
1543
|
+
const {
|
|
1544
|
+
hideBranding
|
|
1545
|
+
} = useInboxContext();
|
|
1546
|
+
return [web.createComponent(solidJs.Show, {
|
|
1547
|
+
get when() {
|
|
1548
|
+
return !hideBranding();
|
|
1549
|
+
},
|
|
1550
|
+
children: new Comment(" Powered by Novu - https://novu.co ")
|
|
1551
|
+
}), (() => {
|
|
1552
|
+
var _el$ = _tmpl$24();
|
|
1553
|
+
web.spread(_el$, web.mergeProps({
|
|
1554
|
+
get id() {
|
|
1555
|
+
return `novu-root-${id()}`;
|
|
1556
|
+
},
|
|
1557
|
+
get ["class"]() {
|
|
1558
|
+
return style("root"), cn("novu", id(), "nt-text-foreground nt-h-full");
|
|
1364
1559
|
}
|
|
1365
|
-
}));
|
|
1366
|
-
|
|
1367
|
-
});
|
|
1560
|
+
}, rest), false, false);
|
|
1561
|
+
return _el$;
|
|
1562
|
+
})()];
|
|
1563
|
+
};
|
|
1368
1564
|
var PopoverContext = solidJs.createContext(void 0);
|
|
1369
1565
|
function PopoverRoot(props) {
|
|
1370
|
-
var _a
|
|
1566
|
+
var _a;
|
|
1371
1567
|
const [uncontrolledIsOpen, setUncontrolledIsOpen] = solidJs.createSignal((_a = props.open) != null ? _a : false);
|
|
1372
1568
|
const onOpenChange = () => {
|
|
1373
1569
|
var _a2;
|
|
@@ -1380,23 +1576,19 @@ function PopoverRoot(props) {
|
|
|
1380
1576
|
const [reference, setReference] = solidJs.createSignal(null);
|
|
1381
1577
|
const [floating, setFloating] = solidJs.createSignal(null);
|
|
1382
1578
|
const position = solidFloatingUi.useFloating(reference, floating, {
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
layoutShift: false
|
|
1389
|
-
}),
|
|
1390
|
-
middleware: [dom.offset((_b = props.offset) != null ? _b : 10), dom.flip({
|
|
1391
|
-
fallbackPlacements: props.fallbackPlacements || ["top-start"]
|
|
1579
|
+
strategy: "fixed",
|
|
1580
|
+
placement: props.placement,
|
|
1581
|
+
whileElementsMounted: dom.autoUpdate,
|
|
1582
|
+
middleware: [dom.offset(10), dom.flip({
|
|
1583
|
+
fallbackPlacements: props.fallbackPlacements
|
|
1392
1584
|
}), dom.shift()]
|
|
1393
1585
|
});
|
|
1394
1586
|
const floatingStyles = solidJs.createMemo(() => {
|
|
1395
|
-
var _a2,
|
|
1587
|
+
var _a2, _b;
|
|
1396
1588
|
return {
|
|
1397
1589
|
position: position.strategy,
|
|
1398
1590
|
top: `${(_a2 = position.y) != null ? _a2 : 0}px`,
|
|
1399
|
-
left: `${(
|
|
1591
|
+
left: `${(_b = position.x) != null ? _b : 0}px`
|
|
1400
1592
|
};
|
|
1401
1593
|
});
|
|
1402
1594
|
const onClose = () => {
|
|
@@ -1430,7 +1622,8 @@ function usePopover() {
|
|
|
1430
1622
|
}
|
|
1431
1623
|
|
|
1432
1624
|
// src/ui/components/primitives/Popover/PopoverContent.tsx
|
|
1433
|
-
var
|
|
1625
|
+
var _tmpl$25 = /* @__PURE__ */ web.template(`<div>`);
|
|
1626
|
+
var popoverContentVariants = () => cn("nt-w-[400px] nt-h-[600px] nt-rounded-xl nt-bg-background", "nt-shadow-popover nt-animate-in nt-slide-in-from-top-2 nt-fade-in nt-z-10 nt-cursor-default nt-flex nt-flex-col nt-overflow-hidden nt-border nt-border-border");
|
|
1434
1627
|
var PopoverContentBody = (props) => {
|
|
1435
1628
|
const {
|
|
1436
1629
|
open,
|
|
@@ -1451,27 +1644,23 @@ var PopoverContentBody = (props) => {
|
|
|
1451
1644
|
removeActive(floatingEl);
|
|
1452
1645
|
});
|
|
1453
1646
|
});
|
|
1454
|
-
return
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
easing: "ease-out"
|
|
1472
|
-
}
|
|
1473
|
-
}, rest));
|
|
1474
|
-
};
|
|
1647
|
+
return (() => {
|
|
1648
|
+
var _el$ = _tmpl$25();
|
|
1649
|
+
web.use(setFloating, _el$);
|
|
1650
|
+
web.spread(_el$, web.mergeProps({
|
|
1651
|
+
get ["class"]() {
|
|
1652
|
+
return web.memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "popoverContent", popoverContentVariants());
|
|
1653
|
+
},
|
|
1654
|
+
get style() {
|
|
1655
|
+
return floatingStyles();
|
|
1656
|
+
},
|
|
1657
|
+
get ["data-open"]() {
|
|
1658
|
+
return open();
|
|
1659
|
+
}
|
|
1660
|
+
}, rest), false, false);
|
|
1661
|
+
return _el$;
|
|
1662
|
+
})();
|
|
1663
|
+
};
|
|
1475
1664
|
var PopoverContent = (props) => {
|
|
1476
1665
|
const [local, rest] = solidJs.splitProps(props, ["portal"]);
|
|
1477
1666
|
const {
|
|
@@ -1536,7 +1725,7 @@ var PopoverContent = (props) => {
|
|
|
1536
1725
|
}
|
|
1537
1726
|
});
|
|
1538
1727
|
};
|
|
1539
|
-
var _tmpl$
|
|
1728
|
+
var _tmpl$26 = /* @__PURE__ */ web.template(`<button>`);
|
|
1540
1729
|
var PopoverTrigger = (props) => {
|
|
1541
1730
|
const {
|
|
1542
1731
|
setReference,
|
|
@@ -1560,7 +1749,7 @@ var PopoverTrigger = (props) => {
|
|
|
1560
1749
|
}, rest));
|
|
1561
1750
|
}
|
|
1562
1751
|
return (() => {
|
|
1563
|
-
var _el$ = _tmpl$
|
|
1752
|
+
var _el$ = _tmpl$26();
|
|
1564
1753
|
_el$.$$click = handleClick;
|
|
1565
1754
|
web.use(setReference, _el$);
|
|
1566
1755
|
web.spread(_el$, web.mergeProps({
|
|
@@ -1592,7 +1781,7 @@ var Popover = {
|
|
|
1592
1781
|
*/
|
|
1593
1782
|
Close: PopoverClose
|
|
1594
1783
|
};
|
|
1595
|
-
var dropdownContentVariants = () => "nt-w-max nt-rounded-xl nt-p-1 nt-overflow-hidden nt-flex nt-flex-col nt-min-w-52 nt-shadow-dropdown nt-z-10 nt-bg-background";
|
|
1784
|
+
var dropdownContentVariants = () => "nt-w-max nt-rounded-xl nt-border nt-border-border nt-p-1 nt-text-sm nt-overflow-hidden nt-flex nt-flex-col nt-min-w-52 nt-shadow-dropdown nt-z-10 nt-bg-background nt-animate-in nt-slide-in-from-top-2 nt-fade-in";
|
|
1596
1785
|
var DropdownContent = (props) => {
|
|
1597
1786
|
const style = useStyle();
|
|
1598
1787
|
const [local, rest] = solidJs.splitProps(props, ["appearanceKey"]);
|
|
@@ -1602,7 +1791,7 @@ var DropdownContent = (props) => {
|
|
|
1602
1791
|
}
|
|
1603
1792
|
}, rest));
|
|
1604
1793
|
};
|
|
1605
|
-
var dropdownItemVariants = () => "focus:nt-outline-none nt-rounded-lg nt-items-center hover:nt-bg-neutral-alpha-50 focus-visible:nt-bg-neutral-alpha-50 nt-py-1 nt-px-
|
|
1794
|
+
var dropdownItemVariants = () => "focus:nt-outline-none nt-text-sm nt-rounded-lg nt-items-center hover:nt-bg-neutral-alpha-50 focus-visible:nt-bg-neutral-alpha-50 nt-py-1 nt-px-2";
|
|
1606
1795
|
var DropdownItem = (props) => {
|
|
1607
1796
|
const style = useStyle();
|
|
1608
1797
|
const [local, rest] = solidJs.splitProps(props, ["appearanceKey", "onClick", "class"]);
|
|
@@ -1660,25 +1849,21 @@ var Dropdown = {
|
|
|
1660
1849
|
*/
|
|
1661
1850
|
Item: DropdownItem
|
|
1662
1851
|
};
|
|
1663
|
-
var
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
get ["class"]() {
|
|
1675
|
-
return web.memo(() => !!local.class)() ? local.class : style(local.appearanceKey || "tabsList", tabsListVariants());
|
|
1852
|
+
var Motion = new Proxy(solidMotionone.Motion, {
|
|
1853
|
+
get: (_, tag) => (props) => {
|
|
1854
|
+
const {
|
|
1855
|
+
animations
|
|
1856
|
+
} = useAppearance();
|
|
1857
|
+
return web.createComponent(solidMotionone.Motion, web.mergeProps(props, {
|
|
1858
|
+
tag,
|
|
1859
|
+
get transition() {
|
|
1860
|
+
return animations() ? props.transition : {
|
|
1861
|
+
duration: 0
|
|
1862
|
+
};
|
|
1676
1863
|
}
|
|
1677
|
-
}
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
})(), _tmpl$26()];
|
|
1681
|
-
};
|
|
1864
|
+
}));
|
|
1865
|
+
}
|
|
1866
|
+
});
|
|
1682
1867
|
var useKeyboardNavigation = ({
|
|
1683
1868
|
activeTab,
|
|
1684
1869
|
setActiveTab,
|
|
@@ -1771,7 +1956,7 @@ var TabsRoot = (props) => {
|
|
|
1771
1956
|
web.use(setTabsContainer, _el$);
|
|
1772
1957
|
web.spread(_el$, web.mergeProps({
|
|
1773
1958
|
get ["class"]() {
|
|
1774
|
-
return
|
|
1959
|
+
return style(local.appearanceKey || "tabsRoot", cn(tabsRootVariants(), local.class));
|
|
1775
1960
|
}
|
|
1776
1961
|
}, rest), false, true);
|
|
1777
1962
|
web.insert(_el$, () => local.children);
|
|
@@ -1813,7 +1998,26 @@ var TabsContent = (props) => {
|
|
|
1813
1998
|
}
|
|
1814
1999
|
});
|
|
1815
2000
|
};
|
|
1816
|
-
var
|
|
2001
|
+
var _tmpl$29 = /* @__PURE__ */ web.template(`<div role=tablist>`);
|
|
2002
|
+
var _tmpl$210 = /* @__PURE__ */ web.template(`<div class="nt-relative nt-z-[-1]">`);
|
|
2003
|
+
var tabsListVariants = () => "nt-flex nt-gap-6";
|
|
2004
|
+
var TabsList = (props) => {
|
|
2005
|
+
const [local, rest] = solidJs.splitProps(props, ["class", "appearanceKey", "ref", "children"]);
|
|
2006
|
+
const style = useStyle();
|
|
2007
|
+
return [(() => {
|
|
2008
|
+
var _el$ = _tmpl$29();
|
|
2009
|
+
var _ref$ = local.ref;
|
|
2010
|
+
typeof _ref$ === "function" ? web.use(_ref$, _el$) : local.ref = _el$;
|
|
2011
|
+
web.spread(_el$, web.mergeProps({
|
|
2012
|
+
get ["class"]() {
|
|
2013
|
+
return style(local.appearanceKey || "tabsList", cn(tabsListVariants(), local.class));
|
|
2014
|
+
}
|
|
2015
|
+
}, rest), false, true);
|
|
2016
|
+
web.insert(_el$, () => local.children);
|
|
2017
|
+
return _el$;
|
|
2018
|
+
})(), _tmpl$210()];
|
|
2019
|
+
};
|
|
2020
|
+
var tabsTriggerVariants = () => cn("nt-relative nt-transition nt-outline-none nt-text-foreground-alpha-600 nt-pb-[0.625rem]", `after:nt-absolute after:nt-content-[''] after:nt-bottom-0 after:nt-left-0 after:nt-w-full after:nt-h-[2px]`, "after:nt-transition-opacity after:nt-duration-200", "data-[state=active]:after:nt-border-b-2 data-[state=active]:after:nt-border-primary data-[state=active]:after:nt-opacity-100", "data-[state=active]:nt-text-foreground after:nt-border-b-transparent after:nt-opacity-0", "focus-visible:nt-outline-none focus-visible:nt-rounded-lg focus-visible:nt-ring-2 focus-visible:nt-ring-ring focus-visible:nt-ring-offset-2");
|
|
1817
2021
|
var TabsTrigger = (props) => {
|
|
1818
2022
|
const [local, rest] = solidJs.splitProps(props, ["value", "class", "appearanceKey", "ref", "onClick", "children"]);
|
|
1819
2023
|
const style = useStyle();
|
|
@@ -1880,17 +2084,16 @@ var inboxFilterLocalizationKeys = {
|
|
|
1880
2084
|
unread: "inbox.filters.labels.unread",
|
|
1881
2085
|
archived: "inbox.filters.labels.archived"
|
|
1882
2086
|
};
|
|
1883
|
-
var _tmpl$
|
|
1884
|
-
var _tmpl$210 = /* @__PURE__ */ web.template(`<span>`);
|
|
2087
|
+
var _tmpl$30 = /* @__PURE__ */ web.template(`<span><span></span><span>`);
|
|
1885
2088
|
var cases = [{
|
|
1886
2089
|
status: "unreadRead" /* UNREAD_READ */,
|
|
1887
|
-
icon:
|
|
2090
|
+
icon: UnreadRead
|
|
1888
2091
|
}, {
|
|
1889
2092
|
status: "unread" /* UNREAD */,
|
|
1890
|
-
icon:
|
|
2093
|
+
icon: MarkAsUnread
|
|
1891
2094
|
}, {
|
|
1892
2095
|
status: "archived" /* ARCHIVED */,
|
|
1893
|
-
icon:
|
|
2096
|
+
icon: MarkAsArchived
|
|
1894
2097
|
}];
|
|
1895
2098
|
var StatusOptions = (props) => {
|
|
1896
2099
|
return web.createComponent(solidJs.For, {
|
|
@@ -1925,11 +2128,11 @@ var StatusItem = (props) => {
|
|
|
1925
2128
|
},
|
|
1926
2129
|
get children() {
|
|
1927
2130
|
return [(() => {
|
|
1928
|
-
var _el$ = _tmpl$
|
|
2131
|
+
var _el$ = _tmpl$30(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
|
|
1929
2132
|
web.insert(_el$2, () => props.icon());
|
|
1930
2133
|
web.insert(_el$3, () => t(props.localizationKey));
|
|
1931
2134
|
web.effect((_p$) => {
|
|
1932
|
-
var _v$ = style("inboxStatus__dropdownItemLabelContainer", "nt-flex nt-gap-2 nt-items-center"), _v$2 = style("inboxStatus__dropdownItemLeft__icon"), _v$3 = props.localizationKey, _v$4 = style("inboxStatus__dropdownItemLabel");
|
|
2135
|
+
var _v$ = style("inboxStatus__dropdownItemLabelContainer", "nt-flex nt-gap-2 nt-items-center"), _v$2 = style("inboxStatus__dropdownItemLeft__icon", "nt-size-3"), _v$3 = props.localizationKey, _v$4 = style("inboxStatus__dropdownItemLabel");
|
|
1933
2136
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
1934
2137
|
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
1935
2138
|
_v$3 !== _p$.a && web.setAttribute(_el$3, "data-localization", _p$.a = _v$3);
|
|
@@ -1947,10 +2150,11 @@ var StatusItem = (props) => {
|
|
|
1947
2150
|
return props.isSelected;
|
|
1948
2151
|
},
|
|
1949
2152
|
get children() {
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
2153
|
+
return web.createComponent(Check, {
|
|
2154
|
+
get ["class"]() {
|
|
2155
|
+
return style("inboxStatus__dropdownItemCheck__icon", "nt-size-3");
|
|
2156
|
+
}
|
|
2157
|
+
});
|
|
1954
2158
|
}
|
|
1955
2159
|
})];
|
|
1956
2160
|
}
|
|
@@ -1958,7 +2162,7 @@ var StatusItem = (props) => {
|
|
|
1958
2162
|
};
|
|
1959
2163
|
|
|
1960
2164
|
// src/ui/components/elements/InboxStatus/InboxStatusDropdown.tsx
|
|
1961
|
-
var _tmpl$
|
|
2165
|
+
var _tmpl$31 = /* @__PURE__ */ web.template(`<span>`);
|
|
1962
2166
|
var StatusDropdown = () => {
|
|
1963
2167
|
const style = useStyle();
|
|
1964
2168
|
const {
|
|
@@ -1975,7 +2179,7 @@ var StatusDropdown = () => {
|
|
|
1975
2179
|
return style("inboxStatus__dropdownTrigger", cn(buttonVariants({
|
|
1976
2180
|
variant: "unstyled",
|
|
1977
2181
|
size: "none"
|
|
1978
|
-
}), "nt-gap-
|
|
2182
|
+
}), "nt-gap-0.5"));
|
|
1979
2183
|
},
|
|
1980
2184
|
asChild: (triggerProps) => web.createComponent(Button, web.mergeProps({
|
|
1981
2185
|
variant: "unstyled",
|
|
@@ -1983,10 +2187,10 @@ var StatusDropdown = () => {
|
|
|
1983
2187
|
}, triggerProps, {
|
|
1984
2188
|
get children() {
|
|
1985
2189
|
return [(() => {
|
|
1986
|
-
var _el$ = _tmpl$
|
|
2190
|
+
var _el$ = _tmpl$31();
|
|
1987
2191
|
web.insert(_el$, () => t(inboxFilterLocalizationKeys[status()]));
|
|
1988
2192
|
web.effect((_p$) => {
|
|
1989
|
-
var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-
|
|
2193
|
+
var _v$ = inboxFilterLocalizationKeys[status()], _v$2 = style("inboxStatus__title", "nt-text-base");
|
|
1990
2194
|
_v$ !== _p$.e && web.setAttribute(_el$, "data-localization", _p$.e = _v$);
|
|
1991
2195
|
_v$2 !== _p$.t && web.className(_el$, _p$.t = _v$2);
|
|
1992
2196
|
return _p$;
|
|
@@ -1995,12 +2199,11 @@ var StatusDropdown = () => {
|
|
|
1995
2199
|
t: void 0
|
|
1996
2200
|
});
|
|
1997
2201
|
return _el$;
|
|
1998
|
-
})(), (
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
})()];
|
|
2202
|
+
})(), web.createComponent(ArrowDropDown, {
|
|
2203
|
+
get ["class"]() {
|
|
2204
|
+
return style("inboxStatus__dropdownItemRight__icon", "nt-text-foreground-alpha-600 nt-size-4");
|
|
2205
|
+
}
|
|
2206
|
+
})];
|
|
2004
2207
|
}
|
|
2005
2208
|
}))
|
|
2006
2209
|
}), web.createComponent(Dropdown.Content, {
|
|
@@ -2017,17 +2220,52 @@ var StatusDropdown = () => {
|
|
|
2017
2220
|
}
|
|
2018
2221
|
});
|
|
2019
2222
|
};
|
|
2223
|
+
|
|
2224
|
+
// src/ui/api/hooks/useArchiveAll.ts
|
|
2225
|
+
var useArchiveAll = (props) => {
|
|
2226
|
+
const novu = useNovu();
|
|
2227
|
+
const archiveAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
2228
|
+
var _a, _b;
|
|
2229
|
+
try {
|
|
2230
|
+
yield novu.notifications.archiveAll({ tags });
|
|
2231
|
+
(_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
|
|
2232
|
+
} catch (error) {
|
|
2233
|
+
(_b = void 0 ) == null ? void 0 : _b.call(props, error);
|
|
2234
|
+
}
|
|
2235
|
+
});
|
|
2236
|
+
return { archiveAll };
|
|
2237
|
+
};
|
|
2238
|
+
|
|
2239
|
+
// src/ui/api/hooks/useArchiveAllRead.ts
|
|
2240
|
+
var useArchiveAllRead = (props) => {
|
|
2241
|
+
const novu = useNovu();
|
|
2242
|
+
const archiveAllRead = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
2243
|
+
var _a, _b;
|
|
2244
|
+
try {
|
|
2245
|
+
yield novu.notifications.archiveAllRead({ tags });
|
|
2246
|
+
(_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
|
|
2247
|
+
} catch (error) {
|
|
2248
|
+
(_b = void 0 ) == null ? void 0 : _b.call(props, error);
|
|
2249
|
+
}
|
|
2250
|
+
});
|
|
2251
|
+
return { archiveAllRead };
|
|
2252
|
+
};
|
|
2020
2253
|
var useNotificationsInfiniteScroll = (props) => {
|
|
2021
2254
|
const novu = useNovu();
|
|
2022
2255
|
let filter = chunk7B52C2XE_js.__spreadValues({}, props.options());
|
|
2023
|
-
const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll(
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2256
|
+
const [data, { initialLoading, setEl, end, mutate, reset }] = createInfiniteScroll(
|
|
2257
|
+
(after) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
2258
|
+
var _a, _b;
|
|
2259
|
+
const { data: data2 } = yield novu.notifications.list(chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, props.options() || {}), { after }));
|
|
2260
|
+
return { data: (_a = data2 == null ? void 0 : data2.notifications) != null ? _a : [], hasMore: (_b = data2 == null ? void 0 : data2.hasMore) != null ? _b : false };
|
|
2261
|
+
}),
|
|
2262
|
+
{
|
|
2263
|
+
paginationField: "id"
|
|
2264
|
+
}
|
|
2265
|
+
);
|
|
2028
2266
|
solidJs.onMount(() => {
|
|
2029
2267
|
const listener = ({ data: data2 }) => {
|
|
2030
|
-
if (!data2 || !
|
|
2268
|
+
if (!data2 || !chunkZA235BHP_js.isSameFilter(filter, data2.filter)) {
|
|
2031
2269
|
return;
|
|
2032
2270
|
}
|
|
2033
2271
|
mutate({ data: data2.notifications, hasMore: data2.hasMore });
|
|
@@ -2035,19 +2273,19 @@ var useNotificationsInfiniteScroll = (props) => {
|
|
|
2035
2273
|
const cleanup = novu.on("notifications.list.updated", listener);
|
|
2036
2274
|
solidJs.onCleanup(() => cleanup());
|
|
2037
2275
|
});
|
|
2038
|
-
solidJs.createEffect(() => {
|
|
2276
|
+
solidJs.createEffect(() => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
2039
2277
|
const newFilter = chunk7B52C2XE_js.__spreadValues({}, props.options());
|
|
2040
|
-
if (
|
|
2278
|
+
if (chunkZA235BHP_js.isSameFilter(filter, newFilter)) {
|
|
2041
2279
|
return;
|
|
2042
2280
|
}
|
|
2043
2281
|
novu.notifications.clearCache();
|
|
2044
|
-
reset();
|
|
2282
|
+
yield reset();
|
|
2045
2283
|
filter = newFilter;
|
|
2046
|
-
});
|
|
2047
|
-
const refetch = ({ filter: filter2 })
|
|
2284
|
+
}));
|
|
2285
|
+
const refetch = (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({ filter: filter2 }) {
|
|
2048
2286
|
novu.notifications.clearCache({ filter: filter2 });
|
|
2049
|
-
reset();
|
|
2050
|
-
};
|
|
2287
|
+
yield reset();
|
|
2288
|
+
});
|
|
2051
2289
|
return { data, initialLoading, setEl, end, refetch };
|
|
2052
2290
|
};
|
|
2053
2291
|
var usePreferences = (options) => {
|
|
@@ -2093,38 +2331,8 @@ var useReadAll = (props) => {
|
|
|
2093
2331
|
return { readAll };
|
|
2094
2332
|
};
|
|
2095
2333
|
|
|
2096
|
-
// src/ui/api/hooks/useArchiveAll.ts
|
|
2097
|
-
var useArchiveAll = (props) => {
|
|
2098
|
-
const novu = useNovu();
|
|
2099
|
-
const archiveAll = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
2100
|
-
var _a, _b;
|
|
2101
|
-
try {
|
|
2102
|
-
yield novu.notifications.archiveAll({ tags });
|
|
2103
|
-
(_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
|
|
2104
|
-
} catch (error) {
|
|
2105
|
-
(_b = void 0 ) == null ? void 0 : _b.call(props, error);
|
|
2106
|
-
}
|
|
2107
|
-
});
|
|
2108
|
-
return { archiveAll };
|
|
2109
|
-
};
|
|
2110
|
-
|
|
2111
|
-
// src/ui/api/hooks/useArchiveAllRead.ts
|
|
2112
|
-
var useArchiveAllRead = (props) => {
|
|
2113
|
-
const novu = useNovu();
|
|
2114
|
-
const archiveAllRead = (..._0) => chunk7B52C2XE_js.__async(void 0, [..._0], function* ({ tags } = {}) {
|
|
2115
|
-
var _a, _b;
|
|
2116
|
-
try {
|
|
2117
|
-
yield novu.notifications.archiveAllRead({ tags });
|
|
2118
|
-
(_a = props == null ? void 0 : props.onSuccess) == null ? void 0 : _a.call(props);
|
|
2119
|
-
} catch (error) {
|
|
2120
|
-
(_b = void 0 ) == null ? void 0 : _b.call(props, error);
|
|
2121
|
-
}
|
|
2122
|
-
});
|
|
2123
|
-
return { archiveAllRead };
|
|
2124
|
-
};
|
|
2125
|
-
|
|
2126
2334
|
// src/ui/components/elements/Header/MoreActionsOptions.tsx
|
|
2127
|
-
var _tmpl$
|
|
2335
|
+
var _tmpl$32 = /* @__PURE__ */ web.template(`<span>`);
|
|
2128
2336
|
var MoreActionsOptions = () => {
|
|
2129
2337
|
const {
|
|
2130
2338
|
filter
|
|
@@ -2143,19 +2351,19 @@ var MoreActionsOptions = () => {
|
|
|
2143
2351
|
onClick: () => readAll({
|
|
2144
2352
|
tags: filter().tags
|
|
2145
2353
|
}),
|
|
2146
|
-
icon:
|
|
2354
|
+
icon: MarkAsRead
|
|
2147
2355
|
}), web.createComponent(ActionsItem, {
|
|
2148
2356
|
localizationKey: "notifications.actions.archiveAll",
|
|
2149
2357
|
onClick: () => archiveAll({
|
|
2150
2358
|
tags: filter().tags
|
|
2151
2359
|
}),
|
|
2152
|
-
icon:
|
|
2360
|
+
icon: MarkAsArchived
|
|
2153
2361
|
}), web.createComponent(ActionsItem, {
|
|
2154
2362
|
localizationKey: "notifications.actions.archiveRead",
|
|
2155
2363
|
onClick: () => archiveAllRead({
|
|
2156
2364
|
tags: filter().tags
|
|
2157
2365
|
}),
|
|
2158
|
-
icon:
|
|
2366
|
+
icon: MarkAsArchivedRead
|
|
2159
2367
|
})];
|
|
2160
2368
|
};
|
|
2161
2369
|
var ActionsItem = (props) => {
|
|
@@ -2172,12 +2380,12 @@ var ActionsItem = (props) => {
|
|
|
2172
2380
|
},
|
|
2173
2381
|
get children() {
|
|
2174
2382
|
return [(() => {
|
|
2175
|
-
var _el$ = _tmpl$
|
|
2383
|
+
var _el$ = _tmpl$32();
|
|
2176
2384
|
web.insert(_el$, () => props.icon());
|
|
2177
|
-
web.effect(() => web.className(_el$, style("moreActions__dropdownItemLeft__icon", "nt-
|
|
2385
|
+
web.effect(() => web.className(_el$, style("moreActions__dropdownItemLeft__icon", "nt-size-3")));
|
|
2178
2386
|
return _el$;
|
|
2179
2387
|
})(), (() => {
|
|
2180
|
-
var _el$2 = _tmpl$
|
|
2388
|
+
var _el$2 = _tmpl$32();
|
|
2181
2389
|
web.insert(_el$2, () => t(props.localizationKey));
|
|
2182
2390
|
web.effect((_p$) => {
|
|
2183
2391
|
var _v$ = props.localizationKey, _v$2 = style("moreActions__dropdownItemLabel");
|
|
@@ -2212,13 +2420,13 @@ var MoreActionsDropdown = () => {
|
|
|
2212
2420
|
return style("moreActions__dropdownTrigger");
|
|
2213
2421
|
},
|
|
2214
2422
|
asChild: (triggerProps) => web.createComponent(Button, web.mergeProps({
|
|
2215
|
-
variant: "
|
|
2216
|
-
size: "
|
|
2423
|
+
variant: "ghost",
|
|
2424
|
+
size: "iconSm"
|
|
2217
2425
|
}, triggerProps, {
|
|
2218
2426
|
get children() {
|
|
2219
2427
|
return web.createComponent(Dots, {
|
|
2220
2428
|
get ["class"]() {
|
|
2221
|
-
return style("moreActions__dots");
|
|
2429
|
+
return style("moreActions__dots", "nt-size-5");
|
|
2222
2430
|
}
|
|
2223
2431
|
});
|
|
2224
2432
|
}
|
|
@@ -2236,11 +2444,11 @@ var MoreActionsDropdown = () => {
|
|
|
2236
2444
|
};
|
|
2237
2445
|
|
|
2238
2446
|
// src/ui/components/elements/Header/ActionsContainer.tsx
|
|
2239
|
-
var _tmpl$
|
|
2447
|
+
var _tmpl$33 = /* @__PURE__ */ web.template(`<div>`);
|
|
2240
2448
|
var ActionsContainer = (props) => {
|
|
2241
2449
|
const style = useStyle();
|
|
2242
2450
|
return (() => {
|
|
2243
|
-
var _el$ = _tmpl$
|
|
2451
|
+
var _el$ = _tmpl$33();
|
|
2244
2452
|
web.insert(_el$, web.createComponent(MoreActionsDropdown, {}), null);
|
|
2245
2453
|
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2246
2454
|
get when() {
|
|
@@ -2248,99 +2456,68 @@ var ActionsContainer = (props) => {
|
|
|
2248
2456
|
},
|
|
2249
2457
|
children: (showPreferences) => web.createComponent(Button, {
|
|
2250
2458
|
appearanceKey: "preferences__button",
|
|
2251
|
-
variant: "
|
|
2252
|
-
size: "
|
|
2459
|
+
variant: "ghost",
|
|
2460
|
+
size: "iconSm",
|
|
2253
2461
|
get onClick() {
|
|
2254
2462
|
return showPreferences();
|
|
2255
2463
|
},
|
|
2256
2464
|
get children() {
|
|
2257
|
-
return web.createComponent(Settings, {
|
|
2465
|
+
return web.createComponent(Settings, {
|
|
2466
|
+
get ["class"]() {
|
|
2467
|
+
return style("preferences__icon", "nt-size-5");
|
|
2468
|
+
}
|
|
2469
|
+
});
|
|
2258
2470
|
}
|
|
2259
2471
|
})
|
|
2260
2472
|
}), null);
|
|
2261
|
-
web.effect(() => web.className(_el$, style("moreActionsContainer", "nt-flex nt-gap-
|
|
2473
|
+
web.effect(() => web.className(_el$, style("moreActionsContainer", "nt-flex nt-gap-3")));
|
|
2262
2474
|
return _el$;
|
|
2263
2475
|
})();
|
|
2264
2476
|
};
|
|
2265
2477
|
|
|
2266
2478
|
// src/ui/components/elements/Header/Header.tsx
|
|
2267
|
-
var _tmpl$
|
|
2479
|
+
var _tmpl$34 = /* @__PURE__ */ web.template(`<div>`);
|
|
2268
2480
|
var Header = (props) => {
|
|
2269
2481
|
const style = useStyle();
|
|
2270
2482
|
return (() => {
|
|
2271
|
-
var _el$ = _tmpl$
|
|
2483
|
+
var _el$ = _tmpl$34();
|
|
2272
2484
|
web.insert(_el$, web.createComponent(StatusDropdown, {}), null);
|
|
2273
2485
|
web.insert(_el$, web.createComponent(ActionsContainer, {
|
|
2274
2486
|
get showPreferences() {
|
|
2275
2487
|
return props.navigateToPreferences;
|
|
2276
2488
|
}
|
|
2277
2489
|
}), null);
|
|
2278
|
-
web.effect(() => web.className(_el$, style("inboxHeader", cn("nt-flex nt-shrink-0 nt-justify-between nt-items-center nt-w-full nt-
|
|
2279
|
-
return _el$;
|
|
2280
|
-
})();
|
|
2281
|
-
};
|
|
2282
|
-
var _tmpl$34 = /* @__PURE__ */ web.template(`<div><div data-localization=preferences.title>`);
|
|
2283
|
-
var _tmpl$211 = /* @__PURE__ */ web.template(`<button>`);
|
|
2284
|
-
var PreferencesHeader = (props) => {
|
|
2285
|
-
const style = useStyle();
|
|
2286
|
-
const {
|
|
2287
|
-
t
|
|
2288
|
-
} = useLocalization();
|
|
2289
|
-
return (() => {
|
|
2290
|
-
var _el$ = _tmpl$34(), _el$2 = _el$.firstChild;
|
|
2291
|
-
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2292
|
-
get when() {
|
|
2293
|
-
return props.navigateToNotifications;
|
|
2294
|
-
},
|
|
2295
|
-
children: (navigateToNotifications) => (() => {
|
|
2296
|
-
var _el$3 = _tmpl$211();
|
|
2297
|
-
web.addEventListener(_el$3, "click", navigateToNotifications(), true);
|
|
2298
|
-
web.insert(_el$3, web.createComponent(ArrowLeft, {}));
|
|
2299
|
-
web.effect(() => web.className(_el$3, style("preferencesHeader__back__button", "nt-h-6 nt-w-6 nt-flex nt-justify-center nt-items-center nt-rounded-md nt-relative hover:nt-bg-foreground-alpha-50 focus:nt-bg-foreground-alpha-50 nt-text-foreground-alpha-600")));
|
|
2300
|
-
return _el$3;
|
|
2301
|
-
})()
|
|
2302
|
-
}), _el$2);
|
|
2303
|
-
web.insert(_el$2, () => t("preferences.title"));
|
|
2304
|
-
web.effect((_p$) => {
|
|
2305
|
-
var _v$ = style("preferencesHeader", "nt-flex nt-items-center nt-py-5 nt-px-6 nt-gap-2"), _v$2 = style("preferencesHeader__title", "nt-text-xl nt-font-semibold");
|
|
2306
|
-
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
2307
|
-
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
2308
|
-
return _p$;
|
|
2309
|
-
}, {
|
|
2310
|
-
e: void 0,
|
|
2311
|
-
t: void 0
|
|
2312
|
-
});
|
|
2490
|
+
web.effect(() => web.className(_el$, style("inboxHeader", cn("nt-flex nt-bg-neutral-alpha-25 nt-shrink-0 nt-justify-between nt-items-center nt-w-full nt-pb-2 nt-pt-2.5 nt-px-4"))));
|
|
2313
2491
|
return _el$;
|
|
2314
2492
|
})();
|
|
2315
2493
|
};
|
|
2316
|
-
web.delegateEvents(["click"]);
|
|
2317
2494
|
var _tmpl$35 = /* @__PURE__ */ web.template(`<div>`);
|
|
2318
|
-
var
|
|
2319
|
-
const [_, rest] = solidJs.splitProps(props, ["class"]);
|
|
2320
|
-
const {
|
|
2321
|
-
id
|
|
2322
|
-
} = useAppearance();
|
|
2495
|
+
var Collapsible = (props) => {
|
|
2323
2496
|
const style = useStyle();
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
},
|
|
2331
|
-
children: new Comment(" Powered by Novu - https://novu.co ")
|
|
2332
|
-
}), (() => {
|
|
2497
|
+
let contentRef;
|
|
2498
|
+
const [enableTransition, setEnableTransition] = solidJs.createSignal(false);
|
|
2499
|
+
solidJs.createEffect(() => {
|
|
2500
|
+
requestAnimationFrame(() => setEnableTransition(true));
|
|
2501
|
+
});
|
|
2502
|
+
return (() => {
|
|
2333
2503
|
var _el$ = _tmpl$35();
|
|
2504
|
+
var _ref$ = contentRef;
|
|
2505
|
+
typeof _ref$ === "function" ? web.use(_ref$, _el$) : contentRef = _el$;
|
|
2334
2506
|
web.spread(_el$, web.mergeProps({
|
|
2335
|
-
get id() {
|
|
2336
|
-
return `novu-root-${id()}`;
|
|
2337
|
-
},
|
|
2338
2507
|
get ["class"]() {
|
|
2339
|
-
return style("
|
|
2508
|
+
return style("collapsible", props.class);
|
|
2509
|
+
},
|
|
2510
|
+
get style() {
|
|
2511
|
+
return {
|
|
2512
|
+
overflow: "hidden",
|
|
2513
|
+
opacity: props.open ? 1 : 0,
|
|
2514
|
+
transition: enableTransition() ? "height 250ms ease-in-out, opacity 250ms ease-in-out" : "none",
|
|
2515
|
+
height: props.open ? `${contentRef == null ? void 0 : contentRef.scrollHeight}px` : "0px"
|
|
2516
|
+
};
|
|
2340
2517
|
}
|
|
2341
|
-
},
|
|
2518
|
+
}, props), false, false);
|
|
2342
2519
|
return _el$;
|
|
2343
|
-
})()
|
|
2520
|
+
})();
|
|
2344
2521
|
};
|
|
2345
2522
|
var _tmpl$36 = /* @__PURE__ */ web.template(`<label><input type=checkbox class="nt-peer nt-sr-only"><div>`);
|
|
2346
2523
|
var Switch = (props) => {
|
|
@@ -2351,7 +2528,7 @@ var Switch = (props) => {
|
|
|
2351
2528
|
props.onChange(e.target.checked);
|
|
2352
2529
|
});
|
|
2353
2530
|
web.effect((_p$) => {
|
|
2354
|
-
var _v$ = style("channelSwitch", `nt-relative nt-inline-flex nt-cursor-pointer nt-items-center`), _v$2 = style("channelSwitchThumb", `nt-peer nt-h-
|
|
2531
|
+
var _v$ = style("channelSwitch", `nt-relative nt-inline-flex nt-cursor-pointer nt-items-center`), _v$2 = style("channelSwitchThumb", `nt-peer nt-h-4 nt-w-7 nt-rounded-full peer-checked:nt-shadow-none peer-checked:nt-border-neutral-alpha-400 nt-bg-neutral-alpha-300 after:nt-absolute after:nt-top-0.5 after:nt-size-3 after:nt-left-0.5 after:nt-rounded-full after:nt-bg-background after:nt-transition-all after:nt-content-[''] peer-checked:nt-bg-primary peer-checked:after:nt-translate-x-full peer-checked:after:nt-border-background nt-transition-all nt-duration-200 after:nt-duration-200 shadow-sm`), _v$3 = props.checked;
|
|
2355
2532
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
2356
2533
|
_v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
|
|
2357
2534
|
_v$3 !== _p$.a && web.setAttribute(_el$3, "data-checked", _p$.a = _v$3);
|
|
@@ -2377,15 +2554,17 @@ var ChannelRow = (props) => {
|
|
|
2377
2554
|
workflowId: props.workflowId
|
|
2378
2555
|
});
|
|
2379
2556
|
});
|
|
2380
|
-
const onChange = (checked) => {
|
|
2381
|
-
updatePreference(checked);
|
|
2382
|
-
};
|
|
2557
|
+
const onChange = (checked) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
2558
|
+
yield updatePreference(checked);
|
|
2559
|
+
});
|
|
2383
2560
|
return (() => {
|
|
2384
2561
|
var _el$ = _tmpl$37(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling;
|
|
2385
2562
|
web.insert(_el$3, web.createComponent(ChannelIcon, {
|
|
2563
|
+
appearanceKey: "channel__icon",
|
|
2386
2564
|
get channel() {
|
|
2387
2565
|
return props.channel;
|
|
2388
|
-
}
|
|
2566
|
+
},
|
|
2567
|
+
"class": "nt-size-3"
|
|
2389
2568
|
}));
|
|
2390
2569
|
web.insert(_el$4, () => getLabel(props.channel));
|
|
2391
2570
|
web.insert(_el$5, web.createComponent(Switch, {
|
|
@@ -2395,33 +2574,56 @@ var ChannelRow = (props) => {
|
|
|
2395
2574
|
onChange: (checked) => onChange(checked)
|
|
2396
2575
|
}));
|
|
2397
2576
|
web.effect((_p$) => {
|
|
2398
|
-
var _v$ = style("channelContainer", "nt-flex nt-justify-between nt-items-center nt-
|
|
2577
|
+
var _v$ = style("channelContainer", "nt-flex nt-justify-between nt-items-center nt-gap-2 data-[disabled=true]:nt-text-foreground-alpha-600"), _v$2 = style("channelLabelContainer", "nt-flex nt-items-center nt-gap-2 nt-text-foreground"), _v$3 = style("channelIconContainer", "nt-p-1 nt-rounded-md nt-bg-neutral-alpha-25 nt-text-foreground-alpha-300"), _v$4 = style("channelLabel", "nt-text-sm nt-font-semibold"), _v$5 = style("channelSwitchContainer", "nt-flex nt-items-center");
|
|
2399
2578
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
2400
2579
|
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
2401
|
-
_v$3 !== _p$.a && web.className(_el$
|
|
2402
|
-
_v$4 !== _p$.o && web.className(_el$
|
|
2580
|
+
_v$3 !== _p$.a && web.className(_el$3, _p$.a = _v$3);
|
|
2581
|
+
_v$4 !== _p$.o && web.className(_el$4, _p$.o = _v$4);
|
|
2582
|
+
_v$5 !== _p$.i && web.className(_el$5, _p$.i = _v$5);
|
|
2403
2583
|
return _p$;
|
|
2404
2584
|
}, {
|
|
2405
2585
|
e: void 0,
|
|
2406
2586
|
t: void 0,
|
|
2407
2587
|
a: void 0,
|
|
2408
|
-
o: void 0
|
|
2588
|
+
o: void 0,
|
|
2589
|
+
i: void 0
|
|
2409
2590
|
});
|
|
2410
2591
|
return _el$;
|
|
2411
2592
|
})();
|
|
2412
2593
|
};
|
|
2413
2594
|
var ChannelIcon = (props) => {
|
|
2595
|
+
const style = useStyle();
|
|
2414
2596
|
switch (props.channel) {
|
|
2415
2597
|
case "in_app" /* IN_APP */:
|
|
2416
|
-
return web.createComponent(InApp, {
|
|
2598
|
+
return web.createComponent(InApp, {
|
|
2599
|
+
get ["class"]() {
|
|
2600
|
+
return style(props.appearanceKey, props.class);
|
|
2601
|
+
}
|
|
2602
|
+
});
|
|
2417
2603
|
case "email" /* EMAIL */:
|
|
2418
|
-
return web.createComponent(Email, {
|
|
2604
|
+
return web.createComponent(Email, {
|
|
2605
|
+
get ["class"]() {
|
|
2606
|
+
return style(props.appearanceKey, props.class);
|
|
2607
|
+
}
|
|
2608
|
+
});
|
|
2419
2609
|
case "push" /* PUSH */:
|
|
2420
|
-
return web.createComponent(Push, {
|
|
2610
|
+
return web.createComponent(Push, {
|
|
2611
|
+
get ["class"]() {
|
|
2612
|
+
return style(props.appearanceKey, props.class);
|
|
2613
|
+
}
|
|
2614
|
+
});
|
|
2421
2615
|
case "sms" /* SMS */:
|
|
2422
|
-
return web.createComponent(Sms, {
|
|
2616
|
+
return web.createComponent(Sms, {
|
|
2617
|
+
get ["class"]() {
|
|
2618
|
+
return style(props.appearanceKey, props.class);
|
|
2619
|
+
}
|
|
2620
|
+
});
|
|
2423
2621
|
case "chat" /* CHAT */:
|
|
2424
|
-
return web.createComponent(Chat, {
|
|
2622
|
+
return web.createComponent(Chat, {
|
|
2623
|
+
get ["class"]() {
|
|
2624
|
+
return style(props.appearanceKey, props.class);
|
|
2625
|
+
}
|
|
2626
|
+
});
|
|
2425
2627
|
default:
|
|
2426
2628
|
return null;
|
|
2427
2629
|
}
|
|
@@ -2443,11 +2645,12 @@ var getLabel = (channel) => {
|
|
|
2443
2645
|
}
|
|
2444
2646
|
};
|
|
2445
2647
|
var _tmpl$38 = /* @__PURE__ */ web.template(`<div>`);
|
|
2648
|
+
var _tmpl$211 = /* @__PURE__ */ web.template(`<div><div></div><div>`);
|
|
2446
2649
|
var SkeletonText = (props) => {
|
|
2447
2650
|
const style = useStyle();
|
|
2448
2651
|
return (() => {
|
|
2449
2652
|
var _el$ = _tmpl$38();
|
|
2450
|
-
web.effect(() => web.className(_el$, style(props.appearanceKey, cn("nt-w-full nt-h-3 nt-rounded nt-bg-foreground-alpha-
|
|
2653
|
+
web.effect(() => web.className(_el$, style(props.appearanceKey, cn("nt-w-full nt-h-3 nt-rounded nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
|
|
2451
2654
|
return _el$;
|
|
2452
2655
|
})();
|
|
2453
2656
|
};
|
|
@@ -2455,63 +2658,164 @@ var SkeletonAvatar = (props) => {
|
|
|
2455
2658
|
const style = useStyle();
|
|
2456
2659
|
return (() => {
|
|
2457
2660
|
var _el$2 = _tmpl$38();
|
|
2458
|
-
web.effect(() => web.className(_el$2, style(props.appearanceKey, cn("nt-size-8 nt-rounded-lg nt-bg-foreground-alpha-
|
|
2661
|
+
web.effect(() => web.className(_el$2, style(props.appearanceKey, cn("nt-size-8 nt-rounded-lg nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent", props.class))));
|
|
2459
2662
|
return _el$2;
|
|
2460
2663
|
})();
|
|
2461
2664
|
};
|
|
2462
|
-
|
|
2463
|
-
// src/ui/components/elements/Preferences/LoadingScreen.tsx
|
|
2464
|
-
var _tmpl$39 = /* @__PURE__ */ web.template(`<div><div class="nt-flex nt-flex-col nt-self-stretch nt-gap-1 nt-flex-1"></div><div>`);
|
|
2465
|
-
var LoadingScreen = () => {
|
|
2466
|
-
return web.createComponent(solidJs.For, {
|
|
2467
|
-
get each() {
|
|
2468
|
-
return Array.from({
|
|
2469
|
-
length: 8
|
|
2470
|
-
});
|
|
2471
|
-
},
|
|
2472
|
-
children: () => web.createComponent(LoadingSkeleton, {})
|
|
2473
|
-
});
|
|
2474
|
-
};
|
|
2475
|
-
var LoadingSkeleton = () => {
|
|
2665
|
+
var SkeletonSwitch = (props) => {
|
|
2476
2666
|
const style = useStyle();
|
|
2477
2667
|
return (() => {
|
|
2478
|
-
var _el$ = _tmpl$
|
|
2479
|
-
web.
|
|
2480
|
-
appearanceKey
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2668
|
+
var _el$3 = _tmpl$211(), _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling;
|
|
2669
|
+
web.effect((_p$) => {
|
|
2670
|
+
var _v$ = style(props.appearanceKey, cn("nt-relative nt-inline-flex nt-items-center", props.class)), _v$2 = style(props.appearanceKey, "nt-h-4 nt-w-7 nt-rounded-full nt-bg-gradient-to-r nt-from-foreground-alpha-50 nt-to-transparent"), _v$3 = style(props.thumbAppearanceKey, "nt-absolute nt-top-0.5 nt-left-0.5 nt-size-3 nt-rounded-full nt-bg-background nt-shadow");
|
|
2671
|
+
_v$ !== _p$.e && web.className(_el$3, _p$.e = _v$);
|
|
2672
|
+
_v$2 !== _p$.t && web.className(_el$4, _p$.t = _v$2);
|
|
2673
|
+
_v$3 !== _p$.a && web.className(_el$5, _p$.a = _v$3);
|
|
2674
|
+
return _p$;
|
|
2675
|
+
}, {
|
|
2676
|
+
e: void 0,
|
|
2677
|
+
t: void 0,
|
|
2678
|
+
a: void 0
|
|
2679
|
+
});
|
|
2680
|
+
return _el$3;
|
|
2490
2681
|
})();
|
|
2491
2682
|
};
|
|
2492
2683
|
|
|
2493
|
-
// src/ui/components/elements/Preferences/
|
|
2494
|
-
var _tmpl$
|
|
2495
|
-
var
|
|
2496
|
-
var
|
|
2497
|
-
var Preferences = () => {
|
|
2498
|
-
var _a;
|
|
2684
|
+
// src/ui/components/elements/Preferences/PreferencesListSkeleton.tsx
|
|
2685
|
+
var _tmpl$39 = /* @__PURE__ */ web.template(`<div>`);
|
|
2686
|
+
var channelIcons = [InApp, Email, Sms, Push, Chat];
|
|
2687
|
+
var PreferencesListSkeleton = (props) => {
|
|
2499
2688
|
const style = useStyle();
|
|
2500
2689
|
const {
|
|
2501
|
-
|
|
2502
|
-
} =
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2690
|
+
t
|
|
2691
|
+
} = useLocalization();
|
|
2692
|
+
return (() => {
|
|
2693
|
+
var _el$ = _tmpl$39();
|
|
2694
|
+
web.insert(_el$, web.createComponent(Motion.div, {
|
|
2695
|
+
get animate() {
|
|
2696
|
+
return {
|
|
2697
|
+
scale: props.loading ? 1 : 0.7
|
|
2698
|
+
};
|
|
2699
|
+
},
|
|
2700
|
+
transition: {
|
|
2701
|
+
duration: 0.6,
|
|
2702
|
+
easing: [0.39, 0.24, 0.3, 1],
|
|
2703
|
+
delay: 0.3
|
|
2704
|
+
},
|
|
2705
|
+
get ["class"]() {
|
|
2706
|
+
return style("preferencesList__skeleton", "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4");
|
|
2707
|
+
},
|
|
2708
|
+
get children() {
|
|
2709
|
+
return [web.memo(() => Array.from({
|
|
2710
|
+
length: 5
|
|
2711
|
+
}).map((_, i) => {
|
|
2712
|
+
const Icon = channelIcons[i];
|
|
2713
|
+
return web.createComponent(Motion.div, {
|
|
2714
|
+
get animate() {
|
|
2715
|
+
return {
|
|
2716
|
+
marginBottom: props.loading ? 0 : "16px",
|
|
2717
|
+
borderWidth: props.loading ? 0 : "1px",
|
|
2718
|
+
borderRadius: props.loading ? 0 : "var(--nv-radius-lg)"
|
|
2719
|
+
};
|
|
2720
|
+
},
|
|
2721
|
+
transition: {
|
|
2722
|
+
duration: 0.5,
|
|
2723
|
+
delay: 0.3,
|
|
2724
|
+
easing: "ease-in-out"
|
|
2725
|
+
},
|
|
2726
|
+
get ["class"]() {
|
|
2727
|
+
return style("preferencesList__skeletonContent", "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25");
|
|
2728
|
+
},
|
|
2729
|
+
get children() {
|
|
2730
|
+
return [web.createComponent(Icon, {
|
|
2731
|
+
get ["class"]() {
|
|
2732
|
+
return style("preferencesList__skeletonIcon", "nt-size-8 nt-p-2 nt-rounded-lg nt-bg-neutral-alpha-100");
|
|
2733
|
+
}
|
|
2734
|
+
}), (() => {
|
|
2735
|
+
var _el$3 = _tmpl$39();
|
|
2736
|
+
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
2737
|
+
appearanceKey: "notificationList__skeletonText",
|
|
2738
|
+
"class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
|
|
2739
|
+
}), null);
|
|
2740
|
+
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
2741
|
+
appearanceKey: "preferencesList__skeletonText",
|
|
2742
|
+
"class": "nt-h-2 nt-w-2/3 nt-bg-neutral-alpha-50 nt-rounded"
|
|
2743
|
+
}), null);
|
|
2744
|
+
web.effect(() => web.className(_el$3, style("preferencesList__skeletonItem", "nt-flex nt-flex-col nt-gap-2 nt-flex-1")));
|
|
2745
|
+
return _el$3;
|
|
2746
|
+
})(), web.createComponent(SkeletonSwitch, {
|
|
2747
|
+
appearanceKey: "preferencesList__skeletonSwitch",
|
|
2748
|
+
thumbAppearanceKey: "preferencesList__skeletonSwitchThumb"
|
|
2749
|
+
})];
|
|
2750
|
+
}
|
|
2751
|
+
});
|
|
2752
|
+
})), (() => {
|
|
2753
|
+
var _el$2 = _tmpl$39();
|
|
2754
|
+
web.effect(() => web.className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
|
|
2755
|
+
return _el$2;
|
|
2756
|
+
})()];
|
|
2757
|
+
}
|
|
2758
|
+
}), null);
|
|
2759
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2760
|
+
get when() {
|
|
2761
|
+
return !props.loading;
|
|
2762
|
+
},
|
|
2763
|
+
get children() {
|
|
2764
|
+
return web.createComponent(Motion.p, {
|
|
2765
|
+
initial: {
|
|
2766
|
+
opacity: 0,
|
|
2767
|
+
y: -4,
|
|
2768
|
+
filter: "blur(4px)"
|
|
2769
|
+
},
|
|
2770
|
+
get animate() {
|
|
2771
|
+
return {
|
|
2772
|
+
opacity: props.loading ? 0 : 1,
|
|
2773
|
+
y: 0,
|
|
2774
|
+
filter: "blur(0px)"
|
|
2775
|
+
};
|
|
2776
|
+
},
|
|
2777
|
+
transition: {
|
|
2778
|
+
duration: 0.7,
|
|
2779
|
+
easing: [0.39, 0.24, 0.3, 1],
|
|
2780
|
+
delay: 0.6
|
|
2781
|
+
},
|
|
2782
|
+
get ["class"]() {
|
|
2783
|
+
return style("preferencesListEmptyNotice"), "nt-text-center";
|
|
2784
|
+
},
|
|
2785
|
+
"data-localization": "preferences.emptyNotice",
|
|
2786
|
+
get children() {
|
|
2787
|
+
return t("preferences.emptyNotice");
|
|
2788
|
+
}
|
|
2789
|
+
});
|
|
2790
|
+
}
|
|
2791
|
+
}), null);
|
|
2792
|
+
web.effect(() => web.className(_el$, style("preferencesListEmptyNoticeContainer", "nt-flex nt-flex-col nt-items-center nt-h-fit nt-w-full nt-text-sm nt-text-foreground-alpha-400 nt-text-center")));
|
|
2793
|
+
return _el$;
|
|
2794
|
+
})();
|
|
2795
|
+
};
|
|
2796
|
+
|
|
2797
|
+
// src/ui/components/elements/Preferences/Preferences.tsx
|
|
2798
|
+
var _tmpl$40 = /* @__PURE__ */ web.template(`<div>`);
|
|
2799
|
+
var _tmpl$212 = /* @__PURE__ */ web.template(`<span>`);
|
|
2800
|
+
var _tmpl$310 = /* @__PURE__ */ web.template(`<div><div><div><div></div></div><span>`);
|
|
2801
|
+
var Preferences = () => {
|
|
2802
|
+
var _a;
|
|
2803
|
+
const style = useStyle();
|
|
2804
|
+
const {
|
|
2805
|
+
preferencesFilter
|
|
2806
|
+
} = useInboxContext();
|
|
2807
|
+
const {
|
|
2808
|
+
preferences,
|
|
2809
|
+
loading
|
|
2810
|
+
} = usePreferences({
|
|
2811
|
+
tags: (_a = preferencesFilter()) == null ? void 0 : _a.tags
|
|
2812
|
+
});
|
|
2813
|
+
const allPreferences = solidJs.createMemo(() => {
|
|
2814
|
+
var _a2, _b;
|
|
2815
|
+
const globalPreference = (_a2 = preferences()) == null ? void 0 : _a2.find((preference) => preference.level === "global" /* GLOBAL */);
|
|
2816
|
+
const workflowPreferences = (_b = preferences()) == null ? void 0 : _b.filter((preference) => preference.level === "template" /* TEMPLATE */);
|
|
2817
|
+
const workflowPreferencesIds = workflowPreferences == null ? void 0 : workflowPreferences.map((preference) => {
|
|
2818
|
+
var _a3;
|
|
2515
2819
|
return (_a3 = preference.workflow) == null ? void 0 : _a3.id;
|
|
2516
2820
|
});
|
|
2517
2821
|
return {
|
|
@@ -2529,41 +2833,42 @@ var Preferences = () => {
|
|
|
2529
2833
|
}, {}));
|
|
2530
2834
|
});
|
|
2531
2835
|
});
|
|
2532
|
-
const optimisticUpdate = (preference) => ({
|
|
2836
|
+
const optimisticUpdate = (preference) => (_0) => chunk7B52C2XE_js.__async(void 0, [_0], function* ({
|
|
2533
2837
|
channel,
|
|
2534
2838
|
enabled
|
|
2535
|
-
})
|
|
2536
|
-
preference == null ? void 0 : preference.update({
|
|
2839
|
+
}) {
|
|
2840
|
+
yield preference == null ? void 0 : preference.update({
|
|
2537
2841
|
channels: {
|
|
2538
2842
|
[channel]: enabled
|
|
2539
2843
|
}
|
|
2540
2844
|
});
|
|
2541
|
-
};
|
|
2845
|
+
});
|
|
2542
2846
|
return (() => {
|
|
2543
2847
|
var _el$ = _tmpl$40();
|
|
2544
|
-
web.insert(_el$, web.createComponent(
|
|
2545
|
-
|
|
2546
|
-
|
|
2848
|
+
web.insert(_el$, web.createComponent(PreferencesRow, {
|
|
2849
|
+
localizationKey: "preferences.global",
|
|
2850
|
+
get channels() {
|
|
2851
|
+
var _a2;
|
|
2852
|
+
return ((_a2 = allPreferences().globalPreference) == null ? void 0 : _a2.channels) || {};
|
|
2547
2853
|
},
|
|
2548
|
-
get
|
|
2549
|
-
return
|
|
2854
|
+
get onChange() {
|
|
2855
|
+
return optimisticUpdate(allPreferences().globalPreference);
|
|
2550
2856
|
}
|
|
2551
2857
|
}), null);
|
|
2552
2858
|
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2553
2859
|
get when() {
|
|
2554
|
-
|
|
2860
|
+
var _a2;
|
|
2861
|
+
return (_a2 = allPreferences().workflowPreferences) == null ? void 0 : _a2.length;
|
|
2555
2862
|
},
|
|
2556
|
-
get
|
|
2557
|
-
return
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
var _a2;
|
|
2561
|
-
return ((_a2 = allPreferences().globalPreference) == null ? void 0 : _a2.channels) || {};
|
|
2562
|
-
},
|
|
2563
|
-
get onChange() {
|
|
2564
|
-
return optimisticUpdate(allPreferences().globalPreference);
|
|
2863
|
+
get fallback() {
|
|
2864
|
+
return web.createComponent(PreferencesListSkeleton, {
|
|
2865
|
+
get loading() {
|
|
2866
|
+
return loading();
|
|
2565
2867
|
}
|
|
2566
|
-
})
|
|
2868
|
+
});
|
|
2869
|
+
},
|
|
2870
|
+
get children() {
|
|
2871
|
+
return web.createComponent(solidJs.For, {
|
|
2567
2872
|
get each() {
|
|
2568
2873
|
return allPreferences().workflowPreferencesIds;
|
|
2569
2874
|
},
|
|
@@ -2591,14 +2896,14 @@ var Preferences = () => {
|
|
|
2591
2896
|
}
|
|
2592
2897
|
});
|
|
2593
2898
|
}
|
|
2594
|
-
})
|
|
2899
|
+
});
|
|
2595
2900
|
}
|
|
2596
2901
|
}), null);
|
|
2597
|
-
web.effect(() => web.className(_el$, style("preferencesContainer", "nt-
|
|
2902
|
+
web.effect(() => web.className(_el$, style("preferencesContainer", "nt-px-3 nt-py-4 nt-flex nt-flex-col nt-gap-1 nt-overflow-y-auto nt-h-full")));
|
|
2598
2903
|
return _el$;
|
|
2599
2904
|
})();
|
|
2600
2905
|
};
|
|
2601
|
-
var
|
|
2906
|
+
var WorkflowDescription = (props) => {
|
|
2602
2907
|
const style = useStyle();
|
|
2603
2908
|
const channelNames = () => {
|
|
2604
2909
|
const channels = [];
|
|
@@ -2620,96 +2925,86 @@ var ChannelsLabel = (props) => {
|
|
|
2620
2925
|
return (() => {
|
|
2621
2926
|
var _el$3 = _tmpl$40();
|
|
2622
2927
|
web.insert(_el$3, channelNames);
|
|
2623
|
-
web.effect(() => web.className(_el$3, style(
|
|
2928
|
+
web.effect(() => web.className(_el$3, style(props.appearanceKey, cn("nt-text-sm nt-text-foreground-alpha-600 nt-text-start", props.class))));
|
|
2624
2929
|
return _el$3;
|
|
2625
2930
|
})();
|
|
2626
2931
|
};
|
|
2627
2932
|
var PreferencesRow = (props) => {
|
|
2628
|
-
const [isOpen, setIsOpen] = solidJs.createSignal(false);
|
|
2629
2933
|
const style = useStyle();
|
|
2934
|
+
const [isOpenDescription, setIsOpenDescription] = solidJs.createSignal(true);
|
|
2935
|
+
const [isOpenChannels, setIsOpenChannels] = solidJs.createSignal(false);
|
|
2630
2936
|
const {
|
|
2631
2937
|
t
|
|
2632
2938
|
} = useLocalization();
|
|
2633
|
-
const channels = solidJs.createMemo(() => Object.keys(props.channels
|
|
2939
|
+
const channels = solidJs.createMemo(() => Object.keys(props.channels));
|
|
2634
2940
|
return web.createComponent(solidJs.Show, {
|
|
2635
2941
|
get when() {
|
|
2636
2942
|
return channels().length > 0;
|
|
2637
2943
|
},
|
|
2638
2944
|
get children() {
|
|
2639
2945
|
var _el$4 = _tmpl$310(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.firstChild, _el$8 = _el$6.nextSibling;
|
|
2640
|
-
_el$5.$$click = () =>
|
|
2946
|
+
_el$5.$$click = () => {
|
|
2947
|
+
setIsOpenChannels((prev) => !prev);
|
|
2948
|
+
setIsOpenDescription((prev) => !prev);
|
|
2949
|
+
};
|
|
2641
2950
|
web.insert(_el$7, () => t(props.localizationKey));
|
|
2642
|
-
web.insert(_el$6, web.createComponent(
|
|
2643
|
-
get
|
|
2644
|
-
return
|
|
2951
|
+
web.insert(_el$6, web.createComponent(Collapsible, {
|
|
2952
|
+
get open() {
|
|
2953
|
+
return isOpenDescription();
|
|
2954
|
+
},
|
|
2955
|
+
get children() {
|
|
2956
|
+
return web.createComponent(WorkflowDescription, {
|
|
2957
|
+
get channels() {
|
|
2958
|
+
return props.channels;
|
|
2959
|
+
},
|
|
2960
|
+
appearanceKey: "workflowDescription",
|
|
2961
|
+
"class": "nt-overflow-hidden"
|
|
2962
|
+
});
|
|
2645
2963
|
}
|
|
2646
2964
|
}), null);
|
|
2647
2965
|
web.insert(_el$8, web.createComponent(ArrowDropDown, {
|
|
2648
2966
|
get ["class"]() {
|
|
2649
|
-
return style("workflowArrow__icon", "nt-text-foreground-alpha-600");
|
|
2967
|
+
return style("workflowArrow__icon", "nt-text-foreground-alpha-600 nt-size-4");
|
|
2650
2968
|
}
|
|
2651
2969
|
}));
|
|
2652
|
-
web.insert(_el$4, web.createComponent(
|
|
2653
|
-
|
|
2970
|
+
web.insert(_el$4, web.createComponent(Collapsible, {
|
|
2971
|
+
get open() {
|
|
2972
|
+
return isOpenChannels();
|
|
2973
|
+
},
|
|
2654
2974
|
get children() {
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2975
|
+
var _el$9 = _tmpl$40();
|
|
2976
|
+
web.insert(_el$9, web.createComponent(solidJs.For, {
|
|
2977
|
+
get each() {
|
|
2978
|
+
return channels();
|
|
2658
2979
|
},
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
get children() {
|
|
2675
|
-
var _el$9 = _tmpl$40();
|
|
2676
|
-
web.insert(_el$9, web.createComponent(solidJs.For, {
|
|
2677
|
-
get each() {
|
|
2678
|
-
return channels();
|
|
2679
|
-
},
|
|
2680
|
-
children: (channel) => web.createComponent(ChannelRow, {
|
|
2681
|
-
channel,
|
|
2682
|
-
get enabled() {
|
|
2683
|
-
return !!props.channels[channel];
|
|
2684
|
-
},
|
|
2685
|
-
get workflowId() {
|
|
2686
|
-
return props.workflowId;
|
|
2687
|
-
},
|
|
2688
|
-
get onChange() {
|
|
2689
|
-
return props.onChange;
|
|
2690
|
-
}
|
|
2691
|
-
})
|
|
2692
|
-
}));
|
|
2693
|
-
web.effect(() => web.className(_el$9, style("channelsContainer", "nt-overflow-hidden nt-flex-col nt-gap-1")));
|
|
2694
|
-
return _el$9;
|
|
2695
|
-
}
|
|
2696
|
-
});
|
|
2697
|
-
}
|
|
2698
|
-
});
|
|
2980
|
+
children: (channel) => web.createComponent(ChannelRow, {
|
|
2981
|
+
channel,
|
|
2982
|
+
get enabled() {
|
|
2983
|
+
return !!props.channels[channel];
|
|
2984
|
+
},
|
|
2985
|
+
get workflowId() {
|
|
2986
|
+
return props.workflowId;
|
|
2987
|
+
},
|
|
2988
|
+
get onChange() {
|
|
2989
|
+
return props.onChange;
|
|
2990
|
+
}
|
|
2991
|
+
})
|
|
2992
|
+
}));
|
|
2993
|
+
web.effect(() => web.className(_el$9, style("channelsContainer", "nt-flex nt-bg-background nt-border nt-border-neutral-alpha-50 nt-rounded-lg nt-p-2 nt-flex-col nt-gap-1 nt-overflow-hidden")));
|
|
2994
|
+
return _el$9;
|
|
2699
2995
|
}
|
|
2700
2996
|
}), null);
|
|
2701
2997
|
web.effect((_p$) => {
|
|
2702
|
-
var _v$ = style("workflowContainer", `nt-p-
|
|
2998
|
+
var _v$ = style("workflowContainer", `nt-p-1 nt-bg-neutral-alpha-25 nt-rounded-lg`), _v$2 = isOpenChannels(), _v$3 = style("workflowLabelContainer", "nt-flex nt-justify-between nt-p-1 nt-flex-nowrap nt-self-stretch nt-cursor-pointer nt-items-center nt-overflow-hidden"), _v$4 = style("workflowLabelHeader", "nt-overflow-hidden"), _v$5 = style("workflowLabel", "nt-text-sm nt-font-semibold nt-truncate"), _v$6 = props.localizationKey, _v$7 = isOpenChannels(), _v$8 = style("workflowContainerRight__icon", `nt-text-foreground-alpha-600 nt-transition-all nt-duration-200 data-[open=true]:nt-transform data-[open=true]:nt-rotate-180`), _v$9 = isOpenChannels();
|
|
2703
2999
|
_v$ !== _p$.e && web.className(_el$4, _p$.e = _v$);
|
|
2704
3000
|
_v$2 !== _p$.t && web.setAttribute(_el$4, "data-open", _p$.t = _v$2);
|
|
2705
3001
|
_v$3 !== _p$.a && web.className(_el$5, _p$.a = _v$3);
|
|
2706
|
-
_v$4 !== _p$.o && web.
|
|
2707
|
-
_v$5 !== _p$.i && web.className(_el$
|
|
2708
|
-
_v$6 !== _p$.n && web.
|
|
2709
|
-
_v$7 !== _p$.s && web.setAttribute(_el$7, "data-
|
|
2710
|
-
_v$8 !== _p$.h && web.
|
|
2711
|
-
_v$9 !== _p$.r && web.
|
|
2712
|
-
_v$10 !== _p$.d && web.setAttribute(_el$8, "data-open", _p$.d = _v$10);
|
|
3002
|
+
_v$4 !== _p$.o && web.className(_el$6, _p$.o = _v$4);
|
|
3003
|
+
_v$5 !== _p$.i && web.className(_el$7, _p$.i = _v$5);
|
|
3004
|
+
_v$6 !== _p$.n && web.setAttribute(_el$7, "data-localization", _p$.n = _v$6);
|
|
3005
|
+
_v$7 !== _p$.s && web.setAttribute(_el$7, "data-open", _p$.s = _v$7);
|
|
3006
|
+
_v$8 !== _p$.h && web.className(_el$8, _p$.h = _v$8);
|
|
3007
|
+
_v$9 !== _p$.r && web.setAttribute(_el$8, "data-open", _p$.r = _v$9);
|
|
2713
3008
|
return _p$;
|
|
2714
3009
|
}, {
|
|
2715
3010
|
e: void 0,
|
|
@@ -2720,20 +3015,98 @@ var PreferencesRow = (props) => {
|
|
|
2720
3015
|
n: void 0,
|
|
2721
3016
|
s: void 0,
|
|
2722
3017
|
h: void 0,
|
|
2723
|
-
r: void 0
|
|
2724
|
-
d: void 0
|
|
3018
|
+
r: void 0
|
|
2725
3019
|
});
|
|
2726
3020
|
return _el$4;
|
|
2727
3021
|
}
|
|
2728
3022
|
});
|
|
2729
3023
|
};
|
|
2730
3024
|
web.delegateEvents(["click"]);
|
|
2731
|
-
var _tmpl$41 = /* @__PURE__ */ web.template(`<
|
|
3025
|
+
var _tmpl$41 = /* @__PURE__ */ web.template(`<div><div data-localization=preferences.title>`);
|
|
3026
|
+
var PreferencesHeader = (props) => {
|
|
3027
|
+
const style = useStyle();
|
|
3028
|
+
const {
|
|
3029
|
+
t
|
|
3030
|
+
} = useLocalization();
|
|
3031
|
+
return (() => {
|
|
3032
|
+
var _el$ = _tmpl$41(), _el$2 = _el$.firstChild;
|
|
3033
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
3034
|
+
get when() {
|
|
3035
|
+
return props.navigateToNotifications;
|
|
3036
|
+
},
|
|
3037
|
+
children: (navigateToNotifications) => web.createComponent(Button, {
|
|
3038
|
+
appearanceKey: "preferencesHeader__back__button",
|
|
3039
|
+
"class": "nt-text-foreground-alpha-600",
|
|
3040
|
+
variant: "unstyled",
|
|
3041
|
+
size: "none",
|
|
3042
|
+
get onClick() {
|
|
3043
|
+
return navigateToNotifications();
|
|
3044
|
+
},
|
|
3045
|
+
get children() {
|
|
3046
|
+
return web.createComponent(ArrowLeft, {
|
|
3047
|
+
get ["class"]() {
|
|
3048
|
+
return style("preferencesHeader__back__button__icon", "nt-size-4");
|
|
3049
|
+
}
|
|
3050
|
+
});
|
|
3051
|
+
}
|
|
3052
|
+
})
|
|
3053
|
+
}), _el$2);
|
|
3054
|
+
web.insert(_el$2, () => t("preferences.title"));
|
|
3055
|
+
web.effect((_p$) => {
|
|
3056
|
+
var _v$ = style("preferencesHeader", "nt-flex nt-bg-neutral-alpha-25 nt-shrink-0 nt-border-b nt-border-border nt-items-center nt-py-3.5 nt-px-4 nt-gap-2"), _v$2 = style("preferencesHeader__title", "nt-text-base nt-font-medium");
|
|
3057
|
+
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
3058
|
+
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
3059
|
+
return _p$;
|
|
3060
|
+
}, {
|
|
3061
|
+
e: void 0,
|
|
3062
|
+
t: void 0
|
|
3063
|
+
});
|
|
3064
|
+
return _el$;
|
|
3065
|
+
})();
|
|
3066
|
+
};
|
|
3067
|
+
var useTabsDropdown = ({ tabs }) => {
|
|
3068
|
+
const [tabsList, setTabsList] = solidJs.createSignal();
|
|
3069
|
+
const [visibleTabs, setVisibleTabs] = solidJs.createSignal([]);
|
|
3070
|
+
const [dropdownTabs, setDropdownTabs] = solidJs.createSignal([]);
|
|
3071
|
+
solidJs.onMount(() => {
|
|
3072
|
+
const tabsListEl = tabsList();
|
|
3073
|
+
if (!tabsListEl) return;
|
|
3074
|
+
const tabsElements = [...tabsListEl.querySelectorAll('[role="tab"]')];
|
|
3075
|
+
const observer = new IntersectionObserver(
|
|
3076
|
+
(entries) => {
|
|
3077
|
+
let visibleTabIds = entries.filter((entry) => entry.isIntersecting && entry.intersectionRatio === 1).map((entry) => entry.target.id);
|
|
3078
|
+
if (tabsElements.length === visibleTabIds.length) {
|
|
3079
|
+
setVisibleTabs(tabs.filter((tab) => visibleTabIds.includes(tab.label)));
|
|
3080
|
+
observer.disconnect();
|
|
3081
|
+
return;
|
|
3082
|
+
}
|
|
3083
|
+
visibleTabIds = visibleTabIds.slice(0, -1);
|
|
3084
|
+
setVisibleTabs(tabs.filter((tab) => visibleTabIds.includes(tab.label)));
|
|
3085
|
+
setDropdownTabs(tabs.filter((tab) => !visibleTabIds.includes(tab.label)));
|
|
3086
|
+
observer.disconnect();
|
|
3087
|
+
},
|
|
3088
|
+
{ root: tabsListEl }
|
|
3089
|
+
);
|
|
3090
|
+
for (const tabElement of tabsElements) {
|
|
3091
|
+
observer.observe(tabElement);
|
|
3092
|
+
}
|
|
3093
|
+
});
|
|
3094
|
+
return { dropdownTabs, setTabsList, visibleTabs };
|
|
3095
|
+
};
|
|
3096
|
+
var _tmpl$42 = /* @__PURE__ */ web.template(`<svg viewBox="0 0 20 20"fill=none xmlns=http://www.w3.org/2000/svg><path d="M10.0001 10.879L13.7126 7.1665L14.7731 8.227L10.0001 13L5.22705 8.227L6.28755 7.1665L10.0001 10.879Z"fill=currentColor>`);
|
|
3097
|
+
var ArrowDown = (props) => {
|
|
3098
|
+
return (() => {
|
|
3099
|
+
var _el$ = _tmpl$42();
|
|
3100
|
+
web.spread(_el$, props, true, true);
|
|
3101
|
+
return _el$;
|
|
3102
|
+
})();
|
|
3103
|
+
};
|
|
3104
|
+
var _tmpl$43 = /* @__PURE__ */ web.template(`<strong>`);
|
|
2732
3105
|
var _tmpl$213 = /* @__PURE__ */ web.template(`<p>`);
|
|
2733
3106
|
var Bold = (props) => {
|
|
2734
3107
|
const style = useStyle();
|
|
2735
3108
|
return (() => {
|
|
2736
|
-
var _el$ = _tmpl$
|
|
3109
|
+
var _el$ = _tmpl$43();
|
|
2737
3110
|
web.insert(_el$, () => props.children);
|
|
2738
3111
|
web.effect(() => web.className(_el$, style(props.appearanceKey || "strong", "nt-font-semibold")));
|
|
2739
3112
|
return _el$;
|
|
@@ -2824,7 +3197,7 @@ function useTooltip() {
|
|
|
2824
3197
|
}
|
|
2825
3198
|
|
|
2826
3199
|
// src/ui/components/primitives/Tooltip/TooltipContent.tsx
|
|
2827
|
-
var _tmpl$
|
|
3200
|
+
var _tmpl$44 = /* @__PURE__ */ web.template(`<div>`);
|
|
2828
3201
|
var tooltipContentVariants = () => "nt-bg-foreground nt-p-2 nt-shadow-tooltip nt-rounded-lg nt-text-background nt-text-xs";
|
|
2829
3202
|
var TooltipContentBody = (props) => {
|
|
2830
3203
|
const {
|
|
@@ -2847,7 +3220,7 @@ var TooltipContentBody = (props) => {
|
|
|
2847
3220
|
});
|
|
2848
3221
|
});
|
|
2849
3222
|
return (() => {
|
|
2850
|
-
var _el$ = _tmpl$
|
|
3223
|
+
var _el$ = _tmpl$44();
|
|
2851
3224
|
web.use(setFloating, _el$);
|
|
2852
3225
|
web.spread(_el$, web.mergeProps({
|
|
2853
3226
|
get ["class"]() {
|
|
@@ -2886,7 +3259,7 @@ var TooltipContent = (props) => {
|
|
|
2886
3259
|
}
|
|
2887
3260
|
});
|
|
2888
3261
|
};
|
|
2889
|
-
var _tmpl$
|
|
3262
|
+
var _tmpl$45 = /* @__PURE__ */ web.template(`<button>`);
|
|
2890
3263
|
var TooltipTrigger = (props) => {
|
|
2891
3264
|
const {
|
|
2892
3265
|
setReference,
|
|
@@ -2909,7 +3282,7 @@ var TooltipTrigger = (props) => {
|
|
|
2909
3282
|
}, rest));
|
|
2910
3283
|
}
|
|
2911
3284
|
return (() => {
|
|
2912
|
-
var _el$ = _tmpl$
|
|
3285
|
+
var _el$ = _tmpl$45();
|
|
2913
3286
|
_el$.addEventListener("mouseleave", () => {
|
|
2914
3287
|
setOpen(false);
|
|
2915
3288
|
});
|
|
@@ -2941,9 +3314,10 @@ var Tooltip = {
|
|
|
2941
3314
|
};
|
|
2942
3315
|
|
|
2943
3316
|
// src/ui/components/Notification/DefaultNotification.tsx
|
|
2944
|
-
var _tmpl$
|
|
2945
|
-
var _tmpl$214 = /* @__PURE__ */ web.template(`<
|
|
2946
|
-
var _tmpl$311 = /* @__PURE__ */ web.template(`<
|
|
3317
|
+
var _tmpl$46 = /* @__PURE__ */ web.template(`<img>`);
|
|
3318
|
+
var _tmpl$214 = /* @__PURE__ */ web.template(`<div>`);
|
|
3319
|
+
var _tmpl$311 = /* @__PURE__ */ web.template(`<span>`);
|
|
3320
|
+
var _tmpl$47 = /* @__PURE__ */ web.template(`<a><div><div></div><div></div><p>`);
|
|
2947
3321
|
var DefaultNotification = (props) => {
|
|
2948
3322
|
const style = useStyle();
|
|
2949
3323
|
const {
|
|
@@ -2968,62 +3342,99 @@ var DefaultNotification = (props) => {
|
|
|
2968
3342
|
}, 1e3 * 60);
|
|
2969
3343
|
return () => clearInterval(interval);
|
|
2970
3344
|
});
|
|
2971
|
-
const handleNotificationClick = (e) => {
|
|
3345
|
+
const handleNotificationClick = (e) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
2972
3346
|
var _a, _b, _c;
|
|
2973
3347
|
e.stopPropagation();
|
|
2974
3348
|
e.preventDefault();
|
|
2975
3349
|
if (!props.notification.isRead) {
|
|
2976
|
-
props.notification.read();
|
|
3350
|
+
yield props.notification.read();
|
|
2977
3351
|
}
|
|
2978
3352
|
(_a = props.onNotificationClick) == null ? void 0 : _a.call(props, props.notification);
|
|
2979
3353
|
navigate((_b = props.notification.redirect) == null ? void 0 : _b.url, (_c = props.notification.redirect) == null ? void 0 : _c.target);
|
|
2980
|
-
};
|
|
2981
|
-
const handleActionButtonClick = (action, e) => {
|
|
3354
|
+
});
|
|
3355
|
+
const handleActionButtonClick = (action, e) => chunk7B52C2XE_js.__async(void 0, null, function* () {
|
|
2982
3356
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
2983
3357
|
e.stopPropagation();
|
|
2984
3358
|
if (action === "primary" /* PRIMARY */) {
|
|
2985
|
-
props.notification.completePrimary();
|
|
3359
|
+
yield props.notification.completePrimary();
|
|
2986
3360
|
(_a = props.onPrimaryActionClick) == null ? void 0 : _a.call(props, props.notification);
|
|
2987
3361
|
navigate((_c = (_b = props.notification.primaryAction) == null ? void 0 : _b.redirect) == null ? void 0 : _c.url, (_e = (_d = props.notification.primaryAction) == null ? void 0 : _d.redirect) == null ? void 0 : _e.target);
|
|
2988
3362
|
} else {
|
|
2989
|
-
props.notification.completeSecondary();
|
|
3363
|
+
yield props.notification.completeSecondary();
|
|
2990
3364
|
(_f = props.onSecondaryActionClick) == null ? void 0 : _f.call(props, props.notification);
|
|
2991
3365
|
navigate((_h = (_g = props.notification.secondaryAction) == null ? void 0 : _g.redirect) == null ? void 0 : _h.url, (_j = (_i = props.notification.secondaryAction) == null ? void 0 : _i.redirect) == null ? void 0 : _j.target);
|
|
2992
3366
|
}
|
|
2993
|
-
};
|
|
3367
|
+
});
|
|
2994
3368
|
return (() => {
|
|
2995
|
-
var _el$ = _tmpl$
|
|
3369
|
+
var _el$ = _tmpl$47(), _el$3 = _el$.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$7 = _el$5.nextSibling;
|
|
2996
3370
|
_el$.$$click = handleNotificationClick;
|
|
2997
|
-
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2998
|
-
get when() {
|
|
2999
|
-
return !props.notification.isRead;
|
|
3000
|
-
},
|
|
3001
|
-
get children() {
|
|
3002
|
-
var _el$2 = _tmpl$44();
|
|
3003
|
-
web.effect(() => web.className(_el$2, style("notificationDot", "nt-absolute -nt-translate-x-[1.0625rem] nt-translate-y-1/2 nt-size-2.5 nt-bg-primary nt-rounded-full nt-border nt-border-neutral-alpha-200")));
|
|
3004
|
-
return _el$2;
|
|
3005
|
-
}
|
|
3006
|
-
}), _el$4);
|
|
3007
3371
|
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
3008
3372
|
get when() {
|
|
3009
3373
|
return props.notification.avatar;
|
|
3010
3374
|
},
|
|
3375
|
+
get fallback() {
|
|
3376
|
+
return (() => {
|
|
3377
|
+
var _el$9 = _tmpl$214();
|
|
3378
|
+
web.effect(() => web.className(_el$9, style("notificationImageLoadingFallback", "nt-size-8 nt-rounded-lg nt-shrink-0 nt-aspect-square")));
|
|
3379
|
+
return _el$9;
|
|
3380
|
+
})();
|
|
3381
|
+
},
|
|
3011
3382
|
get children() {
|
|
3012
|
-
var _el$
|
|
3383
|
+
var _el$2 = _tmpl$46();
|
|
3013
3384
|
web.effect((_p$) => {
|
|
3014
|
-
var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg"), _v$2 = props.notification.avatar;
|
|
3015
|
-
_v$ !== _p$.e && web.className(_el$
|
|
3016
|
-
_v$2 !== _p$.t && web.setAttribute(_el$
|
|
3385
|
+
var _v$ = style("notificationImage", "nt-size-8 nt-rounded-lg nt-object-cover nt-aspect-square"), _v$2 = props.notification.avatar;
|
|
3386
|
+
_v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
|
|
3387
|
+
_v$2 !== _p$.t && web.setAttribute(_el$2, "src", _p$.t = _v$2);
|
|
3017
3388
|
return _p$;
|
|
3018
3389
|
}, {
|
|
3019
3390
|
e: void 0,
|
|
3020
3391
|
t: void 0
|
|
3021
3392
|
});
|
|
3022
|
-
return _el$
|
|
3393
|
+
return _el$2;
|
|
3023
3394
|
}
|
|
3024
|
-
}), _el$
|
|
3025
|
-
web.insert(_el$
|
|
3026
|
-
|
|
3395
|
+
}), _el$3);
|
|
3396
|
+
web.insert(_el$4, web.createComponent(solidJs.Show, {
|
|
3397
|
+
get when() {
|
|
3398
|
+
return props.renderSubject;
|
|
3399
|
+
},
|
|
3400
|
+
get fallback() {
|
|
3401
|
+
return web.createComponent(solidJs.Show, {
|
|
3402
|
+
get when() {
|
|
3403
|
+
return props.notification.subject;
|
|
3404
|
+
},
|
|
3405
|
+
children: (subject) => web.createComponent(Markdown_default, {
|
|
3406
|
+
appearanceKey: "notificationSubject",
|
|
3407
|
+
"class": "nt-text-start nt-font-medium",
|
|
3408
|
+
strongAppearanceKey: "notificationSubject__strong",
|
|
3409
|
+
get children() {
|
|
3410
|
+
return subject();
|
|
3411
|
+
}
|
|
3412
|
+
})
|
|
3413
|
+
});
|
|
3414
|
+
},
|
|
3415
|
+
children: (renderSubject) => web.createComponent(ExternalElementRenderer, {
|
|
3416
|
+
render: (el) => renderSubject()(el, props.notification)
|
|
3417
|
+
})
|
|
3418
|
+
}), null);
|
|
3419
|
+
web.insert(_el$4, web.createComponent(solidJs.Show, {
|
|
3420
|
+
get when() {
|
|
3421
|
+
return props.renderBody;
|
|
3422
|
+
},
|
|
3423
|
+
get fallback() {
|
|
3424
|
+
return web.createComponent(Markdown_default, {
|
|
3425
|
+
appearanceKey: "notificationBody",
|
|
3426
|
+
strongAppearanceKey: "notificationBody__strong",
|
|
3427
|
+
"class": "nt-text-start nt-whitespace-pre-wrap nt-text-foreground-alpha-600",
|
|
3428
|
+
get children() {
|
|
3429
|
+
return props.notification.body;
|
|
3430
|
+
}
|
|
3431
|
+
});
|
|
3432
|
+
},
|
|
3433
|
+
children: (renderBody) => web.createComponent(ExternalElementRenderer, {
|
|
3434
|
+
render: (el) => renderBody()(el, props.notification)
|
|
3435
|
+
})
|
|
3436
|
+
}), null);
|
|
3437
|
+
web.insert(_el$5, web.createComponent(solidJs.Show, {
|
|
3027
3438
|
get when() {
|
|
3028
3439
|
return status() !== "archived" /* ARCHIVED */;
|
|
3029
3440
|
},
|
|
@@ -3038,16 +3449,19 @@ var DefaultNotification = (props) => {
|
|
|
3038
3449
|
return [web.createComponent(Tooltip.Trigger, {
|
|
3039
3450
|
asChild: (childProps) => web.createComponent(Button, web.mergeProps({
|
|
3040
3451
|
appearanceKey: "notificationRead__button",
|
|
3041
|
-
size: "
|
|
3042
|
-
variant: "
|
|
3452
|
+
size: "iconSm",
|
|
3453
|
+
variant: "ghost"
|
|
3043
3454
|
}, childProps, {
|
|
3044
|
-
onClick: (e) => {
|
|
3455
|
+
onClick: (e) => chunk7B52C2XE_js.__async(this, null, function* () {
|
|
3045
3456
|
e.stopPropagation();
|
|
3046
|
-
props.notification.read();
|
|
3047
|
-
},
|
|
3048
|
-
"class": "hover:nt-bg-neutral-alpha-50 nt-p-0.5",
|
|
3457
|
+
yield props.notification.read();
|
|
3458
|
+
}),
|
|
3049
3459
|
get children() {
|
|
3050
|
-
return web.createComponent(
|
|
3460
|
+
return web.createComponent(MarkAsRead, {
|
|
3461
|
+
get ["class"]() {
|
|
3462
|
+
return style("notificationRead__icon", "nt-size-3");
|
|
3463
|
+
}
|
|
3464
|
+
});
|
|
3051
3465
|
}
|
|
3052
3466
|
}))
|
|
3053
3467
|
}), web.createComponent(Tooltip.Content, {
|
|
@@ -3065,16 +3479,19 @@ var DefaultNotification = (props) => {
|
|
|
3065
3479
|
return [web.createComponent(Tooltip.Trigger, {
|
|
3066
3480
|
asChild: (childProps) => web.createComponent(Button, web.mergeProps({
|
|
3067
3481
|
appearanceKey: "notificationUnread__button",
|
|
3068
|
-
size: "
|
|
3069
|
-
variant: "
|
|
3482
|
+
size: "iconSm",
|
|
3483
|
+
variant: "ghost"
|
|
3070
3484
|
}, childProps, {
|
|
3071
|
-
onClick: (e) => {
|
|
3485
|
+
onClick: (e) => chunk7B52C2XE_js.__async(this, null, function* () {
|
|
3072
3486
|
e.stopPropagation();
|
|
3073
|
-
props.notification.unread();
|
|
3074
|
-
},
|
|
3075
|
-
"class": "hover:nt-bg-neutral-alpha-50 nt-p-0.5",
|
|
3487
|
+
yield props.notification.unread();
|
|
3488
|
+
}),
|
|
3076
3489
|
get children() {
|
|
3077
|
-
return web.createComponent(
|
|
3490
|
+
return web.createComponent(MarkAsUnread, {
|
|
3491
|
+
get ["class"]() {
|
|
3492
|
+
return style("notificationUnread__icon", "nt-size-3");
|
|
3493
|
+
}
|
|
3494
|
+
});
|
|
3078
3495
|
}
|
|
3079
3496
|
}))
|
|
3080
3497
|
}), web.createComponent(Tooltip.Content, {
|
|
@@ -3089,7 +3506,7 @@ var DefaultNotification = (props) => {
|
|
|
3089
3506
|
});
|
|
3090
3507
|
}
|
|
3091
3508
|
}), null);
|
|
3092
|
-
web.insert(_el$
|
|
3509
|
+
web.insert(_el$5, web.createComponent(solidJs.Show, {
|
|
3093
3510
|
get when() {
|
|
3094
3511
|
return props.notification.isArchived;
|
|
3095
3512
|
},
|
|
@@ -3099,16 +3516,19 @@ var DefaultNotification = (props) => {
|
|
|
3099
3516
|
return [web.createComponent(Tooltip.Trigger, {
|
|
3100
3517
|
asChild: (childProps) => web.createComponent(Button, web.mergeProps({
|
|
3101
3518
|
appearanceKey: "notificationArchive__button",
|
|
3102
|
-
size: "
|
|
3103
|
-
variant: "
|
|
3519
|
+
size: "iconSm",
|
|
3520
|
+
variant: "ghost"
|
|
3104
3521
|
}, childProps, {
|
|
3105
|
-
onClick: (e) => {
|
|
3522
|
+
onClick: (e) => chunk7B52C2XE_js.__async(this, null, function* () {
|
|
3106
3523
|
e.stopPropagation();
|
|
3107
|
-
props.notification.archive();
|
|
3108
|
-
},
|
|
3109
|
-
"class": "hover:nt-bg-neutral-alpha-50 nt-p-0.5",
|
|
3524
|
+
yield props.notification.archive();
|
|
3525
|
+
}),
|
|
3110
3526
|
get children() {
|
|
3111
|
-
return web.createComponent(
|
|
3527
|
+
return web.createComponent(MarkAsArchived, {
|
|
3528
|
+
get ["class"]() {
|
|
3529
|
+
return style("notificationArchive__icon", "nt-size-3");
|
|
3530
|
+
}
|
|
3531
|
+
});
|
|
3112
3532
|
}
|
|
3113
3533
|
}))
|
|
3114
3534
|
}), web.createComponent(Tooltip.Content, {
|
|
@@ -3126,16 +3546,19 @@ var DefaultNotification = (props) => {
|
|
|
3126
3546
|
return [web.createComponent(Tooltip.Trigger, {
|
|
3127
3547
|
asChild: (childProps) => web.createComponent(Button, web.mergeProps({
|
|
3128
3548
|
appearanceKey: "notificationUnarchive__button",
|
|
3129
|
-
size: "
|
|
3130
|
-
variant: "
|
|
3549
|
+
size: "iconSm",
|
|
3550
|
+
variant: "ghost"
|
|
3131
3551
|
}, childProps, {
|
|
3132
|
-
onClick: (e) => {
|
|
3552
|
+
onClick: (e) => chunk7B52C2XE_js.__async(this, null, function* () {
|
|
3133
3553
|
e.stopPropagation();
|
|
3134
|
-
props.notification.unarchive();
|
|
3135
|
-
},
|
|
3136
|
-
"class": "hover:nt-bg-neutral-alpha-50 nt-p-0.5",
|
|
3554
|
+
yield props.notification.unarchive();
|
|
3555
|
+
}),
|
|
3137
3556
|
get children() {
|
|
3138
|
-
return web.createComponent(
|
|
3557
|
+
return web.createComponent(MarkAsUnarchived, {
|
|
3558
|
+
get ["class"]() {
|
|
3559
|
+
return style("notificationArchive__icon", "nt-size-3");
|
|
3560
|
+
}
|
|
3561
|
+
});
|
|
3139
3562
|
}
|
|
3140
3563
|
}))
|
|
3141
3564
|
}), web.createComponent(Tooltip.Content, {
|
|
@@ -3148,65 +3571,65 @@ var DefaultNotification = (props) => {
|
|
|
3148
3571
|
});
|
|
3149
3572
|
}
|
|
3150
3573
|
}), null);
|
|
3151
|
-
web.insert(_el$
|
|
3574
|
+
web.insert(_el$3, web.createComponent(solidJs.Show, {
|
|
3152
3575
|
get when() {
|
|
3153
|
-
return props.notification.
|
|
3576
|
+
return props.notification.primaryAction || props.notification.secondaryAction;
|
|
3154
3577
|
},
|
|
3155
|
-
children: (subject) => web.createComponent(Markdown_default, {
|
|
3156
|
-
appearanceKey: "notificationSubject__strong",
|
|
3157
|
-
"class": "nt-text-start",
|
|
3158
|
-
strongAppearanceKey: "notificationSubject__strong",
|
|
3159
|
-
get children() {
|
|
3160
|
-
return subject();
|
|
3161
|
-
}
|
|
3162
|
-
})
|
|
3163
|
-
}), _el$8);
|
|
3164
|
-
web.insert(_el$4, web.createComponent(Markdown_default, {
|
|
3165
|
-
appearanceKey: "notificationBody__strong",
|
|
3166
|
-
strongAppearanceKey: "notificationBody__strong",
|
|
3167
|
-
"class": "nt-text-start nt-whitespace-pre-wrap",
|
|
3168
3578
|
get children() {
|
|
3169
|
-
|
|
3579
|
+
var _el$6 = _tmpl$214();
|
|
3580
|
+
web.insert(_el$6, web.createComponent(solidJs.Show, {
|
|
3581
|
+
get when() {
|
|
3582
|
+
return props.notification.primaryAction;
|
|
3583
|
+
},
|
|
3584
|
+
keyed: true,
|
|
3585
|
+
children: (primaryAction) => web.createComponent(Button, {
|
|
3586
|
+
appearanceKey: "notificationPrimaryAction__button",
|
|
3587
|
+
variant: "default",
|
|
3588
|
+
onClick: (e) => handleActionButtonClick("primary" /* PRIMARY */, e),
|
|
3589
|
+
get children() {
|
|
3590
|
+
return primaryAction.label;
|
|
3591
|
+
}
|
|
3592
|
+
})
|
|
3593
|
+
}), null);
|
|
3594
|
+
web.insert(_el$6, web.createComponent(solidJs.Show, {
|
|
3595
|
+
get when() {
|
|
3596
|
+
return props.notification.secondaryAction;
|
|
3597
|
+
},
|
|
3598
|
+
keyed: true,
|
|
3599
|
+
children: (secondaryAction) => web.createComponent(Button, {
|
|
3600
|
+
appearanceKey: "notificationSecondaryAction__button",
|
|
3601
|
+
variant: "secondary",
|
|
3602
|
+
onClick: (e) => handleActionButtonClick("secondary" /* SECONDARY */, e),
|
|
3603
|
+
get children() {
|
|
3604
|
+
return secondaryAction.label;
|
|
3605
|
+
}
|
|
3606
|
+
})
|
|
3607
|
+
}), null);
|
|
3608
|
+
web.effect(() => web.className(_el$6, style("notificationCustomActions", "nt-flex nt-flex-wrap nt-gap-2")));
|
|
3609
|
+
return _el$6;
|
|
3170
3610
|
}
|
|
3171
|
-
}), _el$
|
|
3172
|
-
web.insert(_el$
|
|
3173
|
-
|
|
3174
|
-
return props.notification.primaryAction;
|
|
3175
|
-
},
|
|
3176
|
-
keyed: true,
|
|
3177
|
-
children: (primaryAction) => web.createComponent(Button, {
|
|
3178
|
-
appearanceKey: "notificationPrimaryAction__button",
|
|
3179
|
-
variant: "default",
|
|
3180
|
-
onClick: (e) => handleActionButtonClick("primary" /* PRIMARY */, e),
|
|
3181
|
-
get children() {
|
|
3182
|
-
return primaryAction.label;
|
|
3183
|
-
}
|
|
3184
|
-
})
|
|
3185
|
-
}), null);
|
|
3186
|
-
web.insert(_el$8, web.createComponent(solidJs.Show, {
|
|
3611
|
+
}), _el$7);
|
|
3612
|
+
web.insert(_el$7, date);
|
|
3613
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
3187
3614
|
get when() {
|
|
3188
|
-
return props.notification.
|
|
3615
|
+
return !props.notification.isRead;
|
|
3189
3616
|
},
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
get children() {
|
|
3196
|
-
return secondaryAction.label;
|
|
3197
|
-
}
|
|
3198
|
-
})
|
|
3617
|
+
get children() {
|
|
3618
|
+
var _el$8 = _tmpl$311();
|
|
3619
|
+
web.effect(() => web.className(_el$8, style("notificationDot", "nt-size-1.5 nt-bg-primary nt-rounded-full nt-shrink-0")));
|
|
3620
|
+
return _el$8;
|
|
3621
|
+
}
|
|
3199
3622
|
}), null);
|
|
3200
3623
|
web.effect((_p$) => {
|
|
3201
3624
|
var _a;
|
|
3202
|
-
var _v$3 = style("notification", cn("nt-w-full nt-text-sm hover:nt-bg-
|
|
3625
|
+
var _v$3 = style("notification", cn("nt-w-full nt-text-sm hover:nt-bg-primary-alpha-25 nt-group nt-relative nt-flex nt-items-start nt-p-4 nt-gap-2", "[&:not(:first-child)]:nt-border-t nt-border-neutral-alpha-100", {
|
|
3203
3626
|
"nt-cursor-pointer": !props.notification.isRead || !!((_a = props.notification.redirect) == null ? void 0 : _a.url)
|
|
3204
|
-
})), _v$4 = style("
|
|
3627
|
+
})), _v$4 = style("notificationContent", "nt-flex nt-flex-col nt-gap-2 nt-w-full"), _v$5 = style("notificationTextContainer"), _v$6 = style("notificationDefaultActions", "nt-absolute nt-transition nt-duration-100 nt-ease-out nt-gap-0.5 nt-flex nt-shrink-0 nt-opacity-0 group-hover:nt-opacity-100 group-focus-within:nt-opacity-100 nt-justify-center nt-items-center nt-bg-background/90 nt-right-3 nt-top-3 nt-border nt-border-neutral-alpha-100 nt-rounded-lg nt-backdrop-blur-lg nt-p-0.5"), _v$7 = style("notificationDate", "nt-text-foreground-alpha-400");
|
|
3205
3628
|
_v$3 !== _p$.e && web.className(_el$, _p$.e = _v$3);
|
|
3206
|
-
_v$4 !== _p$.t && web.className(_el$
|
|
3207
|
-
_v$5 !== _p$.a && web.className(_el$
|
|
3208
|
-
_v$6 !== _p$.o && web.className(_el$
|
|
3209
|
-
_v$7 !== _p$.i && web.className(_el$
|
|
3629
|
+
_v$4 !== _p$.t && web.className(_el$3, _p$.t = _v$4);
|
|
3630
|
+
_v$5 !== _p$.a && web.className(_el$4, _p$.a = _v$5);
|
|
3631
|
+
_v$6 !== _p$.o && web.className(_el$5, _p$.o = _v$6);
|
|
3632
|
+
_v$7 !== _p$.i && web.className(_el$7, _p$.i = _v$7);
|
|
3210
3633
|
return _p$;
|
|
3211
3634
|
}, {
|
|
3212
3635
|
e: void 0,
|
|
@@ -3231,6 +3654,12 @@ var Notification = (props) => {
|
|
|
3231
3654
|
get notification() {
|
|
3232
3655
|
return props.notification;
|
|
3233
3656
|
},
|
|
3657
|
+
get renderSubject() {
|
|
3658
|
+
return props.renderSubject;
|
|
3659
|
+
},
|
|
3660
|
+
get renderBody() {
|
|
3661
|
+
return props.renderBody;
|
|
3662
|
+
},
|
|
3234
3663
|
get onNotificationClick() {
|
|
3235
3664
|
return props.onNotificationClick;
|
|
3236
3665
|
},
|
|
@@ -3249,14 +3678,6 @@ var Notification = (props) => {
|
|
|
3249
3678
|
}
|
|
3250
3679
|
});
|
|
3251
3680
|
};
|
|
3252
|
-
var _tmpl$45 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg width=48 height=48 viewBox="0 0 48 48"fill=none><path fill=currentColor d="M35.2 21.62L32.38 18.8L39.5 11.7L42.32 14.52C42.1 14.58 35.2 21.62 35.2 21.62ZM26 6H22V16H26V6ZM12.8 21.62L15.62 18.8L8.52 11.68L5.68 14.52C5.9 14.58 12.8 21.62 12.8 21.62ZM40 28H33.16C31.62 31.52 28.08 34 24 34C19.92 34 16.38 31.52 14.84 28H8V38H40V28ZM40 24C42.2 24 44 25.8 44 28V38C44 40.2 42.2 42 40 42H8C5.8 42 4 40.2 4 38V28C4 25.8 5.8 24 8 24H18C18 27.32 20.68 30 24 30C27.32 30 30 27.32 30 24H40Z">`);
|
|
3253
|
-
function EmptyIcon(props) {
|
|
3254
|
-
return (() => {
|
|
3255
|
-
var _el$ = _tmpl$45();
|
|
3256
|
-
web.spread(_el$, props, true, true);
|
|
3257
|
-
return _el$;
|
|
3258
|
-
})();
|
|
3259
|
-
}
|
|
3260
3681
|
var NewMessagesCta = (props) => {
|
|
3261
3682
|
const shouldRender = solidJs.createMemo(() => !!props.count);
|
|
3262
3683
|
const {
|
|
@@ -3269,7 +3690,7 @@ var NewMessagesCta = (props) => {
|
|
|
3269
3690
|
get children() {
|
|
3270
3691
|
return web.createComponent(Button, {
|
|
3271
3692
|
appearanceKey: "notificationListNewNotificationsNotice__button",
|
|
3272
|
-
"class": "nt-absolute nt-w-fit nt-top-0 nt-mx-auto nt-inset-2 nt-z-10 nt-rounded-full hover:nt-bg-primary-600 nt-animate-in nt-slide-in-from-top-2 nt-fade-in",
|
|
3693
|
+
"class": "nt-absolute nt-w-fit nt-h-fit nt-top-0 nt-mx-auto nt-inset-2 nt-z-10 nt-rounded-full hover:nt-bg-primary-600 nt-animate-in nt-slide-in-from-top-2 nt-fade-in",
|
|
3273
3694
|
get onClick() {
|
|
3274
3695
|
return props.onClick;
|
|
3275
3696
|
},
|
|
@@ -3283,66 +3704,113 @@ var NewMessagesCta = (props) => {
|
|
|
3283
3704
|
}
|
|
3284
3705
|
});
|
|
3285
3706
|
};
|
|
3286
|
-
var _tmpl$
|
|
3287
|
-
var NotificationSkeleton = () => {
|
|
3288
|
-
return (() => {
|
|
3289
|
-
var _el$ = _tmpl$46(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
|
|
3290
|
-
web.insert(_el$, web.createComponent(SkeletonAvatar, {
|
|
3291
|
-
appearanceKey: "skeletonAvatar"
|
|
3292
|
-
}), _el$2);
|
|
3293
|
-
web.insert(_el$2, web.createComponent(SkeletonText, {
|
|
3294
|
-
appearanceKey: "skeletonText",
|
|
3295
|
-
"class": "nt-w-1/4"
|
|
3296
|
-
}), _el$3);
|
|
3297
|
-
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
3298
|
-
appearanceKey: "skeletonText"
|
|
3299
|
-
}), null);
|
|
3300
|
-
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
3301
|
-
appearanceKey: "skeletonText"
|
|
3302
|
-
}), null);
|
|
3303
|
-
web.insert(_el$4, web.createComponent(SkeletonText, {
|
|
3304
|
-
appearanceKey: "skeletonText",
|
|
3305
|
-
"class": "nt-w-2/3"
|
|
3306
|
-
}), null);
|
|
3307
|
-
web.insert(_el$4, web.createComponent(SkeletonText, {
|
|
3308
|
-
appearanceKey: "skeletonText",
|
|
3309
|
-
"class": "nt-w-1/3"
|
|
3310
|
-
}), null);
|
|
3311
|
-
return _el$;
|
|
3312
|
-
})();
|
|
3313
|
-
};
|
|
3707
|
+
var _tmpl$48 = /* @__PURE__ */ web.template(`<div>`);
|
|
3314
3708
|
var NotificationListSkeleton = (props) => {
|
|
3315
|
-
return web.createComponent(solidJs.For, {
|
|
3316
|
-
get each() {
|
|
3317
|
-
return Array.from({
|
|
3318
|
-
length: props.count
|
|
3319
|
-
});
|
|
3320
|
-
},
|
|
3321
|
-
children: () => web.createComponent(NotificationSkeleton, {})
|
|
3322
|
-
});
|
|
3323
|
-
};
|
|
3324
|
-
|
|
3325
|
-
// src/ui/components/Notification/NotificationList.tsx
|
|
3326
|
-
var _tmpl$47 = /* @__PURE__ */ web.template(`<div><p class=nt-text-center data-localization=notifications.emptyNotice>`);
|
|
3327
|
-
var _tmpl$215 = /* @__PURE__ */ web.template(`<div>`);
|
|
3328
|
-
var _tmpl$312 = /* @__PURE__ */ web.template(`<div><div>`);
|
|
3329
|
-
var EmptyNotificationList = () => {
|
|
3330
3709
|
const style = useStyle();
|
|
3331
3710
|
const {
|
|
3332
3711
|
t
|
|
3333
3712
|
} = useLocalization();
|
|
3334
3713
|
return (() => {
|
|
3335
|
-
var _el$ = _tmpl$
|
|
3336
|
-
web.insert(_el$, web.createComponent(
|
|
3714
|
+
var _el$ = _tmpl$48();
|
|
3715
|
+
web.insert(_el$, web.createComponent(Motion.div, {
|
|
3716
|
+
get animate() {
|
|
3717
|
+
return {
|
|
3718
|
+
scale: props.loading ? 1 : 0.7
|
|
3719
|
+
};
|
|
3720
|
+
},
|
|
3721
|
+
transition: {
|
|
3722
|
+
duration: 0.6,
|
|
3723
|
+
easing: [0.39, 0.24, 0.3, 1],
|
|
3724
|
+
delay: 0.3
|
|
3725
|
+
},
|
|
3337
3726
|
get ["class"]() {
|
|
3338
|
-
return style("
|
|
3727
|
+
return style("notificationList__skeleton", "nt-flex nt-relative nt-mx-auto nt-flex-col nt-w-full nt-mb-4");
|
|
3728
|
+
},
|
|
3729
|
+
get children() {
|
|
3730
|
+
return [web.memo(() => Array.from({
|
|
3731
|
+
length: 5
|
|
3732
|
+
}).map((_, i) => web.createComponent(Motion.div, {
|
|
3733
|
+
get animate() {
|
|
3734
|
+
return {
|
|
3735
|
+
marginBottom: props.loading ? 0 : "16px",
|
|
3736
|
+
borderWidth: props.loading ? 0 : "1px",
|
|
3737
|
+
borderRadius: props.loading ? 0 : "var(--nv-radius-lg)"
|
|
3738
|
+
};
|
|
3739
|
+
},
|
|
3740
|
+
transition: {
|
|
3741
|
+
duration: 0.5,
|
|
3742
|
+
delay: 0.3,
|
|
3743
|
+
easing: "ease-in-out"
|
|
3744
|
+
},
|
|
3745
|
+
get ["class"]() {
|
|
3746
|
+
return style("notificationList__skeletonContent", "nt-flex nt-border-neutral-alpha-50 nt-items-center nt-gap-3 nt-p-3 nt-bg-neutral-alpha-25");
|
|
3747
|
+
},
|
|
3748
|
+
get children() {
|
|
3749
|
+
return [web.createComponent(SkeletonAvatar, {
|
|
3750
|
+
appearanceKey: "notificationList__skeletonAvatar",
|
|
3751
|
+
"class": "nt-w-8 nt-h-8 nt-rounded-full nt-bg-neutral-alpha-100"
|
|
3752
|
+
}), (() => {
|
|
3753
|
+
var _el$3 = _tmpl$48();
|
|
3754
|
+
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
3755
|
+
appearanceKey: "notificationList__skeletonText",
|
|
3756
|
+
"class": "nt-h-2 nt-w-1/3 nt-bg-neutral-alpha-50 nt-rounded"
|
|
3757
|
+
}), null);
|
|
3758
|
+
web.insert(_el$3, web.createComponent(SkeletonText, {
|
|
3759
|
+
appearanceKey: "notificationList__skeletonText",
|
|
3760
|
+
"class": "nt-h-2 nt-w-2/3 nt-bg-neutral-alpha-50 nt-rounded"
|
|
3761
|
+
}), null);
|
|
3762
|
+
web.effect(() => web.className(_el$3, style("notificationList__skeletonItem", "nt-flex nt-flex-col nt-gap-2 nt-flex-1")));
|
|
3763
|
+
return _el$3;
|
|
3764
|
+
})()];
|
|
3765
|
+
}
|
|
3766
|
+
}))), (() => {
|
|
3767
|
+
var _el$2 = _tmpl$48();
|
|
3768
|
+
web.effect(() => web.className(_el$2, style("notificationListEmptyNoticeOverlay", "nt-absolute nt-size-full nt-z-10 nt-inset-0 nt-bg-gradient-to-b nt-from-transparent nt-to-background")));
|
|
3769
|
+
return _el$2;
|
|
3770
|
+
})()];
|
|
3339
3771
|
}
|
|
3340
|
-
}),
|
|
3341
|
-
web.insert(_el
|
|
3342
|
-
|
|
3772
|
+
}), null);
|
|
3773
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
3774
|
+
get when() {
|
|
3775
|
+
return !props.loading;
|
|
3776
|
+
},
|
|
3777
|
+
get children() {
|
|
3778
|
+
return web.createComponent(Motion.p, {
|
|
3779
|
+
initial: {
|
|
3780
|
+
opacity: 0,
|
|
3781
|
+
y: -4,
|
|
3782
|
+
filter: "blur(4px)"
|
|
3783
|
+
},
|
|
3784
|
+
get animate() {
|
|
3785
|
+
return {
|
|
3786
|
+
opacity: props.loading ? 0 : 1,
|
|
3787
|
+
y: 0,
|
|
3788
|
+
filter: "blur(0px)"
|
|
3789
|
+
};
|
|
3790
|
+
},
|
|
3791
|
+
transition: {
|
|
3792
|
+
duration: 0.7,
|
|
3793
|
+
easing: [0.39, 0.24, 0.3, 1],
|
|
3794
|
+
delay: 0.6
|
|
3795
|
+
},
|
|
3796
|
+
get ["class"]() {
|
|
3797
|
+
return style("notificationListEmptyNotice", "nt-text-center");
|
|
3798
|
+
},
|
|
3799
|
+
"data-localization": "notifications.emptyNotice",
|
|
3800
|
+
get children() {
|
|
3801
|
+
return t("notifications.emptyNotice");
|
|
3802
|
+
}
|
|
3803
|
+
});
|
|
3804
|
+
}
|
|
3805
|
+
}), null);
|
|
3806
|
+
web.effect(() => web.className(_el$, style("notificationListEmptyNoticeContainer", "nt-flex nt-flex-col nt-items-center nt-h-fit nt-w-full nt-text-sm nt-text-foreground-alpha-400 nt-text-center")));
|
|
3343
3807
|
return _el$;
|
|
3344
3808
|
})();
|
|
3345
3809
|
};
|
|
3810
|
+
|
|
3811
|
+
// src/ui/components/Notification/NotificationList.tsx
|
|
3812
|
+
var _tmpl$49 = /* @__PURE__ */ web.template(`<div>`);
|
|
3813
|
+
var _tmpl$215 = /* @__PURE__ */ web.template(`<div><div>`);
|
|
3346
3814
|
var NotificationList = (props) => {
|
|
3347
3815
|
var _a, _b;
|
|
3348
3816
|
const options = solidJs.createMemo(() => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, props.filter), {
|
|
@@ -3385,99 +3853,92 @@ var NotificationList = (props) => {
|
|
|
3385
3853
|
});
|
|
3386
3854
|
});
|
|
3387
3855
|
return (() => {
|
|
3388
|
-
var _el$
|
|
3389
|
-
web.insert(_el
|
|
3856
|
+
var _el$ = _tmpl$215(), _el$2 = _el$.firstChild;
|
|
3857
|
+
web.insert(_el$, web.createComponent(NewMessagesCta, {
|
|
3390
3858
|
get count() {
|
|
3391
3859
|
return count();
|
|
3392
3860
|
},
|
|
3393
3861
|
onClick: handleOnNewMessagesClick
|
|
3394
|
-
}), _el$
|
|
3862
|
+
}), _el$2);
|
|
3395
3863
|
web.use((el) => {
|
|
3396
3864
|
notificationListElement = el;
|
|
3397
|
-
}, _el$
|
|
3398
|
-
web.insert(_el$
|
|
3865
|
+
}, _el$2);
|
|
3866
|
+
web.insert(_el$2, web.createComponent(solidJs.Show, {
|
|
3399
3867
|
get when() {
|
|
3400
|
-
return
|
|
3868
|
+
return data().length > 0;
|
|
3401
3869
|
},
|
|
3402
3870
|
get fallback() {
|
|
3403
3871
|
return web.createComponent(NotificationListSkeleton, {
|
|
3404
|
-
|
|
3872
|
+
get loading() {
|
|
3873
|
+
return initialLoading();
|
|
3874
|
+
}
|
|
3405
3875
|
});
|
|
3406
3876
|
},
|
|
3407
3877
|
get children() {
|
|
3408
|
-
return web.createComponent(solidJs.
|
|
3409
|
-
get
|
|
3410
|
-
return
|
|
3411
|
-
},
|
|
3412
|
-
get fallback() {
|
|
3413
|
-
return web.createComponent(EmptyNotificationList, {});
|
|
3878
|
+
return [web.createComponent(solidJs.For, {
|
|
3879
|
+
get each() {
|
|
3880
|
+
return ids();
|
|
3414
3881
|
},
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3882
|
+
children: (_, index) => {
|
|
3883
|
+
const notification = () => data()[index()];
|
|
3884
|
+
return web.createComponent(Notification, {
|
|
3885
|
+
get notification() {
|
|
3886
|
+
return notification();
|
|
3419
3887
|
},
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
return web.createComponent(Notification, {
|
|
3423
|
-
get notification() {
|
|
3424
|
-
return notification();
|
|
3425
|
-
},
|
|
3426
|
-
get renderNotification() {
|
|
3427
|
-
return props.renderNotification;
|
|
3428
|
-
},
|
|
3429
|
-
get onNotificationClick() {
|
|
3430
|
-
return props.onNotificationClick;
|
|
3431
|
-
},
|
|
3432
|
-
get onPrimaryActionClick() {
|
|
3433
|
-
return props.onPrimaryActionClick;
|
|
3434
|
-
},
|
|
3435
|
-
get onSecondaryActionClick() {
|
|
3436
|
-
return props.onSecondaryActionClick;
|
|
3437
|
-
}
|
|
3438
|
-
});
|
|
3439
|
-
}
|
|
3440
|
-
}), web.createComponent(solidJs.Show, {
|
|
3441
|
-
get when() {
|
|
3442
|
-
return !end();
|
|
3888
|
+
get renderNotification() {
|
|
3889
|
+
return props.renderNotification;
|
|
3443
3890
|
},
|
|
3444
|
-
get
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3891
|
+
get renderSubject() {
|
|
3892
|
+
return props.renderSubject;
|
|
3893
|
+
},
|
|
3894
|
+
get renderBody() {
|
|
3895
|
+
return props.renderBody;
|
|
3896
|
+
},
|
|
3897
|
+
get onNotificationClick() {
|
|
3898
|
+
return props.onNotificationClick;
|
|
3899
|
+
},
|
|
3900
|
+
get onPrimaryActionClick() {
|
|
3901
|
+
return props.onPrimaryActionClick;
|
|
3902
|
+
},
|
|
3903
|
+
get onSecondaryActionClick() {
|
|
3904
|
+
return props.onSecondaryActionClick;
|
|
3456
3905
|
}
|
|
3457
|
-
})
|
|
3906
|
+
});
|
|
3458
3907
|
}
|
|
3459
|
-
})
|
|
3908
|
+
}), web.createComponent(solidJs.Show, {
|
|
3909
|
+
get when() {
|
|
3910
|
+
return !end();
|
|
3911
|
+
},
|
|
3912
|
+
get children() {
|
|
3913
|
+
var _el$3 = _tmpl$49();
|
|
3914
|
+
web.use(setEl, _el$3);
|
|
3915
|
+
web.insert(_el$3, web.createComponent(NotificationListSkeleton, {
|
|
3916
|
+
loading: true
|
|
3917
|
+
}));
|
|
3918
|
+
return _el$3;
|
|
3919
|
+
}
|
|
3920
|
+
})];
|
|
3460
3921
|
}
|
|
3461
3922
|
}));
|
|
3462
3923
|
web.effect((_p$) => {
|
|
3463
|
-
var _v$ = style("notificationListContainer", "nt-relative nt-h-full nt-overflow-hidden"), _v$2 = style("notificationList", "nt-relative nt-h-full nt-flex nt-flex-col nt-overflow-y-auto");
|
|
3464
|
-
_v$ !== _p$.e && web.className(_el
|
|
3465
|
-
_v$2 !== _p$.t && web.className(_el$
|
|
3924
|
+
var _v$ = style("notificationListContainer", "nt-relative nt-border-t nt-border-t-neutral-alpha-200 nt-h-full nt-overflow-hidden"), _v$2 = style("notificationList", "nt-relative nt-h-full nt-flex nt-flex-col nt-overflow-y-auto");
|
|
3925
|
+
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
3926
|
+
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
3466
3927
|
return _p$;
|
|
3467
3928
|
}, {
|
|
3468
3929
|
e: void 0,
|
|
3469
3930
|
t: void 0
|
|
3470
3931
|
});
|
|
3471
|
-
return _el
|
|
3932
|
+
return _el$;
|
|
3472
3933
|
})();
|
|
3473
3934
|
};
|
|
3474
|
-
var _tmpl$
|
|
3935
|
+
var _tmpl$50 = /* @__PURE__ */ web.template(`<span>`);
|
|
3475
3936
|
var getDisplayCount = (count) => count >= 100 ? "99+" : count;
|
|
3476
3937
|
var InboxTabUnreadNotificationsCount = (props) => {
|
|
3477
3938
|
const style = useStyle();
|
|
3478
3939
|
const displayCount = solidJs.createMemo(() => getDisplayCount(props.count));
|
|
3479
3940
|
return (() => {
|
|
3480
|
-
var _el$ = _tmpl$
|
|
3941
|
+
var _el$ = _tmpl$50();
|
|
3481
3942
|
web.insert(_el$, displayCount);
|
|
3482
3943
|
web.effect(() => web.className(_el$, style("notificationsTabsTriggerCount", "nt-rounded-full nt-bg-counter nt-px-[6px] nt-text-counter-foreground nt-text-sm")));
|
|
3483
3944
|
return _el$;
|
|
@@ -3502,7 +3963,7 @@ var InboxTab = (props) => {
|
|
|
3502
3963
|
},
|
|
3503
3964
|
get children() {
|
|
3504
3965
|
return [(() => {
|
|
3505
|
-
var _el$2 = _tmpl$
|
|
3966
|
+
var _el$2 = _tmpl$50();
|
|
3506
3967
|
web.insert(_el$2, () => props.label);
|
|
3507
3968
|
web.effect(() => web.className(_el$2, style("notificationsTabsTriggerLabel", "nt-text-sm nt-font-medium")));
|
|
3508
3969
|
return _el$2;
|
|
@@ -3540,7 +4001,7 @@ var InboxDropdownTab = (props) => {
|
|
|
3540
4001
|
},
|
|
3541
4002
|
get children() {
|
|
3542
4003
|
return [(() => {
|
|
3543
|
-
var _el$3 = _tmpl$
|
|
4004
|
+
var _el$3 = _tmpl$50();
|
|
3544
4005
|
web.insert(_el$3, () => props.label);
|
|
3545
4006
|
web.effect(() => web.className(_el$3, style("moreTabs__dropdownItemLabel", "nt-mr-auto")));
|
|
3546
4007
|
return _el$3;
|
|
@@ -3559,38 +4020,9 @@ var InboxDropdownTab = (props) => {
|
|
|
3559
4020
|
}
|
|
3560
4021
|
});
|
|
3561
4022
|
};
|
|
3562
|
-
var useTabsDropdown = ({ tabs }) => {
|
|
3563
|
-
const [tabsList, setTabsList] = solidJs.createSignal();
|
|
3564
|
-
const [visibleTabs, setVisibleTabs] = solidJs.createSignal([]);
|
|
3565
|
-
const [dropdownTabs, setDropdownTabs] = solidJs.createSignal([]);
|
|
3566
|
-
solidJs.onMount(() => {
|
|
3567
|
-
const tabsListEl = tabsList();
|
|
3568
|
-
if (!tabsListEl) return;
|
|
3569
|
-
const tabsElements = [...tabsListEl.querySelectorAll('[role="tab"]')];
|
|
3570
|
-
const observer = new IntersectionObserver(
|
|
3571
|
-
(entries) => {
|
|
3572
|
-
let visibleTabIds = entries.filter((entry) => entry.isIntersecting && entry.intersectionRatio === 1).map((entry) => entry.target.id);
|
|
3573
|
-
if (tabsElements.length === visibleTabIds.length) {
|
|
3574
|
-
setVisibleTabs(tabs.filter((tab) => visibleTabIds.includes(tab.label)));
|
|
3575
|
-
observer.disconnect();
|
|
3576
|
-
return;
|
|
3577
|
-
}
|
|
3578
|
-
visibleTabIds = visibleTabIds.slice(0, -1);
|
|
3579
|
-
setVisibleTabs(tabs.filter((tab) => visibleTabIds.includes(tab.label)));
|
|
3580
|
-
setDropdownTabs(tabs.filter((tab) => !visibleTabIds.includes(tab.label)));
|
|
3581
|
-
observer.disconnect();
|
|
3582
|
-
},
|
|
3583
|
-
{ root: tabsListEl }
|
|
3584
|
-
);
|
|
3585
|
-
for (const tabElement of tabsElements) {
|
|
3586
|
-
observer.observe(tabElement);
|
|
3587
|
-
}
|
|
3588
|
-
});
|
|
3589
|
-
return { dropdownTabs, setTabsList, visibleTabs };
|
|
3590
|
-
};
|
|
3591
4023
|
|
|
3592
4024
|
// src/ui/components/InboxTabs/InboxTabs.tsx
|
|
3593
|
-
var tabsDropdownTriggerVariants = () => `nt-relative after:nt-absolute after:nt-content-[''] after:nt-bottom-0 after:nt-left-0 after:nt-w-full after:nt-h-[2px] after:nt-border-b-2 nt-
|
|
4025
|
+
var tabsDropdownTriggerVariants = () => `nt-relative after:nt-absolute after:nt-content-[''] after:nt-bottom-0 after:nt-left-0 after:nt-w-full after:nt-h-[2px] after:nt-border-b-2 nt-mb-[0.625rem]`;
|
|
3594
4026
|
var InboxTabs = (props) => {
|
|
3595
4027
|
const style = useStyle();
|
|
3596
4028
|
const {
|
|
@@ -3614,16 +4046,15 @@ var InboxTabs = (props) => {
|
|
|
3614
4046
|
const options = solidJs.createMemo(() => dropdownTabs().map((tab) => chunk7B52C2XE_js.__spreadProps(chunk7B52C2XE_js.__spreadValues({}, tab), {
|
|
3615
4047
|
rightIcon: tab.label === activeTab() ? web.createComponent(Check, {
|
|
3616
4048
|
get ["class"]() {
|
|
3617
|
-
return style("moreTabs__dropdownItemRight__icon");
|
|
4049
|
+
return style("moreTabs__dropdownItemRight__icon", "nt-size-3");
|
|
3618
4050
|
}
|
|
3619
4051
|
}) : void 0
|
|
3620
4052
|
})));
|
|
3621
4053
|
const dropdownTabsUnreadSum = solidJs.createMemo(() => dropdownTabsUnreadCounts().reduce((accumulator, currentValue) => accumulator + currentValue, 0));
|
|
3622
4054
|
const isTabsDropdownActive = solidJs.createMemo(() => dropdownTabs().map((tab) => tab.label).includes(activeTab()));
|
|
3623
4055
|
return web.createComponent(Tabs.Root, {
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
},
|
|
4056
|
+
appearanceKey: "notificationsTabs__tabsRoot",
|
|
4057
|
+
"class": "nt-flex nt-flex-col nt-flex-1 nt-min-h-0",
|
|
3627
4058
|
get value() {
|
|
3628
4059
|
return activeTab();
|
|
3629
4060
|
},
|
|
@@ -3637,6 +4068,7 @@ var InboxTabs = (props) => {
|
|
|
3637
4068
|
return web.createComponent(Tabs.List, {
|
|
3638
4069
|
ref: setTabsList,
|
|
3639
4070
|
appearanceKey: "notificationsTabs__tabsList",
|
|
4071
|
+
"class": "nt-bg-neutral-alpha-25 nt-px-4",
|
|
3640
4072
|
get children() {
|
|
3641
4073
|
return props.tabs.map((tab) => web.createComponent(InboxTab, web.mergeProps(tab, {
|
|
3642
4074
|
"class": "nt-invisible"
|
|
@@ -3647,30 +4079,34 @@ var InboxTabs = (props) => {
|
|
|
3647
4079
|
get children() {
|
|
3648
4080
|
return web.createComponent(Tabs.List, {
|
|
3649
4081
|
appearanceKey: "notificationsTabs__tabsList",
|
|
4082
|
+
"class": "nt-bg-neutral-alpha-25 nt-px-4",
|
|
3650
4083
|
get children() {
|
|
3651
|
-
return [web.
|
|
4084
|
+
return [web.createComponent(solidJs.For, {
|
|
4085
|
+
get each() {
|
|
4086
|
+
return visibleTabs();
|
|
4087
|
+
},
|
|
4088
|
+
children: (tab) => web.createComponent(InboxTab, tab)
|
|
4089
|
+
}), web.createComponent(solidJs.Show, {
|
|
3652
4090
|
get when() {
|
|
3653
4091
|
return dropdownTabs().length > 0;
|
|
3654
4092
|
},
|
|
3655
4093
|
get children() {
|
|
3656
4094
|
return web.createComponent(Dropdown.Root, {
|
|
3657
|
-
fallbackPlacements: ["bottom", "top"],
|
|
3658
|
-
placement: "bottom-start",
|
|
3659
4095
|
get children() {
|
|
3660
4096
|
return [web.createComponent(Dropdown.Trigger, {
|
|
3661
4097
|
appearanceKey: "moreTabs__dropdownTrigger",
|
|
3662
4098
|
asChild: (triggerProps) => web.createComponent(Button, web.mergeProps({
|
|
3663
4099
|
variant: "unstyled",
|
|
3664
|
-
size: "
|
|
4100
|
+
size: "iconSm",
|
|
3665
4101
|
appearanceKey: "moreTabs__button"
|
|
3666
4102
|
}, triggerProps, {
|
|
3667
4103
|
get ["class"]() {
|
|
3668
|
-
return cn(tabsDropdownTriggerVariants(), isTabsDropdownActive() ? "after:nt-border-b-primary" : "after:nt-border-b-transparent nt-text-foreground-alpha-
|
|
4104
|
+
return cn(tabsDropdownTriggerVariants(), "nt-ml-auto", isTabsDropdownActive() ? "after:nt-border-b-primary" : "after:nt-border-b-transparent nt-text-foreground-alpha-700");
|
|
3669
4105
|
},
|
|
3670
4106
|
get children() {
|
|
3671
|
-
return [web.createComponent(
|
|
4107
|
+
return [web.createComponent(ArrowDown, {
|
|
3672
4108
|
get ["class"]() {
|
|
3673
|
-
return style("
|
|
4109
|
+
return style("moreTabs__icon", "nt-size-5");
|
|
3674
4110
|
}
|
|
3675
4111
|
}), web.createComponent(solidJs.Show, {
|
|
3676
4112
|
get when() {
|
|
@@ -3711,13 +4147,19 @@ var InboxTabs = (props) => {
|
|
|
3711
4147
|
return tab.label;
|
|
3712
4148
|
},
|
|
3713
4149
|
get ["class"]() {
|
|
3714
|
-
return style("notificationsTabs__tabsContent", cn(activeTab() === tab.label ? "nt-block" : "nt-hidden", "nt-flex-1 nt-
|
|
4150
|
+
return style("notificationsTabs__tabsContent", cn(activeTab() === tab.label ? "nt-block" : "nt-hidden", "nt-overflow-auto nt-flex-1 nt-flex nt-flex-col nt-min-h-0"));
|
|
3715
4151
|
},
|
|
3716
4152
|
get children() {
|
|
3717
4153
|
return web.createComponent(NotificationList, {
|
|
3718
4154
|
get renderNotification() {
|
|
3719
4155
|
return props.renderNotification;
|
|
3720
4156
|
},
|
|
4157
|
+
get renderSubject() {
|
|
4158
|
+
return props.renderSubject;
|
|
4159
|
+
},
|
|
4160
|
+
get renderBody() {
|
|
4161
|
+
return props.renderBody;
|
|
4162
|
+
},
|
|
3721
4163
|
get onNotificationClick() {
|
|
3722
4164
|
return props.onNotificationClick;
|
|
3723
4165
|
},
|
|
@@ -3740,7 +4182,7 @@ var InboxTabs = (props) => {
|
|
|
3740
4182
|
};
|
|
3741
4183
|
|
|
3742
4184
|
// src/ui/components/Inbox.tsx
|
|
3743
|
-
var _tmpl$
|
|
4185
|
+
var _tmpl$51 = /* @__PURE__ */ web.template(`<div>`);
|
|
3744
4186
|
var InboxPage = /* @__PURE__ */ function(InboxPage2) {
|
|
3745
4187
|
InboxPage2["Notifications"] = "notifications";
|
|
3746
4188
|
InboxPage2["Preferences"] = "preferences";
|
|
@@ -3762,7 +4204,7 @@ var InboxContent = (props) => {
|
|
|
3762
4204
|
};
|
|
3763
4205
|
});
|
|
3764
4206
|
return (() => {
|
|
3765
|
-
var _el$ = _tmpl$
|
|
4207
|
+
var _el$ = _tmpl$51();
|
|
3766
4208
|
web.insert(_el$, web.createComponent(solidJs.Switch, {
|
|
3767
4209
|
get children() {
|
|
3768
4210
|
return [web.createComponent(solidJs.Match, {
|
|
@@ -3784,6 +4226,12 @@ var InboxContent = (props) => {
|
|
|
3784
4226
|
get renderNotification() {
|
|
3785
4227
|
return props.renderNotification;
|
|
3786
4228
|
},
|
|
4229
|
+
get renderSubject() {
|
|
4230
|
+
return props.renderSubject;
|
|
4231
|
+
},
|
|
4232
|
+
get renderBody() {
|
|
4233
|
+
return props.renderBody;
|
|
4234
|
+
},
|
|
3787
4235
|
get onNotificationClick() {
|
|
3788
4236
|
return props.onNotificationClick;
|
|
3789
4237
|
},
|
|
@@ -3803,6 +4251,12 @@ var InboxContent = (props) => {
|
|
|
3803
4251
|
get renderNotification() {
|
|
3804
4252
|
return props.renderNotification;
|
|
3805
4253
|
},
|
|
4254
|
+
get renderSubject() {
|
|
4255
|
+
return props.renderSubject;
|
|
4256
|
+
},
|
|
4257
|
+
get renderBody() {
|
|
4258
|
+
return props.renderBody;
|
|
4259
|
+
},
|
|
3806
4260
|
get onNotificationClick() {
|
|
3807
4261
|
return props.onNotificationClick;
|
|
3808
4262
|
},
|
|
@@ -3838,7 +4292,7 @@ var InboxContent = (props) => {
|
|
|
3838
4292
|
return _el$;
|
|
3839
4293
|
})();
|
|
3840
4294
|
};
|
|
3841
|
-
var
|
|
4295
|
+
var Inbox = (props) => {
|
|
3842
4296
|
const style = useStyle();
|
|
3843
4297
|
const {
|
|
3844
4298
|
isOpened,
|
|
@@ -3869,7 +4323,7 @@ var Inbox2 = (props) => {
|
|
|
3869
4323
|
size: "icon"
|
|
3870
4324
|
}, triggerProps, {
|
|
3871
4325
|
get children() {
|
|
3872
|
-
return web.createComponent(
|
|
4326
|
+
return web.createComponent(Bell2, {
|
|
3873
4327
|
get renderBell() {
|
|
3874
4328
|
return props.renderBell;
|
|
3875
4329
|
}
|
|
@@ -3880,18 +4334,44 @@ var Inbox2 = (props) => {
|
|
|
3880
4334
|
appearanceKey: "inbox__popoverContent",
|
|
3881
4335
|
portal: true,
|
|
3882
4336
|
get children() {
|
|
3883
|
-
return web.createComponent(
|
|
3884
|
-
get
|
|
4337
|
+
return web.createComponent(solidJs.Show, {
|
|
4338
|
+
get when() {
|
|
3885
4339
|
return props.renderNotification;
|
|
3886
4340
|
},
|
|
3887
|
-
get
|
|
3888
|
-
return
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
4341
|
+
get fallback() {
|
|
4342
|
+
return web.createComponent(InboxContent, {
|
|
4343
|
+
get renderSubject() {
|
|
4344
|
+
return props.renderSubject;
|
|
4345
|
+
},
|
|
4346
|
+
get renderBody() {
|
|
4347
|
+
return props.renderBody;
|
|
4348
|
+
},
|
|
4349
|
+
get onNotificationClick() {
|
|
4350
|
+
return props.onNotificationClick;
|
|
4351
|
+
},
|
|
4352
|
+
get onPrimaryActionClick() {
|
|
4353
|
+
return props.onPrimaryActionClick;
|
|
4354
|
+
},
|
|
4355
|
+
get onSecondaryActionClick() {
|
|
4356
|
+
return props.onSecondaryActionClick;
|
|
4357
|
+
}
|
|
4358
|
+
});
|
|
3892
4359
|
},
|
|
3893
|
-
get
|
|
3894
|
-
return
|
|
4360
|
+
get children() {
|
|
4361
|
+
return web.createComponent(InboxContent, {
|
|
4362
|
+
get renderNotification() {
|
|
4363
|
+
return props.renderNotification;
|
|
4364
|
+
},
|
|
4365
|
+
get onNotificationClick() {
|
|
4366
|
+
return props.onNotificationClick;
|
|
4367
|
+
},
|
|
4368
|
+
get onPrimaryActionClick() {
|
|
4369
|
+
return props.onPrimaryActionClick;
|
|
4370
|
+
},
|
|
4371
|
+
get onSecondaryActionClick() {
|
|
4372
|
+
return props.onSecondaryActionClick;
|
|
4373
|
+
}
|
|
4374
|
+
});
|
|
3895
4375
|
}
|
|
3896
4376
|
});
|
|
3897
4377
|
}
|
|
@@ -3902,21 +4382,55 @@ var Inbox2 = (props) => {
|
|
|
3902
4382
|
|
|
3903
4383
|
// src/ui/components/Renderer.tsx
|
|
3904
4384
|
var novuComponents = {
|
|
3905
|
-
Inbox
|
|
4385
|
+
Inbox,
|
|
3906
4386
|
InboxContent,
|
|
3907
|
-
Bell,
|
|
3908
|
-
Notifications: (props) =>
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
4387
|
+
Bell: Bell2,
|
|
4388
|
+
Notifications: (props) => {
|
|
4389
|
+
if (props.renderNotification) {
|
|
4390
|
+
const _a = props, propsWithoutBodyAndSubject = chunk7B52C2XE_js.__objRest(_a, [
|
|
4391
|
+
"renderBody",
|
|
4392
|
+
"renderSubject"
|
|
4393
|
+
]);
|
|
4394
|
+
return web.createComponent(InboxContent, web.mergeProps(propsWithoutBodyAndSubject, {
|
|
4395
|
+
hideNav: true,
|
|
4396
|
+
get initialPage() {
|
|
4397
|
+
return InboxPage.Notifications;
|
|
4398
|
+
}
|
|
4399
|
+
}));
|
|
3912
4400
|
}
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
4401
|
+
const _b = props, propsWithoutRenderNotification = chunk7B52C2XE_js.__objRest(_b, [
|
|
4402
|
+
"renderNotification"
|
|
4403
|
+
]);
|
|
4404
|
+
return web.createComponent(InboxContent, web.mergeProps(propsWithoutRenderNotification, {
|
|
4405
|
+
hideNav: true,
|
|
4406
|
+
get initialPage() {
|
|
4407
|
+
return InboxPage.Notifications;
|
|
4408
|
+
}
|
|
4409
|
+
}));
|
|
4410
|
+
},
|
|
4411
|
+
Preferences: (props) => {
|
|
4412
|
+
if (props.renderNotification) {
|
|
4413
|
+
const _a = props, propsWithoutBodyAndSubject = chunk7B52C2XE_js.__objRest(_a, [
|
|
4414
|
+
"renderBody",
|
|
4415
|
+
"renderSubject"
|
|
4416
|
+
]);
|
|
4417
|
+
return web.createComponent(InboxContent, web.mergeProps(propsWithoutBodyAndSubject, {
|
|
4418
|
+
hideNav: true,
|
|
4419
|
+
get initialPage() {
|
|
4420
|
+
return InboxPage.Preferences;
|
|
4421
|
+
}
|
|
4422
|
+
}));
|
|
3918
4423
|
}
|
|
3919
|
-
|
|
4424
|
+
const _b = props, propsWithoutRenderNotification = chunk7B52C2XE_js.__objRest(_b, [
|
|
4425
|
+
"renderNotification"
|
|
4426
|
+
]);
|
|
4427
|
+
return web.createComponent(InboxContent, web.mergeProps(propsWithoutRenderNotification, {
|
|
4428
|
+
hideNav: true,
|
|
4429
|
+
get initialPage() {
|
|
4430
|
+
return InboxPage.Preferences;
|
|
4431
|
+
}
|
|
4432
|
+
}));
|
|
4433
|
+
}
|
|
3920
4434
|
};
|
|
3921
4435
|
var Renderer = (props) => {
|
|
3922
4436
|
const nodes = () => [...props.nodes.keys()];
|
|
@@ -3981,11 +4495,13 @@ var Renderer = (props) => {
|
|
|
3981
4495
|
let portalDivElement;
|
|
3982
4496
|
const Component = novuComponents[novuComponent().name];
|
|
3983
4497
|
solidJs.onMount(() => {
|
|
3984
|
-
if (!["Notifications", "Preferences"].includes(novuComponent().name)) return;
|
|
4498
|
+
if (!["Notifications", "Preferences", "InboxContent"].includes(novuComponent().name)) return;
|
|
3985
4499
|
if (node instanceof HTMLElement) {
|
|
3986
|
-
node.
|
|
4500
|
+
node.style.height = "100%";
|
|
4501
|
+
}
|
|
4502
|
+
if (portalDivElement) {
|
|
4503
|
+
portalDivElement.style.height = "100%";
|
|
3987
4504
|
}
|
|
3988
|
-
portalDivElement.classList.add("nt-h-full");
|
|
3989
4505
|
});
|
|
3990
4506
|
return web.createComponent(web.Portal, {
|
|
3991
4507
|
mount: node,
|