Socket
Socket
Sign inDemoInstall

terra-draw

Package Overview
Dependencies
Maintainers
0
Versions
72
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

terra-draw - npm Package Compare versions

Comparing version 1.0.0-beta.0 to 1.0.0-beta.1

dist/geometry/calculate-relative-angle.d.ts

7

dist/geometry/measure/destination.d.ts
import { Position } from "geojson";
export declare function destination(origin: Position, distance: number, bearing: number): Position;
export declare function webMercatorDestination({ x, y }: {
x: number;
y: number;
}, distance: number, bearing: number): {
x: number;
y: number;
};

2

dist/geometry/measure/pixel-distance.d.ts

@@ -1,2 +0,2 @@

export declare const pixelDistance: (pointOne: {
export declare const cartesianDistance: (pointOne: {
x: number;

@@ -3,0 +3,0 @@ y: number;

@@ -23,2 +23,3 @@ import { TerraDrawGoogleMapsAdapter } from "./adapters/google-maps.adapter";

import { ValidateNotSelfIntersecting } from "./validations/not-self-intersecting.validation";
import { TerraDrawAngledRectangleMode } from "./modes/angled-rectangle/angled-rectangle.mode";
type FinishListener = (id: FeatureId, context: OnFinishContext) => void;

@@ -223,2 +224,2 @@ type ChangeListener = (ids: FeatureId[], type: string) => void;

};
export { TerraDraw, TerraDrawSelectMode, TerraDrawPointMode, TerraDrawLineStringMode, TerraDrawPolygonMode, TerraDrawCircleMode, TerraDrawFreehandMode, TerraDrawRenderMode, TerraDrawRectangleMode, TerraDrawGoogleMapsAdapter, TerraDrawMapboxGLAdapter, TerraDrawLeafletAdapter, TerraDrawMapLibreGLAdapter, TerraDrawOpenLayersAdapter, TerraDrawArcGISMapsSDKAdapter, TerraDrawExtend, BehaviorConfig, GeoJSONStoreFeatures, HexColor, TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, TerraDrawChanges, TerraDrawStylingFunction, Project, Unproject, SetCursor, GetLngLatFromEvent, ValidateMinAreaSquareMeters, ValidateMaxAreaSquareMeters, ValidateNotSelfIntersecting, };
export { TerraDraw, TerraDrawSelectMode, TerraDrawPointMode, TerraDrawLineStringMode, TerraDrawPolygonMode, TerraDrawCircleMode, TerraDrawFreehandMode, TerraDrawRenderMode, TerraDrawRectangleMode, TerraDrawAngledRectangleMode, TerraDrawGoogleMapsAdapter, TerraDrawMapboxGLAdapter, TerraDrawLeafletAdapter, TerraDrawMapLibreGLAdapter, TerraDrawOpenLayersAdapter, TerraDrawArcGISMapsSDKAdapter, TerraDrawExtend, BehaviorConfig, GeoJSONStoreFeatures, HexColor, TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, TerraDrawChanges, TerraDrawStylingFunction, Project, Unproject, SetCursor, GetLngLatFromEvent, ValidateMinAreaSquareMeters, ValidateMaxAreaSquareMeters, ValidateNotSelfIntersecting, };

@@ -331,2 +331,84 @@ import { test, expect } from "@playwright/test";

test.describe("angled rectangle mode", () => {
const mode = "angled-rectangle";
test("mode can set and can be used to create an angled rectangle (horizontal up)", async ({
page,
}) => {
const mapDiv = await setupMap({ page });
await changeMode({ page, mode });
await page.mouse.click(mapDiv.width / 2, mapDiv.height / 2);
await page.mouse.move(mapDiv.width / 3, mapDiv.height / 2, { steps: 30 });
await page.mouse.click(mapDiv.width / 3, mapDiv.height / 2);
await page.mouse.move(mapDiv.width / 3 + 50, mapDiv.height / 3 + 50, {
steps: 30,
});
await page.mouse.click(mapDiv.width / 3 + 50, mapDiv.height / 3 + 50);
await expectPaths({ page, count: 1 });
await expectPathDimensions({ page, width: 217, height: 74 });
});
test("mode can set and can be used to create an angled rectangle (horizontal down)", async ({
page,
}) => {
const mapDiv = await setupMap({ page });
await changeMode({ page, mode });
await page.mouse.click(mapDiv.width / 2, mapDiv.height / 2);
await page.mouse.move(mapDiv.width / 3, mapDiv.height / 2, { steps: 30 });
await page.mouse.click(mapDiv.width / 3, mapDiv.height / 2);
await page.mouse.move(mapDiv.width / 3 + 50, mapDiv.height / 3 + 200, {
steps: 30,
});
await page.mouse.click(mapDiv.width / 3 + 50, mapDiv.height / 3 + 200);
await expectPaths({ page, count: 1 });
await expectPathDimensions({ page, width: 217, height: 84 });
});
test("mode can set and can be used to create an angled (diagonal)", async ({
page,
}) => {
const mapDiv = await setupMap({ page });
await changeMode({ page, mode });
await page.mouse.click(mapDiv.width / 2, mapDiv.height / 2);
await page.mouse.move(mapDiv.width / 3, mapDiv.height / 3, { steps: 30 });
await page.mouse.click(mapDiv.width / 3, mapDiv.height / 3);
await page.mouse.move(mapDiv.width / 3 + 150, mapDiv.height / 3 + 150, {
steps: 30,
});
await page.mouse.click(mapDiv.width / 3 + 150, mapDiv.height / 3 + 150);
await expectPaths({ page, count: 1 });
await expectPathDimensions({ page, width: 245, height: 174 });
});
test("mode can set and can be used to create an angled (diagonal 2)", async ({
page,
}) => {
const mapDiv = await setupMap({ page });
await changeMode({ page, mode });
await page.mouse.click(mapDiv.width / 1.8, mapDiv.height / 1.8);
await page.mouse.move(mapDiv.width / 2.5, mapDiv.height / 1.3, {
steps: 30,
});
await page.mouse.click(mapDiv.width / 2.5, mapDiv.height / 1.3);
await page.mouse.move(mapDiv.width / 2.5 + 50, mapDiv.height / 1.3 + 50, {
steps: 30,
});
await page.mouse.click(mapDiv.width / 2.5 + 50, mapDiv.height / 1.3 + 50);
await expectPaths({ page, count: 1 });
await expectPathDimensions({ page, width: 246, height: 213 });
});
});
test.describe("circle mode", () => {

@@ -333,0 +415,0 @@ const mode = "circle";

@@ -56,5 +56,22 @@ import { Page, expect } from "@playwright/test";

page: Page;
mode: "point" | "polygon" | "linestring" | "select" | "rectangle" | "circle";
mode:
| "point"
| "polygon"
| "linestring"
| "select"
| "rectangle"
| "circle"
| "angled-rectangle";
}) => {
const modeText = mode.charAt(0).toUpperCase() + mode.slice(1);
let modeText = mode.charAt(0).toUpperCase() + mode.slice(1);
if (mode.includes("-")) {
modeText = mode
.split("-")
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
.join(" ");
} else {
modeText = mode.charAt(0).toUpperCase() + mode.slice(1);
}
const buttons = page.getByTestId("buttons");

@@ -61,0 +78,0 @@ const button = buttons.getByText(modeText, { exact: true });

{
"name": "terra-draw",
"version": "1.0.0-beta.0",
"version": "1.0.0-beta.1",
"description": "Frictionless map drawing across mapping provider",

@@ -8,3 +8,2 @@ "scripts": {

"docs:serve": "serve ./docs",
"release:beta:major": "standard-version --prerelease beta --release-as major",
"release:beta:increment": "standard-version --prerelease beta",

@@ -79,3 +78,3 @@ "release:beta:changelog": "tsx ./scripts/changelog-valid.ts",

"microbundle": "0.15.0",
"ol": "7.1.0",
"ol": "10.0.0",
"serve": "14.1.2",

@@ -82,0 +81,0 @@ "standard-version": "9.5.0",

@@ -17,3 +17,3 @@ <img src="./logo.png" alt="Terra Draw Logo" width="400"/>

- [Leaflet](https://leafletjs.com/) v1
- [OpenLayers](https://openlayers.org/) v7
- [OpenLayers](https://openlayers.org/) v10
- [Mapbox GL JS](https://www.mapbox.com/mapbox-gljs) v2

@@ -20,0 +20,0 @@ - [MapLibre](https://maplibre.org/maplibre-gl-js/docs/) v2/v3

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc