UNPKG

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