vue-toasts-lite 0.1.6 → 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 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,8 +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-loading-border: hsl(0, 0%, 15%);
164
- --tl-loading-bg: hsl(0, 0%, 98%);
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);
165
182
  }
166
183
  ```
167
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
- var M = Object.defineProperty;
2
- var U = (r, t, e) => t in r ? M(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
- var m = (r, t, e) => U(r, typeof t != "symbol" ? t + "" : t, e);
4
- import { ref as p, defineComponent as D, watch as $, onMounted as L, onUnmounted as k, createElementBlock as y, openBlock as d, withModifiers as A, normalizeStyle as E, createCommentVNode as x, createElementVNode as h, normalizeClass as g, toDisplayString as B, computed as P, createBlock as C, Teleport as I, Fragment as w, renderList as b, unref as v, createVNode as N, TransitionGroup as R, withCtx as S } from "vue";
5
- class V extends Map {
1
+ var D = Object.defineProperty;
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
- m(this, "subscribers", []);
8
+ b(this, "subscribers", []);
9
9
  }
10
- set(e, o) {
11
- return super.set(e, o), this.notify(), this;
10
+ set(e, a) {
11
+ return super.set(e, a), this.notify(), this;
12
12
  }
13
13
  delete(e) {
14
- const o = super.delete(e);
15
- return this.notify(), o;
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((o) => o !== e);
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 T = {
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 z {
37
+ class F {
37
38
  constructor() {
38
- m(this, "counter", 0);
39
- m(this, "toasts");
40
- this.toasts = new V();
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 o = this.loading(e.loading, { position: e.position, id: e.id });
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: o }), o;
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: o }), new Error(e.error);
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(), ...o } = t;
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, ...o }), e;
310
+ return this.toasts.set(e, { ...n, ...a }), e;
310
311
  }
311
- return this.toasts.set(e, { ...this.mergeWithDefaultOptions(o), id: e }), e;
312
+ return this.toasts.set(e, { ...this.mergeWithDefaultOptions(a), id: e }), e;
312
313
  }
313
314
  mergeWithDefaultOptions(t) {
314
- const e = Object.assign({}, T);
315
- for (let o in T) {
316
- const n = o, s = t[n];
317
- s != null && (e[n] = s);
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 O = new z();
323
- function F() {
324
- const r = p(/* @__PURE__ */ new Map());
325
- function t(n, s, a) {
326
- r.value.has(n) || r.value.set(n, []);
327
- const i = r.value.get(n);
328
- a && "pause" in a && "resume" in a && (i[s] = a);
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 s;
332
- (s = r.value.get(n)) == null || s.forEach((a) => a == null ? void 0 : a.pause());
332
+ var o;
333
+ (o = s.value.get(n)) == null || o.forEach((r) => r == null ? void 0 : r.pause());
333
334
  }
334
- function o(n) {
335
- var s;
336
- (s = r.value.get(n)) == null || s.forEach((a) => a == null ? void 0 : a.resume());
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: o
342
+ resumeAll: a
342
343
  };
343
344
  }
344
- const W = {
345
+ const j = {
345
346
  key: 0,
346
347
  class: "toasts-lite__icon"
347
- }, j = { class: "toasts-lite__content" }, G = { class: "toasts-lite__content-message" }, H = /* @__PURE__ */ D({
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(r, { expose: t, emit: e }) {
359
- const o = r, n = e, s = p(null), a = p(0), i = p(0);
360
- function c() {
361
- s.value && clearTimeout(s.value), n("close");
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 u() {
364
- s.value && (clearTimeout(s.value), s.value = null, i.value = o.duration - (Date.now() - a.value));
366
+ function p() {
367
+ o.value && (clearTimeout(o.value), o.value = null, c.value = a.duration - (Date.now() - r.value));
365
368
  }
366
- function l() {
367
- !s.value && i.value > 0 && (a.value = Date.now(), s.value = setTimeout(c, i.value));
369
+ function u() {
370
+ !o.value && c.value > 0 && (r.value = Date.now(), o.value = setTimeout(l, c.value));
368
371
  }
369
- function f() {
370
- s.value && (clearTimeout(s.value), s.value = null), o.autoClose && (a.value = Date.now(), i.value = o.duration, s.value = setTimeout(c, o.duration));
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
- return $(
373
- () => [o.autoClose, o.duration],
375
+ return U(
376
+ () => [a.autoClose, a.duration],
374
377
  () => {
375
- f();
378
+ i();
376
379
  }
377
380
  ), L(() => {
378
- f();
379
- }), k(() => {
380
- s.value && clearTimeout(s.value);
381
+ i();
382
+ }), A(() => {
383
+ o.value && clearTimeout(o.value);
381
384
  }), t({
382
- pause: u,
383
- resume: l
384
- }), (_, J) => (d(), y("div", {
385
- class: "toasts-lite__toast",
386
- style: E(`--toast-duration: ${r.duration}s;`),
387
- onClick: A(c, ["prevent"])
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(r.type) ? (d(), y("div", W, [
390
- h("div", {
391
- class: g(`toasts-lite__${r.type}`)
392
+ ["success", "error", "loading", "warn", "info"].includes(s.type) ? (h(), v("div", j, [
393
+ f("div", {
394
+ class: y(`toasts-lite__${s.type}`)
392
395
  }, null, 2)
393
- ])) : x("", !0),
394
- h("div", j, [
395
- h("div", G, B(r.message), 1)
396
- ])
397
- ], 4));
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)
412
+ ], 6));
398
413
  }
399
- }), q = ["onMouseenter", "onMouseleave"], X = /* @__PURE__ */ D({
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(r) {
407
- const t = ["top-left", "top-center", "top-right", "middle-center", "bottom-left", "bottom-center", "bottom-right"], e = p([]), { setRef: o, pauseAll: n, resumeAll: s } = F();
408
- O.onToastsListChange((i) => {
409
- e.value = i;
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 a = P(() => {
412
- const i = /* @__PURE__ */ new Map();
413
- return e.value.forEach((c) => {
414
- const u = c.position || "top-center";
415
- i.has(u) || i.set(u, []), i.get(u).push(c);
416
- }), i;
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 (i, c) => (d(), C(I, { to: "body" }, [
419
- (d(), y(w, null, b(t, (u) => h("div", {
434
+ return (l, p) => (h(), T(N, { to: "body" }, [
435
+ (h(), v(_, null, O(e, (u) => f("div", {
420
436
  key: u,
421
- class: g(["toasts-lite__toast-container", [r.containerClass, `toasts-lite__${u}`]])
437
+ class: y(["toasts-lite__toast-container", [s.containerClass, `toasts-lite__${u}`]])
422
438
  }, [
423
- h("div", {
424
- class: g(["toasts-lite__toast-wrapper", r.wrapperClass]),
425
- onMouseenter: (l) => v(n)(u),
426
- onMouseleave: (l) => v(s)(u)
439
+ f("div", {
440
+ class: y(["toasts-lite__toast-wrapper", s.wrapperClass]),
441
+ onMouseenter: (i) => g(o)(u),
442
+ onMouseleave: (i) => g(r)(u)
427
443
  }, [
428
- N(R, {
444
+ R(S, {
429
445
  name: "toasts-lite",
430
446
  appear: ""
431
447
  }, {
432
- default: S(() => [
433
- (d(!0), y(w, null, b(a.value.get(u) || [], (l, f) => (d(), C(H, {
434
- id: l.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: (_) => v(o)(u, f, _),
437
- key: l.id,
438
- type: l.type,
439
- message: l.message,
440
- "auto-close": l.autoClose,
441
- duration: l.duration,
442
- position: l.position,
443
- class: g(r.itemClass),
444
- onClose: (_) => v(O).remove(l.id)
445
- }, null, 8, ["id", "type", "message", "auto-close", "duration", "position", "class", "onClose"]))), 128))
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, q)
467
+ ], 42, J)
450
468
  ], 2)), 64))
451
469
  ]));
452
470
  }
453
471
  });
454
472
  export {
455
- X as ToastsLiteProvider,
456
- O as toasts
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-main: var(--tl-loading-border, hsl(0, 0%, 15%));--toasts-lite-loading-border-bg: var(--tl-loading-bg, hsl(0, 0%, 98%))}@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-main);border-right-color:var(--toasts-lite-loading-border-bg);animation:loadingRotate 1s linear infinite}
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)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-toasts-lite",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "scheron",