@reltio/components 1.4.2256 → 1.4.2258

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 (95) hide show
  1. package/AttributesView/AttributesView.test.js +8 -2
  2. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.js +5 -2
  3. package/ReltioMap/ReltioMap.d.ts +5 -8
  4. package/ReltioMap/ReltioMap.js +31 -39
  5. package/ReltioMap/ReltioMap.spec.js +299 -104
  6. package/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.d.ts +2 -1
  7. package/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.js +11 -13
  8. package/ReltioMap/components/EntityMarker/EntityMarker.d.ts +2 -1
  9. package/ReltioMap/components/EntityMarker/EntityMarker.js +3 -3
  10. package/ReltioMap/components/PolygonDrawing/PolygonDrawing.d.ts +4 -0
  11. package/ReltioMap/components/PolygonDrawing/PolygonDrawing.js +18 -0
  12. package/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.d.ts +1 -0
  13. package/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.js +1 -0
  14. package/ReltioMap/components/PolygonDrawing/index.d.ts +2 -0
  15. package/ReltioMap/components/PolygonDrawing/index.js +2 -0
  16. package/ReltioMap/components/PolygonDrawing/polygonRingHelpers.d.ts +5 -0
  17. package/ReltioMap/components/PolygonDrawing/polygonRingHelpers.js +43 -0
  18. package/ReltioMap/components/PolygonDrawing/useDrawingCursors.d.ts +6 -0
  19. package/ReltioMap/components/PolygonDrawing/useDrawingCursors.js +87 -0
  20. package/ReltioMap/components/PolygonDrawing/usePolygonDrawing.d.ts +9 -0
  21. package/ReltioMap/components/PolygonDrawing/usePolygonDrawing.js +197 -0
  22. package/ReltioMap/components/PolygonDrawing/usePreviewPolylines.d.ts +7 -0
  23. package/ReltioMap/components/PolygonDrawing/usePreviewPolylines.js +38 -0
  24. package/ReltioMap/components/PolygonDrawing/useVertexHandles.d.ts +14 -0
  25. package/ReltioMap/components/PolygonDrawing/useVertexHandles.js +85 -0
  26. package/ReltioMap/components/TopRightMapControls/TopRightMapControls.d.ts +3 -3
  27. package/ReltioMap/components/TopRightMapControls/TopRightMapControls.js +4 -18
  28. package/ReltioMap/helpers.d.ts +2 -1
  29. package/ReltioMap/helpers.js +3 -11
  30. package/ReltioMap/types.d.ts +2 -2
  31. package/cjs/AttributesView/AttributesView.test.js +8 -2
  32. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.js +4 -1
  33. package/cjs/ReltioMap/ReltioMap.d.ts +5 -8
  34. package/cjs/ReltioMap/ReltioMap.js +29 -37
  35. package/cjs/ReltioMap/ReltioMap.spec.js +298 -103
  36. package/cjs/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.d.ts +2 -1
  37. package/cjs/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.js +11 -13
  38. package/cjs/ReltioMap/components/EntityMarker/EntityMarker.d.ts +2 -1
  39. package/cjs/ReltioMap/components/EntityMarker/EntityMarker.js +3 -3
  40. package/cjs/ReltioMap/components/PolygonDrawing/PolygonDrawing.d.ts +4 -0
  41. package/cjs/ReltioMap/components/PolygonDrawing/PolygonDrawing.js +22 -0
  42. package/cjs/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.d.ts +1 -0
  43. package/cjs/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.js +4 -0
  44. package/cjs/ReltioMap/components/PolygonDrawing/index.d.ts +2 -0
  45. package/cjs/ReltioMap/components/PolygonDrawing/index.js +7 -0
  46. package/cjs/ReltioMap/components/PolygonDrawing/polygonRingHelpers.d.ts +5 -0
  47. package/cjs/ReltioMap/components/PolygonDrawing/polygonRingHelpers.js +50 -0
  48. package/cjs/ReltioMap/components/PolygonDrawing/useDrawingCursors.d.ts +6 -0
  49. package/cjs/ReltioMap/components/PolygonDrawing/useDrawingCursors.js +91 -0
  50. package/cjs/ReltioMap/components/PolygonDrawing/usePolygonDrawing.d.ts +9 -0
  51. package/cjs/ReltioMap/components/PolygonDrawing/usePolygonDrawing.js +202 -0
  52. package/cjs/ReltioMap/components/PolygonDrawing/usePreviewPolylines.d.ts +7 -0
  53. package/cjs/ReltioMap/components/PolygonDrawing/usePreviewPolylines.js +42 -0
  54. package/cjs/ReltioMap/components/PolygonDrawing/useVertexHandles.d.ts +14 -0
  55. package/cjs/ReltioMap/components/PolygonDrawing/useVertexHandles.js +89 -0
  56. package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.d.ts +3 -3
  57. package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.js +3 -17
  58. package/cjs/ReltioMap/helpers.d.ts +2 -1
  59. package/cjs/ReltioMap/helpers.js +8 -15
  60. package/cjs/ReltioMap/types.d.ts +2 -2
  61. package/cjs/constants/index.d.ts +1 -1
  62. package/cjs/constants/index.js +2 -2
  63. package/cjs/constants/map.d.ts +1 -2
  64. package/cjs/constants/map.js +2 -5
  65. package/cjs/features/workflow/AddWorkflowDialog/styles.d.ts +1 -1
  66. package/cjs/icons/index.d.ts +0 -1
  67. package/cjs/icons/index.js +2 -4
  68. package/constants/index.d.ts +1 -1
  69. package/constants/index.js +1 -1
  70. package/constants/map.d.ts +1 -2
  71. package/constants/map.js +1 -4
  72. package/features/workflow/AddWorkflowDialog/styles.d.ts +1 -1
  73. package/icons/index.d.ts +0 -1
  74. package/icons/index.js +0 -1
  75. package/package.json +2 -2
  76. package/ReltioMap/components/DrawingManager/DrawingManager.d.ts +0 -2
  77. package/ReltioMap/components/DrawingManager/DrawingManager.js +0 -5
  78. package/ReltioMap/components/DrawingManager/index.d.ts +0 -1
  79. package/ReltioMap/components/DrawingManager/index.js +0 -1
  80. package/ReltioMap/components/DrawingManager/useDrawingManager.d.ts +0 -7
  81. package/ReltioMap/components/DrawingManager/useDrawingManager.js +0 -36
  82. package/ReltioMap/googleMock.test-data.d.ts +0 -1
  83. package/ReltioMap/googleMock.test-data.js +0 -109
  84. package/cjs/ReltioMap/components/DrawingManager/DrawingManager.d.ts +0 -2
  85. package/cjs/ReltioMap/components/DrawingManager/DrawingManager.js +0 -9
  86. package/cjs/ReltioMap/components/DrawingManager/index.d.ts +0 -1
  87. package/cjs/ReltioMap/components/DrawingManager/index.js +0 -5
  88. package/cjs/ReltioMap/components/DrawingManager/useDrawingManager.d.ts +0 -7
  89. package/cjs/ReltioMap/components/DrawingManager/useDrawingManager.js +0 -40
  90. package/cjs/ReltioMap/googleMock.test-data.d.ts +0 -1
  91. package/cjs/ReltioMap/googleMock.test-data.js +0 -113
  92. package/cjs/icons/Radius.d.ts +0 -3
  93. package/cjs/icons/Radius.js +0 -22
  94. package/icons/Radius.d.ts +0 -3
  95. package/icons/Radius.js +0 -17
