@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,6 +1,6 @@
1
- import { ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from './types';
2
- import { Polygon, FeatureCollection, FeatureOf, Position } from '../geojson-types';
3
- import { GeoJsonEditMode } from './geojson-edit-mode';
1
+ import { ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from "./types.js";
2
+ import { Polygon, FeatureCollection, FeatureOf, Position } from "../utils/geojson-types.js";
3
+ import { GeoJsonEditMode } from "./geojson-edit-mode.js";
4
4
  export declare class TwoClickPolygonMode extends GeoJsonEditMode {
5
5
  handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void;
6
6
  handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>): void;
@@ -11,3 +11,4 @@ export declare class TwoClickPolygonMode extends GeoJsonEditMode {
11
11
  handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
12
12
  createTentativeFeature(props: ModeProps<FeatureCollection>): TentativeFeature;
13
13
  }
14
+ //# sourceMappingURL=two-click-polygon-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"two-click-polygon-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/two-click-polygon-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EACjB,mBAAgB;AACjB,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAC,kCAA+B;AACvF,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAWlE,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAUzF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAUvF,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA6BzD,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAgCtE,kBAAkB,CAChB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,GAAG,GACd,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;IAIxC,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAK9E,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,gBAAgB;CAa9E"}
@@ -1,4 +1,7 @@
1
- import { GeoJsonEditMode } from './geojson-edit-mode';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { GeoJsonEditMode } from "./geojson-edit-mode.js";
2
5
  export class TwoClickPolygonMode extends GeoJsonEditMode {
3
6
  handleClick(event, props) {
4
7
  if (props.modeConfig && props.modeConfig.dragToDraw) {
@@ -33,12 +36,12 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
33
36
  const feature = {
34
37
  type: 'Feature',
35
38
  properties: {
36
- shape: tentativeFeature.properties.shape,
39
+ shape: tentativeFeature.properties.shape
37
40
  },
38
41
  geometry: {
39
42
  type: 'Polygon',
40
- coordinates: tentativeFeature.geometry.coordinates,
41
- },
43
+ coordinates: tentativeFeature.geometry.coordinates
44
+ }
42
45
  };
43
46
  const editAction = this.getAddFeatureOrBooleanPolygonAction(feature, props);
44
47
  this.resetClickSequence();
@@ -52,7 +55,7 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
52
55
  const clickSequence = this.getClickSequence();
53
56
  const guides = {
54
57
  type: 'FeatureCollection',
55
- features: [],
58
+ features: []
56
59
  };
57
60
  if (clickSequence.length === 0 || !lastPointerMoveEvent) {
58
61
  // nothing to do yet
@@ -66,9 +69,9 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
66
69
  type: 'Feature',
67
70
  properties: {
68
71
  shape: polygon.properties && polygon.properties.shape,
69
- guideType: 'tentative',
72
+ guideType: 'tentative'
70
73
  },
71
- geometry: polygon.geometry,
74
+ geometry: polygon.geometry
72
75
  });
73
76
  }
74
77
  return guides;
@@ -1,4 +1,4 @@
1
- import { Position, Point, Geometry, FeatureWithProps } from '../geojson-types';
1
+ import { Position, Point, Geometry, FeatureWithProps } from "../utils/geojson-types.js";
2
2
  export type ScreenCoordinates = [number, number];
3
3
  export type EditAction<TData> = {
4
4
  updatedData: TData;
@@ -84,3 +84,4 @@ export type ModeProps<TData> = {
84
84
  onEdit: (editAction: EditAction<TData>) => void;
85
85
  onUpdateCursor: (cursor: string | null | undefined) => void;
86
86
  };
87
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/edit-modes/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  export {};
@@ -1,6 +1,6 @@
1
1
  import { MultiLineString } from '@turf/helpers';
2
- import { Viewport, Pick, EditHandleFeature, EditHandleType } from './types';
3
- import { Geometry, Position, Point, LineString, Polygon, FeatureOf, FeatureWithProps, AnyCoordinates } from '../geojson-types';
2
+ import { Viewport, Pick, EditHandleFeature, EditHandleType } from "./types.js";
3
+ import { Geometry, Position, Point, LineString, Polygon, FeatureOf, FeatureWithProps, AnyCoordinates } from "../utils/geojson-types.js";
4
4
  export type NearestPointType = FeatureWithProps<Point, {
5
5
  dist: number;
6
6
  index: number;
@@ -34,3 +34,4 @@ export declare function updateRectanglePosition(feature: FeatureOf<Polygon>, edi
34
34
  * @retuns Transformed coordinates.
35
35
  */
36
36
  export declare function mapCoords(coords: AnyCoordinates, callback: (coords: Position) => Position): AnyCoordinates;
37
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/edit-modes/utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ /* eslint-disable no-shadow */
1
5
  import destination from '@turf/destination';
2
6
  import bearing from '@turf/bearing';
3
7
  import pointToLineDistance from '@turf/point-to-line-distance';
@@ -51,7 +55,7 @@ export function recursivelyTraverseNestedArrays(array, prefix, fn) {
51
55
  export function generatePointsParallelToLinePoints(p1, p2, mapCoords) {
52
56
  const lineString = {
53
57
  type: 'LineString',
54
- coordinates: [p1, p2],
58
+ coordinates: [p1, p2]
55
59
  };
56
60
  const pt = point(mapCoords);
57
61
  const ddistance = pointToLineDistance(pt, lineString);
@@ -104,11 +108,11 @@ export function nearestPointOnProjectedLine(line, inPoint, viewport) {
104
108
  minPointInfo = {
105
109
  index,
106
110
  x0: (B * (B * x - A * y) - A * C) / div,
107
- y0: (A * (-B * x + A * y) - B * C) / div,
111
+ y0: (A * (-B * x + A * y) - B * C) / div
108
112
  };
109
113
  }
110
114
  });
111
- // @ts-ignore
115
+ // @ts-expect-error TODO
112
116
  const { index, x0, y0 } = minPointInfo;
113
117
  const [x1, y1, z1 = 0] = projectedCoords[index - 1];
114
118
  const [x2, y2, z2 = 0] = projectedCoords[index];
@@ -121,14 +125,13 @@ export function nearestPointOnProjectedLine(line, inPoint, viewport) {
121
125
  type: 'Feature',
122
126
  geometry: {
123
127
  type: 'Point',
124
- // @ts-expect-error
125
- coordinates: wmViewport.unproject([x0, y0, z0]),
128
+ coordinates: wmViewport.unproject([x0, y0, z0])
126
129
  },
127
130
  properties: {
128
131
  // TODO: calculate the distance in proper units
129
132
  dist: minDistance,
130
- index: index - 1,
131
- },
133
+ index: index - 1
134
+ }
132
135
  };
133
136
  }
134
137
  export function nearestPointOnLine(lines, inPoint, viewport) {
@@ -137,16 +140,16 @@ export function nearestPointOnLine(lines, inPoint, viewport) {
137
140
  mercator = new WebMercatorViewport(viewport);
138
141
  }
139
142
  let closestPoint = point([Infinity, Infinity], {
140
- dist: Infinity,
143
+ dist: Infinity
141
144
  });
142
145
  if (!lines.geometry?.coordinates.length || lines.geometry?.coordinates.length < 2) {
143
146
  return closestPoint;
144
147
  }
145
- // @ts-ignore
148
+ // @ts-expect-error TODO
146
149
  // eslint-disable-next-line max-statements, complexity
147
150
  flattenEach(lines, (line) => {
148
151
  const coords = getCoords(line);
149
- // @ts-ignore
152
+ // @ts-expect-error TODO
150
153
  const pointCoords = getCoords(inPoint);
151
154
  let minDist;
152
155
  let to;
@@ -231,12 +234,12 @@ export function nearestPointOnLine(lines, inPoint, viewport) {
231
234
  y: pixelToLatLong[1],
232
235
  idx: segmentIdx - 1,
233
236
  to,
234
- from,
237
+ from
235
238
  };
236
239
  }
237
240
  closestPoint = point([snapPoint.x, snapPoint.y], {
238
241
  dist: Math.abs(snapPoint.from - snapPoint.to),
239
- index: snapPoint.idx,
242
+ index: snapPoint.idx
240
243
  });
241
244
  });
242
245
  return closestPoint;
@@ -280,13 +283,13 @@ export function getEditHandlesForGeometry(geometry, featureIndex, editHandleType
280
283
  guideType: 'editHandle',
281
284
  editHandleType,
282
285
  positionIndexes: [],
283
- featureIndex,
286
+ featureIndex
284
287
  },
285
288
  geometry: {
286
289
  type: 'Point',
287
- coordinates: geometry.coordinates,
288
- },
289
- },
290
+ coordinates: geometry.coordinates
291
+ }
292
+ }
290
293
  ];
