leaflet-polydraw 1.0.0 → 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 (53) hide show
  1. package/README.md +2 -0
  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 +1335 -234
  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/config.d.ts +3 -0
  24. package/dist/types/config.d.ts.map +1 -0
  25. package/dist/types/enums.d.ts +2 -1
  26. package/dist/types/enums.d.ts.map +1 -1
  27. package/dist/types/index.d.ts +1 -1
  28. package/dist/types/managers/mode-manager.d.ts.map +1 -1
  29. package/dist/types/managers/polygon-draw-manager.d.ts.map +1 -1
  30. package/dist/types/managers/polygon-interaction-manager.d.ts +6 -0
  31. package/dist/types/managers/polygon-interaction-manager.d.ts.map +1 -1
  32. package/dist/types/polydraw.d.ts +17 -7
  33. package/dist/types/polydraw.d.ts.map +1 -1
  34. package/dist/types/polygon.util.d.ts +2 -0
  35. package/dist/types/polygon.util.d.ts.map +1 -1
  36. package/dist/types/popup-factory.d.ts +30 -0
  37. package/dist/types/popup-factory.d.ts.map +1 -0
  38. package/dist/types/transform/polygon-transform-controller.d.ts +32 -0
  39. package/dist/types/transform/polygon-transform-controller.d.ts.map +1 -0
  40. package/dist/types/transform/transform-overlay.d.ts +34 -0
  41. package/dist/types/transform/transform-overlay.d.ts.map +1 -0
  42. package/dist/types/transform/transform-types.d.ts +44 -0
  43. package/dist/types/transform/transform-types.d.ts.map +1 -0
  44. package/dist/types/transform/transform-utils.d.ts +26 -0
  45. package/dist/types/transform/transform-utils.d.ts.map +1 -0
  46. package/dist/types/types/polydraw-interfaces.d.ts +121 -34
  47. package/dist/types/types/polydraw-interfaces.d.ts.map +1 -1
  48. package/dist/types/utils/config-merge.util.d.ts +2 -0
  49. package/dist/types/utils/config-merge.util.d.ts.map +1 -0
  50. package/dist/types/utils.d.ts +1 -1
  51. package/dist/types/utils.d.ts.map +1 -1
  52. package/package.json +7 -7
  53. 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,QAmGhC"}
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,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"}
@@ -15,7 +15,8 @@ export declare enum DrawMode {
15
15
  Subtract = 4,
16
16
  AppendMarker = 8,
17
17
  LoadPredefined = 16,
18
- PointToPoint = 32
18
+ PointToPoint = 32,
19
+ PointToPointSubtract = 64
19
20
  }
20
21
  /**
21
22
  * Enum for marker positions.
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,cAAc;IACxB,EAAE,QAAQ;IACV,EAAE,QAAQ;CACX;AAED;;GAEG;AAEH,oBAAY,QAAQ;IAClB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,YAAY,IAAI;IAChB,cAAc,KAAK;IACnB,YAAY,KAAK;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
- export { default, leafletAdapter } 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"}
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-draw-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/polygon-draw-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,sBAAsB,CAA+C;gBAEjE,YAAY,EAAE,8BAA8B;IAUxD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,GAAG,UAAU,GAAG,IAAI;IAcxD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAyDhF;;OAEG;IACH;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAI5C;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI;IAsIpD;;OAEG;IACH,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,GAAG,IAAI;IAiB/C;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAYrC;;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;IA+C5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;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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"}
@@ -3,6 +3,13 @@ import { DrawMode } from './enums';
3
3
  import './styles/polydraw.css';
4
4
  import { leafletAdapter } from './compatibility/leaflet-adapter';
5
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
+ };
6
13
  declare class Polydraw extends L.Control {
7
14
  private map;
8
15
  private tracer;
@@ -29,10 +36,7 @@ declare class Polydraw extends L.Control {
29
36
  private _boundPointerUp;
30
37
  private _lastTapTime;
31
38
  private _tapTimeout;
32
- constructor(options?: L.ControlOptions & {
33
- config?: PolydrawConfig;
34
- configPath?: string;
35
- });
39
+ constructor(options?: PolydrawOptions);
36
40
  /**
37
41
  * Method called when the control is added to the map.
38
42
  * It initializes the control, creates the UI, and sets up event listeners.
@@ -62,9 +66,13 @@ declare class Polydraw extends L.Control {
62
66
  * @param geoborders - Flexible coordinate format: objects ({lat, lng}), arrays ([lat, lng] or [lng, lat]), strings ("lat,lng" or "N59 E10")
63
67
  * @param options - Optional parameters, including visual optimization level.
64
68
  */