@@ -88,6 +88,7 @@ var user_event_1 = __importDefault(require("@testing-library/user-event"));
88
88
  var ramda_1 = require("ramda");
89
89
  var jest_mocks_1 = require("@googlemaps/jest-mocks");
90
90
  var constants_1 = require("../constants");
91
+ var usePolygonDrawing_1 = require("./components/PolygonDrawing/usePolygonDrawing");
91
92
  var helpers = __importStar(require("./helpers"));
92
93
  var ReltioMap_1 = require("./ReltioMap");
93
94
  jest.mock('@vis.gl/react-google-maps', function () { return (__assign(__assign({}, jest.requireActual('@vis.gl/react-google-maps')), { MapControl: function (_a) {
@@ -109,8 +110,24 @@ describe('ReltioMap tests', function () {
109
110
  var user = user_event_1.default.setup();
110
111
  return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(ReltioMap_1.ReltioMap, __assign({}, props)))), { user: user });
111
112
  };
112
- var drawingManagerInstance;
113
- var drawingManagerConstructorSpy = jest.fn();
113
+ /**
114
+ * Map click payload: must expose lat()/lng() for serialization and equals() for polygonRingHelpers
115
+ */
116
+ var mapMouseEventWith = function (lat, lng) { return ({
117
+ latLng: {
118
+ lat: function () { return lat; },
119
+ lng: function () { return lng; },
120
+ equals: function (other) {
121
+ var oLat = typeof other.lat === 'function'
122
+ ? other.lat()
123
+ : other.lat;
124
+ var oLng = typeof other.lng === 'function'
125
+ ? other.lng()
126
+ : other.lng;
127
+ return oLat === lat && oLng === lng;
128
+ }
129
+ }
130
+ }); };
114
131
  beforeAll(function () {
115
132
  (0, jest_mocks_1.initialize)();
116
133
  var OriginalMap = google.maps.Map;
@@ -119,32 +136,11 @@ describe('ReltioMap tests', function () {
119
136
  for (var _i = 0; _i < arguments.length; _i++) {
120
137
  args[_i] = arguments[_i];
121
138
  }
122
- return new (OriginalMap.bind.apply(OriginalMap, __spreadArray([void 0], args, false)))();
139
+ var mapInstance = new (OriginalMap.bind.apply(OriginalMap, __spreadArray([void 0], args, false)))();
140
+ mapInstance.setOptions = jest.fn();
141
+ mapInstance.get = jest.fn(function () { return undefined; });
142
+ return mapInstance;
123
143
  });
124
- global.google.maps.drawing.DrawingManager = /** @class */ (function () {
125
- function DrawingManager() {
126
- var args = [];
127
- for (var _i = 0; _i < arguments.length; _i++) {
128
- args[_i] = arguments[_i];
129
- }
130
- this.addListener = jest.fn();
131
- this.getDrawingMode = jest.fn();
132
- this.getMap = jest.fn();
133
- this.setDrawingMode = jest.fn();
134
- this.setMap = jest.fn();
135
- this.setOptions = jest.fn();
136
- drawingManagerConstructorSpy.apply(void 0, args);
137
- drawingManagerInstance = this;
138
- }
139
- return DrawingManager;
140
- }());
141
- global.google.maps.drawing.OverlayType = {
142
- CIRCLE: 'circle',
143
- MARKER: 'marker',
144
- POLYGON: 'polygon',
145
- POLYLINE: 'polyline',
146
- RECTANGLE: 'rectangle'
147
- };
148
144
  var overlayView = new jest_mocks_1.OverlayView();
149
145
  for (var property in overlayView) {
150
146
  if (!global.google.maps.OverlayView.prototype.hasOwnProperty(property)) {
@@ -152,9 +148,6 @@ describe('ReltioMap tests', function () {
152
148
  }
153
149
  }
154
150
  });
155
- beforeEach(function () {
156
- drawingManagerInstance = null;
157
- });
158
151
  afterEach(function () {
159
152
  jest.clearAllMocks();
160
153
  jest_mocks_1.mockInstances.clearAll();
@@ -170,13 +163,14 @@ describe('ReltioMap tests', function () {
170
163
  }, target.addListener.mock.calls)) === null || _b === void 0 ? void 0 : _b[1]);
171
164
  };
172
165
  var getLastInstance = function (instance) { return (0, ramda_1.last)(jest_mocks_1.mockInstances.get(instance)); };
166
+ var getFirstInstance = function (instance) { var _a; return (_a = jest_mocks_1.mockInstances.get(instance)) === null || _a === void 0 ? void 0 : _a[0]; };
173
167
  describe('general behaviour', function () {
174
168
  it('should render map controls', function () { return __awaiter(void 0, void 0, void 0, function () {
175
169
  var _a;
176
170
  return __generator(this, function (_b) {
177
171
  switch (_b.label) {
178
172
  case 0:
179
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON] }));
173
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true }));
180
174
  _a = expect;
181
175
  return [4 /*yield*/, react_2.screen.findByLabelText('Draw area')];
182
176
  case 1:
@@ -192,7 +186,7 @@ describe('ReltioMap tests', function () {
192
186
  switch (_a.label) {
193
187
  case 0:
194
188
  mapOptions = { mapTypeControl: true };
195
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], mapOptions: mapOptions }));
189
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, mapOptions: mapOptions }));
196
190
  return [4 /*yield*/, (0, react_2.waitFor)(function () {
197
191
  expect(google.maps.Map).toHaveBeenCalledWith(expect.any(HTMLElement), expect.objectContaining({
198
192
  fullscreenControl: false,
@@ -210,7 +204,7 @@ describe('ReltioMap tests', function () {
210
204
  return __generator(this, function (_a) {
211
205
  switch (_a.label) {
212
206
  case 0:
213
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], isSearchEnabled: false }));
207
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, isSearchEnabled: false }));
214
208
  return [4 /*yield*/, (0, react_2.waitFor)(function () {
215
209
  expect(react_2.screen.queryByLabelText('Draw area')).not.toBeInTheDocument();
216
210
  })];
@@ -236,7 +230,7 @@ describe('ReltioMap tests', function () {
236
230
  }
237
231
  ];
238
232
  onMarkerClick = jest.fn();
239
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], onMarkerClicked: onMarkerClick, markers: markers }));
233
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, onMarkerClicked: onMarkerClick, markers: markers }));
240
234
  return [4 /*yield*/, (0, react_2.waitFor)(function () {
241
235
  markerMock = getLastInstance(jest_mocks_1.AdvancedMarkerElement);
242
236
  expect(markerMock).toBeDefined();
@@ -280,7 +274,7 @@ describe('ReltioMap tests', function () {
280
274
  });
281
275
  it('should fit map bounds correctly if markers loaded later than map and activeOverlay is not null', function () {
282
276
  var activeOverlay = {
283
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
277
+ type: constants_1.POLYGON_DRAWING_MODE,
284
278
  path: [
285
279
  { lat: 1, lng: 1 },
286
280
  { lat: 2, lng: 2 }
@@ -341,7 +335,7 @@ describe('ReltioMap tests', function () {
341
335
  var fitMapBoundsForOverlay = jest.spyOn(helpers, 'fitMapBoundsForOverlay');
342
336
  var rerender = setUp(__assign(__assign({}, defaultProps), { activeOverlay: null })).rerender;
343
337
  var newProps = __assign(__assign({}, defaultProps), { activeOverlay: {
344
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
338
+ type: constants_1.POLYGON_DRAWING_MODE,
345
339
  path: [
346
340
  { lat: 1, lng: 1 },
347
341
  { lat: 2, lng: 2 }
@@ -358,7 +352,7 @@ describe('ReltioMap tests', function () {
358
352
  var fitMapBoundsForOverlay = jest.spyOn(helpers, 'fitMapBoundsForOverlay');
359
353
  var rerender = setUp(__assign(__assign({}, defaultProps), { activeOverlay: null })).rerender;
360
354
  var newProps = __assign(__assign({}, defaultProps), { activeOverlay: {
361
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
355
+ type: constants_1.POLYGON_DRAWING_MODE,
362
356
  path: [
363
357
  { lat: 1, lng: 1 },
364
358
  { lat: 2, lng: 2 }
@@ -409,16 +403,16 @@ describe('ReltioMap tests', function () {
409
403
  switch (_b.label) {
410
404
  case 0:
411
405
  activeOverlay = {
412
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
406
+ type: constants_1.POLYGON_DRAWING_MODE,
413
407
  path: [
414
408
  { lat: 1, lng: 1 },
415
409
  { lat: 2, lng: 2 }
416
410
  ]
417
411
  };
418
- _a = setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], activeOverlay: activeOverlay })), user = _a.user, rerender = _a.rerender;
412
+ _a = setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay })), user = _a.user, rerender = _a.rerender;
419
413
  polygon = getLastInstance(jest_mocks_1.Polygon);
420
414
  expect(polygon.setOptions).toHaveBeenCalledWith(expect.objectContaining({ paths: activeOverlay.path }));
421
- newProps = __assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], activeOverlay: null });
415
+ newProps = __assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: null });
422
416
  rerender(react_1.default.createElement(ReltioMap_1.ReltioMap, __assign({}, newProps)));
423
417
  return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
424
418
  case 1:
@@ -428,16 +422,16 @@ describe('ReltioMap tests', function () {
428
422
  }
429
423
  });
430
424
  }); });
431
- it('should not render Polygon if "activeOverlay" prop is circle', function () { return __awaiter(void 0, void 0, void 0, function () {
425
+ it('should not render Polygon if "activeOverlay" is not a polygon', function () { return __awaiter(void 0, void 0, void 0, function () {
432
426
  var activeOverlay;
433
427
  return __generator(this, function (_a) {
434
428
  switch (_a.label) {
435
429
  case 0:
436
430
  activeOverlay = {
437
- type: constants_1.MAP_DRAWING_MODES.CIRCLE,
431
+ type: 'bounds-rectangle',
438
432
  path: [{ lat: 1, lng: 1 }]
439
433
  };
440
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], activeOverlay: activeOverlay }));
434
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay }));
441
435
  return [4 /*yield*/, (0, react_2.waitFor)(function () {
442
436
  expect(jest_mocks_1.mockInstances.get(jest_mocks_1.Polygon)).toHaveLength(0);
443
437
  })];
@@ -453,19 +447,19 @@ describe('ReltioMap tests', function () {
453
447
  switch (_a.label) {
454
448
  case 0:
455
449
  activeOverlay = {
456
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
450
+ type: constants_1.POLYGON_DRAWING_MODE,
457
451
  path: [
458
452
  { lat: 1, lng: 1 },
459
453
  { lat: 2, lng: 2 }
460
454
  ]
461
455
  };
462
456
  onOverlayUpdated = jest.fn();
463
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated }));
457
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated }));
464
458
  polygon = getLastInstance(jest_mocks_1.Polygon);
465
459
  getEventHandler(polygon, 'mouseup')();
466
460
  return [4 /*yield*/, (0, react_2.waitFor)(function () {
467
461
  expect(onOverlayUpdated).toHaveBeenCalledWith({
468
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
462
+ type: constants_1.POLYGON_DRAWING_MODE,
469
463
  data: []
470
464
  });
471
465
  })];
@@ -482,19 +476,19 @@ describe('ReltioMap tests', function () {
482
476
  switch (_a.label) {
483
477
  case 0:
484
478
  activeOverlay = {
485
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
479
+ type: constants_1.POLYGON_DRAWING_MODE,
486
480
  path: [
487
481
  { lat: 1, lng: 1 },
488
482
  { lat: 2, lng: 2 }
489
483
  ]
490
484
  };
491
485
  onOverlayUpdated = jest.fn();
492
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated }));
486
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated }));
493
487
  polygon = getLastInstance(jest_mocks_1.Polygon);
494
488
  getEventHandler(polygon, 'dragend')();
495
489
  return [4 /*yield*/, (0, react_2.waitFor)(function () {
496
490
  expect(onOverlayUpdated).toHaveBeenCalledWith({
497
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
491
+ type: constants_1.POLYGON_DRAWING_MODE,
498
492
  data: []
499
493
  });
500
494
  })];
@@ -507,46 +501,54 @@ describe('ReltioMap tests', function () {
507
501
  }); });
508
502
  });
