@appbaseio/reactivesearch-vue 2.0.0-alpha.4 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +17538 -25422
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +6 -15
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/Button-ad042719.js +59 -0
  6. package/dist/cjs/Card-f5ab024a.js +27 -0
  7. package/dist/cjs/{ComponentWrapper-ad3dad02.js → ComponentWrapper-75f88599.js} +42 -56
  8. package/dist/cjs/Container-29f049b2.js +12 -0
  9. package/dist/cjs/DropDown-6cf84c47.js +698 -0
  10. package/dist/cjs/DynamicRangeSlider.js +103 -155
  11. package/dist/cjs/Flex-d5675ea6.js +48 -0
  12. package/dist/cjs/FormControlList-fadd792f.js +42 -0
  13. package/dist/cjs/Input-4b434436.js +74 -0
  14. package/dist/cjs/ListItem-d57d648d.js +42 -0
  15. package/dist/cjs/MultiDropdownList.js +124 -240
  16. package/dist/cjs/MultiList.js +123 -261
  17. package/dist/cjs/MultiRange.js +87 -133
  18. package/dist/cjs/{Pagination-71e85fa9.js → Pagination-b5ddc906.js} +70 -83
  19. package/dist/cjs/PreferencesConsumer-eb265924.js +75 -0
  20. package/dist/cjs/RangeInput.js +163 -171
  21. package/dist/cjs/RangeSlider.js +81 -109
  22. package/dist/cjs/ReactiveBase.js +139 -157
  23. package/dist/cjs/ReactiveComponent-eb8db4c1.js +2189 -0
  24. package/dist/cjs/ReactiveComponent.js +46 -340
  25. package/dist/cjs/ReactiveGoogleMap.js +445 -655
  26. package/dist/cjs/ReactiveList.js +179 -304
  27. package/dist/cjs/ResultCard.js +36 -36
  28. package/dist/cjs/ResultList.js +48 -56
  29. package/dist/cjs/SelectedFilters.js +62 -69
  30. package/dist/cjs/SingleDropdownList.js +117 -177
  31. package/dist/cjs/SingleList.js +121 -205
  32. package/dist/cjs/SingleRange.js +78 -105
  33. package/dist/cjs/StateProvider.js +35 -38
  34. package/dist/cjs/Title-8802a218.js +12 -0
  35. package/dist/cjs/ToggleButton.js +72 -119
  36. package/dist/cjs/{_rollupPluginBabelHelpers-c705cbe6.js → _rollupPluginBabelHelpers-f8b843f8.js} +0 -15
  37. package/dist/cjs/{index-6a167fe0.js → index-d8d8f291.js} +38 -108
  38. package/dist/cjs/index.js +44 -41
  39. package/dist/cjs/initReactivesearch.js +63 -150
  40. package/dist/cjs/install.js +47 -43
  41. package/dist/cjs/ssr-6907ada3.js +66 -0
  42. package/dist/cjs/{utils-d6a52588.js → utils-83fd01e9.js} +7 -16
  43. package/dist/cjs/version.js +1 -1
  44. package/dist/cjs/{vueTypes-727b7c63.js → vueTypes-1bf00978.js} +8 -19
  45. package/dist/es/Button-474510e3.js +53 -0
  46. package/dist/es/{Card-450683f1.js → Card-38cbe652.js} +3 -3
  47. package/dist/es/{ComponentWrapper-424e86fd.js → ComponentWrapper-5166c76a.js} +42 -56
  48. package/dist/es/{Container-ba826e96.js → Container-d00219f7.js} +2 -2
  49. package/dist/es/DropDown-8764360c.js +688 -0
  50. package/dist/es/DynamicRangeSlider.js +103 -155
  51. package/dist/es/Flex-a08e22d7.js +46 -0
  52. package/dist/es/FormControlList-fe6eaee4.js +38 -0
  53. package/dist/es/Input-4a8ef1f3.js +69 -0
  54. package/dist/es/{ListItem-cad14c5e.js → ListItem-16756c02.js} +7 -8
  55. package/dist/es/MultiDropdownList.js +124 -240
  56. package/dist/es/MultiList.js +123 -261
  57. package/dist/es/MultiRange.js +87 -133
  58. package/dist/es/{Pagination-784bf143.js → Pagination-72bd1d9e.js} +70 -83
  59. package/dist/es/PreferencesConsumer-c276709c.js +73 -0
  60. package/dist/es/RangeInput.js +163 -170
  61. package/dist/es/RangeSlider.js +81 -109
  62. package/dist/es/ReactiveBase.js +138 -155
  63. package/dist/es/ReactiveComponent-f9fa5780.js +2183 -0
  64. package/dist/es/ReactiveComponent.js +42 -337
  65. package/dist/es/ReactiveGoogleMap.js +440 -649
  66. package/dist/es/ReactiveList.js +177 -301
  67. package/dist/es/ResultCard.js +36 -36
  68. package/dist/es/ResultList.js +48 -56
  69. package/dist/es/SelectedFilters.js +62 -69
  70. package/dist/es/SingleDropdownList.js +117 -177
  71. package/dist/es/SingleList.js +121 -205
  72. package/dist/es/SingleRange.js +78 -105
  73. package/dist/es/StateProvider.js +36 -39
  74. package/dist/es/{Title-3342664a.js → Title-863dfa42.js} +2 -2
  75. package/dist/es/ToggleButton.js +72 -119
  76. package/dist/es/{_rollupPluginBabelHelpers-76660dab.js → _rollupPluginBabelHelpers-ded08042.js} +0 -15
  77. package/dist/es/{index-7788a843.js → index-4520a598.js} +39 -107
  78. package/dist/es/index.js +30 -32
  79. package/dist/es/initReactivesearch.js +63 -150
  80. package/dist/es/install.js +49 -41
  81. package/dist/es/{ssr-b2c0b401.js → ssr-af398f0c.js} +36 -7
  82. package/dist/es/{utils-9e68acee.js → utils-9e5a16a1.js} +7 -16
  83. package/dist/es/version.js +1 -1
  84. package/dist/es/{vueTypes-b8146772.js → vueTypes-f1923c72.js} +8 -19
  85. package/package.json +10 -9
  86. package/dist/cjs/Button-446f819e.js +0 -68
  87. package/dist/cjs/CancelSvg-9f258f4f.js +0 -449
  88. package/dist/cjs/Card-642547a8.js +0 -30
  89. package/dist/cjs/Container-daf30918.js +0 -15
  90. package/dist/cjs/DataSearch-aa04dc6e.js +0 -2352
  91. package/dist/cjs/DataSearch.js +0 -30
  92. package/dist/cjs/DropDown-c479bbb0.js +0 -328
  93. package/dist/cjs/Flex-aa517a13.js +0 -52
  94. package/dist/cjs/FormControlList-c195a592.js +0 -47
  95. package/dist/cjs/Input-e6603a7e.js +0 -79
  96. package/dist/cjs/ListItem-8c9e0d68.js +0 -46
  97. package/dist/cjs/Title-1de7d0f4.js +0 -15
  98. package/dist/cjs/install-b97dbac4.js +0 -1409
  99. package/dist/cjs/ssr-3027b848.js +0 -39
  100. package/dist/es/Button-d8bc15ea.js +0 -59
  101. package/dist/es/CancelSvg-4cfae5fd.js +0 -440
  102. package/dist/es/DataSearch-b86a6675.js +0 -2337
  103. package/dist/es/DataSearch.js +0 -22
  104. package/dist/es/DropDown-05a644a5.js +0 -322
  105. package/dist/es/Flex-1f0795c3.js +0 -47
  106. package/dist/es/FormControlList-c22d64f6.js +0 -40
  107. package/dist/es/Input-7a2a9fac.js +0 -71
  108. package/dist/es/install-ac8a1edb.js +0 -1402
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
4
+ var vueEmotion = require('@appbaseio/vue-emotion');
5
+ var emotion = require('emotion');
6
+ var polished = require('polished');
7
+ require('./Title-8802a218.js');
8
+
9
+ var _templateObject, _templateObject2, _templateObject3;
10
+ 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"])));
11
+ var smallImage = "\n\twidth: 100px;\n\theight: 100px;\n";
12
+ var Image = vueEmotion.styled('div')(_templateObject2 || (_templateObject2 = _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) {
13
+ return props.small ? smallImage : null;
14
+ }, function (props) {
15
+ return "url(" + props.src + ")";
16
+ });
17
+ var ListItem = vueEmotion.styled('a')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\theight: auto;\n\toutline: none;\n\ttext-decoration: none;\n\tborder-radius: 0;\n\tbackground-color: ", ";\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin: 0;\n\tpadding: 10px;\n\tborder-bottom: 1px solid ", ";\n\tcolor: ", ";\n\t", "; all 0.3s ease;\n\n\t&:hover, &:focus {\n\t\tbackground-color: ", ";\n\t}\n\n\t&:last-child {\n\t\tborder: 0;\n\t}\n\n\th2 {\n\t\twidth: 100%;\n\t\tline-height: 1.2rem;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tmargin: 0;\n\t\tpadding: 0 0 8px;\n\t}\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\tarticle {\n\t\twidth: ", ";\n\t\tpadding-left: ", ";\n\t\tfont-size: 0.9rem;\n\t}\n\n\t&:hover, &:focus {\n\t\tbox-shadow: 0 0 0 0 rgba(0,0,0,0.10);\n\t}\n\n\t@media (max-width: 420px) {\n\t\tmin-width: 0;\n\t\tmargin: 0;\n\t\tborder-radius: 0;\n\t\tbox-shadow: none;\n\t\tborder: 1px solid #eee;\n\n\t\t&:hover, &:focus {\n\t\t\tbox-shadow: 0;\n\t\t}\n\t}\n"])), function (_ref) {
18
+ var theme = _ref.theme;
19
+ return theme.colors.backgroundColor ? polished.lighten(0.1, theme.colors.backgroundColor) : '#fff';
20
+ }, function (_ref2) {
21
+ var theme = _ref2.theme;
22
+ return theme.colors.backgroundColor ? polished.lighten(0.3, theme.colors.backgroundColor) : polished.lighten(0.68, theme.colors.textColor);
23
+ }, function (_ref3) {
24
+ var theme = _ref3.theme;
25
+ return theme.colors.textColor;
26
+ }, function (props) {
27
+ return props.href ? 'cursor: pointer' : null;
28
+ }, function (_ref4) {
29
+ var theme = _ref4.theme;
30
+ return theme.colors.backgroundColor ? polished.lighten(0.2, theme.colors.backgroundColor) : '#fdfefd';
31
+ }, function (props) {
32
+ if (props.image) {
33
+ return props.small ? 'calc(100% - 100px)' : 'calc(100% - 160px)';
34
+ }
35
+ return '100%';
36
+ }, function (props) {
37
+ return props.image ? '10px' : 0;
38
+ });
39
+
40
+ exports.Image = Image;
41
+ exports.ListItem = ListItem;
42
+ exports.container = container;
@@ -6,40 +6,44 @@ 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-c705cbe6.js');
10
- var VueTypes = _interopDefault(require('vue-types'));
11
9
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
- require('emotion');
10
+ require('@vue/babel-helper-vue-transform-on');
11
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
12
+ var vue = require('vue');
13
+ var VueTypes = _interopDefault(require('vue-types'));
13
14
  require('@appbaseio/vue-emotion');
