1 line
4.5 KiB
JSON
1 line
4.5 KiB
JSON
|
{"remainingRequest":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\babel-loader\\lib\\index.js!D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\phpstudy_pro\\WWW\\travel\\admin\\src\\components\\SvgIcon\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\src\\components\\SvgIcon\\index.vue","mtime":1718070786005},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\babel.config.js","mtime":1718070785981},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1718764957200},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":1718764959024},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1718764957200},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1718764959862}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KCi8vIGRvYzogaHR0cHM6Ly9wYW5qaWFjaGVuLmdpdGh1Yi5pby92dWUtZWxlbWVudC1hZG1pbi1zaXRlL2ZlYXR1cmUvY29tcG9uZW50L3N2Zy1pY29uLmh0bWwjdXNhZ2UKaW1wb3J0IHsgaXNFeHRlcm5hbCBhcyBfaXNFeHRlcm5hbCB9IGZyb20gJ0AvdXRpbHMvdmFsaWRhdGUnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ1N2Z0ljb24nLAogIHByb3BzOiB7CiAgICBpY29uQ2xhc3M6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICByZXF1aXJlZDogdHJ1ZQogICAgfSwKICAgIGNsYXNzTmFtZTogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICcnCiAgICB9CiAgfSwKICBjb21wdXRlZDogewogICAgaXNFeHRlcm5hbDogZnVuY3Rpb24gaXNFeHRlcm5hbCgpIHsKICAgICAgcmV0dXJuIF9pc0V4dGVybmFsKHRoaXMuaWNvbkNsYXNzKTsKICAgIH0sCiAgICBpY29uTmFtZTogZnVuY3Rpb24gaWNvbk5hbWUoKSB7CiAgICAgIHJldHVybiAiI2ljb24tIi5jb25jYXQodGhpcy5pY29uQ2xhc3MpOwogICAgfSwKICAgIHN2Z0NsYXNzOiBmdW5jdGlvbiBzdmdDbGFzcygpIHsKICAgICAgaWYgKHRoaXMuY2xhc3NOYW1lKSB7CiAgICAgICAgcmV0dXJuICdzdmctaWNvbiAnICsgdGhpcy5jbGFzc05hbWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICdzdmctaWNvbic7CiAgICAgIH0KICAgIH0sCiAgICBzdHlsZUV4dGVybmFsSWNvbjogZnVuY3Rpb24gc3R5bGVFeHRlcm5hbEljb24oKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgbWFzazogInVybCgiLmNvbmNhdCh0aGlzLmljb25DbGFzcywgIikgbm8tcmVwZWF0IDUwJSA1MCUiKSwKICAgICAgICAnLXdlYmtpdC1tYXNrJzogInVybCgiLmNvbmNhdCh0aGlzLmljb25DbGFzcywgIikgbm8tcmVwZWF0IDUwJSA1MCUiKQogICAgICB9OwogICAgfQogIH0KfTs="},{"version":3,"names":["isExternal","name","props","iconClass","type","String","required","className","default","computed","iconName","concat","svgClass","styleExternalIcon","mask"],"sources":["src/components/SvgIcon/index.vue"],"sourcesContent":["<template>\r\n <div v-if=\"isExternal\" :style=\"styleExternalIcon\" class=\"svg-external-icon svg-icon\" v-on=\"$listeners\" />\r\n <svg v-else :class=\"svgClass\" aria-hidden=\"true\" v-on=\"$listeners\">\r\n <use :xlink:href=\"iconName\" />\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage\r\nimport { isExternal } from '@/utils/validate'\r\n\r\nexport default {\r\n name: 'SvgIcon',\r\n props: {\r\n iconClass: {\r\n type: String,\r\n required: true\r\n },\r\n className: {\r\n type: String,\r\n default: ''\r\n }\r\n },\r\n computed: {\r\n isExternal() {\r\n return isExternal(this.iconClass)\r\n },\r\n iconName() {\r\n return `#icon-${this.iconClass}`\r\n },\r\n svgClass() {\r\n if (this.className) {\r\n return 'svg-icon ' + this.className\r\n } else {\r\n return 'svg-icon'\r\n }\r\n },\r\n styleExternalIcon() {\r\n return {\r\n mask: `url(${this.iconClass}) no-repeat 50% 50%`,\r\n '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.svg-icon {\r\n width: 1em;\r\n height: 1em;\r\n vertical-align: -0.15em;\r\n fill: currentColor;\r\n overflow: hidden;\r\n}\r\n\r\n.svg-external-icon {\r\n background-color: currentColor;\r\n mask-size: cover!impor
|