509
503
  describe('drawing behavior', function () {
510
- it("shouldn't be in drawing mode by default", function () { return __awaiter(void 0, void 0, void 0, function () {
504
+ it("shouldn't enable double-click zoom suppression before entering draw mode", function () { return __awaiter(void 0, void 0, void 0, function () {
505
+ var mapMock;
511
506
  return __generator(this, function (_a) {
512
507
  switch (_a.label) {
513
508
  case 0:
514
- setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.CIRCLE] }));
515
- return [4 /*yield*/, (0, react_2.waitFor)(function () {
516
- expect(drawingManagerInstance).not.toBe(null);
517
- })];
509
+ setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true }));
510
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
518
511
  case 1:
519
- _a.sent();
520
- expect(drawingManagerInstance.setDrawingMode).not.toHaveBeenCalledWith(constants_1.MAP_DRAWING_MODES.CIRCLE);
512
+ mapMock = _a.sent();
513
+ expect(mapMock.setOptions).not.toHaveBeenCalledWith({ disableDoubleClickZoom: true });
521
514
  return [2 /*return*/];
522
515
  }
523
516
  });
524
517
  }); });
525
- it('should change drawing mode on map control action', function () { return __awaiter(void 0, void 0, void 0, function () {
526
- var user;
518
+ it('should toggle double-click zoom suppression when entering and leaving polygon drawing mode', function () { return __awaiter(void 0, void 0, void 0, function () {
519
+ var user, mapMock;
527
520
  return __generator(this, function (_a) {
528
521
  switch (_a.label) {
529
522
  case 0:
530
- user = setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.CIRCLE] })).user;
531
- return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
523
+ user = setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true })).user;
524
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
532
525
  case 1:
526
+ mapMock = _a.sent();
527
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
528
+ case 2:
533
529
  _a.sent();
534
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: constants_1.MAP_DRAWING_MODES.CIRCLE }));
530
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
531
+ draggableCursor: usePolygonDrawing_1.MAP_DRAWING_CROSSHAIR_CURSOR
532
+ }));
533
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
534
+ disableDoubleClickZoom: true,
535
+ clickableIcons: false
536
+ }));
535
537
  return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Clear area'))];
