New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@types/leaflet-draw

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@types/leaflet-draw - npm Package Compare versions

Comparing version 0.4.14 to 1.0.0

1479

leaflet-draw/index.d.ts

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

// Type definitions for leaflet-draw 0.4
// Type definitions for leaflet-draw 1.0
// Project: https://github.com/Leaflet/Leaflet.draw

@@ -7,2 +7,3 @@ // Definitions by: Matt Guest <https://github.com/matt-guest>

// Kevin Richter <https://github.com/beschoenen>
// Jeroen Claassens <https://github.com/favna>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped

@@ -14,765 +15,975 @@ // TypeScript Version: 2.3

declare module 'leaflet' {
interface MapOptions {
drawControl?: boolean;
}
interface MapOptions {
drawControl?: boolean;
drawControlTooltips?: boolean;
touchExtend?: boolean;
}
interface ToolbarAction {
title: string;
text: string;
callback: () => void;
context: object;
}
class DrawMap extends Map {
mergeOptions(options?: MapOptions): void;
addInitHook(): void;
}
interface ToolbarModeHandler {
enabled: boolean;
handler: Handler;
title: string;
}
interface ToolbarAction {
title: string;
text: string;
callback: () => void;
context: object;
}
interface ToolbarOptions {
polyline?: DrawOptions.PolylineOptions;
polygon?: DrawOptions.PolygonOptions;
rectangle?: DrawOptions.RectangleOptions;
circle?: DrawOptions.CircleOptions;
marker?: DrawOptions.MarkerOptions;
circlemarker?: DrawOptions.CircleOptions;
}
interface ToolbarModeHandler {
enabled: boolean;
handler: Handler;
title: string;
}
interface PrecisionOptions {
km?: number;
ha?: number;
m?: number;
mi?: number;
ac?: number;
yd?: number;
ft?: number;
nm?: number;
}
interface ToolbarOptions {
polyline?: DrawOptions.PolylineOptions;
polygon?: DrawOptions.PolygonOptions;
rectangle?: DrawOptions.RectangleOptions;
circle?: DrawOptions.CircleOptions;
marker?: DrawOptions.MarkerOptions;
circlemarker?: DrawOptions.CircleOptions;
}
class Toolbar extends Class {
constructor(options?: ToolbarOptions);
interface PrecisionOptions {
km?: number;
ha?: number;
m?: number;
mi?: number;
ac?: number;
yd?: number;
ft?: number;
nm?: number;
}
addToolbar(map: Map): HTMLElement | void;
class Toolbar extends Class {
constructor(options?: ToolbarOptions);
removeToolbar(): void;
}
addToolbar(map: DrawMap): HTMLElement | void;
class DrawToolbar extends Toolbar {
getModeHandlers(map: Map): ToolbarModeHandler[];
removeToolbar(): void;
}
getActions(handler: Draw.Feature): ToolbarAction[];
class DrawToolbar extends Toolbar {
getModeHandlers(map: DrawMap): ToolbarModeHandler[];
setOptions(options: Control.DrawConstructorOptions): void;
}
getActions(handler: Draw.Feature): ToolbarAction[];
class EditToolbar extends Toolbar {
getModeHandlers(map: Map): ToolbarModeHandler[];
setOptions(options: Control.DrawConstructorOptions): void;
}
getActions(handler: Draw.Feature): ToolbarAction[];
class EditToolbar extends Toolbar {
getModeHandlers(map: DrawMap): ToolbarModeHandler[];
setOptions(options: Control.DrawConstructorOptions): void;
}
getActions(handler: Draw.Feature): ToolbarAction[];
namespace Control {
interface DrawConstructorOptions {
/**
* The initial position of the control (one of the map corners).
*
* Default value: 'topleft'
*/
position?: string;
setOptions(options: Control.DrawConstructorOptions): void;
}
/**
* The options used to configure the draw toolbar.
*
* Default value: {}
*/
draw?: DrawOptions;
namespace Control {
interface DrawConstructorOptions {
/**
* The initial position of the control (one of the map corners).
*
* @default 'topleft'
*/
position?: ControlPosition;
/**
* The options used to configure the edit toolbar.
*
* Default value: false
*/
edit?: EditOptions;
}
/**
* The options used to configure the draw toolbar.
*
* @default {}
*/
draw?: DrawOptions;
interface DrawOptions {
/**
* Polyline draw handler options. Set to false to disable handler.
*
* Default value: {}
*/
polyline?: DrawOptions.PolylineOptions | false;
/**
* The options used to configure the edit toolbar.
*
* @default false
*/
edit?: EditOptions;
}
/**
* Polygon draw handler options. Set to false to disable handler.
*
* Default value: {}
*/
polygon?: DrawOptions.PolygonOptions | false;
interface DrawOptions {
/**
* Polyline draw handler options. Set to false to disable handler.
*
* @default {}
*/
polyline?: DrawOptions.PolylineOptions | false;
/**
* Rectangle draw handler options. Set to false to disable handler.
*
* Default value: {}
*/
rectangle?: DrawOptions.RectangleOptions | false;
/**
* Polygon draw handler options. Set to false to disable handler.
*
* @default {}
*/
polygon?: DrawOptions.PolygonOptions | false;
/**
* Circle draw handler options. Set to false to disable handler.
*
* Default value: {}
*/
circle?: DrawOptions.CircleOptions | false;
/**
* Rectangle draw handler options. Set to false to disable handler.
*
* @default {}
*/
rectangle?: DrawOptions.RectangleOptions | false;
/**
* Circle marker draw handler options. Set to false to disable handler.
*
* Default value: {}
*/
circlemarker?: DrawOptions.CircleMarkerOptions | false;
/**
* Circle draw handler options. Set to false to disable handler.
*
* @default {}
*/
circle?: DrawOptions.CircleOptions | false;
/**
* Marker draw handler options. Set to false to disable handler.
*
* Default value: {}
*/
marker?: DrawOptions.MarkerOptions | false;
}
/**
* Circle marker draw handler options. Set to false to disable handler.
*
* @default {}
*/
circlemarker?: DrawOptions.CircleMarkerOptions | false;
interface EditOptions {
/**
* This is the FeatureGroup that stores all editable shapes.
* THIS IS REQUIRED FOR THE EDIT TOOLBAR TO WORK
*
* Default value: null
*/
featureGroup: FeatureGroup;
/**
* Marker draw handler options. Set to false to disable handler.
*
* @default {}
*/
marker?: DrawOptions.MarkerOptions | false;
}
/**
* Edit handler options. Set to false to disable handler.
*
* Default value: null
*/
edit?: DrawOptions.EditHandlerOptions | false;
interface EditOptions {
/**
* This is the FeatureGroup that stores all editable shapes.
* THIS IS REQUIRED FOR THE EDIT TOOLBAR TO WORK
*
* @default null
*/
featureGroup: FeatureGroup;
/**
* Delete handler options. Set to false to disable handler.
*
* Default value: null
*/
remove?: DrawOptions.DeleteHandlerOptions | false;
}
/**
* Edit handler options. Set to false to disable handler.
*
* @default null
*/
edit?: DrawOptions.EditHandlerOptions | false;
interface Draw extends Control {
setDrawingOptions(options: DrawOptions): void;
}
/**
* Delete handler options. Set to false to disable handler.
*
* Default value: null
*/
remove?: null | false;
}
class Draw {
constructor(options?: DrawConstructorOptions);
}
}
class Draw extends Control {
constructor(options?: DrawConstructorOptions);
namespace DrawOptions {
interface SimpleShapeOptions {
/**
* Determines if the draw tool remains enabled after drawing a shape.
*
* Default value: false
*/
repeatMode?: boolean;
}
initialize(options?: DrawOptions): void;
setDrawingOptions(options?: DrawOptions): void;
}
}
interface PolylineOptions {
/**
* Determines if line segments can cross.
*
* Default value: true
*/
allowIntersection?: boolean;
namespace DrawOptions {
interface SimpleShapeOptions {
/**
* Determines if the draw tool remains enabled after drawing a shape.
*
* @default false
*/
repeatMode?: boolean;
}
/**
* Determines if the draw tool remains enabled after drawing a shape.
*
* Default value: false
*/
repeatMode?: boolean;
interface PolylineOptions extends SimpleShapeOptions {
/**
* Determines if line segments can cross.
*
* @default true
*/
allowIntersection?: boolean;
/**
* Configuration options for the error that displays if an intersection is detected.
*
* Default value: See code
*/
drawError?: DrawErrorOptions;
/**
* Configuration options for the error that displays if an intersection is detected.
*
* @default { color: '#b00b00', timeout: 2500 }
*/
drawError?: DrawErrorOptions;
icon?: Icon | DivIcon;
/**
* Distance in pixels between each guide dash.
*
* @default 20
*/
guidelineDistance?: number;
touchIcon?: Icon | DivIcon;
/**
* The options used when drawing the polyline/polygon on the map.
*
* @default { stroke: true, color: '#3388ff', weight: 4, opacity: 0.5, fill: false, clickable: true }
*/
shapeOptions?: L.PolylineOptions & {
clickable?: boolean;
};
/**
* Distance in pixels between each guide dash.
*
* Default value: 20
*/
guidelineDistance?: number;
/**
* Whether to display distance in the tooltip
*
* @default true
*/
showLength?: boolean;
/**
* The maximum length of the guide line
*
* Default value: 4000
*/
maxGuideLineLength?: number;
/**
* Determines which measurement system (metric or imperial) is used.
*
* @default true
*/
metric?: boolean;
/**
* The options used when drawing the polyline/polygon on the map.
*
* Default value: See code
*/
shapeOptions?: PathOptions;
/**
* When not metric, to use feet instead of yards for display.
*
* @default true
*/
feet?: boolean;
/**
* Determines which measurement system (metric or imperial) is used.
*
* Default value: true
*/
metric?: boolean;
/**
* When not metric, not feet use nautic mile for display
*
* @default false
*/
nautic?: boolean;
/**
* When not metric, to use feet instead of yards for display.
*
* Default value: true
*/
feet?: boolean;
/**
* This should be a high number to ensure that you can draw over all other layers on the map.
*
* @default 2000
*/
zIndexOffset?: number;
/**
* When not metric, not feet use nautic mile for display
*
* Default value: false
*/
nautic?: boolean;
icon?: Icon | DivIcon;
/**
* Whether to display distance in the tooltip
*
* Default value: true
*/
showLength?: boolean;
touchIcon?: Icon | DivIcon;
/**
* This should be a high number to ensure that you can draw over all other layers on the map.
*
* Default value: 2000
*/
zIndexOffset?: number;
/**
* The maximum length of the guide line
*
* @default 4000
*/
maxGuideLineLength?: number;
/**
* To change distance calculation
*
* Default value: 1
*/
factor?: number;
/**
* To change distance calculation
*
* @default 1
*/
factor?: number;
/**
* Once this number of points are placed, finish shape
*
* Default value: 0
*/
maxPoints?: number;
}
/**
* Once this number of points are placed, finish shape
*
* @default 0
*/
maxPoints?: number;
}
interface PolygonOptions extends PolylineOptions {
/**
* Show the area of the drawn polygon in m², ha or km².
* The area is only approximate and become less accurate the larger the polygon is.
*
* Default value: false
*/
showArea?: boolean;
interface PolygonOptions extends PolylineOptions {
/**
* Show the area of the drawn polygon in m², ha or km².
* The area is only approximate and become less accurate the larger the polygon is.
*
* @default false
*/
showArea?: boolean;
/**
* Defines the precision for each type of unit (e.g. {km: 2, ft: 0}
*
* Default value: {}
*/
precision?: PrecisionOptions;
}
/**
* Show the length of the drawn line.
* The area is only approximate and become less accurate the larger the polygon is.
*
* @default false
*/
showLength?: boolean;
interface RectangleOptions extends SimpleShapeOptions {
/**
* The options used when drawing the rectangle on the map.
*
* Default value: See code
*/
shapeOptions?: PathOptions;
/**
* Defines the precision for each type of unit (e.g. {km: 2, ft: 0}
*
* @default {}
*/
precision?: PrecisionOptions;
}
/**
* Whether to use the metric measurement system or imperial
*
* Default value: true
*/
metric?: boolean;
}
interface RectangleOptions extends SimpleShapeOptions {
/**
* The options used when drawing the rectangle on the map.
*
* @default {stroke: true, weight: 4, opacity: 0.5, fill: true, fillColor: null, fillOpacity: 0.2, showArea: true, clickable: true }
*/
shapeOptions?: PathOptions;
interface CircleOptions extends SimpleShapeOptions {
/**
* The options used when drawing the circle on the map.
*
* Default value: See code
*/
shapeOptions?: PathOptions;
/**
* Whether to use the metric measurement system or imperial
*
* @default true
*/
metric?: boolean;
}
/**
* Whether to show the radius in the tooltip
*
* Default value: true
*/
showRadius?: boolean;
interface CircleOptions extends SimpleShapeOptions {
/**
* The options used when drawing the circle on the map.
*
* @default { stroke: true, color: '#3388ff', weight: 4, opacity: 0.5, fill: true, fillColor: null, fillOpacity: 0.2, clickable: true }
*/
shapeOptions?: PathOptions;
/**
* Whether to use the metric measurement system or imperial
*
* Default value: true
*/
metric?: boolean;
/**
* Whether to show the radius in the tooltip
*
* @default true
*/
showRadius?: boolean;
/**
* When not metric, use feet instead of yards for display
*
* Default value: true
*/
feet?: boolean;
/**
* Whether to use the metric measurement system or imperial
*
* @default true
*/
metric?: boolean;
/**
* When not metric, not feet use nautic mile for display
*
* Default value: false
*/
nautic?: boolean;
}
/**
* When not metric, use feet instead of yards for display
*
* @default true
*/
feet?: boolean;
interface CircleMarkerOptions {
/**
* Whether to draw stroke around the circle marker.
*
* Default value: true
*/
stroke?: boolean;
/**
* When not metric, not feet use nautic mile for display
*
* @default false
*/
nautic?: boolean;
}
/**
* The stroke color of the circle marker.
*
* Default value: '#3388ff'
*/
color?: string;
interface CircleMarkerOptions {
/**
* Whether to draw stroke around the circle marker.
*
* @default true
*/
stroke?: boolean;
/**
* The stroke width in pixels of the circle marker.
*
* Default value: 4
*/
weight?: number;
/**
* The stroke color of the circle marker.
*
* @default '#3388ff'
*/
color?: string;
/**
* The stroke opacity of the circle marker.
*
* Default value: 0.5
*/
opacity?: number;
/**
* The stroke width in pixels of the circle marker.
*
* @default 4
*/
weight?: number;
/**
* Whether to fill the circle marker with color.
*
* Default value: true
*/
fill?: boolean;
/**
* The stroke opacity of the circle marker.
*
* @default 0.5
*/
opacity?: number;
/**
* The fill color of the circle marker. Defaults to the value of the color option.
*
* Default value: null
*/
fillColor?: string;
/**
* Whether to fill the circle marker with color.
*
* @default true
*/
fill?: boolean;
/**
* The opacity of the circle marker.
*
* Default value: 0.2
*/
fillOpacity?: number;
/**
* The fill color of the circle marker. Defaults to the value of the color option.
*
* @default null
*/
fillColor?: string;
/**
* Whether you can click the circle marker.
*
* Default value: true
*/
clickable?: boolean;
/**
* The opacity of the circle marker.
*
* @default 0.2
*/
fillOpacity?: number;
/**
* This should be a high number to ensure that you can draw over all other layers on the map.
*
* Default value: 2000
*/
zIndexOffset?: number;
}
/**
* Whether you can click the circle marker.
*
* @default true
*/
clickable?: boolean;
interface MarkerOptions {
/**
* TThe icon displayed when drawing a marker.
*
* Default value: L.Icon.Default()
*/
icon?: Icon | DivIcon;
/**
* This should be a high number to ensure that you can draw over all other layers on the map.
*
* @default 2000
*/
zIndexOffset?: number;
}
/**
* This should be a high number to ensure that you can draw over all other layers on the map.
*
* Default value: 2000
*/
zIndexOffset?: number;
interface MarkerOptions {
/**
* The icon displayed when drawing a marker.
*
* @default L.Icon.Default()
*/
icon?: Icon | DivIcon;
/**
* Determines if the draw tool remains enabled after drawing a shape.
*
* Default value: false
*/
repeatMode?: boolean;
}
/**
* This should be a high number to ensure that you can draw over all other layers on the map.
*
* @default 2000
*/
zIndexOffset?: number;
interface EditHandlerOptions {
/**
* The path options for how the layers will look while in edit mode.
* If this is set to null the editable path options will not be set.
*
* Default value: See code
*/
selectedPathOptions?: PathOptions;
}
/**
* Determines if the draw tool remains enabled after drawing a shape.
*
* @default false
*/
repeatMode?: boolean;
}
interface DeleteHandlerOptions {
}
interface EditPolyOptions {
/**
* This is the FeatureGroup that stores all editable shapes
* THIS IS REQUIRED FOR THE EDIT TOOLBAR TO WORK
*/
featureGroup: FeatureGroup;
interface DrawErrorOptions {
color?: string;
timeout?: number;
message?: string;
}
}
/**
* Edit handler options. Set to false to disable handler.
*/
edit: EditHandlerOptions;
namespace Draw {
namespace Event {
const CREATED: string;
const EDITED: string;
const DELETED: string;
const DRAWSTART: string;
const DRAWSTOP: string;
const DRAWVERTEX: string;
const EDITSTART: string;
const EDITMOVE: string;
const EDITRESIZE: string;
const EDITVERTEX: string;
const EDITSTOP: string;
const DELETESTART: string;
const DELETESTOP: string;
const TOOLBAROPENED: string;
const TOOLBARCLOSED: string;
const TOOLBARCONTEXT: string;
}
/**
* Delete handler options. Set to false to disable handler.
*/
remove: any;
class Feature extends Handler {
initialize(
map: Map,
options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions
): void;
/**
* Set polygon editing options
*/
poly: EditPolyOptions;
setOptions(
options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions
): void;
}
/**
* Determines if line segments can cross
*
* @default true
*/
allowIntersection: boolean;
}
class SimpleShape extends Feature {
}
interface EditHandlerOptions {
/**
* The path options for how the layers will look while in edit mode.
* If this is set to null the editable path options will not be set.
*
* @default { dashArray: '10, 10', fill: true, fillColor: '#fe57a1', fillOpacity: 0.1, maintainColor: false }
*/
selectedPathOptions?: PathOptions;
}
class Marker extends Feature {
constructor(
map: Map,
options?: DrawOptions.MarkerOptions
)
}
interface DrawErrorOptions {
color?: string;
timeout?: number;
message?: string;
}
}
class CircleMarker extends Marker {
constructor(
map: Map,
options?: DrawOptions.MarkerOptions
)
}
namespace Draw {
namespace Event {
const CREATED: 'draw:created';
const DELETED: 'draw:deleted';
const DELETESTART: 'draw:deletestart';
const DELETESTOP: 'draw:deletestop';
const DRAWSTART: 'draw:drawstart';
const DRAWSTOP: 'draw:drawstop';
const DRAWVERTEX: 'draw:drawvertex';
const EDITED: 'draw:edited';
const EDITMOVE: 'draw:editmove';
const EDITRESIZE: 'draw:editresize';
const EDITSTART: 'draw:editstart';
const EDITSTOP: 'draw:editstop';
const EDITVERTEX: 'draw:editvertex';
const MARKERCONTEXT: 'draw:markercontext';
const TOOLBARCLOSED: 'draw:toolbarclosed';
const TOOLBAROPENED: 'draw:toolbaropened';
}
class Circle extends SimpleShape {
constructor(
map: Map,
options?: DrawOptions.CircleOptions
)
}
/**
* EventHandlers to be used in looping over all events
*
* @example
* for (const key in eventHandlers) { map.off(eventHandlers[key], LeafletFn); }
*/
interface EventHandlers {
onCreated: typeof Event.CREATED;
onDeleted: typeof Event.DELETED;
onDeleteStart: typeof Event.DELETESTART;
onDeleteStop: typeof Event.DELETESTOP;
onDrawStart: typeof Event.DRAWSTART;
onDrawStop: typeof Event.DRAWSTOP;
onDrawVertex: typeof Event.DRAWVERTEX;
onEdited: typeof Event.EDITED;
onEditMove: typeof Event.EDITMOVE;
onEditResize: typeof Event.EDITRESIZE;
onEditStart: typeof Event.EDITSTART;
onEditStop: typeof Event.EDITSTOP;
onEditVertex: typeof Event.EDITVERTEX;
onMarkerContext: typeof Event.MARKERCONTEXT;
onToolbarClosed: typeof Event.TOOLBARCLOSED;
onToolbarOpened: typeof Event.TOOLBAROPENED;
class Polyline extends Feature {
constructor(
map: Map,
options?: DrawOptions.PolylineOptions
)
// Requires an index signature of type string to be properly useful
[key: string]: string;
}
deleteLastVertex(): void;
class Feature extends Handler {
initialize(
map: DrawMap,
options:
| DrawOptions.PolylineOptions | DrawOptions.PolygonOptions
| DrawOptions.RectangleOptions | DrawOptions.MarkerOptions
| DrawOptions.EditHandlerOptions
): void;
addVertex(latlng: LatLng): void;
setOptions(
options:
| DrawOptions.PolylineOptions | DrawOptions.PolygonOptions
| DrawOptions.RectangleOptions | DrawOptions.MarkerOptions
| DrawOptions.EditHandlerOptions
): void;
}
completeShape(): void;
}
class SimpleShape extends Feature {
constructor(
map: DrawMap,
options?: DrawOptions.SimpleShapeOptions
)
}
class Rectangle extends SimpleShape {
constructor(
map: Map,
options?: DrawOptions.RectangleOptions
)
}
class Marker extends Feature {
constructor(
map: DrawMap,
options?: DrawOptions.MarkerOptions
)
}
class Polygon extends Polyline {
constructor(
map: Map,
options?: DrawOptions.PolygonOptions
)
}
class CircleMarker extends Marker {
constructor(
map: DrawMap,
options?: DrawOptions.MarkerOptions
)
}
class Tooltip extends Class {
constructor(map: Map);
class Circle extends SimpleShape {
constructor(
map: DrawMap,
options?: DrawOptions.CircleOptions
)
}
dispose(): void;
class Polyline extends Feature {
constructor(
map: DrawMap,
options?: DrawOptions.PolylineOptions
)
updateContent(labelText?: { text: string, subtext?: string }): Tooltip;
deleteLastVertex(): void;
updatePosition(latlng: LatLng): Tooltip;
addVertex(latlng: LatLng): void;
showAsError(): Tooltip;
completeShape(): void;
}
removeError(): Tooltip;
}
}
class Rectangle extends SimpleShape {
constructor(
map: DrawMap,
options?: DrawOptions.RectangleOptions
)
}
namespace DrawEvents {
interface Created extends Event {
/**
* Layer that was just created.
*/
layer: Circle | CircleMarker | Marker | Polygon | Polyline | Rectangle;
class Polygon extends Polyline {
constructor(
map: DrawMap,
options?: DrawOptions.PolygonOptions
)
}
/**
* The type of layer this is. One of: polyline, polygon, rectangle, circle, marker.
*/
layerType: string;
}
class Tooltip extends Class {
constructor(map: DrawMap);
interface Edited extends Event {
/**
* List of all layers just edited on the map.
*/
layers: LayerGroup;
}
dispose(): void;
/**
* Triggered when layers have been removed (and saved) from the FeatureGroup.
*/
interface Deleted extends Event {
/**
* List of all layers just removed from the map.
*/
layers: LayerGroup;
}
updateContent(labelText?: { text: string, subtext?: string }): Tooltip;
interface DrawStart extends Event {
/**
* The type of layer this is. One of: polyline, polygon, rectangle, circle, marker
*/
layerType: string;
}
updatePosition(latlng: LatLng): Tooltip;
interface DrawStop extends Event {
/**
* The type of layer this is. One of: polyline, polygon, rectangle, circle, marker
*/
layerType: string;
}
showAsError(): Tooltip;
interface DrawVertex extends Event {
/**
* List of all layers just being added from the map.
*/
layers: LayerGroup;
}
removeError(): Tooltip;
}
}
interface EditStart extends Event {
/**
* The type of edit this is. One of: edit
*/
handler: string;
}
namespace DrawEvents {
interface Created extends Event {
/**
* Layer that was just created.
*/
layer: Circle | CircleMarker | Marker | Polygon | Polyline | Rectangle;
interface EditMove extends Event {
/**
* Layer that was just moved.
*/
layer: Layer;
}
/**
* The type of layer this is. One of: polyline, polygon, rectangle, circle, marker.
*/
layerType: string;
}
interface EditResize extends Event {
/**
* Layer that was just resized.
*/
layer: Layer;
}
interface Edited extends Event {
/**
* List of all layers just edited on the map.
*/
layers: LayerGroup;
}
interface EditVertex extends Event {
/**
* List of all layers just being edited from the map.
*/
layers: LayerGroup;
/**
* Triggered when layers have been removed (and saved) from the FeatureGroup.
*/
interface Deleted extends Event {
/**
* List of all layers just removed from the map.
*/
layers: LayerGroup;
}
poly: Polyline | Polygon;
}
interface DrawStart extends Event {
/**
* The type of layer this is. One of: polyline, polygon, rectangle, circle, marker
*/
layerType: string;
}
interface EditStop extends Event {
/**
* The type of edit this is. One of: edit
*/
handler: string;
}
interface DrawStop extends Event {
/**
* The type of layer this is. One of: polyline, polygon, rectangle, circle, marker
*/
layerType: string;
}
interface DeleteStart extends Event {
/**
* The type of edit this is. One of: remove
*/
handler: string;
}
interface DrawVertex extends Event {
/**
* List of all layers just being added from the map.
*/
layers: LayerGroup;
}
interface DeleteStop extends Event {
/**
* The type of edit this is. One of: remove
*/
handler: string;
}
interface EditStart extends Event {
/**
* The type of edit this is. One of: edit
*/
handler: string;
}
interface ToolbarOpened extends Event {
}
interface EditMove extends Event {
/**
* Layer that was just moved.
*/
layer: Layer;
}
interface ToolbarClosed extends Event {
}
interface EditResize extends Event {
/**
* Layer that was just resized.
*/
layer: Layer;
}
interface MarkerContext extends Event {
}
}
interface EditVertex extends Event {
/**
* List of all layers just being edited from the map.
*/
layers: LayerGroup;
namespace GeometryUtil {
/**
* Returns the area of a polygon drawn with leaflet.draw
*/
function geodesicArea(coordinates: LatLngLiteral[]): number;
poly: Polyline | Polygon;
}
/**
* Returns n in specified number format (if defined) and precision
*/
function formattedNumber(n: string, precision: number): string;
interface EditStop extends Event {
/**
* The type of edit this is. One of: edit
*/
handler: string;
}
/**
* Returns a readable area string in yards or metric
*/
function readableArea(area: number, isMetric?: boolean, precision?: PrecisionOptions): string;
interface DeleteStart extends Event {
/**
* The type of edit this is. One of: remove
*/
handler: string;
}
/**
* Converts metric distance to distance string.
* The value will be rounded as defined by the precision option object.
*/
function readableDistance(distance: number, isMetric?: boolean, isFeet?: boolean, isNauticalMile?: boolean, precision?: PrecisionOptions): string;
interface DeleteStop extends Event {
/**
* The type of edit this is. One of: remove
*/
handler: string;
}
/**
* Returns true if the Leaflet version is 0.7.x, false otherwise.
*/
function isVersion07x(): boolean;
}
type ToolbarOpened = Event;
type ToolbarClosed = Event;
type MarkerContext = Event;
}
namespace LatLngUtil {
/**
* Clone the latLng point or points or nested points and return an array with those points
*/
function cloneLatLngs(latlngs: LatLng[]): LatLng[][];
namespace GeometryUtil {
/**
* Returns the area of a polygon drawn with leaflet.draw
*/
function geodesicArea(coordinates: LatLngLiteral[]): number;
/**
* Clone the latLng and return a new LatLng object.
*/
function cloneLatLng(latlng: LatLng): LatLng;
}
/**
* Returns n in specified number format (if defined) and precision
*/
function formattedNumber(n: string, precision: number): string;
namespace EditToolbar {
class Edit extends Toolbar {
constructor(map: Map, options?: ToolbarOptions);
/**
* Returns a readable area string in yards or metric
*/
function readableArea(area: number, isMetric?: boolean, precision?: PrecisionOptions): string;
revertLayers(): void;
/**
* Converts a metric distance to one of [ feet, nauticalMile, metric or yards ] string
* The value will be rounded as defined by the precision option object.
*/
function readableDistance(
distance: number, isMetric?: boolean, isFeet?: boolean,
isNauticalMile?: boolean, precision?: PrecisionOptions
): string;
save(): void;
}
/**
* Returns true if the Leaflet version is 0.7.x, false otherwise.
*/
function isVersion07x(): boolean;
}
class Delete extends Toolbar {
constructor(map: Map, options?: ToolbarOptions);
namespace LatLngUtil {
/**
* Clone the latLng point or points or nested points and return an array with those points
*/
function cloneLatLngs(latlngs: LatLng[]): LatLng[][];
revertLayers(): void;
/**
* Clone the latLng and return a new LatLng object.
*/
function cloneLatLng(latlng: LatLng): LatLng;
}
save(): void;
namespace LineUtil {
/**
* Checks to see if two line segments intersect.
* Does not handle degenerate cases.
*/
function segmentsIntersect(): boolean;
}
removeAllLayers(): void;
}
}
namespace Polygon {
/**
* Checks a polygon for any intersecting line segments.
* Ignores holes.
*/
function intersects(): boolean;
}
namespace EditOptions {
interface EditPolyVerticesEditOptions {
icon?: Icon | DivIcon;
touchIcon?: Icon | DivIcon;
drawError?: DrawOptions.DrawErrorOptions;
}
namespace EditToolbar {
class Edit extends Toolbar {
constructor(map: DrawMap, options?: ToolbarOptions);
interface EditSimpleShapeOptions {
moveIcon?: Icon | DivIcon;
resizeIcon?: Icon | DivIcon;
touchMoveIcon?: Icon | DivIcon;
touchResizeIcon?: Icon | DivIcon;
}
}
revertLayers(): void;
namespace Edit {
class Circle extends CircleMarker {
}
save(): void;
}
class CircleMarker extends SimpleShape {
}
class Delete extends Toolbar {
constructor(map: DrawMap, options?: ToolbarOptions);
class Marker extends Handler {
constructor(marker: Marker, options?: object);
}
revertLayers(): void;
class Poly extends Handler {
constructor(poly: Draw.Polyline);
save(): void;
updateMarkers(): void;
}
removeAllLayers(): void;
}
}
class PolyVerticesEdit extends Handler {
constructor(poly: Poly, latlngs: LatLngExpression[], options?: EditOptions.EditPolyVerticesEditOptions);
namespace EditOptions {
interface EditPolyVerticesEditOptions {
icon?: Icon | DivIcon;
touchIcon?: Icon | DivIcon;
drawError?: DrawOptions.DrawErrorOptions;
}
updateMarkers(): void;
}
interface EditSimpleShapeOptions {
moveIcon?: Icon | DivIcon;
resizeIcon?: Icon | DivIcon;
touchMoveIcon?: Icon | DivIcon;
touchResizeIcon?: Icon | DivIcon;
}
}
class Rectangle extends SimpleShape {
}
namespace Edit {
class Circle extends CircleMarker {
constructor(shape: Circle, options?: EditOptions.EditSimpleShapeOptions);
}
class SimpleShape extends Handler {
constructor(shape: SimpleShape, options?: EditOptions.EditSimpleShapeOptions);
class CircleMarker extends SimpleShape {
constructor(shape: CircleMarker, options?: EditOptions.EditSimpleShapeOptions);
}
updateMarkers(): void;
}
}
class Marker extends Handler {
constructor(marker: Marker, options?: object);
}
class Polyline extends Handler {
constructor(polyline: Draw.Polyline);
updateMarkers(): void;
}
class PolyVerticesEdit extends Handler {
constructor(poly: Polyline, latlngs: LatLngExpression[], options?: EditOptions.EditPolyVerticesEditOptions);
updateMarkers(): void;
}
class Rectangle extends SimpleShape {
constructor(shape: Rectangle, options?: EditOptions.EditSimpleShapeOptions);
}
class SimpleShape extends Handler {
constructor(shape: SimpleShape, options?: EditOptions.EditSimpleShapeOptions);
updateMarkers(): void;
}
}
namespace Localization {
interface DrawLocal {
draw: Draw;
edit: Edit;
}
interface Draw {
toolbar: DrawToolbar;
handlers: DrawHandlers;
}
interface Edit {
toolbar: EditToolbar;
handlers: EditHandlers;
}
interface Action {
title: string;
text: string;
}
interface DrawToolbar {
actions: Action;
finish: Action;
undo: Action;
buttons: {
polyline: string;
polygon: string;
rectangle: string;
circle: string;
marker: string;
circlemarker: string;
};
}
interface Tooltip {
start?: string;
cont?: string;
end?: string;
}
interface DrawHandlers {
circle: {
tooltip: {
start: string;
};
radius: string;
};
circlemarker: {
tooltip: {
start: string;
};
};
marker: {
tooltip: {
start: string;
};
};
polygon: {
tooltip: {
start: string;
cont: string;
end: string;
};
};
polyline: {
error: string;
tooltip: {
start: string;
cont: string;
end: string;
};
};
rectangle: {
tooltip: {
start: string;
};
};
simpleshape: {
tooltip: {
end: string;
};
};
}
interface EditToolbar {
actions: {
save: Action;
cancel: Action;
clearAll: Action;
};
buttons: {
edit: string;
editDisabled: string;
remove: string;
removeDisabled: string;
};
}
interface EditHandlers {
edit: {
tooltip: {
text: string;
subtext: string;
};
};
remove: {
tooltip: {
text: string;
};
};
}
}
function map(element: string | HTMLElement, options?: MapOptions): DrawMap;
const drawVersion: string;
const drawLocal: Localization.DrawLocal;
}
{
"name": "@types/leaflet-draw",
"version": "0.4.14",
"version": "1.0.0",
"description": "TypeScript definitions for leaflet-draw",

@@ -26,2 +26,7 @@ "license": "MIT",

"githubUsername": "beschoenen"
},
{
"name": "Jeroen Claassens",
"url": "https://github.com/favna",
"githubUsername": "favna"
}

