UNPKG

3.84 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
8
9var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
10
11var _extends2 = require('babel-runtime/helpers/extends');
12
13var _extends3 = _interopRequireDefault(_extends2);
14
15var _react = require('react');
16
17var _react2 = _interopRequireDefault(_react);
18
19var _SVGMenu = require('./svg/SVGMenu');
20
21var _SVGMenu2 = _interopRequireDefault(_SVGMenu);
22
23var _CTCPopover = require('./CTCPopover');
24
25var _CTCPopover2 = _interopRequireDefault(_CTCPopover);
26
27var _Button = require('./Button');
28
29var _Button2 = _interopRequireDefault(_Button);
30
31var _styledComponents = require('styled-components');
32
33var _styledComponents2 = _interopRequireDefault(_styledComponents);
34
35function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37var FlexibleMenu = function FlexibleMenu(_ref) {
38 var _ref$isHorizontal = _ref.isHorizontal,
39 isHorizontal = _ref$isHorizontal === undefined ? false : _ref$isHorizontal,
40 children = _ref.children,
41 renderHorizontal = _ref.renderHorizontal,
42 pivotFrom = _ref.pivotFrom,
43 renderTrigger = _ref.renderTrigger,
44 debugMode = _ref.debugMode;
45
46 return _react2.default.createElement(
47 _react.Fragment,
48 null,
49 isHorizontal ? _react2.default.createElement(HorizontalMenu, { children: children, renderHorizontal: renderHorizontal }) : _react2.default.createElement(DropdownMenu, {
50 children: children,
51 pivotFrom: pivotFrom,
52 renderTrigger: renderTrigger,
53 debugMode: debugMode
54 })
55 );
56};
57
58var HorizontalMenu = function HorizontalMenu(_ref2) {
59 var children = _ref2.children,
60 renderHorizontal = _ref2.renderHorizontal;
61 return _react2.default.createElement(
62 'div',
63 {
64 style: {
65 display: 'flex'
66 },
67 className: 'flexiblemenu__horizontal'
68 },
69 renderHorizontal ? renderHorizontal() : children
70 );
71};
72
73var DropdownMenu = function DropdownMenu(_ref3) {
74 var children = _ref3.children,
75 pivotFrom = _ref3.pivotFrom,
76 _renderTrigger = _ref3.renderTrigger,
77 debugMode = _ref3.debugMode;
78
79 var triggerBaseClassName = 'flexiblemenu__trigger';
80 var defaultRenderTrigger = function defaultRenderTrigger(_ref4) {
81 var getTriggerProps = _ref4.getTriggerProps,
82 isOn = _ref4.isOn;
83 return _react2.default.createElement(
84 _Button2.default,
85 (0, _extends3.default)({}, getTriggerProps({
86 className: triggerBaseClassName,
87 isOn: isOn
88 })),
89 _react2.default.createElement(_SVGMenu2.default, null)
90 );
91 };
92 return _react2.default.createElement(
93 'div',
94 { className: 'flexiblemenu__dropdown', style: { position: 'relative' } },
95 _react2.default.createElement(
96 _CTCPopover2.default,
97 {
98 debugMode: debugMode,
99 pivotFrom: pivotFrom,
100 renderTrigger: function renderTrigger(_ref5) {
101 var _getTriggerProps = _ref5.getTriggerProps,
102 isOn = _ref5.isOn;
103 return _renderTrigger ? _renderTrigger({
104 getTriggerProps: function getTriggerProps() {
105 var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
106
107 var className = _ref6.className,
108 props = (0, _objectWithoutProperties3.default)(_ref6, ['className']);
109 return _getTriggerProps((0, _extends3.default)({
110 className: className ? triggerBaseClassName : triggerBaseClassName + ' ' + className
111 }, props));
112 },
113 isOn: isOn
114 }) : defaultRenderTrigger({ getTriggerProps: _getTriggerProps, isOn: isOn });
115 }
116 },
117 children
118 )
119 );
120};
121
122exports.default = FlexibleMenu;
\No newline at end of file