UNPKG

wix-style-react

Version:
73 lines (55 loc) 2.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _InfoCircle = _interopRequireDefault(require("wix-ui-icons-common/InfoCircle")); var _InfoCircleSmall = _interopRequireDefault(require("wix-ui-icons-common/InfoCircleSmall")); var _TooltipCommon = require("../common/PropTypes/TooltipCommon"); var _constants = require("./constants"); var _Tooltip = _interopRequireDefault(require("../Tooltip")); var _InfoIconSt = require("./InfoIcon.st.css"); var iconComponentBySizeMap = { small: _InfoCircleSmall["default"], medium: _InfoCircle["default"] }; var InfoIcon = function InfoIcon(_ref) { var dataHook = _ref.dataHook, content = _ref.content, size = _ref.size, tooltipProps = _ref.tooltipProps, className = _ref.className; var Icon = iconComponentBySizeMap[size]; return /*#__PURE__*/_react["default"].createElement("div", { className: (0, _InfoIconSt.st)(_InfoIconSt.classes.root, className), "data-size": size, "data-hook": dataHook }, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], (0, _extends2["default"])({}, tooltipProps, { content: content, dataHook: _constants.dataHooks.tooltip }), /*#__PURE__*/_react["default"].createElement(Icon, { className: _InfoIconSt.classes.icon }))); }; InfoIcon.displayName = 'InfoIcon'; InfoIcon.propTypes = { /** A hook for testing purposes. */ dataHook: _propTypes["default"].string, /** A css class to be applied to the component's root element */ className: _propTypes["default"].string, /** Controls the icon size. */ size: _propTypes["default"].oneOf(['small', 'medium']), /** Tooltip content. */ content: _propTypes["default"].node.isRequired, /** Customize <Tooltip/> appearance with its props component. */ tooltipProps: _propTypes["default"].shape(_TooltipCommon.TooltipCommonProps) }; InfoIcon.defaultProps = { size: 'medium' }; var _default = InfoIcon; exports["default"] = _default;