@feltmaps/js-sdk 1.5.0-next.0 → 1.5.0-next.2

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.
@@ -880,6 +880,205 @@ declare const FeatureSelectionSchema: z.ZodObject<{
880
880
  } | undefined;
881
881
  }>;
882
882
 
883
+ declare const ToolSchema: z.ZodEnum<["pin", "line", "route", "polygon", "circle", "marker", "highlighter", "text", "note", "link"]>;
884
+ type ToolType = z.infer<typeof ToolSchema>;
885
+ type ConfigurableToolType = keyof ToolSettingsMap;
886
+ declare const PinToolSettingsSchema: z.ZodObject<{
887
+ color: z.ZodString;
888
+ symbol: z.ZodString;
889
+ frame: z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>;
890
+ }, "strip", z.ZodTypeAny, {
891
+ symbol: string;
892
+ color: string;
893
+ frame: "frame-circle" | "frame-square" | null;
894
+ }, {
895
+ symbol: string;
896
+ color: string;
897
+ frame: "frame-circle" | "frame-square" | null;
898
+ }>;
899
+ interface PinToolSettings extends zInfer<typeof PinToolSettingsSchema> {
900
+ symbol: PinSymbol;
901
+ }
902
+ declare const LineToolSettingsSchema: z.ZodObject<{
903
+ color: z.ZodString;
904
+ strokeOpacity: z.ZodNumber;
905
+ strokeWidth: z.ZodNumber;
906
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
907
+ distanceMarker: z.ZodBoolean;
908
+ }, "strip", z.ZodTypeAny, {
909
+ color: string;
910
+ strokeOpacity: number;
911
+ strokeWidth: number;
912
+ strokeStyle: "solid" | "dashed" | "dotted";
913
+ distanceMarker: boolean;
914
+ }, {
915
+ color: string;
916
+ strokeOpacity: number;
917
+ strokeWidth: number;
918
+ strokeStyle: "solid" | "dashed" | "dotted";
919
+ distanceMarker: boolean;
920
+ }>;
921
+ interface LineToolSettings extends zInfer<typeof LineToolSettingsSchema> {
922
+ }
923
+ declare const RouteToolSettingsSchema: z.ZodObject<{
924
+ color: z.ZodString;
925
+ routingMode: z.ZodEnum<["driving", "cycling", "walking", "flying"]>;
926
+ strokeOpacity: z.ZodNumber;
927
+ strokeWidth: z.ZodNumber;
928
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
929
+ distanceMarker: z.ZodBoolean;
930
+ endCaps: z.ZodBoolean;
931
+ }, "strip", z.ZodTypeAny, {
932
+ color: string;
933
+ strokeOpacity: number;
934
+ strokeWidth: number;
935
+ strokeStyle: "solid" | "dashed" | "dotted";
936
+ distanceMarker: boolean;
937
+ routingMode: "driving" | "cycling" | "walking" | "flying";
938
+ endCaps: boolean;
939
+ }, {
940
+ color: string;
941
+ strokeOpacity: number;
942
+ strokeWidth: number;
943
+ strokeStyle: "solid" | "dashed" | "dotted";
944
+ distanceMarker: boolean;
945
+ routingMode: "driving" | "cycling" | "walking" | "flying";
946
+ endCaps: boolean;
947
+ }>;
948
+ interface RouteToolSettings extends zInfer<typeof RouteToolSettingsSchema> {
949
+ }
950
+ declare const PolygonToolSettingsSchema: z.ZodObject<{
951
+ color: z.ZodString;
952
+ fillOpacity: z.ZodNumber;
953
+ strokeOpacity: z.ZodNumber;
954
+ strokeWidth: z.ZodNumber;
955
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
956
+ areaMarker: z.ZodBoolean;
957
+ }, "strip", z.ZodTypeAny, {
958
+ color: string;
959
+ strokeOpacity: number;
960
+ strokeWidth: number;
961
+ strokeStyle: "solid" | "dashed" | "dotted";
962
+ fillOpacity: number;
963
+ areaMarker: boolean;
964
+ }, {
965
+ color: string;
966
+ strokeOpacity: number;
967
+ strokeWidth: number;
968
+ strokeStyle: "solid" | "dashed" | "dotted";
969
+ fillOpacity: number;
970
+ areaMarker: boolean;
971
+ }>;
972
+ interface PolygonToolSettings extends zInfer<typeof PolygonToolSettingsSchema> {
973
+ }
974
+ declare const CircleToolSettingsSchema: z.ZodObject<{
975
+ color: z.ZodString;
976
+ fillOpacity: z.ZodNumber;
977
+ strokeOpacity: z.ZodNumber;
978
+ strokeWidth: z.ZodNumber;
979
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
980
+ radiusMarker: z.ZodBoolean;
981
+ }, "strip", z.ZodTypeAny, {
982
+ color: string;
983
+ strokeOpacity: number;
984
+ strokeWidth: number;
985
+ strokeStyle: "solid" | "dashed" | "dotted";
986
+ fillOpacity: number;
987
+ radiusMarker: boolean;
988
+ }, {
989
+ color: string;
990
+ strokeOpacity: number;
991
+ strokeWidth: number;
992
+ strokeStyle: "solid" | "dashed" | "dotted";
993
+ fillOpacity: number;
994
+ radiusMarker: boolean;
995
+ }>;
996
+ interface CircleToolSettings extends zInfer<typeof CircleToolSettingsSchema> {
997
+ }
998
+ declare const MarkerToolSettingsSchema: z.ZodObject<{
999
+ color: z.ZodString;
1000
+ opacity: z.ZodNumber;
1001
+ size: z.ZodNumber;
1002
+ }, "strip", z.ZodTypeAny, {
1003
+ color: string;
1004
+ opacity: number;
1005
+ size: number;
1006
+ }, {
1007
+ color: string;
1008
+ opacity: number;
1009
+ size: number;
1010
+ }>;
1011
+ interface MarkerToolSettings extends zInfer<typeof MarkerToolSettingsSchema> {
1012
+ }
1013
+ declare const HighlighterToolSettingsSchema: z.ZodObject<{
1014
+ color: z.ZodString;
1015
+ opacity: z.ZodNumber;
1016
+ size: z.ZodNumber;
1017
+ }, "strip", z.ZodTypeAny, {
1018
+ color: string;
1019
+ opacity: number;
1020
+ size: number;
1021
+ }, {
1022
+ color: string;
1023
+ opacity: number;
1024
+ size: number;
1025
+ }>;
1026
+ interface HighlighterToolSettings extends zInfer<typeof HighlighterToolSettingsSchema> {
1027
+ }
1028
+ declare const TextToolSettingsSchema: z.ZodObject<{
1029
+ color: z.ZodString;
1030
+ align: z.ZodEnum<["left", "center", "right"]>;
1031
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
1032
+ }, "strip", z.ZodTypeAny, {
1033
+ style: "italic" | "light" | "regular" | "caps";
1034
+ color: string;
1035
+ align: "center" | "left" | "right";
1036
+ }, {
1037
+ style: "italic" | "light" | "regular" | "caps";
1038
+ color: string;
1039
+ align: "center" | "left" | "right";
1040
+ }>;
1041
+ interface TextToolSettings extends zInfer<typeof TextToolSettingsSchema> {
1042
+ }
1043
+ declare const NoteToolSettingsSchema: z.ZodObject<{
1044
+ color: z.ZodString;
1045
+ align: z.ZodEnum<["left", "center", "right"]>;
1046
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
1047
+ }, "strip", z.ZodTypeAny, {
1048
+ style: "italic" | "light" | "regular" | "caps";
1049
+ color: string;
1050
+ align: "center" | "left" | "right";
1051
+ }, {
1052
+ style: "italic" | "light" | "regular" | "caps";
1053
+ color: string;
1054
+ align: "center" | "left" | "right";
1055
+ }>;
1056
+ interface NoteToolSettings extends zInfer<typeof NoteToolSettingsSchema> {
1057
+ }
1058
+ type InputToolSettings = {
1059
+ [K in ConfigurableToolType]: Partial<ToolSettingsMap[K]> & {
1060
+ tool: K;
1061
+ };
1062
+ }[ConfigurableToolType];
1063
+ type ToolSettingsChangeEvent = {
1064
+ [K in ConfigurableToolType]: ToolSettingsMap[K] & {
1065
+ tool: K;
1066
+ };
1067
+ }[ConfigurableToolType];
1068
+ type ToolSettingsMap = {
1069
+ pin: PinToolSettings;
1070
+ line: LineToolSettings;
1071
+ route: RouteToolSettings;
1072
+ polygon: PolygonToolSettings;
1073
+ circle: CircleToolSettings;
1074
+ marker: MarkerToolSettings;
1075
+ highlighter: HighlighterToolSettings;
1076
+ text: TextToolSettings;
1077
+ note: NoteToolSettings;
1078
+ };
1079
+ type PinFrame = "frame-circle" | "frame-square" | null;
1080
+ type PinSymbol = "dot" | "square" | "diamond" | "triangle" | "x" | "plus" | "circle-line" | "circle-slash" | "star" | "heart" | "hexagon" | "octagon" | "pedestrian" | "bicycle" | "wheelchair" | "airport" | "car" | "bus" | "train" | "truck" | "ferry" | "sailboat" | "electric-service" | "gas-service" | "blood-clinic" | "badge" | "traffic-light" | "traffic-cone" | "road-sign-caution" | "person" | "restroom" | "house" | "work" | "letter" | "hotel" | "factory" | "hospital" | "religious-facility" | "school" | "government" | "university" | "bank" | "landmark" | "museum" | "clothing" | "shopping" | "store" | "bar" | "pub" | "cafe" | "food" | "park" | "amusement-park" | "camping-tent" | "cabin" | "picnic" | "water-refill" | "trailhead" | "guidepost" | "viewpoint" | "camera" | "us-football" | "football" | "tennis" | "binoculars" | "swimming" | "zap" | "battery-full" | "battery-half" | "battery-low" | "boom" | "radar" | "wind-turbine" | "solar-panel" | "antenna" | "telephone-pole" | "oil-well" | "oil-barrel" | "railroad-track" | "bridge" | "lighthouse" | "lock-closed" | "lock-open" | "wifi" | "trash" | "recycle" | "tree" | "flower" | "leaf" | "fire" | "mountain" | "snowy-mountain" | "volcano" | "island" | "wave" | "hot-springs" | "water" | "lake" | "ocean" | "animal" | "bird" | "duck" | "dog" | "fish" | "beach" | "wetland" | "sun" | "moon" | "cloud" | "partial-sun" | "rain" | "lightning" | "snowflake" | "wind" | "snow" | "fog" | "sleet" | "hurricane" | "warning" | "parking" | "info" | "circle-exclamation" | "circle-triangle" | "circle-x" | "circle-plus" | (`:${string}:` & {});
1081
+
883
1082
  /**
884
1083
  * The input type for setting the viewport to a particular center and zoom.
885
1084
  *
@@ -921,9 +1120,9 @@ declare const ViewportCenterZoomSchema: z.ZodObject<{
921
1120
  zoom: number;
922
1121
  }>;
923
1122
  /**
924
- * @group Types
925
- *
926
1123
  * The current state of the viewport, including the derived bounds.
1124
+ *
1125
+ * @group Types
927
1126
  */
