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

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 (279) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +2 -81
  3. package/dist/constants.js +4 -1
  4. package/dist/edit-modes/composite-mode.d.ts +1 -1
  5. package/dist/edit-modes/composite-mode.js +4 -1
  6. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +1 -1
  7. package/dist/edit-modes/draw-90degree-polygon-mode.js +29 -24
  8. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +1 -1
  9. package/dist/edit-modes/draw-circle-by-diameter-mode.js +7 -4
  10. package/dist/edit-modes/draw-circle-from-center-mode.d.ts +1 -1
  11. package/dist/edit-modes/draw-circle-from-center-mode.js +7 -4
  12. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +1 -1
  13. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +3 -0
  14. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +1 -1
  15. package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +3 -0
  16. package/dist/edit-modes/draw-line-string-mode.d.ts +1 -1
  17. package/dist/edit-modes/draw-line-string-mode.js +19 -16
  18. package/dist/edit-modes/draw-point-mode.d.ts +1 -1
  19. package/dist/edit-modes/draw-point-mode.js +7 -4
  20. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +1 -1
  21. package/dist/edit-modes/draw-polygon-by-dragging-mode.js +10 -5
  22. package/dist/edit-modes/draw-polygon-mode.d.ts +1 -1
  23. package/dist/edit-modes/draw-polygon-mode.js +20 -16
  24. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +1 -1
  25. package/dist/edit-modes/draw-rectangle-from-center-mode.js +3 -0
  26. package/dist/edit-modes/draw-rectangle-mode.d.ts +1 -1
  27. package/dist/edit-modes/draw-rectangle-mode.js +3 -0
  28. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +1 -1
  29. package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +8 -5
  30. package/dist/edit-modes/draw-square-from-center-mode.d.ts +1 -1
  31. package/dist/edit-modes/draw-square-from-center-mode.js +3 -0
  32. package/dist/edit-modes/draw-square-mode.d.ts +1 -1
  33. package/dist/edit-modes/draw-square-mode.js +3 -0
  34. package/dist/edit-modes/duplicate-mode.d.ts +1 -1
  35. package/dist/edit-modes/duplicate-mode.js +3 -0
  36. package/dist/edit-modes/edit-mode.js +3 -1
  37. package/dist/edit-modes/elevation-mode.d.ts +2 -2
  38. package/dist/edit-modes/elevation-mode.js +8 -5
  39. package/dist/edit-modes/extend-line-string-mode.d.ts +1 -1
  40. package/dist/edit-modes/extend-line-string-mode.js +9 -6
  41. package/dist/edit-modes/extrude-mode.d.ts +1 -1
  42. package/dist/edit-modes/extrude-mode.js +10 -7
  43. package/dist/edit-modes/geojson-edit-mode.d.ts +1 -1
  44. package/dist/edit-modes/geojson-edit-mode.js +18 -15
  45. package/dist/edit-modes/immutable-feature-collection.d.ts +2 -1
  46. package/dist/edit-modes/immutable-feature-collection.js +25 -20
  47. package/dist/edit-modes/measure-angle-mode.d.ts +1 -1
  48. package/dist/edit-modes/measure-angle-mode.js +8 -8
  49. package/dist/edit-modes/measure-area-mode.d.ts +1 -1
  50. package/dist/edit-modes/measure-area-mode.js +7 -5
  51. package/dist/edit-modes/measure-distance-mode.d.ts +1 -1
  52. package/dist/edit-modes/measure-distance-mode.js +17 -14
  53. package/dist/edit-modes/modify-mode.d.ts +1 -1
  54. package/dist/edit-modes/modify-mode.js +17 -14
  55. package/dist/edit-modes/resize-circle-mode.d.ts +2 -2
  56. package/dist/edit-modes/resize-circle-mode.js +3 -1
  57. package/dist/edit-modes/rotate-mode.d.ts +1 -1
  58. package/dist/edit-modes/rotate-mode.js +8 -5
  59. package/dist/edit-modes/scale-mode.d.ts +1 -1
  60. package/dist/edit-modes/scale-mode.js +8 -5
  61. package/dist/edit-modes/snappable-mode.d.ts +1 -1
  62. package/dist/edit-modes/snappable-mode.js +8 -5
  63. package/dist/edit-modes/split-polygon-mode.d.ts +1 -1
  64. package/dist/edit-modes/split-polygon-mode.js +12 -9
  65. package/dist/edit-modes/three-click-polygon-mode.d.ts +1 -1
  66. package/dist/edit-modes/three-click-polygon-mode.js +9 -6
  67. package/dist/edit-modes/transform-mode.d.ts +1 -1
  68. package/dist/edit-modes/transform-mode.js +4 -1
  69. package/dist/edit-modes/translate-mode.d.ts +1 -1
  70. package/dist/edit-modes/translate-mode.js +7 -4
  71. package/dist/edit-modes/two-click-polygon-mode.d.ts +1 -1
  72. package/dist/edit-modes/two-click-polygon-mode.js +9 -6
  73. package/dist/edit-modes/types.d.ts +1 -1
  74. package/dist/edit-modes/types.js +3 -0
  75. package/dist/edit-modes/utils.d.ts +1 -1
  76. package/dist/edit-modes/utils.js +21 -19
  77. package/dist/edit-modes/view-mode.js +3 -0
  78. package/dist/editable-layers/editable-geojson-layer.d.ts +4 -4
  79. package/dist/editable-layers/editable-geojson-layer.js +27 -26
  80. package/dist/editable-layers/editable-h3-cluster-layer.d.ts +2 -2
  81. package/dist/editable-layers/editable-h3-cluster-layer.js +6 -3
  82. package/dist/editable-layers/editable-layer.d.ts +5 -5
  83. package/dist/editable-layers/editable-layer.js +18 -15
  84. package/dist/editable-layers/editable-path-layer.d.ts +1 -1
  85. package/dist/editable-layers/editable-path-layer.js +10 -7
  86. package/dist/editable-layers/elevated-edit-handle-layer.d.ts +1 -1
  87. package/dist/editable-layers/elevated-edit-handle-layer.js +6 -3
  88. package/dist/editable-layers/junction-scatterplot-layer.d.ts +2 -2
  89. package/dist/editable-layers/junction-scatterplot-layer.js +10 -7
  90. package/dist/editable-layers/selection-layer.d.ts +1 -1
  91. package/dist/editable-layers/selection-layer.js +5 -2
  92. package/dist/index.cjs +65 -537
  93. package/dist/index.cjs.map +4 -4
  94. package/dist/index.d.ts +19 -20
  95. package/dist/index.js +20 -18
  96. package/dist/lib/constants.js +3 -0
  97. package/dist/lib/deck-renderer/deck-cache.d.ts +1 -1
  98. package/dist/lib/deck-renderer/deck-cache.js +1 -1
  99. package/dist/lib/deck-renderer/deck-drawer.d.ts +2 -3
  100. package/dist/lib/deck-renderer/deck-drawer.js +12 -12
  101. package/dist/lib/feature.d.ts +4 -4
  102. package/dist/lib/feature.js +4 -1
  103. package/dist/lib/layer-mouse-event.d.ts +2 -2
  104. package/dist/lib/layer-mouse-event.js +4 -1
  105. package/dist/lib/layers/junctions-layer.d.ts +4 -4
  106. package/dist/lib/layers/junctions-layer.js +10 -7
  107. package/dist/lib/layers/segments-layer.d.ts +4 -4
  108. package/dist/lib/layers/segments-layer.js +11 -8
  109. package/dist/lib/layers/texts-layer.d.ts +3 -3
  110. package/dist/lib/layers/texts-layer.js +8 -5
  111. package/dist/lib/math.d.ts +1 -1
  112. package/dist/lib/math.js +3 -0
  113. package/dist/lib/{nebula.d.ts → nebula-core.d.ts} +2 -2
  114. package/dist/lib/{nebula.js → nebula-core.js} +7 -4
  115. package/dist/lib/nebula-layer.d.ts +2 -2
  116. package/dist/lib/nebula-layer.js +4 -1
  117. package/dist/lib/style.js +5 -2
  118. package/dist/mode-handlers/composite-mode-handler.d.ts +1 -1
  119. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +1 -1
  120. package/dist/mode-handlers/draw-90degree-polygon-handler.js +13 -10
  121. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +3 -0
  122. package/dist/mode-handlers/draw-circle-from-center-handler.js +3 -0
  123. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +3 -0
  124. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +5 -2
  125. package/dist/mode-handlers/draw-line-string-handler.js +7 -4
  126. package/dist/mode-handlers/draw-point-handler.js +4 -1
  127. package/dist/mode-handlers/draw-polygon-handler.d.ts +1 -1
  128. package/dist/mode-handlers/draw-polygon-handler.js +10 -7
  129. package/dist/mode-handlers/draw-rectangle-handler.js +3 -0
  130. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +11 -8
  131. package/dist/mode-handlers/duplicate-handler.js +3 -0
  132. package/dist/mode-handlers/elevation-handler.d.ts +2 -2
  133. package/dist/mode-handlers/elevation-handler.js +8 -5
  134. package/dist/mode-handlers/extrude-handler.js +10 -7
  135. package/dist/mode-handlers/mode-handler.d.ts +1 -1
  136. package/dist/mode-handlers/mode-handler.js +17 -14
  137. package/dist/mode-handlers/modify-handler.d.ts +2 -2
  138. package/dist/mode-handlers/modify-handler.js +18 -15
  139. package/dist/mode-handlers/rotate-handler.d.ts +1 -1
  140. package/dist/mode-handlers/rotate-handler.js +4 -1
  141. package/dist/mode-handlers/scale-handler.d.ts +1 -1
  142. package/dist/mode-handlers/scale-handler.js +5 -2
  143. package/dist/mode-handlers/snappable-handler.d.ts +1 -1
  144. package/dist/mode-handlers/snappable-handler.js +6 -3
  145. package/dist/mode-handlers/split-polygon-handler.js +11 -8
  146. package/dist/mode-handlers/three-click-polygon-handler.js +3 -0
  147. package/dist/mode-handlers/translate-handler.d.ts +1 -1
  148. package/dist/mode-handlers/translate-handler.js +4 -1
  149. package/dist/mode-handlers/two-click-polygon-handler.js +3 -0
  150. package/dist/mode-handlers/view-handler.d.ts +1 -1
  151. package/dist/mode-handlers/view-handler.js +3 -0
  152. package/dist/shaderlib/color/color.d.ts +7 -6
  153. package/dist/shaderlib/color/color.js +7 -4
  154. package/dist/shaderlib/utils/utils.d.ts +2 -2
  155. package/dist/shaderlib/utils/utils.js +5 -2
  156. package/dist/{curve-utils.js → utils/curve-utils.js} +7 -4
  157. package/dist/{geojson-types.d.ts → utils/geojson-types.d.ts} +2 -25
  158. package/dist/utils/geojson-types.js +4 -0
  159. package/dist/{memoize.d.ts → utils/memoize.d.ts} +1 -1
  160. package/dist/{memoize.js → utils/memoize.js} +4 -1
  161. package/dist/{translateFromCenter.js → utils/translate-from-center.js} +4 -1
  162. package/dist/utils/types.js +4 -0
  163. package/dist/{utils.js → utils/utils.js} +8 -6
  164. package/package.json +10 -10
  165. package/src/constants.ts +5 -1
  166. package/src/edit-modes/composite-mode.ts +9 -5
  167. package/src/edit-modes/draw-90degree-polygon-mode.ts +38 -34
  168. package/src/edit-modes/draw-circle-by-diameter-mode.ts +16 -12
  169. package/src/edit-modes/draw-circle-from-center-mode.ts +15 -11
  170. package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +8 -4
  171. package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +9 -5
  172. package/src/edit-modes/draw-line-string-mode.ts +29 -25
  173. package/src/edit-modes/draw-point-mode.ts +13 -9
  174. package/src/edit-modes/draw-polygon-by-dragging-mode.ts +16 -16
  175. package/src/edit-modes/draw-polygon-mode.ts +28 -23
  176. package/src/edit-modes/draw-rectangle-from-center-mode.ts +6 -2
  177. package/src/edit-modes/draw-rectangle-mode.ts +6 -2
  178. package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +12 -8
  179. package/src/edit-modes/draw-square-from-center-mode.ts +7 -3
  180. package/src/edit-modes/draw-square-mode.ts +7 -3
  181. package/src/edit-modes/duplicate-mode.ts +7 -3
  182. package/src/edit-modes/edit-mode.ts +5 -1
  183. package/src/edit-modes/elevation-mode.ts +13 -9
  184. package/src/edit-modes/extend-line-string-mode.ts +16 -12
  185. package/src/edit-modes/extrude-mode.ts +22 -18
  186. package/src/edit-modes/geojson-edit-mode.ts +37 -33
  187. package/src/edit-modes/immutable-feature-collection.ts +28 -22
  188. package/src/edit-modes/measure-angle-mode.ts +66 -59
  189. package/src/edit-modes/measure-area-mode.ts +13 -10
  190. package/src/edit-modes/measure-distance-mode.ts +37 -33
  191. package/src/edit-modes/modify-mode.ts +36 -32
  192. package/src/edit-modes/resize-circle-mode.ts +8 -5
  193. package/src/edit-modes/rotate-mode.ts +22 -18
  194. package/src/edit-modes/scale-mode.ts +29 -23
  195. package/src/edit-modes/snappable-mode.ts +19 -15
  196. package/src/edit-modes/split-polygon-mode.ts +25 -21
  197. package/src/edit-modes/three-click-polygon-mode.ts +15 -11
  198. package/src/edit-modes/transform-mode.ts +15 -11
  199. package/src/edit-modes/translate-mode.ts +15 -11
  200. package/src/edit-modes/two-click-polygon-mode.ts +15 -11
  201. package/src/edit-modes/types.ts +5 -1
  202. package/src/edit-modes/utils.ts +33 -30
  203. package/src/edit-modes/view-mode.ts +5 -1
  204. package/src/editable-layers/editable-geojson-layer.ts +44 -41
  205. package/src/editable-layers/editable-h3-cluster-layer.ts +17 -14
  206. package/src/editable-layers/editable-layer.ts +42 -32
  207. package/src/editable-layers/editable-path-layer.ts +12 -8
  208. package/src/editable-layers/elevated-edit-handle-layer.ts +11 -7
  209. package/src/editable-layers/junction-scatterplot-layer.ts +15 -11
  210. package/src/editable-layers/selection-layer.ts +11 -7
  211. package/src/index.ts +68 -65
  212. package/src/lib/constants.ts +4 -0
  213. package/src/lib/deck-renderer/deck-cache.ts +1 -1
  214. package/src/lib/deck-renderer/deck-drawer.ts +28 -28
  215. package/src/lib/feature.ts +7 -3
  216. package/src/lib/layer-mouse-event.ts +7 -6
  217. package/src/lib/layers/junctions-layer.ts +14 -10
  218. package/src/lib/layers/segments-layer.ts +24 -20
  219. package/src/lib/layers/texts-layer.ts +18 -14
  220. package/src/lib/math.ts +5 -1
  221. package/src/lib/{nebula.ts → nebula-core.ts} +8 -4
  222. package/src/lib/nebula-layer.ts +9 -5
  223. package/src/lib/style.ts +6 -2
  224. package/src/mode-handlers/composite-mode-handler.ts +6 -6
  225. package/src/mode-handlers/draw-90degree-polygon-handler.ts +22 -18
  226. package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +10 -6
  227. package/src/mode-handlers/draw-circle-from-center-handler.ts +10 -6
  228. package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +9 -5
  229. package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +12 -8
  230. package/src/mode-handlers/draw-line-string-handler.ts +12 -8
  231. package/src/mode-handlers/draw-point-handler.ts +9 -5
  232. package/src/mode-handlers/draw-polygon-handler.ts +16 -12
  233. package/src/mode-handlers/draw-rectangle-handler.ts +8 -4
  234. package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +17 -13
  235. package/src/mode-handlers/duplicate-handler.ts +8 -4
  236. package/src/mode-handlers/elevation-handler.ts +14 -10
  237. package/src/mode-handlers/extrude-handler.ts +15 -11
  238. package/src/mode-handlers/mode-handler.ts +26 -28
  239. package/src/mode-handlers/modify-handler.ts +29 -25
  240. package/src/mode-handlers/rotate-handler.ts +13 -17
  241. package/src/mode-handlers/scale-handler.ts +13 -13
  242. package/src/mode-handlers/snappable-handler.ts +28 -24
  243. package/src/mode-handlers/split-polygon-handler.ts +22 -18
  244. package/src/mode-handlers/three-click-polygon-handler.ts +6 -2
  245. package/src/mode-handlers/translate-handler.ts +12 -8
  246. package/src/mode-handlers/two-click-polygon-handler.ts +6 -2
  247. package/src/mode-handlers/view-handler.ts +7 -3
  248. package/src/shaderlib/color/color.ts +10 -5
  249. package/src/shaderlib/utils/utils.ts +6 -2
  250. package/src/{curve-utils.ts → utils/curve-utils.ts} +11 -7
  251. package/src/{geojson-types.ts → utils/geojson-types.ts} +16 -31
  252. package/src/{memoize.ts → utils/memoize.ts} +5 -1
  253. package/src/{translateFromCenter.ts → utils/translate-from-center.ts} +8 -4
  254. package/src/{types.ts → utils/types.ts} +4 -0
  255. package/src/{utils.ts → utils/utils.ts} +14 -11
  256. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.d.ts +0 -4
  257. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.js +0 -55
  258. package/dist/editable-layers/path-marker-layer/create-path-markers.d.ts +0 -16
  259. package/dist/editable-layers/path-marker-layer/create-path-markers.js +0 -75
  260. package/dist/editable-layers/path-marker-layer/path-marker-layer.d.ts +0 -40
  261. package/dist/editable-layers/path-marker-layer/path-marker-layer.js +0 -121
  262. package/dist/editable-layers/path-marker-layer/polyline.d.ts +0 -18
  263. package/dist/editable-layers/path-marker-layer/polyline.js +0 -37
  264. package/dist/editable-layers/path-outline-layer/path-outline-layer.d.ts +0 -26
  265. package/dist/editable-layers/path-outline-layer/path-outline-layer.js +0 -106
  266. package/dist/geojson-types.js +0 -2
  267. package/dist/shaderlib/outline/outline.d.ts +0 -8
  268. package/dist/shaderlib/outline/outline.js +0 -97
  269. package/dist/types.js +0 -1
  270. package/src/editable-layers/path-marker-layer/arrow-2d-geometry.ts +0 -61
  271. package/src/editable-layers/path-marker-layer/create-path-markers.ts +0 -107
  272. package/src/editable-layers/path-marker-layer/path-marker-layer.ts +0 -179
  273. package/src/editable-layers/path-marker-layer/polyline.ts +0 -40
  274. package/src/editable-layers/path-outline-layer/path-outline-layer.ts +0 -147
  275. package/src/shaderlib/outline/outline.ts +0 -101
  276. /package/dist/{curve-utils.d.ts → utils/curve-utils.d.ts} +0 -0
  277. /package/dist/{translateFromCenter.d.ts → utils/translate-from-center.d.ts} +0 -0
  278. /package/dist/{types.d.ts → utils/types.d.ts} +0 -0
  279. /package/dist/{utils.d.ts → utils/utils.d.ts} +0 -0
