@deck.gl-community/editable-layers 9.2.0-beta.6 → 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 (303) 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 +5 -5
  30. package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -1
  31. package/dist/edit-modes/draw-polygon-mode.js.map +1 -1
  32. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +2 -2
  33. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -1
  34. package/dist/edit-modes/draw-rectangle-from-center-mode.js +0 -1
  35. package/dist/edit-modes/draw-rectangle-from-center-mode.js.map +1 -1
  36. package/dist/edit-modes/draw-rectangle-mode.d.ts +2 -2
  37. package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -1
  38. package/dist/edit-modes/draw-rectangle-mode.js +0 -1
  39. package/dist/edit-modes/draw-rectangle-mode.js.map +1 -1
  40. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +2 -2
  41. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -1
  42. package/dist/edit-modes/draw-square-from-center-mode.d.ts +2 -2
  43. package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -1
  44. package/dist/edit-modes/draw-square-from-center-mode.js +0 -1
  45. package/dist/edit-modes/draw-square-from-center-mode.js.map +1 -1
  46. package/dist/edit-modes/draw-square-mode.d.ts +2 -2
  47. package/dist/edit-modes/draw-square-mode.d.ts.map +1 -1
  48. package/dist/edit-modes/draw-square-mode.js +0 -1
  49. package/dist/edit-modes/draw-square-mode.js.map +1 -1
  50. package/dist/edit-modes/duplicate-mode.d.ts +2 -2
  51. package/dist/edit-modes/duplicate-mode.d.ts.map +1 -1
  52. package/dist/edit-modes/duplicate-mode.js.map +1 -1
  53. package/dist/edit-modes/extend-line-string-mode.d.ts +4 -4
  54. package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -1
  55. package/dist/edit-modes/extend-line-string-mode.js.map +1 -1
  56. package/dist/edit-modes/extrude-mode.d.ts +7 -7
  57. package/dist/edit-modes/extrude-mode.d.ts.map +1 -1
  58. package/dist/edit-modes/extrude-mode.js.map +1 -1
  59. package/dist/edit-modes/geojson-edit-mode.d.ts +9 -9
  60. package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -1
  61. package/dist/edit-modes/geojson-edit-mode.js +4 -7
  62. package/dist/edit-modes/geojson-edit-mode.js.map +1 -1
  63. package/dist/edit-modes/immutable-feature-collection.d.ts +7 -7
  64. package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -1
  65. package/dist/edit-modes/immutable-feature-collection.js.map +1 -1
  66. package/dist/edit-modes/measure-area-mode.d.ts +3 -3
  67. package/dist/edit-modes/measure-area-mode.d.ts.map +1 -1
  68. package/dist/edit-modes/measure-area-mode.js.map +1 -1
  69. package/dist/edit-modes/modify-mode.d.ts +8 -8
  70. package/dist/edit-modes/modify-mode.d.ts.map +1 -1
  71. package/dist/edit-modes/modify-mode.js +2 -4
  72. package/dist/edit-modes/modify-mode.js.map +1 -1
  73. package/dist/edit-modes/resize-circle-mode.d.ts +3 -3
  74. package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -1
  75. package/dist/edit-modes/resize-circle-mode.js +1 -5
  76. package/dist/edit-modes/resize-circle-mode.js.map +1 -1
  77. package/dist/edit-modes/rotate-mode.d.ts +7 -7
  78. package/dist/edit-modes/rotate-mode.d.ts.map +1 -1
  79. package/dist/edit-modes/rotate-mode.js +2 -9
  80. package/dist/edit-modes/rotate-mode.js.map +1 -1
  81. package/dist/edit-modes/scale-mode.d.ts +11 -11
  82. package/dist/edit-modes/scale-mode.d.ts.map +1 -1
  83. package/dist/edit-modes/scale-mode.js +1 -6
  84. package/dist/edit-modes/scale-mode.js.map +1 -1
  85. package/dist/edit-modes/snappable-mode.d.ts +5 -5
  86. package/dist/edit-modes/snappable-mode.d.ts.map +1 -1
  87. package/dist/edit-modes/snappable-mode.js.map +1 -1
  88. package/dist/edit-modes/split-polygon-mode.d.ts +5 -5
  89. package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -1
  90. package/dist/edit-modes/split-polygon-mode.js +2 -5
  91. package/dist/edit-modes/split-polygon-mode.js.map +1 -1
  92. package/dist/edit-modes/three-click-polygon-mode.d.ts +3 -3
  93. package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -1
  94. package/dist/edit-modes/three-click-polygon-mode.js.map +1 -1
  95. package/dist/edit-modes/translate-mode.d.ts +6 -6
  96. package/dist/edit-modes/translate-mode.d.ts.map +1 -1
  97. package/dist/edit-modes/translate-mode.js +1 -2
  98. package/dist/edit-modes/translate-mode.js.map +1 -1
  99. package/dist/edit-modes/two-click-polygon-mode.d.ts +6 -6
  100. package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -1
  101. package/dist/edit-modes/two-click-polygon-mode.js.map +1 -1
  102. package/dist/edit-modes/types.d.ts +3 -3
  103. package/dist/edit-modes/types.d.ts.map +1 -1
  104. package/dist/edit-modes/utils.d.ts +7 -7
  105. package/dist/edit-modes/utils.d.ts.map +1 -1
  106. package/dist/edit-modes/utils.js +0 -3
  107. package/dist/edit-modes/utils.js.map +1 -1
  108. package/dist/editable-layers/editable-geojson-layer.d.ts +5 -13
  109. package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -1
  110. package/dist/editable-layers/editable-geojson-layer.js +4 -4
  111. package/dist/editable-layers/editable-geojson-layer.js.map +1 -1
  112. package/dist/editable-layers/selection-layer.d.ts +1 -2
  113. package/dist/editable-layers/selection-layer.d.ts.map +1 -1
  114. package/dist/editable-layers/selection-layer.js +2 -2
  115. package/dist/editable-layers/selection-layer.js.map +1 -1
  116. package/dist/index.cjs +192 -942
  117. package/dist/index.cjs.map +4 -4
  118. package/dist/index.d.ts +3 -11
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +1 -10
  121. package/dist/index.js.map +1 -1
  122. package/dist/mode-handlers/composite-mode-handler.d.ts +3 -3
  123. package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -1
  124. package/dist/mode-handlers/composite-mode-handler.js.map +1 -1
  125. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -1
  126. package/dist/mode-handlers/draw-90degree-polygon-handler.js +4 -2
  127. package/dist/mode-handlers/draw-90degree-polygon-handler.js.map +1 -1
  128. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -1
  129. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +0 -1
  130. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js.map +1 -1
  131. package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -1
  132. package/dist/mode-handlers/draw-circle-from-center-handler.js +0 -1
  133. package/dist/mode-handlers/draw-circle-from-center-handler.js.map +1 -1
  134. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -1
  135. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +1 -2
  136. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js.map +1 -1
  137. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -1
  138. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +2 -2
  139. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js.map +1 -1
  140. package/dist/mode-handlers/draw-point-handler.js.map +1 -1
  141. package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -1
  142. package/dist/mode-handlers/draw-polygon-handler.js +4 -2
  143. package/dist/mode-handlers/draw-polygon-handler.js.map +1 -1
  144. package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -1
  145. package/dist/mode-handlers/draw-rectangle-handler.js +0 -1
  146. package/dist/mode-handlers/draw-rectangle-handler.js.map +1 -1
  147. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -1
  148. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +4 -2
  149. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js.map +1 -1
  150. package/dist/mode-handlers/mode-handler.d.ts +12 -12
  151. package/dist/mode-handlers/mode-handler.d.ts.map +1 -1
  152. package/dist/mode-handlers/mode-handler.js +6 -7
  153. package/dist/mode-handlers/mode-handler.js.map +1 -1
  154. package/dist/mode-handlers/modify-handler.d.ts +2 -2
  155. package/dist/mode-handlers/modify-handler.d.ts.map +1 -1
  156. package/dist/mode-handlers/modify-handler.js +1 -4
  157. package/dist/mode-handlers/modify-handler.js.map +1 -1
  158. package/dist/mode-handlers/rotate-handler.d.ts +2 -2
  159. package/dist/mode-handlers/rotate-handler.d.ts.map +1 -1
  160. package/dist/mode-handlers/rotate-handler.js +2 -7
  161. package/dist/mode-handlers/rotate-handler.js.map +1 -1
  162. package/dist/mode-handlers/scale-handler.d.ts +2 -2
  163. package/dist/mode-handlers/scale-handler.d.ts.map +1 -1
  164. package/dist/mode-handlers/scale-handler.js +2 -7
  165. package/dist/mode-handlers/scale-handler.js.map +1 -1
  166. package/dist/mode-handlers/snappable-handler.d.ts +3 -3
  167. package/dist/mode-handlers/snappable-handler.d.ts.map +1 -1
  168. package/dist/mode-handlers/snappable-handler.js.map +1 -1
  169. package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -1
  170. package/dist/mode-handlers/split-polygon-handler.js +4 -5
  171. package/dist/mode-handlers/split-polygon-handler.js.map +1 -1
  172. package/dist/mode-handlers/translate-handler.d.ts +2 -2
  173. package/dist/mode-handlers/translate-handler.d.ts.map +1 -1
  174. package/dist/mode-handlers/translate-handler.js +1 -4
  175. package/dist/mode-handlers/translate-handler.js.map +1 -1
  176. package/dist/utils/geojson-types.d.ts +13 -34
  177. package/dist/utils/geojson-types.d.ts.map +1 -1
  178. package/dist/utils/translate-from-center.d.ts +2 -4
  179. package/dist/utils/translate-from-center.d.ts.map +1 -1
  180. package/dist/utils/translate-from-center.js.map +1 -1
  181. package/dist/utils/utils.d.ts +3 -3
  182. package/dist/utils/utils.d.ts.map +1 -1
  183. package/dist/utils/utils.js.map +1 -1
  184. package/package.json +33 -34
  185. package/src/edit-modes/draw-90degree-polygon-mode.ts +2 -2
  186. package/src/edit-modes/draw-circle-by-diameter-mode.ts +3 -3
  187. package/src/edit-modes/draw-circle-from-center-mode.ts +3 -3
  188. package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +4 -4
  189. package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +3 -4
  190. package/src/edit-modes/draw-line-string-mode.ts +5 -5
  191. package/src/edit-modes/draw-point-mode.ts +2 -2
  192. package/src/edit-modes/draw-polygon-by-dragging-mode.ts +8 -8
  193. package/src/edit-modes/draw-polygon-mode.ts +8 -8
  194. package/src/edit-modes/draw-rectangle-from-center-mode.ts +2 -3
  195. package/src/edit-modes/draw-rectangle-mode.ts +2 -3
  196. package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +2 -2
  197. package/src/edit-modes/draw-square-from-center-mode.ts +2 -3
  198. package/src/edit-modes/draw-square-mode.ts +3 -3
  199. package/src/edit-modes/duplicate-mode.ts +2 -2
  200. package/src/edit-modes/extend-line-string-mode.ts +4 -4
  201. package/src/edit-modes/extrude-mode.ts +7 -7
  202. package/src/edit-modes/geojson-edit-mode.ts +16 -19
  203. package/src/edit-modes/immutable-feature-collection.ts +10 -11
  204. package/src/edit-modes/measure-area-mode.ts +3 -3
  205. package/src/edit-modes/modify-mode.ts +13 -13
  206. package/src/edit-modes/resize-circle-mode.ts +6 -8
  207. package/src/edit-modes/rotate-mode.ts +9 -15
  208. package/src/edit-modes/scale-mode.ts +11 -15
  209. package/src/edit-modes/snappable-mode.ts +5 -5
  210. package/src/edit-modes/split-polygon-mode.ts +12 -16
  211. package/src/edit-modes/three-click-polygon-mode.ts +3 -3
  212. package/src/edit-modes/translate-mode.ts +10 -12
  213. package/src/edit-modes/two-click-polygon-mode.ts +7 -7
  214. package/src/edit-modes/types.ts +4 -4
  215. package/src/edit-modes/utils.ts +12 -16
  216. package/src/editable-layers/editable-geojson-layer.ts +19 -18
  217. package/src/editable-layers/selection-layer.ts +3 -3
  218. package/src/index.ts +8 -28
  219. package/src/mode-handlers/composite-mode-handler.ts +3 -3
  220. package/src/mode-handlers/draw-90degree-polygon-handler.ts +4 -2
  221. package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +0 -1
  222. package/src/mode-handlers/draw-circle-from-center-handler.ts +0 -1
  223. package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +1 -2
  224. package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +3 -2
  225. package/src/mode-handlers/draw-point-handler.ts +2 -2
  226. package/src/mode-handlers/draw-polygon-handler.ts +4 -2
  227. package/src/mode-handlers/draw-rectangle-handler.ts +0 -1
  228. package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +4 -2
  229. package/src/mode-handlers/mode-handler.ts +20 -21
  230. package/src/mode-handlers/modify-handler.ts +2 -4
  231. package/src/mode-handlers/rotate-handler.ts +4 -8
  232. package/src/mode-handlers/scale-handler.ts +4 -8
  233. package/src/mode-handlers/snappable-handler.ts +3 -3
  234. package/src/mode-handlers/split-polygon-handler.ts +6 -7
  235. package/src/mode-handlers/translate-handler.ts +3 -5
  236. package/src/utils/geojson-types.ts +15 -54
  237. package/src/utils/translate-from-center.ts +6 -11
  238. package/src/utils/utils.ts +4 -4
  239. package/dist/lib/constants.d.ts +0 -7
  240. package/dist/lib/constants.d.ts.map +0 -1
  241. package/dist/lib/constants.js +0 -10
  242. package/dist/lib/constants.js.map +0 -1
  243. package/dist/lib/deck-renderer/deck-cache.d.ts +0 -15
  244. package/dist/lib/deck-renderer/deck-cache.d.ts.map +0 -1
  245. package/dist/lib/deck-renderer/deck-cache.js +0 -52
  246. package/dist/lib/deck-renderer/deck-cache.js.map +0 -1
  247. package/dist/lib/deck-renderer/deck-drawer.d.ts +0 -63
  248. package/dist/lib/deck-renderer/deck-drawer.d.ts.map +0 -1
  249. package/dist/lib/deck-renderer/deck-drawer.js +0 -233
  250. package/dist/lib/deck-renderer/deck-drawer.js.map +0 -1
  251. package/dist/lib/feature.d.ts +0 -11
  252. package/dist/lib/feature.d.ts.map +0 -1
  253. package/dist/lib/feature.js +0 -20
  254. package/dist/lib/feature.js.map +0 -1
  255. package/dist/lib/layer-mouse-event.d.ts +0 -12
  256. package/dist/lib/layer-mouse-event.d.ts.map +0 -1
  257. package/dist/lib/layer-mouse-event.js +0 -28
  258. package/dist/lib/layer-mouse-event.js.map +0 -1
  259. package/dist/lib/layers/junctions-layer.d.ts +0 -9
  260. package/dist/lib/layers/junctions-layer.d.ts.map +0 -1
  261. package/dist/lib/layers/junctions-layer.js +0 -37
  262. package/dist/lib/layers/junctions-layer.js.map +0 -1
  263. package/dist/lib/layers/segments-layer.d.ts +0 -19
  264. package/dist/lib/layers/segments-layer.d.ts.map +0 -1
  265. package/dist/lib/layers/segments-layer.js +0 -98
  266. package/dist/lib/layers/segments-layer.js.map +0 -1
  267. package/dist/lib/layers/texts-layer.d.ts +0 -9
  268. package/dist/lib/layers/texts-layer.d.ts.map +0 -1
  269. package/dist/lib/layers/texts-layer.js +0 -36
  270. package/dist/lib/layers/texts-layer.js.map +0 -1
  271. package/dist/lib/math.d.ts +0 -12
  272. package/dist/lib/math.d.ts.map +0 -1
  273. package/dist/lib/math.js +0 -26
  274. package/dist/lib/math.js.map +0 -1
  275. package/dist/lib/nebula-core.d.ts +0 -35
  276. package/dist/lib/nebula-core.d.ts.map +0 -1
  277. package/dist/lib/nebula-core.js +0 -258
  278. package/dist/lib/nebula-core.js.map +0 -1
  279. package/dist/lib/nebula-layer.d.ts +0 -14
  280. package/dist/lib/nebula-layer.d.ts.map +0 -1
  281. package/dist/lib/nebula-layer.js +0 -30
  282. package/dist/lib/nebula-layer.js.map +0 -1
  283. package/dist/lib/style.d.ts +0 -20
  284. package/dist/lib/style.d.ts.map +0 -1
  285. package/dist/lib/style.js +0 -24
  286. package/dist/lib/style.js.map +0 -1
  287. package/dist/utils/curve-utils.d.ts +0 -3
  288. package/dist/utils/curve-utils.d.ts.map +0 -1
  289. package/dist/utils/curve-utils.js +0 -65
  290. package/dist/utils/curve-utils.js.map +0 -1
  291. package/src/lib/constants.ts +0 -10
  292. package/src/lib/deck-renderer/deck-cache.ts +0 -61
  293. package/src/lib/deck-renderer/deck-drawer.ts +0 -263
  294. package/src/lib/feature.ts +0 -31
  295. package/src/lib/layer-mouse-event.ts +0 -33
  296. package/src/lib/layers/junctions-layer.ts +0 -44
  297. package/src/lib/layers/segments-layer.ts +0 -112
  298. package/src/lib/layers/texts-layer.ts +0 -47
  299. package/src/lib/math.ts +0 -30
  300. package/src/lib/nebula-core.ts +0 -327
  301. package/src/lib/nebula-layer.ts +0 -37
  302. package/src/lib/style.ts +0 -26
  303. package/src/utils/curve-utils.ts +0 -81
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl-community/editable-layers",
3
3
  "description": "A suite of 3D-enabled data editing overlays, suitable for deck.gl",
