@pingux/astro 1.17.0-alpha.5 → 1.17.0-alpha.8

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 (23) hide show
  1. package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.js +2 -0
  2. package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.stories.js +125 -32
  3. package/lib/cjs/components/CollapsiblePanelContainer/CollapsiblePanelContainer.js +4 -22
  4. package/lib/cjs/components/CollapsiblePanelContainer/CollapsiblePanelContainer.test.js +8 -8
  5. package/lib/cjs/components/CollapsiblePanelItem/CollapsiblePanelItem.js +2 -2
  6. package/lib/cjs/components/ListView/ListView.js +1 -0
  7. package/lib/cjs/components/OverlayPanel/OverlayPanel.stories.js +1 -1
  8. package/lib/cjs/components/RockerButton/RockerButton.js +5 -9
  9. package/lib/cjs/styles/variants/buttons.js +5 -2
  10. package/lib/cjs/styles/variants/collapsiblePanel.js +26 -7
  11. package/lib/cjs/styles/variants/overlayPanel.js +2 -2
  12. package/lib/components/CollapsiblePanel/CollapsiblePanel.js +2 -0
  13. package/lib/components/CollapsiblePanel/CollapsiblePanel.stories.js +113 -31
  14. package/lib/components/CollapsiblePanelContainer/CollapsiblePanelContainer.js +1 -15
  15. package/lib/components/CollapsiblePanelContainer/CollapsiblePanelContainer.test.js +6 -6
  16. package/lib/components/CollapsiblePanelItem/CollapsiblePanelItem.js +2 -2
  17. package/lib/components/ListView/ListView.js +1 -0
  18. package/lib/components/OverlayPanel/OverlayPanel.stories.js +1 -1
  19. package/lib/components/RockerButton/RockerButton.js +6 -10
  20. package/lib/styles/variants/buttons.js +5 -2
  21. package/lib/styles/variants/collapsiblePanel.js +26 -7
  22. package/lib/styles/variants/overlayPanel.js +2 -2
  23. package/package.json +1 -1
@@ -98,6 +98,7 @@ var CollapsiblePanel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
98
98
  variant: "collapsiblePanelTitle"
