tntd
Version:
tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
102 lines (100 loc) • 4.15 kB
JavaScript
;
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {};
exports["default"] = void 0;
var _react = _interopRequireWildcard(require("react"));
var _configProvider = require("../config-provider");
var _useScrollLock = _interopRequireDefault(require("../_util/hooks/useScrollLock"));
var _tooltip = _interopRequireWildcard(require("antd/lib/tooltip"));
Object.keys(_tooltip).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _tooltip[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _tooltip[key];
}
});
});
var _classnames = _interopRequireDefault(require("classnames"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
function _getRequireWildcardCache(e) {
if ("function" != typeof WeakMap) return null;
var r = new WeakMap(),
t = new WeakMap();
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
return e ? t : r;
})(e);
}
function _interopRequireWildcard(e, r) {
if (!r && e && e.__esModule) return e;
if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
"default": e
};
var t = _getRequireWildcardCache(r);
if (t && t.has(e)) return t.get(e);
var n = {
__proto__: null
},
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
}
return n["default"] = e, t && t.set(e, n), n;
}
var __rest = void 0 && (void 0).__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
var themeMap = function themeMap(prefixCls, themeColor) {
return "".concat(prefixCls, "-").concat(themeColor);
};
var Tooltip = function Tooltip(props) {
var overlayClassName = props.overlayClassName,
_props$theme = props.theme,
theme = _props$theme === void 0 ? '' : _props$theme,
_props$hiddenArrow = props.hiddenArrow,
hiddenArrow = _props$hiddenArrow === void 0 ? false : _props$hiddenArrow,
enableScrollObserver = props.enableScrollObserver,
restProps = __rest(props, ["overlayClassName", "theme", "hiddenArrow", "enableScrollObserver"]);
var isScrolling = (0, _useScrollLock["default"])({
enableScrollObserver: enableScrollObserver
});
var MOUSE_ENTER_DELAY_WHILE_SCROLLING = 9999;
var DEFAULT_MOUSE_ENTER_DELAY = 0.1;
var visibleInfo = (0, _react.useMemo)(function () {
return isScrolling ? {
visible: false
} : {};
}, [isScrolling]);
return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
var getPrefixCls = _ref.getPrefixCls;
var prefixCls = getPrefixCls('tooltip');
return _react["default"].createElement(_tooltip["default"], Object.assign({
overlayClassName: (0, _classnames["default"])(prefixCls, 'tnt-tooltip', themeMap(prefixCls, theme), hiddenArrow ? "".concat(prefixCls, "-arrow-hidden") : '', overlayClassName)
}, restProps, {
mouseEnterDelay: isScrolling ? MOUSE_ENTER_DELAY_WHILE_SCROLLING : restProps.mouseEnterDelay || DEFAULT_MOUSE_ENTER_DELAY
}, visibleInfo));
});
};
var _default = exports["default"] = Tooltip;