291
294
  break;
292
295
  case 'MultiPoint':
@@ -330,12 +333,12 @@ function getEditHandlesForCoordinates(coordinates, positionIndexPrefix, featureI
330
333
  guideType: 'editHandle',
331
334
  positionIndexes: [...positionIndexPrefix, i],
332
335
  featureIndex,
333
- editHandleType,
336
+ editHandleType
334
337
  },
335
338
  geometry: {
336
339
  type: 'Point',
337
- coordinates: position,
338
- },
340
+ coordinates: position
341
+ }
339
342
  });
340
343
  }
341
344
  return editHandles;
@@ -1,3 +1,4 @@
1
- import { GeoJsonEditMode } from './geojson-edit-mode';
1
+ import { GeoJsonEditMode } from "./geojson-edit-mode.js";
2
2
  export declare class ViewMode extends GeoJsonEditMode {
3
3
  }
4
+ //# sourceMappingURL=view-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/view-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,qBAAa,QAAS,SAAQ,eAAe;CAAG"}
@@ -1,3 +1,6 @@
1
- import { GeoJsonEditMode } from './geojson-edit-mode';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { GeoJsonEditMode } from "./geojson-edit-mode.js";
2
5
  export class ViewMode extends GeoJsonEditMode {
3
6
  }
