leaflet-polydraw 0.9.6 → 1.1.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 (64) hide show
  1. package/README.md +46 -1057
  2. package/dist/icons/icon-bbox.svg +10 -45
  3. package/dist/icons/icon-cancel.svg +7 -0
  4. package/dist/icons/icon-collapse.svg +79 -0
  5. package/dist/icons/icon-confirm.svg +20 -0
  6. package/dist/icons/icon-double-elbows.svg +11 -0
  7. package/dist/icons/icon-draw.svg +55 -1
  8. package/dist/icons/icon-erase.svg +14 -2
  9. package/dist/icons/icon-p2p-draw.svg +113 -0
  10. package/dist/icons/icon-p2p-subtract.svg +108 -0
  11. package/dist/icons/icon-polydraw2.svg +60 -0
  12. package/dist/icons/icon-resize.svg +7 -0
  13. package/dist/icons/icon-rotate.svg +3 -0
  14. package/dist/icons/icon-simplify2.svg +12 -44
  15. package/dist/leaflet-polydraw.css +1 -1
  16. package/dist/polydraw.es.js +2600 -455
  17. package/dist/polydraw.es.js.map +1 -1
  18. package/dist/polydraw.umd.min.js +1 -1
  19. package/dist/polydraw.umd.min.js.map +1 -1
  20. package/dist/styles/polydraw.css +38 -5
  21. package/dist/types/buttons.d.ts +1 -1
  22. package/dist/types/buttons.d.ts.map +1 -1
  23. package/dist/types/compatibility/event-adapter.d.ts +46 -0
  24. package/dist/types/compatibility/event-adapter.d.ts.map +1 -0
  25. package/dist/types/compatibility/leaflet-adapter.d.ts +154 -0
  26. package/dist/types/compatibility/leaflet-adapter.d.ts.map +1 -0
  27. package/dist/types/compatibility/version-detector.d.ts +44 -0
  28. package/dist/types/compatibility/version-detector.d.ts.map +1 -0
  29. package/dist/types/config.d.ts +3 -0
  30. package/dist/types/config.d.ts.map +1 -0
  31. package/dist/types/coordinate-utils.d.ts +10 -0
  32. package/dist/types/coordinate-utils.d.ts.map +1 -1
  33. package/dist/types/enums.d.ts +9 -1
  34. package/dist/types/enums.d.ts.map +1 -1
  35. package/dist/types/icon-factory.d.ts.map +1 -1
  36. package/dist/types/index.d.ts +1 -1
  37. package/dist/types/managers/mode-manager.d.ts.map +1 -1
  38. package/dist/types/managers/polygon-draw-manager.d.ts +8 -0
  39. package/dist/types/managers/polygon-draw-manager.d.ts.map +1 -1
  40. package/dist/types/managers/polygon-interaction-manager.d.ts +6 -0
  41. package/dist/types/managers/polygon-interaction-manager.d.ts.map +1 -1
  42. package/dist/types/managers/polygon-mutation-manager.d.ts.map +1 -1
  43. package/dist/types/polydraw.d.ts +38 -11
  44. package/dist/types/polydraw.d.ts.map +1 -1
  45. package/dist/types/polygon.util.d.ts +2 -0
  46. package/dist/types/polygon.util.d.ts.map +1 -1
  47. package/dist/types/popup-factory.d.ts +30 -0
  48. package/dist/types/popup-factory.d.ts.map +1 -0
  49. package/dist/types/transform/polygon-transform-controller.d.ts +32 -0
  50. package/dist/types/transform/polygon-transform-controller.d.ts.map +1 -0
  51. package/dist/types/transform/transform-overlay.d.ts +34 -0
  52. package/dist/types/transform/transform-overlay.d.ts.map +1 -0
  53. package/dist/types/transform/transform-types.d.ts +44 -0
  54. package/dist/types/transform/transform-types.d.ts.map +1 -0
  55. package/dist/types/transform/transform-utils.d.ts +26 -0
  56. package/dist/types/transform/transform-utils.d.ts.map +1 -0
  57. package/dist/types/types/polydraw-interfaces.d.ts +121 -34
  58. package/dist/types/types/polydraw-interfaces.d.ts.map +1 -1
  59. package/dist/types/utils/config-merge.util.d.ts +2 -0
  60. package/dist/types/utils/config-merge.util.d.ts.map +1 -0
  61. package/dist/types/utils.d.ts +1 -1
  62. package/dist/types/utils.d.ts.map +1 -1
  63. package/package.json +29 -15
  64. package/dist/icons/icon-add-elbow.svg +0 -128
