@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
@@ -1,25 +1,25 @@
1
1
  import { Actions, helper } from '@appbaseio/reactivecore';
2
- import { a as _extends, b as _objectWithoutPropertiesLoose, d as _inheritsLoose, _ as _taggedTemplateLiteralLoose, c as _toPropertyKey } from './_rollupPluginBabelHelpers-ecf6c03c.js';
2
+ import { a as _extends, d as _inheritsLoose, _ as _taggedTemplateLiteralLoose, b as _objectWithoutPropertiesLoose, c as _toPropertyKey } from './_rollupPluginBabelHelpers-76660dab.js';
3
3
  import VueTypes from 'vue-types';
4
4
  import { componentTypes } from '@appbaseio/reactivecore/lib/utils/constants';
5
5
  import 'emotion';
6
6
  import styled, { css } from '@appbaseio/vue-emotion';
7
7
  import 'polished';
8
- import './Button-27cc8574.js';
9
- import { t as types } from './vueTypes-98d938a9.js';
10
- import { P as Pagination } from './Pagination-c2a00175.js';
8
+ import './Button-d8bc15ea.js';
9
+ import { t as types } from './vueTypes-9326e0be.js';
10
+ import { P as Pagination } from './Pagination-3f350098.js';
11
11
  import '@appbaseio/reactivecore/lib/utils/transform';
12
12
  import 'redux';
13
- import { h as hasCustomRenderer, i as isQueryIdentical, g as getComponent, a as isFunction, c as connect } from './index-185b6266.js';
14
- import { C as ComponentWrapper } from './ComponentWrapper-c4c91949.js';
13
+ import { h as hasCustomRenderer, i as isQueryIdentical, g as getComponent, a as isFunction, c as connect } from './index-7788a843.js';
14
+ import { C as ComponentWrapper } from './ComponentWrapper-424e86fd.js';
15
15
  import _mergeJSXProps from '@vue/babel-helper-vue-jsx-merge-props';
16
- import { C as Checkbox } from './FormControlList-96d44e7b.js';
16
+ import { C as Checkbox } from './FormControlList-c22d64f6.js';
17
17
  import * as GmapMapFull from 'gmap-vue';
18
18
  import Map from 'gmap-vue/dist/components-implementation/map';
19
19
  import geohash from 'ngeohash';
20
- import GmapCluster from 'gmap-vue/dist/components/cluster';
21
- import Marker from 'gmap-vue/dist/components/marker';
20
+ import Cluster from 'gmap-vue/dist/components/cluster';
22
21
  import InfoWindow from 'gmap-vue/dist/components-implementation/info-window';
22
+ import Marker from 'gmap-vue/dist/components/marker';
23
23
  import MapElementMixin from 'gmap-vue/dist/mixins/map-element';
24
24
 
25
25
  var setStreaming = Actions.setStreaming,
