@pingux/astro 2.84.0-alpha.2 → 2.84.0-alpha.4

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.
Files changed (38) hide show
  1. package/lib/cjs/components/LinkSelectField/LinkSelectField.stories.js +3 -6
  2. package/lib/cjs/components/ListBox/ListBox.styles.js +6 -3
  3. package/lib/cjs/components/Menu/Menu.js +15 -3
  4. package/lib/cjs/components/Menu/Menu.test.js +23 -0
  5. package/lib/cjs/components/MenuSection/MenuSection.d.ts +9 -0
  6. package/lib/cjs/components/MenuSection/MenuSection.js +76 -0
  7. package/lib/cjs/components/MenuSection/MenuSection.styles.d.ts +21 -0
  8. package/lib/cjs/components/MenuSection/MenuSection.styles.js +35 -0
  9. package/lib/cjs/components/MenuSection/MenuSection.test.d.ts +1 -0
  10. package/lib/cjs/components/MenuSection/MenuSection.test.js +100 -0
  11. package/lib/cjs/components/MenuSection/index.d.ts +1 -0
  12. package/lib/cjs/components/MenuSection/index.js +14 -0
  13. package/lib/cjs/components/PopoverMenu/PopoverMenu.stories.d.ts +2 -0
  14. package/lib/cjs/components/PopoverMenu/PopoverMenu.stories.js +73 -5
  15. package/lib/cjs/components/SelectField/SelectField.stories.js +3 -6
  16. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +3 -0
  17. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +3 -0
  18. package/lib/cjs/styles/themes/next-gen/variants/variants.js +4 -1
  19. package/lib/cjs/styles/variants/variants.js +2 -0
  20. package/lib/cjs/types/index.d.ts +1 -0
  21. package/lib/cjs/types/index.js +32 -21
  22. package/lib/cjs/types/menuSection.d.ts +24 -0
  23. package/lib/cjs/types/menuSection.js +6 -0
  24. package/lib/components/LinkSelectField/LinkSelectField.stories.js +4 -7
  25. package/lib/components/ListBox/ListBox.styles.js +6 -3
  26. package/lib/components/Menu/Menu.js +15 -3
  27. package/lib/components/Menu/Menu.test.js +24 -1
  28. package/lib/components/MenuSection/MenuSection.js +64 -0
  29. package/lib/components/MenuSection/MenuSection.styles.js +27 -0
  30. package/lib/components/MenuSection/MenuSection.test.js +97 -0
  31. package/lib/components/MenuSection/index.js +1 -0
  32. package/lib/components/PopoverMenu/PopoverMenu.stories.js +70 -4
  33. package/lib/components/SelectField/SelectField.stories.js +4 -7
  34. package/lib/styles/themes/next-gen/variants/variants.js +4 -1
  35. package/lib/styles/variants/variants.js +2 -0
  36. package/lib/types/index.js +1 -0
  37. package/lib/types/menuSection.js +1 -0
  38. package/package.json +1 -1
@@ -181,18 +181,15 @@ exports.Controlled = Controlled;
181
181
  var WithNoneOption = function WithNoneOption() {
182
182
  return (0, _react2.jsx)(_index.LinkSelectField, {
183
183
  label: "What's your favorite color?"
184
- }, (0, _react2.jsx)(_index.Item, {
184
+ }, (0, _react2.jsx)(_index.Section, null, (0, _react2.jsx)(_index.Item, {
185
185
  key: "none"
186
- }, "None"), (0, _react2.jsx)(_index.Item, {
187
- isSeparator: true,
188
- textValue: "-"
189
- }, (0, _react2.jsx)(_index.Separator, null)), (0, _react2.jsx)(_index.Item, {
186
+ }, "None")), (0, _react2.jsx)(_index.Section, null, (0, _react2.jsx)(_index.Item, {
190
187
  key: "red"
191
188
  }, "Red"), (0, _react2.jsx)(_index.Item, {
192
189
  key: "blue"
193
190
  }, "Blue"), (0, _react2.jsx)(_index.Item, {
194
191
  key: "yellow"
195
- }, "Yellow"));
192
+ }, "Yellow")));
196
193
  };