536
- case 2:
538
+ case 3:
537
539
  _a.sent();
538
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: null }));
540
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({ disableDoubleClickZoom: false }));
539
541
  return [2 /*return*/];
540
542
  }
541
543
  });
542
544
  }); });
543
- it("shouldn't render DrawingManager without drawingModes prop", function () { return __awaiter(void 0, void 0, void 0, function () {
545
+ it("shouldn't attach polygon drawing listeners when polygon drawing is disabled", function () { return __awaiter(void 0, void 0, void 0, function () {
544
546
  return __generator(this, function (_a) {
545
547
  switch (_a.label) {
546
548
  case 0:
547
549
  setUp(__assign({}, defaultProps));
548
550
  return [4 /*yield*/, (0, react_2.waitFor)(function () {
549
- expect(drawingManagerInstance).toBe(null);
551
+ expect(react_2.screen.queryByLabelText('Draw area')).not.toBeInTheDocument();
550
552
  })];
551
553
  case 1:
552
554
  _a.sent();
@@ -554,7 +556,7 @@ describe('ReltioMap tests', function () {
554
556
  }
555
557
  });
556
558
  }); });
557
- it("shouldn't render TopRightMapControls without drawingModes prop", function () { return __awaiter(void 0, void 0, void 0, function () {
559
+ it("shouldn't render TopRightMapControls when polygon drawing is disabled", function () { return __awaiter(void 0, void 0, void 0, function () {
558
560
  return __generator(this, function (_a) {
559
561
  switch (_a.label) {
560
562
  case 0:
@@ -569,38 +571,213 @@ describe('ReltioMap tests', function () {
569
571
  }
570
572
  });
571
573
  }); });
572
- it('should call props.onOverlayUpdated after polygon completing', function () { return __awaiter(void 0, void 0, void 0, function () {
573
- var onOverlayUpdated, user, overlay;
574
+ it('should call props.onOverlayUpdated after polygon completing with correct vertex coordinates', function () { return __awaiter(void 0, void 0, void 0, function () {
575
+ var onOverlayUpdated, OriginalPolygon, polygonPathSpy, user, mapMock, mapDiv, clickHandler;
574
576
  return __generator(this, function (_a) {
575
577
  switch (_a.label) {
576
578
  case 0:
577
579
  onOverlayUpdated = jest.fn();
578
- user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON] })).user;
580
+ OriginalPolygon = google.maps.Polygon;
581
+ polygonPathSpy = jest.spyOn(google.maps, 'Polygon').mockImplementation(function (opts) {
582
+ var instance = new OriginalPolygon(opts);
583
+ var raw = opts === null || opts === void 0 ? void 0 : opts.paths;
584
+ var ring = !raw
585
+ ? []
586
+ : 'getArray' in raw
587
+ ? raw.getArray()
588
+ : raw;
589
+ var mvc = new google.maps.MVCArray();
590
+ mvc.getArray = jest.fn(function () { return ring; });
591
+ instance.getPath = jest.fn(function () { return mvc; });
592
+ return instance;
593
+ });
594
+ user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
595
+ return [4 /*yield*/, (0, react_2.waitFor)(function () {
596
+ var m = getLastInstance(jest_mocks_1.Map);
597
+ if (!m) {
598
+ throw new Error('Map not ready');
599
+ }
600
+ return m;
601
+ })];
602
+ case 1:
603
+ mapMock = _a.sent();
604
+ mapDiv = document.createElement('div');
605
+ mapMock.getDiv = jest.fn(function () { return mapDiv; });
579
606
  return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
607
+ case 2:
608
+ _a.sent();
609
+ clickHandler = getEventHandler(mapMock, 'click');
610
+ (0, react_2.act)(function () {
611
+ clickHandler(mapMouseEventWith(1, 2));
612
+ clickHandler(mapMouseEventWith(3, 4));
613
+ clickHandler(mapMouseEventWith(5, 6));
614
+ });
615
+ (0, react_2.act)(function () {
616
+ mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
617
+ });
618
+ return [4 /*yield*/, (0, react_2.waitFor)(function () {
619
+ expect(onOverlayUpdated).toHaveBeenCalled();
620
+ })];
621
+ case 3:
622
+ _a.sent();
623
+ expect(onOverlayUpdated.mock.calls[0][0]).toEqual(expect.objectContaining({
624
+ type: constants_1.POLYGON_DRAWING_MODE,
625
+ data: [
626
+ [1, 2],
627
+ [3, 4],
628
+ [5, 6]
629
+ ]
630
+ }));
631
+ polygonPathSpy.mockRestore();
632
+ return [2 /*return*/];
633
+ }
634
+ });
635
+ }); });
636
+ it('completes the ring when the first vertex marker is clicked after three map clicks', function () { return __awaiter(void 0, void 0, void 0, function () {
637
+ var onOverlayUpdated, OriginalPolygon, polygonPathSpy, user, mapMock, mapDiv, clickHandler, firstVertexMarker;
638
+ return __generator(this, function (_a) {
639
+ switch (_a.label) {
640
+ case 0:
641
+ onOverlayUpdated = jest.fn();
642
+ OriginalPolygon = google.maps.Polygon;
643
+ polygonPathSpy = jest.spyOn(google.maps, 'Polygon').mockImplementation(function (opts) {
644
+ var instance = new OriginalPolygon(opts);
645
+ var raw = opts === null || opts === void 0 ? void 0 : opts.paths;
646
+ var ring = !raw
647
+ ? []
648
+ : 'getArray' in raw
649
+ ? raw.getArray()
650
+ : raw;
651
+ var mvc = new google.maps.MVCArray();
652
+ mvc.getArray = jest.fn(function () { return ring; });
653
+ instance.getPath = jest.fn(function () { return mvc; });
654
+ return instance;
655
+ });
656
+ user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
657
+ return [4 /*yield*/, (0, react_2.waitFor)(function () {
658
+ var m = getLastInstance(jest_mocks_1.Map);
659
+ if (!m) {
660
+ throw new Error('Map not ready');
661
+ }
662
+ return m;
663
+ })];
580
664
  case 1:
665
+ mapMock = _a.sent();
666
+ mapDiv = document.createElement('div');
667
+ mapMock.getDiv = jest.fn(function () { return mapDiv; });
668
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
669
+ case 2:
581
670
  _a.sent();
582
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: constants_1.MAP_DRAWING_MODES.POLYGON }));
583
- overlay = {
584
- setMap: jest.fn(),
585
- getPath: function () { return ({
586
- getArray: function () { return [
587
- { lat: function () { return 1; }, lng: function () { return 2; } },
588
- { lat: function () { return 3; }, lng: function () { return 4; } }
589
- ]; }
590
- }); }
591
- };
671
+ clickHandler = getEventHandler(mapMock, 'click');
592
672
  (0, react_2.act)(function () {
593
- getEventHandler(drawingManagerInstance, 'polygoncomplete')(overlay);
673
+ clickHandler(mapMouseEventWith(1, 2));
674
+ clickHandler(mapMouseEventWith(3, 4));
675
+ clickHandler(mapMouseEventWith(5, 6));
594
676
  });
595
- expect(onOverlayUpdated).toHaveBeenCalledWith({
596
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
677
+ firstVertexMarker = getFirstInstance(jest_mocks_1.AdvancedMarkerElement);
678
+ expect(firstVertexMarker).toBeDefined();
679
+ (0, react_2.act)(function () {
680
+ getEventHandler(firstVertexMarker, 'click')(__assign(__assign({}, mapMouseEventWith(0, 0)), { stop: jest.fn() }));
681
+ });
682
+ return [4 /*yield*/, (0, react_2.waitFor)(function () {
683
+ expect(onOverlayUpdated).toHaveBeenCalled();
684
+ })];
685
+ case 3:
686
+ _a.sent();
687
+ expect(onOverlayUpdated.mock.calls[0][0]).toEqual(expect.objectContaining({
688
+ type: constants_1.POLYGON_DRAWING_MODE,
597
689
  data: [
598
690
  [1, 2],
599
- [3, 4]
691
+ [3, 4],
692
+ [5, 6]
600
693
  ]
694
+ }));
695
+ polygonPathSpy.mockRestore();
696
+ return [2 /*return*/];
697
+ }
698
+ });
699
+ }); });
700
+ it('clears the in-progress draw on map mouseleave so double-click does not complete a polygon', function () { return __awaiter(void 0, void 0, void 0, function () {
701
+ var onOverlayUpdated, user, mapMock, mapDiv, clickHandler;
702
+ return __generator(this, function (_a) {
703
+ switch (_a.label) {
704
+ case 0:
705
+ onOverlayUpdated = jest.fn();
706
+ user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
707
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
708
+ case 1:
709
+ mapMock = _a.sent();
710
+ mapDiv = document.createElement('div');
711
+ mapMock.getDiv = jest.fn(function () { return mapDiv; });
712
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
713
+ case 2:
714
+ _a.sent();
715
+ clickHandler = getEventHandler(mapMock, 'click');
716
+ (0, react_2.act)(function () {
717
+ clickHandler(mapMouseEventWith(1, 2));
718
+ clickHandler(mapMouseEventWith(3, 4));
719
+ clickHandler(mapMouseEventWith(5, 6));
601
720
  });
602
- expect(overlay.setMap).toHaveBeenCalledWith(null);
603
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: null }));
721
+ (0, react_2.act)(function () {
722
+ mapDiv.dispatchEvent(new MouseEvent('mouseleave', { bubbles: true }));
723
+ });
724
+ (0, react_2.act)(function () {
725
+ mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
726
+ });
727
+ expect(onOverlayUpdated).not.toHaveBeenCalled();
728
+ return [2 /*return*/];
729
+ }
730
+ });
731
+ }); });
732
+ it('ignores a second double-click after completion until draw mode is toggled', function () { return __awaiter(void 0, void 0, void 0, function () {
733
+ var onOverlayUpdated, OriginalPolygon, polygonPathSpy, user, mapMock, mapDiv, clickHandler;
734
+ return __generator(this, function (_a) {
735
+ switch (_a.label) {
736
+ case 0:
737
+ onOverlayUpdated = jest.fn();
738
+ OriginalPolygon = google.maps.Polygon;
739
+ polygonPathSpy = jest.spyOn(google.maps, 'Polygon').mockImplementation(function (opts) {
740
+ var instance = new OriginalPolygon(opts);
741
+ var raw = opts === null || opts === void 0 ? void 0 : opts.paths;
742
+ var ring = !raw
743
+ ? []
744
+ : 'getArray' in raw
745
+ ? raw.getArray()
746
+ : raw;
747
+ var mvc = new google.maps.MVCArray();
748
+ mvc.getArray = jest.fn(function () { return ring; });
749
+ instance.getPath = jest.fn(function () { return mvc; });
750
+ return instance;
751
+ });
752
+ user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
753
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
754
+ case 1:
755
+ mapMock = _a.sent();
756
+ mapDiv = document.createElement('div');
757
+ mapMock.getDiv = jest.fn(function () { return mapDiv; });
758
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
759
+ case 2:
760
+ _a.sent();
761
+ clickHandler = getEventHandler(mapMock, 'click');
762
+ (0, react_2.act)(function () {
763
+ clickHandler(mapMouseEventWith(1, 2));
764
+ clickHandler(mapMouseEventWith(3, 4));
765
+ clickHandler(mapMouseEventWith(5, 6));
766
+ });
767
+ (0, react_2.act)(function () {
768
+ mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
769
+ });
770
+ return [4 /*yield*/, (0, react_2.waitFor)(function () {
771
+ expect(onOverlayUpdated).toHaveBeenCalledTimes(1);
772
+ })];
773
+ case 3:
774
+ _a.sent();
775
+ onOverlayUpdated.mockClear();
776
+ (0, react_2.act)(function () {
777
+ mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
778
+ });
779
+ expect(onOverlayUpdated).not.toHaveBeenCalled();
780
+ polygonPathSpy.mockRestore();
604
781
  return [2 /*return*/];
605
782
  }
606
783
  });
@@ -612,13 +789,13 @@ describe('ReltioMap tests', function () {
612
789
  case 0:
613
790
  onOverlayUpdated = jest.fn();
614
791
  activeOverlay = {
615
- type: constants_1.MAP_DRAWING_MODES.POLYGON,
792
+ type: constants_1.POLYGON_DRAWING_MODE,
616
793
  path: [
617
794
  { lat: 1, lng: 1 },
618
795
  { lat: 2, lng: 2 }
619
796
  ]
620
797
  };
621
- user = setUp(__assign(__assign({}, defaultProps), { drawingModes: [constants_1.MAP_DRAWING_MODES.CIRCLE], activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated })).user;
798
+ user = setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated })).user;
622
799
  return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Clear area'))];
623
800
  case 1:
624
801
  _a.sent();
@@ -630,7 +807,7 @@ describe('ReltioMap tests', function () {
630
807
  });
631
808
  describe('"Search when I move the map" behavior', function () {
632
809
  it('should call props.onMapBoundsChanged with current map bounds and reset drawingMode on change isSearchOnMapMove(true)', function () { return __awaiter(void 0, void 0, void 0, function () {
633
- var onMapBoundsChanged, mapBoundsPolygon, user;
810
+ var onMapBoundsChanged, mapBoundsPolygon, user, mapMock;
634
811
  return __generator(this, function (_a) {
635
812
  switch (_a.label) {
636
813
  case 0:
@@ -639,39 +816,57 @@ describe('ReltioMap tests', function () {
639
816
  [1, 2],
640
817
  [3, 4]
641
818
  ];
642
- user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON] })).user;
819
+ user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true })).user;
643
820
  jest.spyOn(helpers, 'getMapBoundsPolygon').mockImplementation(function () { return mapBoundsPolygon; });
644
- return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
821
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
645
822
  case 1:
823
+ mapMock = _a.sent();
824
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
825
+ case 2:
646
826
  _a.sent();
647
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: constants_1.MAP_DRAWING_MODES.POLYGON }));
827
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
828
+ draggableCursor: usePolygonDrawing_1.MAP_DRAWING_CROSSHAIR_CURSOR
829
+ }));
830
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
831
+ disableDoubleClickZoom: true,
832
+ clickableIcons: false
833
+ }));
648
834
  return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
649
- case 2:
835
+ case 3:
650
836
  _a.sent();
651
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: null }));
837
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({ disableDoubleClickZoom: false }));
652
838
  expect(onMapBoundsChanged).toHaveBeenCalledWith(mapBoundsPolygon);
653
839
  return [2 /*return*/];
654
840
  }