@@ -1,3 +1,6 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import booleanPointInPolygon from '@turf/boolean-point-in-polygon';
2
5
  import turfDifference from '@turf/difference';
3
6
  import turfBuffer from '@turf/buffer';
@@ -40,7 +43,7 @@ export class SplitPolygonMode extends GeoJsonEditMode {
40
43
  const lastBearing = turfBearing(firstPoint, closestPoint);
41
44
  const currentDistance = turfDistance(firstPoint, mapCoords, { units: 'meters' });
42
45
  return turfDestination(firstPoint, currentDistance, lastBearing, {
43
- units: 'meters',
46
+ units: 'meters'
44
47
  }).geometry.coordinates;
45
48
  }
46
49
  return mapCoords;
@@ -57,7 +60,7 @@ export class SplitPolygonMode extends GeoJsonEditMode {
57
60
  const clickSequence = this.getClickSequence();
58
61
  const guides = {
59
62
  type: 'FeatureCollection',
60
- features: [],
63
+ features: []
61
64
  };
62
65
  if (clickSequence.length === 0 || !props.lastPointerMoveEvent) {
63
66
  // nothing to do yet
@@ -67,12 +70,12 @@ export class SplitPolygonMode extends GeoJsonEditMode {
67
70
  guides.features.push({
68
71
  type: 'Feature',
69
72
  properties: {
70
- guideType: 'tentative',
73
+ guideType: 'tentative'
71
74
  },
72
75
  geometry: {
73
76
  type: 'LineString',
74
- coordinates: [...clickSequence, this.calculateMapCoords(clickSequence, mapCoords, props)],
75
- },
77
+ coordinates: [...clickSequence, this.calculateMapCoords(clickSequence, mapCoords, props)]
78
+ }
76
79
  });
77
80
  return guides;
78
81
  }
@@ -93,7 +96,7 @@ export class SplitPolygonMode extends GeoJsonEditMode {
93
96
  }
94
97
  const pt = {
95
98
  type: 'Point',
96
- coordinates: clickSequence[clickSequence.length - 1],
99
+ coordinates: clickSequence[clickSequence.length - 1]
97
100
  };
98
101
  // @ts-expect-error turf types diff
99
102
  const isPointInPolygon = booleanPointInPolygon(pt, selectedGeometry);
@@ -150,14 +153,14 @@ export class SplitPolygonMode extends GeoJsonEditMode {
150
153
  // Update the type to Mulitpolygon
151
154
  const updatedData = new ImmutableFeatureCollection(props.data).replaceGeometry(featureIndex, {
152
155
  type: 'MultiPolygon',
153
- coordinates: updatedCoordinates,
156
+ coordinates: updatedCoordinates
154
157
  });
155
158
  const editAction = {
156
159
  updatedData: updatedData.getObject(),
157
160
  editType: 'split',
158
161
  editContext: {
159
- featureIndexes: [featureIndex],
160
- },
162
+ featureIndexes: [featureIndex]
163
+ }
161
164
  };
162
165
  return editAction;
163
166
  }
