@appbaseio/reactivesearch-vue 3.0.0-alpha.7 → 3.0.0-rc

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 +3042 -1181
  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/{Flex-d5675ea6.js → Flex-ddde6d26.js} +3 -1
  6. package/dist/cjs/{ListItem-23af8974.js → ListItem-7a682970.js} +6 -1
  7. package/dist/cjs/MultiDropdownList.js +1 -1
  8. package/dist/cjs/MultiList.js +1 -1
  9. package/dist/cjs/RangeInput.js +1 -1
  10. package/dist/cjs/ReactiveComponent.js +297 -43
  11. package/dist/cjs/ReactiveList.js +2 -2
  12. package/dist/cjs/ResultList.js +1 -1
  13. package/dist/cjs/SingleDropdownList.js +1 -1
  14. package/dist/cjs/SingleList.js +1 -1
  15. package/dist/cjs/index.js +13 -10
  16. package/dist/cjs/{ReactiveComponent-8180c806.js → install-2c548585.js} +752 -240
  17. package/dist/cjs/install.js +24 -28
  18. package/dist/cjs/{utils-36b1b880.js → utils-c9bd5628.js} +9 -0
  19. package/dist/cjs/version.js +1 -1
  20. package/dist/es/{Flex-a08e22d7.js → Flex-25792bc3.js} +3 -1
  21. package/dist/es/{ListItem-1cb1b4de.js → ListItem-e3c6acf4.js} +6 -1
  22. package/dist/es/MultiDropdownList.js +1 -1
  23. package/dist/es/MultiList.js +1 -1
  24. package/dist/es/RangeInput.js +1 -1
  25. package/dist/es/ReactiveComponent.js +298 -42
  26. package/dist/es/ReactiveList.js +2 -2
  27. package/dist/es/ResultList.js +1 -1
  28. package/dist/es/SingleDropdownList.js +1 -1
  29. package/dist/es/SingleList.js +1 -1
  30. package/dist/es/index.js +7 -6
  31. package/dist/es/{ReactiveComponent-f78ff2cd.js → install-44a07e7a.js} +761 -251
  32. package/dist/es/install.js +22 -30
  33. package/dist/es/{utils-9e5a16a1.js → utils-d7dd4f4e.js} +9 -1
  34. package/dist/es/version.js +1 -1
  35. package/package.json +1 -1
@@ -14,7 +14,7 @@ var border = function border(_ref) {
14
14
  colors = _ref$theme$colors === void 0 ? {} : _ref$theme$colors;
15
15
  return "\n\tborder: 1px solid " + (colors.borderColor || '#ccc') + ";\n";
16
16
  };