99
99
  }, listTitle), selectedFilterCount && (0, _react2.jsx)(_CollapsiblePanelBadge["default"], {
100
100
  margin: "0",
101
+ className: "title-badge",
101
102
  selectedFilterCount: selectedFilterCount
102
103
  })), (0, _react2.jsx)(_index.Box, {
103
104
  pl: "xs",
@@ -106,6 +107,7 @@ var CollapsiblePanel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
106
107
  items: items,
107
108
  onSelectionChange: onSelectionChange,
108
109
  selectionMode: "none",
110
+ selectionStyle: "highlight",
109
111
  style: {
110
112
  width: '100%'
111
113
  },
@@ -2,13 +2,25 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
5
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
6
+
7
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
8
 
7
9
  var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
8
10
 
9
- var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
11
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
12
 
11
- var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
14
+
15
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
16
+
17
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
18
+
19
+ var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
20
+
21
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
22
+
23
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
12
24
 
13
25
  _Object$defineProperty(exports, "__esModule", {
14
26
  value: true
@@ -18,15 +30,27 @@ exports["default"] = exports.Default = exports.CollapsiblePanelWithBadge = void
18
30
 
19
31
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
32
 
33
+ var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
34
+
35
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
36
+
37
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
38
+
39
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
40
+
41
+ var _sort = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort"));
42
+
43
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
44
+
21
45
  var _react = _interopRequireWildcard(require("react"));
22
46
 
23
47
  var _AccountGroupIcon = _interopRequireDefault(require("mdi-react/AccountGroupIcon"));
24
48
 
25
- var _CloseIcon = _interopRequireDefault(require("mdi-react/CloseIcon"));
26
-
27
49
  var _ChevronRightIcon = _interopRequireDefault(require("mdi-react/ChevronRightIcon"));
28
50
 
29
- var _FilterIcon = _interopRequireDefault(require("mdi-react/FilterIcon"));
51
+ var _CheckIcon = _interopRequireDefault(require("mdi-react/CheckIcon"));
52
+
53
+ var _CloseIcon = _interopRequireDefault(require("mdi-react/CloseIcon"));
30
54
 
31
55
  var _SearchIcon = _interopRequireDefault(require("mdi-react/SearchIcon"));
32
56
 
@@ -44,6 +68,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
44
68
 
45
69
  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; }
46
70
 
71
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
72
+
73
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
74
+
47
75
  var _default = {
48
76
  title: 'CollapsiblePanel',
49
77
  component: _CollapsiblePanel["default"],
@@ -69,13 +97,14 @@ var _default = {
69
97
  }
70
98
  };
71
99
  exports["default"] = _default;
72
- var items = [{
100
+ var data = [{
73
101
  id: '1',
74
102
  icon: 'Group',
75
103
  key: 'Avengers',
76
104
  name: 'Avengers',
77
105
  subtitle: 'Default',
78
- chipValue: '25'
106
+ chipValue: '25',
107
+ isDefaultSelected: true
79
108
  }, {
80
109
  id: '2',
81
110
  icon: 'Group',
@@ -96,7 +125,8 @@ var items = [{
96
125
  key: 'Digital Investors',
97
126
  name: 'Digital Investors',
98
127
  subtitle: 'N America',
99
- chipValue: '12'
128
+ chipValue: '12',
129
+ isDefaultSelected: true
100
130
  }, {
101
131
  id: '5',
102
132
  icon: 'Group',
@@ -133,23 +163,6 @@ var items = [{
133
163
  subtitle: '',
134
164
  chipValue: '29'
135
165
  }];
136
- var mockData = [{
137
- id: '10',
138
- key: 'Avengers',
139
- name: 'Avengers'
140
- }, {
141
- id: '11',
142
- key: 'Digital Investors',
143
- name: 'Digital Investors'
144
- }, {
145
- id: '12',
146
- key: 'A very long title as well',
147
- name: 'A very long title as well'
148
- }];
149
-
150
- var changeSelection = function changeSelection(selected) {
151
- console.log(selected);
152
- };
153
166
 
154
167
  var Default = function Default(args) {
155
168
  return (0, _react2.jsx)(_CollapsiblePanel["default"], args);
@@ -158,11 +171,41 @@ var Default = function Default(args) {
158
171
  exports.Default = Default;
159
172
 
160
173
  var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args) {
174
+ var _useState = (0, _react.useState)(data),
175
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
176
+ items = _useState2[0],
177
+ setItems = _useState2[1];
178
+
161
179
  var _useOverlayPanelState = (0, _hooks.useOverlayPanelState)(),
162
180
  state = _useOverlayPanelState.state,
163
181
  onClose = _useOverlayPanelState.onClose;
164
182
 
165
183
  var triggerRef = (0, _react.useRef)();
184
+ var selectedItems = (0, _react.useMemo)(function () {
185
+ var _context;
186
+
187
+ return (0, _sort["default"])(_context = (0, _filter["default"])(items).call(items, function (item) {
188
+ return item.isDefaultSelected || item.isSelected;
189
+ }) // sort elements to display "default selected" at first place
190
+ ).call(_context, function (a, b) {
191
+ return Number(!!b.isDefaultSelected) - Number(!!a.isDefaultSelected);
192
+ });
193
+ }, [items]);
194
+
195
+ var changeSelection = function changeSelection(key) {
196
+ setItems(function (prevItems) {
197
+ return (0, _map["default"])(prevItems).call(prevItems, function (el) {
198
+ if (el.key === key) {
199
+ return _objectSpread(_objectSpread({}, el), {}, {
200
+ isSelected: !el.isSelected
201
+ });
202
+ }
203
+
204
+ return el;
205
+ });
206
+ });
207
+ };
208
+
166
209
  return (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
167
210
  ref: triggerRef,
168
211
  onPress: state.open
@@ -219,7 +262,10 @@ var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args) {
219
262
  pt: "25px"
220
263
  }, (0, _react2.jsx)(_index.Box, {
221
264
  isRow: true,
222
- justifyContent: "space-between"
265
+ justifyContent: "space-between",
266
+ sx: {
267
+ marginTop: '5px'
268
+ }
223
269
  }, (0, _react2.jsx)(_index.Box, {
224
270
  width: "100%"
225
271
  }, (0, _react2.jsx)(_index.SearchField, {
@@ -228,11 +274,13 @@ var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args) {
228
274
  placeholder: "Search",
229
275
  width: "100%",
230
276
  mt: "0px",
231
- mr: "sm"
277
+ mr: "sm",
278
+ mb: "xs"
232
279
  }), (0, _react2.jsx)(_index.ListView, {
233
280
  items: items,
234
281
  style: {
235
- width: '108%'
282
+ width: '100%',
283
+ outline: 'none'
236
284
  }
237
285
  }, function (item) {
238
286
  return (0, _react2.jsx)(_index.Item, {
@@ -240,8 +288,12 @@ var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args) {
240
288
  textValue: item.name,
241
289
  "data-id": item.key,
242
290
  listItemProps: {
291
+ isRow: true,
243
292
  sx: {
244
293
  bg: 'white',
294
+ width: '100%',
295
+ justifyContent: 'space-between',
296
+ alignItems: 'center',
245
297
  '&.is-hovered': {
246
298
  bg: 'accent.99'
247
299
  }
@@ -271,9 +323,46 @@ var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args) {
271
323
  }
272
324
  })), (0, _react2.jsx)(_index.Text, {
273
325
  variant: "listSubtitle"
274
- }, item.subtitle))));
326
+ }, item.subtitle))), item.isDefaultSelected ? (0, _react2.jsx)(_index.Box, {
327
+ isRow: true,
328
+ sx: {
329
+ border: '1px solid',
330
+ borderColor: 'neutral.80',
331
+ borderRadius: 5,
332
+ minHeight: 22,
333
+ justifyContent: 'center',
334
+ alignItems: 'center',
335
+ p: 'xs',
336
+ maxWidth: '50%'
337
+ }
338
+ }, (0, _react2.jsx)(_index.Icon, {
339
+ icon: _CheckIcon["default"],
340
+ color: "neutral.20",
341
+ size: 13,
342
+ sx: {
343
+ flexShrink: 0
344
+ }
345
+ }), (0, _react2.jsx)(_index.Text, {
346
+ sx: {
347
+ fontSize: 'sm',
348
+ pl: 'xs',
349
+ maxHeight: 32,
350
+ overflow: 'hidden'
351
+ }
352
+ }, "Added by Filter")) : (0, _react2.jsx)(_index.CheckboxField, {
353
+ controlProps: {
354
+ color: 'neutral.10',
355
+ 'aria-label': 'Select'
356
+ },
357
+ onChange: function onChange() {
358
+ return changeSelection(item.key);
359
+ },
360
+ isSelected: (0, _some["default"])(selectedItems).call(selectedItems, function (el) {
361
+ return el.key === item.key;
362
+ })
363
+ }));
275
364
  })), (0, _react2.jsx)(_CollapsiblePanel["default"], (0, _extends2["default"])({
276
- items: mockData,
365
+ items: selectedItems,
277
366
  onSelectionChange: changeSelection,
278
367
  selectedFilterCount: "1000+"
279
368
  }, args), function (item) {
@@ -283,7 +372,11 @@ var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args) {
283
372
  "data-id": item.key
284
373
  }, (0, _react2.jsx)(_index.CollapsiblePanelItem, {
285
374
  text: item.name,
286
- icon: _FilterIcon["default"]
375
+ icon: item.isDefaultSelected ? _CheckIcon["default"] : _CloseIcon["default"],
376
+ onPress: function onPress() {
377
+ return changeSelection(item.key);
378
+ },
379
+ isDefaultSelected: item.isDefaultSelected
287
380
  }));
288
381
  })))));