@@ -1,5 +1,5 @@
1
1
  import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from './types';
2
- import { Position, Polygon, FeatureOf, FeatureCollection } from '../geojson-types';
2
+ import { Position, Polygon, FeatureOf, FeatureCollection } from '../utils/geojson-types';
3
3
  import { GeoJsonEditMode } from './geojson-edit-mode';
4
4
  export declare class ThreeClickPolygonMode extends GeoJsonEditMode {
5
5
  handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void;
@@ -1,3 +1,6 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { GeoJsonEditMode } from './geojson-edit-mode';
2
5
  export class ThreeClickPolygonMode extends GeoJsonEditMode {
3
6
  handleClick(event, props) {
@@ -19,7 +22,7 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
19
22
  const clickSequence = this.getClickSequence();
20
23
  const guides = {
21
24
  type: 'FeatureCollection',
22
- features: [],
25
+ features: []
23
26
  };
24
27
  if (clickSequence.length === 0) {
25
28
  // nothing to do yet
@@ -30,12 +33,12 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
30
33
  guides.features.push({
31
34
  type: 'Feature',
32
35
  properties: {
33
- guideType: 'tentative',
36
+ guideType: 'tentative'
34
37
  },
35
38
  geometry: {
36
39
  type: 'LineString',
37
- coordinates: [clickSequence[0], hoveredCoord],
38
- },
40
+ coordinates: [clickSequence[0], hoveredCoord]
41
+ }
39
42
  });
40
43
  }
41
44
  else {
@@ -44,9 +47,9 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
44
47
  guides.features.push({
45
48
  type: 'Feature',
46
49
  properties: {
47
- guideType: 'tentative',
50
+ guideType: 'tentative'
48
51
  },
49
- geometry: polygon.geometry,
52
+ geometry: polygon.geometry
50
53
  });
51
54
  }
52
55
  }
@@ -1,5 +1,5 @@
1
1
  import { PointerMoveEvent, ModeProps, StartDraggingEvent } from './types';
2
- import { FeatureCollection } from '../geojson-types';
2
+ import { FeatureCollection } from '../utils/geojson-types';
3
3
  import { CompositeMode } from './composite-mode';
4
4
  export declare class TransformMode extends CompositeMode {
5
5
  constructor();
@@ -1,3 +1,6 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { featureCollection } from '@turf/helpers';
2
5
  import { TranslateMode } from './translate-mode';
3
6
  import { ScaleMode } from './scale-mode';
@@ -13,7 +16,7 @@ export class TransformMode extends CompositeMode {
13
16
  ...props,
14
17
  onUpdateCursor: (cursor) => {
15
18
  updatedCursor = cursor || updatedCursor;
16
- },
19
+ }
17
20
  });
