UNPKG

vue-amazing-ui

Version:

An Amazing Vue3 UI Components Library, Using TypeScript.

37 lines (36 loc) 1.69 kB
import { defineComponent as c, computed as r, createElementBlock as l, openBlock as p, normalizeStyle as m, renderSlot as b } from "vue"; var a = /* @__PURE__ */ ((t) => (t.primary = "rgba(22, 199, 255, 0.6)", t.info = "rgba(22, 199, 255, 0.6)", t.success = "rgba(82, 196, 26, 0.6)", t.warning = "rgba(250, 173, 20, 0.6)", t.error = "rgba(255, 77, 79, 0.6)", t))(a || {}), i = /* @__PURE__ */ ((t) => (t.primary = "#1677ff", t.info = "#1677ff", t.success = "#52c41a", t.warning = "#faad14", t.error = "#ff4d4f", t))(i || {}); const $ = /* @__PURE__ */ c({ __name: "GradientText", props: { gradient: { default: void 0 }, size: { default: 14 }, weight: { default: 400 }, type: { default: "primary" } }, setup(t) { const e = t, o = r(() => typeof e.gradient == "string" ? { backgroundImage: e.gradient } : {}), f = r(() => typeof e.gradient == "object" && e.gradient.deg ? d(e.gradient.deg) ? `${e.gradient.deg}deg` : e.gradient.deg : "252deg"), s = r(() => typeof e.gradient == "object" ? e.gradient.from : a[e.type]), u = r(() => typeof e.gradient == "object" ? e.gradient.to : i[e.type]), g = r(() => { if (typeof e.size == "number") return `${e.size}px`; if (typeof e.size == "string") return e.size; }); function d(n) { return typeof n == "number"; } return (n, v) => (p(), l("span", { class: "gradient-text-wrap", style: m([ `--rotate: ${f.value}; --color-start: ${s.value}; --color-end: ${u.value}; --font-size: ${g.value}; --font-weight: ${n.weight};`, o.value ]) }, [ b(n.$slots, "default", {}, void 0, !0) ], 4)); } }); export { $ as default };