leaflet-polydraw 1.1.2 → 1.3.0

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 (68) hide show
  1. package/README.md +14 -1
  2. package/dist/icons/icon-bbox.svg +0 -3
  3. package/dist/icons/icon-bezier.svg +19 -131
  4. package/dist/icons/icon-clone.svg +5 -0
  5. package/dist/icons/icon-collapse.svg +4 -78
  6. package/dist/icons/icon-draw.svg +5 -54
  7. package/dist/icons/icon-erase.svg +7 -14
  8. package/dist/icons/icon-p2p-draw.svg +9 -112
  9. package/dist/icons/icon-p2p-subtract.svg +8 -107
  10. package/dist/icons/icon-polydraw2.svg +6 -59
  11. package/dist/icons/icon-redo.svg +10 -0
  12. package/dist/icons/icon-rotate.svg +7 -3
  13. package/dist/icons/icon-simplify2.svg +0 -3
  14. package/dist/icons/icon-undo.svg +10 -0
  15. package/dist/icons/icon-visual-optimization-hide.svg +17 -0
  16. package/dist/icons/icon-visual-optimization-show.svg +11 -0
  17. package/dist/leaflet-polydraw.css +1 -1
  18. package/dist/polydraw.es.js +3621 -1169
  19. package/dist/polydraw.es.js.map +1 -1
  20. package/dist/polydraw.umd.min.js +1 -1
  21. package/dist/polydraw.umd.min.js.map +1 -1
  22. package/dist/styles/polydraw.css +42 -18
  23. package/dist/types/buttons.d.ts +3 -1
  24. package/dist/types/buttons.d.ts.map +1 -1
  25. package/dist/types/compatibility/event-adapter.d.ts +28 -3
  26. package/dist/types/compatibility/event-adapter.d.ts.map +1 -1
  27. package/dist/types/compatibility/leaflet-adapter.d.ts +19 -15
  28. package/dist/types/compatibility/leaflet-adapter.d.ts.map +1 -1
  29. package/dist/types/compatibility/version-detector.d.ts.map +1 -1
  30. package/dist/types/config.d.ts.map +1 -1
  31. package/dist/types/coordinate-utils.d.ts.map +1 -1
  32. package/dist/types/enums.d.ts +2 -1
  33. package/dist/types/enums.d.ts.map +1 -1
  34. package/dist/types/geojson-helpers.d.ts +8 -15
  35. package/dist/types/geojson-helpers.d.ts.map +1 -1
  36. package/dist/types/index.d.ts +1 -1
  37. package/dist/types/managers/event-manager.d.ts +14 -0
  38. package/dist/types/managers/event-manager.d.ts.map +1 -1
  39. package/dist/types/managers/history-manager.d.ts +91 -0
  40. package/dist/types/managers/history-manager.d.ts.map +1 -0
  41. package/dist/types/managers/mode-manager.d.ts +4 -0
  42. package/dist/types/managers/mode-manager.d.ts.map +1 -1
  43. package/dist/types/managers/polygon-draw-manager.d.ts +10 -1
  44. package/dist/types/managers/polygon-draw-manager.d.ts.map +1 -1
  45. package/dist/types/managers/polygon-geometry-manager.d.ts +1 -0
  46. package/dist/types/managers/polygon-geometry-manager.d.ts.map +1 -1
  47. package/dist/types/managers/polygon-interaction-manager.d.ts +52 -2
  48. package/dist/types/managers/polygon-interaction-manager.d.ts.map +1 -1
  49. package/dist/types/managers/polygon-mutation-manager.d.ts +18 -3
  50. package/dist/types/managers/polygon-mutation-manager.d.ts.map +1 -1
  51. package/dist/types/polydraw.d.ts +72 -11
  52. package/dist/types/polydraw.d.ts.map +1 -1
  53. package/dist/types/popup-factory.d.ts +1 -4
  54. package/dist/types/popup-factory.d.ts.map +1 -1
  55. package/dist/types/styles/dynamic-styles.d.ts.map +1 -1
  56. package/dist/types/transform/polygon-transform-controller.d.ts +2 -1
  57. package/dist/types/transform/polygon-transform-controller.d.ts.map +1 -1
  58. package/dist/types/transform/transform-overlay.d.ts.map +1 -1
  59. package/dist/types/transform/transform-types.d.ts +4 -3
  60. package/dist/types/transform/transform-types.d.ts.map +1 -1
  61. package/dist/types/turf-helper.d.ts +38 -7
  62. package/dist/types/turf-helper.d.ts.map +1 -1
  63. package/dist/types/types/polydraw-interfaces.d.ts +75 -23
  64. package/dist/types/types/polydraw-interfaces.d.ts.map +1 -1
  65. package/dist/types/utils/svg-icon.util.d.ts +8 -0
  66. package/dist/types/utils/svg-icon.util.d.ts.map +1 -0
  67. package/package.json +20 -15
  68. /package/{LICENCE → LICENSE} +0 -0
