@evergis/react 2.0.138 → 2.0.140

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.
@@ -0,0 +1,3 @@
1
+ import { FC } from "react";
2
+ import { MinimizedLegendProps } from "./types";
3
+ export declare const MinimizedLegend: FC<MinimizedLegendProps>;
@@ -2,16 +2,18 @@ export declare const MapLegendControl: import("styled-components").StyledCompone
2
2
  export declare const MapLegendContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
3
  export declare const MapLegendHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
4
4
  export declare const MapLegendValueDescr: import("styled-components").StyledComponent<"div", any, {}, never>;
5
- export declare const MapLegendItems: import("styled-components").StyledComponent<"div", any, {}, never>;
6
5
  export declare const MapLegendItem: import("styled-components").StyledComponent<"div", any, {
7
- value?: string | undefined;
6
+ value?: string | number | undefined;
8
7
  }, never>;
9
8
  export declare const MapLegendOther: import("styled-components").StyledComponent<"div", any, {
10
- value?: string | undefined;
9
+ value?: string | number | undefined;
10
+ }, never>;
11
+ export declare const MapLegendItems: import("styled-components").StyledComponent<"div", any, {
12
+ overlay?: boolean | undefined;
11
13
  }, never>;
12
14
  export declare const MapLegendValues: import("styled-components").StyledComponent<"div", any, {}, never>;
13
15
  export declare const MapLegendValuesRange: import("styled-components").StyledComponent<"div", any, {}, never>;
14
16
  export declare const MapLegendValuesOther: import("styled-components").StyledComponent<"div", any, {
15
- value?: string | undefined;
17
+ value?: string | number | undefined;
16
18
  }, never>;
17
19
  export declare const MapLegendExpandButton: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,5 +1,12 @@
1
1
  import { LegendProps } from "../Legend";
2
+ import { LegendValueType } from "../../core";
2
3
  export declare type MapLegendProps = LegendProps & {
3
4
  fromToTitle?: [string, string];
4
5
  className?: string;
5
6
  };
7
+ export declare type MinimizedLegendProps = {
8
+ title?: string;
9
+ defaultValue: string;
10
+ values: LegendValueType[];
11
+ overlay?: boolean;
12
+ };
@@ -4,5 +4,5 @@ declare type LegendProviderProps = {
4
4
  symbol?: StyleSymbolType;
5
5
  };
6
6
  export declare const LegendProvider: React.FC<LegendProviderProps>;
7
- export declare const useLegendContext: () => import("..").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never> | import("../core/style/types/symbol").SquareSymbol | import("..").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never> | import("..").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never> | import("../core/style/types/symbol").PolygonSymbol<import("..").FillBrushType, import("..").StrokeBrushType> | import("..").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never> | import("..").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never> | import("..").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("..").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("..").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("..").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never> | import("..").ClientSymbol<"compositeSymbol", import("@evergis/api").CompositeSymbolDc, never> | null;
7
+ export declare const useLegendContext: () => import("..").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never> | import("../core/style/types/symbol").SquareSymbol | import("..").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never> | import("..").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never> | import("../core/style/types/symbol").PolygonSymbol<import("..").FillBrushType, import("..").StrokeBrushType> | import("..").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never> | import("..").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never> | import("..").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("..").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("..").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("..").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never> | import("..").ClientSymbol<"compositeSymbol", import("@evergis/api").CompositeSymbolDc, never> | import("@evergis/api").H3GridSymbolDc | null;
8
8
  export {};
