@pingux/astro 1.1.0-alpha.0 → 1.1.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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.1.0-alpha.1](https://gitlab.corp.pingidentity.com/ux/pingux/compare/@pingux/astro@1.1.0-alpha.0...@pingux/astro@1.1.0-alpha.1) (2022-01-19)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * [UIP-5026] Infinite Loading List requests page 2 instantly ([e6888cf](https://gitlab.corp.pingidentity.com/ux/pingux/commit/e6888cfe91435fae0ab583b0ff22b2c169ba7bcd))
12
+
13
+
14
+
15
+
16
+
6
17
  # [1.1.0-alpha.0](https://gitlab.corp.pingidentity.com/ux/pingux/compare/@pingux/astro@1.0.1...@pingux/astro@1.1.0-alpha.0) (2022-01-19)
7
18
 
8
19
 
@@ -10,12 +10,18 @@ _Object$defineProperty(exports, "__esModule", {
10
10
 
11
11
  exports.MultipleSelection = exports.InfiniteLoadingList = exports.Default = exports["default"] = void 0;
12
12
 
13
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
14
+
13
15
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
14
16
 
17
+ var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
18
+
15
19
  var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
16
20
 
17
21
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
18
22
 
23
+ var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
24
+
19
25
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
20
26
 
21
27
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
@@ -87,6 +93,455 @@ var items = [{
87
93
  name: 'Snake',
88
94
  id: '3'
89
95
  }];
96
+ var animals = [{
97
+ name: 'Aardvark'
98
+ }, {
99
+ name: 'Albatross'
100
+ }, {
101
+ name: 'Alligator'
102
+ }, {
103
+ name: 'Alpaca'
104
+ }, {
105
+ name: 'Ant'
106
+ }, {
107
+ name: 'Anteater'
108
+ }, {
109
+ name: 'Antelope'
110
+ }, {
111
+ name: 'Ape'
112
+ }, {
113
+ name: 'Armadillo'
114
+ }, {
115
+ name: 'Donkey'
116
+ }, {
117
+ name: 'Baboon'
118
+ }, {
119
+ name: 'Badger'
120
+ }, {
121
+ name: 'Barracuda'
122
+ }, {
123
+ name: 'Bat'
124
+ }, {
125
+ name: 'Bear'
126
+ }, {
127
+ name: 'Beaver'
128
+ }, {
129
+ name: 'Bee'
130
+ }, {
131
+ name: 'Bison'
132
+ }, {
133
+ name: 'Boar'
134
+ }, {
135
+ name: 'Buffalo'
136
+ }, {
137
+ name: 'Butterfly'
138
+ }, {
139
+ name: 'Camel'
140
+ }, {
141
+ name: 'Capybara'
142
+ }, {
143
+ name: 'Caribou'
144
+ }, {
145
+ name: 'Cassowary'
146
+ }, {
147
+ name: 'Cat'
148
+ }, {
149
+ name: 'Caterpillar'
150
+ }, {
151
+ name: 'Cattle'
152
+ }, {
153
+ name: 'Chamois'
154
+ }, {
155
+ name: 'Cheetah'
156
+ }, {
157
+ name: 'Chicken'
158
+ }, {
159
+ name: 'Chimpanzee'
160
+ }, {
161
+ name: 'Chinchilla'
162
+ }, {
163
+ name: 'Chough'
164
+ }, {
165
+ name: 'Clam'
166
+ }, {
167
+ name: 'Cobra'
168
+ }, {
169
+ name: 'Cockroach'
170
+ }, {
171
+ name: 'Cod'
172
+ }, {
173
+ name: 'Cormorant'
174
+ }, {
175
+ name: 'Coyote'
176
+ }, {
177
+ name: 'Crab'
178
+ }, {
179
+ name: 'Crane'
180
+ }, {
181
+ name: 'Crocodile'
182
+ }, {
183
+ name: 'Crow'
184
+ }, {
185
+ name: 'Curlew'
186
+ }, {
187
+ name: 'Deer'
188
+ }, {
189
+ name: 'Dinosaur'
190
+ }, {
191
+ name: 'Dog'
192
+ }, {
193
+ name: 'Dogfish'
194
+ }, {
195
+ name: 'Dolphin'
196
+ }, {
197
+ name: 'Dotterel'
198
+ }, {
199
+ name: 'Dove'
200
+ }, {
201
+ name: 'Dragonfly'
202
+ }, {
203
+ name: 'Duck'
204
+ }, {
205
+ name: 'Dugong'
206
+ }, {
207
+ name: 'Dunlin'
208
+ }, {
209
+ name: 'Eagle'
210
+ }, {
211
+ name: 'Echidna'
212
+ }, {
213
+ name: 'Eel'
214
+ }, {
215
+ name: 'Eland'
216
+ }, {
217
+ name: 'Elephant'
218
+ }, {
219
+ name: 'Elk'
220
+ }, {
221
+ name: 'Emu'
222
+ }, {
223
+ name: 'Falcon'
224
+ }, {
225
+ name: 'Ferret'
226
+ }, {
227
+ name: 'Finch'
228
+ }, {
229
+ name: 'Fish'
230
+ }, {
231
+ name: 'Flamingo'
232
+ }, {
233
+ name: 'Fly'
234
+ }, {
235
+ name: 'Fox'
236
+ }, {
237
+ name: 'Frog'
238
+ }, {
239
+ name: 'Gaur'
240
+ }, {
241
+ name: 'Gazelle'
242
+ }, {
243
+ name: 'Gerbil'
244
+ }, {
245
+ name: 'Giraffe'
246
+ }, {
247
+ name: 'Gnat'
248
+ }, {
249
+ name: 'Gnu'
250
+ }, {
251
+ name: 'Goat'
252
+ }, {
253
+ name: 'Goldfinch'
254
+ }, {
255
+ name: 'Goldfish'
256
+ }, {
257
+ name: 'Goose'
258
+ }, {
259
+ name: 'Gorilla'
260
+ }, {
261
+ name: 'Goshawk'
262
+ }, {
263
+ name: 'Grasshopper'
264
+ }, {
265
+ name: 'Grouse'
266
+ }, {
267
+ name: 'Guanaco'
268
+ }, {
269
+ name: 'Gull'
270
+ }, {
271
+ name: 'Hamster'
272
+ }, {
273
+ name: 'Hare'
274
+ }, {
275
+ name: 'Hawk'
276
+ }, {
277
+ name: 'Hedgehog'
278
+ }, {
279
+ name: 'Heron'
280
+ }, {
281
+ name: 'Herring'
282
+ }, {
283
+ name: 'Hippopotamus'
284
+ }, {
285
+ name: 'Hornet'
286
+ }, {
287
+ name: 'Horse'
288
+ }, {
289
+ name: 'Human'
290
+ }, {
291
+ name: 'Hummingbird'
292
+ }, {
293
+ name: 'Hyena'
294
+ }, {
295
+ name: 'Ibex'
296
+ }, {
297
+ name: 'Ibis'
298
+ }, {
299
+ name: 'Jackal'
300
+ }, {
301
+ name: 'Jaguar'
302
+ }, {
303
+ name: 'Jay'
304
+ }, {
305
+ name: 'Jellyfish'
306
+ }, {
307
+ name: 'Kangaroo'
308
+ }, {
309
+ name: 'Kingfisher'
310
+ }, {
311
+ name: 'Koala'
312
+ }, {
313
+ name: 'Kookabura'
314
+ }, {
315
+ name: 'Kouprey'
316
+ }, {
317
+ name: 'Kudu'
318
+ }, {
319
+ name: 'Lapwing'
320
+ }, {
321
+ name: 'Lark'
322
+ }, {
323
+ name: 'Lemur'
324
+ }, {
325
+ name: 'Leopard'
326
+ }, {
327
+ name: 'Lion'
328
+ }, {
329
+ name: 'Llama'
330
+ }, {
331
+ name: 'Lobster'
332
+ }, {
333
+ name: 'Locust'
334
+ }, {
335
+ name: 'Loris'
336
+ }, {
337
+ name: 'Louse'
338
+ }, {
339
+ name: 'Lyrebird'
340
+ }, {
341
+ name: 'Magpie'
342
+ }, {
343
+ name: 'Mallard'
344
+ }, {
345
+ name: 'Manatee'
346
+ }, {
347
+ name: 'Mandrill'
348
+ }, {
349
+ name: 'Mantis'
350
+ }, {
351
+ name: 'Marten'
352
+ }, {
353
+ name: 'Meerkat'
354
+ }, {
355
+ name: 'Mink'
356
+ }, {
357
+ name: 'Mole'
358
+ }, {
359
+ name: 'Mongoose'
360
+ }, {
361
+ name: 'Monkey'
362
+ }, {
363
+ name: 'Moose'
364
+ }, {
365
+ name: 'Mosquito'
366
+ }, {
367
+ name: 'Mouse'
368
+ }, {
369
+ name: 'Mule'
370
+ }, {
371
+ name: 'Narwhal'
372
+ }, {
373
+ name: 'Newt'
374
+ }, {
375
+ name: 'Nightingale'
376
+ }, {
377
+ name: 'Octopus'
378
+ }, {
379
+ name: 'Okapi'
380
+ }, {
381
+ name: 'Opossum'
382
+ }, {
383
+ name: 'Oryx'
384
+ }, {
385
+ name: 'Ostrich'
386
+ }, {
387
+ name: 'Otter'
388
+ }, {
389
+ name: 'Owl'
390
+ }, {
391
+ name: 'Oyster'
392
+ }, {
393
+ name: 'Panther'
394
+ }, {
395
+ name: 'Parrot'
396
+ }, {
397
+ name: 'Partridge'
398
+ }, {
399
+ name: 'Peafowl'
400
+ }, {
401
+ name: 'Pelican'
402
+ }, {
403
+ name: 'Penguin'
404
+ }, {
405
+ name: 'Pheasant'
406
+ }, {
407
+ name: 'Pig'
408
+ }, {
409
+ name: 'Pigeon'
410
+ }, {
411
+ name: 'Pony'
412
+ }, {
413
+ name: 'Porcupine'
414
+ }, {
415
+ name: 'Porpoise'
416
+ }, {
417
+ name: 'Quail'
418
+ }, {
419
+ name: 'Quelea'
420
+ }, {
421
+ name: 'Quetzal'
422
+ }, {
423
+ name: 'Rabbit'
424
+ }, {
425
+ name: 'Raccoon'
426
+ }, {
427
+ name: 'Rail'
428
+ }, {
429
+ name: 'Ram'
430
+ }, {
431
+ name: 'Rat'
432
+ }, {
433
+ name: 'Raven'
434
+ }, {
435
+ name: 'Red deer'
436
+ }, {
437
+ name: 'Red panda'
438
+ }, {
439
+ name: 'Reindeer'
440
+ }, {
441
+ name: 'Rhinoceros'
442
+ }, {
443
+ name: 'Rook'
444
+ }, {
445
+ name: 'Salamander'
446
+ }, {
447
+ name: 'Salmon'
448
+ }, {
449
+ name: 'Sand Dollar'
450
+ }, {
451
+ name: 'Sandpiper'
452
+ }, {
453
+ name: 'Sardine'
454
+ }, {
455
+ name: 'Scorpion'
456
+ }, {
457
+ name: 'Seahorse'
458
+ }, {
459
+ name: 'Seal'
460
+ }, {
461
+ name: 'Shark'
462
+ }, {
463
+ name: 'Sheep'
464
+ }, {
465
+ name: 'Shrew'
466
+ }, {
467
+ name: 'Skunk'
468
+ }, {
469
+ name: 'Snail'
470
+ }, {
471
+ name: 'Snake'
472
+ }, {
473
+ name: 'Sparrow'
474
+ }, {
475
+ name: 'Spider'
476
+ }, {
477
+ name: 'Spoonbill'
478
+ }, {
479
+ name: 'Squid'
480
+ }, {
481
+ name: 'Squirrel'
482
+ }, {
483
+ name: 'Starling'
484
+ }, {
485
+ name: 'Stingray'
486
+ }, {
487
+ name: 'Stinkbug'
488
+ }, {
489
+ name: 'Stork'
490
+ }, {
491
+ name: 'Swallow'
492
+ }, {
493
+ name: 'Swan'
494
+ }, {
495
+ name: 'Tapir'
496
+ }, {
497
+ name: 'Tarsier'
498
+ }, {
499
+ name: 'Termite'
500
+ }, {
501
+ name: 'Tiger'
502
+ }, {
503
+ name: 'Toad'
504
+ }, {
505
+ name: 'Trout'
506
+ }, {
507
+ name: 'Turkey'
508
+ }, {
509
+ name: 'Turtle'
510
+ }, {
511
+ name: 'Viper'
512
+ }, {
513
+ name: 'Vulture'
514
+ }, {
515
+ name: 'Wallaby'
516
+ }, {
517
+ name: 'Walrus'
518
+ }, {
519
+ name: 'Wasp'
520
+ }, {
521
+ name: 'Weasel'
522
+ }, {
523
+ name: 'Whale'
524
+ }, {
525
+ name: 'Wildcat'
526
+ }, {
527
+ name: 'Wolf'
528
+ }, {
529
+ name: 'Wolverine'
530
+ }, {
531
+ name: 'Wombat'
532
+ }, {
533
+ name: 'Woodcock'
534
+ }, {
535
+ name: 'Woodpecker'
536
+ }, {
537
+ name: 'Worm'
538
+ }, {
539
+ name: 'Wren'
540
+ }, {
541
+ name: 'Yak'
542
+ }, {
543
+ name: 'Zebra'
544
+ }];
90
545
  var props = {
91
546
  disabledKeys: ['Snake']
92
547
  };
@@ -163,61 +618,140 @@ var Default = function Default(_ref2) {
163
618
  exports.Default = Default;
164
619
 
165
620
  var InfiniteLoadingList = function InfiniteLoadingList() {
621
+ var getMockData = /*#__PURE__*/function () {
622
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(signal, cursor) {
623
+ var pageNumber;
624
+ return _regenerator["default"].wrap(function _callee$(_context) {
625
+ while (1) {
626
+ switch (_context.prev = _context.next) {
627
+ case 0:
628
+ pageNumber = 1;
629
+
630
+ if (cursor) {
631
+ pageNumber = Number(cursor.substr((0, _indexOf["default"])(cursor).call(cursor, '-') + 1));
632
+ } // With this we will emulate load even with mocked API
633
+
634
+
635
+ _context.next = 4;
636
+ return new _promise["default"](function (resolve) {
637
+ return (0, _setTimeout2["default"])(resolve, cursor ? 2000 : 3000);
638
+ });
639
+
640
+ case 4:
641
+ return _context.abrupt("return", {
642
+ items: (0, _slice["default"])(animals).call(animals, (pageNumber - 1) * 10, pageNumber * 10),
643
+ cursor: "mock-".concat(pageNumber + 1)
644
+ });
645
+
646
+ case 5:
647
+ case "end":
648
+ return _context.stop();
649
+ }
650
+ }
651
+ }, _callee);
652
+ }));
653
+
654
+ return function getMockData(_x, _x2) {
655
+ return _ref3.apply(this, arguments);
656
+ };
657
+ }();
658
+
659
+ var fetchApiData = /*#__PURE__*/function () {
660
+ var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(signal, cursor, filterText) {
661
+ var res, json;
662
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
663
+ while (1) {
664
+ switch (_context2.prev = _context2.next) {
665
+ case 0:
666
+ _context2.prev = 0;
667
+ _context2.next = 3;
668
+ return _promise["default"].race([// If no cursor is available, then we're loading the first page,
669
+ // filtering the results returned via a query string that
670
+ // mirrors the ComboBox input text.
671
+ // Otherwise, the cursor is the next URL to load,
672
+ // as returned from the previous page.
673
+ fetch(cursor || "https://swapi.dev/api/people/?search=".concat(filterText), {
674
+ signal: signal
675
+ }), new _promise["default"](function (_resolve, reject) {
676
+ return (0, _setTimeout2["default"])(function () {
677
+ return reject(new Error('timeout'));
678
+ }, 3000);
679
+ })]);
680
+
681
+ case 3:
682
+ res = _context2.sent;
683
+ _context2.next = 6;
684
+ return res.json();
685
+
686
+ case 6:
687
+ json = _context2.sent;
688
+ _context2.next = 9;
689
+ return new _promise["default"](function (resolve) {
690
+ return (0, _setTimeout2["default"])(resolve, cursor ? 2000 : 3000);
691
+ });
692
+
693
+ case 9:
694
+ return _context2.abrupt("return", {
695
+ items: json.results,
696
+ cursor: json.next
697
+ });
698
+
699
+ case 12:
700
+ _context2.prev = 12;
701
+ _context2.t0 = _context2["catch"](0);
702
+ return _context2.abrupt("return", getMockData());
703
+
704
+ case 15:
705
+ case "end":
706
+ return _context2.stop();
707
+ }
708
+ }
709
+ }, _callee2, null, [[0, 12]]);
710
+ }));
711
+
712
+ return function fetchApiData(_x3, _x4, _x5) {
713
+ return _ref4.apply(this, arguments);
714
+ };
715
+ }();
716
+
166
717
  var list = (0, _data.useAsyncList)({
167
- load: function load(_ref3) {
168
- return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
169
- var signal, cursor, filterText, res, json;
170
- return _regenerator["default"].wrap(function _callee$(_context) {
718
+ load: function load(_ref5) {
719
+ return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
720
+ var signal, cursor, filterText;
721
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
171
722
  while (1) {
172
- switch (_context.prev = _context.next) {
723
+ switch (_context3.prev = _context3.next) {
173
724
  case 0:
174
- signal = _ref3.signal, cursor = _ref3.cursor, filterText = _ref3.filterText;
725
+ signal = _ref5.signal, cursor = _ref5.cursor, filterText = _ref5.filterText;
175
726
 
176
727
  if (cursor) {
177
728
  // eslint-disable-next-line
178
- cursor = cursor.replace(/^http:\/\//i, 'https://');
179
- } // If no cursor is available, then we're loading the first page,
180
- // filtering the results returned via a query string that
181
- // mirrors the ComboBox input text.
182
- // Otherwise, the cursor is the next URL to load,
183
- // as returned from the previous page.
729
+ cursor = cursor.replace(/^http:\/\//i, "https://");
730
+ } // check if we are mocking pages
184
731
 
185
732
 
186
- _context.next = 4;
187
- return fetch(cursor || "https://swapi.dev/api/people/?search=".concat(filterText), {
188
- signal: signal
189
- });
733
+ if (!(cursor && (0, _includes["default"])(cursor).call(cursor, 'mock'))) {
734
+ _context3.next = 4;
735
+ break;
736
+ }
737
+
738
+ return _context3.abrupt("return", getMockData(signal, cursor, filterText));
190
739
 
191
740
  case 4:
192
- res = _context.sent;
193
- _context.next = 7;
194
- return res.json();
195
-
196
- case 7:
197
- json = _context.sent;
198
- _context.next = 10;
199
- return new _promise["default"](function (resolve) {
200
- return (0, _setTimeout2["default"])(resolve, cursor ? 2000 : 3000);
201
- });
202
-
203
- case 10:
204
- return _context.abrupt("return", {
205
- items: json.results,
206
- cursor: json.next
207
- });
208
-
209
- case 11:
741
+ return _context3.abrupt("return", fetchApiData(signal, cursor, filterText));
742
+
743
+ case 5:
210
744
  case "end":
211
- return _context.stop();
745
+ return _context3.stop();
212
746
  }
213
747
  }
214
- }, _callee);
748
+ }, _callee3);
215
749
  }))();
216
750
  }