197
194
  exports.WithNoneOption = WithNoneOption;
198
195
  var DisabledField = function DisabledField() {
@@ -27,13 +27,16 @@ listBox.option = _objectSpread(_objectSpread({}, _Text.text.base), {}, {
27
27
  outline: 'none',
28
28
  wordBreak: 'break-word',
29
29
  cursor: 'pointer',
30
- '&.is-selected': _objectSpread(_objectSpread({}, _Text.text.inputValue), {}, {
31
- pl: 0
32
- }),
33
30
  '&.is-focused': {
34
31
  color: 'white',
35
32
  bg: 'active'
36
33
  },
34
+ '&.is-selected': _objectSpread(_objectSpread({}, _Text.text.inputValue), {}, {
35
+ pl: 0,
36
+ '&.is-focused': {
37
+ color: 'white'
38
+ }
39
+ }),
37
40
  '&.is-condensed': {
38
41
  '&.is-selected': {
39
42
  pl: 'md',
@@ -30,6 +30,7 @@ var _hooks = require("../../hooks");
30
30
  var _orientation = _interopRequireDefault(require("../../utils/devUtils/constants/orientation"));
31
31
  var _Box = _interopRequireDefault(require("../Box"));
32
32
  var _MenuItem = _interopRequireDefault(require("../MenuItem"));
33
+ var _MenuSection = _interopRequireDefault(require("../MenuSection"));
33
34
  var _react2 = require("@emotion/react");
34
35
  var _excluded = ["isDisabled", "isNotFocusedOnHover", "onAction", "onHoverChange", "onHoverEnd", "onHoverStart", "onSelectionChange", "selectionMode"];
35
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -77,10 +78,21 @@ var Menu = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
77
78
  "aria-orientation": _orientation["default"].VERTICAL
78
79
  }, others, (0, _reactAria.mergeProps)(focusProps, menuProps, hoverProps), {
79
80
  role: "menu"
80
- }), (0, _map["default"])(_context = (0, _from["default"])(state.collection)).call(_context, function (item) {
81
+ }), (0, _map["default"])(_context = (0, _from["default"])(state.collection)).call(_context, function (element) {
82
+ if (element.type === 'section') {
83
+ return (0, _react2.jsx)(_MenuSection["default"], {
84
+ key: element.key,
85
+ section: element,
86
+ state: state,
87
+ onAction: onAction,
88
+ isDisabled: isDisabled,
89
+ isFocusVisible: isFocusVisible,
90
+ isNotFocusedOnHover: isNotFocusedOnHover
91
+ });
92
+ }
81
93
  return (0, _react2.jsx)(_MenuItem["default"], {
82
- key: item.key,
83
- item: item,
94
+ key: element.key,
95
+ item: element,
84
96
  state: state,
85
97
  onAction: onAction,
86
98
  isDisabled: isDisabled,
@@ -54,6 +54,29 @@ test('should render basic menu with children', function () {
54
54
  expect(menuItems).toHaveLength(3);
55
55
  expect(menu).toHaveAttribute('aria-orientation', _orientation["default"].VERTICAL);
56
56
  });
57
+ test('should render sections when sections are passed as Children', function () {
58
+ var menuSections = [{
59
+ key: 'menuSection 1',
60
+ children: defaultItems
61
+ }, {
62
+ key: 'menuSection 2',
63
+ children: defaultItems
64
+ }];
65
+ (0, _testWrapper.render)((0, _react2.jsx)(_index.Menu, defaultProps, (0, _map["default"])(menuSections).call(menuSections, function (section) {
66
+ var _context;
67
+ return (0, _react2.jsx)(_index.Section, section, (0, _map["default"])(_context = section.children).call(_context, function (item) {
68
+ return (0, _react2.jsx)(_index.Item, (0, _extends2["default"])({
69
+ key: item.id
70
+ }, item));
71
+ }));
72
+ })));
73
+ var menu = _testWrapper.screen.queryByRole('menu');
74
+ expect(menu).toBeInTheDocument();
75
+ var menuSection = _testWrapper.screen.queryAllByRole('group');
76
+ expect(menuSection).toHaveLength(2);
77
+ var menuItems = _testWrapper.screen.getAllByRole('menuitem');
78
+ expect(menuItems).toHaveLength(6);
79
+ });
57
80
  test('should render items when selectionMode is set to single', function () {
58
81
  getComponent({
59
82
  selectionMode: 'single'
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { MenuSectionProps } from '../../types';
3
+ /**
4
+ * Menu Section component intended to be used within Menu or PopupMenu.
5
+ * This component is not intented to be used outside of Menu or independently.
6
+ * Utilizes [React Aria](https://react-spectrum.adobe.com/react-aria/useMenu.html)
7
+ */
8
+ declare const MenuSection: React.ForwardRefExoticComponent<MenuSectionProps & React.RefAttributes<HTMLDivElement>>;
9
+ export default MenuSection;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
8
+ _Object$defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports["default"] = void 0;
12
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
13
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ var _reactAria = require("react-aria");
17
+ var _hooks = require("../../hooks");
18
+ var _Box = _interopRequireDefault(require("../Box"));
19
+ var _MenuItem = _interopRequireDefault(require("../MenuItem"));
20
+ var _Separator = _interopRequireDefault(require("../Separator"));
21
+ var _react2 = require("@emotion/react");
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ /**
25
+ * Menu Section component intended to be used within Menu or PopupMenu.
26
+ * This component is not intented to be used outside of Menu or independently.
27
+ * Utilizes [React Aria](https://react-spectrum.adobe.com/react-aria/useMenu.html)
28
+ */var MenuSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
29
+ var _context;
30
+ var section = props.section,
31
+ state = props.state,
32
+ onAction = props.onAction,
33
+ isDisabled = props.isDisabled,
34
+ isFocusVisible = props.isFocusVisible,
35
+ isNotFocusedOnHover = props.isNotFocusedOnHover;
36
+ var menuSectionRef = (0, _hooks.useLocalOrForwardRef)(ref);
37
+ var _useMenuSection = (0, _reactAria.useMenuSection)({
38
+ heading: section.rendered,
39
+ 'aria-label': section['aria-label']
40
+ }),
41
+ itemProps = _useMenuSection.itemProps,
42
+ groupProps = _useMenuSection.groupProps,
43
+ headingProps = _useMenuSection.headingProps;
44
+ return (0, _react2.jsx)(_react["default"].Fragment, null, section.key !== state.collection.getFirstKey() && (0, _react2.jsx)(_Separator["default"], {
45
+ as: "li",
46
+ p: 0,
47
+ m: 0
48
+ }), (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
49
+ as: "li"
50
+ }, itemProps, {
51
+ ref: menuSectionRef,
52
+ role: "presentation"
53
+ }), section.rendered && (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
54
+ as: "span",
55
+ variant: "menuSection.sectionTitle"
56
+ }, headingProps, {
57
+ role: "presentation"
58
+ }), section.rendered), (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
59
+ as: "ul",
60
+ variant: "menuSection.section"
61
+ }, groupProps, {
62
+ role: "group"
63
+ }), (0, _map["default"])(_context = (0, _from["default"])(section.childNodes)).call(_context, function (node) {
64
+ return (0, _react2.jsx)(_MenuItem["default"], {
65
+ key: node.key,
66
+ item: node,
67
+ state: state,
68
+ onAction: onAction,
69
+ isDisabled: isDisabled,
70
+ isFocusVisible: isFocusVisible,
71
+ isNotFocusedOnHover: isNotFocusedOnHover
72
+ });
73
+ }))));
74
+ });
75
+ var _default = MenuSection;
76
+ exports["default"] = _default;
@@ -0,0 +1,21 @@
1
+ declare const _default: {
2
+ section: {
3
+ borderRadius: number;
4
+ padding: number;
5
+ margin: number;
6
+ listStyle: string;
7
+ maxWidth: number;
8
+ outline: string;
9
+ overflow: string;
10
+ minWidth: string;
11
+ };
12
+ sectionTitle: {
13
+ fontSize: string;
14
+ fontWeight: string;
15
+ color: string;
16
+ height: string;
17
+ ml: string;
18
+ justifyContent: string;
19
+ };
20
+ };
21
+ export default _default;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
8
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
11
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
+ _Object$defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = void 0;
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
+ var _Menu = _interopRequireDefault(require("../Menu/Menu.styles"));
18
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ var section = _objectSpread(_objectSpread({}, _Menu["default"]), {}, {
21
+ borderRadius: 0
22
+ });
23
+ var sectionTitle = {
24
+ fontSize: 'sm',
25
+ fontWeight: '3',
26
+ color: 'text.secondary',
27
+ height: '36px',
28
+ ml: 'sm',
29
+ justifyContent: 'center'
30
+ };
31
+ var _default = {
32
+ section: section,
33
+ sectionTitle: sectionTitle
34
+ };
35
+ exports["default"] = _default;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
5
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
6
+ var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _index = require("../../index");
9
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
10
+ var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
11
+ var _react2 = require("@emotion/react");
12
+ var testId = 'testId';
13
+ var defaultMenuSections = [{
14
+ key: 'menuSection 1',
15
+ 'data-id': 'menuSection1',
16
+ title: 'Section 1',
17
+ children: [{
18
+ key: 'menuItem1',
19
+ children: 'MenuItem 1',
20
+ 'data-id': 'menuItem1',
21
+ isPressed: false,
22
+ backgroundColor: 'orange'
23
+ }]
24
+ }, {
25
+ key: 'menuSection 2',
26
+ 'data-id': 'menuSection2',
27
+ children: [{
28
+ key: 'menuItem2',
29
+ children: 'MenuItem 2',
30
+ 'data-id': 'menuItem1',
31
+ isPressed: false
32
+ }, {
33
+ key: 'menuItem3',
34
+ children: 'MenuItem 3',
35
+ 'data-id': 'menuItem1',
36
+ isPressed: false
37
+ }]
38
+ }];
39
+ var defaultProps = {
40
+ 'data-testid': testId,
41
+ defaultSelectedKey: 'menuItem1',
42
+ 'aria-label': 'testLabel'
43
+ };
44
+ var getComponent = function getComponent() {
45
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
46
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
47
+ _ref$items = _ref.items,
48
+ items = _ref$items === void 0 ? defaultMenuSections : _ref$items,
49
+ _ref$renderFn = _ref.renderFn,
50
+ renderFn = _ref$renderFn === void 0 ? _testWrapper.render : _ref$renderFn;
51
+ return renderFn((0, _react2.jsx)(_index.Menu, (0, _extends2["default"])({}, defaultProps, props), (0, _map["default"])(items).call(items, function (section) {
52
+ var _context;
53
+ return (0, _react2.jsx)(_index.Section, section, (0, _map["default"])(_context = section.children).call(_context, function (li) {
54
+ return (0, _react2.jsx)(_index.Item, li);
55
+ }));
56
+ })));
57
+ };
58
+
59
+ // Needs to be added to each components test file
60
+ (0, _universalComponentTest.universalComponentTests)({
61
+ renderComponent: function renderComponent(props) {
62
+ return (0, _react2.jsx)(_index.Menu, (0, _extends2["default"])({}, defaultProps, props), (0, _map["default"])(defaultMenuSections).call(defaultMenuSections, function (section) {
63
+ var _context2;
64
+ return (0, _react2.jsx)(_index.Section, section, (0, _map["default"])(_context2 = section.children).call(_context2, function (li) {
65
+ return (0, _react2.jsx)(_index.Item, (0, _extends2["default"])({}, li, {
66
+ sx: {
67
+ backgroundColor: 'orange'
68
+ }
69
+ }));
70
+ }));
71
+ }));
72
+ }
73
+ });
74
+ test('renders menu with menu sections and titles', function () {
75
+ getComponent();
76
+ var menu = _testWrapper.screen.getByRole('menu');
77
+ var menuSections = _testWrapper.screen.getAllByRole('group');
78
+ var menuTitle = _testWrapper.screen.getByText('Section 1');
79
+ expect(menu).toBeInTheDocument();
80
+ expect(menuTitle).toBeInTheDocument();
81
+ expect(menuSections).toHaveLength(defaultMenuSections.length);
82
+ });
83
+ test('renders sections with menu items', function () {
84
+ getComponent();
85
+ var menuItems = _testWrapper.screen.getAllByRole('menuitem');
86
+ expect(menuItems).toHaveLength((0, _reduce["default"])(defaultMenuSections).call(defaultMenuSections, function (acc, section) {
87
+ return acc + section.children.length;
88
+ }, 0));
89
+ });
90
+ test('custom props are passed into menuItem', function () {
91
+ getComponent();
92
+ var itemText1 = defaultMenuSections[0].children[0].children;
93
+ var menuItem1 = _testWrapper.screen.getByText(itemText1);
94
+ expect(menuItem1).toHaveStyleRule('background-color', 'orange');
95
+ });
96
+ test('renders separator before menu section if it is not the first section', function () {
97
+ getComponent();
98
+ var separators = _testWrapper.screen.getByRole('separator');
99
+ expect(separators).toBeInTheDocument();
100
+ });
@@ -0,0 +1 @@
1
+ export { default } from './MenuSection';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ _Object$defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _MenuSection["default"];
12
+ }
13
+ });
14
+ var _MenuSection = _interopRequireDefault(require("./MenuSection"));
@@ -8,3 +8,5 @@ export declare const Controlled: StoryFn;
8
8
  export declare const Placement: StoryFn;
