@appbaseio/reactivesearch-vue 1.16.0-alpha.3 → 1.16.0-alpha.30

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 +7438 -6512
  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-ab813390.js} +40 -21
  9. package/dist/cjs/{Container-f84e72fc.js → Container-8a08d663.js} +3 -11
  10. package/dist/cjs/DataSearch.js +341 -391
  11. package/dist/cjs/{DropDown-c66be1a8.js → DropDown-0359da33.js} +76 -96
  12. package/dist/cjs/DynamicRangeSlider.js +47 -24
  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 +69 -45
  18. package/dist/cjs/MultiList.js +36 -21
  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 +25 -45
  22. package/dist/cjs/RangeSlider.js +31 -28
  23. package/dist/cjs/ReactiveBase.js +55 -34
  24. package/dist/cjs/ReactiveComponent.js +80 -36
  25. package/dist/cjs/ReactiveGoogleMap.js +320 -234
  26. package/dist/cjs/ReactiveList.js +149 -202
  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 +69 -45
  31. package/dist/cjs/SingleList.js +44 -26
  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-2a8358cd.js} +77 -9
  38. package/dist/cjs/index.js +23 -19
  39. package/dist/cjs/initReactivesearch.js +80 -38
  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-459505fd.js} +40 -21
  49. package/dist/es/Container-4383c6f0.js +10 -0
  50. package/dist/es/DataSearch.js +339 -389
  51. package/dist/es/{DropDown-5dbd69c2.js → DropDown-168b60f6.js} +75 -95
  52. package/dist/es/DynamicRangeSlider.js +47 -24
  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 +69 -45
  58. package/dist/es/MultiList.js +36 -21
  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 +25 -45
  62. package/dist/es/RangeSlider.js +31 -28
  63. package/dist/es/ReactiveBase.js +55 -34
  64. package/dist/es/ReactiveComponent.js +80 -36
  65. package/dist/es/ReactiveGoogleMap.js +320 -234
  66. package/dist/es/ReactiveList.js +149 -202
  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 +69 -45
  71. package/dist/es/SingleList.js +44 -26
  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-4755c9a0.js} +74 -10
  78. package/dist/es/index.js +23 -19
  79. package/dist/es/initReactivesearch.js +80 -38
  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 +86 -78
  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
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
6
+ var emotion = require('emotion');
7
+ var styled = require('@appbaseio/vue-emotion');
8
+ var styled__default = _interopDefault(styled);
9
+ var polished = require('polished');
10
+ require('./Title-39765ee6.js');
11
+
12
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
13
+ var container = emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 0;\n\tborder-radius: 0.25rem;\n\toverflow: hidden;\n"])));
14
+ var smallImage = emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100px;\n\theight: 100px;\n"])));
15
+ var Image = styled__default('div')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 160px;\n\theight: 160px;\n\t", ";\n\tmargin: 0;\n\tbackground-size: contain;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-image: ", ";\n"])), function (props) {
16
+ return props.small ? smallImage : null;
17
+ }, function (props) {
18
+ return "url(" + props.src + ")";
19
+ });
20
+ var ListItem = styled__default('a')(_templateObject4 || (_templateObject4 = _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) {
21
+ var theme = _ref.theme;
22
+ return theme.colors.backgroundColor ? polished.lighten(0.1, theme.colors.backgroundColor) : '#fff';
23
+ }, function (_ref2) {
24
+ var theme = _ref2.theme;
25
+ return theme.colors.backgroundColor ? polished.lighten(0.3, theme.colors.backgroundColor) : polished.lighten(0.68, theme.colors.textColor);
26
+ }, function (_ref3) {
27
+ var theme = _ref3.theme;
28
+ return theme.colors.textColor;
29
+ }, function (props) {
30
+ return props.href ? 'cursor: pointer' : null;
31
+ }, function (_ref4) {
32
+ var theme = _ref4.theme;
33
+ return theme.colors.backgroundColor ? polished.lighten(0.2, theme.colors.backgroundColor) : '#fdfefd';
34
+ }, function (props) {
35
+ if (props.image) {
36
+ return props.small ? 'calc(100% - 100px)' : 'calc(100% - 160px)';
37
+ }
38
+
39
+ return '100%';
40
+ }, function (props) {
41
+ return props.image ? '10px' : 0;
42
+ });
43
+
44
+ exports.Image = Image;
45
+ exports.ListItem = ListItem;
46
+ exports.container = container;
@@ -6,25 +6,26 @@ 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 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
- require('./Input-643d02a7.js');
19
+ var index = require('./index-2a8358cd.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-ab813390.js');
21
+ var Title = require('./Title-39765ee6.js');
22
+ require('./CancelSvg-82021d23.js');
23
+ require('./Input-c6f181d5.js');
23
24
  require('compute-scroll-into-view');
