123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
- var React = _interopRequireWildcard(require("react"));
- var _utils = require("../utils");
- var _excluded = ["icon", "className", "onClick", "style", "primaryColor", "secondaryColor"];
- var twoToneColorPalette = {
- primaryColor: '#333',
- secondaryColor: '#E6E6E6',
- calculated: false
- };
- function setTwoToneColors(_ref) {
- var primaryColor = _ref.primaryColor,
- secondaryColor = _ref.secondaryColor;
- twoToneColorPalette.primaryColor = primaryColor;
- twoToneColorPalette.secondaryColor = secondaryColor || (0, _utils.getSecondaryColor)(primaryColor);
- twoToneColorPalette.calculated = !!secondaryColor;
- }
- function getTwoToneColors() {
- return (0, _objectSpread2.default)({}, twoToneColorPalette);
- }
- var IconBase = function IconBase(props) {
- var icon = props.icon,
- className = props.className,
- onClick = props.onClick,
- style = props.style,
- primaryColor = props.primaryColor,
- secondaryColor = props.secondaryColor,
- restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
- var svgRef = React.useRef();
- var colors = twoToneColorPalette;
- if (primaryColor) {
- colors = {
- primaryColor: primaryColor,
- secondaryColor: secondaryColor || (0, _utils.getSecondaryColor)(primaryColor)
- };
- }
- (0, _utils.useInsertStyles)(svgRef);
- (0, _utils.warning)((0, _utils.isIconDefinition)(icon), "icon should be icon definiton, but got ".concat(icon));
- if (!(0, _utils.isIconDefinition)(icon)) {
- return null;
- }
- var target = icon;
- if (target && typeof target.icon === 'function') {
- target = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, target), {}, {
- icon: target.icon(colors.primaryColor, colors.secondaryColor)
- });
- }
- return (0, _utils.generate)(target.icon, "svg-".concat(target.name), (0, _objectSpread2.default)((0, _objectSpread2.default)({
- className: className,
- onClick: onClick,
- style: style,
- 'data-icon': target.name,
- width: '1em',
- height: '1em',
- fill: 'currentColor',
- 'aria-hidden': 'true'
- }, restProps), {}, {
- ref: svgRef
- }));
- };
- IconBase.displayName = 'IconReact';
- IconBase.getTwoToneColors = getTwoToneColors;
- IconBase.setTwoToneColors = setTwoToneColors;
- var _default = exports.default = IconBase;
|