@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.
@@ -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
- export var Dropdown = function Dropdown(_ref) {
11
- var options = _ref.options,
12
- _ref$menuPlacement = _ref.menuPlacement,
13
- menuPlacement = _ref$menuPlacement === void 0 ? 'bottomStart' : _ref$menuPlacement,
14
- _ref$menuWidth = _ref.menuWidth,
15
- menuWidth = _ref$menuWidth === void 0 ? '192px' : _ref$menuWidth,
16
- menuZIndex = _ref.menuZIndex,
17
- trigger = _ref.trigger,
18
- _ref$hasPortal = _ref.hasPortal,
19
- hasPortal = _ref$hasPortal === void 0 ? true : _ref$hasPortal;
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 (_ref2) {
31
- var open = _ref2.open,
32
- close = _ref2.close;
33
- return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Menu.Button, {
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 (_ref3) {
59
- var active = _ref3.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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flodesk/grain",
3
- "version": "10.1.4",
3
+ "version": "10.2.0",
4
4
  "description": "Flodesk design system",
5
5
  "module": "es/index.js",
6
6
  "author": "Flodesk",