UNPKG

dora-ui

Version:

A React.js Mobile UI Library

103 lines (83 loc) 3.55 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireWildcard(require("react")); var cacheScript = new Set(); var url = '//at.alicdn.com/t/font_1307286_wu10fg1zil.js'; function createScript() { if (!cacheScript.has(url)) { var script = document.createElement('script'); script.src = url; cacheScript.add(url); document.body.appendChild(script); } } var Icon = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(Icon, _Component); function Icon() { (0, _classCallCheck2.default)(this, Icon); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Icon).apply(this, arguments)); } (0, _createClass2.default)(Icon, [{ key: "componentDidMount", value: function componentDidMount() { createScript(); } }, { key: "render", value: function render() { var _this$props = this.props, prefixCls = _this$props.prefixCls, size = _this$props.size, type = _this$props.type, spinning = _this$props.spinning, color = _this$props.color, className = _this$props.className, rest = (0, _objectWithoutProperties2.default)(_this$props, ["prefixCls", "size", "type", "spinning", "color", "className"]); var cls = (0, _classnames.default)(prefixCls, className, "".concat(prefixCls, "-").concat(size), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-spinning"), spinning)); var style = { color: color }; return _react.default.createElement("svg", (0, _extends2.default)({}, rest, { className: cls, style: style }), _react.default.createElement("use", { xlinkHref: "#icon-".concat(type) })); } }]); return Icon; }(_react.Component); (0, _defineProperty2.default)(Icon, "propTypes", { type: _propTypes.default.oneOf(['success', 'error', 'info', 'warning', 'loading']).isRequired, size: _propTypes.default.oneOf(['sm', 'md', 'lg']), color: _propTypes.default.string, spinning: _propTypes.default.bool, prefixCls: _propTypes.default.string, className: _propTypes.default.string, onClick: _propTypes.default.func }); (0, _defineProperty2.default)(Icon, "defaultProps", { prefixCls: 'dora-icon', size: 'md', color: '#000', onClick: function onClick() {} }); var _default = Icon; exports.default = _default;