@@ -1,10 +1,10 @@
1
1
  import type { UpdateParameters, DefaultProps } from '@deck.gl/core';
2
2
  import { GeoJsonLayer, TextLayer } from '@deck.gl/layers';
3
- import { EditAction, ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent } from '../edit-modes/types';
4
- import { GeoJsonEditModeType } from '../edit-modes/geojson-edit-mode';
5
- import { Color } from '../types';
6
- import EditableLayer, { EditableLayerProps } from './editable-layer';
7
- import { Feature, FeatureCollection } from '../geojson-types';
3
+ import { EditAction, ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent } from "../edit-modes/types.js";
4
+ import { GeoJsonEditModeType } from "../edit-modes/geojson-edit-mode.js";
5
+ import { Color } from "../utils/types.js";
6
+ import { EditableLayer, EditableLayerProps } from "./editable-layer.js";
7
+ import { Feature, FeatureCollection } from "../utils/geojson-types.js";
8
8
  export type EditableGeojsonLayerProps<DataT = any> = EditableLayerProps & {
9
9
  data: DataT;
10
10
  mode?: any;
@@ -55,7 +55,7 @@ export type EditableGeojsonLayerProps<DataT = any> = EditableLayerProps & {
55
55
  getEditHandleIconAngle?: number | ((handle: any) => number);
56
56
  billboard?: boolean;
57
57
  };
58
- export default class EditableGeoJsonLayer extends EditableLayer<FeatureCollection, EditableGeojsonLayerProps<FeatureCollection>> {
58
+ export declare class EditableGeoJsonLayer extends EditableLayer<FeatureCollection, EditableGeojsonLayerProps<FeatureCollection>> {
59
59
  static layerName: string;
60
60
  static defaultProps: DefaultProps<EditableGeojsonLayerProps<any>>;
61
61
  state: EditableLayer['state'] & {
@@ -96,3 +96,4 @@ export default class EditableGeoJsonLayer extends EditableLayer<FeatureCollectio
96
96
  }): null | 'grabbing' | 'grab';
97
97
  getActiveMode(): GeoJsonEditModeType;
98
98
  }
99
+ //# sourceMappingURL=editable-geojson-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable-geojson-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/editable-geojson-layer.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,35 @@
1
- /* eslint-env browser */
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
2
4
  import { GeoJsonLayer, ScatterplotLayer, IconLayer, TextLayer } from '@deck.gl/layers';
3
- import { ViewMode } from '../edit-modes/view-mode';
4
- import { TranslateMode } from '../edit-modes/translate-mode';
5
- import { ModifyMode } from '../edit-modes/modify-mode';
6
- import { ScaleMode } from '../edit-modes/scale-mode';
7
- import { RotateMode } from '../edit-modes/rotate-mode';
8
- import { DuplicateMode } from '../edit-modes/duplicate-mode';
9
- import { SplitPolygonMode } from '../edit-modes/split-polygon-mode';
10
- import { ExtrudeMode } from '../edit-modes/extrude-mode';
11
- import { ElevationMode } from '../edit-modes/elevation-mode';
12
- import { DrawPointMode } from '../edit-modes/draw-point-mode';
13
- import { DrawLineStringMode } from '../edit-modes/draw-line-string-mode';
14
- import { DrawPolygonMode } from '../edit-modes/draw-polygon-mode';
15
- import { DrawRectangleMode } from '../edit-modes/draw-rectangle-mode';
16
- import { DrawSquareMode } from '../edit-modes/draw-square-mode';
17
- import { DrawRectangleFromCenterMode } from '../edit-modes/draw-rectangle-from-center-mode';
18
- import { DrawSquareFromCenterMode } from '../edit-modes/draw-square-from-center-mode';
19
- import { DrawCircleFromCenterMode } from '../edit-modes/draw-circle-from-center-mode';
20
- import { DrawCircleByDiameterMode } from '../edit-modes/draw-circle-by-diameter-mode';
21
- import { DrawEllipseByBoundingBoxMode } from '../edit-modes/draw-ellipse-by-bounding-box-mode';
22
- import { DrawRectangleUsingThreePointsMode } from '../edit-modes/draw-rectangle-using-three-points-mode';
23
- import { DrawEllipseUsingThreePointsMode } from '../edit-modes/draw-ellipse-using-three-points-mode';
24
- import { Draw90DegreePolygonMode } from '../edit-modes/draw-90degree-polygon-mode';
25
- import { DrawPolygonByDraggingMode } from '../edit-modes/draw-polygon-by-dragging-mode';
26
- import { SnappableMode } from '../edit-modes/snappable-mode';
27
- import { TransformMode } from '../edit-modes/transform-mode';
28
- import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from '../constants';
29
- import EditableLayer from './editable-layer';
30
- import EditablePathLayer from './editable-path-layer';
5
+ import { ViewMode } from "../edit-modes/view-mode.js";
6
+ import { TranslateMode } from "../edit-modes/translate-mode.js";
7
+ import { ModifyMode } from "../edit-modes/modify-mode.js";
8
+ import { ScaleMode } from "../edit-modes/scale-mode.js";
9
+ import { RotateMode } from "../edit-modes/rotate-mode.js";
10
+ import { DuplicateMode } from "../edit-modes/duplicate-mode.js";
11
+ import { SplitPolygonMode } from "../edit-modes/split-polygon-mode.js";
12
+ import { ExtrudeMode } from "../edit-modes/extrude-mode.js";
13
+ import { ElevationMode } from "../edit-modes/elevation-mode.js";
14
+ import { DrawPointMode } from "../edit-modes/draw-point-mode.js";
15
+ import { DrawLineStringMode } from "../edit-modes/draw-line-string-mode.js";
16
+ import { DrawPolygonMode } from "../edit-modes/draw-polygon-mode.js";
17
+ import { DrawRectangleMode } from "../edit-modes/draw-rectangle-mode.js";
18
+ import { DrawSquareMode } from "../edit-modes/draw-square-mode.js";
19
+ import { DrawRectangleFromCenterMode } from "../edit-modes/draw-rectangle-from-center-mode.js";
20
+ import { DrawSquareFromCenterMode } from "../edit-modes/draw-square-from-center-mode.js";
21
+ import { DrawCircleFromCenterMode } from "../edit-modes/draw-circle-from-center-mode.js";
22
+ import { DrawCircleByDiameterMode } from "../edit-modes/draw-circle-by-diameter-mode.js";
23
+ import { DrawEllipseByBoundingBoxMode } from "../edit-modes/draw-ellipse-by-bounding-box-mode.js";
24
+ import { DrawRectangleUsingThreePointsMode } from "../edit-modes/draw-rectangle-using-three-points-mode.js";
25
+ import { DrawEllipseUsingThreePointsMode } from "../edit-modes/draw-ellipse-using-three-points-mode.js";
26
+ import { Draw90DegreePolygonMode } from "../edit-modes/draw-90degree-polygon-mode.js";
27
+ import { DrawPolygonByDraggingMode } from "../edit-modes/draw-polygon-by-dragging-mode.js";
28
+ import { SnappableMode } from "../edit-modes/snappable-mode.js";
29
+ import { TransformMode } from "../edit-modes/transform-mode.js";
30
+ import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from "../constants.js";
31
+ import { EditableLayer } from "./editable-layer.js";
32
+ import { EditablePathLayer } from "./editable-path-layer.js";
31
33
  const DEFAULT_LINE_COLOR = [0x0, 0x0, 0x0, 0x99];
32
34
  const DEFAULT_FILL_COLOR = [0x0, 0x0, 0x0, 0x90];
33
35
  const DEFAULT_SELECTED_LINE_COLOR = [0x0, 0x0, 0x0, 0xff];
@@ -135,7 +137,7 @@ const defaultProps = {
135
137
  getEditHandleIconColor: getEditHandleColor,
136
138
  getEditHandleIconAngle: 0,
137
139
  // misc
138
- billboard: true,
140
+ billboard: true
139
141
  };
140
142
  // Mapping of mode name to mode class (for legacy purposes)
141
143
  const modeNameMapping = {
@@ -164,9 +166,9 @@ const modeNameMapping = {
164
166
  drawRectangleUsing3Points: DrawRectangleUsingThreePointsMode,
165
167
  drawEllipseUsing3Points: DrawEllipseUsingThreePointsMode,
166
168
  draw90DegreePolygon: Draw90DegreePolygonMode,
167
- drawPolygonByDragging: DrawPolygonByDraggingMode,
169
+ drawPolygonByDragging: DrawPolygonByDraggingMode
168
170
  };
169
- export default class EditableGeoJsonLayer extends EditableLayer {
171
+ export class EditableGeoJsonLayer extends EditableLayer {
170
172
  static layerName = 'EditableGeoJsonLayer';
171
173
  static defaultProps = defaultProps;
172
174
  state = undefined;
@@ -198,8 +200,8 @@ export default class EditableGeoJsonLayer extends EditableLayer {
198
200
  billboard: this.props.billboard,
199
201
  updateTriggers: {
200
202
  // required to update dashed array attribute
201
- all: [this.props.selectedFeatureIndexes, this.props.mode],
202
- },
203
+ all: [this.props.selectedFeatureIndexes, this.props.mode]
204
+ }
203
205
  },
204
206
  'polygons-stroke': {
205
207
  billboard: this.props.billboard,
@@ -207,16 +209,16 @@ export default class EditableGeoJsonLayer extends EditableLayer {
207
209
  type: EditablePathLayer,
208
210
  updateTriggers: {
209
211
  // required to update dashed array attribute
210
- all: [this.props.selectedFeatureIndexes, this.props.mode],
211
- },
212
- },
212
+ all: [this.props.selectedFeatureIndexes, this.props.mode]
213
+ }
214
+ }
213
215
  },
214
216
  updateTriggers: {
215
217
  getLineColor: [this.props.selectedFeatureIndexes, this.props.mode],
216
218
  getFillColor: [this.props.selectedFeatureIndexes, this.props.mode],
217
219
  getPointRadius: [this.props.selectedFeatureIndexes, this.props.mode],
218
- getLineWidth: [this.props.selectedFeatureIndexes, this.props.mode],
219
- },
220
+ getLineWidth: [this.props.selectedFeatureIndexes, this.props.mode]
221
+ }
220
222
  });