18
21
  props.onUpdateCursor(updatedCursor);
19
22
  }
@@ -1,4 +1,4 @@
1
- import { FeatureCollection, Position } from '../geojson-types';
1
+ import { FeatureCollection, Position } from '../utils/geojson-types';
2
2
  import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps } from './types';
3
3
  import { GeoJsonEditMode, GeoJsonEditAction } from './geojson-edit-mode';
4
4
  export declare class TranslateMode extends GeoJsonEditMode {
@@ -1,10 +1,13 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import turfBearing from '@turf/bearing';
2
5
  import turfDistance from '@turf/distance';
3
6
  import clone from '@turf/clone';
4
7
  import { point } from '@turf/helpers';
5
8
  import WebMercatorViewport from 'viewport-mercator-project';
6
9
  import { mapCoords } from './utils';
7
- import { translateFromCenter } from '../translateFromCenter';
10
+ import { translateFromCenter } from '../utils/translate-from-center';
8
11
  import { GeoJsonEditMode } from './geojson-edit-mode';
9
12
  import { ImmutableFeatureCollection } from './immutable-feature-collection';
10
13
  export class TranslateMode extends GeoJsonEditMode {
@@ -85,7 +88,7 @@ export class TranslateMode extends GeoJsonEditMode {
85
88
  // @ts-expect-error turf types
86
89
  updatedData = updatedData.replaceGeometry(selectedIndex, {
87
90
  type: feature.geometry.type,
88
- coordinates,
91
+ coordinates
89
92
  });
90
93
  }
91
94
  }
@@ -106,8 +109,8 @@ export class TranslateMode extends GeoJsonEditMode {
106
109
  updatedData: updatedData.getObject(),
107
110
  editType,
108
111
  editContext: {
109
- featureIndexes: selectedIndexes,
110
- },
112
+ featureIndexes: selectedIndexes
113
+ }
111
114
  };