15
+ require('emotion');
14
16
  require('polished');
15
- var Button = require('./Button-446f819e.js');
16
- var vueTypes = require('./vueTypes-727b7c63.js');
17
+ var Button = require('./Button-ad042719.js');
18
+ var vueTypes = require('./vueTypes-1bf00978.js');
17
19
  require('@appbaseio/reactivecore/lib/utils/transform');
18
20
  require('redux');
19
- var index = require('./index-6a167fe0.js');
20
- var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
21
- require('@vue/babel-helper-vue-jsx-merge-props');
22
- var Title = require('./Title-1de7d0f4.js');
23
- require('./CancelSvg-9f258f4f.js');
24
- require('./Input-e6603a7e.js');
21
+ var index = require('./index-d8d8f291.js');
22
+ var ComponentWrapper = require('./ComponentWrapper-75f88599.js');
23
+ var PreferencesConsumer = require('./PreferencesConsumer-eb265924.js');
24
+ var Title = require('./Title-8802a218.js');
25
+ var DropDown = require('./DropDown-6cf84c47.js');
26
+ require('./Input-4b434436.js');
25
27
  require('compute-scroll-into-view');
26
- var Container = require('./Container-daf30918.js');
28
+ var Container = require('./Container-29f049b2.js');
27
29
  require('@appbaseio/reactivecore/lib/utils/suggestions');
