@pingux/astro 1.17.0-alpha.6 → 1.17.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.js +2 -0
- package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.stories.js +125 -32
- package/lib/cjs/components/CollapsiblePanelContainer/CollapsiblePanelContainer.js +4 -22
- package/lib/cjs/components/CollapsiblePanelContainer/CollapsiblePanelContainer.test.js +8 -8
- package/lib/cjs/components/CollapsiblePanelItem/CollapsiblePanelItem.js +2 -2
- package/lib/cjs/components/ListView/ListView.js +1 -0
- package/lib/cjs/components/RockerButton/RockerButton.js +5 -9
- package/lib/cjs/styles/variants/buttons.js +5 -2
- package/lib/cjs/styles/variants/collapsiblePanel.js +26 -7
- package/lib/components/CollapsiblePanel/CollapsiblePanel.js +2 -0
- package/lib/components/CollapsiblePanel/CollapsiblePanel.stories.js +113 -31
- package/lib/components/CollapsiblePanelContainer/CollapsiblePanelContainer.js +1 -15
- package/lib/components/CollapsiblePanelContainer/CollapsiblePanelContainer.test.js +6 -6
- package/lib/components/CollapsiblePanelItem/CollapsiblePanelItem.js +2 -2
- package/lib/components/ListView/ListView.js +1 -0
- package/lib/components/RockerButton/RockerButton.js +6 -10
- package/lib/styles/variants/buttons.js +5 -2
- package/lib/styles/variants/collapsiblePanel.js +26 -7
- 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
|
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
|
11
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
10
12
|
|
11
|
-
var
|
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
|
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
|
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: '
|
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:
|
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:
|
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
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
20
8
|
|
21
|
-
var
|
9
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
22
10
|
|
23
|
-
var
|
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
|
-
})),
|
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
|
-
|
77
|
+
var container = _testWrapper.screen.getByTestId(testId);
|
78
78
|
|
79
|
-
|
79
|
+
_userEvent["default"].click(button);
|
80
80
|
|
81
81
|
expect(button).toHaveAttribute('aria-label', 'Close filter menu?');
|
82
|
-
expect(
|
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(
|
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
|
-
|
103
|
+
var container = _testWrapper.screen.getByTestId(testId);
|
104
104
|
|
105
|
-
|
105
|
+
_userEvent["default"].click(button);
|
106
106
|
|
107
|
-
expect(
|
107
|
+
expect(container).toHaveClass('is-open');
|
108
108
|
|
109
109
|
_userEvent["default"].type(button, '{esc}');
|
110
110
|
|
111
|
-
expect(
|
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:
|
51
|
-
height:
|
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,
|
@@ -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)(
|
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
|
-
},
|
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: '
|
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
|
-
|
14
|
-
|
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',
|
@@ -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
|
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
|
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
|
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: '
|
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:
|
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:
|
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
|
-
})),
|
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(
|
61
|
+
expect(container).toHaveClass('is-open');
|
62
62
|
userEvent.click(button);
|
63
63
|
expect(button).toHaveAttribute('aria-label', 'Open filter menu?');
|
64
|
-
expect(
|
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
|
-
|
78
|
-
expect(collapsiblePanel).toBeInTheDocument();
|
78
|
+
expect(container).toHaveClass('is-open');
|
79
79
|
userEvent.type(button, '{esc}');
|
80
|
-
expect(
|
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:
|
27
|
-
height:
|
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,
|
@@ -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 {
|
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(
|
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
|
-
},
|
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: '
|
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
|
-
|
5
|
-
|
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',
|