@pingux/astro 1.27.0 → 1.28.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/NOTICE.html +2 -2
  3. package/lib/cjs/components/DataTable/DataTable.js +481 -0
  4. package/lib/cjs/components/DataTable/DataTable.stories.js +310 -0
  5. package/lib/cjs/components/DataTable/DataTable.styles.js +156 -0
  6. package/lib/cjs/components/DataTable/DataTable.test.js +1307 -0
  7. package/lib/cjs/components/DataTable/DataTableChip.js +63 -0
  8. package/lib/cjs/components/DataTable/DataTableChip.test.js +38 -0
  9. package/lib/cjs/components/DataTable/DataTableMenu.js +51 -0
  10. package/lib/cjs/components/DataTable/DataTableMenu.test.js +20 -0
  11. package/lib/cjs/components/DataTable/DataTableMultiLine.js +75 -0
  12. package/lib/cjs/components/DataTable/DataTableMultiLine.test.js +30 -0
  13. package/lib/cjs/components/DataTable/DataTableVirtualizer.js +188 -0
  14. package/lib/cjs/components/DataTable/index.js +54 -0
  15. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +8 -2
  16. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +35 -0
  17. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +10 -10
  18. package/lib/cjs/components/PageHeader/PageHeader.js +7 -1
  19. package/lib/cjs/context/DataTableContext/index.js +31 -0
  20. package/lib/cjs/index.js +67 -2
  21. package/lib/cjs/recipes/CountryPicker.stories.js +25 -12
  22. package/lib/cjs/recipes/EditableInput.stories.js +55 -46
  23. package/lib/cjs/recipes/FlippableCaretMenuButton.stories.js +38 -30
  24. package/lib/cjs/recipes/ListAndPanel.stories.js +102 -87
  25. package/lib/cjs/recipes/MaskedValue.stories.js +8 -5
  26. package/lib/cjs/recipes/NeutralInput.stories.js +6 -3
  27. package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
  28. package/lib/cjs/recipes/PageHeader.stories.js +73 -0
  29. package/lib/cjs/recipes/RowLineChart.stories.js +58 -70
  30. package/lib/cjs/recipes/SelectedFieldOverlay.story.js +25 -21
  31. package/lib/cjs/recipes/TrialExperienceStatusBar.stories.js +81 -72
  32. package/lib/cjs/styles/forms/index.js +1 -1
  33. package/lib/cjs/styles/forms/label.js +1 -1
  34. package/lib/cjs/styles/forms/select.js +1 -1
  35. package/lib/cjs/styles/variants/variants.js +4 -1
  36. package/lib/components/DataTable/DataTable.js +436 -0
  37. package/lib/components/DataTable/DataTable.stories.js +273 -0
  38. package/lib/components/DataTable/DataTable.styles.js +137 -0
  39. package/lib/components/DataTable/DataTable.test.js +1256 -0
  40. package/lib/components/DataTable/DataTableChip.js +33 -0
  41. package/lib/components/DataTable/DataTableChip.test.js +31 -0
  42. package/lib/components/DataTable/DataTableMenu.js +24 -0
  43. package/lib/components/DataTable/DataTableMenu.test.js +13 -0
  44. package/lib/components/DataTable/DataTableMultiLine.js +46 -0
  45. package/lib/components/DataTable/DataTableMultiLine.test.js +22 -0
  46. package/lib/components/DataTable/DataTableVirtualizer.js +157 -0
  47. package/lib/components/DataTable/index.js +5 -0
  48. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +7 -2
  49. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +25 -0
  50. package/lib/components/MultivaluesField/MultivaluesField.js +10 -10
  51. package/lib/components/PageHeader/PageHeader.js +8 -1
  52. package/lib/context/DataTableContext/index.js +5 -0
  53. package/lib/index.js +4 -1
  54. package/lib/recipes/CountryPicker.stories.js +24 -12
  55. package/lib/recipes/EditableInput.stories.js +55 -46
  56. package/lib/recipes/FlippableCaretMenuButton.stories.js +38 -30
  57. package/lib/recipes/ListAndPanel.stories.js +102 -87
  58. package/lib/recipes/MaskedValue.stories.js +8 -5
  59. package/lib/recipes/NeutralInput.stories.js +6 -3
  60. package/lib/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
  61. package/lib/recipes/PageHeader.stories.js +53 -0
  62. package/lib/recipes/RowLineChart.stories.js +58 -70
  63. package/lib/recipes/SelectedFieldOverlay.story.js +25 -21
  64. package/lib/recipes/TrialExperienceStatusBar.stories.js +81 -72
  65. package/lib/styles/forms/index.js +1 -1
  66. package/lib/styles/forms/label.js +1 -1
  67. package/lib/styles/forms/select.js +1 -1
  68. package/lib/styles/variants/variants.js +3 -1
  69. package/package.json +54 -56
