@deck.gl-community/editable-layers 9.0.0-alpha.1 → 9.0.3

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 (389) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +2 -81
  3. package/dist/constants.d.ts +1 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +4 -1
  6. package/dist/edit-modes/composite-mode.d.ts +4 -3
  7. package/dist/edit-modes/composite-mode.d.ts.map +1 -0
  8. package/dist/edit-modes/composite-mode.js +5 -2
  9. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +4 -3
  10. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -0
  11. package/dist/edit-modes/draw-90degree-polygon-mode.js +30 -25
  12. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +4 -3
  13. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -0
  14. package/dist/edit-modes/draw-circle-by-diameter-mode.js +9 -6
  15. package/dist/edit-modes/draw-circle-from-center-mode.d.ts +4 -3
  16. package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -0
  17. package/dist/edit-modes/draw-circle-from-center-mode.js +8 -5
  18. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +3 -2
  19. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -0
  20. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +5 -2
  21. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +3 -2
  22. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -0
  23. package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +5 -2
  24. package/dist/edit-modes/draw-line-string-mode.d.ts +4 -3
  25. package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -0
  26. package/dist/edit-modes/draw-line-string-mode.js +21 -18
  27. package/dist/edit-modes/draw-point-mode.d.ts +4 -3
  28. package/dist/edit-modes/draw-point-mode.d.ts.map +1 -0
  29. package/dist/edit-modes/draw-point-mode.js +8 -5
  30. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +4 -3
  31. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -0
  32. package/dist/edit-modes/draw-polygon-by-dragging-mode.js +12 -7
  33. package/dist/edit-modes/draw-polygon-mode.d.ts +4 -3
  34. package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -0
  35. package/dist/edit-modes/draw-polygon-mode.js +22 -18
  36. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +3 -2
  37. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -0
  38. package/dist/edit-modes/draw-rectangle-from-center-mode.js +4 -1
  39. package/dist/edit-modes/draw-rectangle-mode.d.ts +3 -2
  40. package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -0
  41. package/dist/edit-modes/draw-rectangle-mode.js +4 -1
  42. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +3 -2
  43. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -0
  44. package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +10 -7
  45. package/dist/edit-modes/draw-square-from-center-mode.d.ts +3 -2
  46. package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -0
  47. package/dist/edit-modes/draw-square-from-center-mode.js +4 -1
  48. package/dist/edit-modes/draw-square-mode.d.ts +3 -2
  49. package/dist/edit-modes/draw-square-mode.d.ts.map +1 -0
  50. package/dist/edit-modes/draw-square-mode.js +4 -1
  51. package/dist/edit-modes/duplicate-mode.d.ts +4 -3
  52. package/dist/edit-modes/duplicate-mode.d.ts.map +1 -0
  53. package/dist/edit-modes/duplicate-mode.js +4 -1
  54. package/dist/edit-modes/edit-mode.d.ts +2 -1
  55. package/dist/edit-modes/edit-mode.d.ts.map +1 -0
  56. package/dist/edit-modes/edit-mode.js +3 -1
  57. package/dist/edit-modes/elevation-mode.d.ts +5 -4
  58. package/dist/edit-modes/elevation-mode.d.ts.map +1 -0
  59. package/dist/edit-modes/elevation-mode.js +10 -7
  60. package/dist/edit-modes/extend-line-string-mode.d.ts +4 -3
  61. package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -0
  62. package/dist/edit-modes/extend-line-string-mode.js +11 -8
  63. package/dist/edit-modes/extrude-mode.d.ts +4 -3
  64. package/dist/edit-modes/extrude-mode.d.ts.map +1 -0
  65. package/dist/edit-modes/extrude-mode.js +12 -9
  66. package/dist/edit-modes/geojson-edit-mode.d.ts +4 -3
  67. package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -0
  68. package/dist/edit-modes/geojson-edit-mode.js +20 -17
  69. package/dist/edit-modes/immutable-feature-collection.d.ts +3 -1
  70. package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -0
  71. package/dist/edit-modes/immutable-feature-collection.js +25 -20
  72. package/dist/edit-modes/measure-angle-mode.d.ts +4 -3
  73. package/dist/edit-modes/measure-angle-mode.d.ts.map +1 -0
  74. package/dist/edit-modes/measure-angle-mode.js +9 -9
  75. package/dist/edit-modes/measure-area-mode.d.ts +4 -3
  76. package/dist/edit-modes/measure-area-mode.d.ts.map +1 -0
  77. package/dist/edit-modes/measure-area-mode.js +8 -6
  78. package/dist/edit-modes/measure-distance-mode.d.ts +4 -3
  79. package/dist/edit-modes/measure-distance-mode.d.ts.map +1 -0
  80. package/dist/edit-modes/measure-distance-mode.js +19 -16
  81. package/dist/edit-modes/modify-mode.d.ts +5 -4
  82. package/dist/edit-modes/modify-mode.d.ts.map +1 -0
  83. package/dist/edit-modes/modify-mode.js +19 -16
  84. package/dist/edit-modes/resize-circle-mode.d.ts +6 -5
  85. package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -0
  86. package/dist/edit-modes/resize-circle-mode.js +6 -4
  87. package/dist/edit-modes/rotate-mode.d.ts +4 -3
  88. package/dist/edit-modes/rotate-mode.d.ts.map +1 -0
  89. package/dist/edit-modes/rotate-mode.js +11 -8
  90. package/dist/edit-modes/scale-mode.d.ts +4 -3
  91. package/dist/edit-modes/scale-mode.d.ts.map +1 -0
  92. package/dist/edit-modes/scale-mode.js +11 -8
  93. package/dist/edit-modes/snappable-mode.d.ts +4 -3
  94. package/dist/edit-modes/snappable-mode.d.ts.map +1 -0
  95. package/dist/edit-modes/snappable-mode.js +9 -6
  96. package/dist/edit-modes/split-polygon-mode.d.ts +4 -3
  97. package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -0
  98. package/dist/edit-modes/split-polygon-mode.js +15 -12
  99. package/dist/edit-modes/three-click-polygon-mode.d.ts +4 -3
  100. package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -0
  101. package/dist/edit-modes/three-click-polygon-mode.js +10 -7
  102. package/dist/edit-modes/transform-mode.d.ts +4 -3
  103. package/dist/edit-modes/transform-mode.d.ts.map +1 -0
  104. package/dist/edit-modes/transform-mode.js +8 -5
  105. package/dist/edit-modes/translate-mode.d.ts +4 -3
  106. package/dist/edit-modes/translate-mode.d.ts.map +1 -0
  107. package/dist/edit-modes/translate-mode.js +10 -7
  108. package/dist/edit-modes/two-click-polygon-mode.d.ts +4 -3
  109. package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -0
  110. package/dist/edit-modes/two-click-polygon-mode.js +10 -7
  111. package/dist/edit-modes/types.d.ts +2 -1
  112. package/dist/edit-modes/types.d.ts.map +1 -0
  113. package/dist/edit-modes/types.js +3 -0
  114. package/dist/edit-modes/utils.d.ts +3 -2
  115. package/dist/edit-modes/utils.d.ts.map +1 -0
  116. package/dist/edit-modes/utils.js +22 -19
  117. package/dist/edit-modes/view-mode.d.ts +2 -1
  118. package/dist/edit-modes/view-mode.d.ts.map +1 -0
  119. package/dist/edit-modes/view-mode.js +4 -1
  120. package/dist/editable-layers/editable-geojson-layer.d.ts +7 -6
  121. package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -0
  122. package/dist/editable-layers/editable-geojson-layer.js +53 -52
  123. package/dist/editable-layers/editable-h3-cluster-layer.d.ts +3 -2
  124. package/dist/editable-layers/editable-h3-cluster-layer.d.ts.map +1 -0
  125. package/dist/editable-layers/editable-h3-cluster-layer.js +8 -5
  126. package/dist/editable-layers/editable-layer.d.ts +7 -6
  127. package/dist/editable-layers/editable-layer.d.ts.map +1 -0
  128. package/dist/editable-layers/editable-layer.js +18 -15
  129. package/dist/editable-layers/editable-path-layer.d.ts +2 -1
  130. package/dist/editable-layers/editable-path-layer.d.ts.map +1 -0
  131. package/dist/editable-layers/editable-path-layer.js +10 -7
  132. package/dist/editable-layers/elevated-edit-handle-layer.d.ts +2 -1
  133. package/dist/editable-layers/elevated-edit-handle-layer.d.ts.map +1 -0
  134. package/dist/editable-layers/elevated-edit-handle-layer.js +6 -3
  135. package/dist/editable-layers/junction-scatterplot-layer.d.ts +3 -2
  136. package/dist/editable-layers/junction-scatterplot-layer.d.ts.map +1 -0
  137. package/dist/editable-layers/junction-scatterplot-layer.js +10 -7
  138. package/dist/editable-layers/selection-layer.d.ts +2 -1
  139. package/dist/editable-layers/selection-layer.d.ts.map +1 -0
  140. package/dist/editable-layers/selection-layer.js +8 -5
  141. package/dist/index.cjs +70 -542
  142. package/dist/index.cjs.map +4 -4
  143. package/dist/index.d.ts +59 -59
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +56 -54
  146. package/dist/lib/constants.d.ts +1 -0
  147. package/dist/lib/constants.d.ts.map +1 -0
  148. package/dist/lib/constants.js +3 -0
  149. package/dist/lib/deck-renderer/deck-cache.d.ts +2 -1
  150. package/dist/lib/deck-renderer/deck-cache.d.ts.map +1 -0
  151. package/dist/lib/deck-renderer/deck-cache.js +1 -1
  152. package/dist/lib/deck-renderer/deck-drawer.d.ts +3 -3
  153. package/dist/lib/deck-renderer/deck-drawer.d.ts.map +1 -0
  154. package/dist/lib/deck-renderer/deck-drawer.js +12 -12
  155. package/dist/lib/feature.d.ts +5 -4
  156. package/dist/lib/feature.d.ts.map +1 -0
  157. package/dist/lib/feature.js +4 -1
  158. package/dist/lib/layer-mouse-event.d.ts +3 -2
  159. package/dist/lib/layer-mouse-event.d.ts.map +1 -0
  160. package/dist/lib/layer-mouse-event.js +4 -1
  161. package/dist/lib/layers/junctions-layer.d.ts +5 -4
  162. package/dist/lib/layers/junctions-layer.d.ts.map +1 -0
  163. package/dist/lib/layers/junctions-layer.js +10 -7
  164. package/dist/lib/layers/segments-layer.d.ts +5 -4
  165. package/dist/lib/layers/segments-layer.d.ts.map +1 -0
  166. package/dist/lib/layers/segments-layer.js +12 -9
  167. package/dist/lib/layers/texts-layer.d.ts +4 -3
  168. package/dist/lib/layers/texts-layer.d.ts.map +1 -0
  169. package/dist/lib/layers/texts-layer.js +9 -6
  170. package/dist/lib/math.d.ts +2 -1
  171. package/dist/lib/math.d.ts.map +1 -0
  172. package/dist/lib/math.js +3 -0
  173. package/dist/lib/{nebula.d.ts → nebula-core.d.ts} +3 -2
  174. package/dist/lib/nebula-core.d.ts.map +1 -0
  175. package/dist/lib/{nebula.js → nebula-core.js} +7 -4
  176. package/dist/lib/nebula-layer.d.ts +3 -2
  177. package/dist/lib/nebula-layer.d.ts.map +1 -0
  178. package/dist/lib/nebula-layer.js +4 -1
  179. package/dist/lib/style.d.ts +1 -0
  180. package/dist/lib/style.d.ts.map +1 -0
  181. package/dist/lib/style.js +5 -2
  182. package/dist/mode-handlers/composite-mode-handler.d.ts +4 -3
  183. package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -0
  184. package/dist/mode-handlers/composite-mode-handler.js +1 -1
  185. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +4 -3
  186. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -0
  187. package/dist/mode-handlers/draw-90degree-polygon-handler.js +13 -10
  188. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts +4 -3
  189. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -0
  190. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +5 -2
  191. package/dist/mode-handlers/draw-circle-from-center-handler.d.ts +4 -3
  192. package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -0
  193. package/dist/mode-handlers/draw-circle-from-center-handler.js +4 -1
  194. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts +4 -3
  195. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -0
  196. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +5 -2
  197. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts +4 -3
  198. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -0
  199. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +7 -4
  200. package/dist/mode-handlers/draw-line-string-handler.d.ts +3 -2
  201. package/dist/mode-handlers/draw-line-string-handler.d.ts.map +1 -0
  202. package/dist/mode-handlers/draw-line-string-handler.js +8 -5
  203. package/dist/mode-handlers/draw-point-handler.d.ts +3 -2
  204. package/dist/mode-handlers/draw-point-handler.d.ts.map +1 -0
  205. package/dist/mode-handlers/draw-point-handler.js +5 -2
  206. package/dist/mode-handlers/draw-polygon-handler.d.ts +4 -3
  207. package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -0
  208. package/dist/mode-handlers/draw-polygon-handler.js +10 -7
  209. package/dist/mode-handlers/draw-rectangle-handler.d.ts +4 -3
  210. package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -0
  211. package/dist/mode-handlers/draw-rectangle-handler.js +4 -1
  212. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts +4 -3
  213. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -0
  214. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +12 -9
  215. package/dist/mode-handlers/duplicate-handler.d.ts +4 -3
  216. package/dist/mode-handlers/duplicate-handler.d.ts.map +1 -0
  217. package/dist/mode-handlers/duplicate-handler.js +4 -1
  218. package/dist/mode-handlers/elevation-handler.d.ts +6 -5
  219. package/dist/mode-handlers/elevation-handler.d.ts.map +1 -0
  220. package/dist/mode-handlers/elevation-handler.js +10 -7
  221. package/dist/mode-handlers/extrude-handler.d.ts +4 -3
  222. package/dist/mode-handlers/extrude-handler.d.ts.map +1 -0
  223. package/dist/mode-handlers/extrude-handler.js +12 -9
  224. package/dist/mode-handlers/mode-handler.d.ts +4 -3
  225. package/dist/mode-handlers/mode-handler.d.ts.map +1 -0
  226. package/dist/mode-handlers/mode-handler.js +18 -15
  227. package/dist/mode-handlers/modify-handler.d.ts +5 -4
  228. package/dist/mode-handlers/modify-handler.d.ts.map +1 -0
  229. package/dist/mode-handlers/modify-handler.js +18 -15
  230. package/dist/mode-handlers/rotate-handler.d.ts +4 -3
  231. package/dist/mode-handlers/rotate-handler.d.ts.map +1 -0
  232. package/dist/mode-handlers/rotate-handler.js +5 -2
  233. package/dist/mode-handlers/scale-handler.d.ts +4 -3
  234. package/dist/mode-handlers/scale-handler.d.ts.map +1 -0
  235. package/dist/mode-handlers/scale-handler.js +6 -3
  236. package/dist/mode-handlers/snappable-handler.d.ts +4 -3
  237. package/dist/mode-handlers/snappable-handler.d.ts.map +1 -0
  238. package/dist/mode-handlers/snappable-handler.js +6 -3
  239. package/dist/mode-handlers/split-polygon-handler.d.ts +3 -2
  240. package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -0
  241. package/dist/mode-handlers/split-polygon-handler.js +12 -9
  242. package/dist/mode-handlers/three-click-polygon-handler.d.ts +3 -2
  243. package/dist/mode-handlers/three-click-polygon-handler.d.ts.map +1 -0
  244. package/dist/mode-handlers/three-click-polygon-handler.js +4 -1
  245. package/dist/mode-handlers/translate-handler.d.ts +4 -3
  246. package/dist/mode-handlers/translate-handler.d.ts.map +1 -0
  247. package/dist/mode-handlers/translate-handler.js +5 -2
  248. package/dist/mode-handlers/two-click-polygon-handler.d.ts +3 -2
  249. package/dist/mode-handlers/two-click-polygon-handler.d.ts.map +1 -0
  250. package/dist/mode-handlers/two-click-polygon-handler.js +4 -1
  251. package/dist/mode-handlers/view-handler.d.ts +3 -2
  252. package/dist/mode-handlers/view-handler.d.ts.map +1 -0
  253. package/dist/mode-handlers/view-handler.js +4 -1
  254. package/dist/shaderlib/color/color.d.ts +8 -6
  255. package/dist/shaderlib/color/color.d.ts.map +1 -0
  256. package/dist/shaderlib/color/color.js +7 -4
  257. package/dist/shaderlib/utils/utils.d.ts +3 -2
  258. package/dist/shaderlib/utils/utils.d.ts.map +1 -0
  259. package/dist/shaderlib/utils/utils.js +5 -2
  260. package/dist/{curve-utils.d.ts → utils/curve-utils.d.ts} +1 -0
  261. package/dist/utils/curve-utils.d.ts.map +1 -0
  262. package/dist/{curve-utils.js → utils/curve-utils.js} +7 -4
  263. package/dist/{geojson-types.d.ts → utils/geojson-types.d.ts} +3 -25
  264. package/dist/utils/geojson-types.d.ts.map +1 -0
  265. package/dist/utils/geojson-types.js +4 -0
  266. package/dist/{memoize.d.ts → utils/memoize.d.ts} +2 -1
  267. package/dist/utils/memoize.d.ts.map +1 -0
  268. package/dist/{memoize.js → utils/memoize.js} +4 -1
  269. package/dist/{translateFromCenter.d.ts → utils/translate-from-center.d.ts} +1 -0
  270. package/dist/utils/translate-from-center.d.ts.map +1 -0
  271. package/dist/{translateFromCenter.js → utils/translate-from-center.js} +7 -4
  272. package/dist/{types.d.ts → utils/types.d.ts} +1 -0
  273. package/dist/utils/types.d.ts.map +1 -0
  274. package/dist/utils/types.js +4 -0
  275. package/dist/{utils.d.ts → utils/utils.d.ts} +5 -4
  276. package/dist/utils/utils.d.ts.map +1 -0
  277. package/dist/{utils.js → utils/utils.js} +11 -9
  278. package/package.json +11 -10
  279. package/src/constants.ts +5 -1
  280. package/src/edit-modes/composite-mode.ts +9 -5
  281. package/src/edit-modes/draw-90degree-polygon-mode.ts +38 -34
  282. package/src/edit-modes/draw-circle-by-diameter-mode.ts +16 -12
  283. package/src/edit-modes/draw-circle-from-center-mode.ts +15 -11
  284. package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +8 -4
  285. package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +9 -5
  286. package/src/edit-modes/draw-line-string-mode.ts +29 -25
  287. package/src/edit-modes/draw-point-mode.ts +13 -9
  288. package/src/edit-modes/draw-polygon-by-dragging-mode.ts +16 -16
  289. package/src/edit-modes/draw-polygon-mode.ts +28 -23
  290. package/src/edit-modes/draw-rectangle-from-center-mode.ts +6 -2
  291. package/src/edit-modes/draw-rectangle-mode.ts +6 -2
  292. package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +12 -8
  293. package/src/edit-modes/draw-square-from-center-mode.ts +7 -3
  294. package/src/edit-modes/draw-square-mode.ts +7 -3
  295. package/src/edit-modes/duplicate-mode.ts +7 -3
  296. package/src/edit-modes/edit-mode.ts +5 -1
  297. package/src/edit-modes/elevation-mode.ts +13 -9
  298. package/src/edit-modes/extend-line-string-mode.ts +16 -12
  299. package/src/edit-modes/extrude-mode.ts +22 -18
  300. package/src/edit-modes/geojson-edit-mode.ts +37 -33
  301. package/src/edit-modes/immutable-feature-collection.ts +28 -22
  302. package/src/edit-modes/measure-angle-mode.ts +66 -59
  303. package/src/edit-modes/measure-area-mode.ts +13 -10
  304. package/src/edit-modes/measure-distance-mode.ts +37 -33
  305. package/src/edit-modes/modify-mode.ts +36 -32
  306. package/src/edit-modes/resize-circle-mode.ts +8 -5
  307. package/src/edit-modes/rotate-mode.ts +22 -18
  308. package/src/edit-modes/scale-mode.ts +29 -23
  309. package/src/edit-modes/snappable-mode.ts +19 -15
  310. package/src/edit-modes/split-polygon-mode.ts +25 -21
  311. package/src/edit-modes/three-click-polygon-mode.ts +15 -11
  312. package/src/edit-modes/transform-mode.ts +15 -11
  313. package/src/edit-modes/translate-mode.ts +15 -11
  314. package/src/edit-modes/two-click-polygon-mode.ts +15 -11
  315. package/src/edit-modes/types.ts +5 -1
  316. package/src/edit-modes/utils.ts +35 -30
  317. package/src/edit-modes/view-mode.ts +5 -1
  318. package/src/editable-layers/editable-geojson-layer.ts +44 -41
  319. package/src/editable-layers/editable-h3-cluster-layer.ts +17 -14
  320. package/src/editable-layers/editable-layer.ts +42 -32
  321. package/src/editable-layers/editable-path-layer.ts +12 -8
  322. package/src/editable-layers/elevated-edit-handle-layer.ts +11 -7
  323. package/src/editable-layers/junction-scatterplot-layer.ts +15 -11
  324. package/src/editable-layers/selection-layer.ts +11 -7
  325. package/src/index.ts +68 -65
  326. package/src/lib/constants.ts +4 -0
  327. package/src/lib/deck-renderer/deck-cache.ts +1 -1
  328. package/src/lib/deck-renderer/deck-drawer.ts +28 -28
  329. package/src/lib/feature.ts +7 -3
  330. package/src/lib/layer-mouse-event.ts +7 -6
  331. package/src/lib/layers/junctions-layer.ts +14 -10
  332. package/src/lib/layers/segments-layer.ts +24 -20
  333. package/src/lib/layers/texts-layer.ts +18 -14
  334. package/src/lib/math.ts +5 -1
  335. package/src/lib/{nebula.ts → nebula-core.ts} +8 -4
  336. package/src/lib/nebula-layer.ts +9 -5
  337. package/src/lib/style.ts +6 -2
  338. package/src/mode-handlers/composite-mode-handler.ts +6 -6
  339. package/src/mode-handlers/draw-90degree-polygon-handler.ts +22 -18
  340. package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +10 -6
  341. package/src/mode-handlers/draw-circle-from-center-handler.ts +10 -6
  342. package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +9 -5
  343. package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +12 -8
  344. package/src/mode-handlers/draw-line-string-handler.ts +12 -8
  345. package/src/mode-handlers/draw-point-handler.ts +9 -5
  346. package/src/mode-handlers/draw-polygon-handler.ts +16 -12
  347. package/src/mode-handlers/draw-rectangle-handler.ts +8 -4
  348. package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +17 -13
  349. package/src/mode-handlers/duplicate-handler.ts +8 -4
  350. package/src/mode-handlers/elevation-handler.ts +14 -10
  351. package/src/mode-handlers/extrude-handler.ts +15 -11
  352. package/src/mode-handlers/mode-handler.ts +26 -28
  353. package/src/mode-handlers/modify-handler.ts +29 -25
  354. package/src/mode-handlers/rotate-handler.ts +13 -17
  355. package/src/mode-handlers/scale-handler.ts +13 -13
  356. package/src/mode-handlers/snappable-handler.ts +28 -24
  357. package/src/mode-handlers/split-polygon-handler.ts +22 -18
  358. package/src/mode-handlers/three-click-polygon-handler.ts +6 -2
  359. package/src/mode-handlers/translate-handler.ts +12 -8
  360. package/src/mode-handlers/two-click-polygon-handler.ts +6 -2
  361. package/src/mode-handlers/view-handler.ts +7 -3
  362. package/src/shaderlib/color/color.ts +10 -5
  363. package/src/shaderlib/utils/utils.ts +6 -2
  364. package/src/{curve-utils.ts → utils/curve-utils.ts} +11 -7
  365. package/src/{geojson-types.ts → utils/geojson-types.ts} +16 -31
  366. package/src/{memoize.ts → utils/memoize.ts} +5 -1
  367. package/src/{translateFromCenter.ts → utils/translate-from-center.ts} +12 -8
  368. package/src/{types.ts → utils/types.ts} +4 -0
  369. package/src/{utils.ts → utils/utils.ts} +17 -14
  370. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.d.ts +0 -4
  371. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.js +0 -55
  372. package/dist/editable-layers/path-marker-layer/create-path-markers.d.ts +0 -16
  373. package/dist/editable-layers/path-marker-layer/create-path-markers.js +0 -75
  374. package/dist/editable-layers/path-marker-layer/path-marker-layer.d.ts +0 -40
  375. package/dist/editable-layers/path-marker-layer/path-marker-layer.js +0 -121
  376. package/dist/editable-layers/path-marker-layer/polyline.d.ts +0 -18
  377. package/dist/editable-layers/path-marker-layer/polyline.js +0 -37
  378. package/dist/editable-layers/path-outline-layer/path-outline-layer.d.ts +0 -26
  379. package/dist/editable-layers/path-outline-layer/path-outline-layer.js +0 -106
  380. package/dist/geojson-types.js +0 -2
  381. package/dist/shaderlib/outline/outline.d.ts +0 -8
  382. package/dist/shaderlib/outline/outline.js +0 -97
  383. package/dist/types.js +0 -1
  384. package/src/editable-layers/path-marker-layer/arrow-2d-geometry.ts +0 -61
  385. package/src/editable-layers/path-marker-layer/create-path-markers.ts +0 -107
  386. package/src/editable-layers/path-marker-layer/path-marker-layer.ts +0 -179
  387. package/src/editable-layers/path-marker-layer/polyline.ts +0 -40
  388. package/src/editable-layers/path-outline-layer/path-outline-layer.ts +0 -147
  389. package/src/shaderlib/outline/outline.ts +0 -101