24
- require('./DownShift-b09da079.js');
25
- var Container = require('./Container-f84e72fc.js');
26
- var utils = require('./utils-d1ea9f95.js');
27
- var DropDown = require('./DropDown-c66be1a8.js');
25
+ var Container = require('./Container-8a08d663.js');
26
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
27
+ var utils = require('./utils-23afb20b.js');
28
+ var DropDown = require('./DropDown-0359da33.js');
28
29
 
29
30
  var updateQuery = configureStore.Actions.updateQuery,
30
31
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -81,12 +82,21 @@ var MultiDropdownList = {
81
82
  showMissing: VueTypes.bool.def(false),
82
83
  missingLabel: VueTypes.string.def('N/A'),
83
84
  showSearch: VueTypes.bool.def(false),
85
+ showClear: VueTypes.bool.def(false),
84
86
  showLoadMore: VueTypes.bool.def(false),
85
87
  loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.any]).def('Load More'),
86
- nestedField: vueTypes.types.string
88
+ nestedField: vueTypes.types.string,
89
+ index: VueTypes.string,
90
+ searchPlaceholder: VueTypes.string.def('Type here to search...')
87
91
  },
88
92
  created: function created() {
89
- // Set custom and default queries in store
93
+ if (!this.enableAppbase && this.$props.index) {
94
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
95
+ }
96
+
97
+ var props = this.$props;
98
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
99
+
90
100
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
91
101
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
92
102
  },
