UNPKG

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