4
4
  "license": "MIT",
5
- "version": "9.2.0-beta.6",
5
+ "version": "9.2.0-beta.8",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -36,38 +36,37 @@
36
36
  "src"
37
37
  ],
38
38
  "dependencies": {
39
- "@turf/along": "^6.5.0",
40
- "@turf/area": "^6.5.0",
41
- "@turf/bbox": "^6.5.0",
42
- "@turf/bbox-polygon": "^6.5.0",
43
- "@turf/bearing": "^6.5.0",
44
- "@turf/boolean-point-in-polygon": "^6.5.0",
45
- "@turf/boolean-within": "^6.5.0",
46
- "@turf/buffer": "^6.5.0",
47
- "@turf/center": "^6.5.0",
48
- "@turf/centroid": "^6.5.0",
49
- "@turf/circle": "^6.5.0",
50
- "@turf/clone": "^6.5.0",
51
- "@turf/destination": "^6.5.0",
52
- "@turf/difference": "^6.5.0",
53
- "@turf/distance": "^6.5.0",
54
- "@turf/ellipse": "^6.5.0",
55
- "@turf/helpers": "^6.5.0",
56
- "@turf/intersect": "^6.5.0",
57
- "@turf/invariant": "^6.5.0",
58
- "@turf/line-intersect": "^6.5.0",
59
- "@turf/meta": "^6.5.0",
60
- "@turf/midpoint": "^6.5.0",
61
- "@turf/nearest-point-on-line": "^6.5.0",
62
- "@turf/point-to-line-distance": "^6.5.0",
63
- "@turf/polygon-to-line": "^6.5.0",
64
- "@turf/rewind": "^6.5.0",
65
- "@turf/transform-rotate": "^6.5.0",
66
- "@turf/transform-scale": "^6.5.0",
67
- "@turf/transform-translate": "^6.5.0",
68
- "@turf/union": "^6.5.0",
69
- "@types/geojson": "^7946.0.14",
70
- "cubic-hermite-spline": "^1.0.1",
39
+ "@turf/along": "^7.2.0",
40
+ "@turf/area": "^7.2.0",
41
+ "@turf/bbox": "^7.2.0",
42
+ "@turf/bbox-polygon": "^7.2.0",
43
+ "@turf/bearing": "^7.2.0",
44
+ "@turf/boolean-point-in-polygon": "^7.2.0",
45
+ "@turf/boolean-within": "^7.2.0",
46
+ "@turf/buffer": "^7.2.0",
47
+ "@turf/center": "^7.2.0",
48
+ "@turf/centroid": "^7.2.0",
49
+ "@turf/circle": "^7.2.0",
50
+ "@turf/clone": "^7.2.0",
51
+ "@turf/destination": "^7.2.0",
52
+ "@turf/difference": "^7.2.0",
53
+ "@turf/distance": "^7.2.0",
54
+ "@turf/ellipse": "^7.2.0",
55
+ "@turf/helpers": "^7.2.0",
56
+ "@turf/intersect": "^7.2.0",
57
+ "@turf/invariant": "^7.2.0",
58
+ "@turf/line-intersect": "^7.2.0",
59
+ "@turf/meta": "^7.2.0",
60
+ "@turf/midpoint": "^7.2.0",
61
+ "@turf/nearest-point-on-line": "^7.2.0",
62
+ "@turf/point-to-line-distance": "^7.2.0",
63
+ "@turf/polygon-to-line": "^7.2.0",
64
+ "@turf/rewind": "^7.2.0",
65
+ "@turf/transform-rotate": "^7.2.0",
66
+ "@turf/transform-scale": "^7.2.0",
67
+ "@turf/transform-translate": "^7.2.0",
68
+ "@turf/union": "^7.2.0",
69
+ "@types/geojson": "^7946.0.16",
71
70
  "eventemitter3": "^5.0.0",
72
71
  "lodash.omit": "^4.1.1",
73
72
  "lodash.throttle": "^4.1.1",
@@ -87,5 +86,5 @@
87
86
  "@luma.gl/engine": "~9.2.0",
88
87
  "@math.gl/core": ">=4.0.1"
89
88
  },
