leaflet-polydraw 0.9.1 → 0.9.3

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.
@@ -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;AAG7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,GAAG,EAAE;IAiDnF;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;IAIxF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;CAsB5D"}
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;AAEhD,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,GAAG,EAAE;IAiDnF;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;IAIxF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;CAsB5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"geometry-utils.d.ts","sourceRoot":"","sources":["../../src/geometry-utils.ts"],"names":[],"mappings":"AAOA,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;IAc5F;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,EAAE,EAAE,CAAC,CAAC,aAAa,EACnB,KAAK,EAAE,CAAC,CAAC,aAAa,EACtB,EAAE,EAAE,CAAC,CAAC,aAAa,GAClB,MAAM;IA8BT;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAMrE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;IAM1E;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;CAqBzF"}
1
+ {"version":3,"file":"geometry-utils.d.ts","sourceRoot":"","sources":["../../src/geometry-utils.ts"],"names":[],"mappings":"AAMA,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;IAc5F;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,EAAE,EAAE,CAAC,CAAC,aAAa,EACnB,KAAK,EAAE,CAAC,CAAC,aAAa,EACtB,EAAE,EAAE,CAAC,CAAC,aAAa,GAClB,MAAM;IA8BT;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAMrE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,MAAM;IAM1E;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;CAqBzF"}
@@ -1,4 +1,76 @@
1
- import { PolydrawEvent, PolydrawEventCallback } from '../types/polydraw-interfaces';
1
+ import { Feature, Polygon, MultiPolygon } from 'geojson';
2
+ import { DrawMode } from '../enums';
3
+ import { FeatureGroup, LatLngExpression } from 'leaflet';
4
+ export type PolydrawEventPayloads = {
5
+ 'polygon:add': {
6
+ polygon: Feature<Polygon | MultiPolygon>;
7
+ };
8
+ 'polydraw:subtract': {
9
+ subtractPolygon: Feature<Polygon | MultiPolygon>;
10
+ };
11
+ drawCancelled: {
12
+ mode?: DrawMode;
13
+ };
14
+ polygonDeleted: undefined;
15
+ polygonSubtracted: {
16
+ subtractedPolygon: Feature<Polygon | MultiPolygon>;
17
+ affectedFeatureGroups: FeatureGroup[];
18
+ resultFeatureGroups: FeatureGroup[];
19
+ };
20
+ polygonOperationComplete: {
21
+ operation: string;
22
+ polygon: Feature<Polygon | MultiPolygon>;
23
+ featureGroup?: FeatureGroup;
24
+ resultFeatureGroups?: FeatureGroup[];
25
+ };
26
+ polygonAdded: {
27
+ polygon: Feature<Polygon | MultiPolygon>;
28
+ featureGroup: FeatureGroup;
29
+ };
30
+ polygonsUnioned: {
31
+ originalPolygons: Feature<Polygon | MultiPolygon>[];
32
+ resultPolygon: Feature<Polygon | MultiPolygon>;
33
+ featureGroups?: FeatureGroup[];
34
+ };
35
+ 'polygon:intersect': {
36
+ polygon1: Feature<Polygon | MultiPolygon>;
37
+ polygon2: Feature<Polygon | MultiPolygon>;
38
+ callback: (intersects: boolean) => void;
39
+ };
40
+ 'freehand:complete': {
41
+ polygon: Feature<Polygon | MultiPolygon>;
42
+ };
43
+ 'polydraw:polygon:created': {
44
+ polygon: Feature<Polygon | MultiPolygon>;
45
+ isPointToPoint?: boolean;
46
+ mode?: DrawMode;
47
+ };
48
+ 'polydraw:polygon:updated': {
49
+ polygon: Feature<Polygon | MultiPolygon>;
50
+ operation?: string;
51
+ allowMerge?: boolean;
52
+ optimizationLevel?: number;
53
+ };
54
+ 'polydraw:polygon:deleted': undefined;
55
+ 'polydraw:mode:change': {
56
+ mode: DrawMode;
57
+ };
58
+ 'polydraw:draw:cancel': {
59
+ mode?: DrawMode;
60
+ };
61
+ 'polydraw:menu:action': {
62
+ action: string;
63
+ latLngs?: LatLngExpression[];
64
+ featureGroup?: FeatureGroup;
65
+ };
66
+ 'polydraw:check:intersection': {
67
+ polygon1: Feature<Polygon | MultiPolygon>;
68
+ polygon2: Feature<Polygon | MultiPolygon>;
69
+ callback: (intersects: boolean) => void;
70
+ };
71
+ };
72
+ export type PolydrawEvent = keyof PolydrawEventPayloads;
73
+ export type PolydrawEventCallback<T extends PolydrawEvent = PolydrawEvent> = (data: PolydrawEventPayloads[T]) => void;
2
74
  export declare class EventManager {
3
75
  private eventListeners;
4
76
  /**
@@ -6,18 +78,18 @@ export declare class EventManager {
6
78
  * @param event - The event to listen for.
7
79
  * @param callback - The callback to execute when the event is emitted.
8
80
  */
9
- on(event: PolydrawEvent, callback: PolydrawEventCallback): void;
81
+ on<T extends PolydrawEvent>(event: T, callback: PolydrawEventCallback<T>): void;
10
82
  /**
11
83
  * Unregister an event listener.
12
84
  * @param event - The event to stop listening for.
13
85
  * @param callback - The specific callback to remove.
14
86
  */
15
- off(event: PolydrawEvent, callback: PolydrawEventCallback): void;
87
+ off<T extends PolydrawEvent>(event: T, callback: PolydrawEventCallback<T>): void;
16
88
  /**
17
89
  * Emit an event.
18
90
  * @param event - The event to emit.
19
91
  * @param data - The data to pass to the event listeners.
20
92
  */
21
- emit(event: PolydrawEvent, data?: any): void;
93
+ emit<T extends PolydrawEvent>(event: T, data: PolydrawEventPayloads[T]): void;
22
94
  }
