@carto/ps-react-maps 3.0.0-canary.4 → 3.0.0-canary.5

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,32 +1,30 @@
1
1
  import { LassoToolsMode, LassoToolsModes } from '../../types';
2
2
  import { DefaultLassoToolsProps } from './types';
3
+ import { DataFilterExtension } from '@deck.gl/extensions';
3
4
  export declare const MAP_LASSO_TOOLS_LAYER_ID = "lassoLayer";
4
5
  export declare const MAP_MASK_LAYER_ID = "maskLayer";
5
6
  export declare const DEFAULT_LASSO_TOOLS_LAYER_PROPS: {
6
7
  readonly id: "lassoLayer";
7
- readonly pickable: false;
8
8
  readonly billboard: false;
9
9
  readonly editHandlePointRadiusUnits: "pixels";
10
10
  readonly editHandlePointRadiusMinPixels: 1;
11
11
  readonly editHandlePointRadiusMaxPixels: 12;
12
- readonly lineWidthMinPixels: 2;
13
12
  readonly editHandlePointStrokeWidth: 3;
14
13
  readonly getEditHandlePointRadius: 3;
15
- readonly _subLayerProps: {
16
- readonly guides: {
17
- readonly getLineWidth: 2;
18
- };
19
- };
14
+ readonly stroked: true;
15
+ readonly filled: true;
16
+ readonly lineWidthUnits: "pixels";
17
+ readonly getLineWidth: 2;
18
+ readonly lineWidthMinPixels: 2;
20
19
  };
21
20
  export declare const DEFAULT_LASSO_TOOLS_COLORS: DefaultLassoToolsProps['styles']['colors'];
22
21
  export declare const DEFAULT_LASSO_TOOLS_PROPS: DefaultLassoToolsProps;
23
22
  export declare const DEFAULT_MASK_LAYER_PROPS: {
24
23
  id: string;
25
- stroked: boolean;
26
- filled: boolean;
27
- lineWidthUnits: string;
28
- getLineWidth: number;
29
- lineWidthMinPixels: number;
30
24
  operation: string;
25
+ pickable: boolean;
26
+ visible: boolean;
27
+ extensions: DataFilterExtension[];
28
+ filterRange: number[];
31
29
  };
32
30
  export declare const DEFAULT_LASSO_TOOLS_MODES: LassoToolsModes<LassoToolsMode>;
@@ -7,7 +7,7 @@ export interface LassoToolsStore {
7
7
  data: Record<LassoToolsState['mapId'], Omit<LassoToolsState, 'mapId'>>;
8
8
  setEnabled: (mapId: LassoToolsState['mapId'], enabled: LassoToolsState['enabled']) => void;
9
9
  setValue: (mapId: LassoToolsState['mapId'], id: LassoToolsState['values'][number]['id'], data?: Partial<LassoToolsState['values'][number]>) => void;
10
- setVisibility: (mapId: LassoToolsState['mapId'], valueId: LassoToolsState['values'][number]['id'], visible: LassoToolsState['values'][number]['visible']) => void;
10
+ setVisibility: (mapId: LassoToolsState['mapId'], valueId: LassoToolsState['values'][number]['id'], visible: LassoToolsState['values'][number]['properties']['visible']) => void;
11
11
  setModeSelected: (mapId: LassoToolsState['mapId'], mode: LassoToolsState['modeSelected']) => void;
12
12
  setModeInstance: (mapId: LassoToolsState['mapId'], modeInstance: LassoToolsState['modeInstance']) => void;
13
13
  }
@@ -4,15 +4,16 @@ import { GeoJsonLayerProps } from '@deck.gl/layers';
4
4
  import { LassoToolsMode, LassoToolsModes, MapComponentProps } from '../../types';
5
5
  import { GeoJsonEditMode } from '@deck.gl-community/editable-layers';
6
6
  import { GeoJsonProperties, Geometry, FeatureCollection } from 'geojson';
7
+ import { Class } from 'type-fest';
7
8
  export type DataType = 'mask';
