@deck.gl-community/editable-layers 9.2.0-beta.5 → 9.2.0-beta.8

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 (304) hide show
  1. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +2 -2
  2. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -1
  3. package/dist/edit-modes/draw-90degree-polygon-mode.js.map +1 -1
  4. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +2 -2
  5. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -1
  6. package/dist/edit-modes/draw-circle-by-diameter-mode.js +0 -1
  7. package/dist/edit-modes/draw-circle-by-diameter-mode.js.map +1 -1
  8. package/dist/edit-modes/draw-circle-from-center-mode.d.ts +2 -2
  9. package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -1
  10. package/dist/edit-modes/draw-circle-from-center-mode.js +0 -1
  11. package/dist/edit-modes/draw-circle-from-center-mode.js.map +1 -1
  12. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +2 -2
  13. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -1
  14. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +1 -2
  15. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js.map +1 -1
  16. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +2 -2
  17. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -1
  18. package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +0 -2
  19. package/dist/edit-modes/draw-ellipse-using-three-points-mode.js.map +1 -1
  20. package/dist/edit-modes/draw-line-string-mode.d.ts +5 -5
  21. package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -1
  22. package/dist/edit-modes/draw-line-string-mode.js.map +1 -1
  23. package/dist/edit-modes/draw-point-mode.d.ts +2 -2
  24. package/dist/edit-modes/draw-point-mode.d.ts.map +1 -1
  25. package/dist/edit-modes/draw-point-mode.js.map +1 -1
  26. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +8 -8
  27. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -1
  28. package/dist/edit-modes/draw-polygon-by-dragging-mode.js.map +1 -1
  29. package/dist/edit-modes/draw-polygon-mode.d.ts +9 -5
  30. package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -1
  31. package/dist/edit-modes/draw-polygon-mode.js +226 -81
  32. package/dist/edit-modes/draw-polygon-mode.js.map +1 -1
  33. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +2 -2
  34. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -1
  35. package/dist/edit-modes/draw-rectangle-from-center-mode.js +0 -1
  36. package/dist/edit-modes/draw-rectangle-from-center-mode.js.map +1 -1
  37. package/dist/edit-modes/draw-rectangle-mode.d.ts +2 -2
  38. package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -1
  39. package/dist/edit-modes/draw-rectangle-mode.js +0 -1
  40. package/dist/edit-modes/draw-rectangle-mode.js.map +1 -1
  41. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +2 -2
  42. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -1
  43. package/dist/edit-modes/draw-square-from-center-mode.d.ts +2 -2
  44. package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -1
  45. package/dist/edit-modes/draw-square-from-center-mode.js +0 -1
  46. package/dist/edit-modes/draw-square-from-center-mode.js.map +1 -1
  47. package/dist/edit-modes/draw-square-mode.d.ts +2 -2
  48. package/dist/edit-modes/draw-square-mode.d.ts.map +1 -1
  49. package/dist/edit-modes/draw-square-mode.js +0 -1
  50. package/dist/edit-modes/draw-square-mode.js.map +1 -1
  51. package/dist/edit-modes/duplicate-mode.d.ts +2 -2
  52. package/dist/edit-modes/duplicate-mode.d.ts.map +1 -1
  53. package/dist/edit-modes/duplicate-mode.js.map +1 -1
  54. package/dist/edit-modes/extend-line-string-mode.d.ts +4 -4
  55. package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -1
  56. package/dist/edit-modes/extend-line-string-mode.js.map +1 -1
  57. package/dist/edit-modes/extrude-mode.d.ts +7 -7
  58. package/dist/edit-modes/extrude-mode.d.ts.map +1 -1
  59. package/dist/edit-modes/extrude-mode.js.map +1 -1
  60. package/dist/edit-modes/geojson-edit-mode.d.ts +9 -9
  61. package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -1
  62. package/dist/edit-modes/geojson-edit-mode.js +4 -7
  63. package/dist/edit-modes/geojson-edit-mode.js.map +1 -1
  64. package/dist/edit-modes/immutable-feature-collection.d.ts +7 -7
  65. package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -1
  66. package/dist/edit-modes/immutable-feature-collection.js.map +1 -1
  67. package/dist/edit-modes/measure-area-mode.d.ts +3 -3
  68. package/dist/edit-modes/measure-area-mode.d.ts.map +1 -1
  69. package/dist/edit-modes/measure-area-mode.js.map +1 -1
  70. package/dist/edit-modes/modify-mode.d.ts +8 -8
  71. package/dist/edit-modes/modify-mode.d.ts.map +1 -1
  72. package/dist/edit-modes/modify-mode.js +2 -4
  73. package/dist/edit-modes/modify-mode.js.map +1 -1
  74. package/dist/edit-modes/resize-circle-mode.d.ts +3 -3
  75. package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -1
  76. package/dist/edit-modes/resize-circle-mode.js +1 -5
  77. package/dist/edit-modes/resize-circle-mode.js.map +1 -1
  78. package/dist/edit-modes/rotate-mode.d.ts +7 -7
  79. package/dist/edit-modes/rotate-mode.d.ts.map +1 -1
  80. package/dist/edit-modes/rotate-mode.js +2 -9
  81. package/dist/edit-modes/rotate-mode.js.map +1 -1
  82. package/dist/edit-modes/scale-mode.d.ts +11 -11
  83. package/dist/edit-modes/scale-mode.d.ts.map +1 -1
  84. package/dist/edit-modes/scale-mode.js +1 -6
  85. package/dist/edit-modes/scale-mode.js.map +1 -1
  86. package/dist/edit-modes/snappable-mode.d.ts +5 -5
  87. package/dist/edit-modes/snappable-mode.d.ts.map +1 -1
  88. package/dist/edit-modes/snappable-mode.js.map +1 -1
  89. package/dist/edit-modes/split-polygon-mode.d.ts +5 -5
  90. package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -1
  91. package/dist/edit-modes/split-polygon-mode.js +2 -5
  92. package/dist/edit-modes/split-polygon-mode.js.map +1 -1
  93. package/dist/edit-modes/three-click-polygon-mode.d.ts +3 -3
  94. package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -1
  95. package/dist/edit-modes/three-click-polygon-mode.js.map +1 -1
  96. package/dist/edit-modes/translate-mode.d.ts +6 -6
  97. package/dist/edit-modes/translate-mode.d.ts.map +1 -1
  98. package/dist/edit-modes/translate-mode.js +1 -2
  99. package/dist/edit-modes/translate-mode.js.map +1 -1
  100. package/dist/edit-modes/two-click-polygon-mode.d.ts +6 -6
  101. package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -1
  102. package/dist/edit-modes/two-click-polygon-mode.js.map +1 -1
  103. package/dist/edit-modes/types.d.ts +3 -3
  104. package/dist/edit-modes/types.d.ts.map +1 -1
  105. package/dist/edit-modes/utils.d.ts +7 -7
  106. package/dist/edit-modes/utils.d.ts.map +1 -1
  107. package/dist/edit-modes/utils.js +0 -3
  108. package/dist/edit-modes/utils.js.map +1 -1
  109. package/dist/editable-layers/editable-geojson-layer.d.ts +5 -13
  110. package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -1
  111. package/dist/editable-layers/editable-geojson-layer.js +4 -4
  112. package/dist/editable-layers/editable-geojson-layer.js.map +1 -1
  113. package/dist/editable-layers/selection-layer.d.ts +1 -2
  114. package/dist/editable-layers/selection-layer.d.ts.map +1 -1
  115. package/dist/editable-layers/selection-layer.js +2 -2
  116. package/dist/editable-layers/selection-layer.js.map +1 -1
  117. package/dist/index.cjs +369 -995
  118. package/dist/index.cjs.map +4 -4
  119. package/dist/index.d.ts +3 -11
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +1 -10
  122. package/dist/index.js.map +1 -1
  123. package/dist/mode-handlers/composite-mode-handler.d.ts +3 -3
  124. package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -1
  125. package/dist/mode-handlers/composite-mode-handler.js.map +1 -1
  126. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -1
  127. package/dist/mode-handlers/draw-90degree-polygon-handler.js +4 -2
  128. package/dist/mode-handlers/draw-90degree-polygon-handler.js.map +1 -1
  129. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -1
  130. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +0 -1
  131. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js.map +1 -1
  132. package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -1
  133. package/dist/mode-handlers/draw-circle-from-center-handler.js +0 -1
  134. package/dist/mode-handlers/draw-circle-from-center-handler.js.map +1 -1
  135. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -1
  136. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +1 -2
  137. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js.map +1 -1
  138. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -1
  139. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +2 -2
  140. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js.map +1 -1
  141. package/dist/mode-handlers/draw-point-handler.js.map +1 -1
  142. package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -1
  143. package/dist/mode-handlers/draw-polygon-handler.js +4 -2
  144. package/dist/mode-handlers/draw-polygon-handler.js.map +1 -1
  145. package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -1
  146. package/dist/mode-handlers/draw-rectangle-handler.js +0 -1
  147. package/dist/mode-handlers/draw-rectangle-handler.js.map +1 -1
  148. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -1
  149. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +4 -2
  150. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js.map +1 -1
  151. package/dist/mode-handlers/mode-handler.d.ts +12 -12
  152. package/dist/mode-handlers/mode-handler.d.ts.map +1 -1
  153. package/dist/mode-handlers/mode-handler.js +6 -7
  154. package/dist/mode-handlers/mode-handler.js.map +1 -1
  155. package/dist/mode-handlers/modify-handler.d.ts +2 -2
  156. package/dist/mode-handlers/modify-handler.d.ts.map +1 -1
  157. package/dist/mode-handlers/modify-handler.js +1 -4
  158. package/dist/mode-handlers/modify-handler.js.map +1 -1
  159. package/dist/mode-handlers/rotate-handler.d.ts +2 -2
  160. package/dist/mode-handlers/rotate-handler.d.ts.map +1 -1
  161. package/dist/mode-handlers/rotate-handler.js +2 -7
  162. package/dist/mode-handlers/rotate-handler.js.map +1 -1
  163. package/dist/mode-handlers/scale-handler.d.ts +2 -2
  164. package/dist/mode-handlers/scale-handler.d.ts.map +1 -1
  165. package/dist/mode-handlers/scale-handler.js +2 -7
  166. package/dist/mode-handlers/scale-handler.js.map +1 -1
  167. package/dist/mode-handlers/snappable-handler.d.ts +3 -3
  168. package/dist/mode-handlers/snappable-handler.d.ts.map +1 -1
  169. package/dist/mode-handlers/snappable-handler.js.map +1 -1
  170. package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -1
  171. package/dist/mode-handlers/split-polygon-handler.js +4 -5
  172. package/dist/mode-handlers/split-polygon-handler.js.map +1 -1
  173. package/dist/mode-handlers/translate-handler.d.ts +2 -2
  174. package/dist/mode-handlers/translate-handler.d.ts.map +1 -1
  175. package/dist/mode-handlers/translate-handler.js +1 -4
  176. package/dist/mode-handlers/translate-handler.js.map +1 -1
  177. package/dist/utils/geojson-types.d.ts +13 -34
  178. package/dist/utils/geojson-types.d.ts.map +1 -1
  179. package/dist/utils/translate-from-center.d.ts +2 -4
  180. package/dist/utils/translate-from-center.d.ts.map +1 -1
  181. package/dist/utils/translate-from-center.js.map +1 -1
  182. package/dist/utils/utils.d.ts +3 -3
  183. package/dist/utils/utils.d.ts.map +1 -1
  184. package/dist/utils/utils.js.map +1 -1
  185. package/package.json +33 -33
  186. package/src/edit-modes/draw-90degree-polygon-mode.ts +2 -2
  187. package/src/edit-modes/draw-circle-by-diameter-mode.ts +3 -3
  188. package/src/edit-modes/draw-circle-from-center-mode.ts +3 -3
  189. package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +4 -4
  190. package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +3 -4
  191. package/src/edit-modes/draw-line-string-mode.ts +5 -5
  192. package/src/edit-modes/draw-point-mode.ts +2 -2
  193. package/src/edit-modes/draw-polygon-by-dragging-mode.ts +8 -8
  194. package/src/edit-modes/draw-polygon-mode.ts +304 -100
  195. package/src/edit-modes/draw-rectangle-from-center-mode.ts +2 -3
  196. package/src/edit-modes/draw-rectangle-mode.ts +2 -3
  197. package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +2 -2
  198. package/src/edit-modes/draw-square-from-center-mode.ts +2 -3
  199. package/src/edit-modes/draw-square-mode.ts +3 -3
  200. package/src/edit-modes/duplicate-mode.ts +2 -2
  201. package/src/edit-modes/extend-line-string-mode.ts +4 -4
  202. package/src/edit-modes/extrude-mode.ts +7 -7
  203. package/src/edit-modes/geojson-edit-mode.ts +16 -19
  204. package/src/edit-modes/immutable-feature-collection.ts +10 -11
  205. package/src/edit-modes/measure-area-mode.ts +3 -3
  206. package/src/edit-modes/modify-mode.ts +13 -13
  207. package/src/edit-modes/resize-circle-mode.ts +6 -8
  208. package/src/edit-modes/rotate-mode.ts +9 -15
  209. package/src/edit-modes/scale-mode.ts +11 -15
  210. package/src/edit-modes/snappable-mode.ts +5 -5
  211. package/src/edit-modes/split-polygon-mode.ts +12 -16
  212. package/src/edit-modes/three-click-polygon-mode.ts +3 -3
  213. package/src/edit-modes/translate-mode.ts +10 -12
  214. package/src/edit-modes/two-click-polygon-mode.ts +7 -7
  215. package/src/edit-modes/types.ts +4 -4
  216. package/src/edit-modes/utils.ts +12 -16
  217. package/src/editable-layers/editable-geojson-layer.ts +19 -18
  218. package/src/editable-layers/selection-layer.ts +3 -3
  219. package/src/index.ts +8 -28
  220. package/src/mode-handlers/composite-mode-handler.ts +3 -3
  221. package/src/mode-handlers/draw-90degree-polygon-handler.ts +4 -2
  222. package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +0 -1
  223. package/src/mode-handlers/draw-circle-from-center-handler.ts +0 -1
  224. package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +1 -2
  225. package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +3 -2
  226. package/src/mode-handlers/draw-point-handler.ts +2 -2
  227. package/src/mode-handlers/draw-polygon-handler.ts +4 -2
  228. package/src/mode-handlers/draw-rectangle-handler.ts +0 -1
  229. package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +4 -2
  230. package/src/mode-handlers/mode-handler.ts +20 -21
  231. package/src/mode-handlers/modify-handler.ts +2 -4
  232. package/src/mode-handlers/rotate-handler.ts +4 -8
  233. package/src/mode-handlers/scale-handler.ts +4 -8
  234. package/src/mode-handlers/snappable-handler.ts +3 -3
  235. package/src/mode-handlers/split-polygon-handler.ts +6 -7
  236. package/src/mode-handlers/translate-handler.ts +3 -5
  237. package/src/utils/geojson-types.ts +15 -54
  238. package/src/utils/translate-from-center.ts +6 -11
  239. package/src/utils/utils.ts +4 -4
  240. package/dist/lib/constants.d.ts +0 -7
  241. package/dist/lib/constants.d.ts.map +0 -1
  242. package/dist/lib/constants.js +0 -10
  243. package/dist/lib/constants.js.map +0 -1
  244. package/dist/lib/deck-renderer/deck-cache.d.ts +0 -15
  245. package/dist/lib/deck-renderer/deck-cache.d.ts.map +0 -1
  246. package/dist/lib/deck-renderer/deck-cache.js +0 -52
  247. package/dist/lib/deck-renderer/deck-cache.js.map +0 -1
  248. package/dist/lib/deck-renderer/deck-drawer.d.ts +0 -63
  249. package/dist/lib/deck-renderer/deck-drawer.d.ts.map +0 -1
  250. package/dist/lib/deck-renderer/deck-drawer.js +0 -233
  251. package/dist/lib/deck-renderer/deck-drawer.js.map +0 -1
  252. package/dist/lib/feature.d.ts +0 -11
  253. package/dist/lib/feature.d.ts.map +0 -1
  254. package/dist/lib/feature.js +0 -20
  255. package/dist/lib/feature.js.map +0 -1
  256. package/dist/lib/layer-mouse-event.d.ts +0 -12
  257. package/dist/lib/layer-mouse-event.d.ts.map +0 -1
  258. package/dist/lib/layer-mouse-event.js +0 -28
  259. package/dist/lib/layer-mouse-event.js.map +0 -1
  260. package/dist/lib/layers/junctions-layer.d.ts +0 -9
  261. package/dist/lib/layers/junctions-layer.d.ts.map +0 -1
  262. package/dist/lib/layers/junctions-layer.js +0 -37
  263. package/dist/lib/layers/junctions-layer.js.map +0 -1
  264. package/dist/lib/layers/segments-layer.d.ts +0 -19
  265. package/dist/lib/layers/segments-layer.d.ts.map +0 -1
  266. package/dist/lib/layers/segments-layer.js +0 -98
  267. package/dist/lib/layers/segments-layer.js.map +0 -1
  268. package/dist/lib/layers/texts-layer.d.ts +0 -9
  269. package/dist/lib/layers/texts-layer.d.ts.map +0 -1
  270. package/dist/lib/layers/texts-layer.js +0 -36
  271. package/dist/lib/layers/texts-layer.js.map +0 -1
  272. package/dist/lib/math.d.ts +0 -12
  273. package/dist/lib/math.d.ts.map +0 -1
  274. package/dist/lib/math.js +0 -26
  275. package/dist/lib/math.js.map +0 -1
  276. package/dist/lib/nebula-core.d.ts +0 -35
  277. package/dist/lib/nebula-core.d.ts.map +0 -1
  278. package/dist/lib/nebula-core.js +0 -258
  279. package/dist/lib/nebula-core.js.map +0 -1
  280. package/dist/lib/nebula-layer.d.ts +0 -14
  281. package/dist/lib/nebula-layer.d.ts.map +0 -1
  282. package/dist/lib/nebula-layer.js +0 -30
  283. package/dist/lib/nebula-layer.js.map +0 -1
  284. package/dist/lib/style.d.ts +0 -20
  285. package/dist/lib/style.d.ts.map +0 -1
  286. package/dist/lib/style.js +0 -24
  287. package/dist/lib/style.js.map +0 -1
  288. package/dist/utils/curve-utils.d.ts +0 -3
  289. package/dist/utils/curve-utils.d.ts.map +0 -1
  290. package/dist/utils/curve-utils.js +0 -65
  291. package/dist/utils/curve-utils.js.map +0 -1
  292. package/src/lib/constants.ts +0 -10
  293. package/src/lib/deck-renderer/deck-cache.ts +0 -61
  294. package/src/lib/deck-renderer/deck-drawer.ts +0 -263
  295. package/src/lib/feature.ts +0 -31
  296. package/src/lib/layer-mouse-event.ts +0 -33
  297. package/src/lib/layers/junctions-layer.ts +0 -44
  298. package/src/lib/layers/segments-layer.ts +0 -112
  299. package/src/lib/layers/texts-layer.ts +0 -47
  300. package/src/lib/math.ts +0 -30
  301. package/src/lib/nebula-core.ts +0 -327
  302. package/src/lib/nebula-layer.ts +0 -37
  303. package/src/lib/style.ts +0 -26
  304. package/src/utils/curve-utils.ts +0 -81