112
115
  }
113
116
  }
@@ -1,5 +1,5 @@
1
1
  import { ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from './types';
2
- import { Polygon, FeatureCollection, FeatureOf, Position } from '../geojson-types';
2
+ import { Polygon, FeatureCollection, FeatureOf, Position } from '../utils/geojson-types';
3
3
  import { GeoJsonEditMode } from './geojson-edit-mode';
4
4
  export declare class TwoClickPolygonMode extends GeoJsonEditMode {
5
5
  handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void;
@@ -1,3 +1,6 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { GeoJsonEditMode } from './geojson-edit-mode';
2
5
  export class TwoClickPolygonMode extends GeoJsonEditMode {
3
6
  handleClick(event, props) {
@@ -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';
2
2
  export type ScreenCoordinates = [number, number];
3
3
  export type EditAction<TData> = {
4
4
  updatedData: TData;
@@ -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
2
  import { Viewport, Pick, EditHandleFeature, EditHandleType } from './types';
3
- import { Geometry, Position, Point, LineString, Polygon, FeatureOf, FeatureWithProps, AnyCoordinates } from '../geojson-types';
3
+ import { Geometry, Position, Point, LineString, Polygon, FeatureOf, FeatureWithProps, AnyCoordinates } from '../utils/geojson-types';
4
4
  export type NearestPointType = FeatureWithProps<Point, {
5
5
  dist: number;
6
6
  index: number;
@@ -1,3 +1,6 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import destination from '@turf/destination';
2
5
  import bearing from '@turf/bearing';
3
6
  import pointToLineDistance from '@turf/point-to-line-distance';
@@ -51,7 +54,7 @@ export function recursivelyTraverseNestedArrays(array, prefix, fn) {
51
54
  export function generatePointsParallelToLinePoints(p1, p2, mapCoords) {
52
55
  const lineString = {
53
56
  type: 'LineString',
54
- coordinates: [p1, p2],
57
+ coordinates: [p1, p2]
55
58
  };
56
59
  const pt = point(mapCoords);
57
60
  const ddistance = pointToLineDistance(pt, lineString);
@@ -104,11 +107,11 @@ export function nearestPointOnProjectedLine(line, inPoint, viewport) {
104
107
  minPointInfo = {
105
108
  index,
106
109
  x0: (B * (B * x - A * y) - A * C) / div,
107
- y0: (A * (-B * x + A * y) - B * C) / div,
110
+ y0: (A * (-B * x + A * y) - B * C) / div
108
111
  };
109
112
  }
110
113
  });
111
- // @ts-ignore
114
+ // @ts-expect-error TODO
112
115
  const { index, x0, y0 } = minPointInfo;
113
116
  const [x1, y1, z1 = 0] = projectedCoords[index - 1];
114
117
  const [x2, y2, z2 = 0] = projectedCoords[index];
@@ -121,14 +124,13 @@ export function nearestPointOnProjectedLine(line, inPoint, viewport) {
121
124
  type: 'Feature',
122
125
  geometry: {
123
126
  type: 'Point',
124
- // @ts-expect-error
125
- coordinates: wmViewport.unproject([x0, y0, z0]),
127
+ coordinates: wmViewport.unproject([x0, y0, z0])
126
128
  },
127
129
  properties: {
128
130
  // TODO: calculate the distance in proper units
129
131
  dist: minDistance,
130
- index: index - 1,
131
- },
132
+ index: index - 1
133
+ }
132
134
  };
133
135
  }
134
136
  export function nearestPointOnLine(lines, inPoint, viewport) {
@@ -137,16 +139,16 @@ export function nearestPointOnLine(lines, inPoint, viewport) {
137
139
  mercator = new WebMercatorViewport(viewport);
138
140
  }
139
141
  let closestPoint = point([Infinity, Infinity], {
140
- dist: Infinity,
142
+ dist: Infinity
141
143
  });
142
144
  if (!lines.geometry?.coordinates.length || lines.geometry?.coordinates.length < 2) {
143
145
  return closestPoint;
144
146
  }
145
- // @ts-ignore
147
+ // @ts-expect-error TODO
146
148
  // eslint-disable-next-line max-statements, complexity
147
149
  flattenEach(lines, (line) => {
148
150
  const coords = getCoords(line);
149
- // @ts-ignore
151
+ // @ts-expect-error TODO
150
152
  const pointCoords = getCoords(inPoint);
151
153
  let minDist;
152
154
  let to;
@@ -231,12 +233,12 @@ export function nearestPointOnLine(lines, inPoint, viewport) {
231
233
  y: pixelToLatLong[1],
232
234
  idx: segmentIdx - 1,
233
235
  to,
234
- from,
236
+ from
235
237
  };
236
238
  }
237
239
  closestPoint = point([snapPoint.x, snapPoint.y], {
238
240
  dist: Math.abs(snapPoint.from - snapPoint.to),
239
- index: snapPoint.idx,
241
+ index: snapPoint.idx
240
242
  });
241
243
  });
242
244
  return closestPoint;
@@ -280,13 +282,13 @@ export function getEditHandlesForGeometry(geometry, featureIndex, editHandleType
280
282
  guideType: 'editHandle',
281
283
  editHandleType,
282
284
  positionIndexes: [],
283
- featureIndex,
285
+ featureIndex
284
286
  },
285
287
  geometry: {
286
288
  type: 'Point',
287
- coordinates: geometry.coordinates,
288
- },
289
- },
289
+ coordinates: geometry.coordinates
290
+ }
291
+ }
290
292
  ];
