@appbaseio/reactivesearch-vue 1.24.0 → 1.25.0

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 (35) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +310 -159
  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/{DownShift-62e82255.js → CancelSvg-62d42af4.js} +57 -0
  6. package/dist/cjs/DataSearch.js +28 -79
  7. package/dist/cjs/{DropDown-6815b9b6.js → DropDown-5847d6e4.js} +59 -22
  8. package/dist/cjs/MultiDropdownList.js +11 -4
  9. package/dist/cjs/MultiList.js +3 -2
  10. package/dist/cjs/ReactiveBase.js +4 -2
  11. package/dist/cjs/ReactiveComponent.js +11 -11
  12. package/dist/cjs/ReactiveList.js +53 -41
  13. package/dist/cjs/SingleDropdownList.js +11 -4
  14. package/dist/cjs/SingleList.js +4 -3
  15. package/dist/cjs/ToggleButton.js +1 -1
  16. package/dist/cjs/index.js +5 -2
  17. package/dist/cjs/initReactivesearch.js +31 -12
  18. package/dist/cjs/install.js +3 -2
  19. package/dist/cjs/version.js +1 -1
  20. package/dist/es/{DownShift-3558d402.js → CancelSvg-e0cace2d.js} +54 -2
  21. package/dist/es/DataSearch.js +18 -69
  22. package/dist/es/{DropDown-035c804f.js → DropDown-1ee01031.js} +58 -21
  23. package/dist/es/MultiDropdownList.js +11 -4
  24. package/dist/es/MultiList.js +3 -2
  25. package/dist/es/ReactiveBase.js +4 -2
  26. package/dist/es/ReactiveComponent.js +11 -11
  27. package/dist/es/ReactiveList.js +53 -41
  28. package/dist/es/SingleDropdownList.js +11 -4
  29. package/dist/es/SingleList.js +4 -3
  30. package/dist/es/ToggleButton.js +1 -1
  31. package/dist/es/index.js +5 -2
  32. package/dist/es/initReactivesearch.js +31 -12
  33. package/dist/es/install.js +3 -2
  34. package/dist/es/version.js +1 -1
  35. package/package.json +3 -3
@@ -52,7 +52,7 @@ var ReactiveComponent = {
52
52
  this.internalComponent = null;
53
53
  this.$defaultQuery = null; // Set custom query in store
54
54
 
55
- index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, undefined);
55
+ index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
56
56
  var customQuery = props.customQuery,
57
57
  componentId = props.componentId,
58
58
  filterLabel = props.filterLabel,
@@ -75,7 +75,7 @@ var ReactiveComponent = {
75
75
  }
76
76
 
