zteui-icon
Version:
An icon component for ReactJS.
198 lines (148 loc) • 7.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createPrefixIcon = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /* eslint-disable react/forbid-prop-types */
// eslint-disable-next-line import/named
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _deprecatedIcon = require("./deprecatedIcon");
var _deprecatedIcon2 = _interopRequireDefault(_deprecatedIcon);
var _iconfont = require("../../assets/iconfont");
var _iconfont2 = _interopRequireDefault(_iconfont);
require("../../assets/Zcon.css");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var PREFIX = "zteicon";
var px = function px(clsName) {
return PREFIX + "-" + clsName;
};
var IconCache = _iconfont2.default.icon,
specialViewBox = _iconfont2.default.specialViewBox;
var classnames = function classnames() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return args.map(function (classname) {
if (typeof classname === "string") {
return px(classname);
} else if ((typeof classname === "undefined" ? "undefined" : _typeof(classname)) === "object") {
return Object.keys(classname).filter(function (key) {
return !!classname[key];
}).map(px).join(" ");
}
return "";
}).join(" ");
};
var spinDefault = ["loading", "loading-3-quarters"];
var deprecatedLog = {};
var typeFilter = function typeFilter(type) {
if (_deprecatedIcon2.default[type]) {
var newType = _deprecatedIcon2.default[type];
if (!deprecatedLog[type]) {
deprecatedLog[type] = 1;
/* eslint-disable-next-line no-console */
console.error("[\u8B66\u544A]\u60A8\u5F53\u524D\u4F7F\u7528\u7684\u56FE\u6807 " + type + " \u5DF2\u88AB\u4FEE\u6539\u4E3A " + newType + " \u3002\u8BF7\u66F4\u6362\u65B0\u7684\u540D\u79F0");
}
return newType;
}
return type;
};
var createPrefixIcon = function createPrefixIcon() {
var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PREFIX;
var Zcon = function (_Component) {
_inherits(Zcon, _Component);
function Zcon() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, Zcon);
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Zcon.__proto__ || Object.getPrototypeOf(Zcon)).call.apply(_ref, [this].concat(args))), _this), _this.getType = function () {
var type = _this.props.type;
return typeFilter(type);
}, _this.getViewBox = function (p, type) {
var viewBox = _this.props.viewBox;
if (viewBox) return viewBox;
if (p === PREFIX && specialViewBox[type]) {
return specialViewBox[type];
}
return "0 0 1024 1024";
}, _this.isSpin = function () {
var spin = _this.props.spin;
var type = _this.getType();
if (spin) return true;
if (spin === false) return false;
return spinDefault.includes(type);
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(Zcon, [{
key: "render",
value: function render() {
var _props = this.props,
spin = _props.spin,
style = _props.style,
className = _props.className,
antCls = _props.antCls,
p = _props.prefix,
viewBox = _props.viewBox,
noUse = _props.type,
otherProps = _objectWithoutProperties(_props, ["spin", "style", "className", "antCls", "prefix", "viewBox", "type"]);
var type = this.getType();
var prefixCls = PREFIX + " " + (antCls ? "anticon" : "");
var children = _react2.default.createElement("use", { xlinkHref: "#" + p + "-" + type });
var hasCache = p === PREFIX && IconCache[type];
if (hasCache) {
children = IconCache[type].map(function (props, index) {
return _react2.default.createElement("path", _extends({ key: p + "-" + type + "-" + index }, props));
});
}
var typeClass = p + "-" + type;
return _react2.default.createElement(
"i",
_extends({
className: prefixCls + " " + typeClass + " " + classnames({ spin: this.isSpin() }) + " " + (className || ""),
"aria-hidden": "true",
style: Object.assign({}, style)
}, otherProps),
_react2.default.createElement(
"svg",
{ viewBox: this.getViewBox(p, type) },
children
)
);
}
}]);
return Zcon;
}(_react.Component);
Zcon.propTypes = {
className: _propTypes2.default.string,
prefix: _propTypes2.default.string,
viewBox: _propTypes2.default.string,
style: _propTypes2.default.object,
antCls: _propTypes2.default.bool,
type: _propTypes2.default.string.isRequired,
spin: _propTypes2.default.bool
};
Zcon.defaultProps = {
className: undefined,
viewBox: undefined,
prefix: prefix,
style: {},
spin: undefined,
antCls: false
};
return Zcon;
};
exports.createPrefixIcon = createPrefixIcon;
exports.default = createPrefixIcon();
//# sourceMappingURL=Zcon.js.map