221
223
  let layers = [new GeoJsonLayer(subLayerProps)];
222
224
  layers = layers.concat(this.createGuidesLayers(), this.createTooltipsLayers());
@@ -226,7 +228,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
226
228
  super.initializeState();
227
229
  this.setState({
228
230
  selectedFeatures: [],
229
- editHandles: [],
231
+ editHandles: []
230
232
  });
231
233
  }
232
234
  // TODO: is this the best way to properly update state from an outside event handler?
@@ -253,7 +255,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
253
255
  // Lookup the mode based on its name (for backwards compatibility)
254
256
  mode = modeNameMapping[props.mode];
255
257
  // eslint-disable-next-line no-console
256
- console.warn('Deprecated use of passing `mode` as a string. Pass the mode\'s class constructor instead.');
258
+ console.warn("Deprecated use of passing `mode` as a string. Pass the mode's class constructor instead.");
257
259
  }
258
260
  else {
259
261
  // Should be an instance of EditMode in this case
@@ -275,7 +277,6 @@ export default class EditableGeoJsonLayer extends EditableLayer {
275
277
  'features' in props.data) {
276
278
  // TODO: needs improved testing, i.e. checking for duplicates, NaNs, out of range numbers, ...
277
279
  const propsData = props.data;
278
- // @ts-ignore error TS2339: Property 'features' does not exist on type 'never'
279
280
  selectedFeatures = props.selectedFeatureIndexes.map((elem) => propsData.features[elem]);
280
281
  }
281
282
  this.setState({ selectedFeatures });
@@ -296,7 +297,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
296
297
  },