23
95
  //# sourceMappingURL=event-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/event-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAEpF,qBAAa,YAAY;IACvB,OAAO,CAAC,cAAc,CAA0D;IAEhF;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAO/D;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAYhE;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;CAK7C"}
1
+ {"version":3,"file":"event-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/event-manager.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export declare class PolygonDrawManager {
30
30
  private tracer;
31
31
  private p2pMarkers;
32
32
  private isModifierKeyHeld;
33
+ private markerModifierHandlers;
33
34
  constructor(dependencies: PolygonDrawManagerDependencies);
34
35
  /**
35
36
  * Handle mouse move during freehand drawing
@@ -38,7 +39,7 @@ export declare class PolygonDrawManager {
38
39
  /**
39
40
  * Handle mouse up/leave to complete freehand drawing
40
41
  */
41
- mouseUpLeave(event: any): Promise<DrawResult>;
42
+ mouseUpLeave(event: L.LeafletMouseEvent | TouchEvent): Promise<DrawResult>;
42
43
  /**
43
44
  * Handle point-to-point click
44
45
  */
@@ -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;AAE5C,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;AAE/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;gBAE/B,YAAY,EAAE,8BAA8B;IAUxD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,GAAG,UAAU,GAAG,IAAI;IAcxD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAuDnD;;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;IAc/C;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAkEnC;;OAEG;IACH,yBAAyB,IAAI,IAAI;IASjC;;OAEG;IACH,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0C5B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,aAAa,IAAI,CAAC,CAAC,MAAM,EAAE;IAK3B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAK/B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAM9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;OAEG;IACH,OAAO,CAAC,4BAA4B;CA8CrC"}
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;AAE5C,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;AAE/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;IAaxD;;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;IAiB/C;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAkEnC;;OAEG;IACH,yBAAyB,IAAI,IAAI;IASjC;;OAEG;IACH,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0C5B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,aAAa,IAAI,CAAC,CAAC,MAAM,EAAE;IAK3B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAK/B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAM9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;OAEG;IACH,OAAO,CAAC,4BAA4B;CAiDrC"}
@@ -55,21 +55,5 @@ export declare class PolygonGeometryManager {
55
55
  * Helper method to get bounding box from polygon
56
56
  */
57
57
  private getBoundingBox;
58
- /**
59
- * Determine if two polygons should create a donut instead of a regular union
60
- */
61
- private shouldCreateDonutPolygon;
62
- /**
63
- * Create a donut polygon from two intersecting polygons
64
- */
65
- private createDonutPolygon;
66
- /**
67
- * Create donut when one polygon is completely within another
68
- */
69
- private createDonutFromContainment;
70
- /**
71
- * Create donut from intersecting polygons (C-to-O scenario)
72
- */
73
- private createDonutFromIntersection;
74
58
  }
75
59
  //# sourceMappingURL=polygon-geometry-manager.d.ts.map
@@ -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;IAsC1B;;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;IAiDtF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqDxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwDtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;OAEG;IACH,OAAO,CAAC,2BAA2B;CA0BpC"}
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;IAuB1B;;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;IAiDtF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqDxB;;OAEG;IACH,OAAO,CAAC,cAAc;CAuDvB"}
@@ -2,7 +2,7 @@ import * as L from 'leaflet';
2
2
  import { TurfHelper } from '../turf-helper';
3
3
  import { PolygonInformationService } from '../polygon-information.service';
4
4
  import type { Feature, Polygon, MultiPolygon } from 'geojson';
5
- import type { PolydrawConfig } from '../types/polydraw-interfaces';
5
+ import type { PolydrawConfig, PolydrawPolygon } from '../types/polydraw-interfaces';
6
6
  import { ModeManager } from './mode-manager';
7
7
  import { EventManager } from './event-manager';
8
8
  export interface InteractionResult {
@@ -23,6 +23,8 @@ export interface PolygonInteractionManagerDependencies {
23
23
  * This includes dragging polygons, dragging markers, edge interactions, and popup menus.
24
24
  */
25
25
  export declare class PolygonInteractionManager {
26
+ private markerFeatureGroupMap;
27
+ private markerModifierHandlers;
26
28
  private _activeMarker;
27
29
  private isDraggingMarker;
28
30
  private turfHelper;
@@ -48,7 +50,7 @@ export declare class PolygonInteractionManager {
48
50
  */
49
51
  addMarkers(latlngs: L.LatLngLiteral[], featureGroup: L.FeatureGroup): void;
50
52
  /**
51
- * Add hole markers to a polygon feature group
53
+ * Add hole markers to a polygon feature group, with configurable special markers.
52
54
  */
53
55
  addHoleMarkers(latlngs: L.LatLngLiteral[], featureGroup: L.FeatureGroup): void;
54
56
  /**
@@ -58,7 +60,7 @@ export declare class PolygonInteractionManager {
58
60
  /**
59
61
  * Enable polygon dragging functionality
60
62
  */
61
- enablePolygonDragging(polygon: any, latlngs: Feature<Polygon | MultiPolygon>): void;
63
+ enablePolygonDragging(polygon: PolydrawPolygon, latlngs: Feature<Polygon | MultiPolygon>): void;
62
64
  /**
63
65
  * Update marker draggable state based on current mode
64
66
  */
@@ -86,7 +88,8 @@ export declare class PolygonInteractionManager {
86
88
  private offsetPolygonCoordinates;
87
89
  private updateMarkersAndHoleLinesDuringDrag;
88
90
  private updatePolygonAfterDrag;
89
- private detectModifierKey;
91
+ private getDragSubtractModifierKey;
92
+ private detectDragSubtractModifierKey;
90
93
  private setSubtractVisualMode;
91
94
  private updateMarkerColorsForSubtractMode;
92
95
  private handleModifierToggleDuringDrag;
@@ -96,7 +99,9 @@ export declare class PolygonInteractionManager {
96
99
  * Check if two bounding boxes overlap
97
100
  */
98
101
  private boundingBoxesOverlap;
99
- private isModifierKeyPressed;
102
+ private isDragSubtractModifierKeyPressed;
103
+ private getEdgeDeletionModifierKey;
104
+ private isEdgeDeletionModifierKeyPressed;
100
105
  private onMarkerHoverForEdgeDeletion;
101
106
  private onMarkerHoverForEdgeDeletionEvent;
102
107
  private onMarkerLeaveForEdgeDeletionEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-interaction-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-interaction-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polygon-interaction-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-interaction-manager.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@ import * as L from 'leaflet';
2
2
  import { TurfHelper } from '../turf-helper';
3
3
  import { PolygonInformationService } from '../polygon-information.service';
4
4
  import type { Feature, Polygon, MultiPolygon } from 'geojson';
5
- import type { PolydrawConfig } from '../types/polydraw-interfaces';
5
+ import type { PolydrawConfig, PolydrawPolygon } from '../types/polydraw-interfaces';
6
6
  import { ModeManager } from './mode-manager';
7
- import { EventManager } from './event-manager';
7
+ import { EventManager, PolydrawEvent, PolydrawEventCallback } from './event-manager';
8
8
  import { PolygonInteractionManager } from './polygon-interaction-manager';
9
9
  export interface MutationResult {
10
10
  success: boolean;
@@ -66,7 +66,7 @@ export declare class PolygonMutationManager {
66
66
  /**
67
67
  * Add event listener
68
68
  */
69
- on(event: string, callback: (...args: any[]) => void): void;
69
+ on<T extends PolydrawEvent>(event: T, callback: PolydrawEventCallback<T>): void;
70
70
  /**
71
71
  * Emit event to all listeners
72
72
  */
@@ -91,6 +91,11 @@ export declare class PolygonMutationManager {
91
91
  * Union multiple polygons together using geometry manager
92
92
  */
93
93
  private unionPolygons;
94
+ /**
95
+ * Create a polygon from GeoJSON feature
96
+ */
97
+ private isPositionArrayofArrays;
98
+ private isPosition;
94
99
  /**
95
100
  * Create a polygon from GeoJSON feature
96
101
  */
@@ -142,9 +147,23 @@ export declare class PolygonMutationManager {
142
147
  addMarker(latlngs: L.LatLngLiteral[], featureGroup: L.FeatureGroup): void;
143
148
  addHoleMarker(latlngs: L.LatLngLiteral[], featureGroup: L.FeatureGroup): void;
144
149
  addEdgeClickListeners(polygon: L.Polygon, featureGroup: L.FeatureGroup): void;
145
- enablePolygonDragging(polygon: any, latlngs: Feature<Polygon | MultiPolygon>): void;
146
- getMarkerIndex(latlngs: L.LatLngLiteral[], position: any): number;
147
- ensureMarkerSeparation(polygonLength: number, markers: any): any;
150
+ enablePolygonDragging(polygon: PolydrawPolygon, latlngs: Feature<Polygon | MultiPolygon>): void;
151
+ getMarkerIndex(latlngs: L.LatLngLiteral[], position: L.LatLngLiteral): number;
152
+ ensureMarkerSeparation(polygonLength: number, markers: {
153
+ menu?: {
154
+ index?: number;
155
+ };
156
+ delete?: {
157
+ index?: number;
158
+ };
159
+ info?: {
160
+ index?: number;
161
+ };
162
+ }): {
163
+ menu: number;
164
+ delete: number;
165
+ info: number;
166
+ };
148
167
  findAlternativeMarkerPosition(polygonLength: number, originalIndex: number, usedIndices: Set<number>): number;
149
168
  createDivIcon(processedClasses: string[]): L.DivIcon;
150
169
  getLatLngInfoString(latlng: L.LatLngLiteral): string;
@@ -158,8 +177,8 @@ export declare class PolygonMutationManager {
158
177
  removeFeatureGroup(featureGroup: L.FeatureGroup): void;
159
178
  onPolygonMouseMove(e: L.LeafletMouseEvent): void;
160
179
  onPolygonMouseUp(e: L.LeafletMouseEvent): void;
161
- updatePolygonAfterDrag(polygon: any): void;
162
- setSubtractVisualMode(polygon: any, enabled: boolean): void;
163
- performModifierSubtract(draggedGeoJSON: any, originalFeatureGroup: L.FeatureGroup): void;
180
+ updatePolygonAfterDrag(polygon: L.Polygon): void;
181
+ setSubtractVisualMode(polygon: L.Polygon, enabled: boolean): void;
182
+ performModifierSubtract(draggedGeoJSON: Feature<Polygon | MultiPolygon>, originalFeatureGroup: L.FeatureGroup): void;
164
183
  }
165
184
  //# sourceMappingURL=polygon-mutation-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-mutation-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-mutation-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polygon-mutation-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-mutation-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-state.d.ts","sourceRoot":"","sources":["../../src/map-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,YAAY,CAAgC;;IAMpD,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,IAAI;IAKlD,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI;IAKhC;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,IAAI;CAGtD"}
1
+ {"version":3,"file":"map-state.d.ts","sourceRoot":"","sources":["../../src/map-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,YAAY,CAAgC;;IAMpD,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,IAAI;IAKlD,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI;IAKhC;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,IAAI;CAItD"}
@@ -27,38 +27,184 @@ declare class Polydraw extends L.Control {
27
27
  config?: PolydrawConfig;
28
28
  configPath?: string;
29
29
  });
30
- private loadExternalConfig;
31
- private initializeComponents;
30
+ /**
31
+ * Method called when the control is added to the map.
32
+ * It initializes the control, creates the UI, and sets up event listeners.
33
+ * @param _map - The map instance.
34
+ * @returns The control's container element.
35
+ */
32
36
  onAdd(_map: L.Map): HTMLElement;
37
+ /**
38
+ * Method called when the control is removed from the map.
39
+ * It handles the cleanup of layers, events, and handlers.
40
+ * @param _map - The map instance, unused but required by the L.Control interface.
41
+ */
42
+ onRemove(_map: L.Map): void;
43
+ /**
44
+ * Adds the control to the given map.
45
+ * @param map - The map instance.
46
+ * @returns The current instance of the control.
47
+ */
33
48
  addTo(map: L.Map): this;
49
+ /**
50
+ * Returns the array of feature groups currently managed by the control.
51
+ * @returns An array of L.FeatureGroup objects.
52
+ */
34
53
  getFeatureGroups(): L.FeatureGroup[];
35
- onRemove(_map: L.Map): void;
54
+ /**
55
+ * Adds a predefined polygon to the map.
56
+ * @param geographicBorders - An array of LatLng arrays representing the polygon's coordinates.
57
+ * @param options - Optional parameters, including visual optimization level.
58
+ */
36
59
  addPredefinedPolygon(geographicBorders: L.LatLng[][][], options?: {
37
60
  visualOptimizationLevel?: number;
38
61
  }): Promise<void>;
62
+ /**
63
+ * Sets the current drawing mode.
64
+ * @param mode - The drawing mode to set.
65
+ */
39
66
  setDrawMode(mode: DrawMode): void;
67
+ /**
68
+ * Returns the current drawing mode.
69
+ * @returns The current DrawMode.
70
+ */
40
71
  getDrawMode(): DrawMode;
72
+ /**
73
+ * Registers an event listener for a given event type.
74
+ * @param event - The event type to listen for.
75
+ * @param callback - The callback function to execute when the event is triggered.
76
+ */
41
77
  on(event: any, callback: any): void;
78
+ /**
79
+ * Unregisters an event listener for a given event type.
80
+ * @param event - The event type to stop listening for.
81
+ * @param callback - The callback function to remove.
82
+ */
42
83
  off(event: any, callback: any): void;
84
+ /**
85
+ * Removes all feature groups from the map and clears the internal storage.
86
+ */
87
+ removeAllFeatureGroups(): void;
88
+ /**
89
+ * Initializes the user interface, creates DOM elements, sets up buttons, and injects styles.
90
+ * @param container - The main control container element.
91
+ */
92
+ private initializeUI;
93
+ /**
94
+ * Attaches listeners to polygonMutationManager and eventManager.
95
+ */
96
+ private setupEventListeners;
97
+ /**
98
+ * Initializes and adds the tracer polyline to the map.
99
+ */
100
+ private createTracer;
101
+ /**
102
+ * Sets up PolygonDrawManager and PolygonMutationManager with the map.
103
+ */
104
+ private initializeManagers;
105
+ /**
106
+ * Loads an external configuration file and merges it with the default and inline configs.
107
+ * @param configPath - The path to the external configuration file.
108
+ * @param inlineConfig - An optional inline configuration object.
109
+ */
110
+ private loadExternalConfig;
111
+ /**
112
+ * Initializes the core components of the Polydraw control.
113
+ */
114
+ /**
115
+ * Updates the state of the drawing mode.
116
+ * @param mode - The new drawing mode.
117
+ */
118
+ private _updateDrawModeState;
119
+ /**
120
+ * Updates the UI after a change in the drawing mode.
121
+ * @param mode - The new drawing mode.
122
+ */
123
+ private _updateUIAfterDrawModeChange;
124
+ /**
125
+ * Updates map interactions based on the current drawing mode.
126
+ */
127
+ private _handleActivateToggle;
128
+ private _handleDrawClick;
129
+ private _handleSubtractClick;
130
+ private _handleEraseClick;
131
+ private _handlePointToPointClick;
132
+ private _updateMapInteractions;
133
+ private initializeComponents;
134
+ /**
135
+ * Emits an event to notify listeners that the drawing mode has changed.
136
+ */
43
137
  private emitDrawModeChanged;
44
138
  /**
45
139
  * Update the draggable state of all existing markers when draw mode changes
46
140
  */
47
141
  private updateMarkerDraggableState;
48
- removeAllFeatureGroups(): void;
142
+ /**
143
+ * Stops the current drawing operation and resets the tracer.
144
+ */
49
145
  private stopDraw;
146
+ /**
147
+ * Enables or disables Leaflet's default map interactions.
148
+ * @param enableDragging - Whether to enable map dragging.
149
+ * @param enableDoubleClickZoom - Whether to enable double-click zoom.
150
+ * @param enableScrollWheelZoom - Whether to enable scroll wheel zoom.
151
+ */
50
152
  private setLeafletMapEvents;
153
+ /**
154
+ * Resets the tracer polyline by clearing its LatLngs.
155
+ */
51
156
  private resetTracker;
157
+ /**
158
+ * Attaches or detaches the mouse move and mouse up event listeners for drawing.
159
+ * @param onoff - A boolean indicating whether to attach or detach the events.
160
+ */
52
161
  private drawStartedEvents;
53
- private mouseMove;
54
- private handleFreehandDrawCompletion;
55
- private mouseUpLeave;
162
+ /**
163
+ * Attaches or detaches the main drawing event listeners.
164
+ * @param onoff - A boolean indicating whether to attach or detach the events.
165
+ */
56
166
  private events;
167
+ /**
168
+ * Handles the mouse down event to start a drawing operation.
169
+ * @param event - The mouse or touch event.
170
+ */
57
171
  private mouseDown;
172
+ /**
173
+ * Handles the mouse move event to draw the tracer polyline.
174
+ * @param event - The mouse or touch event.
175
+ */
176
+ private mouseMove;
177
+ /**
178
+ * Handles the mouse up event to complete a drawing operation.
179
+ * @param event - The mouse or touch event.
180
+ */
181
+ private mouseUpLeave;
182
+ /**
183
+ * Handles the completion of a freehand drawing operation.
184
+ * @param geoPos - The GeoJSON feature representing the drawn polygon.
185
+ */
186
+ private handleFreehandDrawCompletion;
187
+ /**
188
+ * Starts a drawing operation by attaching the necessary event listeners.
189
+ */
58
190
  private startDraw;
191
+ /**
192
+ * Sets up the keyboard event handlers for the document.
193
+ */
59
194
  private setupKeyboardHandlers;
195
+ /**
196
+ * Removes the keyboard event handlers from the document.
197
+ */
60
198
  private removeKeyboardHandlers;
199
+ /**
200
+ * Handles the key down event for keyboard shortcuts.
201
+ * @param e - The keyboard event.
202
+ */
61
203
  private handleKeyDown;
204
+ /**
205
+ * Handles the key up event for keyboard shortcuts.
206
+ * @param e - The keyboard event.
207
+ */
62
208
  private handleKeyUp;
63
209
  /**
64
210
  * Update all markers to show/hide edge deletion visual feedback
@@ -76,11 +222,18 @@ declare class Polydraw extends L.Control {
76
222
  * Handle marker leave when modifier key is held - event handler version
77
223
  */
78
224
  private onMarkerLeaveForEdgeDeletionEvent;
225
+ /**
226
+ * Handles the double-click event for point-to-point drawing.
227
+ * @param e - The mouse event.
228
+ */
79
229
  private handleDoubleClick;
80
230
  /**
81
231
  * Detect if modifier key is pressed (Ctrl on Windows/Linux, Cmd on Mac)
82
232
  */
83
233
  private isModifierKeyPressed;
234
+ /**
235
+ * Updates the visual indicator on the activate button to show if there are active polygons.
236
+ */
84
237
  private updateActivateButtonIndicator;
85
238
  }
86
239
  export default Polydraw;
@@ -1 +1 @@
1
- {"version":3,"file":"polydraw.d.ts","sourceRoot":"","sources":["../../src/polydraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polydraw.d.ts","sourceRoot":"","sources":["../../src/polydraw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PolydrawConfig } from '../types/polydraw-interfaces';
2
+ export declare function injectDynamicStyles(config: PolydrawConfig): void;
3
+ //# sourceMappingURL=dynamic-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-styles.d.ts","sourceRoot":"","sources":["../../../src/styles/dynamic-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAchE"}
@@ -1,5 +1,5 @@
1
1
  import * as turf from '@turf/turf';
2
- import type { Feature, Polygon, MultiPolygon, Position } from 'geojson';
2
+ import type { Feature, Polygon, MultiPolygon, Position, Point } from 'geojson';
3
3
  import * as L from 'leaflet';
4
4
  export declare class TurfHelper {
5
5
  private config;
@@ -47,15 +47,26 @@ export declare class TurfHelper {
47
47
  * Check if one polygon is completely within another polygon
48
48
  */
49
49
  isPolygonCompletelyWithin(innerPolygon: Feature<Polygon | MultiPolygon>, outerPolygon: Feature<Polygon | MultiPolygon>): boolean;
50
+ /**
51
+ * Normalize various point-like inputs into a GeoJSON Feature<Point>.
52
+ * Supports GeoJSON Feature<Point>, Turf Position [lng, lat], and Leaflet LatLngLiteral.
53
+ */
54
+ private toPointFeature;
55
+ /**
56
+ * Check if a point lies within a polygon.
57
+ * Accepts Feature<Point>, Turf Position [lng, lat], or Leaflet LatLngLiteral.
58
+ * This normalization prevents noisy console warnings in tests.
59
+ */
60
+ isPointInsidePolygon(point: Feature<Point> | Position | L.LatLngLiteral, polygon: Feature<Polygon | MultiPolygon>): boolean;
50
61
  /**
51
62
  * Checks if two polygons are equal.
52
63
  * @param polygon1 First polygon.
53
64
  * @param polygon2 Second polygon.
54
65
  */
55
- equalPolygons(polygon1: Feature<Polygon | MultiPolygon>, polygon2: Feature<Polygon | MultiPolygon>): void;
66
+ equalPolygons(polygon1: Feature<Polygon | MultiPolygon>, polygon2: Feature<Polygon | MultiPolygon>): boolean;
56
67
  convertToBoundingBoxPolygon(polygon: Feature<Polygon | MultiPolygon>): Feature<Polygon>;
57
68
  polygonToMultiPolygon(poly: Feature<Polygon>): Feature<MultiPolygon>;
58
- injectPointToPolygon(polygon: any, point: any): any;
69
+ injectPointToPolygon(polygon: Feature<Polygon | MultiPolygon>, point: Position, ringIndex: number): Feature<Polygon | MultiPolygon>;
59
70
  private distanceToLineSegment;
60
71
  polygonDifference(polygon1: Feature<Polygon | MultiPolygon>, polygon2: Feature<Polygon | MultiPolygon>): Feature<Polygon | MultiPolygon>;
61
72
  getBoundingBoxCompassPosition(polygon: any, MarkerPosition: any, useOffset: any, offsetDirection: any): any;
@@ -75,7 +86,7 @@ export declare class TurfHelper {
75
86
  getFeaturePointCollection(points: L.LatLngLiteral[]): any;
76
87
  getPolygonArea(poly: Feature<Polygon | MultiPolygon>): number;
77
88
  getPolygonPerimeter(poly: Feature<Polygon | MultiPolygon>): number;
78
- getCenterOfMass(feature: Feature<Polygon | MultiPolygon>): Feature<import("geojson").Point, {
89
+ getCenterOfMass(feature: Feature<Polygon | MultiPolygon>): Feature<Point, {
79
90
  [name: string]: any;
80
91
  }>;
81
92
  getDoubleElbowLatLngs(points: L.LatLngLiteral[]): L.LatLngLiteral[];