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

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 +6388 -5403
  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 +341 -391
  11. package/dist/cjs/{DropDown-c66be1a8.js → DropDown-c46d8b0c.js} +80 -95
  12. package/dist/cjs/DynamicRangeSlider.js +81 -25
  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 +71 -46
  18. package/dist/cjs/MultiList.js +49 -29
  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 +80 -36
  25. package/dist/cjs/ReactiveGoogleMap.js +326 -235
  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 +70 -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-d44a0a21.js} +87 -13
  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-bbb717bc.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-4edaa621.js} +79 -94
  52. package/dist/es/DynamicRangeSlider.js +81 -25
  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 +71 -46
  58. package/dist/es/MultiList.js +49 -29
  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 +80 -36
  65. package/dist/es/ReactiveGoogleMap.js +326 -235
  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 +70 -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-5daa8276.js} +84 -14
  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
@@ -1,55 +1,35 @@
1
1
  import { helper } from '@appbaseio/reactivecore';
2
- import { _ as _taggedTemplateLiteralLoose, a as _extends } from './_rollupPluginBabelHelpers-c9fbe19f.js';
2
+ import { _ as _taggedTemplateLiteralLoose, a as _extends } from './_rollupPluginBabelHelpers-ecf6c03c.js';
3
3
  import VueTypes from 'vue-types';
4
4
  import { componentTypes } from '@appbaseio/reactivecore/lib/utils/constants';
5
5
  import { css } from 'emotion';
6
6
  import styled from '@appbaseio/vue-emotion';
7
7
  import 'polished';
8
- import { t as types } from './vueTypes-98d938a9.js';
8
+ import { t as types } from './vueTypes-9326e0be.js';
9
9
  import '@appbaseio/reactivecore/lib/utils/transform';
10
10
  import 'redux';
11
- import { c as connect } from './index-1fe91a0a.js';
12
- import { C as ComponentWrapper } from './ComponentWrapper-d0b21b95.js';
13
- import './Title-22c2f3bf.js';
14
- import { F as Flex } from './Flex-40a74d8a.js';
15
- import { I as Input } from './Input-dfd9dd40.js';
16
- import { C as Container } from './Container-f5efec9e.js';
11
+ import { c as connect } from './index-5daa8276.js';
12
+ import { C as ComponentWrapper } from './ComponentWrapper-bbb717bc.js';
13
+ import './Title-579f8d6c.js';
14
+ import { F as Flex } from './Flex-aac91505.js';
15
+ import { I as Input } from './Input-d8519224.js';
16
+ import { C as Container } from './Container-4383c6f0.js';
17
17
  import 'vue-no-ssr';
18
- import './ssr-2f57791d.js';
18
+ import './ssr-e3196de1.js';
19
19
  import { RangeConnected as RangeConnected$1 } from './RangeSlider.js';
20
20
 
21
- function _templateObject2() {
22
- var data = _taggedTemplateLiteralLoose(["\n\t", ";\n\tfont-size: 13px;\n\tmargin: 8px;\n"]);
23
-
24
- _templateObject2 = function _templateObject2() {
25
- return data;
26
- };
27
-
28
- return data;
29
- }
30
-
31
- function _templateObject() {
32
- var data = _taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n"]);
33
-
34
- _templateObject = function _templateObject() {
35
- return data;
36
- };
37
-
38
- return data;
39
- }
21
+ var _templateObject, _templateObject2;
40
22
 
41
23
  var alert = function alert(_ref) {
42
24
  var theme = _ref.theme;
43
- return css(_templateObject(), theme.colors.alertColor);
25
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n"])), theme.colors.alertColor);
44
26
  };
45
27
 
46
- var Content = styled('div')(_templateObject2(), function (props) {
28
+ var Content = styled('div')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n\t", ";\n\tfont-size: 13px;\n\tmargin: 8px;\n"])), function (props) {
47
29
  return props.alert && alert;
48
30
  });
49
31
 
50
- var checkValueChange = helper.checkValueChange,
51
- getClassName = helper.getClassName,
52
- getOptionsFromQuery = helper.getOptionsFromQuery,
32
+ var getClassName = helper.getClassName,
53
33
  isEqual = helper.isEqual;