@@ -124,33 +134,35 @@ var MultiDropdownList = {
124
134
  options: function options(newVal, oldVal) {
125
135
  var _this2 = this;
126
136
 
127
- checkPropChange(oldVal, newVal, function () {
128
- var _this2$$props = _this2.$props,
129
- showLoadMore = _this2$$props.showLoadMore,
130
- dataField = _this2$$props.dataField;
131
- var modifiedOptions = _this2.$data.modifiedOptions;
132
-
133
- if (showLoadMore) {
134
- // append options with showLoadMore
135
- var buckets = newVal[dataField].buckets;
136
- var nextOptions = [].concat(modifiedOptions, buckets.map(function (bucket) {
137
- return {
138
- key: bucket.key[dataField],
139
- doc_count: bucket.doc_count
137
+ if (newVal) {
138
+ checkPropChange(oldVal, newVal, function () {
139
+ var _this2$$props = _this2.$props,
140
+ showLoadMore = _this2$$props.showLoadMore,
141
+ dataField = _this2$$props.dataField;
142
+ var modifiedOptions = _this2.$data.modifiedOptions;
143
+
144
+ if (showLoadMore) {
145
+ // append options with showLoadMore
146
+ var buckets = newVal[dataField].buckets;
147
+ var nextOptions = [].concat(modifiedOptions, buckets.map(function (bucket) {
148
+ return {
149
+ key: bucket.key[dataField],
150
+ doc_count: bucket.doc_count
151
+ };
152
+ }));
153
+ var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
154
+
155
+ var isLastBucket = !buckets.length;
156
+ _this2.after = {
157
+ after: after
140
158
  };
141
- }));
142
- var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
143
-
144
- var isLastBucket = !buckets.length;
145
- _this2.after = {
146
- after: after
147
- };
148
- _this2.isLastBucket = isLastBucket;
149
- _this2.modifiedOptions = nextOptions;
150
- } else {
151
- _this2.modifiedOptions = newVal[_this2.$props.dataField] ? newVal[_this2.$props.dataField].buckets : [];
152
- }
153
- });
159
+ _this2.isLastBucket = isLastBucket;
160
+ _this2.modifiedOptions = nextOptions;
161
+ } else {
162
+ _this2.modifiedOptions = newVal[_this2.$props.dataField] ? newVal[_this2.$props.dataField].buckets : [];
163
+ }
164
+ });
165
+ }
154
166
  },
155
167
  size: function size() {
156
168
  this.updateQueryOptions(this.$props);
@@ -193,13 +205,22 @@ var MultiDropdownList = {
193
205
  var renderErrorCalc = this.$scopedSlots.renderError || renderError;
194
206
  var renderLabelCalc = this.$scopedSlots.renderLabel || renderLabel;
195
207
  var isLastBucket = this.$data.isLastBucket;
208
+ var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
196
209
  var selectAll = [];
197
210
 
198
211
  if (renderErrorCalc && this.error) {
199
212
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
200
213
  }
201
214
 
202
- if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0) {
215
+ if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
216
+ if (renderNoResults && index.isFunction(renderNoResults)) {
217
+ return h("div", [renderNoResults()]);
218
+ }
219
+
220
+ if (renderNoResults && !index.isFunction(renderNoResults)) {
221
+ return renderNoResults;
222
+ }
223
+
203
224
  return null;
204
225
  }
205
226
 
@@ -219,7 +240,7 @@ var MultiDropdownList = {
219
240
  "items": [].concat(selectAll, this.$data.modifiedOptions.filter(function (item) {
220
241
  return String(item.key).trim().length;
221
242
  }).map(function (item) {
222
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, item), {}, {
243
+ return _rollupPluginBabelHelpers._extends({}, item, {
223
244
  key: String(item.key)
224
245
  });
225
246
  })),
@@ -235,6 +256,8 @@ var MultiDropdownList = {
235
256
  "renderItem": renderItemCalc,
236
257
  "renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
237
258
  "showSearch": this.$props.showSearch,
259
+ "showClear": this.$props.showClear,
260
+ "searchPlaceholder": this.$props.searchPlaceholder,
238
261
  "transformData": this.$props.transformData,
239
262
  "footer": showLoadMore && !isLastBucket && h("div", {
240
263
  "attrs": {
@@ -353,7 +376,7 @@ var MultiDropdownList = {
353
376
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
354
377
  }
355
378
 
356
- this.setQueryOptions(this.internalComponent, defaultQueryOptions);
379
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
357
380
  this.updateQuery({
358
381
  componentId: this.internalComponent,
359
382
  query: query,
@@ -374,7 +397,7 @@ var MultiDropdownList = {
374
397
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
375
398
  }
376
399
 
377
- this.setQueryOptions(props.componentId, customQueryOptions);
400
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
378
401
  this.updateQuery({
379
402
  componentId: props.componentId,
380
403
  query: query,
@@ -409,7 +432,7 @@ var MultiDropdownList = {
409
432
  if (props.defaultQuery) {
410
433
  var value = Object.keys(this.$data.currentValue);
411
434
  var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
412
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryOptions), defaultQueryOptions));
435
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
413
436
  } else {
414
437
  this.setQueryOptions(this.internalComponent, queryOptions);
415
438
  }
@@ -544,7 +567,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
544
567
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
545
568
  themePreset: state.config.themePreset,
546
569
  error: state.error[props.componentId],
547
- componentProps: state.props[props.componentId]
570
+ componentProps: state.props[props.componentId],
571
+ enableAppbase: state.config.enableAppbase
548
572
  };
549
573
  };
550
574
 
@@ -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-2a8358cd.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-ab813390.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,
@@ -40,7 +41,7 @@ var MultiList = {
40
41
  queryFormat: VueTypes.oneOf(['and', 'or']).def('or'),
41
42
  showCheckbox: VueTypes.bool.def(true),
42
43
  beforeValueChange: vueTypes.types.func,
43
- className: vueTypes.types.string.def(''),
44
+ className: VueTypes.string.def(''),
44
45
  componentId: vueTypes.types.stringRequired,
45
46
  customQuery: vueTypes.types.func,
46
47
  dataField: vueTypes.types.stringRequired,
@@ -64,20 +65,27 @@ var MultiList = {
64
65
  URLParams: VueTypes.bool.def(false),
65
66
  showMissing: VueTypes.bool.def(false),
66
67
  missingLabel: VueTypes.string.def('N/A'),
67
- nestedField: vueTypes.types.string
68
+ nestedField: vueTypes.types.string,
69
+ index: VueTypes.string
68
70
  },
69
71
  data: function data() {
70
72
  var props = this.$props;
71
73
  this.__state = {
72
74
  currentValue: {},
73
- modifiedOptions: props.options && props.options[props.dataField] ? props.options[props.dataField].buckets : [],
75
+ modifiedOptions: [],
74
76
  searchTerm: ''
75
77
  };
76
78
  this.internalComponent = props.componentId + "__internal";
77
79
  return this.__state;
78
80
  },
79
81
  created: function created() {
80
- // 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
+
81
89
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
82
90
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
83
91
  },
@@ -94,7 +102,9 @@ var MultiList = {
94
102
  },
95
103
  watch: {
96
104
  options: function options(newVal) {
97
- 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
+ }
98
108
  },
99
109
  size: function size() {
100
110
  this.updateQueryHandlerOptions(this.$props);
@@ -161,8 +171,12 @@ var MultiList = {
161
171
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
162
172
  }
163
173
 
164
- if (!this.hasCustomRenderer && this.modifiedOptions.length === 0) {
165
- return null;
174
+ if (!this.hasCustomRenderer && this.modifiedOptions.length === 0 && !this.isLoading) {
175
+ if (this.renderNoResult) {
176
+ this.renderNoResult();
177
+ } else {
178
+ return null;
179
+ }
166
180
  }
167
181
 
168
182
  var itemsToRender = this.$data.modifiedOptions;
@@ -174,7 +188,7 @@ var MultiList = {
174
188
  var filteredItemsToRender = itemsToRender.filter(function (item) {
175
189
  if (String(item.key).length) {
176
190
  if (_this2.$props.showSearch && _this2.$data.searchTerm) {
177
- return String(item.key).toLowerCase().includes(_this2.$data.searchTerm.toLowerCase());
191
+ return suggestions.replaceDiacritics(String(item.key)).toLowerCase().includes(suggestions.replaceDiacritics(_this2.$data.searchTerm).toLowerCase());
178
192
  }
179
193
 
180
194
  return true;
@@ -342,7 +356,7 @@ var MultiList = {
342
356
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
343
357
  }
344
358
 
345
- this.setQueryOptions(this.internalComponent, defaultQueryOptions);
359
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
346
360
  this.updateQuery({
347
361
  componentId: this.internalComponent,
348
362
  query: query,
@@ -363,7 +377,7 @@ var MultiList = {
363
377
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
364
378
  }
365
379
 
366
- this.setQueryOptions(props.componentId, customQueryOptions);
380
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
367
381
  this.updateQuery({
368
382
  componentId: props.componentId,
369
383
  query: query,
@@ -384,7 +398,7 @@ var MultiList = {
384
398
  if (props.defaultQuery) {
385
399
  var value = Object.keys(this.$data.currentValue);
386
400
  var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
387
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryOptions), defaultQueryOptions));
401
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
388
402
  } else {
389
403
  this.setQueryOptions(this.internalComponent, queryOptions);
390
404
  }
@@ -565,7 +579,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
565
579
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
566
580
  themePreset: state.config.themePreset,
567
581
  error: state.error[props.componentId],
568
- componentProps: state.props[props.componentId]
582
+ componentProps: state.props[props.componentId],
583
+ enableAppbase: state.config.enableAppbase
569
584
  };
570
585
  };
571
586
 
@@ -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
- 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 Container = require('./Container-f84e72fc.js');
22
- var FormControlList = require('./FormControlList-08dfb28e.js');
18
+ var index = require('./index-2a8358cd.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-ab813390.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,
@@ -55,7 +55,8 @@ var MultiRange = {
55
55
  showCheckbox: VueTypes.bool.def(true),
56
56
  title: vueTypes.types.title,
57
57
  URLParams: VueTypes.bool.def(false),
58
- nestedField: vueTypes.types.string
58
+ nestedField: vueTypes.types.string,
59
+ index: VueTypes.string
59
60
  },
60
61
  methods: {
61
62
  handleClick: function handleClick(e) {
@@ -99,7 +100,7 @@ var MultiRange = {
99
100
  if (reset) {
100
101
  selectedValues = values;
101
102
  } else {
102
- selectedValues = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, selectedValues), values);
103
+ selectedValues = _rollupPluginBabelHelpers._extends({}, selectedValues, values);
103
104
  }
104
105
  } else if (selectedValues[item]) {
105
106
  currentValue = currentValue.filter(function (value) {
@@ -118,7 +119,7 @@ var MultiRange = {
118
119
  return item.indexOf(value.label) !== -1;
119
120
  });
120
121
  currentValue = [].concat(currentValue, currentItems);
121
- selectedValues = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, selectedValues), {}, (_extends2 = {}, _extends2[item] = true, _extends2));
122
+ selectedValues = _rollupPluginBabelHelpers._extends({}, selectedValues, (_extends2 = {}, _extends2[typeof item === 'object' ? item.label : item] = true, _extends2));
122
123
  }
123
124
 
124
125
  var performUpdate = function performUpdate() {
@@ -147,7 +148,7 @@ var MultiRange = {
147
148
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
148
149
  }
149
150
 
150
- this.setQueryOptions(props.componentId, customQueryOptions);
151
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
151
152
  this.updateQuery({
152
153
  componentId: props.componentId,
153
154
  query: query,
@@ -173,7 +174,7 @@ var MultiRange = {
173
174
  },
174
175
  selectedValue: function selectedValue(newVal) {
175
176
  if (!isEqual(this.$data.currentValue, newVal)) {
176
- this.selectItem(newVal);
177
+ this.selectItem(newVal, true, undefined, true);
177
178
  }
178
179
  },
179
180
  customQuery: function customQuery(newVal, oldVal) {
@@ -183,7 +184,11 @@ var MultiRange = {
183
184
  }
184
185
  },
185
186
  created: function created() {
186
- // Set custom query in store
187
+ if (!this.enableAppbase && this.$props.index) {
188
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
189
+ } // Set custom query in store
190
+
191
+
187
192
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
188
193
  },
189
194
  beforeMount: function beforeMount() {
@@ -289,7 +294,8 @@ MultiRange.defaultQuery = function (values, props) {
289
294
  var mapStateToProps = function mapStateToProps(state, props) {
290
295
  return {
291
296
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
292
- componentProps: state.props[props.componentId]
297
+ componentProps: state.props[props.componentId],
298
+ enableAppbase: state.config.enableAppbase
293
299
  };
294
300
  };
295
301
 
@@ -4,8 +4,9 @@ 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 Button = require('./Button-78d8bc26.js');
8
- var vueTypes = require('./vueTypes-c21f265b.js');
7
+ var VueTypes = _interopDefault(require('vue-types'));
8
+ var Button = require('./Button-d2f1aeda.js');
9
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
9
10
 
10
11
  var getClassName = configureStore.helper.getClassName,
11
12
  handleA11yAction = configureStore.helper.handleA11yAction;
@@ -25,7 +26,7 @@ var Pagination = {
25
26
  pages: vueTypes.types.number,
26
27
  setPage: vueTypes.types.func,
27
28
  totalPages: vueTypes.types.number,
28
- showEndPage: vueTypes.types.bool,
29
+ showEndPage: VueTypes.bool,
29
30
  prevLabel: vueTypes.types.string,
30
31
  nextLabel: vueTypes.types.string
31
32
  },
@@ -6,58 +6,38 @@ 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
  var emotion = require('emotion');
13
13
  var styled = require('@appbaseio/vue-emotion');
14
14
  var styled__default = _interopDefault(styled);
15
15
  require('polished');
16
- var vueTypes = require('./vueTypes-c21f265b.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
- require('./Title-e9beb554.js');
22
- var Flex = require('./Flex-737c55be.js');
23
- var Input = require('./Input-643d02a7.js');
24
- var Container = require('./Container-f84e72fc.js');
19
+ var index = require('./index-2a8358cd.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-ab813390.js');
21
+ require('./Title-39765ee6.js');
22
+ var Flex = require('./Flex-699639d2.js');
23
+ var Input = require('./Input-c6f181d5.js');
24
+ var Container = require('./Container-8a08d663.js');
25
25
  require('vue-no-ssr');
26
- require('./ssr-b7a729f9.js');
26
+ require('./ssr-c333c82c.js');
27
27
  var RangeSlider = require('./RangeSlider.js');
28
28
 
29
- function _templateObject2() {
30
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\tfont-size: 13px;\n\tmargin: 8px;\n"]);
31
-
32
- _templateObject2 = function _templateObject2() {
33
- return data;
34
- };
35
-
36
- return data;
37
- }
38
-
39
- function _templateObject() {
40
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n"]);
41
-
42
- _templateObject = function _templateObject() {
43
- return data;
44
- };
45
-
46
- return data;
47
- }
29
+ var _templateObject, _templateObject2;
48
30
 
49
31
  var alert = function alert(_ref) {
50
32
  var theme = _ref.theme;
51
- return emotion.css(_templateObject(), theme.colors.alertColor);
33
+ return emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n"])), theme.colors.alertColor);
52
34
  };
53
35
 
54
- var Content = styled__default('div')(_templateObject2(), function (props) {
36
+ var Content = styled__default('div')(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\tfont-size: 13px;\n\tmargin: 8px;\n"])), function (props) {
55
37
  return props.alert && alert;
56
38
  });
57
39
 
58
- var checkValueChange = configureStore.helper.checkValueChange,
59
- getClassName = configureStore.helper.getClassName,
60
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
40
+ var getClassName = configureStore.helper.getClassName,
61
41
  isEqual = configureStore.helper.isEqual;
62
42
  var RangeInput = {
63
43
  name: 'RangeInput',
@@ -103,7 +83,7 @@ var RangeInput = {
103
83
  stepValue: vueTypes.types.number,
104
84
  componentStyle: vueTypes.types.style,
105
85
  componentId: vueTypes.types.stringRequired,
106
- includeNullValues: vueTypes.types.bool,
86
+ includeNullValues: VueTypes.bool,
107
87
  beforeValueChange: vueTypes.types.func,
108
88
  customQuery: vueTypes.types.func,
109
89
  data: vueTypes.types.data,
@@ -138,17 +118,19 @@ var RangeInput = {
138
118
  return false;
139
119
  },
140
120
  handleChange: function handleChange(value, event) {
121
+ var currentValue = value;
122
+
141
123
  if (this.shouldUpdate(value) && !isEqual(value, this.currentValue)) {
142
124
  switch (event) {
143
125
  case 'change':
144
126
  if (!value) {
145
- value = {
127
+ currentValue = {
146
128
  start: this.$props.range ? this.$props.range.start : 0,
147
129
  end: this.$props.range ? this.$props.range.end : 10
148
130
  };
149
131
  }
150
132
 
151
- this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, value);
133
+ this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
152
134
  this.$emit('change', this.$data.currentValue);
153
135
  break;
154
136
 
@@ -158,13 +140,13 @@ var RangeInput = {
158
140
  break;
159
141
 
160
142
  default:
161
- this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, value);
143
+ this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
162
144
  break;
163
145
  }
164
146
  }
165
147
  },
166
148
  handleOnChange: function handleOnChange(value) {
167
- this.handleChange(value, 'change');
149
+ this.handleChange(value || this.$props.range, 'change');
168
150
  },
169
151
  handleValueChange: function handleValueChange(value) {
170
152
  this.handleChange(value, 'value-change');
@@ -180,12 +162,10 @@ var RangeInput = {
180
162
  } else {
181
163
  this.$data.isEndValid = false;
182
164
  }
183
- } else {
184
- if (name === 'start' && !this.$data.isStartValid) {
185
- this.$data.isStartValid = true;
186
- } else if (name === 'end' && !this.$data.isEndValid) {
187
- this.$data.isEndValid = true;
188
- }
165
+ } else if (name === 'start' && !this.$data.isStartValid) {
166
+ this.$data.isStartValid = true;
167
+ } else if (name === 'end' && !this.$data.isEndValid) {
168
+ this.$data.isEndValid = true;
189
169
  }
190
170
 
191
171
  if (this.$data.isStartValid && this.$data.isEndValid) {
@@ -342,7 +322,7 @@ var RangeInput = {
342
322
  }
343
323
  };
344
324
 
345
- var mapStateToProps = function mapStateToProps(state, props) {
325
+ var mapStateToProps = function mapStateToProps(state) {
346
326
  return {
347
327
  themePreset: state.config.themePreset
348
328
  };