UNPKG

comic-plus

Version:

<p align="center"> <img width="200px" src="./logo.png"/> </p>

35 lines (34 loc) 1.07 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const vue = require("vue"); const icon_props = require("./icon.props.js"); const components = require("./components.js"); require("../style/icon.css"); const enums = (() => { return Object.keys(components).reduce((sum, acc) => { let key = acc.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2").toLowerCase(); sum[key] = acc; return sum; }, {}); })(); const Icon = vue.defineComponent({ name: "CuIcon", props: { ...icon_props.iconProps, name: { type: String, required: true } }, setup(props) { const currentIcon = vue.computed(() => { if (!enums[props.name]) { vue.warn("The icon with that name does not exist in the library. Please check if the name is legal"); return null; } return vue.h(components[enums[props.name]], props); }); return () => vue.h("i", { class: "cu-icon" }, currentIcon.value); } }); exports.default = Icon;