65
- addPredefinedPolygon(geoborders: unknown[][][], options?: {
66
- visualOptimizationLevel?: number;
67
- }): 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>;
68
76
  /**
69
77
  * Sets the current drawing mode.
70
78
  * @param mode - The drawing mode to set.
@@ -135,6 +143,7 @@ declare class Polydraw extends L.Control {
135
143
  private _handleSubtractClick;
136
144
  private _handleEraseClick;
137
145
  private _handlePointToPointClick;
146
+ private _handlePointToPointSubtractClick;
138
147
  private _updateMapInteractions;
139
148
  private initializeComponents;
140
149
  /**
@@ -256,6 +265,7 @@ declare class Polydraw extends L.Control {
256
265
  * Updates the visual indicator on the activate button to show if there are active polygons.
257
266
  */
258
267
  private updateActivateButtonIndicator;
268
+ private applyActivateButtonIcon;
259
269
  }
260
270
  export default Polydraw;
261
271
  export { leafletAdapter };
@@ -1 +1 @@
1
- {"version":3,"file":"polydraw.d.ts","sourceRoot":"","sources":["../../src/polydraw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUnC,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAKjE,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,6BAA6B,CAAC;AAczF,cAAM,QAAS,SAAQ,CAAC,CAAC,OAAO;IAC9B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,oBAAoB,CAAwB;IAEpD,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,GAAG;QAAE,MAAM,CAAC,EAAE,cAAc,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAgBzF;;;;;OAKG;IACI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,WAAW;IAiCtC;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG;IAS3B;;;;OAIG;IACI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI;IAK9B;;;OAGG;IACI,gBAAgB,IAAI,CAAC,CAAC,YAAY,EAAE;IAI3C;;;;OAIG;IACU,oBAAoB,CAC/B,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,EACzB,OAAO,CAAC,EAAE;QAAE,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;OAGG;IACI,WAAW,CAAC,IAAI,EAAE,QAAQ;IAsBjC;;;OAGG;IACI,WAAW,IAAI,QAAQ;IAI9B;;;;OAIG;IAEI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAI1C;;;;OAIG;IAEI,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAI3C;;OAEG;IACI,sBAAsB;IAe7B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAgDpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkE3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;OAIG;YACW,kBAAkB;IA8BhC;;OAEG;IACH;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAqCpC;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAkB3B;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,oBAAoB,CAa1B;IAEF,OAAO,CAAC,iBAAiB,CAavB;IAEF,OAAO,CAAC,wBAAwB,CAY9B;IAEF,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA2BlC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAkCd;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAUvB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAuCjB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAmBjB;;;OAGG;YACW,YAAY;IAiF1B;;;OAGG;YACW,4BAA4B;IA8B1C;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgBrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAUvC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiBnC;;OAEG;IACH,OAAO,CAAC,iCAAiC,CASvC;IAEF;;OAEG;IACH,OAAO,CAAC,iCAAiC,CAOvC;IAEF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAwBvC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAmBtC;AAYD,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"polydraw.d.ts","sourceRoot":"","sources":["../../src/polydraw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUnC,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMjE,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,6BAA6B,CAAC;AAczF,KAAK,eAAe,GAAG,CAAC,CAAC,cAAc,GAAG;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,cAAM,QAAS,SAAQ,CAAC,CAAC,OAAO;IAC9B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,oBAAoB,CAAwB;IAEpD,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,OAAO,CAAC,EAAE,eAAe;IAkBrC;;;;;OAKG;IACI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,WAAW;IAoCtC;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG;IAS3B;;;;OAIG;IACI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI;IAK9B;;;OAGG;IACI,gBAAgB,IAAI,CAAC,CAAC,YAAY,EAAE;IAI3C;;;;OAIG;IACU,oBAAoB,CAC/B,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;;OAIG;IACU,qBAAqB,CAChC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,EAC1E,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;OAGG;IACI,WAAW,CAAC,IAAI,EAAE,QAAQ;IA0BjC;;;OAGG;IACI,WAAW,IAAI,QAAQ;IAI9B;;;;OAIG;IAEI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAI1C;;;;OAIG;IAEI,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAI3C;;OAEG;IACI,sBAAsB;IAe7B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiDpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwE3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;OAIG;YACW,kBAAkB;IA+BhC;;OAEG;IACH;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA2CpC;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAkB3B;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,oBAAoB,CAa1B;IAEF,OAAO,CAAC,iBAAiB,CAavB;IAEF,OAAO,CAAC,wBAAwB,CAY9B;IAEF,OAAO,CAAC,gCAAgC,CAYtC;IAEF,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA2BlC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAkCd;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,SAAS;IA0CjB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAmBjB;;;OAGG;YACW,YAAY;IAiF1B;;;OAGG;YACW,4BAA4B;IA8B1C;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAUvC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiBnC;;OAEG;IACH,OAAO,CAAC,iCAAiC,CASvC;IAEF;;OAEG;IACH,OAAO,CAAC,iCAAiC,CAOvC;IAEF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAwBvC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAmCrC,OAAO,CAAC,uBAAuB;CAYhC;AAUD,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -35,5 +35,7 @@ export declare class PolygonUtil {
35
35
  * @returns The center LatLng.
36
36
  */
37
37
  static getCenterOfMass(polygon: Feature<Polygon | MultiPolygon>): L.LatLngLiteral;
38
+ static getCenterOfPolygonByIndexWithOffsetFromCenterOfMass(polygon: Feature<Polygon | MultiPolygon>, index: number): L.LatLngLiteral;
39
+ private static getPolygonLatLngAtIndex;
38
40
  }
39
41
  //# sourceMappingURL=polygon.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"polygon.util.d.ts","sourceRoot":"","sources":["../../src/polygon.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG9D;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiC;IAE1D;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE;IAwB3C;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAInD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAInD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAIlD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAIlD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAQrD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAQvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAW7D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa;IAUrF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,YAAY;IAgB5D;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,aAAa;CAOlF"}
1
+ {"version":3,"file":"polygon.util.d.ts","sourceRoot":"","sources":["../../src/polygon.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAS,MAAM,SAAS,CAAC;AAGrE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiC;IAE1D;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE;IAwB3C;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa;IAIhE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAInD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAInD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAIlD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAIlD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAQrD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAQvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,MAAM;IAW7D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa;IAUrF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,YAAY;IAgB5D;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,aAAa;IAOjF,MAAM,CAAC,mDAAmD,CACxD,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EACxC,KAAK,EAAE,MAAM,GACZ,CAAC,CAAC,aAAa;IAiClB,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAyCvC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Factory for creating popup UI structures.
3
+ * Provides reusable methods for building popup DOM elements.
4
+ */
5
+ export declare class PopupFactory {
6
+ /**
7
+ * Creates a menu button element.
8
+ * @param id Unique identifier for the button.
9
+ * @param title Tooltip text.
10
+ * @param cssClasses Additional CSS classes to apply.
11
+ * @param options Optional configuration (alpha banner, etc.).
12
+ * @returns HTMLDivElement representing the menu button.
13
+ */
14
+ static createMenuButton(id: string, title: string, cssClasses: string[], options?: {
15
+ alphaBanner?: boolean;
16
+ }): HTMLDivElement;
17
+ /**
18
+ * Builds a menu popup container structure.
19
+ * @param buttons Array of button elements to include.
20
+ * @returns HTMLDivElement containing the complete menu structure.
21
+ */
22
+ static buildMenuPopup(buttons: HTMLDivElement[]): HTMLDivElement;
23
+ /**
24
+ * Builds an info popup container structure.
25
+ * @param content HTML element to display inside the popup.
26
+ * @returns HTMLDivElement containing the complete info popup structure.
27
+ */
28
+ static buildInfoPopup(content: HTMLElement): HTMLDivElement;
29
+ }
30
+ //# sourceMappingURL=popup-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup-factory.d.ts","sourceRoot":"","sources":["../../src/popup-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,YAAY;IACvB;;;;;;;OAOG;IACH,MAAM,CAAC,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GACA,cAAc;IAgBjB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc;IAyBhE;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc;CAgB5D"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Orchestrates polygon Transform Mode: capture original geometry, apply scale/rotation in pixel space,
3
+ * preview updates on the polygon, and support apply/cancel.
4
+ */
5
+ import * as L from 'leaflet';
6
+ export declare class PolygonTransformController {
7
+ private map;
8
+ private polygon;
9
+ private overlay;
10
+ private state;
11
+ private normalizedLatLngs;
12
+ private wasMapDraggingEnabled;
13
+ private mode;
14
+ private onExit?;
15
+ private rotateStartAngle;
16
+ private rotateBaseRotation;
17
+ constructor(map: L.Map, featureGroup: L.FeatureGroup, mode?: 'scale' | 'rotate', onExit?: () => void);
18
+ destroy(): void;
19
+ private onKeyDown;
20
+ private updateOverlay;
21
+ private onStartDrag;
22
+ private onDrag;
23
+ private handleRotateDrag;
24
+ private handlePivotDrag;
25
+ private handleScaleDrag;
26
+ private preview;
27
+ apply(): L.LatLng[][][];
28
+ cancel(): void;
29
+ private handleCancel;
30
+ private handleConfirm;
31
+ }
32
+ //# sourceMappingURL=polygon-transform-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polygon-transform-controller.d.ts","sourceRoot":"","sources":["../../../src/transform/polygon-transform-controller.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAmB7B,qBAAa,0BAA0B;IACrC,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,kBAAkB,CAAa;gBAGrC,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,YAAY,EAAE,CAAC,CAAC,YAAY,EAC5B,IAAI,GAAE,OAAO,GAAG,QAAkB,EAClC,MAAM,CAAC,EAAE,MAAM,IAAI;IA+DrB,OAAO,IAAI,IAAI;IAcf,OAAO,CAAC,SAAS,CAIf;IAEF,OAAO,CAAC,aAAa,CAYnB;IAEF,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,MAAM;IAyBd,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAkEvB,OAAO,CAAC,OAAO;IAaf,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE;IAKvB,MAAM,IAAI,IAAI;IAId,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;CAItB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Renders the transform overlay (bbox, 8 scale handles, rotate handle, pivot) in a dedicated Leaflet pane.
3
+ * Delegates drag events to callbacks. Uses Leaflet APIs and works across v1/v2.
4
+ */
5
+ import * as L from 'leaflet';
6
+ import { type TransformOverlayCallbacks, type PixelBBox, type PixelPoint } from './transform-types';
7
+ export declare class TransformOverlay {
8
+ private map;
9
+ private pane;
10
+ private root;
11
+ private draggingHandle;
12
+ private callbacks;
13
+ private rafId;
14
+ private mode;
15
+ private onCancel?;
16
+ private onConfirm?;
17
+ private cancelBtn;
18
+ private confirmBtn;
19
+ private currentBBox;
20
+ private currentRotation;
21
+ constructor(map: L.Map, callbacks: TransformOverlayCallbacks, mode: 'scale' | 'rotate', onCancel?: () => void, onConfirm?: () => void);
22
+ destroy(): void;
23
+ update(bbox: PixelBBox, pivot: PixelPoint, rotation?: number): void;
24
+ private render;
25
+ private cursorForHandle;
26
+ private startDrag;
27
+ private onDrag;
28
+ private endDrag;
29
+ private getMouseLayerPoint;
30
+ private updateButtonPositions;
31
+ private hideButtons;
32
+ private showButtons;
33
+ }
34
+ //# sourceMappingURL=transform-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-overlay.d.ts","sourceRoot":"","sources":["../../../src/transform/transform-overlay.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAI3B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,eAAe,CAAa;gBAGlC,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,SAAS,EAAE,yBAAyB,EACpC,IAAI,EAAE,OAAO,GAAG,QAAQ,EACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,EACrB,SAAS,CAAC,EAAE,MAAM,IAAI;IAsBxB,OAAO,IAAI,IAAI;IAQf,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,GAAE,MAAU,GAAG,IAAI;IAgBtE,OAAO,CAAC,MAAM;IAgGd,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,qBAAqB;IAsG7B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;CAIpB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Types and enums for polygon transform mode (Leaflet v1/v2 compatible).
3
+ */
4
+ import type * as L from 'leaflet';
5
+ export declare enum TransformHandleType {
6
+ TopLeft = "top-left",
7
+ Top = "top",
8
+ TopRight = "top-right",
9
+ Right = "right",
10
+ BottomRight = "bottom-right",
11
+ Bottom = "bottom",
12
+ BottomLeft = "bottom-left",
13
+ Left = "left",
14
+ Rotate = "rotate",
15
+ Pivot = "pivot"
16
+ }
17
+ export type PixelPoint = {
18
+ x: number;
19
+ y: number;
20
+ };
21
+ export interface PixelBBox {
22
+ minX: number;
23
+ minY: number;
24
+ maxX: number;
25
+ maxY: number;
26
+ }
27
+ export interface TransformState {
28
+ isActive: boolean;
29
+ originalLatLngs: L.LatLng[] | L.LatLng[][] | L.LatLng[][][];
30
+ originalPixelRings: PixelPoint[][][];
31
+ pivot: PixelPoint;
32
+ scaleX: number;
33
+ scaleY: number;
34
+ rotation: number;
35
+ uniformScale: boolean;
36
+ snapRotation: boolean;
37
+ scaleFromPivot: boolean;
38
+ }
39
+ export interface TransformOverlayCallbacks {
40
+ onStartHandleDrag: (type: TransformHandleType, start: PixelPoint, evt: MouseEvent) => void;
41
+ onDragHandle: (type: TransformHandleType, current: PixelPoint, evt: MouseEvent) => void;
42
+ onEndHandleDrag: (type: TransformHandleType, end: PixelPoint, evt: MouseEvent) => void;
43
+ }
44
+ //# sourceMappingURL=transform-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-types.d.ts","sourceRoot":"","sources":["../../../src/transform/transform-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAC;AAElC,oBAAY,mBAAmB;IAC7B,OAAO,aAAa;IACpB,GAAG,QAAQ;IACX,QAAQ,cAAc;IACtB,KAAK,UAAU;IACf,WAAW,iBAAiB;IAC5B,MAAM,WAAW;IACjB,UAAU,gBAAgB;IAC1B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IAC5D,kBAAkB,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3F,YAAY,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACxF,eAAe,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;CACxF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Math and conversion helpers for transform mode.
3
+ * All transforms happen in pixel space and then convert back to lat/lng.
4
+ */
5
+ import * as L from 'leaflet';
6
+ import type { PixelPoint, PixelBBox } from './transform-types';
7
+ export declare function latLngToPixel(map: L.Map, ll: L.LatLngLiteral): PixelPoint;
8
+ export declare function pixelToLatLng(map: L.Map, p: PixelPoint): L.LatLngLiteral;
9
+ export declare function getPixelBBox(rings: PixelPoint[][][]): PixelBBox;
10
+ export declare function getPixelCentroid(bbox: PixelBBox): PixelPoint;
11
+ /**
12
+ * Converts a bounding box to a square, centering the original content.
13
+ */
14
+ export declare function squareBBox(bbox: PixelBBox): PixelBBox;
15
+ export declare function rotatePointAround(p: PixelPoint, pivot: PixelPoint, radians: number): PixelPoint;
16
+ export declare function scalePointAround(p: PixelPoint, pivot: PixelPoint, scaleX: number, scaleY: number): PixelPoint;
17
+ export declare function applyTransform(rings: PixelPoint[][][], pivot: PixelPoint, scaleX: number, scaleY: number, rotation: number): PixelPoint[][][];
18
+ export declare function ensureClosedLatLngRing(ll: L.LatLngLiteral[]): L.LatLngLiteral[];
19
+ export declare function normalizeLatLngs(input: L.LatLng[] | L.LatLng[][] | L.LatLng[][][]): L.LatLng[][][];
20
+ export declare function projectLatLngs(map: L.Map, latLngs: L.LatLng[][][]): {
21
+ rings: PixelPoint[][][];
22
+ ringLengths: number[][];
23
+ };
24
+ export declare function unprojectToLatLngs(map: L.Map, rings: PixelPoint[][][], templateLatLngs: L.LatLng[][][]): L.LatLngLiteral[][][];
25
+ export declare function snapAngleRadians(angle: number, stepDeg?: number): number;
26
+ //# sourceMappingURL=transform-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-utils.d.ts","sourceRoot":"","sources":["../../../src/transform/transform-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE/D,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,UAAU,CAGzE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,aAAa,CAGxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,SAAS,CAgB/D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAE5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAarD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAM/F;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,UAAU,EACb,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,UAAU,CAIZ;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,EACvB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,UAAU,EAAE,EAAE,EAAE,CAQlB;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAM/E;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,GAChD,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAehB;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,GACtB;IAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,CAetD;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,EACvB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,GAC9B,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAiBvB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,MAAM,CAGpE"}