@aotearoan/neon
Version:
Neon is a lightweight design library of Vue 3 components with minimal dependencies.
47 lines (46 loc) • 2.03 kB
JavaScript
import c from "./NeonToastContainer.es.js";
import { resolveComponent as _, openBlock as t, createElementBlock as n, normalizeClass as s, createVNode as p, TransitionGroup as u, withCtx as b, Fragment as m, renderList as $, toDisplayString as f, createCommentVNode as r, createBlock as k, withKeys as a, withModifiers as v } from "vue";
import y from "../../../../_virtual/_plugin-vue_export-helper.es.js";
const C = ["aria-labelledby", "role", "onClick"], h = ["id"];
function w(o, M, T, B, K, N) {
const d = _("neon-icon");
return t(), n("div", {
class: s([`neon-alert--${o.placement}`, "neon-alert"])
}, [
p(u, { name: "neon-alert-transition" }, {
default: b(() => [
(t(!0), n(m, null, $(o.modelValue, (e, l) => (t(), n("div", {
key: e.id,
"aria-labelledby": `toastTitle${l}`,
class: s([[`neon-toast__message--${e.level}`, { "neon-toast__message--dismissible": e.dismissible }], "neon-toast__message"]),
role: e.duration && e.duration > 0 ? "alert" : "alertdialog",
onClick: (i) => e.dismissible && o.closeMessage(e.id)
}, [
e.title ? (t(), n("div", {
key: 0,
id: `toastTitle${l}`,
class: "neon-toast__title"
}, f(e.title), 9, h)) : r("", !0),
e.dismissible ? (t(), k(d, {
key: 1,
role: e.dismissible ? "button" : void 0,
class: "neon-toast__close",
name: "times",
tabindex: "0",
onClick: (i) => e.dismissible && o.closeMessage(e.id),
onKeydown: [
a(v((i) => e.dismissible && o.closeMessage(e.id), ["prevent"]), ["space"]),
a((i) => e.dismissible && o.closeMessage(e.id), ["enter"])
]
}, null, 8, ["role", "onClick", "onKeydown"])) : r("", !0)
], 10, C))), 128))
]),
_: 1
})
], 2);
}
const E = /* @__PURE__ */ y(c, [["render", w]]);
export {
E as default
};
//# sourceMappingURL=NeonToastContainer.vue.es.js.map