@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
@@ -6,17 +6,21 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('redux');
13
- var index = require('./index-e0583d76.js');
13
+ var index = require('./index-2a8358cd.js');
14
14
 
15
15
  var getSearchState = configureStore.helper.getSearchState;
16
16
  var defaultKeys = ['hits', 'value', 'aggregations', 'error'];
17
17
 
18
18
  var filterProps = function filterProps(props) {
19
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, props), {}, {
19
+ if (props === void 0) {
20
+ props = {};
21
+ }
22
+
23
+ return _rollupPluginBabelHelpers._extends({}, props, {
20
24
  props: props.componentProps
21
25
  });
22
26
  };
@@ -35,7 +39,7 @@ var filterByComponentIds = function filterByComponentIds(state, props) {
35
39
  return _ref = {}, _ref[componentIds] = state[componentIds], _ref;
36
40
  }
37
41
 
38
- if (componentIds instanceof Array) {
42
+ if (Array.isArray(componentIds)) {
39
43
  var filteredState = {};
40
44
  componentIds.forEach(function (componentId) {
41
45
  filteredState[componentId] = state[componentId];
@@ -50,7 +54,7 @@ var filterByKeys = function filterByKeys(state, allowedKeys) {
50
54
  return Object.keys(state).reduce(function (components, componentId) {
51
55
  var _extends2;
52
56
 
53
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, components), {}, (_extends2 = {}, _extends2[componentId] = Object.keys(state[componentId]).filter(function (key) {
57
+ return _rollupPluginBabelHelpers._extends({}, components, (_extends2 = {}, _extends2[componentId] = Object.keys(state[componentId]).filter(function (key) {
54
58
  return allowedKeys.includes(key);
55
59
  }).reduce(function (obj, key) {
56
60
  // eslint-disable-next-line
@@ -74,7 +78,7 @@ var StateProvider = {
74
78
  };
75
79
  return this.__state;
76
80
  },
77
- mounted: function mounted() {
81
+ created: function created() {
78
82
  this.searchState = filterByKeys(getSearchState(filterProps(this.searchStateProps)), this.includeKeys);
79
83
  },
80
84
  computed: {
@@ -96,7 +100,7 @@ var StateProvider = {
96
100
  watch: {
97
101
  searchState: function searchState(newVal, oldVal) {
98
102
  if (this.isStateChanged(newVal, oldVal)) {
99
- this.$emit('change', newVal, oldVal);
103
+ this.$emit('change', oldVal, newVal);
100
104
  }
101
105
  },
102
106
  selectedValues: function selectedValues(newVal, oldVal) {
@@ -2,20 +2,12 @@
2
2
 
3
3
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
4
 
5
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
5
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
6
6
  var styled = require('@appbaseio/vue-emotion');
7
7
  var styled__default = _interopDefault(styled);
8
8
 
9
- function _templateObject() {
10
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmargin: 0 0 8px;\n\tfont-size: 1rem;\n\tcolor: ", ";\n"]);
11
-
12
- _templateObject = function _templateObject() {
13
- return data;
14
- };
15
-
16
- return data;
17
- }
18
- var Title = styled__default('h2')(_templateObject(), function (_ref) {
9
+ var _templateObject;
10
+ var Title = styled__default('h2')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmargin: 0 0 8px;\n\tfont-size: 1rem;\n\tcolor: ", ";\n"])), function (_ref) {
19
11
  var theme = _ref.theme;
20
12
  return theme.colors.titleColor;
21
13
  });
@@ -6,20 +6,20 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- require('./_rollupPluginBabelHelpers-280a574c.js');
10
- require('vue-types');
9
+ require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
+ var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var Button = require('./Button-78d8bc26.js');
16
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var Button = require('./Button-d2f1aeda.js');
16
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-e0583d76.js');
20
- var ComponentWrapper = require('./ComponentWrapper-5a0a8849.js');
21
- var Title = require('./Title-e9beb554.js');
22
- var Container = require('./Container-f84e72fc.js');
19
+ var index = require('./index-2a8358cd.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-ab813390.js');
21
+ var Title = require('./Title-39765ee6.js');
22
+ var Container = require('./Container-8a08d663.js');
23
23
 
24
24
  var updateQuery = configureStore.Actions.updateQuery,
25
25
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -35,17 +35,19 @@ var ToggleButton = {
35
35
  componentId: vueTypes.types.stringRequired,
36
36
  data: vueTypes.types.data,
37
37
  dataField: vueTypes.types.stringRequired,
38
- defaultValue: vueTypes.types.stringOrArray,
38
+ defaultValue: vueTypes.types.any,
39
39
  value: vueTypes.types.stringOrArray,
40
40
  filterLabel: vueTypes.types.string,
41
41
  nestedField: vueTypes.types.string,
42
42
  innerClass: vueTypes.types.style,
43
- multiSelect: vueTypes.types.bool,
43
+ multiSelect: VueTypes.bool,
44
44
  react: vueTypes.types.react,
45
- showFilter: vueTypes.types.bool,
45
+ showFilter: VueTypes.bool,
46
46
  title: vueTypes.types.title,
47
- URLParams: vueTypes.types.bool,
48
- renderItem: vueTypes.types.func
47
+ URLParams: VueTypes.bool,
48
+ renderItem: vueTypes.types.func,
49
+ index: VueTypes.string,
50
+ enableStrictSelection: VueTypes.bool
49
51
  },
50
52
  data: function data() {
51
53
  this.__state = {
@@ -65,7 +67,11 @@ var ToggleButton = {
65
67
  }
66
68
  },
67
69
  created: function created() {
68
- // Set custom query in store
70
+ if (!this.enableAppbase && this.$props.index) {
71
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
72
+ } // Set custom query in store
73
+
74
+
69
75
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
70
76
  },
71
77
  watch: {
@@ -187,7 +193,7 @@ var ToggleButton = {
187
193
  var _ref = customQuery(value, props) || {};
188
194
 
189
195
  query = _ref.query;
190
- this.setQueryOptions(props.componentId, getOptionsFromQuery(customQuery(value, props)));
196
+ this.setQueryOptions(props.componentId, getOptionsFromQuery(customQuery(value, props)), false);
191
197
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
192
198
  }
193
199
 
@@ -203,6 +209,16 @@ var ToggleButton = {
203
209
  });
204
210
  },
205
211
  handleClick: function handleClick(item) {
212
+ var _this$$props = this.$props,
213
+ enableStrictSelection = _this$$props.enableStrictSelection,
214
+ multiSelect = _this$$props.multiSelect;
215
+
216
+ if (enableStrictSelection && !multiSelect && this.$data.currentValue.find(function (stateItem) {
217
+ return isEqual(item, stateItem);
218
+ })) {
219
+ return false;
220
+ }
221
+
206
222
  var value = this.$props.value;
207
223
 
208
224
  if (value === undefined) {
@@ -210,6 +226,8 @@ var ToggleButton = {
210
226
  } else {
211
227
  this.$emit('change', item.value);
212
228
  }
229
+
230
+ return true;
213
231
  },
214
232
  renderButton: function renderButton(item) {
215
233
  var _this2 = this;
@@ -312,7 +330,8 @@ ToggleButton.defaultQuery = function (value, props) {
312
330
  var mapStateToProps = function mapStateToProps(state, props) {
313
331
  return {
314
332
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
315
- componentProps: state.props[props.componentId]
333
+ componentProps: state.props[props.componentId],
334
+ enableAppbase: state.config.enableAppbase
316
335
  };
317
336
  };
318
337
 
@@ -21,7 +21,17 @@ function _extends() {
21
21
  function _inheritsLoose(subClass, superClass) {
22
22
  subClass.prototype = Object.create(superClass.prototype);
23
23
  subClass.prototype.constructor = subClass;
24
- subClass.__proto__ = superClass;
24
+
25
+ _setPrototypeOf(subClass, superClass);
26
+ }
27
+
28
+ function _setPrototypeOf(o, p) {
29
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
30
+ o.__proto__ = p;
31
+ return o;
32
+ };
33
+
34
+ return _setPrototypeOf(o, p);
25
35
  }
26
36
 
27
37
  function _objectWithoutPropertiesLoose(source, excluded) {
@@ -4,7 +4,7 @@ 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 _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
7
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
8
8
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
9
  var redux = require('redux');
10
10
 
@@ -57,7 +57,7 @@ var normalizeMapState = function normalizeMapState(mapState) {
57
57
  }).reduce(function (map, key) {
58
58
  var _extends2;
59
59
 
60
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, map), {}, (_extends2 = {}, _extends2[key] = mapState[key](state, ownProps), _extends2));
60
+ return _rollupPluginBabelHelpers._extends({}, map, (_extends2 = {}, _extends2[key] = mapState[key](state, ownProps), _extends2));
61
61
  }, {});
62
62
  };
63
63
  }
@@ -82,12 +82,12 @@ var connector = function connector(_mapState, mapDispatch) {
82
82
  mixins: [component],
83
83
  inject: ['$$store'],
84
84
  data: function data() {
85
- var merged = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, mapState(this.$$store.getState(), this.$props || {})), redux.bindActionCreators(mapDispatch, this.$$store.dispatch));
85
+ var merged = _rollupPluginBabelHelpers._extends({}, mapState(this.$$store.getState(), this.$props || {}), redux.bindActionCreators(mapDispatch, this.$$store.dispatch));
86
86
 
87
87
  return Object.keys(merged).reduce(function (data, key) {
88
88
  var _extends3;
89
89
 
90
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, data), {}, (_extends3 = {}, _extends3[key] = merged[key], _extends3));
90
+ return _rollupPluginBabelHelpers._extends({}, data, (_extends3 = {}, _extends3[key] = merged[key], _extends3));
91
91
  }, {});
92
92
  },
93
93
  created: function created() {
@@ -134,6 +134,7 @@ var connect = function connect() {
134
134
  // storeKey,
135
135
  // });
136
136
 
137
+ var X_SEARCH_CLIENT = 'ReactiveSearch Vue';
137
138
  var composeThemeObject = function composeThemeObject(ownTheme, userTheme) {
138
139
  if (ownTheme === void 0) {
139
140
  ownTheme = {};
@@ -144,9 +145,9 @@ var composeThemeObject = function composeThemeObject(ownTheme, userTheme) {
144
145
  }
145
146
 
146
147
  return {
147
- typography: _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, ownTheme.typography), userTheme.typography),
148
- colors: _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, ownTheme.colors), userTheme.colors),
149
- component: _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, ownTheme.component), userTheme.component)
148
+ typography: _rollupPluginBabelHelpers._extends({}, ownTheme.typography, userTheme.typography),
149
+ colors: _rollupPluginBabelHelpers._extends({}, ownTheme.colors, userTheme.colors),
150
+ component: _rollupPluginBabelHelpers._extends({}, ownTheme.component, userTheme.component)
150
151
  };
151
152
  };
152
153
  /**
@@ -221,12 +222,12 @@ var isEvent = function isEvent(candidate) {
221
222
  return !!(candidate && candidate.stopPropagation && candidate.preventDefault);
222
223
  };
223
224
  var updateDefaultQuery = function updateDefaultQuery(componentId, setDefaultQuery, props, value) {
224
- defaultQueryUtil(componentId, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, props), {}, {
225
+ defaultQueryUtil(componentId, _rollupPluginBabelHelpers._extends({}, props, {
225
226
  setDefaultQuery: setDefaultQuery
226
227
  }), value);
227
228
  };
228
229
  var updateCustomQuery = function updateCustomQuery(componentId, setCustomQuery, props, value) {
229
- customQueryUtil(componentId, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, props), {}, {
230
+ customQueryUtil(componentId, _rollupPluginBabelHelpers._extends({}, props, {
230
231
  setCustomQuery: setCustomQuery
231
232
  }), value);
232
233
  };
@@ -299,18 +300,85 @@ var getCamelCase = function getCamelCase(str) {
299
300
  var capitalString = capital.join('');
300
301
  return capitalString || '';
301
302
  };
303
+ var isEmpty = function isEmpty(val) {
304
+ return !(val && val.length && Object.keys(val).length);
305
+ };
306
+ function isNumeric(value) {
307
+ return /^-?\d+$/.test(value);
308
+ } // check if passed shortcut a key combination
309
+
310
+ function isHotkeyCombination(hotkey) {
311
+ return typeof hotkey === 'string' && hotkey.indexOf('+') !== -1;
312
+ } // used for getting correct string char from keycode passed
313
+ // the below algebraic expression is used to get the correct ascii code out of the e.which || e.keycode returned value
314
+ // since the keyboards doesn't understand ascii but scan codes and they differ for certain keys such as '/'
315
+ // stackoverflow ref: https://stackoverflow.com/a/29811987/10822996
316
+
317
+ function getCharFromCharCode(passedCharCode) {
318
+ var which = passedCharCode;
319
+ var chrCode = which - 48 * Math.floor(which / 48);
320
+ return String.fromCharCode(which >= 96 ? chrCode : which);
321
+ } // used for parsing focusshortcuts for keycodes passed as string, eg: 'ctrl+/' is same as 'ctrl+47'
322
+ // returns focusShortcuts containing appropriate key charsas depicted on keyboards
323
+
324
+ function parseFocusShortcuts(focusShortcutsArray) {
325
+ if (isEmpty(focusShortcutsArray)) return [];
326
+ var parsedFocusShortcutsArray = [];
327
+ focusShortcutsArray.forEach(function (element) {
328
+ if (typeof element === 'string') {
329
+ if (isHotkeyCombination(element)) {
330
+ // splitting the combination into pieces
331
+ var splitCombination = element.split('+');
332
+ var parsedSplitCombination = []; // parsedCombination would have all the keycodes converted into chars
333
+
334
+ var parsedCombination = '';
335
+
336
+ for (var i = 0; i < splitCombination.length; i += 1) {
337
+ if (isNumeric(splitCombination[i])) {
338
+ parsedSplitCombination.push(getCharFromCharCode(+splitCombination[i]));
339
+ } else {
340
+ parsedSplitCombination.push(splitCombination[i]);
341
+ }
342
+ }
343
+
344
+ parsedCombination = parsedSplitCombination.join('+');
345
+ parsedFocusShortcutsArray.push(parsedCombination);
346
+ } else if (isNumeric(element)) {
347
+ parsedFocusShortcutsArray.push(getCharFromCharCode(+element));
348
+ } else {
349
+ // single char shortcut, eg: '/'
350
+ parsedFocusShortcutsArray.push(element);
351
+ }
352
+ } else {
353
+ // if not a string the the shortcut is assumed to be a keycode
354
+ parsedFocusShortcutsArray.push(getCharFromCharCode(element));
355
+ }
356
+ });
357
+ return parsedFocusShortcutsArray;
358
+ }
359
+ var MODIFIER_KEYS = ['shift', 'ctrl', 'alt', 'control', 'option', 'cmd', 'command']; // filter out modifierkeys such as ctrl, alt, command, shift from focusShortcuts prop
360
+
361
+ function extractModifierKeysFromFocusShortcuts(focusShortcutsArray) {
362
+ return focusShortcutsArray.filter(function (shortcutKey) {
363
+ return MODIFIER_KEYS.includes(shortcutKey);
364
+ });
365
+ }
302
366
 
367
+ exports.X_SEARCH_CLIENT = X_SEARCH_CLIENT;
303
368
  exports.composeThemeObject = composeThemeObject;
304
369
  exports.connect = connect;
370
+ exports.extractModifierKeysFromFocusShortcuts = extractModifierKeysFromFocusShortcuts;
305
371
  exports.getCamelCase = getCamelCase;
306
372
  exports.getComponent = getComponent;
307
373
  exports.getQuerySuggestionsComponent = getQuerySuggestionsComponent;
308
374
  exports.getValidPropsKeys = getValidPropsKeys;
309
375
  exports.hasCustomRenderer = hasCustomRenderer;
310
376
  exports.hasQuerySuggestionsRenderer = hasQuerySuggestionsRenderer;
377
+ exports.isEmpty = isEmpty;
311
378
  exports.isEvent = isEvent;
312
379
  exports.isFunction = isFunction;
313
380
  exports.isQueryIdentical = isQueryIdentical;
381
+ exports.parseFocusShortcuts = parseFocusShortcuts;
314
382
  exports.parseValueArray = parseValueArray;
315
383
  exports.updateCustomQuery = updateCustomQuery;
316
384
  exports.updateDefaultQuery = updateDefaultQuery;
package/dist/cjs/index.js CHANGED
@@ -3,41 +3,43 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('@appbaseio/reactivecore');
6
- require('./_rollupPluginBabelHelpers-280a574c.js');
6
+ require('./_rollupPluginBabelHelpers-4abdbfff.js');
7
7
  require('vue-types');
8
8
  require('@appbaseio/reactivecore/lib/utils/constants');
9
+ require('@appbaseio/reactivecore/lib/utils/helper');
9
10
  require('emotion');
10
11
  require('@appbaseio/vue-emotion');
11
12
  require('polished');
12
- require('./Button-78d8bc26.js');
13
- require('./vueTypes-c21f265b.js');
14
- require('./Pagination-91df3b77.js');
13
+ require('./Button-d2f1aeda.js');
14
+ require('./vueTypes-6de9d2a9.js');
15
+ require('./Pagination-1b2320a7.js');
15
16
  var ReactiveList = require('./ReactiveList.js');
16
17
  require('@appbaseio/reactivecore/lib/utils/transform');
17
18
  require('redux');
18
- require('./index-e0583d76.js');
19
- require('./ComponentWrapper-5a0a8849.js');
19
+ require('./index-2a8358cd.js');
20
+ require('./ComponentWrapper-ab813390.js');
20
21
  require('@vue/babel-helper-vue-jsx-merge-props');
21
- require('./Title-e9beb554.js');
22
- require('./ListItem-0c58c5d2.js');
23
- require('./Card-b4af314f.js');
24
- require('./Flex-737c55be.js');
25
- require('@appbaseio/reactivecore/lib/utils/helper');
22
+ require('./Title-39765ee6.js');
23
+ require('./ListItem-933c27e4.js');
24
+ require('./Card-4b915733.js');
25
+ require('./Flex-699639d2.js');
26
26
  require('@appbaseio/reactivecore/lib/actions/analytics');
27
27
  require('appbase-js');
28
28
  require('url-search-params-polyfill');
29
29
  var ReactiveBase = require('./ReactiveBase.js');
30
- require('./Input-643d02a7.js');
30
+ require('hotkeys-js');
31
31
  var DataSearch = require('./DataSearch.js');
32
+ require('./CancelSvg-82021d23.js');
33
+ require('./Input-c6f181d5.js');
32
34
  require('compute-scroll-into-view');
33
- require('./DownShift-b09da079.js');
34
- require('./Container-f84e72fc.js');
35
+ require('./Container-8a08d663.js');
35
36
  require('vue-highlight-words');
36
- require('./FormControlList-08dfb28e.js');
37
- require('./utils-d1ea9f95.js');
37
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
38
+ require('./FormControlList-73497794.js');
39
+ require('./utils-23afb20b.js');
38
40
  var SingleList = require('./SingleList.js');
39
41
  var MultiList = require('./MultiList.js');
40
- require('./DropDown-c66be1a8.js');
42
+ require('./DropDown-0359da33.js');
41
43
  var SingleDropdownList = require('./SingleDropdownList.js');
42
44
  var MultiDropdownList = require('./MultiDropdownList.js');
43
45
  var ToggleButton = require('./ToggleButton.js');
@@ -48,7 +50,7 @@ var MultiRange = require('./MultiRange.js');
48
50
  var ResultCard = require('./ResultCard.js');
49
51
  var ResultList = require('./ResultList.js');
50
52
  require('vue-no-ssr');
51
- require('./ssr-b7a729f9.js');
53
+ require('./ssr-c333c82c.js');
52
54
  var RangeSlider = require('./RangeSlider.js');
53
55
  var DynamicRangeSlider = require('./DynamicRangeSlider.js');
54
56
  var StateProvider = require('./StateProvider.js');
@@ -57,12 +59,14 @@ require('gmap-vue/dist/components-implementation/map');
57
59
  require('ngeohash');
58
60
  var ReactiveGoogleMap = require('./ReactiveGoogleMap.js');
59
61
  require('gmap-vue/dist/components/cluster');
60
- require('gmap-vue/dist/components/marker');
61
62
  require('gmap-vue/dist/components-implementation/info-window');
63
+ require('gmap-vue/dist/components/marker');
62
64
  require('gmap-vue/dist/mixins/map-element');
63
65
  require('@appbaseio/reactivecore/lib/reducers/valueReducer');
64
66
  require('@appbaseio/reactivecore/lib/reducers/queryReducer');
65
67
  require('@appbaseio/reactivecore/lib/reducers/queryOptionsReducer');
68
+ require('@appbaseio/reactivecore/lib/reducers/compositeAggsReducer');
69
+ require('@appbaseio/reactivecore/lib/constants');
66
70
  require('@appbaseio/reactivecore/lib/reducers/dependencyTreeReducer');
67
71
  require('@appbaseio/reactivecore/lib/utils/graphQL');
68
72
  require('@appbaseio/reactivecore/lib/actions/utils');