terra-draw 1.0.0-beta.8 → 1.0.0
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.
- package/.versionrc.cjs +9 -0
- package/README.md +4 -47
- package/dist/common/adapter-listener.spec.d.ts +1 -0
- package/dist/{adapters/common → common}/base.adapter.d.ts +1 -1
- package/dist/common.d.ts +11 -6
- package/dist/extend.d.ts +4 -3
- package/dist/geometry/boolean/is-valid-coordinate.spec.d.ts +1 -0
- package/dist/geometry/boolean/point-in-polygon.spec.d.ts +1 -0
- package/dist/geometry/boolean/self-intersects.spec.d.ts +1 -0
- package/dist/geometry/calculate-relative-angle.d.ts +2 -10
- package/dist/geometry/calculate-relative-angle.spec.d.ts +1 -0
- package/dist/geometry/centroid.spec.d.ts +1 -0
- package/dist/geometry/clockwise.d.ts +2 -10
- package/dist/geometry/clockwise.spec.d.ts +1 -0
- package/dist/geometry/coordinates-identical.spec.d.ts +1 -0
- package/dist/geometry/determine-halfplane.d.ts +2 -10
- package/dist/geometry/determine-halfplane.spec.d.ts +1 -0
- package/dist/geometry/get-coordinates-as-points.spec.d.ts +1 -0
- package/dist/geometry/get-midpoint.spec.d.ts +1 -0
- package/dist/geometry/limit-decimal-precision.spec.d.ts +1 -0
- package/dist/geometry/measure/bearing.d.ts +2 -7
- package/dist/geometry/measure/bearing.spec.d.ts +1 -0
- package/dist/geometry/measure/desination.spec.d.ts +1 -0
- package/dist/geometry/measure/destination.d.ts +2 -7
- package/dist/geometry/measure/haversine-distance.spec.d.ts +1 -0
- package/dist/geometry/measure/pixel-distance-to-line.d.ts +2 -10
- package/dist/geometry/measure/pixel-distance-to-line.spec.d.ts +1 -0
- package/dist/geometry/measure/pixel-distance.d.ts +2 -7
- package/dist/geometry/measure/pixel-distance.spec.d.ts +1 -0
- package/dist/geometry/measure/rhumb-bearing.spec.d.ts +1 -0
- package/dist/geometry/measure/rhumb-destination.spec.d.ts +1 -0
- package/dist/geometry/measure/rhumb-distance.spec.d.ts +1 -0
- package/dist/geometry/point-on-line.d.ts +5 -0
- package/dist/geometry/point-on-line.spec.d.ts +1 -0
- package/dist/geometry/project/web-mercator.d.ts +2 -4
- package/dist/geometry/project/web-mercator.spec.d.ts +1 -0
- package/dist/geometry/shape/create-bbox.spec.d.ts +1 -0
- package/dist/geometry/shape/create-circle.spec.d.ts +1 -0
- package/dist/geometry/shape/great-circle-coordinates.spec.d.ts +1 -0
- package/dist/geometry/shape/web-mercator-distortion.spec.d.ts +1 -0
- package/dist/geometry/transform/rotate.spec.d.ts +1 -0
- package/dist/geometry/transform/scale.spec.d.ts +1 -0
- package/dist/geometry/web-mercator-centroid.d.ts +2 -4
- package/dist/geometry/web-mercator-centroid.spec.d.ts +1 -0
- package/dist/geometry/web-mercator-point-on-line.d.ts +11 -0
- package/dist/geometry/web-mercator-point-on-line.spec.d.ts +1 -0
- package/dist/modes/angled-rectangle/angled-rectangle.mode.d.ts +2 -3
- package/dist/modes/angled-rectangle/angled-rectangle.mode.spec.d.ts +1 -0
- package/dist/modes/base.mode.d.ts +3 -1
- package/dist/modes/circle/circle.mode.d.ts +3 -2
- package/dist/modes/circle/circle.mode.spec.d.ts +1 -0
- package/dist/modes/click-bounding-box.behavior.spec.d.ts +1 -0
- package/dist/modes/coordinate-snapping.behavior.d.ts +16 -0
- package/dist/modes/coordinate-snapping.behavior.spec.d.ts +1 -0
- package/dist/modes/freehand/freehand.mode.d.ts +8 -2
- package/dist/modes/freehand/freehand.mode.spec.d.ts +1 -0
- package/dist/modes/insert-coordinates.behavior.spec.d.ts +1 -0
- package/dist/modes/{snapping.behavior.d.ts → line-snapping.behavior.d.ts} +1 -1
- package/dist/modes/line-snapping.behavior.spec.d.ts +1 -0
- package/dist/modes/linestring/linestring.mode.d.ts +16 -5
- package/dist/modes/linestring/linestring.mode.spec.d.ts +1 -0
- package/dist/modes/pixel-distance.behavior.spec.d.ts +1 -0
- package/dist/modes/point/point.mode.d.ts +2 -2
- package/dist/modes/point/point.mode.spec.d.ts +1 -0
- package/dist/modes/polygon/behaviors/closing-points.behavior.spec.d.ts +1 -0
- package/dist/modes/polygon/polygon.mode.d.ts +17 -4
- package/dist/modes/polygon/polygon.mode.spec.d.ts +1 -0
- package/dist/modes/rectangle/rectangle.mode.d.ts +2 -2
- package/dist/modes/rectangle/rectangle.mode.spec.d.ts +1 -0
- package/dist/modes/render/render.mode.d.ts +2 -1
- package/dist/modes/render/render.mode.spec.d.ts +1 -0
- package/dist/modes/sector/sector.mode.d.ts +2 -2
- package/dist/modes/sector/sector.mode.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/drag-coordinate-resize.behavior.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/drag-coordinate.behavior.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/drag-feature.behavior.d.ts +2 -2
- package/dist/modes/select/behaviors/drag-feature.behavior.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/feature-at-pointer-event.behavior.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/midpoint.behavior.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/rotate-feature.behavior.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/scale-feature.behavior.spec.d.ts +1 -0
- package/dist/modes/select/behaviors/selection-point.behavior.spec.d.ts +1 -0
- package/dist/modes/select/select.mode.spec.d.ts +1 -0
- package/dist/modes/sensor/sensor.mode.d.ts +2 -2
- package/dist/modes/sensor/sensor.mode.spec.d.ts +1 -0
- package/dist/modes/static/static.mode.spec.d.ts +1 -0
- package/dist/store/spatial-index/quickselect.spec.d.ts +1 -0
- package/dist/store/spatial-index/rbush.spec.d.ts +1 -0
- package/dist/store/spatial-index/spatial-index.spec.d.ts +1 -0
- package/dist/store/store-feature-validation.d.ts +8 -2
- package/dist/store/store-validation.spec.d.ts +1 -0
- package/dist/store/store.d.ts +5 -1
- package/dist/store/store.spec.d.ts +1 -0
- package/dist/terra-draw.cjs +1 -1
- package/dist/terra-draw.cjs.map +1 -1
- package/dist/terra-draw.d.ts +13 -14
- package/dist/terra-draw.extensions.spec.d.ts +28 -0
- package/dist/terra-draw.modern.js +1 -1
- package/dist/terra-draw.modern.js.map +1 -1
- package/dist/terra-draw.module.js +1 -1
- package/dist/terra-draw.module.js.map +1 -1
- package/dist/terra-draw.spec.d.ts +1 -0
- package/dist/terra-draw.umd.js +1 -1
- package/dist/terra-draw.umd.js.map +1 -1
- package/dist/test/create-store-features.d.ts +6 -0
- package/dist/test/jest.matchers.d.ts +1 -0
- package/dist/test/mock-behavior-config.d.ts +2 -0
- package/dist/test/mock-callbacks.d.ts +2 -0
- package/dist/test/mock-cursor-event.d.ts +6 -0
- package/dist/test/mock-features.d.ts +4 -0
- package/dist/test/mock-keyboard-event.d.ts +5 -0
- package/dist/test/mock-mode-config.d.ts +21 -0
- package/dist/test/mock-pointer-event.d.ts +1 -0
- package/dist/util/geom.spec.d.ts +1 -0
- package/dist/util/id.spec.d.ts +1 -0
- package/dist/util/styling.spec.d.ts +1 -0
- package/dist/validation-reasons.d.ts +13 -0
- package/dist/validations/common-validations.d.ts +2 -0
- package/dist/validations/linestring.validation.d.ts +4 -1
- package/dist/validations/linestring.validation.spec.d.ts +1 -0
- package/dist/validations/max-size.validation.d.ts +3 -1
- package/dist/validations/max-size.validation.spec.d.ts +1 -0
- package/dist/validations/min-size.validation.d.ts +3 -1
- package/dist/validations/min-size.validation.spec.d.ts +1 -0
- package/dist/validations/not-self-intersecting.validation.d.ts +4 -1
- package/dist/validations/not-self-intersecting.validation.spec.d.ts +1 -0
- package/dist/validations/point.validation.d.ts +4 -1
- package/dist/validations/point.validation.spec.d.ts +1 -0
- package/dist/validations/polygon.validation.d.ts +8 -2
- package/dist/validations/polygon.validation.spec.d.ts +1 -0
- package/jest.nocheck.config.ts +5 -14
- package/package.json +12 -137
- package/tsconfig.json +6 -25
- package/.devcontainer/Dockerfile +0 -8
- package/.devcontainer/devcontainer.json +0 -27
- package/.devcontainer/post-create.sh +0 -16
- package/LICENSE +0 -8
- package/dist/adapters/arcgis-maps-sdk.adapter.d.ts +0 -106
- package/dist/adapters/google-maps.adapter.d.ts +0 -90
- package/dist/adapters/leaflet.adapter.d.ts +0 -99
- package/dist/adapters/mapbox-gl.adapter.d.ts +0 -90
- package/dist/adapters/maplibre-gl.adapter.d.ts +0 -72
- package/dist/adapters/openlayers.adapter.d.ts +0 -121
- package/e2e/README.md +0 -29
- package/e2e/package-lock.json +0 -4274
- package/e2e/package.json +0 -26
- package/e2e/playwright.config.ts +0 -77
- package/e2e/public/favicon.ico +0 -0
- package/e2e/public/index.html +0 -55
- package/e2e/tests/leaflet.spec.ts +0 -1040
- package/e2e/tests/setup.ts +0 -208
- package/e2e/webpack.config.js +0 -36
- /package/dist/{adapters/common → common}/adapter-listener.d.ts +0 -0
package/dist/terra-draw.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { TerraDrawMapLibreGLAdapter } from "./adapters/maplibre-gl.adapter";
|
|
5
|
-
import { TerraDrawOpenLayersAdapter } from "./adapters/openlayers.adapter";
|
|
6
|
-
import { TerraDrawArcGISMapsSDKAdapter } from "./adapters/arcgis-maps-sdk.adapter";
|
|
1
|
+
/**
|
|
2
|
+
* @module terra-draw
|
|
3
|
+
*/
|
|
7
4
|
import { TerraDrawAdapter, TerraDrawAdapterStyling, GetLngLatFromEvent, Project, SetCursor, TerraDrawChanges, TerraDrawStylingFunction, Unproject, HexColor, TerraDrawKeyboardEvent, TerraDrawMouseEvent, OnFinishContext } from "./common";
|
|
8
5
|
import { TerraDrawBaseDrawMode } from "./modes/base.mode";
|
|
9
6
|
import { TerraDrawCircleMode } from "./modes/circle/circle.mode";
|
|
@@ -14,7 +11,7 @@ import { TerraDrawPolygonMode } from "./modes/polygon/polygon.mode";
|
|
|
14
11
|
import { TerraDrawRectangleMode } from "./modes/rectangle/rectangle.mode";
|
|
15
12
|
import { TerraDrawRenderMode } from "./modes/render/render.mode";
|
|
16
13
|
import { TerraDrawSelectMode } from "./modes/select/select.mode";
|
|
17
|
-
import { FeatureId, GeoJSONStoreFeatures, IdStrategy } from "./store/store";
|
|
14
|
+
import { FeatureId, GeoJSONStoreFeatures, GeoJSONStoreGeometries, IdStrategy, StoreValidation } from "./store/store";
|
|
18
15
|
import { BehaviorConfig } from "./modes/base.behavior";
|
|
19
16
|
import { ValidateMinAreaSquareMeters } from "./validations/min-size.validation";
|
|
20
17
|
import { ValidateMaxAreaSquareMeters } from "./validations/max-size.validation";
|
|
@@ -23,6 +20,7 @@ import { TerraDrawAngledRectangleMode } from "./modes/angled-rectangle/angled-re
|
|
|
23
20
|
import { TerraDrawSectorMode } from "./modes/sector/sector.mode";
|
|
24
21
|
import { TerraDrawSensorMode } from "./modes/sensor/sensor.mode";
|
|
25
22
|
import * as TerraDrawExtend from "./extend";
|
|
23
|
+
import { ValidationReasons } from "./validation-reasons";
|
|
26
24
|
type FinishListener = (id: FeatureId, context: OnFinishContext) => void;
|
|
27
25
|
type ChangeListener = (ids: FeatureId[], type: string) => void;
|
|
28
26
|
type SelectListener = (id: FeatureId) => void;
|
|
@@ -151,15 +149,15 @@ declare class TerraDraw {
|
|
|
151
149
|
*/
|
|
152
150
|
hasFeature(id: FeatureId): boolean;
|
|
153
151
|
/**
|
|
154
|
-
* A method for adding features to the store. This method will validate the features
|
|
155
|
-
* Features must match one of the modes enabled
|
|
156
|
-
*
|
|
157
|
-
* @param features
|
|
158
|
-
* @returns
|
|
152
|
+
* A method for adding features to the store. This method will validate the features
|
|
153
|
+
* returning an array of validation results. Features must match one of the modes enabled
|
|
154
|
+
* in the instance.
|
|
155
|
+
* @param features - an array of GeoJSON features
|
|
156
|
+
* @returns an array of validation results
|
|
159
157
|
*
|
|
160
158
|
* @beta
|
|
161
159
|
*/
|
|
162
|
-
addFeatures(features: GeoJSONStoreFeatures[]):
|
|
160
|
+
addFeatures(features: GeoJSONStoreFeatures[]): StoreValidation[];
|
|
163
161
|
/**
|
|
164
162
|
* A method starting Terra Draw. It put the instance into a started state, and
|
|
165
163
|
* in registers the passed adapter giving it all the callbacks required to operate.
|
|
@@ -218,4 +216,5 @@ declare class TerraDraw {
|
|
|
218
216
|
*/
|
|
219
217
|
off<T extends TerraDrawEvents>(event: TerraDrawEvents, callback: TerraDrawEventListeners[T]): void;
|
|
220
218
|
}
|
|
221
|
-
|
|
219
|
+
declare const HELLO = "HELLO";
|
|
220
|
+
export { TerraDraw, HELLO, TerraDrawSelectMode, TerraDrawPointMode, TerraDrawLineStringMode, TerraDrawPolygonMode, TerraDrawCircleMode, TerraDrawFreehandMode, TerraDrawRenderMode, TerraDrawRectangleMode, TerraDrawAngledRectangleMode, TerraDrawSectorMode, TerraDrawSensorMode, TerraDrawExtend, BehaviorConfig, GeoJSONStoreFeatures, GeoJSONStoreGeometries, HexColor, TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, TerraDrawChanges, TerraDrawStylingFunction, Project, Unproject, SetCursor, GetLngLatFromEvent, ValidateMinAreaSquareMeters, ValidateMaxAreaSquareMeters, ValidateNotSelfIntersecting, ValidationReasons, };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* For this specific test suite we should only ever import from the Terra Draw
|
|
3
|
+
* public API, and not from the internal library code. This is to ensure that
|
|
4
|
+
* a developer can write a custom adapter exclusively from the publicly exposed base
|
|
5
|
+
* classes and types of the library.
|
|
6
|
+
*/
|
|
7
|
+
import { GetLngLatFromEvent, Project, SetCursor, TerraDrawChanges, TerraDrawExtend, TerraDrawStylingFunction, Unproject } from "./terra-draw";
|
|
8
|
+
declare const TerraDrawBaseAdapter: typeof TerraDrawExtend.TerraDrawBaseAdapter;
|
|
9
|
+
/**
|
|
10
|
+
* A mock implementation of a custom adapter - this is to ensure that it is possible to write
|
|
11
|
+
* custom adapters for Terra Draw exclusively relying on the public API of the library.
|
|
12
|
+
*/
|
|
13
|
+
export declare class TerraDrawTestAdapter extends TerraDrawBaseAdapter {
|
|
14
|
+
constructor(config: {
|
|
15
|
+
lib: Record<string, unknown>;
|
|
16
|
+
} & TerraDrawExtend.BaseAdapterConfig);
|
|
17
|
+
getMapEventElement(): HTMLElement;
|
|
18
|
+
clear(): void;
|
|
19
|
+
project(lng: number, lat: number): ReturnType<Project>;
|
|
20
|
+
unproject(x: number, y: number): ReturnType<Unproject>;
|
|
21
|
+
setCursor(_: "move" | "unset" | "grab" | "grabbing" | "crosshair" | "pointer" | "wait"): ReturnType<SetCursor>;
|
|
22
|
+
getLngLatFromEvent(_: PointerEvent | MouseEvent): ReturnType<GetLngLatFromEvent>;
|
|
23
|
+
setDraggability(_: boolean): void;
|
|
24
|
+
setDoubleClickToZoom(_: boolean): void;
|
|
25
|
+
render(_1: TerraDrawChanges, _2: TerraDrawStylingFunction): void;
|
|
26
|
+
register(callbacks: TerraDrawExtend.TerraDrawCallbacks): void;
|
|
27
|
+
}
|
|
28
|
+
export {};
|