@@ -2,113 +2,130 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import lineIntersect from '@turf/line-intersect';
5
- import { lineString as turfLineString } from '@turf/helpers';
5
+ import { polygon as turfPolygon } from '@turf/helpers';
6
+ import booleanWithin from "@turf/boolean-within";
6
7
  import { getPickedEditHandle } from "./utils.js";
7
8
  import { GeoJsonEditMode } from "./geojson-edit-mode.js";
9
+ import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
8
10
  export class DrawPolygonMode extends GeoJsonEditMode {
11
+ holeSequence = [];
12
+ isDrawingHole = false;
9
13
  createTentativeFeature(props) {
10
14
  const { lastPointerMoveEvent } = props;
11
15
  const clickSequence = this.getClickSequence();
12
- const lastCoords = lastPointerMoveEvent ? [lastPointerMoveEvent.mapCoords] : [];
13
- let tentativeFeature;
14
- if (clickSequence.length === 1 || clickSequence.length === 2) {
15
- tentativeFeature = {
16
- type: 'Feature',
17
- properties: {
18
- guideType: 'tentative'
19
- },
20
- geometry: {
21
- type: 'LineString',
22
- coordinates: [...clickSequence, ...lastCoords]
23
- }
16
+ const holeSequence = this.holeSequence;
17
+ const lastCoords = lastPointerMoveEvent
18
+ ? [lastPointerMoveEvent.mapCoords]
19
+ : [];
20
+ let geometry;
21
+ if (this.isDrawingHole && holeSequence.length > 1) {
22
+ geometry = {
23
+ type: "Polygon",
24
+ coordinates: [
25
+ [...clickSequence, clickSequence[0]],
26
+ [...holeSequence, ...lastCoords, holeSequence[0]],
27
+ ],
24
28
  };
25
29
  }
26
30
  else if (clickSequence.length > 2) {
27
- tentativeFeature = {
28
- type: 'Feature',
29
- properties: {
30
- guideType: 'tentative'
31
- },
32
- geometry: {
33
- type: 'Polygon',
34
- coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]]
35
- }
31
+ geometry = {
32
+ type: "Polygon",
33
+ coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]],
34
+ };
35
+ }
36
+ else {
37
+ geometry = {
38
+ type: "LineString",
39
+ coordinates: [...clickSequence, ...lastCoords],
36
40
  };
37
41
  }
38
- return tentativeFeature;
42
+ return {
43
+ type: "Feature",
44
+ properties: {
45
+ guideType: "tentative",
46
+ },
47
+ geometry,
48
+ };
39
49
  }