9
9
  export declare const NotFlippable: StoryFn;
10
10
  export declare const NotClosedOnSelect: StoryFn;
11
+ export declare const WithSeparator: StoryFn<PopoverMenuProps>;
12
+ export declare const WithSections: StoryFn<PopoverMenuProps>;
@@ -8,7 +8,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
8
8
  _Object$defineProperty(exports, "__esModule", {
9
9
  value: true
10
10
  });
11
- exports["default"] = exports.Placement = exports.NotFlippable = exports.NotClosedOnSelect = exports.DefaultOpen = exports.Default = exports.Controlled = void 0;
11
+ exports["default"] = exports.WithSeparator = exports.WithSections = exports.Placement = exports.NotFlippable = exports.NotClosedOnSelect = exports.DefaultOpen = exports.Default = exports.Controlled = void 0;
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _DotsVerticalIcon = _interopRequireDefault(require("@pingux/mdi-react/DotsVerticalIcon"));
@@ -103,12 +103,12 @@ var DefaultOpen = function DefaultOpen() {
103
103
  }
104
104
  })), (0, _react2.jsx)(_index.Menu, {
105
105
  onAction: (0, _addonActions.action)('onAction'),
106
- disabledKeys: ['duplicate']
106
+ disabledKeys: ['disabledItem']
107
107
  }, (0, _react2.jsx)(_index.Item, {
108
108
  key: "edit"
109
109
  }, "Edit"), (0, _react2.jsx)(_index.Item, {
110
- key: "duplicate"
111
- }, "Duplicate"), (0, _react2.jsx)(_index.Item, {
110
+ key: "disabledItem"
111
+ }, "Disabled Item"), (0, _react2.jsx)(_index.Item, {
112
112
  key: "delete",
113
113
  textValue: "delete"
114
114
  }, (0, _react2.jsx)(_index.Text, {
@@ -242,4 +242,72 @@ var NotClosedOnSelect = function NotClosedOnSelect() {
242
242
  }, "Delete")))))
