@appbaseio/reactivesearch-vue 1.32.4 → 1.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +2558 -2390
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +14 -9
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/{ComponentWrapper-ad3dad02.js → ComponentWrapper-981ab977.js} +7 -6
  6. package/dist/cjs/{DataSearch-b51a5d0f.js → DataSearch-c42d8681.js} +11 -8
  7. package/dist/cjs/DataSearch.js +6 -4
  8. package/dist/cjs/DropDown-c479bbb0.js +1 -1
  9. package/dist/cjs/DynamicRangeSlider.js +5 -3
  10. package/dist/cjs/MultiDropdownList.js +10 -6
  11. package/dist/cjs/MultiList.js +11 -6
  12. package/dist/cjs/MultiRange.js +7 -5
  13. package/dist/cjs/PreferencesConsumer-4707bd94.js +87 -0
  14. package/dist/cjs/RangeInput.js +7 -5
  15. package/dist/cjs/RangeSlider.js +6 -5
  16. package/dist/cjs/ReactiveBase.js +6 -4
  17. package/dist/cjs/{install-add725fe.js → ReactiveComponent-63ef70c2.js} +407 -22
  18. package/dist/cjs/ReactiveComponent.js +48 -340
  19. package/dist/cjs/ReactiveGoogleMap.js +6 -5
  20. package/dist/cjs/ReactiveList.js +6 -5
  21. package/dist/cjs/SelectedFilters.js +2 -2
  22. package/dist/cjs/SingleDropdownList.js +10 -6
  23. package/dist/cjs/SingleList.js +12 -6
  24. package/dist/cjs/SingleRange.js +7 -5
  25. package/dist/cjs/StateProvider.js +2 -2
  26. package/dist/cjs/ToggleButton.js +8 -6
  27. package/dist/cjs/{index-6a167fe0.js → index-08f8dfa3.js} +1 -1
  28. package/dist/cjs/index.js +28 -21
  29. package/dist/cjs/initReactivesearch.js +1 -1
  30. package/dist/cjs/install.js +30 -24
  31. package/dist/cjs/version.js +1 -1
  32. package/dist/es/{ComponentWrapper-424e86fd.js → ComponentWrapper-d5e814a4.js} +7 -6
  33. package/dist/es/{DataSearch-c40e26c7.js → DataSearch-d56bf07a.js} +11 -9
  34. package/dist/es/DataSearch.js +5 -4
  35. package/dist/es/DropDown-05a644a5.js +1 -1
  36. package/dist/es/DynamicRangeSlider.js +5 -3
  37. package/dist/es/MultiDropdownList.js +10 -6
  38. package/dist/es/MultiList.js +11 -6
  39. package/dist/es/MultiRange.js +7 -5
  40. package/dist/es/PreferencesConsumer-4169deb1.js +85 -0
  41. package/dist/es/RangeInput.js +7 -5
  42. package/dist/es/RangeSlider.js +6 -5
  43. package/dist/es/ReactiveBase.js +6 -4
  44. package/dist/es/{install-5b8c657a.js → ReactiveComponent-9e4721e1.js} +418 -33
  45. package/dist/es/ReactiveComponent.js +44 -337
  46. package/dist/es/ReactiveGoogleMap.js +6 -5
  47. package/dist/es/ReactiveList.js +6 -5
  48. package/dist/es/SelectedFilters.js +2 -2
  49. package/dist/es/SingleDropdownList.js +10 -6
  50. package/dist/es/SingleList.js +12 -6
  51. package/dist/es/SingleRange.js +7 -5
  52. package/dist/es/StateProvider.js +2 -2
  53. package/dist/es/ToggleButton.js +8 -6
  54. package/dist/es/{index-7788a843.js → index-99c5f9c9.js} +1 -1
  55. package/dist/es/index.js +14 -13
  56. package/dist/es/initReactivesearch.js +1 -1
  57. package/dist/es/install.js +32 -22
  58. package/dist/es/version.js +1 -1
  59. package/package.json +2 -2
