vue-toasts-lite 0.1.7 → 0.1.8
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 +19 -7
- package/dist/index.d.ts +6 -0
- package/dist/index.js +122 -104
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -151,6 +151,7 @@ You can pass custom classes to `ToastsLiteProvider`:
|
|
|
151
151
|
:root {
|
|
152
152
|
--tl-font-family: system-ui, -apple-system, sans-serif;
|
|
153
153
|
--tl-font-size: 14px;
|
|
154
|
+
--tl-radius: 8px;
|
|
154
155
|
--tl-bg: hsl(0, 0%, 100%);
|
|
155
156
|
--tl-text: hsl(0, 0%, 20%);
|
|
156
157
|
--tl-border: hsl(0, 0%, 85%);
|
|
@@ -160,13 +161,24 @@ You can pass custom classes to `ToastsLiteProvider`:
|
|
|
160
161
|
--tl-warn: hsl(45, 100%, 51%);
|
|
161
162
|
--tl-info: hsl(210, 80%, 55%);
|
|
162
163
|
--tl-icon-color: hsl(0, 0%, 100%);
|
|
163
|
-
--tl-
|
|
164
|
-
|
|
165
|
-
--tl-success
|
|
166
|
-
--tl-error
|
|
167
|
-
--tl-warn
|
|
168
|
-
--tl-info
|
|
169
|
-
--tl-loading
|
|
164
|
+
--tl-spinner-color: hsl(0, 0%, 15%);
|
|
165
|
+
|
|
166
|
+
--tl-bg-success: color-mix(in srgb, var(--tl-success) 20%, var(--tl-bg));
|
|
167
|
+
--tl-bg-error: color-mix(in srgb, var(--tl-error) 20%, var(--tl-bg));
|
|
168
|
+
--tl-bg-warn: color-mix(in srgb, var(--tl-warn) 20%, var(--tl-bg));
|
|
169
|
+
--tl-bg-info: color-mix(in srgb, var(--tl-info) 20%, var(--tl-bg));
|
|
170
|
+
--tl-bg-loading: var(--tl-bg);
|
|
171
|
+
|
|
172
|
+
--tl-border-success: color-mix(in srgb, var(--tl-success) 40%, var(--tl-border));
|
|
173
|
+
--tl-border-error: color-mix(in srgb, var(--tl-error) 40%, var(--tl-border));
|
|
174
|
+
--tl-border-warn: color-mix(in srgb, var(--tl-warn) 40%, var(--tl-border));
|
|
175
|
+
--tl-border-info: color-mix(in srgb, var(--tl-info) 40%, var(--tl-border));
|
|
176
|
+
|
|
177
|
+
--tl-text-success: color-mix(in srgb, var(--tl-success) 20%, var(--tl-text));
|
|
178
|
+
--tl-text-error: color-mix(in srgb, var(--tl-error) 20%, var(--tl-text));
|
|
179
|
+
--tl-text-warn: color-mix(in srgb, var(--tl-warn) 20%, var(--tl-text));
|
|
180
|
+
--tl-text-info: color-mix(in srgb, var(--tl-info) 20%, var(--tl-text));
|
|
181
|
+
--tl-text-loading: var(--tl-text);
|
|
170
182
|
}
|
|
171
183
|
```
|
|
172
184
|
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ declare type __VLS_Props = {
|
|
|
8
8
|
containerClass?: HTMLAttributes["class"];
|
|
9
9
|
wrapperClass?: HTMLAttributes["class"];
|
|
10
10
|
itemClass?: HTMLAttributes["class"];
|
|
11
|
+
hideCloseButton?: boolean;
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
declare type Id = string;
|
|
@@ -59,6 +60,11 @@ declare type Toast = {
|
|
|
59
60
|
* @default "top-center"
|
|
60
61
|
*/
|
|
61
62
|
position?: ToastPosition;
|
|
63
|
+
/**
|
|
64
|
+
* Whether to show a close button on the right side of the toast.
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
closable: boolean;
|
|
62
68
|
};
|
|
63
69
|
|
|
64
70
|
export declare type ToastOptions = Partial<Toast>;
|
package/dist/index.js
CHANGED
|
@@ -1,43 +1,44 @@
|
|
|
1
1
|
var D = Object.defineProperty;
|
|
2
|
-
var M = (
|
|
3
|
-
var
|
|
4
|
-
import { ref as
|
|
5
|
-
class
|
|
2
|
+
var M = (s, t, e) => t in s ? D(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
|
|
3
|
+
var b = (s, t, e) => M(s, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
+
import { ref as m, defineComponent as k, watch as U, onMounted as L, onUnmounted as A, createElementBlock as v, openBlock as h, normalizeStyle as E, normalizeClass as y, createCommentVNode as w, createElementVNode as f, toDisplayString as x, withModifiers as P, computed as I, createBlock as T, Teleport as N, Fragment as _, renderList as O, unref as g, createVNode as R, TransitionGroup as S, withCtx as V } from "vue";
|
|
5
|
+
class z extends Map {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
|
-
|
|
8
|
+
b(this, "subscribers", []);
|
|
9
9
|
}
|
|
10
|
-
set(e,
|
|
11
|
-
return super.set(e,
|
|
10
|
+
set(e, a) {
|
|
11
|
+
return super.set(e, a), this.notify(), this;
|
|
12
12
|
}
|
|
13
13
|
delete(e) {
|
|
14
|
-
const
|
|
15
|
-
return this.notify(),
|
|
14
|
+
const a = super.delete(e);
|
|
15
|
+
return this.notify(), a;
|
|
16
16
|
}
|
|
17
17
|
clear() {
|
|
18
18
|
super.clear(), this.notify();
|
|
19
19
|
}
|
|
20
20
|
subscribe(e) {
|
|
21
21
|
return this.subscribers.push(e), () => {
|
|
22
|
-
this.subscribers = this.subscribers.filter((
|
|
22
|
+
this.subscribers = this.subscribers.filter((a) => a !== e);
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
notify() {
|
|
26
26
|
this.subscribers.forEach((e) => e(Array.from(this.values())));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
const
|
|
29
|
+
const B = {
|
|
30
30
|
type: "success",
|
|
31
31
|
message: "Hello from Toasts Lite",
|
|
32
32
|
autoClose: !0,
|
|
33
33
|
duration: 3e3,
|
|
34
|
-
position: "top-center"
|
|
34
|
+
position: "top-center",
|
|
35
|
+
closable: !0
|
|
35
36
|
};
|
|
36
|
-
class
|
|
37
|
+
class F {
|
|
37
38
|
constructor() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
this.toasts = new
|
|
39
|
+
b(this, "counter", 0);
|
|
40
|
+
b(this, "toasts");
|
|
41
|
+
this.toasts = new z();
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
43
44
|
* Returns an array of all currently active toasts.
|
|
@@ -292,59 +293,59 @@ class z {
|
|
|
292
293
|
* ```
|
|
293
294
|
*/
|
|
294
295
|
async promise(t, e) {
|
|
295
|
-
const
|
|
296
|
+
const a = this.loading(e.loading, { position: e.position, id: e.id });
|
|
296
297
|
try {
|
|
297
|
-
return await t, this.success(e.success, { position: e.position, id:
|
|
298
|
+
return await t, this.success(e.success, { position: e.position, id: a }), a;
|
|
298
299
|
} catch {
|
|
299
|
-
throw this.error(e.error, { position: e.position, id:
|
|
300
|
+
throw this.error(e.error, { position: e.position, id: a }), new Error(e.error);
|
|
300
301
|
}
|
|
301
302
|
}
|
|
302
303
|
ID() {
|
|
303
304
|
return `toast:${Date.now().toString(16)}-${this.counter++}`;
|
|
304
305
|
}
|
|
305
306
|
addOrUpdate(t) {
|
|
306
|
-
let { id: e = this.ID(), ...
|
|
307
|
+
let { id: e = this.ID(), ...a } = t;
|
|
307
308
|
if (this.toasts.has(e)) {
|
|
308
309
|
const n = this.toasts.get(e);
|
|
309
|
-
return this.toasts.set(e, { ...n, ...
|
|
310
|
+
return this.toasts.set(e, { ...n, ...a }), e;
|
|
310
311
|
}
|
|
311
|
-
return this.toasts.set(e, { ...this.mergeWithDefaultOptions(
|
|
312
|
+
return this.toasts.set(e, { ...this.mergeWithDefaultOptions(a), id: e }), e;
|
|
312
313
|
}
|
|
313
314
|
mergeWithDefaultOptions(t) {
|
|
314
|
-
const e = Object.assign({},
|
|
315
|
-
for (let
|
|
316
|
-
const n =
|
|
317
|
-
|
|
315
|
+
const e = Object.assign({}, B);
|
|
316
|
+
for (let a in B) {
|
|
317
|
+
const n = a, o = t[n];
|
|
318
|
+
o != null && (e[n] = o);
|
|
318
319
|
}
|
|
319
320
|
return e;
|
|
320
321
|
}
|
|
321
322
|
}
|
|
322
|
-
const
|
|
323
|
-
function
|
|
324
|
-
const
|
|
325
|
-
function t(n,
|
|
326
|
-
|
|
327
|
-
const
|
|
328
|
-
|
|
323
|
+
const $ = new F();
|
|
324
|
+
function W() {
|
|
325
|
+
const s = m(/* @__PURE__ */ new Map());
|
|
326
|
+
function t(n, o, r) {
|
|
327
|
+
s.value.has(n) || s.value.set(n, []);
|
|
328
|
+
const c = s.value.get(n);
|
|
329
|
+
r && "pause" in r && "resume" in r && (c[o] = r);
|
|
329
330
|
}
|
|
330
331
|
function e(n) {
|
|
331
|
-
var
|
|
332
|
-
(
|
|
332
|
+
var o;
|
|
333
|
+
(o = s.value.get(n)) == null || o.forEach((r) => r == null ? void 0 : r.pause());
|
|
333
334
|
}
|
|
334
|
-
function
|
|
335
|
-
var
|
|
336
|
-
(
|
|
335
|
+
function a(n) {
|
|
336
|
+
var o;
|
|
337
|
+
(o = s.value.get(n)) == null || o.forEach((r) => r == null ? void 0 : r.resume());
|
|
337
338
|
}
|
|
338
339
|
return {
|
|
339
340
|
setRef: t,
|
|
340
341
|
pauseAll: e,
|
|
341
|
-
resumeAll:
|
|
342
|
+
resumeAll: a
|
|
342
343
|
};
|
|
343
344
|
}
|
|
344
|
-
const
|
|
345
|
+
const j = {
|
|
345
346
|
key: 0,
|
|
346
347
|
class: "toasts-lite__icon"
|
|
347
|
-
},
|
|
348
|
+
}, G = { class: "toasts-lite__content" }, H = { class: "toasts-lite__content-message" }, q = /* @__PURE__ */ k({
|
|
348
349
|
__name: "ToastsLiteItem",
|
|
349
350
|
props: {
|
|
350
351
|
id: {},
|
|
@@ -352,106 +353,123 @@ const W = {
|
|
|
352
353
|
message: {},
|
|
353
354
|
autoClose: { type: Boolean },
|
|
354
355
|
duration: {},
|
|
355
|
-
position: {}
|
|
356
|
+
position: {},
|
|
357
|
+
closable: { type: Boolean },
|
|
358
|
+
hideCloseButton: { type: Boolean }
|
|
356
359
|
},
|
|
357
360
|
emits: ["close"],
|
|
358
|
-
setup(
|
|
359
|
-
const
|
|
360
|
-
function
|
|
361
|
-
|
|
361
|
+
setup(s, { expose: t, emit: e }) {
|
|
362
|
+
const a = s, n = e, o = m(null), r = m(0), c = m(0);
|
|
363
|
+
function l() {
|
|
364
|
+
o.value && clearTimeout(o.value), n("close");
|
|
362
365
|
}
|
|
363
|
-
function
|
|
364
|
-
|
|
366
|
+
function p() {
|
|
367
|
+
o.value && (clearTimeout(o.value), o.value = null, c.value = a.duration - (Date.now() - r.value));
|
|
365
368
|
}
|
|
366
|
-
function
|
|
367
|
-
!
|
|
369
|
+
function u() {
|
|
370
|
+
!o.value && c.value > 0 && (r.value = Date.now(), o.value = setTimeout(l, c.value));
|
|
368
371
|
}
|
|
369
|
-
function
|
|
370
|
-
|
|
372
|
+
function i() {
|
|
373
|
+
o.value && (clearTimeout(o.value), o.value = null), a.autoClose && (r.value = Date.now(), c.value = a.duration, o.value = setTimeout(l, a.duration));
|
|
371
374
|
}
|
|
372
375
|
return U(
|
|
373
|
-
() => [
|
|
376
|
+
() => [a.autoClose, a.duration],
|
|
374
377
|
() => {
|
|
375
|
-
|
|
378
|
+
i();
|
|
376
379
|
}
|
|
377
380
|
), L(() => {
|
|
378
|
-
|
|
379
|
-
}),
|
|
380
|
-
|
|
381
|
+
i();
|
|
382
|
+
}), A(() => {
|
|
383
|
+
o.value && clearTimeout(o.value);
|
|
381
384
|
}), t({
|
|
382
|
-
pause:
|
|
383
|
-
resume:
|
|
384
|
-
}), (
|
|
385
|
-
class:
|
|
386
|
-
style: E(`--toast-duration: ${
|
|
387
|
-
onClick:
|
|
385
|
+
pause: p,
|
|
386
|
+
resume: u
|
|
387
|
+
}), (C, d) => (h(), v("div", {
|
|
388
|
+
class: y(["toasts-lite__toast", `toasts-lite__toast--${s.type}`, { "toasts-lite__toast--clickable": s.closable }]),
|
|
389
|
+
style: E(`--toast-duration: ${s.duration}s;`),
|
|
390
|
+
onClick: d[0] || (d[0] = (K) => s.closable && l())
|
|
388
391
|
}, [
|
|
389
|
-
["success", "error", "loading", "warn", "info"].includes(
|
|
392
|
+
["success", "error", "loading", "warn", "info"].includes(s.type) ? (h(), v("div", j, [
|
|
390
393
|
f("div", {
|
|
391
|
-
class:
|
|
394
|
+
class: y(`toasts-lite__${s.type}`)
|
|
392
395
|
}, null, 2)
|
|
393
|
-
])) :
|
|
394
|
-
f("div",
|
|
395
|
-
f("div",
|
|
396
|
-
])
|
|
396
|
+
])) : w("", !0),
|
|
397
|
+
f("div", G, [
|
|
398
|
+
f("div", H, x(s.message), 1)
|
|
399
|
+
]),
|
|
400
|
+
s.closable && !s.hideCloseButton ? (h(), v("button", {
|
|
401
|
+
key: 1,
|
|
402
|
+
type: "button",
|
|
403
|
+
class: "toasts-lite__close",
|
|
404
|
+
"aria-label": "Close",
|
|
405
|
+
onClick: P(l, ["stop"])
|
|
406
|
+
}, [...d[1] || (d[1] = [
|
|
407
|
+
f("span", {
|
|
408
|
+
class: "toasts-lite__close-icon",
|
|
409
|
+
"aria-hidden": "true"
|
|
410
|
+
}, null, -1)
|
|
411
|
+
])])) : w("", !0)
|
|
397
412
|
], 6));
|
|
398
413
|
}
|
|
399
|
-
}),
|
|
414
|
+
}), J = ["onMouseenter", "onMouseleave"], Y = /* @__PURE__ */ k({
|
|
400
415
|
__name: "ToastsLiteProvider",
|
|
401
416
|
props: {
|
|
402
417
|
containerClass: {},
|
|
403
418
|
wrapperClass: {},
|
|
404
|
-
itemClass: {}
|
|
419
|
+
itemClass: {},
|
|
420
|
+
hideCloseButton: { type: Boolean }
|
|
405
421
|
},
|
|
406
|
-
setup(
|
|
407
|
-
const t = ["top-left", "top-center", "top-right", "middle-center", "bottom-left", "bottom-center", "bottom-right"],
|
|
408
|
-
|
|
409
|
-
|
|
422
|
+
setup(s) {
|
|
423
|
+
const t = s, e = ["top-left", "top-center", "top-right", "middle-center", "bottom-left", "bottom-center", "bottom-right"], a = m([]), { setRef: n, pauseAll: o, resumeAll: r } = W();
|
|
424
|
+
$.onToastsListChange((l) => {
|
|
425
|
+
a.value = l;
|
|
410
426
|
});
|
|
411
|
-
const
|
|
412
|
-
const
|
|
413
|
-
return
|
|
414
|
-
const u =
|
|
415
|
-
|
|
416
|
-
}),
|
|
427
|
+
const c = I(() => {
|
|
428
|
+
const l = /* @__PURE__ */ new Map();
|
|
429
|
+
return a.value.forEach((p) => {
|
|
430
|
+
const u = p.position || "top-center";
|
|
431
|
+
l.has(u) || l.set(u, []), l.get(u).push(p);
|
|
432
|
+
}), l;
|
|
417
433
|
});
|
|
418
|
-
return (
|
|
419
|
-
(
|
|
434
|
+
return (l, p) => (h(), T(N, { to: "body" }, [
|
|
435
|
+
(h(), v(_, null, O(e, (u) => f("div", {
|
|
420
436
|
key: u,
|
|
421
|
-
class:
|
|
437
|
+
class: y(["toasts-lite__toast-container", [s.containerClass, `toasts-lite__${u}`]])
|
|
422
438
|
}, [
|
|
423
439
|
f("div", {
|
|
424
|
-
class:
|
|
425
|
-
onMouseenter: (
|
|
426
|
-
onMouseleave: (
|
|
440
|
+
class: y(["toasts-lite__toast-wrapper", s.wrapperClass]),
|
|
441
|
+
onMouseenter: (i) => g(o)(u),
|
|
442
|
+
onMouseleave: (i) => g(r)(u)
|
|
427
443
|
}, [
|
|
428
|
-
|
|
444
|
+
R(S, {
|
|
429
445
|
name: "toasts-lite",
|
|
430
446
|
appear: ""
|
|
431
447
|
}, {
|
|
432
|
-
default:
|
|
433
|
-
(
|
|
434
|
-
id:
|
|
448
|
+
default: V(() => [
|
|
449
|
+
(h(!0), v(_, null, O(c.value.get(u) || [], (i, C) => (h(), T(q, {
|
|
450
|
+
id: i.id,
|
|
435
451
|
ref_for: !0,
|
|
436
|
-
ref: (
|
|
437
|
-
key:
|
|
438
|
-
type:
|
|
439
|
-
message:
|
|
440
|
-
"auto-close":
|
|
441
|
-
duration:
|
|
442
|
-
position:
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
452
|
+
ref: (d) => g(n)(u, C, d),
|
|
453
|
+
key: i.id,
|
|
454
|
+
type: i.type,
|
|
455
|
+
message: i.message,
|
|
456
|
+
"auto-close": i.autoClose,
|
|
457
|
+
duration: i.duration,
|
|
458
|
+
position: i.position,
|
|
459
|
+
closable: i.closable,
|
|
460
|
+
"hide-close-button": !!t.hideCloseButton,
|
|
461
|
+
class: y(s.itemClass),
|
|
462
|
+
onClose: (d) => g($).remove(i.id)
|
|
463
|
+
}, null, 8, ["id", "type", "message", "auto-close", "duration", "position", "closable", "hide-close-button", "class", "onClose"]))), 128))
|
|
446
464
|
]),
|
|
447
465
|
_: 2
|
|
448
466
|
}, 1024)
|
|
449
|
-
], 42,
|
|
467
|
+
], 42, J)
|
|
450
468
|
], 2)), 64))
|
|
451
469
|
]));
|
|
452
470
|
}
|
|
453
471
|
});
|
|
454
472
|
export {
|
|
455
|
-
|
|
456
|
-
|
|
473
|
+
Y as ToastsLiteProvider,
|
|
474
|
+
$ as toasts
|
|
457
475
|
};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--toasts-lite-font-family: var(--tl-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif);--toasts-lite-font-size: var(--tl-font-size, 14px);--toasts-lite-bg: var(--tl-bg, hsl(0, 0%, 100%));--toasts-lite-text: var(--tl-text, hsl(0, 0%, 20%));--toasts-lite-border: var(--tl-border, hsl(0, 0%, 85%));--toasts-lite-shadow: var(--tl-shadow, hsla(0, 0%, 0%, .1));--toasts-lite-success: var(--tl-success, hsl(145, 63%, 42%));--toasts-lite-error: var(--tl-error, hsl(0, 79%, 63%));--toasts-lite-warn: var(--tl-warn, hsl(45, 100%, 51%));--toasts-lite-info: var(--tl-info, hsl(210, 80%, 55%));--toasts-lite-icon-color: var(--tl-icon-color, hsl(0, 0%, 100%));--toasts-lite-loading-border: var(--tl-loading-border, hsl(0, 0%, 15%));--toasts-lite-bg-success: var(--tl-success-bg, color-mix(in srgb, var(--toasts-lite-success) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-error: var(--tl-error-bg, color-mix(in srgb, var(--toasts-lite-error) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-warn: var(--tl-warn-bg, color-mix(in srgb, var(--toasts-lite-warn) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-info: var(--tl-info-bg, color-mix(in srgb, var(--toasts-lite-info) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-loading: var(--tl-loading-bg, var(--toasts-lite-bg))}@keyframes scaleAnimation{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes loadingRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toasts-lite-enter-active,.toasts-lite-leave-active{transition:opacity .3s ease,transform .3s ease}.toasts-lite-enter-from,.toasts-lite-leave-to{opacity:0;transform:translateY(-10px)}.toasts-lite__toast-container{position:fixed;z-index:9999;margin:10px;overflow:visible;display:flex;flex-direction:column;align-items:center;padding-top:12px;pointer-events:none}.toasts-lite__toast-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:auto}.toasts-lite__toast{font-family:var(--toasts-lite-font-family);font-size:var(--toasts-lite-font-size);display:flex;justify-content:center;align-items:center;background:var(--toasts-lite-bg);color:var(--toasts-lite-text);border:1px solid var(--toasts-lite-border);box-shadow:var(--toasts-lite-shadow) 0 0 10px;min-width:100px;max-width:1200px;padding:10px 20px;border-radius:8px;cursor:pointer;pointer-events:auto;text-overflow:ellipsis}.toasts-lite__icon{margin-right:12px}.toasts-lite__top-left{top:0;left:0}.toasts-lite__top-center{top:0;left:50%;transform:translate(-50%);min-width:80vw}.toasts-lite__top-right{top:0;right:0}.toasts-lite__bottom-left{bottom:0;left:0}.toasts-lite__bottom-center{bottom:0;left:50%;transform:translate(-50%)}.toasts-lite__bottom-right{bottom:0;right:0}.toasts-lite__middle-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toasts-lite__success{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-success);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__success:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__error{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-error);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__error:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6l-12 12" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6l-12 12" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__warn{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-warn);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__warn:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black" ><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black" ><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__info{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-info);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__info:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 12v7M12 5h.01" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 12v7M12 5h.01" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__loading{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toasts-lite-loading-border);border-right-color:transparent;animation:loadingRotate 1s linear infinite}.toasts-lite__toast--success{background:var(--toasts-lite-bg-success)}.toasts-lite__toast--error{background:var(--toasts-lite-bg-error)}.toasts-lite__toast--warn{background:var(--toasts-lite-bg-warn)}.toasts-lite__toast--info{background:var(--toasts-lite-bg-info)}.toasts-lite__toast--loading{background:var(--toasts-lite-bg-loading)}
|
|
1
|
+
:root{--toasts-lite-font-family: var(--tl-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif);--toasts-lite-font-size: var(--tl-font-size, 14px);--toasts-lite-radius: var(--tl-radius, 20px);--toasts-lite-shadow: var(--tl-shadow, hsla(0, 0%, 0%, .1));--toasts-lite-bg: var(--tl-bg, hsl(0, 0%, 100%));--toasts-lite-text: var(--tl-text, hsl(0, 0%, 20%));--toasts-lite-border: var(--tl-border, hsl(0, 0%, 85%));--toasts-lite-icon-color: var(--tl-icon-color, hsl(0, 0%, 100%));--toasts-lite-spinner-color: var(--tl-spinner-color, hsl(0, 0%, 15%));--toasts-lite-success: var(--tl-success, hsl(145, 63%, 42%));--toasts-lite-error: var(--tl-error, hsl(0, 79%, 63%));--toasts-lite-warn: var(--tl-warn, hsl(45, 100%, 51%));--toasts-lite-info: var(--tl-info, hsl(210, 80%, 55%));--toasts-lite-bg-success: var(--tl-bg-success, color-mix(in srgb, var(--toasts-lite-success) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-error: var(--tl-bg-error, color-mix(in srgb, var(--toasts-lite-error) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-warn: var(--tl-bg-warn, color-mix(in srgb, var(--toasts-lite-warn) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-info: var(--tl-bg-info, color-mix(in srgb, var(--toasts-lite-info) 20%, var(--toasts-lite-bg)));--toasts-lite-bg-loading: var(--tl-bg-loading, var(--toasts-lite-bg));--toasts-lite-border-success: var(--tl-border-success, color-mix(in srgb, var(--toasts-lite-success) 40%, var(--toasts-lite-border)));--toasts-lite-border-error: var(--tl-border-error, color-mix(in srgb, var(--toasts-lite-error) 40%, var(--toasts-lite-border)));--toasts-lite-border-warn: var(--tl-border-warn, color-mix(in srgb, var(--toasts-lite-warn) 40%, var(--toasts-lite-border)));--toasts-lite-border-info: var(--tl-border-info, color-mix(in srgb, var(--toasts-lite-info) 40%, var(--toasts-lite-border)));--toasts-lite-text-success: var(--tl-text-success, color-mix(in srgb, var(--toasts-lite-success) 20%, var(--toasts-lite-text)));--toasts-lite-text-error: var(--tl-text-error, color-mix(in srgb, var(--toasts-lite-error) 20%, var(--toasts-lite-text)));--toasts-lite-text-warn: var(--tl-text-warn, color-mix(in srgb, var(--toasts-lite-warn) 20%, var(--toasts-lite-text)));--toasts-lite-text-info: var(--tl-text-info, color-mix(in srgb, var(--toasts-lite-info) 20%, var(--toasts-lite-text)));--toasts-lite-text-loading: var(--tl-text-loading, var(--toasts-lite-text))}@keyframes scaleAnimation{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes loadingRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toasts-lite-enter-active,.toasts-lite-leave-active{transform-origin:center center;transition:opacity .35s ease,transform .4s cubic-bezier(.34,1.56,.64,1),border-radius .4s ease}.toasts-lite-enter-from,.toasts-lite-leave-to{opacity:0;transform:translateY(-10px) scale(0);border-radius:50%}.toasts-lite__toast-container{position:fixed;z-index:9999;margin:10px;overflow:visible;display:flex;flex-direction:column;align-items:center;padding-top:12px;pointer-events:none}.toasts-lite__toast-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:auto}.toasts-lite__top-left .toasts-lite__toast-wrapper,.toasts-lite__bottom-left .toasts-lite__toast-wrapper{align-items:flex-start}.toasts-lite__top-right .toasts-lite__toast-wrapper,.toasts-lite__bottom-right .toasts-lite__toast-wrapper{align-items:flex-end}.toasts-lite__toast{font-family:var(--toasts-lite-font-family);font-size:var(--toasts-lite-font-size);display:flex;justify-content:center;align-items:center;background:var(--toasts-lite-bg);color:var(--toasts-lite-text);border:1px solid var(--toasts-lite-border);box-shadow:var(--toasts-lite-shadow) 0 0 10px;min-width:100px;max-width:1200px;padding:10px 20px;border-radius:var(--toasts-lite-radius);cursor:default;pointer-events:auto;text-overflow:ellipsis}.toasts-lite__toast--clickable{cursor:pointer}.toasts-lite__icon{margin-right:12px}.toasts-lite__close{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:12px;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.6;flex-shrink:0;transition:opacity .15s ease}.toasts-lite__close:hover{opacity:1}.toasts-lite__close-icon{display:block;width:12px;height:12px;background-color:currentColor;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6l-12 12" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6l-12 12" /></svg>');mask-size:100%;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:100%;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.toasts-lite__top-left{top:0;left:0}.toasts-lite__top-center{top:0;left:50%;transform:translate(-50%);min-width:80vw}.toasts-lite__top-right{top:0;right:0}.toasts-lite__bottom-left{bottom:0;left:0}.toasts-lite__bottom-center{bottom:0;left:50%;transform:translate(-50%)}.toasts-lite__bottom-right{bottom:0;right:0}.toasts-lite__middle-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toasts-lite__success{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-success);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__success:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__error{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-error);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__error:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6l-12 12" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black"><path stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6l-12 12" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__warn{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-warn);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__warn:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black" ><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="black" ><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__info{width:20px;height:20px;border-radius:10px;background-color:var(--toasts-lite-info);position:relative;opacity:0;animation:scaleAnimation .3s cubic-bezier(.75,.885,.32,1.275) forwards;animation-delay:.1s}.toasts-lite__info:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 12v7M12 5h.01" /></svg>');-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="4" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 12v7M12 5h.01" /></svg>');background-color:var(--toasts-lite-icon-color);background-size:100%;background-position:center;background-repeat:no-repeat}.toasts-lite__loading{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toasts-lite-spinner-color);border-right-color:transparent;animation:loadingRotate 1s linear infinite}.toasts-lite__toast--success{background:var(--toasts-lite-bg-success);border-color:var(--toasts-lite-border-success);color:var(--toasts-lite-text-success)}.toasts-lite__toast--error{background:var(--toasts-lite-bg-error);border-color:var(--toasts-lite-border-error);color:var(--toasts-lite-text-error)}.toasts-lite__toast--warn{background:var(--toasts-lite-bg-warn);border-color:var(--toasts-lite-border-warn);color:var(--toasts-lite-text-warn)}.toasts-lite__toast--info{background:var(--toasts-lite-bg-info);border-color:var(--toasts-lite-border-info);color:var(--toasts-lite-text-info)}.toasts-lite__toast--loading{background:var(--toasts-lite-bg-loading);color:var(--toasts-lite-text-loading)}
|