beyond-components
Version:
react prototype components
55 lines (54 loc) • 2.1 kB
JavaScript
;
exports.__esModule = true;
var tslib_1 = require("tslib");
var React = require("react");
var assign = require("beyond-lib/lib/assign");
var classnames = require("classnames");
var consts_1 = require("../consts");
var Tooltip = /** @class */ (function (_super) {
tslib_1.__extends(Tooltip, _super);
function Tooltip(props) {
var _this = _super.call(this, props) || this;
_this.state = {
visible: props.visible,
style: {}
};
return _this;
}
Tooltip.prototype._setStyle = function (style) {
this.setState(function (_state, _props) { return ({ style: style, visible: true }); });
};
Tooltip.prototype.show = function () {
this.toggle(true);
};
Tooltip.prototype.hide = function () {
this.toggle(false);
};
Tooltip.prototype.toggle = function (visible) {
this.setState(function (_state, _props) { return ({ visible: visible }); });
};
Tooltip.prototype.render = function () {
var _a = this.props, prefix = _a.prefix, extraClassName = _a.extraClassName, placement = _a.placement, _style = _a.style, children = _a.children;
var style = assign({}, _style, this.state.style);
var className = prefix + "tooltip";
if (!this.state.visible) {
assign(style, {
opacity: 0,
position: 'absolute',
left: '-9999px',
top: '-9999px',
visibility: 'hidden'
});
}
return (React.createElement("div", { className: classnames(className, className + "-" + placement, extraClassName), style: style },
React.createElement("div", { className: className + "-content" }, children),
React.createElement("div", { className: className + "-triangle" })));
};
Tooltip.defaultProps = {
prefix: consts_1.prefix,
visible: false,
placement: 'top'
};
return Tooltip;
}(React.Component));
exports["default"] = Tooltip;