@@ -4,11 +4,11 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
4
4
 
5
5
  var configureStore = require('@appbaseio/reactivecore');
6
6
  var configureStore__default = _interopDefault(configureStore);
7
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
7
8
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
8
9
  var VueTypes = _interopDefault(require('vue-types'));
9
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
10
10
  var transform = require('@appbaseio/reactivecore/lib/utils/transform');
11
- var index = require('./index-6a167fe0.js');
11
+ var index = require('./index-08f8dfa3.js');
12
12
 
13
13
  var addComponent = configureStore.Actions.addComponent,
14
14
  removeComponent = configureStore.Actions.removeComponent,
@@ -144,19 +144,20 @@ var ComponentWrapper = function ComponentWrapper(component, options) {
144
144
  },
145
145
  methods: {
146
146
  setReact: function setReact(props) {
147
- var react = props.react;
147
+ var react = props.react,
148
+ executeInitialQuery = props.executeInitialQuery;
148
149
 
149
150
  if (this.internalComponent) {
150
151
  if (react) {
151
152
  var newReact = pushToAndClause(react, this.internalComponent);
152
- this.watchComponent(props.componentId, newReact);
153
+ this.watchComponent(props.componentId, newReact, executeInitialQuery);
153
154
  } else {
154
155
  this.watchComponent(props.componentId, {
155
156
  and: this.internalComponent
156
- });
157
+ }, executeInitialQuery);
157
158
  }
158
159
  } else {
159
- this.watchComponent(props.componentId, react);
160
+ this.watchComponent(props.componentId, react, executeInitialQuery);
160
161
  }
161
162
  }
162
163
  },
@@ -4,15 +4,16 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
4
4
 
5
5
  var configureStore = require('@appbaseio/reactivecore');
6
6
  var configureStore__default = _interopDefault(configureStore);
7
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
7
8
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
8
9
  var VueTypes = _interopDefault(require('vue-types'));
9
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
10
10
  var helper = require('@appbaseio/reactivecore/lib/utils/helper');
11
11
  var styled = require('@appbaseio/vue-emotion');
12
12
  var styled__default = _interopDefault(styled);
13
13
  var vueTypes = require('./vueTypes-727b7c63.js');
14
- var index = require('./index-6a167fe0.js');
15
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
14
+ var index = require('./index-08f8dfa3.js');
15
+ var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
16
+ var PreferencesConsumer = require('./PreferencesConsumer-4707bd94.js');
16
17
  var Title = require('./Title-1de7d0f4.js');
17
18
  var Flex = require('./Flex-aa517a13.js');
18
19
  var hotkeys = _interopDefault(require('hotkeys-js'));
@@ -993,6 +994,7 @@ var DataSearch = {
993
994
 
994
995
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
995
996
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
997
+ this.updateDefaultQueryHandler(this.currentValue, this.$props, false);
996
998
  },
997
999
  computed: {
998
1000
  suggestionsList: function suggestionsList() {
@@ -1427,7 +1429,7 @@ var DataSearch = {
1427
1429
 
1428
1430
  checkValueChange(props.componentId, value, props.beforeValueChange, performUpdate);
1429
1431
  },
1430
- updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
1432
+ updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props, execute) {
1431
1433
  if (!value && props.enableDefaultSuggestions === false) {
1432
1434
  // clear Component data from store
1433
1435
  this.resetStoreForComponent(props.componentId);
@@ -1450,13 +1452,13 @@ var DataSearch = {
1450
1452
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
1451
1453
  }
1452
1454
 
1453
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, this.queryOptions, defaultQueryOptions), false);
1455
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, this.queryOptions, defaultQueryOptions), execute);
1454
1456
  this.updateQuery({
1455
1457
  componentId: this.internalComponent,
1456
1458
  query: query,
1457
1459
  value: value,
1458
1460
  componentType: constants.componentTypes.dataSearch
1459
- });
1461
+ }, execute);
1460
1462
  },
