terra-draw 1.24.2 → 1.25.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.
@@ -1,4 +1,4 @@
1
- import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColorStyling, NumericStyling, Cursor } from "../../common";
1
+ import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColorStyling, NumericStyling, Cursor, DrawInteractions } from "../../common";
2
2
  import { BaseModeOptions, CustomStyling, ModeUpdateOptions, TerraDrawBaseDrawMode } from "../base.mode";
3
3
  import { GeoJSONStoreFeatures, StoreValidation } from "../../store/store";
4
4
  import { BehaviorConfig } from "../base.behavior";
@@ -25,11 +25,13 @@ interface Cursors {
25
25
  }
26
26
  interface TerraDrawFreehandModeOptions<T extends CustomStyling> extends BaseModeOptions<T> {
27
27
  minDistance?: number;
28
+ smoothing?: number;
28
29
  preventPointsNearClose?: boolean;
29
30
  autoClose?: boolean;
30
31
  autoCloseTimeout?: number;
31
32
  keyEvents?: TerraDrawFreehandModeKeyEvents | null;
32
33
  cursors?: Cursors;
34
+ drawInteraction?: DrawInteractions;
33
35
  }
34
36
  export declare class TerraDrawFreehandMode extends TerraDrawBaseDrawMode<FreehandPolygonStyling> {
35
37
  mode: string;
@@ -44,10 +46,28 @@ export declare class TerraDrawFreehandMode extends TerraDrawBaseDrawMode<Freehan
44
46
  private autoCloseTimeout;
45
47
  private hasLeftStartingPoint;
46
48
  private preventNewFeature;
49
+ private drawInteraction;
50
+ private drawType;
51
+ private smoothing;
47
52
  private mutateFeature;
48
53
  private readFeature;
49
54
  constructor(options?: TerraDrawFreehandModeOptions<FreehandPolygonStyling>);
50
55
  updateOptions(options?: ModeUpdateOptions<TerraDrawFreehandModeOptions<FreehandPolygonStyling>>): void;
56
+ private moveDrawAllowed;
57
+ private dragDrawAllowed;
58
+ private beginDrawing;
59
+ private addCoordinate;
60
+ /**
61
+ * Uses a simple linear interpolation to smooth the coordinates. The smoothing factor determines how
62
+ * much influence the previous coordinate has on the new coordinate. A smoothing factor of 0 means
63
+ * no smoothing (the target coordinate is used as is), while a smoothing factor close to 1 means a
64
+ * lot of smoothing (the new coordinate will be very close to the previous coordinate).
65
+ * The default value is 0, which means no smoothing.
66
+ * @param previousCoordinate
67
+ * @param targetCoordinate
68
+ * @returns
69
+ */
70
+ private getSmoothedCoordinate;
51
71
  private close;
52
72
  /** @internal */
53
73
  start(): void;
@@ -62,11 +82,11 @@ export declare class TerraDrawFreehandMode extends TerraDrawBaseDrawMode<Freehan
62
82
  /** @internal */
63
83
  onKeyUp(event: TerraDrawKeyboardEvent): void;
64
84
  /** @internal */
65
- onDragStart(): void;
85
+ onDragStart(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
66
86
  /** @internal */
67
- onDrag(): void;
87
+ onDrag(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
68
88
  /** @internal */
69
- onDragEnd(): void;
89
+ onDragEnd(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
70
90
  /** @internal */
71
91
  cleanUp(): void;
72
92
  /** @internal */
@@ -105,7 +105,7 @@ export declare class TerraDrawSelectMode extends TerraDrawBaseSelectMode<Selecti
105
105
  selectFeature(featureId: FeatureId): void;
106
106
  setSelecting(): void;
107
107
  registerBehaviors(config: BehaviorConfig): void;
108
- deselectFeature(): void;
108
+ deselectFeature(id: FeatureId): void;
109
109
  private deselect;
110
110
  private deleteSelected;
111
111
  private clearDragTargetAndCursor;