1 | 'use strict';
|
2 |
|
3 | exports.__esModule = true;
|
4 |
|
5 | var _extends2 = require('babel-runtime/helpers/extends');
|
6 |
|
7 | var _extends3 = _interopRequireDefault(_extends2);
|
8 |
|
9 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
10 |
|
11 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
12 |
|
13 | exports.default = createFromIconfontCN;
|
14 |
|
15 | var _react = require('react');
|
16 |
|
17 | var _react2 = _interopRequireDefault(_react);
|
18 |
|
19 | var _classnames = require('classnames');
|
20 |
|
21 | var _classnames2 = _interopRequireDefault(_classnames);
|
22 |
|
23 | var _configProvider = require('../config-provider');
|
24 |
|
25 | var _configProvider2 = _interopRequireDefault(_configProvider);
|
26 |
|
27 | var _index = require('./index');
|
28 |
|
29 | var _index2 = _interopRequireDefault(_index);
|
30 |
|
31 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
32 |
|
33 | var customCache = new Set();
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 | function createFromIconfontCN() {
|
40 | var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
41 | var scriptUrl = options.scriptUrl,
|
42 | _options$extraCommonP = options.extraCommonProps,
|
43 | extraCommonProps = _options$extraCommonP === undefined ? {} : _options$extraCommonP;
|
44 |
|
45 | var hasExist = customCache.has(scriptUrl);
|
46 |
|
47 | if (document.querySelector('script[data-namespace="' + scriptUrl + '"]')) {
|
48 | hasExist = true;
|
49 | }
|
50 |
|
51 | |
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 | if (typeof document !== 'undefined' && typeof window !== 'undefined' && typeof document.createElement === 'function' && typeof scriptUrl === 'string' && scriptUrl.length && !hasExist) {
|
58 | var script = document.createElement('script');
|
59 | script.setAttribute('src', scriptUrl);
|
60 | script.setAttribute('data-namespace', scriptUrl);
|
61 | customCache.add(scriptUrl);
|
62 | document.body.appendChild(script);
|
63 | }
|
64 |
|
65 | var Iconfont = function Iconfont(props) {
|
66 | var _cx;
|
67 |
|
68 | var type = props.type,
|
69 | size = props.size,
|
70 | children = props.children,
|
71 | className = props.className,
|
72 | _props$prefix = props.prefix,
|
73 | prefix = _props$prefix === undefined ? 'next-' : _props$prefix,
|
74 | others = (0, _objectWithoutProperties3.default)(props, ['type', 'size', 'children', 'className', 'prefix']);
|
75 |
|
76 |
|
77 |
|
78 | var content = null;
|
79 | if (props.type) {
|
80 | content = _react2.default.createElement('use', { xlinkHref: '#' + type });
|
81 | }
|
82 | if (children) {
|
83 | content = children;
|
84 | }
|
85 |
|
86 | var classes = (0, _classnames2.default)((_cx = {}, _cx[prefix + 'icon-remote'] = true, _cx), className);
|
87 |
|
88 | return _react2.default.createElement(
|
89 | _index2.default,
|
90 | { size: size },
|
91 | _react2.default.createElement(
|
92 | 'svg',
|
93 | (0, _extends3.default)({
|
94 | className: classes,
|
95 | focusable: false
|
96 | }, others, extraCommonProps),
|
97 | content
|
98 | )
|
99 | );
|
100 | };
|
101 |
|
102 | Iconfont.displayName = 'Iconfont';
|
103 |
|
104 | return _configProvider2.default.config(Iconfont);
|
105 | }
|
106 | module.exports = exports['default']; |
\ | No newline at end of file |