UNPKG

@jonywu/icon_test

Version:
96 lines (95 loc) 2.65 kB
import { inject as h, computed as r, createElementBlock as d, createBlock as m, createCommentVNode as o, openBlock as a, resolveDynamicComponent as f, defineComponent as v, normalizeClass as s, createVNode as l, renderSlot as g } from "vue"; const b = ["src", "width", "height", "alt"], u = { __name: "Icon", props: { name: { type: String }, size: { type: String }, width: { type: String }, height: { type: String }, color: { type: String, default: "currentColor" } }, setup(t) { const e = t, i = h("icons", {}), n = r(() => i[e.name] || null), c = r(() => typeof n.value == "string" && n.value.startsWith("data:image/svg+xml,")); return ($, w) => c.value ? (a(), d("img", { key: 0, src: n.value, width: t.size || t.width, height: t.size || t.height, alt: t.name }, null, 8, b)) : n.value ? (a(), m(f(n.value), { key: 1, width: t.size || t.width, height: t.size || t.height, fill: t.color }, null, 8, ["width", "height", "fill"])) : o("", !0); } }, y = { key: 1, class: "ded-button-content" }, C = /* @__PURE__ */ v({ __name: "Button", props: { themeColor: { default: "primary" }, variant: {}, prefix: {}, suffix: {}, size: { default: "medium" }, width: { default: "fit" }, borderWidth: {}, radius: {}, isDisabled: { type: Boolean, default: !1 }, className: { default: "" } }, setup(t) { const e = t; return (i, n) => (a(), d("button", { class: s({ "ded-button": !0, [`ded-button-${e.width}`]: e.width, [`ded-text-${e.size}`]: e.size, [`ded-button-${e.variant}`]: e.variant, [`ded-button-${e.variant}-${e.themeColor}`]: e.variant && e.themeColor, [`ded-button-${e.variant}-disabled`]: e.variant && e.isDisabled, [`ded-button-border-width-${e.borderWidth}`]: e.borderWidth, [`ded-button-radius-${e.radius}`]: e.radius, [e.className]: !!e.className // 'ded-button-only-icon' : !slot }) }, [ i.prefix ? (a(), d("div", { key: 0, class: s(`ded-icon-${e.size}`) }, [ l(u, { name: e.prefix }, null, 8, ["name"]) ], 2)) : o("", !0), i.$slots.default ? (a(), d("div", y, [ g(i.$slots, "default") ])) : o("", !0), i.suffix ? (a(), d("div", { key: 2, class: s(`ded-icon-${e.size}`) }, [ l(u, { name: e.suffix }, null, 8, ["name"]) ], 2)) : o("", !0) ], 2)); } }); export { C as Button, u as Icon };