@pingux/astro 1.4.1-alpha.5 → 1.5.0-alpha.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/cjs/components/ListView/ListView.js +12 -13
  3. package/lib/cjs/components/ListView/ListView.test.js +8 -8
  4. package/lib/cjs/components/ListViewItem/ListViewItem.js +0 -2
  5. package/lib/cjs/components/MultiselectFilter/MultiselectFilter.js +143 -0
  6. package/lib/cjs/components/MultiselectFilter/MultiselectFilter.stories.js +283 -0
  7. package/lib/cjs/components/MultiselectFilter/MultiselectFilter.test.js +83 -0
  8. package/lib/cjs/components/MultiselectFilter/index.js +18 -0
  9. package/lib/cjs/components/MultiselectFilterItem/MultiselectFilterItem.js +55 -0
  10. package/lib/cjs/components/MultiselectFilterItem/MultiselectFilterItem.test.js +53 -0
  11. package/lib/cjs/components/MultiselectFilterItem/index.js +18 -0
  12. package/lib/cjs/components/MultiselectListContainer/MultiselectBadge.js +47 -0
  13. package/lib/cjs/components/MultiselectListContainer/MultiselectBadge.test.js +48 -0
  14. package/lib/cjs/components/MultiselectListContainer/MultiselectListContainer.js +157 -0
  15. package/lib/cjs/components/MultiselectListContainer/MultiselectListContainer.test.js +112 -0
  16. package/lib/cjs/components/MultiselectListContainer/index.js +18 -0
  17. package/lib/cjs/index.js +98 -32
  18. package/lib/cjs/styles/variants/buttons.js +25 -1
  19. package/lib/cjs/styles/variants/multiselectListContainer.js +73 -0
  20. package/lib/cjs/styles/variants/text.js +22 -0
  21. package/lib/cjs/styles/variants/variants.js +3 -0
  22. package/lib/components/ListView/ListView.js +12 -13
  23. package/lib/components/ListView/ListView.test.js +8 -8
  24. package/lib/components/ListViewItem/ListViewItem.js +0 -2
  25. package/lib/components/MultiselectFilter/MultiselectFilter.js +118 -0
  26. package/lib/components/MultiselectFilter/MultiselectFilter.stories.js +251 -0
  27. package/lib/components/MultiselectFilter/MultiselectFilter.test.js +69 -0
  28. package/lib/components/MultiselectFilter/index.js +1 -0
  29. package/lib/components/MultiselectFilterItem/MultiselectFilterItem.js +36 -0
  30. package/lib/components/MultiselectFilterItem/MultiselectFilterItem.test.js +37 -0
  31. package/lib/components/MultiselectFilterItem/index.js +1 -0
  32. package/lib/components/MultiselectListContainer/MultiselectBadge.js +31 -0
  33. package/lib/components/MultiselectListContainer/MultiselectBadge.test.js +34 -0
  34. package/lib/components/MultiselectListContainer/MultiselectListContainer.js +123 -0
  35. package/lib/components/MultiselectListContainer/MultiselectListContainer.test.js +81 -0
  36. package/lib/components/MultiselectListContainer/index.js +1 -0
  37. package/lib/index.js +6 -0
  38. package/lib/styles/variants/buttons.js +25 -1
  39. package/lib/styles/variants/multiselectListContainer.js +63 -0
  40. package/lib/styles/variants/text.js +22 -0
  41. package/lib/styles/variants/variants.js +2 -0
  42. package/package.json +1 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
