wix-style-react
Version:
73 lines (55 loc) • 2.3 kB
JavaScript
;
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;