@algolia/autocomplete-js 1.5.1 → 1.5.4

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.
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-js 1.5.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-js 1.5.4 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
4
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -10,14 +10,9 @@
10
10
 
11
11
  if (Object.getOwnPropertySymbols) {
12
12
  var symbols = Object.getOwnPropertySymbols(object);
13
-
14
- if (enumerableOnly) {
15
- symbols = symbols.filter(function (sym) {
16
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
17
- });
18
- }
19
-
20
- keys.push.apply(keys, symbols);
13
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
14
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
15
+ })), keys.push.apply(keys, symbols);
21
16
  }
22
17
 
23
18
  return keys;
@@ -25,19 +20,12 @@
25
20
 
26
21
  function _objectSpread2(target) {
27
22
  for (var i = 1; i < arguments.length; i++) {
28
- var source = arguments[i] != null ? arguments[i] : {};
29
-
30
- if (i % 2) {
31
- ownKeys$g(Object(source), true).forEach(function (key) {
32
- _defineProperty$g(target, key, source[key]);
33
- });
34
- } else if (Object.getOwnPropertyDescriptors) {
35
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
36
- } else {
37
- ownKeys$g(Object(source)).forEach(function (key) {
38
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
39
- });
40
- }
23
+ var source = null != arguments[i] ? arguments[i] : {};
24
+ i % 2 ? ownKeys$g(Object(source), !0).forEach(function (key) {
25
+ _defineProperty$g(target, key, source[key]);
26
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$g(Object(source)).forEach(function (key) {
27
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
28
+ });
41
29
  }
42
30
 
43
31
  return target;
@@ -46,17 +34,11 @@
46
34
  function _typeof$3(obj) {
47
35
  "@babel/helpers - typeof";
48
36
 
49
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
50
- _typeof$3 = function (obj) {
51
- return typeof obj;
52
- };
53
- } else {
54
- _typeof$3 = function (obj) {
55
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
56
- };
57
- }
58
-
59
- return _typeof$3(obj);
37
+ return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
38
+ return typeof obj;
39
+ } : function (obj) {
40
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
41
+ }, _typeof$3(obj);
60
42
  }
61
43
 
62
44
  function _defineProperty$g(obj, key, value) {
@@ -248,17 +230,11 @@
248
230
  function _typeof$2(obj) {
249
231
  "@babel/helpers - typeof";
250
232
 
251
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
252
- _typeof$2 = function _typeof(obj) {
253
- return typeof obj;
254
- };
255
- } else {
256
- _typeof$2 = function _typeof(obj) {
257
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
258
- };
259
- }
260
-
261
- return _typeof$2(obj);
233
+ return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
234
+ return typeof obj;
235
+ } : function (obj) {
236
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
237
+ }, _typeof$2(obj);
262
238
  }
