@aotearoan/neon
Version:
Neon is a lightweight design library of Vue 3 components with minimal dependencies.
71 lines (70 loc) • 2.72 kB
JavaScript
import y from "./NeonButton.es.js";
import { resolveComponent as l, openBlock as n, createBlock as i, mergeProps as d, withKeys as m, withModifiers as f, withCtx as k, createCommentVNode as o, createElementBlock as s, toDisplayString as r } from "vue";
import v from "../../../_virtual/_plugin-vue_export-helper.es.js";
const c = {
key: 1,
class: "neon-button__label"
}, h = ["disabled", "tabindex", "type"], S = {
key: 1,
class: "neon-button__label"
};
function w(e, a, B, C, N, $) {
const t = l("neon-icon"), b = l("neon-link"), u = l("neon-expansion-indicator");
return e.href ? (n(), i(b, d({
key: 0,
ref: "button",
class: [e.classes, "neon-button"],
disabled: e.disabled || e.state !== "ready",
href: e.disabled ? void 0 : e.href,
tabindex: e.disabled ? -1 : 0,
"no-style": "",
"outline-style": "none",
role: "button"
}, e.sanitizedAttributes, {
onKeydown: m(f(e.clickLink, ["prevent"]), ["space"])
}), {
default: k(() => [
e.icon || e.state !== "ready" ? (n(), i(t, {
key: 0,
color: e.buttonStyle !== "solid" ? e.color : void 0,
disabled: e.disabled,
inverse: e.buttonStyle === "solid" || e.inverse,
name: e.iconName
}, null, 8, ["color", "disabled", "inverse", "name"])) : o("", !0),
e.label ? (n(), s("span", c, r(e.label), 1)) : o("", !0)
]),
_: 1
}, 16, ["class", "disabled", "href", "tabindex", "onKeydown"])) : (n(), s("button", d({
key: 1,
ref: "button",
class: [e.classes, "neon-button"],
disabled: e.disabled || e.state !== "ready",
tabindex: e.disabled ? -1 : 0,
type: e.buttonType
}, e.sanitizedAttributes, {
onClick: a[0] || (a[0] = (...p) => e.clickButton && e.clickButton(...p))
}), [
e.icon || e.state !== "ready" ? (n(), i(t, {
key: 0,
"aria-label": e.iconAriaLabel,
color: e.buttonStyle !== "solid" ? e.color : void 0,
disabled: e.disabled,
inverse: e.buttonStyle === "solid" || e.inverse,
name: e.iconName
}, null, 8, ["aria-label", "color", "disabled", "inverse", "name"])) : o("", !0),
e.label || e.buttonStyle === "input" ? (n(), s("span", S, r(e.label || e.buttonStyle === "input" && ""), 1)) : o("", !0),
e.indicator ? (n(), i(u, {
key: 2,
color: e.buttonStyle === "text" ? e.color : "low-contrast",
disabled: e.disabled,
expanded: e.indicatorExpanded,
inverse: e.buttonStyle === "solid" || e.inverse,
class: "neon-button__indicator"
}, null, 8, ["color", "disabled", "expanded", "inverse"])) : o("", !0)
], 16, h));
}
const z = /* @__PURE__ */ v(y, [["render", w]]);
export {
z as default
};
//# sourceMappingURL=NeonButton.vue.es.js.map