@appbaseio/reactivesearch-vue 1.16.0-alpha.6 → 1.16.0-alpha.62

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 (105) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +16030 -13113
  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-446f819e.js +68 -0
  6. package/dist/cjs/{DownShift-966a58cb.js → CancelSvg-9f258f4f.js} +60 -16
  7. package/dist/cjs/Card-642547a8.js +30 -0
  8. package/dist/cjs/{ComponentWrapper-603848ed.js → ComponentWrapper-ad3dad02.js} +40 -21
  9. package/dist/cjs/{Container-6cdd3864.js → Container-daf30918.js} +3 -11
  10. package/dist/cjs/DataSearch-86914b10.js +2322 -0
  11. package/dist/cjs/DataSearch.js +18 -2151
  12. package/dist/cjs/{DropDown-f6224ac8.js → DropDown-5513ea77.js} +80 -95
  13. package/dist/cjs/DynamicRangeSlider.js +107 -43
  14. package/dist/cjs/Flex-aa517a13.js +52 -0
  15. package/dist/cjs/FormControlList-c195a592.js +47 -0
  16. package/dist/cjs/Input-e6603a7e.js +79 -0
  17. package/dist/cjs/ListItem-8c9e0d68.js +46 -0
  18. package/dist/cjs/MultiDropdownList.js +102 -68
  19. package/dist/cjs/MultiList.js +80 -50
  20. package/dist/cjs/MultiRange.js +21 -16
  21. package/dist/cjs/{Pagination-af399262.js → Pagination-fe5452fc.js} +14 -8
  22. package/dist/cjs/RangeInput.js +29 -45
  23. package/dist/cjs/RangeSlider.js +32 -30
  24. package/dist/cjs/ReactiveBase.js +87 -56
  25. package/dist/cjs/ReactiveComponent.js +75 -62
  26. package/dist/cjs/ReactiveGoogleMap.js +262 -191
  27. package/dist/cjs/ReactiveList.js +189 -241
  28. package/dist/cjs/ResultCard.js +8 -6
  29. package/dist/cjs/ResultList.js +8 -6
  30. package/dist/cjs/SelectedFilters.js +66 -34
  31. package/dist/cjs/SingleDropdownList.js +88 -60
  32. package/dist/cjs/SingleList.js +53 -35
  33. package/dist/cjs/SingleRange.js +19 -14
  34. package/dist/cjs/StateProvider.js +39 -10
  35. package/dist/cjs/{Title-65d39104.js → Title-1de7d0f4.js} +3 -11
  36. package/dist/cjs/ToggleButton.js +36 -16
  37. package/dist/cjs/{_rollupPluginBabelHelpers-4abdbfff.js → _rollupPluginBabelHelpers-c705cbe6.js} +2 -4
  38. package/dist/cjs/{index-baca18c4.js → index-6a167fe0.js} +99 -13
  39. package/dist/cjs/index.js +31 -25
  40. package/dist/cjs/initReactivesearch.js +178 -104
  41. package/dist/cjs/install-004c6aa4.js +1408 -0
  42. package/dist/cjs/install.js +42 -44
  43. package/dist/cjs/ssr-3027b848.js +39 -0
  44. package/dist/cjs/{utils-ea846a20.js → utils-d6a52588.js} +2 -2
  45. package/dist/cjs/version.js +1 -1
  46. package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
  47. package/dist/es/Button-d8bc15ea.js +59 -0
  48. package/dist/es/{DownShift-92347b5e.js → CancelSvg-4cfae5fd.js} +56 -17
  49. package/dist/es/Card-450683f1.js +23 -0
  50. package/dist/es/{ComponentWrapper-c4c91949.js → ComponentWrapper-424e86fd.js} +40 -21
  51. package/dist/es/Container-ba826e96.js +10 -0
  52. package/dist/es/DataSearch-e71a1014.js +2307 -0
  53. package/dist/es/DataSearch.js +17 -2150
  54. package/dist/es/{DropDown-3d4291f1.js → DropDown-7d9a15c1.js} +79 -94
  55. package/dist/es/DynamicRangeSlider.js +107 -43
  56. package/dist/es/Flex-1f0795c3.js +47 -0
  57. package/dist/es/FormControlList-c22d64f6.js +40 -0
  58. package/dist/es/Input-7a2a9fac.js +71 -0
  59. package/dist/es/ListItem-cad14c5e.js +39 -0
  60. package/dist/es/MultiDropdownList.js +102 -68
  61. package/dist/es/MultiList.js +80 -50
  62. package/dist/es/MultiRange.js +21 -16
  63. package/dist/es/{Pagination-c2a00175.js → Pagination-3f350098.js} +14 -8
  64. package/dist/es/RangeInput.js +29 -45
  65. package/dist/es/RangeSlider.js +32 -30
  66. package/dist/es/ReactiveBase.js +87 -56
  67. package/dist/es/ReactiveComponent.js +75 -62
  68. package/dist/es/ReactiveGoogleMap.js +262 -191
  69. package/dist/es/ReactiveList.js +189 -241
  70. package/dist/es/ResultCard.js +8 -6
  71. package/dist/es/ResultList.js +8 -6
  72. package/dist/es/SelectedFilters.js +66 -34
  73. package/dist/es/SingleDropdownList.js +88 -60
  74. package/dist/es/SingleList.js +53 -35
  75. package/dist/es/SingleRange.js +19 -14
  76. package/dist/es/StateProvider.js +39 -10
  77. package/dist/es/Title-3342664a.js +10 -0
  78. package/dist/es/ToggleButton.js +36 -16
  79. package/dist/es/{_rollupPluginBabelHelpers-ecf6c03c.js → _rollupPluginBabelHelpers-76660dab.js} +2 -4
  80. package/dist/es/{index-185b6266.js → index-7788a843.js} +95 -14
  81. package/dist/es/index.js +27 -22
  82. package/dist/es/initReactivesearch.js +179 -105
  83. package/dist/es/install-b7b604cc.js +1401 -0
  84. package/dist/es/install.js +40 -46
  85. package/dist/es/ssr-b2c0b401.js +33 -0
  86. package/dist/es/{utils-57cc8789.js → utils-9e68acee.js} +2 -2
  87. package/dist/es/version.js +1 -1
  88. package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
  89. package/package.json +6 -4
  90. package/dist/cjs/Button-d48d4365.js +0 -146
  91. package/dist/cjs/Card-9748fbb2.js +0 -58
  92. package/dist/cjs/Flex-befd65fc.js +0 -160
  93. package/dist/cjs/FormControlList-f3857d4b.js +0 -105
  94. package/dist/cjs/Input-95cb19f8.js +0 -178
  95. package/dist/cjs/ListItem-84d185cf.js +0 -84
  96. package/dist/cjs/ssr-3ca8a14f.js +0 -47
  97. package/dist/es/Button-27cc8574.js +0 -137
  98. package/dist/es/Card-1f93780d.js +0 -51
  99. package/dist/es/Container-88c805ef.js +0 -18
  100. package/dist/es/Flex-16d1103a.js +0 -155
  101. package/dist/es/FormControlList-96d44e7b.js +0 -98
  102. package/dist/es/Input-1159c4b5.js +0 -170
  103. package/dist/es/ListItem-d22510c9.js +0 -77
  104. package/dist/es/Title-f0217338.js +0 -18
  105. package/dist/es/ssr-a710392b.js +0 -41