54
34
  var RangeInput = {
55
35
  name: 'RangeInput',
@@ -95,7 +75,7 @@ var RangeInput = {
95
75
  stepValue: types.number,
96
76
  componentStyle: types.style,
97
77
  componentId: types.stringRequired,
98
- includeNullValues: types.bool,
78
+ includeNullValues: VueTypes.bool,
99
79
  beforeValueChange: types.func,
100
80
  customQuery: types.func,
101
81
  data: types.data,
@@ -130,17 +110,19 @@ var RangeInput = {
130
110
  return false;
131
111
  },
132
112
  handleChange: function handleChange(value, event) {
113
+ var currentValue = value;
114
+
133
115
  if (this.shouldUpdate(value) && !isEqual(value, this.currentValue)) {
134
116
  switch (event) {
135
117
  case 'change':
136
118
  if (!value) {
137
- value = {
119
+ currentValue = {
138
120
  start: this.$props.range ? this.$props.range.start : 0,
139
121
  end: this.$props.range ? this.$props.range.end : 10
140
122
  };
141
123
  }
142
124
 
143
- this.$data.currentValue = _extends({}, value);
125
+ this.$data.currentValue = _extends({}, currentValue);
144
126
  this.$emit('change', this.$data.currentValue);
145
127
  break;
146
128
 
@@ -150,13 +132,13 @@ var RangeInput = {
150
132
  break;
151
133
 
152
134
  default:
153
- this.$data.currentValue = _extends({}, value);
135
+ this.$data.currentValue = _extends({}, currentValue);
154
136
  break;
155
137
  }
156
138
  }
157
139
  },
158
140
  handleOnChange: function handleOnChange(value) {
159
- this.handleChange(value, 'change');
141
+ this.handleChange(value || this.$props.range, 'change');
160
142
  },
161
143
  handleValueChange: function handleValueChange(value) {
162
144
  this.handleChange(value, 'value-change');
@@ -172,12 +154,10 @@ var RangeInput = {
172
154
  } else {
173
155
  this.$data.isEndValid = false;
174
156
  }
175
- } else {
176
- if (name === 'start' && !this.$data.isStartValid) {
177
- this.$data.isStartValid = true;
178
- } else if (name === 'end' && !this.$data.isEndValid) {
179
- this.$data.isEndValid = true;
180
- }
157
+ } else if (name === 'start' && !this.$data.isStartValid) {
158
+ this.$data.isStartValid = true;
159
+ } else if (name === 'end' && !this.$data.isEndValid) {
160
+ this.$data.isEndValid = true;
181
161
  }
182
162
 
183
163
  if (this.$data.isStartValid && this.$data.isEndValid) {
@@ -213,6 +193,10 @@ var RangeInput = {
213
193
  if (this.$props.defaultValue && this.$props.defaultValue.start && this.$props.defaultValue.end) {
214
194
  this.handleChange(this.$props.defaultValue);
215
195
  }
196
+
197
+ if (this.isControlled()) {
198
+ this.handleChange(this.$props.value, 'change');
199
+ }
216
200
  },
217
201
  render: function render() {
218
202
  var h = arguments[0];
@@ -334,7 +318,7 @@ var RangeInput = {
334
318
  }
335
319
  };
336
320
 
337
- var mapStateToProps = function mapStateToProps(state, props) {
321
+ var mapStateToProps = function mapStateToProps(state) {
338
322
  return {
339
323
  themePreset: state.config.themePreset
340
324
  };
@@ -1,17 +1,17 @@
1
1
  import { Actions, helper } from '@appbaseio/reactivecore';
2
- import { a as _extends } from './_rollupPluginBabelHelpers-c9fbe19f.js';
2
+ import { a as _extends } from './_rollupPluginBabelHelpers-ecf6c03c.js';
3
3
  import VueTypes from 'vue-types';
4
4
  import { componentTypes } from '@appbaseio/reactivecore/lib/utils/constants';
5
5
  import '@appbaseio/vue-emotion';
6
- import { t as types } from './vueTypes-98d938a9.js';
6
+ import { t as types } from './vueTypes-9326e0be.js';
7
7
  import '@appbaseio/reactivecore/lib/utils/transform';
8
8
  import 'redux';
9
- import { f as updateCustomQuery, i as isQueryIdentical, c as connect } from './index-1fe91a0a.js';
10
- import { C as ComponentWrapper } from './ComponentWrapper-d0b21b95.js';
11
- import { T as Title } from './Title-22c2f3bf.js';
12
- import { C as Container } from './Container-f5efec9e.js';
9
+ import { f as updateCustomQuery, i as isQueryIdentical, c as connect } from './index-5daa8276.js';
10
+ import { C as ComponentWrapper } from './ComponentWrapper-bbb717bc.js';
11
+ import { T as Title } from './Title-579f8d6c.js';
12
+ import { C as Container } from './Container-4383c6f0.js';
13
13
  import NoSSR from 'vue-no-ssr';
14
- import { g as getComponents, S as Slider } from './ssr-2f57791d.js';
14
+ import { g as getComponents, S as Slider } from './ssr-e3196de1.js';
15
15
 
16
16
  var updateQuery = Actions.updateQuery,
17
17
  setQueryOptions = Actions.setQueryOptions,
@@ -57,7 +57,8 @@ var RangeSlider = {
57
57
  title: types.title,
58
58
  URLParams: VueTypes.bool.def(false),
59
59
  sliderOptions: VueTypes.object.def({}),
60
- nestedField: types.string
60
+ nestedField: types.string,
61
+ index: VueTypes.string
61
62
  },
62
63
  methods: {
63
64
  handleSliderChange: function handleSliderChange(values) {
@@ -72,32 +73,28 @@ var RangeSlider = {
72
73
  });
73
74
  }
74
75
  },
75
- handleSlider: function handleSlider(values) {
76
- var _this = this;
77
-
78
- clearTimeout(this.handleSliderChange._tId);
79
- this.handleSliderChange._tId = setTimeout(function () {
80
- _this.handleSliderChange(values);
81
- }, 100);
76
+ handleSlider: function handleSlider() {
77
+ var sliderValues = this.$refs.slider.getValue();
78
+ this.handleSliderChange(sliderValues);
82
79
  },
83
80
  handleChange: function handleChange(currentValue, props) {
84
- var _this2 = this;
81
+ var _this = this;
85
82
 
86
83
  if (props === void 0) {
87
84
  props = this.$props;
88
85
  }
89
86
 
90
87
  var performUpdate = function performUpdate() {
91
- _this2.currentValue = currentValue;
88
+ _this.currentValue = currentValue;
92
89
 
93
- _this2.updateQueryHandler([currentValue[0], currentValue[1]], props);
90
+ _this.updateQueryHandler([currentValue[0], currentValue[1]], props);
94
91
 
95
- _this2.$emit('valueChange', {
92
+ _this.$emit('valueChange', {
96
93
  start: currentValue[0],
97
94
  end: currentValue[1]
98
95
  });
99
96
 
100
- _this2.$emit('value-change', {
97
+ _this.$emit('value-change', {
101
98
  start: currentValue[0],
102
99
  end: currentValue[1]
103
100
  });
@@ -129,7 +126,7 @@ var RangeSlider = {
129
126
  currentEnd = value[1]; // check if the slider is at its initial position
130
127
 
131
128
  var isInitialValue = currentStart === start && currentEnd === end;
132
- this.setQueryOptions(props.componentId, customQueryOptions);
129
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
133
130
  this.updateQuery({
134
131
  componentId: props.componentId,
135
132
  query: query,
@@ -165,6 +162,10 @@ var RangeSlider = {
165
162
  created: function created() {
166
163
  if (!this.$props.range) {
167
164
  console.error('%crange is not defined. Read more about this at https://opensource.appbase.io/reactive-manual/vue/range-components/rangeslider.html#props', 'font-size: 12.5px;');
165
+ }
166
+
167
+ if (!this.enableAppbase && this.$props.index) {
168
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
168
169
  } // Set custom query in store
169
170
 
170
171
 
@@ -204,12 +205,13 @@ var RangeSlider = {
204
205
  "max": this.$props.range.end,
205
206
  "dotSize": 20,
206
207
  "height": 4,
207
- "enable-cross": false
208
+ "enable-cross": false,
209
+ "tooltip": "always"
210
+ },
211
+ "on": {
212
+ "drag-end": this.handleSlider
208
213
  },
209
- "props": _extends({}, this.$props.sliderOptions),
210
- "on": _extends({}, {
211
- input: this.handleSlider
212
- })
214
+ "props": _extends({}, this.$props.sliderOptions)
213
215
  }), this.$props.rangeLabels && h("div", {
214
216
  "class": "label-container"
215
217
  }, [h("label", {
@@ -251,7 +253,7 @@ RangeSlider.defaultQuery = function (values, props) {
251
253
 
252
254
  RangeSlider.parseValue = function (value, props) {
253
255
  if (value) {
254
- return [value.start, value.end];
256
+ return Array.isArray(value) ? value : [value.start, value.end];
255
257
  }
256
258
 
257
259
  if (props.range) {
@@ -266,7 +268,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
266
268
  options: state.aggregations[props.componentId] ? state.aggregations[props.componentId][props.dataField] && state.aggregations[props.componentId][props.dataField].buckets // eslint-disable-line
267
269
  : [],
268
270
  selectedValue: state.selectedValues[props.componentId] ? state.selectedValues[props.componentId].value : null,
269
- componentProps: state.props[props.componentId]
271
+ componentProps: state.props[props.componentId],
272
+ enableAppbase: state.config.enableAppbase
270
273
  };
271
274
  };
272
275
 
@@ -1,13 +1,13 @@
1
1
  import configureStore, { Actions, helper } from '@appbaseio/reactivecore';
2
- import { _ as _taggedTemplateLiteralLoose, a as _extends } from './_rollupPluginBabelHelpers-c9fbe19f.js';
2
+ import { _ as _taggedTemplateLiteralLoose, a as _extends } from './_rollupPluginBabelHelpers-ecf6c03c.js';
3
3
  import VueTypes from 'vue-types';
4
4
  import '@appbaseio/reactivecore/lib/utils/constants';
5
+ import { isEqual as isEqual$1 } from '@appbaseio/reactivecore/lib/utils/helper';
5
6
  import styled from '@appbaseio/vue-emotion';
6
- import { t as types } from './vueTypes-98d938a9.js';
7
+ import { t as types } from './vueTypes-9326e0be.js';
7
8
  import 'redux';
8
- import { c as connect, e as composeThemeObject } from './index-1fe91a0a.js';
9
+ import { c as connect, e as composeThemeObject, X as X_SEARCH_CLIENT } from './index-5daa8276.js';
9
10
  import _mergeJSXProps from '@vue/babel-helper-vue-jsx-merge-props';
10
- import { isEqual as isEqual$1 } from '@appbaseio/reactivecore/lib/utils/helper';
11
11
  import { updateAnalyticsConfig } from '@appbaseio/reactivecore/lib/actions/analytics';
12
12
  import Appbase from 'appbase-js';
13
13
  import 'url-search-params-polyfill';
@@ -41,15 +41,7 @@ var Provider = {
41
41
  }
42
42
  };
43
43
 
44
- function _templateObject() {
45
- var data = _taggedTemplateLiteralLoose(["\n\tfont-family: ", ";\n\tfont-size: ", ";\n\tcolor: ", ";\n\twidth: 100%;\n\n\tinput,\n\tbutton,\n\ttextarea,\n\tselect {\n\t\tfont-family: ", ";\n\t}\n\n\t*,\n\t*:before,\n\t*:after {\n\t\tbox-sizing: border-box;\n\t}\n"]);
46
-
47
- _templateObject = function _templateObject() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
44
+ var _templateObject;
53
45
  var Base = {
54
46
  functional: true,
55
47
  render: function render(h, _ref) {
@@ -61,7 +53,7 @@ var Base = {
61
53
  return h(T, _mergeJSXProps([{}, props]), [children]);
62
54
  }
63
55
  };
64
- var Base$1 = styled(Base)(_templateObject(), function (_ref2) {
56
+ var Base$1 = styled(Base)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n\tfont-family: ", ";\n\tfont-size: ", ";\n\tcolor: ", ";\n\twidth: 100%;\n\n\tinput,\n\tbutton,\n\ttextarea,\n\tselect {\n\t\tfont-family: ", ";\n\t}\n\n\t*,\n\t*:before,\n\t*:after {\n\t\tbox-sizing: border-box;\n\t}\n"])), function (_ref2) {
65
57
  var theme = _ref2.theme;
66
58
  return theme.typography.fontFamily;
67
59
  }, function (_ref3) {
@@ -85,7 +77,7 @@ var URLParamsProvider = {
85
77
  headers: types.headers,
86
78
  getSearchParams: types.func,
87
79
  setSearchParams: types.func,
88
- as: types.string.def('div')
80
+ as: VueTypes.string.def('div')
89
81
  },
90
82
  mounted: function mounted() {
91
83
  var _this = this;
@@ -233,7 +225,9 @@ var URLParamsProvider = {
233
225
  return value.map(function (item) {
234
226
  return _this3.getValue(item);
235
227
  });
236
- } else if (value && typeof value === 'object') {
228
+ }
229
+
230
+ if (value && typeof value === 'object') {
237
231
  // TODO: support for NestedList
238
232
  if (value.location) return value;
239
233
  if (value.category) return value;
@@ -358,11 +352,11 @@ var ReactiveBase = {
358
352
  }
359
353
  },
360
354
  props: {
361
- app: types.stringRequired,
355
+ app: types.string,
362
356
  analytics: VueTypes.bool,
363
357
  analyticsConfig: types.analyticsConfig,
364
358
  appbaseConfig: types.appbaseConfig,
365
- enableAppbase: types.bool.def(false),
359
+ enableAppbase: VueTypes.bool.def(false),
366
360
  credentials: types.string,
367
361
  headers: types.headers,
368
362
  queryParams: types.string,
@@ -371,13 +365,15 @@ var ReactiveBase = {
371
365
  type: types.string,
372
366
  url: types.string,
373
367
  mapKey: types.string,
368
+ initialQueriesSyncTime: types.number,
374
369
  className: types.string,
375
370
  initialState: VueTypes.object.def({}),
376
371
  transformRequest: types.func,
377
372
  transformResponse: types.func,
378
373
  as: VueTypes.string.def('div'),
379
374
  getSearchParams: types.func,
380
- setSearchParams: types.func
375
+ setSearchParams: types.func,
376
+ mongodb: types.mongodb
381
377
  },
382
378
  provide: function provide() {
383
379
  return {
@@ -417,6 +413,27 @@ var ReactiveBase = {
417
413
  this.store.dispatch(updateAnalyticsConfig(newVal));
418
414
  }
419
415
  }
416
+ },
417
+ mongodb: function mongodb() {
418
+ this.updateState(this.$props);
419
+ }
420
+ },
421
+ computed: {
422
+ getHeaders: function getHeaders() {
423
+ var _this$$props = this.$props,
424
+ enableAppbase = _this$$props.enableAppbase,
425
+ headers = _this$$props.headers,
426
+ appbaseConfig = _this$$props.appbaseConfig,
427
+ mongodb = _this$$props.mongodb;
428
+
429
+ var _ref = appbaseConfig || {},
430
+ enableTelemetry = _ref.enableTelemetry;
431
+
432
+ return _extends({}, enableAppbase && !mongodb && _extends({
433
+ 'X-Search-Client': X_SEARCH_CLIENT
434
+ }, enableTelemetry === false && {
435
+ 'X-Enable-Telemetry': false
436
+ }), headers);
420
437
  }
421
438
  },
422
439
  methods: {
@@ -427,10 +444,10 @@ var ReactiveBase = {
427
444
  setStore: function setStore(props) {
428
445
  var credentials = props.url && props.url.trim() !== '' && !props.credentials ? null : props.credentials;
429
446
 
430
- var appbaseConfig = _extends(_extends({}, props.analyticsConfig), props.appbaseConfig);
447
+ var appbaseConfig = _extends({}, props.analyticsConfig, props.appbaseConfig);
431
448
 
432
449
  var config = {
433
- url: props.url && props.url.trim() !== '' ? props.url : 'https://scalr.api.appbase.io',
450
+ url: props.url && props.url.trim() !== '' ? props.url : '',
434
451
  app: props.app,
435
452
  credentials: credentials,
436
453
  type: props.type ? props.type : '*',
@@ -438,7 +455,8 @@ var ReactiveBase = {
438
455
  transformResponse: props.transformResponse,
439
456
  enableAppbase: props.enableAppbase,
440
457
  analytics: props.appbaseConfig ? props.appbaseConfig.recordAnalytics : props.analytics,
441
- analyticsConfig: appbaseConfig
458
+ analyticsConfig: appbaseConfig,
459
+ mongodb: props.mongodb
442
460
  };
443
461
  var queryParams = '';
444
462
 
@@ -450,9 +468,10 @@ var ReactiveBase = {
450
468
 
451
469
  var params = new URLSearchParams(queryParams);
452
470
  var selectedValues = {};
471
+ var urlValues = {};
453
472
  Array.from(params.keys()).forEach(function (key) {
454
473
  try {
455
- var _extends2;
474
+ var _extends2, _extends3;
456
475
 
457
476
  var parsedParams = JSON.parse(params.get(key));
458
477
  var selectedValue = {};
@@ -464,13 +483,13 @@ var ReactiveBase = {
464
483
  }
465
484
 
466
485
  if (parsedParams.category) selectedValue.category = parsedParams.category;
467
- selectedValues = _extends(_extends({}, selectedValues), {}, (_extends2 = {}, _extends2[key] = selectedValue, _extends2));
486
+ selectedValue.reference = 'URL';
487
+ selectedValues = _extends({}, selectedValues, (_extends2 = {}, _extends2[key] = selectedValue, _extends2));
488
+ urlValues = _extends({}, urlValues, (_extends3 = {}, _extends3[key] = selectedValue.value, _extends3));
468
489
  } catch (e) {// Do not add to selectedValues if JSON parsing fails.
469
490
  }
470
491
  });
471
- var _props$headers = props.headers,
472
- headers = _props$headers === void 0 ? {} : _props$headers,
473
- themePreset = props.themePreset;
492
+ var themePreset = props.themePreset;
474
493
  var appbaseRef = Appbase(config);
475
494
 
476
495
  if (this.$props.transformRequest) {
@@ -482,13 +501,16 @@ var ReactiveBase = {
482
501
  }
483
502
 
484
503
  var initialState = _extends({
485
- config: _extends(_extends({}, config), {}, {
504
+ config: _extends({}, config, {
505
+ initialQueriesSyncTime: props.initialQueriesSyncTime,
506
+ initialTimestamp: new Date().getTime(),
486
507
  mapKey: props.mapKey,
487
508
  themePreset: themePreset
488
509
  }),
489
510
  appbaseRef: appbaseRef,
490
511
  selectedValues: selectedValues,
491
- headers: headers
512
+ urlValues: urlValues,
513
+ headers: this.getHeaders
492
514
  }, this.$props.initialState);
493
515
 
494
516
  this.store = configureStore(initialState);
@@ -497,10 +519,9 @@ var ReactiveBase = {
497
519
  render: function render() {
498
520
  var h = arguments[0];
499
521
  var children = this.$slots["default"];
500
- var _this$$props = this.$props,
501
- headers = _this$$props.headers,
502
- style = _this$$props.style,
503
- className = _this$$props.className;
522
+ var _this$$props2 = this.$props,
523
+ style = _this$$props2.style,
524
+ className = _this$$props2.className;
504
525
  return h(Provider, {
505
526
  "attrs": {
506
527
  "store": this.store
@@ -508,7 +529,7 @@ var ReactiveBase = {
508
529
  }, [h(URLParamsProvider$1, {
509
530
  "attrs": {
510
531
  "as": this.$props.as,
511
- "headers": headers,
532
+ "headers": this.getHeaders,
512
533
  "className": className,
513
534
  "getSearchParams": this.getSearchParams,
514
535
  "setSearchParams": this.setSearchParams