297
298
  onUpdateCursor: (cursor) => {
298
299
  this.setState({ cursor });
299
- },
300
+ }
300
301
  };
301
302
  }
302
303
  selectionAwareAccessor(accessor) {
@@ -343,14 +344,14 @@ export default class EditableGeoJsonLayer extends EditableLayer {
343
344
  const subLayerProps = {
344
345
  linestrings: {
345
346
  billboard: this.props.billboard,
346
- autoHighlight: false,
347
+ autoHighlight: false
347
348
  },
348
349
  'polygons-fill': {
349
- autoHighlight: false,
350
+ autoHighlight: false
350
351
  },
351
352
  'polygons-stroke': {
352
- billboard: this.props.billboard,
353
- },
353
+ billboard: this.props.billboard
354
+ }
354
355
  };
355
356
  if (this.props.editHandleType === 'icon') {
356
357
  subLayerProps['points-icon'] = {
@@ -363,7 +364,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
363
364
  getSize: guideAccessor(this.props.getEditHandleIconSize),
364
365
  getColor: guideAccessor(this.props.getEditHandleIconColor),
365
366
  getAngle: guideAccessor(this.props.getEditHandleIconAngle),
366
- billboard: this.props.billboard,
367
+ billboard: this.props.billboard
367
368
  };
368
369
  }
369
370
  else {
@@ -378,7 +379,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
378
379
  getRadius: guideAccessor(this.props.getEditHandlePointRadius),
379
380
  getFillColor: guideAccessor(this.props.getEditHandlePointColor),
380
381
  getLineColor: guideAccessor(this.props.getEditHandlePointOutlineColor),
381
- billboard: this.props.billboard,
382
+ billboard: this.props.billboard
382
383
  };
383
384
  }