655
841
  });
656
842
  }); });
657
843
  it('should call props.onMapBoundsChanged with null on change isSearchOnMapMove(false)', function () { return __awaiter(void 0, void 0, void 0, function () {
658
- var onMapBoundsChanged, user;
844
+ var onMapBoundsChanged, user, mapMock;
659
845
  return __generator(this, function (_a) {
660
846
  switch (_a.label) {
661
847
  case 0:
662
848
  onMapBoundsChanged = jest.fn();
663
- user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON] })).user;
664
- return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
849
+ user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true })).user;
850
+ return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
665
851
  case 1:
666
- _a.sent();
667
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: constants_1.MAP_DRAWING_MODES.POLYGON }));
668
- return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
852
+ mapMock = _a.sent();
853
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
669
854
  case 2:
670
855
  _a.sent();
856
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
857
+ draggableCursor: usePolygonDrawing_1.MAP_DRAWING_CROSSHAIR_CURSOR
858
+ }));
859
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
860
+ disableDoubleClickZoom: true,
861
+ clickableIcons: false
862
+ }));
671
863
  return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
672
864
  case 3:
673
865
  _a.sent();
674
- expect(drawingManagerConstructorSpy).toHaveBeenCalledWith(expect.objectContaining({ drawingMode: null }));
866
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
867
+ case 4:
868
+ _a.sent();
869
+ expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({ disableDoubleClickZoom: false }));
675
870
  expect(onMapBoundsChanged).toHaveBeenCalledWith(null);