289
382
  };
@@ -2,25 +2,13 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
6
-
7
- var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
8
-
9
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
10
-
11
- var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
12
-
13
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
14
-
15
- var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
16
-
17
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
18
6
 
19
- var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
20
8
 
21
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
9
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
22
10
 
23
- var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
11
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
24
12
 
25
13
  _Object$defineProperty(exports, "__esModule", {
26
14
  value: true
@@ -30,8 +18,6 @@ exports["default"] = void 0;
30
18
 
31
19
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
32
20
 
33
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
34
-
35
21
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
36
22
 
37
23
  var _react = _interopRequireWildcard(require("react"));
@@ -58,10 +44,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
58
44
 
59
45
  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; }
60
46
 
61
- 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; }
62
-
63
- 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; }
64
-
65
47
  /**
66
48
  * The CollapsiblePanelContainer serves as a wrapper around a list and its associated trigger,
67
49
  * linking the list's open state with the trigger's press state and providing necessary context.
@@ -128,7 +110,7 @@ var CollapsiblePanelContainer = /*#__PURE__*/(0, _react.forwardRef)(function (pr
128
110
  "data-testid": "collapsible-panel-badge",
129
111
  margin: "auto",
130
112
  selectedFilterCount: selectedFilterCount
131
- })), state.isOpen && _objectSpread({}, children));
113
+ })), children);
132
114
  });