217
751
  });
218
752
  return (0, _react2.jsx)(_Box["default"], {
219
753
  sx: {
220
- maxHeight: '600px'
754
+ maxHeight: '400px'
221
755
  }
222
756
  }, (0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, actions, {
223
757
  items: list.items,
@@ -234,9 +768,16 @@ var InfiniteLoadingList = function InfiniteLoadingList() {
234
768
  };
235
769
 
236
770
  exports.InfiniteLoadingList = InfiniteLoadingList;
771
+ InfiniteLoadingList.parameters = {
772
+ docs: {
773
+ description: {
774
+ story: 'Note: Keep in mind the maxHeight may impact when the scroll callback is triggered. If you notice it\'s being called too often, try adjusting that value or loading more objects to prevent this behavior.'
775
+ }
776
+ }
777
+ };
237
778
 
238
- var MultipleSelection = function MultipleSelection(_ref4) {
239
- var args = (0, _extends2["default"])({}, _ref4);
779
+ var MultipleSelection = function MultipleSelection(_ref6) {
780
+ var args = (0, _extends2["default"])({}, _ref6);
240
781
  return (0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, props, args, {
241
782
  items: items,
242
783
  selectionMode: "multiple"
@@ -1,6 +1,9 @@
1
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
1
2
  import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
3
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
2
4
  import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout";
3
5
  import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
6
+ import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
4
7
  import _asyncToGenerator from "@babel/runtime-corejs3/helpers/esm/asyncToGenerator";
5
8
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
6
9
  import React from 'react';
@@ -55,6 +58,455 @@ var items = [{
55
58
  name: 'Snake',
56
59
  id: '3'
57
60
  }];
61
+ var animals = [{
62
+ name: 'Aardvark'
63
+ }, {
64
+ name: 'Albatross'
65
+ }, {
66
+ name: 'Alligator'
67
+ }, {
68
+ name: 'Alpaca'
69
+ }, {
70
+ name: 'Ant'
71
+ }, {
72
+ name: 'Anteater'
73
+ }, {
74
+ name: 'Antelope'
75
+ }, {
76
+ name: 'Ape'
77
+ }, {
78
+ name: 'Armadillo'
79
+ }, {
80
+ name: 'Donkey'
81
+ }, {
82
+ name: 'Baboon'
83
+ }, {
84
+ name: 'Badger'
85
+ }, {
86
+ name: 'Barracuda'
87
+ }, {
88
+ name: 'Bat'
89
+ }, {
90
+ name: 'Bear'
91
+ }, {
92
+ name: 'Beaver'
93
+ }, {
94
+ name: 'Bee'
95
+ }, {
96
+ name: 'Bison'
97
+ }, {
98
+ name: 'Boar'
99
+ }, {
100
+ name: 'Buffalo'
101
+ }, {
102
+ name: 'Butterfly'
103
+ }, {
104
+ name: 'Camel'
105
+ }, {
106
+ name: 'Capybara'
107
+ }, {
108
+ name: 'Caribou'
109
+ }, {
110
+ name: 'Cassowary'
111
+ }, {
112
+ name: 'Cat'
113
+ }, {
114
+ name: 'Caterpillar'
115
+ }, {
116
+ name: 'Cattle'
117
+ }, {
118
+ name: 'Chamois'
119
+ }, {
120
+ name: 'Cheetah'
121
+ }, {
122
+ name: 'Chicken'
123
+ }, {
124
+ name: 'Chimpanzee'
125
+ }, {
126
+ name: 'Chinchilla'
127
+ }, {
128
+ name: 'Chough'
129
+ }, {
130
+ name: 'Clam'
131
+ }, {
132
+ name: 'Cobra'
133
+ }, {
134
+ name: 'Cockroach'
135
+ }, {
136
+ name: 'Cod'
137
+ }, {
138
+ name: 'Cormorant'
139
+ }, {
140
+ name: 'Coyote'
141
+ }, {
142
+ name: 'Crab'
143
+ }, {
144
+ name: 'Crane'
145
+ }, {
146
+ name: 'Crocodile'
147
+ }, {
148
+ name: 'Crow'
149
+ }, {
150
+ name: 'Curlew'
151
+ }, {
152
+ name: 'Deer'
153
+ }, {
154
+ name: 'Dinosaur'
155
+ }, {
156
+ name: 'Dog'
157
+ }, {
158
+ name: 'Dogfish'
159
+ }, {
160
+ name: 'Dolphin'
161
+ }, {
162
+ name: 'Dotterel'
163
+ }, {
164
+ name: 'Dove'
165
+ }, {
166
+ name: 'Dragonfly'
167
+ }, {
168
+ name: 'Duck'
169
+ }, {
170
+ name: 'Dugong'
171
+ }, {
172
+ name: 'Dunlin'
173
+ }, {
174
+ name: 'Eagle'
175
+ }, {
176
+ name: 'Echidna'
177
+ }, {
178
+ name: 'Eel'
179
+ }, {
180
+ name: 'Eland'
181
+ }, {
182
+ name: 'Elephant'
183
+ }, {
184
+ name: 'Elk'
185
+ }, {
186
+ name: 'Emu'
187
+ }, {
188
+ name: 'Falcon'
189
+ }, {
190
+ name: 'Ferret'
191
+ }, {
192
+ name: 'Finch'
193
+ }, {
194
+ name: 'Fish'
195
+ }, {
196
+ name: 'Flamingo'
197
+ }, {
198
+ name: 'Fly'
199
+ }, {
200
+ name: 'Fox'
201
+ }, {
202
+ name: 'Frog'
203
+ }, {
204
+ name: 'Gaur'
205
+ }, {
206
+ name: 'Gazelle'
207
+ }, {
208
+ name: 'Gerbil'
209
+ }, {
210
+ name: 'Giraffe'
211
+ }, {
212
+ name: 'Gnat'
213
+ }, {
214
+ name: 'Gnu'
215
+ }, {
216
+ name: 'Goat'
217
+ }, {
218
+ name: 'Goldfinch'
219
+ }, {
220
+ name: 'Goldfish'
221
+ }, {
222
+ name: 'Goose'
223
+ }, {
224
+ name: 'Gorilla'
225
+ }, {
226
+ name: 'Goshawk'
227
+ }, {
228
+ name: 'Grasshopper'
229
+ }, {
230
+ name: 'Grouse'
231
+ }, {
232
+ name: 'Guanaco'
233
+ }, {
234
+ name: 'Gull'
235
+ }, {
236
+ name: 'Hamster'
237
+ }, {
238
+ name: 'Hare'
239
+ }, {
240
+ name: 'Hawk'
241
+ }, {
242
+ name: 'Hedgehog'
243
+ }, {
244
+ name: 'Heron'
245
+ }, {
246
+ name: 'Herring'
247
+ }, {
248
+ name: 'Hippopotamus'
249
+ }, {
250
+ name: 'Hornet'
251
+ }, {
252
+ name: 'Horse'
253
+ }, {
254
+ name: 'Human'
255
+ }, {
256
+ name: 'Hummingbird'
257
+ }, {
258
+ name: 'Hyena'
259
+ }, {
260
+ name: 'Ibex'
261
+ }, {
262
+ name: 'Ibis'
263
+ }, {
264
+ name: 'Jackal'
265
+ }, {
266
+ name: 'Jaguar'
267
+ }, {
268
+ name: 'Jay'
269
+ }, {
270
+ name: 'Jellyfish'
271
+ }, {
272
+ name: 'Kangaroo'
273
+ }, {
274
+ name: 'Kingfisher'
275
+ }, {
276
+ name: 'Koala'
277
+ }, {
278
+ name: 'Kookabura'
279
+ }, {
280
+ name: 'Kouprey'
281
+ }, {
282
+ name: 'Kudu'
283
+ }, {
284
+ name: 'Lapwing'
285
+ }, {
286
+ name: 'Lark'
287
+ }, {
288
+ name: 'Lemur'
289
+ }, {
290
+ name: 'Leopard'
291
+ }, {
292
+ name: 'Lion'
293
+ }, {
294
+ name: 'Llama'
295
+ }, {
296
+ name: 'Lobster'
297
+ }, {
298
+ name: 'Locust'
299
+ }, {
300
+ name: 'Loris'
301
+ }, {
302
+ name: 'Louse'
303
+ }, {
304
+ name: 'Lyrebird'
305
+ }, {
306
+ name: 'Magpie'
307
+ }, {
308
+ name: 'Mallard'
309
+ }, {
310
+ name: 'Manatee'
311
+ }, {
312
+ name: 'Mandrill'
313
+ }, {
314
+ name: 'Mantis'
315
+ }, {
316
+ name: 'Marten'
317
+ }, {
318
+ name: 'Meerkat'
319
+ }, {
320
+ name: 'Mink'
321
+ }, {
322
+ name: 'Mole'
323
+ }, {
324
+ name: 'Mongoose'
325
+ }, {
326
+ name: 'Monkey'
327
+ }, {
328
+ name: 'Moose'
329
+ }, {
330
+ name: 'Mosquito'
331
+ }, {
332
+ name: 'Mouse'
333
+ }, {
334
+ name: 'Mule'
335
+ }, {
336
+ name: 'Narwhal'
337
+ }, {
338
+ name: 'Newt'
339
+ }, {
340
+ name: 'Nightingale'
341
+ }, {
342
+ name: 'Octopus'
343
+ }, {
344
+ name: 'Okapi'
345
+ }, {
346
+ name: 'Opossum'
347
+ }, {
348
+ name: 'Oryx'
349
+ }, {
350
+ name: 'Ostrich'
351
+ }, {
352
+ name: 'Otter'
353
+ }, {
354
+ name: 'Owl'
355
+ }, {
356
+ name: 'Oyster'
357
+ }, {
358
+ name: 'Panther'
359
+ }, {
360
+ name: 'Parrot'
361
+ }, {
362
+ name: 'Partridge'
363
+ }, {
364
+ name: 'Peafowl'
365
+ }, {
366
+ name: 'Pelican'
367
+ }, {
368
+ name: 'Penguin'
369
+ }, {
370
+ name: 'Pheasant'
371
+ }, {
372
+ name: 'Pig'
373
+ }, {
374
+ name: 'Pigeon'
375
+ }, {
376
+ name: 'Pony'
377
+ }, {
378
+ name: 'Porcupine'
379
+ }, {
380
+ name: 'Porpoise'
381
+ }, {
382
+ name: 'Quail'
383
+ }, {
384
+ name: 'Quelea'
385
+ }, {
386
+ name: 'Quetzal'
387
+ }, {
388
+ name: 'Rabbit'
389
+ }, {
390
+ name: 'Raccoon'
391
+ }, {
392
+ name: 'Rail'
393
+ }, {
394
+ name: 'Ram'
395
+ }, {
396
+ name: 'Rat'
397
+ }, {
398
+ name: 'Raven'
399
+ }, {
400
+ name: 'Red deer'
401
+ }, {
402
+ name: 'Red panda'
403
+ }, {
404
+ name: 'Reindeer'
405
+ }, {
406
+ name: 'Rhinoceros'
407
+ }, {
408
+ name: 'Rook'
409
+ }, {
410
+ name: 'Salamander'
411
+ }, {
412
+ name: 'Salmon'
413
+ }, {
414
+ name: 'Sand Dollar'
415
+ }, {
416
+ name: 'Sandpiper'
417
+ }, {
418
+ name: 'Sardine'
419
+ }, {
420
+ name: 'Scorpion'
421
+ }, {
422
+ name: 'Seahorse'
423
+ }, {
424
+ name: 'Seal'
425
+ }, {
426
+ name: 'Shark'
427
+ }, {
428
+ name: 'Sheep'
429
+ }, {
430
+ name: 'Shrew'
431
+ }, {
432
+ name: 'Skunk'
433
+ }, {
434
+ name: 'Snail'
435
+ }, {
436
+ name: 'Snake'
437
+ }, {
438
+ name: 'Sparrow'
439
+ }, {
440
+ name: 'Spider'
441
+ }, {
442
+ name: 'Spoonbill'
443
+ }, {
444
+ name: 'Squid'
445
+ }, {
446
+ name: 'Squirrel'
447
+ }, {
448
+ name: 'Starling'
449
+ }, {
450
+ name: 'Stingray'
451
+ }, {
452
+ name: 'Stinkbug'
453
+ }, {
454
+ name: 'Stork'
455
+ }, {
456
+ name: 'Swallow'
457
+ }, {
458
+ name: 'Swan'
459
+ }, {
460
+ name: 'Tapir'
461
+ }, {
462
+ name: 'Tarsier'
463
+ }, {
464
+ name: 'Termite'
465
+ }, {
466
+ name: 'Tiger'
467
+ }, {
468
+ name: 'Toad'
469
+ }, {
470
+ name: 'Trout'
471
+ }, {
472
+ name: 'Turkey'
473
+ }, {
474
+ name: 'Turtle'
475
+ }, {
476
+ name: 'Viper'
477
+ }, {
478
+ name: 'Vulture'
479
+ }, {
480
+ name: 'Wallaby'
481
+ }, {
482
+ name: 'Walrus'
483
+ }, {
484
+ name: 'Wasp'
485
+ }, {
486
+ name: 'Weasel'
487
+ }, {
488
+ name: 'Whale'
489
+ }, {
490
+ name: 'Wildcat'
491
+ }, {
492
+ name: 'Wolf'
493
+ }, {
494
+ name: 'Wolverine'
495
+ }, {
496
+ name: 'Wombat'
497
+ }, {
498
+ name: 'Woodcock'
499
+ }, {
500
+ name: 'Woodpecker'
501
+ }, {
502
+ name: 'Worm'
503
+ }, {
504
+ name: 'Wren'
505
+ }, {
506
+ name: 'Yak'
507
+ }, {
508
+ name: 'Zebra'
509
+ }];
58
510
  var props = {
59
511
  disabledKeys: ['Snake']
60
512
  };
@@ -129,61 +581,140 @@ export var Default = function Default(_ref2) {
129
581
  });
130
582
  };
131
583
  export var InfiniteLoadingList = function InfiniteLoadingList() {
584
+ var getMockData = /*#__PURE__*/function () {
585
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(signal, cursor) {
586
+ var pageNumber;
587
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
588
+ while (1) {
589
+ switch (_context.prev = _context.next) {
590
+ case 0:
591
+ pageNumber = 1;
592
+
593
+ if (cursor) {
594
+ pageNumber = Number(cursor.substr(_indexOfInstanceProperty(cursor).call(cursor, '-') + 1));
595
+ } // With this we will emulate load even with mocked API
596
+
597
+
598
+ _context.next = 4;
599
+ return new _Promise(function (resolve) {
600
+ return _setTimeout(resolve, cursor ? 2000 : 3000);
601
+ });
602
+
603
+ case 4:
604
+ return _context.abrupt("return", {
605
+ items: _sliceInstanceProperty(animals).call(animals, (pageNumber - 1) * 10, pageNumber * 10),
606
+ cursor: "mock-".concat(pageNumber + 1)
607
+ });
608
+
609
+ case 5:
610
+ case "end":
611
+ return _context.stop();
612
+ }
613
+ }
614
+ }, _callee);
615
+ }));
616
+
617
+ return function getMockData(_x, _x2) {
618
+ return _ref3.apply(this, arguments);
619
+ };
620
+ }();
621
+
622
+ var fetchApiData = /*#__PURE__*/function () {
623
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(signal, cursor, filterText) {
624
+ var res, json;
625
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
626
+ while (1) {
627
+ switch (_context2.prev = _context2.next) {
628
+ case 0:
629
+ _context2.prev = 0;
630
+ _context2.next = 3;
631
+ return _Promise.race([// If no cursor is available, then we're loading the first page,
632
+ // filtering the results returned via a query string that
633
+ // mirrors the ComboBox input text.
634
+ // Otherwise, the cursor is the next URL to load,
635
+ // as returned from the previous page.
636
+ fetch(cursor || "https://swapi.dev/api/people/?search=".concat(filterText), {
637
+ signal: signal
638
+ }), new _Promise(function (_resolve, reject) {
639
+ return _setTimeout(function () {
640
+ return reject(new Error('timeout'));
641
+ }, 3000);
642
+ })]);
643
+
644
+ case 3:
645
+ res = _context2.sent;
646
+ _context2.next = 6;
647
+ return res.json();
648
+
649
+ case 6:
650
+ json = _context2.sent;
651
+ _context2.next = 9;
652
+ return new _Promise(function (resolve) {
653
+ return _setTimeout(resolve, cursor ? 2000 : 3000);
654
+ });
655
+
656
+ case 9:
657
+ return _context2.abrupt("return", {
658
+ items: json.results,
659
+ cursor: json.next
660
+ });
661
+
662
+ case 12:
663
+ _context2.prev = 12;
664
+ _context2.t0 = _context2["catch"](0);
665
+ return _context2.abrupt("return", getMockData());
666
+
667
+ case 15:
668
+ case "end":
669
+ return _context2.stop();
670
+ }
671
+ }
672
+ }, _callee2, null, [[0, 12]]);
673
+ }));
674
+
675
+ return function fetchApiData(_x3, _x4, _x5) {
676
+ return _ref4.apply(this, arguments);
677
+ };
678
+ }();
679
+
132
680
  var list = useAsyncList({
133
- load: function load(_ref3) {
134
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
135
- var signal, cursor, filterText, res, json;
136
- return _regeneratorRuntime.wrap(function _callee$(_context) {
681
+ load: function load(_ref5) {
682
+ return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
683
+ var signal, cursor, filterText;
684
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
137
685
  while (1) {
138
- switch (_context.prev = _context.next) {
686
+ switch (_context3.prev = _context3.next) {
139
687
  case 0:
140
- signal = _ref3.signal, cursor = _ref3.cursor, filterText = _ref3.filterText;
688
+ signal = _ref5.signal, cursor = _ref5.cursor, filterText = _ref5.filterText;
141
689
 
142
690
  if (cursor) {
143
691
  // eslint-disable-next-line
144
- cursor = cursor.replace(/^http:\/\//i, 'https://');
145
- } // If no cursor is available, then we're loading the first page,
146
- // filtering the results returned via a query string that
147
- // mirrors the ComboBox input text.
148
- // Otherwise, the cursor is the next URL to load,
149
- // as returned from the previous page.
692
+ cursor = cursor.replace(/^http:\/\//i, "https://");
693
+ } // check if we are mocking pages
150
694
 
151
695
 
152
- _context.next = 4;
153
- return fetch(cursor || "https://swapi.dev/api/people/?search=".concat(filterText), {
154
- signal: signal
155
- });
696
+ if (!(cursor && _includesInstanceProperty(cursor).call(cursor, 'mock'))) {
697
+ _context3.next = 4;
698
+ break;
699
+ }
700
+
701
+ return _context3.abrupt("return", getMockData(signal, cursor, filterText));
156
702
 
157
703
  case 4:
158
- res = _context.sent;
159
- _context.next = 7;
160
- return res.json();
161
-
162
- case 7:
163
- json = _context.sent;
164
- _context.next = 10;
165
- return new _Promise(function (resolve) {
166
- return _setTimeout(resolve, cursor ? 2000 : 3000);
167
- });
168
-
169
- case 10:
170
- return _context.abrupt("return", {
171
- items: json.results,
172
- cursor: json.next
173
- });
174
-
175
- case 11:
704
+ return _context3.abrupt("return", fetchApiData(signal, cursor, filterText));
705
+
706
+ case 5:
176
707
  case "end":
177
- return _context.stop();
708
+ return _context3.stop();
178
709
  }
179
710
  }
180
- }, _callee);
711
+ }, _callee3);
181
712
  }))();
182
713
  }
