@pingux/astro 1.24.1-alpha.3 → 1.25.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,10 +14,10 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
14
14
 
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
 
17
- var _faker = _interopRequireDefault(require("faker"));
18
-
19
17
  var _ = _interopRequireDefault(require("."));
20
18
 
19
+ var _images = require("../../utils/devUtils/constants/images");
20
+
21
21
  var _react2 = require("@emotion/react");
22
22
 
23
23
  var _default = {
@@ -28,7 +28,7 @@ var _default = {
28
28
  control: {
29
29
  type: 'none'
30
30
  },
31
- defaultValue: _faker["default"].image.lorempicsum.imageUrl(150, 150, false, 0, '1')
31
+ defaultValue: _images.pingImg
32
32
  }
33
33
  }
34
34
  };
@@ -6,7 +6,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
6
6
 
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
 
9
- var _faker = _interopRequireDefault(require("faker"));
9
+ var _faker = require("@faker-js/faker");
10
10
 
11
11
  var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
12
12
 
@@ -17,7 +17,7 @@ var _ = _interopRequireDefault(require("."));
17
17
  var _react2 = require("@emotion/react");
18
18
 
19
19
  var defaultProps = {
20
- src: _faker["default"].image.lorempicsum.imageUrl(150, 150, false, 0, '1')
20
+ src: _faker.faker.image.lorempicsum.imageUrl(150, 150, false, 0, '1')
21
21
  };
22
22
 
23
23
  var getComponent = function getComponent() {
@@ -26,7 +26,7 @@ var _isChromatic = _interopRequireDefault(require("chromatic/isChromatic"));
26
26
 
27
27
  var _ = _interopRequireDefault(require("."));
28
28
 
29
- var _imageConstants = require("./imageConstants");
29
+ var _images = require("../../utils/devUtils/constants/images");
30
30
 
31
31
  var _htmlElements = require("../../utils/devUtils/constants/htmlElements");
32
32
 
@@ -59,7 +59,7 @@ var _default = {
59
59
  control: {
60
60
  type: 'none'
61
61
  },
62
- defaultValue: _imageConstants.pingImg
62
+ defaultValue: _images.pingImg
63
63
  }
64
64
  }
65
65
  };
@@ -76,7 +76,7 @@ exports.Default = Default;
76
76
 