@@ -24,6 +24,18 @@ body {
24
24
  transition: background-color 0.25s;
25
25
  }
26
26
 
27
+ .polygon-marker.polygon-marker-faded {
28
+ opacity: 0.1;
29
+ width: 6px !important;
30
+ height: 6px !important;
31
+ margin-left: -3px !important;
32
+ margin-top: -3px !important;
33
+ }
34
+
35
+ .polygon-marker.polygon-marker-faded:hover {
36
+ opacity: 1;
37
+ }
38
+
27
39
  .polygon-marker.menu {
28
40
  margin-left: -11px !important;
29
41
  margin-top: -11px !important;
@@ -157,6 +169,21 @@ body {
157
169
  }
158
170
  }
159
171
 
172
+ .menu-popup.leaflet-v1 .leaflet-popup-content {
173
+ width: 100% !important;
174
+ }
175
+
176
+ .menu-popup.leaflet-v1 .marker-menu-content {
177
+ max-width: none;
178
+ }
179
+
180
+ @supports (display: grid) {
181
+ .menu-popup.leaflet-v1 .marker-menu-content {
182
+ grid-template-columns: repeat(3, minmax(32px, 1fr));
183
+ margin-right: 12px;
184
+ }
185
+ }
186
+
160
187
  .marker-menu-content .marker-menu-button {
161
188
  width: 22px;
162
189
  height: 22px;
@@ -196,6 +223,16 @@ body {
196
223
  background-image: url('../icons/icon-rotate.svg');
197
224
  }
198
225
 
226
+ .marker-menu-content
227
+ .marker-menu-button.toggle-visual-optimization.visual-optimization-state-visible {
228
+ background-image: url('../icons/icon-visual-optimization-show.svg');
229
+ }
230
+
231
+ .marker-menu-content
232
+ .marker-menu-button.toggle-visual-optimization.visual-optimization-state-hidden {
233
+ background-image: url('../icons/icon-visual-optimization-hide.svg');
234
+ }
235
+
199
236
  .marker-menu-button {
200
237
  padding: 4px;
201
238
  border: 1px solid #aaaaaa;
@@ -300,24 +337,6 @@ body {
300
337
  justify-content: center;
301
338
  }
302
339
 
303
- /* Alpha banner for bezier button */
304
- .alpha-banner {
305
- position: absolute;
306
- top: 6px;
307
- right: -18px;
308
- background: rgba(255, 255, 255, 0.4);
309
- color: #000;
310
- padding: 1px 20px;
311
- font-size: 8px;
312
- font-weight: 700;
313
- transform: rotate(45deg);
314
- transform-origin: center;
315
- z-index: 10;
316
- box-shadow: 0 1px 3px #0000004d;
317
- line-height: 12px;
318
- letter-spacing: 0.5px;
319
- }
320
-
321
340
  .alter-marker-wrapper .row.bottom-separator {
322
341
  border-bottom: 1px dashed #fff;
323
342
  }
@@ -465,6 +484,11 @@ body {
465
484
  color: white !important;
466
485
  }
467
486
 
487
+ .leaflet-container .leaflet-control-attribution {
488
+ display: flex;
489
+ gap: 4px;
490
+ }
491
+
468
492
  /* Firefox Android button fix - ensure draw mode buttons remain responsive */
469
493
  .leaflet-control.leaflet-bar {
470
494
  position: relative;
@@ -1,4 +1,6 @@
1
1
  import { PolydrawConfig } from './types/polydraw-interfaces';
2
+ import type { EventManager } from './managers/event-manager';
3
+ import type { HistoryManager } from './managers/history-manager';
2
4
  /**
3
5
  * Creates the button elements for the Polydraw control.
4
6
  * @param container The main container element.
@@ -10,5 +12,5 @@ import { PolydrawConfig } from './types/polydraw-interfaces';
10
12
  * @param onStartClick Callback for start button.
11
13
  * @param onHoleClick Callback for hole button.
12
14
  */
13
- export declare function createButtons(container: HTMLElement, subContainer: HTMLElement, config: PolydrawConfig, onActivateToggle: () => void, onDrawClick: () => void, onSubtractClick: () => void, onEraseClick: () => void, onPointToPointClick: () => void, onPointToPointSubtractClick: () => void): void;
15
+ export declare function createButtons(container: HTMLElement, subContainer: HTMLElement, config: PolydrawConfig, onActivateToggle: () => void, onDrawClick: () => void, onSubtractClick: () => void, onCloneClick: () => void, onEraseClick: () => void, onPointToPointClick: () => void, onPointToPointSubtractClick: () => void, onUndoClick: () => void, onRedoClick: () => void, eventManager: EventManager, historyManager: HistoryManager): void;
14
16
  //# sourceMappingURL=buttons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/buttons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAwC7D;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,WAAW,EACtB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,MAAM,IAAI,EAC5B,WAAW,EAAE,MAAM,IAAI,EACvB,eAAe,EAAE,MAAM,IAAI,EAC3B,YAAY,EAAE,MAAM,IAAI,EACxB,mBAAmB,EAAE,MAAM,IAAI,EAC/B,2BAA2B,EAAE,MAAM,IAAI,QA0GxC"}
1
+ {"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/buttons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAa7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAmBjE;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,WAAW,EACtB,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,MAAM,IAAI,EAC5B,WAAW,EAAE,MAAM,IAAI,EACvB,eAAe,EAAE,MAAM,IAAI,EAC3B,YAAY,EAAE,MAAM,IAAI,EACxB,YAAY,EAAE,MAAM,IAAI,EACxB,mBAAmB,EAAE,MAAM,IAAI,EAC/B,2BAA2B,EAAE,MAAM,IAAI,EACvC,WAAW,EAAE,MAAM,IAAI,EACvB,WAAW,EAAE,MAAM,IAAI,EACvB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,QAwK/B"}
@@ -2,13 +2,37 @@
2
2
  * Event Compatibility Adapter
3
3
  * Handles differences in event systems between Leaflet v1.x and v2.x
4
4
  */
5
+ import type * as L from 'leaflet';
6
+ type TouchLike = {
7
+ clientX: number;
8
+ clientY: number;
9
+ };
10
+ type LeafletLikeEvent = {
11
+ layer?: unknown;
12
+ propagatedFrom?: unknown;
13
+ type?: string;
14
+ _isPointerEvent?: boolean;
15
+ latlng?: L.LatLng;
16
+ touches?: ArrayLike<TouchLike>;
17
+ pointerType?: string;
18
+ isPrimary?: boolean;
19
+ clientX?: number;
20
+ clientY?: number;
21
+ cancelable?: boolean;
22
+ preventDefault?: () => void;
23
+ stopPropagation?: () => void;
24
+ };
25
+ type LeafletMapLike = {
26
+ getContainer: () => HTMLElement;
27
+ containerPointToLatLng: (point: [number, number]) => L.LatLng;
28
+ };
5
29
  export declare class EventAdapter {
6
30
  /**
7
31
  * Normalizes events to handle differences between v1 and v2
8
32
  * @param event - The event to normalize
9
33
  * @returns The normalized event
10
34
  */
11
- static normalizeEvent(event: any): any;
35
+ static normalizeEvent(event: LeafletLikeEvent): LeafletLikeEvent;
12
36
  /**
13
37
  * Gets the appropriate event name for the current Leaflet version
14
38
  * @param eventName - The base event name
@@ -26,13 +50,13 @@ export declare class EventAdapter {
26
50
  * @param map - The map instance for coordinate conversion
27
51
  * @returns The LatLng coordinates or null if not available
28
52
  */
29
- static extractCoordinates(event: any, map: any): any;
53
+ static extractCoordinates(event: LeafletLikeEvent, map: LeafletMapLike): L.LatLng | null;
30
54
  /**
31
55
  * Checks if an event should be prevented from default behavior
32
56
  * @param event - The event to check
33
57
  * @returns true if preventDefault should be called
34
58
  */
35
- static shouldPreventDefault(event: any): boolean;
59
+ static shouldPreventDefault(event: LeafletLikeEvent): boolean;
36
60
  /**
37
61
  * Gets the appropriate event listener names for the current version
38
62
  * @returns Object with event names for different actions
@@ -43,4 +67,5 @@ export declare class EventAdapter {
43
67
  end: string[];
44
68
  };
45
69
  }
70
+ export {};
46
71
  //# sourceMappingURL=event-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-adapter.d.ts","sourceRoot":"","sources":["../../../src/compatibility/event-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAmBtC;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IA0B9C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,OAAO;IAKxC;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG;IA8BpD;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAmBhD;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI;QACtB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,EAAE,CAAC;KACf;CAiBF"}
1
+ {"version":3,"file":"event-adapter.d.ts","sourceRoot":"","sources":["../../../src/compatibility/event-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAC;AAIlC,KAAK,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AACtD,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,MAAM,WAAW,CAAC;IAChC,sBAAsB,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;CAC/D,CAAC;AAEF,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB;IAmBhE;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IA0B9C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,OAAO;IAKxC;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI;IA8BxF;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAmB7D;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI;QACtB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,EAAE,CAAC;KACf;CAiBF"}
@@ -2,10 +2,13 @@
2
2
  * Leaflet Compatibility Adapter
3
3
  * Provides a unified interface for both Leaflet v1.x and v2.x
4
4
  */
5
+ import * as L from 'leaflet';
5
6
  import { LeafletVersion } from '../enums';
7
+ type UnknownRecord = Record<string, unknown>;
8
+ type UnknownFn = (...args: unknown[]) => unknown;
9
+ type AnimationFrameCallback = (time: number) => void;
6
10
  export declare class LeafletAdapter {
7
- private version;
8
- constructor();
11
+ private get version();
9
12
  /**
10
13
  * Creates a tile layer compatible with both Leaflet versions
11
14
  */
@@ -25,7 +28,7 @@ export declare class LeafletAdapter {
25
28
  /**
26
29
  * Creates a polygon compatible with both Leaflet versions
27
30
  */
28
- createPolygon(latlngs: L.LatLng[] | L.LatLng[][], options?: L.PolylineOptions): L.Polygon;
31
+ createPolygon(latlngs: L.LatLng[] | L.LatLng[][] | L.LatLng[][][], options?: L.PolylineOptions): L.Polygon;
29
32
  /**
30
33
  * Creates a div icon compatible with both Leaflet versions
31
34
  */
@@ -69,8 +72,8 @@ export declare class LeafletAdapter {
69
72
  * DOM event methods compatibility
70
73
  */
71
74
  domEvent: {
72
- on: (obj: HTMLElement, types: string, fn: L.LeafletEventHandlerFn, context?: any) => typeof this;
73
- off: (obj: HTMLElement, types: string, fn: L.LeafletEventHandlerFn, context?: any) => typeof this;
75
+ on: (obj: HTMLElement, types: string, fn: (e: Event) => void, context?: unknown) => typeof this;
76
+ off: (obj: HTMLElement, types: string, fn: (e: Event) => void, context?: unknown) => typeof this;
74
77
  stopPropagation: (e: Event) => typeof this;
75
78
  preventDefault: (e: Event) => typeof this;
76
79
  stop: (e: Event) => typeof this;
@@ -82,21 +85,21 @@ export declare class LeafletAdapter {
82
85
  * Utility methods compatibility
83
86
  */
84
87
  util: {
85
- extend: (dest: any, ...sources: any[]) => any;
86
- bind: (fn: (...args: any[]) => any, obj: any) => ((...args: any[]) => any);
87
- stamp: (obj: any) => number;
88
- throttle: (fn: (...args: any[]) => any, time: number, context: any) => ((...args: any[]) => any);
88
+ extend: (dest: UnknownRecord, ...sources: UnknownRecord[]) => UnknownRecord;
89
+ bind: <T extends UnknownFn>(fn: T, obj: unknown) => T;
90
+ stamp: (obj: object) => number;
91
+ throttle: (fn: UnknownFn, time: number, context: unknown) => UnknownFn;
89
92
  wrapNum: (x: number, range: number[], includeMax?: boolean) => number;
90
93
  falseFn: () => boolean;
91
94
  formatNum: (num: number, digits?: number) => number;
92
95
  trim: (str: string) => string;
93
96
  splitWords: (str: string) => string[];
94
- setOptions: (obj: any, options: any) => any;
95
- getParamString: (obj: any, existingUrl?: string, uppercase?: boolean) => string;
96
- template: (str: string, data: any) => string;
97
- isArray: (obj: any) => boolean;
98
- indexOf: (array: any[], item: any) => number;
99
- requestAnimFrame: (fn: (...args: any[]) => any, context?: any, immediate?: boolean) => number;
97
+ setOptions: (obj: UnknownRecord, options: UnknownRecord) => UnknownRecord;
98
+ getParamString: (obj: Record<string, unknown>, existingUrl?: string, uppercase?: boolean) => string;
99
+ template: (str: string, data: UnknownRecord) => string;
100
+ isArray: (obj: unknown) => boolean;
101
+ indexOf: (array: unknown[], item: unknown) => number;
102
+ requestAnimFrame: (fn: AnimationFrameCallback, context?: unknown, immediate?: boolean) => number;
100
103
  cancelAnimFrame: (id: number) => void;
101
104
  };
102
105
  /**
@@ -151,4 +154,5 @@ export declare class LeafletAdapter {
151
154
  isV2(): boolean;
152
155
  }
153
156
  export declare const leafletAdapter: LeafletAdapter;
157
+ export {};
154
158
  //# sourceMappingURL=leaflet-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"leaflet-adapter.d.ts","sourceRoot":"","sources":["../../../src/compatibility/leaflet-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leaflet-adapter.d.ts","sourceRoot":"","sources":["../../../src/compatibility/leaflet-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"version-detector.d.ts","sourceRoot":"","sources":["../../../src/compatibility/version-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA+B;IAE9D;;;OAGG;IACH,MAAM,CAAC,UAAU,IAAI,cAAc;IASnC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA6C5B;;;OAGG;IACH,MAAM,CAAC,IAAI,IAAI,OAAO;IAItB;;;OAGG;IACH,MAAM,CAAC,IAAI,IAAI,OAAO;IAItB;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI;QACvB,OAAO,EAAE,cAAc,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;KAC3B;CAWF"}
1
+ {"version":3,"file":"version-detector.d.ts","sourceRoot":"","sources":["../../../src/compatibility/version-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAgB1C,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA+B;IAE9D;;;OAGG;IACH,MAAM,CAAC,UAAU,IAAI,cAAc;IAgBnC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA6C5B;;;OAGG;IACH,MAAM,CAAC,IAAI,IAAI,OAAO;IAItB;;;OAGG;IACH,MAAM,CAAC,IAAI,IAAI,OAAO;IAItB;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI;QACvB,OAAO,EAAE,cAAc,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;KAC3B;CAYF"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,eAAO,MAAM,aAAa,EAAE,cA6O3B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,eAAO,MAAM,aAAa,EAAE,cAqR3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coordinate-utils.d.ts","sourceRoot":"","sources":["../../src/coordinate-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE,EAAE;IAiD1F;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAC7B,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,CAAC,CAAC,aAAa,EAAE,EAAE;IAItB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;IAI3D;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM;IA8IrD;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE;CAwBvE"}
1
+ {"version":3,"file":"coordinate-utils.d.ts","sourceRoot":"","sources":["../../src/coordinate-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE,EAAE;IAiD1F;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAC7B,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,CAAC,CAAC,aAAa,EAAE,EAAE;IAItB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;IAI3D;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM;IA8IrD;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE;CAKvE"}
@@ -16,7 +16,8 @@ export declare enum DrawMode {
16
16
  AppendMarker = 8,
17
17
  LoadPredefined = 16,
18
18
  PointToPoint = 32,
19
- PointToPointSubtract = 64
19
+ PointToPointSubtract = 64,
20
+ Clone = 128
20
21
  }
21
22
  /**
22
23
  * Enum for marker positions.
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,cAAc;IACxB,EAAE,QAAQ;IACV,EAAE,QAAQ;CACX;AAED;;GAEG;AAEH,oBAAY,QAAQ;IAClB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,YAAY,IAAI;IAChB,cAAc,KAAK;IACnB,YAAY,KAAK;IACjB,oBAAoB,KAAK;CAC1B;AACD;;GAEG;AAGH,oBAAY,cAAc;IACxB,SAAS,IAAI;IACb,KAAK,IAAI;IACT,SAAS,IAAI;IACb,IAAI,IAAI;IACR,SAAS,IAAI;IACb,KAAK,IAAI;IACT,SAAS,IAAI;IACb,IAAI,IAAI;IACR,IAAI,IAAI;CAGT"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,cAAc;IACxB,EAAE,QAAQ;IACV,EAAE,QAAQ;CACX;AAED;;GAEG;AAEH,oBAAY,QAAQ;IAClB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,YAAY,IAAI;IAChB,cAAc,KAAK;IACnB,YAAY,KAAK;IACjB,oBAAoB,KAAK;IACzB,KAAK,MAAM;CACZ;AACD;;GAEG;AAGH,oBAAY,cAAc;IACxB,SAAS,IAAI;IACb,KAAK,IAAI;IACT,SAAS,IAAI;IACb,IAAI,IAAI;IACR,SAAS,IAAI;IACb,KAAK,IAAI;IACT,SAAS,IAAI;IACb,IAAI,IAAI;IACR,IAAI,IAAI;CAGT"}
@@ -1,4 +1,4 @@
1
- import type { Feature, Polygon, MultiPolygon, Point, LineString, FeatureCollection, Position } from 'geojson';
1
+ import type { Feature, Polygon, MultiPolygon, Point, LineString, FeatureCollection, Position, Geometry } from 'geojson';
2
2
  /**
3
3
  * Coordinate type - array of [longitude, latitude]
4
4
  */
@@ -9,34 +9,34 @@ export type Coord = [number, number];
9
9
  * @param properties - Optional properties object
10
10
  * @returns GeoJSON Point feature
11
11
  */
12
- export declare function point(coordinates: Position, properties?: Record<string, any>): Feature<Point>;
12
+ export declare function point(coordinates: Position, properties?: Record<string, unknown>): Feature<Point>;
13
13
  /**
14
14
  * Creates a GeoJSON LineString feature
15
15
  * @param coordinates - Array of [longitude, latitude] coordinate pairs
16
16
  * @param properties - Optional properties object
17
17
  * @returns GeoJSON LineString feature
18
18
  */
19
- export declare function lineString(coordinates: Position[], properties?: Record<string, any>): Feature<LineString>;
19
+ export declare function lineString(coordinates: Position[], properties?: Record<string, unknown>): Feature<LineString>;
20
20
  /**
21
21
  * Creates a GeoJSON Polygon feature
22
22
  * @param coordinates - Array of linear rings (first is exterior, rest are holes)
23
23
  * @param properties - Optional properties object
24
24
  * @returns GeoJSON Polygon feature
25
25
  */
26
- export declare function polygon(coordinates: Position[][], properties?: Record<string, any>): Feature<Polygon>;
26
+ export declare function polygon(coordinates: Position[][], properties?: Record<string, unknown>): Feature<Polygon>;
27
27
  /**
28
28
  * Creates a GeoJSON MultiPolygon feature
29
29
  * @param coordinates - Array of polygon coordinate arrays
30
30
  * @param properties - Optional properties object
31
31
  * @returns GeoJSON MultiPolygon feature
32
32
  */
33
- export declare function multiPolygon(coordinates: Position[][][], properties?: Record<string, any>): Feature<MultiPolygon>;
33
+ export declare function multiPolygon(coordinates: Position[][][], properties?: Record<string, unknown>): Feature<MultiPolygon>;
34
34
  /**
35
35
  * Creates a GeoJSON FeatureCollection
36
36
  * @param features - Array of GeoJSON features
37
37
  * @returns GeoJSON FeatureCollection
38
38
  */
39
- export declare function featureCollection(features: Feature[]): FeatureCollection;
39
+ export declare function featureCollection<T extends Geometry>(features: Feature<T>[]): FeatureCollection<T>;
40
40
  /**
41
41
  * Extracts coordinates from a GeoJSON feature
42
42
  * Replaces @turf/invariant getCoords function
@@ -44,13 +44,7 @@ export declare function featureCollection(features: Feature[]): FeatureCollectio
44
44
  * @returns Coordinate array(s)
45
45
  */
46
46
  export declare function getCoords(feature: Feature<Polygon | MultiPolygon>): Position[][][];
47
- /**
48
- * Calculates the bounding box of a geometry
49
- * Replaces @turf/bbox function
50
- * @param feature - GeoJSON feature
51
- * @returns [minX, minY, maxX, maxY] bounding box
52
- */
53
- export declare function bbox(feature: Feature<any>): [number, number, number, number];
47
+ export declare function bbox(feature: Feature<Geometry>): [number, number, number, number];
54
48
  /**
55
49
  * Creates a polygon from a bounding box
56
50
  * Replaces @turf/bbox-polygon function
@@ -77,9 +71,8 @@ export declare function distance(from: Position | Feature<Point>, to: Position |
77
71
  export declare function midpoint(point1: Position | Feature<Point>, point2: Position | Feature<Point>): Feature<Point>;
78
72
  /**
79
73
  * Calculates the area of a polygon using the Shoelace formula
80
- * Replaces @turf/area function
81
74
  * @param feature - Polygon or MultiPolygon feature
82
- * @returns Area in square meters
75
+ * @returns Area in degrees² (planar). Use @turf/area for meters².
83
76
  */
84
77
  export declare function area(feature: Feature<Polygon | MultiPolygon>): number;
85
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"geojson-helpers.d.ts","sourceRoot":"","sources":["../../src/geojson-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CASjG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,WAAW,EAAE,QAAQ,EAAE,EACvB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACnC,OAAO,CAAC,UAAU,CAAC,CASrB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,QAAQ,EAAE,EAAE,EACzB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACnC,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,EAC3B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACnC,OAAO,CAAC,YAAY,CAAC,CASvB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,QAAQ,EAAE,EAAE,EAAE,CAOlF;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAoB5E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAW1F;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAC/B,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAC7B,KAAK,GAAE,YAAY,GAAG,OAAO,GAAG,QAAuB,GACtD,MAAM,CAsBR;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EACjC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,KAAK,CAAC,CAWhB;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,MAAM,CAerE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAiBjF"}
1
+ {"version":3,"file":"geojson-helpers.d.ts","sourceRoot":"","sources":["../../src/geojson-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EAET,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,KAAK,CACnB,WAAW,EAAE,QAAQ,EACrB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,KAAK,CAAC,CAShB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,WAAW,EAAE,QAAQ,EAAE,EACvB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,UAAU,CAAC,CASrB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,QAAQ,EAAE,EAAE,EACzB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,EAC3B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,YAAY,CAAC,CASvB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAClD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GACrB,iBAAiB,CAAC,CAAC,CAAC,CAKtB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,QAAQ,EAAE,EAAE,EAAE,CAOlF;AAUD,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CA+BjF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAW1F;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAC/B,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAC7B,KAAK,GAAE,YAAY,GAAG,OAAO,GAAG,QAAuB,GACtD,MAAM,CAsBR;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EACjC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,KAAK,CAAC,CAWhB;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,MAAM,CAerE;AAiBD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAiBjF"}
@@ -1 +1 @@
1
- export { default, leafletAdapter, defaultConfig } from "./polydraw";
1
+ export { default, leafletAdapter, defaultConfig, registerWithLeaflet } from "./polydraw";
@@ -68,6 +68,20 @@ export type PolydrawEventPayloads = {
68
68
  polygon2: Feature<Polygon | MultiPolygon>;
69
69
  callback: (intersects: boolean) => void;
70
70
  };
71
+ 'polydraw:history:undo': {
72
+ canUndo: boolean;
73
+ canRedo: boolean;
74
+ action?: string;
75
+ };
76
+ 'polydraw:history:redo': {
77
+ canUndo: boolean;
78
+ canRedo: boolean;
79
+ action?: string;
80
+ };
81
+ 'polydraw:history:changed': {
82
+ canUndo: boolean;
83
+ canRedo: boolean;
84
+ };
71
85
  };
72
86
  export type PolydrawEvent = keyof PolydrawEventPayloads;
73
87
  export type PolydrawEventCallback<T extends PolydrawEvent = PolydrawEvent> = (data: PolydrawEventPayloads[T]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"event-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/event-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/event-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { Feature, Polygon, MultiPolygon } from 'geojson';
2
+ import type { EventManager } from './event-manager';
3
+ import * as L from 'leaflet';
4
+ /**
5
+ * Represents a snapshot of the entire drawing state
6
+ */
7
+ export interface HistorySnapshot {
8
+ /**
9
+ * Array of GeoJSON features representing all polygons
10
+ */
11
+ features: Feature<Polygon | MultiPolygon>[];
12
+ /**
13
+ * Timestamp when this snapshot was created
14
+ */
15
+ timestamp: number;
16
+ /**
17
+ * Optional description of the action that created this snapshot
18
+ */
19
+ action?: string;
20
+ /**
21
+ * Approximate serialized size in bytes at save time.
22
+ */
23
+ size?: number;
24
+ }
25
+ /**
26
+ * HistoryManager handles undo/redo functionality for polygon operations.
27
+ * It stores snapshots of the polygon state as GeoJSON and manages undo/redo stacks.
28
+ */
29
+ export declare class HistoryManager {
30
+ private undoStack;
31
+ private redoStack;
32
+ private maxHistorySize;
33
+ private maxSnapshotSize;
34
+ private maxTotalMemory;
35
+ private currentMemoryUsage;
36
+ private eventManager;
37
+ private isRestoring;
38
+ constructor(eventManager: EventManager, maxHistorySize?: number);
39
+ /**
40
+ * Save the current state to the undo stack
41
+ * @param featureGroups - Array of Leaflet feature groups to save
42
+ * @param action - Optional description of the action
43
+ */
44
+ saveState(featureGroups: L.FeatureGroup[], action?: string): void;
45
+ /**
46
+ * Calculate the approximate size of a snapshot in bytes
47
+ */
48
+ private calculateSnapshotSize;
49
+ /**
50
+ * Enforce memory budget by removing oldest snapshots if needed
51
+ */
52
+ private enforceMemoryBudget;
53
+ /**
54
+ * Enforce redo stack size (count-based, not byte-based)
55
+ */
56
+ private enforceRedoMemoryBudget;
57
+ /**
58
+ * Undo the last action
59
+ * @param featureGroups - Current array of feature groups
60
+ * @returns The snapshot to restore, or null if undo stack is empty
61
+ */
62
+ undo(featureGroups: L.FeatureGroup[]): HistorySnapshot | null;
63
+ /**
64
+ * Redo the last undone action
65
+ * @param featureGroups - Current array of feature groups
66
+ * @returns The snapshot to restore, or null if redo stack is empty
67
+ */
68
+ redo(featureGroups: L.FeatureGroup[]): HistorySnapshot | null;
69
+ /**
70
+ * Check if undo is available
71
+ */
72
+ canUndo(): boolean;
73
+ /**
74
+ * Check if redo is available
75
+ */
76
+ canRedo(): boolean;
77
+ /**
78
+ * Clear all history
79
+ */
80
+ clear(): void;
81
+ /**
82
+ * Set the restoration flag (prevents saving during restore)
83
+ */
84
+ setRestoring(isRestoring: boolean): void;
85
+ /**
86
+ * Create a snapshot from feature groups
87
+ */
88
+ private createSnapshot;
89
+ private getSnapshotSize;
90
+ }
91
+ //# sourceMappingURL=history-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;IAE5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,YAAY,EAAE,YAAY,EAAE,cAAc,GAAE,MAAW;IAKnE;;;;OAIG;IACH,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmCjE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,eAAe,GAAG,IAAI;IAgC7D;;;;OAIG;IACH,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,eAAe,GAAG,IAAI;IAmC7D;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,KAAK,IAAI,IAAI;IAYb;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,eAAe;CAQxB"}
@@ -49,6 +49,10 @@ export declare class ModeManager {
49
49
  * Set interaction state for Point-to-Point mode
50
50
  */
51
51
  private setPointToPointModeState;
52
+ /**
53
+ * Set interaction state for clone mode (drag to duplicate)
54
+ */
55
+ private setCloneModeState;
52
56
  /**
53
57
  * Update modifier key state
54
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mode-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/mode-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IAGzB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,WAAW,EAAE,QAAQ,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAG3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY;IAM9D;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAyBxC;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAU1C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO;IAyBpD;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,cAAc,IAAI,QAAQ;IAI1B;;OAEG;IACH,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAItC;;OAEG;IACH,yBAAyB,IAAI,OAAO;IAIpC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAK3C;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,YAAY,GACZ,WAAW,GACX,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,oBAAoB,CAAC"}
1
+ {"version":3,"file":"mode-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/mode-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IAGzB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,WAAW,EAAE,QAAQ,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAG3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY;IAM9D;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IA4BxC;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAU1C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO;IAyBpD;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,cAAc,IAAI,QAAQ;IAI1B;;OAEG;IACH,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAItC;;OAEG;IACH,yBAAyB,IAAI,OAAO;IAIpC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAK3C;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,YAAY,GACZ,WAAW,GACX,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,oBAAoB,CAAC"}
@@ -48,6 +48,7 @@ export declare class PolygonDrawManager {
48
48
  * @param isHeld - Whether the modifier key is held down
49
49
  */
50
50
  setModifierKey(isHeld: boolean): void;
51
+ private shouldAllowP2PMarkerDeletion;
51
52
  /**
52
53
  * Handle point-to-point click
53
54
  */
@@ -59,7 +60,7 @@ export declare class PolygonDrawManager {
59
60
  /**
60
61
  * Handle double-tap to complete point-to-point polygon (touch devices)
61
62
  */
62
- handleDoubleTap(_e: TouchEvent): void;
63
+ handleDoubleTap(event: TouchEvent): void;
63
64
  /**
64
65
  * Complete point-to-point polygon drawing
65
66
  */
@@ -108,6 +109,14 @@ export declare class PolygonDrawManager {
108
109
  * Set up the first marker with special properties
109
110
  */
110
111
  private setupFirstMarker;
112
+ /**
113
+ * Toggle helper class for first marker when polygon can be closed.
114
+ */
115
+ private updateFirstMarkerReadyState;
116
+ /**
117
+ * Refresh the first-marker ready state when draw mode changes.
118
+ */
119
+ refreshP2PMarkerState(): void;
111
120
  /**
112
121
  * Handle marker hover for edge deletion feedback
113
122
  */
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-draw-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-draw-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,sBAAsB,CAA+C;gBAEjE,YAAY,EAAE,8BAA8B;IAUxD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,GAAG,UAAU,GAAG,IAAI;IAcxD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAyDhF;;OAEG;IACH;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAI5C;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI;IAsIpD;;OAEG;IACH,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,GAAG,IAAI;IAoB/C;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAerC;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAoEnC;;OAEG;IACH,yBAAyB,IAAI,IAAI;IASjC;;OAEG;IACH,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,eAAe;IA+BvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,aAAa,IAAI,CAAC,CAAC,MAAM,EAAE;IAK3B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAM/B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAM9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;OAEG;IACH,OAAO,CAAC,4BAA4B;CAiDrC"}
1
+ {"version":3,"file":"polygon-draw-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-draw-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,sBAAsB,CAA+C;gBAEjE,YAAY,EAAE,8BAA8B;IAUxD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,GAAG,UAAU,GAAG,IAAI;IAcxD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAyDhF;;OAEG;IACH;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAI5C,OAAO,CAAC,4BAA4B;IAapC;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI;IAuIpD;;OAEG;IACH,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,GAAG,IAAI;IAoB/C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAgBxC;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAoEnC;;OAEG;IACH,yBAAyB,IAAI,IAAI;IASjC;;OAEG;IACH,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,eAAe;IA+BvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,aAAa,IAAI,CAAC,CAAC,MAAM,EAAE;IAK3B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAM/B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAM9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyDxB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqBnC;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAKpC;;OAEG;IACH,OAAO,CAAC,4BAA4B;CAiDrC"}
@@ -23,6 +23,7 @@ export declare class PolygonGeometryManager {
23
23
  * Check if two polygons intersect using multiple detection methods
24
24
  */
25
25
  checkPolygonIntersection(polygon1: Feature<Polygon | MultiPolygon>, polygon2: Feature<Polygon | MultiPolygon>): boolean;
26
+ private isPolygonInsideHole;
26
27
  /**
27
28
  * Perform union operation on multiple polygons
28
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-geometry-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-geometry-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,YAAY,EAAE,kCAAkC;IAM5D;;OAEG;IACH,wBAAwB,CACtB,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EACzC,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GACxC,OAAO;IAiGV;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,EAC3C,UAAU,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAC1C,uBAAuB;IAyB1B;;OAEG;IACH,eAAe,CACb,eAAe,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAChD,eAAe,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAC/C,uBAAuB;IAgC1B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;IAmElF;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;IAyFvF;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;IAiBnF;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;CAmDvF"}
1
+ {"version":3,"file":"polygon-geometry-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-geometry-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,YAAY,EAAE,kCAAkC;IAM5D;;OAEG;IACH,wBAAwB,CACtB,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EACzC,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GACxC,OAAO;IAyGV,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,EAC3C,UAAU,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAC1C,uBAAuB;IAyB1B;;OAEG;IACH,eAAe,CACb,eAAe,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAChD,eAAe,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAC/C,uBAAuB;IAgC1B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;IAmElF;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;IAkGvF;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;IAiBnF;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,uBAAuB;CAmDvF"}