243
243
  );
244
244
  };
245
- exports.NotClosedOnSelect = NotClosedOnSelect;
245
+ exports.NotClosedOnSelect = NotClosedOnSelect;
246
+ var WithSeparator = function WithSeparator(args) {
247
+ return (
248
+ // Application must be wrapped in an OverlayProvider so that it can be hidden from screen
249
+ // readers when an overlay opens.
250
+ (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.PopoverMenu, args, (0, _react2.jsx)(_index.IconButton, {
251
+ "aria-label": "more options",
252
+ variant: "inverted"
253
+ }, (0, _react2.jsx)(_index.Icon, {
254
+ icon: _DotsVerticalIcon["default"],
255
+ size: "md",
256
+ title: {
257
+ name: 'Dots Vertical Icon'
258
+ }
259
+ })), (0, _react2.jsx)(_index.Menu, {
260
+ onAction: (0, _addonActions.action)('onAction'),
261
+ disabledKeys: ['disabledItem']
262
+ }, (0, _react2.jsx)(_index.Section, null, (0, _react2.jsx)(_index.Item, {
263
+ key: "edit"
264
+ }, "Edit")), (0, _react2.jsx)(_index.Section, null, (0, _react2.jsx)(_index.Item, {
265
+ key: "disabledItem"
266
+ }, "Disabled Item"), (0, _react2.jsx)(_index.Item, {
267
+ key: "delete",
268
+ textValue: "delete"
269
+ }, (0, _react2.jsx)(_index.Text, {
270
+ color: "critical.bright"
271
+ }, "Delete"))))))
272
+ );
273
+ };
274
+ exports.WithSeparator = WithSeparator;
275
+ var WithSections = function WithSections(args) {
276
+ return (
277
+ // Application must be wrapped in an OverlayProvider so that it can be hidden from screen
278
+ // readers when an overlay opens.
279
+ (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.PopoverMenu, args, (0, _react2.jsx)(_index.IconButton, {
280
+ "aria-label": "more options",
281
+ variant: "inverted"
282
+ }, (0, _react2.jsx)(_index.Icon, {
283
+ icon: _DotsVerticalIcon["default"],
284
+ size: "md",
285
+ title: {
286
+ name: 'Dots Vertical Icon'
287
+ }
288
+ })), (0, _react2.jsx)(_index.Menu, {
289
+ onAction: (0, _addonActions.action)('onAction'),
290
+ disabledKeys: ['disabledItem']
291
+ }, (0, _react2.jsx)(_index.Section, {
292
+ key: "section 1",
293
+ title: "Section 1"
294
+ }, (0, _react2.jsx)(_index.Item, {
295
+ key: "edit"
296
+ }, "Edit"), (0, _react2.jsx)(_index.Item, {
297
+ key: "disabledItem"
298
+ }, "Disabled Item"), (0, _react2.jsx)(_index.Item, {
299
+ key: "copy"
300
+ }, "Copy")), (0, _react2.jsx)(_index.Section, {
301
+ key: "section 2",
302
+ title: "Section 2"
303
+ }, (0, _react2.jsx)(_index.Item, {
304
+ key: "duplicate"
305
+ }, "Duplicate"), (0, _react2.jsx)(_index.Item, {
306
+ key: "delete",
307
+ textValue: "delete"
308
+ }, (0, _react2.jsx)(_index.Text, {
309
+ color: "critical.bright"
310
+ }, "Delete"))))))
311
+ );
312
+ };
313
+ exports.WithSections = WithSections;
@@ -264,18 +264,15 @@ exports.Controlled = Controlled;
264
264
  var WithNoneOption = function WithNoneOption() {
265
265
  return (0, _react2.jsx)(_index.SelectField, {
266
266
  label: "What's your favorite color?"
267
- }, (0, _react2.jsx)(_index.Item, {
267
+ }, (0, _react2.jsx)(_index.Section, null, (0, _react2.jsx)(_index.Item, {
268
268
  key: "none"
269
- }, "None"), (0, _react2.jsx)(_index.Item, {
270
- isSeparator: true,
271
- textValue: "-"
272
- }, (0, _react2.jsx)(_index.Separator, null)), (0, _react2.jsx)(_index.Item, {
269
+ }, "None")), (0, _react2.jsx)(_index.Section, null, (0, _react2.jsx)(_index.Item, {
273
270
  key: "red"
274
271
  }, "Red"), (0, _react2.jsx)(_index.Item, {
275
272
  key: "blue"
276
273
  }, "Blue"), (0, _react2.jsx)(_index.Item, {
277
274
  key: "yellow"
278
- }, "Yellow"));
275
+ }, "Yellow")));
279
276
  };
