@evergis/react 2.0.201 → 2.0.203

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.
@@ -2,4 +2,5 @@ import { FC } from 'react';
2
2
  import { ClassificationParameterExtended } from "../../../core";
3
3
  export declare const LegendParameterDescription: FC<{
4
4
  parameter: ClassificationParameterExtended;
5
+ index?: number;
5
6
  }>;
@@ -16,6 +16,7 @@ export declare const MapLegendControl: import("styled-components").StyledCompone
16
16
  export declare const MapLegendContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
17
17
  export declare const MapLegendHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
18
18
  export declare const MapLegendDescriptionContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
19
+ export declare const MapLegendBadge: import("styled-components").StyledComponent<"span", any, {}, never>;
19
20
  export declare const MaximizedLegendContainer: import("styled-components").StyledComponent<"div", any, {
20
21
  isShown?: boolean | undefined;
21
22
  }, never>;
@@ -5,7 +5,7 @@ import { H3Symbol } from '@evergis/sgis/es/symbols/H3Symbol';
5
5
  import { Coordinates } from '@evergis/sgis/es/baseTypes';
6
6
  import { ClassificationParameterExtended, LayerAttribute, LegendValueType, ParameterByAttribute, ParameterValueWithSymbol, StyleSymbolType, SvgPointSymbol } from '../../core';
7
7
  import { SGisBrushFill, SGisImageFill, SGisPolygonSymbol, SGisPolylineSymbol } from '../../symbols';
8
- export declare type ClassifyParameter = 'fill.color' | 'fill.hatchColor' | 'fillColor' | 'stroke.width' | 'stroke.color' | 'strokeWidth' | 'strokeColor' | 'textBackground.fill.color' | 'background.fillColor' | 'background.strokeColor' | 'background.strokeWidth' | 'figure.fillColor' | 'figure.strokeColor' | 'figure.strokeWidth' | 'fontColor' | 'haloColor' | 'size' | 'symbol' | 'angle' | 'maskedColor' | 'endingSize' | 'beginningSize' | 'maxObjectCount' | 'gridSize' | 'selectionObjectsLimit' | 'singleObjectSymbol.figure.fillColor' | 'singleObjectSymbol.figure.strokeColor' | 'singleObjectSymbol.figure.strokeWidth' | 'singleObjectSymbol.background.fillColor' | 'singleObjectSymbol.background.strokeColor' | 'singleObjectSymbol.background.strokeWidth';
8
+ export declare type ClassifyParameter = 'fill.color' | 'fill.hatchColor' | 'fillColor' | 'stroke.width' | 'stroke.color' | 'strokeWidth' | 'strokeColor' | 'textBackground.fill.color' | 'background.fillColor' | 'background.strokeColor' | 'background.strokeWidth' | 'figure.fillColor' | 'figure.strokeColor' | 'figure.strokeWidth' | 'fontColor' | 'haloColor' | 'size' | 'symbol' | 'angle' | 'maskedColor' | 'endingSize' | 'beginningSize' | 'maxObjectCount' | 'gridSize' | 'selectionObjectsLimit' | 'singleObjectSymbol.size' | 'singleObjectSymbol.figure.fillColor' | 'singleObjectSymbol.figure.strokeColor' | 'singleObjectSymbol.figure.strokeWidth' | 'singleObjectSymbol.background.fillColor' | 'singleObjectSymbol.background.strokeColor' | 'singleObjectSymbol.background.strokeWidth';
9
9
  export interface ParameterInfo {
10
10
  min: number;
11
11
  max: number;
@@ -43,6 +43,7 @@ export declare type LegendSectionProps = Pick<LegendProps, 'hiddenLegends' | 'to
43
43
  classified: ParameterByAttribute<ParameterValueWithSymbol>;
44
44
  attribute: LayerAttribute | null;
45
45
  index: number;
46
+ count?: number;
46
47
  };
