@flodesk/grain 10.1.4 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/dropdown.js +35 -18
- package/package.json +1 -1
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
import "core-js/modules/es.array.map.js";
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import React, { Fragment } from 'react';
|
|
3
|
+
import React, { Fragment, useEffect } from 'react';
|
|
4
4
|
import { Menu } from '@headlessui/react';
|
|
5
5
|
import { types } from '../types';
|
|
6
6
|
import { MenuCard, MenuItem } from '../foundational';
|
|
7
7
|
import { MenuItemDivider, useMenuPosition } from '../foundational/menu';
|
|
8
8
|
import { FloatingPortal } from '@floating-ui/react-dom-interactions';
|
|
9
9
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
|
|
11
|
+
var Root = function Root(_ref) {
|
|
12
|
+
var open = _ref.open,
|
|
13
|
+
onOpenChange = _ref.onOpenChange,
|
|
14
|
+
children = _ref.children;
|
|
15
|
+
useEffect(function () {
|
|
16
|
+
onOpenChange(open);
|
|
17
|
+
}, [open, onOpenChange]);
|
|
18
|
+
return children;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export var Dropdown = function Dropdown(_ref2) {
|
|
22
|
+
var options = _ref2.options,
|
|
23
|
+
_ref2$menuPlacement = _ref2.menuPlacement,
|
|
24
|
+
menuPlacement = _ref2$menuPlacement === void 0 ? 'bottomStart' : _ref2$menuPlacement,
|
|
25
|
+
_ref2$menuWidth = _ref2.menuWidth,
|
|
26
|
+
menuWidth = _ref2$menuWidth === void 0 ? '192px' : _ref2$menuWidth,
|
|
27
|
+
menuZIndex = _ref2.menuZIndex,
|
|
28
|
+
trigger = _ref2.trigger,
|
|
29
|
+
_ref2$hasPortal = _ref2.hasPortal,
|
|
30
|
+
hasPortal = _ref2$hasPortal === void 0 ? true : _ref2$hasPortal,
|
|
31
|
+
_ref2$onOpenChange = _ref2.onOpenChange,
|
|
32
|
+
onOpenChange = _ref2$onOpenChange === void 0 ? function () {} : _ref2$onOpenChange;
|
|
20
33
|
|
|
21
34
|
var _useMenuPosition = useMenuPosition({
|
|
22
35
|
menuWidth: menuWidth,
|
|
@@ -27,10 +40,13 @@ export var Dropdown = function Dropdown(_ref) {
|
|
|
27
40
|
floatingStyles = _useMenuPosition.floatingStyles;
|
|
28
41
|
|
|
29
42
|
var ItemsRoot = hasPortal ? FloatingPortal : Fragment;
|
|
30
|
-
return ___EmotionJSX(Menu, null, function (
|
|
31
|
-
var open =
|
|
32
|
-
close =
|
|
33
|
-
return ___EmotionJSX(
|
|
43
|
+
return ___EmotionJSX(Menu, null, function (_ref3) {
|
|
44
|
+
var open = _ref3.open,
|
|
45
|
+
close = _ref3.close;
|
|
46
|
+
return ___EmotionJSX(Root, {
|
|
47
|
+
open: open,
|
|
48
|
+
onOpenChange: onOpenChange
|
|
49
|
+
}, ___EmotionJSX(Menu.Button, {
|
|
34
50
|
as: Fragment,
|
|
35
51
|
ref: reference
|
|
36
52
|
}, trigger), ___EmotionJSX(ItemsRoot, null, ___EmotionJSX(Menu.Items, {
|
|
@@ -55,8 +71,8 @@ export var Dropdown = function Dropdown(_ref) {
|
|
|
55
71
|
}));
|
|
56
72
|
return ___EmotionJSX(Menu.Item, {
|
|
57
73
|
key: index
|
|
58
|
-
}, function (
|
|
59
|
-
var active =
|
|
74
|
+
}, function (_ref4) {
|
|
75
|
+
var active = _ref4.active;
|
|
60
76
|
return ___EmotionJSX(MenuItem, {
|
|
61
77
|
icon: option.icon,
|
|
62
78
|
isActive: active,
|
|
@@ -75,5 +91,6 @@ Dropdown.propTypes = {
|
|
|
75
91
|
menuPlacement: types.menuPlacement,
|
|
76
92
|
menuWidth: types.dimension,
|
|
77
93
|
menuZIndex: types.zIndex,
|
|
78
|
-
hasPortal: PropTypes.bool
|
|
94
|
+
hasPortal: PropTypes.bool,
|
|
95
|
+
onOpenChange: PropTypes.func
|
|
79
96
|
};
|