1461
1463
  updateQueryHandler: function updateQueryHandler(componentId, value, props) {
1462
1464
  var customQuery = props.customQuery,
@@ -2313,10 +2315,10 @@ var mapDispatchToProps = {
2313
2315
  getRecentSearches: getRecentSearches,
2314
2316
  resetStoreForComponent: resetStoreForComponent
2315
2317
  };
2316
- var DSConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchToProps)(DataSearch), {
2318
+ var DSConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchToProps)(DataSearch), {
2317
2319
  componentType: constants.componentTypes.dataSearch,
2318
2320
  internalComponent: DataSearch.hasInternalComponent()
2319
- });
2321
+ }));
2320
2322
 
2321
2323
  DataSearch.install = function (Vue) {
2322
2324
  Vue.component(DataSearch.name, DSConnected);
@@ -2326,6 +2328,7 @@ DataSearch.install = function (Vue) {
2326
2328
  DataSearch.componentType = constants.componentTypes.dataSearch;
2327
2329
 
2328
2330
  exports.CustomSvg = CustomSvg;
2331
+ exports.DSConnected = DSConnected;
2329
2332
  exports.DataSearch = DataSearch;
2330
2333
  exports.InputAddon = InputAddon;
2331
2334
  exports.InputGroup = InputGroup;
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('@appbaseio/reactivecore');
6
+ require('@appbaseio/reactivecore/lib/utils/constants');
6
7
  require('./_rollupPluginBabelHelpers-c705cbe6.js');
7
8
  require('vue-types');
8
- require('@appbaseio/reactivecore/lib/utils/constants');
9
9
  require('@appbaseio/reactivecore/lib/utils/helper');
10
10
  require('emotion');
11
11
  require('@appbaseio/vue-emotion');
@@ -13,12 +13,13 @@ require('polished');
13
13
  require('./vueTypes-727b7c63.js');
14
14
  require('@appbaseio/reactivecore/lib/utils/transform');
15
15
  require('redux');
16
- require('./index-6a167fe0.js');
17
- require('./ComponentWrapper-ad3dad02.js');
16
+ require('./index-08f8dfa3.js');
17
+ require('./ComponentWrapper-981ab977.js');
18
+ require('./PreferencesConsumer-4707bd94.js');
18
19
  require('./Title-1de7d0f4.js');
19
20
  require('./Flex-aa517a13.js');
20
21
  require('hotkeys-js');
21
- var DataSearch = require('./DataSearch-b51a5d0f.js');
22
+ var DataSearch = require('./DataSearch-c42d8681.js');
22
23
  require('./CancelSvg-9f258f4f.js');
23
24
  require('./Input-e6603a7e.js');
24
25
  require('compute-scroll-into-view');
@@ -27,4 +28,5 @@ require('vue-highlight-words');
27
28
 
28
29
 
29
30
 
31
+ exports.DSConnected = DataSearch.DSConnected;
30
32
  exports.default = DataSearch.DataSearch;
@@ -10,7 +10,7 @@ var emotion = require('emotion');
10
10
  var styled = require('@appbaseio/vue-emotion');
11
11
  var styled__default = _interopDefault(styled);
12
12
  var vueTypes = require('./vueTypes-727b7c63.js');
13
- var index = require('./index-6a167fe0.js');
13
+ var index = require('./index-08f8dfa3.js');
14
14
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
15
15
  var CancelSvg = require('./CancelSvg-9f258f4f.js');
16
16
  var Input = require('./Input-e6603a7e.js');
@@ -6,13 +6,14 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
10
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
11
  var VueTypes = _interopDefault(require('vue-types'));
11
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('@appbaseio/vue-emotion');
13
13
  var vueTypes = require('./vueTypes-727b7c63.js');
14
14
  require('redux');
15
- var index = require('./index-6a167fe0.js');
15
+ var index = require('./index-08f8dfa3.js');
16
+ var PreferencesConsumer = require('./PreferencesConsumer-4707bd94.js');
16
17
  var Title = require('./Title-1de7d0f4.js');
17
18
  var Container = require('./Container-daf30918.js');
18
19
  var NoSSR = _interopDefault(require('vue-no-ssr'));
@@ -457,7 +458,7 @@ var mapDispatchtoProps = {
457
458
  setCustomQuery: setCustomQuery,
458
459
  updateComponentProps: updateComponentProps
459
460
  };
460
- var RangeConnected = index.connect(mapStateToProps, mapDispatchtoProps)(DynamicRangeSlider);
461
+ var RangeConnected = PreferencesConsumer.PreferencesConsumer(index.connect(mapStateToProps, mapDispatchtoProps)(DynamicRangeSlider));
461
462
 
462
463
  DynamicRangeSlider.install = function (Vue) {
463
464
  Vue.component(DynamicRangeSlider.name, RangeConnected);
@@ -466,4 +467,5 @@ DynamicRangeSlider.install = function (Vue) {
466
467
 
467
468
  DynamicRangeSlider.componentType = constants.componentTypes.dynamicRangeSlider;
468
469
 
470
+ exports.RangeConnected = RangeConnected;
469
471
  exports.default = DynamicRangeSlider;
@@ -6,9 +6,9 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
10
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
11
  var VueTypes = _interopDefault(require('vue-types'));
11
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
@@ -16,8 +16,9 @@ var Button = require('./Button-0673191e.js');
16
16
  var vueTypes = require('./vueTypes-727b7c63.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-6a167fe0.js');
20
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
19
+ var index = require('./index-08f8dfa3.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
21
+ var PreferencesConsumer = require('./PreferencesConsumer-4707bd94.js');
21
22
  require('@vue/babel-helper-vue-jsx-merge-props');
22
23
  var Title = require('./Title-1de7d0f4.js');
23
24
  require('./CancelSvg-9f258f4f.js');
@@ -229,7 +230,8 @@ var MultiDropdownList = {
229
230
 
230
231
  if (this.$props.selectAllLabel) {
231
232
  selectAll = [{
232
- key: this.$props.selectAllLabel
233
+ key: this.$props.selectAllLabel,
234
+ doc_count: this.totalDocumentCount
233
235
  }];
234
236
  }
235
237
 
@@ -576,6 +578,7 @@ var mapStateToProps = function mapStateToProps(state, props) {
576
578
  rawData: state.rawData[props.componentId],
577
579
  isLoading: state.isLoading[props.componentId],
578
580
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
581
+ totalDocumentCount: state.hits[props.componentId] && state.hits[props.componentId].total,
579
582
  themePreset: state.config.themePreset,
580
583
  error: state.error[props.componentId],
581
584
  componentProps: state.props[props.componentId],
@@ -589,10 +592,10 @@ var mapDispatchtoProps = {
589
592
  setCustomQuery: setCustomQuery,
590
593
  setDefaultQuery: setDefaultQuery
591
594
  };
592
- var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
595
+ var ListConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
593
596
  componentType: constants.componentTypes.multiDropdownList,
594
597
  internalComponent: MultiDropdownList.hasInternalComponent()
595
- });
598
+ }));
596
599
 
597
600
  MultiDropdownList.install = function (Vue) {
598
601
  Vue.component(MultiDropdownList.name, ListConnected);
@@ -601,4 +604,5 @@ MultiDropdownList.install = function (Vue) {
601
604
 
602
605
  MultiDropdownList.componentType = constants.componentTypes.multiDropdownList;
603
606
 
607
+ exports.ListConnected = ListConnected;
604
608
  exports.default = MultiDropdownList;
@@ -6,17 +6,18 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
10
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
11
  var VueTypes = _interopDefault(require('vue-types'));
11
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
15
  var vueTypes = require('./vueTypes-727b7c63.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-6a167fe0.js');
19
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
18
+ var index = require('./index-08f8dfa3.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
20
+ var PreferencesConsumer = require('./PreferencesConsumer-4707bd94.js');
20
21
  var Title = require('./Title-1de7d0f4.js');
21
22
  var Input = require('./Input-e6603a7e.js');
22
23
  var Container = require('./Container-daf30918.js');
@@ -232,7 +233,9 @@ var MultiList = {
232
233
  "attrs": {
233
234
  "for": this.$props.componentId + "-" + selectAllLabel
234
235
  }
235
- }, [selectAllLabel])]) : null, !this.hasCustomRenderer && filteredItemsToRender.length === 0 && !this.isLoading ? this.renderNoResult() : filteredItemsToRender.map(function (item) {
236
+ }, [h("span", [selectAllLabel, this.$props.showCount && h("span", {
237
+ "class": getClassName(this.$props.innerClass, 'count')
238
+ }, ["\xA0(", this.totalDocumentCount, ")"])])])]) : null, !this.hasCustomRenderer && filteredItemsToRender.length === 0 && !this.isLoading ? this.renderNoResult() : filteredItemsToRender.map(function (item) {
236
239
  return h("li", {
237
240
  "key": item.key,
238
241
  "class": "" + (_this2.$data.currentValue[item.key] ? 'active' : '')
@@ -589,6 +592,7 @@ var mapStateToProps = function mapStateToProps(state, props) {
589
592
  isLoading: state.isLoading[props.componentId],
590
593
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
591
594
  themePreset: state.config.themePreset,
595
+ totalDocumentCount: state.hits[props.componentId] && state.hits[props.componentId].total,
592
596
  error: state.error[props.componentId],
593
597
  componentProps: state.props[props.componentId],
594
598
  enableAppbase: state.config.enableAppbase
@@ -606,10 +610,10 @@ MultiList.hasInternalComponent = function () {
606
610
  return true;
607
611
  };
608
612
 
609
- var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiList), {
613
+ var ListConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiList), {
610
614
  componentType: constants.componentTypes.multiList,
611
615
  internalComponent: MultiList.hasInternalComponent()
612
- });
616
+ }));
613
617
 