384
385
  const layer = new GeoJsonLayer(this.getSubLayerProps({
@@ -397,7 +398,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
397
398
  getLineWidth: guideAccessor(this.props.getTentativeLineWidth),
398
399
  getFillColor: guideAccessor(this.props.getTentativeFillColor),
399
400
  pointType: this.props.editHandleType === 'icon' ? 'icon' : 'circle',
400
- iconAtlas: this.props.editHandleIconAtlas,
401
+ iconAtlas: this.props.editHandleIconAtlas
401
402
  }));
402
403
  return [layer];
403
404
  }
@@ -408,8 +409,8 @@ export default class EditableGeoJsonLayer extends EditableLayer {
408
409
  getSize: DEFAULT_TOOLTIP_FONT_SIZE,
409
410
  ...this.getSubLayerProps({
410
411
  id: 'tooltips',
411
- data: tooltips,
412
- }),
412
+ data: tooltips
413
+ })
413
414
  });
414
415
  return [layer];
415
416
  }
@@ -1,5 +1,5 @@
1
1
  import { DefaultProps } from '@deck.gl/core';
2
- import EditableLayer, { EditableLayerProps } from './editable-layer';
2
+ import { EditableLayer, EditableLayerProps } from "./editable-layer.js";
3
3
  export type EditableH3ClusterLayerProps<DataT> = EditableLayerProps & {
4
4
  data: DataT;
5
5
  resolution?: number;
@@ -16,7 +16,7 @@ export type EditableH3ClusterLayerProps<DataT> = EditableLayerProps & {
16
16
  lineWidthMaxPixels?: number;
17
17
  lineWidthUnits?: string;
18
18
  };
19
- export default class EditableH3ClusterLayer extends EditableLayer<any, EditableH3ClusterLayerProps<any>> {
19
+ export declare class EditableH3ClusterLayer extends EditableLayer<any, EditableH3ClusterLayerProps<any>> {
20
20
  static layerName: string;
21
21
  static defaultProps: DefaultProps<EditableH3ClusterLayerProps<any>>;
22
22
  state: EditableLayer['state'] & {
@@ -32,3 +32,4 @@ export default class EditableH3ClusterLayer extends EditableLayer<any, EditableH
32
32
  isDragging: boolean;
33
33
  }): 'grabbing' | 'grab';
34
34
  }
35
+ //# sourceMappingURL=editable-h3-cluster-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable-h3-cluster-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/editable-h3-cluster-layer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAK3C,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,4BAAyB;AAUnE,MAAM,MAAM,2BAA2B,CAAC,KAAK,IAAI,kBAAkB,GAAG;IACpE,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,KAAK,GAAG,CAAC;IACzE,WAAW,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAA,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,KAAA,KAAK,IAAI,CAAC;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AA+BF,qBAAa,sBAAuB,SAAQ,aAAa,CAAC,GAAG,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAC9F,MAAM,CAAC,SAAS,SAA4B;IAC5C,MAAM,CAAC,YAAY,iDAAgB;IAEnC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG;QAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;QACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAc;IAEf,eAAe;IASf,oBAAoB,CAAC,MAAM,KAAA;IAM3B,mBAAmB,CAAC,MAAM,KAAA;IAK1B,YAAY;IAiHZ,iBAAiB;IAUjB,SAAS,CAAC,EAAC,UAAU,EAAC,EAAE;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,GAAG,UAAU,GAAG,MAAM;CAQpE"}
@@ -1,11 +1,14 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  /* eslint-env browser */
2
5
  import { H3ClusterLayer } from '@deck.gl/geo-layers';
3
6
  // TODO: Fix H3 support.
4
7
  // import { polyfill, geoToH3 } from 'h3-js';
5
- import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from '../constants';
6
- import EditableGeoJsonLayer from './editable-geojson-layer';
7
- import EditableLayer from './editable-layer';
8
- import { ViewMode } from '../edit-modes/view-mode';
8
+ import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from "../constants.js";
9
+ import { EditableGeoJsonLayer } from "./editable-geojson-layer.js";
10
+ import { EditableLayer } from "./editable-layer.js";
11
+ import { ViewMode } from "../edit-modes/view-mode.js";
9
12
  const DEFAULT_EDIT_MODE = ViewMode;
10
13
  const DEFAULT_H3_RESOLUTION = 9;
11
14
  const EMPTY_FEATURE_COLLECTION = {
@@ -38,7 +41,7 @@ const defaultProps = {
38
41
  },
39
42
  resolution: DEFAULT_H3_RESOLUTION
40
43
  };
41
- export default class EditableH3ClusterLayer extends EditableLayer {
44
+ export class EditableH3ClusterLayer extends EditableLayer {
42
45
  static layerName = 'EditableH3ClusterLayer';
43
46
  static defaultProps = defaultProps;
44
47
  state = undefined;
@@ -1,11 +1,11 @@
1
1
  import { CompositeLayer, CompositeLayerProps } from '@deck.gl/core';
2
- import { DraggingEvent, ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent } from '../edit-modes/types';
3
- import { Position } from '../geojson-types';
2
+ import { DraggingEvent, ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent } from "../edit-modes/types.js";
3
+ import { Position } from "../utils/geojson-types.js";
4
4
  export type EditableLayerProps<DataType = any> = CompositeLayerProps & {
5
5
  pickingRadius?: number;
6
6
  pickingDepth?: number;
7
7
  };
8
- export default abstract class EditableLayer<DataT = any, ExtraPropsT = Record<string, unknown>> extends CompositeLayer<ExtraPropsT & Required<EditableLayerProps<DataT>>> {
8
+ export declare abstract class EditableLayer<DataT = any, ExtraPropsT = Record<string, unknown>> extends CompositeLayer<ExtraPropsT & Required<EditableLayerProps<DataT>>> {
9
9
  static layerName: string;
10
10
  state: {
11
11
  _editableLayerState: any;
@@ -30,9 +30,9 @@ export default abstract class EditableLayer<DataT = any, ExtraPropsT = Record<st
30
30
  _onpanend({ srcEvent }: any): void;
31
31
  _onpointermove(event: any): void;
32
32
  getPicks(screenCoords: [number, number]): {
33
- color: Uint8Array;
34
- layer: import("@deck.gl/core").Layer<{}>;
35
- sourceLayer?: import("@deck.gl/core").Layer<{}>;
33
+ color: Uint8Array | null;
34
+ layer: import("@deck.gl/core").Layer | null;
35
+ sourceLayer?: import("@deck.gl/core").Layer | null;
36
36
  viewport?: import("@deck.gl/core").Viewport;
37
37
  index: number;
38
38
  picked: boolean;
@@ -47,3 +47,4 @@ export default abstract class EditableLayer<DataT = any, ExtraPropsT = Record<st
47
47
  getScreenCoords(pointerEvent: any): Position;
48
48
  getMapCoords(screenCoords: Position): Position;
49
49
  }
50
+ //# sourceMappingURL=editable-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/editable-layer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClE,OAAO,EACL,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,+BAA4B;AAC7B,OAAO,EAAC,QAAQ,EAAC,kCAA+B;AAKhD,MAAM,MAAM,kBAAkB,CAAC,QAAQ,GAAG,GAAG,IAAI,mBAAmB,GAAG;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,8BAAsB,aAAa,CACjC,KAAK,GAAG,GAAG,EACX,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACrC,SAAQ,cAAc,CAAC,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,SAAmB;IAEnC,KAAK,EAAE;QAAC,mBAAmB,EAAE,GAAG,CAAA;KAAC,CAAc;IAG/C,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIrC,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAIhD,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI9C,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAItC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI5C,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKxC,eAAe;IAkBf,aAAa;IAIb,iBAAiB;IAajB,oBAAoB;IAapB,2BAA2B,CAAC,KAAK,EAAE,GAAG;IAYtC,WAAW,CAAC,EAAC,QAAQ,EAAC,EAAE,GAAG;IAc3B,QAAQ,CAAC,EAAC,QAAQ,EAAC,EAAE;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAC;IAI9C,WAAW,CAAC,KAAK,EAAE,GAAG;IAyBtB,UAAU,CAAC,KAAK,EAAE,GAAG;IA2BrB,SAAS,CAAC,EAAC,QAAQ,EAAC,EAAE,GAAG;IA6BzB,cAAc,CAAC,KAAK,EAAE,GAAG;IAsBzB,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;IAUvC,eAAe,CAAC,YAAY,EAAE,GAAG,GAAG,QAAQ;IAS5C,YAAY,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ;CAG/C"}