/** * e-icon-picker v2.1.1 * (c) 2019 - 2022 cnovel.club * @license MIT */ import { defineComponent as h, openBlock as r, createElementBlock as l, normalizeClass as u, createElementVNode as f, createBlock as N, resolveDynamicComponent as g, normalizeStyle as k, createCommentVNode as v } from "vue"; var m; const c = typeof window < "u"; c && ((m = window == null ? void 0 : window.navigator) != null && m.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent); function a(e) { return /^(https?:|data:|\/\/?)/.test(e); } (function() { return c && document && document.addEventListener ? (e, n, t) => { e && n && t && e.addEventListener(n, t, !1); } : (e, n, t) => { e && n && t && e.attachEvent("on" + n, t); }; })(); (function() { return c && document && document.removeEventListener ? function(e, n, t) { e && n && e.removeEventListener(n, t, !1); } : function(e, n, t) { e && n && e.detachEvent("on" + n, t); }; })(); c && function(e, n, t) { !e.composedPath && t && (e.composedPath = function() { if (this.path) return this.path; let i = this.target; for (this.path = []; i.parentNode !== null; ) this.path.push(i), i = i.parentNode; return this.path.push(n, t), this.path; }), String.prototype.startsWith || Object.defineProperty(String.prototype, "startsWith", { value: function(i, o) { return o = !o || o < 0 ? 0 : +o, this.substring(o, o + i.length) === i; } }); }(Event.prototype, document, window); const p = "click", y = h({ name: "e-icon", props: { iconName: { type: String, required: !0 }, className: { type: String, default: "" } }, emits: [p], setup(e, n) { return { click: (i, o) => { o && o.preventDefault(), n.emit(p, i); } }; }, computed: { fontClass() { return this.iconName && this.iconName.trim().length > 2 && !a(this.iconName) && !this.iconName.startsWith("#") && !this.iconName.startsWith("component "); }, svg() { return this.iconName && this.iconName.trim().length > 2 && !a(this.iconName) && this.iconName.startsWith("#"); }, isComponent() { return this.iconName && this.iconName.trim().length > 2 && !a(this.iconName) && this.iconName.startsWith("component "); }, component() { return this.iconName.replace("component ", ""); }, isExternal() { return a(this.iconName); }, svgClass() { return this.className ? "icon " + this.className : "icon"; }, styleExternalIcon() { return { "background-image": `url(${this.iconName})`, "background-repeat": "no-repeat", "background-size": "100% 100%", "-moz-background-size": "100% 100%" }; } } }); const C = (e, n) => { const t = e.__vccOpts || e; for (const [i, o] of n) t[i] = o; return t; }, E = ["xlink:href"]; function w(e, n, t, i, o, b) { return e.fontClass ? (r(), l("i", { key: 0, class: u(["e-icon", [e.iconName, e.className]]), onClick: n[0] || (n[0] = (s) => e.click(e.iconName, s)) }, null, 2)) : e.svg ? (r(), l("svg", { key: 1, class: u([e.svgClass, "e-icon e-icon-svg"]), "aria-hidden": "true", onClick: n[1] || (n[1] = (s) => e.click(e.iconName, s)) }, [ f("use", { "xlink:href": e.iconName }, null, 8, E) ], 2)) : e.isComponent ? (r(), N(g(e.component), { key: 2, class: "e-icon icon e-icon-svg", onClick: n[2] || (n[2] = (s) => e.click(e.iconName, s)) })) : e.isExternal ? (r(), l("div", { key: 3, style: k(e.styleExternalIcon), class: u([e.className, "e-icon icon external-icon"]), onClick: n[3] || (n[3] = (s) => e.click(e.iconName, s)) }, null, 6)) : v("", !0); } const d = /* @__PURE__ */ C(y, [["render", w], ["__scopeId", "data-v-8e177972"]]), W = { install(e) { e.component(d.name, d); } }; export { W as default, d as eIcon };