UNPKG

1.58 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 = 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.scheduleUpdate,
21 _1 = _ref.outOfBoundaries,
22 props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "placement", "className", "style", "children", "content", "arrowProps", "scheduleUpdate", "outOfBoundaries"]);
23
24 var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');
25 return React.createElement("div", _extends({
26 ref: ref,
27 role: "tooltip",
28 style: style,
29 "x-placement": placement,
30 className: classNames(className, decoratedBsPrefix, "bs-popover-" + placement)
31 }, props), React.createElement("div", _extends({
32 className: "arrow"
33 }, arrowProps)), content ? React.createElement(PopoverContent, null, children) : children);
34});
35Popover.defaultProps = defaultProps;
36Popover.Title = PopoverTitle;
37Popover.Content = PopoverContent;
38export default Popover;
\No newline at end of file