@pingux/astro 1.1.1-alpha.4 → 1.2.0-alpha.2

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 (51) hide show
  1. package/lib/cjs/components/Breadcrumbs/BreadcrumbItem.js +3 -0
  2. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +24 -14
  3. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.test.js +9 -0
  4. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +338 -0
  5. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +295 -0
  6. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +287 -0
  7. package/lib/cjs/components/EnvironmentBreadcrumb/index.js +18 -0
  8. package/lib/cjs/components/Link/Link.js +15 -4
  9. package/lib/cjs/components/Link/Link.stories.js +10 -0
  10. package/lib/cjs/components/Messages/Messages.reducer.js +2 -1
  11. package/lib/cjs/components/Messages/Messages.stories.js +10 -10
  12. package/lib/cjs/components/Messages/Messages.test.js +15 -1
  13. package/lib/cjs/components/Messages/index.js +21 -2
  14. package/lib/cjs/index.js +10 -0
  15. package/lib/cjs/styles/theme.js +1 -0
  16. package/lib/cjs/styles/variants/boxes.js +13 -0
  17. package/lib/cjs/styles/variants/buttons.js +23 -0
  18. package/lib/cjs/styles/variants/index.js +11 -1
  19. package/lib/cjs/styles/variants/links.js +67 -0
  20. package/lib/cjs/styles/variants/text.js +9 -0
  21. package/lib/cjs/styles/variants/variants.js +2 -2
  22. package/lib/cjs/utils/devUtils/constants/animals.js +11 -0
  23. package/lib/cjs/utils/devUtils/constants/firstNames.js +11 -0
  24. package/lib/cjs/utils/devUtils/createMockData.js +96 -0
  25. package/lib/components/Breadcrumbs/BreadcrumbItem.js +4 -1
  26. package/lib/components/Breadcrumbs/Breadcrumbs.js +24 -15
  27. package/lib/components/Breadcrumbs/Breadcrumbs.test.js +9 -0
  28. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +296 -0
  29. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +256 -0
  30. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +246 -0
  31. package/lib/components/EnvironmentBreadcrumb/index.js +1 -0
  32. package/lib/components/Link/Link.js +16 -5
  33. package/lib/components/Link/Link.stories.js +8 -0
  34. package/lib/components/Messages/Messages.reducer.js +1 -1
  35. package/lib/components/Messages/Messages.stories.js +1 -1
  36. package/lib/components/Messages/Messages.test.js +11 -1
  37. package/lib/components/Messages/index.js +2 -1
  38. package/lib/index.js +1 -0
  39. package/lib/styles/theme.js +2 -1
  40. package/lib/styles/variants/boxes.js +13 -0
  41. package/lib/styles/variants/buttons.js +23 -0
  42. package/lib/styles/variants/index.js +1 -0
  43. package/lib/styles/variants/links.js +46 -0
  44. package/lib/styles/variants/text.js +9 -0
  45. package/lib/styles/variants/variants.js +2 -2
  46. package/lib/utils/devUtils/constants/animals.js +1 -0
  47. package/lib/utils/devUtils/constants/firstNames.js +1 -0
  48. package/lib/utils/devUtils/createMockData.js +68 -0
  49. package/package.json +1 -1
  50. package/lib/cjs/styles/variants/link.js +0 -27
  51. package/lib/styles/variants/link.js +0 -17
@@ -52,7 +52,7 @@ var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/s
52
52
 
53
53
  var _ = require("../..");
54
54
 
55
- var _Messages = _interopRequireWildcard(require("./Messages.reducer"));
55
+ var _index = require("./index");
56
56
 
57
57
  var _react2 = require("@emotion/react");
58
58
 