291
293
  break;
292
294
  case 'MultiPoint':
@@ -330,12 +332,12 @@ function getEditHandlesForCoordinates(coordinates, positionIndexPrefix, featureI
330
332
  guideType: 'editHandle',
331
333
  positionIndexes: [...positionIndexPrefix, i],
332
334
  featureIndex,
333
- editHandleType,
335
+ editHandleType
334
336
  },
335
337
  geometry: {
336
338
  type: 'Point',
337
- coordinates: position,
338
- },
339
+ coordinates: position
340
+ }
339
341
  });
340
342
  }
341
343
  return editHandles;
@@ -1,3 +1,6 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { GeoJsonEditMode } from './geojson-edit-mode';
2
5
  export class ViewMode extends GeoJsonEditMode {
3
6
  }
@@ -2,9 +2,9 @@ import type { UpdateParameters, DefaultProps } from '@deck.gl/core';
2
2
  import { GeoJsonLayer, TextLayer } from '@deck.gl/layers';
3
3
  import { EditAction, ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent } from '../edit-modes/types';
4
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';
5
+ import { Color } from '../utils/types';
6
+ import { EditableLayer, EditableLayerProps } from './editable-layer';
7
+ import { Feature, FeatureCollection } from '../utils/geojson-types';
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'] & {
@@ -1,4 +1,6 @@
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
5
  import { ViewMode } from '../edit-modes/view-mode';