183
714
  });
184
715
  return ___EmotionJSX(Box, {
185
716
  sx: {
186
- maxHeight: '600px'
717
+ maxHeight: '400px'
187
718
  }
188
719
  }, ___EmotionJSX(ListView, _extends({}, actions, {
189
720
  items: list.items,
@@ -198,8 +729,15 @@ export var InfiniteLoadingList = function InfiniteLoadingList() {
198
729
  }));
199
730
  }));
200
731
  };
201
- export var MultipleSelection = function MultipleSelection(_ref4) {
202
- var args = _extends({}, _ref4);
732
+ InfiniteLoadingList.parameters = {
733
+ docs: {
734
+ description: {
735
+ story: 'Note: Keep in mind the maxHeight may impact when the scroll callback is triggered. If you notice it\'s being called too often, try adjusting that value or loading more objects to prevent this behavior.'
736
+ }
737
+ }
738
+ };
739
+ export var MultipleSelection = function MultipleSelection(_ref6) {
740
+ var args = _extends({}, _ref6);
203
741
 
204
742
  return ___EmotionJSX(ListView, _extends({}, props, args, {
205
743
  items: items,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "1.1.0-alpha.0",
3
+ "version": "1.1.0-alpha.1",
4
4
  "description": "PingUX themeable React component library",
5
5
  "author": "uxdev@pingidentity.com",
6
6
  "license": "Apache-2.0",