8
9
  export interface LassoToolsData {
9
10
  id: string;
10
11
  properties: GeoJsonProperties & {
11
12
  label: string;
13
+ visible: boolean;
12
14
  };
13
15
  geometry: Geometry;
14
16
  type: DataType;
15
- visible?: boolean;
16
17
  layerProps?: GeoJsonLayerProps;
17
18
  }
18
19
  export interface LassoToolsState<M extends string = LassoToolsMode> {
@@ -20,16 +21,19 @@ export interface LassoToolsState<M extends string = LassoToolsMode> {
20
21
  enabled: boolean;
21
22
  values: Record<LassoToolsData['id'], LassoToolsData>;
22
23
  modeSelected: LassoToolsMode | null;
23
- modeInstance: InstanceType<typeof GeoJsonEditMode>;
24
+ modeInstance: Class<GeoJsonEditMode>;
24
25
  modes: LassoToolsModes<M>;
25
26
  }
26
27
  export interface LassoToolsLayerProps {
27
28
  layerProps: LassoToolsLayersProps<FeatureCollection>;
28
29
  onEdit: (args: LassoToolsLayerEditProps) => void;
29
- guideColor: Color;
30
- fillColor: Color;
31
- pointColor: Color;
32
- mode: GeoJsonEditMode;
30
+ getLineColor: Color | ((d: LassoToolsData) => Color);
31
+ getFillColor: Color | ((d: LassoToolsData) => Color);
32
+ pointColor: {
33
+ fill: Color;
34
+ outline: Color;
35
+ };
36
+ mode: Class<GeoJsonEditMode>;
33
37
  }
34
38
  export type LassoToolsLayersProps<D = unknown> = Omit<EditableGeojsonLayerProps<D>, 'mode' | 'id'>;
35
39
  export interface LassoToolsLayerEditProps {
@@ -67,11 +71,11 @@ export interface LassoToolsControlProps {
67
71
  export type LassoToolsChildrenProps = Partial<Omit<LassoToolsState, 'values' | 'modeInstance'>> & {
68
72
  values: Record<DataType, {
69
73
  id: LassoToolsState['values'][number]['id'];
70
- visible: LassoToolsState['values'][number]['visible'];
74
+ visible: LassoToolsState['values'][number]['properties']['visible'];
71
75
  label: LassoToolsState['values'][number]['properties']['label'];
72
76
  }[]>;
73
77
  setValue: (id: LassoToolsState['values'][number]['id'], data?: Partial<LassoToolsState['values'][number]>) => void;
74
78
  setEnabled: (enabled: LassoToolsState['enabled']) => void;
75
- setVisibility: (valueId: LassoToolsState['values'][number]['id'], visible: LassoToolsState['values'][number]['visible']) => void;
79
+ setVisibility: (valueId: LassoToolsState['values'][number]['id'], visible: LassoToolsState['values'][number]['properties']['visible']) => void;
76
80
  setModeSelected: (mode: LassoToolsState['modeSelected']) => void;
77
81
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carto/ps-react-maps",
3
- "version": "3.0.0-canary.4",
3
+ "version": "3.0.0-canary.5",
4
4
  "description": "CARTO's Professional Service React DeckGL library",
5
5
  "type": "module",
6
6
  "dependencies": {},
@@ -26,7 +26,7 @@
26
26
  "maplibre-gl": "5.1.0",
27
27
  "react-map-gl": "8.0.1",
28
28
  "zustand": "5.0.3",
29
- "@carto/ps-utils": "2.0.0-canary.4"
29
+ "@carto/ps-utils": "2.0.0-canary.5"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@tanstack/react-query": "^5.0.0",
@@ -50,7 +50,7 @@
50
50
  "react": "^18.0.0 || ^19.0.0",
51
51
  "react-map-gl": "^8.0.0",
52
52
  "zustand": "^5.0.0",
53
- "@carto/ps-utils": "2.0.0-canary.4"
53
+ "@carto/ps-utils": "2.0.0-canary.5"
54
54
  },
55
55
  "exports": {
56
56
  ".": {