28
- var utils = require('./utils-d6a52588.js');
29
- var DropDown = require('./DropDown-c479bbb0.js');
30
+ var utils = require('./utils-83fd01e9.js');
30
31
 
32
+ function _isSlot(s) {
33
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
34
+ }
31
35
  var updateQuery = configureStore.Actions.updateQuery,
32
- setQueryOptions = configureStore.Actions.setQueryOptions,
33
- setCustomQuery = configureStore.Actions.setCustomQuery,
34
- setDefaultQuery = configureStore.Actions.setDefaultQuery;
36
+ setQueryOptions = configureStore.Actions.setQueryOptions,
37
+ setCustomQuery = configureStore.Actions.setCustomQuery,
38
+ setDefaultQuery = configureStore.Actions.setDefaultQuery;
35
39
  var isEqual = configureStore.helper.isEqual,
36
- getQueryOptions = configureStore.helper.getQueryOptions,
37
- checkValueChange = configureStore.helper.checkValueChange,
38
- checkPropChange = configureStore.helper.checkPropChange,
39
- getClassName = configureStore.helper.getClassName,
40
- getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
41
- extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
42
- getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
40
+ getQueryOptions = configureStore.helper.getQueryOptions,
41
+ checkValueChange = configureStore.helper.checkValueChange,
42
+ checkPropChange = configureStore.helper.checkPropChange,
43
+ getClassName = configureStore.helper.getClassName,
44
+ getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
45
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
46
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
43
47
  var MultiDropdownList = {
44
48
  name: 'MultiDropdownList',
45
49
  data: function data() {
@@ -86,26 +90,21 @@ var MultiDropdownList = {
86
90
  showSearch: VueTypes.bool.def(false),
87
91
  showClear: VueTypes.bool.def(false),
88
92
  showLoadMore: VueTypes.bool.def(false),
89
- loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.any]).def('Load More'),
93
+ loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.nullable]).def('Load More'),
90
94
  nestedField: vueTypes.types.string,
91
95
  index: VueTypes.string,
92
96
  searchPlaceholder: VueTypes.string.def('Type here to search...'),
93
97
  endpoint: vueTypes.types.endpointConfig
94
98
  },
95
99
  created: function created() {
96
- if (!this.enableAppbase && this.$props.index) {
97
- console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
98
- }
99
-
100
100
  var props = this.$props;
101
- this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
102
-
101
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : [];
102
+ // Set custom and default queries in store
103
103
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
104
104
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
105
105
  },
106
106
  beforeMount: function beforeMount() {
107
107
  this.updateQueryOptions(this.$props);
108
-
109
108
  if (this.selectedValue) {
110
109
  this.setValue(this.selectedValue, true);
111
110
  } else if (this.$props.value) {
@@ -117,33 +116,27 @@ var MultiDropdownList = {
117
116
  watch: {
118
117
  selectedValue: function selectedValue(newVal) {
119
118
  var _this = this;
120
-
121
119
  var selectedValue = Object.keys(this.$data.currentValue);
122
-
123
120
  if (this.$props.selectAllLabel) {
124
121
  selectedValue = selectedValue.filter(function (val) {
125
122
  return val !== _this.$props.selectAllLabel;
126
123
  });
127
-
128
124
  if (this.$data.currentValue[this.$props.selectAllLabel]) {
129
125
  selectedValue = [this.$props.selectAllLabel];
130
126
  }
131
127
  }
132
-
133
128
  if (!isEqual(selectedValue, newVal)) {
134
129
  this.setValue(newVal || [], true);
135
130
  }
136
131
  },
137
132
  options: function options(newVal, oldVal) {
138
133
  var _this2 = this;
139
-
140
134
  if (newVal) {
141
135
  checkPropChange(oldVal, newVal, function () {
142
136
  var _this2$$props = _this2.$props,
143
- showLoadMore = _this2$$props.showLoadMore,
144
- dataField = _this2$$props.dataField;
137
+ showLoadMore = _this2$$props.showLoadMore,
138
+ dataField = _this2$$props.dataField;
145
139
  var modifiedOptions = _this2.$data.modifiedOptions;
146
-
147
140
  if (showLoadMore) {
148
141
  // append options with showLoadMore
149
142
  var buckets = newVal[dataField].buckets;
@@ -154,7 +147,6 @@ var MultiDropdownList = {
154
147
  };
155
148
  }));
156
149
  var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
157
-
158
150
  var isLastBucket = !buckets.length;
159
151
  _this2.after = {
160
152
  after: after
@@ -197,88 +189,88 @@ var MultiDropdownList = {
197
189
  }
198
190
  },
199
191
  render: function render() {
200
- var h = arguments[0];
192
+ var _this3 = this;
201
193
  var _this$$props = this.$props,
202
- showLoadMore = _this$$props.showLoadMore,
203
- loadMoreLabel = _this$$props.loadMoreLabel,
204
- renderItem = _this$$props.renderItem,
205
- renderError = _this$$props.renderError,
206
- renderLabel = _this$$props.renderLabel;
207
- var renderItemCalc = this.$scopedSlots.renderItem || renderItem;
208
- var renderErrorCalc = this.$scopedSlots.renderError || renderError;
209
- var renderLabelCalc = this.$scopedSlots.renderLabel || renderLabel;
194
+ showLoadMore = _this$$props.showLoadMore,
195
+ loadMoreLabel = _this$$props.loadMoreLabel,
196
+ renderItem = _this$$props.renderItem,
197
+ renderError = _this$$props.renderError,
198
+ renderLabel = _this$$props.renderLabel;
199
+ var renderItemCalc = this.$slots.renderItem || renderItem;
200
+ var renderErrorCalc = this.$slots.renderError || renderError;
201
+ var renderLabelCalc = this.$slots.renderLabel || renderLabel;
210
202
  var isLastBucket = this.$data.isLastBucket;
211
- var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
203
+ var renderNoResults = this.$slots.renderNoResults || this.$props.renderNoResults;
212
204
  var selectAll = [];
213
-
214
205
  if (renderErrorCalc && this.error) {
215
206
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
216
207
  }
217
-
218
208
  if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
219
209
  if (renderNoResults && index.isFunction(renderNoResults)) {
220
- return h("div", [renderNoResults()]);
210
+ return vue.createVNode("div", null, [renderNoResults()]);
221
211
  }
222
-
223
212
  if (renderNoResults && !index.isFunction(renderNoResults)) {
224
213
  return renderNoResults;
225
214
  }
226
-
227
215
  return null;
228
216
  }
229
-
230
217
  if (this.$props.selectAllLabel) {
231
218
  selectAll = [{
232
- key: this.$props.selectAllLabel
219
+ key: this.$props.selectAllLabel,
220
+ doc_count: this.totalDocumentCount
233
221
  }];
234
222
  }
235
-
236
- return h(Container.Container, {
223
+ return vue.createVNode(Container.Container, {
237
224
  "class": this.$props.className
238
- }, [this.$props.title && h(Title.Title, {
239
- "class": getClassName(this.$props.innerClass, 'title') || ''
240
- }, [this.$props.title]), h(DropDown.Dropdown, {
241
- "attrs": {
242
- "innerClass": this.$props.innerClass,
243
- "items": [].concat(selectAll, this.$data.modifiedOptions.filter(function (item) {
244
- return String(item.key).trim().length;
245
- }).map(function (item) {
246
- return _rollupPluginBabelHelpers._extends({}, item, {
247
- key: String(item.key)
248
- });
249
- })),
250
- "hasCustomRenderer": this.hasCustomRenderer,
251
- "customRenderer": this.getComponent,
252
- "handleChange": this.handleChange,
253
- "selectedItem": this.$data.currentValue,
254
- "placeholder": this.$props.placeholder,
255
- "labelField": "key",
256
- "multi": true,
257
- "showCount": this.$props.showCount,
258
- "themePreset": this.themePreset,
259
- "renderItem": renderItemCalc,
260
- "renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
261
- "showSearch": this.$props.showSearch,
262
- "showClear": this.$props.showClear,
263
- "searchPlaceholder": this.$props.searchPlaceholder,
264
- "transformData": this.$props.transformData,
265
- "footer": showLoadMore && !isLastBucket && h("div", {
266
- "attrs": {
267
- "css": Button.loadMoreContainer
268
- }
269
- }, [h(Button.Button, {
270
- "on": {
271
- "click": this.handleLoadMore
225
+ }, {
226
+ "default": function _default() {
227
+ return [_this3.$props.title && vue.createVNode(Title.Title, {
228
+ "class": getClassName(_this3.$props.innerClass, 'title') || ''
229
+ }, {
230
+ "default": function _default() {
231
+ return [_this3.$props.title];
272
232
  }
273
- }, [loadMoreLabel])]),
274
- "customLabelRenderer": renderLabelCalc
233
+ }), vue.createVNode(DropDown.Dropdown, {
234
+ "innerClass": _this3.$props.innerClass,
235
+ "items": [].concat(selectAll, _this3.$data.modifiedOptions.filter(function (item) {
236
+ return String(item.key).trim().length;
237
+ }).map(function (item) {
238
+ return _rollupPluginBabelHelpers._extends({}, item, {
239
+ key: String(item.key)
240
+ });
241
+ })),
242
+ "hasCustomRenderer": _this3.hasCustomRenderer,
243
+ "customRenderer": _this3.getComponent,
244
+ "handleChange": _this3.handleChange,
245
+ "selectedItem": _this3.$data.currentValue,
246
+ "placeholder": _this3.$props.placeholder,
247
+ "labelField": "key",
248
+ "multi": true,
249
+ "showCount": _this3.$props.showCount,
250
+ "themePreset": _this3.themePreset,
251
+ "renderItem": renderItemCalc,
252
+ "renderNoResults": _this3.$slots.renderNoResults || _this3.$props.renderNoResults,
253
+ "showSearch": _this3.$props.showSearch,
254
+ "showClear": _this3.$props.showClear,
255
+ "searchPlaceholder": _this3.$props.searchPlaceholder,
256
+ "transformData": _this3.$props.transformData,
257
+ "footer": showLoadMore && !isLastBucket && vue.createVNode("div", {
258
+ "css": Button.loadMoreContainer
259
+ }, [vue.createVNode(Button.Button, {
260
+ "onClick": _this3.handleLoadMore
261
+ }, _isSlot(loadMoreLabel) ? loadMoreLabel : {
262
+ "default": function _default() {
263
+ return [loadMoreLabel];
264
+ }
265
+ })]),
266
+ "customLabelRenderer": renderLabelCalc
267
+ }, null)];
275
268
  }
276
- })]);
269
+ });
277
270
  },
278
271
  methods: {
279
272
  handleChange: function handleChange(item) {
280
273
  var value = this.$props.value;
281
-
282
274
  if (value === undefined) {
283
275
  this.setValue(item);
284
276
  } else {
@@ -287,20 +279,16 @@ var MultiDropdownList = {
287
279
  }
288
280
  },
289
281
  setValue: function setValue(value, isDefaultValue, props) {
290
- var _this3 = this;
291
-
282
+ var _this4 = this;
292
283
  if (isDefaultValue === void 0) {
293
284
  isDefaultValue = false;
294
285
  }
295
-
296
286
  if (props === void 0) {
297
287
  props = this.$props;
298
288
  }
299
-
300
289
  var selectAllLabel = this.$props.selectAllLabel;
301
290
  var currentValue = this.$data.currentValue;
302
291
  var finalValues = null;
303
-
304
292
  if (selectAllLabel && value.includes(selectAllLabel)) {
305
293
  if (currentValue[selectAllLabel]) {
306
294
  currentValue = {};
@@ -315,71 +303,55 @@ var MultiDropdownList = {
315
303
  } else if (isDefaultValue) {
316
304
  finalValues = value;
317
305
  currentValue = {};
318
-
319
306
  if (Array.isArray(value)) {
320
307
  value.forEach(function (item) {
321
308
  currentValue[item] = true;
322
309
  });
323
310
  }
324
-
325
311
  if (selectAllLabel && selectAllLabel in currentValue) {
326
312
  var _currentValue = currentValue,
327
- del = _currentValue[selectAllLabel],
328
- obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue, [selectAllLabel].map(_rollupPluginBabelHelpers._toPropertyKey));
329
-
313
+ del = _currentValue[selectAllLabel],
314
+ obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue, [selectAllLabel].map(_rollupPluginBabelHelpers._toPropertyKey));
330
315
  currentValue = _rollupPluginBabelHelpers._extends({}, obj);
331
316
  }
332
317
  } else {
333
318
  if (currentValue[value]) {
334
319
  var _currentValue2 = currentValue,
335
- _del = _currentValue2[value],
336
- rest = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue2, [value].map(_rollupPluginBabelHelpers._toPropertyKey));
337
-
320
+ _del = _currentValue2[value],
321
+ rest = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue2, [value].map(_rollupPluginBabelHelpers._toPropertyKey));
338
322
  currentValue = _rollupPluginBabelHelpers._extends({}, rest);
339
323
  } else {
340
324
  currentValue[value] = true;
341
325
  }
342
-
343
326
  if (selectAllLabel && selectAllLabel in currentValue) {
344
327
  var _currentValue3 = currentValue,
345
- _del2 = _currentValue3[selectAllLabel],
346
- _obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue3, [selectAllLabel].map(_rollupPluginBabelHelpers._toPropertyKey));
347
-
328
+ _del2 = _currentValue3[selectAllLabel],
329
+ _obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue3, [selectAllLabel].map(_rollupPluginBabelHelpers._toPropertyKey));
348
330
  currentValue = _rollupPluginBabelHelpers._extends({}, _obj);
349
331
  }
350
-
351
332
  finalValues = Object.keys(currentValue);
352
333
  }
353
-
354
334
  var performUpdate = function performUpdate() {
355
- _this3.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
356
-
357
- _this3.updateQueryHandler(finalValues, props);
358
-
359
- _this3.$emit('valueChange', finalValues);
360
-
361
- _this3.$emit('value-change', finalValues);
335
+ _this4.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
336
+ _this4.updateQueryHandler(finalValues, props);
337
+ _this4.$emit('valueChange', finalValues);
338
+ _this4.$emit('value-change', finalValues);
362
339
  };
363
-
364
340
  checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
365
341
  },
366
342
  updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
367
343
  var query = MultiDropdownList.defaultQuery(value, props);
368
-
369
344
  if (this.defaultQuery) {
370
345
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
371
346
  var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
372
-
373
347
  if (defaultQueryObj) {
374
348
  query = defaultQueryObj;
375
- } // Update calculated default query in store
376
-
377
-
349
+ }
350
+ // Update calculated default query in store
378
351
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
379
352
  var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
380
353
  this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
381
354
  }
382
-
383
355
  this.updateQuery({
384
356
  componentId: this.internalComponent,
385
357
  query: query,
@@ -390,7 +362,6 @@ var MultiDropdownList = {
390
362
  updateQueryHandler: function updateQueryHandler(value, props) {
391
363
  var customQuery = props.customQuery;
392
364
  var query = MultiDropdownList.defaultQuery(value, props);
393
-
394
365
  if (customQuery) {
395
366
  var customQueryCalc = customQuery(value, props);
396
367
  query = extractQueryFromCustomQuery(customQueryCalc);
@@ -398,7 +369,6 @@ var MultiDropdownList = {
398
369
  var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
399
370
  this.setQueryOptions(props.componentId, customQueryOptions, false);
400
371
  }
401
-
402
372
  this.updateQuery({
403
373
  componentId: props.componentId,
404
374
  query: query,
@@ -421,15 +391,12 @@ var MultiDropdownList = {
421
391
  if (addAfterKey === void 0) {
422
392
  addAfterKey = false;
423
393
  }
424
-
425
394
  // when using composite aggs flush the current options for a fresh query
426
395
  if (props.showLoadMore && !addAfterKey) {
427
396
  this.modifiedOptions = [];
428
397
  } // for a new query due to other changes don't append after to get fresh results
429
398
 
430
-
431
399
  var queryOptions = MultiDropdownList.generateQueryOptions(props, addAfterKey ? this.$data.after : {});
432
-
433
400
  if (props.defaultQuery) {
434
401
  var value = Object.keys(this.$data.currentValue);
435
402
  var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
@@ -445,7 +412,6 @@ var MultiDropdownList = {
445
412
  if (downshiftProps === void 0) {
446
413
  downshiftProps = {};
447
414
  }
448
-
449
415
  var currentValue = this.$data.currentValue;
450
416
  var data = {
451
417
  error: this.error,
@@ -465,98 +431,18 @@ var MultiDropdownList = {
465
431
  }
466
432
  }
467
433
  };
468
-
469
434
  MultiDropdownList.defaultQuery = function (value, props) {
470
- var query = null;
471
- var queryFormat = props.queryFormat;
472
-
473
- if (queryFormat === undefined) {
474
- queryFormat = 'or';
475
- }
476
-
477
- var type = queryFormat === 'or' ? 'terms' : 'term';
478
-
479
- if (!Array.isArray(value) || value.length === 0) {
480
- return null;
481
- }
482
-
483
- if (props.selectAllLabel && value.includes(props.selectAllLabel)) {
484
- if (props.showMissing) {
485
- query = {
486
- match_all: {}
487
- };
488
- } else {
489
- query = {
490
- exists: {
491
- field: props.dataField
492
- }
493
- };
494
- }
495
- } else if (value) {
496
- var listQuery;
497
-
498
- if (queryFormat === 'or') {
499
- if (props.showMissing) {
500
- var _type, _ref;
501
-
502
- var hasMissingTerm = value.includes(props.missingLabel);
503
- var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
504
- return item !== props.missingLabel;
505
- }), _type), _ref)];
506
-
507
- if (hasMissingTerm) {
508
- should = should.concat({
509
- bool: {
510
- must_not: {
511
- exists: {
512
- field: props.dataField
513
- }
514
- }
515
- }
516
- });
517
- }
518
-
519
- listQuery = {
520
- bool: {
521
- should: should
522
- }
523
- };
524
- } else {
525
- var _type2, _listQuery;
526
-
527
- listQuery = (_listQuery = {}, _listQuery[type] = (_type2 = {}, _type2[props.dataField] = value, _type2), _listQuery);
528
- }
529
- } else {
530
- // adds a sub-query with must as an array of objects for each term/value
531
- var queryArray = value.map(function (item) {
532
- var _type3, _ref2;
533
-
534
- return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
535
- });
536
- listQuery = {
537
- bool: {
538
- must: queryArray
539
- }
540
- };
435
+ return {
436
+ query: {
437
+ queryFormat: props.queryFormat,
438
+ dataField: props.dataField,
439
+ value: value,
440
+ nestedField: props.nestedField,
441
+ selectAllLabel: props.selectAllLabel,
442
+ showMissing: props.showMissing
541
443
  }
542
-
543
- query = value.length ? listQuery : null;
544
- }
545
-
546
- if (query && props.nestedField) {
547
- return {
548
- query: {
549
- nested: {
550
- path: props.nestedField,
551
- query: query
552
- }
553
- }
554
- };
555
- }
556
-
557
- return query;
444
+ };
558
445
  };
559
-
560
446
  MultiDropdownList.generateQueryOptions = function (props, after) {
561
447
  var queryOptions = getQueryOptions(props);
562
448
  return props.showLoadMore ? getCompositeAggsQuery({
@@ -565,40 +451,38 @@ MultiDropdownList.generateQueryOptions = function (props, after) {
565
451
  after: after
566
452
  }) : utils.getAggsQuery(queryOptions, props);
567
453
  };
568
-
569
454
  MultiDropdownList.hasInternalComponent = function () {
570
455
  return true;
571
456
  };
572
-
573
457
  var mapStateToProps = function mapStateToProps(state, props) {
574
458
  return {
575
459
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
576
460
  rawData: state.rawData[props.componentId],
577
461
  isLoading: state.isLoading[props.componentId],
578
462
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
463
+ totalDocumentCount: state.hits[props.componentId] && state.hits[props.componentId].total,
579
464
  themePreset: state.config.themePreset,
580
465
  error: state.error[props.componentId],
581
- componentProps: state.props[props.componentId],
582
- enableAppbase: state.config.enableAppbase
466
+ componentProps: state.props[props.componentId]
583
467
  };
584
468
  };
585
-
586
469
  var mapDispatchtoProps = {
587
470
  setQueryOptions: setQueryOptions,
588
471
  updateQuery: updateQuery,
589
472
  setCustomQuery: setCustomQuery,
590
473
  setDefaultQuery: setDefaultQuery
591
474
  };
592
- var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
475
+ var ListConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
593
476
  componentType: constants.componentTypes.multiDropdownList,
594
477
  internalComponent: MultiDropdownList.hasInternalComponent()
595
- });
596
-
597
- MultiDropdownList.install = function (Vue) {
598
- Vue.component(MultiDropdownList.name, ListConnected);
599
- }; // Add componentType for SSR
600
-
478
+ }));
479
+ ListConnected.name = MultiDropdownList.name;
480
+ ListConnected.install = function (Vue) {
481
+ Vue.component(ListConnected.name, ListConnected);
482
+ };
601
483
 
602
- MultiDropdownList.componentType = constants.componentTypes.multiDropdownList;
484
+ // Add componentType for SSR
485
+ ListConnected.componentType = constants.componentTypes.multiDropdownList;
603
486
 
604
- exports.default = MultiDropdownList;
487
+ exports.ListConnected = ListConnected;
488
+ exports.default = ListConnected;