4
6
  import { TranslateMode } from '../edit-modes/translate-mode';
@@ -26,8 +28,8 @@ import { DrawPolygonByDraggingMode } from '../edit-modes/draw-polygon-by-draggin
26
28
  import { SnappableMode } from '../edit-modes/snappable-mode';
27
29
  import { TransformMode } from '../edit-modes/transform-mode';
28
30
  import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from '../constants';
29
- import EditableLayer from './editable-layer';
30
- import EditablePathLayer from './editable-path-layer';
31
+ import { EditableLayer } from './editable-layer';
32
+ import { EditablePathLayer } from './editable-path-layer';
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';
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'] & {
@@ -1,10 +1,13 @@
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
8
  import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from '../constants';
6
- import EditableGeoJsonLayer from './editable-geojson-layer';
7
- import EditableLayer from './editable-layer';
9
+ import { EditableGeoJsonLayer } from './editable-geojson-layer';
10
+ import { EditableLayer } from './editable-layer';
8
11
  import { ViewMode } from '../edit-modes/view-mode';
9
12
  const DEFAULT_EDIT_MODE = ViewMode;
10
13
  const DEFAULT_H3_RESOLUTION = 9;
@@ -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
2
  import { DraggingEvent, ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent } from '../edit-modes/types';
3
- import { Position } from '../geojson-types';
3
+ import { Position } from '../utils/geojson-types';
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;