UNPKG

shineout

Version:

Shein 前端组件库

59 lines (45 loc) 1.47 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = icon; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _Icon = _interopRequireDefault(require("./Icon")); var links = {}; var scripts = {}; function icon(url, fontFamily, prefix) { if (fontFamily === void 0) { fontFamily = 'iconfont'; } if (prefix === void 0) { prefix = 'icon'; } if (typeof url !== 'string') { console.error("Shineout Icon url must be a string, but get " + url); return null; } var ext = url.substr(url.lastIndexOf('.') + 1); if (ext === 'css' && !links[url]) { links[url] = true; var link = document.createElement('link'); link.setAttribute('rel', 'stylesheet'); link.setAttribute('type', 'text/css'); link.setAttribute('href', url); document.head.appendChild(link); } if (ext === 'js' && !scripts[url]) { var script = document.createElement('script'); scripts[url] = script; script.setAttribute('src', url); document.body.appendChild(script); } var wrapperIcon = function wrapperIcon(props) { return _react.default.createElement(_Icon.default, (0, _extends2.default)({ ext: ext, fontFamily: fontFamily, prefix: prefix }, props)); }; wrapperIcon.isShineoutIcon = true; return wrapperIcon; }