@pingux/astro 2.16.1-alpha.1 → 2.17.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 +1 -1
- package/lib/cjs/components/ListView/ListView.mdx +4 -1
- package/lib/cjs/components/ListView/ListView.stories.js +52 -98
- package/lib/cjs/components/ListView/ListViewItem.js +126 -0
- package/lib/cjs/components/ListViewItem/ListViewItem.js +81 -100
- package/lib/cjs/{experimental → components}/ListViewItem/ListViewItem.mdx +4 -4
- package/lib/cjs/{experimental → components}/ListViewItem/ListViewItem.stories.js +32 -37
- package/lib/cjs/{experimental → components}/ListViewItem/ListViewItem.test.js +3 -3
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemEditButton.js +5 -5
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemEditButton.stories.js +5 -5
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemEditButton.test.js +2 -2
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemMenu.js +8 -8
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemMenu.stories.js +5 -5
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemMenu.test.js +2 -3
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemSwitchField.js +5 -5
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemSwitchField.stories.js +5 -5
- package/lib/cjs/{experimental → components}/ListViewItem/controls/ListViewItemSwitchField.test.js +2 -2
- package/lib/cjs/experimental/PageHeader/PageHeader.js +14 -14
- package/lib/cjs/experimental/PageHeader/PageHeader.stories.js +27 -11
- package/lib/cjs/experimental/PageHeader/PageHeader.test.js +14 -5
- package/lib/cjs/experimental/PanelHeader/PanelHeader.js +1 -1
- package/lib/cjs/experimental/PanelHeader/PanelHeader.stories.js +1 -1
- package/lib/cjs/index.d.ts +4 -4
- package/lib/cjs/index.js +8 -8
- package/lib/cjs/recipes/ListAndPanel.stories.js +195 -267
- package/lib/cjs/recipes/MaskedValue.stories.js +8 -1
- package/lib/cjs/{experimental/recipes → recipes}/ScrollableListView.stories.js +2 -2
- package/lib/cjs/utils/designUtils/figmaLinks.js +3 -0
- package/lib/components/ListView/ListView.js +1 -1
- package/lib/components/ListView/ListView.mdx +4 -1
- package/lib/components/ListView/ListView.stories.js +47 -93
- package/lib/components/ListView/ListViewItem.js +113 -0
- package/lib/components/ListViewItem/ListViewItem.js +78 -99
- package/lib/{experimental → components}/ListViewItem/ListViewItem.mdx +4 -4
- package/lib/{experimental → components}/ListViewItem/ListViewItem.stories.js +7 -12
- package/lib/{experimental → components}/ListViewItem/ListViewItem.test.js +1 -1
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemEditButton.js +4 -4
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemEditButton.stories.js +3 -3
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemEditButton.test.js +1 -1
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemMenu.js +5 -5
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemMenu.stories.js +3 -3
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemMenu.test.js +1 -2
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemSwitchField.js +4 -4
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemSwitchField.stories.js +3 -3
- package/lib/{experimental → components}/ListViewItem/controls/ListViewItemSwitchField.test.js +1 -1
- package/lib/experimental/PageHeader/PageHeader.js +14 -14
- package/lib/experimental/PageHeader/PageHeader.stories.js +25 -10
- package/lib/experimental/PageHeader/PageHeader.test.js +14 -5
- package/lib/experimental/PanelHeader/PanelHeader.js +1 -1
- package/lib/experimental/PanelHeader/PanelHeader.stories.js +1 -1
- package/lib/index.js +4 -4
- package/lib/recipes/ListAndPanel.stories.js +186 -260
- package/lib/recipes/MaskedValue.stories.js +7 -0
- package/lib/{experimental/recipes → recipes}/ScrollableListView.stories.js +2 -2
- package/lib/utils/designUtils/figmaLinks.js +3 -0
- package/package.json +1 -1
- package/lib/cjs/components/ListItem/ListItem.stories.js +0 -189
- package/lib/cjs/experimental/ListView/ListView.mdx +0 -47
- package/lib/cjs/experimental/ListView/ListView.stories.js +0 -742
- package/lib/cjs/experimental/ListViewItem/ListViewItem.js +0 -108
- package/lib/cjs/experimental/recipes/ListAndPanel.stories.js +0 -359
- package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +0 -133
- package/lib/cjs/recipes/ScrollableListView.stories.hidden.js +0 -136
- package/lib/components/ListItem/ListItem.stories.js +0 -174
- package/lib/experimental/ListView/ListView.mdx +0 -47
- package/lib/experimental/ListView/ListView.stories.js +0 -729
- package/lib/experimental/ListViewItem/ListViewItem.js +0 -93
- package/lib/experimental/recipes/ListAndPanel.stories.js +0 -342
- package/lib/recipes/RadioButtonsWithLinks.stories.js +0 -118
- package/lib/recipes/ScrollableListView.stories.hidden.js +0 -121
- /package/lib/cjs/{experimental → components}/ListViewItem/listViewItemAttributes.js +0 -0
- /package/lib/cjs/{experimental/recipes → recipes}/items.js +0 -0
- /package/lib/{experimental → components}/ListViewItem/listViewItemAttributes.js +0 -0
- /package/lib/{experimental/recipes → recipes}/items.js +0 -0
@@ -8,8 +8,9 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
8
8
|
_Object$defineProperty(exports, "__esModule", {
|
9
9
|
value: true
|
10
10
|
});
|
11
|
-
exports["default"] = exports.
|
11
|
+
exports["default"] = exports.PanelHeader = exports.ListElement = exports.ListAndPanel = void 0;
|
12
12
|
var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
|
13
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
13
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
14
15
|
var _react = _interopRequireWildcard(require("react"));
|
15
16
|
var _reactAria = require("react-aria");
|
@@ -20,94 +21,22 @@ var _MoreVertIcon = _interopRequireDefault(require("@pingux/mdi-react/MoreVertIc
|
|
20
21
|
var _PencilIcon = _interopRequireDefault(require("@pingux/mdi-react/PencilIcon"));
|
21
22
|
var _PlusIcon = _interopRequireDefault(require("@pingux/mdi-react/PlusIcon"));
|
22
23
|
var _hooks = require("../hooks");
|
23
|
-
var _useOverlappingMenuHoverState = _interopRequireDefault(require("../hooks/useOverlappingMenuHoverState"));
|
24
24
|
var _index = require("../index");
|
25
|
+
var _items = require("./items");
|
25
26
|
var _react2 = require("@emotion/react");
|
26
27
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
27
28
|
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; }
|
28
29
|
var _default = {
|
29
|
-
title: 'Recipes/List
|
30
|
+
title: 'Recipes/List And Panel',
|
31
|
+
parameters: {
|
32
|
+
docs: {
|
33
|
+
source: {
|
34
|
+
type: 'code'
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
30
38
|
};
|
31
39
|
exports["default"] = _default;
|
32
|
-
var items = [{
|
33
|
-
email: 'dburkitt5@columbia.edu',
|
34
|
-
firstName: 'Nicola',
|
35
|
-
lastName: 'Burkitt',
|
36
|
-
hasIcon: true,
|
37
|
-
avatar: _AccountIcon["default"]
|
38
|
-
}, {
|
39
|
-
email: 'idixie2@elegantthemes.com',
|
40
|
-
firstName: 'Cacilia',
|
41
|
-
lastName: 'Dixie',
|
42
|
-
hasIcon: true,
|
43
|
-
avatar: _AccountIcon["default"]
|
44
|
-
}, {
|
45
|
-
email: 'dfowler0@rambler.ru',
|
46
|
-
firstName: 'Stavro',
|
47
|
-
lastName: 'Fowler',
|
48
|
-
hasIcon: true,
|
49
|
-
avatar: _AccountIcon["default"]
|
50
|
-
}, {
|
51
|
-
email: 'jgolde8@jimdo.com',
|
52
|
-
firstName: 'Celisse',
|
53
|
-
lastName: 'Golde',
|
54
|
-
hasIcon: true,
|
55
|
-
avatar: _AccountIcon["default"]
|
56
|
-
}, {
|
57
|
-
email: 'shearst9@answers.com',
|
58
|
-
firstName: 'Jeth',
|
59
|
-
lastName: 'Hearst',
|
60
|
-
hasIcon: true,
|
61
|
-
avatar: _AccountIcon["default"]
|
62
|
-
}, {
|
63
|
-
email: 'ajinaa@mapquest.com',
|
64
|
-
firstName: 'Kaycee',
|
65
|
-
lastName: 'Jina',
|
66
|
-
hasIcon: true,
|
67
|
-
avatar: _AccountIcon["default"]
|
68
|
-
}, {
|
69
|
-
email: 'vmalster4@biblegateway.com',
|
70
|
-
firstName: 'Lorry',
|
71
|
-
lastName: 'Malster',
|
72
|
-
hasIcon: true,
|
73
|
-
avatar: _AccountIcon["default"]
|
74
|
-
}, {
|
75
|
-
email: 'yphipp6@yellowpages.com',
|
76
|
-
firstName: 'Stanley',
|
77
|
-
lastName: 'Phipp',
|
78
|
-
hasIcon: true,
|
79
|
-
avatar: _AccountIcon["default"]
|
80
|
-
}, {
|
81
|
-
email: 'mskilbeck3@bbc.co.uk',
|
82
|
-
firstName: 'Gradey',
|
83
|
-
lastName: 'Skilbeck',
|
84
|
-
hasIcon: true,
|
85
|
-
avatar: _AccountIcon["default"]
|
86
|
-
}, {
|
87
|
-
email: 'dstebbing1@msu.edu',
|
88
|
-
firstName: 'Marnia',
|
89
|
-
lastName: 'Stebbing',
|
90
|
-
hasIcon: true,
|
91
|
-
avatar: _AccountIcon["default"]
|
92
|
-
}, {
|
93
|
-
email: 'lsterley7@lulu.com',
|
94
|
-
firstName: 'Joshua',
|
95
|
-
lastName: 'Sterley',
|
96
|
-
hasIcon: true,
|
97
|
-
avatar: _AccountIcon["default"]
|
98
|
-
}, {
|
99
|
-
email: 'luttleyb@hugedomains.com',
|
100
|
-
firstName: 'Jarrod',
|
101
|
-
lastName: 'Uttley',
|
102
|
-
hasIcon: true,
|
103
|
-
avatar: _AccountIcon["default"]
|
104
|
-
}, {
|
105
|
-
email: 'lidelc@yelp.com',
|
106
|
-
firstName: 'Andromache',
|
107
|
-
lastName: 'Idel',
|
108
|
-
hasIcon: true,
|
109
|
-
avatar: _AccountIcon["default"]
|
110
|
-
}];
|
111
40
|
var sx = {
|
112
41
|
wrapper: {
|
113
42
|
px: 'lg',
|
@@ -116,16 +45,6 @@ var sx = {
|
|
116
45
|
height: '900px',
|
117
46
|
overflowY: 'scroll'
|
118
47
|
},
|
119
|
-
searchField: {
|
120
|
-
position: 'fixed',
|
121
|
-
mb: 'sm',
|
122
|
-
width: '400px'
|
123
|
-
},
|
124
|
-
listElementWrapper: {
|
125
|
-
px: 'md',
|
126
|
-
bg: 'accent.99',
|
127
|
-
justifyContent: 'center'
|
128
|
-
},
|
129
48
|
separator: {
|
130
49
|
bg: 'accent.90'
|
131
50
|
},
|
@@ -147,120 +66,83 @@ var sx = {
|
|
147
66
|
itemValue: {
|
148
67
|
fontWeight: 0,
|
149
68
|
lineHeight: '18px',
|
150
|
-
variant: 'base',
|
151
69
|
mb: 'md'
|
152
70
|
},
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
alignItems: 'center'
|
71
|
+
panelHeader: {
|
72
|
+
container: {
|
73
|
+
bg: 'accent.99',
|
74
|
+
minHeight: 58,
|
75
|
+
ml: 0,
|
76
|
+
pl: 14,
|
77
|
+
pr: 'xs'
|
161
78
|
},
|
162
|
-
|
163
|
-
mr: 'md',
|
79
|
+
controls: {
|
164
80
|
alignSelf: 'center',
|
165
|
-
|
166
|
-
|
167
|
-
avatar: {
|
168
|
-
width: '25px',
|
169
|
-
height: '25px',
|
170
|
-
mr: '14px'
|
81
|
+
ml: 'auto',
|
82
|
+
pr: 'sm'
|
171
83
|
},
|
172
|
-
|
173
|
-
|
174
|
-
fontSize: 'md'
|
84
|
+
data: {
|
85
|
+
alignItems: 'center'
|
175
86
|
},
|
176
87
|
subtitle: {
|
88
|
+
alignSelf: 'start',
|
177
89
|
fontSize: 'sm',
|
178
|
-
my: '1px',
|
179
90
|
lineHeight: '16px',
|
180
|
-
|
91
|
+
my: '1px'
|
181
92
|
},
|
182
|
-
menuWrapper: {
|
183
|
-
alignSelf: 'center',
|
184
|
-
pr: '4px'
|
185
|
-
}
|
186
|
-
}
|
187
|
-
};
|
188
|
-
var ListElement = function ListElement(_ref) {
|
189
|
-
var item = _ref.item,
|
190
|
-
isHoverable = _ref.isHoverable,
|
191
|
-
onClosePanel = _ref.onClosePanel;
|
192
|
-
var listItemRef = (0, _react.useRef)();
|
193
|
-
var _useOverlappingMenuHo = (0, _useOverlappingMenuHoverState["default"])({
|
194
|
-
listItemRef: listItemRef
|
195
|
-
}),
|
196
|
-
handleHoverEnd = _useOverlappingMenuHo.handleHoverEnd,
|
197
|
-
handleHoverStart = _useOverlappingMenuHo.handleHoverStart,
|
198
|
-
handleMenuHoverEnd = _useOverlappingMenuHo.handleMenuHoverEnd,
|
199
|
-
handleMouseMove = _useOverlappingMenuHo.handleMouseMove,
|
200
|
-
isHovered = _useOverlappingMenuHo.isHovered;
|
201
|
-
return (0, _react2.jsx)(_index.ListItem, {
|
202
|
-
isHovered: isHoverable && isHovered,
|
203
|
-
isRow: true,
|
204
|
-
onHoverEnd: handleHoverEnd,
|
205
|
-
onHoverStart: handleHoverStart,
|
206
|
-
onMouseMove: handleMouseMove,
|
207
|
-
ref: listItemRef,
|
208
|
-
sx: sx.listElement.wrapper
|
209
|
-
}, (0, _react2.jsx)(_index.Box, {
|
210
|
-
isRow: true,
|
211
|
-
sx: sx.listElement.iconWrapper
|
212
|
-
}, (0, _react2.jsx)(_index.Icon, {
|
213
|
-
icon: item.avatar,
|
214
|
-
size: "md",
|
215
|
-
sx: sx.listElement.icon,
|
216
|
-
title: {
|
217
|
-
name: 'Account Icon'
|
218
|
-
}
|
219
|
-
}), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
|
220
|
-
variant: "bodyStrong",
|
221
|
-
sx: sx.listElement.title
|
222
|
-
}, item.lastName, ",", ' ', item.firstName), (0, _react2.jsx)(_index.Text, {
|
223
|
-
variant: "subtitle",
|
224
|
-
sx: sx.listElement.subtitle
|
225
|
-
}, item.email))), (0, _react2.jsx)(_index.Box, {
|
226
|
-
isRow: true,
|
227
|
-
sx: sx.listElement.menuWrapper
|
228
|
-
}, (0, _react2.jsx)(_index.SwitchField, {
|
229
|
-
"aria-label": "active user",
|
230
|
-
isDefaultSelected: true,
|
231
|
-
alignSelf: "center",
|
232
|
-
mr: "sm"
|
233
|
-
}), (0, _react2.jsx)(_index.PopoverMenu, null, (0, _react2.jsx)(_index.IconButton, {
|
234
|
-
"aria-label": "more icon button",
|
235
|
-
mr: onClosePanel ? 'sm' : 0
|
236
|
-
}, (0, _react2.jsx)(_index.Icon, {
|
237
|
-
icon: _MoreVertIcon["default"],
|
238
|
-
size: "md",
|
239
93
|
title: {
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
}, "Enable user"), (0, _react2.jsx)(_reactStately.Item, {
|
249
|
-
key: "disable"
|
250
|
-
}, "Disable user"), (0, _react2.jsx)(_reactStately.Item, {
|
251
|
-
key: "delete"
|
252
|
-
}, "Delete user"))), onClosePanel && (0, _react2.jsx)(_index.IconButton, {
|
253
|
-
"aria-label": "close icon button",
|
254
|
-
onPress: onClosePanel
|
255
|
-
}, (0, _react2.jsx)(_index.Icon, {
|
256
|
-
size: "sm",
|
257
|
-
icon: _CloseIcon["default"],
|
258
|
-
title: {
|
259
|
-
name: 'Close Icon'
|
94
|
+
alignSelf: 'start',
|
95
|
+
fontSize: 'md'
|
96
|
+
},
|
97
|
+
wrapper: {
|
98
|
+
cursor: 'pointer',
|
99
|
+
display: 'flex',
|
100
|
+
flex: '1 1 0px',
|
101
|
+
ml: 'md'
|
260
102
|
}
|
261
|
-
}
|
103
|
+
}
|
262
104
|
};
|
263
|
-
var
|
105
|
+
var heading = 'Users';
|
106
|
+
var description = 'The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page.';
|
107
|
+
var title = (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, {
|
108
|
+
align: "center",
|
109
|
+
isRow: true,
|
110
|
+
mb: "xs",
|
111
|
+
role: "heading",
|
112
|
+
"aria-level": "1"
|
113
|
+
}, (0, _react2.jsx)(_index.Text, {
|
114
|
+
fontSize: "xx",
|
115
|
+
fontWeight: 3,
|
116
|
+
fontColor: "text.primary"
|
117
|
+
}, heading), (0, _react2.jsx)(_index.IconButton, {
|
118
|
+
"aria-label": "icon button",
|
119
|
+
ml: "sm",
|
120
|
+
variant: "inverted"
|
121
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
122
|
+
icon: _PlusIcon["default"],
|
123
|
+
size: "sm"
|
124
|
+
}))), (0, _react2.jsx)(_index.Text, {
|
125
|
+
fontSize: "sm",
|
126
|
+
color: "text.secondary",
|
127
|
+
fontWeight: 0,
|
128
|
+
width: "800px"
|
129
|
+
}, description, (0, _react2.jsx)(_index.Link, {
|
130
|
+
href: "https://uilibrary.ping-eng.com/",
|
131
|
+
sx: {
|
132
|
+
fontSize: '13px'
|
133
|
+
}
|
134
|
+
}, " Learn more")));
|
135
|
+
var ListAndPanel = function ListAndPanel() {
|
136
|
+
// Example of items data structure
|
137
|
+
// const items = [
|
138
|
+
// {
|
139
|
+
// email: 'dburkitt5@columbia.edu',
|
140
|
+
// firstName: 'Nicola',
|
141
|
+
// lastName: 'Burkitt',
|
142
|
+
// icon: AccountIcon,
|
143
|
+
// },
|
144
|
+
// ]
|
145
|
+
|
264
146
|
var _useState = (0, _react.useState)(),
|
265
147
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
266
148
|
selectedItemId = _useState2[0],
|
@@ -273,8 +155,6 @@ var Default = function Default() {
|
|
273
155
|
panelState = _useOverlayPanelState.state,
|
274
156
|
onPanelClose = _useOverlayPanelState.onClose;
|
275
157
|
var panelTriggerRef = (0, _react.useRef)();
|
276
|
-
var heading = 'Users';
|
277
|
-
var description = 'The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page. The description of the page.';
|
278
158
|
var closePanelHandler = function closePanelHandler() {
|
279
159
|
onPanelClose(panelState, panelTriggerRef);
|
280
160
|
setSelectedItemId(-1);
|
@@ -282,7 +162,7 @@ var Default = function Default() {
|
|
282
162
|
};
|
283
163
|
var selectItemHandler = function selectItemHandler(e) {
|
284
164
|
if (e.size) {
|
285
|
-
setSelectedItemId((0, _findIndex["default"])(items).call(items, function (item) {
|
165
|
+
setSelectedItemId((0, _findIndex["default"])(_items.items).call(_items.items, function (item) {
|
286
166
|
return item.email === e.currentKey;
|
287
167
|
}));
|
288
168
|
setSelectedKeys([e.currentKey]);
|
@@ -291,37 +171,6 @@ var Default = function Default() {
|
|
291
171
|
closePanelHandler();
|
292
172
|
}
|
293
173
|
};
|
294
|
-
var title = (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, {
|
295
|
-
align: "center",
|
296
|
-
isRow: true,
|
297
|
-
mb: "xs",
|
298
|
-
role: "heading",
|
299
|
-
"aria-level": "1"
|
300
|
-
}, (0, _react2.jsx)(_index.Text, {
|
301
|
-
fontSize: "xx",
|
302
|
-
fontWeight: 3,
|
303
|
-
fontColor: "text.primary"
|
304
|
-
}, heading), (0, _react2.jsx)(_index.IconButton, {
|
305
|
-
"aria-label": "icon button",
|
306
|
-
ml: "sm",
|
307
|
-
variant: "inverted"
|
308
|
-
}, (0, _react2.jsx)(_index.Icon, {
|
309
|
-
icon: _PlusIcon["default"],
|
310
|
-
size: "sm",
|
311
|
-
title: {
|
312
|
-
name: 'Plus Icon'
|
313
|
-
}
|
314
|
-
}))), (0, _react2.jsx)(_index.Text, {
|
315
|
-
fontSize: "sm",
|
316
|
-
color: "text.secondary",
|
317
|
-
fontWeight: 0,
|
318
|
-
width: "800px"
|
319
|
-
}, description, (0, _react2.jsx)(_index.Link, {
|
320
|
-
href: "https://uilibrary.ping-eng.com/",
|
321
|
-
sx: {
|
322
|
-
fontSize: '13px'
|
323
|
-
}
|
324
|
-
}, " Learn more")));
|
325
174
|
return (0, _react2.jsx)(_index.Box, {
|
326
175
|
sx: sx.wrapper
|
327
176
|
}, title, (0, _react2.jsx)(_index.SearchField, {
|
@@ -334,23 +183,20 @@ var Default = function Default() {
|
|
334
183
|
}), (0, _react2.jsx)(_index.Separator, {
|
335
184
|
margin: 0
|
336
185
|
}), (0, _react2.jsx)(_index.ListView, {
|
337
|
-
items: items,
|
186
|
+
items: _items.items,
|
338
187
|
onSelectionChange: selectItemHandler,
|
339
188
|
ref: panelTriggerRef,
|
340
|
-
selectedKeys: selectedKeys
|
341
|
-
isHoverable: false
|
189
|
+
selectedKeys: selectedKeys
|
342
190
|
}, function (item) {
|
191
|
+
var _context;
|
343
192
|
return (0, _react2.jsx)(_reactStately.Item, {
|
344
|
-
key: item.email
|
345
|
-
textValue: item.email,
|
346
|
-
hasSeparator: item.hasSeparator,
|
347
|
-
listItemProps: {
|
348
|
-
minHeight: 75,
|
349
|
-
padding: 1
|
350
|
-
}
|
193
|
+
key: item.email
|
351
194
|
}, (0, _react2.jsx)(ListElement, {
|
352
|
-
|
353
|
-
|
195
|
+
data: {
|
196
|
+
text: (0, _concat["default"])(_context = "".concat(item.lastName, ", ")).call(_context, item.firstName),
|
197
|
+
subtext: item.email,
|
198
|
+
icon: item.icon
|
199
|
+
}
|
354
200
|
}));
|
355
201
|
}), (0, _react2.jsx)(_index.OverlayPanel, {
|
356
202
|
isOpen: panelState.isOpen,
|
@@ -362,12 +208,10 @@ var Default = function Default() {
|
|
362
208
|
contain: true,
|
363
209
|
restoreFocus: true,
|
364
210
|
autoFocus: true
|
365
|
-
}, (0, _react2.jsx)(
|
366
|
-
|
367
|
-
}, (0, _react2.jsx)(ListElement, {
|
368
|
-
item: selectedItemId >= 0 ? items[selectedItemId] : [],
|
211
|
+
}, (0, _react2.jsx)(PanelHeader, {
|
212
|
+
item: selectedItemId >= 0 ? _items.items[selectedItemId] : [],
|
369
213
|
onClosePanel: closePanelHandler
|
370
|
-
})
|
214
|
+
}), (0, _react2.jsx)(_index.Separator, {
|
371
215
|
margin: 0,
|
372
216
|
sx: sx.separator
|
373
217
|
}), (0, _react2.jsx)(_index.Box, {
|
@@ -387,36 +231,120 @@ var Default = function Default() {
|
|
387
231
|
variant: "inverted",
|
388
232
|
"aria-label": "pencil icon button",
|
389
233
|
sx: sx.iconButton
|
390
|
-
}, (0, _react2.jsx)(
|
391
|
-
|
234
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
235
|
+
icon: _PencilIcon["default"],
|
236
|
+
size: "sm"
|
392
237
|
})), (0, _react2.jsx)(_index.Text, {
|
393
|
-
sx: sx.itemLabel
|
394
|
-
variant: "base"
|
238
|
+
sx: sx.itemLabel
|
395
239
|
}, "Full Name"), (0, _react2.jsx)(_index.Text, {
|
396
|
-
sx: sx.itemValue
|
397
|
-
|
398
|
-
|
399
|
-
sx: sx.itemLabel,
|
400
|
-
variant: "base"
|
240
|
+
sx: sx.itemValue
|
241
|
+
}, _items.items[selectedItemId].firstName, ' ', _items.items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
|
242
|
+
sx: sx.itemLabel
|
401
243
|
}, "First Name"), (0, _react2.jsx)(_index.Text, {
|
402
|
-
sx: sx.itemValue
|
403
|
-
|
404
|
-
|
405
|
-
sx: sx.itemLabel,
|
406
|
-
variant: "base"
|
244
|
+
sx: sx.itemValue
|
245
|
+
}, _items.items[selectedItemId].firstName), (0, _react2.jsx)(_index.Text, {
|
246
|
+
sx: sx.itemLabel
|
407
247
|
}, "Last Name"), (0, _react2.jsx)(_index.Text, {
|
408
|
-
sx: sx.itemValue
|
409
|
-
|
410
|
-
|
411
|
-
sx: sx.itemLabel,
|
412
|
-
variant: "base"
|
248
|
+
sx: sx.itemValue
|
249
|
+
}, _items.items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
|
250
|
+
sx: sx.itemLabel
|
413
251
|
}, "Email"), (0, _react2.jsx)(_index.Text, {
|
414
|
-
sx: sx.itemValue
|
415
|
-
|
416
|
-
}, items[selectedItemId].email))), (0, _react2.jsx)(_index.Tab, {
|
252
|
+
sx: sx.itemValue
|
253
|
+
}, _items.items[selectedItemId].email))), (0, _react2.jsx)(_index.Tab, {
|
417
254
|
title: "Group Memberships"
|
418
255
|
}, (0, _react2.jsx)(_index.Text, null, "Group Memberships")), (0, _react2.jsx)(_index.Tab, {
|
419
256
|
title: "Account Info"
|
420
257
|
}, (0, _react2.jsx)(_index.Text, null, "Account Info")))))));
|
421
258
|
};
|
422
|
-
exports.
|
259
|
+
exports.ListAndPanel = ListAndPanel;
|
260
|
+
var ListElement = function ListElement(_ref) {
|
261
|
+
var _ref$data = _ref.data,
|
262
|
+
data = _ref$data === void 0 ? {
|
263
|
+
subtext: 'dburkitt5@columbia.edu',
|
264
|
+
text: 'Burkitt, Nicola',
|
265
|
+
icon: _AccountIcon["default"]
|
266
|
+
} : _ref$data;
|
267
|
+
var listItemRef = (0, _react.useRef)();
|
268
|
+
var _useOverlappingMenuHo = (0, _hooks.useOverlappingMenuHoverState)({
|
269
|
+
listItemRef: listItemRef
|
270
|
+
}),
|
271
|
+
handleHoverEnd = _useOverlappingMenuHo.handleHoverEnd,
|
272
|
+
handleHoverStart = _useOverlappingMenuHo.handleHoverStart,
|
273
|
+
handleMenuHoverEnd = _useOverlappingMenuHo.handleMenuHoverEnd,
|
274
|
+
handleMouseMove = _useOverlappingMenuHo.handleMouseMove,
|
275
|
+
isHovered = _useOverlappingMenuHo.isHovered;
|
276
|
+
return (0, _react2.jsx)(_index.ListViewItem, {
|
277
|
+
data: data,
|
278
|
+
isHovered: isHovered,
|
279
|
+
onHoverEnd: handleHoverEnd,
|
280
|
+
onHoverStart: handleHoverStart,
|
281
|
+
onMouseMove: handleMouseMove,
|
282
|
+
ref: listItemRef
|
283
|
+
}, (0, _react2.jsx)(_index.ListViewItemSwitchField, null), (0, _react2.jsx)(_index.ListViewItemMenu, {
|
284
|
+
onAction: handleHoverEnd,
|
285
|
+
onHoverEnd: handleMenuHoverEnd,
|
286
|
+
onHoverStart: handleHoverStart
|
287
|
+
}, (0, _react2.jsx)(_reactStately.Item, {
|
288
|
+
key: "enable"
|
289
|
+
}, "Enable user"), (0, _react2.jsx)(_reactStately.Item, {
|
290
|
+
key: "disable"
|
291
|
+
}, "Disable user"), (0, _react2.jsx)(_reactStately.Item, {
|
292
|
+
key: "delete"
|
293
|
+
}, "Delete user")));
|
294
|
+
};
|
295
|
+
exports.ListElement = ListElement;
|
296
|
+
var PanelHeader = function PanelHeader(_ref2) {
|
297
|
+
var _context2;
|
298
|
+
var _ref2$item = _ref2.item,
|
299
|
+
item = _ref2$item === void 0 ? {
|
300
|
+
email: 'dburkitt5@columbia.edu',
|
301
|
+
icon: _AccountIcon["default"],
|
302
|
+
firstName: 'John',
|
303
|
+
lastName: 'Doe'
|
304
|
+
} : _ref2$item,
|
305
|
+
onClosePanel = _ref2.onClosePanel;
|
306
|
+
var email = item.email,
|
307
|
+
firstName = item.firstName,
|
308
|
+
lastName = item.lastName;
|
309
|
+
var text = (0, _concat["default"])(_context2 = "".concat(lastName, ", ")).call(_context2, firstName);
|
310
|
+
return (0, _react2.jsx)(_index.Box, {
|
311
|
+
sx: sx.panelHeader.container
|
312
|
+
}, (0, _react2.jsx)(_index.Box, {
|
313
|
+
isRow: true,
|
314
|
+
sx: sx.panelHeader.wrapper
|
315
|
+
}, (0, _react2.jsx)(_index.Box, {
|
316
|
+
isRow: true,
|
317
|
+
sx: sx.panelHeader.data
|
318
|
+
}, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
|
319
|
+
variant: "bodyStrong",
|
320
|
+
sx: sx.panelHeader.title
|
321
|
+
}, text), (0, _react2.jsx)(_index.Text, {
|
322
|
+
variant: "subtitle",
|
323
|
+
sx: sx.panelHeader.subtitle
|
324
|
+
}, email))), (0, _react2.jsx)(_index.Box, {
|
325
|
+
isRow: true,
|
326
|
+
sx: sx.panelHeader.controls
|
327
|
+
}, (0, _react2.jsx)(_index.SwitchField, {
|
328
|
+
isDefaultSelected: true,
|
329
|
+
alignSelf: "center",
|
330
|
+
mr: "xs"
|
331
|
+
}), (0, _react2.jsx)(_index.PopoverMenu, null, (0, _react2.jsx)(_index.IconButton, {
|
332
|
+
"aria-label": "more"
|
333
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
334
|
+
icon: _MoreVertIcon["default"],
|
335
|
+
size: "md"
|
336
|
+
})), (0, _react2.jsx)(_index.Menu, null, (0, _react2.jsx)(_reactStately.Item, {
|
337
|
+
key: "enable"
|
338
|
+
}, "Enable user"), (0, _react2.jsx)(_reactStately.Item, {
|
339
|
+
key: "disable"
|
340
|
+
}, "Disable user"), (0, _react2.jsx)(_reactStately.Item, {
|
341
|
+
key: "delete"
|
342
|
+
}, "Delete user"))), (0, _react2.jsx)(_index.IconButton, {
|
343
|
+
"aria-label": "close icon button",
|
344
|
+
onPress: onClosePanel
|
345
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
346
|
+
size: "md",
|
347
|
+
icon: _CloseIcon["default"]
|
348
|
+
})))));
|
349
|
+
};
|
350
|
+
exports.PanelHeader = PanelHeader;
|
@@ -16,6 +16,7 @@ var _EyeOffOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/EyeOf
|
|
16
16
|
var _EyeOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/EyeOutlineIcon"));
|
17
17
|
var _hooks = require("../hooks");
|
18
18
|
var _index = require("../index");
|
19
|
+
var _figmaLinks = require("../utils/designUtils/figmaLinks.js");
|
19
20
|
var _react2 = require("@emotion/react");
|
20
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
21
22
|
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; }
|
@@ -98,4 +99,10 @@ var Default = function Default(_ref) {
|
|
98
99
|
}
|
99
100
|
}))));
|
100
101
|
};
|
101
|
-
exports.Default = Default;
|
102
|
+
exports.Default = Default;
|
103
|
+
Default.parameters = {
|
104
|
+
design: {
|
105
|
+
type: 'figma',
|
106
|
+
url: _figmaLinks.FIGMA_LINKS.maskedValue["default"]
|
107
|
+
}
|
108
|
+
};
|
@@ -15,12 +15,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/hel
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
16
16
|
var _reactStately = require("react-stately");
|
17
17
|
var _FormSelectIcon = _interopRequireDefault(require("@pingux/mdi-react/FormSelectIcon"));
|
18
|
-
var _index = require("
|
18
|
+
var _index = require("../index");
|
19
19
|
var _react2 = require("@emotion/react");
|
20
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
21
21
|
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; }
|
22
22
|
var _default = {
|
23
|
-
title: '
|
23
|
+
title: 'Recipes/Scrollable List View'
|
24
24
|
};
|
25
25
|
exports["default"] = _default;
|
26
26
|
var ScrollableListView = function ScrollableListView() {
|
@@ -64,6 +64,9 @@ var FIGMA_LINKS = {
|
|
64
64
|
loader: {
|
65
65
|
"default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=13675-33113&t=8Wwd3tIBh3GEjCJB-0'
|
66
66
|
},
|
67
|
+
maskedValue: {
|
68
|
+
"default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=10328%3A31859&mode=dev'
|
69
|
+
},
|
67
70
|
menu: {
|
68
71
|
"default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=12726-41720&t=8Wwd3tIBh3GEjCJB-0'
|
69
72
|
},
|
@@ -23,9 +23,9 @@ import { useListState } from '@react-stately/list';
|
|
23
23
|
import PropTypes from 'prop-types';
|
24
24
|
import loadingStates from '../../utils/devUtils/constants/loadingStates';
|
25
25
|
import { isIterableProp } from '../../utils/devUtils/props/isIterable';
|
26
|
-
import ListViewItem from '../ListViewItem';
|
27
26
|
import Loader from '../Loader';
|
28
27
|
import { ListViewContext } from './ListViewContext';
|
28
|
+
import ListViewItem from './ListViewItem';
|
29
29
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
30
30
|
export var collectionTypes = {
|
31
31
|
ITEM: 'item',
|
@@ -15,7 +15,7 @@ It shouldn’t be used to list items that only have a single piece of informatio
|
|
15
15
|
|
16
16
|
### Required Components
|
17
17
|
|
18
|
-
This component requires [
|
18
|
+
This component requires [ListViewItem](./?path=/docs/components-listviewitem--docs).
|
19
19
|
|
20
20
|
### Accessibility
|
21
21
|
|
@@ -42,3 +42,6 @@ This component uses the following attributes to assist screen readers:
|
|
42
42
|
- The **`aria-multiselectable`** attribute is used to indicate that users can toggle between items in the grid.
|
43
43
|
- Each ListViewItem uses the **`aria-rowindex`** attribute, which defines a component's position in the total number of rows.
|
44
44
|
- Each item also uses the aria-label, **`aria-colindex`** attributes to indicate the component’s column position and aria-selected to indicate the currently selected state.
|
45
|
+
|
46
|
+
#### NOTES:
|
47
|
+
- See the [ListAndPanel](./?path=/docs/recipes-listandpanel--docs) and [ScrollableListView](./?path=/docs/recipes-scrollablelistview--docs) recipes for more detailed examples.
|