280
277
  exports.WithNoneOption = WithNoneOption;
281
278
  var WithSlots = function WithSlots() {
@@ -1543,6 +1543,9 @@ declare const _default: {
1543
1543
  color: string;
1544
1544
  bg: string;
1545
1545
  pl: number;
1546
+ '&.is-focused': {
1547
+ color: string;
1548
+ };
1546
1549
  };
1547
1550
  };
1548
1551
  };
@@ -419,6 +419,9 @@ declare const _default: {
419
419
  color: string;
420
420
  bg: string;
421
421
  pl: number;
422
+ '&.is-focused': {
423
+ color: string;
424
+ };
422
425
  };
423
426
  };
424
427
  };
@@ -213,7 +213,10 @@ var listBox = {
213
213
  '&.is-selected': {
214
214
  color: 'text.primary',
215
215
  bg: 'lightblue',
216
- pl: 0
216
+ pl: 0,
217
+ '&.is-focused': {
218
+ color: 'text.primary'
219
+ }
217
220
  }
218
221
  }
219
222
  };
@@ -41,6 +41,7 @@ var _ListViewItem = _interopRequireDefault(require("../../components/ListViewIte
41
41
  var _Loader = _interopRequireDefault(require("../../components/Loader/Loader.styles"));
42
42
  var _Menu = _interopRequireDefault(require("../../components/Menu/Menu.styles"));
43
43
  var _MenuItem = _interopRequireDefault(require("../../components/MenuItem/MenuItem.styles"));
44
+ var _MenuSection = _interopRequireDefault(require("../../components/MenuSection/MenuSection.styles"));
44
45
  var _Message = _interopRequireDefault(require("../../components/Messages/Message.styles"));
45
46
  var _Modal = _interopRequireDefault(require("../../components/Modal/Modal.styles"));
46
47
  var _NavBar = _interopRequireDefault(require("../../components/NavBar/NavBar.styles"));
@@ -90,6 +91,7 @@ var _default = _objectSpread({
90
91
  loader: _Loader["default"],
91
92
  menu: _Menu["default"],
92
93
  menuItem: _MenuItem["default"],
94
+ menuSection: _MenuSection["default"],
93
95
  message: _Message["default"],
94
96
  modal: _Modal["default"],
95
97
  navBar: _NavBar["default"],
@@ -30,6 +30,7 @@ export * from './listItem';
30
30
  export * from './loader';
31
31
  export * from './menu';
32
32
  export * from './menuItem';
33
+ export * from './menuSection';
33
34
  export * from './messages';
34
35
  export * from './Modal';
35
36
  export * from './navBar';