@pingux/astro 1.4.1 → 1.5.0-alpha.1
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/ListView/ListView.js +12 -13
- package/lib/cjs/components/ListView/ListView.test.js +8 -8
- package/lib/cjs/components/ListViewItem/ListViewItem.js +0 -2
- package/lib/cjs/components/MultiselectFilter/MultiselectFilter.js +143 -0
- package/lib/cjs/components/MultiselectFilter/MultiselectFilter.stories.js +283 -0
- package/lib/cjs/components/MultiselectFilter/MultiselectFilter.test.js +83 -0
- package/lib/cjs/components/MultiselectFilter/index.js +18 -0
- package/lib/cjs/components/MultiselectFilterItem/MultiselectFilterItem.js +55 -0
- package/lib/cjs/components/MultiselectFilterItem/MultiselectFilterItem.test.js +53 -0
- package/lib/cjs/components/MultiselectFilterItem/index.js +18 -0
- package/lib/cjs/components/MultiselectListContainer/MultiselectBadge.js +47 -0
- package/lib/cjs/components/MultiselectListContainer/MultiselectBadge.test.js +48 -0
- package/lib/cjs/components/MultiselectListContainer/MultiselectListContainer.js +157 -0
- package/lib/cjs/components/MultiselectListContainer/MultiselectListContainer.test.js +112 -0
- package/lib/cjs/components/MultiselectListContainer/index.js +18 -0
- package/lib/cjs/components/PopoverMenu/PopoverMenu.js +7 -2
- package/lib/cjs/components/Tab/Tab.js +22 -15
- package/lib/cjs/components/TabPicker/TabPicker.js +239 -0
- package/lib/cjs/components/TabPicker/index.js +18 -0
- package/lib/cjs/components/Tabs/Tabs.js +46 -13
- package/lib/cjs/components/Tabs/Tabs.stories.js +32 -2
- package/lib/cjs/components/Tabs/Tabs.test.js +183 -32
- package/lib/cjs/index.js +98 -32
- package/lib/cjs/styles/variants/buttons.js +38 -1
- package/lib/cjs/styles/variants/multiselectListContainer.js +73 -0
- package/lib/cjs/styles/variants/tabs.js +5 -1
- package/lib/cjs/styles/variants/text.js +29 -2
- package/lib/cjs/styles/variants/variants.js +3 -0
- package/lib/components/ListView/ListView.js +12 -13
- package/lib/components/ListView/ListView.test.js +8 -8
- package/lib/components/ListViewItem/ListViewItem.js +0 -2
- package/lib/components/MultiselectFilter/MultiselectFilter.js +118 -0
- package/lib/components/MultiselectFilter/MultiselectFilter.stories.js +251 -0
- package/lib/components/MultiselectFilter/MultiselectFilter.test.js +69 -0
- package/lib/components/MultiselectFilter/index.js +1 -0
- package/lib/components/MultiselectFilterItem/MultiselectFilterItem.js +36 -0
- package/lib/components/MultiselectFilterItem/MultiselectFilterItem.test.js +37 -0
- package/lib/components/MultiselectFilterItem/index.js +1 -0
- package/lib/components/MultiselectListContainer/MultiselectBadge.js +31 -0
- package/lib/components/MultiselectListContainer/MultiselectBadge.test.js +34 -0
- package/lib/components/MultiselectListContainer/MultiselectListContainer.js +123 -0
- package/lib/components/MultiselectListContainer/MultiselectListContainer.test.js +81 -0
- package/lib/components/MultiselectListContainer/index.js +1 -0
- package/lib/components/PopoverMenu/PopoverMenu.js +7 -2
- package/lib/components/Tab/Tab.js +14 -8
- package/lib/components/TabPicker/TabPicker.js +210 -0
- package/lib/components/TabPicker/index.js +1 -0
- package/lib/components/Tabs/Tabs.js +44 -11
- package/lib/components/Tabs/Tabs.stories.js +27 -0
- package/lib/components/Tabs/Tabs.test.js +165 -32
- package/lib/index.js +6 -0
- package/lib/styles/variants/buttons.js +38 -1
- package/lib/styles/variants/multiselectListContainer.js +63 -0
- package/lib/styles/variants/tabs.js +5 -1
- package/lib/styles/variants/text.js +29 -2
- package/lib/styles/variants/variants.js +2 -0
- package/package.json +1 -1
@@ -0,0 +1,239 @@
|
|
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$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 _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
16
|
+
|
17
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
18
|
+
|
19
|
+
var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
|
20
|
+
|
21
|
+
var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
|
22
|
+
|
23
|
+
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
24
|
+
|
25
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
26
|
+
|
27
|
+
var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
|
28
|
+
|
29
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
30
|
+
|
31
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
32
|
+
|
33
|
+
var _react = _interopRequireWildcard(require("react"));
|
34
|
+
|
35
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
36
|
+
|
37
|
+
var _collections = require("@react-stately/collections");
|
38
|
+
|
39
|
+
var _ArrowDropUpIcon = _interopRequireDefault(require("mdi-react/ArrowDropUpIcon"));
|
40
|
+
|
41
|
+
var _ArrowDropDownIcon = _interopRequireDefault(require("mdi-react/ArrowDropDownIcon"));
|
42
|
+
|
43
|
+
var _hooks = require("../../hooks");
|
44
|
+
|
45
|
+
var _ = require("../..");
|
46
|
+
|
47
|
+
var _Tab = require("../Tab");
|
48
|
+
|
49
|
+
var _react2 = require("@emotion/react");
|
50
|
+
|
51
|
+
/* istanbul ignore next */
|
52
|
+
var TabPicker = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
53
|
+
var className = _ref.className,
|
54
|
+
items = _ref.items,
|
55
|
+
state = _ref.state,
|
56
|
+
item = _ref.item,
|
57
|
+
others = (0, _objectWithoutProperties2["default"])(_ref, ["className", "items", "state", "item"]);
|
58
|
+
|
59
|
+
var _useState = (0, _react.useState)(false),
|
60
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
61
|
+
isOpen = _useState2[0],
|
62
|
+
setIsOpen = _useState2[1];
|
63
|
+
|
64
|
+
var _useState3 = (0, _react.useState)(state.selectedKey),
|
65
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
66
|
+
selectedItem = _useState4[0],
|
67
|
+
setSelectedItem = _useState4[1];
|
68
|
+
|
69
|
+
var selectionManager = state.selectionManager;
|
70
|
+
|
71
|
+
var _useState5 = (0, _react.useState)(selectionManager.focusedKey),
|
72
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
73
|
+
focusedItem = _useState6[0],
|
74
|
+
setFocusedItem = _useState6[1];
|
75
|
+
|
76
|
+
var isTabFocused = selectionManager.focusedKey === item.key;
|
77
|
+
var isTabSelected = state.selectedKey === item.key;
|
78
|
+
var isListItemFocused = (0, _some["default"])(items).call(items, function (el) {
|
79
|
+
return el.key === selectionManager.focusedKey;
|
80
|
+
});
|
81
|
+
var isListItemSelected = (0, _some["default"])(items).call(items, function (el) {
|
82
|
+
return el.key === state.selectedKey;
|
83
|
+
});
|
84
|
+
|
85
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
86
|
+
var _context, _tabs$prevIndex, _tabs$nextIndex;
|
87
|
+
|
88
|
+
var tabs = (0, _filter["default"])(_context = (0, _from["default"])(state.collection)).call(_context, function (tab) {
|
89
|
+
var _tab$value;
|
90
|
+
|
91
|
+
return !(tab === null || tab === void 0 ? void 0 : (_tab$value = tab.value) === null || _tab$value === void 0 ? void 0 : _tab$value.isListItem);
|
92
|
+
});
|
93
|
+
var prevIndex = (0, _findIndex["default"])(tabs).call(tabs, function (tab) {
|
94
|
+
return tab.key === item.key;
|
95
|
+
}) - 1;
|
96
|
+
var nextIndex = (0, _findIndex["default"])(tabs).call(tabs, function (tab) {
|
97
|
+
return tab.key === item.key;
|
98
|
+
}) + 1;
|
99
|
+
return {
|
100
|
+
prevKey: ((_tabs$prevIndex = tabs[prevIndex]) === null || _tabs$prevIndex === void 0 ? void 0 : _tabs$prevIndex.key) || tabs[tabs.length].key,
|
101
|
+
nextKey: ((_tabs$nextIndex = tabs[nextIndex]) === null || _tabs$nextIndex === void 0 ? void 0 : _tabs$nextIndex.key) || tabs[0].key
|
102
|
+
};
|
103
|
+
}, []),
|
104
|
+
prevKey = _useMemo.prevKey,
|
105
|
+
nextKey = _useMemo.nextKey;
|
106
|
+
|
107
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
108
|
+
isSelected: isListItemSelected
|
109
|
+
}),
|
110
|
+
classNames = _useStatusClasses.classNames;
|
111
|
+
|
112
|
+
var menuRef = (0, _react.useRef)();
|
113
|
+
|
114
|
+
var handleSelectedItem = function handleSelectedItem(currentItem) {
|
115
|
+
state.setSelectedKey(currentItem);
|
116
|
+
setFocusedItem(currentItem);
|
117
|
+
};
|
118
|
+
|
119
|
+
(0, _react.useEffect)(function () {
|
120
|
+
if (selectedItem) {
|
121
|
+
handleSelectedItem(selectedItem);
|
122
|
+
}
|
123
|
+
}, [selectedItem]);
|
124
|
+
(0, _react.useEffect)(function () {
|
125
|
+
if (focusedItem) {
|
126
|
+
selectionManager.setFocusedKey(focusedItem);
|
127
|
+
}
|
128
|
+
}, [focusedItem]);
|
129
|
+
(0, _react.useEffect)(function () {
|
130
|
+
if (isOpen && (isTabFocused || isListItemSelected) && menuRef.current) {
|
131
|
+
if (focusedItem) {
|
132
|
+
var _context2;
|
133
|
+
|
134
|
+
(0, _find["default"])(_context2 = (0, _from["default"])(menuRef.current.children)).call(_context2, function (el) {
|
135
|
+
return el.dataset.key === focusedItem;
|
136
|
+
}).focus();
|
137
|
+
} else {
|
138
|
+
menuRef.current.firstChild.focus();
|
139
|
+
}
|
140
|
+
}
|
141
|
+
|
142
|
+
if (!isOpen && isTabSelected && !selectedItem) {
|
143
|
+
setSelectedItem(selectionManager.focusedKey);
|
144
|
+
}
|
145
|
+
}, [isOpen]);
|
146
|
+
(0, _react.useEffect)(function () {
|
147
|
+
if (isOpen && isListItemFocused) {
|
148
|
+
setFocusedItem(selectionManager.focusedKey);
|
149
|
+
} else if (!isOpen && isListItemFocused) {
|
150
|
+
selectionManager.setFocusedKey(item.key);
|
151
|
+
}
|
152
|
+
}, [selectionManager.focusedKey]);
|
153
|
+
(0, _react.useEffect)(function () {
|
154
|
+
if (isTabSelected || isTabFocused) {
|
155
|
+
if (selectedItem) {
|
156
|
+
handleSelectedItem(selectedItem);
|
157
|
+
} else if (isListItemSelected && !selectedItem) {
|
158
|
+
setSelectedItem(state.selectedKey);
|
159
|
+
} else {
|
160
|
+
setFocusedItem(items[0].key);
|
161
|
+
}
|
162
|
+
} else if (!isListItemSelected && !isListItemFocused) {
|
163
|
+
setIsOpen(false);
|
164
|
+
setSelectedItem(null);
|
165
|
+
setFocusedItem(null);
|
166
|
+
}
|
167
|
+
}, [isTabSelected, isListItemSelected]);
|
168
|
+
|
169
|
+
var handleKeyNavigation = function handleKeyNavigation(e) {
|
170
|
+
switch (e.key) {
|
171
|
+
case 'ArrowRight':
|
172
|
+
{
|
173
|
+
selectionManager.setFocusedKey(nextKey);
|
174
|
+
break;
|
175
|
+
}
|
176
|
+
|
177
|
+
case 'ArrowLeft':
|
178
|
+
{
|
179
|
+
selectionManager.setFocusedKey(prevKey);
|
180
|
+
break;
|
181
|
+
}
|
182
|
+
|
183
|
+
default:
|
184
|
+
break;
|
185
|
+
}
|
186
|
+
};
|
187
|
+
|
188
|
+
var tabProps = others;
|
189
|
+
delete tabProps.onPointerDown;
|
190
|
+
delete tabProps.onKeyDown;
|
191
|
+
return (0, _react2.jsx)(_.PopoverMenu, {
|
192
|
+
onOpenChange: setIsOpen,
|
193
|
+
isOpen: isOpen,
|
194
|
+
isContainFocus: true
|
195
|
+
}, (0, _react2.jsx)(_.Button, {
|
196
|
+
className: classNames,
|
197
|
+
variant: "menuTab",
|
198
|
+
onKeyDown: handleKeyNavigation
|
199
|
+
}, (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
|
200
|
+
className: classNames,
|
201
|
+
variant: "tab",
|
202
|
+
ref: ref
|
203
|
+
}, tabProps), (0, _react2.jsx)(_.Text, {
|
204
|
+
variant: "tabLabel"
|
205
|
+
}, item.props.name), selectedItem && (0, _react2.jsx)(_Tab.TabLine, null)), (0, _react2.jsx)(_.Icon, {
|
206
|
+
icon: isOpen ? _ArrowDropUpIcon["default"] : _ArrowDropDownIcon["default"]
|
207
|
+
})), (0, _react2.jsx)(_.Menu, {
|
208
|
+
onAction: setSelectedItem,
|
209
|
+
selectionMode: "single",
|
210
|
+
selectedKeys: [selectionManager.focusedKey],
|
211
|
+
ref: menuRef
|
212
|
+
}, (0, _map["default"])(items).call(items, function (tab) {
|
213
|
+
return (0, _react2.jsx)(_collections.Item, {
|
214
|
+
key: tab.key
|
215
|
+
}, tab.name);
|
216
|
+
})));
|
217
|
+
});
|
218
|
+
TabPicker.propTypes = {
|
219
|
+
item: _propTypes["default"].shape({
|
220
|
+
key: _propTypes["default"].string,
|
221
|
+
props: _propTypes["default"].shape({
|
222
|
+
name: _propTypes["default"].string
|
223
|
+
})
|
224
|
+
}),
|
225
|
+
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
226
|
+
key: _propTypes["default"].string
|
227
|
+
})),
|
228
|
+
state: _propTypes["default"].shape({
|
229
|
+
collection: _propTypes["default"].shape({}),
|
230
|
+
selectedKey: _propTypes["default"].string,
|
231
|
+
setSelectedKey: _propTypes["default"]["function"],
|
232
|
+
selectionManager: _propTypes["default"].shape({
|
233
|
+
focusedKey: _propTypes["default"].string,
|
234
|
+
setFocusedKey: _propTypes["default"]["function"]
|
235
|
+
})
|
236
|
+
})
|
237
|
+
};
|
238
|
+
var _default = TabPicker;
|
239
|
+
exports["default"] = _default;
|
@@ -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 _TabPicker["default"];
|
15
|
+
}
|
16
|
+
});
|
17
|
+
|
18
|
+
var _TabPicker = _interopRequireDefault(require("./TabPicker"));
|
@@ -18,12 +18,8 @@ var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/c
|
|
18
18
|
|
19
19
|
var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
|
20
20
|
|
21
|
-
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
22
|
-
|
23
21
|
var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
|
24
22
|
|
25
|
-
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
26
|
-
|
27
23
|
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
28
24
|
|
29
25
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
@@ -32,10 +28,16 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
|
|
32
28
|
|
33
29
|
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
34
30
|
|
35
|
-
var
|
31
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
36
32
|
|
37
33
|
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
38
34
|
|
35
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
36
|
+
|
37
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
38
|
+
|
39
|
+
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
40
|
+
|
39
41
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
40
42
|
|
41
43
|
var _react = _interopRequireWildcard(require("react"));
|
@@ -58,22 +60,23 @@ var _react2 = require("@emotion/react");
|
|
58
60
|
|
59
61
|
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; }
|
60
62
|
|
61
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var
|
63
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context6; (0, _forEach["default"])(_context6 = ownKeys(Object(source), true)).call(_context6, function (key) { (0, _defineProperty3["default"])(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors["default"]) { (0, _defineProperties["default"])(target, (0, _getOwnPropertyDescriptors["default"])(source)); } else { var _context7; (0, _forEach["default"])(_context7 = ownKeys(Object(source))).call(_context7, function (key) { (0, _defineProperty2["default"])(target, key, (0, _getOwnPropertyDescriptor["default"])(source, key)); }); } } return target; }
|
62
64
|
|
63
65
|
var TabsContext = /*#__PURE__*/_react["default"].createContext({});
|
64
66
|
|
65
67
|
exports.TabsContext = TabsContext;
|
66
68
|
var Tabs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
67
|
-
var
|
69
|
+
var _context4, _context5;
|
68
70
|
|
69
71
|
var children = props.children,
|
70
72
|
isDisabled = props.isDisabled,
|
73
|
+
items = props.items,
|
71
74
|
onSelectionChange = props.onSelectionChange,
|
72
75
|
orientation = props.orientation,
|
73
76
|
mode = props.mode,
|
74
77
|
tabListProps = props.tabListProps,
|
75
78
|
tabPanelProps = props.tabPanelProps,
|
76
|
-
others = (0, _objectWithoutProperties2["default"])(props, ["children", "isDisabled", "onSelectionChange", "orientation", "mode", "tabListProps", "tabPanelProps"]);
|
79
|
+
others = (0, _objectWithoutProperties2["default"])(props, ["children", "isDisabled", "items", "onSelectionChange", "orientation", "mode", "tabListProps", "tabPanelProps"]);
|
77
80
|
var tabListRef = (0, _react.useRef)();
|
78
81
|
(0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
|
79
82
|
/* istanbul ignore next */
|
@@ -87,8 +90,30 @@ var Tabs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
87
90
|
(0, _react.useImperativeHandle)(ref, function () {
|
88
91
|
return tabPanelRef.current;
|
89
92
|
});
|
93
|
+
var allItems = [];
|
94
|
+
|
95
|
+
if (mode === 'list') {
|
96
|
+
(0, _forEach["default"])(items).call(items, function (item) {
|
97
|
+
var _context;
|
98
|
+
|
99
|
+
allItems = (0, _concat["default"])(_context = []).call(_context, allItems, [item]);
|
100
|
+
|
101
|
+
if (item.list) {
|
102
|
+
var _context2, _context3;
|
103
|
+
|
104
|
+
var list = (0, _map["default"])(_context2 = item.list).call(_context2, function (el) {
|
105
|
+
return _objectSpread(_objectSpread({}, el), {}, {
|
106
|
+
isListItem: true
|
107
|
+
});
|
108
|
+
});
|
109
|
+
allItems = (0, _concat["default"])(_context3 = []).call(_context3, allItems, list);
|
110
|
+
}
|
111
|
+
});
|
112
|
+
}
|
113
|
+
|
90
114
|
var state = (0, _tabs2.useTabListState)(_objectSpread(_objectSpread({}, props), {}, {
|
91
|
-
onSelectionChange: onSelectionChange
|
115
|
+
onSelectionChange: onSelectionChange,
|
116
|
+
items: mode === 'list' ? allItems : items
|
92
117
|
}));
|
93
118
|
|
94
119
|
var _useTabList = (0, _tabs.useTabList)(props, state, tabListRef),
|
@@ -106,7 +131,11 @@ var Tabs = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
106
131
|
isRow: orientation === _orientation["default"].HORIZONTAL
|
107
132
|
}, tabListProps, raTabListProps, {
|
108
133
|
ref: tabListRef
|
109
|
-
}), (0, _map["default"])(
|
134
|
+
}), (0, _map["default"])(_context4 = (0, _filter["default"])(_context5 = (0, _from["default"])(state.collection)).call(_context5, function (item) {
|
135
|
+
var _item$value;
|
136
|
+
|
137
|
+
return !(item === null || item === void 0 ? void 0 : (_item$value = item.value) === null || _item$value === void 0 ? void 0 : _item$value.isListItem);
|
138
|
+
})).call(_context4, function (item) {
|
110
139
|
var _item$props;
|
111
140
|
|
112
141
|
return (0, _react2.jsx)(_Tab.CollectionTab, {
|
@@ -136,7 +165,7 @@ Tabs.propTypes = {
|
|
136
165
|
orientation: _propTypes["default"].oneOf(['horizontal', 'vertical']),
|
137
166
|
|
138
167
|
/** Determines the behavior model for the tabs. */
|
139
|
-
mode: _propTypes["default"].oneOf(['default', 'tooltip']),
|
168
|
+
mode: _propTypes["default"].oneOf(['default', 'tooltip', 'list']),
|
140
169
|
|
141
170
|
/**
|
142
171
|
* *For performance reasons, use this prop instead of Array.map when iteratively rendering Items*.
|
@@ -154,12 +183,16 @@ Tabs.propTypes = {
|
|
154
183
|
tabListProps: _propTypes["default"].shape({}),
|
155
184
|
|
156
185
|
/** Props object that is spread directly into all of the tab panel wrapper elements. */
|
157
|
-
tabPanelProps: _propTypes["default"].shape({})
|
186
|
+
tabPanelProps: _propTypes["default"].shape({}),
|
187
|
+
|
188
|
+
/** Whether tabs are activated automatically on focus or manually¸ */
|
189
|
+
keyboardActivation: _propTypes["default"].oneOf(['automatic', 'manual'])
|
158
190
|
};
|
159
191
|
Tabs.defaultProps = {
|
160
192
|
isDisabled: false,
|
161
193
|
orientation: 'horizontal',
|
162
|
-
mode: 'default'
|
194
|
+
mode: 'default',
|
195
|
+
keyboardActivation: 'manual'
|
163
196
|
};
|
164
197
|
Tabs.displayName = 'Tabs';
|
165
198
|
var _default = Tabs;
|
@@ -10,7 +10,9 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
10
|
value: true
|
11
11
|
});
|
12
12
|
|
13
|
-
exports.ContentSlots = exports.TabPanelProps = exports.CustomTabLine = exports.DisabledAllTabs = exports.DisabledSingleTab = exports.Centered = exports.WithTooltips = exports.WithIcon = exports.Controlled = exports.Uncontrolled = exports["default"] = void 0;
|
13
|
+
exports.WithList = exports.ContentSlots = exports.TabPanelProps = exports.CustomTabLine = exports.DisabledAllTabs = exports.DisabledSingleTab = exports.Centered = exports.WithTooltips = exports.WithIcon = exports.Controlled = exports.Uncontrolled = exports["default"] = void 0;
|
14
|
+
|
15
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
14
16
|
|
15
17
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
16
18
|
|
@@ -278,4 +280,32 @@ var ContentSlots = function ContentSlots() {
|
|
278
280
|
}, (0, _react2.jsx)(_Text["default"], null, "Users Matched"))));
|
279
281
|
};
|
280
282
|
|
281
|
-
exports.ContentSlots = ContentSlots;
|
283
|
+
exports.ContentSlots = ContentSlots;
|
284
|
+
|
285
|
+
var WithList = function WithList() {
|
286
|
+
var _context;
|
287
|
+
|
288
|
+
var allTabs = (0, _concat["default"])(_context = []).call(_context, tabs, [{
|
289
|
+
name: 'Tab 4',
|
290
|
+
list: [{
|
291
|
+
key: 'tab1list',
|
292
|
+
name: 'Tab 1 list',
|
293
|
+
children: 'Tab 1 from list'
|
294
|
+
}, {
|
295
|
+
key: 'tab2list',
|
296
|
+
name: 'Tab 2 list',
|
297
|
+
children: 'Tab 2 from list'
|
298
|
+
}]
|
299
|
+
}]);
|
300
|
+
return (0, _react2.jsx)(_Tabs["default"], {
|
301
|
+
items: allTabs,
|
302
|
+
mode: "list"
|
303
|
+
}, function (item) {
|
304
|
+
return (0, _react2.jsx)(_Tab["default"], (0, _extends2["default"])({
|
305
|
+
key: item.name,
|
306
|
+
title: item.name
|
307
|
+
}, item), item.children);
|
308
|
+
});
|
309
|
+
};
|
310
|
+
|
311
|
+
exports.WithList = WithList;
|