90
- "gitHead": "c72a43fa7f8edfb9456b37656b095d036946b3a4"
89
+ "gitHead": "cc866d0fda6b21627421d6168d2f0abec86ab425"
91
90
  }
@@ -19,7 +19,7 @@ import {
19
19
  GuideFeatureCollection,
20
20
  TentativeFeature
21
21
  } from './types';
22
- import {Polygon, LineString, Position, FeatureCollection} from '../utils/geojson-types';
22
+ import {Polygon, LineString, Position, FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
23
23
  import {GeoJsonEditMode} from './geojson-edit-mode';
24
24
 
25
25
  export class Draw90DegreePolygonMode extends GeoJsonEditMode {
@@ -98,7 +98,7 @@ export class Draw90DegreePolygonMode extends GeoJsonEditMode {
98
98
  super.handlePointerMove(event, props);
99
99
  }
100
100
 
101
- handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
101
+ handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
102
102
  const {picks} = event;
103
103
  const tentativeFeature = this.getTentativeGuide(props);
104
104
  this.addClickSequence(event);
@@ -7,7 +7,7 @@ import distance from '@turf/distance';
7
7
  import area from '@turf/area';
8
8
  import {memoize} from '../utils/memoize';
9
9
  import {ModeProps, Tooltip} from './types';
10
- import {Position, Polygon, FeatureOf, FeatureCollection} from '../utils/geojson-types';
10
+ import {Position, Polygon, Feature, FeatureCollection} from '../utils/geojson-types';
11
11
  import {getIntermediatePosition} from './geojson-edit-mode';
12
12
  import {TwoClickPolygonMode} from './two-click-polygon-mode';
13
13
 
@@ -16,7 +16,7 @@ export class DrawCircleByDiameterMode extends TwoClickPolygonMode {
16
16
  position: Position = null!;
17
17
  areaCircle: number | null | undefined = null;
18
18
  diameter: number | null | undefined = null;
19
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
19
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
20
20
  // Default turf value for circle is 64
21
21
  const {steps = 64} = modeConfig || {};
22
22
  const options = {steps};
@@ -44,7 +44,7 @@ export class DrawCircleByDiameterMode extends TwoClickPolygonMode {
44
44
  geometry.properties.editProperties.center = centerCoordinates;
45
45
  // calculate area of circle with turf function
46
46
  this.areaCircle = area(geometry);
47
- // @ts-expect-error turf types diff
47
+
48
48
  return geometry;
49
49
  }
50
50
 
@@ -7,14 +7,14 @@ import distance from '@turf/distance';
7
7
  import area from '@turf/area';
8
8
  import {memoize} from '../utils/memoize';
9
9
  import {ModeProps, Tooltip} from './types';
10
- import {Position, Polygon, FeatureOf, FeatureCollection} from '../utils/geojson-types';
10
+ import {Position, Polygon, Feature, FeatureCollection} from '../utils/geojson-types';
11
11
  import {TwoClickPolygonMode} from './two-click-polygon-mode';
12
12
 
13
13
  export class DrawCircleFromCenterMode extends TwoClickPolygonMode {
14
14
  radius: number | null | undefined = null;
15
15
  position: Position = null!;
16
16
  areaCircle: number | null | undefined = null;
17
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
17
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
18
18
  // Default turf value for circle is 64
19
19
  const {steps = 64} = modeConfig || {};
20
20
  const options = {steps};
@@ -38,7 +38,7 @@ export class DrawCircleFromCenterMode extends TwoClickPolygonMode {
38
38
  geometry.properties.editProperties.center = coord1;
39
39
  // calculate area of circle with turf function
40
40
  this.areaCircle = area(geometry);
41
- // @ts-expect-error turf types diff
41
+
42
42
  return geometry;
43
43
  }
44
44
 
@@ -6,12 +6,12 @@ import bboxPolygon from '@turf/bbox-polygon';
6
6
  import distance from '@turf/distance';
7
7
  import ellipse from '@turf/ellipse';
8
8
  import {point} from '@turf/helpers';
9
- import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
9
+ import {Position, Polygon, Feature} from '../utils/geojson-types';
10
10
  import {getIntermediatePosition} from './geojson-edit-mode';
11
11
  import {TwoClickPolygonMode} from './two-click-polygon-mode';
12
12
 
13
13
  export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
14
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
14
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
15
15
  const minX = Math.min(coord1[0], coord2[0]);
16
16
  const minY = Math.min(coord1[1], coord2[1]);
17
17
  const maxX = Math.max(coord1[0], coord2[0]);
@@ -23,7 +23,7 @@ export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
23
23
  const xSemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[1])), 0.001);
24
24
  const ySemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[3])), 0.001);