@@ -138,7 +138,13 @@ body {
138
138
 
139
139
  .marker-menu-content {
140
140
  display: flex;
141
- justify-content: space-between;
141
+ flex-direction: row;
142
+ flex-wrap: wrap;
143
+ align-items: center;
144
+ justify-content: center;
145
+ gap: 0;
146
+ /* Max width for 3 buttons per row: 38px (button) * 3 + 5px (separator) * 2 = 124px, add some padding */
147
+ max-width: 132px;
142
148
  }
143
149
 
144
150
  .marker-menu-button {
@@ -185,13 +191,12 @@ body {
185
191
  overflow: hidden;
186
192
  background-color: #80be50;
187
193
  border-radius: 12px;
188
- padding-right: 16px;
189
194
  box-shadow: 3px 4px 20px #00000080;
190
195
  }
191
196
 
192
197
  .alter-marker-wrapper,
193
198
  .info-marker-wrapper {
194
- height: 40px;
199
+ min-height: 40px;
195
200
  border: 2px solid transparent;
196
201
  background-color: #80be50;
197
202
  color: #fff;
@@ -201,9 +206,11 @@ body {
201
206
  text-align: center;
202
207
  }
203
208
  .content {
204
- width: 100%;
209
+ width: auto;
205
210
  min-height: 40px;
206
211
  margin-right: 12px;
212
+ display: flex;
213
+ align-items: center;
207
214
  }
208
215
  .marker-menu-content {
209
216
  .marker-menu-button {
@@ -222,7 +229,7 @@ body {
222
229
  background-image: url('../icons/icon-simplify2.svg');
223
230
  }
224
231
  &.double-elbows {
225
- background-image: url('../icons/icon-add-elbow.svg');
232
+ background-image: url('../icons/icon-double-elbows.svg');
226
233
  }
227
234
  &.bbox {
228
235
  background-image: url('../icons/icon-bbox.svg');
@@ -232,9 +239,27 @@ body {
232
239
  position: relative;
233
240
  overflow: hidden;
234
241
  }
242
+ &.transform-scale {
243
+ background-image: url('../icons/icon-resize.svg');
244
+ }
245
+ &.transform-rotate {
246
+ background-image: url('../icons/icon-rotate.svg');
247
+ }
235
248
  }
236
249
  }
237
250
 
251
+ .polydraw-transform-cancel,
252
+ .polydraw-transform-confirm {
253
+ width: 24px;
254
+ height: 24px;
255
+ border-radius: 3px;
256
+ pointer-events: auto;
257
+ cursor: pointer;
258
+ display: flex;
259
+ align-items: center;
260
+ justify-content: center;
261
+ }
262
+
238
263
  /* Alpha banner for bezier button */
239
264
  .alpha-banner {
240
265
  position: absolute;
@@ -376,6 +401,14 @@ body {
376
401
  transition: all 0.2s ease;
377
402
  }
378
403
 
404
+ .menu-popup {
405
+ margin-bottom: -60px;
406
+ }
407
+
408
+ .info-popup {
409
+ margin-bottom: -18px;
410
+ }
411
+
379
412
  .menu-popup .leaflet-popup-tip-container,
380
413
  .info-popup .leaflet-popup-tip-container {
381
414
  display: none;
@@ -10,5 +10,5 @@ import { PolydrawConfig } from './types/polydraw-interfaces';
10
10
  * @param onStartClick Callback for start button.
11
11
  * @param onHoleClick Callback for hole button.
12
12
  */
13
- export declare function createButtons(container: HTMLElement, subContainer: HTMLElement, config: PolydrawConfig, onActivateToggle: () => void, onDrawClick: () => void, onSubtractClick: () => void, onEraseClick: () => void, onPointToPointClick: () => void): void;
13
+ export declare function createButtons(container: HTMLElement, subContainer: HTMLElement, config: PolydrawConfig, onActivateToggle: () => void, onDrawClick: () => void, onSubtractClick: () => void, onEraseClick: () => void, onPointToPointClick: () => void, onPointToPointSubtractClick: () => void): void;
14
14
  //# 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;AAG7D;;;;;;;;;;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,QAuFhC"}
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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Event Compatibility Adapter
3
+ * Handles differences in event systems between Leaflet v1.x and v2.x
4
+ */
5
+ export declare class EventAdapter {
6
+ /**
7
+ * Normalizes events to handle differences between v1 and v2
8
+ * @param event - The event to normalize
9
+ * @returns The normalized event
10
+ */
11
+ static normalizeEvent(event: any): any;
12
+ /**
13
+ * Gets the appropriate event name for the current Leaflet version
14
+ * @param eventName - The base event name
15
+ * @returns The version-appropriate event name
16
+ */
17
+ static getEventName(eventName: string): string;
18
+ /**
19
+ * Checks if pointer events are supported/preferred
20
+ * @returns true if pointer events should be used
21
+ */
22
+ static shouldUsePointerEvents(): boolean;
23
+ /**
24
+ * Extracts coordinates from various event types (mouse, touch, pointer)
25
+ * @param event - The event to extract coordinates from
26
+ * @param map - The map instance for coordinate conversion
27
+ * @returns The LatLng coordinates or null if not available
28
+ */
29
+ static extractCoordinates(event: any, map: any): any;
30
+ /**
31
+ * Checks if an event should be prevented from default behavior
32
+ * @param event - The event to check
33
+ * @returns true if preventDefault should be called
34
+ */
35
+ static shouldPreventDefault(event: any): boolean;
36
+ /**
37
+ * Gets the appropriate event listener names for the current version
38
+ * @returns Object with event names for different actions
39
+ */
40
+ static getEventNames(): {
41
+ start: string[];
42
+ move: string[];
43
+ end: string[];
44
+ };
45
+ }
46
+ //# sourceMappingURL=event-adapter.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Leaflet Compatibility Adapter
3
+ * Provides a unified interface for both Leaflet v1.x and v2.x
4
+ */
5
+ import { LeafletVersion } from '../enums';
6
+ export declare class LeafletAdapter {
7
+ private version;
8
+ constructor();
9
+ /**
10
+ * Creates a tile layer compatible with both Leaflet versions
11
+ */
12
+ createTileLayer(urlTemplate: string, options?: L.TileLayerOptions): L.TileLayer;
13
+ /**
14
+ * Creates a map compatible with both Leaflet versions
15
+ */
16
+ createMap(element: string | HTMLElement, options?: L.MapOptions): L.Map;
17
+ /**
18
+ * Creates a marker compatible with both Leaflet versions
19
+ */
20
+ createMarker(latlng: L.LatLng, options?: L.MarkerOptions): L.Marker;
21
+ /**
22
+ * Creates a polyline compatible with both Leaflet versions
23
+ */
24
+ createPolyline(latlngs: L.LatLng[], options?: L.PolylineOptions): L.Polyline;
25
+ /**
26
+ * Creates a polygon compatible with both Leaflet versions
27
+ */
28
+ createPolygon(latlngs: L.LatLng[] | L.LatLng[][], options?: L.PolylineOptions): L.Polygon;
29
+ /**
30
+ * Creates a div icon compatible with both Leaflet versions
31
+ */
32
+ createDivIcon(options?: L.DivIconOptions): L.DivIcon;
33
+ /**
34
+ * Creates a LatLng object compatible with both Leaflet versions
35
+ */
36
+ createLatLng(lat: number, lng: number, alt?: number): L.LatLng;
37
+ /**
38
+ * Creates a LatLngBounds object compatible with both Leaflet versions
39
+ */
40
+ createLatLngBounds(corner1?: L.LatLngExpression, corner2?: L.LatLngExpression): L.LatLngBounds;
41
+ /**
42
+ * Creates a Point object compatible with both Leaflet versions
43
+ */
44
+ createPoint(x: number, y: number, round?: boolean): L.Point;
45
+ /**
46
+ * Creates a popup compatible with both Leaflet versions
47
+ */
48
+ createPopup(options?: L.PopupOptions, source?: L.Layer): L.Popup;
49
+ /**
50
+ * Creates a feature group compatible with both Leaflet versions
51
+ */
52
+ createFeatureGroup(layers?: L.Layer[]): L.FeatureGroup;
53
+ /**
54
+ * Creates a layer group compatible with both Leaflet versions
55
+ */
56
+ createLayerGroup(layers?: L.Layer[]): L.LayerGroup;
57
+ /**
58
+ * DOM utility methods compatibility
59
+ */
60
+ domUtil: {
61
+ create: (tagName: string, className?: string, container?: HTMLElement) => HTMLElement;
62
+ addClass: (el: HTMLElement, name: string) => void;
63
+ removeClass: (el: HTMLElement, name: string) => void;
64
+ hasClass: (el: HTMLElement, name: string) => boolean;
65
+ setPosition: (el: HTMLElement, point: L.Point) => void;
66
+ getPosition: (el: HTMLElement) => L.Point;
67
+ };
68
+ /**
69
+ * DOM event methods compatibility
70
+ */
71
+ 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;
74
+ stopPropagation: (e: Event) => typeof this;
75
+ preventDefault: (e: Event) => typeof this;
76
+ stop: (e: Event) => typeof this;
77
+ disableClickPropagation: (el: HTMLElement) => typeof this;
78
+ disableScrollPropagation: (el: HTMLElement) => typeof this;
79
+ getMousePosition: (e: MouseEvent, container?: HTMLElement) => L.Point;
80
+ };
81
+ /**
82
+ * Utility methods compatibility
83
+ */
84
+ 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);
89
+ wrapNum: (x: number, range: number[], includeMax?: boolean) => number;
90
+ falseFn: () => boolean;
91
+ formatNum: (num: number, digits?: number) => number;
92
+ trim: (str: string) => string;
93
+ 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;
100
+ cancelAnimFrame: (id: number) => void;
101
+ };
102
+ /**
103
+ * Browser detection compatibility
104
+ */
105
+ getBrowser(): {
106
+ readonly ie: boolean;
107
+ readonly ielt9: boolean;
108
+ readonly edge: boolean;
109
+ readonly webkit: boolean;
110
+ readonly android: boolean;
111
+ readonly android23: boolean;
112
+ readonly androidStock: boolean;
113
+ readonly opera: boolean;
114
+ readonly chrome: boolean;
115
+ readonly gecko: boolean;
116
+ readonly safari: boolean;
117
+ readonly phantom: boolean;
118
+ readonly opera12: boolean;
119
+ readonly win: boolean;
120
+ readonly ie3d: boolean;
121
+ readonly webkit3d: boolean;
122
+ readonly gecko3d: boolean;
123
+ readonly any3d: boolean;
124
+ readonly mobile: boolean;
125
+ readonly mobileWebkit: boolean;
126
+ readonly mobileWebkit3d: boolean;
127
+ readonly msPointer: boolean;
128
+ readonly pointer: boolean;
129
+ readonly touch: boolean;
130
+ readonly touchNative: boolean;
131
+ readonly mobileOpera: boolean;
132
+ readonly mobileGecko: boolean;
133
+ readonly retina: boolean;
134
+ readonly passiveEvents: boolean;
135
+ readonly canvas: boolean;
136
+ readonly svg: boolean;
137
+ readonly vml: boolean;
138
+ readonly inlineSvg: boolean;
139
+ };
140
+ /**
141
+ * Gets the current Leaflet version being used
142
+ */
143
+ getVersion(): LeafletVersion;
144
+ /**
145
+ * Checks if we're running Leaflet v1.x
146
+ */
147
+ isV1(): boolean;
148
+ /**
149
+ * Checks if we're running Leaflet v2.x
150
+ */
151
+ isV2(): boolean;
152
+ }
153
+ export declare const leafletAdapter: LeafletAdapter;
154
+ //# sourceMappingURL=leaflet-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leaflet-adapter.d.ts","sourceRoot":"","sources":["../../../src/compatibility/leaflet-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Leaflet Version Detection Utility
3
+ * Detects whether we're running with Leaflet v1.x or v2.x
4
+ */
5
+ import { LeafletVersion } from '../enums';
6
+ export declare class LeafletVersionDetector {
7
+ private static _detectedVersion;
8
+ /**
9
+ * Detects the Leaflet version being used
10
+ * @returns The detected Leaflet version
11
+ */
12
+ static getVersion(): LeafletVersion;
13
+ /**
14
+ * Performs the actual version detection
15
+ * @returns The detected Leaflet version
16
+ */
17
+ private static detectVersion;
18
+ /**
19
+ * Checks if we're running Leaflet v1.x
20
+ * @returns true if running v1.x
21
+ */
22
+ static isV1(): boolean;
23
+ /**
24
+ * Checks if we're running Leaflet v2.x
25
+ * @returns true if running v2.x
26
+ */
27
+ static isV2(): boolean;
28
+ /**
29
+ * Resets the cached version detection (useful for testing)
30
+ */
31
+ static reset(): void;
32
+ /**
33
+ * Gets detailed version information for debugging
34
+ * @returns Object with version details
35
+ */
36
+ static getVersionInfo(): {
37
+ version: LeafletVersion;
38
+ leafletVersion?: string;
39
+ hasFactoryMethods: boolean;
40
+ hasConstructors: boolean;
41
+ globalLAvailable: boolean;
42
+ };
43
+ }
44
+ //# sourceMappingURL=version-detector.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ import { PolydrawConfig } from './types/polydraw-interfaces';
2
+ export declare const defaultConfig: PolydrawConfig;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +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"}
@@ -17,5 +17,15 @@ export declare class CoordinateUtils {
17
17
  * Get latitude/longitude information string
18
18
  */
19
19
  static getLatLngInfoString(latlng: L.LatLngLiteral): string;
20
+ /**
21
+ * Convert any coordinate format to L.LatLng
22
+ * Supports multiple input formats with smart auto-detection
23
+ */
24
+ static convertToLatLng(coordinate: unknown): L.LatLng;
25
+ /**
26
+ * Convert any coordinate array format to L.LatLng[][][]
27
+ * Used by addPredefinedPolygon for flexible input handling
28
+ */
29
+ static convertToLatLngArray(geoborders: unknown[][][]): L.LatLng[][][];
20
30
  }
21
31
  //# sourceMappingURL=coordinate-utils.d.ts.map
@@ -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;AAEhD,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;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;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,3 +1,10 @@
1
+ /**
2
+ * Enum for Leaflet version compatibility.
3
+ */
4
+ export declare enum LeafletVersion {
5
+ V1 = "1.x",
6
+ V2 = "2.x"
7
+ }
1
8
  /**
2
9
  * Enum for drawing modes in Polydraw.
3
10
  */
@@ -8,7 +15,8 @@ export declare enum DrawMode {
8
15
  Subtract = 4,
9
16
  AppendMarker = 8,
10
17
  LoadPredefined = 16,
11
- PointToPoint = 32
18
+ PointToPoint = 32,
19
+ PointToPointSubtract = 64
12
20
  }
13
21
  /**
14
22
  * Enum for marker positions.
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;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;CAClB;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;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 +1 @@
1
- {"version":3,"file":"icon-factory.d.ts","sourceRoot":"","sources":["../../src/icon-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO;CAItD"}
1
+ {"version":3,"file":"icon-factory.d.ts","sourceRoot":"","sources":["../../src/icon-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO;CAItD"}
@@ -1 +1 @@
1
- export { default } from "./polydraw";
1
+ export { default, leafletAdapter, defaultConfig } from "./polydraw";
@@ -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;IAwBxC;;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;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"}
@@ -56,6 +56,10 @@ export declare class PolygonDrawManager {
56
56
  * Handle double-click to complete point-to-point polygon
57
57
  */
58
58
  handleDoubleClick(e: L.LeafletMouseEvent): void;
59
+ /**
60
+ * Handle double-tap to complete point-to-point polygon (touch devices)
61
+ */
62
+ handleDoubleTap(_e: TouchEvent): void;
59
63
  /**
60
64
  * Complete point-to-point polygon drawing
61
65
  */
@@ -76,6 +80,10 @@ export declare class PolygonDrawManager {
76
80
  * Check if clicking on the first point to close polygon
77
81
  */
78
82
  private isClickingFirstPoint;
83
+ /**
84
+ * Check if the current device supports touch
85
+ */
86
+ private isTouchDevice;
79
87
  /**
80
88
  * Update the tracer polyline based on P2P markers
81
89
  */
@@ -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;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;IAiB/C;;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;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"}
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"}
@@ -37,6 +37,12 @@ export declare class PolygonInteractionManager {
37
37
  private currentModifierDragMode;
38
38
  private isModifierKeyHeld;
39
39
  private _openMenuPopup;
40
+ private transformModeActive;
41
+ private transformControllers;
42
+ /**
43
+ * Strongly typed helper to emit polygon updated events without casts.
44
+ */
45
+ private emitPolygonUpdated;
40
46
  private getFeatureGroups;
41
47
  private removeFeatureGroup;
42
48
  constructor(dependencies: PolygonInteractionManagerDependencies, featureGroupAccess: {
@@ -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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"}
@@ -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,7 +1,15 @@
1
1
  import * as L from 'leaflet';
2
2
  import { DrawMode } from './enums';
3
3
  import './styles/polydraw.css';
4
+ import { leafletAdapter } from './compatibility/leaflet-adapter';
4
5
  import type { PolydrawConfig } from './types/polydraw-interfaces';
6
+ type PolydrawOptions = L.ControlOptions & {
7
+ config?: Partial<PolydrawConfig>;
8
+ configPath?: string;
9
+ };
10
+ type PredefinedOptions = {
11
+ visualOptimizationLevel?: number;
12
+ };
5
13
  declare class Polydraw extends L.Control {
6
14
  private map;
7
15
  private tracer;
@@ -23,10 +31,12 @@ declare class Polydraw extends L.Control {
23
31
  private _boundTouchMove;
24
32
  private _boundTouchEnd;
25
33
  private _boundTouchStart;
26
- constructor(options?: L.ControlOptions & {
27
- config?: PolydrawConfig;
28
- configPath?: string;
29
- });
34
+ private _boundPointerDown;
35
+ private _boundPointerMove;
36
+ private _boundPointerUp;
37
+ private _lastTapTime;
38
+ private _tapTimeout;
39
+ constructor(options?: PolydrawOptions);
30
40
  /**
31
41
  * Method called when the control is added to the map.
32
42
  * It initializes the control, creates the UI, and sets up event listeners.
@@ -53,12 +63,16 @@ declare class Polydraw extends L.Control {
53
63
  getFeatureGroups(): L.FeatureGroup[];
54
64
  /**
55
65
  * Adds a predefined polygon to the map.
56
- * @param geographicBorders - An array of LatLng arrays representing the polygon's coordinates.
66
+ * @param geoborders - Flexible coordinate format: objects ({lat, lng}), arrays ([lat, lng] or [lng, lat]), strings ("lat,lng" or "N59 E10")
57
67
  * @param options - Optional parameters, including visual optimization level.
58
68
  */
59
- addPredefinedPolygon(geographicBorders: L.LatLng[][][], options?: {
60
- visualOptimizationLevel?: number;
61
- }): Promise<void>;
69
+ addPredefinedPolygon(geoborders: unknown[][][], options?: PredefinedOptions): Promise<void>;
70
+ /**
71
+ * Adds predefined polygons from GeoJSON to the map.
72
+ * @param geojsonFeatures - An array of GeoJSON Polygon or MultiPolygon features.
73
+ * @param options - Optional parameters, including visual optimization level.
74
+ */
75
+ addPredefinedGeoJSONs(geojsonFeatures: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon>[], options?: PredefinedOptions): Promise<void>;
62
76
  /**
63
77
  * Sets the current drawing mode.
64
78
  * @param mode - The drawing mode to set.
@@ -129,6 +143,7 @@ declare class Polydraw extends L.Control {
129
143
  private _handleSubtractClick;
130
144
  private _handleEraseClick;
131
145
  private _handlePointToPointClick;
146
+ private _handlePointToPointSubtractClick;
132
147
  private _updateMapInteractions;
133
148
  private initializeComponents;
134
149
  /**
@@ -164,19 +179,29 @@ declare class Polydraw extends L.Control {
164
179
  * @param onoff - A boolean indicating whether to attach or detach the events.
165
180
  */
166
181
  private events;
182
+ /**
183
+ * Handle touch start events with double-tap detection
184
+ * @param event - The touch event
185
+ */
186
+ private handleTouchStart;
187
+ /**
188
+ * Handle double-tap for touch devices
189
+ * @param event - The touch event
190
+ */
191
+ private handleDoubleTap;
167
192
  /**
168
193
  * Handles the mouse down event to start a drawing operation.
169
- * @param event - The mouse or touch event.
194
+ * @param event - The mouse, touch, or pointer event.
170
195
  */
171
196
  private mouseDown;
172
197
  /**
173
198
  * Handles the mouse move event to draw the tracer polyline.
174
- * @param event - The mouse or touch event.
199
+ * @param event - The mouse, touch, or pointer event.
175
200
  */
176
201
  private mouseMove;
177
202
  /**
178
203
  * Handles the mouse up event to complete a drawing operation.
179
- * @param event - The mouse or touch event.
204
+ * @param event - The mouse, touch, or pointer event.
180
205
  */
181
206
  private mouseUpLeave;
182
207
  /**
@@ -240,6 +265,8 @@ declare class Polydraw extends L.Control {
240
265
  * Updates the visual indicator on the activate button to show if there are active polygons.
241
266
  */
242
267
  private updateActivateButtonIndicator;
268
+ private applyActivateButtonIcon;
243
269
  }
244
270
  export default Polydraw;
271
+ export { leafletAdapter };
245
272
  //# sourceMappingURL=polydraw.d.ts.map