wix-style-react
Version:
wix-style-react
35 lines • 1.52 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import { InfoCircle, InfoCircleSmall } from '@wix/wix-ui-icons-common';
import { TooltipCommonProps } from '../common/PropTypes/TooltipCommon';
import { dataHooks } from './constants';
import Tooltip from '../Tooltip';
import { st, classes } from './InfoIcon.st.css';
const iconComponentBySizeMap = {
small: InfoCircleSmall,
medium: InfoCircle,
};
const InfoIcon = ({ dataHook, content, size = 'medium', tooltipProps, className, }) => {
const Icon = iconComponentBySizeMap[size];
return (React.createElement("div", { className: st(classes.root, className), "data-size": size, "data-hook": dataHook },
React.createElement(Tooltip, { ...tooltipProps, content: content, dataHook: dataHooks.tooltip },
React.createElement(Icon, { className: classes.icon }))));
};
InfoIcon.displayName = 'InfoIcon';
InfoIcon.propTypes = {
/** A hook for testing purposes. */
dataHook: PropTypes.string,
/** A css class to be applied to the component's root element */
className: PropTypes.string,
/** Controls the icon size. */
size: PropTypes.oneOf(['small', 'medium']),
/** Tooltip content. */
content: PropTypes.node.isRequired,
/** Customize <Tooltip/> appearance with its props component.
* @linkTypeTo components-overlays--tooltip
* @setTypeName TooltipCommonProps
*/
tooltipProps: PropTypes.shape(TooltipCommonProps),
};
export default InfoIcon;
//# sourceMappingURL=InfoIcon.js.map