47
48
  export declare type LegendSectionItem = Pick<LegendProps, 'hiddenLegends' | 'toggleHiddenLegend'> & {
48
49
  attributeType: AttributeType;
@@ -1,4 +1,4 @@
1
- import { CirclePointSymbolDc, ClusterSymbolDc, CompositeSymbolDc, H3GridSymbolDc, ImagePointSymbolDc, MaskedImagePointSymbolDc, PolygonSymbolDc, PolylineSymbolDc, RasterSymbolDc, SimplePolylineSymbolDc, SquarePointSymbolDc, StyleDc, SvgPointSymbolDc } from '@evergis/api';
1
+ import { CirclePointSymbolDc, ClusterSymbolDc, CombinedPolylineSymbolDc, CompositeSymbolDc, H3GridSymbolDc, ImagePointSymbolDc, MaskedImagePointSymbolDc, PolygonSymbolDc, PolylineSymbolDc, RasterSymbolDc, SimplePolylineSymbolDc, SquarePointSymbolDc, StyleDc, SvgPointSymbolDc } from '@evergis/api';
2
2
  import { LabelType } from './label';
3
3
  import { CalculatedAble } from './parameterValue';
4
4
  import { ClientSymbol } from './utils';
@@ -43,6 +43,9 @@ export declare const isMaskedImageSymbol: (symbol: {
43
43
  export declare const isStaticImageSymbol: (symbol: {
44
44
  type?: string | undefined;
45
45
  }) => symbol is ClientSymbol<"imagePointSymbol", ImagePointSymbolDc, never>;
46
+ export declare const isCombinedPolylineSymbol: (symbol: {
47
+ type?: string | undefined;
48
+ }) => symbol is CombinedPolylineSymbolDc;
46
49
  export declare const isPolygonSymbol: (symbol: {
47
50
  type?: string | undefined;
48
51
  }) => symbol is PolygonSymbol<FillBrushType, StrokeBrushType>;
@@ -676,6 +676,7 @@ const isPointSymbol = /*#__PURE__*/symbolTypeGuard('circlePointSymbol');
676
676
  const isSquareSymbol = /*#__PURE__*/symbolTypeGuard('squarePointSymbol');
677
677
  const isMaskedImageSymbol = /*#__PURE__*/symbolTypeGuard('maskedImagePointSymbol');
678
678
  const isStaticImageSymbol = /*#__PURE__*/symbolTypeGuard('imagePointSymbol');
679
+ const isCombinedPolylineSymbol = /*#__PURE__*/symbolTypeGuard("combinedPolylineSymbol");
679
680
  const isPolygonSymbol = /*#__PURE__*/symbolTypeGuard('polygonSymbol');
680
681
  const isPolylineSymbol = /*#__PURE__*/symbolTypeGuard('polylineSymbol');
681
682
  const isSimplePolylineSymbol = /*#__PURE__*/symbolTypeGuard('simplePolylineSymbol');
@@ -2947,8 +2948,18 @@ const getMaximizedLegendValues = (attribute, param, params, classified, symbol,
2947
2948
 
2948
2949
  return [...items, other];
2949
2950
  };
2951
+ const classifyParamsReduce = (symbol, classifyParams, index) => {
2952
+ return classifyParams == null ? void 0 : classifyParams.reduce((result, classified) => {
2953
+ const param = get(symbol, classified);
2954
+ return (param == null ? void 0 : param.type) === 'byAttribute' ? _extends({}, result, {
2955
+ [classified]: _extends({
2956
+ index
2957
+ }, param)
2958
+ }) : result;
2959
+ }, {});
2960
+ };
2950
2961
  const getClassified = layerInfo => {
2951
- var _layerInfo$style2, _layerInfo$style2$chi;
2962
+ var _layerInfo$style2, _layerInfo$style2$chi, _layerInfo$style4, _layerInfo$style5;
2952
2963
 
2953
2964
  if ((_layerInfo$style2 = layerInfo.style) != null && (_layerInfo$style2$chi = _layerInfo$style2.children) != null && _layerInfo$style2$chi.length) {
2954
2965
  var _layerInfo$style3;
@@ -2964,14 +2975,17 @@ const getClassified = layerInfo => {
2964
2975
  }
2965
2976
 
2966
2977
  const classifyParams = SYMBOL_CLASSIFICATION[layerInfo.geometryType];
2967
- return classifyParams == null ? void 0 : classifyParams.reduce((result, classified) => {
2968
- var _layerInfo$style4;
2969
2978
 
2970
- const param = get((_layerInfo$style4 = layerInfo.style) == null ? void 0 : _layerInfo$style4.symbol, classified);
2971
- return (param == null ? void 0 : param.type) === 'byAttribute' ? _extends({}, result, {
2972
- [classified]: param
2973
- }) : result;
2974
- }, {});
2979
+ if ((_layerInfo$style4 = layerInfo.style) != null && _layerInfo$style4.symbol && isCombinedPolylineSymbol(layerInfo.style.symbol)) {
2980
+ var _layerInfo$style$symb;
2981
+
2982
+ if (!((_layerInfo$style$symb = layerInfo.style.symbol.values) != null && _layerInfo$style$symb.length)) return undefined;
2983
+ return layerInfo.style.symbol.values.reduce((result, polyline, index) => {
2984
+ return _extends({}, result, classifyParamsReduce(polyline, classifyParams, index));
2985
+ }, {});
2986
+ }
2987
+
2988
+ return classifyParamsReduce((_layerInfo$style5 = layerInfo.style) == null ? void 0 : _layerInfo$style5.symbol, classifyParams);
2975
2989
  };
2976
2990
  const getSymbolStrokeWidth = symbol => {
2977
2991
  var _symbol$background;
@@ -3147,7 +3161,7 @@ const DEFAULT_CLUSTER_SVG = "\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox
3147
3161
  const SYMBOL_CLASSIFICATION = {
3148
3162
  [api.GeometryType.Polygon]: ['fill.color', 'stroke.color', 'stroke.width'],
3149
3163
  [api.GeometryType.Polyline]: ['stroke.color', 'stroke.width'],
3150
- [api.GeometryType.Point]: ['angle', 'size', 'fill.color', 'fillColor', 'background.fillColor', 'background.strokeColor', 'background.strokeWidth', 'figure.fillColor', 'figure.strokeColor', 'figure.strokeWidth', 'singleObjectSymbol.figure.fillColor', 'singleObjectSymbol.figure.strokeColor', 'singleObjectSymbol.figure.strokeWidth', 'singleObjectSymbol.background.fillColor', 'singleObjectSymbol.background.strokeColor', 'singleObjectSymbol.background.strokeWidth']
3164
+ [api.GeometryType.Point]: ['angle', 'size', 'fill.color', 'fillColor', 'background.fillColor', 'background.strokeColor', 'background.strokeWidth', 'figure.fillColor', 'figure.strokeColor', 'figure.strokeWidth', 'singleObjectSymbol.size', 'singleObjectSymbol.figure.fillColor', 'singleObjectSymbol.figure.strokeColor', 'singleObjectSymbol.figure.strokeWidth', 'singleObjectSymbol.background.fillColor', 'singleObjectSymbol.background.strokeColor', 'singleObjectSymbol.background.strokeWidth']
3151
3165
  };
3152
3166
  const SYMBOL_LIMITS = {
3153
3167
  SIZE_MIN: 1,
@@ -5867,7 +5881,7 @@ const Fullscreen = () => {
5867
5881
  }));
5868
5882
  };
5869
5883
 
5870
- var _templateObject$4, _templateObject2$4, _templateObject3$3, _templateObject4$3, _templateObject5$3, _templateObject6$2, _templateObject7$2, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38;
5884
+ var _templateObject$4, _templateObject2$4, _templateObject3$3, _templateObject4$3, _templateObject5$3, _templateObject6$2, _templateObject7$2, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39;
5871
5885
  const MapLegendDescription = /*#__PURE__*/styled__default.div(_templateObject$4 || (_templateObject$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 0.75rem;\n"])));
5872
5886
  const ItemText = /*#__PURE__*/styled__default.div(_templateObject2$4 || (_templateObject2$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: calc(100% - 2rem);\n font: ", ";\n"])), _ref => {
5873
5887
  let {
@@ -5918,53 +5932,75 @@ const MapLegendControl = /*#__PURE__*/styled__default(MapControl)(_templateObjec
5918
5932
  const MapLegendContainer = /*#__PURE__*/styled__default.div(_templateObject9$1 || (_templateObject9$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n padding-bottom: 1rem;\n box-sizing: border-box;\n\n canvas {\n height: 1.625rem;\n width: 1.625rem;\n }\n"])));
5919
5933
  const MapLegendHeader = /*#__PURE__*/styled__default.div(_templateObject10$1 || (_templateObject10$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: 15rem;\n margin-bottom: 0.25rem;\n font-size: 0.75rem;\n font-weight: bold;\n"])));
5920
5934
  const MapLegendDescriptionContainer = /*#__PURE__*/styled__default.div(_templateObject11$1 || (_templateObject11$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-bottom: 0.5rem;\n font-weight: 400;\n font-size: 0.625rem;\n color: rgba(48, 69, 79, 0.65);\n"])));
5921
- const MaximizedLegendContainer = /*#__PURE__*/styled__default.div(_templateObject12$1 || (_templateObject12$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: ", ";\n top: 0;\n opacity: ", ";\n visibility: ", ";\n overflow: hidden;\n transition: opacity 0.5s, visibility 0.5s;\n"])), _ref8 => {
5935
+ const MapLegendBadge = /*#__PURE__*/styled__default.span(_templateObject12$1 || (_templateObject12$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n min-width: 0.5rem;\n height: 0.75rem;\n display: inline-block;\n margin-left: 0.25rem;\n padding: 0.125rem 0.25rem;\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n text-align: center;\n"])), _ref8 => {
5922
5936
  let {
5923
- isShown
5937
+ theme: {
5938
+ borderRadius
5939
+ }
5924
5940
  } = _ref8;
5925
- return isShown ? 'relative' : 'absolute';
5941
+ return borderRadius.xSmall;
5926
5942
  }, _ref9 => {
5927
5943
  let {
5928
- isShown
5944
+ theme: {
5945
+ palette
5946
+ }
5929
5947
  } = _ref9;
5930
- return isShown ? 1 : 0;
5948
+ return palette.element;
5931
5949
  }, _ref10 => {
5932
5950
  let {
5933
- isShown
5951
+ theme: {
5952
+ palette
5953
+ }
5934
5954
  } = _ref10;
5955
+ return palette.textPrimary;
5956
+ });
5957
+ const MaximizedLegendContainer = /*#__PURE__*/styled__default.div(_templateObject13$1 || (_templateObject13$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: ", ";\n top: 0;\n opacity: ", ";\n visibility: ", ";\n overflow: hidden;\n transition: opacity 0.5s, visibility 0.5s;\n"])), _ref11 => {
5958
+ let {
5959
+ isShown
5960
+ } = _ref11;
5961
+ return isShown ? 'relative' : 'absolute';
5962
+ }, _ref12 => {
5963
+ let {
5964
+ isShown
5965
+ } = _ref12;
5966
+ return isShown ? 1 : 0;
5967
+ }, _ref13 => {
5968
+ let {
5969
+ isShown
5970
+ } = _ref13;
5935
5971
  return isShown ? 'visible' : 'hidden';
5936
5972
  });
5937
- const MinimizedLegendContainer = /*#__PURE__*/styled__default(MaximizedLegendContainer)(_templateObject13$1 || (_templateObject13$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: calc(100% - 1.5rem);\n padding-right: 1.5rem;\n"])));
5938
- const LegendHeaderButton = /*#__PURE__*/styled__default.span(_templateObject14$1 || (_templateObject14$1 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
5939
- const MapLegendSectionContainer = /*#__PURE__*/styled__default.div(_templateObject15$1 || (_templateObject15$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 100%;\n\n :not(:last-child) {\n margin-bottom: 1rem;\n }\n\n ", " {\n padding-left: 0.75rem;\n visibility: hidden;\n\n :first-child {\n padding-left: 1rem;\n }\n\n :last-child {\n margin-left: 0.75rem;\n border-left: 1px ", " solid;\n }\n }\n \n :hover {\n ", " {\n visibility: visible;\n }\n }\n"])), LegendHeaderButton, _ref11 => {
5973
+ const MinimizedLegendContainer = /*#__PURE__*/styled__default(MaximizedLegendContainer)(_templateObject14$1 || (_templateObject14$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: calc(100% - 1.5rem);\n padding-right: 1.5rem;\n"])));
5974
+ const LegendHeaderButton = /*#__PURE__*/styled__default.span(_templateObject15$1 || (_templateObject15$1 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
5975
+ const MapLegendSectionContainer = /*#__PURE__*/styled__default.div(_templateObject16$1 || (_templateObject16$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 100%;\n\n :not(:last-child) {\n margin-bottom: 1rem;\n }\n\n ", " {\n padding-left: 0.75rem;\n visibility: hidden;\n\n :first-child {\n padding-left: 1rem;\n }\n\n :last-child {\n margin-left: 0.75rem;\n border-left: 1px ", " solid;\n }\n }\n \n :hover {\n ", " {\n visibility: visible;\n }\n }\n"])), LegendHeaderButton, _ref14 => {
5940
5976
  let {
5941
5977
  theme: {
5942
5978
  palette
5943
5979
  }
5944
- } = _ref11;
5980
+ } = _ref14;
5945
5981
  return palette.elementDeep;
5946
5982
  }, LegendHeaderButton);
5947
- const MapLegendSectionItems = /*#__PURE__*/styled__default.div(_templateObject16$1 || (_templateObject16$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n height: ", "px;\n overflow: ", ";\n transition: height 0.5s;\n"])), _ref12 => {
5983
+ const MapLegendSectionItems = /*#__PURE__*/styled__default.div(_templateObject17 || (_templateObject17 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n height: ", "px;\n overflow: ", ";\n transition: height 0.5s;\n"])), _ref15 => {
5948
5984
  let {
5949
5985
  minHeight,
5950
5986
  maxHeight,
5951
5987
  isExpanded
5952
- } = _ref12;
5988
+ } = _ref15;
5953
5989
  return isExpanded ? (maxHeight || 0) + 4 : minHeight;
5954
- }, _ref13 => {
5990
+ }, _ref16 => {
5955
5991
  let {
5956
5992
  isExpanded
5957
- } = _ref13;
5993
+ } = _ref16;
5958
5994
  return isExpanded ? 'none' : 'hidden';
5959
5995
  });
5960
- const MapLegendValueDescr = /*#__PURE__*/styled__default.div(_templateObject17 || (_templateObject17 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n min-height: 1rem;\n margin-bottom: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n"])));
5996
+ const MapLegendValueDescr = /*#__PURE__*/styled__default.div(_templateObject18 || (_templateObject18 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n min-height: 1rem;\n margin-bottom: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1rem;\n"])));
5961
5997
 
5962
5998
  const SizeLegendItemMixin = function SizeLegendItemMixin(value) {
5963
5999
  if (value === void 0) {
5964
6000
  value = 0;
5965
6001
  }
5966
6002
 
5967
- return styled.css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n position: absolute;\n bottom: 0;\n left: 50%;\n display: flex;\n align-items: flex-end;\n flex: none;\n height: inherit;\n width: inherit;\n margin: 0 auto;\n background: none;\n border: none;\n\n :after {\n content: '';\n display: flex;\n border: 1px rgba(48, 69, 79, 0.28) solid;\n border-radius: 50%;\n margin: 0 0 0 -", "px;\n width: ", "px;\n height: ", "px;\n }\n"])), value / 2, value, value);
6003
+ return styled.css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n position: absolute;\n bottom: 0;\n left: 50%;\n display: flex;\n align-items: flex-end;\n flex: none;\n height: inherit;\n width: inherit;\n margin: 0 auto;\n background: none;\n border: none;\n\n :after {\n content: '';\n display: flex;\n border: 1px rgba(48, 69, 79, 0.28) solid;\n border-radius: 50%;\n margin: 0 0 0 -", "px;\n width: ", "px;\n height: ", "px;\n }\n"])), value / 2, value, value);
5968
6004
  };
5969
6005
 
5970
6006
  const StrokeWidthLegendItemMixin = function StrokeWidthLegendItemMixin(value) {
@@ -5972,80 +6008,80 @@ const StrokeWidthLegendItemMixin = function StrokeWidthLegendItemMixin(value) {
5972
6008
  value = 0;
5973
6009
  }
5974
6010
 
5975
- return styled.css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n position: relative;\n background: none;\n border: none;\n display: flex;\n align-items: center;\n flex: none;\n width: calc(100% - 2rem);\n height: ", "px;\n margin: 0 0 0.25rem 0;\n padding-left: 2rem;\n font-size: 0.75rem;\n\n :first-child,\n :last-child {\n height: auto;\n }\n\n :after {\n content: '';\n position: absolute;\n top: 50%;\n left: 0;\n width: 1.5rem;\n height: ", "px;\n margin-top: -", "px;\n background: rgb(224, 224, 224);\n }\n"])), value, value, Math.round(value / 2));
6011
+ return styled.css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n position: relative;\n background: none;\n border: none;\n display: flex;\n align-items: center;\n flex: none;\n width: calc(100% - 2rem);\n height: ", "px;\n margin: 0 0 0.25rem 0;\n padding-left: 2rem;\n font-size: 0.75rem;\n\n :first-child,\n :last-child {\n height: auto;\n }\n\n :after {\n content: '';\n position: absolute;\n top: 50%;\n left: 0;\n width: 1.5rem;\n height: ", "px;\n margin-top: -", "px;\n background: rgb(224, 224, 224);\n }\n"])), value, value, Math.round(value / 2));
5976
6012
  };
5977
6013
 
5978
- const StrokeColorLegendItemMixin = /*#__PURE__*/styled.css(_templateObject20 || (_templateObject20 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-right: 0.5rem;\n width: 1.5rem;\n"])));
5979
- const MapLegendItem = /*#__PURE__*/styled__default.div(_templateObject21 || (_templateObject21 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n flex: 1;\n height: ", "rem;\n background: ", ";\n border: 1px rgba(48, 69, 79, 0.1) solid;\n margin-right: -1px;\n color: rgba(48, 69, 79, 0.65);\n opacity: ", ";\n\n ", "\n\n ", "\n"])), _ref14 => {
6014
+ const StrokeColorLegendItemMixin = /*#__PURE__*/styled.css(_templateObject21 || (_templateObject21 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-right: 0.5rem;\n width: 1.5rem;\n"])));
6015
+ const MapLegendItem = /*#__PURE__*/styled__default.div(_templateObject22 || (_templateObject22 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n flex: 1;\n height: ", "rem;\n background: ", ";\n border: 1px rgba(48, 69, 79, 0.1) solid;\n margin-right: -1px;\n color: rgba(48, 69, 79, 0.65);\n opacity: ", ";\n\n ", "\n\n ", "\n"])), _ref17 => {
5980
6016
  let {
5981
6017
  parameter
5982
- } = _ref14;
6018
+ } = _ref17;
5983
6019
  return isParameterType(['strokeColor', 'stroke.color'], parameter) ? 0.25 : 1;
5984
- }, _ref15 => {
6020
+ }, _ref18 => {
5985
6021
  let {
5986
6022
  value
5987
- } = _ref15;
6023
+ } = _ref18;
5988
6024
  return typeof value === 'number' ? 'none' : value;
5989
- }, _ref16 => {
6025
+ }, _ref19 => {
5990
6026
  let {
5991
6027
  isHidden
5992
- } = _ref16;
6028
+ } = _ref19;
5993
6029
  return isHidden ? 0.28 : 1;
5994
- }, _ref17 => {
6030
+ }, _ref20 => {
5995
6031
  let {
5996
6032
  value,
5997
6033
  parameter
5998
- } = _ref17;
6034
+ } = _ref20;
5999
6035
  return isParameterType('size', parameter) && SizeLegendItemMixin(value);
6000
- }, _ref18 => {
6036
+ }, _ref21 => {
6001
6037
  let {
6002
6038
  value,
6003
6039
  parameter
6004
- } = _ref18;
6040
+ } = _ref21;
6005
6041
  return isParameterType(['strokeWidth', 'stroke.width'], parameter) && StrokeWidthLegendItemMixin(value);
6006
6042
  });
6007
- const MapLegendOther = /*#__PURE__*/styled__default(MapLegendItem)(_templateObject22 || (_templateObject22 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex: none;\n position: relative;\n width: 1rem;\n margin-left: 0.25rem;\n border-radius: 0.125rem;\n"])));
6008
- const SizeLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject23 || (_templateObject23 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: 2rem;\n height: 2rem;\n margin: 0 auto;\n\n ", " {\n width: auto;\n margin-left: 0;\n }\n"])), MapLegendOther);
6009
- const StrokeWidthLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject24 || (_templateObject24 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n flex-direction: column;\n width: auto;\n\n ", " {\n width: calc(100% - 2rem);\n margin-left: 0;\n }\n"])), MapLegendOther);
6010
- const SizeMinimizedLegend = /*#__PURE__*/styled__default.div(_templateObject25 || (_templateObject25 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n margin: 0.5rem 0 0.25rem;\n"])));
6011
- const SizeMinimizedLegendSymbol = /*#__PURE__*/styled__default.div(_templateObject26 || (_templateObject26 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 4rem;\n margin-right: 0.75rem;\n"])));
6012
- const SizeMinimizedLegendLabel = /*#__PURE__*/styled__default.div(_templateObject27 || (_templateObject27 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: 9.75rem;\n font-size: 0.75rem;\n"])));
6013
- const SizeMinimizedLegendDown = /*#__PURE__*/styled__default.div(_templateObject28 || (_templateObject28 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: rgba(48, 69, 79, 0.65);\n"])));
6014
- const SizeMinimizedLegendUp = /*#__PURE__*/styled__default(SizeMinimizedLegendDown)(_templateObject29 || (_templateObject29 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
6015
- const SingleSizeLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject30 || (_templateObject30 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 4rem;\n margin-right: 0.75rem;\n\n ", ":after {\n margin: 0 auto;\n }\n"])), MapLegendItem);
6016
- const SingleLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject31 || (_templateObject31 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n justify-content: center;\n width: 2rem;\n height: auto;\n margin: 0;\n ", "\n\n ", " {\n position: relative;\n top: 0;\n left: 0;\n display: flex;\n align-content: center;\n justify-content: center;\n margin: 0;\n height: auto;\n width: auto;\n\n ", "\n }\n"])), _ref19 => {
6043
+ const MapLegendOther = /*#__PURE__*/styled__default(MapLegendItem)(_templateObject23 || (_templateObject23 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex: none;\n position: relative;\n width: 1rem;\n margin-left: 0.25rem;\n border-radius: 0.125rem;\n"])));
6044
+ const SizeLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject24 || (_templateObject24 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: 2rem;\n height: 2rem;\n margin: 0 auto;\n\n ", " {\n width: auto;\n margin-left: 0;\n }\n"])), MapLegendOther);
6045
+ const StrokeWidthLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject25 || (_templateObject25 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n flex-direction: column;\n width: auto;\n\n ", " {\n width: calc(100% - 2rem);\n margin-left: 0;\n }\n"])), MapLegendOther);
6046
+ const SizeMinimizedLegend = /*#__PURE__*/styled__default.div(_templateObject26 || (_templateObject26 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n margin: 0.5rem 0 0.25rem;\n"])));
6047
+ const SizeMinimizedLegendSymbol = /*#__PURE__*/styled__default.div(_templateObject27 || (_templateObject27 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 4rem;\n margin-right: 0.75rem;\n"])));
6048
+ const SizeMinimizedLegendLabel = /*#__PURE__*/styled__default.div(_templateObject28 || (_templateObject28 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: 9.75rem;\n font-size: 0.75rem;\n"])));
6049
+ const SizeMinimizedLegendDown = /*#__PURE__*/styled__default.div(_templateObject29 || (_templateObject29 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: rgba(48, 69, 79, 0.65);\n"])));
6050
+ const SizeMinimizedLegendUp = /*#__PURE__*/styled__default(SizeMinimizedLegendDown)(_templateObject30 || (_templateObject30 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
6051
+ const SingleSizeLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject31 || (_templateObject31 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 4rem;\n margin-right: 0.75rem;\n\n ", ":after {\n margin: 0 auto;\n }\n"])), MapLegendItem);
6052
+ const SingleLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject32 || (_templateObject32 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n justify-content: center;\n width: 2rem;\n height: auto;\n margin: 0;\n ", "\n\n ", " {\n position: relative;\n top: 0;\n left: 0;\n display: flex;\n align-content: center;\n justify-content: center;\n margin: 0;\n height: auto;\n width: auto;\n\n ", "\n }\n"])), _ref22 => {
6017
6053
  let {
6018
6054
  isSize
6019
- } = _ref19;
6055
+ } = _ref22;
6020
6056
  return isSize && SingleSizeLegendItemsMixin;
6021
- }, MapLegendItem, _ref20 => {
6057
+ }, MapLegendItem, _ref23 => {
6022
6058
  let {
6023
6059
  parameter
6024
- } = _ref20;
6060
+ } = _ref23;
6025
6061
  return isParameterType(['strokeColor', 'stroke.color'], parameter) && StrokeColorLegendItemMixin;
6026
6062
  });
6027
- const MapLegendItems = /*#__PURE__*/styled__default.div(_templateObject32 || (_templateObject32 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: 0.125rem;\n\n ", ";\n ", ";\n ", ";\n"])), _ref21 => {
6063
+ const MapLegendItems = /*#__PURE__*/styled__default.div(_templateObject33 || (_templateObject33 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: 0.125rem;\n\n ", ";\n ", ";\n ", ";\n"])), _ref24 => {
6028
6064
  let {
6029
6065
  isSize
6030
- } = _ref21;
6066
+ } = _ref24;
6031
6067
  return isSize && SizeLegendItemsMixin;
6032
- }, _ref22 => {
6068
+ }, _ref25 => {
6033
6069
  let {
6034
6070
  isStrokeWidth
6035
- } = _ref22;
6071
+ } = _ref25;
6036
6072
  return isStrokeWidth && StrokeWidthLegendItemsMixin;
6037
- }, _ref23 => {
6073
+ }, _ref26 => {
6038
6074
  let {
6039
6075
  isSingle
6040
- } = _ref23;
6076
+ } = _ref26;
6041
6077
  return isSingle && SingleLegendItemsMixin;
6042
6078
  });
6043
- const MapLegendItemsContainer = /*#__PURE__*/styled__default.div(_templateObject33 || (_templateObject33 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n\n ", " {\n :first-child {\n border-top-left-radius: 0.125rem;\n border-bottom-left-radius: 0.125rem;\n }\n\n :last-child {\n border-top-right-radius: 0.125rem;\n border-bottom-right-radius: 0.125rem;\n }\n }\n"])), MapLegendItem);
6044
- const MapLegendValues = /*#__PURE__*/styled__default.div(_templateObject34 || (_templateObject34 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n margin-top: 0.5rem;\n font-size: 0.75rem;\n color: rgba(48, 69, 79, 0.65);\n"])));
6045
- const MapLegendValuesRange = /*#__PURE__*/styled__default.div(_templateObject35 || (_templateObject35 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n width: calc(100% - 1.25rem);\n\n div {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n\n :first-child {\n margin-right: 0.5rem;\n }\n\n :last-child {\n margin-left: 0.5rem;\n text-align: right;\n }\n }\n"])));
6046
- const MapLegendValuesOther = /*#__PURE__*/styled__default(MapLegendOther)(_templateObject36 || (_templateObject36 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n justify-content: center;\n border: 0;\n overflow: visible;\n"])));
6047
- const MapLegendExpandButton = /*#__PURE__*/styled__default.div(_templateObject37 || (_templateObject37 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n margin-top: 0.1rem;\n font-size: 0.625rem;\n color: #1fb3aa;\n"])));
6048
- const ClusterLegendContainer = /*#__PURE__*/styled__default.div(_templateObject38 || (_templateObject38 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: -0.9rem;\n transform: scale(0.5);\n"])));
6079
+ const MapLegendItemsContainer = /*#__PURE__*/styled__default.div(_templateObject34 || (_templateObject34 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n\n ", " {\n :first-child {\n border-top-left-radius: 0.125rem;\n border-bottom-left-radius: 0.125rem;\n }\n\n :last-child {\n border-top-right-radius: 0.125rem;\n border-bottom-right-radius: 0.125rem;\n }\n }\n"])), MapLegendItem);
6080
+ const MapLegendValues = /*#__PURE__*/styled__default.div(_templateObject35 || (_templateObject35 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n margin-top: 0.5rem;\n font-size: 0.75rem;\n color: rgba(48, 69, 79, 0.65);\n"])));
6081
+ const MapLegendValuesRange = /*#__PURE__*/styled__default.div(_templateObject36 || (_templateObject36 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n width: calc(100% - 1.25rem);\n\n div {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n\n :first-child {\n margin-right: 0.5rem;\n }\n\n :last-child {\n margin-left: 0.5rem;\n text-align: right;\n }\n }\n"])));
6082
+ const MapLegendValuesOther = /*#__PURE__*/styled__default(MapLegendOther)(_templateObject37 || (_templateObject37 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n justify-content: center;\n border: 0;\n overflow: visible;\n"])));
6083
+ const MapLegendExpandButton = /*#__PURE__*/styled__default.div(_templateObject38 || (_templateObject38 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n margin-top: 0.1rem;\n font-size: 0.625rem;\n color: #1fb3aa;\n"])));
6084
+ const ClusterLegendContainer = /*#__PURE__*/styled__default.div(_templateObject39 || (_templateObject39 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: -0.9rem;\n transform: scale(0.5);\n"])));
6049
6085
 
6050
6086
  const useSvgSymbol = (symbol, skipOffset, isClassified) => {
6051
6087
  const SVGWrapperRefElement = React.useRef(null);
@@ -6414,12 +6450,13 @@ const LegendChildren = _ref => {
6414
6450
 
6415
6451
  const LegendParameterDescription = _ref => {
6416
6452
  let {
6417
- parameter
6453
+ parameter,
6454
+ index
6418
6455
  } = _ref;
6419
6456
  const isSize = isParameterType("size", parameter);
6420
6457
  const isStrokeWidth = isParameterType(["strokeWidth", "stroke.width"], parameter);
6421
6458
  const isStrokeColor = isParameterType(["strokeColor", "stroke.color"], parameter);
6422
- return React__default.createElement(MapLegendDescriptionContainer, null, isStrokeWidth || isStrokeColor ? isStrokeWidth ? "Толщина обводки" : "Цвет обводки" : isSize ? "Размер знака" : "Цвет символа");
6459
+ return React__default.createElement(MapLegendDescriptionContainer, null, isStrokeWidth || isStrokeColor ? isStrokeWidth ? "Толщина обводки" : "Цвет обводки" : isSize ? "Размер знака" : "Цвет символа", !!index && React__default.createElement(MapLegendBadge, null, index));
6423
6460
  };
6424
6461
 
6425
6462
  const getValueFromLegendTitle = (title, minOrMax) => {
@@ -6532,6 +6569,7 @@ const MaximizedLegend = _ref => {
6532
6569
  } = _ref2;
6533
6570
  if (!symbol) return null;
6534
6571
  const isClusterFillColor$1 = isClusterFillColor(symbol, parameter);
6572
+ const value = getParameterValue(parameterValue == null ? void 0 : (_parameterValue$value = parameterValue.values[index]) == null ? void 0 : _parameterValue$value.value) || (parameterValue == null ? void 0 : parameterValue.defaultValue);
6535
6573
  return React__default.createElement(ClassifiedItem, {
6536
6574
  key: sectionIndex + title + index,
6537
6575
  isHidden: isHiddenLegend(hiddenCondition, hiddenLegends),
@@ -6546,7 +6584,7 @@ const MaximizedLegend = _ref => {
6546
6584
  }, React__default.createElement(MapLegendItem, {
6547
6585
  key: "" + title + index,
6548
6586
  title: title,
6549
- value: (parameterValue == null ? void 0 : (_parameterValue$value = parameterValue.values[(parameterValue == null ? void 0 : parameterValue.values.length) - index - 1]) == null ? void 0 : _parameterValue$value.value) || (parameterValue == null ? void 0 : parameterValue.defaultValue),
6587
+ value: value,
6550
6588
  parameter: parameter
6551
6589
  })) : React__default.createElement(SymbolContainer, null, React__default.createElement(LegendSymbolRenderer, {
6552
6590
  index: index,
@@ -6578,12 +6616,14 @@ const LegendSection = _ref => {
6578
6616
  goToClassification,
6579
6617
  attribute,
6580
6618
  formatValue,
6581
- index
6619
+ index,
6620
+ count
6582
6621
  } = _ref;
6583
6622
  const [isExpanded, toggleExpanded] = useToggle();
6584
6623
  const [maxRef, maxNode] = useNode();
6585
6624
  const [minRef, minNode] = useNode();
6586
6625
  if (!layerName || !attribute) return null;
6626
+ const currentSymbol = isCombinedPolylineSymbol(symbol) ? symbol.values[index] : symbol;
6587
6627
  return React__default.createElement(MapLegendSectionContainer, {
6588
6628
  hasHiddenLegends: !!(hiddenLegends != null && (_hiddenLegends$layerN = hiddenLegends[layerName]) != null && _hiddenLegends$layerN.length)
6589
6629
  }, React__default.createElement(MapLegendHeader, null, attribute.alias || attribute.name, React__default.createElement(LegendHeaderButtons, {
@@ -6592,7 +6632,8 @@ const LegendSection = _ref => {
6592
6632
  clearHiddenLegends: clearHiddenLegends,
6593
6633
  goToClassification: goToClassification
6594
6634
  })), React__default.createElement(LegendParameterDescription, {
6595
- parameter: parameter
6635
+ parameter: parameter,
6636
+ index: count && index !== undefined ? count - index : 0
6596
6637
  }), React__default.createElement(MapLegendSectionItems, {
6597
6638
  minHeight: minNode == null ? void 0 : minNode.offsetHeight,
6598
6639
  maxHeight: maxNode == null ? void 0 : maxNode.offsetHeight,
@@ -6601,13 +6642,13 @@ const LegendSection = _ref => {
6601
6642
  innerRef: maxRef,
6602
6643
  isShown: isExpanded,
6603
6644
  layerName: layerName,
6604
- symbol: symbol,
6645
+ symbol: currentSymbol,
6605
6646
  hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
6606
6647
  toggleHiddenLegend: toggleHiddenLegend,
6607
6648
  parameter: parameter,
6608
6649
  attributeType: attribute.type,
6609
6650
  index: index,
6610
- values: getMaximizedLegendValues(attribute, parameter, parameters, classified, symbol, formatValue, index, 'Другое')
6651
+ values: getMaximizedLegendValues(attribute, parameter, parameters, classified, currentSymbol, formatValue, index, 'Другое')
6611
6652
  }), React__default.createElement(MinimizedLegend, {
6612
6653
  innerRef: minRef,
6613
6654
  isShown: !isExpanded,
@@ -6645,28 +6686,58 @@ const Legend = /*#__PURE__*/React.memo(_ref => {
6645
6686
  }
6646
6687
 
6647
6688
  const attributes = getLayerAttributes(layerInfo.layerDefinition);
6648
- const classified = getClassified(layerInfo);
6649
- if (!classified) return null;
6650
- const parameters = Object.keys(classified);
6651
- return React__default.createElement(MapLegendContainer, null, Object.keys(classified).map((param, index) => {
6652
- var _layerInfo$style2, _classified$param, _classified$param$val;
6689
+ const renderItems = React.useMemo(() => {
6690
+ var _layerInfo$style2, _layerInfo$style3;
6653
6691
 
6654
- return React__default.createElement(LegendSection, Object.assign({
6655
- key: index,
6692
+ const parameters = SYMBOL_CLASSIFICATION[layerInfo.geometryType];
6693
+ const props = {
6656
6694
  layerName: layerInfo.name,
6657
6695
  symbol: (_layerInfo$style2 = layerInfo.style) == null ? void 0 : _layerInfo$style2.symbol,
6658
- attribute: getConditionAttribute(attributes, (_classified$param = classified[param]) == null ? void 0 : (_classified$param$val = _classified$param.values[0]) == null ? void 0 : _classified$param$val.condition),
6659
- classified: classified[param],
6660
- parameter: param,
6661
6696
  parameters: parameters,
6662
- index: index,
6663
6697
  formatValue: formatValue,
6664
6698
  hiddenLegends: hiddenLegends,
6665
6699
  toggleHiddenLegend: toggleHiddenLegend,
6666
6700
  clearHiddenLegends: clearHiddenLegends,
6667
6701
  goToClassification: goToClassification
6668
- }, rest));
6669
- }));
6702
+ };
6703
+
6704
+ if ((_layerInfo$style3 = layerInfo.style) != null && _layerInfo$style3.symbol && isCombinedPolylineSymbol(layerInfo.style.symbol)) {
6705
+ var _layerInfo$style4, _layerInfo$style4$sym, _layerInfo$style4$sym2;
6706
+
6707
+ const values = (_layerInfo$style4 = layerInfo.style) == null ? void 0 : (_layerInfo$style4$sym = _layerInfo$style4.symbol) == null ? void 0 : (_layerInfo$style4$sym2 = _layerInfo$style4$sym.values) == null ? void 0 : _layerInfo$style4$sym2.reduce((result, symbol, index) => {
6708
+ return [classifyParamsReduce(symbol, parameters, index), ...result];
6709
+ }, []);
6710
+ return React__default.createElement(React__default.Fragment, null, values == null ? void 0 : values.map((value, index) => Object.keys(value).map((param, keyIndex) => {
6711
+ var _item$values$;
6712
+
6713
+ const item = value[param];
6714
+ return React__default.createElement(LegendSection, Object.assign({
6715
+ key: [keyIndex, index].join("-"),
6716
+ index: item == null ? void 0 : item.index,
6717
+ count: values == null ? void 0 : values.length,
6718
+ attribute: getConditionAttribute(attributes, item == null ? void 0 : (_item$values$ = item.values[0]) == null ? void 0 : _item$values$.condition),
6719
+ parameter: param,
6720
+ classified: item
6721
+ }, props, rest));
6722
+ })));
6723
+ }
6724
+
6725
+ const classified = getClassified(layerInfo);
6726
+ if (!classified) return null;
6727
+ return React__default.createElement(React__default.Fragment, null, Object.keys(classified).map((param, keyIndex) => {
6728
+ var _item$values$2;
6729
+
6730
+ const item = classified[param];
6731
+ return React__default.createElement(LegendSection, Object.assign({
6732
+ key: [keyIndex, item.index].join("-"),
6733
+ index: item.index,
6734
+ attribute: getConditionAttribute(attributes, item == null ? void 0 : (_item$values$2 = item.values[0]) == null ? void 0 : _item$values$2.condition),
6735
+ parameter: param,
6736
+ classified: item
6737
+ }, props, rest));
6738
+ }));
6739
+ }, [layerInfo, formatValue, hiddenLegends, toggleHiddenLegend, clearHiddenLegends, goToClassification]);
6740
+ return React__default.createElement(MapLegendContainer, null, renderItems);
6670
6741
  });
6671
6742
 
6672
6743
  const Map = _ref => {
@@ -7148,6 +7219,7 @@ exports.LineMiterRender = LineMiterRender;
7148
7219
  exports.Map = Map;
7149
7220
  exports.MapControl = MapControl;
7150
7221
  exports.MapControls = MapControls;
7222
+ exports.MapLegendBadge = MapLegendBadge;
7151
7223
  exports.MapLegendContainer = MapLegendContainer;
7152
7224
  exports.MapLegendControl = MapLegendControl;
7153
7225
  exports.MapLegendDescription = MapLegendDescription;
@@ -7219,6 +7291,7 @@ exports.adjustSymbol = adjustSymbol;
7219
7291
  exports.applyParameterValue = applyParameterValue;
7220
7292
  exports.checkLayerHasLegend = checkLayerHasLegend;
7221
7293
  exports.clamp = clamp;
7294
+ exports.classifyParamsReduce = classifyParamsReduce;
7222
7295
  exports.convertSvgToBase64 = convertSvgToBase64;
7223
7296
  exports.copyRings = copyRings;
7224
7297
  exports.createCompositeSymbol = createCompositeSymbol;
@@ -7286,6 +7359,7 @@ exports.isCalculatedParameter = isCalculatedParameter;
7286
7359
  exports.isCircleLineMiter = isCircleLineMiter;
7287
7360
  exports.isClusterFillColor = isClusterFillColor;
7288
7361
  exports.isClusterSymbol = isClusterSymbol;
7362
+ exports.isCombinedPolylineSymbol = isCombinedPolylineSymbol;
7289
7363
  exports.isCompositeSymbol = isCompositeSymbol;
7290
7364
  exports.isDashedBrush = isDashedBrush;
7291
7365
  exports.isFilledLineMitter = isFilledLineMitter;