@@ -233,21 +233,21 @@ var UseReducer = function UseReducer() {
233
233
  // showErrorMessage: makeShowMessage('error', -1),
234
234
  // showWarningMessage: makeShowMessage('warning', -1),
235
235
  // };
236
- var _useReducer = (0, _react.useReducer)(_Messages["default"]),
236
+ var _useReducer = (0, _react.useReducer)(_index.messagesReducerStory),
237
237
  _useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
238
238
  items = _useReducer2[0],
239
239
  dispatch = _useReducer2[1];
240
240
 
241
241
  var showAMessage = function showAMessage() {
242
- var actionFn = [_Messages["default"].actions.showSuccessMessage, _Messages["default"].actions.showErrorMessage, _Messages["default"].actions.showWarningMessage][Math.floor(Math.random() * 3)];
242
+ var actionFn = [_index.messagesReducerStory.actions.showSuccessMessage, _index.messagesReducerStory.actions.showErrorMessage, _index.messagesReducerStory.actions.showWarningMessage][Math.floor(Math.random() * 3)];
243
243
  var message = messageText[Math.floor(Math.random() * 6)];
244
244
  actionFn(message)(dispatch);
245
245
  };
246
246
 
247
247
  var removeMessage = function removeMessage(key) {
248
- dispatch(_Messages["default"].actions.hideMessage(key));
248
+ dispatch(_index.messagesReducerStory.actions.hideMessage(key));
249
249
  (0, _setTimeout2["default"])(function () {
250
- return dispatch(_Messages["default"].actions.removeMessage(key));
250
+ return dispatch(_index.messagesReducerStory.actions.removeMessage(key));
251
251
  }, 200);
252
252
  };
253
253
 
@@ -256,7 +256,7 @@ var UseReducer = function UseReducer() {
256
256
  }, "Add Message"), (items === null || items === void 0 ? void 0 : items.length) > 0 && (0, _react2.jsx)(_.Button, {
257
257
  mt: "md",
258
258
  onPress: function onPress() {
259
- return dispatch(_Messages["default"].actions.clearMessages());
259
+ return dispatch(_index.messagesReducerStory.actions.clearMessages());
260
260
  }
261
261
  }, "Clear messages"), (0, _react2.jsx)(_.Messages, {
262
262
  items: items,
@@ -269,7 +269,7 @@ var UseReducer = function UseReducer() {
269
269
  exports.UseReducer = UseReducer;
270
270
 
271
271
  var UseReducerWithMultipleContainers = function UseReducerWithMultipleContainers() {
272
- var _useReducer3 = (0, _react.useReducer)(_Messages.multiMessagesReducer, {
272
+ var _useReducer3 = (0, _react.useReducer)(_index.multiMessagesReducerStory, {
273
273
  'container-one': [],
274
274
  'container-two': []
275
275
  }),
@@ -278,15 +278,15 @@ var UseReducerWithMultipleContainers = function UseReducerWithMultipleContainers
278
278
  dispatch = _useReducer4[1];
279
279
 
280
280
  var showAMessage = function showAMessage(container) {
281
- var actionFn = [_Messages.multiMessagesReducer.actions.showSuccessMessage, _Messages.multiMessagesReducer.actions.showCriticalMessage, _Messages.multiMessagesReducer.actions.showWarningMessage][Math.floor(Math.random() * 3)];
281
+ var actionFn = [_index.multiMessagesReducerStory.actions.showSuccessMessage, _index.multiMessagesReducerStory.actions.showCriticalMessage, _index.multiMessagesReducerStory.actions.showWarningMessage][Math.floor(Math.random() * 3)];
282
282
  var message = messageText[Math.floor(Math.random() * 6)];
283
283
  actionFn(container, message)(dispatch);
284
284
  };
285
285
 
286
286
  var removeMessage = function removeMessage(key, container) {
287
- dispatch(_Messages.multiMessagesReducer.actions.hideMessage(container, key));
287
+ dispatch(_index.multiMessagesReducerStory.actions.hideMessage(container, key));
288
288
  (0, _setTimeout2["default"])(function () {
289
- return dispatch(_Messages.multiMessagesReducer.actions.removeMessage(container, key));
289
+ return dispatch(_index.multiMessagesReducerStory.actions.removeMessage(container, key));
290
290
  }, 200);
291
291
  };
292
292
 
@@ -26,7 +26,7 @@ var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
26
26
 
27
27
  var _testWrapper = require("../../utils/testUtils/testWrapper");
28
28
 
29
- var _ = _interopRequireDefault(require("."));
29
+ var _ = _interopRequireWildcard(require("."));
30
30
 
31
31
  var _Button = _interopRequireDefault(require("../Button"));
32
32
 
@@ -211,4 +211,18 @@ describe('announcements', function () {
211
211
  expect(messages.childElementCount).toBe(1);
212
212
  expect(_liveAnnouncer.announce).toHaveBeenCalledWith('New message 1', 'polite');
213
213
  });
214
+ });
215
+ test('should render messages with messagesReducerStory', function () {
216
+ getComponent();
217
+
218
+ _.messagesReducerStory.actions.showSuccessMessage();
219
+
220
+ expect(_testWrapper.screen.getByTestId(testId)).toBeInTheDocument();
221
+ });
222
+ test('should render messages with multiMessagesReducerStory', function () {
223
+ getComponent();
224
+
225
+ _.multiMessagesReducerStory.actions.showSuccessMessage();
226
+
227
+ expect(_testWrapper.screen.getByTestId(testId)).toBeInTheDocument();
214
228
  });
@@ -14,7 +14,10 @@ _Object$defineProperty(exports, "__esModule", {
14
14
  value: true
15
15
  });
16
16
 
17
- var _exportNames = {};
17
+ var _exportNames = {
18
+ messagesReducerStory: true,
19
+ multiMessagesReducerStory: true
20
+ };
18
21
 
19
22
  _Object$defineProperty(exports, "default", {
20
23
  enumerable: true,
@@ -23,6 +26,20 @@ _Object$defineProperty(exports, "default", {
23
26
  }
24
27
  });
25
28
 
29
+ _Object$defineProperty(exports, "messagesReducerStory", {
30
+ enumerable: true,
31
+ get: function get() {
32
+ return _Messages2.messagesReducer;
33
+ }
34
+ });
35
+
36
+ _Object$defineProperty(exports, "multiMessagesReducerStory", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _Messages2.multiMessagesReducer;
40
+ }
41
+ });
42
+
26
43
  var _Messages = _interopRequireDefault(require("./Messages"));
27
44
 
28
45
  var _utils = require("./utils");
@@ -37,4 +54,6 @@ _forEachInstanceProperty(_context = _Object$keys(_utils)).call(_context, functio
37
54
  return _utils[key];
38
55
  }
39
56
  });
40
- });
57
+ });
58
+
59
+ var _Messages2 = require("./Messages.reducer");
package/lib/cjs/index.js CHANGED
@@ -34,6 +34,7 @@ var _exportNames = {
34
34
  ComboBoxField: true,
35
35
  CopyText: true,
36
36
  ColorField: true,
37
+ EnvironmentBreadcrumb: true,
37
38
  FieldHelperText: true,
38
39
  FileInputField: true,
39
40
  HelpHint: true,
@@ -214,6 +215,13 @@ _Object$defineProperty(exports, "ColorField", {
214
215
  }
215
216
  });