614
618
  MultiList.install = function (Vue) {
615
619
  Vue.component(MultiList.name, ListConnected);
@@ -618,4 +622,5 @@ MultiList.install = function (Vue) {
618
622
 
619
623
  MultiList.componentType = constants.componentTypes.multiList;
620
624
 
625
+ exports.ListConnected = ListConnected;
621
626
  exports.default = MultiList;
@@ -6,17 +6,18 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
10
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
11
  var VueTypes = _interopDefault(require('vue-types'));
11
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
15
  var vueTypes = require('./vueTypes-727b7c63.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-6a167fe0.js');
19
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
18
+ var index = require('./index-08f8dfa3.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
20
+ var PreferencesConsumer = require('./PreferencesConsumer-4707bd94.js');
20
21
  var Title = require('./Title-1de7d0f4.js');
21
22
  var Container = require('./Container-daf30918.js');
22
23
  var FormControlList = require('./FormControlList-c195a592.js');
@@ -304,9 +305,9 @@ var mapDispatchtoProps = {
304
305
  setQueryOptions: setQueryOptions,
305
306
  setCustomQuery: setCustomQuery
306
307
  };
307
- var RangeConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiRange), {
308
+ var RangeConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiRange), {
308
309
  componentType: constants.componentTypes.multiRange
309
- });
310
+ }));
310
311
 
