UNPKG

@aotearoan/neon

Version:

Neon is a lightweight design library of Vue 3 components with minimal dependencies.

54 lines (53 loc) 1.76 kB
import { defineComponent as y, ref as l, onMounted as K, onUnmounted as I } from "vue"; import M from "../note/NeonNote.vue.es.js"; import N from "../../user-input/button/NeonButton.vue.es.js"; import { NeonAlertLevel as n } from "../../../model/feedback/alert/NeonAlertLevel.es.js"; import { NeonEventBus as o } from "../../../utils/common/event/NeonEventBus.es.js"; import { NeonBannerService as t } from "../../../utils/feedback/banner/NeonBannerService.es.js"; const _ = y({ name: "NeonBanner", components: { NeonNote: M, NeonButton: N }, setup() { const r = l([]), c = l(1), E = (e) => { r.value = r.value.filter((s) => s.id !== e.id); }, a = (e, s) => { const f = c.value; c.value = c.value + 1; const p = { ...s, level: e, id: f }; r.value.unshift(p); }, v = (e) => { const s = r.value.findIndex((f) => f.key === e); s >= 0 && r.value.splice(s, 1); }, m = (e) => { a(n.Info, e); }, u = (e) => { a(n.Success, e); }, i = (e) => { a(n.Warn, e); }, g = (e) => { a(n.Error, e); }, d = () => { const e = r.value[0]; e && (E(e), e.action.callback()); }; return K(() => { o.on(t.generateEventKey(n.Info), m), o.on(t.generateEventKey(n.Success), u), o.on(t.generateEventKey(n.Warn), i), o.on(t.generateEventKey(n.Error), g), o.on(t.removeEventKey, v); }), I(() => { o.off(t.generateEventKey(n.Info), m), o.off(t.generateEventKey(n.Success), u), o.off(t.generateEventKey(n.Warn), i), o.off(t.generateEventKey(n.Error), g), o.off(t.removeEventKey, v); }), { onAction: d, messages: r }; } }); export { _ as default }; //# sourceMappingURL=NeonBanner.es.js.map