@@ -6,28 +6,28 @@ 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-4abdbfff.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.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
  var styled = require('@appbaseio/vue-emotion');
14
14
  var styled__default = _interopDefault(styled);
15
15
  require('polished');
16
- require('./Button-d48d4365.js');
17
- var vueTypes = require('./vueTypes-c21f265b.js');
18
- var Pagination = require('./Pagination-af399262.js');
16
+ require('./Button-446f819e.js');
17
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
18
+ var Pagination = require('./Pagination-fe5452fc.js');
19
19
  require('@appbaseio/reactivecore/lib/utils/transform');
20
20
  require('redux');
21
- var index = require('./index-baca18c4.js');
22
- var ComponentWrapper = require('./ComponentWrapper-603848ed.js');
21
+ var index = require('./index-6a167fe0.js');
22
+ var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
23
23
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
24
- var FormControlList = require('./FormControlList-f3857d4b.js');
24
+ var FormControlList = require('./FormControlList-c195a592.js');
25
25
  var GmapMapFull = require('gmap-vue');
26
26
  var Map = _interopDefault(require('gmap-vue/dist/components-implementation/map'));
27
27
  var geohash = _interopDefault(require('ngeohash'));
28
- var GmapCluster = _interopDefault(require('gmap-vue/dist/components/cluster'));
29
- var Marker = _interopDefault(require('gmap-vue/dist/components/marker'));
28
+ var Cluster = _interopDefault(require('gmap-vue/dist/components/cluster'));
30
29
  var InfoWindow = _interopDefault(require('gmap-vue/dist/components-implementation/info-window'));
30
+ var Marker = _interopDefault(require('gmap-vue/dist/components/marker'));
31
31
  var MapElementMixin = _interopDefault(require('gmap-vue/dist/mixins/map-element'));
32
32
 
33
33
  var setStreaming = configureStore.Actions.setStreaming,
@@ -76,7 +76,7 @@ function withDistinctLat(loc, count) {
76
76
 
77
77
  var suffix = 1 / Math.pow(10, noiseFactor) * count;
78
78
 
79
- var location = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, loc), {}, {
79
+ var location = _rollupPluginBabelHelpers._extends({}, loc, {
80
80
  lat: parseFloat((loc.lat + suffix).toFixed(length))
81
81
  });
82
82
 
@@ -128,14 +128,13 @@ var ReactiveMap = {
128
128
  react: vueTypes.types.react,
129
129
  size: vueTypes.types.number,
130
130
  sortBy: vueTypes.types.sortBy,
131
- URLParams: vueTypes.types.bool,
132
- autoCenter: vueTypes.types.bool,
131
+ URLParams: VueTypes.bool,
132
+ autoCenter: VueTypes.bool,
133
133
  getMapRef: VueTypes.func.isRequired,
134
134
  center: vueTypes.types.location,
135
135
  defaultCenter: vueTypes.types.location,
136
136
  defaultPin: vueTypes.types.string,
137
137
  defaultZoom: VueTypes.number.def(13),
138
- markerProps: vueTypes.types.props,
139
138
  defaultQuery: vueTypes.types.func,
140
139
  innerClass: vueTypes.types.style,
141
140
  loader: vueTypes.types.title,
@@ -144,17 +143,19 @@ var ReactiveMap = {
144
143
  renderError: vueTypes.types.title,
145
144
  pages: VueTypes.number.def(5),
146
145
  currentPage: VueTypes.number.def(0),
147
- pagination: vueTypes.types.bool,
148
- showMarkers: vueTypes.types.bool,
149
- defaultSearchAsMove: vueTypes.types.bool,
150
- showSearchAsMove: vueTypes.types.bool,
146
+ pagination: VueTypes.bool,
147
+ showMarkers: VueTypes.bool,
148
+ defaultSearchAsMove: VueTypes.bool,
149
+ showSearchAsMove: VueTypes.bool,
151
150
  defaultRadius: vueTypes.types.number,
152
151
  unit: vueTypes.types.string,
153
- autoClosePopover: vueTypes.types.bool,
152
+ autoClosePopover: VueTypes.bool,
154
153
  renderMap: VueTypes.func.isRequired,
155
154
  renderPopover: VueTypes.func,
156
- calculateMarkers: VueTypes.func
155
+ calculateMarkers: VueTypes.func,
156
+ searchAsMoveLabel: VueTypes.string.def('Search as I move the map')
157
157
  },
158
+ preserveCenter: false,
158
159
  data: function data() {
159
160
  var props = this.$props;
160
161
  var currentPageState = 0;
@@ -168,7 +169,6 @@ var ReactiveMap = {
168
169
  zoom: props.defaultZoom,
169
170
  searchAsMove: props.defaultSearchAsMove,
170
171
  currentPageState: currentPageState,
171
- preserveCenter: false,
172
172
  mapBoxBounds: null,
173
173
  markersData: null
174
174
  };
@@ -182,7 +182,7 @@ var ReactiveMap = {
182
182
  var _this$getAllData = this.getAllData(),
183
183
  resultsToRender = _this$getAllData.resultsToRender;
184
184
 
185
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, getResultStats(this)), {}, {
185
+ return _rollupPluginBabelHelpers._extends({}, getResultStats(this), {
186
186
  currentPage: this.currentPageState,
187
187
  displayedResults: resultsToRender.length
188
188
  });
@@ -217,16 +217,19 @@ var ReactiveMap = {
217
217
  var queryOptions = getOptionsFromQuery(this.$defaultQuery);
218
218
 
219
219
  if (queryOptions) {
220
- options = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, options), getOptionsFromQuery(this.$defaultQuery));
220
+ options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery));
221
221
  } // Update calculated default query in store
222
222
 
223
223
 
224
- this.setQueryOptions(this.$props.componentId, options, !query);
224
+ this.setQueryOptions(this.$props.componentId, options, false);
225
225
  var persistMapQuery = true;
226
226
  var forceExecute = true; // Update default query to include the geo bounding box query
227
227
 
228
228
  this.setDefaultQueryForRSAPI();
229
- this.props.setMapData(this.componentId, query, persistMapQuery, forceExecute);
229
+ var meta = {
230
+ mapBoxBounds: this.mapBoxBounds
231
+ };
232
+ this.setMapData(this.componentId, query, persistMapQuery, forceExecute, meta);
230
233
  this.currentPageState = 0;
231
234
  this.from = 0;
232
235
  }
