@uiw/react-popover
Version:
Popover component
88 lines (87 loc) • 4.43 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _reactOverlayTrigger = _interopRequireDefault(require("@uiw/react-overlay-trigger"));
var _Confirm = _interopRequireDefault(require("./Confirm"));
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["prefixCls", "className", "content", "visibleArrow"];
var Popover = exports["default"] = /*#__PURE__*/function (_React$Component) {
(0, _inherits2["default"])(Popover, _React$Component);
var _super = (0, _createSuper2["default"])(Popover);
function Popover() {
var _this;
(0, _classCallCheck2["default"])(this, Popover);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, [this].concat(args));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderArrow", function () {
var prefixCls = _this.props.prefixCls;
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "".concat(prefixCls, "-arrow"),
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
viewBox: "0 0 30 30",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
fillOpacity: "0.2",
d: "M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z"
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
fill: "#fff",
d: "M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z"
})]
})
});
});
return _this;
}
(0, _createClass2["default"])(Popover, [{
key: "render",
value: function render() {
var _this$props = this.props,
prefixCls = _this$props.prefixCls,
className = _this$props.className,
content = _this$props.content,
visibleArrow = _this$props.visibleArrow,
other = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
var cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactOverlayTrigger["default"], (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), {}, {
overlay: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: cls,
children: [visibleArrow && this.renderArrow(), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "".concat(prefixCls, "-inner"),
children: this.props.content
})]
}),
children: (0, _typeof2["default"])(this.props.children) === 'object' && this.props.children.type.name !== 'Icon' ? this.props.children : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
style: {
display: 'block',
writingMode: 'vertical-rl'
},
children: this.props.children
})
}));
}
}]);
return Popover;
}(_react["default"].Component);
(0, _defineProperty2["default"])(Popover, "Confirm", _Confirm["default"]);
(0, _defineProperty2["default"])(Popover, "defaultProps", {
prefixCls: 'w-popover',
placement: 'top',
usePortal: true,
isOpen: false,
visibleArrow: true
});
module.exports = exports.default;
;