mal-ui 0.1.3
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/README.md +244 -0
- package/dist/carousel/extensions.d.ts +1 -0
- package/dist/carousel/index.d.ts +2 -0
- package/dist/carousel/index.js +424 -0
- package/dist/carousel/index.js.map +15 -0
- package/dist/charts/extensions.d.ts +1 -0
- package/dist/charts/index.d.ts +2 -0
- package/dist/charts/index.js +3499 -0
- package/dist/charts/index.js.map +53 -0
- package/dist/chunks/index-3ffbn0gc.js +29976 -0
- package/dist/chunks/index-3ffbn0gc.js.map +637 -0
- package/dist/chunks/index-6b5mapr4.js +2 -0
- package/dist/chunks/index-6b5mapr4.js.map +9 -0
- package/dist/chunks/index-6tm93gww.js +38 -0
- package/dist/chunks/index-6tm93gww.js.map +10 -0
- package/dist/chunks/index-cg10ezdx.js +2 -0
- package/dist/chunks/index-cg10ezdx.js.map +9 -0
- package/dist/chunks/index-mc01z7m9.js +48 -0
- package/dist/chunks/index-mc01z7m9.js.map +9 -0
- package/dist/chunks/index-rz8zh7g4.js +5015 -0
- package/dist/chunks/index-rz8zh7g4.js.map +113 -0
- package/dist/chunks/index-syjq3515.js +4893 -0
- package/dist/chunks/index-syjq3515.js.map +101 -0
- package/dist/chunks/index-w9ekv5h5.js +733 -0
- package/dist/chunks/index-w9ekv5h5.js.map +17 -0
- package/dist/code-highlight/extensions.d.ts +1 -0
- package/dist/code-highlight/index.d.ts +2 -0
- package/dist/code-highlight/index.js +1685 -0
- package/dist/code-highlight/index.js.map +25 -0
- package/dist/core/extensions.d.ts +2 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +844 -0
- package/dist/core/index.js.map +9 -0
- package/dist/dates/extensions.d.ts +1 -0
- package/dist/dates/index.d.ts +2 -0
- package/dist/dates/index.js +107 -0
- package/dist/dates/index.js.map +9 -0
- package/dist/dropzone/extensions.d.ts +1 -0
- package/dist/dropzone/index.d.ts +2 -0
- package/dist/dropzone/index.js +2681 -0
- package/dist/dropzone/index.js.map +21 -0
- package/dist/form/extensions.d.ts +1 -0
- package/dist/form/index.d.ts +2 -0
- package/dist/form/index.js +1605 -0
- package/dist/form/index.js.map +51 -0
- package/dist/hooks/extensions.d.ts +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +214 -0
- package/dist/hooks/index.js.map +9 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1052 -0
- package/dist/index.js.map +9 -0
- package/dist/modals/extensions.d.ts +1 -0
- package/dist/modals/index.d.ts +2 -0
- package/dist/modals/index.js +387 -0
- package/dist/modals/index.js.map +15 -0
- package/dist/notifications/extensions.d.ts +1 -0
- package/dist/notifications/index.d.ts +2 -0
- package/dist/notifications/index.js +1122 -0
- package/dist/notifications/index.js.map +28 -0
- package/dist/nprogress/extensions.d.ts +1 -0
- package/dist/nprogress/index.d.ts +2 -0
- package/dist/nprogress/index.js +207 -0
- package/dist/nprogress/index.js.map +12 -0
- package/dist/schedule/extensions.d.ts +1 -0
- package/dist/schedule/index.d.ts +2 -0
- package/dist/schedule/index.js +8569 -0
- package/dist/schedule/index.js.map +135 -0
- package/dist/spotlight/extensions.d.ts +1 -0
- package/dist/spotlight/index.d.ts +2 -0
- package/dist/spotlight/index.js +666 -0
- package/dist/spotlight/index.js.map +24 -0
- package/dist/styles.css +1 -0
- package/dist/theme/index.d.ts +13 -0
- package/dist/theme/index.js +202 -0
- package/dist/theme/index.js.map +11 -0
- package/dist/theme/tokens.d.ts +65 -0
- package/dist/tiptap/extensions.d.ts +1 -0
- package/dist/tiptap/index.d.ts +2 -0
- package/dist/tiptap/index.js +1549 -0
- package/dist/tiptap/index.js.map +25 -0
- package/package.json +163 -0
|
@@ -0,0 +1,1122 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
require_prop_types
|
|
4
|
+
} from "../chunks/index-w9ekv5h5.js";
|
|
5
|
+
import {
|
|
6
|
+
createStore,
|
|
7
|
+
useStore
|
|
8
|
+
} from "../chunks/index-6tm93gww.js";
|
|
9
|
+
import {
|
|
10
|
+
Box,
|
|
11
|
+
Combination_default,
|
|
12
|
+
Notification,
|
|
13
|
+
OptionalPortal,
|
|
14
|
+
createVarsResolver,
|
|
15
|
+
factory,
|
|
16
|
+
getDefaultZIndex,
|
|
17
|
+
getStyleObject,
|
|
18
|
+
rem,
|
|
19
|
+
useMantineTheme,
|
|
20
|
+
useProps,
|
|
21
|
+
useStyles
|
|
22
|
+
} from "../chunks/index-3ffbn0gc.js";
|
|
23
|
+
import {
|
|
24
|
+
randomId,
|
|
25
|
+
useDidUpdate,
|
|
26
|
+
useDrag,
|
|
27
|
+
useForceUpdate,
|
|
28
|
+
useMergedRef,
|
|
29
|
+
useReducedMotion
|
|
30
|
+
} from "../chunks/index-syjq3515.js";
|
|
31
|
+
import {
|
|
32
|
+
__toESM
|
|
33
|
+
} from "../chunks/index-mc01z7m9.js";
|
|
34
|
+
|
|
35
|
+
// node_modules/@mantine/notifications/esm/notifications.store.mjs
|
|
36
|
+
|
|
37
|
+
function getDistributedNotifications(data, defaultPosition, limit) {
|
|
38
|
+
const queue = [];
|
|
39
|
+
const notifications = [];
|
|
40
|
+
const count = {};
|
|
41
|
+
for (const item of data) {
|
|
42
|
+
const position = item.position || defaultPosition;
|
|
43
|
+
count[position] = count[position] || 0;
|
|
44
|
+
count[position] += 1;
|
|
45
|
+
if (count[position] <= limit)
|
|
46
|
+
notifications.push(item);
|
|
47
|
+
else
|
|
48
|
+
queue.push(item);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
notifications,
|
|
52
|
+
queue
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
var createNotificationsStore = () => createStore({
|
|
56
|
+
notifications: [],
|
|
57
|
+
queue: [],
|
|
58
|
+
defaultPosition: "bottom-right",
|
|
59
|
+
limit: 5
|
|
60
|
+
});
|
|
61
|
+
var notificationsStore = createNotificationsStore();
|
|
62
|
+
var useNotifications = (store = notificationsStore) => useStore(store);
|
|
63
|
+
function updateNotificationsState(store, update) {
|
|
64
|
+
const state = store.getState();
|
|
65
|
+
const updated = getDistributedNotifications(update([...state.notifications, ...state.queue]), state.defaultPosition, state.limit);
|
|
66
|
+
store.setState({
|
|
67
|
+
notifications: updated.notifications,
|
|
68
|
+
queue: updated.queue,
|
|
69
|
+
limit: state.limit,
|
|
70
|
+
defaultPosition: state.defaultPosition
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function showNotification(notification, store = notificationsStore) {
|
|
74
|
+
const id = notification.id || randomId();
|
|
75
|
+
updateNotificationsState(store, (notifications) => {
|
|
76
|
+
if (notification.id && notifications.some((n) => n.id === notification.id))
|
|
77
|
+
return notifications;
|
|
78
|
+
return [...notifications, {
|
|
79
|
+
...notification,
|
|
80
|
+
id
|
|
81
|
+
}];
|
|
82
|
+
});
|
|
83
|
+
return id;
|
|
84
|
+
}
|
|
85
|
+
function hideNotification(id, store = notificationsStore) {
|
|
86
|
+
updateNotificationsState(store, (notifications) => notifications.filter((notification) => {
|
|
87
|
+
if (notification.id === id) {
|
|
88
|
+
notification.onClose?.(notification);
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
}));
|
|
93
|
+
return id;
|
|
94
|
+
}
|
|
95
|
+
function updateNotification(notification, store = notificationsStore) {
|
|
96
|
+
updateNotificationsState(store, (notifications) => notifications.map((item) => {
|
|
97
|
+
if (item.id === notification.id)
|
|
98
|
+
return {
|
|
99
|
+
...item,
|
|
100
|
+
...notification
|
|
101
|
+
};
|
|
102
|
+
return item;
|
|
103
|
+
}));
|
|
104
|
+
return notification.id;
|
|
105
|
+
}
|
|
106
|
+
function cleanNotifications(store = notificationsStore) {
|
|
107
|
+
updateNotificationsState(store, () => []);
|
|
108
|
+
}
|
|
109
|
+
function cleanNotificationsQueue(store = notificationsStore) {
|
|
110
|
+
updateNotificationsState(store, (notifications) => notifications.slice(0, store.getState().limit));
|
|
111
|
+
}
|
|
112
|
+
var notifications = {
|
|
113
|
+
show: showNotification,
|
|
114
|
+
hide: hideNotification,
|
|
115
|
+
update: updateNotification,
|
|
116
|
+
clean: cleanNotifications,
|
|
117
|
+
cleanQueue: cleanNotificationsQueue,
|
|
118
|
+
updateState: updateNotificationsState
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// node_modules/@mantine/notifications/esm/get-grouped-notifications/get-grouped-notifications.mjs
|
|
122
|
+
|
|
123
|
+
var positions = [
|
|
124
|
+
"bottom-center",
|
|
125
|
+
"bottom-left",
|
|
126
|
+
"bottom-right",
|
|
127
|
+
"top-center",
|
|
128
|
+
"top-left",
|
|
129
|
+
"top-right"
|
|
130
|
+
];
|
|
131
|
+
function getGroupedNotifications(notifications2, defaultPosition) {
|
|
132
|
+
return notifications2.reduce((acc, notification) => {
|
|
133
|
+
acc[notification.position || defaultPosition].push(notification);
|
|
134
|
+
return acc;
|
|
135
|
+
}, positions.reduce((acc, item) => {
|
|
136
|
+
acc[item] = [];
|
|
137
|
+
return acc;
|
|
138
|
+
}, {}));
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// node_modules/@mantine/notifications/esm/get-notification-state-styles.mjs
|
|
142
|
+
|
|
143
|
+
var transforms = {
|
|
144
|
+
left: "translateX(-100%)",
|
|
145
|
+
right: "translateX(100%)",
|
|
146
|
+
"top-center": "translateY(-100%)",
|
|
147
|
+
"bottom-center": "translateY(100%)"
|
|
148
|
+
};
|
|
149
|
+
var noTransform = {
|
|
150
|
+
left: "translateX(0)",
|
|
151
|
+
right: "translateX(0)",
|
|
152
|
+
"top-center": "translateY(0)",
|
|
153
|
+
"bottom-center": "translateY(0)"
|
|
154
|
+
};
|
|
155
|
+
function getNotificationStateStyles({ state, maxHeight, position, transitionDuration }) {
|
|
156
|
+
const [vertical, horizontal] = position.split("-");
|
|
157
|
+
const property = horizontal === "center" ? `${vertical}-center` : horizontal;
|
|
158
|
+
const commonStyles = {
|
|
159
|
+
opacity: 0,
|
|
160
|
+
maxHeight,
|
|
161
|
+
transform: transforms[property],
|
|
162
|
+
transitionDuration: `${transitionDuration}ms, ${transitionDuration}ms, ${transitionDuration}ms`,
|
|
163
|
+
transitionTimingFunction: "cubic-bezier(.51,.3,0,1.21), cubic-bezier(.51,.3,0,1.21), linear",
|
|
164
|
+
transitionProperty: "opacity, transform, max-height"
|
|
165
|
+
};
|
|
166
|
+
const inState = {
|
|
167
|
+
opacity: 1,
|
|
168
|
+
transform: noTransform[property]
|
|
169
|
+
};
|
|
170
|
+
const outState = {
|
|
171
|
+
opacity: 0,
|
|
172
|
+
maxHeight: 0,
|
|
173
|
+
transform: transforms[property]
|
|
174
|
+
};
|
|
175
|
+
const transitionStyles = {
|
|
176
|
+
entering: inState,
|
|
177
|
+
entered: inState,
|
|
178
|
+
exiting: outState,
|
|
179
|
+
exited: outState
|
|
180
|
+
};
|
|
181
|
+
return {
|
|
182
|
+
...commonStyles,
|
|
183
|
+
...transitionStyles[state]
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// node_modules/@mantine/notifications/esm/get-auto-close/get-auto-close.mjs
|
|
188
|
+
|
|
189
|
+
function getAutoClose(autoClose, notificationAutoClose) {
|
|
190
|
+
if (typeof notificationAutoClose === "number")
|
|
191
|
+
return notificationAutoClose;
|
|
192
|
+
if (notificationAutoClose === false || autoClose === false)
|
|
193
|
+
return false;
|
|
194
|
+
return autoClose;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// node_modules/@mantine/notifications/esm/NotificationContainer.mjs
|
|
198
|
+
import { useEffect, useEffectEvent, useRef, useState } from "react";
|
|
199
|
+
import { jsx } from "react/jsx-runtime";
|
|
200
|
+
|
|
201
|
+
var SCROLL_DISMISS_RESET_TIMEOUT = 120;
|
|
202
|
+
function NotificationContainer({ data, onHide, autoClose, transitionDuration, allowDragDismiss, allowScrollDismiss, paused, onHoverStart, onHoverEnd, ref, style, ...others }) {
|
|
203
|
+
const [offset, setOffset] = useState(0);
|
|
204
|
+
const [dismissed, setDismissed] = useState(false);
|
|
205
|
+
const [dismissDirection, setDismissDirection] = useState(1);
|
|
206
|
+
const [scrollDismissActive, setScrollDismissActive] = useState(false);
|
|
207
|
+
const theme = useMantineTheme();
|
|
208
|
+
const { autoClose: _autoClose, message, allowClose, position: _position, style: dataStyle, withCloseButton, onOpen: _onOpen, ...notificationProps } = data;
|
|
209
|
+
const autoCloseDuration = getAutoClose(autoClose, data.autoClose);
|
|
210
|
+
const autoCloseTimeout = useRef(-1);
|
|
211
|
+
const hideTimeout = useRef(-1);
|
|
212
|
+
const scrollDismissTimeout = useRef(-1);
|
|
213
|
+
const notificationRef = useRef(null);
|
|
214
|
+
const hoveredRef = useRef(false);
|
|
215
|
+
const offsetRef = useRef(0);
|
|
216
|
+
const isCloseDisabled = allowClose === false;
|
|
217
|
+
const cancelAutoClose = () => window.clearTimeout(autoCloseTimeout.current);
|
|
218
|
+
const cancelHide = () => window.clearTimeout(hideTimeout.current);
|
|
219
|
+
const cancelScrollDismissReset = () => window.clearTimeout(scrollDismissTimeout.current);
|
|
220
|
+
const setSwipeOffset = (value) => {
|
|
221
|
+
offsetRef.current = value;
|
|
222
|
+
setOffset(value);
|
|
223
|
+
};
|
|
224
|
+
const handleHide = () => {
|
|
225
|
+
onHide(data.id);
|
|
226
|
+
cancelAutoClose();
|
|
227
|
+
cancelHide();
|
|
228
|
+
cancelScrollDismissReset();
|
|
229
|
+
};
|
|
230
|
+
const handleAutoClose = () => {
|
|
231
|
+
if (dismissed || active || paused || hoveredRef.current || typeof autoCloseDuration !== "number")
|
|
232
|
+
return;
|
|
233
|
+
autoCloseTimeout.current = window.setTimeout(handleHide, autoCloseDuration);
|
|
234
|
+
};
|
|
235
|
+
const getExitOffset = (direction) => {
|
|
236
|
+
return direction * ((notificationRef.current?.offsetWidth ?? 440) + 40);
|
|
237
|
+
};
|
|
238
|
+
const shouldDismiss = (movement, velocity) => {
|
|
239
|
+
const width = notificationRef.current?.offsetWidth ?? 440;
|
|
240
|
+
return Math.abs(movement) > width * 0.35 || velocity > 0.5;
|
|
241
|
+
};
|
|
242
|
+
const resetSwipe = () => {
|
|
243
|
+
cancelScrollDismissReset();
|
|
244
|
+
setScrollDismissActive(false);
|
|
245
|
+
setSwipeOffset(0);
|
|
246
|
+
};
|
|
247
|
+
const dismissNotification = (direction) => {
|
|
248
|
+
setDismissDirection(direction);
|
|
249
|
+
setDismissed(true);
|
|
250
|
+
setScrollDismissActive(false);
|
|
251
|
+
setSwipeOffset(getExitOffset(direction));
|
|
252
|
+
cancelAutoClose();
|
|
253
|
+
cancelHide();
|
|
254
|
+
cancelScrollDismissReset();
|
|
255
|
+
hideTimeout.current = window.setTimeout(handleHide, transitionDuration);
|
|
256
|
+
};
|
|
257
|
+
const scheduleScrollDismissReset = () => {
|
|
258
|
+
cancelScrollDismissReset();
|
|
259
|
+
scrollDismissTimeout.current = window.setTimeout(() => {
|
|
260
|
+
setScrollDismissActive(false);
|
|
261
|
+
setSwipeOffset(0);
|
|
262
|
+
handleAutoClose();
|
|
263
|
+
}, SCROLL_DISMISS_RESET_TIMEOUT);
|
|
264
|
+
};
|
|
265
|
+
const { ref: dragRef, active } = useDrag((state) => {
|
|
266
|
+
if (dismissed)
|
|
267
|
+
return;
|
|
268
|
+
if (state.first)
|
|
269
|
+
cancelAutoClose();
|
|
270
|
+
if (state.last) {
|
|
271
|
+
if (state.tap || state.canceled) {
|
|
272
|
+
setSwipeOffset(0);
|
|
273
|
+
handleAutoClose();
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
const movement = state.movement[0];
|
|
277
|
+
const direction = movement === 0 ? state.direction[0] === -1 ? -1 : 1 : movement > 0 ? 1 : -1;
|
|
278
|
+
if (shouldDismiss(movement, state.velocity[0]))
|
|
279
|
+
dismissNotification(direction);
|
|
280
|
+
else {
|
|
281
|
+
setSwipeOffset(0);
|
|
282
|
+
handleAutoClose();
|
|
283
|
+
}
|
|
284
|
+
} else
|
|
285
|
+
setSwipeOffset(state.movement[0]);
|
|
286
|
+
}, {
|
|
287
|
+
axis: "x",
|
|
288
|
+
threshold: 5,
|
|
289
|
+
filterTaps: true,
|
|
290
|
+
enabled: allowDragDismiss && !isCloseDisabled && !dismissed
|
|
291
|
+
});
|
|
292
|
+
const mergedRef = useMergedRef(ref, notificationRef, dragRef);
|
|
293
|
+
const resolvedStyle = getStyleObject(style, theme);
|
|
294
|
+
const resolvedDataStyle = getStyleObject(dataStyle, theme);
|
|
295
|
+
const baseStyle = {
|
|
296
|
+
...resolvedStyle,
|
|
297
|
+
...resolvedDataStyle
|
|
298
|
+
};
|
|
299
|
+
const baseOpacity = typeof baseStyle.opacity === "number" ? baseStyle.opacity : 1;
|
|
300
|
+
const swipeOpacity = dismissed ? 0 : 1 - Math.min(Math.abs(offset) / 200, 1) * 0.6;
|
|
301
|
+
const resolvedTransitionDuration = baseStyle.transitionDuration ?? `${transitionDuration}ms, ${transitionDuration}ms, ${transitionDuration}ms`;
|
|
302
|
+
const notificationStyle = {
|
|
303
|
+
...baseStyle,
|
|
304
|
+
["--notifications-state-transform"]: typeof baseStyle.transform === "string" ? baseStyle.transform : "translateX(0)",
|
|
305
|
+
["--notifications-state-opacity"]: String(baseOpacity),
|
|
306
|
+
["--notifications-swipe-offset"]: `${offset}px`,
|
|
307
|
+
["--notifications-swipe-opacity"]: String(swipeOpacity),
|
|
308
|
+
transform: "var(--notifications-state-transform) translate3d(var(--notifications-swipe-offset), 0, 0)",
|
|
309
|
+
opacity: "calc(var(--notifications-state-opacity) * var(--notifications-swipe-opacity))",
|
|
310
|
+
transitionDuration: active || scrollDismissActive ? "0ms, 0ms, 0ms" : resolvedTransitionDuration,
|
|
311
|
+
cursor: "default",
|
|
312
|
+
touchAction: "pan-y"
|
|
313
|
+
};
|
|
314
|
+
const handleMouseEnter = () => {
|
|
315
|
+
hoveredRef.current = true;
|
|
316
|
+
cancelAutoClose();
|
|
317
|
+
onHoverStart?.();
|
|
318
|
+
};
|
|
319
|
+
const handleMouseLeave = () => {
|
|
320
|
+
hoveredRef.current = false;
|
|
321
|
+
if (!scrollDismissActive) {
|
|
322
|
+
resetSwipe();
|
|
323
|
+
handleAutoClose();
|
|
324
|
+
}
|
|
325
|
+
onHoverEnd?.();
|
|
326
|
+
};
|
|
327
|
+
const handleWheel = useEffectEvent((event) => {
|
|
328
|
+
if (dismissed || active)
|
|
329
|
+
return;
|
|
330
|
+
const isDocumentEvent = event.currentTarget === document;
|
|
331
|
+
if (!isDocumentEvent && !hoveredRef.current)
|
|
332
|
+
return;
|
|
333
|
+
const { deltaX, deltaY } = event;
|
|
334
|
+
if (Math.abs(deltaX) <= Math.abs(deltaY) || deltaX === 0)
|
|
335
|
+
return;
|
|
336
|
+
if (!allowScrollDismiss || isCloseDisabled)
|
|
337
|
+
return;
|
|
338
|
+
if (!isDocumentEvent) {
|
|
339
|
+
event.preventDefault();
|
|
340
|
+
event.stopPropagation();
|
|
341
|
+
}
|
|
342
|
+
cancelAutoClose();
|
|
343
|
+
setScrollDismissActive(true);
|
|
344
|
+
const nextOffset = offsetRef.current - deltaX;
|
|
345
|
+
const direction = nextOffset > 0 ? 1 : -1;
|
|
346
|
+
if (shouldDismiss(nextOffset, 0)) {
|
|
347
|
+
dismissNotification(direction);
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
setSwipeOffset(nextOffset);
|
|
351
|
+
scheduleScrollDismissReset();
|
|
352
|
+
});
|
|
353
|
+
useEffect(() => {
|
|
354
|
+
if (!scrollDismissActive)
|
|
355
|
+
return;
|
|
356
|
+
document.addEventListener("wheel", handleWheel, { passive: false });
|
|
357
|
+
return () => document.removeEventListener("wheel", handleWheel, { passive: false });
|
|
358
|
+
}, [scrollDismissActive]);
|
|
359
|
+
useEffect(() => {
|
|
360
|
+
const handleResize = () => {
|
|
361
|
+
if (dismissed)
|
|
362
|
+
setSwipeOffset(getExitOffset(dismissDirection));
|
|
363
|
+
};
|
|
364
|
+
window.addEventListener("resize", handleResize);
|
|
365
|
+
return () => window.removeEventListener("resize", handleResize);
|
|
366
|
+
}, [dismissDirection, dismissed]);
|
|
367
|
+
useEffect(() => {
|
|
368
|
+
const node = notificationRef.current;
|
|
369
|
+
if (!node)
|
|
370
|
+
return;
|
|
371
|
+
node.addEventListener("wheel", handleWheel, { passive: false });
|
|
372
|
+
return () => node.removeEventListener("wheel", handleWheel, { passive: false });
|
|
373
|
+
}, []);
|
|
374
|
+
useEffect(() => {
|
|
375
|
+
return () => {
|
|
376
|
+
cancelHide();
|
|
377
|
+
cancelScrollDismissReset();
|
|
378
|
+
};
|
|
379
|
+
}, []);
|
|
380
|
+
useEffect(() => {
|
|
381
|
+
data.onOpen?.(data);
|
|
382
|
+
}, []);
|
|
383
|
+
useEffect(() => {
|
|
384
|
+
handleAutoClose();
|
|
385
|
+
return cancelAutoClose;
|
|
386
|
+
}, [
|
|
387
|
+
autoCloseDuration,
|
|
388
|
+
active,
|
|
389
|
+
dismissed
|
|
390
|
+
]);
|
|
391
|
+
useEffect(() => {
|
|
392
|
+
if (paused)
|
|
393
|
+
cancelAutoClose();
|
|
394
|
+
else
|
|
395
|
+
handleAutoClose();
|
|
396
|
+
return cancelAutoClose;
|
|
397
|
+
}, [paused]);
|
|
398
|
+
return /* @__PURE__ */ jsx(Notification, {
|
|
399
|
+
ref: mergedRef,
|
|
400
|
+
...others,
|
|
401
|
+
style: notificationStyle,
|
|
402
|
+
...notificationProps,
|
|
403
|
+
withCloseButton: isCloseDisabled ? false : withCloseButton,
|
|
404
|
+
onClose: handleHide,
|
|
405
|
+
onMouseEnter: handleMouseEnter,
|
|
406
|
+
onMouseLeave: handleMouseLeave,
|
|
407
|
+
children: message
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
NotificationContainer.displayName = "@mantine/notifications/NotificationContainer";
|
|
411
|
+
|
|
412
|
+
// node_modules/@mantine/notifications/esm/Notifications.module.mjs
|
|
413
|
+
|
|
414
|
+
var Notifications_module_default = {
|
|
415
|
+
root: "m_b37d9ac7",
|
|
416
|
+
notification: "m_5ed0edd0"
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
// node_modules/@mantine/notifications/esm/Notifications.mjs
|
|
420
|
+
import { useCallback, useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "react";
|
|
421
|
+
// node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
|
|
422
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
423
|
+
if (r == null)
|
|
424
|
+
return {};
|
|
425
|
+
var t = {};
|
|
426
|
+
for (var n in r)
|
|
427
|
+
if ({}.hasOwnProperty.call(r, n)) {
|
|
428
|
+
if (e.indexOf(n) !== -1)
|
|
429
|
+
continue;
|
|
430
|
+
t[n] = r[n];
|
|
431
|
+
}
|
|
432
|
+
return t;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
// node_modules/@babel/runtime/helpers/esm/extends.js
|
|
436
|
+
function _extends() {
|
|
437
|
+
return _extends = Object.assign ? Object.assign.bind() : function(n) {
|
|
438
|
+
for (var e = 1;e < arguments.length; e++) {
|
|
439
|
+
var t = arguments[e];
|
|
440
|
+
for (var r in t)
|
|
441
|
+
({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
442
|
+
}
|
|
443
|
+
return n;
|
|
444
|
+
}, _extends.apply(null, arguments);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
// node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
|
|
448
|
+
function _assertThisInitialized(e) {
|
|
449
|
+
if (e === undefined)
|
|
450
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
451
|
+
return e;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
// node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
|
|
455
|
+
function _setPrototypeOf(t, e) {
|
|
456
|
+
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t2, e2) {
|
|
457
|
+
return t2.__proto__ = e2, t2;
|
|
458
|
+
}, _setPrototypeOf(t, e);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
|
|
462
|
+
function _inheritsLoose(t, o) {
|
|
463
|
+
t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// node_modules/react-transition-group/esm/TransitionGroup.js
|
|
467
|
+
var import_prop_types = __toESM(require_prop_types(), 1);
|
|
468
|
+
import React2 from "react";
|
|
469
|
+
|
|
470
|
+
// node_modules/react-transition-group/esm/TransitionGroupContext.js
|
|
471
|
+
import React from "react";
|
|
472
|
+
var TransitionGroupContext_default = React.createContext(null);
|
|
473
|
+
|
|
474
|
+
// node_modules/react-transition-group/esm/utils/ChildMapping.js
|
|
475
|
+
import { Children, cloneElement, isValidElement } from "react";
|
|
476
|
+
function getChildMapping(children, mapFn) {
|
|
477
|
+
var mapper = function mapper2(child) {
|
|
478
|
+
return mapFn && isValidElement(child) ? mapFn(child) : child;
|
|
479
|
+
};
|
|
480
|
+
var result = Object.create(null);
|
|
481
|
+
if (children)
|
|
482
|
+
Children.map(children, function(c) {
|
|
483
|
+
return c;
|
|
484
|
+
}).forEach(function(child) {
|
|
485
|
+
result[child.key] = mapper(child);
|
|
486
|
+
});
|
|
487
|
+
return result;
|
|
488
|
+
}
|
|
489
|
+
function mergeChildMappings(prev, next) {
|
|
490
|
+
prev = prev || {};
|
|
491
|
+
next = next || {};
|
|
492
|
+
function getValueForKey(key) {
|
|
493
|
+
return key in next ? next[key] : prev[key];
|
|
494
|
+
}
|
|
495
|
+
var nextKeysPending = Object.create(null);
|
|
496
|
+
var pendingKeys = [];
|
|
497
|
+
for (var prevKey in prev) {
|
|
498
|
+
if (prevKey in next) {
|
|
499
|
+
if (pendingKeys.length) {
|
|
500
|
+
nextKeysPending[prevKey] = pendingKeys;
|
|
501
|
+
pendingKeys = [];
|
|
502
|
+
}
|
|
503
|
+
} else {
|
|
504
|
+
pendingKeys.push(prevKey);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
var i;
|
|
508
|
+
var childMapping = {};
|
|
509
|
+
for (var nextKey in next) {
|
|
510
|
+
if (nextKeysPending[nextKey]) {
|
|
511
|
+
for (i = 0;i < nextKeysPending[nextKey].length; i++) {
|
|
512
|
+
var pendingNextKey = nextKeysPending[nextKey][i];
|
|
513
|
+
childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
childMapping[nextKey] = getValueForKey(nextKey);
|
|
517
|
+
}
|
|
518
|
+
for (i = 0;i < pendingKeys.length; i++) {
|
|
519
|
+
childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);
|
|
520
|
+
}
|
|
521
|
+
return childMapping;
|
|
522
|
+
}
|
|
523
|
+
function getProp(child, prop, props) {
|
|
524
|
+
return props[prop] != null ? props[prop] : child.props[prop];
|
|
525
|
+
}
|
|
526
|
+
function getInitialChildMapping(props, onExited) {
|
|
527
|
+
return getChildMapping(props.children, function(child) {
|
|
528
|
+
return cloneElement(child, {
|
|
529
|
+
onExited: onExited.bind(null, child),
|
|
530
|
+
in: true,
|
|
531
|
+
appear: getProp(child, "appear", props),
|
|
532
|
+
enter: getProp(child, "enter", props),
|
|
533
|
+
exit: getProp(child, "exit", props)
|
|
534
|
+
});
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
function getNextChildMapping(nextProps, prevChildMapping, onExited) {
|
|
538
|
+
var nextChildMapping = getChildMapping(nextProps.children);
|
|
539
|
+
var children = mergeChildMappings(prevChildMapping, nextChildMapping);
|
|
540
|
+
Object.keys(children).forEach(function(key) {
|
|
541
|
+
var child = children[key];
|
|
542
|
+
if (!isValidElement(child))
|
|
543
|
+
return;
|
|
544
|
+
var hasPrev = key in prevChildMapping;
|
|
545
|
+
var hasNext = key in nextChildMapping;
|
|
546
|
+
var prevChild = prevChildMapping[key];
|
|
547
|
+
var isLeaving = isValidElement(prevChild) && !prevChild.props.in;
|
|
548
|
+
if (hasNext && (!hasPrev || isLeaving)) {
|
|
549
|
+
children[key] = cloneElement(child, {
|
|
550
|
+
onExited: onExited.bind(null, child),
|
|
551
|
+
in: true,
|
|
552
|
+
exit: getProp(child, "exit", nextProps),
|
|
553
|
+
enter: getProp(child, "enter", nextProps)
|
|
554
|
+
});
|
|
555
|
+
} else if (!hasNext && hasPrev && !isLeaving) {
|
|
556
|
+
children[key] = cloneElement(child, {
|
|
557
|
+
in: false
|
|
558
|
+
});
|
|
559
|
+
} else if (hasNext && hasPrev && isValidElement(prevChild)) {
|
|
560
|
+
children[key] = cloneElement(child, {
|
|
561
|
+
onExited: onExited.bind(null, child),
|
|
562
|
+
in: prevChild.props.in,
|
|
563
|
+
exit: getProp(child, "exit", nextProps),
|
|
564
|
+
enter: getProp(child, "enter", nextProps)
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
});
|
|
568
|
+
return children;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
// node_modules/react-transition-group/esm/TransitionGroup.js
|
|
572
|
+
var values = Object.values || function(obj) {
|
|
573
|
+
return Object.keys(obj).map(function(k) {
|
|
574
|
+
return obj[k];
|
|
575
|
+
});
|
|
576
|
+
};
|
|
577
|
+
var defaultProps = {
|
|
578
|
+
component: "div",
|
|
579
|
+
childFactory: function childFactory(child) {
|
|
580
|
+
return child;
|
|
581
|
+
}
|
|
582
|
+
};
|
|
583
|
+
var TransitionGroup = /* @__PURE__ */ function(_React$Component) {
|
|
584
|
+
_inheritsLoose(TransitionGroup2, _React$Component);
|
|
585
|
+
function TransitionGroup2(props, context) {
|
|
586
|
+
var _this;
|
|
587
|
+
_this = _React$Component.call(this, props, context) || this;
|
|
588
|
+
var handleExited = _this.handleExited.bind(_assertThisInitialized(_this));
|
|
589
|
+
_this.state = {
|
|
590
|
+
contextValue: {
|
|
591
|
+
isMounting: true
|
|
592
|
+
},
|
|
593
|
+
handleExited,
|
|
594
|
+
firstRender: true
|
|
595
|
+
};
|
|
596
|
+
return _this;
|
|
597
|
+
}
|
|
598
|
+
var _proto = TransitionGroup2.prototype;
|
|
599
|
+
_proto.componentDidMount = function componentDidMount() {
|
|
600
|
+
this.mounted = true;
|
|
601
|
+
this.setState({
|
|
602
|
+
contextValue: {
|
|
603
|
+
isMounting: false
|
|
604
|
+
}
|
|
605
|
+
});
|
|
606
|
+
};
|
|
607
|
+
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
608
|
+
this.mounted = false;
|
|
609
|
+
};
|
|
610
|
+
TransitionGroup2.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {
|
|
611
|
+
var { children: prevChildMapping, handleExited, firstRender } = _ref;
|
|
612
|
+
return {
|
|
613
|
+
children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),
|
|
614
|
+
firstRender: false
|
|
615
|
+
};
|
|
616
|
+
};
|
|
617
|
+
_proto.handleExited = function handleExited(child, node) {
|
|
618
|
+
var currentChildMapping = getChildMapping(this.props.children);
|
|
619
|
+
if (child.key in currentChildMapping)
|
|
620
|
+
return;
|
|
621
|
+
if (child.props.onExited) {
|
|
622
|
+
child.props.onExited(node);
|
|
623
|
+
}
|
|
624
|
+
if (this.mounted) {
|
|
625
|
+
this.setState(function(state) {
|
|
626
|
+
var children = _extends({}, state.children);
|
|
627
|
+
delete children[child.key];
|
|
628
|
+
return {
|
|
629
|
+
children
|
|
630
|
+
};
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
};
|
|
634
|
+
_proto.render = function render() {
|
|
635
|
+
var _this$props = this.props, Component = _this$props.component, childFactory2 = _this$props.childFactory, props = _objectWithoutPropertiesLoose(_this$props, ["component", "childFactory"]);
|
|
636
|
+
var contextValue = this.state.contextValue;
|
|
637
|
+
var children = values(this.state.children).map(childFactory2);
|
|
638
|
+
delete props.appear;
|
|
639
|
+
delete props.enter;
|
|
640
|
+
delete props.exit;
|
|
641
|
+
if (Component === null) {
|
|
642
|
+
return /* @__PURE__ */ React2.createElement(TransitionGroupContext_default.Provider, {
|
|
643
|
+
value: contextValue
|
|
644
|
+
}, children);
|
|
645
|
+
}
|
|
646
|
+
return /* @__PURE__ */ React2.createElement(TransitionGroupContext_default.Provider, {
|
|
647
|
+
value: contextValue
|
|
648
|
+
}, /* @__PURE__ */ React2.createElement(Component, props, children));
|
|
649
|
+
};
|
|
650
|
+
return TransitionGroup2;
|
|
651
|
+
}(React2.Component);
|
|
652
|
+
TransitionGroup.propTypes = {
|
|
653
|
+
component: import_prop_types.default.any,
|
|
654
|
+
children: import_prop_types.default.node,
|
|
655
|
+
appear: import_prop_types.default.bool,
|
|
656
|
+
enter: import_prop_types.default.bool,
|
|
657
|
+
exit: import_prop_types.default.bool,
|
|
658
|
+
childFactory: import_prop_types.default.func
|
|
659
|
+
};
|
|
660
|
+
TransitionGroup.defaultProps = defaultProps;
|
|
661
|
+
var TransitionGroup_default = TransitionGroup;
|
|
662
|
+
// node_modules/react-transition-group/esm/Transition.js
|
|
663
|
+
var import_prop_types3 = __toESM(require_prop_types(), 1);
|
|
664
|
+
import React3 from "react";
|
|
665
|
+
import ReactDOM from "react-dom";
|
|
666
|
+
|
|
667
|
+
// node_modules/react-transition-group/esm/config.js
|
|
668
|
+
var config_default = {
|
|
669
|
+
disabled: false
|
|
670
|
+
};
|
|
671
|
+
|
|
672
|
+
// node_modules/react-transition-group/esm/utils/PropTypes.js
|
|
673
|
+
var import_prop_types2 = __toESM(require_prop_types(), 1);
|
|
674
|
+
var timeoutsShape = import_prop_types2.default.oneOfType([import_prop_types2.default.number, import_prop_types2.default.shape({
|
|
675
|
+
enter: import_prop_types2.default.number,
|
|
676
|
+
exit: import_prop_types2.default.number,
|
|
677
|
+
appear: import_prop_types2.default.number
|
|
678
|
+
}).isRequired]);
|
|
679
|
+
var classNamesShape = import_prop_types2.default.oneOfType([import_prop_types2.default.string, import_prop_types2.default.shape({
|
|
680
|
+
enter: import_prop_types2.default.string,
|
|
681
|
+
exit: import_prop_types2.default.string,
|
|
682
|
+
active: import_prop_types2.default.string
|
|
683
|
+
}), import_prop_types2.default.shape({
|
|
684
|
+
enter: import_prop_types2.default.string,
|
|
685
|
+
enterDone: import_prop_types2.default.string,
|
|
686
|
+
enterActive: import_prop_types2.default.string,
|
|
687
|
+
exit: import_prop_types2.default.string,
|
|
688
|
+
exitDone: import_prop_types2.default.string,
|
|
689
|
+
exitActive: import_prop_types2.default.string
|
|
690
|
+
})]);
|
|
691
|
+
|
|
692
|
+
// node_modules/react-transition-group/esm/utils/reflow.js
|
|
693
|
+
var forceReflow = function forceReflow2(node) {
|
|
694
|
+
return node.scrollTop;
|
|
695
|
+
};
|
|
696
|
+
|
|
697
|
+
// node_modules/react-transition-group/esm/Transition.js
|
|
698
|
+
var UNMOUNTED = "unmounted";
|
|
699
|
+
var EXITED = "exited";
|
|
700
|
+
var ENTERING = "entering";
|
|
701
|
+
var ENTERED = "entered";
|
|
702
|
+
var EXITING = "exiting";
|
|
703
|
+
var Transition = /* @__PURE__ */ function(_React$Component) {
|
|
704
|
+
_inheritsLoose(Transition2, _React$Component);
|
|
705
|
+
function Transition2(props, context) {
|
|
706
|
+
var _this;
|
|
707
|
+
_this = _React$Component.call(this, props, context) || this;
|
|
708
|
+
var parentGroup = context;
|
|
709
|
+
var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
|
|
710
|
+
var initialStatus;
|
|
711
|
+
_this.appearStatus = null;
|
|
712
|
+
if (props.in) {
|
|
713
|
+
if (appear) {
|
|
714
|
+
initialStatus = EXITED;
|
|
715
|
+
_this.appearStatus = ENTERING;
|
|
716
|
+
} else {
|
|
717
|
+
initialStatus = ENTERED;
|
|
718
|
+
}
|
|
719
|
+
} else {
|
|
720
|
+
if (props.unmountOnExit || props.mountOnEnter) {
|
|
721
|
+
initialStatus = UNMOUNTED;
|
|
722
|
+
} else {
|
|
723
|
+
initialStatus = EXITED;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
_this.state = {
|
|
727
|
+
status: initialStatus
|
|
728
|
+
};
|
|
729
|
+
_this.nextCallback = null;
|
|
730
|
+
return _this;
|
|
731
|
+
}
|
|
732
|
+
Transition2.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
|
|
733
|
+
var nextIn = _ref.in;
|
|
734
|
+
if (nextIn && prevState.status === UNMOUNTED) {
|
|
735
|
+
return {
|
|
736
|
+
status: EXITED
|
|
737
|
+
};
|
|
738
|
+
}
|
|
739
|
+
return null;
|
|
740
|
+
};
|
|
741
|
+
var _proto = Transition2.prototype;
|
|
742
|
+
_proto.componentDidMount = function componentDidMount() {
|
|
743
|
+
this.updateStatus(true, this.appearStatus);
|
|
744
|
+
};
|
|
745
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
746
|
+
var nextStatus = null;
|
|
747
|
+
if (prevProps !== this.props) {
|
|
748
|
+
var status = this.state.status;
|
|
749
|
+
if (this.props.in) {
|
|
750
|
+
if (status !== ENTERING && status !== ENTERED) {
|
|
751
|
+
nextStatus = ENTERING;
|
|
752
|
+
}
|
|
753
|
+
} else {
|
|
754
|
+
if (status === ENTERING || status === ENTERED) {
|
|
755
|
+
nextStatus = EXITING;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
this.updateStatus(false, nextStatus);
|
|
760
|
+
};
|
|
761
|
+
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
762
|
+
this.cancelNextCallback();
|
|
763
|
+
};
|
|
764
|
+
_proto.getTimeouts = function getTimeouts() {
|
|
765
|
+
var timeout = this.props.timeout;
|
|
766
|
+
var exit, enter, appear;
|
|
767
|
+
exit = enter = appear = timeout;
|
|
768
|
+
if (timeout != null && typeof timeout !== "number") {
|
|
769
|
+
exit = timeout.exit;
|
|
770
|
+
enter = timeout.enter;
|
|
771
|
+
appear = timeout.appear !== undefined ? timeout.appear : enter;
|
|
772
|
+
}
|
|
773
|
+
return {
|
|
774
|
+
exit,
|
|
775
|
+
enter,
|
|
776
|
+
appear
|
|
777
|
+
};
|
|
778
|
+
};
|
|
779
|
+
_proto.updateStatus = function updateStatus(mounting, nextStatus) {
|
|
780
|
+
if (mounting === undefined) {
|
|
781
|
+
mounting = false;
|
|
782
|
+
}
|
|
783
|
+
if (nextStatus !== null) {
|
|
784
|
+
this.cancelNextCallback();
|
|
785
|
+
if (nextStatus === ENTERING) {
|
|
786
|
+
if (this.props.unmountOnExit || this.props.mountOnEnter) {
|
|
787
|
+
var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);
|
|
788
|
+
if (node)
|
|
789
|
+
forceReflow(node);
|
|
790
|
+
}
|
|
791
|
+
this.performEnter(mounting);
|
|
792
|
+
} else {
|
|
793
|
+
this.performExit();
|
|
794
|
+
}
|
|
795
|
+
} else if (this.props.unmountOnExit && this.state.status === EXITED) {
|
|
796
|
+
this.setState({
|
|
797
|
+
status: UNMOUNTED
|
|
798
|
+
});
|
|
799
|
+
}
|
|
800
|
+
};
|
|
801
|
+
_proto.performEnter = function performEnter(mounting) {
|
|
802
|
+
var _this2 = this;
|
|
803
|
+
var enter = this.props.enter;
|
|
804
|
+
var appearing = this.context ? this.context.isMounting : mounting;
|
|
805
|
+
var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing], maybeNode = _ref2[0], maybeAppearing = _ref2[1];
|
|
806
|
+
var timeouts = this.getTimeouts();
|
|
807
|
+
var enterTimeout = appearing ? timeouts.appear : timeouts.enter;
|
|
808
|
+
if (!mounting && !enter || config_default.disabled) {
|
|
809
|
+
this.safeSetState({
|
|
810
|
+
status: ENTERED
|
|
811
|
+
}, function() {
|
|
812
|
+
_this2.props.onEntered(maybeNode);
|
|
813
|
+
});
|
|
814
|
+
return;
|
|
815
|
+
}
|
|
816
|
+
this.props.onEnter(maybeNode, maybeAppearing);
|
|
817
|
+
this.safeSetState({
|
|
818
|
+
status: ENTERING
|
|
819
|
+
}, function() {
|
|
820
|
+
_this2.props.onEntering(maybeNode, maybeAppearing);
|
|
821
|
+
_this2.onTransitionEnd(enterTimeout, function() {
|
|
822
|
+
_this2.safeSetState({
|
|
823
|
+
status: ENTERED
|
|
824
|
+
}, function() {
|
|
825
|
+
_this2.props.onEntered(maybeNode, maybeAppearing);
|
|
826
|
+
});
|
|
827
|
+
});
|
|
828
|
+
});
|
|
829
|
+
};
|
|
830
|
+
_proto.performExit = function performExit() {
|
|
831
|
+
var _this3 = this;
|
|
832
|
+
var exit = this.props.exit;
|
|
833
|
+
var timeouts = this.getTimeouts();
|
|
834
|
+
var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this);
|
|
835
|
+
if (!exit || config_default.disabled) {
|
|
836
|
+
this.safeSetState({
|
|
837
|
+
status: EXITED
|
|
838
|
+
}, function() {
|
|
839
|
+
_this3.props.onExited(maybeNode);
|
|
840
|
+
});
|
|
841
|
+
return;
|
|
842
|
+
}
|
|
843
|
+
this.props.onExit(maybeNode);
|
|
844
|
+
this.safeSetState({
|
|
845
|
+
status: EXITING
|
|
846
|
+
}, function() {
|
|
847
|
+
_this3.props.onExiting(maybeNode);
|
|
848
|
+
_this3.onTransitionEnd(timeouts.exit, function() {
|
|
849
|
+
_this3.safeSetState({
|
|
850
|
+
status: EXITED
|
|
851
|
+
}, function() {
|
|
852
|
+
_this3.props.onExited(maybeNode);
|
|
853
|
+
});
|
|
854
|
+
});
|
|
855
|
+
});
|
|
856
|
+
};
|
|
857
|
+
_proto.cancelNextCallback = function cancelNextCallback() {
|
|
858
|
+
if (this.nextCallback !== null) {
|
|
859
|
+
this.nextCallback.cancel();
|
|
860
|
+
this.nextCallback = null;
|
|
861
|
+
}
|
|
862
|
+
};
|
|
863
|
+
_proto.safeSetState = function safeSetState(nextState, callback) {
|
|
864
|
+
callback = this.setNextCallback(callback);
|
|
865
|
+
this.setState(nextState, callback);
|
|
866
|
+
};
|
|
867
|
+
_proto.setNextCallback = function setNextCallback(callback) {
|
|
868
|
+
var _this4 = this;
|
|
869
|
+
var active = true;
|
|
870
|
+
this.nextCallback = function(event) {
|
|
871
|
+
if (active) {
|
|
872
|
+
active = false;
|
|
873
|
+
_this4.nextCallback = null;
|
|
874
|
+
callback(event);
|
|
875
|
+
}
|
|
876
|
+
};
|
|
877
|
+
this.nextCallback.cancel = function() {
|
|
878
|
+
active = false;
|
|
879
|
+
};
|
|
880
|
+
return this.nextCallback;
|
|
881
|
+
};
|
|
882
|
+
_proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {
|
|
883
|
+
this.setNextCallback(handler);
|
|
884
|
+
var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);
|
|
885
|
+
var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
|
|
886
|
+
if (!node || doesNotHaveTimeoutOrListener) {
|
|
887
|
+
setTimeout(this.nextCallback, 0);
|
|
888
|
+
return;
|
|
889
|
+
}
|
|
890
|
+
if (this.props.addEndListener) {
|
|
891
|
+
var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback], maybeNode = _ref3[0], maybeNextCallback = _ref3[1];
|
|
892
|
+
this.props.addEndListener(maybeNode, maybeNextCallback);
|
|
893
|
+
}
|
|
894
|
+
if (timeout != null) {
|
|
895
|
+
setTimeout(this.nextCallback, timeout);
|
|
896
|
+
}
|
|
897
|
+
};
|
|
898
|
+
_proto.render = function render() {
|
|
899
|
+
var status = this.state.status;
|
|
900
|
+
if (status === UNMOUNTED) {
|
|
901
|
+
return null;
|
|
902
|
+
}
|
|
903
|
+
var _this$props = this.props, children = _this$props.children, _in = _this$props.in, _mountOnEnter = _this$props.mountOnEnter, _unmountOnExit = _this$props.unmountOnExit, _appear = _this$props.appear, _enter = _this$props.enter, _exit = _this$props.exit, _timeout = _this$props.timeout, _addEndListener = _this$props.addEndListener, _onEnter = _this$props.onEnter, _onEntering = _this$props.onEntering, _onEntered = _this$props.onEntered, _onExit = _this$props.onExit, _onExiting = _this$props.onExiting, _onExited = _this$props.onExited, _nodeRef = _this$props.nodeRef, childProps = _objectWithoutPropertiesLoose(_this$props, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]);
|
|
904
|
+
return /* @__PURE__ */ React3.createElement(TransitionGroupContext_default.Provider, {
|
|
905
|
+
value: null
|
|
906
|
+
}, typeof children === "function" ? children(status, childProps) : React3.cloneElement(React3.Children.only(children), childProps));
|
|
907
|
+
};
|
|
908
|
+
return Transition2;
|
|
909
|
+
}(React3.Component);
|
|
910
|
+
Transition.contextType = TransitionGroupContext_default;
|
|
911
|
+
Transition.propTypes = {
|
|
912
|
+
nodeRef: import_prop_types3.default.shape({
|
|
913
|
+
current: typeof Element === "undefined" ? import_prop_types3.default.any : function(propValue, key, componentName, location, propFullName, secret) {
|
|
914
|
+
var value = propValue[key];
|
|
915
|
+
return import_prop_types3.default.instanceOf(value && "ownerDocument" in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);
|
|
916
|
+
}
|
|
917
|
+
}),
|
|
918
|
+
children: import_prop_types3.default.oneOfType([import_prop_types3.default.func.isRequired, import_prop_types3.default.element.isRequired]).isRequired,
|
|
919
|
+
in: import_prop_types3.default.bool,
|
|
920
|
+
mountOnEnter: import_prop_types3.default.bool,
|
|
921
|
+
unmountOnExit: import_prop_types3.default.bool,
|
|
922
|
+
appear: import_prop_types3.default.bool,
|
|
923
|
+
enter: import_prop_types3.default.bool,
|
|
924
|
+
exit: import_prop_types3.default.bool,
|
|
925
|
+
timeout: function timeout(props) {
|
|
926
|
+
var pt = timeoutsShape;
|
|
927
|
+
if (!props.addEndListener)
|
|
928
|
+
pt = pt.isRequired;
|
|
929
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1;_key < _len; _key++) {
|
|
930
|
+
args[_key - 1] = arguments[_key];
|
|
931
|
+
}
|
|
932
|
+
return pt.apply(undefined, [props].concat(args));
|
|
933
|
+
},
|
|
934
|
+
addEndListener: import_prop_types3.default.func,
|
|
935
|
+
onEnter: import_prop_types3.default.func,
|
|
936
|
+
onEntering: import_prop_types3.default.func,
|
|
937
|
+
onEntered: import_prop_types3.default.func,
|
|
938
|
+
onExit: import_prop_types3.default.func,
|
|
939
|
+
onExiting: import_prop_types3.default.func,
|
|
940
|
+
onExited: import_prop_types3.default.func
|
|
941
|
+
};
|
|
942
|
+
function noop() {}
|
|
943
|
+
Transition.defaultProps = {
|
|
944
|
+
in: false,
|
|
945
|
+
mountOnEnter: false,
|
|
946
|
+
unmountOnExit: false,
|
|
947
|
+
appear: false,
|
|
948
|
+
enter: true,
|
|
949
|
+
exit: true,
|
|
950
|
+
onEnter: noop,
|
|
951
|
+
onEntering: noop,
|
|
952
|
+
onEntered: noop,
|
|
953
|
+
onExit: noop,
|
|
954
|
+
onExiting: noop,
|
|
955
|
+
onExited: noop
|
|
956
|
+
};
|
|
957
|
+
Transition.UNMOUNTED = UNMOUNTED;
|
|
958
|
+
Transition.EXITED = EXITED;
|
|
959
|
+
Transition.ENTERING = ENTERING;
|
|
960
|
+
Transition.ENTERED = ENTERED;
|
|
961
|
+
Transition.EXITING = EXITING;
|
|
962
|
+
var Transition_default = Transition;
|
|
963
|
+
// node_modules/@mantine/notifications/esm/Notifications.mjs
|
|
964
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
965
|
+
|
|
966
|
+
var Transition$1 = Transition_default;
|
|
967
|
+
var defaultProps2 = {
|
|
968
|
+
position: "bottom-right",
|
|
969
|
+
autoClose: 4000,
|
|
970
|
+
transitionDuration: 250,
|
|
971
|
+
allowDragDismiss: true,
|
|
972
|
+
allowScrollDismiss: true,
|
|
973
|
+
containerWidth: 440,
|
|
974
|
+
notificationMaxHeight: 200,
|
|
975
|
+
limit: 5,
|
|
976
|
+
zIndex: getDefaultZIndex("overlay"),
|
|
977
|
+
store: notificationsStore,
|
|
978
|
+
withinPortal: true,
|
|
979
|
+
pauseResetOnHover: "all"
|
|
980
|
+
};
|
|
981
|
+
var varsResolver = createVarsResolver((_, { zIndex, containerWidth }) => ({ root: {
|
|
982
|
+
"--notifications-z-index": zIndex?.toString(),
|
|
983
|
+
"--notifications-container-width": rem(containerWidth)
|
|
984
|
+
} }));
|
|
985
|
+
var Notifications = factory((_props) => {
|
|
986
|
+
const props = useProps("Notifications", defaultProps2, _props);
|
|
987
|
+
const { classNames, className, style, styles, unstyled, vars, attributes, position, autoClose, transitionDuration, allowDragDismiss, allowScrollDismiss, containerWidth, notificationMaxHeight, limit, zIndex, store, portalProps, withinPortal, pauseResetOnHover, ...others } = props;
|
|
988
|
+
const theme = useMantineTheme();
|
|
989
|
+
const data = useNotifications(store);
|
|
990
|
+
const forceUpdate = useForceUpdate();
|
|
991
|
+
const shouldReduceMotion = useReducedMotion();
|
|
992
|
+
const refs = useRef2({});
|
|
993
|
+
const previousLength = useRef2(0);
|
|
994
|
+
const [hoveredCount, setHoveredCount] = useState2(0);
|
|
995
|
+
const handleHoverStart = useCallback(() => setHoveredCount((c) => c + 1), []);
|
|
996
|
+
const handleHoverEnd = useCallback(() => setHoveredCount((c) => Math.max(0, c - 1)), []);
|
|
997
|
+
const duration = (theme.respectReducedMotion ? shouldReduceMotion : false) ? 1 : transitionDuration;
|
|
998
|
+
const getStyles = useStyles({
|
|
999
|
+
name: "Notifications",
|
|
1000
|
+
classes: Notifications_module_default,
|
|
1001
|
+
props,
|
|
1002
|
+
className,
|
|
1003
|
+
style,
|
|
1004
|
+
classNames,
|
|
1005
|
+
styles,
|
|
1006
|
+
unstyled,
|
|
1007
|
+
attributes,
|
|
1008
|
+
vars,
|
|
1009
|
+
varsResolver
|
|
1010
|
+
});
|
|
1011
|
+
useEffect2(() => {
|
|
1012
|
+
store?.updateState((current) => ({
|
|
1013
|
+
...current,
|
|
1014
|
+
limit: limit || 5,
|
|
1015
|
+
defaultPosition: position
|
|
1016
|
+
}));
|
|
1017
|
+
}, [limit, position]);
|
|
1018
|
+
useDidUpdate(() => {
|
|
1019
|
+
if (data.notifications.length > previousLength.current)
|
|
1020
|
+
setTimeout(() => forceUpdate(), 0);
|
|
1021
|
+
previousLength.current = data.notifications.length;
|
|
1022
|
+
}, [data.notifications]);
|
|
1023
|
+
const grouped = getGroupedNotifications(data.notifications, position);
|
|
1024
|
+
const groupedComponents = positions.reduce((acc, pos) => {
|
|
1025
|
+
acc[pos] = grouped[pos].map(({ style: notificationStyle, ...notification }) => /* @__PURE__ */ jsx2(Transition$1, {
|
|
1026
|
+
timeout: duration,
|
|
1027
|
+
onEnter: () => refs.current[notification.id].offsetHeight,
|
|
1028
|
+
nodeRef: { current: refs.current[notification.id] },
|
|
1029
|
+
children: (state) => /* @__PURE__ */ jsx2(NotificationContainer, {
|
|
1030
|
+
ref: (node) => {
|
|
1031
|
+
if (node)
|
|
1032
|
+
refs.current[notification.id] = node;
|
|
1033
|
+
},
|
|
1034
|
+
data: notification,
|
|
1035
|
+
onHide: (id) => hideNotification(id, store),
|
|
1036
|
+
autoClose,
|
|
1037
|
+
transitionDuration: duration,
|
|
1038
|
+
allowDragDismiss,
|
|
1039
|
+
allowScrollDismiss,
|
|
1040
|
+
paused: pauseResetOnHover === "all" ? hoveredCount > 0 : false,
|
|
1041
|
+
onHoverStart: handleHoverStart,
|
|
1042
|
+
onHoverEnd: handleHoverEnd,
|
|
1043
|
+
...getStyles("notification", { style: {
|
|
1044
|
+
...getNotificationStateStyles({
|
|
1045
|
+
state,
|
|
1046
|
+
position: pos,
|
|
1047
|
+
transitionDuration: duration,
|
|
1048
|
+
maxHeight: notificationMaxHeight
|
|
1049
|
+
}),
|
|
1050
|
+
...notificationStyle
|
|
1051
|
+
} })
|
|
1052
|
+
})
|
|
1053
|
+
}, notification.id));
|
|
1054
|
+
return acc;
|
|
1055
|
+
}, {});
|
|
1056
|
+
return /* @__PURE__ */ jsxs(OptionalPortal, {
|
|
1057
|
+
withinPortal,
|
|
1058
|
+
...portalProps,
|
|
1059
|
+
children: [
|
|
1060
|
+
/* @__PURE__ */ jsx2(Box, {
|
|
1061
|
+
...getStyles("root"),
|
|
1062
|
+
"data-position": "top-center",
|
|
1063
|
+
...others,
|
|
1064
|
+
children: /* @__PURE__ */ jsx2(TransitionGroup_default, { children: groupedComponents["top-center"] })
|
|
1065
|
+
}),
|
|
1066
|
+
/* @__PURE__ */ jsx2(Box, {
|
|
1067
|
+
...getStyles("root"),
|
|
1068
|
+
"data-position": "top-left",
|
|
1069
|
+
...others,
|
|
1070
|
+
children: /* @__PURE__ */ jsx2(TransitionGroup_default, { children: groupedComponents["top-left"] })
|
|
1071
|
+
}),
|
|
1072
|
+
/* @__PURE__ */ jsx2(Box, {
|
|
1073
|
+
...getStyles("root", { className: Combination_default.classNames.fullWidth }),
|
|
1074
|
+
"data-position": "top-right",
|
|
1075
|
+
...others,
|
|
1076
|
+
children: /* @__PURE__ */ jsx2(TransitionGroup_default, { children: groupedComponents["top-right"] })
|
|
1077
|
+
}),
|
|
1078
|
+
/* @__PURE__ */ jsx2(Box, {
|
|
1079
|
+
...getStyles("root", { className: Combination_default.classNames.fullWidth }),
|
|
1080
|
+
"data-position": "bottom-right",
|
|
1081
|
+
...others,
|
|
1082
|
+
children: /* @__PURE__ */ jsx2(TransitionGroup_default, { children: groupedComponents["bottom-right"] })
|
|
1083
|
+
}),
|
|
1084
|
+
/* @__PURE__ */ jsx2(Box, {
|
|
1085
|
+
...getStyles("root"),
|
|
1086
|
+
"data-position": "bottom-left",
|
|
1087
|
+
...others,
|
|
1088
|
+
children: /* @__PURE__ */ jsx2(TransitionGroup_default, { children: groupedComponents["bottom-left"] })
|
|
1089
|
+
}),
|
|
1090
|
+
/* @__PURE__ */ jsx2(Box, {
|
|
1091
|
+
...getStyles("root"),
|
|
1092
|
+
"data-position": "bottom-center",
|
|
1093
|
+
...others,
|
|
1094
|
+
children: /* @__PURE__ */ jsx2(TransitionGroup_default, { children: groupedComponents["bottom-center"] })
|
|
1095
|
+
})
|
|
1096
|
+
]
|
|
1097
|
+
});
|
|
1098
|
+
});
|
|
1099
|
+
Notifications.classes = Notifications_module_default;
|
|
1100
|
+
Notifications.varsResolver = varsResolver;
|
|
1101
|
+
Notifications.displayName = "@mantine/notifications/Notifications";
|
|
1102
|
+
Notifications.show = notifications.show;
|
|
1103
|
+
Notifications.hide = notifications.hide;
|
|
1104
|
+
Notifications.update = notifications.update;
|
|
1105
|
+
Notifications.clean = notifications.clean;
|
|
1106
|
+
Notifications.cleanQueue = notifications.cleanQueue;
|
|
1107
|
+
Notifications.updateState = notifications.updateState;
|
|
1108
|
+
export {
|
|
1109
|
+
useNotifications,
|
|
1110
|
+
updateNotificationsState,
|
|
1111
|
+
updateNotification,
|
|
1112
|
+
showNotification,
|
|
1113
|
+
notificationsStore,
|
|
1114
|
+
notifications,
|
|
1115
|
+
hideNotification,
|
|
1116
|
+
createNotificationsStore,
|
|
1117
|
+
cleanNotificationsQueue,
|
|
1118
|
+
cleanNotifications,
|
|
1119
|
+
Notifications
|
|
1120
|
+
};
|
|
1121
|
+
|
|
1122
|
+
//# debugId=8F224AA7DDC64EF164756E2164756E21
|