6
+
7
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
8
+
9
+ _Object$defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+
13
+ exports["default"] = void 0;
14
+
15
+ var _react = _interopRequireWildcard(require("react"));
16
+
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+
19
+ var _index = require("../../index");
20
+
21
+ var _react2 = require("@emotion/react");
22
+
23
+ var MultiselectFilterItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
24
+ var text = props.text,
25
+ icon = props.icon;
26
+ return (0, _react2.jsx)(_index.Box, {
27
+ "data-testid": "multiselect-filter-item",
28
+ isRow: true,
29
+ justifyContent: "space-between",
30
+ ref: ref
31
+ }, (0, _react2.jsx)(_index.Text, {
32
+ variant: "multiselectFilterItem"
33
+ }, text), icon && (0, _react2.jsx)(_index.Icon, {
34
+ "data-testid": "multiselect-filter-data-icon",
35
+ icon: icon,
36
+ mr: "md",
37
+ color: "neutral.10",
38
+ size: 13,
39
+ flexShrink: 0
40
+ }));
41
+ });
42
+ MultiselectFilterItem.propTypes = {
43
+ /**
44
+ * Display text.
45
+ */
46
+ text: _propTypes["default"].string,
47
+
48
+ /**
49
+ * List icon.
50
+ */
51
+ icon: _propTypes["default"].shape({})
52
+ };
53
+ MultiselectFilterItem.displayName = 'MultiselectFilterItem';
54
+ var _default = MultiselectFilterItem;
55
+ exports["default"] = _default;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _FilterIcon = _interopRequireDefault(require("mdi-react/FilterIcon"));
10
+
11
+ var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
12
+
13
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
14
+
15
+ var _MultiselectFilterItem = _interopRequireDefault(require("./MultiselectFilterItem"));
16
+
17
+ var _react2 = require("@emotion/react");
18
+
19
+ var testId = 'multiselect-filter-item';
20
+ var iconId = 'multiselect-filter-data-icon';
21
+ var defaultProps = {
22
+ text: 'Item name'
23
+ };
24
+
25
+ var getComponent = function getComponent() {
26
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
+ return (0, _testWrapper.render)((0, _react2.jsx)(_MultiselectFilterItem["default"], (0, _extends2["default"])({}, defaultProps, props)));
28
+ };
29
+
30
+ afterEach(function () {
31
+ jest.restoreAllMocks();
32
+ }); // Need to be added to each test file to test accessibility using axe.
33
+
34
+ (0, _testAxe["default"])(getComponent);
35
+ test('default multiselectFilter', function () {
36
+ getComponent();
37
+
38
+ var multiselectFilterItem = _testWrapper.screen.getByTestId(testId);
39
+
40
+ var icon = _testWrapper.screen.queryByTestId(iconId);
41
+
42
+ expect(icon).not.toBeInTheDocument();
43
+ expect(multiselectFilterItem).toBeInTheDocument();
44
+ });
45
+ test('icon displays when icon prop is present', function () {
46
+ getComponent({
47
+ icon: _FilterIcon["default"]
48
+ });
49
+
50
+ var icon = _testWrapper.screen.getByTestId(iconId);
51
+
52
+ expect(icon).toBeInTheDocument();
53
+ });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ _Object$defineProperty(exports, "default", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _MultiselectFilterItem["default"];
15
+ }
16
+ });
17
+
18
+ var _MultiselectFilterItem = _interopRequireDefault(require("./MultiselectFilterItem"));
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports["default"] = void 0;
12
+
13
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
+
15
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
16
+
17
+ var _react = _interopRequireDefault(require("react"));
18
+
19
+ var _propTypes = _interopRequireDefault(require("prop-types"));
20
+
21
+ var _Chip = _interopRequireDefault(require("../Chip"));
22
+
23
+ var _react2 = require("@emotion/react");
24
+
25
+ /**
26
+ * The MultiselectBadge serves as a badge to display selected count.
27
+ */
28
+ var MultiselectBadge = function MultiselectBadge(props) {
29
+ var selectedFilterCount = props.selectedFilterCount,
30
+ others = (0, _objectWithoutProperties2["default"])(props, ["selectedFilterCount"]);
31
+ return (0, _react2.jsx)(_Chip["default"], (0, _extends2["default"])({
32
+ as: "span",
33
+ bg: "neutral.90",
34
+ label: selectedFilterCount.toString(),
35
+ textColor: "neutral.30",
36
+ variant: "multiselectListContainer.multiselectListBadge",
37
+ isUppercase: true
38
+ }, others));
39
+ };
40
+
41
+ MultiselectBadge.propTypes = {
42
+ selectedFilterCount: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
43
+ margin: _propTypes["default"].string
44
+ };
45
+ MultiselectBadge.displayName = 'MultiselectBadge';
46
+ var _default = MultiselectBadge;
47
+ exports["default"] = _default;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
10
+
11
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
12
+
13
+ var _MultiselectBadge = _interopRequireDefault(require("./MultiselectBadge"));
14
+
15
+ var _react2 = require("@emotion/react");
16
+
17
+ var testId = 'test-multiselectBadge';
18
+ var defaultProps = {
19
+ 'data-testid': testId,
20
+ selectedFilterCount: 9
21
+ };
22
+
23
+ var getComponent = function getComponent() {
24
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
25
+ return (0, _testWrapper.render)((0, _react2.jsx)(_MultiselectBadge["default"], (0, _extends2["default"])({}, defaultProps, props)));
26
+ };
27
+
28
+ afterEach(function () {
29
+ jest.restoreAllMocks();
30
+ }); // Need to be added to each test file to test accessibility using axe.
31
+
32
+ (0, _testAxe["default"])(getComponent);
33
+ test('default multiselectBadge', function () {
34
+ getComponent();
35
+
36
+ var multiselectBadge = _testWrapper.screen.getByTestId(testId);
37
+
38
+ expect(multiselectBadge).toBeInTheDocument();
39
+ });
40
+ test('custom classname can be passed', function () {
41
+ getComponent({
42
+ className: 'testing-class'
43
+ });
44
+
45
+ var multiselectBadge = _testWrapper.screen.getByTestId(testId);
46
+
47
+ expect(multiselectBadge).toHaveClass('testing-class');
48
+ });
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
+
7
+ var _Object$defineProperty2 = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
8
+
9
+ _Object$defineProperty2(exports, "__esModule", {
10
+ value: true
11
+ });
12
+
13
+ exports["default"] = void 0;
14
+
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
16
+
17
+ var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
18
+
19
+ var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
20
+
21
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
22
+
23
+ var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
24
+
25
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
26
+
27
+ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
28
+
29
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
30
+
31
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
32
+
33
+ var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
34
+
35
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
36
+
37
+ var _react = _interopRequireWildcard(require("react"));
38
+
39
+ var _propTypes = _interopRequireDefault(require("prop-types"));
40
+
41
+ var _ChevronRightIcon = _interopRequireDefault(require("mdi-react/ChevronRightIcon"));
42
+
43
+ var _ChevronLeftIcon = _interopRequireDefault(require("mdi-react/ChevronLeftIcon"));
44
+
45
+ var _overlays = require("@react-stately/overlays");
46
+
47
+ var _MultiselectBadge = _interopRequireDefault(require("./MultiselectBadge"));
48
+
49
+ var _index = require("../../index");
50
+
51
+ var _hooks = require("../../hooks");
52
+
53
+ var _react2 = require("@emotion/react");
54
+
55
+ function ownKeys(object, enumerableOnly) { var keys = (0, _keys["default"])(object); if (_getOwnPropertySymbols["default"]) { var symbols = (0, _getOwnPropertySymbols["default"])(object); if (enumerableOnly) symbols = (0, _filter["default"])(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor["default"])(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
56
+
57
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; (0, _forEach["default"])(_context = ownKeys(Object(source), true)).call(_context, function (key) { (0, _defineProperty3["default"])(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors["default"]) { (0, _defineProperties["default"])(target, (0, _getOwnPropertyDescriptors["default"])(source)); } else { var _context2; (0, _forEach["default"])(_context2 = ownKeys(Object(source))).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, (0, _getOwnPropertyDescriptor["default"])(source, key)); }); } } return target; }
58
+
59
+ /**
60
+ * The MultiselectListContainer serves as a wrapper around a list and its associated trigger,
61
+ * linking the list's open state with the trigger's press state and providing necessary context.
62
+ */
63
+ var MultiselectListContainer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
64
+ var selectedFilterCount = props.selectedFilterCount,
65
+ className = props.className,
66
+ children = props.children,
67
+ closeAriaLabel = props.closeAriaLabel,
68
+ isDefaultOpen = props.isDefaultOpen,
69
+ isOpen = props.isOpen,
70
+ onOpenChange = props.onOpenChange,
71
+ openAriaLabel = props.openAriaLabel,
72
+ others = (0, _objectWithoutProperties2["default"])(props, ["selectedFilterCount", "className", "children", "closeAriaLabel", "isDefaultOpen", "isOpen", "onOpenChange", "openAriaLabel"]);
73
+
74
+ var triggerRef = _react["default"].useRef();
75
+
76
+ var state = (0, _overlays.useOverlayTriggerState)({
77
+ defaultOpen: isDefaultOpen,
78
+ isOpen: isOpen,
79
+ onOpenChange: onOpenChange
80
+ });
81
+ var close = state.close;
82
+
83
+ var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
84
+ isOpen: state.isOpen
85
+ }),
86
+ classNames = _useStatusClasses.classNames;
87
+
88
+ var handleButtonPress = function handleButtonPress() {
89
+ if (state.isOpen) {
90
+ close(state, triggerRef, close);
91
+ } else {
92
+ state.open();
93
+ }
94
+ };
95
+
96
+ var handleClose = function handleClose(e) {
97
+ if (e.key === 'Escape') {
98
+ close(state, triggerRef, close);
99
+ }
100
+ };
101
+
102
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
103
+ className: classNames,
104
+ onKeyUp: handleClose,
105
+ ref: ref,
106
+ variant: "multiselectListContainer.multiselectListContainer",
107
+ isRow: true
108
+ }, others), (0, _react2.jsx)(_index.IconButton, {
109
+ isRow: true,
110
+ "aria-label": state.isOpen ? closeAriaLabel : openAriaLabel,
111
+ "data-testid": "multiselect-list-button",
112
+ onPress: handleButtonPress,
113
+ ref: triggerRef,
114
+ variant: "multiselectToggle",
115
+ pr: "sm"
116
+ }, (0, _react2.jsx)(_index.Icon, {
117
+ color: "active",
118
+ icon: state.isOpen ? _ChevronRightIcon["default"] : _ChevronLeftIcon["default"],
119
+ role: "button",
120
+ size: "30px"
121
+ }), !state.isOpen && selectedFilterCount && (0, _react2.jsx)(_MultiselectBadge["default"], {
122
+ "data-testid": "multiselect-list-badge",
123
+ margin: "auto",
124
+ selectedFilterCount: selectedFilterCount
125
+ })), state.isOpen && _objectSpread({}, children));
126
+ });
127
+ MultiselectListContainer.propTypes = {
128
+ /** Amount of selected items indicator. */
129
+ selectedFilterCount: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
130
+
131
+ /** Defines a string value that labels the trigger icon when menu is open. */
132
+ closeAriaLabel: _propTypes["default"].string,
133
+
134
+ /** Sets the default open state of the overlay. */
135
+ isDefaultOpen: _propTypes["default"].bool,
136
+
137
+ /** Whether the overlay is currently open. */
138
+ isOpen: _propTypes["default"].bool,
139
+
140
+ /**
141
+ * Method that is called when the open state of the menu changes.
142
+ * Returns the new open state and the action that caused the opening of the menu.
143
+ *
144
+ * `(isOpen: boolean, overlayTrigger: OverlayTriggerAction) => void`
145
+ */
146
+ onOpenChange: _propTypes["default"].func,
147
+
148
+ /** Defines a string value that labels the trigger icon when menu is closed. */
149
+ openAriaLabel: _propTypes["default"].string
150
+ };
151
+ MultiselectListContainer.defaultProps = {
152
+ openAriaLabel: 'Open filter menu?',
153
+ closeAriaLabel: 'Close filter menu?'
154
+ };
155
+ MultiselectListContainer.displayName = 'MultiselectListContainer';
156
+ var _default = MultiselectListContainer;
157
+ exports["default"] = _default;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
+
11
+ var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
12
+
13
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
14
+
15
+ var _MultiselectListContainer = _interopRequireDefault(require("./MultiselectListContainer"));
16
+
17
+ var _react2 = require("@emotion/react");
18
+
19
+ var testId = 'test-multiselectListContainer';
20
+ var multiselectListBadgeId = 'multiselect-list-badge';
21
+ var multiselectListButtonId = 'multiselect-list-button';
22
+ var multiselectFilterId = 'multiselect-filter';
23
+ var defaultProps = {
24
+ 'data-testid': testId
25
+ };
26
+
27
+ var getComponent = function getComponent() {
28
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
+ return (0, _testWrapper.render)((0, _react2.jsx)(_MultiselectListContainer["default"], (0, _extends2["default"])({}, defaultProps, props), (0, _react2.jsx)("div", {
30
+ "data-testid": multiselectFilterId
31
+ })));
32
+ };
33
+
34
+ afterEach(function () {
35
+ jest.restoreAllMocks();
36
+ }); // Need to be added to each test file to test accessibility using axe.
37
+
38
+ (0, _testAxe["default"])(getComponent);
39
+ test('default MultiselectListContainer', function () {
40
+ getComponent();
41
+
42
+ var multiselectListContainer = _testWrapper.screen.getByTestId(testId);
43
+
44
+ expect(multiselectListContainer).toBeInTheDocument();
45
+ });
46
+ test('custom classname can be passed', function () {
47
+ getComponent({
48
+ className: 'testing-class'
49
+ });
50
+
51
+ var multiselectListContainer = _testWrapper.screen.getByTestId(testId);
52
+
53
+ expect(multiselectListContainer).toHaveClass('testing-class');
54
+ });
55
+ test('shows badge when container is closed', function () {
56
+ getComponent({
57
+ selectedFilterCount: 9,
58
+ state: {
59
+ isOpen: false
60
+ }
61
+ });
62
+
63
+ var badge = _testWrapper.screen.getByTestId(multiselectListBadgeId);
64
+
65
+ expect(badge).toBeInTheDocument();
66
+ });
67
+ test('updates aria label when button is clicked', function () {
68
+ var state = {
69
+ isOpen: true
70
+ };
71
+ getComponent({
72
+ state: state
73
+ });
74
+
75
+ var button = _testWrapper.screen.getByTestId(multiselectListButtonId);
76
+
77
+ _userEvent["default"].click(button);
78
+
79
+ var multiSelect = _testWrapper.screen.queryByTestId(multiselectFilterId);
80
+
81
+ expect(button).toHaveAttribute('aria-label', 'Close filter menu?');
82
+ expect(multiSelect).toBeInTheDocument();
83
+
84
+ _userEvent["default"].click(button);
85
+
86
+ expect(button).toHaveAttribute('aria-label', 'Open filter menu?');
87
+ expect(multiSelect).not.toBeInTheDocument();
88
+ });
89
+ test('shows children when isOpen is true', function () {
90
+ getComponent({
91
+ isOpen: true
92
+ });
93
+
94
+ var multiselectFilter = _testWrapper.screen.getByTestId(multiselectFilterId);
95
+
96
+ expect(multiselectFilter).toBeInTheDocument();
97
+ });
98
+ test('should hide children when pressing the escape key', function () {
99
+ getComponent();
100
+
101
+ var button = _testWrapper.screen.getByTestId(multiselectListButtonId);
102
+
103
+ _userEvent["default"].click(button);
104
+
105
+ var multiSelect = _testWrapper.screen.queryByTestId(multiselectFilterId);
106
+
107
+ expect(multiSelect).toBeInTheDocument();
108
+
109
+ _userEvent["default"].type(button, '{esc}');
110
+
111
+ expect(multiSelect).not.toBeInTheDocument();
112
+ });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ _Object$defineProperty(exports, "default", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _MultiselectListContainer["default"];
15
+ }
16
+ });
17
+
18
+ var _MultiselectListContainer = _interopRequireDefault(require("./MultiselectListContainer"));