@appbaseio/reactivesearch-vue 1.16.0-alpha.24 → 1.16.0-alpha.28

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 (55) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +581 -262
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -5
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/DataSearch.js +10 -10
  6. package/dist/cjs/{DropDown-d3c78c41.js → DropDown-3c343026.js} +5 -3
  7. package/dist/cjs/DynamicRangeSlider.js +1 -1
  8. package/dist/cjs/MultiDropdownList.js +3 -2
  9. package/dist/cjs/MultiList.js +4 -3
  10. package/dist/cjs/MultiRange.js +1 -1
  11. package/dist/cjs/{Pagination-d4dbfd5a.js → Pagination-0b9ec0fc.js} +1 -1
  12. package/dist/cjs/RangeInput.js +1 -1
  13. package/dist/cjs/RangeSlider.js +1 -1
  14. package/dist/cjs/ReactiveBase.js +18 -10
  15. package/dist/cjs/ReactiveComponent.js +12 -12
  16. package/dist/cjs/ReactiveGoogleMap.js +2 -2
  17. package/dist/cjs/ReactiveList.js +88 -78
  18. package/dist/cjs/ResultCard.js +1 -1
  19. package/dist/cjs/ResultList.js +1 -1
  20. package/dist/cjs/SelectedFilters.js +1 -1
  21. package/dist/cjs/SingleDropdownList.js +6 -3
  22. package/dist/cjs/SingleList.js +5 -4
  23. package/dist/cjs/SingleRange.js +1 -1
  24. package/dist/cjs/ToggleButton.js +2 -2
  25. package/dist/cjs/index.js +7 -4
  26. package/dist/cjs/initReactivesearch.js +32 -13
  27. package/dist/cjs/install.js +5 -4
  28. package/dist/cjs/version.js +1 -1
  29. package/dist/cjs/{vueTypes-409348b0.js → vueTypes-829a5f2c.js} +5 -1
  30. package/dist/es/DataSearch.js +10 -10
  31. package/dist/es/{DropDown-8894cc22.js → DropDown-c5ab660f.js} +5 -3
  32. package/dist/es/DynamicRangeSlider.js +1 -1
  33. package/dist/es/MultiDropdownList.js +3 -2
  34. package/dist/es/MultiList.js +4 -3
  35. package/dist/es/MultiRange.js +1 -1
  36. package/dist/es/{Pagination-a2ab7fcb.js → Pagination-e8216949.js} +1 -1
  37. package/dist/es/RangeInput.js +1 -1
  38. package/dist/es/RangeSlider.js +1 -1
  39. package/dist/es/ReactiveBase.js +18 -10
  40. package/dist/es/ReactiveComponent.js +12 -12
  41. package/dist/es/ReactiveGoogleMap.js +2 -2
  42. package/dist/es/ReactiveList.js +88 -78
  43. package/dist/es/ResultCard.js +1 -1
  44. package/dist/es/ResultList.js +1 -1
  45. package/dist/es/SelectedFilters.js +1 -1
  46. package/dist/es/SingleDropdownList.js +6 -3
  47. package/dist/es/SingleList.js +5 -4
  48. package/dist/es/SingleRange.js +1 -1
  49. package/dist/es/ToggleButton.js +2 -2
  50. package/dist/es/index.js +7 -4
  51. package/dist/es/initReactivesearch.js +32 -13
  52. package/dist/es/install.js +5 -4
  53. package/dist/es/version.js +1 -1
  54. package/dist/es/{vueTypes-a9b9d5c9.js → vueTypes-98819a12.js} +5 -1
  55. package/package.json +3 -3
@@ -9,13 +9,14 @@ var configureStore__default = _interopDefault(configureStore);
9
9
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
+ var helper = require('@appbaseio/reactivecore/lib/utils/helper');
12
13
  var emotion = require('emotion');
13
14
  var styled = require('@appbaseio/vue-emotion');
14
15
  var styled__default = _interopDefault(styled);
15
16
  require('polished');
16
17
  require('./Button-d2f1aeda.js');
17
- var vueTypes = require('./vueTypes-409348b0.js');
18
- var Pagination = require('./Pagination-d4dbfd5a.js');
18
+ var vueTypes = require('./vueTypes-829a5f2c.js');
19
+ var Pagination = require('./Pagination-0b9ec0fc.js');
19
20
  require('@appbaseio/reactivecore/lib/utils/transform');
20
21
  require('redux');
21
22
  var index = require('./index-2a8358cd.js');
@@ -328,9 +329,14 @@ var ReactiveList = {
328
329
  }
329
330
 