40
50
  getGuides(props) {
41
- const clickSequence = this.getClickSequence();
42
51
  const guides = {
43
- type: 'FeatureCollection',
44
- features: []
52
+ type: "FeatureCollection",
53
+ features: [],
45
54
  };
46
- const tentativeFeature = this.createTentativeFeature(props);
47
- if (tentativeFeature) {
48
- guides.features.push(tentativeFeature);
49
- }
50
- const editHandles = clickSequence.map((clickedCoord, index) => ({
51
- type: 'Feature',
55
+ const tentative = this.createTentativeFeature(props);
56
+ if (tentative)
57
+ guides.features.push(tentative);
58
+ const sequence = this.isDrawingHole
59
+ ? this.holeSequence
60
+ : this.getClickSequence();
61
+ const handles = sequence.map((coord, index) => ({
62
+ type: "Feature",
52
63
  properties: {
53
- guideType: 'editHandle',
54
- editHandleType: 'existing',
64
+ guideType: "editHandle",
65
+ editHandleType: "existing",
55
66
  featureIndex: -1,
56
- positionIndexes: [index]
67
+ positionIndexes: [index],
57
68
  },
58
69
  geometry: {
59
- type: 'Point',
60
- coordinates: clickedCoord
61
- }
70
+ type: "Point",
71
+ coordinates: coord,
72
+ },
62
73
  }));
63
- guides.features.push(...editHandles);
74
+ guides.features.push(...handles);
64
75
  return guides;
65
76
  }
66
- finishDrawing(props) {
67
- const clickSequence = this.getClickSequence();
68
- if (clickSequence.length > 2) {
69
- const polygonToAdd = {
70
- type: 'Polygon',
71
- coordinates: [[...clickSequence, clickSequence[0]]]
72
- };
73
- this.resetClickSequence();
74
- const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
75
- if (editAction) {
76
- props.onEdit(editAction);
77
- }
78
- }
79
- }
80
- // eslint-disable-next-line complexity
77
+ // eslint-disable-next-line complexity, max-statements
81
78
  handleClick(event, props) {
82
79
  const { picks } = event;
83
80
  const clickedEditHandle = getPickedEditHandle(picks);
84
81
  const clickSequence = this.getClickSequence();
85
- let overlappingLines = false;
86
- if (clickSequence.length > 2 && props.modeConfig && props.modeConfig.preventOverlappingLines) {
87
- const currentLine = turfLineString([
88
- clickSequence[clickSequence.length - 1],
89
- event.mapCoords
90
- ]);
91
- const otherLines = turfLineString([...clickSequence.slice(0, clickSequence.length - 1)]);
92
- const intersectingPoints = lineIntersect(currentLine, otherLines);
93
- if (intersectingPoints.features.length > 0) {
94
- overlappingLines = true;
95
- }
96
- }
97
- let positionAdded = false;
98
- if (!clickedEditHandle && !overlappingLines) {
99
- // Don't add another point right next to an existing one
100
- this.addClickSequence(event);
101
- positionAdded = true;
102
- }
103
- if (clickSequence.length > 2 &&
82
+ const coords = event.mapCoords;
83
+ // Check if they clicked on an edit handle to complete the polygon
84
+ if (!this.isDrawingHole &&
85
+ clickSequence.length > 2 &&
104
86
  clickedEditHandle &&
105
87
  Array.isArray(clickedEditHandle.properties.positionIndexes) &&
106
88
  (clickedEditHandle.properties.positionIndexes[0] === 0 ||
107
89
  clickedEditHandle.properties.positionIndexes[0] === clickSequence.length - 1)) {
108
- // They clicked the first or last point (or double-clicked), so complete the polygon
90
+ // They clicked the first or last point, so complete the polygon
109
91
  this.finishDrawing(props);
92
+ return;
93
+ }
94
+ // Check if they clicked near the first point to complete the polygon
95
+ if (!this.isDrawingHole && clickSequence.length > 2) {
96
+ if (isNearFirstPoint(coords, clickSequence[0])) {
97
+ this.finishDrawing(props);
98
+ this.resetClickSequence();
99
+ return;
100
+ }
101
+ }
102
+ if (this.isDrawingHole) {
103
+ const current = this.holeSequence;
104
+ current.push(coords);
105
+ if (current.length > 2) {
106
+ const poly = {
107
+ type: "Polygon",
108
+ coordinates: [
109
+ [...clickSequence, clickSequence[0]],
110
+ [...current, current[0]],
111
+ ],
112
+ };
113
+ this.resetClickSequence();
114
+ this.holeSequence = [];
115
+ this.isDrawingHole = false;
116
+ const editAction = this.getAddFeatureOrBooleanPolygonAction(poly, props);
117
+ if (editAction)
118
+ props.onEdit(editAction);
119
+ }
120
+ return;
121
+ }
122
+ // Add the click if we didn't click on a handle
123
+ let positionAdded = false;
124
+ if (!clickedEditHandle) {
125
+ this.addClickSequence(event);
126
+ positionAdded = true;
110
127
  }
111
- else if (positionAdded) {
128
+ if (positionAdded) {
112
129
  // new tentative point
113
130
  props.onEdit({
114
131
  // data is the same
@@ -120,20 +137,23 @@ export class DrawPolygonMode extends GeoJsonEditMode {
120
137
  });
121
138
  }
122
139
  }
123
- handleDoubleClick(event, props) {
140
+ handleDoubleClick(_event, props) {
124
141
  this.finishDrawing(props);
142
+ this.resetClickSequence();
125
143
  }
126
144
  handleKeyUp(event, props) {
127
- if (event.key === 'Enter') {
145
+ if (event.key === "Enter") {
128
146
  this.finishDrawing(props);
147
+ this.resetClickSequence();
129
148
  }
130
- else if (event.key === 'Escape') {
149
+ else if (event.key === "Escape") {
131
150
  this.resetClickSequence();
151
+ this.holeSequence = [];
152
+ this.isDrawingHole = false;
132
153
  props.onEdit({
133
- // Because the new drawing feature is dropped, so the data will keep as the same.
134
154
  updatedData: props.data,
135
- editType: 'cancelFeature',
136
- editContext: {}
155
+ editType: "cancelFeature",
156
+ editContext: {},
137
157
  });
138
158
  }
139
159
  }
@@ -141,5 +161,130 @@ export class DrawPolygonMode extends GeoJsonEditMode {
141
161
  props.onUpdateCursor('cell');
142
162
  super.handlePointerMove(event, props);
143
163
  }
164
+ // eslint-disable-next-line max-statements, complexity
165
+ finishDrawing(props) {
166
+ const clickSequence = this.getClickSequence();
167
+ const polygon = [...clickSequence, clickSequence[0]];
168
+ const newPolygon = turfPolygon([polygon]);
169
+ const canAddHole = canAddHoleToPolygon(props);
170
+ const canOverlap = canPolygonOverlap(props);
171
+ // Check if the polygon intersects itself (excluding shared start/end point)
172
+ if (!canOverlap) {
173
+ const overlapping = lineIntersect(newPolygon, newPolygon).features.filter((intersection) => !newPolygon.geometry.coordinates[0].some((coord) => coord[0] === intersection.geometry.coordinates[0] &&
174
+ coord[1] === intersection.geometry.coordinates[1]));
175
+ if (overlapping.length > 0) {
176
+ // ❌ Invalid polygon: overlaps
177
+ props.onEdit({
178
+ updatedData: props.data,
179
+ editType: "invalidPolygon",
180
+ editContext: { reason: "overlaps" },
181
+ });
182
+ this.resetClickSequence();
183
+ return;
184
+ }
185
+ }
186
+ if (canAddHole) {
187
+ const holeResult = this.tryAddHoleToExistingPolygon(newPolygon, polygon, props);
188
+ if (holeResult.handled) {
189
+ this.resetClickSequence();
190
+ return;
191
+ }
192
+ }
193
+ // If no valid hole was found, add the polygon as a new feature
194
+ const editAction = this.getAddFeatureOrBooleanPolygonAction({
195
+ type: "Polygon",
196
+ coordinates: [[...this.getClickSequence(), this.getClickSequence()[0]]],
197
+ }, props);
198
+ if (editAction)
199
+ props.onEdit(editAction);
200
+ this.resetClickSequence();
201
+ return;
202
+ }
203
+ tryAddHoleToExistingPolygon(newPolygon, polygon, props) {
204
+ for (const [featureIndex, feature] of props.data.features.entries()) {
205
+ if (feature.geometry.type === "Polygon") {
206
+ const result = this.validateAndCreateHole(feature, featureIndex, newPolygon, polygon, props);
207
+ if (result.handled) {
208
+ return result;
209
+ }
210
+ }
211
+ }
212
+ return { handled: false };
213
+ }
214
+ validateAndCreateHole(feature, featureIndex, newPolygon, polygon, props) {
215
+ const outer = turfPolygon(feature.geometry.coordinates);
216
+ // Check existing holes for conflicts
217
+ for (let i = 1; i < feature.geometry.coordinates.length; i++) {
218
+ const hole = turfPolygon([feature.geometry.coordinates[i]]);
219
+ const intersection = lineIntersect(hole, newPolygon);
220
+ if (intersection.features.length > 0) {
221
+ props.onEdit({
222
+ updatedData: props.data,
223
+ editType: "invalidHole",
224
+ editContext: { reason: "intersects-existing-hole" },
225
+ });
226
+ return { handled: true };
227
+ }
228
+ if (booleanWithin(hole, newPolygon) || booleanWithin(newPolygon, hole)) {
229
+ props.onEdit({
230
+ updatedData: props.data,
231
+ editType: "invalidHole",
232
+ editContext: { reason: "contains-or-contained-by-existing-hole" },
233
+ });
234
+ return { handled: true };
235
+ }
236
+ }
237
+ // Check outer polygon conflicts
238
+ const intersectionWithOuter = lineIntersect(outer, newPolygon);
239
+ if (intersectionWithOuter.features.length > 0) {
240
+ props.onEdit({
241
+ updatedData: props.data,
242
+ editType: "invalidPolygon",
243
+ editContext: { reason: "intersects-existing-polygon" },
244
+ });
245
+ return { handled: true };
246
+ }
247
+ if (booleanWithin(outer, newPolygon)) {
248
+ props.onEdit({
249
+ updatedData: props.data,
250
+ editType: "invalidPolygon",
251
+ editContext: { reason: "contains-existing-polygon" },
252
+ });
253
+ return { handled: true };
254
+ }
255
+ // Check if new polygon is within outer polygon (valid hole)
256
+ if (booleanWithin(newPolygon, outer)) {
257
+ const updatedData = new ImmutableFeatureCollection(props.data)
258
+ .replaceGeometry(featureIndex, {
259
+ ...feature.geometry,
260
+ coordinates: [...feature.geometry.coordinates, polygon],
261
+ })
262
+ .getObject();
263
+ props.onEdit({
264
+ updatedData,
265
+ editType: "addHole",
266
+ editContext: { hole: newPolygon.geometry },
267
+ });
268
+ return { handled: true };
269
+ }
270
+ return { handled: false };
271
+ }
272
+ }
273
+ // Helper function to check if a point is near the first point in the sequence
274
+ function isNearFirstPoint(click, first, threshold = 1e-4) {
275
+ const dx = click[0] - first[0];
276
+ const dy = click[1] - first[1];
277
+ return dx * dx + dy * dy < threshold * threshold;
278
+ }
279
+ // Helper function to determine if a hole can be added to a polygon
280
+ function canAddHoleToPolygon(props) {
281
+ // For simplicity, always return true in this example.
282
+ // Implement your own logic based on application requirements.
283
+ return props.modeConfig?.allowHoles ?? false;
284
+ }
285
+ // Helper function to determine if a polygon can intersect itself
286
+ function canPolygonOverlap(props) {
287
+ // Return the value of allowSelfIntersection (defaults to false for safety)
288
+ return props.modeConfig?.allowSelfIntersection ?? false;
144
289
  }
145
290
  //# sourceMappingURL=draw-polygon-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-polygon-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-polygon-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draw-polygon-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-polygon-mode.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
1
+ import { Position, Polygon, Feature } from "../utils/geojson-types.js";
2
2
  import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
3
3
  export declare class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
4
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
4
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon>;
5
5
  }
6
6
  //# sourceMappingURL=draw-rectangle-from-center-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-rectangle-from-center-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-from-center-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,2BAA4B,SAAQ,mBAAmB;IAClE,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CAiB5F"}
1
+ {"version":3,"file":"draw-rectangle-from-center-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-from-center-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC,kCAA+B;AAClE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,2BAA4B,SAAQ,mBAAmB;IAClE,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB1F"}
@@ -14,7 +14,6 @@ export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
14
14
  const rectangle = bboxPolygon([longitude, latitude, coord2[0], coord2[1]]);
15
15
  rectangle.properties = rectangle.properties || {};
16
16
  rectangle.properties.shape = 'Rectangle';
17
- // @ts-expect-error turf typing too wide
18
17
  return rectangle;
19
18
  }
20
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"draw-rectangle-from-center-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-from-center-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IAClE,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,MAAM,SAAS,GACb,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GACZ,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,SAAS,CAAC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;QAEzC,wCAAwC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"draw-rectangle-from-center-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-from-center-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IAClE,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,MAAM,SAAS,GACb,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GACZ,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,SAAS,CAAC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;QAEzC,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
- import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
1
+ import { Position, Polygon, Feature } from "../utils/geojson-types.js";
2
2
  import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
3
3
  export declare class DrawRectangleMode extends TwoClickPolygonMode {
4
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
4
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon>;
5
5
  }
6
6
  //# sourceMappingURL=draw-rectangle-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-rectangle-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CAQ5F"}
1
+ {"version":3,"file":"draw-rectangle-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC,kCAA+B;AAClE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAO1F"}
@@ -8,7 +8,6 @@ export class DrawRectangleMode extends TwoClickPolygonMode {
8
8
  const rectangle = bboxPolygon([coord1[0], coord1[1], coord2[0], coord2[1]]);
9
9
  rectangle.properties = rectangle.properties || {};
10
10
  rectangle.properties.shape = 'Rectangle';
11
- // @ts-expect-error turf typing too wide
12
11
  return rectangle;
13
12
  }
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"draw-rectangle-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IACxD,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,SAAS,CAAC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;QAEzC,wCAAwC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"draw-rectangle-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IACxD,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,SAAS,CAAC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;QAEzC,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
- import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
1
+ import { Position, Polygon, Feature } from "../utils/geojson-types.js";
2
2
  import { ThreeClickPolygonMode } from "./three-click-polygon-mode.js";
3
3
  export declare class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
4
- getThreeClickPolygon(coord1: Position, coord2: Position, coord3: Position, modeConfig: any): FeatureOf<Polygon> | null | undefined;
4
+ getThreeClickPolygon(coord1: Position, coord2: Position, coord3: Position, modeConfig: any): Feature<Polygon> | null | undefined;
5
5
  }
6
6
  //# sourceMappingURL=draw-rectangle-using-three-points-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-rectangle-using-three-points-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-using-three-points-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,qBAAqB,EAAC,sCAAmC;AAEjE,qBAAa,iCAAkC,SAAQ,qBAAqB;IAC1E,oBAAoB,CAClB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,GAAG,GACd,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;CAyBzC"}
1
+ {"version":3,"file":"draw-rectangle-using-three-points-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-using-three-points-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC,kCAA+B;AAClE,OAAO,EAAC,qBAAqB,EAAC,sCAAmC;AAEjE,qBAAa,iCAAkC,SAAQ,qBAAqB;IAC1E,oBAAoB,CAClB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;CAyBvC"}
@@ -1,6 +1,6 @@
1
- import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
1
+ import { Position, Polygon, Feature } from "../utils/geojson-types.js";
2
2
  import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
3
3
  export declare class DrawSquareFromCenterMode extends TwoClickPolygonMode {
4
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
4
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon>;
5
5
  }
6
6
  //# sourceMappingURL=draw-square-from-center-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-square-from-center-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-square-from-center-mode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,wBAAyB,SAAQ,mBAAmB;IAC/D,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CAqC5F"}
1
+ {"version":3,"file":"draw-square-from-center-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-square-from-center-mode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC,kCAA+B;AAClE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,wBAAyB,SAAQ,mBAAmB;IAC/D,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAoC1F"}
@@ -32,7 +32,6 @@ export class DrawSquareFromCenterMode extends TwoClickPolygonMode {
32
32
  const square = bboxPolygon([longitude, latitude, corner[0], corner[1]]);
33
33
  square.properties = square.properties || {};
34
34
  square.properties.shape = 'Square';
35
- // @ts-expect-error turf typing too wide
36
35
  return square;
37
36
  }
38
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"draw-square-from-center-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-square-from-center-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAC,KAAK,EAAE,UAAU,IAAI,cAAc,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,wBAAyB,SAAQ,mBAAmB;IAC/D,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,8FAA8F;QAC9F,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,sEAAsE;QACtE,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAE9D,yEAAyE;QACzE,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QAE7C,qEAAqE;QACrE,MAAM,SAAS,GACb,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GACZ,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;QAEnC,wCAAwC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"draw-square-from-center-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-square-from-center-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAC,KAAK,EAAE,UAAU,IAAI,cAAc,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,wBAAyB,SAAQ,mBAAmB;IAC/D,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,8FAA8F;QAC9F,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,sEAAsE;QACtE,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAE9D,yEAAyE;QACzE,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QAE7C,qEAAqE;QACrE,MAAM,SAAS,GACb,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GACZ,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
- import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
1
+ import { Position, Polygon, Feature } from "../utils/geojson-types.js";
2
2
  import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
3
3
  export declare class DrawSquareMode extends TwoClickPolygonMode {
4
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
4
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon>;
5
5
  }
6
6
  //# sourceMappingURL=draw-square-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-square-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-square-mode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CA2B5F"}
1
+ {"version":3,"file":"draw-square-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-square-mode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC,kCAA+B;AAClE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CA2B1F"}
@@ -25,7 +25,6 @@ export class DrawSquareMode extends TwoClickPolygonMode {
25
25
  const square = bboxPolygon([coord1[0], coord1[1], corner[0], corner[1]]);
26
26
  square.properties = square.properties || {};
27
27
  square.properties.shape = 'Square';
28
- // @ts-expect-error turf types too wide
29
28
  return square;
30
29
  }
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"draw-square-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-square-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAC,KAAK,EAAE,UAAU,IAAI,cAAc,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,cAAe,SAAQ,mBAAmB;IACrD,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,8FAA8F;QAC9F,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,sEAAsE;QACtE,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAE9D,yEAAyE;QACzE,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QAE7C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;QAEnC,uCAAuC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"draw-square-mode.js","sourceRoot":"","sources":["../../src/edit-modes/draw-square-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAC,KAAK,EAAE,UAAU,IAAI,cAAc,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,MAAM,OAAO,cAAe,SAAQ,mBAAmB;IACrD,kBAAkB,CAAC,MAAgB,EAAE,MAAgB,EAAE,UAAe;QACpE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,8FAA8F;QAC9F,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,sEAAsE;QACtE,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAE9D,yEAAyE;QACzE,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QAE7C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;QAGnC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { StartDraggingEvent, ModeProps } from "./types.js";
2
- import { FeatureCollection } from "../utils/geojson-types.js";
2
+ import { FeatureCollection, SimpleFeatureCollection } from "../utils/geojson-types.js";
3
3
  import { TranslateMode } from "./translate-mode.js";
4
4
  export declare class DuplicateMode extends TranslateMode {
5
- handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>): void;
5
+ handleStartDragging(event: StartDraggingEvent, props: ModeProps<SimpleFeatureCollection>): void;
6
6
  updateCursor(props: ModeProps<FeatureCollection>): void;
7
7
  }
8
8
  //# sourceMappingURL=duplicate-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/duplicate-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,kBAAkB,EAAE,SAAS,EAAC,mBAAgB;AACtD,OAAO,EAAC,iBAAiB,EAAC,kCAA+B;AACzD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C,qBAAa,aAAc,SAAQ,aAAa;IAC9C,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAQlF,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAOjD"}
1
+ {"version":3,"file":"duplicate-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/duplicate-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,kBAAkB,EAAE,SAAS,EAAC,mBAAgB;AACtD,OAAO,EAAC,iBAAiB,EAAE,uBAAuB,EAAC,kCAA+B;AAClF,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C,qBAAa,aAAc,SAAQ,aAAa;IAC9C,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,uBAAuB,CAAC;IAQxF,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAOjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-mode.js","sourceRoot":"","sources":["../../src/edit-modes/duplicate-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,mBAAmB,CAAC,KAAyB,EAAE,KAAmC;QAChF,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAmC;QAC9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"duplicate-mode.js","sourceRoot":"","sources":["../../src/edit-modes/duplicate-mode.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,mBAAmB,CAAC,KAAyB,EAAE,KAAyC;QACtF,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAmC;QAC9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF"}
@@ -1,10 +1,10 @@
1
- import { LineString, FeatureCollection } from "../utils/geojson-types.js";
1
+ import { LineString, FeatureCollection, SimpleFeatureCollection } from "../utils/geojson-types.js";
2
2
  import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection } from "./types.js";
3
3
  import { GeoJsonEditMode } from "./geojson-edit-mode.js";
4
4
  export declare class ExtendLineStringMode extends GeoJsonEditMode {
5
- getSingleSelectedLineString(props: ModeProps<FeatureCollection>): LineString | null | undefined;
6
- handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void;
7
- getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection;
5
+ getSingleSelectedLineString(props: ModeProps<SimpleFeatureCollection>): LineString | null | undefined;
6
+ handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>): void;
7
+ getGuides(props: ModeProps<SimpleFeatureCollection>): GuideFeatureCollection;
8
8
  handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
9
9
  }
10
10
  //# sourceMappingURL=extend-line-string-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extend-line-string-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/extend-line-string-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,UAAU,EAAE,iBAAiB,EAAC,kCAA+B;AAC/E,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAC,mBAAgB;AACxF,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAGpD,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,2BAA2B,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS;IAS/F,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAgClE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAwCtE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAG/E"}
1
+ {"version":3,"file":"extend-line-string-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/extend-line-string-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,UAAU,EAAE,iBAAiB,EAAE,uBAAuB,EAAC,kCAA+B;AACxG,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAC,mBAAgB;AACxF,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAGpD,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,2BAA2B,CAAC,KAAK,EAAE,SAAS,CAAC,uBAAuB,CAAC,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS;IASrG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,uBAAuB,CAAC;IAgCxE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,uBAAuB,CAAC,GAAG,sBAAsB;IAwC5E,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAG/E"}