@@ -1,11 +1,15 @@
1
- import { Polygon, Position } from '../geojson-types';
2
- import { ClickEvent, PointerMoveEvent } from '../edit-modes/types';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {Polygon, Position} from '../utils/geojson-types';
6
+ import {ClickEvent, PointerMoveEvent} from '../edit-modes/types';
3
7
  import {
4
8
  EditAction,
5
9
  EditHandle,
6
10
  ModeHandler,
7
11
  getPickedEditHandle,
8
- getEditHandlesForGeometry,
12
+ getEditHandlesForGeometry
9
13
  } from './mode-handler';
10
14
 
11
15
  // TODO edit-modes: delete handlers once EditMode fully implemented
@@ -31,7 +35,7 @@ export class DrawPolygonHandler extends ModeHandler {
31
35
  handleClick(event: ClickEvent): EditAction | null | undefined {
32
36
  super.handleClick(event);
33
37
 
34
- const { picks } = event;
38
+ const {picks} = event;
35
39
  const tentativeFeature = this.getTentativeFeature();
36
40
 
37
41
  let editAction: EditAction | null | undefined = null;
@@ -58,7 +62,7 @@ export class DrawPolygonHandler extends ModeHandler {
58
62
  // Remove the hovered position
59
63
  const polygonToAdd: Polygon = {
60
64
  type: 'Polygon',
61
- coordinates: [[...polygon.coordinates[0].slice(0, -2), polygon.coordinates[0][0]]],
65
+ coordinates: [[...polygon.coordinates[0].slice(0, -2), polygon.coordinates[0][0]]]
62
66
  };
63
67
 
64
68
  this.resetClickSequence();
@@ -76,7 +80,7 @@ export class DrawPolygonHandler extends ModeHandler {
76
80
  pointerDownPicks: null,
77
81
  pointerDownScreenCoords: null,
78
82
  pointerDownMapCoords: null,
79
- sourceEvent: null,
83
+ sourceEvent: null
80
84
  } as unknown as PointerMoveEvent;
81
85
 
82
86
  this.handlePointerMove(fakePointerMoveEvent);
@@ -84,12 +88,12 @@ export class DrawPolygonHandler extends ModeHandler {
84
88
  return editAction;
85
89
  }
86
90
 
87
- handlePointerMove({ mapCoords }: PointerMoveEvent): {
91
+ handlePointerMove({mapCoords}: PointerMoveEvent): {
88
92
  editAction: EditAction | null | undefined;
89
93
  cancelMapPan: boolean;
90
94
  } {
91
95
  const clickSequence = this.getClickSequence();
92
- const result = { editAction: null, cancelMapPan: false };
96
+ const result = {editAction: null, cancelMapPan: false};
93
97
 
94
98
  if (clickSequence.length === 0) {
95
99
  // nothing to do yet
@@ -102,8 +106,8 @@ export class DrawPolygonHandler extends ModeHandler {
102
106
  type: 'Feature',
103
107
  geometry: {
104
108
  type: 'LineString',
105
- coordinates: [...clickSequence, mapCoords],
106
- },
109
+ coordinates: [...clickSequence, mapCoords]
110
+ }
107
111
  });
108
112
  } else {
109
113
  // Draw a Polygon connecting all the clicked points with the hovered point
@@ -111,8 +115,8 @@ export class DrawPolygonHandler extends ModeHandler {
111
115
  type: 'Feature',
112
116
  geometry: {
113
117
  type: 'Polygon',
114
- coordinates: [[...clickSequence, mapCoords, clickSequence[0]]],
115
- },
118
+ coordinates: [[...clickSequence, mapCoords, clickSequence[0]]]
119
+ }
116
120
  });
117
121
  }
118
122
 
@@ -1,7 +1,11 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import bboxPolygon from '@turf/bbox-polygon';
2
- import { PointerMoveEvent } from '../edit-modes/types';
3
- import { EditAction } from './mode-handler';
4
- import { TwoClickPolygonHandler } from './two-click-polygon-handler';
6
+ import {PointerMoveEvent} from '../edit-modes/types';
7
+ import {EditAction} from './mode-handler';
8
+ import {TwoClickPolygonHandler} from './two-click-polygon-handler';
5
9
 
6
10
  // TODO edit-modes: delete handlers once EditMode fully implemented
7
11
  export class DrawRectangleHandler extends TwoClickPolygonHandler {
@@ -9,7 +13,7 @@ export class DrawRectangleHandler extends TwoClickPolygonHandler {
9
13
  editAction: EditAction | null | undefined;
10
14
  cancelMapPan: boolean;
11
15
  } {
12
- const result = { editAction: null, cancelMapPan: false };
16
+ const result = {editAction: null, cancelMapPan: false};
13
17
  const clickSequence = this.getClickSequence();
14
18
 
15
19
  if (clickSequence.length === 0) {
@@ -1,8 +1,12 @@
1
- import { LineString } from '../geojson-types';
2
- import { generatePointsParallelToLinePoints } from '../utils';
3
- import { PointerMoveEvent } from '../edit-modes/types';
4
- import { EditAction } from './mode-handler';
5
- import { ThreeClickPolygonHandler } from './three-click-polygon-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {LineString} from '../utils/geojson-types';
6
+ import {generatePointsParallelToLinePoints} from '../utils/utils';
7
+ import {PointerMoveEvent} from '../edit-modes/types';
8
+ import {EditAction} from './mode-handler';
9
+ import {ThreeClickPolygonHandler} from './three-click-polygon-handler';
6
10
 
7
11
  // TODO edit-modes: delete handlers once EditMode fully implemented
8
12
  export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandler {
@@ -10,7 +14,7 @@ export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandl
10
14
  editAction: EditAction | null | undefined;
11
15
  cancelMapPan: boolean;
12
16
  } {
13
- const result = { editAction: null, cancelMapPan: false };
17
+ const result = {editAction: null, cancelMapPan: false};
14
18
  const clickSequence = this.getClickSequence();
15
19
 
16
20
  if (clickSequence.length === 0) {
@@ -25,13 +29,13 @@ export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandl
25
29
  type: 'Feature',
26
30
  geometry: {
27
31
  type: 'LineString',
28
- coordinates: [clickSequence[0], mapCoords],
29
- },
32
+ coordinates: [clickSequence[0], mapCoords]
33
+ }
30
34
  });
31
35
  } else if (clickSequence.length === 2) {
32
36
  const lineString: LineString = {
33
37
  type: 'LineString',
34
- coordinates: clickSequence,
38
+ coordinates: clickSequence
35
39
  };
36
40
  const [p1, p2] = clickSequence;
37
41
  const [p3, p4] = generatePointsParallelToLinePoints(p1, p2, mapCoords);
@@ -48,10 +52,10 @@ export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandl
48
52
  ...lineString.coordinates,
49
53
  p3,
50
54
  p4,
51
- p1,
52
- ],
53
- ],
54
- },
55
+ p1
56
+ ]
57
+ ]
58
+ }
55
59
  });