@@ -128,44 +128,106 @@ var items = [{
128
128
  avatar: _AccountIcon["default"],
129
129
  hasSeparator: false
130
130
  }];
131
+ var sx = {
132
+ wrapper: {
133
+ px: 'lg',
134
+ py: 'lg',
135
+ bg: 'accent.99',
136
+ height: '900px',
137
+ overflowY: 'scroll'
138
+ },
139
+ searchField: {
140
+ position: 'fixed',
141
+ mb: 'sm',
142
+ width: '400px'
143
+ },
144
+ listElementWrapper: {
145
+ px: 'md',
146
+ bg: 'accent.99',
147
+ justifyContent: 'center'
148
+ },
149
+ separator: {
150
+ bg: 'accent.90'
151
+ },
152
+ tabsWrapper: {
153
+ px: 'lg',
154
+ pt: 'xs'
155
+ },
156
+ iconButton: {
157
+ position: 'absolute',
158
+ top: 0,
159
+ right: 0
160
+ },
161
+ itemLabel: {
162
+ fontSize: 'sm',
163
+ fontWeight: 3,
164
+ lineHeight: '16px',
165
+ mb: 'xs'
166
+ },
167
+ itemValue: {
168
+ fontWeight: 0,
169
+ lineHeight: '18px',
170
+ variant: 'base',
171
+ mb: 'md'
172
+ },
173
+ listElement: {
174
+ wrapper: {
175
+ minHeight: '60px'
176
+ },
177
+ iconWrapper: {
178
+ mr: 'auto',
179
+ alignItems: 'center'
180
+ },
181
+ icon: {
182
+ mr: 'sm',
183
+ alignSelf: 'center',
184
+ color: 'accent.40'
185
+ },
186
+ avatar: {
187
+ width: '25px',
188
+ height: '25px',
189
+ mr: 'md'
190
+ },
191
+ title: {
192
+ alignSelf: 'start'
193
+ },
194
+ subtitle: {
195
+ fontSize: 'sm',
196
+ my: '1px',
197
+ lineHeight: '16px',
198
+ alignSelf: 'start'
199
+ },
200
+ menuWrapper: {
201
+ alignSelf: 'center'
202
+ }
203
+ }
204
+ };
131
205
 
