@cbinsights/fds
Version:
Form: A design system by CB Insights
50 lines (40 loc) • 2.96 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _styleConstants = _interopRequireDefault(require("../../dictionary/js/styleConstants"));
var RadixTooltip = _interopRequireWildcard(require("@radix-ui/react-tooltip"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var Tooltip = /*#__PURE__*/_react.default.forwardRef(function (_ref, forwardedRef) {
var trigger = _ref.trigger,
message = _ref.message,
_ref$position = _ref.position,
position = _ref$position === void 0 ? 'bottom' : _ref$position,
_ref$maxWidth = _ref.maxWidth,
maxWidth = _ref$maxWidth === void 0 ? 240 : _ref$maxWidth;
var refContent = forwardedRef || (0, _react.useRef)(null);
return /*#__PURE__*/_react.default.createElement(RadixTooltip.Provider, null, /*#__PURE__*/_react.default.createElement(RadixTooltip.Root, {
delayDuration: 350
}, /*#__PURE__*/_react.default.createElement(RadixTooltip.Trigger, {
asChild: true
}, /*#__PURE__*/_react.default.createElement("span", {
ref: refContent
}, trigger)), /*#__PURE__*/_react.default.createElement(RadixTooltip.Content, {
side: position,
sideOffset: parseInt(_styleConstants.default.SPACE_S, 10),
asChild: true
}, /*#__PURE__*/_react.default.createElement("div", {
style: {
maxWidth: maxWidth ? "".concat(maxWidth, "px") : undefined
},
className: "ease-in-out bgColor--charcoal inverted align--center padding--y--s padding--x elevation--2 rounded--all fontSize--s fontWeight--bold"
}, message))));
});
Tooltip.displayName = 'Tooltip';
var _default = Tooltip;
exports.default = _default;