@@ -68,7 +68,7 @@ function withDistinctLat(loc, count) {
68
68
 
69
69
  var suffix = 1 / Math.pow(10, noiseFactor) * count;
70
70
 
71
- var location = _extends(_extends({}, loc), {}, {
71
+ var location = _extends({}, loc, {
72
72
  lat: parseFloat((loc.lat + suffix).toFixed(length))
73
73
  });
74
74
 
@@ -120,14 +120,13 @@ var ReactiveMap = {
120
120
  react: types.react,
121
121
  size: types.number,
122
122
  sortBy: types.sortBy,
123
- URLParams: types.bool,
124
- autoCenter: types.bool,
123
+ URLParams: VueTypes.bool,
124
+ autoCenter: VueTypes.bool,
125
125
  getMapRef: VueTypes.func.isRequired,
126
126
  center: types.location,
127
127
  defaultCenter: types.location,
128
128
  defaultPin: types.string,
129
129
  defaultZoom: VueTypes.number.def(13),
130
- markerProps: types.props,
131
130
  defaultQuery: types.func,
132
131
  innerClass: types.style,
133
132
  loader: types.title,
@@ -136,17 +135,19 @@ var ReactiveMap = {
136
135
  renderError: types.title,
137
136
  pages: VueTypes.number.def(5),
138
137
  currentPage: VueTypes.number.def(0),
139
- pagination: types.bool,
140
- showMarkers: types.bool,
141
- defaultSearchAsMove: types.bool,
142
- showSearchAsMove: types.bool,
138
+ pagination: VueTypes.bool,
139
+ showMarkers: VueTypes.bool,
140
+ defaultSearchAsMove: VueTypes.bool,
141
+ showSearchAsMove: VueTypes.bool,
143
142
  defaultRadius: types.number,
144
143
  unit: types.string,
145
- autoClosePopover: types.bool,
144
+ autoClosePopover: VueTypes.bool,
146
145
  renderMap: VueTypes.func.isRequired,
147
146
  renderPopover: VueTypes.func,
148
- calculateMarkers: VueTypes.func
147
+ calculateMarkers: VueTypes.func,
148
+ searchAsMoveLabel: VueTypes.string.def('Search as I move the map')
149
149
  },
150
+ preserveCenter: false,
150
151
  data: function data() {
151
152
  var props = this.$props;
152
153
  var currentPageState = 0;
@@ -160,7 +161,6 @@ var ReactiveMap = {
160
161
  zoom: props.defaultZoom,
161
162
  searchAsMove: props.defaultSearchAsMove,
162
163
  currentPageState: currentPageState,
163
- preserveCenter: false,
164
164
  mapBoxBounds: null,
165
165
  markersData: null
166
166
  };
@@ -174,7 +174,7 @@ var ReactiveMap = {
174
174
  var _this$getAllData = this.getAllData(),
175
175
  resultsToRender = _this$getAllData.resultsToRender;
176
176
 
177
- return _extends(_extends({}, getResultStats(this)), {}, {
177
+ return _extends({}, getResultStats(this), {
178
178
  currentPage: this.currentPageState,
179
179
  displayedResults: resultsToRender.length
180
180
  });
@@ -209,16 +209,19 @@ var ReactiveMap = {
209
209
  var queryOptions = getOptionsFromQuery(this.$defaultQuery);
210
210
 
211
211
  if (queryOptions) {
212
- options = _extends(_extends({}, options), getOptionsFromQuery(this.$defaultQuery));
212
+ options = _extends({}, options, getOptionsFromQuery(this.$defaultQuery));
213
213
  } // Update calculated default query in store
214
214
 
215
215
 
216
- this.setQueryOptions(this.$props.componentId, options, !query);
216
+ this.setQueryOptions(this.$props.componentId, options, false);
217
217
  var persistMapQuery = true;
218
218
  var forceExecute = true; // Update default query to include the geo bounding box query
219
219
 
220
220
  this.setDefaultQueryForRSAPI();
221
- this.props.setMapData(this.componentId, query, persistMapQuery, forceExecute);
221
+ var meta = {
222
+ mapBoxBounds: this.mapBoxBounds
223
+ };
224
+ this.setMapData(this.componentId, query, persistMapQuery, forceExecute, meta);
222
225
  this.currentPageState = 0;
223
226
  this.from = 0;
224
227
  }
@@ -277,7 +280,7 @@ var ReactiveMap = {
277
280
  }).map(function (item) {
278
281
  var _extends2;
279
282
 
280
- return _extends(_extends({}, item), {}, (_extends2 = {}, _extends2[_this.dataField] = getLocationObject(item[_this.dataField]), _extends2));
283
+ return _extends({}, item, (_extends2 = {}, _extends2[_this.dataField] = getLocationObject(item[_this.dataField]), _extends2));
281
284
  });
282
285
  this.filteredResults = this.addNoise(filteredResults);
283
286
 
@@ -402,10 +405,10 @@ var ReactiveMap = {
402
405
 
403
406
  var mapRef = this.getMapRef();
404
407
 
405
- if (mapRef && typeof mapRef.getCenter === 'function' && this.preserveCenter) {
408
+ if (mapRef && typeof mapRef.getCenter === 'function' && this.$options.preserveCenter) {
406
409
  var currentCenter = mapRef.getCenter();
407
410
  setTimeout(function () {
408
- _this4.preserveCenter = false;
411
+ _this4.$options.preserveCenter = false;
409
412
  }, 100);
410
413
  return this.parseLocation({
411
414
  lat: currentCenter.lat(),
@@ -429,7 +432,7 @@ var ReactiveMap = {
429
432
 
430
433
  if (this.searchAsMove) {
431
434
  this.zoom = zoom;
432
- this.preserveCenter = true;
435
+ this.$options.preserveCenter = true;
433
436
  this.setGeoQuery(true);
434
437
  } else {
435
438
  this.zoom = zoom;
@@ -442,14 +445,14 @@ var ReactiveMap = {
442
445
  },
443
446
  handleOnDragEnd: function handleOnDragEnd() {
444
447
  if (this.searchAsMove) {
445
- this.preserveCenter = true;
448
+ this.$options.preserveCenter = true;
446
449
  this.setGeoQuery(true);
447
450
  }
448
451
 
449
452
  this.$emit('drag-end');
450
453
  },
451
454
  handlePreserveCenter: function handlePreserveCenter(preserveCenter) {
452
- this.preserveCenter = preserveCenter;
455
+ this.$options.preserveCenter = preserveCenter;
453
456
  },
454
457
  handleOnIdle: function handleOnIdle() {
455
458
  // only make the geo_bounding query if we have hits data
@@ -489,7 +492,6 @@ var ReactiveMap = {
489
492
  defaultPin = this.defaultPin,
490
493
  renderPopover = this.renderPopover,
491
494
  autoClosePopover = this.autoClosePopover,
492
- markerProps = this.markerProps,
493
495
  renderItem = this.renderItem;
494
496
  return {
495
497
  resultsToRender: data,
@@ -502,9 +504,8 @@ var ReactiveMap = {
502
504
  renderPopover: renderPopover,
503
505
  autoClosePopover: autoClosePopover,
504
506
  renderSearchAsMove: this.renderSearchAsMove,
505
- markerProps: markerProps,
506
507
  handlePreserveCenter: this.handlePreserveCenter,
507
- preserveCenter: this.preserveCenter,
508
+ preserveCenter: this.$options.preserveCenter,
508
509
  handleOnDragEnd: this.handleOnDragEnd,
509
510
  handleOnIdle: this.handleOnIdle,
510
511
  handleZoomChange: this.handleZoomChange
@@ -575,7 +576,7 @@ var ReactiveMap = {
575
576
  options.from = this.$data.from;
576
577
  this.from = value;
577
578
  this.currentPageState = page;
578
- this.loadMoreAction(this.componentId, _extends(_extends({}, options), {}, {
579
+ this.loadMoreAction(this.componentId, _extends({}, options, {
579
580
  from: value
580
581
  }), false);
581
582
 
@@ -587,29 +588,6 @@ var ReactiveMap = {
587
588
  setDefaultQueryForRSAPI: function setDefaultQueryForRSAPI() {
588
589
  if (this.defaultQuery && typeof this.defaultQuery === 'function') {
589
590
  var defaultQuery = this.defaultQuery();
590
-
591
- if (this.mapBoxBounds) {
592
- var _geo_bounding_box;
593
-
594
- var geoQuery = {
595
- geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = this.mapBoxBounds, _geo_bounding_box)
596
- };
597
-
598
- var _defaultQuery = defaultQuery,
599
- query = _defaultQuery.query,
600
- options = _objectWithoutPropertiesLoose(_defaultQuery, ["query"]);
601
-
602
- if (query) {
603
- // adds defaultQuery's query to geo-query
604
- // to generate a map query
605
- defaultQuery = _extends({
606
- query: {
607
- must: [geoQuery, query]
608
- }
609
- }, options);
610
- }
611
- }
612
-
613
591
  this.setDefaultQuery(this.componentId, defaultQuery);
614
592
  }
615
593
  },
@@ -633,7 +611,7 @@ var ReactiveMap = {
633
611
  var west;
634
612
 
635
613
  if (mapBounds) {
636
- var _geo_bounding_box2;
614
+ var _geo_bounding_box;
637
615
 
638
616
  north = mapBounds.getNorthEast().lat();
639
617
  south = mapBounds.getSouthWest().lat();
@@ -645,7 +623,7 @@ var ReactiveMap = {
645
623
  };
646
624
  this.mapBoxBounds = boundingBoxCoordinates;
647
625
  var geoQuery = {
648
- geo_bounding_box: (_geo_bounding_box2 = {}, _geo_bounding_box2[this.dataField] = boundingBoxCoordinates, _geo_bounding_box2)
626
+ geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = boundingBoxCoordinates, _geo_bounding_box)
649
627
  };
650
628
 
651
629
  if (this.$defaultQuery) {
@@ -688,7 +666,7 @@ var ReactiveMap = {
688
666
  var value = this.from + this.size;
689
667
  var options = getQueryOptions(this.$props);
690
668
  this.from = value;
691
- this.loadMoreAction(this.componentId, _extends(_extends({}, options), {}, {
669
+ this.loadMoreAction(this.componentId, _extends({}, options, {
692
670
  from: value
693
671
  }), true);
694
672
  }
@@ -716,13 +694,14 @@ var ReactiveMap = {
716
694
  base = _this$getAllData3.base;
717
695
 
718
696
  return results.map(function (result, index) {
719
- return _extends(_extends({}, result), {}, {
697
+ return _extends({}, result, {
720
698
  _click_id: base + index
721
699
  });
722
700
  });
723
701
  },
724
702
  toggleSearchAsMove: function toggleSearchAsMove() {
725
703
  this.searchAsMove = !this.searchAsMove;
704
+ this.$emit('search-as-move', this.searchAsMove);
726
705
  },
727
706
  renderErrorComponent: function renderErrorComponent() {
728
707
  var renderError = this.$scopedSlots.renderError || this.$props.renderError;
@@ -768,7 +747,7 @@ var ReactiveMap = {
768
747
  "className": getClassName(this.innerClass, 'label') || null,
769
748
  "for": this.$props.componentId + "-searchasmove"
770
749
  }
771
- }, ["Search as I move the map"])]);
750
+ }, [this.searchAsMoveLabel])]);
772
751
  }
773
752
 
774
753
  return null;
@@ -822,7 +801,7 @@ var ReactiveMap = {
822
801
 
823
802
  if (this.$props.defaultQuery) {
824
803
  this.$defaultQuery = this.$props.defaultQuery();
825
- options = _extends(_extends({}, options), getOptionsFromQuery(this.$defaultQuery)); // Override sort query with defaultQuery's sort if defined
804
+ options = _extends({}, options, getOptionsFromQuery(this.$defaultQuery)); // Override sort query with defaultQuery's sort if defined
826
805
 
827
806
  if (this.$defaultQuery.sort) {
828
807
  options.sort = this.$defaultQuery.sort;
@@ -836,7 +815,10 @@ var ReactiveMap = {
836
815
  var forceExecute = false; // Update default query for RS API
837
816
 
838
817
  this.setDefaultQueryForRSAPI();
839
- this.setMapData(this.componentId, this.$defaultQuery.query, persistMapQuery, forceExecute);
818
+ var meta = {
819
+ mapBoxBounds: this.mapBoxBounds
820
+ };
821
+ this.setMapData(this.componentId, this.$defaultQuery.query, persistMapQuery, forceExecute, meta);
840
822
  } else {
841
823
  // only apply geo-distance when defaultQuery prop is not set
842
824
  var query = this.getGeoDistanceQuery();
@@ -856,11 +838,11 @@ var ReactiveMap = {
856
838
 
857
839
  var center = this.center || this.defaultCenter;
858
840
  var coordinatesObject = this.getArrPosition(center);
859
- var meta = {
841
+ var _meta = {
860
842
  distance: this.defaultRadius,
861
843
  coordinates: coordinatesObject.lat + ", " + coordinatesObject.lon
862
844
  };
863
- this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute, meta);
845
+ this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute, _meta);
864
846
  }
865
847
  }
866
848
 
@@ -870,7 +852,7 @@ var ReactiveMap = {
870
852
  var h = arguments[0];
871
853
  var loader = this.$scopedSlots.loader || this.$props.loader;
872
854
  return h("div", {
873
- "style": _extends(_extends({}, style), this.$props.style),
855
+ "style": _extends({}, style, this.$props.style),
874
856
  "class": this.$props.className
875
857
  }, [this.renderErrorComponent(), this.isLoading && loader, this.hasCustomRender ? this.getComponent() : null, this.renderMap(this.getMapParams()), this.pagination ? this.renderPagination() : null]);
876
858
  }
@@ -914,9 +896,46 @@ ReactiveMap.install = function (Vue) {
914
896
 
915
897
  ReactiveMap.componentType = componentTypes.reactiveMap;
916
898
 
899
+ var InfoWindowWrapper = {
900
+ name: 'InfoWindowWrapper',
901
+ props: {
902
+ id: VueTypes.string,
903
+ renderPopover: VueTypes.func,
904
+ infoWindowProps: VueTypes.object,
905
+ events: VueTypes.object
906
+ },
907
+ data: function data() {
908
+ return {
909
+ infoWindowRef: null
910
+ };
911
+ },
912
+ mounted: function mounted() {
913
+ this.infoWindowRef = this.$refs[this.id + "-Info-Window"];
914
+ },
915
+ methods: {
916
+ handleClose: function handleClose() {
917
+ this.infoWindowRef.$infoWindowObject.close();
918
+ }
919
+ },
920
+ render: function render() {
921
+ var h = arguments[0];
922
+ var renderPopover = this.renderPopover,
923
+ events = this.events;
924
+ return h(InfoWindow, {
925
+ "ref": this.id + "-Info-Window",
926
+ "props": _extends({}, this.infoWindowProps),
927
+ "on": _extends({}, events)
928
+ }, [h("div", [renderPopover(this.handleClose)])]);
929
+ }
930
+ };
931
+
917
932
  var MarkerWithLabel = {
918
933
  name: 'MarkerWithLabel',
919
934
  props: {
935
+ metaData: {
936
+ type: Object,
937
+ "default": undefined
938
+ },
920
939
  marker: {
921
940
  type: Object,
922
941
  "default": undefined
@@ -1016,6 +1035,7 @@ var MarkerWithLabel = {
1016
1035
  var _this3;
1017
1036
 
1018
1037
  _this3 = _window$google$maps$O.call(this) || this;
1038
+ _this3.metaData = self.metaData;
1019
1039
 
1020
1040
  _this3.setMap(map2);
1021
1041
 
@@ -1181,47 +1201,17 @@ var MarkerWithLabel = {
1181
1201
  },
1182
1202
  "on": {
1183
1203
  "mouseover": this.handleMouseOver,
1184
- "focus": this.handleFocus,
1185
1204
  "mouseout": this.handleMouseOut,
1186
- "blur": this.handleBlur,
1187
1205
  "click": this.handleClick
1188
1206
  }
1189
1207
  }, [this.renderMarker()]);
1190
1208
  }
1191
1209
  };
1192
1210
 
1193
- function _templateObject3() {
1194
- var data = _taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"]);
1195
-
1196
- _templateObject3 = function _templateObject3() {
1197
- return data;
1198
- };
1199
-
1200
- return data;
1201
- }
1202
-
1203
- function _templateObject2() {
1204
- var data = _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"]);
1205
-
1206
- _templateObject2 = function _templateObject2() {
1207
- return data;
1208
- };
1209
-
1210
- return data;
1211
- }
1212
-
1213
- function _templateObject() {
1214
- var data = _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"]);
1215
-
1216
- _templateObject = function _templateObject() {
1217
- return data;
1218
- };
1219
-
1220
- return data;
1221
- }
1222
- var MapPin = styled('div')(_templateObject());
1223
- var MapPinArrow = styled('div')(_templateObject2());
1224
- var mapPinWrapper = css(_templateObject3());
1211
+ var _templateObject, _templateObject2, _templateObject3;
1212
+ var MapPin = styled('div')(_templateObject || (_templateObject = _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"])));
1213
+ var MapPinArrow = styled('div')(_templateObject2 || (_templateObject2 = _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"])));
1214
+ var mapPinWrapper = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"])));
1225
1215
 
1226
1216
  var recordResultClick$1 = Actions.recordResultClick;
1227
1217
  var GoogleMapMarker = {
@@ -1230,54 +1220,63 @@ var GoogleMapMarker = {
1230
1220
  index: VueTypes.number,
1231
1221
  marker: VueTypes.object.isRequired,
1232
1222
  getPosition: VueTypes.func.isRequired,
1233
- markerOnTop: VueTypes.string,
1234
1223
  defaultPin: VueTypes.string,
1235
1224
  renderItem: VueTypes.func,
1236
- setMarkerOnTop: VueTypes.func.isRequired,
1237
1225
  setOpenMarkers: VueTypes.func.isRequired,
1238
1226
  handlePreserveCenter: VueTypes.func.isRequired,
1239
1227
  autoClosePopover: VueTypes.bool,
1240
1228
  openMarkers: VueTypes.object,
1241
- renderPopover: VueTypes.func
1229
+ renderPopover: VueTypes.func,
1230
+ highlightMarkerOnHover: VueTypes.bool
1231
+ },
1232
+ data: function data() {
1233
+ return {
1234
+ zIndex: 0,
1235
+ markerIcon: null
1236
+ };
1242
1237
  },
1243
1238
  methods: {
1244
1239
  increaseMarkerZIndex: function increaseMarkerZIndex() {
1245
- var _this$$props = this.$props,
1246
- handleTopMarker = _this$$props.setMarkerOnTop,
1247
- handlePreserveCenter = _this$$props.handlePreserveCenter,
1248
- marker = _this$$props.marker;
1249
- handleTopMarker(marker._id);
1240
+ var handlePreserveCenter = this.$props.handlePreserveCenter;
1241
+
1242
+ if (this.highlightMarkerOnHover) {
1243
+ this.zIndex += 1;
1244
+ }
1245
+
1250
1246
  handlePreserveCenter(true);
1251
1247
  },
1252
1248
  removeMarkerZIndex: function removeMarkerZIndex() {
1253
- var _this$$props2 = this.$props,
1254
- handleTopMarker = _this$$props2.setMarkerOnTop,
1255
- handlePreserveCenter = _this$$props2.handlePreserveCenter;
1256
- handleTopMarker(null);
1249
+ var handlePreserveCenter = this.$props.handlePreserveCenter;
1250
+
1251
+ if (this.highlightMarkerOnHover) {
1252
+ this.zIndex -= 1;
1253
+ }
1254
+
1257
1255
  handlePreserveCenter(true);
1258
1256
  },
1259
1257
  openMarker: function openMarker() {
1260
1258
  var _ref, _extends2;
1261
1259
 
1262
- var _this$$props3 = this.$props,
1263
- handleOpenMarkers = _this$$props3.setOpenMarkers,
1264
- openMarkers = _this$$props3.openMarkers,
1265
- marker = _this$$props3.marker,
1266
- autoClosePopover = _this$$props3.autoClosePopover,
1267
- handlePreserveCenter = _this$$props3.handlePreserveCenter;
1260
+ var _this$$props = this.$props,
1261
+ handleOpenMarkers = _this$$props.setOpenMarkers,
1262
+ openMarkers = _this$$props.openMarkers,
1263
+ marker = _this$$props.marker,
1264
+ autoClosePopover = _this$$props.autoClosePopover,
1265
+ handlePreserveCenter = _this$$props.handlePreserveCenter;
1268
1266
  var id = marker._id;
1269
- var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _extends(_extends({}, openMarkers), {}, (_extends2 = {}, _extends2[id] = true, _extends2));
1267
+ var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _extends({}, openMarkers, (_extends2 = {}, _extends2[id] = true, _extends2));
1270
1268
  handleOpenMarkers(newOpenMarkers);
1271
1269
  handlePreserveCenter(true);
1272
1270
  this.triggerAnalytics();
1271
+ this.$emit('open-marker-popover', marker);
1273
1272
  },
1274
1273
  closeMarker: function closeMarker() {
1275
- var _this$$props4 = this.$props,
1276
- handleOpenMarkers = _this$$props4.setOpenMarkers,
1277
- marker = _this$$props4.marker,
1278
- autoClosePopover = _this$$props4.autoClosePopover,
1279
- handlePreserveCenter = _this$$props4.handlePreserveCenter,
1280
- openMarkers = _this$$props4.openMarkers;
1274
+ var _this$$props2 = this.$props,
1275
+ handleOpenMarkers = _this$$props2.setOpenMarkers,
1276
+ marker = _this$$props2.marker,
1277
+ autoClosePopover = _this$$props2.autoClosePopover,
1278
+ handlePreserveCenter = _this$$props2.handlePreserveCenter,
1279
+ openMarkers = _this$$props2.openMarkers;
1281
1280
  var id = marker._id;
1282
1281
 
1283
1282
  var del = openMarkers[id],
@@ -1286,6 +1285,7 @@ var GoogleMapMarker = {
1286
1285
  var newOpenMarkers = autoClosePopover ? {} : activeMarkers;
1287
1286
  handleOpenMarkers(newOpenMarkers);
1288
1287
  handlePreserveCenter(true);
1288
+ this.$emit('close-marker-popover', marker);
1289
1289
  },
1290
1290
  triggerAnalytics: function triggerAnalytics() {
1291
1291
  this.recordResultClick(this.index, this.marker._id);
@@ -1299,10 +1299,10 @@ var GoogleMapMarker = {
1299
1299
 
1300
1300
  var h = this.$createElement;
1301
1301
  var additionalProps = {};
1302
- var _this$$props5 = this.$props,
1303
- getPosition = _this$$props5.getPosition,
1304
- renderPopover = _this$$props5.renderPopover,
1305
- openMarkers = _this$$props5.openMarkers;
1302
+ var _this$$props3 = this.$props,
1303
+ getPosition = _this$$props3.getPosition,
1304
+ _renderPopover = _this$$props3.renderPopover,
1305
+ openMarkers = _this$$props3.openMarkers;
1306
1306
 
1307
1307
  if (includeExternalSettings) {
1308
1308
  // to render pop-over correctly with MarkerWithLabel
@@ -1315,19 +1315,32 @@ var GoogleMapMarker = {
1315
1315
  }
1316
1316
 
1317
1317
  if (item._id in openMarkers) {
1318
- return h(InfoWindow, {
1319
- "attrs": {
1320
- "zIndex": 500,
1321
- "position": additionalProps.position,
1322
- "options": additionalProps.defaultOptions
1323
- },
1318
+ return h(InfoWindowWrapper, {
1324
1319
  "key": item._id + "-InfoWindow",
1325
- "on": {
1326
- "closeclick": function closeclick() {
1327
- return _this.closeMarker();
1320
+ "attrs": {
1321
+ "id": item._id,
1322
+ "renderPopover": function renderPopover(_handleClose) {
1323
+ return _renderPopover({
1324
+ item: item,
1325
+ handleClose: function handleClose() {
1326
+ _handleClose();
1327
+
1328
+ _this.closeMarker();
1329
+ }
1330
+ });
1331
+ },
1332
+ "infoWindowProps": {
1333
+ zIndex: 500,
1334
+ position: additionalProps.position,
1335
+ options: additionalProps.defaultOptions
1336
+ },
1337
+ "events": {
1338
+ closeclick: function closeclick() {
1339
+ return _this.closeMarker();
1340
+ }
1328
1341
  }
1329
1342
  }
1330
- }, [h("div", [renderPopover(item)])]);
1343
+ });
1331
1344
  }
1332
1345
 
1333
1346
  return null;
@@ -1337,35 +1350,35 @@ var GoogleMapMarker = {
1337
1350
  var _this2 = this;
1338
1351
 
1339
1352
  var h = arguments[0];
1340
- var _this$$props6 = this.$props,
1341
- getPosition = _this$$props6.getPosition,
1342
- renderItem = _this$$props6.renderItem,
1343
- defaultPin = _this$$props6.defaultPin,
1344
- autoClosePopover = _this$$props6.autoClosePopover,
1345
- handlePreserveCenter = _this$$props6.handlePreserveCenter,
1346
- renderPopover = _this$$props6.renderPopover,
1347
- customMarkerProps = _this$$props6.markerProps,
1348
- marker = _this$$props6.marker,
1349
- markerOnTop = _this$$props6.markerOnTop;
1353
+ var _this$$props4 = this.$props,
1354
+ getPosition = _this$$props4.getPosition,
1355
+ renderItem = _this$$props4.renderItem,
1356
+ defaultPin = _this$$props4.defaultPin,
1357
+ renderPopover = _this$$props4.renderPopover,
1358
+ customMarkerProps = _this$$props4.markerProps,
1359
+ marker = _this$$props4.marker;
1350
1360
  var markerProps = {};
1351
1361
 
1352
- if (markerOnTop === marker._id) {
1353
- markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX + 1;
1362
+ if (this.zIndex) {
1363
+ markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX + this.zIndex;
1354
1364
  }
1355
1365
 
1356
1366
  if (renderItem) {
1367
+ marker.setIcon = function (icon) {
1368
+ _this2.markerIcon = icon;
1369
+ };
1370
+
1357
1371
  var data = renderItem(marker);
1358
1372
 
1359
1373
  if ('label' in data) {
1360
1374
  return h(MarkerWithLabel, {
1361
1375
  "key": marker._id,
1362
1376
  "attrs": {
1377
+ "metaData": marker,
1363
1378
  "marker": getPosition(marker),
1364
1379
  "labelAnchor": new window.google.maps.Point(0, 30),
1365
1380
  "handleMouseOver": this.increaseMarkerZIndex,
1366
- "handleFocus": this.increaseMarkerZIndex,
1367
1381
  "handleMouseOut": this.removeMarkerZIndex,
1368
- "handleBlur": this.removeMarkerZIndex,
1369
1382
  "handleClick": this.openMarker,
1370
1383
  "zIndex": markerProps.zIndex,
1371
1384
  "renderMarker": function renderMarker() {
@@ -1386,12 +1399,11 @@ var GoogleMapMarker = {
1386
1399
  return h(MarkerWithLabel, {
1387
1400
  "key": marker._id,
1388
1401
  "attrs": {
1402
+ "metaData": marker,
1389
1403
  "marker": getPosition(marker),
1390
1404
  "handleClick": this.openMarker,
1391
1405
  "handleMouseOver": this.increaseMarkerZIndex,
1392
- "handleFocus": this.increaseMarkerZIndex,
1393
1406
  "handleMouseOut": this.removeMarkerZIndex,
1394
- "handleBlur": this.removeMarkerZIndex,
1395
1407
  "zIndex": markerProps.zIndex,
1396
1408
  "renderMarker": function renderMarker() {
1397
1409
  return h("div", {
@@ -1413,18 +1425,19 @@ var GoogleMapMarker = {
1413
1425
  return h(Marker, {
1414
1426
  "key": marker._id,
1415
1427
  "attrs": {
1416
- "icon": markerProps.icon,
1417
1428
  "zIndex": markerProps.zIndex,
1418
- "position": getPosition(marker)
1429
+ "position": getPosition(marker),
1430
+ "options": {
1431
+ metaData: marker
1432
+ },
1433
+ "icon": this.markerIcon || markerProps.icon
1419
1434
  },
1420
1435
  "on": {
1421
1436
  "click": function click() {
1422
- return _this2.openMarker(marker._id, autoClosePopover || false, handlePreserveCenter);
1437
+ return _this2.openMarker();
1423
1438
  },
1424
1439
  "mouseover": this.increaseMarkerZIndex,
1425
- "focus": this.increaseMarkerZIndex,
1426
- "mouseout": this.removeMarkerZIndex,
1427
- "blur": this.removeMarkerZIndex
1440
+ "mouseout": this.removeMarkerZIndex
1428
1441
  },
1429
1442
  "props": _extends({}, customMarkerProps)
1430
1443
  }, [renderPopover ? this.renderPopoverClick(marker) : null]);
@@ -1443,34 +1456,51 @@ var GoogleMapMarkers = {
1443
1456
  resultsToRender: VueTypes.array,
1444
1457
  getPosition: VueTypes.func,
1445
1458
  renderItem: VueTypes.func,
1459
+ renderClusterPopover: VueTypes.func,
1446
1460
  defaultPin: VueTypes.string,
1447
1461
  autoClosePopover: VueTypes.bool,
1448
1462
  handlePreserveCenter: VueTypes.func,
1449
1463
  renderPopover: VueTypes.func,
1450
1464
  markerProps: VueTypes.object,
1451
- showMarkerClusters: VueTypes.bool
1465
+ clusterProps: VueTypes.object,
1466
+ showMarkerClusters: VueTypes.bool,
1467
+ highlightMarkerOnHover: VueTypes.bool
1452
1468
  },
1453
1469
  data: function data() {
1454
1470
  return {
1455
- markerOnTop: null,
1456
- openMarkers: {}
1471
+ openMarkers: {},
1472
+ clickedCluster: null,
1473
+ clusterMarkers: []
1457
1474
  };
1458
1475
  },
1459
1476
  methods: {
1460
- setMarkerOnTop: function setMarkerOnTop(markerOnTop) {
1461
- this.markerOnTop = markerOnTop;
1462
- },
1463
1477
  setOpenMarkers: function setOpenMarkers(openMarkers) {
1464
1478
  this.openMarkers = openMarkers;
1479
+ },
1480
+ getAdditionalProps: function getAdditionalProps() {
1481
+ return {
1482
+ position: {
1483
+ lat: this.clickedCluster.getCenter().lat(),
1484
+ lng: this.clickedCluster.getCenter().lng()
1485
+ },
1486
+ defaultOptions: {
1487
+ pixelOffset: new window.google.maps.Size(0, -30)
1488
+ }
1489
+ };
1490
+ },
1491
+ closeMarker: function closeMarker() {
1492
+ this.clickedCluster = null;
1493
+ this.clusterMarkers = [];
1494
+ this.$emit('close-cluster-popover');
1465
1495
  }
1466
1496
  },
1467
1497
  render: function render() {
1498
+ var _this = this;
1499
+
1468
1500
  var h = arguments[0];
1469
1501
  var resultsToRender = this.$props.resultsToRender;
1470
- var markerOnTop = this.markerOnTop,
1471
- openMarkers = this.openMarkers;
1502
+ var openMarkers = this.openMarkers;
1472
1503
  var markerProps = {
1473
- markerOnTop: markerOnTop,
1474
1504
  openMarkers: openMarkers,
1475
1505
  setMarkerOnTop: this.setMarkerOnTop,
1476
1506
  setOpenMarkers: this.setOpenMarkers,
@@ -1481,19 +1511,58 @@ var GoogleMapMarkers = {
1481
1511
  handlePreserveCenter: this.handlePreserveCenter,
1482
1512
  renderPopover: this.renderPopover,
1483
1513
  markerProps: this.markerProps,
1484
- showMarkerClusters: this.showMarkerClusters
1514
+ showMarkerClusters: this.showMarkerClusters,
1515
+ highlightMarkerOnHover: this.highlightMarkerOnHover
1485
1516
  };
1486
1517
 
1487
1518
  if (this.showMarkerClusters) {
1488
- return h(GmapCluster, [resultsToRender.map(function (marker, index) {
1519
+ return h("div", [h(Cluster, {
1520
+ "props": _extends({}, this.clusterProps),
1521
+ "on": {
1522
+ "click": function click(cluster) {
1523
+ var markers = cluster.markers.map(function (i) {
1524
+ return i.metaData;
1525
+ });
1526
+ _this.clickedCluster = cluster;
1527
+ _this.clusterMarkers = markers;
1528
+
1529
+ _this.$emit('open-cluster-popover', _this.clusterMarkers);
1530
+ }
1531
+ },
1532
+ "ref": "clusterRef"
1533
+ }, [resultsToRender.map(function (marker, index) {
1489
1534
  return h(GoogleMapMarker$1, {
1490
1535
  "attrs": {
1491
1536
  "index": index,
1492
1537
  "marker": marker
1493
1538
  },
1494
- "props": _extends({}, markerProps)
1539
+ "props": _extends({}, markerProps),
1540
+ "on": _extends({}, _this.$listeners)
1495
1541
  });
1496
- })]);
1542
+ })]), this.clickedCluster && this.renderClusterPopover ? h(InfoWindowWrapper, {
1543
+ "attrs": {
1544
+ "id": "cluster",
1545
+ "infoWindowProps": {
1546
+ zIndex: 500,
1547
+ position: this.getAdditionalProps().position,
1548
+ options: this.getAdditionalProps().defaultOptions
1549
+ },
1550
+ "renderPopover": function renderPopover(_handleClose) {
1551
+ return _this.renderClusterPopover({
1552
+ markers: _this.clusterMarkers,
1553
+ cluster: _this.clickedCluster,
1554
+ handleClose: function handleClose() {
1555
+ _handleClose();
1556
+
1557
+ _this.closeMarker();
1558
+ }
1559
+ });
1560
+ },
1561
+ "events": {
1562
+ closeclick: this.closeMarker
1563
+ }
1564
+ }
1565
+ }) : null]);
1497
1566
  }
1498
1567
 
1499
1568
  return h("div", [resultsToRender.map(function (marker, index) {
@@ -1502,7 +1571,8 @@ var GoogleMapMarkers = {
1502
1571
  "index": index,
1503
1572
  "marker": marker
1504
1573
  },
1505
- "props": _extends({}, markerProps)
1574
+ "props": _extends({}, markerProps),
1575
+ "on": _extends({}, _this.$listeners)
1506
1576
  });
1507
1577
  })]);
1508
1578
  }
@@ -1514,20 +1584,22 @@ var ReactiveGoogleMap = {
1514
1584
  className: types.string,
1515
1585
  componentId: types.stringRequired,
1516
1586
  dataField: types.stringRequired,
1517
- defaultQuery: types.func,
1587
+ defaultQuery: VueTypes.func,
1518
1588
  loader: types.title,
1519
1589
  defaultZoom: VueTypes.number.def(13),
1520
1590
  react: types.react,
1521
1591
  size: types.number,
1522
1592
  sortBy: types.sortBy,
1523
- URLParams: types.bool,
1593
+ URLParams: VueTypes.bool,
1524
1594
  mapProps: VueTypes.object,
1525
1595
  showMarkers: VueTypes.bool.def(true),
1526
1596
  showMarkerClusters: VueTypes.bool.def(false),
1527
1597
  searchAsMove: VueTypes.bool.def(false),
1528
- markerProps: types.props,
1598
+ searchAsMoveLabel: VueTypes.string,
1599
+ markerProps: VueTypes.object,
1600
+ clusterProps: VueTypes.object,
1529
1601
  renderItem: VueTypes.func,
1530
- showSearchAsMove: types.bool.def(true),
1602
+ showSearchAsMove: VueTypes.bool.def(true),
1531
1603
  autoClosePopover: VueTypes.bool,
1532
1604
  pagination: VueTypes.bool,
1533
1605
  defaultPin: VueTypes.string,
@@ -1537,7 +1609,8 @@ var ReactiveGoogleMap = {
1537
1609
  defaultRadius: types.number,
1538
1610
  unit: types.string,
1539
1611
  pages: VueTypes.number.def(5),
1540
- calculateMarkers: VueTypes.func
1612
+ calculateMarkers: VueTypes.func,
1613
+ highlightMarkerOnHover: VueTypes.bool.def(true)
1541
1614
  },
1542
1615
  methods: {
1543
1616
  renderMap: function renderMap(_ref) {
@@ -1552,9 +1625,7 @@ var ReactiveGoogleMap = {
1552
1625
  renderSearchAsMove = _ref.renderSearchAsMove,
1553
1626
  handlePreserveCenter = _ref.handlePreserveCenter,
1554
1627
  getPosition = _ref.getPosition,
1555
- markerProps = _ref.markerProps,
1556
1628
  autoClosePopover = _ref.autoClosePopover,
1557
- renderPopover = _ref.renderPopover,
1558
1629
  defaultPin = _ref.defaultPin;
1559
1630
  var h = this.$createElement;
1560
1631
  var style = {
@@ -1587,8 +1658,10 @@ var ReactiveGoogleMap = {
1587
1658
  "attrs": {
1588
1659
  "resultsToRender": resultsToRender,
1589
1660
  "getPosition": getPosition,
1590
- "markerProps": markerProps,
1661
+ "markerProps": this.markerProps,
1662
+ "clusterProps": this.clusterProps,
1591
1663
  "handlePreserveCenter": handlePreserveCenter,
1664
+ "highlightMarkerOnHover": this.highlightMarkerOnHover,
1592
1665
  "renderItem": this.$scopedSlots.renderItem ? function () {
1593
1666
  return {
1594
1667
  custom: _this.$scopedSlots.renderItem
@@ -1596,9 +1669,11 @@ var ReactiveGoogleMap = {
1596
1669
  } : this.renderItem,
1597
1670
  "defaultPin": defaultPin,
1598
1671
  "autoClosePopover": autoClosePopover,
1599
- "renderPopover": renderPopover,
1672
+ "renderPopover": this.$scopedSlots.renderPopover,
1673
+ "renderClusterPopover": this.$scopedSlots.renderClusterPopover,
1600
1674
  "showMarkerClusters": this.showMarkerClusters
1601
- }
1675
+ },
1676
+ "on": _extends({}, this.$listeners)
1602
1677
  }) : null]), renderSearchAsMove()]);
1603
1678
  },
1604
1679
  getMapRef: function getMapRef() {
@@ -1615,8 +1690,6 @@ var ReactiveGoogleMap = {
1615
1690
  }
1616
1691
  },
1617
1692
  render: function render() {
1618
- var _this3 = this;
1619
-
1620
1693
  var h = arguments[0];
1621
1694
  return h(RMConnected, _mergeJSXProps([{
1622
1695
  "attrs": {
@@ -1633,14 +1706,12 @@ var ReactiveGoogleMap = {
1633
1706
  "uRLParams": this.URLParams,
1634
1707
  "defaultSearchAsMove": this.searchAsMove,
1635
1708
  "showSearchAsMove": this.showSearchAsMove,
1709
+ "searchAsMoveLabel": this.searchAsMoveLabel,
1636
1710
  "showMarkers": this.showMarkers,
1637
1711
  "markerProps": this.markerProps,
1638
1712
  "autoClosePopover": this.autoClosePopover,
1639
1713
  "defaultPin": this.defaultPin,
1640
1714
  "defaultQuery": this.defaultQuery,
1641
- "renderPopover": this.$scopedSlots.renderPopover ? function (item) {
1642
- return _this3.$scopedSlots.renderPopover(item);
1643
- } : null,
1644
1715
  "autoCenter": this.autoCenter,
1645
1716
  "defaultCenter": this.defaultCenter,
1646
1717
  "defaultRadius": this.defaultRadius,