UNPKG

wix-style-react

Version:
35 lines 1.52 kB
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