@studiolxd/brand 44.0.0 → 45.0.0

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.
@@ -1,87 +1,88 @@
1
1
  'use client';
2
2
  import './confirm-dialog.css';
3
- import { Button as e } from "./button.js";
4
- import { Modal as t } from "./modal.js";
5
- import { InputField as n } from "./input-field.js";
6
- import { useEffect as r, useId as i, useRef as a, useState as o } from "react";
7
- import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
3
+ import { n as e } from "./_shared/brandmessagescontext.js";
4
+ import { Button as t } from "./button.js";
5
+ import { Modal as n } from "./modal.js";
6
+ import { InputField as r } from "./input-field.js";
7
+ import { useEffect as i, useId as a, useRef as o, useState as s } from "react";
8
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
8
9
  //#region src/stories/molecules/ConfirmDialog/ConfirmDialog.tsx
9
- function u({ open: u, title: d, description: f, children: p, onConfirm: m, onCancel: h, onConfirmError: g, secondaryActionLabel: _, onSecondaryAction: v, destructive: y = !1, confirmLabel: b = "Confirmar", cancelLabel: x = "Cancelar", pendingLabel: S = "Confirmando…", closeLabel: C = "Cerrar", confirmPhrase: w, confirmPhraseLabel: T, confirmPhraseMismatch: E, container: D, className: O }) {
10
- let k = a(null), A = a(null), j = i(), [M, N] = o(!1), [P, F] = o(""), [I, L] = o(!1), R = w === void 0 || P.trim() === w, z = I && !R;
11
- r(() => {
12
- u || (N(!1), F(""), L(!1));
13
- }, [u]);
14
- let B = () => {
15
- M || h();
16
- }, V = async () => {
17
- if (M || !R) return;
18
- let e = m();
10
+ function d({ open: d, title: f, description: p, children: m, onConfirm: h, onCancel: g, onConfirmError: _, secondaryActionLabel: v, onSecondaryAction: y, destructive: b = !1, confirmLabel: x, cancelLabel: S, pendingLabel: C, closeLabel: w, confirmPhrase: T, confirmPhraseLabel: E, confirmPhraseMismatch: D, container: O, className: k }) {
11
+ let A = e("confirmDialog"), j = o(null), M = o(null), N = a(), [P, F] = s(!1), [I, L] = s(""), [R, z] = s(!1), B = T === void 0 || I.trim() === T, V = R && !B;
12
+ i(() => {
13
+ d || (F(!1), L(""), z(!1));
14
+ }, [d]);
15
+ let H = () => {
16
+ P || g();
17
+ }, U = async () => {
18
+ if (P || !B) return;
19
+ let e = h();
19
20
  if (e instanceof Promise) {
20
- N(!0);
21
+ F(!0);
21
22
  try {
22
23
  await e;
23
24
  } catch (e) {
24
- g?.(e);
25
+ _?.(e);
25
26
  } finally {
26
- N(!1);
27
+ F(!1);
27
28
  }
28
29
  }
29
30
  };
30
- return /* @__PURE__ */ l(t, {
31
- open: u,
32
- onClose: B,
33
- title: d,
34
- closeLabel: C,
35
- container: D,
36
- initialFocus: w === void 0 ? k : A,
37
- ...f == null ? {} : { description: f },
38
- footerClassName: ["confirm-dialog__actions", O].filter(Boolean).join(" "),
39
- footer: /* @__PURE__ */ l(s, { children: [
40
- /* @__PURE__ */ c(e, {
41
- ref: k,
31
+ return /* @__PURE__ */ u(n, {
32
+ open: d,
33
+ onClose: H,
34
+ title: f,
35
+ ...w === void 0 ? {} : { closeLabel: w },
36
+ container: O,
37
+ initialFocus: T === void 0 ? j : M,
38
+ ...p == null ? {} : { description: p },
39
+ footerClassName: ["confirm-dialog__actions", k].filter(Boolean).join(" "),
40
+ footer: /* @__PURE__ */ u(c, { children: [
41
+ /* @__PURE__ */ l(t, {
42
+ ref: j,
42
43
  variant: "outline",
43
- onClick: B,
44
- disabled: M,
45
- children: x
44
+ onClick: H,
45
+ disabled: P,
46
+ children: A("cancel", S)
46
47
  }),
47
- _ && v && /* @__PURE__ */ c(e, {
48
+ v && y && /* @__PURE__ */ l(t, {
48
49
  variant: "outline",
49
- onClick: v,
50
- disabled: M,
51
- children: _
50
+ onClick: y,
51
+ disabled: P,
52
+ children: v
52
53
  }),
53
- /* @__PURE__ */ c(e, {
54
- variant: y ? "outline" : "primary",
55
- destructive: y,
56
- onClick: V,
57
- disabled: M || !R,
58
- children: M ? S : b
54
+ /* @__PURE__ */ l(t, {
55
+ variant: b ? "outline" : "primary",
56
+ destructive: b,
57
+ onClick: U,
58
+ disabled: P || !B,
59
+ children: P ? A("pending", C) : x
59
60
  })
60
61
  ] }),
61
- children: [p, w !== void 0 && /* @__PURE__ */ c(n, {
62
- ref: A,
63
- id: `${j}-confirm-phrase`,
62
+ children: [m, T !== void 0 && /* @__PURE__ */ l(r, {
63
+ ref: M,
64
+ id: `${N}-confirm-phrase`,
64
65
  className: "confirm-dialog__phrase",
65
- label: T ?? "",
66
- value: P,
67
- disabled: M,
66
+ label: E ?? "",
67
+ value: I,
68
+ disabled: P,
68
69
  autoComplete: "off",
69
70
  autoCorrect: "off",
70
71
  autoCapitalize: "none",
71
72
  spellCheck: !1,
72
- error: z,
73
- ...z ? { errorMessage: E } : {},
73
+ error: V,
74
+ ...V ? { errorMessage: D } : {},
74
75
  onChange: (e) => {
75
- F(e.target.value), L(!1);
76
+ L(e.target.value), z(!1);
76
77
  },
77
78
  onBlur: () => {
78
- P !== "" && L(!0);
79
+ I !== "" && z(!0);
79
80
  },
80
81
  onKeyDown: (e) => {
81
- e.key === "Enter" && (e.preventDefault(), R ? V() : P !== "" && L(!0));
82
+ e.key === "Enter" && (e.preventDefault(), B ? U() : I !== "" && z(!0));
82
83
  }
83
84
  })]
84
85
  });
85
86
  }
86
87
  //#endregion
87
- export { u as ConfirmDialog };
88
+ export { d as ConfirmDialog };
package/dist/consent.js CHANGED
@@ -60,7 +60,7 @@ function m(e, t) {
60
60
  for (let e of t) e.required && (n[e.id] = !0);
61
61
  return n;
62
62
  }
63
- function h({ open: t, onOpenChange: n, categories: r, value: i, onChange: p, onSave: h, surface: g = "modal", side: _ = "right", title: v = "Preferencias de cookies", closeLabel: y = "Cerrar", alwaysOnLabel: b = "Siempre activa", container: x, className: S }) {
63
+ function h({ open: t, onOpenChange: n, categories: r, value: i, onChange: p, onSave: h, surface: g = "modal", side: _ = "right", title: v = "Preferencias de cookies", closeLabel: y, alwaysOnLabel: b = "Siempre activa", container: x, className: S }) {
64
64
  let C = p !== void 0, [w, T] = l(() => m(i, r));
65
65
  c(() => {
66
66
  t && !C && T(m(i, r));
@@ -92,7 +92,7 @@ function h({ open: t, onOpenChange: n, categories: r, value: i, onChange: p, onS
92
92
  open: t,
93
93
  onClose: () => n(!1),
94
94
  title: typeof v == "string" ? v : void 0,
95
- closeLabel: y,
95
+ ...y === void 0 ? {} : { closeLabel: y },
96
96
  container: x,
97
97
  children: k
98
98
  }) : /* @__PURE__ */ d(o, {
@@ -100,7 +100,7 @@ function h({ open: t, onOpenChange: n, categories: r, value: i, onChange: p, onS
100
100
  onOpenChange: n,
101
101
  side: _,
102
102
  title: v,
103
- closeLabel: y,
103
+ ...y === void 0 ? {} : { closeLabel: y },
104
104
  container: x,
105
105
  children: k
106
106
  });
package/dist/modal.js CHANGED
@@ -1,56 +1,57 @@
1
1
  'use client';
2
2
  import './modal.css';
3
- import { VisuallyHidden as e } from "./visually-hidden.js";
4
- import { CloseButton as t } from "./close-button.js";
5
- import { n, r, t as i } from "./_shared/dialogsurface.js";
6
- import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
7
- import { Dialog as c } from "@base-ui/react/dialog";
3
+ import { n as e } from "./_shared/brandmessagescontext.js";
4
+ import { VisuallyHidden as t } from "./visually-hidden.js";
5
+ import { CloseButton as n } from "./close-button.js";
6
+ import { n as r, r as i, t as a } from "./_shared/dialogsurface.js";
7
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
8
+ import { Dialog as l } from "@base-ui/react/dialog";
8
9
  //#region src/stories/molecules/Modal/Modal.tsx
9
- function l({ open: l, onClose: u, title: d, children: f, closeLabel: p = "Cerrar", fallbackTitle: m = "Diálogo", container: h, description: g, "aria-describedby": _, initialFocus: v, footer: y, footerClassName: b, ...x }) {
10
- let S = _ === void 0 ? {} : { "aria-describedby": _ }, C = v === void 0 ? {} : { initialFocus: v };
11
- return /* @__PURE__ */ o(c.Root, {
12
- open: l,
10
+ function u({ open: u, onClose: d, title: f, children: p, closeLabel: m, fallbackTitle: h, container: g, description: _, "aria-describedby": v, initialFocus: y, footer: b, footerClassName: x, ...S }) {
11
+ let C = e("modal"), w = v === void 0 ? {} : { "aria-describedby": v }, T = y === void 0 ? {} : { initialFocus: y };
12
+ return /* @__PURE__ */ s(l.Root, {
13
+ open: u,
13
14
  onOpenChange: (e) => {
14
- e || u();
15
+ e || d();
15
16
  },
16
- children: /* @__PURE__ */ s(c.Portal, {
17
- container: h,
18
- children: [/* @__PURE__ */ o(r, { className: "modal__overlay" }), /* @__PURE__ */ s(c.Popup, {
17
+ children: /* @__PURE__ */ c(l.Portal, {
18
+ container: g,
19
+ children: [/* @__PURE__ */ s(i, { className: "modal__overlay" }), /* @__PURE__ */ c(l.Popup, {
19
20
  className: "modal__content",
21
+ ...w,
22
+ ...T,
20
23
  ...S,
21
- ...C,
22
- ...x,
23
24
  children: [
24
- d ? /* @__PURE__ */ s(n, {
25
+ f ? /* @__PURE__ */ c(r, {
25
26
  layout: "inline",
26
27
  className: "modal__header",
27
- children: [/* @__PURE__ */ o(c.Title, {
28
+ children: [/* @__PURE__ */ s(l.Title, {
28
29
  className: "modal__title",
29
- children: d
30
- }), /* @__PURE__ */ o(c.Close, {
30
+ children: f
31
+ }), /* @__PURE__ */ s(l.Close, {
31
32
  className: "modal__close",
32
- render: /* @__PURE__ */ o(t, { label: p })
33
+ render: /* @__PURE__ */ s(n, { label: C("close", m) })
33
34
  })]
34
- }) : /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(c.Title, { render: /* @__PURE__ */ o(e, { children: m }) }), /* @__PURE__ */ o(n, {
35
+ }) : /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(l.Title, { render: /* @__PURE__ */ s(t, { children: C("fallbackTitle", h) }) }), /* @__PURE__ */ s(r, {
35
36
  layout: "inline",
36
37
  noTitle: !0,
37
38
  className: "modal__header modal__header--no-title",
38
- children: /* @__PURE__ */ o(c.Close, {
39
+ children: /* @__PURE__ */ s(l.Close, {
39
40
  className: "modal__close",
40
- render: /* @__PURE__ */ o(t, { label: p })
41
+ render: /* @__PURE__ */ s(n, { label: C("close", m) })
41
42
  })
42
43
  })] }),
43
- g != null && /* @__PURE__ */ o(c.Description, {
44
+ _ != null && /* @__PURE__ */ s(l.Description, {
44
45
  className: "modal__description",
45
- children: g
46
+ children: _
46
47
  }),
47
- /* @__PURE__ */ o("div", {
48
+ /* @__PURE__ */ s("div", {
48
49
  className: "modal__body",
49
- children: f
50
+ children: p
50
51
  }),
51
- y != null && /* @__PURE__ */ o(i, {
52
- className: ["modal__footer", b].filter(Boolean).join(" "),
53
- children: y
52
+ b != null && /* @__PURE__ */ s(a, {
53
+ className: ["modal__footer", x].filter(Boolean).join(" "),
54
+ children: b
54
55
  })
55
56
  ]
56
57
  })]
@@ -58,4 +59,4 @@ function l({ open: l, onClose: u, title: d, children: f, closeLabel: p = "Cerrar
58
59
  });
59
60
  }
60
61
  //#endregion
61
- export { l as Modal };
62
+ export { u as Modal };
package/dist/sheet.js CHANGED
@@ -1,53 +1,55 @@
1
1
  'use client';
2
2
  import './sheet.css';
3
- import { VisuallyHidden as e } from "./visually-hidden.js";
4
- import { CloseButton as t } from "./close-button.js";
5
- import { n, r, t as i } from "./_shared/dialogsurface.js";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
- import { Dialog as s } from "@base-ui/react/dialog";
3
+ import { n as e } from "./_shared/brandmessagescontext.js";
4
+ import { VisuallyHidden as t } from "./visually-hidden.js";
5
+ import { CloseButton as n } from "./close-button.js";
6
+ import { n as r, r as i, t as a } from "./_shared/dialogsurface.js";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ import { Dialog as c } from "@base-ui/react/dialog";
8
9
  //#region src/stories/molecules/Sheet/Sheet.tsx
9
- function c({ className: e, ...t }) {
10
- return /* @__PURE__ */ a(i, {
10
+ function l({ className: e, ...t }) {
11
+ return /* @__PURE__ */ o(a, {
11
12
  className: ["sheet__footer", e].filter(Boolean).join(" "),
12
13
  ...t
13
14
  });
14
15
  }
15
- function l({ open: i, onOpenChange: l, side: u = "right", title: d, titleHidden: f = !1, description: p, footer: m, children: h, closeLabel: g = "Cerrar", hideClose: _ = !1, trigger: v, container: y, onAnimationEndCapture: b, className: x, ...S }) {
16
- return /* @__PURE__ */ o(s.Root, {
17
- open: i,
18
- onOpenChange: (e) => l(e),
19
- children: [v && /* @__PURE__ */ a(s.Trigger, { render: v }), /* @__PURE__ */ o(s.Portal, {
20
- container: y,
21
- children: [/* @__PURE__ */ a(r, { className: "sheet__overlay" }), /* @__PURE__ */ o(s.Popup, {
22
- className: ["sheet", x].filter(Boolean).join(" "),
23
- "data-side": u,
24
- onAnimationEndCapture: b,
25
- ...S,
16
+ function u({ open: a, onOpenChange: u, side: d = "right", title: f, titleHidden: p = !1, description: m, footer: h, children: g, closeLabel: _, hideClose: v = !1, trigger: y, container: b, onAnimationEndCapture: x, className: S, ...C }) {
17
+ let w = e("sheet");
18
+ return /* @__PURE__ */ s(c.Root, {
19
+ open: a,
20
+ onOpenChange: (e) => u(e),
21
+ children: [y && /* @__PURE__ */ o(c.Trigger, { render: y }), /* @__PURE__ */ s(c.Portal, {
22
+ container: b,
23
+ children: [/* @__PURE__ */ o(i, { className: "sheet__overlay" }), /* @__PURE__ */ s(c.Popup, {
24
+ className: ["sheet", S].filter(Boolean).join(" "),
25
+ "data-side": d,
26
+ onAnimationEndCapture: x,
27
+ ...C,
26
28
  children: [
27
- /* @__PURE__ */ o(n, {
29
+ /* @__PURE__ */ s(r, {
28
30
  layout: "stacked",
29
31
  className: "sheet__header",
30
- children: [f ? /* @__PURE__ */ a(s.Title, { render: /* @__PURE__ */ a(e, { children: d }) }) : /* @__PURE__ */ a(s.Title, {
32
+ children: [p ? /* @__PURE__ */ o(c.Title, { render: /* @__PURE__ */ o(t, { children: f }) }) : /* @__PURE__ */ o(c.Title, {
31
33
  className: "sheet__title",
32
- children: d
33
- }), p != null && /* @__PURE__ */ a(s.Description, {
34
+ children: f
35
+ }), m != null && /* @__PURE__ */ o(c.Description, {
34
36
  className: "sheet__description",
35
- children: p
37
+ children: m
36
38
  })]
37
39
  }),
38
- !_ && /* @__PURE__ */ a(s.Close, {
40
+ !v && /* @__PURE__ */ o(c.Close, {
39
41
  className: "sheet__close",
40
- render: /* @__PURE__ */ a(t, { label: g })
42
+ render: /* @__PURE__ */ o(n, { label: w("close", _) })
41
43
  }),
42
- /* @__PURE__ */ a("div", {
44
+ /* @__PURE__ */ o("div", {
43
45
  className: "sheet__body",
44
- children: h
46
+ children: g
45
47
  }),
46
- m && /* @__PURE__ */ a(c, { children: m })
48
+ h && /* @__PURE__ */ o(l, { children: h })
47
49
  ]
48
50
  })]
49
51
  })]
50
52
  });
51
53
  }
52
54
  //#endregion
53
- export { l as Sheet, c as SheetFooter };
55
+ export { u as Sheet, l as SheetFooter };
package/dist/toaster.js CHANGED
@@ -1,80 +1,81 @@
1
1
  'use client';
2
2
  import './toaster.css';
3
- import { Button as e } from "./button.js";
4
- import { CloseButton as t } from "./close-button.js";
5
- import { t as n } from "./_shared/css-properties.js";
6
- import { TOAST_DURATION as r, setToastDefaultDuration as i, syncLiveToasts as a, toastManager as o } from "./toast.js";
7
- import { useEffect as s } from "react";
8
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
- import { Toast as u } from "@base-ui/react/toast";
3
+ import { n as e } from "./_shared/brandmessagescontext.js";
4
+ import { Button as t } from "./button.js";
5
+ import { CloseButton as n } from "./close-button.js";
6
+ import { t as r } from "./_shared/css-properties.js";
7
+ import { TOAST_DURATION as i, setToastDefaultDuration as a, syncLiveToasts as o, toastManager as s } from "./toast.js";
8
+ import { useEffect as c } from "react";
9
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
10
+ import { Toast as d } from "@base-ui/react/toast";
10
11
  //#region src/stories/molecules/Toast/Toaster.tsx
11
- var d = 8, f = {
12
+ var f = 8, p = {
12
13
  success: "alert--success",
13
14
  error: "alert--error",
14
15
  warning: "alert--warning"
15
16
  };
16
- function p(e, t) {
17
+ function m(e, t) {
17
18
  return [
18
19
  "alert",
19
- f[e ?? ""] ?? "",
20
+ p[e ?? ""] ?? "",
20
21
  e === "warning" ? "" : "surface-dark",
21
22
  t ? "alert--dismissible" : "",
22
23
  "toast"
23
24
  ].filter(Boolean).join(" ");
24
25
  }
25
- function m({ position: r, containerAriaLabel: i, closeLabel: o, closeButton: d, gap: f, expand: m }) {
26
- let { toasts: h } = u.useToastManager(), [g, _] = r.split("-"), v = h.map((e) => e.id).join(",");
27
- s(() => {
28
- a(v ? v.split(",") : []);
29
- }, [v]);
30
- let y = n({ "--toast-gap": `${f}px` }), b = [
26
+ function h({ position: i, containerAriaLabel: a, closeLabel: s, closeButton: f, gap: p, expand: h }) {
27
+ let g = e("toaster"), { toasts: _ } = d.useToastManager(), [v, y] = i.split("-"), b = _.map((e) => e.id).join(",");
28
+ c(() => {
29
+ o(b ? b.split(",") : []);
30
+ }, [b]);
31
+ let x = r({ "--toast-gap": `${p}px` }), S = [
31
32
  "toaster",
32
- g === "top" ? "toaster--top" : "",
33
- _ === "right" ? "" : `toaster--${_}`,
34
- m ? "toaster--expanded" : ""
33
+ v === "top" ? "toaster--top" : "",
34
+ y === "right" ? "" : `toaster--${y}`,
35
+ h ? "toaster--expanded" : ""
35
36
  ].filter(Boolean).join(" ");
36
- return /* @__PURE__ */ c(u.Portal, { children: /* @__PURE__ */ c(u.Viewport, {
37
- ref: y,
38
- className: b,
39
- "aria-label": i,
40
- children: h.map((n) => /* @__PURE__ */ l(u.Root, {
41
- toast: n,
42
- className: p(n.type, d),
43
- children: [/* @__PURE__ */ l("div", {
37
+ return /* @__PURE__ */ l(d.Portal, { children: /* @__PURE__ */ l(d.Viewport, {
38
+ ref: x,
39
+ className: S,
40
+ "aria-label": g("container", a),
41
+ children: _.map((e) => /* @__PURE__ */ u(d.Root, {
42
+ toast: e,
43
+ className: m(e.type, f),
44
+ children: [/* @__PURE__ */ u("div", {
44
45
  className: "alert__content",
45
46
  children: [
46
- /* @__PURE__ */ c(u.Title, { className: "alert__title" }),
47
- /* @__PURE__ */ c(u.Description, { className: "alert__description" }),
48
- /* @__PURE__ */ c(u.Action, {
47
+ /* @__PURE__ */ l(d.Title, { className: "alert__title" }),
48
+ /* @__PURE__ */ l(d.Description, { className: "alert__description" }),
49
+ /* @__PURE__ */ l(d.Action, {
49
50
  className: "toast__action",
50
- render: /* @__PURE__ */ c(e, {
51
+ render: /* @__PURE__ */ l(t, {
51
52
  variant: "ghost",
52
53
  size: "sm"
53
54
  })
54
55
  })
55
56
  ]
56
- }), d && /* @__PURE__ */ c(u.Close, {
57
+ }), f && /* @__PURE__ */ l(d.Close, {
57
58
  className: "alert__close",
58
- render: /* @__PURE__ */ c(t, { label: o })
59
+ render: /* @__PURE__ */ l(n, { label: g("close", s) })
59
60
  })]
60
- }, n.id))
61
+ }, e.id))
61
62
  }) });
62
63
  }
63
- function h({ position: e = "bottom-right", containerAriaLabel: t = "Notificaciones", closeLabel: n = "Cerrar", closeButton: a = !0, duration: l = r, gap: f = d, visibleToasts: p = 3, expand: h = !1 }) {
64
- let g = Number.isFinite(l) ? l : 0;
65
- return s(() => i(g), [g]), /* @__PURE__ */ c(u.Provider, {
66
- toastManager: o,
64
+ function g({ position: e = "bottom-right", containerAriaLabel: t, closeLabel: n, closeButton: r = !0, duration: o = i, gap: u = f, visibleToasts: p = 3, expand: m = !1 }) {
65
+ let g = Number.isFinite(o) ? o : 0;
66
+ return c(() => a(g), [g]), /* @__PURE__ */ l(d.Provider, {
67
+ toastManager: s,
67
68
  timeout: g,
68
69
  limit: p,
69
- children: /* @__PURE__ */ c(m, {
70
+ children: /* @__PURE__ */ l(h, {
70
71
  position: e,
71
72
  containerAriaLabel: t,
72
73
  closeLabel: n,
73
- closeButton: a,
74
- gap: f,
75
- expand: h
74
+ closeButton: r,
75
+ gap: u,
76
+ expand: m
76
77
  })
77
78
  });
78
79
  }
79
80
  //#endregion
80
- export { h as Toaster };
81
+ export { g as Toaster };