56
60
  }
57
61
 
@@ -1,6 +1,10 @@
1
- import { StartDraggingEvent } from '../edit-modes/types';
2
- import { EditAction } from './mode-handler';
3
- import { TranslateHandler } from './translate-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {StartDraggingEvent} from '../edit-modes/types';
6
+ import {EditAction} from './mode-handler';
7
+ import {TranslateHandler} from './translate-handler';
4
8
 
5
9
  // TODO edit-modes: delete handlers once EditMode fully implemented
6
10
  export class DuplicateHandler extends TranslateHandler {
@@ -16,7 +20,7 @@ export class DuplicateHandler extends TranslateHandler {
16
20
  : null;
17
21
  }
18
22
 
19
- getCursor({ isDragging }: { isDragging: boolean }): string {
23
+ getCursor({isDragging}: {isDragging: boolean}): string {
20
24
  if (this._isTranslatable) {
21
25
  return 'copy';
22
26
  }
@@ -1,12 +1,16 @@
1
- import { Position } from '../geojson-types';
2
- import { PointerMoveEvent, StopDraggingEvent } from '../edit-modes/types';
3
- import { EditAction, getPickedEditHandle } from './mode-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
4
 
5
- import { ModifyHandler } from './modify-handler';
5
+ import {Position} from '../utils/geojson-types';
6
+ import {PointerMoveEvent, StopDraggingEvent} from '../edit-modes/types';
7
+ import {EditAction, getPickedEditHandle} from './mode-handler';
8
+
9
+ import {ModifyHandler} from './modify-handler';
6
10
 
7
11
  function defaultCalculateElevationChange({
8
12
  pointerDownScreenCoords,
9
- screenCoords,
13
+ screenCoords
10
14
  }: {
11
15
  pointerDownScreenCoords: Position;
12
16
  screenCoords: Position;
@@ -27,7 +31,7 @@ export class ElevationHandler extends ModifyHandler {
27
31
  const {
28
32
  minElevation = 0,
29
33
  maxElevation = 20000,
30
- calculateElevationChange = defaultCalculateElevationChange,
34
+ calculateElevationChange = defaultCalculateElevationChange
31
35
  } = this._modeConfig || {};
32
36
 
33
37
  // $FlowFixMe - really, I know it has something at index 2
@@ -36,13 +40,13 @@ export class ElevationHandler extends ModifyHandler {
36
40
  // calculateElevationChange is configurable becase (at this time) modes are not aware of the viewport
37
41
  elevation += calculateElevationChange({
38
42
  pointerDownScreenCoords: event.pointerDownScreenCoords,
39
- screenCoords: event.screenCoords,
43
+ screenCoords: event.screenCoords
40
44
  });
41
45
  elevation = Math.min(elevation, maxElevation);
42
46
  elevation = Math.max(elevation, minElevation);
43
47
 
44
48
  return Object.assign({}, event, {
45
- mapCoords: [position[0], position[1], elevation],
49
+ mapCoords: [position[0], position[1], elevation]
46
50
  });
47
51
  }
48
52
 
@@ -61,7 +65,7 @@ export class ElevationHandler extends ModifyHandler {
61
65
  return super.handleStopDragging(this.makeElevatedEvent(event, position));
62
66
  }
63
67
 
64
- getCursor(params: { isDragging: boolean }): string {
68
+ getCursor(params: {isDragging: boolean}): string {
65
69
  let cursor = super.getCursor(params);
66
70
  if (cursor === 'cell') {
67
71
  cursor = 'ns-resize';
@@ -73,7 +77,7 @@ export class ElevationHandler extends ModifyHandler {
73
77
  viewport: any,
74
78
  {
75
79
  pointerDownScreenCoords,
76
- screenCoords,
80
+ screenCoords
77
81
  }: {
78
82
  pointerDownScreenCoords: Position;
79
83
  screenCoords: Position;
@@ -1,9 +1,13 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import bearing from '@turf/bearing';
2
- import { generatePointsParallelToLinePoints } from '../utils';
3
- import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent } from '../edit-modes/types';
4
- import { EditAction, getPickedEditHandle } from './mode-handler';
6
+ import {generatePointsParallelToLinePoints} from '../utils/utils';
7
+ import {PointerMoveEvent, StartDraggingEvent, StopDraggingEvent} from '../edit-modes/types';
8
+ import {EditAction, getPickedEditHandle} from './mode-handler';
5
9
 
6
- import { ModifyHandler } from './modify-handler';
10
+ import {ModifyHandler} from './modify-handler';
7
11
 
8
12
  // TODO edit-modes: delete handlers once EditMode fully implemented
9
13
  export class ExtrudeHandler extends ModifyHandler {
@@ -48,8 +52,8 @@ export class ExtrudeHandler extends ModifyHandler {
48
52
  featureIndexes: [editHandle.featureIndex],
49
53
  editContext: {
50
54
  positionIndexes: this.nextPositionIndexes(editHandle.positionIndexes, size),
51
- position: p3,
52
- },
55
+ position: p3
56
+ }
53
57
  };
54
58
  }
55
59
  }
@@ -57,7 +61,7 @@ export class ExtrudeHandler extends ModifyHandler {
57
61
  // Cancel map panning if pointer went down on an edit handle
58
62
  const cancelMapPan = Boolean(editHandle);
59
63
 
60
- return { editAction, cancelMapPan };
64
+ return {editAction, cancelMapPan};
61
65
  }
62
66
 
63
67
  handleStartDragging(event: StartDraggingEvent): EditAction | null | undefined {
@@ -108,8 +112,8 @@ export class ExtrudeHandler extends ModifyHandler {
108
112
  featureIndexes: [editHandle.featureIndex],
109
113
  editContext: {
110
114
  positionIndexes: editHandle.positionIndexes,
111
- position: p1,
112
- },
115
+ position: p1
116
+ }
113
117
  };
114
118
  }
115
119
  }
@@ -153,8 +157,8 @@ export class ExtrudeHandler extends ModifyHandler {
153
157
  featureIndexes: [editHandle.featureIndex],
154
158
  editContext: {
155
159
  positionIndexes: editHandle.positionIndexes,
156
- position: p3,
157
- },
160
+ position: p3
161
+ }
158
162
  };
159
163
  }
160
164
  }
@@ -1,25 +1,23 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  // TODO edit-modes: delete handlers once EditMode fully implemented
2
6
 
3
7
  import turfUnion from '@turf/union';
4
8
  import turfDifference from '@turf/difference';
5
9
  import turfIntersect from '@turf/intersect';
6
10
 
7
- import {
8
- FeatureCollection,
9
- Feature,
10
- Polygon,
11
- Geometry,
12
- Position,
13
- } from '../geojson-types';
11
+ import {FeatureCollection, Feature, Polygon, Geometry, Position} from '../utils/geojson-types';
14
12
 
15
13
  import {
16
14
  ClickEvent,
17
15
  Pick,
18
16
  PointerMoveEvent,
19
17
  StartDraggingEvent,
20
- StopDraggingEvent,
18
+ StopDraggingEvent
21
19
  } from '../edit-modes/types';
22
- import { ImmutableFeatureCollection } from '../edit-modes/immutable-feature-collection';
20
+ import {ImmutableFeatureCollection} from '../edit-modes/immutable-feature-collection';
23
21
 
24
22
  export type EditHandleType = 'existing' | 'intermediate' | 'snap';
25
23
 
@@ -75,13 +73,13 @@ export class ModeHandler {
75
73
  }
76
74
 
77
75
  getSelectedFeaturesAsFeatureCollection(): FeatureCollection {
78
- const { features } = this.featureCollection.getObject();
76
+ const {features} = this.featureCollection.getObject();
79
77
  const selectedFeatures = this.getSelectedFeatureIndexes().map(
80
78
  (selectedIndex) => features[selectedIndex]
81
79
  );
82
80
  return {
83
81
  type: 'FeatureCollection',
84
- features: selectedFeatures,
82
+ features: selectedFeatures
85
83
  };
86
84
  }
87
85
 
@@ -145,13 +143,13 @@ export class ModeHandler {
145
143
  return [];
146
144
  }
147
145
 
148
- getCursor({ isDragging }: { isDragging: boolean }): string {
146
+ getCursor({isDragging}: {isDragging: boolean}): string {
149
147
  return 'cell';
150
148
  }
151
149
 
152
150
  isSelectionPicked(picks: Pick[]): boolean {
153
151
  if (!picks.length) return false;
154
- const pickedIndexes = picks.map(({ index }) => index);
152
+ const pickedIndexes = picks.map(({index}) => index);
155
153
  const selectedFeatureIndexes = this.getSelectedFeatureIndexes();
156
154
  return selectedFeatureIndexes.some((index) => pickedIndexes.includes(index));
157
155
  }
@@ -164,7 +162,7 @@ export class ModeHandler {
164
162
  .addFeature({
165
163
  type: 'Feature',
166
164
  properties: {},
167
- geometry: geometryAsAny,
165
+ geometry: geometryAsAny
168
166
  })
169
167
  .getObject();
170
168
 
@@ -173,8 +171,8 @@ export class ModeHandler {
173
171
  editType: 'addFeature',
174
172
  featureIndexes: [updatedData.features.length - 1],
175
173
  editContext: {
176
- featureIndexes: [updatedData.features.length - 1],
177
- },
174
+ featureIndexes: [updatedData.features.length - 1]
175
+ }
178
176
  };
179
177
  }
180
178
 
@@ -184,12 +182,12 @@ export class ModeHandler {
184
182
  const initialIndex = updatedData.getObject().features.length;
185
183
  const updatedIndexes: number[] = [];
186
184
  for (const feature of features) {
187
- const { properties, geometry } = feature;
185
+ const {properties, geometry} = feature;
188
186
  const geometryAsAny: any = geometry;
189
187
  updatedData = updatedData.addFeature({
190
188
  type: 'Feature',
191
189
  properties,
192
- geometry: geometryAsAny,
190
+ geometry: geometryAsAny
193
191
  });
194
192
  updatedIndexes.push(initialIndex + updatedIndexes.length);
195
193
  }
@@ -199,8 +197,8 @@ export class ModeHandler {
199
197
  editType: 'addFeature',
200
198
  featureIndexes: updatedIndexes,
201
199
  editContext: {
202
- featureIndexes: updatedIndexes,
203
- },
200
+ featureIndexes: updatedIndexes
201
+ }
204
202
  };
205
203
  }
206
204
 
@@ -222,7 +220,7 @@ export class ModeHandler {
222
220
 
223
221
  const feature = {
224
222
  type: 'Feature',
225
- geometry,
223
+ geometry
226
224
  };
227
225
 
228
226
  let updatedGeometry;
@@ -258,8 +256,8 @@ export class ModeHandler {
258
256
  editType: 'unionGeometry',
259
257
  featureIndexes: [featureIndex],
260
258
  editContext: {
261
- featureIndexes: [featureIndex],
262
- },
259
+ featureIndexes: [featureIndex]
260
+ }
263
261
  };
264
262
 
265
263
  return editAction;
@@ -277,7 +275,7 @@ export class ModeHandler {
277
275
  editAction: EditAction | null | undefined;
278
276
  cancelMapPan: boolean;
279
277
  } {
280
- return { editAction: null, cancelMapPan: false };
278
+ return {editAction: null, cancelMapPan: false};
281
279
  }
282
280
 
283
281
  handleStartDragging(event: StartDraggingEvent): EditAction | null | undefined {
@@ -302,7 +300,7 @@ export function getPickedEditHandle(
302
300
  export function getIntermediatePosition(position1: Position, position2: Position): Position {
303
301
  const intermediatePosition: Position = [
304
302
  (position1[0] + position2[0]) / 2.0,
305
- (position1[1] + position2[1]) / 2.0,
303
+ (position1[1] + position2[1]) / 2.0
306
304
  ];
307
305
 
308
306
  return intermediatePosition;
@@ -323,8 +321,8 @@ export function getEditHandlesForGeometry(
323
321
  position: geometry.coordinates,
324
322
  positionIndexes: [],
325
323
  featureIndex,
326
- type: editHandleType,
327
- },
324
+ type: editHandleType
325
+ }
328
326
  ];
329
327
  break;
330
328
  case 'MultiPoint':
@@ -387,7 +385,7 @@ function getEditHandlesForCoordinates(
387
385
  position,
388
386
  positionIndexes: [...positionIndexPrefix, i],
389
387
  featureIndex,
390
- type: editHandleType,
388
+ type: editHandleType
391
389
  });
392
390
  }
393
391
  return editHandles;
@@ -1,23 +1,27 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import nearestPointOnLine from '@turf/nearest-point-on-line';
2
- import { point, lineString as toLineString } from '@turf/helpers';
3
- import { Position, FeatureOf, Point, LineString } from '../geojson-types';
6
+ import {point, lineString as toLineString} from '@turf/helpers';
7
+ import {Position, FeatureOf, Point, LineString} from '../utils/geojson-types';
4
8
  import {
5
9
  recursivelyTraverseNestedArrays,
6
10
  nearestPointOnProjectedLine,
7
- NearestPointType,
8
- } from '../utils';
11
+ NearestPointType
12
+ } from '../utils/utils';
9
13
  import {
10
14
  ClickEvent,
11
15
  PointerMoveEvent,
12
16
  StartDraggingEvent,
13
- StopDraggingEvent,
17
+ StopDraggingEvent
14
18
  } from '../edit-modes/types';
15
19
  import {
16
20
  EditAction,
17
21
  EditHandle,
18
22
  ModeHandler,
19
23
  getPickedEditHandle,
20
- getEditHandlesForGeometry,
24
+ getEditHandlesForGeometry
21
25
  } from './mode-handler';
22
26
 
23
27
  // TODO edit-modes: delete handlers once EditMode fully implemented
@@ -26,11 +30,11 @@ export class ModifyHandler extends ModeHandler {
26
30
 
27
31
  getEditHandles(picks?: Array<Record<string, any>>, mapCoords?: Position): EditHandle[] {
28
32
  let handles: EditHandle[] = [];
29
- const { features } = this.featureCollection.getObject();
33
+ const {features} = this.featureCollection.getObject();
30
34
 
31
35
  for (const index of this.getSelectedFeatureIndexes()) {
32
36
  if (index < features.length) {
33
- const { geometry } = features[index];
37
+ const {geometry} = features[index];
34
38
  handles.push(...getEditHandlesForGeometry(geometry, index));
35
39
  } else {
36
40
  console.warn(`selectedFeatureIndexes out of range ${index}`); // eslint-disable-line no-console,no-undef
@@ -78,8 +82,8 @@ export class ModifyHandler extends ModeHandler {
78
82
  // tack on the lone intermediate point to the set of handles
79
83
  if (intermediatePoint) {
80
84
  const {
81
- geometry: { coordinates: position },
82
- properties: { index },
85
+ geometry: {coordinates: position},
86
+ properties: {index}
83
87
  } = intermediatePoint;
84
88
  handles = [
85
89
  ...handles,
@@ -87,8 +91,8 @@ export class ModifyHandler extends ModeHandler {
87
91
  position,
88
92
  positionIndexes: [...positionIndexPrefix, index + 1],
89
93
  featureIndex: featureAsPick.index,
90
- type: 'intermediate',
91
- },
94
+ type: 'intermediate'
95
+ }
92
96
  ];
93
97
  }
94
98
  }
@@ -99,7 +103,7 @@ export class ModifyHandler extends ModeHandler {
99
103
 
100
104
  // turf.js does not support elevation for nearestPointOnLine
101
105
  nearestPointOnLine(line: FeatureOf<LineString>, inPoint: FeatureOf<Point>): NearestPointType {
102
- const { coordinates } = line.geometry;
106
+ const {coordinates} = line.geometry;
103
107
  if (coordinates.some((coord) => coord.length > 2)) {
104
108
  const modeConfig = this.getModeConfig();
105
109
  if (modeConfig && modeConfig.viewport) {
@@ -138,8 +142,8 @@ export class ModifyHandler extends ModeHandler {
138
142
  featureIndexes: [clickedEditHandle.featureIndex],
139
143
  editContext: {
140
144
  positionIndexes: clickedEditHandle.positionIndexes,
141
- position: clickedEditHandle.position,
142
- },
145
+ position: clickedEditHandle.position
146
+ }
143
147
  };
144
148
  }
145
149
  } else if (clickedEditHandle.type === 'intermediate') {
@@ -158,8 +162,8 @@ export class ModifyHandler extends ModeHandler {
158
162
  featureIndexes: [clickedEditHandle.featureIndex],
159
163
  editContext: {
160
164
  positionIndexes: clickedEditHandle.positionIndexes,
161
- position: clickedEditHandle.position,
162
- },
165
+ position: clickedEditHandle.position
166
+ }
163
167
  };
164
168
  }
165
169
  }
@@ -188,15 +192,15 @@ export class ModifyHandler extends ModeHandler {
188
192
  featureIndexes: [editHandle.featureIndex],
189
193
  editContext: {
190
194
  positionIndexes: editHandle.positionIndexes,
191
- position: event.mapCoords,
192
- },
195
+ position: event.mapCoords
196
+ }
193
197
  };
194
198
  }
195
199
 
196
200
  // Cancel map panning if pointer went down on an edit handle
197
201
  const cancelMapPan = Boolean(editHandle);
198
202
 
199
- return { editAction, cancelMapPan };
203
+ return {editAction, cancelMapPan};
200
204
  }
201
205
 
202
206
  handleStartDragging(event: StartDraggingEvent): EditAction | null | undefined {
@@ -216,8 +220,8 @@ export class ModifyHandler extends ModeHandler {
216
220
  featureIndexes: [editHandle.featureIndex],
217
221
  editContext: {
218
222
  positionIndexes: editHandle.positionIndexes,
219
- position: event.mapCoords,
220
- },
223
+ position: event.mapCoords
224
+ }
221
225
  };
222
226
  }
223
227
 
@@ -240,15 +244,15 @@ export class ModifyHandler extends ModeHandler {
240
244
  featureIndexes: [editHandle.featureIndex],
241
245
  editContext: {
242
246
  positionIndexes: editHandle.positionIndexes,
243
- position: event.mapCoords,
244
- },
247
+ position: event.mapCoords
248
+ }
245
249
  };
246
250
  }
247
251
 
248
252
  return editAction;
249
253
  }
250
254
 
251
- getCursor({ isDragging }: { isDragging: boolean }): string {
255
+ getCursor({isDragging}: {isDragging: boolean}): string {
252
256
  const picks = this._lastPointerMovePicks;
253
257
 
254
258
  if (picks && picks.length > 0) {