676
871
  return [2 /*return*/];
677
872
  }
@@ -684,7 +879,7 @@ describe('ReltioMap tests', function () {
684
879
  [1, 2],
685
880
  [3, 4]
686
881
  ];
687
- setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], isSearchOnMapMove: true }));
882
+ setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true, isSearchOnMapMove: true }));
688
883
  jest.spyOn(helpers, 'getMapBoundsPolygon').mockImplementation(function () { return mapBoundsPolygon; });
689
884
  expect(react_2.screen.getByLabelText('Search as I move the map').checked).toBe(true);
690
885
  expect(onMapBoundsChanged).not.toHaveBeenCalled();
@@ -701,7 +896,7 @@ describe('ReltioMap tests', function () {
701
896
  [1, 2],
702
897
  [3, 4]
703
898
  ];
704
- setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], isSearchOnMapMove: true }));
899
+ setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true, isSearchOnMapMove: true }));
705
900
  jest.spyOn(helpers, 'getMapBoundsPolygon').mockImplementation(function () { return mapBoundsPolygon; });
706
901
  expect(react_2.screen.getByLabelText('Search as I move the map').checked).toBe(true);
707
902
  var mapMock = getLastInstance(jest_mocks_1.Map);
@@ -719,7 +914,7 @@ describe('ReltioMap tests', function () {
719
914
  it('should not call props.onMapBoundsChanged on google map idle if "Search when I move the map" mode is off', function () {
720
915
  jest.useFakeTimers();
721
916
  var onMapBoundsChanged = jest.fn();
722
- setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, drawingModes: [constants_1.MAP_DRAWING_MODES.POLYGON], isSearchOnMapMove: false }));
917
+ setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true, isSearchOnMapMove: false }));
723
918
  expect(react_2.screen.getByLabelText('Search as I move the map').checked).toBe(false);
724
919
  getEventHandler(getLastInstance(jest_mocks_1.Map), 'idle')();
725
920
  jest.runOnlyPendingTimers();