77
77
  if (customQuery) {
78
- var calcCustomQuery = customQuery(props);
78
+ var calcCustomQuery = customQuery(this.selectedValue, props);
79
79
 
80
80
  var _ref = calcCustomQuery || {},
81
81
  query = _ref.query;
@@ -94,7 +94,7 @@ var ReactiveComponent = {
94
94
 
95
95
  this.updateQuery({
96
96
  componentId: componentId,
97
- queryToSet: queryToSet,
97
+ query: queryToSet,
98
98
  value: this.selectedValue || null,
99
99
  label: filterLabel,
100
100
  showFilter: showFilter,
@@ -145,8 +145,8 @@ var ReactiveComponent = {
145
145
  },
146
146
  beforeMount: function beforeMount() {
147
147
  if (this.internalComponent && this.$props.defaultQuery) {
148
- index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, undefined);
149
- this.$defaultQuery = this.$props.defaultQuery();
148
+ index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
149
+ this.$defaultQuery = this.$props.defaultQuery(this.selectedValue, this.$props);
150
150
 
151
151
  var _ref3 = this.$defaultQuery || {},
152
152
  query = _ref3.query,
@@ -210,8 +210,8 @@ var ReactiveComponent = {
210
210
  }
211
211
  },
212
212
  defaultQuery: function defaultQuery(newVal, oldVal) {
213
- if (newVal && !index.isQueryIdentical(newVal, oldVal, undefined, this.$props)) {
214
- this.$defaultQuery = newVal();
213
+ if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
214
+ this.$defaultQuery = newVal(this.selectedValue, this.$props);
215
215
 
216
216
  var _ref4 = this.$defaultQuery || {},
217
217
  query = _ref4.query,
@@ -222,7 +222,7 @@ var ReactiveComponent = {
222
222
  } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false); // Update default query for RS API
223
223
 
224
224
 
225
- index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, undefined);
225
+ index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
226
226
  var queryToSet = query || null;
227
227
 
228
228
  if (!queryToSet && this.$defaultQuery && this.$defaultQuery.id) {
@@ -236,9 +236,9 @@ var ReactiveComponent = {
236
236
  }
237
237
  },
238
238
  customQuery: function customQuery(newVal, oldVal) {
239
- if (newVal && !index.isQueryIdentical(newVal, oldVal, undefined, this.$props)) {
239
+ if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
240
240
  var componentId = this.$props.componentId;
241
- this.$customQuery = newVal(this.$props);
241
+ this.$customQuery = newVal(this.selectedValue, this.$props);
242
242
 
243
243
  var _ref5 = this.$customQuery || {},
244
244
  query = _ref5.query,
@@ -249,7 +249,7 @@ var ReactiveComponent = {
249
249
  } else this.setQueryOptions(componentId, this.getAggsQuery(), false); // Update custom query for RS API
250
250
 
251
251
 
252
- index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, undefined);
252
+ index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
253
253
  var queryToSet = query || null;
254
254
 
255
255
  if (this.$customQuery && this.$customQuery.id) {
@@ -494,9 +494,14 @@ var ReactiveList = {
494
494
  }
495
495
 
496
496
  this.internalComponent = this.$props.componentId + "__internal";
497
- this.sortOptionIndex = this.defaultSortOption ? this.sortOptions.findIndex(function (s) {
498
- return s.label === _this.defaultSortOption;
499
- }) : 0;
497
+ this.sortOptionIndex = 0;
498
+
499
+ if (this.defaultSortOption && this.sortOptions && Array.isArray(this.sortOptions)) {
500
+ this.sortOptionIndex = this.sortOptions.findIndex(function (s) {
501
+ return s.label === _this.defaultSortOption;
502
+ });
503
+ }
504
+
500
505
  this.updateComponentProps(this.componentId, {
501
506
  from: this.from
502
507
  }, constants.componentTypes.reactiveList);
@@ -506,7 +511,7 @@ var ReactiveList = {
506
511
  },
507
512
  props: {
508
513
  currentPage: VueTypes.number.def(0),
509
- includeFields: vueTypes.types.includeFields.def(['*']),
514
+ includeFields: vueTypes.types.includeFields,
510
515
  // component props
511
516
  className: vueTypes.types.string,
512
517
  componentId: vueTypes.types.stringRequired,
@@ -515,7 +520,7 @@ var ReactiveList = {
515
520
  aggregationSize: VueTypes.number,
516
521
  defaultQuery: vueTypes.types.func,
517
522
  defaultSortOption: vueTypes.types.string,
518
- excludeFields: vueTypes.types.excludeFields.def([]),
523
+ excludeFields: vueTypes.types.excludeFields,
519
524
  innerClass: vueTypes.types.style,
520
525
  listClass: VueTypes.string.def(''),
521
526
  loader: vueTypes.types.title,
@@ -527,7 +532,7 @@ var ReactiveList = {
527
532
  pages: VueTypes.number.def(5),
528
533
  pagination: VueTypes.bool.def(false),
529
534
  infiniteScroll: VueTypes.bool.def(true),
530
- paginationAt: vueTypes.types.paginationAt.def('bottom'),
535
+ paginationAt: VueTypes.oneOf(['top', 'bottom', 'both']).def('bottom'),
531
536
  react: vueTypes.types.react,
532
537
  scrollOnChange: VueTypes.bool.def(true),
533
538
  showResultStats: VueTypes.bool.def(true),
@@ -728,11 +733,11 @@ var ReactiveList = {
728
733
  var options = getQueryOptions(this.$props);
729
734
  options.from = this.$data.from;
730
735
 
731
- if (this.$props.sortOptions) {
736
+ if (this.sortOptions && this.sortOptions[this.sortOptionIndex]) {
732
737
  var _ref2;
733
738
 
734
- var sortField = this.$props.sortOptions[this.sortOptionIndex].dataField;
735
- var sortBy = this.$props.sortOptions[this.sortOptionIndex].sortBy;
739
+ var sortField = this.sortOptions[this.sortOptionIndex].dataField;
740
+ var sortBy = this.sortOptions[this.sortOptionIndex].sortBy;
736
741
  options.sort = [(_ref2 = {}, _ref2[sortField] = {
737
742
  order: sortBy
738
743
  }, _ref2)]; // To handle sort options for RS API
@@ -802,10 +807,10 @@ var ReactiveList = {
802
807
  "class": this.$props.className
803
808
  }, [this.isLoading && this.shouldRenderPagination && this.showInfiniteScroll && (this.$scopedSlots.loader || this.$props.loader), this.renderErrorComponent(), h(Flex.Flex, {
804
809
  "attrs": {
805
- "labelPosition": this.$props.sortOptions ? 'right' : 'left'
810
+ "labelPosition": this.sortOptions ? 'right' : 'left'
806
811
  },
807
812
  "class": getClassName$1(this.$props.innerClass, 'resultsInfo')
808
- }, [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, {
813
+ }, [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, {
809
814
  "attrs": {
810
815
  "pages": this.$props.pages,
811
816
  "totalPages": this.totalPages,
@@ -876,15 +881,18 @@ var ReactiveList = {
876
881
  var options = getQueryOptions(props);
877
882
  options.from = this.$data.from;
878
883
 
879
- if (props.sortOptions) {
880
- var _ref5;
881
-
884
+ if (props.sortOptions && Array.isArray(props.sortOptions)) {
882
885
  var sortOptionIndex = props.defaultSortOption ? props.sortOptions.findIndex(function (s) {
883
886
  return s.label === props.defaultSortOption;
884
887
  }) : 0;
885
- options.sort = [(_ref5 = {}, _ref5[props.sortOptions[sortOptionIndex].dataField] = {
886
- order: props.sortOptions[sortOptionIndex].sortBy
887
- }, _ref5)];
888
+
889
+ if (props.sortOptions[sortOptionIndex]) {
890
+ var _ref5;
891
+
892
+ options.sort = [(_ref5 = {}, _ref5[props.sortOptions[sortOptionIndex].dataField] = {
893
+ order: props.sortOptions[sortOptionIndex].sortBy
894
+ }, _ref5)];
895
+ }
888
896
  } else if (props.sortBy) {
889
897
  var _ref6;
890
898
 
@@ -980,31 +988,39 @@ var ReactiveList = {
980
988
  renderNoResult: function renderNoResult() {
981
989
  var h = this.$createElement;
982
990
  var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
991
+
992
+ if (this.$scopedSlots.renderNoResults) {
993
+ return index.isFunction(renderNoResults) ? renderNoResults() : renderNoResults;
994
+ }
995
+
983
996
  return h("p", {
984
997
  "class": getClassName$1(this.$props.innerClass, 'noResults') || null
985
998
  }, [index.isFunction(renderNoResults) ? renderNoResults() : renderNoResults]);
986
999
  },
987
1000
  handleSortChange: function handleSortChange(e) {
988
- var _ref7;
1001
+ var index = e.target.value;
989
1002
 
990
- var index = e.target.value; // This fixes issue #371 (where sorting a multi-result page with infinite loader breaks)
1003
+ if (this.sortOptions && this.sortOptions[index]) {
1004
+ var _ref7;
991
1005
 
992
- var options = getQueryOptions(this.$props);
993
- options.from = 0;
994
- var sortField = this.$props.sortOptions[index].dataField;
995
- var sortBy = this.$props.sortOptions[index].sortBy;
996
- options.sort = [(_ref7 = {}, _ref7[sortField] = {
997
- order: sortBy
998
- }, _ref7)];
999
- this.sortOptionIndex = index; // To handle sort options for RS API
1000
-
1001
- this.updateComponentProps(this.componentId, {
1002
- dataField: sortField,
1003
- sortBy: sortBy
1004
- }, constants.componentTypes.reactiveList);
1005
- this.setQueryOptions(this.$props.componentId, options, true);
1006
- this.currentPageState = 0;
1007
- this.from = 0;
1006
+ // This fixes issue #371 (where sorting a multi-result page with infinite loader breaks)
1007
+ var options = getQueryOptions(this.$props);
1008
+ options.from = 0;
1009
+ var sortField = this.sortOptions[index].dataField;
1010
+ var sortBy = this.sortOptions[index].sortBy;
1011
+ options.sort = [(_ref7 = {}, _ref7[sortField] = {
1012
+ order: sortBy
1013
+ }, _ref7)];
1014
+ this.sortOptionIndex = index; // To handle sort options for RS API
1015
+
1016
+ this.updateComponentProps(this.componentId, {
1017
+ dataField: sortField,
1018
+ sortBy: sortBy
1019
+ }, constants.componentTypes.reactiveList);
1020
+ this.setQueryOptions(this.$props.componentId, options, true);
1021
+ this.currentPageState = 0;
1022
+ this.from = 0;
1023
+ }
1008
1024
  },
1009
1025
  triggerClickAnalytics: function triggerClickAnalytics(searchPosition, documentId) {
1010
1026
  var docId = documentId;
@@ -1038,7 +1054,7 @@ var ReactiveList = {
1038
1054
  "domProps": {
1039
1055
  "value": this.sortOptionIndex
1040
1056
  }
1041
- }, [this.$props.sortOptions.map(function (sort, index) {
1057
+ }, [this.sortOptions.map(function (sort, index) {
1042
1058
  return h("option", {
1043
1059
  "key": sort.label,
1044
1060
  "domProps": {
@@ -1144,11 +1160,7 @@ var mapDispatchtoProps = {
1144
1160
  }; // Only used for SSR
1145
1161
 
1146
1162
  ReactiveList.generateQueryOptions = function (props) {
1147
- // simulate default (includeFields and excludeFields) props to generate consistent query
1148
- var options = getQueryOptions(_rollupPluginBabelHelpers._extends({
1149
- includeFields: ['*'],
1150
- excludeFields: []
1151
- }, props));
1163
+ var options = getQueryOptions(props);
1152
1164
  var size = props.size,
1153
1165
  dataField = props.dataField,
1154
1166
  defaultSortOption = props.defaultSortOption,
@@ -19,12 +19,13 @@ require('redux');
19
19
  var index = require('./index-89c39a9e.js');
20
20
  var ComponentWrapper = require('./ComponentWrapper-32481890.js');
21
21
  var Title = require('./Title-584a8cc8.js');
22
+ require('./CancelSvg-62d42af4.js');
22
23
  require('./Input-3cc3fa59.js');
23
24
  require('compute-scroll-into-view');
24
- require('./DownShift-62e82255.js');
25
25
  var Container = require('./Container-526efa6a.js');
26
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
26
27
  var utils = require('./utils-1219e1fe.js');
27
- var DropDown = require('./DropDown-6815b9b6.js');
28
+ var DropDown = require('./DropDown-5847d6e4.js');
28
29
 
29
30
  var updateQuery = configureStore.Actions.updateQuery,
30
31
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -80,10 +81,12 @@ var SingleDropdownList = {
80
81
  showMissing: VueTypes.bool.def(false),
81
82
  missingLabel: VueTypes.string.def('N/A'),
82
83
  showSearch: VueTypes.bool.def(false),
84
+ showClear: VueTypes.bool.def(false),
83
85
  showLoadMore: VueTypes.bool.def(false),
84
86
  loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.any]).def('Load More'),
85
87
  nestedField: vueTypes.types.string,
86
- index: VueTypes.string
88
+ index: VueTypes.string,
89
+ searchPlaceholder: VueTypes.string.def('Type here to search...')
87
90
  },
88
91
  created: function created() {
89
92
  if (!this.enableAppbase && this.$props.index) {
@@ -197,7 +200,9 @@ var SingleDropdownList = {
197
200
  if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
198
201
  if (renderNoResults && index.isFunction(renderNoResults)) {
199
202
  return h("div", [renderNoResults()]);
200
- } else if (renderNoResults && !index.isFunction(renderNoResults)) {
203
+ }
204
+
205
+ if (renderNoResults && !index.isFunction(renderNoResults)) {
201
206
  return renderNoResults;
202
207
  }
203
208
 
@@ -235,6 +240,8 @@ var SingleDropdownList = {
235
240
  "renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
236
241
  "themePreset": this.themePreset,
237
242
  "showSearch": this.$props.showSearch,
243
+ "showClear": this.$props.showClear,
244
+ "searchPlaceholder": this.$props.searchPlaceholder,
238
245
  "transformData": this.$props.transformData,
239
246
  "footer": showLoadMore && !isLastBucket && h("div", {
240
247
  "attrs": {
@@ -20,6 +20,7 @@ var ComponentWrapper = require('./ComponentWrapper-32481890.js');
20
20
  var Title = require('./Title-584a8cc8.js');
21
21
  var Input = require('./Input-3cc3fa59.js');
22
22
  var Container = require('./Container-526efa6a.js');
23
+ var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
23
24
  var FormControlList = require('./FormControlList-808dbcef.js');
24
25
  var utils = require('./utils-1219e1fe.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;
@@ -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
@@ -28,16 +28,17 @@ require('url-search-params-polyfill');
28
28
  var ReactiveBase = require('./ReactiveBase.js');
29
29
  require('hotkeys-js');
30
30
  var DataSearch = require('./DataSearch.js');
31
+ require('./CancelSvg-62d42af4.js');
31
32
  require('./Input-3cc3fa59.js');
32
33
  require('compute-scroll-into-view');
33
- require('./DownShift-62e82255.js');
34
34
  require('./Container-526efa6a.js');
35
35
  require('vue-highlight-words');
36
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
36
37
  require('./FormControlList-808dbcef.js');
37
38
  require('./utils-1219e1fe.js');
38
39
  var SingleList = require('./SingleList.js');
39
40
  var MultiList = require('./MultiList.js');
40
- require('./DropDown-6815b9b6.js');
41
+ require('./DropDown-5847d6e4.js');
41
42
  var SingleDropdownList = require('./SingleDropdownList.js');
42
43
  var MultiDropdownList = require('./MultiDropdownList.js');
43
44
  var ToggleButton = require('./ToggleButton.js');
@@ -55,6 +56,8 @@ var StateProvider = require('./StateProvider.js');
55
56
  require('@appbaseio/reactivecore/lib/reducers/valueReducer');
56
57
  require('@appbaseio/reactivecore/lib/reducers/queryReducer');
57
58
  require('@appbaseio/reactivecore/lib/reducers/queryOptionsReducer');
59
+ require('@appbaseio/reactivecore/lib/reducers/compositeAggsReducer');
60
+ require('@appbaseio/reactivecore/lib/constants');
58
61
  require('@appbaseio/reactivecore/lib/reducers/dependencyTreeReducer');
59
62
  require('@appbaseio/reactivecore/lib/utils/graphQL');
60
63
  require('@appbaseio/reactivecore/lib/actions/utils');
@@ -12,6 +12,8 @@ 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
  });
@@ -28,16 +28,17 @@ require('url-search-params-polyfill');
28
28
  var ReactiveBase = require('./ReactiveBase.js');
29
29
  require('hotkeys-js');
30
30
  var DataSearch = require('./DataSearch.js');
31
+ require('./CancelSvg-62d42af4.js');
31
32
  require('./Input-3cc3fa59.js');
32
33
  require('compute-scroll-into-view');
33
- require('./DownShift-62e82255.js');
34
34
  require('./Container-526efa6a.js');
35
35
  require('vue-highlight-words');
36
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
36
37
  require('./FormControlList-808dbcef.js');
37
38
  require('./utils-1219e1fe.js');
38
39
  var SingleList = require('./SingleList.js');
39
40
  var MultiList = require('./MultiList.js');
40
- require('./DropDown-6815b9b6.js');
41
+ require('./DropDown-5847d6e4.js');
41
42
  var SingleDropdownList = require('./SingleDropdownList.js');
42
43
  var MultiDropdownList = require('./MultiDropdownList.js');
43
44
  var ToggleButton = require('./ToggleButton.js');
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "1.24.0";
5
+ var version = "1.25.0";
6
6
 
7
7
  exports.default = version;
@@ -1,6 +1,33 @@
1
- import { a as _extends } from './_rollupPluginBabelHelpers-0f24d612.js';
1
+ import { _ as _taggedTemplateLiteralLoose, a as _extends } from './_rollupPluginBabelHelpers-0f24d612.js';
2
+ import styled, { css } from '@appbaseio/vue-emotion';
2
3
  import computeScrollIntoView from 'compute-scroll-into-view';
3
4
 
5
+ var _templateObject;
6
+ var InputWrapper = styled('span')(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n flex: 1;\n position: relative;\n"])));
7
+
8
+ var _templateObject$1, _templateObject2, _templateObject3, _templateObject4;
9
+ var IconGroup = styled('div')(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tgrid-gap: 6px;\n\tmargin: 0 10px;\n\theight: 100%;\n\n\t", ";\n\n\t", ";\n"])), function (_ref) {
10
+ var positionType = _ref.positionType;
11
+
12
+ if (positionType === 'absolute') {
13
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t"])));
14
+ }
15
+
16
+ return null;
17
+ }, function (_ref2) {
18
+ var groupPosition = _ref2.groupPosition;
19
+ return groupPosition === 'right' ? css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n\t\t\t\t\tright: 0;\n\t\t\t "]))) : css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n\t\t\t\t\tleft: 0;\n\t\t\t "])));
20
+ });
21
+
22
+ var _templateObject$2;
23
+ var IconWrapper = styled('div')(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmax-width: 23px;\n\twidth: max-content;\n\tcursor: pointer;\n\theight: 100%;min-width:20px;\n\n\tsvg.search-icon {\n\t\tfill: ", ";\n\t\ttransform:scale(1.5);\n\t}\n\n\tsvg.cancel-icon {\n\t\tfill: ", ";\n\t}\n"])), function (_ref) {
24
+ var theme = _ref.theme;
25
+ return theme.colors.primaryColor;
26
+ }, function (_ref2) {
27
+ var theme = _ref2.theme;
28
+ return theme.colors.borderColor || '#000';
29
+ });
30
+
4
31
  /**
5
32
  * Scroll node into view if necessary
6
33
  * @param {HTMLElement} node the element that should scroll into view
@@ -398,4 +425,29 @@ var Downshift = {
398
425
  }
399
426
  };
400
427
 
401
- export { Downshift as D };
428
+ var CancelSvg = {
429
+ functional: true,
430
+ render: function render(h) {
431
+ return h("svg", {
432
+ "attrs": {
433
+ "alt": "Clear",
434
+ "xmlns": "http://www.w3.org/2000/svg",
435
+ "height": "20px",
436
+ "viewBox": "0 0 24 24",
437
+ "width": "20px"
438
+ },
439
+ "class": "cancel-icon"
440
+ }, [h("title", ["Clear"]), h("path", {
441
+ "attrs": {
442
+ "d": "M0 0h24v24H0V0z",
443
+ "fill": "none"
444
+ }
445
+ }), h("path", {
446
+ "attrs": {
447
+ "d": "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
448
+ }
449
+ })]);
450
+ }
451
+ };
452
+
453
+ export { CancelSvg as C, Downshift as D, IconWrapper as I, IconGroup as a, InputWrapper as b };