@@ -3,5 +3,5 @@ import { EvergisStyle, ParameterByAttributeValue, ParameterValueWithSymbol, Styl
3
3
  export declare const getAttributeNameFromCondition: (condition: string) => string | null;
4
4
  export declare const getAttributeNameFromClassified: (values: ParameterByAttributeValue<ParameterValueWithSymbol>[]) => string | null;
5
5
  export declare function findChildFeatureStyle(childStyles: Style[], attributes: FeatureAttribute[]): Style | null;
6
- export declare function findChildFeatureSymbol(childStyles: Style[], attributes: FeatureAttribute[]): import("../style").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never> | import("../style").SquareSymbol | import("../style").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never> | import("../style").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never> | import("../style").PolygonSymbol<import("../style").FillBrushType, import("../style").StrokeBrushType> | import("../style").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never> | import("../style").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never> | import("../style").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("../style").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("../style").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("../style").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never> | null;
6
+ export declare function findChildFeatureSymbol(childStyles: Style[], attributes: FeatureAttribute[]): import("../style").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never> | import("../style").SquareSymbol | import("../style").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never> | import("../style").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never> | import("../style").PolygonSymbol<import("../style").FillBrushType, import("../style").StrokeBrushType> | import("../style").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never> | import("../style").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never> | import("../style").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("../style").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("../style").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("../style").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never> | import("@evergis/api").H3GridSymbolDc | null;
7
7
  export declare function getFeatureSymbol(style: EvergisStyle, attributes: FeatureAttribute[]): StyleSymbolType | null;
@@ -1,3 +1,4 @@
1
1
  export * from './createStyleLegend';
2
2
  export * from './createValueTitle';
3
+ export * from './isValidParameter';
3
4
  export * from './types';
@@ -0,0 +1,2 @@
1
+ import { ClassificationParameterExtended } from "../classification";
2
+ export declare function isValidParameter(parameter: ClassificationParameterExtended): boolean;
@@ -7,7 +7,7 @@ export declare class EvergisStyle {
7
7
  constructor(style: StyleDc);
8
8
  serialize(): StyleDc;
9
9
  hasRasters(): boolean;
10
- get symbol(): import("./types").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never> | import("./types").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never> | import("./types").SquareSymbol | import("./types").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never> | import("./types").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never> | import("./types").PolygonSymbol<import("./types").FillBrushType, import("./types").StrokeBrushType> | import("./types").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never> | import("./types").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never> | import("./types").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("./types").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("./types").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor">;
10
+ get symbol(): import("./types").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never> | import("./types").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never> | import("./types").SquareSymbol | import("./types").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never> | import("./types").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never> | import("./types").PolygonSymbol<import("./types").FillBrushType, import("./types").StrokeBrushType> | import("./types").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never> | import("./types").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never> | import("./types").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("./types").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("./types").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("@evergis/api").H3GridSymbolDc;
11
11
  get raster(): import("./types").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never> | null;
12
12
  get label(): import("./types").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("./types").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | import("./types").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor"> | null;
13
13
  get children(): Style[] | null;
@@ -3,4 +3,4 @@ export declare type LegendSymbolPart = {
3
3
  parameter: ClassificationParameterExtended;
4
4
  parameterValue: ParameterValueWithSymbol;
5
5
  };
6
- export declare const useLegendValueSymbol: ({ parameter, parameterValue, }: LegendSymbolPart) => import("@evergis/sgis/es/symbols/point/Point").PointSymbol | import("@evergis/sgis/es/symbols/point/StaticImageSymbol").StaticImageSymbol | import("@evergis/sgis/es/symbols/point/Square").SquareSymbol | import("@evergis/sgis/es/symbols/point/MaskedImage").MaskedImage | import("@evergis/sgis/es/symbols/polygon/Simple").PolygonSymbol | import("@evergis/sgis/es/symbols/polygon/BrushFill").BrushFill | import("@evergis/sgis/es/symbols/polygon/ImageFill").ImageFill | import("@evergis/sgis/es/symbols/PolylineSymbol").PolylineSymbol | import("../../core").ClientSymbol<"h3grid", import("@evergis/api").H3GridSymbolDc, never> | null;
6
+ export declare const useLegendValueSymbol: ({ parameter, parameterValue, }: LegendSymbolPart) => import("@evergis/sgis/es/symbols/point/Point").PointSymbol | import("@evergis/sgis/es/symbols/point/StaticImageSymbol").StaticImageSymbol | import("@evergis/sgis/es/symbols/point/Square").SquareSymbol | import("@evergis/sgis/es/symbols/point/MaskedImage").MaskedImage | import("@evergis/sgis/es/symbols/polygon/Simple").PolygonSymbol | import("@evergis/sgis/es/symbols/polygon/BrushFill").BrushFill | import("@evergis/sgis/es/symbols/polygon/ImageFill").ImageFill | import("@evergis/sgis/es/symbols/PolylineSymbol").PolylineSymbol | import("@evergis/sgis/es/symbols/H3Symbol").H3Symbol | null;
@@ -1,6 +1,6 @@
1
1
  import { FeatureLayerServiceInfoDc } from '@evergis/api';
2
2
  import { LegendConfig } from '../../core';
3
3
  export declare const useMapLegend: (layer?: FeatureLayerServiceInfoDc | undefined, config?: LegendConfig | undefined) => {
4
- symbol: import("../../core").Unclassify<import("../../core").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never>> | import("../../core").Unclassify<import("../../core").SquareSymbol> | import("../../core").Unclassify<import("../../core").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never>> | import("../../core").Unclassify<import("../../core").PolygonSymbol<import("../../core").FillBrushType, import("../../core").StrokeBrushType>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor">> | import("../../core").Unclassify<import("../../core").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor">> | import("../../core").Unclassify<import("../../core").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor">> | import("../../core").Unclassify<import("../../core").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never>>;
5
- item: import("../../core").LegendItem;
4
+ symbol: import("../../core").Unclassify<import("../../core").ClientSymbol<"circlePointSymbol", import("@evergis/api").CirclePointSymbolDc, never>> | import("../../core").Unclassify<import("../../core").SquareSymbol> | import("../../core").Unclassify<import("../../core").ClientSymbol<"maskedImagePointSymbol", import("@evergis/api").MaskedImagePointSymbolDc, never>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"imagePointSymbol", import("@evergis/api").ImagePointSymbolDc, never>> | import("../../core").Unclassify<import("../../core").PolygonSymbol<import("../../core").FillBrushType, import("../../core").StrokeBrushType>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"polylineSymbol", import("@evergis/api").PolylineSymbolDc, never>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"simplePolylineSymbol", import("@evergis/api").SimplePolylineSymbolDc, never>> | import("../../core").Unclassify<import("../../core").ClientSymbol<"polylineLabelSymbol", import("@evergis/api").PolylineLabelSymbolDc, "fontColor" | "fontSize" | "haloColor">> | import("../../core").Unclassify<import("../../core").ClientSymbol<"polygonLabelSymbol", import("@evergis/api").PolygonLabelSymbolDc, "fontColor" | "fontSize" | "haloColor">> | import("../../core").Unclassify<import("../../core").ClientSymbol<"labelPointSymbol", import("@evergis/api").PointLabelSymbolDc, "fontColor" | "fontSize" | "haloColor">> | import("../../core").Unclassify<import("../../core").ClientSymbol<"rasterSymbol", import("@evergis/api").RasterSymbolDc, never>> | import("../../core").Unclassify<import("@evergis/api").H3GridSymbolDc>;
5
+ items: import("../../core").LegendItem[];
6
6
  } | null;
@@ -3337,6 +3337,10 @@ const createLegendItem = _ref => {
3337
3337
  };
3338
3338
  };
3339
3339
 
3340
+ function isValidParameter(parameter) {
3341
+ return !(parameter != null && parameter.includes("labelSymbol")) && !(parameter != null && parameter.includes("singleObjectSymbol"));
3342
+ }
3343
+
3340
3344
  function createStyleLegend(style, config) {
3341
3345
  const {
3342
3346
  classificationManager,
@@ -3346,15 +3350,15 @@ function createStyleLegend(style, config) {
3346
3350
  let {
3347
3351
  parameter
3348
3352
  } = _ref;
3349
- return config.parameters && parameter ? config.parameters.includes(parameter) : true;
3353
+ return config.parameters && parameter ? config.parameters.includes(parameter) : isValidParameter(parameter);
3350
3354
  });
3351
3355
 
3352
- if (items.length === 0) {
3356
+ if (!items.length) {
3353
3357
  return null;
3354
3358
  }
3355
3359
 
3356
3360
  return {
3357
- symbol: unClassify(symbol),
3361
+ symbol: unClassify(symbol.singleObjectSymbol || symbol),
3358
3362
  items: items.map(createLegendItem(config))
3359
3363
  };
3360
3364
  }
@@ -3451,10 +3455,9 @@ const useMapLegend = (layer, config) => {
3451
3455
  return null;
3452
3456
  }
3453
3457
 
3454
- const firstLegend = legend.items[0];
3455
3458
  return {
3456
3459
  symbol: legend.symbol,
3457
- item: firstLegend
3460
+ items: legend.items
3458
3461
  };
3459
3462
  };
3460
3463
 
@@ -4728,7 +4731,7 @@ const LegendContainer = /*#__PURE__*/styled__default.div(_templateObject$2 || (_
4728
4731
  const LegendSectionContainer = /*#__PURE__*/styled__default.div(_templateObject2$1 || (_templateObject2$1 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
4729
4732
  const LegendSymbolTitle = /*#__PURE__*/styled__default.p(_templateObject3$1 || (_templateObject3$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n"])));
4730
4733
  const LegendValueContainer = /*#__PURE__*/styled__default.div(_templateObject4$1 || (_templateObject4$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n font-size: 0.75rem;\n\n ", " {\n padding-left: 0.5rem;\n }\n"])), LegendSymbolTitle);
4731
- const LegendSectionHeader = /*#__PURE__*/styled__default.div(_templateObject5$1 || (_templateObject5$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 0.75rem;\n font-weight: 500;\n"])));
4734
+ const LegendSectionHeader = /*#__PURE__*/styled__default.div(_templateObject5$1 || (_templateObject5$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n"])));
4732
4735
 
4733
4736
  const LegendSection = _ref => {
4734
4737
  let {
@@ -4993,23 +4996,43 @@ const Fullscreen = () => {
4993
4996
  }));
4994
4997
  };
4995
4998
 
4996
- var _templateObject$6, _templateObject2$5, _templateObject3$5, _templateObject4$4, _templateObject5$4, _templateObject6$2, _templateObject7$2, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11$1;
4999
+ var _templateObject$6, _templateObject2$5, _templateObject3$5, _templateObject4$4, _templateObject5$4, _templateObject6$2, _templateObject7$2, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1;
4997
5000
  const MapLegendControl = /*#__PURE__*/styled__default(MapControl)(_templateObject$6 || (_templateObject$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: default;\n"])));
4998
5001
  const MapLegendContainer = /*#__PURE__*/styled__default.div(_templateObject2$5 || (_templateObject2$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 12.5rem;\n box-sizing: border-box;\n\n canvas {\n height: 1.625rem;\n width: 1.625rem;\n }\n"])));
4999
5002
  const MapLegendHeader = /*#__PURE__*/styled__default(LegendSectionHeader)(_templateObject3$5 || (_templateObject3$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: 15rem;\n margin-bottom: 0.25rem;\n font-weight: 500;\n"])));
5000
- const MapLegendValueDescr = /*#__PURE__*/styled__default.div(_templateObject4$4 || (_templateObject4$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n"])));
5001
- const MapLegendItems = /*#__PURE__*/styled__default.div(_templateObject5$4 || (_templateObject5$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n border-radius: 0.125rem;\n"])));
5002
- const MapLegendItem = /*#__PURE__*/styled__default.div(_templateObject6$2 || (_templateObject6$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n flex: 1;\n height: 1rem;\n background-color: ", ";\n border: 1px rgba(48, 69, 79, 0.1) solid;\n"])), _ref => {
5003
+ const MapLegendValueDescr = /*#__PURE__*/styled__default.div(_templateObject4$4 || (_templateObject4$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n"])));
5004
+ const MapLegendItem = /*#__PURE__*/styled__default.div(_templateObject5$4 || (_templateObject5$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n flex: 1;\n height: 1rem;\n background: ", ";\n border: 1px rgba(48, 69, 79, 0.1) solid;\n margin-right: -1px;\n \n ", "\n"])), _ref => {
5003
5005
  let {
5004
5006
  value
5005
5007
  } = _ref;
5006
- return value;
5008
+ return typeof value === "number" ? "none" : value;
5009
+ }, _ref2 => {
5010
+ let {
5011
+ value
5012
+ } = _ref2;
5013
+ return !!value && typeof value === "number" && SizeLegendMixin(value);
5014
+ });
5015
+ const MapLegendOther = /*#__PURE__*/styled__default(MapLegendItem)(_templateObject6$2 || (_templateObject6$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n flex: none;\n width: 1rem;\n margin-left: 0.25rem;\n border-radius: 0.125rem;\n"])));
5016
+ const SizeOverlayLegendMixin = /*#__PURE__*/styled.css(_templateObject7$2 || (_templateObject7$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: 2rem;\n height: 2rem;\n \n ", ", ", " {\n flex: none;\n position: absolute;\n top: 0;\n left: 50%;\n width: inherit;\n height: inherit;\n margin-left: -1rem;\n \n :after {\n top: 0;\n margin-top: 0;\n }\n }\n"])), MapLegendItem, MapLegendOther);
5017
+ const MapLegendItems = /*#__PURE__*/styled__default.div(_templateObject8$2 || (_templateObject8$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: 0.125rem;\n\n ", ";\n"])), _ref3 => {
5018
+ let {
5019
+ overlay
5020
+ } = _ref3;
5021
+ return overlay && SizeOverlayLegendMixin;
5007
5022
  });
5008
- const MapLegendOther = /*#__PURE__*/styled__default(MapLegendItem)(_templateObject7$2 || (_templateObject7$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n flex: none;\n width: 1rem;\n margin-left: 0.25rem;\n border-radius: 0.125rem;\n overflow: hidden;\n"])));
5009
- const MapLegendValues = /*#__PURE__*/styled__default.div(_templateObject8$2 || (_templateObject8$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n font-size: 0.75rem;\n color: rgba(48, 69, 79, 0.65);\n"])));
5010
- const MapLegendValuesRange = /*#__PURE__*/styled__default.div(_templateObject9$1 || (_templateObject9$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n"])));
5011
- const MapLegendValuesOther = /*#__PURE__*/styled__default(MapLegendOther)(_templateObject10$1 || (_templateObject10$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n border: 0;\n text-align: center;\n overflow: visible;\n"])));
5012
- const MapLegendExpandButton = /*#__PURE__*/styled__default.div(_templateObject11$1 || (_templateObject11$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n margin: 0.1rem 0 0.5rem;\n font-size: 0.625rem;\n color: #1FB3AA;\n"])));
5023
+
5024
+ const SizeLegendMixin = function SizeLegendMixin(value) {
5025
+ if (value === void 0) {
5026
+ value = 0;
5027
+ }
5028
+
5029
+ return styled.css(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteralLoose(["\n position: relative;\n height: 2rem;\n background: none;\n border: none;\n margin-right: 0;\n \n :after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n border: 1px rgba(48, 69, 79, 0.28) solid;\n border-radius: 50%;\n margin: -", "px 0 0 -", "px;\n width: ", "px;\n height: ", "px;\n }\n"])), value / 2, value / 2, value, value);
5030
+ };
5031
+
5032
+ const MapLegendValues = /*#__PURE__*/styled__default.div(_templateObject10$1 || (_templateObject10$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n font-size: 0.75rem;\n color: rgba(48, 69, 79, 0.65);\n"])));
5033
+ const MapLegendValuesRange = /*#__PURE__*/styled__default.div(_templateObject11$1 || (_templateObject11$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n"])));
5034
+ const MapLegendValuesOther = /*#__PURE__*/styled__default(MapLegendOther)(_templateObject12$1 || (_templateObject12$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n border: 0;\n text-align: center;\n overflow: visible;\n"])));
5035
+ const MapLegendExpandButton = /*#__PURE__*/styled__default.div(_templateObject13$1 || (_templateObject13$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n margin: 0.1rem 0 0.5rem;\n font-size: 0.625rem;\n color: #1FB3AA;\n"])));
5013
5036
 
5014
5037
  const getValueFromLegendTitle = (title, minOrMax) => {
5015
5038
  var _title$split;
@@ -5019,12 +5042,32 @@ const getValueFromLegendTitle = (title, minOrMax) => {
5019
5042
  return minOrMax === "min" ? result == null ? void 0 : result[0] : result == null ? void 0 : result[1];
5020
5043
  }
5021
5044
 
5022
- return (title == null ? void 0 : (_title$split = title.split(" ")) == null ? void 0 : _title$split[1]) || "";
5045
+ return (title == null ? void 0 : (_title$split = title.split(" ")) == null ? void 0 : _title$split.find(ui.isNumeric)) || "";
5023
5046
  };
5024
5047
 
5025
- const MapLegend = _ref => {
5026
- var _symbol$fill, _item$values$, _item$values;
5048
+ const MinimizedLegend = _ref => {
5049
+ var _currentValues$, _currentValues;
5027
5050
 
5051
+ let {
5052
+ values,
5053
+ title,
5054
+ overlay
5055
+ } = _ref;
5056
+ const currentValues = [...values];
5057
+ const other = currentValues.pop();
5058
+ return React__default.createElement(React__default.Fragment, null, !!title && React__default.createElement(MapLegendValueDescr, null, title), React__default.createElement(MapLegendItems, {
5059
+ overlay: overlay
5060
+ }, currentValues.map(value => React__default.createElement(MapLegendItem, {
5061
+ key: value.title,
5062
+ title: value.title,
5063
+ value: value.parameterValue
5064
+ })), React__default.createElement(MapLegendOther, {
5065
+ title: "\u0414\u0440\u0443\u0433\u043E\u0435",
5066
+ value: other == null ? void 0 : other.parameterValue
5067
+ })), typeof (other == null ? void 0 : other.parameterValue) === "string" && React__default.createElement(MapLegendValues, null, React__default.createElement(MapLegendValuesRange, null, React__default.createElement("div", null, getValueFromLegendTitle((_currentValues$ = currentValues[0]) == null ? void 0 : _currentValues$.title, "max")), React__default.createElement("div", null, getValueFromLegendTitle((_currentValues = currentValues[currentValues.length - 1]) == null ? void 0 : _currentValues.title, "min"))), React__default.createElement(MapLegendValuesOther, null, "-")));
5068
+ };
5069
+
5070
+ const MapLegend = _ref => {
5028
5071
  let {
5029
5072
  layer,
5030
5073
  config,
@@ -5039,23 +5082,30 @@ const MapLegend = _ref => {
5039
5082
 
5040
5083
  const {
5041
5084
  symbol,
5042
- item
5085
+ items
5043
5086
  } = legend;
5044
5087
  return React__default.createElement(LegendProvider, {
5045
5088
  symbol: symbol
5046
5089
  }, React__default.createElement(MapLegendControl, {
5047
5090
  className: className
5048
- }, React__default.createElement(MapLegendHeader, null, layer == null ? void 0 : layer.alias), React__default.createElement(MapLegendContainer, null, isExpanded ? React__default.createElement(Legend, {
5091
+ }, React__default.createElement(MapLegendHeader, null, layer == null ? void 0 : layer.alias), !!items.length && React__default.createElement(MapLegendContainer, null, isExpanded ? React__default.createElement(Legend, {
5049
5092
  layer: layer,
5050
5093
  config: config
5051
- }) : React__default.createElement(React__default.Fragment, null, item.title !== (layer == null ? void 0 : layer.alias) && React__default.createElement(MapLegendValueDescr, null, item.title), React__default.createElement(MapLegendItems, null, item.values.map(value => React__default.createElement(MapLegendItem, {
5052
- key: value.title,
5053
- title: value.title,
5054
- value: value.parameterValue
5055
- })), React__default.createElement(MapLegendOther, {
5056
- title: "\u0414\u0440\u0443\u0433\u043E\u0435",
5057
- value: (_symbol$fill = symbol.fill) == null ? void 0 : _symbol$fill.color
5058
- })), React__default.createElement(MapLegendValues, null, React__default.createElement(MapLegendValuesRange, null, React__default.createElement("div", null, getValueFromLegendTitle((_item$values$ = item.values[0]) == null ? void 0 : _item$values$.title, "max")), React__default.createElement("div", null, getValueFromLegendTitle((_item$values = item.values[item.values.length - 1]) == null ? void 0 : _item$values.title, "min"))), React__default.createElement(MapLegendValuesOther, null, "-"))), React__default.createElement(MapLegendExpandButton, {
5094
+ }) : React__default.createElement(React__default.Fragment, null, items.map(item => {
5095
+ var _symbol$fill, _item$parameter, _symbol$fill2;
5096
+
5097
+ return React__default.createElement(React.Fragment, {
5098
+ key: item.title
5099
+ }, React__default.createElement(MinimizedLegend, {
5100
+ values: item.values,
5101
+ defaultValue: (_symbol$fill = symbol.fill) == null ? void 0 : _symbol$fill.color,
5102
+ title: item.title !== (layer == null ? void 0 : layer.alias) ? item.title : ""
5103
+ }), ((_item$parameter = item.parameter) == null ? void 0 : _item$parameter.includes("size")) && React__default.createElement(MinimizedLegend, {
5104
+ values: item.values,
5105
+ defaultValue: (_symbol$fill2 = symbol.fill) == null ? void 0 : _symbol$fill2.color,
5106
+ overlay: true
5107
+ }));
5108
+ })), React__default.createElement(MapLegendExpandButton, {
5059
5109
  onClick: toggleExpanded
5060
5110
  }, isExpanded ? "Свернуть" : "Развернуть"))));
5061
5111
  };
@@ -5617,6 +5667,7 @@ exports.isStyle = isStyle;
5617
5667
  exports.isSymbolWithOffset = isSymbolWithOffset;
5618
5668
  exports.isTwoDimensionalSymbol = isTwoDimensionalSymbol;
5619
5669
  exports.isUniqueClass = isUniqueClass;
5670
+ exports.isValidParameter = isValidParameter;
5620
5671
  exports.measureAreaSymbol = measureAreaSymbol;
5621
5672
  exports.measureLengthSymbol = measureLengthSymbol;
5622
5673
  exports.measurePolygonSnapSymbol = measurePolygonSnapSymbol;