17
- var Flex = vueEmotion.styled('div')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: ", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\n\tsvg.cancel-icon {\n\t\tcursor: pointer;\n\t\tfill: ", ";\n\t\tflex-basis: 30px;\n\n\t\t&:hover {\n\t\t\tfill: ", ";\n\t\t}\n\t}\n"])), function (props) {
17
+ var Flex = vueEmotion.styled('div')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: ", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\n\tsvg.cancel-icon {\n\t\tcursor: pointer;\n\t\tfill: ", ";\n\t\tflex-basis: 30px;\n\n\t\t&:hover {\n\t\t\tfill: ", ";\n\t\t}\n\t}\n"])), function (props) {
18
18
  return props.inline ? 'inline-flex' : 'flex';
19
19
  }, function (props) {
20
20
  return (props.labelPosition === 'left' || props.iconPosition === 'right') && leftLabel;
@@ -30,6 +30,8 @@ var Flex = vueEmotion.styled('div')(_templateObject || (_templateObject = _rollu
30
30
  return props.justifyContent && "\n\t\t\tjustify-content: " + props.justifyContent + ";\n\t\t";
31
31
  }, function (props) {
32
32
  return props.alignItems && "\n\t\t\talign-items: " + props.alignItems + ";\n\t\t";
33
+ }, function (props) {
34
+ return props.gap && "\n\t\t\tgap: " + props.gap + ";\n\t\t";
33
35
  }, function (props) {
34
36
  return props.flex && "\n\t\t\tflex: " + props.flex + ";\n\t\t";
35
37
  }, function (props) {
@@ -14,7 +14,7 @@ var Image = vueEmotion.styled('div')(_templateObject2 || (_templateObject2 = _ro
14
14
  }, function (props) {
15
15
  return "url(" + props.src + ")";
16
16
  });
17
- var ListItem = vueEmotion.styled('a')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\theight: auto;\n\toutline: none;\n\ttext-decoration: none;\n\tborder-radius: 0;\n\tbackground-color: ", ";\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin: 0;\n\tpadding: 10px;\n\tborder-bottom: 1px solid ", ";\n\tcolor: ", ";\n\t", "; all 0.3s ease;\n\n\t&:hover, &:focus {\n\t\tbackground-color: ", ";\n\t}\n\n\t&:last-child {\n\t\tborder: 0;\n\t}\n\n\th2 {\n\t\twidth: 100%;\n\t\tline-height: 1.2rem;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tmargin: 0;\n\t\tpadding: 0 0 8px;\n\t}\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\tarticle {\n\t\twidth: ", ";\n\t\tpadding-left: ", ";\n\t\tfont-size: 0.9rem;\n\t}\n\n\t&:hover, &:focus {\n\t\tbox-shadow: 0 0 0 0 rgba(0,0,0,0.10);\n\t}\n\n\t@media (max-width: 420px) {\n\t\tmin-width: 0;\n\t\tmargin: 0;\n\t\tborder-radius: 0;\n\t\tbox-shadow: none;\n\t\tborder: 1px solid #eee;\n\n\t\t&:hover, &:focus {\n\t\t\tbox-shadow: 0;\n\t\t}\n\t}\n"])), function (_ref) {
17
+ var ListItem = vueEmotion.styled('a')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\theight: auto;\n\toutline: none;\n\ttext-decoration: none;\n\tborder-radius: 0;\n\tbackground-color: ", ";\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin: 0;\n\tpadding: 10px;\n\tborder-bottom: 1px solid ", ";\n\tcolor: ", ";\n\t", "; all 0.3s ease;\n\n\t&:hover, &:focus {\n\t\tbackground-color: ", ";\n\t}\n\n\t&:last-child {\n\t\tborder: 0;\n\t}\n\n\th2 {\n\t\twidth: 100%;\n\t\tline-height: 1.2rem;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tmargin: 0;\n\t\tpadding: 0 0 8px;\n\t}\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\tarticle {\n\t\twidth: ", ";\n\t\tpadding-left: ", ";\n\t\tfont-size: 0.9rem;\n\t}\n\n\t&:hover, &:focus {\n\t\tbox-shadow: 0 0 0 0 rgba(0,0,0,0.10);\n\t}\n\n\t@media (max-width: 420px) {\n\t\tmin-width: 0;\n\t\tmargin: 0;\n\t\tborder-radius: 0;\n\t\tbox-shadow: none;\n\t\tborder: 1px solid #eee;\n\n\t\t&:hover, &:focus {\n\t\t\tbox-shadow: 0;\n\t\t}\n\t}\n\n\t", "\n"])), function (_ref) {
18
18
  var theme = _ref.theme;
19
19
  return theme.colors.backgroundColor ? polished.lighten(0.1, theme.colors.backgroundColor) : '#fff';
20
20
  }, function (_ref2) {
@@ -35,6 +35,11 @@ var ListItem = vueEmotion.styled('a')(_templateObject3 || (_templateObject3 = _r
35
35
  return '100%';
36
36
  }, function (props) {
37
37
  return props.image ? '10px' : 0;
38
+ }, function (props) {
39
+ if (props.isTreeListItem) {
40
+ return 'border-bottom: none; width:max-content; cursor:pointer; padding: 5px 12px;';
41
+ }
42
+ return '';
38
43
  });
39
44
 
40
45
  exports.Image = Image;
@@ -26,7 +26,7 @@ require('./Input-497be42a.js');
26
26
  require('compute-scroll-into-view');
27
27
  var Container = require('./Container-29f049b2.js');
28
28
  require('@appbaseio/reactivecore/lib/utils/suggestions');
29
- var utils = require('./utils-36b1b880.js');
29
+ var utils = require('./utils-c9bd5628.js');
30
30
 
31
31
  function _isSlot(s) {
32
32
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
@@ -23,7 +23,7 @@ var Input = require('./Input-497be42a.js');
23
23
  var Container = require('./Container-29f049b2.js');
24
24
  var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
25
25
  var FormControlList = require('./FormControlList-fadd792f.js');
26
- var utils = require('./utils-36b1b880.js');
26
+ var utils = require('./utils-c9bd5628.js');
27
27
 
28
28
  var updateQuery = reactivecore.Actions.updateQuery,
29
29
  setQueryOptions = reactivecore.Actions.setQueryOptions,
@@ -20,7 +20,7 @@ var index = require('./index-1481798c.js');
20
20
  var ComponentWrapper = require('./ComponentWrapper-2dc930e1.js');
21
21
  var PreferencesConsumer = require('./PreferencesConsumer-2c69ac61.js');
22
22
  require('./Title-8802a218.js');
23
- var Flex = require('./Flex-d5675ea6.js');
23
+ var Flex = require('./Flex-ddde6d26.js');
24
24
  var Input = require('./Input-497be42a.js');
25
25
  var Container = require('./Container-29f049b2.js');
26
26
  require('./ssr-8dd13d43.js');
@@ -2,51 +2,305 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('@appbaseio/reactivecore');
6
- require('@appbaseio/reactivecore/lib/utils/constants');
7
- require('@vue/babel-helper-vue-transform-on');
8
- require('./_rollupPluginBabelHelpers-f8b843f8.js');
9
- require('vue');
10
- require('vue-types');
11
- require('@appbaseio/reactivecore/lib/utils/helper');
12
- require('@appbaseio/vue-emotion');
13
- require('@emotion/css');
14
- require('polished');
15
- require('./Button-d4da7470.js');
16
- require('./vueTypes-1bf00978.js');
17
- require('./Pagination-b953a80a.js');
18
- require('./ReactiveList.js');
5
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
+
7
+ var reactivecore = require('@appbaseio/reactivecore');
8
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
10
+ var vue = require('vue');
11
+ var VueTypes = _interopDefault(require('vue-types'));
12
+ var vueTypes = require('./vueTypes-1bf00978.js');
19
13
  require('@appbaseio/reactivecore/lib/utils/transform');
20
14
  require('redux');
21
- require('./index-1481798c.js');
22
- require('./ComponentWrapper-2dc930e1.js');
23
- require('./PreferencesConsumer-2c69ac61.js');
24
- require('./Title-8802a218.js');
25
- require('./ListItem-23af8974.js');
26
- require('./Card-63968d94.js');
27
- require('./Flex-d5675ea6.js');
28
- require('hotkeys-js');
29
- var ReactiveComponent = require('./ReactiveComponent-8180c806.js');
30
- require('./DropDown-f48bea16.js');
31
- require('./Input-497be42a.js');
32
- require('compute-scroll-into-view');
33
- require('./Container-29f049b2.js');
34
- require('vue-highlight-words');
35
- require('@appbaseio/reactivecore/lib/utils/suggestions');
36
- require('./FormControlList-fadd792f.js');
37
- require('./utils-36b1b880.js');
38
- require('./SingleList.js');
39
- require('./MultiList.js');
40
- require('./SingleDropdownList.js');
41
- require('./MultiDropdownList.js');
42
- require('./ToggleButton.js');
43
- require('./ssr-8dd13d43.js');
44
- require('./DynamicRangeSlider.js');
45
- require('./SingleRange.js');
46
- require('./MultiRange.js');
47
- require('./RangeSlider.js');
48
- require('./RangeInput.js');
15
+ var index = require('./index-1481798c.js');
16
+ var ComponentWrapper = require('./ComponentWrapper-2dc930e1.js');
17
+ var PreferencesConsumer = require('./PreferencesConsumer-2c69ac61.js');
18
+
19
+ var _excluded = ["options"];
20
+ var updateQuery = reactivecore.Actions.updateQuery,
21
+ setQueryOptions = reactivecore.Actions.setQueryOptions,
22
+ setCustomQuery = reactivecore.Actions.setCustomQuery,
23
+ setDefaultQuery = reactivecore.Actions.setDefaultQuery;
24
+ var parseHits = reactivecore.helper.parseHits,
25
+ isEqual = reactivecore.helper.isEqual,
26
+ getCompositeAggsQuery = reactivecore.helper.getCompositeAggsQuery,
27
+ getResultStats = reactivecore.helper.getResultStats,
28
+ extractQueryFromCustomQuery = reactivecore.helper.extractQueryFromCustomQuery,
29
+ getOptionsForCustomQuery = reactivecore.helper.getOptionsForCustomQuery;
30
+ var ReactiveComponent = {
31
+ name: 'ReactiveComponent',
32
+ props: {
33
+ componentId: vueTypes.types.stringRequired,
34
+ aggregationField: vueTypes.types.string,
35
+ aggregationSize: VueTypes.number,
36
+ size: VueTypes.number,
37
+ defaultQuery: vueTypes.types.func,
38
+ customQuery: vueTypes.types.func,
39
+ filterLabel: vueTypes.types.string,
40
+ react: vueTypes.types.react,
41
+ showFilter: VueTypes.bool.def(true),
42
+ URLParams: VueTypes.bool.def(false),
43
+ distinctField: vueTypes.types.string,
44
+ distinctFieldConfig: vueTypes.types.props,
45
+ index: VueTypes.string,
46
+ endpoint: vueTypes.types.endpointConfig
47
+ },
48
+ created: function created() {
49
+ var _this = this;
50
+ var props = this.$props;
51
+ this.internalComponent = null;
52
+ this.$defaultQuery = null;
53
+ // Set custom query in store
54
+ index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
55
+ var customQuery = props.customQuery,
56
+ componentId = props.componentId,
57
+ filterLabel = props.filterLabel,
58
+ showFilter = props.showFilter,
59
+ URLParams = props.URLParams;
60
+ if (customQuery) {
61
+ var calcCustomQuery = customQuery(this.selectedValue, props);
62
+ var query = extractQueryFromCustomQuery(calcCustomQuery);
63
+ var customQueryOptions = calcCustomQuery ? getOptionsForCustomQuery(calcCustomQuery) : null;
64
+ if (customQueryOptions) {
65
+ this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, customQueryOptions, this.getAggsQuery()), false);
66
+ } else this.setQueryOptions(componentId, this.getAggsQuery(), false);
67
+ this.updateQuery({
68
+ componentId: componentId,
69
+ query: query,
70
+ value: this.selectedValue || null,
71
+ label: filterLabel,
72
+ showFilter: showFilter,
73
+ URLParams: URLParams
74
+ });
75
+ }
76
+ this.setQuery = function (_ref) {
77
+ var options = _ref.options,
78
+ obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, _excluded);
79
+ var queryToBeSet = obj.query;
49
80
 
81
+ // when enableAppbase is true, Backend throws error because of repeated query in request body
82
+ if (queryToBeSet && queryToBeSet.query) {
83
+ queryToBeSet = queryToBeSet.query;
84
+ }
85
+ var customQueryCalc = _rollupPluginBabelHelpers._extends({}, options, {
86
+ query: queryToBeSet
87
+ });
88
+ var rsAPIQuery = customQueryCalc;
89
+ // handle stored queries
90
+ if (queryToBeSet && queryToBeSet.id) {
91
+ rsAPIQuery = queryToBeSet;
92
+ }
93
+ // Update customQuery field for RS API
94
+ _this.setCustomQuery(props.componentId, rsAPIQuery);
95
+ if (options) {
96
+ _this.setQueryOptions(props.componentId, _rollupPluginBabelHelpers._extends({}, _this.getAggsQuery(), options), false);
97
+ }
98
+ _this.updateQuery(_rollupPluginBabelHelpers._extends({}, obj, {
99
+ query: customQueryCalc.query,
100
+ componentId: props.componentId,
101
+ label: props.filterLabel,
102
+ showFilter: props.showFilter,
103
+ URLParams: props.URLParams
104
+ }));
105
+ };
106
+ if (props.defaultQuery) {
107
+ this.internalComponent = props.componentId + "__internal";
108
+ }
109
+ if (this.internalComponent && this.$props.defaultQuery) {
110
+ index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
111
+ this.$defaultQuery = this.$props.defaultQuery(this.selectedValue, this.$props);
112
+ var _query = extractQueryFromCustomQuery(this.$defaultQuery);
113
+ var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
114
+ if (queryOptions) {
115
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
116
+ } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false);
117
+ this.updateQuery({
118
+ componentId: this.internalComponent,
119
+ query: _query
120
+ });
121
+ }
122
+ },
123
+ watch: {
124
+ hits: function hits(newVal, oldVal) {
125
+ if (!isEqual(newVal, oldVal)) {
126
+ this.$emit('data', this.getData());
127
+ }
128
+ },
129
+ rawData: function rawData(newVal, oldVal) {
130
+ if (!isEqual(newVal, oldVal)) {
131
+ this.$emit('data', this.getData());
132
+ }
133
+ },
134
+ aggregations: function aggregations(newVal, oldVal) {
135
+ if (!isEqual(newVal, oldVal)) {
136
+ this.$emit('data', this.getData());
137
+ }
138
+ },
139
+ aggregationData: function aggregationData(newVal, oldVal) {
140
+ if (!isEqual(newVal, oldVal)) {
141
+ this.$emit('data', this.getData());
142
+ }
143
+ },
144
+ promotedResults: function promotedResults(newVal, oldVal) {
145
+ if (!isEqual(newVal, oldVal)) {
146
+ this.$emit('data', this.getData());
147
+ }
148
+ },
149
+ hidden: function hidden(newVal, oldVal) {
150
+ if (!isEqual(newVal, oldVal)) {
151
+ this.$emit('data', this.getData());
152
+ }
153
+ },
154
+ total: function total(newVal, oldVal) {
155
+ if (!isEqual(newVal, oldVal)) {
156
+ this.$emit('data', this.getData());
157
+ }
158
+ },
159
+ time: function time(newVal, oldVal) {
160
+ if (!isEqual(newVal, oldVal)) {
161
+ this.$emit('data', this.getData());
162
+ }
163
+ },
164
+ defaultQuery: function defaultQuery(newVal, oldVal) {
165
+ if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
166
+ this.$defaultQuery = newVal(this.selectedValue, this.$props);
167
+ var query = extractQueryFromCustomQuery(this.$defaultQuery);
168
+ var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
169
+ if (queryOptions) {
170
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
171
+ } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false);
172
+ // Update default query for RS API
173
+ index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
174
+ this.updateQuery({
175
+ componentId: this.internalComponent,
176
+ query: query
177
+ });
178
+ }
179
+ },
180
+ customQuery: function customQuery(newVal, oldVal) {
181
+ if (newVal && !index.isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
182
+ var componentId = this.$props.componentId;
183
+ this.$customQuery = newVal(this.selectedValue, this.$props);
184
+ var query = extractQueryFromCustomQuery(this.$customQuery);
185
+ var queryOptions = getOptionsForCustomQuery(this.$customQuery);
186
+ if (queryOptions) {
187
+ this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, queryOptions, this.getAggsQuery()), false);
188
+ } else this.setQueryOptions(componentId, this.getAggsQuery(), false);
50
189
 
190
+ // Update custom query for RS API
191
+ index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
192
+ this.updateQuery({
193
+ componentId: componentId,
194
+ query: query
195
+ });
196
+ }
197
+ }
198
+ },
199
+ render: function render() {
200
+ try {
201
+ var dom = this.$slots["default"];
202
+ var error = this.error,
203
+ isLoading = this.isLoading,
204
+ selectedValue = this.selectedValue;
205
+ var propsToBePassed = _rollupPluginBabelHelpers._extends({
206
+ error: error,
207
+ loading: isLoading
208
+ }, this.getData(), {
209
+ value: selectedValue,
210
+ setQuery: this.setQuery
211
+ });
212
+ return vue.createVNode("div", null, [dom(propsToBePassed)]);
213
+ } catch (e) {
214
+ return null;
215
+ }
216
+ },
217
+ methods: {
218
+ getAggsQuery: function getAggsQuery() {
219
+ if (this.aggregationField) {
220
+ return {
221
+ aggs: getCompositeAggsQuery({
222
+ props: this.$props,
223
+ showTopHits: true,
224
+ value: this.selectedValue
225
+ }).aggs
226
+ };
227
+ }
228
+ return {};
229
+ },
230
+ getData: function getData() {
231
+ var hits = this.hits,
232
+ aggregations = this.aggregations,
233
+ aggregationData = this.aggregationData,
234
+ promotedResults = this.promotedResults,
235
+ rawData = this.rawData;
236
+ var filteredResults = parseHits(hits);
237
+ if (promotedResults.length) {
238
+ var ids = promotedResults.map(function (item) {
239
+ return item._id;
240
+ }).filter(Boolean);
241
+ if (ids) {
242
+ filteredResults = filteredResults.filter(function (item) {
243
+ return !ids.includes(item._id);
244
+ });
245
+ }
246
+ filteredResults = [].concat(promotedResults, filteredResults);
247
+ }
248
+ return {
249
+ data: filteredResults,
250
+ aggregationData: aggregationData,
251
+ rawData: rawData,
252
+ aggregations: aggregations,
253
+ promotedData: promotedResults,
254
+ resultStats: this.stats
255
+ };
256
+ }
257
+ },
258
+ computed: {
259
+ stats: function stats() {
260
+ return getResultStats(this);
261
+ }
262
+ }
263
+ };
264
+ ReactiveComponent.hasInternalComponent = function (props) {
265
+ return !!props.defaultQuery;
266
+ };
267
+ var mapStateToProps = function mapStateToProps(state, props) {
268
+ return {
269
+ aggregations: state.aggregations[props.componentId] && state.aggregations[props.componentId] || null,
270
+ aggregationData: state.compositeAggregations[props.componentId] || [],
271
+ hits: state.hits[props.componentId] && state.hits[props.componentId].hits || [],
272
+ rawData: state.rawData[props.componentId],
273
+ error: state.error[props.componentId],
274
+ isLoading: state.isLoading[props.componentId],
275
+ selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
276
+ promotedResults: state.promotedResults[props.componentId] || [],
277
+ time: state.hits[props.componentId] && state.hits[props.componentId].time || 0,
278
+ total: state.hits[props.componentId] && state.hits[props.componentId].total,
279
+ hidden: state.hits[props.componentId] && state.hits[props.componentId].hidden,
280
+ componentProps: state.props[props.componentId]
281
+ };
282
+ };
283
+ var mapDispatchtoProps = {
284
+ setQueryOptions: setQueryOptions,
285
+ updateQuery: updateQuery,
286
+ setCustomQuery: setCustomQuery,
287
+ setDefaultQuery: setDefaultQuery
288
+ };
289
+ var ConnectedComponent = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(ReactiveComponent), {
290
+ componentType: constants.componentTypes.reactiveComponent
291
+ });
292
+ var RcConnected = PreferencesConsumer.PreferencesConsumer({
293
+ name: 'RcConnected',
294
+ render: function render() {
295
+ return vue.h(ConnectedComponent, null, this.$slots);
296
+ }
297
+ });
298
+ RcConnected.name = ReactiveComponent.name;
299
+ RcConnected.hasInternalComponent = ReactiveComponent.hasInternalComponent;
300
+ // Add componentType for SSR
301
+ RcConnected.componentType = constants.componentTypes.reactiveComponent;
302
+ RcConnected.install = function (Vue) {
303
+ Vue.component(RcConnected.name, RcConnected);
304
+ };
51
305
 