263
239
  /**
264
240
  * Decycles objects with circular references.
@@ -335,7 +311,7 @@
335
311
 
336
312
  var noop = function noop() {};
337
313
 
338
- var version = '1.5.1';
314
+ var version = '1.5.4';
339
315
 
340
316
  var userAgents$1 = [{
341
317
  segment: 'autocomplete-core',
@@ -370,180 +346,79 @@
370
346
  "development" !== 'production' ? warn(!options.debug, 'The `debug` option is meant for development debugging and should not be used in production.') : void 0 ;
371
347
  }
372
348
 
373
- function ownKeys$f(object, enumerableOnly) {
374
- var keys = Object.keys(object);
375
-
376
- if (Object.getOwnPropertySymbols) {
377
- var symbols = Object.getOwnPropertySymbols(object);
378
-
379
- if (enumerableOnly) {
380
- symbols = symbols.filter(function (sym) {
381
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
382
- });
383
- }
384
-
385
- keys.push.apply(keys, symbols);
386
- }
387
-
388
- return keys;
389
- }
390
-
391
- function _objectSpread$f(target) {
392
- for (var i = 1; i < arguments.length; i++) {
393
- var source = arguments[i] != null ? arguments[i] : {};
394
-
395
- if (i % 2) {
396
- ownKeys$f(Object(source), true).forEach(function (key) {
397
- _defineProperty$f(target, key, source[key]);
398
- });
399
- } else if (Object.getOwnPropertyDescriptors) {
400
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
401
- } else {
402
- ownKeys$f(Object(source)).forEach(function (key) {
403
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
404
- });
405
- }
406
- }
407
-
408
- return target;
409
- }
410
-
411
- function _defineProperty$f(obj, key, value) {
412
- if (key in obj) {
413
- Object.defineProperty(obj, key, {
414
- value: value,
415
- enumerable: true,
416
- configurable: true,
417
- writable: true
418
- });
419
- } else {
420
- obj[key] = value;
421
- }
422
-
423
- return obj;
424
- }
425
-
426
- function createStore(reducer, props, onStoreStateChange) {
427
- var state = props.initialState;
349
+ function createInternalCancelablePromise(promise, initialState) {
350
+ var state = initialState;
428
351
  return {
429
- getState: function getState() {
430
- return state;
352
+ then: function then(onfulfilled, onrejected) {
353
+ return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);
431
354
  },
432
- dispatch: function dispatch(action, payload) {
433
- var prevState = _objectSpread$f({}, state);
355
+ catch: function _catch(onrejected) {
356
+ return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);
357
+ },
358
+ finally: function _finally(onfinally) {
359
+ if (onfinally) {
360
+ state.onCancelList.push(onfinally);
361
+ }
434
362
 
435
- state = reducer(state, {
436
- type: action,
437
- props: props,
438
- payload: payload
439
- });
440
- onStoreStateChange({
441
- state: state,
442
- prevState: prevState
363
+ return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {
364
+ state.onCancelList = [];
365
+ return onfinally();
366
+ }, state, promise)), state);
367
+ },
368
+ cancel: function cancel() {
369
+ state.isCanceled = true;
370
+ var callbacks = state.onCancelList;
371
+ state.onCancelList = [];
372
+ callbacks.forEach(function (callback) {
373
+ callback();
443
374
  });
444
375
  },
445
- shouldSkipPendingUpdate: false
376
+ isCanceled: function isCanceled() {
377
+ return state.isCanceled === true;
378
+ }
446
379
  };
447
380
  }
448
381
 
449
- function ownKeys$e(object, enumerableOnly) {
450
- var keys = Object.keys(object);
382
+ function cancelable(promise) {
383
+ return createInternalCancelablePromise(promise, {
384
+ isCanceled: false,
385
+ onCancelList: []
386
+ });
387
+ }
451
388
 
452
- if (Object.getOwnPropertySymbols) {
453
- var symbols = Object.getOwnPropertySymbols(object);
389
+ function createCallback(onResult, state, fallback) {
390
+ if (!onResult) {
391
+ return fallback;
392
+ }
454
393
 
455
- if (enumerableOnly) {
456
- symbols = symbols.filter(function (sym) {
457
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
458
- });
394
+ return function callback(arg) {
395
+ if (state.isCanceled) {
396
+ return arg;
459
397
  }
460
398
 
461
- keys.push.apply(keys, symbols);
462
- }
463
-
464
- return keys;
399
+ return onResult(arg);
400
+ };
465
401
  }
466
402
 
467
- function _objectSpread$e(target) {
468
- for (var i = 1; i < arguments.length; i++) {
469
- var source = arguments[i] != null ? arguments[i] : {};
470
-
471
- if (i % 2) {
472
- ownKeys$e(Object(source), true).forEach(function (key) {
473
- _defineProperty$e(target, key, source[key]);
403
+ function createCancelablePromiseList() {
404
+ var list = [];
405
+ return {
406
+ add: function add(cancelablePromise) {
407
+ list.push(cancelablePromise);
408
+ return cancelablePromise.finally(function () {
409
+ list = list.filter(function (item) {
410
+ return item !== cancelablePromise;
411
+ });
474
412
  });
475
- } else if (Object.getOwnPropertyDescriptors) {
476
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
477
- } else {
478
- ownKeys$e(Object(source)).forEach(function (key) {
479
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
413
+ },
414
+ cancelAll: function cancelAll() {
415
+ list.forEach(function (promise) {
416
+ return promise.cancel();
480
417
  });
418
+ },
419
+ isEmpty: function isEmpty() {
420
+ return list.length === 0;
481
421
  }
482
- }
483
-
484
- return target;
485
- }
486
-
487
- function _defineProperty$e(obj, key, value) {
488
- if (key in obj) {
489
- Object.defineProperty(obj, key, {
490
- value: value,
491
- enumerable: true,
492
- configurable: true,
493
- writable: true
494
- });
495
- } else {
496
- obj[key] = value;
497
- }
498
-
499
- return obj;
500
- }
501
- function getAutocompleteSetters(_ref) {
502
- var store = _ref.store;
503
-
504
- var setActiveItemId = function setActiveItemId(value) {
505
- store.dispatch('setActiveItemId', value);
506
- };
507
-
508
- var setQuery = function setQuery(value) {
509
- store.dispatch('setQuery', value);
510
- };
511
-
512
- var setCollections = function setCollections(rawValue) {
513
- var baseItemId = 0;
514
- var value = rawValue.map(function (collection) {
515
- return _objectSpread$e(_objectSpread$e({}, collection), {}, {
516
- // We flatten the stored items to support calling `getAlgoliaResults`
517
- // from the source itself.
518
- items: flatten(collection.items).map(function (item) {
519
- return _objectSpread$e(_objectSpread$e({}, item), {}, {
520
- __autocomplete_id: baseItemId++
521
- });
522
- })
523
- });
524
- });
525
- store.dispatch('setCollections', value);
526
- };
527
-
528
- var setIsOpen = function setIsOpen(value) {
529
- store.dispatch('setIsOpen', value);
530
- };
531
-
532
- var setStatus = function setStatus(value) {
533
- store.dispatch('setStatus', value);
534
- };
535
-
536
- var setContext = function setContext(value) {
537
- store.dispatch('setContext', value);
538
- };
539
-
540
- return {
541
- setActiveItemId: setActiveItemId,
542
- setQuery: setQuery,
543
- setCollections: setCollections,
544
- setIsOpen: setIsOpen,
545
- setStatus: setStatus,
546
- setContext: setContext
547
422
  };
548
423
  }
549
424
 
@@ -557,11 +432,8 @@
557
432
  var basePromiseId = -1;
558
433
  var latestResolvedId = -1;
559
434
  var latestResolvedValue = undefined;
560
- var runningPromisesCount = 0;
561
-
562
- function runConcurrentSafePromise(promise) {
435
+ return function runConcurrentSafePromise(promise) {
563
436
  basePromiseId++;
564
- runningPromisesCount++;
565
437
  var currentPromiseId = basePromiseId;
566
438
  return Promise.resolve(promise).then(function (x) {
567
439
  // The promise might take too long to resolve and get outdated. This would
@@ -584,16 +456,8 @@
584
456
  latestResolvedId = currentPromiseId;
585
457
  latestResolvedValue = x;
586
458
  return x;
587
- }).finally(function () {
588
- return runningPromisesCount--;
589
459
  });
590
- }
591
-
592
- runConcurrentSafePromise.isRunning = function () {
593
- return runningPromisesCount > 0;
594
460
  };
595
-
596
- return runConcurrentSafePromise;
597
461
  }
598
462
 
599
463
  /**
@@ -630,45 +494,33 @@
630
494
  return numericIndex;
631
495
  }
632
496
 
633
- function ownKeys$d(object, enumerableOnly) {
497
+ function ownKeys$f(object, enumerableOnly) {
634
498
  var keys = Object.keys(object);
635
499
 
636
500
  if (Object.getOwnPropertySymbols) {
637
501
  var symbols = Object.getOwnPropertySymbols(object);
638
-
639
- if (enumerableOnly) {
640
- symbols = symbols.filter(function (sym) {
641
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
642
- });
643
- }
644
-
645
- keys.push.apply(keys, symbols);
502
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
503
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
504
+ })), keys.push.apply(keys, symbols);
646
505
  }
647
506
 
648
507
  return keys;
649
508
  }
650
509
 
651
- function _objectSpread$d(target) {
510
+ function _objectSpread$f(target) {
652
511
  for (var i = 1; i < arguments.length; i++) {
653
- var source = arguments[i] != null ? arguments[i] : {};
654
-
655
- if (i % 2) {
656
- ownKeys$d(Object(source), true).forEach(function (key) {
657
- _defineProperty$d(target, key, source[key]);
658
- });
659
- } else if (Object.getOwnPropertyDescriptors) {
660
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
661
- } else {
662
- ownKeys$d(Object(source)).forEach(function (key) {
663
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
664
- });
665
- }
512
+ var source = null != arguments[i] ? arguments[i] : {};
513
+ i % 2 ? ownKeys$f(Object(source), !0).forEach(function (key) {
514
+ _defineProperty$f(target, key, source[key]);
515
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$f(Object(source)).forEach(function (key) {
516
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
517
+ });
666
518
  }
667
519
 
668
520
  return target;
669
521
  }
670
522
 
671
- function _defineProperty$d(obj, key, value) {
523
+ function _defineProperty$f(obj, key, value) {
672
524
  if (key in obj) {
673
525
  Object.defineProperty(obj, key, {
674
526
  value: value,
@@ -686,17 +538,11 @@
686
538
  function _typeof$1(obj) {
687
539
  "@babel/helpers - typeof";
688
540
 
689
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
690
- _typeof$1 = function _typeof(obj) {
691
- return typeof obj;
692
- };
693
- } else {
694
- _typeof$1 = function _typeof(obj) {
695
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
696
- };
697
- }
698
-
699
- return _typeof$1(obj);
541
+ return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
542
+ return typeof obj;
543
+ } : function (obj) {
544
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
545
+ }, _typeof$1(obj);
700
546
  }
701
547
  function getNormalizedSources(getSources, params) {
702
548
  var seenSourceIds = [];
@@ -718,7 +564,7 @@
718
564
 
719
565
  seenSourceIds.push(source.sourceId);
720
566
 
721
- var normalizedSource = _objectSpread$d({
567
+ var normalizedSource = _objectSpread$f({
722
568
  getItemInputValue: function getItemInputValue(_ref) {
723
569
  var state = _ref.state;
724
570
  return state.query;
@@ -828,45 +674,33 @@
828
674
  return parent === child || parent.contains(child);
829
675
  }
830
676
 
831
- function ownKeys$c(object, enumerableOnly) {
677
+ function ownKeys$e(object, enumerableOnly) {
832
678
  var keys = Object.keys(object);
833
679
 
834
680
  if (Object.getOwnPropertySymbols) {
835
681
  var symbols = Object.getOwnPropertySymbols(object);
836
-
837
- if (enumerableOnly) {
838
- symbols = symbols.filter(function (sym) {
839
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
840
- });
841
- }
842
-
843
- keys.push.apply(keys, symbols);
682
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
683
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
684
+ })), keys.push.apply(keys, symbols);
844
685
  }
845
686
 
846
687
  return keys;
847
688
  }
848
689
 
849
- function _objectSpread$c(target) {
690
+ function _objectSpread$e(target) {
850
691
  for (var i = 1; i < arguments.length; i++) {
851
- var source = arguments[i] != null ? arguments[i] : {};
852
-
853
- if (i % 2) {
854
- ownKeys$c(Object(source), true).forEach(function (key) {
855
- _defineProperty$c(target, key, source[key]);
856
- });
857
- } else if (Object.getOwnPropertyDescriptors) {
858
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
859
- } else {
860
- ownKeys$c(Object(source)).forEach(function (key) {
861
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
862
- });
863
- }
692
+ var source = null != arguments[i] ? arguments[i] : {};
693
+ i % 2 ? ownKeys$e(Object(source), !0).forEach(function (key) {
694
+ _defineProperty$e(target, key, source[key]);
695
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$e(Object(source)).forEach(function (key) {
696
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
697
+ });
864
698
  }
865
699
 
866
700
  return target;
867
701
  }
868
702
 
869
- function _defineProperty$c(obj, key, value) {
703
+ function _defineProperty$e(obj, key, value) {
870
704
  if (key in obj) {
871
705
  Object.defineProperty(obj, key, {
872
706
  value: value,
@@ -885,10 +719,10 @@
885
719
  var results = rawResults.map(function (result) {
886
720
  var _hits;
887
721
 
888
- return _objectSpread$c(_objectSpread$c({}, result), {}, {
722
+ return _objectSpread$e(_objectSpread$e({}, result), {}, {
889
723
  hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {
890
724
  // Bring support for the Insights plugin.
891
- return _objectSpread$c(_objectSpread$c({}, hit), {}, {
725
+ return _objectSpread$e(_objectSpread$e({}, hit), {}, {
892
726
  __autocomplete_indexName: result.index,
893
727
  __autocomplete_queryID: result.queryID
894
728
  });
@@ -919,6 +753,158 @@
919
753
  };
920
754
  }
921
755
 
756
+ function ownKeys$d(object, enumerableOnly) {
757
+ var keys = Object.keys(object);
758
+
759
+ if (Object.getOwnPropertySymbols) {
760
+ var symbols = Object.getOwnPropertySymbols(object);
761
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
762
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
763
+ })), keys.push.apply(keys, symbols);
764
+ }
765
+
766
+ return keys;
767
+ }
768
+
769
+ function _objectSpread$d(target) {
770
+ for (var i = 1; i < arguments.length; i++) {
771
+ var source = null != arguments[i] ? arguments[i] : {};
772
+ i % 2 ? ownKeys$d(Object(source), !0).forEach(function (key) {
773
+ _defineProperty$d(target, key, source[key]);
774
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$d(Object(source)).forEach(function (key) {
775
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
776
+ });
777
+ }
778
+
779
+ return target;
780
+ }
781
+
782
+ function _defineProperty$d(obj, key, value) {
783
+ if (key in obj) {
784
+ Object.defineProperty(obj, key, {
785
+ value: value,
786
+ enumerable: true,
787
+ configurable: true,
788
+ writable: true
789
+ });
790
+ } else {
791
+ obj[key] = value;
792
+ }
793
+
794
+ return obj;
795
+ }
796
+ function createStore(reducer, props, onStoreStateChange) {
797
+ var state = props.initialState;
798
+ return {
799
+ getState: function getState() {
800
+ return state;
801
+ },
802
+ dispatch: function dispatch(action, payload) {
803
+ var prevState = _objectSpread$d({}, state);
804
+
805
+ state = reducer(state, {
806
+ type: action,
807
+ props: props,
808
+ payload: payload
809
+ });
810
+ onStoreStateChange({
811
+ state: state,
812
+ prevState: prevState
813
+ });
814
+ },
815
+ pendingRequests: createCancelablePromiseList()
816
+ };
817
+ }
818
+
819
+ function ownKeys$c(object, enumerableOnly) {
820
+ var keys = Object.keys(object);
821
+
822
+ if (Object.getOwnPropertySymbols) {
823
+ var symbols = Object.getOwnPropertySymbols(object);
824
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
825
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
826
+ })), keys.push.apply(keys, symbols);
827
+ }
828
+
829
+ return keys;
830
+ }
831
+
832
+ function _objectSpread$c(target) {
833
+ for (var i = 1; i < arguments.length; i++) {
834
+ var source = null != arguments[i] ? arguments[i] : {};
835
+ i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) {
836
+ _defineProperty$c(target, key, source[key]);
837
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) {
838
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
839
+ });
840
+ }
841
+
842
+ return target;
843
+ }
844
+
845
+ function _defineProperty$c(obj, key, value) {
846
+ if (key in obj) {
847
+ Object.defineProperty(obj, key, {
848
+ value: value,
849
+ enumerable: true,
850
+ configurable: true,
851
+ writable: true
852
+ });
853
+ } else {
854
+ obj[key] = value;
855
+ }
856
+
857
+ return obj;
858
+ }
859
+ function getAutocompleteSetters(_ref) {
860
+ var store = _ref.store;
861
+
862
+ var setActiveItemId = function setActiveItemId(value) {
863
+ store.dispatch('setActiveItemId', value);
864
+ };
865
+
866
+ var setQuery = function setQuery(value) {
867
+ store.dispatch('setQuery', value);
868
+ };
869
+
870
+ var setCollections = function setCollections(rawValue) {
871
+ var baseItemId = 0;
872
+ var value = rawValue.map(function (collection) {
873
+ return _objectSpread$c(_objectSpread$c({}, collection), {}, {
874
+ // We flatten the stored items to support calling `getAlgoliaResults`
875
+ // from the source itself.
876
+ items: flatten(collection.items).map(function (item) {
877
+ return _objectSpread$c(_objectSpread$c({}, item), {}, {
878
+ __autocomplete_id: baseItemId++
879
+ });
880
+ })
881
+ });
882
+ });
883
+ store.dispatch('setCollections', value);
884
+ };
885
+
886
+ var setIsOpen = function setIsOpen(value) {
887
+ store.dispatch('setIsOpen', value);
888
+ };
889
+
890
+ var setStatus = function setStatus(value) {
891
+ store.dispatch('setStatus', value);
892
+ };
893
+
894
+ var setContext = function setContext(value) {
895
+ store.dispatch('setContext', value);
896
+ };
897
+
898
+ return {
899
+ setActiveItemId: setActiveItemId,
900
+ setQuery: setQuery,
901
+ setCollections: setCollections,
902
+ setIsOpen: setIsOpen,
903
+ setStatus: setStatus,
904
+ setContext: setContext
905
+ };
906
+ }
907
+
922
908
  function _toConsumableArray$4(arr) {
923
909
  return _arrayWithoutHoles$4(arr) || _iterableToArray$4(arr) || _unsupportedIterableToArray$4(arr) || _nonIterableSpread$4();
924
910
  }
@@ -959,14 +945,9 @@
959
945
 
960
946
  if (Object.getOwnPropertySymbols) {
961
947
  var symbols = Object.getOwnPropertySymbols(object);
962
-
963
- if (enumerableOnly) {
964
- symbols = symbols.filter(function (sym) {
965
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
966
- });
967
- }
968
-
969
- keys.push.apply(keys, symbols);
948
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
949
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
950
+ })), keys.push.apply(keys, symbols);
970
951
  }
971
952
 
972
953
  return keys;
@@ -974,19 +955,12 @@
974
955
 
975
956
  function _objectSpread$b(target) {
976
957
  for (var i = 1; i < arguments.length; i++) {
977
- var source = arguments[i] != null ? arguments[i] : {};
978
-
979
- if (i % 2) {
980
- ownKeys$b(Object(source), true).forEach(function (key) {
981
- _defineProperty$b(target, key, source[key]);
982
- });
983
- } else if (Object.getOwnPropertyDescriptors) {
984
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
985
- } else {
986
- ownKeys$b(Object(source)).forEach(function (key) {
987
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
988
- });
989
- }
958
+ var source = null != arguments[i] ? arguments[i] : {};
959
+ i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) {
960
+ _defineProperty$b(target, key, source[key]);
961
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) {
962
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
963
+ });
990
964
  }
991
965
 
992
966
  return target;
@@ -1129,14 +1103,9 @@
1129
1103
 
1130
1104
  if (Object.getOwnPropertySymbols) {
1131
1105
  var symbols = Object.getOwnPropertySymbols(object);
1132
-
1133
- if (enumerableOnly) {
1134
- symbols = symbols.filter(function (sym) {
1135
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1136
- });
1137
- }
1138
-
1139
- keys.push.apply(keys, symbols);
1106
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
1107
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1108
+ })), keys.push.apply(keys, symbols);
1140
1109
  }
1141
1110
 
1142
1111
  return keys;
@@ -1144,19 +1113,12 @@
1144
1113
 
1145
1114
  function _objectSpread$a(target) {
1146
1115
  for (var i = 1; i < arguments.length; i++) {
1147
- var source = arguments[i] != null ? arguments[i] : {};
1148
-
1149
- if (i % 2) {
1150
- ownKeys$a(Object(source), true).forEach(function (key) {
1151
- _defineProperty$a(target, key, source[key]);
1152
- });
1153
- } else if (Object.getOwnPropertyDescriptors) {
1154
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1155
- } else {
1156
- ownKeys$a(Object(source)).forEach(function (key) {
1157
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1158
- });
1159
- }
1116
+ var source = null != arguments[i] ? arguments[i] : {};
1117
+ i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) {
1118
+ _defineProperty$a(target, key, source[key]);
1119
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) {
1120
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1121
+ });
1160
1122
  }
1161
1123
 
1162
1124
  return target;
@@ -1207,17 +1169,11 @@
1207
1169
  function _typeof(obj) {
1208
1170
  "@babel/helpers - typeof";
1209
1171
 
1210
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
1211
- _typeof = function _typeof(obj) {
1212
- return typeof obj;
1213
- };
1214
- } else {
1215
- _typeof = function _typeof(obj) {
1216
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1217
- };
1218
- }
1219
-
1220
- return _typeof(obj);
1172
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
1173
+ return typeof obj;
1174
+ } : function (obj) {
1175
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1176
+ }, _typeof(obj);
1221
1177
  }
1222
1178
 
1223
1179
  function _toConsumableArray$3(arr) {
@@ -1260,14 +1216,9 @@
1260
1216
 
1261
1217
  if (Object.getOwnPropertySymbols) {
1262
1218
  var symbols = Object.getOwnPropertySymbols(object);
1263
-
1264
- if (enumerableOnly) {
1265
- symbols = symbols.filter(function (sym) {
1266
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1267
- });
1268
- }
1269
-
1270
- keys.push.apply(keys, symbols);
1219
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
1220
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1221
+ })), keys.push.apply(keys, symbols);
1271
1222
  }
1272
1223
 
1273
1224
  return keys;
@@ -1275,19 +1226,12 @@
1275
1226
 
1276
1227
  function _objectSpread$9(target) {
1277
1228
  for (var i = 1; i < arguments.length; i++) {
1278
- var source = arguments[i] != null ? arguments[i] : {};
1279
-
1280
- if (i % 2) {
1281
- ownKeys$9(Object(source), true).forEach(function (key) {
1282
- _defineProperty$9(target, key, source[key]);
1283
- });
1284
- } else if (Object.getOwnPropertyDescriptors) {
1285
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1286
- } else {
1287
- ownKeys$9(Object(source)).forEach(function (key) {
1288
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1289
- });
1290
- }
1229
+ var source = null != arguments[i] ? arguments[i] : {};
1230
+ i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) {
1231
+ _defineProperty$9(target, key, source[key]);
1232
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) {
1233
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1234
+ });
1291
1235
  }
1292
1236
 
1293
1237
  return target;
@@ -1343,9 +1287,10 @@
1343
1287
 
1344
1288
  var searchClient = current.searchClient,
1345
1289
  execute = current.execute,
1290
+ requesterId = current.requesterId,
1346
1291
  requests = current.requests;
1347
1292
  var container = acc.find(function (item) {
1348
- return isDescription(current) && isDescription(item) && item.searchClient === searchClient && item.execute === execute;
1293
+ return isDescription(current) && isDescription(item) && item.searchClient === searchClient && Boolean(requesterId) && item.requesterId === requesterId;
1349
1294
  });
1350
1295
 
1351
1296
  if (container) {
@@ -1355,6 +1300,7 @@
1355
1300
  } else {
1356
1301
  var request = {
1357
1302
  execute: execute,
1303
+ requesterId: requesterId,
1358
1304
  items: requests,
1359
1305
  searchClient: searchClient
1360
1306
  };
@@ -1410,14 +1356,9 @@
1410
1356
 
1411
1357
  if (Object.getOwnPropertySymbols) {
1412
1358
  var symbols = Object.getOwnPropertySymbols(object);
1413
-
1414
- if (enumerableOnly) {
1415
- symbols = symbols.filter(function (sym) {
1416
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1417
- });
1418
- }
1419
-
1420
- keys.push.apply(keys, symbols);
1359
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
1360
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1361
+ })), keys.push.apply(keys, symbols);
1421
1362
  }
1422
1363
 
1423
1364
  return keys;
@@ -1425,19 +1366,12 @@
1425
1366
 
1426
1367
  function _objectSpread$8(target) {
1427
1368
  for (var i = 1; i < arguments.length; i++) {
1428
- var source = arguments[i] != null ? arguments[i] : {};
1429
-
1430
- if (i % 2) {
1431
- ownKeys$8(Object(source), true).forEach(function (key) {
1432
- _defineProperty$8(target, key, source[key]);
1433
- });
1434
- } else if (Object.getOwnPropertyDescriptors) {
1435
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1436
- } else {
1437
- ownKeys$8(Object(source)).forEach(function (key) {
1438
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1439
- });
1440
- }
1369
+ var source = null != arguments[i] ? arguments[i] : {};
1370
+ i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) {
1371
+ _defineProperty$8(target, key, source[key]);
1372
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) {
1373
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1374
+ });
1441
1375
  }
1442
1376
 
1443
1377
  return target;
@@ -1534,9 +1468,11 @@
1534
1468
  // updates performed in this code path.
1535
1469
  // We chain with a void promise to respect `onInput`'s expected return type.
1536
1470
 
1537
- return runConcurrentSafePromise(collections).then(function () {
1471
+ var _request = cancelable(runConcurrentSafePromise(collections).then(function () {
1538
1472
  return Promise.resolve();
1539
- });
1473
+ }));
1474
+
1475
+ return store.pendingRequests.add(_request);
1540
1476
  }
1541
1477
 
1542
1478
  setStatus('loading');
@@ -1549,7 +1485,7 @@
1549
1485
  // meaning we should only ever manipulate the state once this concurrent-safe
1550
1486
  // promise is resolved.
1551
1487
 
1552
- return runConcurrentSafePromise(props.getSources(_objectSpread$8({
1488
+ var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread$8({
1553
1489
  query: query,
1554
1490
  refresh: refresh,
1555
1491
  state: store.getState()
@@ -1571,7 +1507,7 @@
1571
1507
  state: store.getState()
1572
1508
  });
1573
1509
  });
1574
- })).then(function (collections) {
1510
+ }))).then(function (collections) {
1575
1511
  var _nextState$isOpen2; // Parameters passed to `onInput` could be stale when the following code
1576
1512
  // executes, because `onInput` calls may not resolve in order.
1577
1513
  // If it becomes a problem we'll need to save the last passed parameters.
@@ -1579,15 +1515,6 @@
1579
1515
 
1580
1516
 
1581
1517
  setStatus('idle');
1582
-
1583
- if (store.shouldSkipPendingUpdate) {
1584
- if (!runConcurrentSafePromise.isRunning()) {
1585
- store.shouldSkipPendingUpdate = false;
1586
- }
1587
-
1588
- return;
1589
- }
1590
-
1591
1518
  setCollections(collections);
1592
1519
  var isPanelOpen = props.shouldPanelOpen({
1593
1520
  state: store.getState()
@@ -1611,12 +1538,14 @@
1611
1538
  }, setters));
1612
1539
  }
1613
1540
  }).finally(function () {
1541
+ setStatus('idle');
1542
+
1614
1543
  if (lastStalledId) {
1615
1544
  props.environment.clearTimeout(lastStalledId);
1616
1545
  }
1617
1546
  });
1547
+ return store.pendingRequests.add(request);
1618
1548
  }
1619
- onInput.isRunning = runConcurrentSafePromise.isRunning;
1620
1549
 
1621
1550
  var _excluded$5 = ["event", "props", "refresh", "store"];
1622
1551
 
@@ -1625,14 +1554,9 @@
1625
1554
 
1626
1555
  if (Object.getOwnPropertySymbols) {
1627
1556
  var symbols = Object.getOwnPropertySymbols(object);
1628
-
1629
- if (enumerableOnly) {
1630
- symbols = symbols.filter(function (sym) {
1631
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1632
- });
1633
- }
1634
-
1635
- keys.push.apply(keys, symbols);
1557
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
1558
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1559
+ })), keys.push.apply(keys, symbols);
1636
1560
  }
1637
1561
 
1638
1562
  return keys;
@@ -1640,19 +1564,12 @@
1640
1564
 
1641
1565
  function _objectSpread$7(target) {
1642
1566
  for (var i = 1; i < arguments.length; i++) {
1643
- var source = arguments[i] != null ? arguments[i] : {};
1644
-
1645
- if (i % 2) {
1646
- ownKeys$7(Object(source), true).forEach(function (key) {
1647
- _defineProperty$7(target, key, source[key]);
1648
- });
1649
- } else if (Object.getOwnPropertyDescriptors) {
1650
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1651
- } else {
1652
- ownKeys$7(Object(source)).forEach(function (key) {
1653
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1654
- });
1655
- }
1567
+ var source = null != arguments[i] ? arguments[i] : {};
1568
+ i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) {
1569
+ _defineProperty$7(target, key, source[key]);
1570
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) {
1571
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1572
+ });
1656
1573
  }
1657
1574
 
1658
1575
  return target;
@@ -1784,12 +1701,10 @@
1784
1701
  event.preventDefault();
1785
1702
  store.dispatch(event.key, null); // Hitting the `Escape` key signals the end of a user interaction with the
1786
1703
  // autocomplete. At this point, we should ignore any requests that are still
1787
- // running and could reopen the panel once they resolve, because that would
1704
+ // pending and could reopen the panel once they resolve, because that would
1788
1705
  // result in an unsolicited UI behavior.
1789
1706
 
1790
- if (onInput.isRunning()) {
1791
- store.shouldSkipPendingUpdate = true;
1792
- }
1707
+ store.pendingRequests.cancelAll();
1793
1708
  } else if (event.key === 'Enter') {
1794
1709
  // No active item, so we let the browser handle the native `onSubmit` form
1795
1710
  // event.
@@ -1897,14 +1812,9 @@
1897
1812
 
1898
1813
  if (Object.getOwnPropertySymbols) {
1899
1814
  var symbols = Object.getOwnPropertySymbols(object);
1900
-
1901
- if (enumerableOnly) {
1902
- symbols = symbols.filter(function (sym) {
1903
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1904
- });
1905
- }
1906
-
1907
- keys.push.apply(keys, symbols);
1815
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
1816
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1817
+ })), keys.push.apply(keys, symbols);
1908
1818
  }
1909
1819
 
1910
1820
  return keys;
@@ -1912,19 +1822,12 @@
1912
1822
 
1913
1823
  function _objectSpread$6(target) {
1914
1824
  for (var i = 1; i < arguments.length; i++) {
1915
- var source = arguments[i] != null ? arguments[i] : {};
1916
-
1917
- if (i % 2) {
1918
- ownKeys$6(Object(source), true).forEach(function (key) {
1919
- _defineProperty$6(target, key, source[key]);
1920
- });
1921
- } else if (Object.getOwnPropertyDescriptors) {
1922
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1923
- } else {
1924
- ownKeys$6(Object(source)).forEach(function (key) {
1925
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1926
- });
1927
- }
1825
+ var source = null != arguments[i] ? arguments[i] : {};
1826
+ i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) {
1827
+ _defineProperty$6(target, key, source[key]);
1828
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) {
1829
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1830
+ });
1928
1831
  }
1929
1832
 
1930
1833
  return target;
@@ -2004,12 +1907,12 @@
2004
1907
  // The `onTouchStart` event shouldn't trigger the `blur` handler when
2005
1908
  // it's not an interaction with Autocomplete. We detect it with the
2006
1909
  // following heuristics:
2007
- // - the panel is closed AND there are no running requests
1910
+ // - the panel is closed AND there are no pending requests
2008
1911
  // (no interaction with the autocomplete, no future state updates)
2009
1912
  // - OR the touched target is the input element (should open the panel)
2010
- var isNotAutocompleteInteraction = store.getState().isOpen === false && !onInput.isRunning();
1913
+ var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();
2011
1914
 
2012
- if (isNotAutocompleteInteraction || event.target === inputElement) {
1915
+ if (!isAutocompleteInteraction || event.target === inputElement) {
2013
1916
  return;
2014
1917
  }
2015
1918
 
@@ -2018,13 +1921,13 @@
2018
1921
  });
2019
1922
 
2020
1923
  if (isTargetWithinAutocomplete === false) {
2021
- store.dispatch('blur', null); // If requests are still running when the user closes the panel, they
1924
+ store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they
2022
1925
  // could reopen the panel once they resolve.
2023
1926
  // We want to prevent any subsequent query from reopening the panel
2024
1927
  // because it would result in an unsolicited UI behavior.
2025
1928
 
2026
- if (!props.debug && onInput.isRunning()) {
2027
- store.shouldSkipPendingUpdate = true;
1929
+ if (!props.debug) {
1930
+ store.pendingRequests.cancelAll();
2028
1931
  }
2029
1932
  }
2030
1933
  },
@@ -2151,13 +2054,13 @@
2151
2054
  // We do rely on the `blur` event on touch devices.
2152
2055
  // See explanation in `onTouchStart`.
2153
2056
  if (!isTouchDevice) {
2154
- store.dispatch('blur', null); // If requests are still running when the user closes the panel, they
2057
+ store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they
2155
2058
  // could reopen the panel once they resolve.
2156
2059
  // We want to prevent any subsequent query from reopening the panel
2157
2060
  // because it would result in an unsolicited UI behavior.
2158
2061
 
2159
- if (!props.debug && onInput.isRunning()) {
2160
- store.shouldSkipPendingUpdate = true;
2062
+ if (!props.debug) {
2063
+ store.pendingRequests.cancelAll();
2161
2064
  }
2162
2065
  }
2163
2066
  },
@@ -2300,14 +2203,9 @@
2300
2203
 
2301
2204
  if (Object.getOwnPropertySymbols) {
2302
2205
  var symbols = Object.getOwnPropertySymbols(object);
2303
-
2304
- if (enumerableOnly) {
2305
- symbols = symbols.filter(function (sym) {
2306
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
2307
- });
2308
- }
2309
-
2310
- keys.push.apply(keys, symbols);
2206
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
2207
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
2208
+ })), keys.push.apply(keys, symbols);
2311
2209
  }
2312
2210
 
2313
2211
  return keys;
@@ -2315,19 +2213,12 @@
2315
2213
 
2316
2214
  function _objectSpread$5(target) {
2317
2215
  for (var i = 1; i < arguments.length; i++) {
2318
- var source = arguments[i] != null ? arguments[i] : {};
2319
-
2320
- if (i % 2) {
2321
- ownKeys$5(Object(source), true).forEach(function (key) {
2322
- _defineProperty$5(target, key, source[key]);
2323
- });
2324
- } else if (Object.getOwnPropertyDescriptors) {
2325
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2326
- } else {
2327
- ownKeys$5(Object(source)).forEach(function (key) {
2328
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2329
- });
2330
- }
2216
+ var source = null != arguments[i] ? arguments[i] : {};
2217
+ i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) {
2218
+ _defineProperty$5(target, key, source[key]);
2219
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) {
2220
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2221
+ });
2331
2222
  }
2332
2223
 
2333
2224
  return target;
@@ -2402,14 +2293,9 @@
2402
2293
 
2403
2294
  if (Object.getOwnPropertySymbols) {
2404
2295
  var symbols = Object.getOwnPropertySymbols(object);
2405
-
2406
- if (enumerableOnly) {
2407
- symbols = symbols.filter(function (sym) {
2408
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
2409
- });
2410
- }
2411
-
2412
- keys.push.apply(keys, symbols);
2296
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
2297
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
2298
+ })), keys.push.apply(keys, symbols);
2413
2299
  }
2414
2300
 
2415
2301
  return keys;
@@ -2417,19 +2303,12 @@
2417
2303
 
2418
2304
  function _objectSpread$4(target) {
2419
2305
  for (var i = 1; i < arguments.length; i++) {
2420
- var source = arguments[i] != null ? arguments[i] : {};
2421
-
2422
- if (i % 2) {
2423
- ownKeys$4(Object(source), true).forEach(function (key) {
2424
- _defineProperty$4(target, key, source[key]);
2425
- });
2426
- } else if (Object.getOwnPropertyDescriptors) {
2427
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2428
- } else {
2429
- ownKeys$4(Object(source)).forEach(function (key) {
2430
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2431
- });
2432
- }
2306
+ var source = null != arguments[i] ? arguments[i] : {};
2307
+ i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) {
2308
+ _defineProperty$4(target, key, source[key]);
2309
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) {
2310
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2311
+ });
2433
2312
  }
2434
2313
 
2435
2314
  return target;
@@ -2607,14 +2486,9 @@
2607
2486
 
2608
2487
  if (Object.getOwnPropertySymbols) {
2609
2488
  var symbols = Object.getOwnPropertySymbols(object);
2610
-
2611
- if (enumerableOnly) {
2612
- symbols = symbols.filter(function (sym) {
2613
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
2614
- });
2615
- }
2616
-
2617
- keys.push.apply(keys, symbols);
2489
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
2490
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
2491
+ })), keys.push.apply(keys, symbols);
2618
2492
  }
2619
2493
 
2620
2494
  return keys;
@@ -2622,19 +2496,12 @@
2622
2496
 
2623
2497
  function _objectSpread$3(target) {
2624
2498
  for (var i = 1; i < arguments.length; i++) {
2625
- var source = arguments[i] != null ? arguments[i] : {};
2626
-
2627
- if (i % 2) {
2628
- ownKeys$3(Object(source), true).forEach(function (key) {
2629
- _defineProperty$3(target, key, source[key]);
2630
- });
2631
- } else if (Object.getOwnPropertyDescriptors) {
2632
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2633
- } else {
2634
- ownKeys$3(Object(source)).forEach(function (key) {
2635
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2636
- });
2637
- }
2499
+ var source = null != arguments[i] ? arguments[i] : {};
2500
+ i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) {
2501
+ _defineProperty$3(target, key, source[key]);
2502
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) {
2503
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2504
+ });
2638
2505
  }
2639
2506
 
2640
2507
  return target;
@@ -3089,17 +2956,19 @@
3089
2956
  textContent: placeholder
3090
2957
  });
3091
2958
  var detachedSearchButton = createDomElement('button', {
2959
+ type: 'button',
3092
2960
  class: classNames.detachedSearchButton,
3093
- onClick: function onClick(event) {
3094
- event.preventDefault();
2961
+ onClick: function onClick() {
3095
2962
  setIsModalOpen(true);
3096
2963
  },
3097
2964
  children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder]
3098
2965
  });
3099
2966
  var detachedCancelButton = createDomElement('button', {
2967
+ type: 'button',
3100
2968
  class: classNames.detachedCancelButton,
3101
2969
  textContent: translations.detachedCancelButtonText,
3102
- onClick: function onClick() {
2970
+ onClick: function onClick(event) {
2971
+ event.stopPropagation();
3103
2972
  autocomplete.setIsOpen(false);
3104
2973
  setIsModalOpen(false);
3105
2974
  }
@@ -3332,14 +3201,9 @@
3332
3201
 
3333
3202
  if (Object.getOwnPropertySymbols) {
3334
3203
  var symbols = Object.getOwnPropertySymbols(object);
3335
-
3336
- if (enumerableOnly) {
3337
- symbols = symbols.filter(function (sym) {
3338
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
3339
- });
3340
- }
3341
-
3342
- keys.push.apply(keys, symbols);
3204
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
3205
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
3206
+ })), keys.push.apply(keys, symbols);
3343
3207
  }
3344
3208
 
3345
3209
  return keys;
@@ -3347,19 +3211,12 @@
3347
3211
 
3348
3212
  function _objectSpread$2(target) {
3349
3213
  for (var i = 1; i < arguments.length; i++) {
3350
- var source = arguments[i] != null ? arguments[i] : {};
3351
-
3352
- if (i % 2) {
3353
- ownKeys$2(Object(source), true).forEach(function (key) {
3354
- _defineProperty$2(target, key, source[key]);
3355
- });
3356
- } else if (Object.getOwnPropertyDescriptors) {
3357
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
3358
- } else {
3359
- ownKeys$2(Object(source)).forEach(function (key) {
3360
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3361
- });
3362
- }
3214
+ var source = null != arguments[i] ? arguments[i] : {};
3215
+ i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {
3216
+ _defineProperty$2(target, key, source[key]);
3217
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {
3218
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3219
+ });
3363
3220
  }
3364
3221
 
3365
3222
  return target;
@@ -3461,14 +3318,9 @@
3461
3318
 
3462
3319
  if (Object.getOwnPropertySymbols) {
3463
3320
  var symbols = Object.getOwnPropertySymbols(object);
3464
-
3465
- if (enumerableOnly) {
3466
- symbols = symbols.filter(function (sym) {
3467
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
3468
- });
3469
- }
3470
-
3471
- keys.push.apply(keys, symbols);
3321
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
3322
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
3323
+ })), keys.push.apply(keys, symbols);
3472
3324
  }
3473
3325
 
3474
3326
  return keys;
@@ -3476,19 +3328,12 @@
3476
3328
 
3477
3329
  function _objectSpread$1(target) {
3478
3330
  for (var i = 1; i < arguments.length; i++) {
3479
- var source = arguments[i] != null ? arguments[i] : {};
3480
-
3481
- if (i % 2) {
3482
- ownKeys$1(Object(source), true).forEach(function (key) {
3483
- _defineProperty$1(target, key, source[key]);
3484
- });
3485
- } else if (Object.getOwnPropertyDescriptors) {
3486
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
3487
- } else {
3488
- ownKeys$1(Object(source)).forEach(function (key) {
3489
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3490
- });
3491
- }
3331
+ var source = null != arguments[i] ? arguments[i] : {};
3332
+ i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {
3333
+ _defineProperty$1(target, key, source[key]);
3334
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {
3335
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3336
+ });
3492
3337
  }
3493
3338
 
3494
3339
  return target;
@@ -3509,7 +3354,7 @@
3509
3354
  return obj;
3510
3355
  }
3511
3356
 
3512
- function createRequester(fetcher) {
3357
+ function createRequester(fetcher, requesterId) {
3513
3358
  function execute(fetcherParams) {
3514
3359
  return fetcher({
3515
3360
  searchClient: fetcherParams.searchClient,
@@ -3533,6 +3378,7 @@
3533
3378
  return function createSpecifiedRequester(requesterParams) {
3534
3379
  return function requester(requestParams) {
3535
3380
  return _objectSpread$1(_objectSpread$1({
3381
+ requesterId: requesterId,
3536
3382
  execute: execute
3537
3383
  }, requesterParams), requestParams);
3538
3384
  };
@@ -3546,14 +3392,9 @@
3546
3392
 
3547
3393
  if (Object.getOwnPropertySymbols) {
3548
3394
  var symbols = Object.getOwnPropertySymbols(object);
3549
-
3550
- if (enumerableOnly) {
3551
- symbols = symbols.filter(function (sym) {
3552
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
3553
- });
3554
- }
3555
-
3556
- keys.push.apply(keys, symbols);
3395
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
3396
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
3397
+ })), keys.push.apply(keys, symbols);
3557
3398
  }
3558
3399
 
3559
3400
  return keys;
@@ -3561,19 +3402,12 @@
3561
3402
 
3562
3403
  function _objectSpread(target) {
3563
3404
  for (var i = 1; i < arguments.length; i++) {
3564
- var source = arguments[i] != null ? arguments[i] : {};
3565
-
3566
- if (i % 2) {
3567
- ownKeys(Object(source), true).forEach(function (key) {
3568
- _defineProperty(target, key, source[key]);
3569
- });
3570
- } else if (Object.getOwnPropertyDescriptors) {
3571
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
3572
- } else {
3573
- ownKeys(Object(source)).forEach(function (key) {
3574
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3575
- });
3576
- }
3405
+ var source = null != arguments[i] ? arguments[i] : {};
3406
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
3407
+ _defineProperty(target, key, source[key]);
3408
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
3409
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3410
+ });
3577
3411
  }
3578
3412
 
3579
3413
  return target;
@@ -4398,7 +4232,7 @@
4398
4232
  return fetchAlgoliaResults(_objectSpread2(_objectSpread2({}, params), {}, {
4399
4233
  userAgents: userAgents
4400
4234
  }));
4401
- });
4235
+ }, 'algolia');
4402
4236
 
4403
4237
  /**
4404
4238
  * Retrieves Algolia facet hits from multiple indices.