terra-draw 0.0.1-alpha.21 → 0.0.1-alpha.23

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 (78) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +10 -16
  3. package/dist/adapters/common/adapter-listener.d.ts +22 -14
  4. package/dist/adapters/common/base-adapter.d.ts +31 -0
  5. package/dist/adapters/common/base.adapter.d.ts +45 -0
  6. package/dist/adapters/google-maps.adapter.d.ts +80 -31
  7. package/dist/adapters/leaflet.adapter.d.ts +78 -30
  8. package/dist/adapters/mapbox-gl.adapter.d.ts +75 -34
  9. package/dist/adapters/maplibre-gl.adapter.d.ts +65 -20
  10. package/dist/adapters/openlayers.adapter.d.ts +107 -55
  11. package/dist/common.d.ts +100 -100
  12. package/dist/geometry/boolean/point-in-polygon.d.ts +2 -2
  13. package/dist/geometry/boolean/self-intersects.d.ts +2 -2
  14. package/dist/geometry/centroid.d.ts +2 -2
  15. package/dist/geometry/coordinates-identical.d.ts +2 -2
  16. package/dist/geometry/get-coordinates-as-points.d.ts +6 -6
  17. package/dist/geometry/get-midpoints.d.ts +8 -8
  18. package/dist/geometry/helpers.d.ts +4 -4
  19. package/dist/geometry/limit-decimal-precision.d.ts +1 -1
  20. package/dist/geometry/measure/haversine-distance.d.ts +2 -2
  21. package/dist/geometry/measure/pixel-distance-to-line.d.ts +10 -10
  22. package/dist/geometry/measure/pixel-distance.d.ts +7 -7
  23. package/dist/geometry/measure/rhumb-bearing.d.ts +2 -2
  24. package/dist/geometry/measure/rhumb-destination.d.ts +2 -2
  25. package/dist/geometry/measure/rhumb-distance.d.ts +2 -2
  26. package/dist/geometry/midpoint-coordinate.d.ts +3 -3
  27. package/dist/geometry/shape/create-circle.d.ts +8 -8
  28. package/dist/geometry/shape/great-circle-line.d.ts +12 -12
  29. package/dist/geometry/transform/rotate.d.ts +2 -2
  30. package/dist/geometry/transform/scale.d.ts +2 -2
  31. package/dist/modes/base.behavior.d.ts +19 -19
  32. package/dist/modes/base.mode.d.ts +37 -34
  33. package/dist/modes/circle/circle.mode.d.ts +48 -48
  34. package/dist/modes/click-bounding-box.behavior.d.ts +7 -7
  35. package/dist/modes/freehand/freehand.mode.d.ts +54 -54
  36. package/dist/modes/great-circle-snapping.behavior.d.ts +13 -13
  37. package/dist/modes/greatcircle/great-circle.mode.d.ts +57 -57
  38. package/dist/modes/linestring/linestring.mode.d.ts +60 -60
  39. package/dist/modes/pixel-distance.behavior.d.ts +7 -7
  40. package/dist/modes/point/point.mode.d.ts +38 -38
  41. package/dist/modes/polygon/behaviors/closing-points.behavior.d.ts +19 -19
  42. package/dist/modes/polygon/polygon.mode.d.ts +63 -63
  43. package/dist/modes/rectangle/rectangle.mode.d.ts +48 -48
  44. package/dist/modes/render/render.mode.d.ts +34 -34
  45. package/dist/modes/select/behaviors/drag-coordinate.behavior.d.ts +13 -13
  46. package/dist/modes/select/behaviors/drag-feature.behavior.d.ts +17 -17
  47. package/dist/modes/select/behaviors/features-at-mouse-event.behavior.d.ts +15 -15
  48. package/dist/modes/select/behaviors/midpoint.behavior.d.ts +18 -18
  49. package/dist/modes/select/behaviors/rotate-feature.behavior.d.ts +13 -13
  50. package/dist/modes/select/behaviors/scale-feature.behavior.d.ts +13 -13
  51. package/dist/modes/select/behaviors/selection-point.behavior.d.ts +18 -18
  52. package/dist/modes/select/select.mode.d.ts +89 -89
  53. package/dist/modes/snapping.behavior.d.ts +13 -13
  54. package/dist/modes/static/static.mode.d.ts +30 -30
  55. package/dist/store/spatial-index/quickselect.d.ts +2 -2
  56. package/dist/store/spatial-index/rbush.d.ts +35 -35
  57. package/dist/store/spatial-index/spatial-index.d.ts +18 -18
  58. package/dist/store/store.d.ts +50 -50
  59. package/dist/terra-draw.cjs +1 -1
  60. package/dist/terra-draw.cjs.map +1 -1
  61. package/dist/terra-draw.d.ts +129 -129
  62. package/dist/terra-draw.modern.js +1 -1
  63. package/dist/terra-draw.modern.js.map +1 -1
  64. package/dist/terra-draw.module.js +1 -1
  65. package/dist/terra-draw.module.js.map +1 -1
  66. package/dist/terra-draw.umd.js +1 -1
  67. package/dist/terra-draw.umd.js.map +1 -1
  68. package/dist/util/geoms.d.ts +3 -3
  69. package/dist/util/id.d.ts +1 -1
  70. package/dist/util/styling.d.ts +2 -2
  71. package/{CONTRIBUTING.md → guides/CONTRIBUTING.md} +7 -7
  72. package/guides/DEVELOPMENT.md +156 -0
  73. package/guides/GETTING_STARTED.md +211 -0
  74. package/package.json +6 -6
  75. package/scratch/release.sh +4 -2
  76. package/tsconfig.json +0 -1
  77. package/DEVELOPMENT.md +0 -77
  78. /package/{CODE_OF_CONDUCT.md → guides/CODE_OF_CONDUCT.md} +0 -0
