terra-draw
Version:
Frictionless map drawing across mapping provider
57 lines (56 loc) • 2.01 kB
TypeScript
import { HexColorStyling, NumericStyling, TerraDrawAdapterStyling } from "../../common";
import { BaseModeOptions, CustomStyling, ModeTypes, ModeUpdateOptions, TerraDrawBaseDrawMode } from "../base.mode";
import { BehaviorConfig } from "../base.behavior";
import { GeoJSONStoreFeatures } from "../../terra-draw";
import { StoreValidation } from "../../store/store";
type RenderModeStyling = {
pointColor: HexColorStyling;
pointWidth: NumericStyling;
pointOpacity: NumericStyling;
pointOutlineColor: HexColorStyling;
pointOutlineOpacity: NumericStyling;
pointOutlineWidth: NumericStyling;
polygonFillColor: HexColorStyling;
polygonFillOpacity: NumericStyling;
polygonOutlineColor: HexColorStyling;
polygonOutlineWidth: NumericStyling;
lineStringWidth: NumericStyling;
lineStringColor: HexColorStyling;
lineStringOpacity: NumericStyling;
zIndex: NumericStyling;
};
interface TerraDrawRenderModeOptions<T extends CustomStyling> extends BaseModeOptions<T> {
styles: Partial<T>;
}
export declare class TerraDrawRenderMode extends TerraDrawBaseDrawMode<RenderModeStyling> {
type: ModeTypes;
mode: string;
constructor(options: TerraDrawRenderModeOptions<RenderModeStyling>);
updateOptions(options?: ModeUpdateOptions<TerraDrawRenderModeOptions<RenderModeStyling>>): void;
/** @internal */
registerBehaviors(behaviorConfig: BehaviorConfig): void;
/** @internal */
start(): void;
/** @internal */
stop(): void;
/** @internal */
onKeyUp(): void;
/** @internal */
onKeyDown(): void;
/** @internal */
onClick(): void;
/** @internal */
onDragStart(): void;
/** @internal */
onDrag(): void;
/** @internal */
onDragEnd(): void;
/** @internal */
onMouseMove(): void;
/** @internal */
cleanUp(): void;
/** @internal */
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
validateFeature(feature: unknown): StoreValidation;
}
export {};