@@ -40,4 +45,4 @@ ],

},
"typesPublisherContentHash": "e87e0d9a6b0acf310391a3194ab08cca1f6aec6848548cfc88f63bbda3226e4e",
"typesPublisherContentHash": "63d28e44a180ac58ddbca1c81e3c55f18e70ff31be6ac0f781567158e3e75cd6",
"typeScriptVersion": "2.3"
}

@@ -5,3 +5,3 @@ # Installation

# Summary
This package contains type definitions for leaflet-draw ( https://github.com/Leaflet/Leaflet.draw ).
This package contains type definitions for leaflet-draw (https://github.com/Leaflet/Leaflet.draw).

@@ -12,3 +12,3 @@ # Details

Additional Details
* Last updated: Mon, 15 Apr 2019 19:45:24 GMT
* Last updated: Fri, 16 Aug 2019 00:40:24 GMT
* Dependencies: @types/leaflet

@@ -18,2 +18,2 @@ * Global values: none

# Credits
These definitions were written by Matt Guest <https://github.com/matt-guest>, Ryan Blace <https://github.com/reblace>, Yun Shi <https://github.com/YunS-Stacy>, Kevin Richter <https://github.com/beschoenen>.
These definitions were written by Matt Guest <https://github.com/matt-guest>, Ryan Blace <https://github.com/reblace>, Yun Shi <https://github.com/YunS-Stacy>, Kevin Richter <https://github.com/beschoenen>, and Jeroen Claassens <https://github.com/favna>.
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