311
312
  MultiRange.install = function (Vue) {
312
313
  Vue.component(MultiRange.name, RangeConnected);
@@ -315,4 +316,5 @@ MultiRange.install = function (Vue) {
315
316
 
316
317
  MultiRange.componentType = constants.componentTypes.multiRange;
317
318
 
319
+ exports.RangeConnected = RangeConnected;
318
320
  exports.default = MultiRange;
@@ -0,0 +1,87 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
4
+ var index = require('./index-08f8dfa3.js');
5
+
6
+ var deepValue = function deepValue(o, p) {
7
+ return p.split('.').reduce(function (a, v) {
8
+ return a ? a[v] : null;
9
+ }, o);
10
+ };
11
+ /**
12
+ * PreferencesConsumer reads the preferences from SearchPreferencesContext
13
+ * and set the props from preferences to the component
14
+ *
15
+ */
16
+
17
+
18
+ var PreferencesConsumer = function PreferencesConsumer(component) {
19
+ return {
20
+ name: 'PreferencesConsumer',
21
+ inject: {
22
+ $searchPreferences: {
23
+ "default": null
24
+ }
25
+ },
26
+ render: function render(h) {
27
+ var _this = this;
28
+
29
+ var userProps = Object.keys(this.$attrs).reduce(function (result, key) {
30
+ var _extends2;
31
+
32
+ return _rollupPluginBabelHelpers._extends({}, result, (_extends2 = {}, _extends2[index.getCamelCase(key)] = _this.$attrs[key], _extends2));
33
+ }, {});
34
+ var context = this.$searchPreferences;
35
+
36
+ if (!userProps || !userProps.componentId) {
37
+ throw Error('ReactiveSearch: componentId is required');
38
+ }
39
+
40
+ var componentId = userProps.componentId;
41
+ var preferencesPath = userProps.preferencesPath;
42
+ var preferences;
43
+
44
+ if (context) {
45
+ if (preferencesPath) {
46
+ // read preferences from path
47
+ preferences = deepValue(context, preferencesPath);
48
+ } else {
49
+ preferences = deepValue(context, ['componentSettings', componentId].join('.')); // read preferences from componentSettings
50
+ }
51
+ } // Retrieve component specific preferences
52
+
53
+
54
+ var componentProps = userProps;
55
+
56
+ if (preferences) {
57
+ if (preferences.rsConfig) {
58
+ componentProps = _rollupPluginBabelHelpers._extends({}, preferences.rsConfig, componentProps);
59
+ } else {
60
+ componentProps = _rollupPluginBabelHelpers._extends({}, preferences, componentProps);
61
+ }
62
+
63
+ if (preferences.enabled !== undefined && !preferences.enabled) {
64
+ return null;
65
+ }
66
+ } // Parse component props
67
+
68
+
69
+ Object.keys(componentProps).forEach(function (p) {
70
+ if (typeof componentProps[p] === 'string') {
71
+ if (['defaultQuery', 'customQuery', 'setOption'].includes(p)) {
72
+ // eslint-disable-next-line
73
+ componentProps[p] = eval(componentProps[p]);
74
+ }
75
+ }
76
+ });
77
+ return h(component, {
78
+ attrs: componentProps,
79
+ on: this.$listeners,
80
+ scopedSlots: this.$scopedSlots,
81
+ slots: this.$slots
82
+ });
83
+ }
84
+ };
85
+ };
86
+
87
+ exports.PreferencesConsumer = PreferencesConsumer;
@@ -6,9 +6,9 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
10
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
11
  var VueTypes = _interopDefault(require('vue-types'));
11
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  var emotion = require('emotion');
13
13
  var styled = require('@appbaseio/vue-emotion');
14
14
  var styled__default = _interopDefault(styled);
@@ -16,8 +16,9 @@ require('polished');
16
16
  var vueTypes = require('./vueTypes-727b7c63.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-6a167fe0.js');
20
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
19
+ var index = require('./index-08f8dfa3.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
21
+ var PreferencesConsumer = require('./PreferencesConsumer-4707bd94.js');
21
22
  require('./Title-1de7d0f4.js');
22
23
  var Flex = require('./Flex-aa517a13.js');
23
24
  var Input = require('./Input-e6603a7e.js');
@@ -333,9 +334,9 @@ var mapStateToProps = function mapStateToProps(state) {
333
334
  };
334
335
  };
335
336
 
336
- var RangeConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, {})(RangeInput), {
337
+ var RangeConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, {})(RangeInput), {
337
338
  componentType: constants.componentTypes.rangeInput
338
- });
339
+ }));
339
340
 