25
25
 
26
- const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis);
26
+ const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis, {});
27
27
 
28
28
  geometry.properties = geometry.properties || {};
29
29
  geometry.properties.editProperties = geometry.properties.editProperties || {};
@@ -32,7 +32,7 @@ export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
32
32
  geometry.properties.editProperties.ySemiAxis = {value: ySemiAxis, unit: 'kilometers'};
33
33
  geometry.properties.editProperties.angle = 0;
34
34
  geometry.properties.editProperties.center = centerCoordinates;
35
- // @ts-expect-error fix return types
35
+
36
36
  return geometry;
37
37
  }
38
38
  }
@@ -6,7 +6,7 @@ import distance from '@turf/distance';
6
6
  import ellipse from '@turf/ellipse';
7
7
  import bearing from '@turf/bearing';
8
8
  import {point} from '@turf/helpers';
9
- import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
9
+ import {Position, Polygon, Feature} from '../utils/geojson-types';
10
10
  import {getIntermediatePosition} from './geojson-edit-mode';
11
11
  import {ThreeClickPolygonMode} from './three-click-polygon-mode';
12
12
 
@@ -16,12 +16,11 @@ export class DrawEllipseUsingThreePointsMode extends ThreeClickPolygonMode {
16
16
  coord2: Position,
17
17
  coord3: Position,
18
18
  modeConfig: any
19
- ): FeatureOf<Polygon> | null | undefined {
19
+ ): Feature<Polygon> | null | undefined {
20
20
  const centerCoordinates = getIntermediatePosition(coord1, coord2);
21
21
  const xSemiAxis = Math.max(distance(centerCoordinates, point(coord3)), 0.001);
22
22
  const ySemiAxis = Math.max(distance(coord1, coord2), 0.001) / 2;
23
23
  const options = {angle: bearing(coord1, coord2)};
24
- // @ts-expect-error fix return types
25
24
  const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis, options);