133
115
  CollapsiblePanelContainer.propTypes = {
134
116
  /** Amount of selected items indicator. */
@@ -74,17 +74,17 @@ test('updates aria label when button is clicked', function () {
74
74
 
75
75
  var button = _testWrapper.screen.getByTestId(collapsiblePanelButtonId);
76
76
 
77
- _userEvent["default"].click(button);
77
+ var container = _testWrapper.screen.getByTestId(testId);
78
78
 
79
- var collapsiblePanel = _testWrapper.screen.queryByTestId(collapsiblePanelId);
79
+ _userEvent["default"].click(button);
80
80
 
81
81
  expect(button).toHaveAttribute('aria-label', 'Close filter menu?');
82
- expect(collapsiblePanel).toBeInTheDocument();
82
+ expect(container).toHaveClass('is-open');
83
83
 
84
84
  _userEvent["default"].click(button);
85
85
 
86
86
  expect(button).toHaveAttribute('aria-label', 'Open filter menu?');
87
- expect(collapsiblePanel).not.toBeInTheDocument();
87
+ expect(container).not.toHaveClass('is-open');
88
88
  });
89
89
  test('shows children when isOpen is true', function () {
90
90
  getComponent({
@@ -100,13 +100,13 @@ test('should hide children when pressing the escape key', function () {
100
100
 
101
101
  var button = _testWrapper.screen.getByTestId(collapsiblePanelButtonId);
102
102
 
103
- _userEvent["default"].click(button);
103
+ var container = _testWrapper.screen.getByTestId(testId);
104
104
 
105
- var collapsiblePanel = _testWrapper.screen.queryByTestId(collapsiblePanelId);
105
+ _userEvent["default"].click(button);
106
106
 
107
- expect(collapsiblePanel).toBeInTheDocument();
107
+ expect(container).toHaveClass('is-open');
108
108
 
109
109
  _userEvent["default"].type(button, '{esc}');
110
110
 
111
- expect(collapsiblePanel).not.toBeInTheDocument();
111
+ expect(container).not.toHaveClass('is-open');
112
112
  });
@@ -47,8 +47,8 @@ var CollapsiblePanelItem = /*#__PURE__*/(0, _react.forwardRef)(function (props,
47
47
  variant: "collapsiblePanellItem"
48
48
  }, text), iconElement && (isDefaultSelected ? iconElement : (0, _react2.jsx)(_index.IconButton, {
49
49
  sx: {
50
- width: 13,
51
- height: 13,
50
+ width: 20,
51
+ height: 20,
52
52
  alignSelf: 'auto',
53
53
  '& path': {
54
54
  fill: 'inherit'
@@ -198,6 +198,7 @@ var ListView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
198
198
 
199
199
  layout.isLoading = isLoading;
200
200
  var focusedItem = gridCollection.getFirstKey();
201
+ delete gridProps.onMouseDown;
201
202
  return (0, _react2.jsx)(_ListViewContext.ListViewContext.Provider, {
202
203
  value: {
203
204
  state: state,
@@ -189,7 +189,7 @@ var InnerPanel = function InnerPanel(_ref2) {
189
189
  onPress: state.open
190
190
  }, "Open Panel"), outer), messagesOpen && (0, _react2.jsx)(_index.Messages, {
191
191
  sx: {
192
- zIndex: 3
192
+ zIndex: 11
193
193
  }
194
194
  }, (0, _react2.jsx)(_collections.Item, {
195
195
  key: "message2",
@@ -64,15 +64,9 @@ var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props
64
64
  itemProps = item.props;
65
65
  var state = (0, _react.useContext)(_RockerButtonGroup.RockerContext);
66
66
  var isDisabled = state.disabledKeys.has(key);
67
-
68
- var _useFocusRing = (0, _focus.useFocusRing)(),
69
- isFocusVisible = _useFocusRing.isFocusVisible,
70
- focusProps = _useFocusRing.focusProps;
71
-
72
67
  var isSelected = state.selectedKey === key;
73
68
 
74
69
  var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
75
- isFocused: isFocusVisible,
76
70
  isSelected: isSelected,
77
71
  isDisabled: isDisabled
78
72
  }),
@@ -93,17 +87,19 @@ var CollectionRockerButton = /*#__PURE__*/(0, _react.forwardRef)(function (props
93
87
  }, state, rockerButtonRef),
94
88
  rockerButtonProps = _useRockerButton.rockerButtonProps;
95
89
 
96
- return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
90
+ return (0, _react2.jsx)(_focus.FocusRing, {
91
+ focusRingClass: "is-focused"
92
+ }, (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
97
93
  as: "button",
98
94
  className: classNames,
99
95
  variant: "buttons.rocker"
100
96
  }, rockerButtonProps, {
101
97
  ref: rockerButtonRef
102
- }, focusProps, itemProps, {
98
+ }, itemProps, {
103
99
  sx: {
104
100
  '&.is-selected': _objectSpread({}, itemProps.selectedStyles)
105
101
  }
106
- }), rendered);
102
+ }), rendered));
107
103
  });
108
104
  exports.CollectionRockerButton = CollectionRockerButton;
109
105
  CollectionRockerButton.displayName = 'CollectionRockerButton';
@@ -156,7 +156,7 @@ var collapsiblePanelToggle = _objectSpread(_objectSpread({}, square), {}, {
156
156
  bg: 'accent.99',
157
157
  height: '40px',
158
158
  minWidth: 'max-content',
159
- pl: '0px',
159
+ pl: 'xs',
160
160
  ml: '10px',
161
161
  path: {
162
162
  fill: 'active'
@@ -164,7 +164,10 @@ var collapsiblePanelToggle = _objectSpread(_objectSpread({}, square), {}, {
164
164
  '&.is-hovered': {
165
165
  backgroundColor: 'accent.99'
166
166
  },
167
- '&.is-focused': _objectSpread({}, defaultFocus),
167
+ '&.is-focused': _objectSpread(_objectSpread({}, defaultFocus), {}, {
168
+ outlineOffset: '0',
169
+ zIndex: 1
170
+ }),
168
171
  '&.is-pressed': {
169
172
  backgroundColor: 'accent.99'
170
173
  }
@@ -8,10 +8,17 @@ _Object$defineProperty(exports, "__esModule", {
8
8
 
9
9
  exports["default"] = void 0;
10
10
  var collapsiblePanelContainer = {
11
- overflowX: 'hidden',
12
11
  pr: 'sm',
13
- transition: 'right 500ms',
14
- minHeight: '80vh'
12
+ minHeight: '80vh',
13
+ '>div': {
14
+ visibility: 'hidden',
15
+ width: 0,
16
+ transition: 'width .3s ease'
17
+ },
18
+ '&.is-open>div': {
19
+ visibility: 'visible',
20
+ width: '300px'
21
+ }
15
22
  };
16
23
  var collapsiblePanelContent = {
17
24
  bg: 'accent.99',
@@ -34,15 +41,17 @@ var collapsiblePanelContent = {
34
41
  };
35
42
  var collapsiblePanelContainerTitle = {
36
43
  alignContent: 'center',
37
- bg: 'accent.99',
38
- display: 'flex',
39
44
  fontWeight: '500',
40
45
  minHeight: '40px',
41
46
  alignItems: 'center',
42
47
  padding: '0 10px !important',
43
48
  flexWrap: 'wrap',
44
49
  maxWidth: 'max-content !important',
45
- margin: '0'
50
+ margin: '0',
51
+ width: '0',
52
+ '.is-open &': {
53
+ width: '300px'
54
+ }
46
55
  };
47
56
  var collapsiblePanelBadge = {
48
57
  borderRadius: '5px',
@@ -55,7 +64,17 @@ var collapsiblePanelBadge = {
55
64
  pr: '3px !important',
56
65
  pl: '3px !important',
57
66
  alignItems: 'center',
58
- fontWeight: 500
67
+ fontWeight: 500,
68
+ '.is-open &.title-badge': {
69
+ minWidth: '0',
70
+ display: 'flex',
71
+ transition: 'min-width .3s ease',
72
+ width: 'max-content'
73
+ },
74
+ '&.title-badge': {
75
+ display: 'none',
76
+ width: '0'
77
+ }
59
78
  };
60
79
  var collapsiblePanellItem = {
61
80
  minHeight: '45px',
@@ -10,7 +10,7 @@ exports["default"] = void 0;
10
10
  var overlayPanel = {
11
11
  position: 'fixed',
12
12
  overflowY: 'scroll',
13
- zIndex: 1,
13
+ zIndex: 10,
14
14
  top: 0,
15
15
  bottom: 0,
16
16
  right: '-100%',
@@ -42,7 +42,7 @@ var overlayPanel = {
42
42
  };
43
43
  var overlayPanelInner = {
44
44
  position: 'absolute',
45
- zIndex: 2,
45
+ zIndex: 9,
46
46
  bottom: 0,
47
47
  right: 0,
48
48
  background: 'white',
@@ -65,6 +65,7 @@ var CollapsiblePanel = /*#__PURE__*/forwardRef(function (props, ref) {
65
65
  variant: "collapsiblePanelTitle"
66
66
  }, listTitle), selectedFilterCount && ___EmotionJSX(CollapsiblePanelBadge, {
67
67
  margin: "0",
68
+ className: "title-badge",
68
69
  selectedFilterCount: selectedFilterCount
69
70
  })), ___EmotionJSX(Box, {
70
71
  pl: "xs",
@@ -73,6 +74,7 @@ var CollapsiblePanel = /*#__PURE__*/forwardRef(function (props, ref) {
73
74
  items: items,
74
75
  onSelectionChange: onSelectionChange,
75
76
  selectionMode: "none",
77
+ selectionStyle: "highlight",
76
78
  style: {
77
79
  width: '100%'
78
80
  },
@@ -1,14 +1,32 @@
1
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
3
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
4
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
6
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
7
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
1
8
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
- import React, { useRef } from 'react';
9
+ import _someInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/some";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
12
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
13
+ import _sortInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/sort";
14
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
15
+
16
+ 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; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
19
+
20
+ import React, { useRef, useState, useMemo } from 'react';
3
21
  import AccountGroupIcon from 'mdi-react/AccountGroupIcon';
4
- import Clear from 'mdi-react/CloseIcon';
5
22
  import ChevronRightIcon from 'mdi-react/ChevronRightIcon';
6
- import FilterIcon from 'mdi-react/FilterIcon';
23
+ import CheckIcon from 'mdi-react/CheckIcon';
24
+ import Clear from 'mdi-react/CloseIcon';
7
25
  import SearchIcon from 'mdi-react/SearchIcon';
8
26
  import AccountIcon from 'mdi-react/AccountIcon';
9
27
  import CollapsiblePanel from './CollapsiblePanel';
10
28
  import { useOverlayPanelState } from '../../hooks';
11
- import { Breadcrumbs, Box, Button, Chip, ListView, Item, Icon, IconButton, CollapsiblePanelItem, OverlayPanel, OverlayProvider, SearchField, Text } from '../../index';
29
+ import { Breadcrumbs, Box, Button, CheckboxField, Chip, ListView, Item, Icon, IconButton, CollapsiblePanelItem, OverlayPanel, OverlayProvider, SearchField, Text } from '../../index';
12
30
  import { jsx as ___EmotionJSX } from "@emotion/react";
13
31
  export default {
14
32
  title: 'CollapsiblePanel',
@@ -34,13 +52,14 @@ export default {
34
52
  }
35
53
  }
36
54
  };
37
- var items = [{
55
+ var data = [{
38
56
  id: '1',
39
57
  icon: 'Group',
40
58
  key: 'Avengers',
41
59
  name: 'Avengers',
42
60
  subtitle: 'Default',
43
- chipValue: '25'
61
+ chipValue: '25',
62
+ isDefaultSelected: true
44
63
  }, {
45
64
  id: '2',
46
65
  icon: 'Group',
@@ -61,7 +80,8 @@ var items = [{
61
80
  key: 'Digital Investors',
62
81
  name: 'Digital Investors',
63
82
  subtitle: 'N America',
64
- chipValue: '12'
83
+ chipValue: '12',
84
+ isDefaultSelected: true
65
85
  }, {
66
86
  id: '5',
67
87
  icon: 'Group',
@@ -98,33 +118,45 @@ var items = [{
98
118
  subtitle: '',
99
119
  chipValue: '29'
100
120
  }];
101
- var mockData = [{
102
- id: '10',
103
- key: 'Avengers',
104
- name: 'Avengers'
105
- }, {
106
- id: '11',
107
- key: 'Digital Investors',
108
- name: 'Digital Investors'
109
- }, {
110
- id: '12',
111
- key: 'A very long title as well',
112
- name: 'A very long title as well'
113
- }];
114
-
115
- var changeSelection = function changeSelection(selected) {
116
- console.log(selected);
117
- };
118
-
119
121
  export var Default = function Default(args) {
120
122
  return ___EmotionJSX(CollapsiblePanel, args);
121
123
  };
122
124
  export var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args) {
125
+ var _useState = useState(data),
126
+ _useState2 = _slicedToArray(_useState, 2),
127
+ items = _useState2[0],
128
+ setItems = _useState2[1];
129
+
123
130
  var _useOverlayPanelState = useOverlayPanelState(),
124
131
  state = _useOverlayPanelState.state,
125
132
  onClose = _useOverlayPanelState.onClose;
126
133
 
127
134
  var triggerRef = useRef();
135
+ var selectedItems = useMemo(function () {
136
+ var _context;
137
+
138
+ return _sortInstanceProperty(_context = _filterInstanceProperty(items).call(items, function (item) {
139
+ return item.isDefaultSelected || item.isSelected;
140
+ }) // sort elements to display "default selected" at first place
141
+ ).call(_context, function (a, b) {
142
+ return Number(!!b.isDefaultSelected) - Number(!!a.isDefaultSelected);
143
+ });
144
+ }, [items]);
145
+
146
+ var changeSelection = function changeSelection(key) {
147
+ setItems(function (prevItems) {
148
+ return _mapInstanceProperty(prevItems).call(prevItems, function (el) {
149
+ if (el.key === key) {
150
+ return _objectSpread(_objectSpread({}, el), {}, {
151
+ isSelected: !el.isSelected
152
+ });
153
+ }
154
+
155
+ return el;
156
+ });
157
+ });
158
+ };
159
+
128
160
  return ___EmotionJSX(OverlayProvider, null, ___EmotionJSX(Button, {
129
161
  ref: triggerRef,
130
162
  onPress: state.open
@@ -181,7 +213,10 @@ export var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args)
181
213
  pt: "25px"
182
214
  }, ___EmotionJSX(Box, {
183
215
  isRow: true,
184
- justifyContent: "space-between"
216
+ justifyContent: "space-between",
217
+ sx: {
218
+ marginTop: '5px'
219
+ }
185
220
  }, ___EmotionJSX(Box, {
186
221
  width: "100%"
187
222
  }, ___EmotionJSX(SearchField, {
@@ -190,11 +225,13 @@ export var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args)
190
225
  placeholder: "Search",
191
226
  width: "100%",
192
227
  mt: "0px",
193
- mr: "sm"
228
+ mr: "sm",
229
+ mb: "xs"
194
230
  }), ___EmotionJSX(ListView, {
195
231
  items: items,
196
232
  style: {
197
- width: '108%'
233
+ width: '100%',
234
+ outline: 'none'
198
235
  }
199
236
  }, function (item) {
200
237
  return ___EmotionJSX(Item, {
@@ -202,8 +239,12 @@ export var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args)
202
239
  textValue: item.name,
203
240
  "data-id": item.key,
204
241
  listItemProps: {
242
+ isRow: true,
205
243
  sx: {
206
244
  bg: 'white',
245
+ width: '100%',
246
+ justifyContent: 'space-between',
247
+ alignItems: 'center',
207
248
  '&.is-hovered': {
208
249
  bg: 'accent.99'
209
250
  }
@@ -233,9 +274,46 @@ export var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args)
233
274
  }
234
275
  })), ___EmotionJSX(Text, {
235
276
  variant: "listSubtitle"
236
- }, item.subtitle))));
277
+ }, item.subtitle))), item.isDefaultSelected ? ___EmotionJSX(Box, {
278
+ isRow: true,
279
+ sx: {
280
+ border: '1px solid',
281
+ borderColor: 'neutral.80',
282
+ borderRadius: 5,
283
+ minHeight: 22,
284
+ justifyContent: 'center',
285
+ alignItems: 'center',
286
+ p: 'xs',
287
+ maxWidth: '50%'
288
+ }
289
+ }, ___EmotionJSX(Icon, {
290
+ icon: CheckIcon,
291
+ color: "neutral.20",
292
+ size: 13,
293
+ sx: {
294
+ flexShrink: 0
295
+ }
296
+ }), ___EmotionJSX(Text, {
297
+ sx: {
298
+ fontSize: 'sm',
299
+ pl: 'xs',
300
+ maxHeight: 32,
301
+ overflow: 'hidden'
302
+ }
303
+ }, "Added by Filter")) : ___EmotionJSX(CheckboxField, {
304
+ controlProps: {
305
+ color: 'neutral.10',
306
+ 'aria-label': 'Select'
307
+ },
308
+ onChange: function onChange() {
309
+ return changeSelection(item.key);
310
+ },
311
+ isSelected: _someInstanceProperty(selectedItems).call(selectedItems, function (el) {
312
+ return el.key === item.key;
313
+ })
314
+ }));
237
315
  })), ___EmotionJSX(CollapsiblePanel, _extends({
238
- items: mockData,
316
+ items: selectedItems,
239
317
  onSelectionChange: changeSelection,
240
318
  selectedFilterCount: "1000+"
241
319
  }, args), function (item) {
@@ -245,7 +323,11 @@ export var CollapsiblePanelWithBadge = function CollapsiblePanelWithBadge(args)
245
323
  "data-id": item.key
246
324
  }, ___EmotionJSX(CollapsiblePanelItem, {
247
325
  text: item.name,
248
- icon: FilterIcon
326
+ icon: item.isDefaultSelected ? CheckIcon : Clear,
327
+ onPress: function onPress() {
328
+ return changeSelection(item.key);
329
+ },
330
+ isDefaultSelected: item.isDefaultSelected
249
331
  }));
250
332
  })))));
251
333
  };
@@ -1,20 +1,6 @@
1
- import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
- import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
3
- import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
4
- import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
- import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
6
- import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
7
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
8
- import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
9
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
2
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
12
3
  var _excluded = ["selectedFilterCount", "className", "children", "closeAriaLabel", "isDefaultOpen", "isOpen", "onOpenChange", "openAriaLabel"];
13
-
14
- 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; }
15
-
16
- 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) { _defineProperty(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; }
17
-
18
4
  import React, { forwardRef } from 'react';
19
5
  import PropTypes from 'prop-types';
20
6
  import ChevronRightIcon from 'mdi-react/ChevronRightIcon';
@@ -90,7 +76,7 @@ var CollapsiblePanelContainer = /*#__PURE__*/forwardRef(function (props, ref) {
90
76
  "data-testid": "collapsible-panel-badge",
91
77
  margin: "auto",
92
78
  selectedFilterCount: selectedFilterCount
93
- })), state.isOpen && _objectSpread({}, children));
79
+ })), children);
94
80
  });