340
341
  RangeInput.install = function (Vue) {
341
342
  Vue.component(RangeInput.name, RangeConnected);
@@ -344,4 +345,5 @@ RangeInput.install = function (Vue) {
344
345
 
345
346
  RangeInput.componentType = constants.componentTypes.rangeInput;
346
347
 
348
+ exports.RangeConnected = RangeConnected;
347
349
  exports.default = RangeInput;
@@ -6,15 +6,16 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
+ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
10
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
11
  var VueTypes = _interopDefault(require('vue-types'));
11
- var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('@appbaseio/vue-emotion');
13
13
  var vueTypes = require('./vueTypes-727b7c63.js');
14
14
  require('@appbaseio/reactivecore/lib/utils/transform');
15
15
  require('redux');
16
- var index = require('./index-6a167fe0.js');
17
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
16
+ var index = require('./index-08f8dfa3.js');
17
+ var ComponentWrapper = require('./ComponentWrapper-981ab977.js');
18
+ var PreferencesConsumer = require('./PreferencesConsumer-4707bd94.js');
18
19
  var Title = require('./Title-1de7d0f4.js');
19
20
  var Container = require('./Container-daf30918.js');
20
21
  var NoSSR = _interopDefault(require('vue-no-ssr'));
@@ -285,9 +286,9 @@ var mapDispatchtoProps = {
285
286
  setQueryOptions: setQueryOptions,
286
287
  setCustomQuery: setCustomQuery
287
288
  };
288
- var RangeConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(RangeSlider), {
289
+ var RangeConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(RangeSlider), {
289
290
  componentType: constants.componentTypes.rangeSlider
290
- });
291
+ }));
291
292
 