@@ -285,7 +288,7 @@ var ReactiveMap = {
285
288
  }).map(function (item) {
286
289
  var _extends2;
287
290
 
288
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, item), {}, (_extends2 = {}, _extends2[_this.dataField] = getLocationObject(item[_this.dataField]), _extends2));
291
+ return _rollupPluginBabelHelpers._extends({}, item, (_extends2 = {}, _extends2[_this.dataField] = getLocationObject(item[_this.dataField]), _extends2));
289
292
  });
290
293
  this.filteredResults = this.addNoise(filteredResults);
291
294
 
@@ -410,10 +413,10 @@ var ReactiveMap = {
410
413
 
411
414
  var mapRef = this.getMapRef();
412
415
 
413
- if (mapRef && typeof mapRef.getCenter === 'function' && this.preserveCenter) {
416
+ if (mapRef && typeof mapRef.getCenter === 'function' && this.$options.preserveCenter) {
414
417
  var currentCenter = mapRef.getCenter();
415
418
  setTimeout(function () {
416
- _this4.preserveCenter = false;
419
+ _this4.$options.preserveCenter = false;
417
420
  }, 100);
418
421
  return this.parseLocation({
419
422
  lat: currentCenter.lat(),
@@ -437,7 +440,7 @@ var ReactiveMap = {
437
440
 
438
441
  if (this.searchAsMove) {
439
442
  this.zoom = zoom;
440
- this.preserveCenter = true;
443
+ this.$options.preserveCenter = true;
441
444
  this.setGeoQuery(true);
442
445
  } else {
443
446
  this.zoom = zoom;
@@ -450,14 +453,14 @@ var ReactiveMap = {
450
453
  },
451
454
  handleOnDragEnd: function handleOnDragEnd() {
452
455
  if (this.searchAsMove) {
453
- this.preserveCenter = true;
456
+ this.$options.preserveCenter = true;
454
457
  this.setGeoQuery(true);
455
458
  }
456
459
 
457
460
  this.$emit('drag-end');
458
461
  },
459
462
  handlePreserveCenter: function handlePreserveCenter(preserveCenter) {
460
- this.preserveCenter = preserveCenter;
463
+ this.$options.preserveCenter = preserveCenter;
461
464
  },
462
465
  handleOnIdle: function handleOnIdle() {
463
466
  // only make the geo_bounding query if we have hits data
@@ -497,7 +500,6 @@ var ReactiveMap = {
497
500
  defaultPin = this.defaultPin,
498
501
  renderPopover = this.renderPopover,
499
502
  autoClosePopover = this.autoClosePopover,
500
- markerProps = this.markerProps,
501
503
  renderItem = this.renderItem;
502
504
  return {
503
505
  resultsToRender: data,
@@ -510,9 +512,8 @@ var ReactiveMap = {
510
512
  renderPopover: renderPopover,
511
513
  autoClosePopover: autoClosePopover,
512
514
  renderSearchAsMove: this.renderSearchAsMove,
513
- markerProps: markerProps,
514
515
  handlePreserveCenter: this.handlePreserveCenter,
515
- preserveCenter: this.preserveCenter,
516
+ preserveCenter: this.$options.preserveCenter,
516
517
  handleOnDragEnd: this.handleOnDragEnd,
517
518
  handleOnIdle: this.handleOnIdle,
518
519
  handleZoomChange: this.handleZoomChange
@@ -583,7 +584,7 @@ var ReactiveMap = {
583
584
  options.from = this.$data.from;
584
585
  this.from = value;
585
586
  this.currentPageState = page;
586
- this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, options), {}, {
587
+ this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends({}, options, {
587
588
  from: value
588
589
  }), false);
589
590
 
@@ -595,29 +596,6 @@ var ReactiveMap = {
595
596
  setDefaultQueryForRSAPI: function setDefaultQueryForRSAPI() {
596
597
  if (this.defaultQuery && typeof this.defaultQuery === 'function') {
597
598
  var defaultQuery = this.defaultQuery();
598
-
599
- if (this.mapBoxBounds) {
600
- var _geo_bounding_box;
601
-
602
- var geoQuery = {
603
- geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = this.mapBoxBounds, _geo_bounding_box)
604
- };
605
-
606
- var _defaultQuery = defaultQuery,
607
- query = _defaultQuery.query,
608
- options = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_defaultQuery, ["query"]);
609
-
610
- if (query) {
611
- // adds defaultQuery's query to geo-query
612
- // to generate a map query
613
- defaultQuery = _rollupPluginBabelHelpers._extends({
614
- query: {
615
- must: [geoQuery, query]
616
- }
617
- }, options);
618
- }
619
- }
620
-
621
599
  this.setDefaultQuery(this.componentId, defaultQuery);
622
600
  }
623
601
  },
@@ -641,7 +619,7 @@ var ReactiveMap = {
641
619
  var west;
642
620
 
643
621
  if (mapBounds) {
644
- var _geo_bounding_box2;
622
+ var _geo_bounding_box;
645
623
 
646
624
  north = mapBounds.getNorthEast().lat();
647
625
  south = mapBounds.getSouthWest().lat();
@@ -653,7 +631,7 @@ var ReactiveMap = {
653
631
  };
654
632
  this.mapBoxBounds = boundingBoxCoordinates;
655
633
  var geoQuery = {
656
- geo_bounding_box: (_geo_bounding_box2 = {}, _geo_bounding_box2[this.dataField] = boundingBoxCoordinates, _geo_bounding_box2)
634
+ geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = boundingBoxCoordinates, _geo_bounding_box)
657
635
  };
658
636
 
659
637
  if (this.$defaultQuery) {
@@ -696,7 +674,7 @@ var ReactiveMap = {
696
674
  var value = this.from + this.size;
697
675
  var options = getQueryOptions(this.$props);
698
676
  this.from = value;
699
- this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, options), {}, {
677
+ this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends({}, options, {
700
678
  from: value
701
679
  }), true);
702
680
  }
@@ -724,13 +702,14 @@ var ReactiveMap = {
724
702
  base = _this$getAllData3.base;
725
703
 
726
704
  return results.map(function (result, index) {
727
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, result), {}, {
705
+ return _rollupPluginBabelHelpers._extends({}, result, {
728
706
  _click_id: base + index
729
707
  });
730
708
  });
731
709
  },
732
710
  toggleSearchAsMove: function toggleSearchAsMove() {
733
711
  this.searchAsMove = !this.searchAsMove;
712
+ this.$emit('search-as-move', this.searchAsMove);
734
713
  },
735
714
  renderErrorComponent: function renderErrorComponent() {
736
715
  var renderError = this.$scopedSlots.renderError || this.$props.renderError;
@@ -776,7 +755,7 @@ var ReactiveMap = {
776
755
  "className": getClassName(this.innerClass, 'label') || null,
777
756
  "for": this.$props.componentId + "-searchasmove"
778
757
  }
779
- }, ["Search as I move the map"])]);
758
+ }, [this.searchAsMoveLabel])]);
780
759
  }
781
760
 
782
761
  return null;
@@ -830,7 +809,7 @@ var ReactiveMap = {
830
809
 
831
810
  if (this.$props.defaultQuery) {
832
811
  this.$defaultQuery = this.$props.defaultQuery();
833
- options = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, options), getOptionsFromQuery(this.$defaultQuery)); // Override sort query with defaultQuery's sort if defined
812
+ options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery)); // Override sort query with defaultQuery's sort if defined
834
813
 
835
814
  if (this.$defaultQuery.sort) {
836
815
  options.sort = this.$defaultQuery.sort;
@@ -844,7 +823,10 @@ var ReactiveMap = {
844
823
  var forceExecute = false; // Update default query for RS API
845
824
 
846
825
  this.setDefaultQueryForRSAPI();
847
- this.setMapData(this.componentId, this.$defaultQuery.query, persistMapQuery, forceExecute);
826
+ var meta = {
827
+ mapBoxBounds: this.mapBoxBounds
828
+ };
829
+ this.setMapData(this.componentId, this.$defaultQuery.query, persistMapQuery, forceExecute, meta);
848
830
  } else {
849
831
  // only apply geo-distance when defaultQuery prop is not set
850
832
  var query = this.getGeoDistanceQuery();
@@ -864,11 +846,11 @@ var ReactiveMap = {
864
846
 
865
847
  var center = this.center || this.defaultCenter;
866
848
  var coordinatesObject = this.getArrPosition(center);
867
- var meta = {
849
+ var _meta = {
868
850
  distance: this.defaultRadius,
869
851
  coordinates: coordinatesObject.lat + ", " + coordinatesObject.lon
870
852
  };
871
- this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute, meta);
853
+ this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute, _meta);
872
854
  }
873
855
  }
874
856
 
@@ -878,7 +860,7 @@ var ReactiveMap = {
878
860
  var h = arguments[0];
879
861
  var loader = this.$scopedSlots.loader || this.$props.loader;
880
862
  return h("div", {
881
- "style": _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, style), this.$props.style),
863
+ "style": _rollupPluginBabelHelpers._extends({}, style, this.$props.style),
882
864
  "class": this.$props.className
883
865
  }, [this.renderErrorComponent(), this.isLoading && loader, this.hasCustomRender ? this.getComponent() : null, this.renderMap(this.getMapParams()), this.pagination ? this.renderPagination() : null]);
