@appbaseio/reactivesearch-vue 1.16.0-alpha.4 → 1.16.0-alpha.42

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 (101) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +8110 -7499
  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/Button-d2f1aeda.js +68 -0
  6. package/dist/cjs/{DownShift-b09da079.js → CancelSvg-82021d23.js} +60 -16
  7. package/dist/cjs/Card-4b915733.js +30 -0
  8. package/dist/cjs/{ComponentWrapper-5a0a8849.js → ComponentWrapper-7302fe1a.js} +40 -21
  9. package/dist/cjs/{Container-f84e72fc.js → Container-8a08d663.js} +3 -11
  10. package/dist/cjs/DataSearch.js +354 -398
  11. package/dist/cjs/{DropDown-c66be1a8.js → DropDown-c46d8b0c.js} +80 -95
  12. package/dist/cjs/DynamicRangeSlider.js +107 -42
  13. package/dist/cjs/Flex-699639d2.js +52 -0
  14. package/dist/cjs/FormControlList-73497794.js +47 -0
  15. package/dist/cjs/Input-c6f181d5.js +79 -0
  16. package/dist/cjs/ListItem-933c27e4.js +46 -0
  17. package/dist/cjs/MultiDropdownList.js +101 -65
  18. package/dist/cjs/MultiList.js +79 -47
  19. package/dist/cjs/MultiRange.js +20 -14
  20. package/dist/cjs/{Pagination-91df3b77.js → Pagination-1b2320a7.js} +4 -3
  21. package/dist/cjs/RangeInput.js +29 -45
  22. package/dist/cjs/RangeSlider.js +31 -28
  23. package/dist/cjs/ReactiveBase.js +55 -34
  24. package/dist/cjs/ReactiveComponent.js +69 -62
  25. package/dist/cjs/ReactiveGoogleMap.js +326 -235
  26. package/dist/cjs/ReactiveList.js +188 -241
  27. package/dist/cjs/ResultCard.js +8 -6
  28. package/dist/cjs/ResultList.js +8 -6
  29. package/dist/cjs/SelectedFilters.js +25 -12
  30. package/dist/cjs/SingleDropdownList.js +87 -57
  31. package/dist/cjs/SingleList.js +60 -37
  32. package/dist/cjs/SingleRange.js +17 -11
  33. package/dist/cjs/StateProvider.js +11 -7
  34. package/dist/cjs/{Title-e9beb554.js → Title-39765ee6.js} +3 -11
  35. package/dist/cjs/ToggleButton.js +35 -16
  36. package/dist/cjs/{_rollupPluginBabelHelpers-280a574c.js → _rollupPluginBabelHelpers-4abdbfff.js} +11 -1
  37. package/dist/cjs/{index-e0583d76.js → index-d44a0a21.js} +87 -13
  38. package/dist/cjs/index.js +23 -19
  39. package/dist/cjs/initReactivesearch.js +190 -103
  40. package/dist/cjs/install.js +20 -18
  41. package/dist/cjs/ssr-c333c82c.js +39 -0
  42. package/dist/cjs/{utils-d1ea9f95.js → utils-23afb20b.js} +2 -2
  43. package/dist/cjs/version.js +1 -1
  44. package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
  45. package/dist/es/Button-799185e2.js +59 -0
  46. package/dist/es/{DownShift-d8f2500f.js → CancelSvg-4d9e0857.js} +56 -17
  47. package/dist/es/Card-04b3c33e.js +23 -0
  48. package/dist/es/{ComponentWrapper-d0b21b95.js → ComponentWrapper-bbb717bc.js} +40 -21
  49. package/dist/es/Container-4383c6f0.js +10 -0
  50. package/dist/es/DataSearch.js +352 -396
  51. package/dist/es/{DropDown-5dbd69c2.js → DropDown-4edaa621.js} +79 -94
  52. package/dist/es/DynamicRangeSlider.js +107 -42
  53. package/dist/es/Flex-aac91505.js +47 -0
  54. package/dist/es/FormControlList-fe389a2e.js +40 -0
  55. package/dist/es/Input-d8519224.js +71 -0
  56. package/dist/es/ListItem-bdb6d53d.js +39 -0
  57. package/dist/es/MultiDropdownList.js +101 -65
  58. package/dist/es/MultiList.js +79 -47
  59. package/dist/es/MultiRange.js +20 -14
  60. package/dist/es/{Pagination-800af44f.js → Pagination-b3e4054a.js} +4 -3
  61. package/dist/es/RangeInput.js +29 -45
  62. package/dist/es/RangeSlider.js +31 -28
  63. package/dist/es/ReactiveBase.js +55 -34
  64. package/dist/es/ReactiveComponent.js +69 -62
  65. package/dist/es/ReactiveGoogleMap.js +326 -235
  66. package/dist/es/ReactiveList.js +188 -241
  67. package/dist/es/ResultCard.js +8 -6
  68. package/dist/es/ResultList.js +8 -6
  69. package/dist/es/SelectedFilters.js +25 -12
  70. package/dist/es/SingleDropdownList.js +87 -57
  71. package/dist/es/SingleList.js +60 -37
  72. package/dist/es/SingleRange.js +17 -11
  73. package/dist/es/StateProvider.js +11 -7
  74. package/dist/es/Title-579f8d6c.js +10 -0
  75. package/dist/es/ToggleButton.js +35 -16
  76. package/dist/es/{_rollupPluginBabelHelpers-c9fbe19f.js → _rollupPluginBabelHelpers-ecf6c03c.js} +11 -1
  77. package/dist/es/{index-1fe91a0a.js → index-5daa8276.js} +84 -14
  78. package/dist/es/index.js +23 -19
  79. package/dist/es/initReactivesearch.js +191 -104
  80. package/dist/es/install.js +20 -18
  81. package/dist/es/ssr-e3196de1.js +33 -0
  82. package/dist/es/{utils-ce3d86fd.js → utils-3a32e13f.js} +2 -2
  83. package/dist/es/version.js +1 -1
  84. package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
  85. package/package.json +7 -5
  86. package/dist/cjs/Button-78d8bc26.js +0 -146
  87. package/dist/cjs/Card-b4af314f.js +0 -58
  88. package/dist/cjs/Flex-737c55be.js +0 -160
  89. package/dist/cjs/FormControlList-08dfb28e.js +0 -105
  90. package/dist/cjs/Input-643d02a7.js +0 -178
  91. package/dist/cjs/ListItem-0c58c5d2.js +0 -84
  92. package/dist/cjs/ssr-b7a729f9.js +0 -47
  93. package/dist/es/Button-6c71c66e.js +0 -137
  94. package/dist/es/Card-ecf70ba1.js +0 -51
  95. package/dist/es/Container-f5efec9e.js +0 -18
  96. package/dist/es/Flex-40a74d8a.js +0 -155
  97. package/dist/es/FormControlList-b96aebef.js +0 -98
  98. package/dist/es/Input-dfd9dd40.js +0 -170
  99. package/dist/es/ListItem-da73bc7d.js +0 -77
  100. package/dist/es/Title-22c2f3bf.js +0 -18
  101. package/dist/es/ssr-2f57791d.js +0 -41
