UNPKG

1.74 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3import classNames from 'classnames';
4import React from 'react';
5import isRequiredForA11y from 'prop-types-extra/lib/isRequiredForA11y';
6import { useBootstrapPrefix } from './ThemeProvider';
7import PopoverTitle from './PopoverTitle';
8import PopoverContent from './PopoverContent';
9var defaultProps = {
10 placement: 'right'
11};
12var Popover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
13 var bsPrefix = _ref.bsPrefix,
14 placement = _ref.placement,
15 className = _ref.className,
16 style = _ref.style,
17 children = _ref.children,
18 content = _ref.content,
19 arrowProps = _ref.arrowProps,
20 _ = _ref.popper,
21 _1 = _ref.show,
22 props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "placement", "className", "style", "children", "content", "arrowProps", "popper", "show"]);
23
24 var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');
25
26 var _ref2 = (placement == null ? void 0 : placement.split('-')) || [],
27 primaryPlacement = _ref2[0];
28
29 return /*#__PURE__*/React.createElement("div", _extends({
30 ref: ref,
31 role: "tooltip",
32 style: style,
33 "x-placement": primaryPlacement,
34 className: classNames(className, decoratedBsPrefix, primaryPlacement && "bs-popover-" + primaryPlacement)
35 }, props), /*#__PURE__*/React.createElement("div", _extends({
36 className: "arrow"
37 }, arrowProps)), content ? /*#__PURE__*/React.createElement(PopoverContent, null, children) : children);
38});
39Popover.defaultProps = defaultProps;
40Popover.Title = PopoverTitle;
41Popover.Content = PopoverContent;
42export default Popover;
\No newline at end of file