52
- exports.default = ReactiveComponent.ReactiveComponent;
306
+ exports.default = RcConnected;
@@ -23,9 +23,9 @@ var index = require('./index-1481798c.js');
23
23
  var ComponentWrapper = require('./ComponentWrapper-2dc930e1.js');
24
24
  var PreferencesConsumer = require('./PreferencesConsumer-2c69ac61.js');
25
25
  require('./Title-8802a218.js');
26
- var ListItem = require('./ListItem-23af8974.js');
26
+ var ListItem = require('./ListItem-7a682970.js');
27
27
  var Card = require('./Card-63968d94.js');
28
- var Flex = require('./Flex-d5675ea6.js');
28
+ var Flex = require('./Flex-ddde6d26.js');
29
29
 
30
30
  var _templateObject;
31
31
  var PoweredByImage = vueEmotion.styled('img')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 110px;\n"])));
@@ -12,7 +12,7 @@ require('@emotion/css');
12
12
  require('polished');
13
13
  var vueTypes = require('./vueTypes-1bf00978.js');
14
14
  var Title = require('./Title-8802a218.js');
15
- var ListItem = require('./ListItem-23af8974.js');
15
+ var ListItem = require('./ListItem-7a682970.js');
16
16
 
17
17
  var ResultListContent = {
18
18
  name: 'ResultListContent',
@@ -26,7 +26,7 @@ require('./Input-497be42a.js');
26
26
  require('compute-scroll-into-view');
27
27
  var Container = require('./Container-29f049b2.js');
28
28
  require('@appbaseio/reactivecore/lib/utils/suggestions');
29
- var utils = require('./utils-36b1b880.js');
29
+ var utils = require('./utils-c9bd5628.js');
30
30
 
31
31
  function _isSlot(s) {
32
32
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
@@ -23,7 +23,7 @@ var Input = require('./Input-497be42a.js');
23
23
  var Container = require('./Container-29f049b2.js');
24
24
  var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
25
25
  var FormControlList = require('./FormControlList-fadd792f.js');
26
- var utils = require('./utils-36b1b880.js');
26
+ var utils = require('./utils-c9bd5628.js');
27
27
 
28
28
  var updateQuery = reactivecore.Actions.updateQuery,
29
29
  setQueryOptions = reactivecore.Actions.setQueryOptions,
package/dist/cjs/index.js CHANGED
@@ -22,9 +22,9 @@ require('./index-1481798c.js');
22
22
  require('./ComponentWrapper-2dc930e1.js');
23
23
  require('./PreferencesConsumer-2c69ac61.js');
24
24
  require('./Title-8802a218.js');
25
- require('./ListItem-23af8974.js');
25
+ require('./ListItem-7a682970.js');
26
26
  require('./Card-63968d94.js');
27
- require('./Flex-d5675ea6.js');
27
+ require('./Flex-ddde6d26.js');
28
28
  require('@appbaseio/reactivecore/lib');
29
29
  require('@appbaseio/reactivecore/lib/actions/analytics');
30
30
  require('appbase-js');
@@ -32,7 +32,7 @@ require('@appbaseio/analytics');
32
32
  require('url-search-params-polyfill');
33
33
  var ReactiveBase = require('./ReactiveBase.js');
34
34
  require('hotkeys-js');
35
- var ReactiveComponent = require('./ReactiveComponent-8180c806.js');
35
+ var install = require('./install-2c548585.js');
36
36
  require('./DropDown-f48bea16.js');
37
37
  require('./Input-497be42a.js');
38
38
  require('compute-scroll-into-view');
@@ -40,12 +40,14 @@ require('./Container-29f049b2.js');
40
40
  require('vue-highlight-words');
41
41
  require('@appbaseio/reactivecore/lib/utils/suggestions');
42
42
  require('./FormControlList-fadd792f.js');
43
- require('./utils-36b1b880.js');
43
+ require('./utils-c9bd5628.js');
44
44
  var SingleList = require('./SingleList.js');
45
45
  var MultiList = require('./MultiList.js');
46
+ require('@appbaseio/reactivecore/lib/utils/types');
46
47
  var SingleDropdownList = require('./SingleDropdownList.js');
47
48
  var MultiDropdownList = require('./MultiDropdownList.js');
48
49
  var ToggleButton = require('./ToggleButton.js');
50
+ var ReactiveComponent = require('./ReactiveComponent.js');
49
51
  require('./ssr-8dd13d43.js');
50
52
  var DynamicRangeSlider = require('./DynamicRangeSlider.js');
51
53
  var SingleRange = require('./SingleRange.js');
@@ -63,15 +65,14 @@ require('vue/server-renderer');
63
65
  require('@appbaseio/reactivecore/lib/utils/server');
64
66
  var initReactivesearch = require('./initReactivesearch.js');
65
67
  var version = require('./version.js');
66
- var install = require('./install.js');
67
68
 
68
69
  // Add polyfills to support in IE
69
70
  if (typeof window !== 'undefined' && window.Vue) {
70
- install.default(window.Vue);
71
+ install.install(window.Vue);
71
72
  }
72
73
  var index = {
73
74
  version: version.default,
74
- install: install.default
75
+ install: install.install
75
76
  };
76
77
 
77
78
  Object.defineProperty(exports, 'componentTypes', {
@@ -82,13 +83,16 @@ Object.defineProperty(exports, 'componentTypes', {
82
83
  });
83
84
  exports.ReactiveList = ReactiveList.default;
84
85
  exports.ReactiveBase = ReactiveBase.default;
85
- exports.ReactiveComponent = ReactiveComponent.ReactiveComponent;
86
- exports.SearchBox = ReactiveComponent.SearchBox;
86
+ exports.ReactiveComponentPrivate = install.ReactiveComponentPrivate;
87
+ exports.SearchBox = install.SearchBox;
88
+ exports.TreeList = install.TreeList;
89
+ exports.install = install.install;
87
90
  exports.SingleList = SingleList.default;
88
91
  exports.MultiList = MultiList.default;
89
92
  exports.SingleDropdownList = SingleDropdownList.default;
90
93
  exports.MultiDropdownList = MultiDropdownList.default;
91
94
  exports.ToggleButton = ToggleButton.default;
95
+ exports.ReactiveComponent = ReactiveComponent.default;
92
96
  exports.DynamicRangeSlider = DynamicRangeSlider.default;
93
97
  exports.SingleRange = SingleRange.default;
94
98
  exports.MultiRange = MultiRange.default;
@@ -101,5 +105,4 @@ exports.StateProvider = StateProvider.default;
101
105
  exports.ReactiveGoogleMap = ReactiveGoogleMap.default;
102
106
  exports.getServerState = initReactivesearch.default;
103
107
  exports.version = version.default;
104
- exports.install = install.default;
105
108
  exports.default = index;