292
293
  RangeSlider.install = function (Vue) {
293
294
  Vue.component(RangeSlider.name, RangeConnected);
@@ -6,15 +6,15 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
+ require('@appbaseio/reactivecore/lib/utils/constants');
9
10
  var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
11
  var VueTypes = _interopDefault(require('vue-types'));
11
- require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  var helper = require('@appbaseio/reactivecore/lib/utils/helper');
13
13
  var styled = require('@appbaseio/vue-emotion');
14
14
  var styled__default = _interopDefault(styled);
15
15
  var vueTypes = require('./vueTypes-727b7c63.js');
16
16
  require('redux');
17
- var index = require('./index-6a167fe0.js');
17
+ var index = require('./index-08f8dfa3.js');
18
18
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
19
19
  var analytics = require('@appbaseio/reactivecore/lib/actions/analytics');
20
20
  var Appbase = _interopDefault(require('appbase-js'));
@@ -392,12 +392,14 @@ var ReactiveBase = {
392
392
  getSearchParams: vueTypes.types.func,
393
393
  setSearchParams: vueTypes.types.func,
394
394
  mongodb: vueTypes.types.mongodb,
395
- endpoint: vueTypes.types.endpointConfig
395
+ endpoint: vueTypes.types.endpointConfig,
396
+ preferences: VueTypes.object
396
397
  },
397
398
  provide: function provide() {
398
399
  return {
399
400
  theme_reactivesearch: index.composeThemeObject(getTheme(this.$props.themePreset), this.$props.theme),
400
- store: this.store
401
+ store: this.store,
402
+ $searchPreferences: this.preferences
401
403
  };
402
404
  },
403
405
  watch: {