884
866
  }
@@ -922,9 +904,46 @@ ReactiveMap.install = function (Vue) {
922
904
 
923
905
  ReactiveMap.componentType = constants.componentTypes.reactiveMap;
924
906
 
907
+ var InfoWindowWrapper = {
908
+ name: 'InfoWindowWrapper',
909
+ props: {
910
+ id: VueTypes.string,
911
+ renderPopover: VueTypes.func,
912
+ infoWindowProps: VueTypes.object,
913
+ events: VueTypes.object
914
+ },
915
+ data: function data() {
916
+ return {
917
+ infoWindowRef: null
918
+ };
919
+ },
920
+ mounted: function mounted() {
921
+ this.infoWindowRef = this.$refs[this.id + "-Info-Window"];
922
+ },
923
+ methods: {
924
+ handleClose: function handleClose() {
925
+ this.infoWindowRef.$infoWindowObject.close();
926
+ }
927
+ },
928
+ render: function render() {
929
+ var h = arguments[0];
930
+ var renderPopover = this.renderPopover,
931
+ events = this.events;
932
+ return h(InfoWindow, {
933
+ "ref": this.id + "-Info-Window",
934
+ "props": _rollupPluginBabelHelpers._extends({}, this.infoWindowProps),
935
+ "on": _rollupPluginBabelHelpers._extends({}, events)
936
+ }, [h("div", [renderPopover(this.handleClose)])]);
937
+ }
938
+ };
939
+
925
940
  var MarkerWithLabel = {
926
941
  name: 'MarkerWithLabel',
927
942
  props: {
943
+ metaData: {
944
+ type: Object,
945
+ "default": undefined
946
+ },
928
947
  marker: {
929
948
  type: Object,
930
949
  "default": undefined
@@ -1024,6 +1043,7 @@ var MarkerWithLabel = {
1024
1043
  var _this3;
1025
1044
 
1026
1045
  _this3 = _window$google$maps$O.call(this) || this;
1046
+ _this3.metaData = self.metaData;
1027
1047
 
1028
1048
  _this3.setMap(map2);
1029
1049
 
@@ -1189,47 +1209,17 @@ var MarkerWithLabel = {
1189
1209
  },
1190
1210
  "on": {
1191
1211
  "mouseover": this.handleMouseOver,
1192
- "focus": this.handleFocus,
1193
1212
  "mouseout": this.handleMouseOut,
1194
- "blur": this.handleBlur,
1195
1213
  "click": this.handleClick
1196
1214
  }
1197
1215
  }, [this.renderMarker()]);
1198
1216
  }
1199
1217
  };
1200
1218
 
1201
- function _templateObject3() {
1202
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"]);
1203
-
1204
- _templateObject3 = function _templateObject3() {
1205
- return data;
1206
- };
1207
-
1208
- return data;
1209
- }
1210
-
1211
- function _templateObject2() {
1212
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder-color: rgba(0, 0, 0, 0.2);\n\tborder-style: solid;\n\tborder-width: 0 1px 1px 0;\n\tmargin-left: -6px;\n\tbackground-color: #fff;\n\tmargin-top: -6px;\n\twidth: 12px;\n\theight: 12px;\n\t-webkit-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\ttransform: rotate(45deg);\n"]);
1213
-
1214
- _templateObject2 = function _templateObject2() {
1215
- return data;
1216
- };
1217
-
1218
- return data;
1219
- }
1220
-
1221
- function _templateObject() {
1222
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\theight: 24px;\n\twidth: auto;\n\tbackground-color: #fff;\n\tborder-radius: 2px;\n\tcolor: #222;\n\tbox-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n\tpadding: 3px 6px;\n\tfont-size: 15px;\n"]);
1223
-
1224
- _templateObject = function _templateObject() {
1225
- return data;
1226
- };
1227
-
1228
- return data;
1229
- }
1230
- var MapPin = styled__default('div')(_templateObject());
1231
- var MapPinArrow = styled__default('div')(_templateObject2());
1232
- var mapPinWrapper = styled.css(_templateObject3());
1219
+ var _templateObject, _templateObject2, _templateObject3;
1220
+ var MapPin = styled__default('div')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\theight: 24px;\n\twidth: auto;\n\tbackground-color: #fff;\n\tborder-radius: 2px;\n\tcolor: #222;\n\tbox-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n\tpadding: 3px 6px;\n\tfont-size: 15px;\n"])));
1221
+ var MapPinArrow = styled__default('div')(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder-color: rgba(0, 0, 0, 0.2);\n\tborder-style: solid;\n\tborder-width: 0 1px 1px 0;\n\tmargin-left: -6px;\n\tbackground-color: #fff;\n\tmargin-top: -6px;\n\twidth: 12px;\n\theight: 12px;\n\t-webkit-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\ttransform: rotate(45deg);\n"])));
1222
+ var mapPinWrapper = styled.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"])));
1233
1223
 
1234
1224
  var recordResultClick$1 = configureStore.Actions.recordResultClick;
1235
1225
  var GoogleMapMarker = {
@@ -1238,54 +1228,63 @@ var GoogleMapMarker = {
1238
1228
  index: VueTypes.number,
1239
1229
  marker: VueTypes.object.isRequired,
1240
1230
  getPosition: VueTypes.func.isRequired,
1241
- markerOnTop: VueTypes.string,
1242
1231
  defaultPin: VueTypes.string,
1243
1232
  renderItem: VueTypes.func,
1244
- setMarkerOnTop: VueTypes.func.isRequired,
1245
1233
  setOpenMarkers: VueTypes.func.isRequired,
1246
1234
  handlePreserveCenter: VueTypes.func.isRequired,
1247
1235
  autoClosePopover: VueTypes.bool,
1248
1236
  openMarkers: VueTypes.object,
1249
- renderPopover: VueTypes.func
1237
+ renderPopover: VueTypes.func,
1238
+ highlightMarkerOnHover: VueTypes.bool
1239
+ },
1240
+ data: function data() {
1241
+ return {
1242
+ zIndex: 0,
1243
+ markerIcon: null
1244
+ };
1250
1245
  },
1251
1246
  methods: {
1252
1247
  increaseMarkerZIndex: function increaseMarkerZIndex() {
1253
- var _this$$props = this.$props,
1254
- handleTopMarker = _this$$props.setMarkerOnTop,
1255
- handlePreserveCenter = _this$$props.handlePreserveCenter,
1256
- marker = _this$$props.marker;
1257
- handleTopMarker(marker._id);
1248
+ var handlePreserveCenter = this.$props.handlePreserveCenter;
1249
+
1250
+ if (this.highlightMarkerOnHover) {
1251
+ this.zIndex += 1;
1252
+ }
1253
+
1258
1254
  handlePreserveCenter(true);
1259
1255
  },
1260
1256
  removeMarkerZIndex: function removeMarkerZIndex() {
1261
- var _this$$props2 = this.$props,
1262
- handleTopMarker = _this$$props2.setMarkerOnTop,
1263
- handlePreserveCenter = _this$$props2.handlePreserveCenter;
1264
- handleTopMarker(null);
1257
+ var handlePreserveCenter = this.$props.handlePreserveCenter;
1258
+
1259
+ if (this.highlightMarkerOnHover) {
1260
+ this.zIndex -= 1;
1261
+ }
1262
+
1265
1263
  handlePreserveCenter(true);
1266
1264
  },
1267
1265
  openMarker: function openMarker() {
1268
1266
  var _ref, _extends2;
1269
1267
 
1270
- var _this$$props3 = this.$props,
1271
- handleOpenMarkers = _this$$props3.setOpenMarkers,
1272
- openMarkers = _this$$props3.openMarkers,
1273
- marker = _this$$props3.marker,
1274
- autoClosePopover = _this$$props3.autoClosePopover,
1275
- handlePreserveCenter = _this$$props3.handlePreserveCenter;
1268
+ var _this$$props = this.$props,
1269
+ handleOpenMarkers = _this$$props.setOpenMarkers,
1270
+ openMarkers = _this$$props.openMarkers,
1271
+ marker = _this$$props.marker,
1272
+ autoClosePopover = _this$$props.autoClosePopover,
1273
+ handlePreserveCenter = _this$$props.handlePreserveCenter;
1276
1274
  var id = marker._id;
1277
- var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, openMarkers), {}, (_extends2 = {}, _extends2[id] = true, _extends2));
1275
+ var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _rollupPluginBabelHelpers._extends({}, openMarkers, (_extends2 = {}, _extends2[id] = true, _extends2));
1278
1276
  handleOpenMarkers(newOpenMarkers);
1279
1277
  handlePreserveCenter(true);
1280
1278
  this.triggerAnalytics();
1279
+ this.$emit('open-marker-popover', marker);
1281
1280
  },
1282
1281
  closeMarker: function closeMarker() {
1283
- var _this$$props4 = this.$props,
1284
- handleOpenMarkers = _this$$props4.setOpenMarkers,
1285
- marker = _this$$props4.marker,
1286
- autoClosePopover = _this$$props4.autoClosePopover,
1287
- handlePreserveCenter = _this$$props4.handlePreserveCenter,
1288
- openMarkers = _this$$props4.openMarkers;
1282
+ var _this$$props2 = this.$props,
1283
+ handleOpenMarkers = _this$$props2.setOpenMarkers,
1284
+ marker = _this$$props2.marker,
1285
+ autoClosePopover = _this$$props2.autoClosePopover,
1286
+ handlePreserveCenter = _this$$props2.handlePreserveCenter,
1287
+ openMarkers = _this$$props2.openMarkers;
1289
1288
  var id = marker._id;
1290
1289
 
1291
1290
  var del = openMarkers[id],
@@ -1294,6 +1293,7 @@ var GoogleMapMarker = {
1294
1293
  var newOpenMarkers = autoClosePopover ? {} : activeMarkers;
1295
1294
  handleOpenMarkers(newOpenMarkers);
1296
1295
  handlePreserveCenter(true);
1296
+ this.$emit('close-marker-popover', marker);
1297
1297
  },
1298
1298
  triggerAnalytics: function triggerAnalytics() {
1299
1299
  this.recordResultClick(this.index, this.marker._id);
@@ -1307,10 +1307,10 @@ var GoogleMapMarker = {
1307
1307
 
1308
1308
  var h = this.$createElement;
1309
1309
  var additionalProps = {};
1310
- var _this$$props5 = this.$props,
1311
- getPosition = _this$$props5.getPosition,
1312
- renderPopover = _this$$props5.renderPopover,
1313
- openMarkers = _this$$props5.openMarkers;
1310
+ var _this$$props3 = this.$props,
1311
+ getPosition = _this$$props3.getPosition,
1312
+ _renderPopover = _this$$props3.renderPopover,
1313
+ openMarkers = _this$$props3.openMarkers;
1314
1314
 
1315
1315
  if (includeExternalSettings) {
1316
1316
  // to render pop-over correctly with MarkerWithLabel
@@ -1323,19 +1323,32 @@ var GoogleMapMarker = {
1323
1323
  }
1324
1324
 
1325
1325
  if (item._id in openMarkers) {
1326
- return h(InfoWindow, {
1327
- "attrs": {
1328
- "zIndex": 500,
1329
- "position": additionalProps.position,
1330
- "options": additionalProps.defaultOptions
1331
- },
1326
+ return h(InfoWindowWrapper, {
1332
1327
  "key": item._id + "-InfoWindow",
1333
- "on": {
1334
- "closeclick": function closeclick() {
1335
- return _this.closeMarker();
1328
+ "attrs": {
1329
+ "id": item._id,
1330
+ "renderPopover": function renderPopover(_handleClose) {
1331
+ return _renderPopover({
1332
+ item: item,
1333
+ handleClose: function handleClose() {
1334
+ _handleClose();
1335
+
1336
+ _this.closeMarker();
1337
+ }
1338
+ });
1339
+ },
1340
+ "infoWindowProps": {
1341
+ zIndex: 500,
1342
+ position: additionalProps.position,
1343
+ options: additionalProps.defaultOptions
1344
+ },
1345
+ "events": {
1346
+ closeclick: function closeclick() {
1347
+ return _this.closeMarker();
1348
+ }
1336
1349
  }
1337
1350
  }
1338
- }, [h("div", [renderPopover(item)])]);
1351
+ });
1339
1352
  }
1340
1353
 
1341
1354
  return null;
@@ -1345,35 +1358,35 @@ var GoogleMapMarker = {
1345
1358
  var _this2 = this;
1346
1359
 
1347
1360
  var h = arguments[0];
1348
- var _this$$props6 = this.$props,
1349
- getPosition = _this$$props6.getPosition,
1350
- renderItem = _this$$props6.renderItem,
1351
- defaultPin = _this$$props6.defaultPin,
1352
- autoClosePopover = _this$$props6.autoClosePopover,
1353
- handlePreserveCenter = _this$$props6.handlePreserveCenter,
1354
- renderPopover = _this$$props6.renderPopover,
1355
- customMarkerProps = _this$$props6.markerProps,
1356
- marker = _this$$props6.marker,
1357
- markerOnTop = _this$$props6.markerOnTop;
1361
+ var _this$$props4 = this.$props,
1362
+ getPosition = _this$$props4.getPosition,
1363
+ renderItem = _this$$props4.renderItem,
1364
+ defaultPin = _this$$props4.defaultPin,
1365
+ renderPopover = _this$$props4.renderPopover,
1366
+ customMarkerProps = _this$$props4.markerProps,
1367
+ marker = _this$$props4.marker;
1358
1368
  var markerProps = {};
1359
1369
 
1360
- if (markerOnTop === marker._id) {
1361
- markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX + 1;
1370
+ if (this.zIndex) {
1371
+ markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX + this.zIndex;
1362
1372
  }
1363
1373
 
1364
1374
  if (renderItem) {
1375
+ marker.setIcon = function (icon) {
1376
+ _this2.markerIcon = icon;
1377
+ };
1378
+
1365
1379
  var data = renderItem(marker);
1366
1380
 
1367
1381
  if ('label' in data) {
1368
1382
  return h(MarkerWithLabel, {
1369
1383
  "key": marker._id,
1370
1384
  "attrs": {
1385
+ "metaData": marker,
1371
1386
  "marker": getPosition(marker),
1372
1387
  "labelAnchor": new window.google.maps.Point(0, 30),
1373
1388
  "handleMouseOver": this.increaseMarkerZIndex,
1374
- "handleFocus": this.increaseMarkerZIndex,
1375
1389
  "handleMouseOut": this.removeMarkerZIndex,
1376
- "handleBlur": this.removeMarkerZIndex,
1377
1390
  "handleClick": this.openMarker,
1378
1391
  "zIndex": markerProps.zIndex,
1379
1392
  "renderMarker": function renderMarker() {
@@ -1394,12 +1407,11 @@ var GoogleMapMarker = {
1394
1407
  return h(MarkerWithLabel, {
1395
1408
  "key": marker._id,
1396
1409
  "attrs": {
1410
+ "metaData": marker,
1397
1411
  "marker": getPosition(marker),
1398
1412
  "handleClick": this.openMarker,
1399
1413
  "handleMouseOver": this.increaseMarkerZIndex,
1400
- "handleFocus": this.increaseMarkerZIndex,
1401
1414
  "handleMouseOut": this.removeMarkerZIndex,
1402
- "handleBlur": this.removeMarkerZIndex,
1403
1415
  "zIndex": markerProps.zIndex,
1404
1416
  "renderMarker": function renderMarker() {
1405
1417
  return h("div", {
@@ -1421,18 +1433,19 @@ var GoogleMapMarker = {
1421
1433
  return h(Marker, {
1422
1434
  "key": marker._id,
1423
1435
  "attrs": {
1424
- "icon": markerProps.icon,
1425
1436
  "zIndex": markerProps.zIndex,
1426
- "position": getPosition(marker)
1437
+ "position": getPosition(marker),
1438
+ "options": {
1439
+ metaData: marker
1440
+ },
1441
+ "icon": this.markerIcon || markerProps.icon
1427
1442
  },
1428
1443
  "on": {
1429
1444
  "click": function click() {
1430
- return _this2.openMarker(marker._id, autoClosePopover || false, handlePreserveCenter);
1445
+ return _this2.openMarker();
1431
1446
  },
1432
1447
  "mouseover": this.increaseMarkerZIndex,
1433
- "focus": this.increaseMarkerZIndex,
1434
- "mouseout": this.removeMarkerZIndex,
1435
- "blur": this.removeMarkerZIndex
1448
+ "mouseout": this.removeMarkerZIndex
1436
1449
  },
1437
1450
  "props": _rollupPluginBabelHelpers._extends({}, customMarkerProps)
1438
1451
  }, [renderPopover ? this.renderPopoverClick(marker) : null]);
@@ -1451,34 +1464,51 @@ var GoogleMapMarkers = {
1451
1464
  resultsToRender: VueTypes.array,
1452
1465
  getPosition: VueTypes.func,
1453
1466
  renderItem: VueTypes.func,
1467
+ renderClusterPopover: VueTypes.func,
1454
1468
  defaultPin: VueTypes.string,
1455
1469
  autoClosePopover: VueTypes.bool,
1456
1470
  handlePreserveCenter: VueTypes.func,
1457
1471
  renderPopover: VueTypes.func,
1458
1472
  markerProps: VueTypes.object,
1459
- showMarkerClusters: VueTypes.bool
1473
+ clusterProps: VueTypes.object,
1474
+ showMarkerClusters: VueTypes.bool,
1475
+ highlightMarkerOnHover: VueTypes.bool
1460
1476
  },
1461
1477
  data: function data() {
1462
1478
  return {
1463
- markerOnTop: null,
1464
- openMarkers: {}
1479
+ openMarkers: {},
1480
+ clickedCluster: null,
1481
+ clusterMarkers: []
1465
1482
  };
1466
1483
  },
1467
1484
  methods: {
1468
- setMarkerOnTop: function setMarkerOnTop(markerOnTop) {
1469
- this.markerOnTop = markerOnTop;
1470
- },
1471
1485
  setOpenMarkers: function setOpenMarkers(openMarkers) {
1472
1486
  this.openMarkers = openMarkers;
1487
+ },
1488
+ getAdditionalProps: function getAdditionalProps() {
1489
+ return {
1490
+ position: {
1491
+ lat: this.clickedCluster.getCenter().lat(),
1492
+ lng: this.clickedCluster.getCenter().lng()
1493
+ },
1494
+ defaultOptions: {
1495
+ pixelOffset: new window.google.maps.Size(0, -30)
1496
+ }
1497
+ };
1498
+ },
1499
+ closeMarker: function closeMarker() {
1500
+ this.clickedCluster = null;
1501
+ this.clusterMarkers = [];
1502
+ this.$emit('close-cluster-popover');
1473
1503
  }
1474
1504
  },
1475
1505
  render: function render() {
1506
+ var _this = this;
1507
+
1476
1508
  var h = arguments[0];
1477
1509
  var resultsToRender = this.$props.resultsToRender;
1478
- var markerOnTop = this.markerOnTop,
1479
- openMarkers = this.openMarkers;
1510
+ var openMarkers = this.openMarkers;
1480
1511
  var markerProps = {
1481
- markerOnTop: markerOnTop,
1482
1512
  openMarkers: openMarkers,
1483
1513
  setMarkerOnTop: this.setMarkerOnTop,
1484
1514
  setOpenMarkers: this.setOpenMarkers,
@@ -1489,19 +1519,58 @@ var GoogleMapMarkers = {
1489
1519
  handlePreserveCenter: this.handlePreserveCenter,
1490
1520
  renderPopover: this.renderPopover,
1491
1521
  markerProps: this.markerProps,
1492
- showMarkerClusters: this.showMarkerClusters
1522
+ showMarkerClusters: this.showMarkerClusters,
1523
+ highlightMarkerOnHover: this.highlightMarkerOnHover
1493
1524
  };
1494
1525
 
1495
1526
  if (this.showMarkerClusters) {
1496
- return h(GmapCluster, [resultsToRender.map(function (marker, index) {
1527
+ return h("div", [h(Cluster, {
1528
+ "props": _rollupPluginBabelHelpers._extends({}, this.clusterProps),
1529
+ "on": {
1530
+ "click": function click(cluster) {
1531
+ var markers = cluster.markers.map(function (i) {
1532
+ return i.metaData;
1533
+ });
1534
+ _this.clickedCluster = cluster;
1535
+ _this.clusterMarkers = markers;
1536
+
1537
+ _this.$emit('open-cluster-popover', _this.clusterMarkers);
1538
+ }
1539
+ },
1540
+ "ref": "clusterRef"
1541
+ }, [resultsToRender.map(function (marker, index) {
1497
1542
  return h(GoogleMapMarker$1, {
1498
1543
  "attrs": {
1499
1544
  "index": index,
1500
1545
  "marker": marker
1501
1546
  },
1502
- "props": _rollupPluginBabelHelpers._extends({}, markerProps)
1547
+ "props": _rollupPluginBabelHelpers._extends({}, markerProps),
1548
+ "on": _rollupPluginBabelHelpers._extends({}, _this.$listeners)
1503
1549
  });
1504
- })]);
1550
+ })]), this.clickedCluster && this.renderClusterPopover ? h(InfoWindowWrapper, {
1551
+ "attrs": {
1552
+ "id": "cluster",
1553
+ "infoWindowProps": {
1554
+ zIndex: 500,
1555
+ position: this.getAdditionalProps().position,
1556
+ options: this.getAdditionalProps().defaultOptions
1557
+ },
1558
+ "renderPopover": function renderPopover(_handleClose) {
1559
+ return _this.renderClusterPopover({
1560
+ markers: _this.clusterMarkers,
1561
+ cluster: _this.clickedCluster,
1562
+ handleClose: function handleClose() {
1563
+ _handleClose();
1564
+
1565
+ _this.closeMarker();
1566
+ }
1567
+ });
1568
+ },
1569
+ "events": {
1570
+ closeclick: this.closeMarker
1571
+ }
1572
+ }
1573
+ }) : null]);
1505
1574
  }
1506
1575
 
1507
1576
  return h("div", [resultsToRender.map(function (marker, index) {
@@ -1510,7 +1579,8 @@ var GoogleMapMarkers = {
1510
1579
  "index": index,
1511
1580
  "marker": marker
1512
1581
  },
1513
- "props": _rollupPluginBabelHelpers._extends({}, markerProps)
1582
+ "props": _rollupPluginBabelHelpers._extends({}, markerProps),
1583
+ "on": _rollupPluginBabelHelpers._extends({}, _this.$listeners)
1514
1584
  });
1515
1585
  })]);
1516
1586
  }
@@ -1522,20 +1592,22 @@ var ReactiveGoogleMap = {
1522
1592
  className: vueTypes.types.string,
1523
1593
  componentId: vueTypes.types.stringRequired,
1524
1594
  dataField: vueTypes.types.stringRequired,
1525
- defaultQuery: vueTypes.types.func,
1595
+ defaultQuery: VueTypes.func,
1526
1596
  loader: vueTypes.types.title,
1527
1597
  defaultZoom: VueTypes.number.def(13),
1528
1598
  react: vueTypes.types.react,
1529
1599
  size: vueTypes.types.number,
1530
1600
  sortBy: vueTypes.types.sortBy,
1531
- URLParams: vueTypes.types.bool,
1601
+ URLParams: VueTypes.bool,
1532
1602
  mapProps: VueTypes.object,
1533
1603
  showMarkers: VueTypes.bool.def(true),
1534
1604
  showMarkerClusters: VueTypes.bool.def(false),
1535
1605
  searchAsMove: VueTypes.bool.def(false),
1536
- markerProps: vueTypes.types.props,
1606
+ searchAsMoveLabel: VueTypes.string,
1607
+ markerProps: VueTypes.object,
1608
+ clusterProps: VueTypes.object,
1537
1609
  renderItem: VueTypes.func,
1538
- showSearchAsMove: vueTypes.types.bool.def(true),
1610
+ showSearchAsMove: VueTypes.bool.def(true),
1539
1611
  autoClosePopover: VueTypes.bool,
1540
1612
  pagination: VueTypes.bool,
1541
1613
  defaultPin: VueTypes.string,
@@ -1545,7 +1617,8 @@ var ReactiveGoogleMap = {
1545
1617
  defaultRadius: vueTypes.types.number,
1546
1618
  unit: vueTypes.types.string,
1547
1619
  pages: VueTypes.number.def(5),
1548
- calculateMarkers: VueTypes.func
1620
+ calculateMarkers: VueTypes.func,
1621
+ highlightMarkerOnHover: VueTypes.bool.def(true)
1549
1622
  },
1550
1623
  methods: {
1551
1624
  renderMap: function renderMap(_ref) {
@@ -1560,9 +1633,7 @@ var ReactiveGoogleMap = {
1560
1633
  renderSearchAsMove = _ref.renderSearchAsMove,
1561
1634
  handlePreserveCenter = _ref.handlePreserveCenter,
1562
1635
  getPosition = _ref.getPosition,
1563
- markerProps = _ref.markerProps,
1564
1636
  autoClosePopover = _ref.autoClosePopover,
1565
- renderPopover = _ref.renderPopover,
1566
1637
  defaultPin = _ref.defaultPin;
1567
1638
  var h = this.$createElement;
1568
1639
  var style = {
@@ -1595,8 +1666,10 @@ var ReactiveGoogleMap = {
1595
1666
  "attrs": {
1596
1667
  "resultsToRender": resultsToRender,
1597
1668
  "getPosition": getPosition,
1598
- "markerProps": markerProps,
1669
+ "markerProps": this.markerProps,
1670
+ "clusterProps": this.clusterProps,
1599
1671
  "handlePreserveCenter": handlePreserveCenter,
1672
+ "highlightMarkerOnHover": this.highlightMarkerOnHover,
1600
1673
  "renderItem": this.$scopedSlots.renderItem ? function () {
1601
1674
  return {
1602
1675
  custom: _this.$scopedSlots.renderItem
@@ -1604,9 +1677,11 @@ var ReactiveGoogleMap = {
1604
1677
  } : this.renderItem,
1605
1678
  "defaultPin": defaultPin,
1606
1679
  "autoClosePopover": autoClosePopover,
1607
- "renderPopover": renderPopover,
1680
+ "renderPopover": this.$scopedSlots.renderPopover,
1681
+ "renderClusterPopover": this.$scopedSlots.renderClusterPopover,
1608
1682
  "showMarkerClusters": this.showMarkerClusters
1609
- }
1683
+ },
1684
+ "on": _rollupPluginBabelHelpers._extends({}, this.$listeners)
1610
1685
  }) : null]), renderSearchAsMove()]);
1611
1686
  },
1612
1687
  getMapRef: function getMapRef() {
@@ -1623,8 +1698,6 @@ var ReactiveGoogleMap = {
1623
1698
  }
1624
1699
  },
1625
1700
  render: function render() {
1626
- var _this3 = this;
1627
-
1628
1701
  var h = arguments[0];
1629
1702
  return h(RMConnected, _mergeJSXProps([{
1630
1703
  "attrs": {
@@ -1641,14 +1714,12 @@ var ReactiveGoogleMap = {
1641
1714
  "uRLParams": this.URLParams,
1642
1715
  "defaultSearchAsMove": this.searchAsMove,
1643
1716
  "showSearchAsMove": this.showSearchAsMove,
1717
+ "searchAsMoveLabel": this.searchAsMoveLabel,
1644
1718
  "showMarkers": this.showMarkers,
1645
1719
  "markerProps": this.markerProps,
1646
1720
  "autoClosePopover": this.autoClosePopover,
1647
1721
  "defaultPin": this.defaultPin,
1648
1722
  "defaultQuery": this.defaultQuery,
1649
- "renderPopover": this.$scopedSlots.renderPopover ? function (item) {
1650
- return _this3.$scopedSlots.renderPopover(item);
1651
- } : null,
1652
1723
  "autoCenter": this.autoCenter,
1653
1724
  "defaultCenter": this.defaultCenter,
1654
1725
  "defaultRadius": this.defaultRadius,