26
25
 
27
26
  geometry.properties = geometry.properties || {};
@@ -31,7 +30,7 @@ export class DrawEllipseUsingThreePointsMode extends ThreeClickPolygonMode {
31
30
  geometry.properties.editProperties.ySemiAxis = {value: ySemiAxis, unit: 'kilometers'};
32
31
  geometry.properties.editProperties.angle = options.angle;
33
32
  geometry.properties.editProperties.center = centerCoordinates;
34
- // @ts-expect-error fix return types
33
+
35
34
  return geometry;
36
35
  }
37
36
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  import distance from '@turf/distance';
6
6
  import {memoize} from '../utils/memoize';
7
- import {LineString, FeatureCollection, Position} from '../utils/geojson-types';
7
+ import {LineString, FeatureCollection, Position, SimpleFeatureCollection} from '../utils/geojson-types';
8
8
  import {
9
9
  ClickEvent,
10
10
  PointerMoveEvent,
@@ -22,7 +22,7 @@ export class DrawLineStringMode extends GeoJsonEditMode {
22
22
  dist = 0;
23
23
  position: Position = null!;
24
24
  elems: Position[] = [];
25
- handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
25
+ handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
26
26
  const {picks} = event;
27
27
  const clickedEditHandle = getPickedEditHandle(picks);
28
28
 
@@ -62,11 +62,11 @@ export class DrawLineStringMode extends GeoJsonEditMode {
62
62
  }
63
63
  }
64
64
 
65
- handleDoubleClick(event: DoubleClickEvent, props: ModeProps<FeatureCollection>) {
65
+ handleDoubleClick(event: DoubleClickEvent, props: ModeProps<SimpleFeatureCollection>) {
66
66
  this.finishDrawing(props);
67
67
  }
68
68
 
69
- finishDrawing(props: ModeProps<FeatureCollection>) {
69
+ finishDrawing(props: ModeProps<SimpleFeatureCollection>) {
70
70
  const clickSequence = this.getClickSequence();
71
71
  if (clickSequence.length > 1) {
72
72
  const lineStringToAdd: LineString = {
@@ -81,7 +81,7 @@ export class DrawLineStringMode extends GeoJsonEditMode {
81
81
  }
82
82
  }
83
83
 
84
- handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>) {
84
+ handleKeyUp(event: KeyboardEvent, props: ModeProps<SimpleFeatureCollection>) {
85
85
  const {key} = event;
86
86
  if (key === 'Enter') {
87
87
  this.finishDrawing(props);
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {ClickEvent, PointerMoveEvent, ModeProps, TentativeFeature} from './types';
6
- import {FeatureCollection, Point} from '../utils/geojson-types';
6
+ import {FeatureCollection, SimpleFeatureCollection, Point} from '../utils/geojson-types';
7
7
  import {GeoJsonEditMode} from './geojson-edit-mode';
8
8
 
9
9
  export class DrawPointMode extends GeoJsonEditMode {
@@ -23,7 +23,7 @@ export class DrawPointMode extends GeoJsonEditMode {
23
23
  };
24
24
  }
25
25
 
26
- handleClick({mapCoords}: ClickEvent, props: ModeProps<FeatureCollection>): void {
26
+ handleClick({mapCoords}: ClickEvent, props: ModeProps<SimpleFeatureCollection>): void {
27
27
  const geometry: Point = {
28
28
  type: 'Point',
29
29
  coordinates: mapCoords
@@ -4,20 +4,20 @@
4
4
 
5
5
  import throttle from 'lodash.throttle';
6
6
  import {ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps} from './types';
7
- import {Polygon, FeatureCollection} from '../utils/geojson-types';
7
+ import {Polygon, SimpleFeatureCollection} from '../utils/geojson-types';
8
8
  import {getPickedEditHandle} from './utils';
9
9
  import {DrawPolygonMode} from './draw-polygon-mode';
10
10
 
11
- type DraggingHandler = (event: DraggingEvent, props: ModeProps<FeatureCollection>) => void;
11
+ type DraggingHandler = (event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>) => void;
12
12
 
13
13
  export class DrawPolygonByDraggingMode extends DrawPolygonMode {
14
14
  handleDraggingThrottled: DraggingHandler | null | undefined = null;
15
15
 
16
- handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
16
+ handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
17
17
  // No-op
18
18
  }
19
19
 
20
- handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>) {
20
+ handleStartDragging(event: StartDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
21
21
  event.cancelPan();
22
22
  if (props.modeConfig && props.modeConfig.throttleMs) {
23
23
  // eslint-disable-next-line @typescript-eslint/unbound-method
@@ -28,7 +28,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
28
28
  }
29
29
  }
30
30
 
31
- handleStopDragging(event: StopDraggingEvent, props: ModeProps<FeatureCollection>) {
31
+ handleStopDragging(event: StopDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
32
32
  this.addClickSequence(event);
33
33
  const clickSequence = this.getClickSequence();
34
34
  // @ts-expect-error cancel() not typed
@@ -52,7 +52,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
52
52
  this.resetClickSequence();
53
53
  }
54
54
 
55
- handleDraggingAux(event: DraggingEvent, props: ModeProps<FeatureCollection>) {
55
+ handleDraggingAux(event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
56
56
  const {picks} = event;
57
57
  const clickedEditHandle = getPickedEditHandle(picks);
58
58
 
@@ -69,13 +69,13 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
69
69
  }
70
70
  }
71
71
 
72
- handleDragging(event: DraggingEvent, props: ModeProps<FeatureCollection>) {
72
+ handleDragging(event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
73
73
  if (this.handleDraggingThrottled) {
74
74
  this.handleDraggingThrottled(event, props);
75
75
  }
76
76
  }
77
77
 
78
- handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>) {
78
+ handleKeyUp(event: KeyboardEvent, props: ModeProps<SimpleFeatureCollection>) {
79
79
  if (event.key === 'Enter') {
80
80
  const clickSequence = this.getClickSequence();
81
81
  if (clickSequence.length > 2) {
@@ -5,7 +5,7 @@
5
5
  import lineIntersect from '@turf/line-intersect';
6
6
  import { polygon as turfPolygon} from '@turf/helpers';
7
7
  import booleanWithin from "@turf/boolean-within";
8
-
8
+ import type {Geometry} from 'geojson'
9
9
 
10
10
  import {
11
11
  ClickEvent,
@@ -16,7 +16,7 @@ import {
16
16
  GuideFeature,
17
17
  DoubleClickEvent
18
18
  } from './types';
19
- import {Position, FeatureCollection, Geometry} from '../utils/geojson-types';
19
+ import {Position, FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
20
20
  import {getPickedEditHandle} from './utils';
21
21
  import {GeoJsonEditMode} from './geojson-edit-mode';
22
22
  import { ImmutableFeatureCollection } from './immutable-feature-collection';
@@ -98,7 +98,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
98
98
  }
99
99
 
100
100
  // eslint-disable-next-line complexity, max-statements
101
- handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
101
+ handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
102
102
  const {picks} = event;
103
103
  const clickedEditHandle = getPickedEditHandle(picks);
104
104
  const clickSequence = this.getClickSequence();
@@ -173,12 +173,12 @@ export class DrawPolygonMode extends GeoJsonEditMode {
173
173
  }
174
174
  }
175
175
 
176
- handleDoubleClick(_event: DoubleClickEvent, props: ModeProps<FeatureCollection>) {
176
+ handleDoubleClick(_event: DoubleClickEvent, props: ModeProps<SimpleFeatureCollection>) {
177
177
  this.finishDrawing(props);
178
178
  this.resetClickSequence();
179
179
  }
180
180
 
181
- handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>) {
181
+ handleKeyUp(event: KeyboardEvent, props: ModeProps<SimpleFeatureCollection>) {
182
182
  if (event.key === "Enter") {
183
183
  this.finishDrawing(props);
184
184
  this.resetClickSequence();
@@ -201,7 +201,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
201
201
  }
202
202
 
203
203
  // eslint-disable-next-line max-statements, complexity
204
- finishDrawing(props: ModeProps<FeatureCollection>) {
204
+ finishDrawing(props: ModeProps<SimpleFeatureCollection>) {
205
205
  const clickSequence = this.getClickSequence();
206
206
  const polygon = [...clickSequence, clickSequence[0]];
207
207
 
@@ -261,7 +261,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
261
261
  private tryAddHoleToExistingPolygon(
262
262
  newPolygon: any,
263
263
  polygon: Position[],
264
- props: ModeProps<FeatureCollection>
264
+ props: ModeProps<SimpleFeatureCollection>
265
265
  ): { handled: boolean } {
266
266
  for (const [featureIndex, feature] of props.data.features.entries()) {
267
267
  if (feature.geometry.type === "Polygon") {
@@ -280,7 +280,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
280
280
  featureIndex: number,
281
281
  newPolygon: any,
282
282
  polygon: Position[],
283
- props: ModeProps<FeatureCollection>
283
+ props: ModeProps<SimpleFeatureCollection>
284
284
  ): { handled: boolean } {
285
285
  const outer = turfPolygon(feature.geometry.coordinates);
286
286
 
@@ -3,11 +3,11 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import bboxPolygon from '@turf/bbox-polygon';
6
- import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
6
+ import {Position, Polygon, Feature} from '../utils/geojson-types';
7
7
  import {TwoClickPolygonMode} from './two-click-polygon-mode';
8
8
 
9
9
  export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
10
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
10
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
11
11
  const longitude =
12
12
  coord1[0] > coord2[0]
13
13
  ? coord1[0] + Math.abs(coord1[0] - coord2[0])
@@ -21,7 +21,6 @@ export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
21
21
  rectangle.properties = rectangle.properties || {};
22
22
  rectangle.properties.shape = 'Rectangle';
23
23
 
24
- // @ts-expect-error turf typing too wide
25
24
  return rectangle;
26
25
  }
27
26
  }
@@ -3,16 +3,15 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import bboxPolygon from '@turf/bbox-polygon';
6
- import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
6
+ import {Position, Polygon, Feature} from '../utils/geojson-types';
7
7
  import {TwoClickPolygonMode} from './two-click-polygon-mode';
8
8
 
9
9
  export class DrawRectangleMode extends TwoClickPolygonMode {
10
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
10
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
11
11
  const rectangle = bboxPolygon([coord1[0], coord1[1], coord2[0], coord2[1]]);
12
12
  rectangle.properties = rectangle.properties || {};
13
13
  rectangle.properties.shape = 'Rectangle';
14
14
 
15
- // @ts-expect-error turf typing too wide
16
15
  return rectangle;
17
16
  }
18
17
  }
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {generatePointsParallelToLinePoints} from './utils';
6
- import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
6
+ import {Position, Polygon, Feature} from '../utils/geojson-types';
7
7
  import {ThreeClickPolygonMode} from './three-click-polygon-mode';
8
8
 
9
9
  export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
@@ -12,7 +12,7 @@ export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
12
12
  coord2: Position,
13
13
  coord3: Position,
14
14
  modeConfig: any
15
- ): FeatureOf<Polygon> | null | undefined {
15
+ ): Feature<Polygon> | null | undefined {
16
16
  const [p3, p4] = generatePointsParallelToLinePoints(coord1, coord2, coord3);
17
17
 
18
18
  return {
@@ -6,11 +6,11 @@ import bboxPolygon from '@turf/bbox-polygon';
6
6
  import turfDistance from '@turf/distance';
7
7
  import turfAlong from '@turf/along';
8
8
  import {point, lineString as turfLineString} from '@turf/helpers';
9
- import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
9
+ import {Position, Polygon, Feature} from '../utils/geojson-types';
10
10
  import {TwoClickPolygonMode} from './two-click-polygon-mode';
11
11
 
12
12
  export class DrawSquareFromCenterMode extends TwoClickPolygonMode {
13
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
13
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
14
14
  // get the coordinates of the other two rectangle vertices
15
15
  const coord3 = [coord2[0], coord1[1]];
16
16
  const coord4 = [coord1[0], coord2[1]];
@@ -44,7 +44,6 @@ export class DrawSquareFromCenterMode extends TwoClickPolygonMode {
44
44
  square.properties = square.properties || {};
45
45
  square.properties.shape = 'Square';
46
46
 
47
- // @ts-expect-error turf typing too wide
48
47
  return square;
49
48
  }
50
49
  }
@@ -6,11 +6,11 @@ import bboxPolygon from '@turf/bbox-polygon';
6
6
  import turfDistance from '@turf/distance';
7
7
  import turfAlong from '@turf/along';
8
8
  import {point, lineString as turfLineString} from '@turf/helpers';
9
- import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
9
+ import {Position, Polygon, Feature} from '../utils/geojson-types';
10
10
  import {TwoClickPolygonMode} from './two-click-polygon-mode';
11
11
 
12
12
  export class DrawSquareMode extends TwoClickPolygonMode {
13
- getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
13
+ getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
14
14
  // get the coordinates of the other two rectangle vertices
15
15
  const coord3 = [coord2[0], coord1[1]];
16
16
  const coord4 = [coord1[0], coord2[1]];
@@ -34,7 +34,7 @@ export class DrawSquareMode extends TwoClickPolygonMode {
34
34
  square.properties = square.properties || {};
35
35
  square.properties.shape = 'Square';
36
36
 
37
- // @ts-expect-error turf types too wide
37
+
38
38
  return square;
39
39
  }
40
40
  }
@@ -3,11 +3,11 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {StartDraggingEvent, ModeProps} from './types';
6
- import {FeatureCollection} from '../utils/geojson-types';
6
+ import {FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
7
7
  import {TranslateMode} from './translate-mode';
8
8
 
9
9
  export class DuplicateMode extends TranslateMode {
10
- handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>) {
10
+ handleStartDragging(event: StartDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
11
11
  super.handleStartDragging(event, props);
12
12
 
13
13
  if (this._geometryBeforeTranslate) {
@@ -2,13 +2,13 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import {Position, LineString, FeatureCollection} from '../utils/geojson-types';
5
+ import {Position, LineString, FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
6
6
  import {ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection} from './types';
7
7
  import {GeoJsonEditMode} from './geojson-edit-mode';
8
8
  import {ImmutableFeatureCollection} from './immutable-feature-collection';
9
9
 
10
10
  export class ExtendLineStringMode extends GeoJsonEditMode {
11
- getSingleSelectedLineString(props: ModeProps<FeatureCollection>): LineString | null | undefined {
11
+ getSingleSelectedLineString(props: ModeProps<SimpleFeatureCollection>): LineString | null | undefined {
12
12
  const selectedGeometry = this.getSelectedGeometry(props);
13
13
 
14
14
  if (selectedGeometry && selectedGeometry.type === 'LineString') {
@@ -17,7 +17,7 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
17
17
  return null;
18
18
  }
19
19
 
20
- handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
20
+ handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
21
21
  const {selectedIndexes} = props;
22
22
  const selectedLineString = this.getSingleSelectedLineString(props);
23
23
 
@@ -49,7 +49,7 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
49
49
  });
50
50
  }
51
51
 
52
- getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection {
52
+ getGuides(props: ModeProps<SimpleFeatureCollection>): GuideFeatureCollection {
53
53
  const guides: GuideFeatureCollection = {
54
54
  type: 'FeatureCollection',
55
55
  features: []
@@ -9,7 +9,7 @@ import {
9
9
  getPickedIntermediateEditHandle,
10
10
  shouldCancelPan
11
11
  } from './utils';
12
- import {FeatureCollection} from '../utils/geojson-types';
12
+ import {SimpleFeatureCollection} from '../utils/geojson-types';
13
13
  import {ModeProps, StartDraggingEvent, StopDraggingEvent, DraggingEvent} from './types';
14
14
  import {ModifyMode} from './modify-mode';
15
15
  import {ImmutableFeatureCollection} from './immutable-feature-collection';
@@ -19,7 +19,7 @@ export class ExtrudeMode extends ModifyMode {
19
19
 
20
20
  isPointAdded = false;
21
21
 
22
- handleDragging(event: DraggingEvent, props: ModeProps<FeatureCollection>): void {
22
+ handleDragging(event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>): void {
23
23
  const editHandle = getPickedEditHandle(event.pointerDownPicks);
24
24
 
25
25
  if (editHandle) {
@@ -61,7 +61,7 @@ export class ExtrudeMode extends ModifyMode {
61
61
  }
62
62
  }
63
63
 
64
- handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>) {
64
+ handleStartDragging(event: StartDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
65
65
  if (shouldCancelPan(event)) {
66
66
  event.cancelPan();
67
67
  }
@@ -111,7 +111,7 @@ export class ExtrudeMode extends ModifyMode {
111
111
  }
112
112
  }
113
113
 
114
- handleStopDragging(event: StopDraggingEvent, props: ModeProps<FeatureCollection>) {
114
+ handleStopDragging(event: StopDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
115
115
  const selectedFeatureIndexes = props.selectedIndexes;
116
116
  const editHandle = getPickedEditHandle(event.pointerDownPicks);
117
117
  if (selectedFeatureIndexes.length && editHandle) {
@@ -156,7 +156,7 @@ export class ExtrudeMode extends ModifyMode {
156
156
  coordinatesSize(
157
157
  positionIndexes: number[] | null | undefined,
158
158
  featureIndex: number,
159
- {features}: FeatureCollection
159
+ {features}: SimpleFeatureCollection
160
160
  ) {
161
161
  let size = 0;
162
162
  if (Array.isArray(positionIndexes)) {
@@ -190,7 +190,7 @@ export class ExtrudeMode extends ModifyMode {
190
190
  positionIndexes: number[] | null | undefined,
191
191
  featureIndex: number,
192
192
  size: number,
193
- features: FeatureCollection
193
+ features: SimpleFeatureCollection
194
194
  ) {
195
195
  if (!Array.isArray(positionIndexes)) {
196
196
  return false;
@@ -239,7 +239,7 @@ export class ExtrudeMode extends ModifyMode {
239
239
  getPointForPositionIndexes(
240
240
  positionIndexes: number[] | null | undefined,
241
241
  featureIndex: number,
242
- {features}: FeatureCollection
242
+ {features}: SimpleFeatureCollection
243
243
  ) {
244
244
  let p1;
245
245
  if (Array.isArray(positionIndexes)) {