@@ -1,129 +1,129 @@
1
- import { TerraDrawGoogleMapsAdapter } from "./adapters/google-maps.adapter";
2
- import { TerraDrawLeafletAdapter } from "./adapters/leaflet.adapter";
3
- import { TerraDrawMapboxGLAdapter } from "./adapters/mapbox-gl.adapter";
4
- import { TerraDrawMapLibreGLAdapter } from "./adapters/maplibre-gl.adapter";
5
- import { TerraDrawOpenLayersAdapter } from "./adapters/openlayers.adapter";
6
- import { TerraDrawMode, TerraDrawAdapter, TerraDrawAdapterStyling } from "./common";
7
- import { TerraDrawCircleMode } from "./modes/circle/circle.mode";
8
- import { TerraDrawFreehandMode } from "./modes/freehand/freehand.mode";
9
- import { TerraDrawGreatCircleMode } from "./modes/greatcircle/great-circle.mode";
10
- import { TerraDrawLineStringMode } from "./modes/linestring/linestring.mode";
11
- import { TerraDrawPointMode } from "./modes/point/point.mode";
12
- import { TerraDrawPolygonMode } from "./modes/polygon/polygon.mode";
13
- import { TerraDrawRectangleMode } from "./modes/rectangle/rectangle.mode";
14
- import { TerraDrawRenderMode } from "./modes/render/render.mode";
15
- import { TerraDrawSelectMode } from "./modes/select/select.mode";
16
- import { GeoJSONStoreFeatures } from "./store/store";
17
- type ChangeListener = (ids: string[], type: string) => void;
18
- type SelectListener = (id: string) => void;
19
- type DeselectListener = () => void;
20
- interface TerraDrawEventListeners {
21
- change: ChangeListener;
22
- select: SelectListener;
23
- deselect: DeselectListener;
24
- }
25
- type TerraDrawEvents = keyof TerraDrawEventListeners;
26
- declare class TerraDraw {
27
- private _modes;
28
- private _mode;
29
- private _adapter;
30
- private _enabled;
31
- private _store;
32
- private _eventListeners;
33
- constructor(options: {
34
- adapter: TerraDrawAdapter;
35
- modes: {
36
- [mode: string]: TerraDrawMode;
37
- };
38
- data?: GeoJSONStoreFeatures[];
39
- });
40
- private checkEnabled;
41
- private getModeStyles;
42
- /**
43
- * Allows the setting of a style for a given mode
44
- *
45
- * @param mode - The mode you wish to set a style for
46
- * @param styles - The styles you wish to set for the mode - this is
47
- * the same as the initialisation style schema
48
- *
49
- * @alpha
50
- */
51
- setModeStyles(mode: string, styles: TerraDrawAdapterStyling): void;
52
- /**
53
- * Allows the user to get a snapshot (copy) of all given features
54
- *
55
- * @returns An array of all given Feature Geometries in the instances store
56
- *
57
- * @alpha
58
- */
59
- getSnapshot(): GeoJSONStoreFeatures[];
60
- /**
61
- * Removes all data from the current store
62
- *
63
- * @alpha
64
- */
65
- clear(): void;
66
- /**
67
- * A property used to determine whether the instance is active or not. You
68
- * can use the start method to set this to true, and stop method to set this to false.
69
- * This is a read only property.
70
- *
71
- * @return true or false depending on if the instance is stopped or started
72
- * @readonly
73
- * @alpha
74
- */
75
- get enabled(): boolean;
76
- /**
77
- * enabled is a read only property and will throw and error if you try and set it.
78
- *
79
- * @alpha
80
- */
81
- set enabled(_: boolean);
82
- /**
83
- * A method for getting the current mode name
84
- *
85
- * @return the current mode name
86
- *
87
- * @alpha
88
- */
89
- getMode(): string;
90
- /**
91
- * A method for setting the current mode by name. Under the hood this will stop
92
- * the previous mode and start the new one.
93
- * @param mode - The mode name you wish to start
94
- *
95
- * @alpha
96
- */
97
- setMode(mode: string): void;
98
- /**
99
- * A method starting the current mode if it has not been started already
100
- *
101
- * @alpha
102
- */
103
- start(): void;
104
- /**
105
- * A a method for stopping the current mode
106
- *
107
- * @alpha
108
- */
109
- stop(): void;
110
- /**
111
- * Registers a Terra Draw event
112
- *
113
- * @param event - The name of the event you wish to listen for
114
- * @param callback - The callback with you wish to be called when this event occurs
115
- *
116
- * @alpha
117
- */
118
- on<T extends TerraDrawEvents>(event: T, callback: TerraDrawEventListeners[T]): void;
119
- /**
120
- * Unregisters a Terra Draw event
121
- *
122
- * @param event - The name of the event you wish to unregister
123
- * @param callback - The callback you originally provided to the 'on' method
124
- *
125
- * @alpha
126
- */
127
- off<T extends TerraDrawEvents>(event: TerraDrawEvents, callback: TerraDrawEventListeners[T]): void;
128
- }
129
- export { TerraDraw, TerraDrawSelectMode, TerraDrawPointMode, TerraDrawLineStringMode, TerraDrawGreatCircleMode, TerraDrawPolygonMode, TerraDrawCircleMode, TerraDrawFreehandMode, TerraDrawRenderMode, TerraDrawRectangleMode, TerraDrawGoogleMapsAdapter, TerraDrawMapboxGLAdapter, TerraDrawLeafletAdapter, TerraDrawMapLibreGLAdapter, TerraDrawOpenLayersAdapter, };
1
+ import { TerraDrawGoogleMapsAdapter } from "./adapters/google-maps.adapter";
2
+ import { TerraDrawLeafletAdapter } from "./adapters/leaflet.adapter";
3
+ import { TerraDrawMapboxGLAdapter } from "./adapters/mapbox-gl.adapter";
4
+ import { TerraDrawMapLibreGLAdapter } from "./adapters/maplibre-gl.adapter";
5
+ import { TerraDrawOpenLayersAdapter } from "./adapters/openlayers.adapter";
6
+ import { TerraDrawMode, TerraDrawAdapter, TerraDrawAdapterStyling } from "./common";
7
+ import { TerraDrawCircleMode } from "./modes/circle/circle.mode";
8
+ import { TerraDrawFreehandMode } from "./modes/freehand/freehand.mode";
9
+ import { TerraDrawGreatCircleMode } from "./modes/greatcircle/great-circle.mode";
10
+ import { TerraDrawLineStringMode } from "./modes/linestring/linestring.mode";
11
+ import { TerraDrawPointMode } from "./modes/point/point.mode";
12
+ import { TerraDrawPolygonMode } from "./modes/polygon/polygon.mode";
13
+ import { TerraDrawRectangleMode } from "./modes/rectangle/rectangle.mode";
14
+ import { TerraDrawRenderMode } from "./modes/render/render.mode";
15
+ import { TerraDrawSelectMode } from "./modes/select/select.mode";
16
+ import { GeoJSONStoreFeatures } from "./store/store";
17
+ type ChangeListener = (ids: string[], type: string) => void;
18
+ type SelectListener = (id: string) => void;
19
+ type DeselectListener = () => void;
20
+ interface TerraDrawEventListeners {
21
+ change: ChangeListener;
22
+ select: SelectListener;
23
+ deselect: DeselectListener;
24
+ }
25
+ type TerraDrawEvents = keyof TerraDrawEventListeners;
26
+ declare class TerraDraw {
27
+ private _modes;
28
+ private _mode;
29
+ private _adapter;
30
+ private _enabled;
31
+ private _store;
32
+ private _eventListeners;
33
+ constructor(options: {
34
+ adapter: TerraDrawAdapter;
35
+ modes: {
36
+ [mode: string]: TerraDrawMode;
37
+ };
38
+ data?: GeoJSONStoreFeatures[];
39
+ });
40
+ private checkEnabled;
41
+ private getModeStyles;
42
+ /**
43
+ * Allows the setting of a style for a given mode
44
+ *
45
+ * @param mode - The mode you wish to set a style for
46
+ * @param styles - The styles you wish to set for the mode - this is
47
+ * the same as the initialisation style schema
48
+ *
49
+ * @alpha
50
+ */
51
+ setModeStyles(mode: string, styles: TerraDrawAdapterStyling): void;
52
+ /**
53
+ * Allows the user to get a snapshot (copy) of all given features
54
+ *
55
+ * @returns An array of all given Feature Geometries in the instances store
56
+ *
57
+ * @alpha
58
+ */
59
+ getSnapshot(): GeoJSONStoreFeatures[];
60
+ /**
61
+ * Removes all data from the current store
62
+ *
63
+ * @alpha
64
+ */
65
+ clear(): void;
66
+ /**
67
+ * A property used to determine whether the instance is active or not. You
68
+ * can use the start method to set this to true, and stop method to set this to false.
69
+ * This is a read only property.
70
+ *
71
+ * @return true or false depending on if the instance is stopped or started
72
+ * @readonly
73
+ * @alpha
74
+ */
75
+ get enabled(): boolean;
76
+ /**
77
+ * enabled is a read only property and will throw and error if you try and set it.
78
+ *
79
+ * @alpha
80
+ */
81
+ set enabled(_: boolean);
82
+ /**
83
+ * A method for getting the current mode name
84
+ *
85
+ * @return the current mode name
86
+ *
87
+ * @alpha
88
+ */
89
+ getMode(): string;
90
+ /**
91
+ * A method for setting the current mode by name. Under the hood this will stop
92
+ * the previous mode and start the new one.
93
+ * @param mode - The mode name you wish to start
94
+ *
95
+ * @alpha
96
+ */
97
+ setMode(mode: string): void;
98
+ /**
99
+ * A method starting the current mode if it has not been started already
100
+ *
101
+ * @alpha
102
+ */
103
+ start(): void;
104
+ /**
105
+ * A a method for stopping the current mode
106
+ *
107
+ * @alpha
108
+ */
109
+ stop(): void;
110
+ /**
111
+ * Registers a Terra Draw event
112
+ *
113
+ * @param event - The name of the event you wish to listen for
114
+ * @param callback - The callback with you wish to be called when this event occurs
115
+ *
116
+ * @alpha
117
+ */
118
+ on<T extends TerraDrawEvents>(event: T, callback: TerraDrawEventListeners[T]): void;
119
+ /**
120
+ * Unregisters a Terra Draw event
121
+ *
122
+ * @param event - The name of the event you wish to unregister
123
+ * @param callback - The callback you originally provided to the 'on' method
124
+ *
125
+ * @alpha
126
+ */
127
+ off<T extends TerraDrawEvents>(event: TerraDrawEvents, callback: TerraDrawEventListeners[T]): void;
128
+ }
129
+ export { TerraDraw, TerraDrawSelectMode, TerraDrawPointMode, TerraDrawLineStringMode, TerraDrawGreatCircleMode, TerraDrawPolygonMode, TerraDrawCircleMode, TerraDrawFreehandMode, TerraDrawRenderMode, TerraDrawRectangleMode, TerraDrawGoogleMapsAdapter, TerraDrawMapboxGLAdapter, TerraDrawLeafletAdapter, TerraDrawMapLibreGLAdapter, TerraDrawOpenLayersAdapter, };