330
331
  this.internalComponent = this.$props.componentId + "__internal";
331
- this.sortOptionIndex = this.defaultSortOption ? this.sortOptions.findIndex(function (s) {
332
- return s.label === _this.defaultSortOption;
333
- }) : 0;
332
+ this.sortOptionIndex = 0;
333
+
334
+ if (this.defaultSortOption && this.sortOptions && Array.isArray(this.sortOptions)) {
335
+ this.sortOptionIndex = this.sortOptions.findIndex(function (s) {
336
+ return s.label === _this.defaultSortOption;
337
+ });
338
+ }
339
+
334
340
  this.updateComponentProps(this.componentId, {
335
341
  from: this.from
336
342
  }, constants.componentTypes.reactiveList);
@@ -340,7 +346,7 @@ var ReactiveList = {
340
346
  },
341
347
  props: {
342
348
  currentPage: VueTypes.number.def(0),
343
- includeFields: vueTypes.types.includeFields.def(['*']),
349
+ includeFields: vueTypes.types.includeFields,
344
350
  // component props
345
351
  className: vueTypes.types.string,
346
352
  componentId: vueTypes.types.stringRequired,
@@ -349,7 +355,7 @@ var ReactiveList = {
349
355
  aggregationSize: VueTypes.number,
350
356
  defaultQuery: vueTypes.types.func,
351
357
  defaultSortOption: vueTypes.types.string,
352
- excludeFields: vueTypes.types.excludeFields.def([]),
358
+ excludeFields: vueTypes.types.excludeFields,
353
359
  innerClass: vueTypes.types.style,
354
360
  listClass: VueTypes.string.def(''),
355
361
  loader: vueTypes.types.title,
@@ -361,7 +367,7 @@ var ReactiveList = {
361
367
  pages: VueTypes.number.def(5),
362
368
  pagination: VueTypes.bool.def(false),
363
369
  infiniteScroll: VueTypes.bool.def(true),
364
- paginationAt: vueTypes.types.paginationAt.def('bottom'),
370
+ paginationAt: VueTypes.oneOf(['top', 'bottom', 'both']).def('bottom'),
365
371
  react: vueTypes.types.react,
366
372
  scrollOnChange: VueTypes.bool.def(true),
367
373
  showResultStats: VueTypes.bool.def(true),
@@ -390,12 +396,9 @@ var ReactiveList = {
390
396
  return this.$listeners && this.$listeners.resultStats;
391
397
  },
392
398
  stats: function stats() {
393
- var _this$getAllData = this.getAllData(),
394
- filteredResults = _this$getAllData.filteredResults;
395
-
396
399
  return _rollupPluginBabelHelpers._extends({}, getResultStats(this), {
397
400
  currentPage: this.currentPageState,
398
- displayedResults: filteredResults.length
401
+ displayedResults: this.data.length
399
402
  });
400
403
  },
401
404
  hasCustomRender: function hasCustomRender() {
@@ -404,6 +407,27 @@ var ReactiveList = {
404
407
  showInfiniteScroll: function showInfiniteScroll() {
405
408
  // Pagination has higher priority then infinite scroll
406
409
  return this.infiniteScroll && !this.shouldRenderPagination;
410
+ },
411
+ data: function data() {
412
+ var results = parseHits(this.hits) || [];
413
+ var parsedPromotedResults = parseHits(this.promotedResults) || [];
414
+ var filteredResults = results;
415
+
416
+ if (parsedPromotedResults.length) {
417
+ var ids = parsedPromotedResults.map(function (item) {
418
+ return item._id;
419
+ }).filter(Boolean);
420
+
421
+ if (ids) {
422
+ filteredResults = filteredResults.filter(function (item) {
423
+ return !ids.includes(item._id);
424
+ });
425
+ }
426
+
427
+ filteredResults = [].concat(parsedPromotedResults, filteredResults);
428
+ }
429
+
430
+ return helper.withClickIds(filteredResults);
407
431
  }
408
432
  },
409
433
  watch: {
@@ -485,7 +509,7 @@ var ReactiveList = {
485
509
  }
486
510
  },
487
511
  hits: function hits(newVal, oldVal) {
488
- this.$emit('data', this.getAllData());
512
+ this.$emit('data', this.getData());
489
513
 
490
514
  if (this.shouldRenderPagination) {
491
515
  // called when page is changed
@@ -544,11 +568,11 @@ var ReactiveList = {
544
568
  var options = getQueryOptions(this.$props);
545
569
  options.from = this.$data.from;
546
570
 
547
- if (this.$props.sortOptions) {
571
+ if (this.sortOptions && this.sortOptions[this.sortOptionIndex]) {
548
572
  var _ref2;
549
573
 
550
- var sortField = this.$props.sortOptions[this.sortOptionIndex].dataField;
551
- var sortBy = this.$props.sortOptions[this.sortOptionIndex].sortBy;
574
+ var sortField = this.sortOptions[this.sortOptionIndex].dataField;
575
+ var sortBy = this.sortOptions[this.sortOptionIndex].sortBy;
552
576
  options.sort = [(_ref2 = {}, _ref2[sortField] = {
553
577
  order: sortBy
554
578
  }, _ref2)]; // To handle sort options for RS API
@@ -618,10 +642,10 @@ var ReactiveList = {
618
642
  "class": this.$props.className
619
643
  }, [this.isLoading && this.shouldRenderPagination && this.showInfiniteScroll && (this.$scopedSlots.loader || this.$props.loader), this.renderErrorComponent(), h(Flex.Flex, {
620
644
  "attrs": {
621
- "labelPosition": this.$props.sortOptions ? 'right' : 'left'
645
+ "labelPosition": this.sortOptions ? 'right' : 'left'
622
646
  },
623
647
  "class": getClassName(this.$props.innerClass, 'resultsInfo')
624
- }, [this.$props.sortOptions ? this.renderSortOptions() : null, this.$props.showResultStats && results.length ? this.renderStats() : null]), !this.isLoading && results.length === 0 ? this.renderNoResult() : null, this.shouldRenderPagination && (this.$props.paginationAt === 'top' || this.$props.paginationAt === 'both') ? h(Pagination.Pagination, {
648
+ }, [this.sortOptions ? this.renderSortOptions() : null, this.$props.showResultStats && results.length ? this.renderStats() : null]), !this.isLoading && results.length === 0 ? this.renderNoResult() : null, this.shouldRenderPagination && (this.$props.paginationAt === 'top' || this.$props.paginationAt === 'both') ? h(Pagination.Pagination, {
625
649
  "attrs": {
626
650
  "pages": this.$props.pages,
627
651
  "totalPages": this.totalPages,
@@ -670,13 +694,10 @@ var ReactiveList = {
670
694
 
671
695
  var h = this.$createElement;
672
696
  var size = this.$props.size;
673
- var hits = this.$data.hits;
674
- var results = parseHits(hits) || [];
675
- var filteredResults = results;
676
697
  var renderItem = this.$scopedSlots.renderItem || this.$props.renderItem;
677
698
  var element = this.hasCustomRender ? this.getComponent() : h("div", {
678
699
  "class": this.$props.listClass + " " + getClassName(this.$props.innerClass, 'list')
679
- }, [[].concat(filteredResults).map(function (item, index) {
700
+ }, [this.data.map(function (item, index) {
680
701
  return renderItem({
681
702
  item: item,
682
703
  triggerClickAnalytics: function triggerClickAnalytics() {
@@ -687,7 +708,7 @@ var ReactiveList = {
687
708
 
688
709
  return this.analytics ? h(ImpressionTracker$1, {
689
710
  "attrs": {
690
- "hits": filteredResults
711
+ "hits": this.data
691
712
  }
692
713
  }, [element]) : element;
693
714
  },
@@ -695,15 +716,18 @@ var ReactiveList = {
695
716
  var options = getQueryOptions(props);
696
717
  options.from = this.$data.from;
697
718
 
698
- if (props.sortOptions) {
699
- var _ref5;
700
-
719
+ if (props.sortOptions && Array.isArray(props.sortOptions)) {
701
720
  var sortOptionIndex = props.defaultSortOption ? props.sortOptions.findIndex(function (s) {
702
721
  return s.label === props.defaultSortOption;
703
722
  }) : 0;
704
- options.sort = [(_ref5 = {}, _ref5[props.sortOptions[sortOptionIndex].dataField] = {
705
- order: props.sortOptions[sortOptionIndex].sortBy
706
- }, _ref5)];
723
+
724
+ if (props.sortOptions[sortOptionIndex]) {
725
+ var _ref5;
726
+
727
+ options.sort = [(_ref5 = {}, _ref5[props.sortOptions[sortOptionIndex].dataField] = {
728
+ order: props.sortOptions[sortOptionIndex].sortBy
729
+ }, _ref5)];
730
+ }
707
731
  } else if (props.sortBy) {
708
732
  var _ref6;
709
733
 
@@ -799,31 +823,39 @@ var ReactiveList = {
799
823
  renderNoResult: function renderNoResult() {
800
824
  var h = this.$createElement;
801
825
  var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
826
+
827
+ if (this.$scopedSlots.renderNoResults) {
828
+ return index.isFunction(renderNoResults) ? renderNoResults() : renderNoResults;
829
+ }
830
+
802
831
  return h("p", {
803
832
  "class": getClassName(this.$props.innerClass, 'noResults') || null
804
833
  }, [index.isFunction(renderNoResults) ? renderNoResults() : renderNoResults]);
805
834
  },
806
835
  handleSortChange: function handleSortChange(e) {
807
- var _ref7;
808
-
809
- var index = e.target.value; // This fixes issue #371 (where sorting a multi-result page with infinite loader breaks)
836
+ var index = e.target.value;
810
837
 
811
- var options = getQueryOptions(this.$props);
812
- options.from = 0;
813
- var sortField = this.$props.sortOptions[index].dataField;
814
- var sortBy = this.$props.sortOptions[index].sortBy;
815
- options.sort = [(_ref7 = {}, _ref7[sortField] = {
816
- order: sortBy
817
- }, _ref7)];
818
- this.sortOptionIndex = index; // To handle sort options for RS API
838
+ if (this.sortOptions && this.sortOptions[index]) {
839
+ var _ref7;
819
840
 
820
- this.updateComponentProps(this.componentId, {
821
- dataField: sortField,
822
- sortBy: sortBy
823
- }, constants.componentTypes.reactiveList);
824
- this.setQueryOptions(this.$props.componentId, options, true);
825
- this.currentPageState = 0;
826
- this.from = 0;
841
+ // This fixes issue #371 (where sorting a multi-result page with infinite loader breaks)
842
+ var options = getQueryOptions(this.$props);
843
+ options.from = 0;
844
+ var sortField = this.sortOptions[index].dataField;
845
+ var sortBy = this.sortOptions[index].sortBy;
846
+ options.sort = [(_ref7 = {}, _ref7[sortField] = {
847
+ order: sortBy
848
+ }, _ref7)];
849
+ this.sortOptionIndex = index; // To handle sort options for RS API
850
+
851
+ this.updateComponentProps(this.componentId, {
852
+ dataField: sortField,
853
+ sortBy: sortBy
854
+ }, constants.componentTypes.reactiveList);
855
+ this.setQueryOptions(this.$props.componentId, options, true);
856
+ this.currentPageState = 0;
857
+ this.from = 0;
858
+ }
827
859
  },
828
860
  triggerClickAnalytics: function triggerClickAnalytics(searchPosition, documentId) {
829
861
  var docId = documentId;
@@ -857,7 +889,7 @@ var ReactiveList = {
857
889
  "domProps": {
858
890
  "value": this.sortOptionIndex
859
891
  }
860
- }, [this.$props.sortOptions.map(function (sort, index) {
892
+ }, [this.sortOptions.map(function (sort, index) {
861
893
  return h("option", {
862
894
  "key": sort.label,
863
895
  "domProps": {
@@ -867,8 +899,8 @@ var ReactiveList = {
867
899
  })]);
868
900
  },
869
901
  withClickIds: function withClickIds(results) {
870
- var _this$getAllData2 = this.getAllData(),
871
- base = _this$getAllData2.base;
902
+ var _this$getAllData = this.getAllData(),
903
+ base = _this$getAllData.base;
872
904
 
873
905
  return results.map(function (result, index) {
874
906
  return _rollupPluginBabelHelpers._extends({}, result, {
@@ -886,26 +918,9 @@ var ReactiveList = {
886
918
  hits = this.hits;
887
919
  var results = parseHits(hits) || [];
888
920
  var parsedPromotedResults = parseHits(promotedResults) || [];
889
- var filteredResults = results;
890
921
  var base = currentPage * size;
891
-
892
- if (parsedPromotedResults.length) {
893
- var ids = parsedPromotedResults.map(function (item) {
894
- return item._id;
895
- }).filter(Boolean);
896
-
897
- if (ids) {
898
- filteredResults = filteredResults.filter(function (item) {
899
- return !ids.includes(item._id);
900
- });
901
- }
902
-
903
- filteredResults = [].concat(parsedPromotedResults, filteredResults);
904
- }
905
-
906
922
  return {
907
923
  results: results,
908
- filteredResults: filteredResults,
909
924
  customData: customData || {},
910
925
  promotedResults: parsedPromotedResults,
911
926
  aggregationData: aggregationData,
@@ -915,14 +930,13 @@ var ReactiveList = {
915
930
  };
916
931
  },
917
932
  getData: function getData() {
918
- var _this$getAllData3 = this.getAllData(),
919
- filteredResults = _this$getAllData3.filteredResults,
920
- promotedResults = _this$getAllData3.promotedResults,
921
- aggregationData = _this$getAllData3.aggregationData,
922
- customData = _this$getAllData3.customData;
933
+ var _this$getAllData2 = this.getAllData(),
934
+ promotedResults = _this$getAllData2.promotedResults,
935
+ aggregationData = _this$getAllData2.aggregationData,
936
+ customData = _this$getAllData2.customData;
923
937
 
924
938
  return {
925
- data: this.withClickIds(filteredResults),
939
+ data: this.data,
926
940
  aggregationData: this.withClickIds(aggregationData || []),
927
941
  promotedData: this.withClickIds(promotedResults || []),
928
942
  rawData: this.rawData,
@@ -981,11 +995,7 @@ var mapDispatchtoProps = {
981
995
  }; // Only used for SSR
982
996
 
983
997
  ReactiveList.generateQueryOptions = function (props) {
984
- // simulate default (includeFields and excludeFields) props to generate consistent query
985
- var options = getQueryOptions(_rollupPluginBabelHelpers._extends({
986
- includeFields: ['*'],
987
- excludeFields: []
988
- }, props));
998
+ var options = getQueryOptions(props);
989
999
  var size = props.size,
990
1000
  dataField = props.dataField,
991
1001
  defaultSortOption = props.defaultSortOption,
@@ -9,7 +9,7 @@ var VueTypes = _interopDefault(require('vue-types'));
9
9
  require('emotion');
10
10
  require('@appbaseio/vue-emotion');
11
11
  require('polished');
12
- var vueTypes = require('./vueTypes-409348b0.js');
12
+ var vueTypes = require('./vueTypes-829a5f2c.js');
13
13
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
14
14
  var Title = require('./Title-39765ee6.js');
15
15
  var Card = require('./Card-4b915733.js');
@@ -9,7 +9,7 @@ var VueTypes = _interopDefault(require('vue-types'));
9
9
  require('emotion');
10
10
  require('@appbaseio/vue-emotion');
11
11
  require('polished');
12
- var vueTypes = require('./vueTypes-409348b0.js');
12
+ var vueTypes = require('./vueTypes-829a5f2c.js');
13
13
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
14
14
  var Title = require('./Title-39765ee6.js');
15
15
  var ListItem = require('./ListItem-933c27e4.js');
@@ -13,7 +13,7 @@ require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
15
  var Button = require('./Button-d2f1aeda.js');
16
- var vueTypes = require('./vueTypes-409348b0.js');
16
+ var vueTypes = require('./vueTypes-829a5f2c.js');
17
17
  require('redux');
18
18
  var index = require('./index-2a8358cd.js');
19
19
  var Title = require('./Title-39765ee6.js');
@@ -13,7 +13,7 @@ require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
15
  var Button = require('./Button-d2f1aeda.js');
16
- var vueTypes = require('./vueTypes-409348b0.js');
16
+ var vueTypes = require('./vueTypes-829a5f2c.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
19
  var index = require('./index-2a8358cd.js');
@@ -23,8 +23,9 @@ require('./Input-c6f181d5.js');
23
23
  require('compute-scroll-into-view');
24
24
  require('./DownShift-d41f2442.js');
25
25
  var Container = require('./Container-8a08d663.js');
26
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
26
27
  var utils = require('./utils-23afb20b.js');
27
- var DropDown = require('./DropDown-d3c78c41.js');
28
+ var DropDown = require('./DropDown-3c343026.js');
28
29
 
29
30
  var updateQuery = configureStore.Actions.updateQuery,
30
31
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -197,7 +198,9 @@ var SingleDropdownList = {
197
198
  if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
198
199
  if (renderNoResults && index.isFunction(renderNoResults)) {
199
200
  return h("div", [renderNoResults()]);
200
- } else if (renderNoResults && !index.isFunction(renderNoResults)) {
201
+ }
202
+
203
+ if (renderNoResults && !index.isFunction(renderNoResults)) {
201
204
  return renderNoResults;
202
205
  }
203
206
 
@@ -12,7 +12,7 @@ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var vueTypes = require('./vueTypes-409348b0.js');
15
+ var vueTypes = require('./vueTypes-829a5f2c.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
18
  var index = require('./index-2a8358cd.js');
@@ -20,6 +20,7 @@ var ComponentWrapper = require('./ComponentWrapper-ab813390.js');
20
20
  var Title = require('./Title-39765ee6.js');
21
21
  var Input = require('./Input-c6f181d5.js');
22
22
  var Container = require('./Container-8a08d663.js');
23
+ var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
23
24
  var FormControlList = require('./FormControlList-73497794.js');
24
25
  var utils = require('./utils-23afb20b.js');
25
26
 
@@ -36,7 +37,7 @@ var SingleList = {
36
37
  name: 'SingleList',
37
38
  props: {
38
39
  beforeValueChange: vueTypes.types.func,
39
- className: vueTypes.types.string.def(''),
40
+ className: VueTypes.string.def(''),
40
41
  componentId: vueTypes.types.stringRequired,
41
42
  customQuery: vueTypes.types.func,
42
43
  dataField: vueTypes.types.stringRequired,
@@ -56,7 +57,7 @@ var SingleList = {
56
57
  showFilter: VueTypes.bool.def(true),
57
58
  showRadio: VueTypes.bool.def(true),
58
59
  showSearch: VueTypes.bool.def(true),
59
- size: VueTypes.number.def(100),
60
+ size: VueTypes.number,
60
61
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
61
62
  title: vueTypes.types.title,
62
63
  URLParams: VueTypes.bool.def(false),
@@ -170,7 +171,7 @@ var SingleList = {
170
171
  var filteredItemsToRender = itemsToRender.filter(function (item) {
171
172
  if (String(item.key).length) {
172
173
  if (_this.$props.showSearch && _this.$data.searchTerm) {
173
- return String(item.key).toLowerCase().includes(_this.$data.searchTerm.toLowerCase());
174
+ return suggestions.replaceDiacritics(String(item.key)).toLowerCase().includes(suggestions.replaceDiacritics(_this.$data.searchTerm.toLowerCase()));
174
175
  }
175
176
 
176
177
  return true;
@@ -12,7 +12,7 @@ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var vueTypes = require('./vueTypes-409348b0.js');
15
+ var vueTypes = require('./vueTypes-829a5f2c.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
18
  var index = require('./index-2a8358cd.js');
@@ -13,7 +13,7 @@ require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
15
  var Button = require('./Button-d2f1aeda.js');
16
- var vueTypes = require('./vueTypes-409348b0.js');
16
+ var vueTypes = require('./vueTypes-829a5f2c.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
19
  var index = require('./index-2a8358cd.js');
@@ -35,7 +35,7 @@ var ToggleButton = {
35
35
  componentId: vueTypes.types.stringRequired,
36
36
  data: vueTypes.types.data,
37
37
  dataField: vueTypes.types.stringRequired,
38
- defaultValue: vueTypes.types.stringOrArray,
38
+ defaultValue: vueTypes.types.any,
39
39
  value: vueTypes.types.stringOrArray,
40
40
  filterLabel: vueTypes.types.string,
41
41
  nestedField: vueTypes.types.string,
package/dist/cjs/index.js CHANGED
@@ -6,12 +6,13 @@ require('@appbaseio/reactivecore');
6
6
  require('./_rollupPluginBabelHelpers-4abdbfff.js');
7
7
  require('vue-types');
8
8
  require('@appbaseio/reactivecore/lib/utils/constants');
9
+ require('@appbaseio/reactivecore/lib/utils/helper');
9
10
  require('emotion');
10
11
  require('@appbaseio/vue-emotion');
11
12
  require('polished');
12
13
  require('./Button-d2f1aeda.js');
13
- require('./vueTypes-409348b0.js');
14
- require('./Pagination-d4dbfd5a.js');
14
+ require('./vueTypes-829a5f2c.js');
15
+ require('./Pagination-0b9ec0fc.js');
15
16
  var ReactiveList = require('./ReactiveList.js');
16
17
  require('@appbaseio/reactivecore/lib/utils/transform');
17
18
  require('redux');
@@ -22,7 +23,6 @@ require('./Title-39765ee6.js');
22
23
  require('./ListItem-933c27e4.js');
23
24
  require('./Card-4b915733.js');
24
25
  require('./Flex-699639d2.js');
25
- require('@appbaseio/reactivecore/lib/utils/helper');
26
26
  require('@appbaseio/reactivecore/lib/actions/analytics');
27
27
  require('appbase-js');
28
28
  require('url-search-params-polyfill');
@@ -34,11 +34,12 @@ require('compute-scroll-into-view');
34
34
  require('./DownShift-d41f2442.js');
35
35
  require('./Container-8a08d663.js');
36
36
  require('vue-highlight-words');
37
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
37
38
  require('./FormControlList-73497794.js');
38
39
  require('./utils-23afb20b.js');
39
40
  var SingleList = require('./SingleList.js');
40
41
  var MultiList = require('./MultiList.js');
41
- require('./DropDown-d3c78c41.js');
42
+ require('./DropDown-3c343026.js');
42
43
  var SingleDropdownList = require('./SingleDropdownList.js');
43
44
  var MultiDropdownList = require('./MultiDropdownList.js');
44
45
  var ToggleButton = require('./ToggleButton.js');
@@ -64,6 +65,8 @@ require('gmap-vue/dist/mixins/map-element');
64
65
  require('@appbaseio/reactivecore/lib/reducers/valueReducer');
65
66
  require('@appbaseio/reactivecore/lib/reducers/queryReducer');
66
67
  require('@appbaseio/reactivecore/lib/reducers/queryOptionsReducer');
68
+ require('@appbaseio/reactivecore/lib/reducers/compositeAggsReducer');
69
+ require('@appbaseio/reactivecore/lib/constants');
67
70
  require('@appbaseio/reactivecore/lib/reducers/dependencyTreeReducer');
68
71
  require('@appbaseio/reactivecore/lib/utils/graphQL');
69
72
  require('@appbaseio/reactivecore/lib/actions/utils');
@@ -6,12 +6,14 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
8
8
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
- var transform = require('@appbaseio/reactivecore/lib/utils/transform');
10
9
  var helper = require('@appbaseio/reactivecore/lib/utils/helper');
10
+ var transform = require('@appbaseio/reactivecore/lib/utils/transform');
11
11
  var Appbase = _interopDefault(require('appbase-js'));
12
12
  var valueReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/valueReducer'));
13
13
  var queryReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/queryReducer'));
14
14
  var queryOptionsReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/queryOptionsReducer'));
15
+ var compositeAggsReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/compositeAggsReducer'));
16
+ var constants$1 = require('@appbaseio/reactivecore/lib/constants');
15
17
  var dependencyTreeReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/dependencyTreeReducer'));
16
18
  var fetchGraphQL = _interopDefault(require('@appbaseio/reactivecore/lib/utils/graphQL'));
17
19
  var utils = require('@appbaseio/reactivecore/lib/actions/utils');
@@ -108,6 +110,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
108
110
  var orderOfQueries = [];
109
111
  var hits = {};
110
112
  var aggregations = {};
113
+ var compositeAggregations = {};
111
114
  var state = {};
112
115
  var customQueries = {};
113
116
  var defaultQueries = {};
@@ -122,16 +125,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
122
125
  compProps[key] = component[key];
123
126
  }
124
127
  });
125
- var isInternalComponentPresent = false; // Set custom and default queries
126
-
127
- if (component.customQuery && typeof component.customQuery === 'function') {
128
- customQueries[component.componentId] = component.customQuery(component.value, compProps);
129
- }
130
-
131
- if (component.defaultQuery && typeof component.defaultQuery === 'function') {
132
- defaultQueries[component.componentId] = component.defaultQuery(component.value, compProps);
133
- }
134
-
128
+ var isInternalComponentPresent = false;
135
129
  var isResultComponent = resultComponents.includes(componentType);
136
130
  var internalComponent = component.componentId + "__internal";
137
131
  var label = component.filterLabel || component.componentId;
@@ -155,7 +149,16 @@ function initReactivesearch(componentCollection, searchState, settings) {
155
149
  reference: reference,
156
150
  showFilter: showFilter,
157
151
  URLParams: component.URLParams || false
158
- }); // [2] set query options - main component query (valid for result components)
152
+ }); // Set custom and default queries
153
+
154
+ if (component.customQuery && typeof component.customQuery === 'function') {
155
+ customQueries[component.componentId] = component.customQuery(value, compProps);
156
+ }
157
+
158
+ if (component.defaultQuery && typeof component.defaultQuery === 'function') {
159
+ defaultQueries[component.componentId] = component.defaultQuery(value, compProps);
160
+ } // [2] set query options - main component query (valid for result components)
161
+
159
162
 
160
163
  if (componentsWithOptions.includes(componentType)) {
161
164
  var options = component.source.generateQueryOptions ? component.source.generateQueryOptions(component) : null;
@@ -242,7 +245,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
242
245
 
243
246
 
244
247
  if (isResultComponent) {
245
- var _getQuery = getQuery(component, null, componentType),
248
+ var _getQuery = getQuery(component, value, componentType),
246
249
  query = _getQuery.query;
247
250
 
248
251
  queryList = queryReducer(queryList, {
@@ -342,6 +345,11 @@ function initReactivesearch(componentCollection, searchState, settings) {
342
345
  var _extends4;
343
346
 
344
347
  aggregations = _rollupPluginBabelHelpers._extends({}, aggregations, (_extends4 = {}, _extends4[component] = response.aggregations, _extends4));
348
+ compositeAggregations = compositeAggsReducer(compositeAggregations, {
349
+ type: constants$1.UPDATE_COMPOSITE_AGGS,
350
+ aggregations: response.aggregations,
351
+ append: false
352
+ });
345
353
  }
346
354
 
347
355
  hits = _rollupPluginBabelHelpers._extends({}, hits, (_extends5 = {}, _extends5[component] = {
@@ -368,6 +376,8 @@ function initReactivesearch(componentCollection, searchState, settings) {
368
376
  var promotedResults = {};
369
377
  var rawData = {};
370
378
  var customData = {};
379
+ var settingsResponse = {};
380
+ var timestamp = {};
371
381
  var allPromises = orderOfQueries.map(function (component) {
372
382
  return new Promise(function (responseResolve, responseReject) {
373
383
  handleTransformResponse(res[component], component).then(function (response) {
@@ -386,6 +396,11 @@ function initReactivesearch(componentCollection, searchState, settings) {
386
396
 
387
397
  if (response.customData) {
388
398
  customData[component] = response.customData;
399
+ } // Update settings
400
+
401
+
402
+ if (response.settings) {
403
+ settingsResponse[component] = response.settings;
389
404
  }
390
405
 
391
406
  if (response.aggregations) {
@@ -394,6 +409,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
394
409
  aggregations = _rollupPluginBabelHelpers._extends({}, aggregations, (_extends6 = {}, _extends6[component] = response.aggregations, _extends6));
395
410
  }
396
411
 
412
+ timestamp[component] = res._timestamp;
397
413
  hits = _rollupPluginBabelHelpers._extends({}, hits, (_extends7 = {}, _extends7[component] = {
398
414
  hits: response.hits.hits,
399
415
  total: typeof response.hits.total === 'object' ? response.hits.total.value : response.hits.total,
@@ -409,8 +425,11 @@ function initReactivesearch(componentCollection, searchState, settings) {
409
425
  Promise.all(allPromises).then(function () {
410
426
  state = _rollupPluginBabelHelpers._extends({}, state, {
411
427
  hits: hits,
428
+ timestamp: timestamp,
412
429
  aggregations: aggregations,
430
+ compositeAggregations: compositeAggregations,
413
431
  promotedResults: promotedResults,
432
+ settings: settingsResponse,
414
433
  customData: customData,
415
434
  rawData: rawData
416
435
  });
@@ -6,12 +6,13 @@ require('@appbaseio/reactivecore');
6
6
  require('./_rollupPluginBabelHelpers-4abdbfff.js');
7
7
  require('vue-types');
8
8
  require('@appbaseio/reactivecore/lib/utils/constants');
9
+ require('@appbaseio/reactivecore/lib/utils/helper');
9
10
  require('emotion');
10
11
  require('@appbaseio/vue-emotion');
11
12
  require('polished');
12
13
  require('./Button-d2f1aeda.js');
13
- require('./vueTypes-409348b0.js');
14
- require('./Pagination-d4dbfd5a.js');
14
+ require('./vueTypes-829a5f2c.js');
15
+ require('./Pagination-0b9ec0fc.js');
15
16
  var ReactiveList = require('./ReactiveList.js');
16
17
  require('@appbaseio/reactivecore/lib/utils/transform');
17
18
  require('redux');
@@ -22,7 +23,6 @@ require('./Title-39765ee6.js');
22
23
  require('./ListItem-933c27e4.js');
23
24
  require('./Card-4b915733.js');
24
25
  require('./Flex-699639d2.js');
25
- require('@appbaseio/reactivecore/lib/utils/helper');
26
26
  require('@appbaseio/reactivecore/lib/actions/analytics');
27
27
  require('appbase-js');
28
28
  require('url-search-params-polyfill');
@@ -34,11 +34,12 @@ require('compute-scroll-into-view');
34
34
  require('./DownShift-d41f2442.js');
35
35
  require('./Container-8a08d663.js');
36
36
  require('vue-highlight-words');
37
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
37
38
  require('./FormControlList-73497794.js');
38
39
  require('./utils-23afb20b.js');
39
40
  var SingleList = require('./SingleList.js');
40
41
  var MultiList = require('./MultiList.js');
41
- require('./DropDown-d3c78c41.js');
42
+ require('./DropDown-3c343026.js');
42
43
  var SingleDropdownList = require('./SingleDropdownList.js');
43
44
  var MultiDropdownList = require('./MultiDropdownList.js');
44
45
  var ToggleButton = require('./ToggleButton.js');