@carbon/icons-react
Version:
React components for icons in digital and software products using the Carbon Design System
71 lines (63 loc) • 1.76 kB
JavaScript
/**
* Copyright IBM Corp. 2016, 2023
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*
* Code generated by @carbon/icon-build-helpers. DO NOT EDIT.
*/
import { getAttributes } from '@carbon/icon-helpers';
import PropTypes from 'prop-types';
import React from 'react';
/**
* Copyright IBM Corp. 2019, 2023
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
const Icon = /*#__PURE__*/React.forwardRef(function Icon(_ref, ref) {
let {
className,
children,
tabIndex,
...rest
} = _ref;
const {
tabindex,
...props
} = getAttributes({ ...rest,
tabindex: tabIndex
});
if (className) {
props.className = className;
}
if (tabindex !== undefined && tabindex !== null) {
props.tabIndex = tabindex;
}
if (ref) {
props.ref = ref;
}
return /*#__PURE__*/React.createElement('svg', props, children);
});
Icon.displayName = 'Icon';
Icon.propTypes = {
'aria-hidden': PropTypes.string,
'aria-label': PropTypes.string,
'aria-labelledby': PropTypes.string,
children: PropTypes.node,
className: PropTypes.string,
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
preserveAspectRatio: PropTypes.string,
tabIndex: PropTypes.string,
viewBox: PropTypes.string,
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
xmlns: PropTypes.string
};
Icon.defaultProps = {
xmlns: 'http://www.w3.org/2000/svg',
preserveAspectRatio: 'xMidYMid meet'
};
const iconPropTypes = {
size: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
};
export { Icon as I, iconPropTypes as i };