@carto/ps-react-maps 1.3.4 → 1.4.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.
- package/dist/index.cjs +10 -10
- package/dist/index.js +1096 -543
- package/dist/types/assets/icons/ruler.d.ts +2 -0
- package/dist/types/common-stories/maps/deckgl-maps.component.d.ts +2 -0
- package/dist/types/common-stories/maps/google-maps.component.d.ts +3 -0
- package/dist/types/common-stories/maps/map-container.component.d.ts +4 -0
- package/dist/types/common-stories/maps/map.component.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/map-measurement-tool/custom-editable-geojson-layer.class.d.ts +10 -0
- package/dist/types/map-measurement-tool/custom-measurement-distance-mode.class.d.ts +6 -0
- package/dist/types/map-measurement-tool/index.d.ts +9 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.component.d.ts +6 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.const.d.ts +43 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.context.d.ts +5 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.hook.d.ts +10 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.layer.d.ts +10 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.provider.d.ts +8 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.reducer.d.ts +14 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.styles.d.ts +28 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.types.d.ts +88 -0
- package/dist/types/map-measurement-tool/map-measurement-tool.util.d.ts +7 -0
- package/dist/types/map-provider/map-provider.context.d.ts +1 -0
- package/dist/types/utils/get-map-type/get-map-type.d.ts +1 -0
- package/dist/types/utils/get-map-type/index.d.ts +2 -0
- package/dist/types/utils/get-map-type/is-gmaps.d.ts +1 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +16 -7
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DeckGLMapsProps } from '@/map-provider';
|
|
2
|
+
export declare function DeckGLMapsComponent({ basemap, instanceRef, layers, overlayRef, viewState, height, id, initialViewState, style, width, getCursor, getTooltip, onClick, onDrag, onDragEnd, onDragStart, onHover, onResize, onViewStateChange, ...rest }: DeckGLMapsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GoogleMapsProps } from '@/map-provider';
|
|
2
|
+
export declare function GoogleMapsComponent(props: GoogleMapsProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function GoogleMap({ apiKey, basemap, instanceRef, layers, overlayRef, initialViewState, viewState, controller, height, id, language, mapId, mapOptions, style, version, width, getTooltip, onResize, onViewStateChange, ...rest }: GoogleMapsProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EditableGeoJsonLayer } from '@nebula.gl/layers';
|
|
2
|
+
import { EventManager } from 'mjolnir.js';
|
|
3
|
+
import { CustomEditableLayerProps } from './map-measurement-tool.types';
|
|
4
|
+
export declare class CustomEditableGeojsonLayer extends EditableGeoJsonLayer {
|
|
5
|
+
eventManager: EventManager;
|
|
6
|
+
constructor(props: CustomEditableLayerProps);
|
|
7
|
+
_addEventHandlers(): void;
|
|
8
|
+
_removeEventHandlers(_eventManager?: undefined): void;
|
|
9
|
+
_getEventManager(): EventManager;
|
|
10
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FeatureCollection, MeasureDistanceMode, ModeProps } from '@nebula.gl/edit-modes';
|
|
2
|
+
import { BasePointerEvent } from '@nebula.gl/edit-modes/dist-types/types';
|
|
3
|
+
export declare class CustomMeasureDistanceMode extends MeasureDistanceMode {
|
|
4
|
+
handleClick(event: BasePointerEvent, props: ModeProps<FeatureCollection>): void;
|
|
5
|
+
handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>): void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { CustomEditableGeojsonLayer } from './custom-editable-geojson-layer.class';
|
|
2
|
+
export { CustomMeasureDistanceMode } from './custom-measurement-distance-mode.class';
|
|
3
|
+
export * from './map-measurement-tool.const';
|
|
4
|
+
export { MapMeasurementToolsLayer } from './map-measurement-tool.layer';
|
|
5
|
+
export { MapMeasurementTools } from './map-measurement-tool.component';
|
|
6
|
+
export { MapMeasurementToolsProvider } from './map-measurement-tool.provider';
|
|
7
|
+
export { convertMetersTo, getTextLayerFormattedDistance, } from './map-measurement-tool.util';
|
|
8
|
+
export { useMapMeasurementTools, useMapMeasurementToolsActions, } from './map-measurement-tool.hook';
|
|
9
|
+
export * from './map-measurement-tool.types';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MapMeasureToolChildrenProps } from './map-measurement-tool.types';
|
|
3
|
+
export type MapMeasureToolProps = {
|
|
4
|
+
children: React.FC<MapMeasureToolChildrenProps>;
|
|
5
|
+
};
|
|
6
|
+
export declare function MapMeasurementTools({ children }: MapMeasureToolProps): import("react").ReactNode;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { MapMeasurementUnit } from './map-measurement-tool.types';
|
|
2
|
+
import { LengthUnits } from 'convert-units/definitions/length';
|
|
3
|
+
export declare const EVENT_MANAGER_EVENT_TYPES: string[];
|
|
4
|
+
export declare const MAP_MEASURE_LAYER_ID = "mapMeasureLayer";
|
|
5
|
+
export declare const DEFAULT_LAYER_PROPS: {
|
|
6
|
+
id: string;
|
|
7
|
+
pickable: boolean;
|
|
8
|
+
billboard: boolean;
|
|
9
|
+
editHandlePointRadiusUnits: string;
|
|
10
|
+
editHandlePointRadiusMinPixels: number;
|
|
11
|
+
editHandlePointRadiusMaxPixels: number;
|
|
12
|
+
lineWidthMinPixels: number;
|
|
13
|
+
editHandlePointStrokeWidth: number;
|
|
14
|
+
getEditHandlePointRadius: number;
|
|
15
|
+
_subLayerProps: {
|
|
16
|
+
tooltips: {
|
|
17
|
+
fontFamily: string;
|
|
18
|
+
fontWeight: string;
|
|
19
|
+
getSize: number;
|
|
20
|
+
lineHeight: number;
|
|
21
|
+
getPixelOffset: number[];
|
|
22
|
+
getTextAnchor: string;
|
|
23
|
+
getAlignmentBaseline: string;
|
|
24
|
+
updateTriggers: {};
|
|
25
|
+
};
|
|
26
|
+
guides: {
|
|
27
|
+
getLineWidth: number;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export declare const DEFAULT_COLORS: Record<string, [number, number, number, number]>;
|
|
32
|
+
export declare const DEFAULT_PROPS: {
|
|
33
|
+
locale: string;
|
|
34
|
+
getColumnName: string;
|
|
35
|
+
styles: {
|
|
36
|
+
colors: {
|
|
37
|
+
editing: [number, number, number, number];
|
|
38
|
+
finished: [number, number, number, number];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const CONVERSIONS_UNITS: Record<MapMeasurementUnit, LengthUnits>;
|
|
43
|
+
export declare const INTL_UNITS: Record<MapMeasurementUnit, string>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type MapMeasurementToolsContextInterface } from './map-measurement-tool.types';
|
|
3
|
+
export declare const INITIAL_STATE: MapMeasurementToolsContextInterface;
|
|
4
|
+
export declare const MapMeasurementToolsContext: import("react").Context<import("./map-measurement-tool.types").MapMeasurementToolsState>;
|
|
5
|
+
export declare const MapMeasurementToolsActionsContext: import("react").Context<import("./map-measurement-tool.types").MeasurementToolsActionsState>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the state of the map measurement tools.
|
|
3
|
+
* @returns The state of the map measurement tools.
|
|
4
|
+
*/
|
|
5
|
+
export declare function useMapMeasurementTools(): import("./map-measurement-tool.types").MapMeasurementToolsState;
|
|
6
|
+
/**
|
|
7
|
+
* Returns the actions of the map measurement tools.
|
|
8
|
+
* @returns The actions of the map measurement tools.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useMapMeasurementToolsActions(): import("./map-measurement-tool.types").MeasurementToolsActionsState;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Layer } from '@deck.gl/core/typed';
|
|
2
|
+
import { type MapMeasurementToolsLayerProps } from './map-measurement-tool.types';
|
|
3
|
+
/**
|
|
4
|
+
* Renders the map measurement tools layer.
|
|
5
|
+
* @param {MapMeasurementToolsLayerProps['mapId']} props.mapId - The ID of the map.
|
|
6
|
+
* @param {MapMeasurementToolsLayerProps['defaultProps']} props.defaultProps - The default props for the layer.
|
|
7
|
+
* @param {MapMeasurementToolsLayerProps['layerProps']} props.layerProps - The layer props.
|
|
8
|
+
* @returns The rendered map measurement tools layer.
|
|
9
|
+
*/
|
|
10
|
+
export declare function MapMeasurementToolsLayer({ mapId, defaultProps: { getColumnName, styles }, layerProps, }: MapMeasurementToolsLayerProps): Layer<never> | null;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MapMeasurementToolsProviderProps } from './map-measurement-tool.types';
|
|
2
|
+
/**
|
|
3
|
+
* Provides the context and actions for the map measurement tools.
|
|
4
|
+
*
|
|
5
|
+
* @param {MapMeasurementToolsProviderProps} props - The component props.
|
|
6
|
+
* @returns {JSX.Element} The map measurement tools provider component.
|
|
7
|
+
*/
|
|
8
|
+
export declare function MapMeasurementToolsProvider({ children, defaultProps, locale, }: MapMeasurementToolsProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MapMeasurementToolsState } from './map-measurement-tool.types';
|
|
2
|
+
export declare enum Actions {
|
|
3
|
+
SetEnable = "SET_ENABLE",
|
|
4
|
+
SetFinished = "SET_FINISHED",
|
|
5
|
+
SetDistance = "SET_DISTANCE",
|
|
6
|
+
SetUnit = "SET_UNIT",
|
|
7
|
+
SetLocale = "SET_LOCALE"
|
|
8
|
+
}
|
|
9
|
+
type Action = {
|
|
10
|
+
type: Actions;
|
|
11
|
+
payload: MapMeasurementToolsState[keyof MapMeasurementToolsState];
|
|
12
|
+
};
|
|
13
|
+
export declare function reducer(state: MapMeasurementToolsState, { type, payload }: Action): MapMeasurementToolsState;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Theme } from '@mui/material';
|
|
2
|
+
export declare const styles: {
|
|
3
|
+
container: {
|
|
4
|
+
display: "flex";
|
|
5
|
+
alignItems: "center";
|
|
6
|
+
gap: ({ spacing }: Theme) => string;
|
|
7
|
+
};
|
|
8
|
+
chip: {
|
|
9
|
+
color: (theme: Theme) => string;
|
|
10
|
+
boxShadow: ({ shadows }: Theme) => string;
|
|
11
|
+
'& .MuiChip-deleteIcon': {
|
|
12
|
+
color: (theme: Theme) => string;
|
|
13
|
+
'&:hover': {
|
|
14
|
+
color: (theme: Theme) => string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
trigger: {
|
|
19
|
+
background: ({ palette }: Theme) => string;
|
|
20
|
+
'&:hover': {
|
|
21
|
+
background: ({ palette }: Theme) => string;
|
|
22
|
+
};
|
|
23
|
+
'&:disabled': {
|
|
24
|
+
opacity: number;
|
|
25
|
+
cursor: "default";
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { EditableGeojsonLayerProps } from '@nebula.gl/layers/dist-types/layers/editable-geojson-layer';
|
|
2
|
+
import type { EventManager } from 'mjolnir.js';
|
|
3
|
+
import type { ReactNode } from 'react';
|
|
4
|
+
import { Tooltip } from '@/map-provider';
|
|
5
|
+
export declare enum MapMeasurementUnit {
|
|
6
|
+
milimeter = "milimeter",
|
|
7
|
+
centimeter = "centimeter",
|
|
8
|
+
meter = "meter",
|
|
9
|
+
kilometer = "kilometer",
|
|
10
|
+
mile = "mile",
|
|
11
|
+
feet = "feet"
|
|
12
|
+
}
|
|
13
|
+
export declare enum MapMeasurementUnitTurf {
|
|
14
|
+
meters = "meters",
|
|
15
|
+
kilometer = "kilometers",
|
|
16
|
+
mile = "miles"
|
|
17
|
+
}
|
|
18
|
+
export declare const enum EditType {
|
|
19
|
+
AddPosition = "addPosition",
|
|
20
|
+
Finish = "finish"
|
|
21
|
+
}
|
|
22
|
+
export type MapMeasurementToolsProviderProps = {
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
defaultProps?: Omit<Partial<MapMeasurementToolsState>, MapMeasurementToolsState['locale']>;
|
|
25
|
+
locale?: MapMeasurementToolsState['locale'];
|
|
26
|
+
};
|
|
27
|
+
export type MapMeasurementToolsState = {
|
|
28
|
+
enable: boolean;
|
|
29
|
+
finished: boolean;
|
|
30
|
+
distance: number;
|
|
31
|
+
unit: MapMeasurementUnit;
|
|
32
|
+
locale: string;
|
|
33
|
+
};
|
|
34
|
+
export type MeasurementToolsActionsState = {
|
|
35
|
+
setEnable: (data: MapMeasurementToolsState['enable']) => void;
|
|
36
|
+
setFinished: (data: MapMeasurementToolsState['finished']) => void;
|
|
37
|
+
setDistance: (data: MapMeasurementToolsState['distance']) => void;
|
|
38
|
+
setUnit: (data: MapMeasurementToolsState['unit']) => void;
|
|
39
|
+
setLocale: (data: MapMeasurementToolsState['locale']) => void;
|
|
40
|
+
};
|
|
41
|
+
export type MapMeasurementToolsContextInterface = {
|
|
42
|
+
state: MapMeasurementToolsState;
|
|
43
|
+
actions: MeasurementToolsActionsState;
|
|
44
|
+
};
|
|
45
|
+
export type CustomEditableLayerProps<D = unknown> = EditableGeojsonLayerProps<D> & {
|
|
46
|
+
eventManager: EventManager;
|
|
47
|
+
selectedFeatures: any[];
|
|
48
|
+
onChangeFeatures: (features: D[]) => void;
|
|
49
|
+
};
|
|
50
|
+
export type CustomEditableLayerHoverProps = {
|
|
51
|
+
distance: number;
|
|
52
|
+
unit: string;
|
|
53
|
+
locale: string;
|
|
54
|
+
};
|
|
55
|
+
export type MapMeasureToolChildrenProps = {
|
|
56
|
+
enable: boolean;
|
|
57
|
+
unit: MapMeasurementUnit;
|
|
58
|
+
text: string;
|
|
59
|
+
meters: number;
|
|
60
|
+
distance: number;
|
|
61
|
+
tooltip?: string;
|
|
62
|
+
onToggleButton: () => void;
|
|
63
|
+
};
|
|
64
|
+
export type MapMeasurementToolsLayerHoverProps = (info: Tooltip, args: CustomEditableLayerHoverProps) => void;
|
|
65
|
+
export type MapMeasurementToolsLayerEditProps = {
|
|
66
|
+
editType: string;
|
|
67
|
+
editContext: {
|
|
68
|
+
distance: number;
|
|
69
|
+
finished: boolean;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export type DefaultMeasureToolProps = {
|
|
73
|
+
getColumnName: string;
|
|
74
|
+
styles?: {
|
|
75
|
+
colors?: {
|
|
76
|
+
editing?: [number, number, number, number];
|
|
77
|
+
finished?: [number, number, number, number];
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export type MapMeasurementToolsLayerLayerProps = Partial<CustomEditableLayerProps & {
|
|
82
|
+
onHover?: MapMeasurementToolsLayerHoverProps;
|
|
83
|
+
}>;
|
|
84
|
+
export type MapMeasurementToolsLayerProps = {
|
|
85
|
+
mapId: string;
|
|
86
|
+
defaultProps?: DefaultMeasureToolProps;
|
|
87
|
+
layerProps?: MapMeasurementToolsLayerLayerProps;
|
|
88
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MapMeasurementUnit } from './map-measurement-tool.types';
|
|
2
|
+
export declare function convertMetersTo(distance: number, unit: MapMeasurementUnit): number;
|
|
3
|
+
export declare function getTextLayerFormattedDistance({ meters, unit, locale, }: {
|
|
4
|
+
meters: number;
|
|
5
|
+
unit: MapMeasurementUnit;
|
|
6
|
+
locale: string;
|
|
7
|
+
}): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getMapType(basemap: string): import("@/map-provider").MapsTypes;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isGmaps(basemap: string): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carto/ps-react-maps",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "CARTO's Professional Service React Maps library",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -28,18 +28,27 @@
|
|
|
28
28
|
"storybook:start": "storybook dev --no-open -p 6006",
|
|
29
29
|
"storybook:build": "storybook build"
|
|
30
30
|
},
|
|
31
|
-
"dependencies": {
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"convert-units": "3.0.0-beta.6",
|
|
33
|
+
"@nebula.gl/edit-modes": "1.0.4",
|
|
34
|
+
"@nebula.gl/layers": "1.0.4",
|
|
35
|
+
"mjolnir.js": "2.7.1"
|
|
36
|
+
},
|
|
32
37
|
"devDependencies": {
|
|
33
|
-
"@carto/react-basemaps": "2.3.
|
|
34
|
-
"@deck.gl/core": "8.9.
|
|
35
|
-
"@deck.gl/google-maps": "8.9.
|
|
36
|
-
"@deck.gl/react": "8.9.
|
|
38
|
+
"@carto/react-basemaps": "2.3.13",
|
|
39
|
+
"@deck.gl/core": "8.9.35",
|
|
40
|
+
"@deck.gl/google-maps": "8.9.35",
|
|
41
|
+
"@deck.gl/react": "8.9.35",
|
|
37
42
|
"@react-google-maps/api": "2.19.3",
|
|
38
|
-
"@types/google.maps": "3.55.
|
|
43
|
+
"@types/google.maps": "3.55.4",
|
|
39
44
|
"maplibre-gl": "3.6.2",
|
|
40
45
|
"react-map-gl": "7.1.7"
|
|
41
46
|
},
|
|
42
47
|
"peerDependencies": {
|
|
48
|
+
"@nebula.gl/edit-modes": "1.x",
|
|
49
|
+
"@nebula.gl/layers": "1.x",
|
|
50
|
+
"convert-units": "3.x",
|
|
51
|
+
"mjolnir.js": "2.x",
|
|
43
52
|
"react": "17.x || 18.x",
|
|
44
53
|
"react-dom": "17.x || 18.x"
|
|
45
54
|
}
|