95
81
  CollapsiblePanelContainer.propTypes = {
96
82
  /** Amount of selected items indicator. */
@@ -55,13 +55,13 @@ test('updates aria label when button is clicked', function () {
55
55
  state: state
56
56
  });
57
57
  var button = screen.getByTestId(collapsiblePanelButtonId);
58
+ var container = screen.getByTestId(testId);
58
59
  userEvent.click(button);
59
- var collapsiblePanel = screen.queryByTestId(collapsiblePanelId);
60
60
  expect(button).toHaveAttribute('aria-label', 'Close filter menu?');
61
- expect(collapsiblePanel).toBeInTheDocument();
61
+ expect(container).toHaveClass('is-open');
62
62
  userEvent.click(button);
63
63
  expect(button).toHaveAttribute('aria-label', 'Open filter menu?');
64
- expect(collapsiblePanel).not.toBeInTheDocument();
64
+ expect(container).not.toHaveClass('is-open');
65
65
  });
66
66
  test('shows children when isOpen is true', function () {
67
67
  getComponent({
@@ -73,9 +73,9 @@ test('shows children when isOpen is true', function () {
73
73
  test('should hide children when pressing the escape key', function () {
74
74
  getComponent();
75
75
  var button = screen.getByTestId(collapsiblePanelButtonId);
76
+ var container = screen.getByTestId(testId);
76
77
  userEvent.click(button);
77
- var collapsiblePanel = screen.queryByTestId(collapsiblePanelId);
78
- expect(collapsiblePanel).toBeInTheDocument();
78
+ expect(container).toHaveClass('is-open');
79
79
  userEvent.type(button, '{esc}');
80
- expect(collapsiblePanel).not.toBeInTheDocument();
80
+ expect(container).not.toHaveClass('is-open');
81
81
  });
@@ -23,8 +23,8 @@ var CollapsiblePanelItem = /*#__PURE__*/forwardRef(function (props, ref) {
23
23
  variant: "collapsiblePanellItem"
24
24
  }, text), iconElement && (isDefaultSelected ? iconElement : ___EmotionJSX(IconButton, {
25
25
  sx: {
26
- width: 13,
27
- height: 13,
26
+ width: 20,
27
+ height: 20,
28
28
  alignSelf: 'auto',
29
29
  '& path': {
30
30
  fill: 'inherit'
@@ -149,6 +149,7 @@ var ListView = /*#__PURE__*/forwardRef(function (props, ref) {
149
149
 
150
150
  layout.isLoading = isLoading;
151
151
  var focusedItem = gridCollection.getFirstKey();
152
+ delete gridProps.onMouseDown;
152
153
  return ___EmotionJSX(ListViewContext.Provider, {
153
154
  value: {
154
155
  state: state,
@@ -155,7 +155,7 @@ export var InnerPanel = function InnerPanel(_ref2) {
155
155
  onPress: state.open
156
156
  }, "Open Panel"), outer), messagesOpen && ___EmotionJSX(Messages, {
157
157
  sx: {
158
- zIndex: 3
158
+ zIndex: 11
159
159
  }
160
160
  }, ___EmotionJSX(Item, {
161
161
  key: "message2",
@@ -16,7 +16,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
16
16
  import React, { forwardRef, useContext, useImperativeHandle, useRef } from 'react';
17
17
  import PropTypes from 'prop-types';
18
18
  import { Item } from '@react-stately/collections';
19
- import { useFocusRing } from '@react-aria/focus';
19
+ import { FocusRing } from '@react-aria/focus';
20
20
  import { useRockerButton, useStatusClasses, usePropWarning } from '../../hooks';
21
21
  import { Box } from '../../index';
22
22
  import { RockerContext } from '../RockerButtonGroup';
@@ -29,15 +29,9 @@ export var CollectionRockerButton = /*#__PURE__*/forwardRef(function (props, ref
29
29
  itemProps = item.props;
30
30
  var state = useContext(RockerContext);
31
31
  var isDisabled = state.disabledKeys.has(key);
32
-
33
- var _useFocusRing = useFocusRing(),
34
- isFocusVisible = _useFocusRing.isFocusVisible,
35
- focusProps = _useFocusRing.focusProps;
36
-
37
32
  var isSelected = state.selectedKey === key;
38
33
 
39
34
  var _useStatusClasses = useStatusClasses(className, {
40
- isFocused: isFocusVisible,
41
35
  isSelected: isSelected,
42
36
  isDisabled: isDisabled
43
37
  }),
@@ -58,17 +52,19 @@ export var CollectionRockerButton = /*#__PURE__*/forwardRef(function (props, ref
58
52
  }, state, rockerButtonRef),
59
53
  rockerButtonProps = _useRockerButton.rockerButtonProps;
60
54
 
61
- return ___EmotionJSX(Box, _extends({
55
+ return ___EmotionJSX(FocusRing, {
56
+ focusRingClass: "is-focused"
57
+ }, ___EmotionJSX(Box, _extends({
62
58
  as: "button",
63
59
  className: classNames,
64
60
  variant: "buttons.rocker"
65
61
  }, rockerButtonProps, {
66
62
  ref: rockerButtonRef
67
- }, focusProps, itemProps, {
63
+ }, itemProps, {
68
64
  sx: {
69
65
  '&.is-selected': _objectSpread({}, itemProps.selectedStyles)
70
66
  }
71
- }), rendered);
67
+ }), rendered));
72
68
  });
73
69
  CollectionRockerButton.displayName = 'CollectionRockerButton';
74
70
  CollectionRockerButton.propTypes = {
@@ -136,7 +136,7 @@ var collapsiblePanelToggle = _objectSpread(_objectSpread({}, square), {}, {
136
136
  bg: 'accent.99',
137
137
  height: '40px',
138
138
  minWidth: 'max-content',
139
- pl: '0px',
139
+ pl: 'xs',
140
140
  ml: '10px',
141
141
  path: {
142
142
  fill: 'active'
@@ -144,7 +144,10 @@ var collapsiblePanelToggle = _objectSpread(_objectSpread({}, square), {}, {
144
144
  '&.is-hovered': {
145
145
  backgroundColor: 'accent.99'
146
146
  },
147
- '&.is-focused': _objectSpread({}, defaultFocus),
147
+ '&.is-focused': _objectSpread(_objectSpread({}, defaultFocus), {}, {
148
+ outlineOffset: '0',
149
+ zIndex: 1
150
+ }),
148
151
  '&.is-pressed': {
149
152
  backgroundColor: 'accent.99'
150
153
  }
@@ -1,8 +1,15 @@
1
1
  var collapsiblePanelContainer = {
2
- overflowX: 'hidden',
3
2
  pr: 'sm',
4
- transition: 'right 500ms',
5
- minHeight: '80vh'
3
+ minHeight: '80vh',
4
+ '>div': {
5
+ visibility: 'hidden',
6
+ width: 0,
7
+ transition: 'width .3s ease'
8
+ },
9
+ '&.is-open>div': {
10
+ visibility: 'visible',
11
+ width: '300px'
12
+ }
6
13
  };
7
14
  var collapsiblePanelContent = {
8
15
  bg: 'accent.99',
@@ -25,15 +32,17 @@ var collapsiblePanelContent = {
25
32
  };
26
33
  var collapsiblePanelContainerTitle = {
27
34
  alignContent: 'center',
28
- bg: 'accent.99',
29
- display: 'flex',
30
35
  fontWeight: '500',
31
36
  minHeight: '40px',
32
37
  alignItems: 'center',
33
38
  padding: '0 10px !important',
34
39
  flexWrap: 'wrap',
35
40
  maxWidth: 'max-content !important',
36
- margin: '0'
41
+ margin: '0',
42
+ width: '0',
43
+ '.is-open &': {
44
+ width: '300px'
45
+ }
37
46
  };
38
47
  var collapsiblePanelBadge = {
39
48
  borderRadius: '5px',
@@ -46,7 +55,17 @@ var collapsiblePanelBadge = {
46
55
  pr: '3px !important',
47
56
  pl: '3px !important',
48
57
  alignItems: 'center',
49
- fontWeight: 500
58
+ fontWeight: 500,
59
+ '.is-open &.title-badge': {
60
+ minWidth: '0',
61
+ display: 'flex',
62
+ transition: 'min-width .3s ease',
63
+ width: 'max-content'
64
+ },
65
+ '&.title-badge': {
66
+ display: 'none',
67
+ width: '0'
68
+ }
50
69
  };
51
70
  var collapsiblePanellItem = {
52
71
  minHeight: '45px',
@@ -1,7 +1,7 @@
1
1
  var overlayPanel = {
2
2
  position: 'fixed',
3
3
  overflowY: 'scroll',
4
- zIndex: 1,
4
+ zIndex: 10,
5
5
  top: 0,
6
6
  bottom: 0,
7
7
  right: '-100%',
@@ -33,7 +33,7 @@ var overlayPanel = {
33
33
  };
34
34
  var overlayPanelInner = {
35
35
  position: 'absolute',
36
- zIndex: 2,
36
+ zIndex: 9,
37
37
  bottom: 0,
38
38
  right: 0,
39
39
  background: 'white',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "1.17.0-alpha.5",
3
+ "version": "1.17.0-alpha.8",
4
4
  "description": "PingUX themeable React component library",
5
5
  "author": "ux-development@pingidentity.com",
6
6
  "license": "Apache-2.0",