@evergis/react 2.0.189 → 2.0.191

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.
@@ -58,7 +58,6 @@ var styled = require('styled-components');
58
58
  var styled__default = _interopDefault(styled);
59
59
  var punycode = _interopDefault(require('punycode'));
60
60
  var TileLayer$1 = require('@evergis/sgis/es/layers/TileLayer');
61
- var reactI18next = require('react-i18next');
62
61
  var svg_js = require('@svgdotjs/svg.js');
63
62
  var Color = require('@evergis/color/es/Color');
64
63
 
@@ -2501,10 +2500,10 @@ let FilterCondition = /*#__PURE__*/function () {
2501
2500
  return FilterCondition;
2502
2501
  }();
2503
2502
 
2504
- const isLayerService = value => isObject(value) && "name" in value;
2503
+ const isLayerService = value => isObject(value) && 'name' in value;
2505
2504
  const getAttributeFromCondition = condition => {
2506
- const parts = condition.split(" ");
2507
- return parts[0].startsWith("(") ? parts[0].slice(1) : parts[0];
2505
+ const parts = condition.split(' ');
2506
+ return parts[0].startsWith('(') ? parts[0].slice(1) : parts[0];
2508
2507
  };
2509
2508
  const getExprFromCondition = (condition, partIndex) => {
2510
2509
  var _expr;
@@ -2512,13 +2511,13 @@ const getExprFromCondition = (condition, partIndex) => {
2512
2511
  let expr;
2513
2512
 
2514
2513
  if (partIndex) {
2515
- const parts = condition.split(" && ").map(part => part.slice(1, -1));
2514
+ const parts = condition.split(' && ').map(part => part.slice(1, -1));
2516
2515
  expr = parts[partIndex - 1];
2517
2516
  } else {
2518
2517
  expr = condition;
2519
2518
  }
2520
2519
 
2521
- return (_expr = expr) == null ? void 0 : _expr.split(" ");
2520
+ return (_expr = expr) == null ? void 0 : _expr.split(' ');
2522
2521
  };
2523
2522
  const getSignFromConditionPart = (condition, partIndex) => {
2524
2523
  var _getExprFromCondition;
@@ -2530,7 +2529,7 @@ const getValueFromConditionPart = (condition, partIndex) => {
2530
2529
 
2531
2530
  return (_getExprFromCondition2 = getExprFromCondition(condition, partIndex)) == null ? void 0 : _getExprFromCondition2[2];
2532
2531
  };
2533
- const isRangeCondition = condition => condition.includes("(");
2532
+ const isRangeCondition = condition => condition.includes('(');
2534
2533
  const getSymbolParameterInfo = parameter => {
2535
2534
  return PARAMETER_INFOS[parameter] || DEFAULT_PARAMETER_INFO;
2536
2535
  };
@@ -2554,8 +2553,8 @@ const getRangeValues$1 = (_ref, isDouble, isDate, index) => {
2554
2553
  const formatRangeClassValue = (value, formatValue, index) => {
2555
2554
  var _value$attribute, _value$attribute2, _value$attribute3, _value$attribute4, _value$attribute5, _value$attribute6;
2556
2555
 
2557
- const isDouble = ((_value$attribute = value.attribute) == null ? void 0 : _value$attribute.type) === "Double";
2558
- const isDate = ((_value$attribute2 = value.attribute) == null ? void 0 : _value$attribute2.type) === "DateTime";
2556
+ const isDouble = ((_value$attribute = value.attribute) == null ? void 0 : _value$attribute.type) === 'Double';
2557
+ const isDate = ((_value$attribute2 = value.attribute) == null ? void 0 : _value$attribute2.type) === 'DateTime';
2559
2558
  const {
2560
2559
  from,
2561
2560
  to
@@ -2564,11 +2563,11 @@ const formatRangeClassValue = (value, formatValue, index) => {
2564
2563
  const formattedTo = formatValue ? formatValue((_value$attribute5 = value.attribute) == null ? void 0 : _value$attribute5.type, to, (_value$attribute6 = value.attribute) == null ? void 0 : _value$attribute6.stringFormat) : to;
2565
2564
 
2566
2565
  if (from === null) {
2567
- return "" + formattedTo + (!isDate ? " и менее" : "");
2566
+ return "" + formattedTo + (!isDate ? ' и менее' : '');
2568
2567
  }
2569
2568
 
2570
2569
  if (to === null) {
2571
- return "" + (!isDate ? "более " : "") + formattedFrom;
2570
+ return "" + (!isDate ? 'более ' : '') + formattedFrom;
2572
2571
  }
2573
2572
 
2574
2573
  return from === to ? "" + formattedFrom : formattedFrom + " - " + formattedTo;
@@ -2580,13 +2579,13 @@ const checkLayerHasLegend = layerInfo => {
2580
2579
  var _layerInfo$style;
2581
2580
 
2582
2581
  const paramValue = get((_layerInfo$style = layerInfo.style) == null ? void 0 : _layerInfo$style.symbol, param);
2583
- return (paramValue == null ? void 0 : paramValue.type) === "byAttribute";
2582
+ return (paramValue == null ? void 0 : paramValue.type) === 'byAttribute';
2584
2583
  })) || false;
2585
2584
  };
2586
2585
  const getTitleFromCondition = condition => {
2587
2586
  var _parts$;
2588
2587
 
2589
- const parts = condition.split(" == ");
2588
+ const parts = condition.split(' == ');
2590
2589
  return (_parts$ = parts[1]) == null ? void 0 : _parts$.slice(1, -1);
2591
2590
  };
2592
2591
 
@@ -2597,12 +2596,12 @@ function createValueTitle$1(paramValue, attribute, formatValue, index) {
2597
2596
  attribute
2598
2597
  };
2599
2598
  const sign = getSignFromConditionPart(paramValue.condition, 1);
2600
- const isFirstFrom = sign.includes(">");
2599
+ const isFirstFrom = sign.includes('>');
2601
2600
  value.from = isFirstFrom ? getValueFromConditionPart(paramValue.condition, 1) : null;
2602
- value.to = paramValue.condition.includes(" && ") && isFirstFrom ? getValueFromConditionPart(paramValue.condition, 2) : !isFirstFrom ? getValueFromConditionPart(paramValue.condition, 1) : null;
2601
+ value.to = paramValue.condition.includes(' && ') && isFirstFrom ? getValueFromConditionPart(paramValue.condition, 2) : !isFirstFrom ? getValueFromConditionPart(paramValue.condition, 1) : null;
2603
2602
  if (isRangeClass(value)) return formatRangeClassValue(value, formatValue, index);
2604
2603
  if (isUniqueClass(value)) return formatUniqueClassValue(value, formatValue);
2605
- return "";
2604
+ return '';
2606
2605
  } // Основывается на http://cf.everpoint.ru/pages/viewpage.action?pageId=45024217 ->
2607
2606
  // пункт "Настраиваемые значения параметров символики в системе"
2608
2607
  // Для добавления подготовленных значений размеров символов нужно использовать константу PREPARED_SYMBOL_SIZES
@@ -2612,37 +2611,37 @@ const DEFAULT_LEGEND_STYLES = {
2612
2611
  [0
2613
2612
  /* Point */
2614
2613
  ]: {
2615
- fillColor: "#00000047",
2614
+ fillColor: '#00000047',
2616
2615
  strokeWidth: 1,
2617
- strokeColor: "#0000001f"
2616
+ strokeColor: '#0000001f'
2618
2617
  },
2619
2618
  [1
2620
2619
  /* ImagePoint */
2621
2620
  ]: {
2622
- maskedColor: "#00000047"
2621
+ maskedColor: '#00000047'
2623
2622
  },
2624
2623
  [2
2625
2624
  /* Line */
2626
2625
  ]: {
2627
2626
  stroke: {
2628
2627
  width: 2,
2629
- color: "#00000047"
2628
+ color: '#00000047'
2630
2629
  }
2631
2630
  },
2632
2631
  [3
2633
2632
  /* Polygon */
2634
2633
  ]: {
2635
2634
  fill: {
2636
- color: "#00000000",
2637
- hatchColor: "#00000000"
2635
+ color: '#00000000',
2636
+ hatchColor: '#00000000'
2638
2637
  },
2639
2638
  stroke: {
2640
2639
  width: 1,
2641
- color: "#0000001f"
2640
+ color: '#0000001f'
2642
2641
  }
2643
2642
  }
2644
2643
  };
2645
- const SYMBOL_SIZE_PARAMETERS = ["size", "width", "height"]; // Основывается на http://cf.everpoint.ru/pages/viewpage.action?pageId=45024217 -> пункт "Библиотека символов"
2644
+ const SYMBOL_SIZE_PARAMETERS = ['size', 'width', 'height']; // Основывается на http://cf.everpoint.ru/pages/viewpage.action?pageId=45024217 -> пункт "Библиотека символов"
2646
2645
 
2647
2646
  const DEFAULT_LEGEND_SIZES = {
2648
2647
  circlePointSymbol: 8,
@@ -2672,16 +2671,16 @@ const updateSymbolParameter = (symbol, path, value) => symbolParameterWalker(()
2672
2671
 
2673
2672
  const createPointSymbol = (baseSymbol, parameter, classificationsParams, parameterValue) => {
2674
2673
  return updateSymbolParameter(_extends({}, baseSymbol, {
2675
- fillColor: getNonClassifiedParamValue(baseSymbol, "fillColor", classificationsParams, 0
2674
+ fillColor: getNonClassifiedParamValue(baseSymbol, 'fillColor', classificationsParams, 0
2676
2675
  /* Point */
2677
2676
  ),
2678
- strokeColor: getNonClassifiedParamValue(baseSymbol, "strokeColor", classificationsParams, 0
2677
+ strokeColor: getNonClassifiedParamValue(baseSymbol, 'strokeColor', classificationsParams, 0
2679
2678
  /* Point */
2680
2679
  ),
2681
- strokeWidth: getNonClassifiedParamValue(baseSymbol, "strokeWidth", classificationsParams, 0
2680
+ strokeWidth: getNonClassifiedParamValue(baseSymbol, 'strokeWidth', classificationsParams, 0
2682
2681
  /* Point */
2683
2682
  ),
2684
- size: getNonClassifiedParamValue(baseSymbol, "size", classificationsParams, 0
2683
+ size: getNonClassifiedParamValue(baseSymbol, 'size', classificationsParams, 0
2685
2684
  /* Point */
2686
2685
  ),
2687
2686
  offset: [0, 0]
@@ -2718,12 +2717,12 @@ const createImagePointSymbol = (baseSymbol, parameter, classificationsParams, pa
2718
2717
  let symbol = _extends({}, baseSymbol);
2719
2718
 
2720
2719
  if (isMaskedImageSymbol(symbol)) {
2721
- symbol.maskedColor = getNonClassifiedParamValue(baseSymbol, "maskedColor", classificationsParams, 1
2720
+ symbol.maskedColor = getNonClassifiedParamValue(baseSymbol, 'maskedColor', classificationsParams, 1
2722
2721
  /* ImagePoint */
2723
2722
  );
2724
2723
  }
2725
2724
 
2726
- if (parameter === "height" || parameter === "width") {
2725
+ if (parameter === 'height' || parameter === 'width') {
2727
2726
  const {
2728
2727
  height,
2729
2728
  width
@@ -2731,7 +2730,7 @@ const createImagePointSymbol = (baseSymbol, parameter, classificationsParams, pa
2731
2730
  symbol.height = height;
2732
2731
  symbol.width = width;
2733
2732
  } else {
2734
- symbol.width = getNonClassifiedParamValue(baseSymbol, "width", classificationsParams, 1
2733
+ symbol.width = getNonClassifiedParamValue(baseSymbol, 'width', classificationsParams, 1
2735
2734
  /* ImagePoint */
2736
2735
  );
2737
2736
  symbol.height = symbol.width;
@@ -2744,12 +2743,12 @@ const createImagePointSymbol = (baseSymbol, parameter, classificationsParams, pa
2744
2743
 
2745
2744
  const createLineSymbol = (baseSymbol, parameter, classificationsParams, parameterValue) => {
2746
2745
  return updateSymbolParameter(_extends({}, baseSymbol, {
2747
- type: "polylineSymbol",
2746
+ type: 'polylineSymbol',
2748
2747
  stroke: {
2749
- color: getNonClassifiedParamValue(baseSymbol, "stroke.color", classificationsParams, 2
2748
+ color: getNonClassifiedParamValue(baseSymbol, 'stroke.color', classificationsParams, 2
2750
2749
  /* Line */
2751
2750
  ),
2752
- width: getNonClassifiedParamValue(baseSymbol, "stroke.width", classificationsParams, 2
2751
+ width: getNonClassifiedParamValue(baseSymbol, 'stroke.width', classificationsParams, 2
2753
2752
  /* Line */
2754
2753
  )
2755
2754
  }
@@ -2759,18 +2758,18 @@ const createLineSymbol = (baseSymbol, parameter, classificationsParams, paramete
2759
2758
  const createPolygonSymbol = (baseSymbol, parameter, classificationsParams, parameterValue) => {
2760
2759
  return updateSymbolParameter(_extends({}, baseSymbol, {
2761
2760
  fill: {
2762
- color: getNonClassifiedParamValue(baseSymbol, "fill.color", classificationsParams, 3
2761
+ color: getNonClassifiedParamValue(baseSymbol, 'fill.color', classificationsParams, 3
2763
2762
  /* Polygon */
2764
2763
  ),
2765
- hatchColor: getNonClassifiedParamValue(baseSymbol, "fill.hatchColor", classificationsParams, 3
2764
+ hatchColor: getNonClassifiedParamValue(baseSymbol, 'fill.hatchColor', classificationsParams, 3
2766
2765
  /* Polygon */
2767
2766
  )
2768
2767
  },
2769
2768
  stroke: {
2770
- color: getNonClassifiedParamValue(baseSymbol, "stroke.color", classificationsParams, 3
2769
+ color: getNonClassifiedParamValue(baseSymbol, 'stroke.color', classificationsParams, 3
2771
2770
  /* Polygon */
2772
2771
  ),
2773
- width: getNonClassifiedParamValue(baseSymbol, "stroke.width", classificationsParams, 3
2772
+ width: getNonClassifiedParamValue(baseSymbol, 'stroke.width', classificationsParams, 3
2774
2773
  /* Polygon */
2775
2774
  )
2776
2775
  }
@@ -2780,29 +2779,37 @@ const createPolygonSymbol = (baseSymbol, parameter, classificationsParams, param
2780
2779
  const createH3Symbol = (baseSymbol, parameter, classificationsParams, parameterValue) => {
2781
2780
  return updateSymbolParameter(_extends({}, baseSymbol, {
2782
2781
  fill: {
2783
- color: getNonClassifiedParamValue(baseSymbol, "fill.color", classificationsParams, 3
2782
+ color: getNonClassifiedParamValue(baseSymbol, 'fill.color', classificationsParams, 3
2784
2783
  /* Polygon */
2785
2784
  )
2786
2785
  },
2787
2786
  stroke: {
2788
- color: getNonClassifiedParamValue(baseSymbol, "stroke.color", classificationsParams, 3
2787
+ color: getNonClassifiedParamValue(baseSymbol, 'stroke.color', classificationsParams, 3
2789
2788
  /* Polygon */
2790
2789
  ),
2791
- width: getNonClassifiedParamValue(baseSymbol, "stroke.width", classificationsParams, 3
2790
+ width: getNonClassifiedParamValue(baseSymbol, 'stroke.width', classificationsParams, 3
2792
2791
  /* Polygon */
2793
2792
  )
2794
2793
  }
2795
2794
  }), parameter, parameterValue);
2796
2795
  };
2797
2796
 
2797
+ const createClusterSymbol = (baseSymbol, parameter, classificationsParams, parameterValue) => {
2798
+ return updateSymbolParameter(_extends({}, baseSymbol, {
2799
+ fillColor: getNonClassifiedParamValue(baseSymbol, 'fillColor', classificationsParams, 0
2800
+ /* Point */
2801
+ )
2802
+ }), parameter, parameterValue);
2803
+ };
2804
+
2798
2805
  const createLegendSymbol = (parameterValue, parameter, classificationsParams, baseSymbol) => {
2799
2806
  if (isParameterValueSymbol(parameterValue)) {
2800
2807
  return parameterValue;
2801
2808
  }
2802
- /* if (isClusterSymbol(baseSymbol)) {
2803
- return createClusterSymbol(baseSymbol, parameter, classificationsParams, parameterValue);
2804
- }*/
2805
2809
 
2810
+ if (isClusterSymbol(baseSymbol)) {
2811
+ return createClusterSymbol(baseSymbol, parameter, classificationsParams, parameterValue);
2812
+ }
2806
2813
 
2807
2814
  if (isSizableSymbol(baseSymbol)) {
2808
2815
  return createPointSymbol(baseSymbol, parameter, classificationsParams, parameterValue);
@@ -2937,7 +2944,7 @@ const getClassified = layerInfo => {
2937
2944
  var _layerInfo$style2;
2938
2945
 
2939
2946
  const param = get((_layerInfo$style2 = layerInfo.style) == null ? void 0 : _layerInfo$style2.symbol, classified);
2940
- return (param == null ? void 0 : param.type) === "byAttribute" ? _extends({}, result, {
2947
+ return (param == null ? void 0 : param.type) === 'byAttribute' ? _extends({}, result, {
2941
2948
  [classified]: param
2942
2949
  }) : result;
2943
2950
  }, {});
@@ -2975,7 +2982,7 @@ const getLegendSymbolSize = symbol => {
2975
2982
  }
2976
2983
 
2977
2984
  if (isPolylineSymbols(symbol)) {
2978
- size = getParameterValue(getParameterFromSymbol(symbol, "stroke.width"));
2985
+ size = getParameterValue(getParameterFromSymbol(symbol, 'stroke.width'));
2979
2986
  }
2980
2987
 
2981
2988
  return Math.max(DEFAULT_LEGEND_SYMBOL_SIZE, size);
@@ -2987,13 +2994,13 @@ const serializeSvgPointSymbol = symbol => {
2987
2994
  const figureFillColor = ((_symbol$figure = symbol.figure) == null ? void 0 : _symbol$figure.fillColor) || null;
2988
2995
  const bgFillColor = ((_symbol$background2 = symbol.background) == null ? void 0 : _symbol$background2.fillColor) || null;
2989
2996
  return _extends({
2990
- type: "svgPointSymbol",
2997
+ type: 'svgPointSymbol',
2991
2998
  size: symbol.size,
2992
2999
  offset: symbol.offset,
2993
3000
  angle: symbol.angle
2994
3001
  }, bgFillColor ? {
2995
3002
  background: {
2996
- id: "symbol-bg",
3003
+ id: 'symbol-bg',
2997
3004
  fillColor: bgFillColor,
2998
3005
  strokeColor: ((_symbol$background3 = symbol.background) == null ? void 0 : _symbol$background3.strokeColor) || null,
2999
3006
  strokeWidth: ((_symbol$background4 = symbol.background) == null ? void 0 : _symbol$background4.strokeWidth) || null,
@@ -3001,35 +3008,35 @@ const serializeSvgPointSymbol = symbol => {
3001
3008
  }
3002
3009
  } : {}, figureFillColor ? {
3003
3010
  figure: {
3004
- id: "symbol-figure",
3011
+ id: 'symbol-figure',
3005
3012
  fillColor: figureFillColor
3006
3013
  }
3007
3014
  } : {});
3008
3015
  };
3009
- const SIZE_PARAMETERS = ["size", "height", "strokeWidth", "stroke.width"];
3016
+ const SIZE_PARAMETERS = ['size', 'height', 'strokeWidth', 'stroke.width'];
3010
3017
  const isSizeClassification = parameter => SIZE_PARAMETERS.includes(parameter);
3011
3018
  const getServiceConfiguration = layer => {
3012
3019
  const emptyServiceConfiguration = {
3013
- name: ""
3020
+ name: ''
3014
3021
  };
3015
- if (!isLayerService(layer) || !("configuration" in layer)) return emptyServiceConfiguration;
3022
+ if (!isLayerService(layer) || !('configuration' in layer)) return emptyServiceConfiguration;
3016
3023
  return _extends({}, emptyServiceConfiguration, layer.configuration || {});
3017
3024
  };
3018
3025
  /** default attribute name which use for geometry info */
3019
3026
 
3020
- const GEOMETRY_ATTRIBUTE = "geometry";
3027
+ const GEOMETRY_ATTRIBUTE = 'geometry';
3021
3028
  /** default attribute name which contains unique id info */
3022
3029
 
3023
- const DEFAULT_ID_ATTRIBUTE_NAME = "gid";
3030
+ const DEFAULT_ID_ATTRIBUTE_NAME = 'gid';
3024
3031
  const getAttributesConfiguration = layer => {
3025
3032
  const serviceConfiguration = getServiceConfiguration(layer);
3026
3033
  const emptyAttributesConfiguration = {
3027
3034
  geometryAttribute: GEOMETRY_ATTRIBUTE,
3028
3035
  idAttribute: DEFAULT_ID_ATTRIBUTE_NAME,
3029
- tableName: ""
3036
+ tableName: ''
3030
3037
  };
3031
3038
 
3032
- if (!serviceConfiguration || !("attributesConfiguration" in serviceConfiguration)) {
3039
+ if (!serviceConfiguration || !('attributesConfiguration' in serviceConfiguration)) {
3033
3040
  return emptyAttributesConfiguration;
3034
3041
  }
3035
3042
 
@@ -3045,10 +3052,10 @@ const getLayerDefinition = layer => {
3045
3052
  geometryAttribute: geometryAttribute,
3046
3053
  idAttribute,
3047
3054
  geometryType: api.GeometryType.Unknown,
3048
- titleAttribute: ""
3055
+ titleAttribute: ''
3049
3056
  };
3050
3057
 
3051
- if (!isLayerService(layer) || !("layerDefinition" in layer)) {
3058
+ if (!isLayerService(layer) || !('layerDefinition' in layer)) {
3052
3059
  return emptyLayerDefinition;
3053
3060
  }
3054
3061
 
@@ -3108,13 +3115,14 @@ const DEFAULT_LEGEND_SYMBOL_SIZE = 26;
3108
3115
  const EXTRA_BORDER_SIZE = 4;
3109
3116
  const DEFAULT_SYMBOL_SIZE = 20;
3110
3117
  const DEFAULT_SYMBOL_WITH_BG_SIZE = 24;
3111
- const DEFAULT_SYMBOL_FILL_COLOR = "rgba(0, 163, 245, 1)";
3112
- const DEFAULT_SYMBOL_STROKE_COLOR = "rgb(255, 255, 255)";
3118
+ const DEFAULT_SYMBOL_FILL_COLOR = 'rgba(0, 163, 245, 1)';
3119
+ const DEFAULT_SYMBOL_STROKE_COLOR = 'rgb(255, 255, 255)';
3113
3120
  const DEFAULT_SYMBOL_OFFSET = [0, 0];
3121
+ const DEFAULT_CLUSTER_SVG = "\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 56 56\" width=\"56px\" height=\"56px\">\n <circle cx=\"28\" cy=\"28\" r=\"22\" fill=\"#00AAFF\" stroke=\"#00AAFF\" stroke-opacity=\"0.28\" stroke-width=\"12\" id=\"symbol-bg\" />\n</svg>\n";
3114
3122
  const SYMBOL_CLASSIFICATION = {
3115
- [api.GeometryType.Polygon]: ["fill.color", "stroke.color", "stroke.width"],
3116
- [api.GeometryType.Polyline]: ["stroke.color", "stroke.width"],
3117
- [api.GeometryType.Point]: ["angle", "background.fillColor", "background.strokeColor", "background.strokeWidth", "figure.fillColor", "size"]
3123
+ [api.GeometryType.Polygon]: ['fill.color', 'stroke.color', 'stroke.width'],
3124
+ [api.GeometryType.Polyline]: ['stroke.color', 'stroke.width'],
3125
+ [api.GeometryType.Point]: ['angle', 'size', 'fill.color', 'fillColor', 'background.fillColor', 'background.strokeColor', 'background.strokeWidth', 'figure.fillColor', 'singleObjectSymbol.figure.fillColor', 'singleObjectSymbol.background.fillColor']
3118
3126
  };
3119
3127
  const SYMBOL_LIMITS = {
3120
3128
  SIZE_MIN: 1,
@@ -3157,22 +3165,22 @@ const PARAMETER_INFOS = {
3157
3165
  })
3158
3166
  };
3159
3167
  const OPERATOR_CONDITION_REMAP = {
3160
- [exports.ComparisonOperator.Equals]: "==",
3161
- [exports.ComparisonOperator.NotEquals]: "!=",
3162
- [exports.ComparisonOperator.GreaterThan]: ">",
3163
- [exports.ComparisonOperator.GreaterOrEquals]: ">=",
3164
- [exports.ComparisonOperator.LessThan]: "<",
3165
- [exports.ComparisonOperator.LessOrEquals]: "<=",
3166
- [exports.ComparisonOperator.Filled]: "!=",
3167
- [exports.ComparisonOperator.Empty]: "==",
3168
- [exports.ComparisonOperator.Contains]: "==",
3169
- [exports.ComparisonOperator.NotContains]: "!=",
3170
- [exports.ComparisonOperator.StartsWith]: "==",
3171
- [exports.ComparisonOperator.NotStartsWith]: "!=",
3172
- [exports.ComparisonOperator.EndsWith]: "==",
3173
- [exports.ComparisonOperator.NotEndsWith]: "!=",
3174
- [exports.ComparisonOperator.Between]: "between",
3175
- [exports.ComparisonOperator.Outside]: "!between"
3168
+ [exports.ComparisonOperator.Equals]: '==',
3169
+ [exports.ComparisonOperator.NotEquals]: '!=',
3170
+ [exports.ComparisonOperator.GreaterThan]: '>',
3171
+ [exports.ComparisonOperator.GreaterOrEquals]: '>=',
3172
+ [exports.ComparisonOperator.LessThan]: '<',
3173
+ [exports.ComparisonOperator.LessOrEquals]: '<=',
3174
+ [exports.ComparisonOperator.Filled]: '!=',
3175
+ [exports.ComparisonOperator.Empty]: '==',
3176
+ [exports.ComparisonOperator.Contains]: '==',
3177
+ [exports.ComparisonOperator.NotContains]: '!=',
3178
+ [exports.ComparisonOperator.StartsWith]: '==',
3179
+ [exports.ComparisonOperator.NotStartsWith]: '!=',
3180
+ [exports.ComparisonOperator.EndsWith]: '==',
3181
+ [exports.ComparisonOperator.NotEndsWith]: '!=',
3182
+ [exports.ComparisonOperator.Between]: 'between',
3183
+ [exports.ComparisonOperator.Outside]: '!between'
3176
3184
  };
3177
3185
  const BASE_OPERATORS = [exports.ComparisonOperator.Equals, exports.ComparisonOperator.NotEquals];
3178
3186
  const CONTAINS_OPERATORS = [exports.ComparisonOperator.Contains, exports.ComparisonOperator.NotContains];
@@ -5790,7 +5798,7 @@ const Fullscreen = () => {
5790
5798
  }));
5791
5799
  };
5792
5800
 
5793
- 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;
5801
+ 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;
5794
5802
  const MapLegendDescription = /*#__PURE__*/styled__default.div(_templateObject$4 || (_templateObject$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 0.75rem;\n"])));
5795
5803
  const ItemText = /*#__PURE__*/styled__default.div(_templateObject2$4 || (_templateObject2$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: calc(100% - 2rem);\n font: ", ";\n"])), _ref => {
5796
5804
  let {
@@ -5800,18 +5808,18 @@ const ItemText = /*#__PURE__*/styled__default.div(_templateObject2$4 || (_templa
5800
5808
  } = _ref;
5801
5809
  return fonts.description;
5802
5810
  });
5803
- const ItemSeparator = /*#__PURE__*/styled__default.div(_templateObject3$3 || (_templateObject3$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :after {\n content: \"-\";\n margin: 0 0.5rem;\n font-size: 0.75rem;\n }\n"])));
5804
- const SymbolContainer = /*#__PURE__*/styled__default("span")(_templateObject4$3 || (_templateObject4$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n min-width: 16px;\n margin-right: 0.5rem;\n"])));
5811
+ const ItemSeparator = /*#__PURE__*/styled__default.div(_templateObject3$3 || (_templateObject3$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :after {\n content: '-';\n margin: 0 0.5rem;\n font-size: 0.75rem;\n }\n"])));
5812
+ const SymbolContainer = /*#__PURE__*/styled__default('span')(_templateObject4$3 || (_templateObject4$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n min-width: 16px;\n margin-right: 0.5rem;\n"])));
5805
5813
  const ClassifiedItem = /*#__PURE__*/styled__default.div(_templateObject5$3 || (_templateObject5$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: ", ";\n pointer-events: ", ";\n\n :not(:last-of-type) {\n margin-bottom: 0.25rem;\n }\n\n ", ", ", " {\n transition: opacity 150ms;\n }\n\n ", " {\n opacity: ", ";\n }\n\n ", " {\n opacity: ", ";\n }\n\n :hover {\n ", ", ", " {\n opacity: 1;\n }\n }\n"])), _ref2 => {
5806
5814
  let {
5807
5815
  isClusterFillColor
5808
5816
  } = _ref2;
5809
- return isClusterFillColor ? "default" : "pointer";
5817
+ return isClusterFillColor ? 'default' : 'pointer';
5810
5818
  }, _ref3 => {
5811
5819
  let {
5812
5820
  isClusterFillColor
5813
5821
  } = _ref3;
5814
- return isClusterFillColor ? "none" : "auto";
5822
+ return isClusterFillColor ? 'none' : 'auto';
5815
5823
  }, ItemText, SymbolContainer, ItemText, _ref4 => {
5816
5824
  let {
5817
5825
  isHidden
@@ -5845,7 +5853,7 @@ const MaximizedLegendContainer = /*#__PURE__*/styled__default.div(_templateObjec
5845
5853
  let {
5846
5854
  isShown
5847
5855
  } = _ref8;
5848
- return isShown ? "relative" : "absolute";
5856
+ return isShown ? 'relative' : 'absolute';
5849
5857
  }, _ref9 => {
5850
5858
  let {
5851
5859
  isShown
@@ -5855,15 +5863,22 @@ const MaximizedLegendContainer = /*#__PURE__*/styled__default.div(_templateObjec
5855
5863
  let {
5856
5864
  isShown
5857
5865
  } = _ref10;
5858
- return isShown ? "visible" : "hidden";
5866
+ return isShown ? 'visible' : 'hidden';
5859
5867
  });
5860
5868
  const MinimizedLegendContainer = /*#__PURE__*/styled__default(MaximizedLegendContainer)(_templateObject13$1 || (_templateObject13$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: calc(100% - 1.5rem);\n padding-right: 1.5rem;\n"])));
5861
- const MapLegendSectionContainer = /*#__PURE__*/styled__default.div(_templateObject14$1 || (_templateObject14$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 100%;\n \n :not(:last-child) {\n margin-bottom: 1rem;\n }\n"])));
5862
- const MapLegendSectionItems = /*#__PURE__*/styled__default.div(_templateObject15$1 || (_templateObject15$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n height: ", "px;\n overflow: hidden;\n transition: height 0.5s;\n"])), _ref11 => {
5869
+ const MapLegendSectionContainer = /*#__PURE__*/styled__default.div(_templateObject14$1 || (_templateObject14$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 100%;\n\n :not(:last-child) {\n margin-bottom: 1rem;\n }\n"])));
5870
+ const MapLegendSectionItems = /*#__PURE__*/styled__default.div(_templateObject15$1 || (_templateObject15$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n height: ", "px;\n overflow: ", ";\n transition: height 0.5s;\n"])), _ref11 => {
5863
5871
  let {
5864
- height
5872
+ minHeight,
5873
+ maxHeight,
5874
+ isExpanded
5865
5875
  } = _ref11;
5866
- return height;
5876
+ return isExpanded ? (maxHeight || 0) + 4 : minHeight;
5877
+ }, _ref12 => {
5878
+ let {
5879
+ isExpanded
5880
+ } = _ref12;
5881
+ return isExpanded ? 'none' : 'hidden';
5867
5882
  });
5868
5883
  const MapLegendValueDescr = /*#__PURE__*/styled__default.div(_templateObject16$1 || (_templateObject16$1 = /*#__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"])));
5869
5884
 
@@ -5872,7 +5887,7 @@ const SizeLegendItemMixin = function SizeLegendItemMixin(value) {
5872
5887
  value = 0;
5873
5888
  }
5874
5889
 
5875
- return styled.css(_templateObject17 || (_templateObject17 = _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);
5890
+ return styled.css(_templateObject17 || (_templateObject17 = _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);
5876
5891
  };
5877
5892
 
5878
5893
  const StrokeWidthLegendItemMixin = function StrokeWidthLegendItemMixin(value) {
@@ -5880,79 +5895,80 @@ const StrokeWidthLegendItemMixin = function StrokeWidthLegendItemMixin(value) {
5880
5895
  value = 0;
5881
5896
  }
5882
5897
 
5883
- return styled.css(_templateObject18 || (_templateObject18 = _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, :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));
5898
+ return styled.css(_templateObject18 || (_templateObject18 = _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));
5884
5899
  };
5885
5900
 
5886
5901
  const StrokeColorLegendItemMixin = /*#__PURE__*/styled.css(_templateObject19 || (_templateObject19 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-right: 0.5rem;\n width: 1.5rem;\n"])));
5887
- const MapLegendItem = /*#__PURE__*/styled__default.div(_templateObject20 || (_templateObject20 = /*#__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"])), _ref12 => {
5902
+ const MapLegendItem = /*#__PURE__*/styled__default.div(_templateObject20 || (_templateObject20 = /*#__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"])), _ref13 => {
5888
5903
  let {
5889
5904
  parameter
5890
- } = _ref12;
5891
- return isParameterType(["strokeColor", "stroke.color"], parameter) ? 0.25 : 1;
5892
- }, _ref13 => {
5893
- let {
5894
- value
5895
5905
  } = _ref13;
5896
- return typeof value === "number" ? "none" : value;
5906
+ return isParameterType(['strokeColor', 'stroke.color'], parameter) ? 0.25 : 1;
5897
5907
  }, _ref14 => {
5898
5908
  let {
5899
- isHidden
5909
+ value
5900
5910
  } = _ref14;
5901
- return isHidden ? 0.28 : 1;
5911
+ return typeof value === 'number' ? 'none' : value;
5902
5912
  }, _ref15 => {
5903
5913
  let {
5904
- value,
5905
- parameter
5914
+ isHidden
5906
5915
  } = _ref15;
5907
- return isParameterType("size", parameter) && SizeLegendItemMixin(value);
5916
+ return isHidden ? 0.28 : 1;
5908
5917
  }, _ref16 => {
5909
5918
  let {
5910
5919
  value,
5911
5920
  parameter
5912
5921
  } = _ref16;
5913
- return isParameterType(["strokeWidth", "stroke.width"], parameter) && StrokeWidthLegendItemMixin(value);
5922
+ return isParameterType('size', parameter) && SizeLegendItemMixin(value);
5923
+ }, _ref17 => {
5924
+ let {
5925
+ value,
5926
+ parameter
5927
+ } = _ref17;
5928
+ return isParameterType(['strokeWidth', 'stroke.width'], parameter) && StrokeWidthLegendItemMixin(value);
5914
5929
  });
5915
5930
  const MapLegendOther = /*#__PURE__*/styled__default(MapLegendItem)(_templateObject21 || (_templateObject21 = /*#__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"])));
5916
5931
  const SizeLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject22 || (_templateObject22 = /*#__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);
5917
5932
  const StrokeWidthLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject23 || (_templateObject23 = /*#__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);
5918
5933
  const SizeMinimizedLegend = /*#__PURE__*/styled__default.div(_templateObject24 || (_templateObject24 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n margin: 0.5rem 0 0.25rem;\n"])));
5919
5934
  const SizeMinimizedLegendSymbol = /*#__PURE__*/styled__default.div(_templateObject25 || (_templateObject25 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 4rem;\n margin-right: 0.75rem;\n"])));
5920
- const SizeMinimizedLegendLabel = /*#__PURE__*/styled__default.div(_templateObject26 || (_templateObject26 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 0.75rem;\n"])));
5935
+ const SizeMinimizedLegendLabel = /*#__PURE__*/styled__default.div(_templateObject26 || (_templateObject26 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n max-width: 9.75rem;\n font-size: 0.75rem;\n"])));
5921
5936
  const SizeMinimizedLegendDown = /*#__PURE__*/styled__default.div(_templateObject27 || (_templateObject27 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: rgba(48, 69, 79, 0.65);\n"])));
5922
5937
  const SizeMinimizedLegendUp = /*#__PURE__*/styled__default(SizeMinimizedLegendDown)(_templateObject28 || (_templateObject28 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
5923
5938
  const SingleSizeLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject29 || (_templateObject29 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 4rem;\n margin-right: 0.75rem;\n\n ", ":after {\n margin: 0 auto;\n }\n"])), MapLegendItem);
5924
- const SingleLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject30 || (_templateObject30 = /*#__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"])), _ref17 => {
5939
+ const SingleLegendItemsMixin = /*#__PURE__*/styled.css(_templateObject30 || (_templateObject30 = /*#__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"])), _ref18 => {
5925
5940
  let {
5926
5941
  isSize
5927
- } = _ref17;
5942
+ } = _ref18;
5928
5943
  return isSize && SingleSizeLegendItemsMixin;
5929
- }, MapLegendItem, _ref18 => {
5944
+ }, MapLegendItem, _ref19 => {
5930
5945
  let {
5931
5946
  parameter
5932
- } = _ref18;
5933
- return isParameterType(["strokeColor", "stroke.color"], parameter) && StrokeColorLegendItemMixin;
5947
+ } = _ref19;
5948
+ return isParameterType(['strokeColor', 'stroke.color'], parameter) && StrokeColorLegendItemMixin;
5934
5949
  });
5935
- const MapLegendItems = /*#__PURE__*/styled__default.div(_templateObject31 || (_templateObject31 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: 0.125rem;\n\n ", ";\n ", ";\n ", ";\n"])), _ref19 => {
5950
+ const MapLegendItems = /*#__PURE__*/styled__default.div(_templateObject31 || (_templateObject31 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: 0.125rem;\n\n ", ";\n ", ";\n ", ";\n"])), _ref20 => {
5936
5951
  let {
5937
5952
  isSize
5938
- } = _ref19;
5953
+ } = _ref20;
5939
5954
  return isSize && SizeLegendItemsMixin;
5940
- }, _ref20 => {
5955
+ }, _ref21 => {
5941
5956
  let {
5942
5957
  isStrokeWidth
5943
- } = _ref20;
5958
+ } = _ref21;
5944
5959
  return isStrokeWidth && StrokeWidthLegendItemsMixin;
5945
- }, _ref21 => {
5960
+ }, _ref22 => {
5946
5961
  let {
5947
5962
  isSingle
5948
- } = _ref21;
5963
+ } = _ref22;
5949
5964
  return isSingle && SingleLegendItemsMixin;
5950
5965
  });
5951
- const MapLegendItemsContainer = /*#__PURE__*/styled__default.div(_templateObject32 || (_templateObject32 = /*#__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);
5966
+ const MapLegendItemsContainer = /*#__PURE__*/styled__default.div(_templateObject32 || (_templateObject32 = /*#__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);
5952
5967
  const MapLegendValues = /*#__PURE__*/styled__default.div(_templateObject33 || (_templateObject33 = /*#__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"])));
5953
- const MapLegendValuesRange = /*#__PURE__*/styled__default.div(_templateObject34 || (_templateObject34 = /*#__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"])));
5968
+ const MapLegendValuesRange = /*#__PURE__*/styled__default.div(_templateObject34 || (_templateObject34 = /*#__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"])));
5954
5969
  const MapLegendValuesOther = /*#__PURE__*/styled__default(MapLegendOther)(_templateObject35 || (_templateObject35 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n justify-content: center;\n border: 0;\n overflow: visible;\n"])));
5955
- const MapLegendExpandButton = /*#__PURE__*/styled__default.div(_templateObject36 || (_templateObject36 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n margin-top: 0.1rem;\n font-size: 0.625rem;\n color: #1FB3AA;\n"])));
5970
+ const MapLegendExpandButton = /*#__PURE__*/styled__default.div(_templateObject36 || (_templateObject36 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n cursor: pointer;\n margin-top: 0.1rem;\n font-size: 0.625rem;\n color: #1fb3aa;\n"])));
5971
+ const ClusterLegendContainer = /*#__PURE__*/styled__default.div(_templateObject37 || (_templateObject37 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: -0.9rem;\n transform: scale(0.5);\n"])));
5956
5972
 
5957
5973
  const getValueFromLegendTitle = (title, minOrMax) => {
5958
5974
  if (title.includes(" - ")) {
@@ -6105,7 +6121,7 @@ const useSvgSymbol = (symbol, skipOffset) => {
6105
6121
 
6106
6122
  var _templateObject$5, _templateObject2$5;
6107
6123
  const SvgSymbolContainer = /*#__PURE__*/styled__default.div(_templateObject$5 || (_templateObject$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n"])));
6108
- const SvgSymbolLabel = /*#__PURE__*/styled__default.div(_templateObject2$5 || (_templateObject2$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n"])), _ref => {
6124
+ const SvgSymbolLabel = /*#__PURE__*/styled__default.div(_templateObject2$5 || (_templateObject2$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n line-height: 0;\n"])), _ref => {
6109
6125
  let {
6110
6126
  fontSettings
6111
6127
  } = _ref;
@@ -6129,7 +6145,7 @@ const SvgSymbolLabel = /*#__PURE__*/styled__default.div(_templateObject2$5 || (_
6129
6145
  let {
6130
6146
  fontSettings
6131
6147
  } = _ref5;
6132
- return !!(fontSettings != null && fontSettings.fontSize) && "font-size: " + (typeof fontSettings.fontSize === "string" ? fontSettings.fontSize : fontSettings.fontSize + "px");
6148
+ return !!(fontSettings != null && fontSettings.fontSize) && "font-size: " + (typeof fontSettings.fontSize === 'string' ? fontSettings.fontSize : fontSettings.fontSize + "px");
6133
6149
  }, _ref6 => {
6134
6150
  let {
6135
6151
  fontSettings
@@ -6212,24 +6228,48 @@ const SymbolByType = _ref => {
6212
6228
  }
6213
6229
  };
6214
6230
 
6231
+ const ClusterSymbolPreview = _ref => {
6232
+ var _symbol$labelSymbol;
6233
+
6234
+ let {
6235
+ symbol,
6236
+ size = 56,
6237
+ fontSize = '1.25rem'
6238
+ } = _ref;
6239
+ const svgSymbol = {
6240
+ type: 'svgPointSymbol',
6241
+ size,
6242
+ offset: [0, 0],
6243
+ angle: 0,
6244
+ background: {
6245
+ id: 'symbol-bg',
6246
+ fillColor: getParameterValue(symbol.fillColor),
6247
+ strokeColor: symbol.strokeColor,
6248
+ strokeWidth: 6,
6249
+ type: 'circle'
6250
+ }
6251
+ };
6252
+ return React__default.createElement(SvgSymbol, {
6253
+ svg: DEFAULT_CLUSTER_SVG,
6254
+ symbol: svgSymbol,
6255
+ text: '99',
6256
+ fontSettings: _extends({}, symbol.labelSymbol, {
6257
+ fontSize: fontSize || ((_symbol$labelSymbol = symbol.labelSymbol) == null ? void 0 : _symbol$labelSymbol.fontSize)
6258
+ })
6259
+ });
6260
+ };
6261
+
6215
6262
  const LegendSymbolRenderer = /*#__PURE__*/React.memo(_ref => {
6216
6263
  let {
6217
6264
  symbol
6218
6265
  } = _ref;
6219
6266
 
6220
- /* return isClusterSymbol(symbol) ? (
6221
- <ClusterLegendContainer>
6222
- <ClusterSymbolPreview symbol={symbol as ClusterSymbolDc} />
6223
- </ClusterLegendContainer>
6224
- ) : (
6225
- <SymbolByType
6226
- symbol={deserializeSymbol(symbol)}
6227
- size={getLegendSymbolSize(symbol) || DEFAULT_LEGEND_SYMBOL_SIZE}
6228
- type={symbol.type}
6229
- svg={(symbol as SvgPointSymbol).data}
6230
- skipOffset
6231
- />
6232
- );*/
6267
+ if (isClusterSymbol(symbol)) {
6268
+ return React__default.createElement(ClusterLegendContainer, null, React__default.createElement(ClusterSymbolPreview, {
6269
+ symbol: symbol
6270
+ }));
6271
+ }
6272
+
6233
6273
  return React__default.createElement(SymbolByType, {
6234
6274
  symbol: deserializeSymbol(symbol),
6235
6275
  size: getLegendSymbolSize(symbol) || DEFAULT_LEGEND_SYMBOL_SIZE,
@@ -6252,16 +6292,13 @@ const MaximizedLegend = _ref => {
6252
6292
  hiddenLegends,
6253
6293
  toggleHiddenLegend
6254
6294
  } = _ref;
6255
- const {
6256
- t
6257
- } = reactI18next.useTranslation("common");
6258
- const isDate = attributeType === "DateTime";
6259
- const isSize = isParameterType("size", parameter);
6260
- const isStrokeWidth = isParameterType(["strokeWidth", "stroke.width"], parameter);
6261
- const isStrokeColor = isParameterType(["strokeColor", "stroke.color"], parameter);
6295
+ const isDate = attributeType === 'DateTime';
6296
+ const isSize = isParameterType('size', parameter);
6297
+ const isStrokeWidth = isParameterType(['strokeWidth', 'stroke.width'], parameter);
6298
+ const isStrokeColor = isParameterType(['strokeColor', 'stroke.color'], parameter);
6262
6299
  const parameterValue = React.useMemo(() => get(sectionSymbol, parameter), [sectionSymbol, parameter]);
6263
6300
  const renderColumn = React.useCallback((column, index) => {
6264
- const dateTime = column.split(" ");
6301
+ const dateTime = column.split(' ');
6265
6302
  return React__default.createElement(React.Fragment, {
6266
6303
  key: index
6267
6304
  }, React__default.createElement(ItemText, {
@@ -6270,10 +6307,10 @@ const MaximizedLegend = _ref => {
6270
6307
  }, []);
6271
6308
  const renderItemText = React.useCallback((title, index) => {
6272
6309
  if (!title) {
6273
- return React__default.createElement(ItemText, null, t("classification.other"));
6310
+ return React__default.createElement(ItemText, null, "\u0414\u0440\u0443\u0433\u043E\u0435");
6274
6311
  }
6275
6312
 
6276
- const columns = title == null ? void 0 : title.split(" - ");
6313
+ const columns = title == null ? void 0 : title.split(' - ');
6277
6314
  const isSingleColumn = (columns == null ? void 0 : columns.length) === 1;
6278
6315
 
6279
6316
  if (!isDate || index && isSingleColumn) {
@@ -6289,7 +6326,7 @@ const MaximizedLegend = _ref => {
6289
6326
  }
6290
6327
 
6291
6328
  return React__default.createElement(React__default.Fragment, null, columns.map(renderColumn));
6292
- }, [isDate, renderColumn, t]);
6329
+ }, [isDate, renderColumn]);
6293
6330
  const isHidden = React.useCallback(hiddenCondition => !!(hiddenLegends != null && hiddenLegends.includes(hiddenCondition)), [hiddenLegends]);
6294
6331
  const renderLegend = React.useCallback((_ref2, index) => {
6295
6332
  var _parameterValue$value;
@@ -6320,7 +6357,7 @@ const MaximizedLegend = _ref => {
6320
6357
  })) : React__default.createElement(SymbolContainer, null, React__default.createElement(LegendSymbolRenderer, {
6321
6358
  symbol: isClusterFillColor$1 ? symbol : getExtractedSymbol(symbol, true)
6322
6359
  })), renderItemText(title, index));
6323
- }, [isSize, isStrokeColor, isStrokeWidth, parameter, parameterValue == null ? void 0 : parameterValue.defaultValue, parameterValue == null ? void 0 : parameterValue.values, renderItemText, sectionIndex, hiddenLegends, toggleHiddenLegend]);
6360
+ }, [parameter, sectionIndex, isHidden, isSize, isStrokeWidth, isStrokeColor, parameterValue, renderItemText, toggleHiddenLegend, layerName]);
6324
6361
  return React__default.createElement(MaximizedLegendContainer, {
6325
6362
  ref: innerRef,
6326
6363
  isShown: isShown
@@ -6350,16 +6387,15 @@ const LegendSection = _ref => {
6350
6387
  formatValue,
6351
6388
  index
6352
6389
  } = _ref;
6353
- const {
6354
- t
6355
- } = reactI18next.useTranslation("common");
6356
6390
  const [isExpanded, toggleExpanded] = useToggle();
6357
6391
  const [maxRef, maxNode] = useNode();
6358
6392
  const [minRef, minNode] = useNode();
6359
6393
  return React__default.createElement(MapLegendSectionContainer, null, React__default.createElement(MapLegendHeader, null, attribute.alias || attribute.name), React__default.createElement(LegendParameterDescription, {
6360
6394
  parameter: parameter
6361
6395
  }), React__default.createElement(MapLegendSectionItems, {
6362
- height: isExpanded ? ((maxNode == null ? void 0 : maxNode.offsetHeight) || 0) + 4 : minNode == null ? void 0 : minNode.offsetHeight
6396
+ minHeight: minNode == null ? void 0 : minNode.offsetHeight,
6397
+ maxHeight: maxNode == null ? void 0 : maxNode.offsetHeight,
6398
+ isExpanded: isExpanded
6363
6399
  }, React__default.createElement(MaximizedLegend, {
6364
6400
  innerRef: maxRef,
6365
6401
  isShown: isExpanded,
@@ -6370,16 +6406,16 @@ const LegendSection = _ref => {
6370
6406
  parameter: parameter,
6371
6407
  attributeType: attribute.type,
6372
6408
  index: index,
6373
- values: getMaximizedLegendValues(attribute, parameter, parameters, classified, symbol, formatValue, index, t("classification.other"))
6409
+ values: getMaximizedLegendValues(attribute, parameter, parameters, classified, symbol, formatValue, index, 'Другое')
6374
6410
  }), React__default.createElement(MinimizedLegend, {
6375
6411
  innerRef: minRef,
6376
6412
  isShown: !isExpanded,
6377
6413
  hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
6378
6414
  parameter: parameter,
6379
- values: getMinimizedLegendValues(attribute, classified, formatValue, index, t("classification.other"))
6415
+ values: getMinimizedLegendValues(attribute, classified, formatValue, index, 'Другое')
6380
6416
  })), React__default.createElement(MapLegendExpandButton, {
6381
6417
  onClick: toggleExpanded
6382
- }, t(isExpanded ? "toggleMenu" : "Развернуть")));
6418
+ }, isExpanded ? 'Свернуть' : 'Развернуть'));
6383
6419
  };
6384
6420
 
6385
6421
  const _excluded$3 = ["layerInfo"];
@@ -6397,16 +6433,30 @@ const Legend = /*#__PURE__*/React.memo(_ref => {
6397
6433
  var _classified$param$val, _layerInfo$style;
6398
6434
 
6399
6435
  const attributeName = getAttributeNameFromCondition((_classified$param$val = classified[param].values[0]) == null ? void 0 : _classified$param$val.condition);
6436
+ let attribute = attributes.find(_ref2 => {
6437
+ let {
6438
+ name
6439
+ } = _ref2;
6440
+ return name === attributeName;
6441
+ });
6442
+
6443
+ if (!attribute) {
6444
+ if (attributeName === 'count') {
6445
+ attribute = {
6446
+ name: 'count',
6447
+ alias: 'Количество',
6448
+ type: api.AttributeType.Int32
6449
+ };
6450
+ } else {
6451
+ return null;
6452
+ }
6453
+ }
6454
+
6400
6455
  return React__default.createElement(LegendSection, Object.assign({
6401
6456
  key: index,
6402
6457
  layerName: layerInfo.name,
6403
6458
  symbol: (_layerInfo$style = layerInfo.style) == null ? void 0 : _layerInfo$style.symbol,
6404
- attribute: attributes.find(_ref2 => {
6405
- let {
6406
- name
6407
- } = _ref2;
6408
- return name === attributeName;
6409
- }),
6459
+ attribute: attribute,
6410
6460
  classified: classified[param],
6411
6461
  parameter: param,
6412
6462
  parameters: parameters,
@@ -6831,8 +6881,10 @@ exports.ClassificationCondition = ClassificationCondition;
6831
6881
  exports.ClassificationManager = ClassificationManager;
6832
6882
  exports.ClassifiedItem = ClassifiedItem;
6833
6883
  exports.ClusterLayer = ClusterLayer;
6884
+ exports.ClusterLegendContainer = ClusterLegendContainer;
6834
6885
  exports.ClusterSymbol = ClusterSymbol;
6835
6886
  exports.CompoundIcon = CompoundIcon;
6887
+ exports.DEFAULT_CLUSTER_SVG = DEFAULT_CLUSTER_SVG;
6836
6888
  exports.DEFAULT_CRS = DEFAULT_CRS;
6837
6889
  exports.DEFAULT_ID_ATTRIBUTE_NAME = DEFAULT_ID_ATTRIBUTE_NAME;
6838
6890
  exports.DEFAULT_LEGEND_SIZES = DEFAULT_LEGEND_SIZES;