UNPKG

shineout

Version:

Shein 前端组件库

73 lines (59 loc) 2.27 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _defaultProps = require("../utils/defaultProps"); var _styles = require("./styles"); function Icon(props) { if (props === void 0) { props = (0, _objectSpread2.default)({}, _defaultProps.defaultProps, { prefix: 'icon', fontFamily: 'iconfont', name: '', type: 'default' }); } var _props = props, children = _props.children, prefix = _props.prefix, type = _props.type, name = _props.name, fontFamily = _props.fontFamily, fontSize = _props.fontSize, ext = _props.ext, otherProps = (0, _objectWithoutPropertiesLoose2.default)(_props, ["children", "prefix", "type", "name", "fontFamily", "fontSize", "ext"]); var className = (0, _classnames.default)((0, _styles.iconClass)('_', type), props.className, prefix + "-" + name); var style = Object.assign({}, { fontFamily: fontFamily, fontSize: fontSize }, props.style); if (ext === 'js') { return _react.default.createElement("i", (0, _extends2.default)({}, otherProps, { className: className, style: style }), _react.default.createElement("svg", { className: (0, _styles.iconClass)('svg'), "aria-hidden": "true" }, _react.default.createElement("use", { xlinkHref: "#" + prefix + "-" + name }))); } return _react.default.createElement("i", (0, _extends2.default)({}, otherProps, { className: className, style: style }), children); } Icon.defaultProps = (0, _objectSpread2.default)({}, _defaultProps.defaultProps, { prefix: 'icon', fontFamily: 'iconfont', name: '', type: 'default' }); Icon.displayName = 'ShineoutIcon'; var _default = Icon; exports.default = _default;