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.
- package/README.md +14 -1
- package/dist/icons/icon-bbox.svg +0 -3
- package/dist/icons/icon-bezier.svg +19 -131
- package/dist/icons/icon-clone.svg +5 -0
- package/dist/icons/icon-collapse.svg +4 -78
- package/dist/icons/icon-draw.svg +5 -54
- package/dist/icons/icon-erase.svg +7 -14
- package/dist/icons/icon-p2p-draw.svg +9 -112
- package/dist/icons/icon-p2p-subtract.svg +8 -107
- package/dist/icons/icon-polydraw2.svg +6 -59
- package/dist/icons/icon-redo.svg +10 -0
- package/dist/icons/icon-rotate.svg +7 -3
- package/dist/icons/icon-simplify2.svg +0 -3
- package/dist/icons/icon-undo.svg +10 -0
- package/dist/icons/icon-visual-optimization-hide.svg +17 -0
- package/dist/icons/icon-visual-optimization-show.svg +11 -0
- package/dist/leaflet-polydraw.css +1 -1
- package/dist/polydraw.es.js +3621 -1169
- package/dist/polydraw.es.js.map +1 -1
- package/dist/polydraw.umd.min.js +1 -1
- package/dist/polydraw.umd.min.js.map +1 -1
- package/dist/styles/polydraw.css +42 -18
- package/dist/types/buttons.d.ts +3 -1
- package/dist/types/buttons.d.ts.map +1 -1
- package/dist/types/compatibility/event-adapter.d.ts +28 -3
- package/dist/types/compatibility/event-adapter.d.ts.map +1 -1
- package/dist/types/compatibility/leaflet-adapter.d.ts +19 -15
- package/dist/types/compatibility/leaflet-adapter.d.ts.map +1 -1
- package/dist/types/compatibility/version-detector.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/coordinate-utils.d.ts.map +1 -1
- package/dist/types/enums.d.ts +2 -1
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/geojson-helpers.d.ts +8 -15
- package/dist/types/geojson-helpers.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/managers/event-manager.d.ts +14 -0
- package/dist/types/managers/event-manager.d.ts.map +1 -1
- package/dist/types/managers/history-manager.d.ts +91 -0
- package/dist/types/managers/history-manager.d.ts.map +1 -0
- package/dist/types/managers/mode-manager.d.ts +4 -0
- package/dist/types/managers/mode-manager.d.ts.map +1 -1
- package/dist/types/managers/polygon-draw-manager.d.ts +10 -1
- package/dist/types/managers/polygon-draw-manager.d.ts.map +1 -1
- package/dist/types/managers/polygon-geometry-manager.d.ts +1 -0
- package/dist/types/managers/polygon-geometry-manager.d.ts.map +1 -1
- package/dist/types/managers/polygon-interaction-manager.d.ts +52 -2
- package/dist/types/managers/polygon-interaction-manager.d.ts.map +1 -1
- package/dist/types/managers/polygon-mutation-manager.d.ts +18 -3
- package/dist/types/managers/polygon-mutation-manager.d.ts.map +1 -1
- package/dist/types/polydraw.d.ts +72 -11
- package/dist/types/polydraw.d.ts.map +1 -1
- package/dist/types/popup-factory.d.ts +1 -4
- package/dist/types/popup-factory.d.ts.map +1 -1
- package/dist/types/styles/dynamic-styles.d.ts.map +1 -1
- package/dist/types/transform/polygon-transform-controller.d.ts +2 -1
- package/dist/types/transform/polygon-transform-controller.d.ts.map +1 -1
- package/dist/types/transform/transform-overlay.d.ts.map +1 -1
- package/dist/types/transform/transform-types.d.ts +4 -3
- package/dist/types/transform/transform-types.d.ts.map +1 -1
- package/dist/types/turf-helper.d.ts +38 -7
- package/dist/types/turf-helper.d.ts.map +1 -1
- package/dist/types/types/polydraw-interfaces.d.ts +75 -23
- package/dist/types/types/polydraw-interfaces.d.ts.map +1 -1
- package/dist/types/utils/svg-icon.util.d.ts +8 -0
- package/dist/types/utils/svg-icon.util.d.ts.map +1 -0
- package/package.json +20 -15
- /package/{LICENCE → LICENSE} +0 -0
package/dist/styles/polydraw.css
CHANGED
|
@@ -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;
|
package/dist/types/buttons.d.ts
CHANGED
|
@@ -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;
|
|
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:
|
|
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:
|
|
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:
|
|
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;
|
|
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:
|
|
73
|
-
off: (obj: HTMLElement, types: string, fn:
|
|
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:
|
|
86
|
-
bind: (fn:
|
|
87
|
-
stamp: (obj:
|
|
88
|
-
throttle: (fn:
|
|
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:
|
|
95
|
-
getParamString: (obj:
|
|
96
|
-
template: (str: string, data:
|
|
97
|
-
isArray: (obj:
|
|
98
|
-
indexOf: (array:
|
|
99
|
-
requestAnimFrame: (fn:
|
|
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":"AAAA;;;GAGG;
|
|
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;
|
|
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,
|
|
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;
|
|
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"}
|
package/dist/types/enums.d.ts
CHANGED
|
@@ -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;
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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;
|
|
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(
|
|
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;
|
|
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;
|
|
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"}
|