132
206
  var ListElement = function ListElement(_ref) {
133
207
  var item = _ref.item,
134
208
  onClosePanel = _ref.onClosePanel;
135
209
  return (0, _react2.jsx)(_index.Box, {
136
210
  isRow: true,
137
- minHeight: "60px"
211
+ sx: sx.listElement.wrapper
138
212
  }, (0, _react2.jsx)(_index.Box, {
139
213
  isRow: true,
140
- mr: "auto",
141
- alignItems: "center"
214
+ sx: sx.listElement.iconWrapper
142
215
  }, item.hasIcon ? (0, _react2.jsx)(_index.Icon, {
143
216
  icon: item.avatar,
144
- alignSelf: "center",
145
217
  size: 24,
146
- mr: "sm",
147
- color: "accent.40"
218
+ sx: sx.listElement.icon
148
219
  }) : (0, _react2.jsx)(_index.Avatar, {
149
- mr: "md",
150
- sx: {
151
- width: '25px',
152
- height: '25px'
153
- },
220
+ sx: sx.listElement.avatar,
154
221
  src: item.avatar
155
222
  }), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
156
223
  variant: "bodyStrong",
157
- alignSelf: "start"
224
+ sx: sx.listElement.title
158
225
  }, item.lastName, ", ", item.firstName), (0, _react2.jsx)(_index.Text, {
159
- sx: {
160
- fontSize: 'sm',
161
- my: '1px',
162
- lineHeight: '16px'
163
- },
164
226
  variant: "subtitle",
165
- alignSelf: "start"
227
+ sx: sx.listElement.subtitle
166
228
  }, item.email))), (0, _react2.jsx)(_index.Box, {
167
229
  isRow: true,
168
- alignSelf: "center"
230
+ sx: sx.listElement.menuWrapper
169
231
  }, (0, _react2.jsx)(_index.SwitchField, {
170
232
  "aria-label": "active user",
171
233
  isDefaultSelected: true,
@@ -222,11 +284,7 @@ var Default = function Default() {
222
284
  };
223
285
 
224
286
  return (0, _react2.jsx)(_index.Box, {
225
- px: "lg",
226
- py: "lg",
227
- bg: "accent.99",
228
- height: "900px",
229
- overflowY: "scroll"
287
+ sx: sx.wrapper
230
288
  }, (0, _react2.jsx)(_index.SearchField, {
231
289
  position: "fixed",
232
290
  mb: "sm",
@@ -260,18 +318,15 @@ var Default = function Default() {
260
318
  restoreFocus: true,
261
319
  autoFocus: true
262
320
  }, (0, _react2.jsx)(_index.Box, {
263
- px: "md",
264
- bg: "accent.99",
265
- justifyContent: "center"
321
+ sx: sx.listElementWrapper
266
322
  }, (0, _react2.jsx)(ListElement, {
267
323
  item: selectedItemId >= 0 ? items[selectedItemId] : [],
268
324
  onClosePanel: closePanelHandler
269
325
  })), (0, _react2.jsx)(_index.Separator, {
270
326
  margin: 0,
271
- bg: "accent.90"
327
+ sx: sx.separator
272
328
  }), (0, _react2.jsx)(_index.Box, {
273
- px: "lg",
274
- pt: "xs"
329
+ sx: sx.tabsWrapper
275
330
  }, (0, _react2.jsx)(_index.Tabs, {
276
331
  tabListProps: {
277
332
  justifyContent: 'center'
@@ -285,73 +340,33 @@ var Default = function Default() {
285
340
  title: "Profile"
286
341
  }, selectedItemId >= 0 && (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.IconButton, {
287
342
  variant: "inverted",
288
- sx: {
289
- position: 'absolute',
290
- top: 0,
291
- right: 0
292
- }
343
+ sx: sx.iconButton
293
344
  }, (0, _react2.jsx)(_PencilIcon["default"], {
294
345
  size: 20
295
346
  })), (0, _react2.jsx)(_index.Text, {
296
- sx: {
297
- fontSize: 'sm',
298
- fontWeight: 3,
299
- lineHeight: '16px'
300
- },
301
- variant: "base",
302
- mb: "xs"
347
+ sx: sx.itemLabel,
348
+ variant: "base"
303
349
  }, "Full Name"), (0, _react2.jsx)(_index.Text, {
304
- sx: {
305
- fontWeight: 0,
306
- lineHeight: '18px'
307
- },
308
- variant: "base",
309
- mb: "md"
350
+ sx: sx.itemValue,
351
+ variant: "base"
310
352
  }, items[selectedItemId].firstName, " ", items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
311
- sx: {
312
- fontSize: 'sm',
313
- fontWeight: 3,
314
- lineHeight: '16px'
315
- },
316
- variant: "base",
317
- mb: "xs"
353
+ sx: sx.itemLabel,
354
+ variant: "base"
318
355
  }, "First Name"), (0, _react2.jsx)(_index.Text, {
319
- sx: {
320
- fontWeight: 0,
321
- lineHeight: '18px'
322
- },
323
- variant: "base",
324
- mb: "md"
356
+ sx: sx.itemValue,
357
+ variant: "base"
325
358
  }, items[selectedItemId].firstName), (0, _react2.jsx)(_index.Text, {
326
- sx: {
327
- fontSize: 'sm',
328
- fontWeight: 3,
329
- lineHeight: '16px'
330
- },
331
- variant: "base",
332
- mb: "xs"
359
+ sx: sx.itemLabel,
360
+ variant: "base"
333
361
  }, "Last Name"), (0, _react2.jsx)(_index.Text, {
334
- sx: {
335
- fontWeight: 0,
336
- lineHeight: '18px'
337
- },
338
- variant: "base",
339
- mb: "md"
362
+ sx: sx.itemValue,
363
+ variant: "base"
340
364
  }, items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
341
- sx: {
342
- fontSize: 'sm',
343
- fontWeight: 3,
344
- lineHeight: '16px'
345
- },
346
- variant: "base",
347
- mb: "xs"
365
+ sx: sx.itemLabel,
366
+ variant: "base"
348
367
  }, "Email"), (0, _react2.jsx)(_index.Text, {
349
- sx: {
350
- fontWeight: 0,
351
- lineHeight: '18px'
352
- },
353
- variant: "base",
354
- mb: "md"
368
+ sx: sx.itemValue,
369
+ variant: "base"
355
370
  }, items[selectedItemId].email))), (0, _react2.jsx)(_index.Tab, {
356
371
  title: "Group Memberships"
357
372
  }, (0, _react2.jsx)(_index.Text, null, "Group Memberships")), (0, _react2.jsx)(_index.Tab, {
@@ -54,6 +54,13 @@ var _default = {
54
54
  }
55
55
  };
56
56
  exports["default"] = _default;
57
+ var sx = {
58
+ showHideButton: {
59
+ width: 'fit-content',
60
+ marginLeft: 'sm',
61
+ alignSelf: 'auto'
62
+ }
63
+ };
57
64
 
58
65
  var Default = function Default(_ref) {
59
66
  var _context;
@@ -84,11 +91,7 @@ var Default = function Default(_ref) {
84
91
  onPress: function onPress() {
85
92
  return setIsMasked(!isMasked);
86
93
  },
87
- sx: {
88
- width: 'fit-content',
89
- marginLeft: 10,
90
- alignSelf: 'auto'
91
- }
94
+ sx: sx.showHideButton
92
95
  }, (0, _react2.jsx)(_index.Icon, {
93
96
  icon: isMasked ? _EyeOffOutlineIcon["default"] : _EyeOutlineIcon["default"]
94
97
  }))));
@@ -20,12 +20,15 @@ var _default = {
20
20
  title: 'Recipes/NeutralCheckboxField'
21
21
  };
22
22
  exports["default"] = _default;
23
+ var sx = {
24
+ checkboxColor: {
25
+ color: 'neutral.10'
26
+ }
27
+ };
23
28
 
24
29
  var Default = function Default() {
25
30
  return (0, _react2.jsx)(_CheckboxField["default"], {
26
- controlProps: {
27
- color: 'neutral.10'
28
- }
31
+ sx: sx.checkboxColor
29
32
  }, "Click me");
30
33
  };
31
34
 
@@ -40,6 +40,29 @@ var items = [{
40
40
  name: 'Third Option',
41
41
  id: '3'
42
42
  }];
43
+ var sx = {
44
+ actionIcon: {
45
+ color: 'neutral.30'
46
+ },
47
+ dragVerticalIcon: {
48
+ color: 'neutral.50'
49
+ },
50
+ iconButton: {
51
+ ml: 'xs'
52
+ },
53
+ iconButtonToggleContainer: {
54
+ mx: 'sm',
55
+ flexShrink: 0
56
+ },
57
+ iconContainer: {
58
+ alignItems: 'center',
59
+ ml: '12px',
60
+ mr: '12px'
61
+ },
62
+ outerContainer: {
63
+ alignItems: 'center'
64
+ }
65
+ };
43
66
 
44
67
  var Default = function Default() {
45
68
  var CustomOnSvg = function CustomOnSvg(props) {
@@ -88,24 +111,22 @@ var Default = function Default() {
88
111
  };
89
112
 
90
113
  return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_Box["default"], {
91
- sx: {
92
- alignItems: 'center'
93
- },
114
+ sx: sx.outerContainer,
94
115
  isRow: true
95
116
  }, (0, _react2.jsx)(_index.Icon, {
96
117
  icon: _DragVerticalIcon["default"],
97
118
  size: 25,
98
- color: "neutral.50"
119
+ sx: sx.dragVerticalIcon
99
120
  }), (0, _react2.jsx)(_index.ComboBoxField, {
100
121
  items: items,
101
122
  defaultSelectedKey: "Last Name",
123
+ "aria-label": "Row one value",
102
124
  containerProps: {
103
125
  width: '275px'
104
126
  },
105
127
  labelProps: {
106
128
  mb: 0
107
129
  },
108
- "aria-label": "Row one value",
109
130
  controlProps: {
110
131
  'aria-label': 'test'
111
132
  }
@@ -115,10 +136,7 @@ var Default = function Default() {
115
136
  "data-id": item.name
116
137
  }, item.name);
117
138
  }), (0, _react2.jsx)(_Box["default"], {
118
- sx: {
119
- mx: 'sm',
120
- flexShrink: 0
121
- }
139
+ sx: sx.iconButtonToggleContainer
122
140
  }, (0, _react2.jsx)(_index.IconButtonToggle, {
123
141
  toggledIcon: CustomOnSvg,
124
142
  defaultIcon: CustomOffSvg,
@@ -148,35 +166,29 @@ var Default = function Default() {
148
166
  }, item.name);
149
167
  }), (0, _react2.jsx)(_Box["default"], {
150
168
  isRow: true,
151
- alignItems: "center",
152
- sx: {
153
- marginLeft: '12px',
154
- marginRight: '12px'
155
- }
169
+ sx: sx.iconContainer
156
170
  }, (0, _react2.jsx)(_index.IconButton, {
157
171
  "aria-label": "Edit"
158
172
  }, (0, _react2.jsx)(_index.Icon, {
159
173
  icon: _CogsIcon["default"],
160
- color: "neutral.30",
174
+ sx: sx.actionIcon,
161
175
  size: 20,
162
176
  title: "edit icon"
163
177
  })), (0, _react2.jsx)(_index.IconButton, {
164
- ml: "5px",
178
+ sx: sx.iconButton,
165
179
  "aria-label": "Delete"
166
180
  }, (0, _react2.jsx)(_index.Icon, {
167
181
  icon: _DeleteIcon["default"],
168
- color: "neutral.30",
182
+ sx: sx.actionIcon,
169
183
  size: 20,
170
184
  title: "delete icon"
171
185
  })))), (0, _react2.jsx)(_Box["default"], {
172
- sx: {
173
- alignItems: 'center'
174
- },
186
+ sx: sx.outerContainer,
175
187
  isRow: true
176
188
  }, (0, _react2.jsx)(_index.Icon, {
177
189
  icon: _DragVerticalIcon["default"],
178
190
  size: 25,
179
- color: "neutral.50"
191
+ sx: sx.dragVerticalIcon
180
192
  }), (0, _react2.jsx)(_index.ComboBoxField, {
181
193
  items: items,
182
194
  defaultSelectedKey: "Last Name",
@@ -196,10 +208,7 @@ var Default = function Default() {
196
208
  "data-id": item.name
197
209
  }, item.name);
198
210
  }), (0, _react2.jsx)(_Box["default"], {
199
- sx: {
200
- mx: 'sm',
201
- flexShrink: 0
202
- }
211
+ sx: sx.iconButtonToggleContainer
203
212
  }, (0, _react2.jsx)(_index.IconButtonToggle, {
204
213
  toggledIcon: CustomRightSvg,
205
214
  defaultIcon: CustomRightSvg,
@@ -229,24 +238,20 @@ var Default = function Default() {
229
238
  }, item.name);
230
239
  }), (0, _react2.jsx)(_Box["default"], {
231
240
  isRow: true,
232
- alignItems: "center",
233
- sx: {
234
- marginLeft: '12px',
235
- marginRight: '12px'
236
- }
241
+ sx: sx.iconContainer
237
242
  }, (0, _react2.jsx)(_index.IconButton, {
238
243
  "aria-label": "Edit"
239
244
  }, (0, _react2.jsx)(_index.Icon, {
240
245
  icon: _CogsIcon["default"],
241
- color: "neutral.30",
246
+ sx: sx.actionIcon,
242
247
  size: 20,
243
248
  title: "edit icon"
244
249
  })), (0, _react2.jsx)(_index.IconButton, {
245
- ml: "5px",
250
+ sx: sx.iconButton,
246
251
  "aria-label": "Delete"
247
252
  }, (0, _react2.jsx)(_index.Icon, {
248
253
  icon: _DeleteIcon["default"],
249
- color: "neutral.30",
254
+ sx: sx.actionIcon,
250
255
  size: 20,
251
256
  title: "delete icon"
252
257
  })))));
@@ -0,0 +1,73 @@
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
+ exports["default"] = exports.Default = void 0;
12
+
13
+ var _react = _interopRequireDefault(require("react"));
14
+
15
+ var _PlusIcon = _interopRequireDefault(require("mdi-react/PlusIcon"));
16
+
17
+ var _index = require("../index");
18
+
19
+ var _react2 = require("@emotion/react");
20
+
21
+ var _default = {
22
+ title: 'Recipes/Page Header'
23
+ };
24
+ exports["default"] = _default;
25
+
26
+ var Default = function Default() {
27
+ var heading = 'Title of the Page';
28
+ 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.';
29
+ return (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, {
30
+ align: "center",
31
+ isRow: true,
32
+ mb: "xs",
33
+ role: "heading",
34
+ "aria-level": "1"
35
+ }, (0, _react2.jsx)(_index.Text, {
36
+ variant: "title",
37
+ fontWeight: 3
38
+ }, heading), (0, _react2.jsx)(_index.Button, {
39
+ variant: "inlinePrimary",
40
+ ml: "sm"
41
+ }, (0, _react2.jsx)(_index.Icon, {
42
+ icon: _PlusIcon["default"],
43
+ color: "white",
44
+ size: 13,
45
+ mr: "4px"
46
+ }), "\xA0", "Add")), (0, _react2.jsx)(_index.Text, {
47
+ variant: "bodyWeak"
48
+ }, description)), (0, _react2.jsx)(_index.Box, {
49
+ mt: "xl"
50
+ }, (0, _react2.jsx)(_index.Box, {
51
+ align: "center",
52
+ isRow: true,
53
+ mb: "xs",
54
+ role: "heading",
55
+ "aria-level": "1"
56
+ }, (0, _react2.jsx)(_index.Text, {
57
+ variant: "title",
58
+ fontWeight: 3
59
+ }, heading), (0, _react2.jsx)(_index.IconButton, {
60
+ "aria-label": "icon button",
61
+ ml: "sm",
62
+ mt: "3px",
63
+ variant: "inverted"
64
+ }, (0, _react2.jsx)(_index.Icon, {
65
+ icon: _PlusIcon["default"],
66
+ color: "white",
67
+ size: 13
68
+ }))), (0, _react2.jsx)(_index.Text, {
69
+ variant: "bodyWeak"
70
+ }, description)));
71
+ };
72
+
73
+ exports.Default = Default;