@@ -6,22 +6,23 @@ 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 _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
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
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-e0583d76.js');
19
- var ComponentWrapper = require('./ComponentWrapper-5a0a8849.js');
20
- var Title = require('./Title-e9beb554.js');
21
- var Input = require('./Input-643d02a7.js');
22
- var Container = require('./Container-f84e72fc.js');
23
- var FormControlList = require('./FormControlList-08dfb28e.js');
24
- var utils = require('./utils-d1ea9f95.js');
18
+ var index = require('./index-d44a0a21.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-7302fe1a.js');
20
+ var Title = require('./Title-39765ee6.js');
21
+ var Input = require('./Input-c6f181d5.js');
22
+ var Container = require('./Container-8a08d663.js');
23
+ var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
24
+ var FormControlList = require('./FormControlList-73497794.js');
25
+ var utils = require('./utils-23afb20b.js');
25
26
 
26
27
  var updateQuery = configureStore.Actions.updateQuery,
27
28
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -30,13 +31,14 @@ var updateQuery = configureStore.Actions.updateQuery,
30
31
  var getQueryOptions = configureStore.helper.getQueryOptions,
31
32
  checkValueChange = configureStore.helper.checkValueChange,
32
33
  getClassName = configureStore.helper.getClassName,
33
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
34
- isEqual = configureStore.helper.isEqual;
34
+ isEqual = configureStore.helper.isEqual,
35
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
36
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
35
37
  var SingleList = {
36
38
  name: 'SingleList',
37
39
  props: {
38
40
  beforeValueChange: vueTypes.types.func,
39
- className: vueTypes.types.string.def(''),
41
+ className: VueTypes.string.def(''),
40
42
  componentId: vueTypes.types.stringRequired,
41
43
  customQuery: vueTypes.types.func,
42
44
  dataField: vueTypes.types.stringRequired,
@@ -56,27 +58,34 @@ var SingleList = {
56
58
  showFilter: VueTypes.bool.def(true),
57
59
  showRadio: VueTypes.bool.def(true),
58
60
  showSearch: VueTypes.bool.def(true),
59
- size: VueTypes.number.def(100),
61
+ size: VueTypes.number,
60
62
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
61
63
  title: vueTypes.types.title,
62
64
  URLParams: VueTypes.bool.def(false),
63
65
  showMissing: VueTypes.bool.def(false),
64
66
  missingLabel: VueTypes.string.def('N/A'),
65
67
  nestedField: vueTypes.types.string,
68
+ index: VueTypes.string,
66
69
  enableStrictSelection: VueTypes.bool.def(false)
67
70
  },
68
71
  data: function data() {
69
72
  var props = this.$props;
70
73
  this.__state = {
71
74
  currentValue: '',
72
- modifiedOptions: props.options && props.options[props.dataField] ? props.options[props.dataField].buckets : [],
75
+ modifiedOptions: [],
73
76
  searchTerm: ''
74
77
  };
75
78
  this.internalComponent = props.componentId + "__internal";
76
79
  return this.__state;
77
80
  },
78
81
  created: function created() {
79
- // Set custom and default queries in store
82
+ if (!this.enableAppbase && this.$props.index) {
83
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
84
+ }
85
+
86
+ var props = this.$props;
87
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
88
+
80
89
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
81
90
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
82
91
  },
@@ -93,7 +102,9 @@ var SingleList = {
93
102
  },
94
103
  watch: {
95
104
  options: function options(newVal) {
96
- this.modifiedOptions = newVal[this.$props.dataField] ? newVal[this.$props.dataField].buckets : [];
105
+ if (newVal) {
106
+ this.modifiedOptions = newVal[this.$props.dataField] ? newVal[this.$props.dataField].buckets : [];
107
+ }
97
108
  },
98
109
  size: function size() {
99
110
  this.updateQueryHandlerOptions(this.$props);
@@ -136,8 +147,7 @@ var SingleList = {
136
147
  var _this$$props = this.$props,
137
148
  selectAllLabel = _this$$props.selectAllLabel,
138
149
  renderItem = _this$$props.renderItem,
139
- renderError = _this$$props.renderError,
140
- enableStrictSelection = _this$$props.enableStrictSelection;
150
+ renderError = _this$$props.renderError;
141
151
  var renderItemCalc = this.$scopedSlots.renderItem || renderItem;
142
152
  var renderErrorCalc = this.$scopedSlots.renderError || renderError;
143
153
 
@@ -145,8 +155,12 @@ var SingleList = {
145
155
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
146
156
  }
147
157
 
148
- if (!this.hasCustomRenderer && this.modifiedOptions.length === 0) {
149
- return null;
158
+ if (!this.hasCustomRenderer && this.modifiedOptions.length === 0 && !this.isLoading) {
159
+ if (this.renderNoResult) {
160
+ this.renderNoResult();
161
+ } else {
162
+ return null;
163
+ }
150
164
  }
151
165
 
152
166
  var itemsToRender = this.$data.modifiedOptions;
@@ -158,7 +172,7 @@ var SingleList = {
158
172
  var filteredItemsToRender = itemsToRender.filter(function (item) {
159
173
  if (String(item.key).length) {
160
174
  if (_this.$props.showSearch && _this.$data.searchTerm) {
161
- return String(item.key).toLowerCase().includes(_this.$data.searchTerm.toLowerCase());
175
+ return suggestions.replaceDiacritics(String(item.key)).toLowerCase().includes(suggestions.replaceDiacritics(_this.$data.searchTerm.toLowerCase()));
162
176
  }
163
177
 
164
178
  return true;
@@ -210,9 +224,7 @@ var SingleList = {
210
224
  "show": _this.$props.showRadio
211
225
  },
212
226
  "on": {
213
- "click": _this.$data.currentValue === String(item.key) && enableStrictSelection ? function () {
214
- return false;
215
- } : _this.handleClick
227
+ "click": _this.handleClick
216
228
  },
217
229
  "domProps": _rollupPluginBabelHelpers._extends({}, {
218
230
  checked: _this.currentValue === String(item.key)
@@ -263,17 +275,18 @@ var SingleList = {
263
275
 
264
276
  if (this.defaultQuery) {
265
277
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
278
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
266
279
 
267
- if (defaultQueryToBeSet.query) {
268
- query = defaultQueryToBeSet.query;
280
+ if (defaultQueryObj) {
281
+ query = defaultQueryObj;
269
282
  }
270
283
 
271
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
284
+ defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet); // Update calculated default query in store
272
285
 
273
286
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
274
287
  }
275
288
 
276
- this.setQueryOptions(this.internalComponent, defaultQueryOptions);
289
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
277
290
  this.updateQuery({
278
291
  componentId: this.internalComponent,
279
292
  query: query,
@@ -287,14 +300,13 @@ var SingleList = {
287
300
  var customQueryOptions;
288
301
 
289
302
  if (customQuery) {
290
- var _ref = customQuery(value, props) || {};
291
-
292
- query = _ref.query;
293
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
303
+ var customQueryCalc = customQuery(value, props);
304
+ query = extractQueryFromCustomQuery(customQueryCalc);
305
+ customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
294
306
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
295
307
  }
296
308
 
297
- this.setQueryOptions(props.componentId, customQueryOptions);
309
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
298
310
  this.updateQuery({
299
311
  componentId: props.componentId,
300
312
  query: query,
@@ -314,8 +326,8 @@ var SingleList = {
314
326
 
315
327
  if (props.defaultQuery) {
316
328
  var value = this.$data.currentValue;
317
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
318
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryOptions), defaultQueryOptions));
329
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
330
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
319
331
  } else {
320
332
  this.setQueryOptions(this.internalComponent, queryOptions);
321
333
  }
@@ -374,6 +386,10 @@ var SingleList = {
374
386
  currentValue = e.target.value;
375
387
  }
376
388
 
389
+ if (this.enableStrictSelection && currentValue === this.currentValue) {
390
+ return false;
391
+ }
392
+
377
393
  var value = this.$props.value;
378
394
 
379
395
  if (value === undefined) {
@@ -381,6 +397,8 @@ var SingleList = {
381
397
  } else {
382
398
  this.$emit('change', currentValue);
383
399
  }
400
+
401
+ return true;
384
402
  },
385
403
  renderNoResult: function renderNoResult() {
386
404
  var h = this.$createElement;
@@ -453,6 +471,10 @@ SingleList.defaultQuery = function (value, props) {
453
471
  return query;
454
472
  };
455
473
 
474
+ SingleList.hasInternalComponent = function () {
475
+ return true;
476
+ };
477
+
456
478
  var mapStateToProps = function mapStateToProps(state, props) {
457
479
  return {
458
480
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
@@ -461,7 +483,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
461
483
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || '',
462
484
  themePreset: state.config.themePreset,
463
485
  error: state.error[props.componentId],
464
- componentProps: state.props[props.componentId]
486
+ componentProps: state.props[props.componentId],
487
+ enableAppbase: state.config.enableAppbase
465
488
  };
466
489
  };
467
490
 
@@ -473,7 +496,7 @@ var mapDispatchtoProps = {
473
496
  };
474
497
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(SingleList), {
475
498
  componentType: constants.componentTypes.singleList,
476
- internalComponent: true
499
+ internalComponent: SingleList.hasInternalComponent()
477
500
  });
478
501
 
479
502
  SingleList.install = function (Vue) {
@@ -6,20 +6,20 @@ 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('./_rollupPluginBabelHelpers-280a574c.js');
9
+ require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  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-c21f265b.js');
15
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-e0583d76.js');
19
- var ComponentWrapper = require('./ComponentWrapper-5a0a8849.js');
20
- var Title = require('./Title-e9beb554.js');
21
- var Container = require('./Container-f84e72fc.js');
22
- var FormControlList = require('./FormControlList-08dfb28e.js');
18
+ var index = require('./index-d44a0a21.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-7302fe1a.js');
20
+ var Title = require('./Title-39765ee6.js');
21
+ var Container = require('./Container-8a08d663.js');
22
+ var FormControlList = require('./FormControlList-73497794.js');
23
23
 
24
24
  var updateQuery = configureStore.Actions.updateQuery,
25
25
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -53,10 +53,15 @@ var SingleRange = {
53
53
  showRadio: VueTypes.bool.def(true),
54
54
  title: vueTypes.types.title,
55
55
  URLParams: VueTypes.bool.def(false),
56
- nestedField: vueTypes.types.string
56
+ nestedField: vueTypes.types.string,
57
+ index: VueTypes.string
57
58
  },
58
59
  created: function created() {
59
- // Set custom query in store
60
+ if (!this.enableAppbase && this.$props.index) {
61
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
62
+ } // Set custom query in store
63
+
64
+
60
65
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
61
66
  },
62
67
  beforeMount: function beforeMount() {
@@ -162,7 +167,7 @@ var SingleRange = {
162
167
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
163
168
  }
164
169
 
165
- this.setQueryOptions(props.componentId, customQueryOptions);
170
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
166
171
  this.updateQuery({
167
172
  componentId: props.componentId,
168
173
  query: query,
@@ -223,7 +228,8 @@ SingleRange.defaultQuery = function (value, props) {
223
228
  var mapStateToProps = function mapStateToProps(state, props) {
224
229
  return {
225
230
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
226
- componentProps: state.props[props.componentId]
231
+ componentProps: state.props[props.componentId],
232
+ enableAppbase: state.config.enableAppbase
227
233
  };
228
234
  };
229
235
 
@@ -6,17 +6,21 @@ 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 _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('redux');
13
- var index = require('./index-e0583d76.js');
13
+ var index = require('./index-d44a0a21.js');
14
14
 
15
15
  var getSearchState = configureStore.helper.getSearchState;
16
16
  var defaultKeys = ['hits', 'value', 'aggregations', 'error'];
17
17
 
18
18
  var filterProps = function filterProps(props) {
19
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, props), {}, {
19
+ if (props === void 0) {
20
+ props = {};
21
+ }
22
+
23
+ return _rollupPluginBabelHelpers._extends({}, props, {
20
24
  props: props.componentProps
21
25
  });
22
26
  };
@@ -35,7 +39,7 @@ var filterByComponentIds = function filterByComponentIds(state, props) {
35
39
  return _ref = {}, _ref[componentIds] = state[componentIds], _ref;
36
40
  }
37
41
 
38
- if (componentIds instanceof Array) {
42
+ if (Array.isArray(componentIds)) {
39
43
  var filteredState = {};
40
44
  componentIds.forEach(function (componentId) {
41
45
  filteredState[componentId] = state[componentId];
@@ -50,7 +54,7 @@ var filterByKeys = function filterByKeys(state, allowedKeys) {
50
54
  return Object.keys(state).reduce(function (components, componentId) {
51
55
  var _extends2;
52
56
 
53
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, components), {}, (_extends2 = {}, _extends2[componentId] = Object.keys(state[componentId]).filter(function (key) {
57
+ return _rollupPluginBabelHelpers._extends({}, components, (_extends2 = {}, _extends2[componentId] = Object.keys(state[componentId]).filter(function (key) {
54
58
  return allowedKeys.includes(key);
55
59
  }).reduce(function (obj, key) {
56
60
  // eslint-disable-next-line
@@ -74,7 +78,7 @@ var StateProvider = {
74
78
  };
75
79
  return this.__state;
76
80
  },
77
- mounted: function mounted() {
81
+ created: function created() {
78
82
  this.searchState = filterByKeys(getSearchState(filterProps(this.searchStateProps)), this.includeKeys);
79
83
  },
80
84
  computed: {
@@ -96,7 +100,7 @@ var StateProvider = {
96
100
  watch: {
97
101
  searchState: function searchState(newVal, oldVal) {
98
102
  if (this.isStateChanged(newVal, oldVal)) {
99
- this.$emit('change', newVal, oldVal);
103
+ this.$emit('change', oldVal, newVal);
100
104
  }
101
105
  },
102
106
  selectedValues: function selectedValues(newVal, oldVal) {
@@ -2,20 +2,12 @@
2
2
 
3
3
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
4
 
5
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
5
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
6
6
  var styled = require('@appbaseio/vue-emotion');
7
7
  var styled__default = _interopDefault(styled);
8
8
 
9
- function _templateObject() {
10
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmargin: 0 0 8px;\n\tfont-size: 1rem;\n\tcolor: ", ";\n"]);
11
-
12
- _templateObject = function _templateObject() {
13
- return data;
14
- };
15
-
16
- return data;
17
- }
18
- var Title = styled__default('h2')(_templateObject(), function (_ref) {
9
+ var _templateObject;
10
+ var Title = styled__default('h2')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmargin: 0 0 8px;\n\tfont-size: 1rem;\n\tcolor: ", ";\n"])), function (_ref) {
19
11
  var theme = _ref.theme;
20
12
  return theme.colors.titleColor;
21
13
  });
@@ -6,20 +6,20 @@ 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('./_rollupPluginBabelHelpers-280a574c.js');
10
- require('vue-types');
9
+ require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
+ var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var Button = require('./Button-78d8bc26.js');
16
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var Button = require('./Button-d2f1aeda.js');
16
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-e0583d76.js');
20
- var ComponentWrapper = require('./ComponentWrapper-5a0a8849.js');
21
- var Title = require('./Title-e9beb554.js');
22
- var Container = require('./Container-f84e72fc.js');
19
+ var index = require('./index-d44a0a21.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-7302fe1a.js');
21
+ var Title = require('./Title-39765ee6.js');
22
+ var Container = require('./Container-8a08d663.js');
23
23
 
24
24
  var updateQuery = configureStore.Actions.updateQuery,
25
25
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -35,17 +35,19 @@ 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,
42
42
  innerClass: vueTypes.types.style,
43
- multiSelect: vueTypes.types.bool,
43
+ multiSelect: VueTypes.bool,
44
44
  react: vueTypes.types.react,
45
- showFilter: vueTypes.types.bool,
45
+ showFilter: VueTypes.bool,
46
46
  title: vueTypes.types.title,
47
- URLParams: vueTypes.types.bool,
48
- renderItem: vueTypes.types.func
47
+ URLParams: VueTypes.bool,
48
+ renderItem: vueTypes.types.func,
49
+ index: VueTypes.string,
50
+ enableStrictSelection: VueTypes.bool
49
51
  },
50
52
  data: function data() {
51
53
  this.__state = {
@@ -65,7 +67,11 @@ var ToggleButton = {
65
67
  }
66
68
  },
67
69
  created: function created() {
68
- // Set custom query in store
70
+ if (!this.enableAppbase && this.$props.index) {
71
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
72
+ } // Set custom query in store
73
+
74
+
69
75
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
70
76
  },
71
77
  watch: {
@@ -187,7 +193,7 @@ var ToggleButton = {
187
193
  var _ref = customQuery(value, props) || {};
188
194
 
189
195
  query = _ref.query;
190
- this.setQueryOptions(props.componentId, getOptionsFromQuery(customQuery(value, props)));
196
+ this.setQueryOptions(props.componentId, getOptionsFromQuery(customQuery(value, props)), false);
191
197
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
192
198
  }
193
199
 
@@ -203,6 +209,16 @@ var ToggleButton = {
203
209
  });
204
210
  },
205
211
  handleClick: function handleClick(item) {
212
+ var _this$$props = this.$props,
213
+ enableStrictSelection = _this$$props.enableStrictSelection,
214
+ multiSelect = _this$$props.multiSelect;
215
+
216
+ if (enableStrictSelection && !multiSelect && this.$data.currentValue.find(function (stateItem) {
217
+ return isEqual(item, stateItem);
218
+ })) {
219
+ return false;
220
+ }
221
+
206
222
  var value = this.$props.value;
207
223
 
208
224
  if (value === undefined) {
@@ -210,6 +226,8 @@ var ToggleButton = {
210
226
  } else {
211
227
  this.$emit('change', item.value);
212
228
  }
229
+
230
+ return true;
213
231
  },
214
232
  renderButton: function renderButton(item) {
215
233
  var _this2 = this;
@@ -312,7 +330,8 @@ ToggleButton.defaultQuery = function (value, props) {
312
330
  var mapStateToProps = function mapStateToProps(state, props) {
313
331
  return {
314
332
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
315
- componentProps: state.props[props.componentId]
333
+ componentProps: state.props[props.componentId],
334
+ enableAppbase: state.config.enableAppbase
316
335
  };
317
336
  };
318
337
 
@@ -21,7 +21,17 @@ function _extends() {
21
21
  function _inheritsLoose(subClass, superClass) {
22
22
  subClass.prototype = Object.create(superClass.prototype);
23
23
  subClass.prototype.constructor = subClass;
24
- subClass.__proto__ = superClass;
24
+
25
+ _setPrototypeOf(subClass, superClass);
26
+ }
27
+
28
+ function _setPrototypeOf(o, p) {
29
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
30
+ o.__proto__ = p;
31
+ return o;
32
+ };
33
+
34
+ return _setPrototypeOf(o, p);
25
35
  }
26
36
 
27
37
  function _objectWithoutPropertiesLoose(source, excluded) {