77
77
  var Avatar = function Avatar() {
78
78
  return (0, _react2.jsx)(_["default"], {
79
- src: _imageConstants.pingImg,
79
+ src: _images.pingImg,
80
80
  variant: "images.avatar",
81
81
  alt: "Ping identity round avatar"
82
82
  });
@@ -86,7 +86,7 @@ exports.Avatar = Avatar;
86
86
 
87
87
  var CustomSizeAndRadius = function CustomSizeAndRadius() {
88
88
  return (0, _react2.jsx)(_["default"], {
89
- src: _imageConstants.chiefIdentityChampions,
89
+ src: _images.chiefIdentityChampions,
90
90
  sx: {
91
91
  width: '70px',
92
92
  height: '70px',
@@ -101,7 +101,7 @@ exports.CustomSizeAndRadius = CustomSizeAndRadius;
101
101
 
102
102
  var Disabled = function Disabled() {
103
103
  return (0, _react2.jsx)(_["default"], {
104
- src: _imageConstants.pingImg,
104
+ src: _images.pingImg,
105
105
  isDisabled: true,
106
106
  alt: "Ping identity square logo"
107
107
  });
@@ -111,7 +111,7 @@ exports.Disabled = Disabled;
111
111
 
112
112
  var FallbackImage = function FallbackImage() {
113
113
  return (0, _react2.jsx)(_["default"], {
114
- fallbackImage: _imageConstants.pingImg,
114
+ fallbackImage: _images.pingImg,
115
115
  src: "https://deelay.me/7000/https://picsum.photos/150/150",
116
116
  sx: {
117
117
  width: '150px',
@@ -125,7 +125,7 @@ exports.FallbackImage = FallbackImage;
125
125
 
126
126
  var WithSkeletonLoadSuccess = function WithSkeletonLoadSuccess(_ref2) {
127
127
  var useLocalSrc = _ref2.useLocalSrc;
128
- var imageSrc = useLocalSrc ? _imageConstants.pingImg : 'https://deelay.me/3000/https://picsum.photos/150/150';
128
+ var imageSrc = useLocalSrc ? _images.pingImg : 'https://deelay.me/3000/https://picsum.photos/150/150';
129
129
  return (0, _react2.jsx)(_["default"], {
130
130
  src: imageSrc,
131
131
  sx: {
@@ -155,13 +155,13 @@ var WithSkeletonLoadTimeout = function WithSkeletonLoadTimeout() {
155
155
  exports.WithSkeletonLoadTimeout = WithSkeletonLoadTimeout;
156
156
 
157
157
  var UpdatingImageSrc = function UpdatingImageSrc() {
158
- var _useState = (0, _react.useState)(_imageConstants.chiefIdentityChampions),
158
+ var _useState = (0, _react.useState)(_images.chiefIdentityChampions),
159
159
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
160
160
  image = _useState2[0],
161
161
  setImage = _useState2[1];
162
162
 
163
163
  var handleButtonPress = function handleButtonPress() {
164
- var src = image === _imageConstants.pingImg ? _imageConstants.chiefIdentityChampions : _imageConstants.pingImg;
164
+ var src = image === _images.pingImg ? _images.chiefIdentityChampions : _images.pingImg;
165
165
  setImage(src);
166
166
  };
167
167
 
@@ -178,7 +178,7 @@ var UpdatingImageSrc = function UpdatingImageSrc() {
178
178
  height: '200px',
179
179
  mt: '25px'
180
180
  },
181
- alt: image === _imageConstants.pingImg ? 'Ping identity square logo' : 'Terry Crews in a red suite'
181
+ alt: image === _images.pingImg ? 'Ping identity square logo' : 'Terry Crews in a red suite'
182
182
  }));
183
183
  };
184
184
 
@@ -0,0 +1,339 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+
7
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
8
+
9
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
10
+
11
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
12
+
13
+ _Object$defineProperty(exports, "__esModule", {
14
+ value: true
15
+ });
16
+
17
+ exports["default"] = exports.Default = void 0;
18
+
19
+ var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
20
+
21
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
22
+
23
+ var _react = _interopRequireWildcard(require("react"));
24
+
25
+ var _focus = require("@react-aria/focus");
26
+
27
+ var _collections = require("@react-stately/collections");
28
+
29
+ var _CloseIcon = _interopRequireDefault(require("mdi-react/CloseIcon"));
30
+
31
+ var _MoreVertIcon = _interopRequireDefault(require("mdi-react/MoreVertIcon"));
32
+
33
+ var _PencilIcon = _interopRequireDefault(require("mdi-react/PencilIcon"));
34
+
35
+ var _index = require("../index");
36
+
37
+ var _hooks = require("../hooks");
38
+
39
+ var _images = require("../utils/devUtils/constants/images");
40
+
41
+ var _react2 = require("@emotion/react");
42
+
43
+ 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); }
44
+
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; }
46
+
47
+ var _default = {
48
+ title: 'Recipes/List with Panel'
49
+ };
50
+ exports["default"] = _default;
51
+ var items = [{
52
+ email: 'dburkitt5@columbia.edu',
53
+ firstName: 'Nicola',
54
+ lastName: 'Burkitt',
55
+ avatar: _images.pingImg
56
+ }, {
57
+ email: 'idixie2@elegantthemes.com',
58
+ firstName: 'Cacilia',
59
+ lastName: 'Dixie',
60
+ avatar: _images.pingImg
61
+ }, {
62
+ email: 'dfowler0@rambler.ru',
63
+ firstName: 'Stavro',
64
+ lastName: 'Fowler',
65
+ avatar: _images.pingImg
66
+ }, {
67
+ email: 'jgolde8@jimdo.com',
68
+ firstName: 'Celisse',
69
+ lastName: 'Golde',
70
+ avatar: _images.pingImg
71
+ }, {
72
+ email: 'shearst9@answers.com',
73
+ firstName: 'Jeth',
74
+ lastName: 'Hearst',
75
+ avatar: _images.pingImg
76
+ }, {
77
+ email: 'ajinaa@mapquest.com',
78
+ firstName: 'Kaycee',
79
+ lastName: 'Jina',
80
+ avatar: _images.pingImg
81
+ }, {
82
+ email: 'vmalster4@biblegateway.com',
83
+ firstName: 'Lorry',
84
+ lastName: 'Malster',
85
+ avatar: _images.pingImg
86
+ }, {
87
+ email: 'yphipp6@yellowpages.com',
88
+ firstName: 'Stanley',
89
+ lastName: 'Phipp',
90
+ avatar: _images.pingImg
91
+ }, {
92
+ email: 'mskilbeck3@bbc.co.uk',
93
+ firstName: 'Gradey',
94
+ lastName: 'Skilbeck',
95
+ avatar: _images.pingImg
96
+ }, {
97
+ email: 'dstebbing1@msu.edu',
98
+ firstName: 'Marnia',
99
+ lastName: 'Stebbing',
100
+ avatar: _images.pingImg
101
+ }, {
102
+ email: 'lsterley7@lulu.com',
103
+ firstName: 'Joshua',
104
+ lastName: 'Sterley',
105
+ avatar: _images.pingImg
106
+ }, {
107
+ email: 'luttleyb@hugedomains.com',
108
+ firstName: 'Jarrod',
109
+ lastName: 'Uttley',
110
+ avatar: _images.pingImg
111
+ }, {
112
+ email: 'lidelc@yelp.com',
113
+ firstName: 'Andromache',
114
+ lastName: 'Idel',
115
+ avatar: _images.pingImg,
116
+ hasSeparator: false
117
+ }];
118
+
119
+ var ListElement = function ListElement(_ref) {
120
+ var item = _ref.item,
121
+ onClosePanel = _ref.onClosePanel;
122
+ return (0, _react2.jsx)(_index.Box, {
123
+ isRow: true,
124
+ minHeight: "60px"
125
+ }, (0, _react2.jsx)(_index.Box, {
126
+ isRow: true,
127
+ mr: "auto",
128
+ alignItems: "center"
129
+ }, (0, _react2.jsx)(_index.Avatar, {
130
+ mr: "md",
131
+ sx: {
132
+ width: '25px',
133
+ height: '25px'
134
+ },
135
+ src: item.avatar
136
+ }), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
137
+ variant: "bodyStrong",
138
+ alignSelf: "start"
139
+ }, item.lastName, ", ", item.firstName), (0, _react2.jsx)(_index.Text, {
140
+ sx: {
141
+ fontSize: 'sm',
142
+ my: '1px',
143
+ lineHeight: '16px'
144
+ },
145
+ variant: "subtitle",
146
+ alignSelf: "start"
147
+ }, item.email))), (0, _react2.jsx)(_index.Box, {
148
+ isRow: true,
149
+ alignSelf: "center"
150
+ }, (0, _react2.jsx)(_index.SwitchField, {
151
+ "aria-label": "active user",
152
+ isDefaultSelected: true,
153
+ alignSelf: "center",
154
+ mr: "sm"
155
+ }), (0, _react2.jsx)(_index.PopoverMenu, null, (0, _react2.jsx)(_index.IconButton, {
156
+ "aria-label": "more icon button",
157
+ mr: onClosePanel ? 'sm' : 0
158
+ }, (0, _react2.jsx)(_MoreVertIcon["default"], null)), (0, _react2.jsx)(_index.Menu, null, (0, _react2.jsx)(_collections.Item, {
159
+ key: "enable"
160
+ }, "Enable user"), (0, _react2.jsx)(_collections.Item, {
161
+ key: "disable"
162
+ }, "Disable user"), (0, _react2.jsx)(_collections.Item, {
163
+ key: "delete"
164
+ }, "Delete user"))), onClosePanel && (0, _react2.jsx)(_index.IconButton, {
165
+ "aria-label": "close icon button",
166
+ onPress: onClosePanel
167
+ }, (0, _react2.jsx)(_CloseIcon["default"], null))));
168
+ };
169
+
170
+ var Default = function Default() {
171
+ var _useState = (0, _react.useState)(),
172
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
173
+ selectedItemId = _useState2[0],
174
+ setSelectedItemId = _useState2[1];
175
+
176
+ var _useState3 = (0, _react.useState)(),
177
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
178
+ selectedKeys = _useState4[0],
179
+ setSelectedKeys = _useState4[1];
180
+
181
+ var _useOverlayPanelState = (0, _hooks.useOverlayPanelState)(),
182
+ panelState = _useOverlayPanelState.state,
183
+ onPanelClose = _useOverlayPanelState.onClose;
184
+
185
+ var panelTriggerRef = (0, _react.useRef)();
186
+
187
+ var closePanelHandler = function closePanelHandler() {
188
+ onPanelClose(panelState, panelTriggerRef);
189
+ setSelectedItemId(-1);
190
+ setSelectedKeys([]);
191
+ };
192
+
193
+ var selectItemHandler = function selectItemHandler(e) {
194
+ if (e.size) {
195
+ setSelectedItemId((0, _findIndex["default"])(items).call(items, function (item) {
196
+ return item.email === e.currentKey;
197
+ }));
198
+ setSelectedKeys([e.currentKey]);
199
+ panelState.open();
200
+ } else {
201
+ closePanelHandler();
202
+ }
203
+ };
204
+
205
+ return (0, _react2.jsx)(_index.Box, {
206
+ px: "lg",
207
+ py: "lg",
208
+ bg: "accent.99"
209
+ }, (0, _react2.jsx)(_index.SearchField, {
210
+ mb: "sm",
211
+ width: "400px",
212
+ placeholder: "Search",
213
+ "aria-label": "search"
214
+ }), (0, _react2.jsx)(_index.ListView, {
215
+ items: items,
216
+ onSelectionChange: selectItemHandler,
217
+ ref: panelTriggerRef,
218
+ selectedKeys: selectedKeys
219
+ }, function (item) {
220
+ return (0, _react2.jsx)(_collections.Item, {
221
+ key: item.email,
222
+ textValue: item.email,
223
+ hasSeparator: item.hasSeparator,
224
+ listItemProps: {
225
+ pl: 15,
226
+ minHeight: 75
227
+ }
228
+ }, (0, _react2.jsx)(ListElement, {
229
+ item: item
230
+ }));
231
+ }), (0, _react2.jsx)(_index.OverlayPanel, {
232
+ isOpen: panelState.isOpen,
233
+ state: panelState,
234
+ triggerRef: panelTriggerRef,
235
+ p: 0
236
+ }, panelState.isOpen && (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_focus.FocusScope, {
237
+ contain: true,
238
+ restoreFocus: true,
239
+ autoFocus: true
240
+ }, (0, _react2.jsx)(_index.Box, {
241
+ px: "md",
242
+ bg: "accent.99",
243
+ justifyContent: "center"
244
+ }, (0, _react2.jsx)(ListElement, {
245
+ item: selectedItemId >= 0 ? items[selectedItemId] : [],
246
+ onClosePanel: closePanelHandler
247
+ })), (0, _react2.jsx)(_index.Separator, {
248
+ margin: 0,
249
+ bg: "accent.90"
250
+ }), (0, _react2.jsx)(_index.Box, {
251
+ px: "lg",
252
+ pt: "xs"
253
+ }, (0, _react2.jsx)(_index.Tabs, {
254
+ tabListProps: {
255
+ justifyContent: 'center'
256
+ },
257
+ tabPanelProps: {
258
+ sx: {
259
+ position: 'relative'
260
+ }
261
+ }
262
+ }, (0, _react2.jsx)(_index.Tab, {
263
+ title: "Profile"
264
+ }, selectedItemId >= 0 && (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.IconButton, {
265
+ sx: {
266
+ position: 'absolute',
267
+ top: 0,
268
+ right: 0
269
+ }
270
+ }, (0, _react2.jsx)(_PencilIcon["default"], {
271
+ size: 20
272
+ })), (0, _react2.jsx)(_index.Text, {
273
+ sx: {
274
+ fontSize: 'sm',
275
+ fontWeight: 3,
276
+ lineHeight: '16px'
277
+ },
278
+ variant: "base",
279
+ mb: "xs"
280
+ }, "Full Name"), (0, _react2.jsx)(_index.Text, {
281
+ sx: {
282
+ fontWeight: 0,
283
+ lineHeight: '18px'
284
+ },
285
+ variant: "base",
286
+ mb: "md"
287
+ }, items[selectedItemId].firstName, " ", items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
288
+ sx: {
289
+ fontSize: 'sm',
290
+ fontWeight: 3,
291
+ lineHeight: '16px'
292
+ },
293
+ variant: "base",
294
+ mb: "xs"
295
+ }, "First Name"), (0, _react2.jsx)(_index.Text, {
296
+ sx: {
297
+ fontWeight: 0,
298
+ lineHeight: '18px'
299
+ },
300
+ variant: "base",
301
+ mb: "md"
302
+ }, items[selectedItemId].firstName), (0, _react2.jsx)(_index.Text, {
303
+ sx: {
304
+ fontSize: 'sm',
305
+ fontWeight: 3,
306
+ lineHeight: '16px'
307
+ },
308
+ variant: "base",
309
+ mb: "xs"
310
+ }, "Last Name"), (0, _react2.jsx)(_index.Text, {
311
+ sx: {
312
+ fontWeight: 0,
313
+ lineHeight: '18px'
314
+ },
315
+ variant: "base",
316
+ mb: "md"
317
+ }, items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
318
+ sx: {
319
+ fontSize: 'sm',
320
+ fontWeight: 3,
321
+ lineHeight: '16px'
322
+ },
323
+ variant: "base",
324
+ mb: "xs"
325
+ }, "Email"), (0, _react2.jsx)(_index.Text, {
326
+ sx: {
327
+ fontWeight: 0,
328
+ lineHeight: '18px'
329
+ },
330
+ variant: "base",
331
+ mb: "md"
332
+ }, items[selectedItemId].email))), (0, _react2.jsx)(_index.Tab, {
333
+ title: "Group Memberships"
334
+ }, (0, _react2.jsx)(_index.Text, null, "Group Memberships")), (0, _react2.jsx)(_index.Tab, {
335
+ title: "Account Info"
336
+ }, (0, _react2.jsx)(_index.Text, null, "Account Info"))))))));
337
+ };
338
+
339
+ exports.Default = Default;
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import React from 'react';
3
- import faker from 'faker';
4
3
  import Avatar from '.';
4
+ import { pingImg } from '../../utils/devUtils/constants/images';
5
5
  import { jsx as ___EmotionJSX } from "@emotion/react";
6
6
  export default {
7
7
  title: 'Avatar',
@@ -11,7 +11,7 @@ export default {
11
11
  control: {
12
12
  type: 'none'
13
13
  },
14
- defaultValue: faker.image.lorempicsum.imageUrl(150, 150, false, 0, '1')
14
+ defaultValue: pingImg
15
15
  }
16
16
  }
17
17
  };
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import React from 'react';
3
- import faker from 'faker';
3
+ import { faker } from '@faker-js/faker';
4
4
  import axeTest from '../../utils/testUtils/testAxe';
5
5
  import { render, screen } from '../../utils/testUtils/testWrapper';
6
6
  import Avatar from '.';
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
3
  import React, { useState } from 'react';
4
4
  import isChromatic from 'chromatic/isChromatic';
5
5
  import Image from '.';
6
- import { chiefIdentityChampions, pingImg } from './imageConstants';
6
+ import { chiefIdentityChampions, pingImg } from '../../utils/devUtils/constants/images';
7
7
  import { htmlElements } from '../../utils/devUtils/constants/htmlElements';
8
8
  import { Box, Button } from '../../index';
9
9
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -0,0 +1,302 @@
1
+ import _findIndexInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find-index";
2
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
3
+ import React, { useRef, useState } from 'react';
4
+ import { FocusScope } from '@react-aria/focus';
5
+ import { Item } from '@react-stately/collections';
6
+ import CloseIcon from 'mdi-react/CloseIcon';
7
+ import MoreVertIcon from 'mdi-react/MoreVertIcon';
8
+ import PencilIcon from 'mdi-react/PencilIcon';
9
+ import { Avatar, Box, IconButton, ListView, Menu, OverlayPanel, PopoverMenu, SearchField, Separator, SwitchField, Tab, Tabs, Text } from '../index';
10
+ import { useOverlayPanelState } from '../hooks';
11
+ import { pingImg } from '../utils/devUtils/constants/images';
12
+ import { jsx as ___EmotionJSX } from "@emotion/react";
13
+ export default {
14
+ title: 'Recipes/List with Panel'
15
+ };
16
+ var items = [{
17
+ email: 'dburkitt5@columbia.edu',
18
+ firstName: 'Nicola',
19
+ lastName: 'Burkitt',
20
+ avatar: pingImg
21
+ }, {
22
+ email: 'idixie2@elegantthemes.com',
23
+ firstName: 'Cacilia',
24
+ lastName: 'Dixie',
25
+ avatar: pingImg
26
+ }, {
27
+ email: 'dfowler0@rambler.ru',
28
+ firstName: 'Stavro',
29
+ lastName: 'Fowler',
30
+ avatar: pingImg
31
+ }, {
32
+ email: 'jgolde8@jimdo.com',
33
+ firstName: 'Celisse',
34
+ lastName: 'Golde',
35
+ avatar: pingImg
36
+ }, {
37
+ email: 'shearst9@answers.com',
38
+ firstName: 'Jeth',
39
+ lastName: 'Hearst',
40
+ avatar: pingImg
41
+ }, {
42
+ email: 'ajinaa@mapquest.com',
43
+ firstName: 'Kaycee',
44
+ lastName: 'Jina',
45
+ avatar: pingImg
46
+ }, {
47
+ email: 'vmalster4@biblegateway.com',
48
+ firstName: 'Lorry',
49
+ lastName: 'Malster',
50
+ avatar: pingImg
51
+ }, {
52
+ email: 'yphipp6@yellowpages.com',
53
+ firstName: 'Stanley',
54
+ lastName: 'Phipp',
55
+ avatar: pingImg
56
+ }, {
57
+ email: 'mskilbeck3@bbc.co.uk',
58
+ firstName: 'Gradey',
59
+ lastName: 'Skilbeck',
60
+ avatar: pingImg
61
+ }, {
62
+ email: 'dstebbing1@msu.edu',
63
+ firstName: 'Marnia',
64
+ lastName: 'Stebbing',
65
+ avatar: pingImg
66
+ }, {
67
+ email: 'lsterley7@lulu.com',
68
+ firstName: 'Joshua',
69
+ lastName: 'Sterley',
70
+ avatar: pingImg
71
+ }, {
72
+ email: 'luttleyb@hugedomains.com',
73
+ firstName: 'Jarrod',
74
+ lastName: 'Uttley',
75
+ avatar: pingImg
76
+ }, {
77
+ email: 'lidelc@yelp.com',
78
+ firstName: 'Andromache',
79
+ lastName: 'Idel',
80
+ avatar: pingImg,
81
+ hasSeparator: false
82
+ }];
83
+
84
+ var ListElement = function ListElement(_ref) {
85
+ var item = _ref.item,
86
+ onClosePanel = _ref.onClosePanel;
87
+ return ___EmotionJSX(Box, {
88
+ isRow: true,
89
+ minHeight: "60px"
90
+ }, ___EmotionJSX(Box, {
91
+ isRow: true,
92
+ mr: "auto",
93
+ alignItems: "center"
94
+ }, ___EmotionJSX(Avatar, {
95
+ mr: "md",
96
+ sx: {
97
+ width: '25px',
98
+ height: '25px'
99
+ },
100
+ src: item.avatar
101
+ }), ___EmotionJSX(Box, null, ___EmotionJSX(Text, {
102
+ variant: "bodyStrong",
103
+ alignSelf: "start"
104
+ }, item.lastName, ", ", item.firstName), ___EmotionJSX(Text, {
105
+ sx: {
106
+ fontSize: 'sm',
107
+ my: '1px',
108
+ lineHeight: '16px'
109
+ },
110
+ variant: "subtitle",
111
+ alignSelf: "start"
112
+ }, item.email))), ___EmotionJSX(Box, {
113
+ isRow: true,
114
+ alignSelf: "center"
115
+ }, ___EmotionJSX(SwitchField, {
116
+ "aria-label": "active user",
117
+ isDefaultSelected: true,
118
+ alignSelf: "center",
119
+ mr: "sm"
120
+ }), ___EmotionJSX(PopoverMenu, null, ___EmotionJSX(IconButton, {
121
+ "aria-label": "more icon button",
122
+ mr: onClosePanel ? 'sm' : 0
123
+ }, ___EmotionJSX(MoreVertIcon, null)), ___EmotionJSX(Menu, null, ___EmotionJSX(Item, {
124
+ key: "enable"
125
+ }, "Enable user"), ___EmotionJSX(Item, {
126
+ key: "disable"
127
+ }, "Disable user"), ___EmotionJSX(Item, {
128
+ key: "delete"
129
+ }, "Delete user"))), onClosePanel && ___EmotionJSX(IconButton, {
130
+ "aria-label": "close icon button",
131
+ onPress: onClosePanel
132
+ }, ___EmotionJSX(CloseIcon, null))));
133
+ };
134
+
135
+ export var Default = function Default() {
136
+ var _useState = useState(),
137
+ _useState2 = _slicedToArray(_useState, 2),
138
+ selectedItemId = _useState2[0],
139
+ setSelectedItemId = _useState2[1];
140
+
141
+ var _useState3 = useState(),
142
+ _useState4 = _slicedToArray(_useState3, 2),
143
+ selectedKeys = _useState4[0],
144
+ setSelectedKeys = _useState4[1];
145
+
146
+ var _useOverlayPanelState = useOverlayPanelState(),
147
+ panelState = _useOverlayPanelState.state,
148
+ onPanelClose = _useOverlayPanelState.onClose;
149
+
150
+ var panelTriggerRef = useRef();
151
+
152
+ var closePanelHandler = function closePanelHandler() {
153
+ onPanelClose(panelState, panelTriggerRef);
154
+ setSelectedItemId(-1);
155
+ setSelectedKeys([]);
156
+ };
157
+
158
+ var selectItemHandler = function selectItemHandler(e) {
159
+ if (e.size) {
160
+ setSelectedItemId(_findIndexInstanceProperty(items).call(items, function (item) {
161
+ return item.email === e.currentKey;
162
+ }));
163
+ setSelectedKeys([e.currentKey]);
164
+ panelState.open();
165
+ } else {
166
+ closePanelHandler();
167
+ }
168
+ };
169
+
170
+ return ___EmotionJSX(Box, {
171
+ px: "lg",
172
+ py: "lg",
173
+ bg: "accent.99"
174
+ }, ___EmotionJSX(SearchField, {
175
+ mb: "sm",
176
+ width: "400px",
177
+ placeholder: "Search",
178
+ "aria-label": "search"
179
+ }), ___EmotionJSX(ListView, {
180
+ items: items,
181
+ onSelectionChange: selectItemHandler,
182
+ ref: panelTriggerRef,
183
+ selectedKeys: selectedKeys
184
+ }, function (item) {
185
+ return ___EmotionJSX(Item, {
186
+ key: item.email,
187
+ textValue: item.email,
188
+ hasSeparator: item.hasSeparator,
189
+ listItemProps: {
190
+ pl: 15,
191
+ minHeight: 75
192
+ }
193
+ }, ___EmotionJSX(ListElement, {
194
+ item: item
195
+ }));
196
+ }), ___EmotionJSX(OverlayPanel, {
197
+ isOpen: panelState.isOpen,
198
+ state: panelState,
199
+ triggerRef: panelTriggerRef,
200
+ p: 0
201
+ }, panelState.isOpen && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(FocusScope, {
202
+ contain: true,
203
+ restoreFocus: true,
204
+ autoFocus: true
205
+ }, ___EmotionJSX(Box, {
206
+ px: "md",
207
+ bg: "accent.99",
208
+ justifyContent: "center"
209
+ }, ___EmotionJSX(ListElement, {
210
+ item: selectedItemId >= 0 ? items[selectedItemId] : [],
211
+ onClosePanel: closePanelHandler
212
+ })), ___EmotionJSX(Separator, {
213
+ margin: 0,
214
+ bg: "accent.90"
215
+ }), ___EmotionJSX(Box, {
216
+ px: "lg",
217
+ pt: "xs"
218
+ }, ___EmotionJSX(Tabs, {
219
+ tabListProps: {
220
+ justifyContent: 'center'
221
+ },
222
+ tabPanelProps: {
223
+ sx: {
224
+ position: 'relative'
225
+ }
226
+ }
227
+ }, ___EmotionJSX(Tab, {
228
+ title: "Profile"
229
+ }, selectedItemId >= 0 && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(IconButton, {
230
+ sx: {
231
+ position: 'absolute',
232
+ top: 0,
233
+ right: 0
234
+ }
235
+ }, ___EmotionJSX(PencilIcon, {
236
+ size: 20
237
+ })), ___EmotionJSX(Text, {
238
+ sx: {
239
+ fontSize: 'sm',
240
+ fontWeight: 3,
241
+ lineHeight: '16px'
242
+ },
243
+ variant: "base",
244
+ mb: "xs"
245
+ }, "Full Name"), ___EmotionJSX(Text, {
246
+ sx: {
247
+ fontWeight: 0,
248
+ lineHeight: '18px'
249
+ },
250
+ variant: "base",
251
+ mb: "md"
252
+ }, items[selectedItemId].firstName, " ", items[selectedItemId].lastName), ___EmotionJSX(Text, {
253
+ sx: {
254
+ fontSize: 'sm',
255
+ fontWeight: 3,
256
+ lineHeight: '16px'
257
+ },
258
+ variant: "base",
259
+ mb: "xs"
260
+ }, "First Name"), ___EmotionJSX(Text, {
261
+ sx: {
262
+ fontWeight: 0,
263
+ lineHeight: '18px'
264
+ },
265
+ variant: "base",
266
+ mb: "md"
267
+ }, items[selectedItemId].firstName), ___EmotionJSX(Text, {
268
+ sx: {
269
+ fontSize: 'sm',
270
+ fontWeight: 3,
271
+ lineHeight: '16px'
272
+ },
273
+ variant: "base",
274
+ mb: "xs"
275
+ }, "Last Name"), ___EmotionJSX(Text, {
276
+ sx: {
277
+ fontWeight: 0,
278
+ lineHeight: '18px'
279
+ },
280
+ variant: "base",
281
+ mb: "md"
282
+ }, items[selectedItemId].lastName), ___EmotionJSX(Text, {
283
+ sx: {
284
+ fontSize: 'sm',
285
+ fontWeight: 3,
286
+ lineHeight: '16px'
287
+ },
288
+ variant: "base",
289
+ mb: "xs"
290
+ }, "Email"), ___EmotionJSX(Text, {
291
+ sx: {
292
+ fontWeight: 0,
293
+ lineHeight: '18px'
294
+ },
295
+ variant: "base",
296
+ mb: "md"
297
+ }, items[selectedItemId].email))), ___EmotionJSX(Tab, {
298
+ title: "Group Memberships"
299
+ }, ___EmotionJSX(Text, null, "Group Memberships")), ___EmotionJSX(Tab, {
300
+ title: "Account Info"
301
+ }, ___EmotionJSX(Text, null, "Account Info"))))))));
302
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "1.24.1-alpha.3",
3
+ "version": "1.25.0-alpha.0",
4
4
  "description": "PingUX themeable React component library",
5
5
  "author": "ux-development@pingidentity.com",
6
6
  "license": "Apache-2.0",
@@ -36,6 +36,7 @@
36
36
  "@emotion/babel-preset-css-prop": "^11.2.0",
37
37
  "@emotion/cache": "^11.4.0",
38
38
  "@emotion/eslint-plugin": "^11.2.0",
39
+ "@faker-js/faker": "^7.1.0",
39
40
  "@storybook/addon-a11y": "^6.4.19",
40
41
  "@storybook/addon-actions": "^6.4.19",
41
42
  "@storybook/addon-console": "^1.2.3",
@@ -57,7 +58,6 @@
57
58
  "eslint-plugin-jest-dom": "^3.9.0",
58
59
  "eslint-plugin-react-hooks": "^2.5.1",
59
60
  "eslint-plugin-testing-library": "^4.6.0",
60
- "faker": "5.1.0",
61
61
  "jest-axe": "^5.0.1",
62
62
  "jest-emotion": "^11.0.0",
63
63
  "mutationobserver-shim": "^0.3.7",