1 | import { string, oneOfType, element, func, bool } from 'prop-types';
|
2 | import { a as _objectSpread, c as _objectWithoutPropertiesLoose, g as _extends } from './chunk-1f79df9b.js';
|
3 | import 'reakit/Box';
|
4 | import 'reakit/Block';
|
5 | import 'reakit/Inline';
|
6 | import InlineBlock from 'reakit/InlineBlock';
|
7 | import 'reakit/Flex';
|
8 | import 'reakit/InlineFlex';
|
9 | import 'reakit/Grid';
|
10 | import { createElement, cloneElement, Fragment } from 'react';
|
11 | import Pane from './Pane/index.js';
|
12 | import { a as isFunction } from './chunk-5c9bbccf.js';
|
13 | import PopoverContainer from './Popover/PopoverContainer.js';
|
14 | import PopoverHide from './Popover/PopoverHide.js';
|
15 | import PopoverClose from './Popover/PopoverClose.js';
|
16 | import PopoverPopover, { popoverPopoverPropTypes, popoverPopoverDefaultProps } from './Popover/PopoverPopover.js';
|
17 | import PopoverShow from './Popover/PopoverShow.js';
|
18 | import PopoverToggle from './Popover/PopoverToggle.js';
|
19 |
|
20 | var Popover = function Popover(_ref) {
|
21 | var children = _ref.children,
|
22 | content = _ref.content,
|
23 | isFullWidth = _ref.isFullWidth,
|
24 | showCloseButton = _ref.showCloseButton,
|
25 | props = _objectWithoutPropertiesLoose(_ref, ["children", "content", "isFullWidth", "showCloseButton"]);
|
26 |
|
27 | return createElement(PopoverContainer, null, function (popover) {
|
28 | return createElement(InlineBlock, {
|
29 | relative: true,
|
30 | width: isFullWidth ? '100%' : undefined
|
31 | }, isFunction(children) ?
|
32 | |
33 |
|
34 | children(_objectSpread({
|
35 | use: PopoverToggle
|
36 | }, popover)) : children ? cloneElement(children, _objectSpread({
|
37 | use: PopoverToggle
|
38 | }, popover)) : null, createElement(PopoverPopover, _extends({
|
39 | elevation: "200"
|
40 | }, props, popover, {
|
41 | use: Pane
|
42 | }), function (_ref2) {
|
43 | var initialFocusRef = _ref2.initialFocusRef;
|
44 | return createElement(Fragment, null, showCloseButton && createElement(PopoverClose, _extends({
|
45 | elementRef: initialFocusRef
|
46 | }, popover)), typeof content === 'function' ? content(_objectSpread({
|
47 | initialFocusRef: initialFocusRef
|
48 | }, popover)) : content);
|
49 | }));
|
50 | });
|
51 | };
|
52 | Popover.Popover = PopoverPopover;
|
53 | Popover.Container = PopoverContainer;
|
54 | Popover.Close = PopoverClose;
|
55 | Popover.Hide = PopoverHide;
|
56 | Popover.Show = PopoverShow;
|
57 | Popover.Toggle = PopoverToggle;
|
58 | var popoverPropTypes = _objectSpread({}, popoverPopoverPropTypes, {
|
59 | className: string,
|
60 | children: oneOfType([element, func]).isRequired,
|
61 | content: oneOfType([string, element, func]),
|
62 | isFullWidth: bool,
|
63 | showCloseButton: bool
|
64 | });
|
65 | Popover.propTypes = popoverPropTypes;
|
66 | var popoverDefaultProps = _objectSpread({}, popoverPopoverDefaultProps, {
|
67 | children: undefined,
|
68 | className: undefined,
|
69 | isFullWidth: false,
|
70 | showCloseButton: false
|
71 | });
|
72 | Popover.defaultProps = popoverDefaultProps;
|
73 |
|
74 | var C = Popover;
|
75 |
|
76 | export { C as a, popoverPropTypes as b, popoverDefaultProps as c };
|