UNPKG

4.57 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4var _typeof = require("@babel/runtime/helpers/typeof");
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12var React = _interopRequireWildcard(require("react"));
13var _classnames = _interopRequireDefault(require("classnames"));
14var _Context = _interopRequireDefault(require("./Context"));
15var _utils = require("../utils");
16var _excluded = ["className", "component", "viewBox", "spin", "rotate", "tabIndex", "onClick", "children"];
17function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19var Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {
20 var className = props.className,
21 Component = props.component,
22 viewBox = props.viewBox,
23 spin = props.spin,
24 rotate = props.rotate,
25 tabIndex = props.tabIndex,
26 onClick = props.onClick,
27 children = props.children,
28 restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
29 (0, _utils.warning)(Boolean(Component || children), 'Should have `component` prop or `children`.');
30 (0, _utils.useInsertStyles)();
31 var _React$useContext = React.useContext(_Context.default),
32 _React$useContext$pre = _React$useContext.prefixCls,
33 prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,
34 rootClassName = _React$useContext.rootClassName;
35 var classString = (0, _classnames.default)(rootClassName, prefixCls, className);
36 var svgClassString = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(prefixCls, "-spin"), !!spin));
37 var svgStyle = rotate ? {
38 msTransform: "rotate(".concat(rotate, "deg)"),
39 transform: "rotate(".concat(rotate, "deg)")
40 } : undefined;
41 var innerSvgProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _utils.svgBaseProps), {}, {
42 className: svgClassString,
43 style: svgStyle,
44 viewBox: viewBox
45 });
46 if (!viewBox) {
47 delete innerSvgProps.viewBox;
48 }
49 // component > children
50 var renderInnerNode = function renderInnerNode() {
51 if (Component) {
52 return /*#__PURE__*/React.createElement(Component, (0, _objectSpread2.default)({}, innerSvgProps), children);
53 }
54 if (children) {
55 (0, _utils.warning)(Boolean(viewBox) || React.Children.count(children) === 1 && /*#__PURE__*/React.isValidElement(children) && React.Children.only(children).type === 'use', 'Make sure that you provide correct `viewBox`' + ' prop (default `0 0 1024 1024`) to the icon.');
56 return /*#__PURE__*/React.createElement("svg", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, innerSvgProps), {}, {
57 viewBox: viewBox
58 }), children);
59 }
60 return null;
61 };
62 var iconTabIndex = tabIndex;
63 if (iconTabIndex === undefined && onClick) {
64 iconTabIndex = -1;
65 }
66 return /*#__PURE__*/React.createElement("span", (0, _objectSpread2.default)((0, _objectSpread2.default)({
67 role: "img"
68 }, restProps), {}, {
69 ref: ref,
70 tabIndex: iconTabIndex,
71 onClick: onClick,
72 className: classString
73 }), renderInnerNode());
74});
75Icon.displayName = 'AntdIcon';
76var _default = Icon;
77exports.default = _default;
\No newline at end of file