216
217
 
218
+ _Object$defineProperty(exports, "EnvironmentBreadcrumb", {
219
+ enumerable: true,
220
+ get: function get() {
221
+ return _EnvironmentBreadcrumb["default"];
222
+ }
223
+ });
224
+
217
225
  _Object$defineProperty(exports, "FieldHelperText", {
218
226
  enumerable: true,
219
227
  get: function get() {
@@ -817,6 +825,8 @@ var _CopyText = _interopRequireDefault(require("./components/CopyText"));
817
825
 
818
826
  var _ColorField = _interopRequireDefault(require("./components/ColorField"));
819
827
 
828
+ var _EnvironmentBreadcrumb = _interopRequireDefault(require("./components/EnvironmentBreadcrumb"));
829
+
820
830
  var _FieldHelperText = _interopRequireWildcard(require("./components/FieldHelperText"));
821
831
 
822
832
  _forEachInstanceProperty(_context14 = _Object$keys(_FieldHelperText)).call(_context14, function (key) {
@@ -75,6 +75,7 @@ var _default = {
75
75
  images: _variants.images,
76
76
  buttons: _variants.buttons,
77
77
  textColors: _text.textColors,
78
+ links: _variants.links,
78
79
  variants: _variants.variants
79
80
  };
80
81
  exports["default"] = _default;
@@ -274,6 +274,18 @@ var datePicker = {
274
274
  }
275
275
  }
276
276
  };
277
+
278
+ var environmentChip = _objectSpread(_objectSpread({}, chip), {}, {
279
+ alignSelf: 'center',
280
+ height: '17px',
281
+ minWidth: 'fit-content',
282
+ ml: 8,
283
+ '& span': {
284
+ fontSize: 'xs',
285
+ lineHeight: 1
286
+ }
287
+ });
288
+
277
289
  var fileInputFieldWrapper = {
278
290
  display: 'flex',
279
291
  border: '1px dashed',
@@ -302,6 +314,7 @@ var _default = {
302
314
  chip: chip,
303
315
  copy: copy,
304
316
  datePicker: datePicker,
317
+ environmentChip: environmentChip,
305
318
  expandableRow: expandableRow,
306
319
  inputInContainerSlot: inputInContainerSlot,
307
320
  fileInputFieldWrapper: fileInputFieldWrapper,
@@ -485,6 +485,28 @@ var expandableRow = {
485
485
  }
486
486
  }
487
487
  };
488
+ var environmentBreadcrumb = {
489
+ current: _objectSpread(_objectSpread({}, text), {}, {
490
+ color: 'neutral.30',
491
+ fontSize: 'md',
492
+ fontWeight: 1,
493
+ '&.is-hovered, &.is-focused': {
494
+ color: 'active',
495
+ textDecoration: 'none',
496
+ boxShadow: 'none'
497
+ },
498
+ '&.is-pressed': {
499
+ color: 'accent.20',
500
+ textDecoration: 'none'
501
+ }
502
+ }),
503
+ selectItem: _objectSpread(_objectSpread({}, text), {}, {
504
+ color: 'neutral.10',
505
+ fontSize: 'md',
506
+ fontWeight: 0,
507
+ justifyContent: 'start'
508
+ })
509
+ };
488
510
  var fileInputField = {
489
511
  background: 'none',
490
512
  cursor: 'pointer',
@@ -551,6 +573,7 @@ var _default = {
551
573
  '&.is-pressed': _objectSpread({}, defaultActive),
552
574
  '&.is-focused': _objectSpread({}, defaultFocus)
553
575
  }),
576
+ environmentBreadcrumb: environmentBreadcrumb,
554
577
  expandableRow: expandableRow,
555
578
  fileInputField: fileInputField,
556
579
  iconButton: iconButton,
@@ -17,7 +17,8 @@ _Object$defineProperty(exports, "__esModule", {
17
17
  var _exportNames = {
18
18
  variants: true,
19
19
  buttons: true,
20
- images: true
20
+ images: true,
21
+ links: true
21
22
  };
22
23
 
23
24
  _Object$defineProperty(exports, "variants", {
@@ -41,12 +42,21 @@ _Object$defineProperty(exports, "images", {
41
42
  }
42
43
  });
43
44
 
45
+ _Object$defineProperty(exports, "links", {
46
+ enumerable: true,
47
+ get: function get() {
48
+ return _links["default"];
49
+ }
50
+ });
51
+
44
52
  var _variants = _interopRequireDefault(require("./variants"));
45
53
 
46
54
  var _buttons = _interopRequireDefault(require("./buttons"));
47
55
 
48
56
  var _images = _interopRequireDefault(require("./images"));
49
57
 
58
+ var _links = _interopRequireDefault(require("./links"));
59
+
50
60
  var _text = require("./text");
51
61
 
52
62
  _forEachInstanceProperty(_context = _Object$keys(_text)).call(_context, function (key) {
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty2 = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty2(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports["default"] = void 0;
12
+
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
14
+
15
+ var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
16
+
17
+ var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
18
+
19
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
20
+
21
+ var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
22
+
23
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
24
+
25
+ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
26
+
27
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
28
+
29
+ var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
30
+
31
+ 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; }
32
+
33
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; (0, _forEach["default"])(_context = ownKeys(Object(source), true)).call(_context, function (key) { (0, _defineProperty3["default"])(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors["default"]) { (0, _defineProperties["default"])(target, (0, _getOwnPropertyDescriptors["default"])(source)); } else { var _context2; (0, _forEach["default"])(_context2 = ownKeys(Object(source))).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, (0, _getOwnPropertyDescriptor["default"])(source, key)); }); } } return target; }
34
+
35
+ var app = {
36
+ color: 'active',
37
+ fontFamily: 'standard',
38
+ fontSize: 'md',
39
+ textDecoration: 'none',
40
+ outline: 'none',
41
+ '&.is-hovered': {
42
+ textDecoration: 'underline'
43
+ },
44
+ '&.is-focused': {
45
+ textDecoration: 'underline'
46
+ },
47
+ '&.is-pressed': {
48
+ color: 'accent.40',
49
+ textDecoration: 'underline'
50
+ },
51
+ '&.is-disabled': {
52
+ pointerEvents: 'none'
53
+ }
54
+ };
55
+
56
+ var web = _objectSpread(_objectSpread({}, app), {}, {
57
+ textDecoration: 'underline',
58
+ '&:visited': {
59
+ color: 'decorative.7'
60
+ }
61
+ });
62
+
63
+ var _default = {
64
+ app: app,
65
+ web: web
66
+ };
67
+ exports["default"] = _default;
@@ -139,6 +139,14 @@ var expandableRow = {
139
139
  }
140
140
  }
141
141
  };
142
+
143
+ var environmentBreadcrumb = _objectSpread(_objectSpread({}, base), {}, {
144
+ fontSize: 'sm',
145
+ fontWeight: 3,
146
+ color: 'secondary',
147
+ textTransform: 'capitalize'
148
+ });
149
+
142
150
  var navBarSubtitle = {
143
151
  fontWeight: 3,
144
152
  fontSize: '11px',
@@ -175,6 +183,7 @@ var text = {
175
183
  textTransform: 'uppercase',
176
184
  fontFamily: 'standard'
177
185
  }),
186
+ environmentBreadcrumb: environmentBreadcrumb,
178
187
  fieldHelperText: fieldHelperText,
179
188
  inputValue: {
180
189
  fontWeight: 1,
@@ -40,7 +40,7 @@ var _images = _interopRequireDefault(require("./images"));
40
40
 
41
41
  var _imageUpload = _interopRequireDefault(require("./imageUpload"));
42
42
 
43
- var _link = _interopRequireDefault(require("./link"));
43
+ var _links = _interopRequireDefault(require("./links"));
44
44
 
45
45
  var _listBox = _interopRequireDefault(require("./listBox"));
46
46
 
@@ -83,7 +83,7 @@ var _default = _objectSpread(_objectSpread({
83
83
  images: _images["default"],
84
84
  imageUpload: _imageUpload["default"],
85
85
  loader: _loader["default"],
86
- link: _link["default"],
86
+ links: _links["default"],
87
87
  listBox: _listBox["default"],
88
88
  menu: _menu["default"],
89
89
  menuItem: _menuItem["default"],
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+
9
+ exports["default"] = void 0;
10
+ var _default = ['Aardvark', 'Albatross', 'Alligator', 'Alpaca', 'Ant', 'Anteater', 'Antelope', 'Ape', 'Armadillo', 'Donkey', 'Baboon', 'Badger', 'Barracuda', 'Bat', 'Bear', 'Beaver', 'Bee', 'Bison', 'Boar', 'Buffalo', 'Butterfly', 'Camel', 'Capybara', 'Caribou', 'Cassowary', 'Cat', 'Caterpillar', 'Cattle', 'Chamois', 'Cheetah', 'Chicken', 'Chimpanzee', 'Chinchilla', 'Chough', 'Clam', 'Cobra', 'Cockroach', 'Cod', 'Cormorant', 'Coyote', 'Crab', 'Crane', 'Crocodile', 'Crow', 'Curlew', 'Deer', 'Dinosaur', 'Dog', 'Dogfish', 'Dolphin', 'Dotterel', 'Dove', 'Dragonfly', 'Duck', 'Dugong', 'Dunlin', 'Eagle', 'Echidna', 'Eel', 'Eland', 'Elephant', 'Elk', 'Emu', 'Falcon', 'Ferret', 'Finch', 'Fish', 'Flamingo', 'Fly', 'Fox', 'Frog', 'Gaur', 'Gazelle', 'Gerbil', 'Giraffe', 'Gnat', 'Gnu', 'Goat', 'Goldfinch', 'Goldfish', 'Goose', 'Gorilla', 'Goshawk', 'Grasshopper', 'Grouse', 'Guanaco', 'Gull', 'Hamster', 'Hare', 'Hawk', 'Hedgehog', 'Heron', 'Herring', 'Hippopotamus', 'Hornet', 'Horse', 'Human', 'Hummingbird', 'Hyena', 'Ibex', 'Ibis', 'Jackal', 'Jaguar', 'Jay', 'Jellyfish', 'Kangaroo', 'Kingfisher', 'Koala', 'Kookabura', 'Kouprey', 'Kudu', 'Lapwing', 'Lark', 'Lemur', 'Leopard', 'Lion', 'Llama', 'Lobster', 'Locust', 'Loris', 'Louse', 'Lyrebird', 'Magpie', 'Mallard', 'Manatee', 'Mandrill', 'Mantis', 'Marten', 'Meerkat', 'Mink', 'Mole', 'Mongoose', 'Monkey', 'Moose', 'Mosquito', 'Mouse', 'Mule', 'Narwhal', 'Newt', 'Nightingale', 'Octopus', 'Okapi', 'Opossum', 'Oryx', 'Ostrich', 'Otter', 'Owl', 'Oyster', 'Panther', 'Parrot', 'Partridge', 'Peafowl', 'Pelican', 'Penguin', 'Pheasant', 'Pig', 'Pigeon', 'Pony', 'Porcupine', 'Porpoise', 'Quail', 'Quelea', 'Quetzal', 'Rabbit', 'Raccoon', 'Rail', 'Ram', 'Rat', 'Raven', 'Red deer', 'Red panda', 'Reindeer', 'Rhinoceros', 'Rook', 'Salamander', 'Salmon', 'Sand Dollar', 'Sandpiper', 'Sardine', 'Scorpion', 'Seahorse', 'Seal', 'Shark', 'Sheep', 'Shrew', 'Skunk', 'Snail', 'Snake', 'Sparrow', 'Spider', 'Spoonbill', 'Squid', 'Squirrel', 'Starling', 'Stingray', 'Stinkbug', 'Stork', 'Swallow', 'Swan', 'Tapir', 'Tarsier', 'Termite', 'Tiger', 'Toad', 'Trout', 'Turkey', 'Turtle', 'Viper', 'Vulture', 'Wallaby', 'Walrus', 'Wasp', 'Weasel', 'Whale', 'Wildcat', 'Wolf', 'Wolverine', 'Wombat', 'Woodcock', 'Woodpecker', 'Worm', 'Wren', 'Yak', 'Zebra'];
11
+ exports["default"] = _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+
9
+ exports["default"] = void 0;
10
+ var _default = ['Michael', 'Christopher', 'Jessica', 'Matthew', 'Ashley', 'Jennifer', 'Joshua', 'Amanda', 'Daniel', 'David', 'James', 'Robert', 'John', 'Joseph', 'Andrew', 'Ryan', 'Brandon', 'Jason', 'Justin', 'Sarah', 'William', 'Jonathan', 'Stephanie', 'Brian', 'Nicole', 'Nicholas', 'Anthony', 'Heather', 'Eric', 'Elizabeth', 'Adam', 'Megan', 'Melissa', 'Kevin', 'Steven', 'Thomas', 'Timothy', 'Christina', 'Kyle', 'Rachel', 'Laura', 'Lauren', 'Amber', 'Brittany', 'Danielle', 'Richard', 'Kimberly', 'Jeffrey', 'Amy', 'Crystal', 'Michelle', 'Tiffany', 'Jeremy', 'Benjamin', 'Mark', 'Emily', 'Aaron', 'Charles', 'Rebecca', 'Jacob', 'Stephen', 'Patrick', 'Sean', 'Erin', 'Zachary', 'Jamie', 'Kelly', 'Samantha', 'Nathan', 'Sara', 'Dustin', 'Paul', 'Angela', 'Tyler', 'Scott', 'Katherine', 'Andrea', 'Gregory', 'Erica', 'Mary', 'Travis', 'Lisa', 'Kenneth', 'Bryan', 'Lindsey', 'Kristen', 'Jose', 'Alexander', 'Jesse', 'Katie', 'Lindsay', 'Shannon', 'Vanessa', 'Courtney', 'Christine', 'Alicia', 'Cody', 'Allison', 'Bradley', 'Samuel'];
11
+ exports["default"] = _default;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty2 = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty2(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports["default"] = void 0;
12
+
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
14
+
15
+ var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
16
+
17
+ var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
18
+
19
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
20
+
21
+ var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
22
+
23
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
24
+
25
+ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
26
+
27
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
28
+
29
+ var _fill = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/fill"));
30
+
31
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
32
+
33
+ var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
34
+
35
+ var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
36
+
37
+ var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
38
+
39
+ var _uuid = require("uuid");
40
+
41
+ var _animals = _interopRequireDefault(require("./constants/animals"));
42
+
43
+ var _firstNames = _interopRequireDefault(require("./constants/firstNames"));
44
+
45
+ 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; }
46
+
47
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; (0, _forEach["default"])(_context3 = ownKeys(Object(source), true)).call(_context3, function (key) { (0, _defineProperty3["default"])(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors["default"]) { (0, _defineProperties["default"])(target, (0, _getOwnPropertyDescriptors["default"])(source)); } else { var _context4; (0, _forEach["default"])(_context4 = ownKeys(Object(source))).call(_context4, function (key) { (0, _defineProperty2["default"])(target, key, (0, _getOwnPropertyDescriptor["default"])(source, key)); }); } } return target; }
48
+
49
+ function createMockData(length, objectScheme) {
50
+ var mockDataBase = {
51
+ animal: _animals["default"],
52
+ firstName: _firstNames["default"]
53
+ };
54
+ var itemsNumber = {
55
+ animal: 0,
56
+ firstName: 0
57
+ };
58
+
59
+ var getPropValue = function getPropValue(valueType) {
60
+ if (valueType === 'id') {
61
+ return (0, _uuid.v4)();
62
+ }
63
+
64
+ var valueNumber = itemsNumber[valueType];
65
+ var propValue = mockDataBase[valueType][valueNumber];
66
+ itemsNumber[valueType] += 1;
67
+ return propValue;
68
+ };
69
+
70
+ var generateObject = function generateObject() {
71
+ var entries = (0, _entries["default"])(objectScheme);
72
+
73
+ var reducer = function reducer(previousValue, currentValue) {
74
+ var fieldName = currentValue[0];
75
+ var fieldValue = getPropValue(currentValue[1]);
76
+ return _objectSpread(_objectSpread({}, previousValue), {}, (0, _defineProperty3["default"])({}, fieldName, fieldValue));
77
+ };
78
+
79
+ return (0, _reduce["default"])(entries).call(entries, reducer, {});
80
+ };
81
+
82
+ var generateDataArr = function generateDataArr() {
83
+ var _context, _context2;
84
+
85
+ return (0, _map["default"])(_context = (0, _fill["default"])(_context2 = Array(length)).call(_context2, undefined)).call(_context, function () {
86
+ return generateObject();
87
+ });
88
+ };
89
+
90
+ return generateDataArr();
91
+ }
92
+
93
+ var _default = createMockData; // usage(delete this comment as soon as we used this function in a few stories so we have examples):
94
+ // const mockData = createMockData(100, { name: 'animal', id: 'id' });
95
+
96
+ exports["default"] = _default;
@@ -14,7 +14,7 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
14
14
 
15
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; _forEachInstanceProperty(_context2 = ownKeys(Object(source), true)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context3; _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
16
 
17
- import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useRef } from 'react';
17
+ import React, { forwardRef, Fragment, useCallback, useImperativeHandle, useMemo, useRef } from 'react';
18
18
  import { useBreadcrumbItem } from '@react-aria/breadcrumbs';
19
19
  import PropTypes from 'prop-types';
20
20
  import { mergeProps } from '@react-aria/utils';
@@ -54,6 +54,9 @@ var BreadcrumbItem = /*#__PURE__*/forwardRef(function (props, ref) {
54
54
  case 'Text':
55
55
  return Text;
56
56
 
57
+ case 'Fragment':
58
+ return Fragment;
59
+
57
60
  default:
58
61
  return elementType;
59
62
  }
@@ -1,7 +1,9 @@
1
- import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
1
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
2
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
+ import _Array$isArray from "@babel/runtime-corejs3/core-js-stable/array/is-array";
3
5
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
4
- import React, { forwardRef, useRef, useImperativeHandle, Fragment } from 'react';
6
+ import React, { forwardRef, useRef, useImperativeHandle, Fragment, useCallback } from 'react';
5
7
  import { useBreadcrumbs } from '@react-aria/breadcrumbs';
6
8
  import PropTypes from 'prop-types';
7
9
  import { mergeProps } from '@react-aria/utils';
@@ -21,7 +23,12 @@ var Breadcrumbs = /*#__PURE__*/forwardRef(function (props, ref) {
21
23
  icon = props.icon,
22
24
  iconProps = props.iconProps,
23
25
  onAction = props.onAction,
24
- others = _objectWithoutProperties(props, ["children", "icon", "iconProps", "onAction"]);
26
+ others = _objectWithoutProperties(props, ["children", "icon", "iconProps", "onAction"]); // the following filters undefined values passed as a child
27
+
28
+
29
+ var filteredChildren = _Array$isArray(children) ? _filterInstanceProperty(children).call(children, function (child) {
30
+ return child;
31
+ }) : children;
25
32
 
26
33
  var _useBreadcrumbs = useBreadcrumbs(props),
27
34
  wrapperProps = _useBreadcrumbs.navProps;
@@ -33,26 +40,28 @@ var Breadcrumbs = /*#__PURE__*/forwardRef(function (props, ref) {
33
40
  useImperativeHandle(ref, function () {
34
41
  return breadcrumbsRef.current;
35
42
  });
36
- return ___EmotionJSX(Box, _extends({
37
- ref: breadcrumbsRef,
38
- display: "flex",
39
- flexDirection: "row",
40
- alignItems: "center",
41
- sx: {
42
- overflow: 'auto'
43
- }
44
- }, mergeProps(wrapperProps, others)), _mapInstanceProperty(children).call(children, function (child, idx) {
43
+ var createBreadcrumb = useCallback(function (child, idx) {
44
+ var isCurrentItem = _Array$isArray(filteredChildren) && filteredChildren.length > 1 ? idx === children.length - 1 : true;
45
45
  return ___EmotionJSX(Fragment, {
46
46
  key: "fragment-".concat(child.key)
47
47
  }, ___EmotionJSX(BreadcrumbItem, _extends({
48
48
  "data-id": child['data-id'],
49
- isCurrent: idx === children.length - 1,
49
+ isCurrent: isCurrentItem,
50
50
  onAction: onAction,
51
51
  actionKey: child.key
52
- }, child.props), child.props.children), icon && idx !== children.length - 1 && ___EmotionJSX(Icon, _extends({
52
+ }, child.props), child.props.children), icon && !isCurrentItem && ___EmotionJSX(Icon, _extends({
53
53
  icon: icon
54
54
  }, iconProps)));
55
- }));
55
+ }, [children.length, filteredChildren, icon, iconProps, onAction]);
56
+ return ___EmotionJSX(Box, _extends({
57
+ ref: breadcrumbsRef,
58
+ display: "flex",
59
+ flexDirection: "row",
60
+ alignItems: "center",
61
+ sx: {
62
+ overflow: 'auto'
63
+ }
64
+ }, mergeProps(wrapperProps, others)), _Array$isArray(filteredChildren) ? _mapInstanceProperty(filteredChildren).call(filteredChildren, createBreadcrumb) : createBreadcrumb(children));
56
65
  });
57
66
  Breadcrumbs.propTypes = {
58
67
  /** The icon to render in between each node. */
@@ -89,4 +89,13 @@ test('Item accepts a data-id and the data-id can be found in the DOM', function
89
89
  var item = screen.getByText(testItemsArr[0]);
90
90
  expect(item).toBeInTheDocument();
91
91
  expect(item).toHaveAttribute('data-id', testItemsArr[0]);
92
+ });
93
+ test('will render correctly with single child item', function () {
94
+ render(___EmotionJSX(Breadcrumbs, mergeProps(defaultProps), ___EmotionJSX(Item, {
95
+ key: testItemsArr[0],
96
+ "data-id": testItemsArr[0],
97
+ isCurrent: true
98
+ }, testItemsArr[0])));
99
+ expect(screen.getByTestId(testId)).toBeInTheDocument();
100
+ expect(screen.getByText(testItemsArr[0])).toBeInTheDocument();
92
101
  });