UNPKG

@aotearoan/neon

Version:

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

97 lines (96 loc) 3.79 kB
import w from "./NeonDropdownMenu.es.js"; import { resolveComponent as i, openBlock as d, createBlock as r, mergeProps as b, withCtx as u, createElementVNode as l, createElementBlock as s, Fragment as f, renderList as k, normalizeClass as y, createCommentVNode as t, toDisplayString as p } from "vue"; import g from "../../../_virtual/_plugin-vue_export-helper.es.js"; const h = { class: "no-style neon-dropdown-menu__items", role: "menu" }, v = ["onMouseover"], $ = { key: 0, class: "neon-dropdown-menu__item-container" }, B = { class: "neon-dropdown-menu__item-label" }, C = { class: "neon-dropdown-menu__item-label" }, V = ["onClick"], z = { class: "neon-dropdown-menu__item-label" }; function D(n, o, H, P, F, M) { const a = i("neon-icon"), m = i("neon-link"), _ = i("neon-dropdown"); return d(), r(_, b({ ref: "dropdown", modelValue: n.open, "onUpdate:modelValue": o[0] || (o[0] = (e) => n.open = e), class: [`neon-dropdown-menu--${n.color}`, "neon-dropdown-menu"], color: n.color, disabled: n.disabled, openOnHover: n.openOnHover, size: n.size }, n.attrs, { onBlur: o[1] || (o[1] = (e) => n.onBlur()), onButton: o[2] || (o[2] = (e) => n.emit("button-ref", e)), onFocus: o[3] || (o[3] = (e) => n.onFocus()), "onUpdate:modelValue": o[4] || (o[4] = (e) => n.open = e), onDropdownPlacement: n.onPlacement }), { default: u(() => [ l("ul", h, [ (d(!0), s(f, null, k(n.model, (e) => (d(), s("li", { key: e.key, ref_for: !0, ref: "items", class: y([[ { "neon-dropdown-menu__item--disabled": e.disabled, "neon-dropdown-menu__item--separator-before": e.separatorBefore, "neon-dropdown-menu__item--group-title": e.isGroup, "neon-dropdown-menu__item--grouped": e.grouped, "neon-dropdown-menu__item--highlighted": e.key === n.highlightedKey }, `neon-dropdown-menu__item--${n.size}` ], "neon-dropdown-menu__item"]), onMouseover: (c) => n.changeHighlighted(e.key) }, [ e.isGroup ? (d(), s("div", $, [ e.icon ? (d(), r(a, { key: 0, disabled: e.disabled, name: e.icon, class: "neon-dropdown-menu__item-icon" }, null, 8, ["disabled", "name"])) : t("", !0), l("span", B, p(e.label), 1) ])) : e.href && !e.disabled ? (d(), r(m, { key: 1, href: e.href, "no-style": !0, "outline-style": "none", role: "menuitem" }, { default: u(() => [ e.icon ? (d(), r(a, { key: 0, disabled: e.disabled, name: e.icon, class: "neon-dropdown-menu__item-icon" }, null, 8, ["disabled", "name"])) : t("", !0), l("span", C, p(e.label), 1) ]), _: 2 }, 1032, ["href"])) : (d(), s("div", { key: 2, class: "neon-dropdown-menu__item-container", role: "menuitem", onClick: (c) => n.clickItem(e) }, [ e.icon ? (d(), r(a, { key: 0, disabled: e.disabled, name: e.icon, class: "neon-dropdown-menu__item-icon" }, null, 8, ["disabled", "name"])) : t("", !0), l("span", z, p(e.label), 1) ], 8, V)) ], 42, v))), 128)) ]) ]), _: 1 }, 16, ["modelValue", "class", "color", "disabled", "openOnHover", "size", "onDropdownPlacement"]); } const G = /* @__PURE__ */ g(w, [["render", D]]); export { G as default }; //# sourceMappingURL=NeonDropdownMenu.vue.es.js.map