928
1127
  interface ViewportState {
929
1128
  /**
@@ -980,6 +1179,32 @@ declare const SetViewportCenterZoomParamsSchema: z.ZodObject<{
980
1179
  } | undefined;
981
1180
  zoom?: number | undefined;
982
1181
  }>;
1182
+ /**
1183
+ * The constraints for the viewport. Used to ensure that the viewport stays
1184
+ * within certain bounds and zoom levels.
1185
+ *
1186
+ * @group Types
1187
+ */
1188
+ interface ViewportConstraints {
1189
+ /**
1190
+ * The minimum zoom level for the viewport.
1191
+ *
1192
+ * {@link FeltZoom}
1193
+ */
1194
+ minZoom: FeltZoom | null;
1195
+ /**
1196
+ * The maximum zoom level for the viewport.
1197
+ *
1198
+ * {@link FeltZoom}
1199
+ */
1200
+ maxZoom: FeltZoom | null;
1201
+ /**
1202
+ * The bounds for the viewport.
1203
+ *
1204
+ * {@link FeltBoundary}
1205
+ */
1206
+ bounds: FeltBoundary | null;
1207
+ }
983
1208
  /**
984
1209
  * The parameters for the `fitViewportToBounds` method.
985
1210
  *
@@ -1001,4 +1226,4 @@ declare const ViewportFitBoundsParamsSchema: z.ZodObject<{
1001
1226
  bounds: [number, number, number, number];
1002
1227
  }>;
1003
1228
 
1004
- export type { FilterTernary as A, ElementGroupNode as B, ElementNode as C, FeatureNode as D, Element as E, Filters as F, Geometry as G, LayerGroupNode as H, LayerNode as I, FeltBoundary as J, FeltZoom as K, Layer as L, MapInteractionEvent as M, LatLng as N, LineStringGeometry as O, LngLatTuple as P, MultiLineStringGeometry as Q, RasterValue as R, SetVisibilityRequest as S, MultiPolygonGeometry as T, PointGeometry as U, ViewportState as V, PolygonGeometry as W, UnionToIntersection as X, PromiseOrNot as Y, GetElementsConstraint as a, ElementGroup as b, GetElementGroupsConstraint as c, ElementChangeCallbackParams as d, ElementGroupChangeCallbackParams as e, GetLayersConstraint as f, LayerChangeCallbackParams as g, LayerGroup as h, GetLayerGroupsConstraint as i, LayerGroupChangeCallbackParams as j, LegendItemIdentifier as k, LegendItem as l, LegendItemsConstraint as m, LegendItemChangeCallbackParams as n, LayerFilters as o, GetRenderedFeaturesConstraint as p, Feature as q, EntityNode as r, FeatureSelection as s, SetViewportCenterZoomParams as t, ViewportFitBoundsParams as u, ViewportCenterZoom as v, LayerProcessingStatus as w, FilterExpression as x, FilterLogicGate as y, zInfer as z };
1229
+ export type { PointGeometry as $, LayerProcessingStatus as A, FilterExpression as B, ConfigurableToolType as C, FilterLogicGate as D, Element as E, Filters as F, Geometry as G, FilterTernary as H, InputToolSettings as I, ElementGroupNode as J, ElementNode as K, Layer as L, MapInteractionEvent as M, FeatureNode as N, LayerGroupNode as O, LayerNode as P, FeltBoundary as Q, RasterValue as R, SetVisibilityRequest as S, ToolType as T, FeltZoom as U, ViewportState as V, LatLng as W, LineStringGeometry as X, LngLatTuple as Y, MultiLineStringGeometry as Z, MultiPolygonGeometry as _, GetElementsConstraint as a, PolygonGeometry as a0, CircleToolSettings as a1, HighlighterToolSettings as a2, LineToolSettings as a3, MarkerToolSettings as a4, NoteToolSettings as a5, PinFrame as a6, PinSymbol as a7, PinToolSettings as a8, PolygonToolSettings as a9, RouteToolSettings as aa, TextToolSettings as ab, UnionToIntersection as ac, PromiseOrNot as ad, ElementGroup as b, GetElementGroupsConstraint as c, ElementChangeCallbackParams as d, ElementGroupChangeCallbackParams as e, GetLayersConstraint as f, LayerChangeCallbackParams as g, LayerGroup as h, GetLayerGroupsConstraint as i, LayerGroupChangeCallbackParams as j, LegendItemIdentifier as k, LegendItem as l, LegendItemsConstraint as m, LegendItemChangeCallbackParams as n, LayerFilters as o, GetRenderedFeaturesConstraint as p, Feature as q, EntityNode as r, FeatureSelection as s, ToolSettingsMap as t, ToolSettingsChangeEvent as u, SetViewportCenterZoomParams as v, ViewportConstraints as w, ViewportFitBoundsParams as x, ViewportCenterZoom as y, zInfer as z };
@@ -880,6 +880,205 @@ declare const FeatureSelectionSchema: z.ZodObject<{
880
880
  } | undefined;
881
881
  }>;
882
882
 
883
+ declare const ToolSchema: z.ZodEnum<["pin", "line", "route", "polygon", "circle", "marker", "highlighter", "text", "note", "link"]>;
884
+ type ToolType = z.infer<typeof ToolSchema>;
885
+ type ConfigurableToolType = keyof ToolSettingsMap;
886
+ declare const PinToolSettingsSchema: z.ZodObject<{
887
+ color: z.ZodString;
888
+ symbol: z.ZodString;
889
+ frame: z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>;
890
+ }, "strip", z.ZodTypeAny, {
891
+ symbol: string;
892
+ color: string;
893
+ frame: "frame-circle" | "frame-square" | null;
894
+ }, {
895
+ symbol: string;
896
+ color: string;
897
+ frame: "frame-circle" | "frame-square" | null;
898
+ }>;
899
+ interface PinToolSettings extends zInfer<typeof PinToolSettingsSchema> {
900
+ symbol: PinSymbol;
901
+ }
902
+ declare const LineToolSettingsSchema: z.ZodObject<{
903
+ color: z.ZodString;
904
+ strokeOpacity: z.ZodNumber;
905
+ strokeWidth: z.ZodNumber;
906
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
907
+ distanceMarker: z.ZodBoolean;
908
+ }, "strip", z.ZodTypeAny, {
909
+ color: string;
910
+ strokeOpacity: number;
911
+ strokeWidth: number;
912
+ strokeStyle: "solid" | "dashed" | "dotted";
913
+ distanceMarker: boolean;
914
+ }, {
915
+ color: string;
916
+ strokeOpacity: number;
917
+ strokeWidth: number;
918
+ strokeStyle: "solid" | "dashed" | "dotted";
919
+ distanceMarker: boolean;
920
+ }>;
921
+ interface LineToolSettings extends zInfer<typeof LineToolSettingsSchema> {
922
+ }
923
+ declare const RouteToolSettingsSchema: z.ZodObject<{
924
+ color: z.ZodString;
925
+ routingMode: z.ZodEnum<["driving", "cycling", "walking", "flying"]>;
926
+ strokeOpacity: z.ZodNumber;
927
+ strokeWidth: z.ZodNumber;
928
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
929
+ distanceMarker: z.ZodBoolean;
930
+ endCaps: z.ZodBoolean;
931
+ }, "strip", z.ZodTypeAny, {
932
+ color: string;
933
+ strokeOpacity: number;
934
+ strokeWidth: number;
935
+ strokeStyle: "solid" | "dashed" | "dotted";
936
+ distanceMarker: boolean;
937
+ routingMode: "driving" | "cycling" | "walking" | "flying";
938
+ endCaps: boolean;
939
+ }, {
940
+ color: string;
941
+ strokeOpacity: number;
942
+ strokeWidth: number;
943
+ strokeStyle: "solid" | "dashed" | "dotted";
944
+ distanceMarker: boolean;
945
+ routingMode: "driving" | "cycling" | "walking" | "flying";
946
+ endCaps: boolean;
947
+ }>;
948
+ interface RouteToolSettings extends zInfer<typeof RouteToolSettingsSchema> {
949
+ }
950
+ declare const PolygonToolSettingsSchema: z.ZodObject<{
951
+ color: z.ZodString;
952
+ fillOpacity: z.ZodNumber;
953
+ strokeOpacity: z.ZodNumber;
954
+ strokeWidth: z.ZodNumber;
955
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
956
+ areaMarker: z.ZodBoolean;
957
+ }, "strip", z.ZodTypeAny, {
958
+ color: string;
959
+ strokeOpacity: number;
960
+ strokeWidth: number;
961
+ strokeStyle: "solid" | "dashed" | "dotted";
962
+ fillOpacity: number;
963
+ areaMarker: boolean;
964
+ }, {
965
+ color: string;
966
+ strokeOpacity: number;
967
+ strokeWidth: number;
968
+ strokeStyle: "solid" | "dashed" | "dotted";
969
+ fillOpacity: number;
970
+ areaMarker: boolean;
971
+ }>;
972
+ interface PolygonToolSettings extends zInfer<typeof PolygonToolSettingsSchema> {
973
+ }
974
+ declare const CircleToolSettingsSchema: z.ZodObject<{
975
+ color: z.ZodString;
976
+ fillOpacity: z.ZodNumber;
977
+ strokeOpacity: z.ZodNumber;
978
+ strokeWidth: z.ZodNumber;
979
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
980
+ radiusMarker: z.ZodBoolean;
981
+ }, "strip", z.ZodTypeAny, {
982
+ color: string;
983
+ strokeOpacity: number;
984
+ strokeWidth: number;
985
+ strokeStyle: "solid" | "dashed" | "dotted";
986
+ fillOpacity: number;
987
+ radiusMarker: boolean;
988
+ }, {
989
+ color: string;
990
+ strokeOpacity: number;
991
+ strokeWidth: number;
992
+ strokeStyle: "solid" | "dashed" | "dotted";
993
+ fillOpacity: number;
994
+ radiusMarker: boolean;
995
+ }>;
996
+ interface CircleToolSettings extends zInfer<typeof CircleToolSettingsSchema> {
997
+ }
998
+ declare const MarkerToolSettingsSchema: z.ZodObject<{
999
+ color: z.ZodString;
1000
+ opacity: z.ZodNumber;
1001
+ size: z.ZodNumber;
1002
+ }, "strip", z.ZodTypeAny, {
1003
+ color: string;
1004
+ opacity: number;
1005
+ size: number;
1006
+ }, {
1007
+ color: string;
1008
+ opacity: number;
1009
+ size: number;
1010
+ }>;
1011
+ interface MarkerToolSettings extends zInfer<typeof MarkerToolSettingsSchema> {
1012
+ }
1013
+ declare const HighlighterToolSettingsSchema: z.ZodObject<{
1014
+ color: z.ZodString;
1015
+ opacity: z.ZodNumber;
1016
+ size: z.ZodNumber;
1017
+ }, "strip", z.ZodTypeAny, {
1018
+ color: string;
1019
+ opacity: number;
1020
+ size: number;
1021
+ }, {
1022
+ color: string;
1023
+ opacity: number;
1024
+ size: number;
1025
+ }>;
1026
+ interface HighlighterToolSettings extends zInfer<typeof HighlighterToolSettingsSchema> {
1027
+ }
1028
+ declare const TextToolSettingsSchema: z.ZodObject<{
1029
+ color: z.ZodString;
1030
+ align: z.ZodEnum<["left", "center", "right"]>;
1031
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
1032
+ }, "strip", z.ZodTypeAny, {
1033
+ style: "italic" | "light" | "regular" | "caps";
1034
+ color: string;
1035
+ align: "center" | "left" | "right";
1036
+ }, {
1037
+ style: "italic" | "light" | "regular" | "caps";
1038
+ color: string;
1039
+ align: "center" | "left" | "right";
1040
+ }>;
1041
+ interface TextToolSettings extends zInfer<typeof TextToolSettingsSchema> {
1042
+ }
1043
+ declare const NoteToolSettingsSchema: z.ZodObject<{
1044
+ color: z.ZodString;
1045
+ align: z.ZodEnum<["left", "center", "right"]>;
1046
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
1047
+ }, "strip", z.ZodTypeAny, {
1048
+ style: "italic" | "light" | "regular" | "caps";
1049
+ color: string;
1050
+ align: "center" | "left" | "right";
1051
+ }, {
1052
+ style: "italic" | "light" | "regular" | "caps";
1053
+ color: string;
1054
+ align: "center" | "left" | "right";
1055
+ }>;
1056
+ interface NoteToolSettings extends zInfer<typeof NoteToolSettingsSchema> {
1057
+ }
1058
+ type InputToolSettings = {
1059
+ [K in ConfigurableToolType]: Partial<ToolSettingsMap[K]> & {
1060
+ tool: K;
1061
+ };
1062
+ }[ConfigurableToolType];
1063
+ type ToolSettingsChangeEvent = {
1064
+ [K in ConfigurableToolType]: ToolSettingsMap[K] & {
1065
+ tool: K;
1066
+ };
1067
+ }[ConfigurableToolType];
1068
+ type ToolSettingsMap = {
1069
+ pin: PinToolSettings;
1070
+ line: LineToolSettings;
1071
+ route: RouteToolSettings;
1072
+ polygon: PolygonToolSettings;
1073
+ circle: CircleToolSettings;
1074
+ marker: MarkerToolSettings;
1075
+ highlighter: HighlighterToolSettings;
1076
+ text: TextToolSettings;
1077
+ note: NoteToolSettings;
1078
+ };
1079
+ type PinFrame = "frame-circle" | "frame-square" | null;
1080
+ type PinSymbol = "dot" | "square" | "diamond" | "triangle" | "x" | "plus" | "circle-line" | "circle-slash" | "star" | "heart" | "hexagon" | "octagon" | "pedestrian" | "bicycle" | "wheelchair" | "airport" | "car" | "bus" | "train" | "truck" | "ferry" | "sailboat" | "electric-service" | "gas-service" | "blood-clinic" | "badge" | "traffic-light" | "traffic-cone" | "road-sign-caution" | "person" | "restroom" | "house" | "work" | "letter" | "hotel" | "factory" | "hospital" | "religious-facility" | "school" | "government" | "university" | "bank" | "landmark" | "museum" | "clothing" | "shopping" | "store" | "bar" | "pub" | "cafe" | "food" | "park" | "amusement-park" | "camping-tent" | "cabin" | "picnic" | "water-refill" | "trailhead" | "guidepost" | "viewpoint" | "camera" | "us-football" | "football" | "tennis" | "binoculars" | "swimming" | "zap" | "battery-full" | "battery-half" | "battery-low" | "boom" | "radar" | "wind-turbine" | "solar-panel" | "antenna" | "telephone-pole" | "oil-well" | "oil-barrel" | "railroad-track" | "bridge" | "lighthouse" | "lock-closed" | "lock-open" | "wifi" | "trash" | "recycle" | "tree" | "flower" | "leaf" | "fire" | "mountain" | "snowy-mountain" | "volcano" | "island" | "wave" | "hot-springs" | "water" | "lake" | "ocean" | "animal" | "bird" | "duck" | "dog" | "fish" | "beach" | "wetland" | "sun" | "moon" | "cloud" | "partial-sun" | "rain" | "lightning" | "snowflake" | "wind" | "snow" | "fog" | "sleet" | "hurricane" | "warning" | "parking" | "info" | "circle-exclamation" | "circle-triangle" | "circle-x" | "circle-plus" | (`:${string}:` & {});
1081
+
883
1082
  /**
884
1083
  * The input type for setting the viewport to a particular center and zoom.
885
1084
  *
@@ -921,9 +1120,9 @@ declare const ViewportCenterZoomSchema: z.ZodObject<{
921
1120
  zoom: number;
922
1121
  }>;
923
1122
  /**
924
- * @group Types
925
- *
926
1123
  * The current state of the viewport, including the derived bounds.
1124
+ *
1125
+ * @group Types
927
1126
  */
928
1127
  interface ViewportState {
929
1128
  /**
@@ -980,6 +1179,32 @@ declare const SetViewportCenterZoomParamsSchema: z.ZodObject<{
980
1179
  } | undefined;
981
1180
  zoom?: number | undefined;
982
1181
  }>;
1182
+ /**
1183
+ * The constraints for the viewport. Used to ensure that the viewport stays
1184
+ * within certain bounds and zoom levels.
1185
+ *
1186
+ * @group Types
1187
+ */
1188
+ interface ViewportConstraints {
1189
+ /**
1190
+ * The minimum zoom level for the viewport.
1191
+ *
1192
+ * {@link FeltZoom}
1193
+ */
1194
+ minZoom: FeltZoom | null;
1195
+ /**
1196
+ * The maximum zoom level for the viewport.
1197
+ *
1198
+ * {@link FeltZoom}
1199
+ */
1200
+ maxZoom: FeltZoom | null;
1201
+ /**
1202
+ * The bounds for the viewport.
1203
+ *
1204
+ * {@link FeltBoundary}
1205
+ */
1206
+ bounds: FeltBoundary | null;
1207
+ }
983
1208
  /**
984
1209
  * The parameters for the `fitViewportToBounds` method.
985
1210
  *
@@ -1001,4 +1226,4 @@ declare const ViewportFitBoundsParamsSchema: z.ZodObject<{
1001
1226
  bounds: [number, number, number, number];
1002
1227
  }>;
1003
1228
 
1004
- export type { FilterTernary as A, ElementGroupNode as B, ElementNode as C, FeatureNode as D, Element as E, Filters as F, Geometry as G, LayerGroupNode as H, LayerNode as I, FeltBoundary as J, FeltZoom as K, Layer as L, MapInteractionEvent as M, LatLng as N, LineStringGeometry as O, LngLatTuple as P, MultiLineStringGeometry as Q, RasterValue as R, SetVisibilityRequest as S, MultiPolygonGeometry as T, PointGeometry as U, ViewportState as V, PolygonGeometry as W, UnionToIntersection as X, PromiseOrNot as Y, GetElementsConstraint as a, ElementGroup as b, GetElementGroupsConstraint as c, ElementChangeCallbackParams as d, ElementGroupChangeCallbackParams as e, GetLayersConstraint as f, LayerChangeCallbackParams as g, LayerGroup as h, GetLayerGroupsConstraint as i, LayerGroupChangeCallbackParams as j, LegendItemIdentifier as k, LegendItem as l, LegendItemsConstraint as m, LegendItemChangeCallbackParams as n, LayerFilters as o, GetRenderedFeaturesConstraint as p, Feature as q, EntityNode as r, FeatureSelection as s, SetViewportCenterZoomParams as t, ViewportFitBoundsParams as u, ViewportCenterZoom as v, LayerProcessingStatus as w, FilterExpression as x, FilterLogicGate as y, zInfer as z };
1229
+ export type { PointGeometry as $, LayerProcessingStatus as A, FilterExpression as B, ConfigurableToolType as C, FilterLogicGate as D, Element as E, Filters as F, Geometry as G, FilterTernary as H, InputToolSettings as I, ElementGroupNode as J, ElementNode as K, Layer as L, MapInteractionEvent as M, FeatureNode as N, LayerGroupNode as O, LayerNode as P, FeltBoundary as Q, RasterValue as R, SetVisibilityRequest as S, ToolType as T, FeltZoom as U, ViewportState as V, LatLng as W, LineStringGeometry as X, LngLatTuple as Y, MultiLineStringGeometry as Z, MultiPolygonGeometry as _, GetElementsConstraint as a, PolygonGeometry as a0, CircleToolSettings as a1, HighlighterToolSettings as a2, LineToolSettings as a3, MarkerToolSettings as a4, NoteToolSettings as a5, PinFrame as a6, PinSymbol as a7, PinToolSettings as a8, PolygonToolSettings as a9, RouteToolSettings as aa, TextToolSettings as ab, UnionToIntersection as ac, PromiseOrNot as ad, ElementGroup as b, GetElementGroupsConstraint as c, ElementChangeCallbackParams as d, ElementGroupChangeCallbackParams as e, GetLayersConstraint as f, LayerChangeCallbackParams as g, LayerGroup as h, GetLayerGroupsConstraint as i, LayerGroupChangeCallbackParams as j, LegendItemIdentifier as k, LegendItem as l, LegendItemsConstraint as m, LegendItemChangeCallbackParams as n, LayerFilters as o, GetRenderedFeaturesConstraint as p, Feature as q, EntityNode as r, FeatureSelection as s, ToolSettingsMap as t, ToolSettingsChangeEvent as u, SetViewportCenterZoomParams as v, ViewportConstraints as w, ViewportFitBoundsParams as x, ViewportCenterZoom as y, zInfer as z };