@evergis/react 2.0.172 → 2.0.173

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.
package/dist/react.esm.js CHANGED
@@ -7,7 +7,7 @@ import { DomPainter, MapResize } from '@evergis/sgis/es/painters/DomPainter/DomP
7
7
  import { FeatureLayer as FeatureLayer$1 } from '@evergis/sgis/es/layers/FeatureLayer';
8
8
  import { Icon, IconButton, EverCloudStatisticsIcon, EverCloudZoomtoIcon, EverCloudCloseIcon, EverCloudPlayPrevIcon, EverCloudPlayNextIcon } from '@evergis/icons';
9
9
  import { isValid, toDate, format, parseJSON, parseISO } from 'date-fns';
10
- import { ConditionInterpreter, TokenType, ConditionEvaluator } from '@evergis/condition';
10
+ import { ConditionInterpreter, TokenType, Char, ConditionEvaluator } from '@evergis/condition';
11
11
  import { MultiPoint } from '@evergis/sgis/es/features/MultiPoint';
12
12
  import { Polyline } from '@evergis/sgis/es/features/Polyline';
13
13
  import { Polygon } from '@evergis/sgis/es/features/Polygon';
@@ -26,6 +26,7 @@ import { LabelFeature } from '@evergis/sgis/es/features/Label';
26
26
  import { DrawingFinishEvent } from '@evergis/sgis/es/controls/Control';
27
27
  import { PolyEditor } from '@evergis/sgis/es/controls/PolyEditor';
28
28
  import get from 'lodash-es/get';
29
+ import { isNil } from 'lodash-es';
29
30
  import ReactDOM from 'react-dom';
30
31
  import { DynamicPointSymbol, Symbol as Symbol$1 } from '@evergis/sgis/es/symbols/Symbol';
31
32
  import { Poly } from '@evergis/sgis/es/features/Poly';
@@ -830,6 +831,59 @@ const isPolygonLabelSymbol = /*#__PURE__*/symbolTypeGuard('polygonLabelSymbol');
830
831
  const isPolylineLabelSymbol = /*#__PURE__*/symbolTypeGuard('polylineLabelSymbol');
831
832
  const isLabelSymbol = symbol => Boolean(symbol && (isPointLabelSymbol(symbol) || isPolygonLabelSymbol(symbol) || isPolylineLabelSymbol(symbol)));
832
833
 
834
+ const _excluded = ["ignoreLabel", "label", "symbol", "raster", "children"];
835
+ const createCompositeSymbol = childSymbols => ({
836
+ type: 'compositeSymbol',
837
+ childSymbols
838
+ });
839
+ const getChildSymbols = symbol => {
840
+ if (!symbol || !isCompositeSymbol(symbol)) return [];
841
+ return symbol.childSymbols || [];
842
+ };
843
+ const extractSymbol = symbol => {
844
+ const childSymbols = getChildSymbols(symbol);
845
+ return {
846
+ // @ts-ignore
847
+ symbol: childSymbols.find(isSimpleSymbol),
848
+ label: childSymbols.find(isLabelSymbol) || null,
849
+ raster: childSymbols.find(isRasterSymbol) || null
850
+ };
851
+ };
852
+ const extractStyle = style => {
853
+ // @ts-ignore
854
+ if (isCompositeSymbol(style.symbol)) {
855
+ return _extends({}, style, extractSymbol(style.symbol), {
856
+ // @ts-ignore
857
+ children: style.children && style.children.map(extractStyle)
858
+ });
859
+ } // NOTE: for cases when style is exist style object should have same reference for all extractStyle calls
860
+
861
+
862
+ return style || {};
863
+ };
864
+ const packStyle = style => {
865
+ const {
866
+ ignoreLabel,
867
+ label,
868
+ symbol,
869
+ raster,
870
+ children
871
+ } = style,
872
+ styleDc = _objectWithoutPropertiesLoose(style, _excluded);
873
+
874
+ const childSymbols = [!ignoreLabel && label, raster].filter(Boolean);
875
+ return _extends({}, styleDc, {
876
+ symbol: childSymbols.length ? // @ts-ignore
877
+ createCompositeSymbol([symbol, ...childSymbols]) : symbol,
878
+ // @ts-ignore
879
+ children: children ? // @ts-ignore
880
+ children.map(childStyle => packStyle(_extends({}, childStyle, {
881
+ ignoreLabel,
882
+ label
883
+ }))) : children
884
+ });
885
+ };
886
+
833
887
  const isPointSymbol = /*#__PURE__*/symbolTypeGuard('circlePointSymbol');
834
888
  const isSquareSymbol = /*#__PURE__*/symbolTypeGuard('squarePointSymbol');
835
889
  const isMaskedImageSymbol = /*#__PURE__*/symbolTypeGuard('maskedImagePointSymbol');
@@ -848,6 +902,20 @@ const isScalablePolylineSymbol = symbol => symbol.beginning !== null && symbol.e
848
902
  const isSimpleSymbol = symbol => Boolean(symbol && !isLabelSymbol(symbol) && !isCompositeSymbol(symbol) && !isRasterSymbol(symbol));
849
903
  const isH3GridSymbol = /*#__PURE__*/symbolTypeGuard("h3grid");
850
904
  const isSvgPointSymbol = /*#__PURE__*/symbolTypeGuard("svgPointSymbol");
905
+ const isClusterSymbol = /*#__PURE__*/symbolTypeGuard("cluster");
906
+ const isClusterFillColor = (symbol, parameter) => {
907
+ return isClusterSymbol(symbol) && parameter === "fillColor";
908
+ };
909
+ const getExtractedSymbol = function getExtractedSymbol(symbol, extractCluster) {
910
+ var _extractSymbol;
911
+
912
+ if (extractCluster === void 0) {
913
+ extractCluster = false;
914
+ }
915
+
916
+ const extracted = isCompositeSymbol(symbol) ? (_extractSymbol = extractSymbol(symbol)) == null ? void 0 : _extractSymbol.symbol : symbol;
917
+ return extractCluster && isClusterSymbol(extracted) ? extracted.singleObjectSymbol : extracted;
918
+ };
851
919
 
852
920
  const isHatchBrush = /*#__PURE__*/symbolTypeGuard('hatch');
853
921
  const isPatternBrush = /*#__PURE__*/symbolTypeGuard('pattern');
@@ -1137,59 +1205,6 @@ const mergeAttributes = (attributes1, attributes2) => {
1137
1205
  }) || {}));
1138
1206
  };
1139
1207
 
1140
- const _excluded = ["ignoreLabel", "label", "symbol", "raster", "children"];
1141
- const createCompositeSymbol = childSymbols => ({
1142
- type: 'compositeSymbol',
1143
- childSymbols
1144
- });
1145
- const getChildSymbols = symbol => {
1146
- if (!symbol || !isCompositeSymbol(symbol)) return [];
1147
- return symbol.childSymbols || [];
1148
- };
1149
- const extractSymbol = symbol => {
1150
- const childSymbols = getChildSymbols(symbol);
1151
- return {
1152
- // @ts-ignore
1153
- symbol: childSymbols.find(isSimpleSymbol),
1154
- label: childSymbols.find(isLabelSymbol) || null,
1155
- raster: childSymbols.find(isRasterSymbol) || null
1156
- };
1157
- };
1158
- const extractStyle = style => {
1159
- // @ts-ignore
1160
- if (isCompositeSymbol(style.symbol)) {
1161
- return _extends({}, style, extractSymbol(style.symbol), {
1162
- // @ts-ignore
1163
- children: style.children && style.children.map(extractStyle)
1164
- });
1165
- } // NOTE: for cases when style is exist style object should have same reference for all extractStyle calls
1166
-
1167
-
1168
- return style || {};
1169
- };
1170
- const packStyle = style => {
1171
- const {
1172
- ignoreLabel,
1173
- label,
1174
- symbol,
1175
- raster,
1176
- children
1177
- } = style,
1178
- styleDc = _objectWithoutPropertiesLoose(style, _excluded);
1179
-
1180
- const childSymbols = [!ignoreLabel && label, raster].filter(Boolean);
1181
- return _extends({}, styleDc, {
1182
- symbol: childSymbols.length ? // @ts-ignore
1183
- createCompositeSymbol([symbol, ...childSymbols]) : symbol,
1184
- // @ts-ignore
1185
- children: children ? // @ts-ignore
1186
- children.map(childStyle => packStyle(_extends({}, childStyle, {
1187
- ignoreLabel,
1188
- label
1189
- }))) : children
1190
- });
1191
- };
1192
-
1193
1208
  let EvergisStyle = /*#__PURE__*/function () {
1194
1209
  function EvergisStyle(style) {
1195
1210
  _classCallCheck(this, EvergisStyle);
@@ -1973,6 +1988,311 @@ const isParameterType = (types, parameter) => {
1973
1988
  })) || false;
1974
1989
  };
1975
1990
 
1991
+ var FilterConditionOperation;
1992
+
1993
+ (function (FilterConditionOperation) {
1994
+ FilterConditionOperation["AND"] = "&&";
1995
+ FilterConditionOperation["OR"] = "||";
1996
+ })(FilterConditionOperation || (FilterConditionOperation = {}));
1997
+
1998
+ var ComparisonOperator;
1999
+
2000
+ (function (ComparisonOperator) {
2001
+ /** `==` */
2002
+ ComparisonOperator["Equals"] = "Equals";
2003
+ /** `!=` */
2004
+
2005
+ ComparisonOperator["NotEquals"] = "NotEquals";
2006
+ /** `>` */
2007
+
2008
+ ComparisonOperator["GreaterThan"] = "GreaterThan";
2009
+ /** `<` */
2010
+
2011
+ ComparisonOperator["LessThan"] = "LessThan";
2012
+ /** `>=` */
2013
+
2014
+ ComparisonOperator["GreaterOrEquals"] = "GreaterOrEquals";
2015
+ /** `<=` */
2016
+
2017
+ ComparisonOperator["LessOrEquals"] = "LessOrEquals";
2018
+ ComparisonOperator["Filled"] = "Filled";
2019
+ ComparisonOperator["Empty"] = "Empty";
2020
+ /** `==` */
2021
+
2022
+ ComparisonOperator["Contains"] = "Contains";
2023
+ /** `!=` */
2024
+
2025
+ ComparisonOperator["NotContains"] = "NotContains";
2026
+ ComparisonOperator["StartsWith"] = "StartsWith";
2027
+ ComparisonOperator["NotStartsWith"] = "NotStartsWith";
2028
+ ComparisonOperator["EndsWith"] = "EndsWith";
2029
+ ComparisonOperator["NotEndsWith"] = "NotEndsWith";
2030
+ ComparisonOperator["Between"] = "Between";
2031
+ ComparisonOperator["Outside"] = "Outside";
2032
+ })(ComparisonOperator || (ComparisonOperator = {}));
2033
+
2034
+ const comparisonOperatorMapReversed = {
2035
+ [TokenType.ArEq]: ComparisonOperator.Equals,
2036
+ [TokenType.ArNotEq]: ComparisonOperator.NotEquals,
2037
+ [TokenType.ArGr]: ComparisonOperator.GreaterThan,
2038
+ [TokenType.ArLs]: ComparisonOperator.LessThan,
2039
+ [TokenType.ArGre]: ComparisonOperator.GreaterOrEquals,
2040
+ [TokenType.ArLse]: ComparisonOperator.LessOrEquals,
2041
+ [TokenType.Between]: ComparisonOperator.Between,
2042
+ [TokenType.Outside]: ComparisonOperator.Outside
2043
+ };
2044
+ const NUMERIC_ATTRIBUTE_TYPES = [AttributeType.Int32, AttributeType.Int64, AttributeType.DateTime, AttributeType.Double];
2045
+
2046
+ const formatValue = (value, isDate) => {
2047
+ return isDate ? "#'" + formatDate(value, {
2048
+ dateFormat: DateFormat.UTC,
2049
+ defaultValue: value
2050
+ }) + "'" : value ? value.toString() : 0;
2051
+ };
2052
+
2053
+ function formatCondition(condition) {
2054
+ const {
2055
+ comparisonOperator,
2056
+ value,
2057
+ type,
2058
+ attribute
2059
+ } = condition;
2060
+ const operator = OPERATOR_CONDITION_REMAP[comparisonOperator] || comparisonOperator;
2061
+ const preparedValue = typeof value === "string" && value.includes(" - ") ? value.split(" - ") : value;
2062
+ const isDate = type === AttributeType.DateTime;
2063
+ const isBetweenOutside = BETWEEN_OPERATORS.includes(comparisonOperator);
2064
+ const escapeValue = !NUMERIC_ATTRIBUTE_TYPES.includes(type) && preparedValue !== null;
2065
+
2066
+ if (isBetweenOutside && Array.isArray(preparedValue) && preparedValue[0] !== undefined) {
2067
+ return OPERATOR_CONDITION_REMAP[comparisonOperator] + "(" + attribute + ", " + formatValue(preparedValue[0], isDate) + ", " + formatValue(preparedValue[1], isDate) + ")";
2068
+ }
2069
+
2070
+ const formattedValue = Array.isArray(preparedValue) ? preparedValue.map(val => formatValue(val, isDate)) : formatValue(preparedValue, isDate);
2071
+ const nulledValue = isNil(preparedValue) ? "{null}" : formattedValue;
2072
+ const valueEscaped = escapeValue && typeof nulledValue === "string" ? "'" + Char.escapeSpecChars(addOperationToValue(nulledValue, comparisonOperator)) + "'" : nulledValue;
2073
+ return attribute + " " + operator + " " + valueEscaped;
2074
+ }
2075
+ function createConditionString(condition) {
2076
+ if (Array.isArray(condition)) {
2077
+ return "( " + formatCondition(condition[0]) + " " + condition[0].operation + " " + formatCondition(condition[1]) + " )";
2078
+ }
2079
+
2080
+ return formatCondition(condition);
2081
+ }
2082
+ function createCondition(_ref) {
2083
+ let {
2084
+ attribute,
2085
+ operation,
2086
+ value
2087
+ } = _ref;
2088
+ const comparisonOperator = comparisonOperatorMapReversed[operation];
2089
+ const convertedResult = convertOperatorValue(value, comparisonOperator);
2090
+ return _extends({
2091
+ attribute
2092
+ }, convertedResult);
2093
+ }
2094
+
2095
+ function convertOperatorValue(value, comparisonOperator) {
2096
+ if (typeof value === "string") {
2097
+ const operatorIndex = +(comparisonOperator === ComparisonOperator.NotEquals);
2098
+
2099
+ if (value.startsWith(Char.PERCENTAGE) && value.endsWith(Char.PERCENTAGE)) {
2100
+ return {
2101
+ value: value.slice(1, -1),
2102
+ comparisonOperator: CONTAINS_OPERATORS[operatorIndex]
2103
+ };
2104
+ }
2105
+
2106
+ if (value.startsWith(Char.PERCENTAGE)) {
2107
+ return {
2108
+ value: value.slice(1),
2109
+ comparisonOperator: ENDS_WITH_OPERATORS[operatorIndex]
2110
+ };
2111
+ }
2112
+
2113
+ if (value.endsWith(Char.PERCENTAGE)) {
2114
+ return {
2115
+ value: value.slice(0, -1),
2116
+ comparisonOperator: STARTS_WITH_OPERATORS[operatorIndex]
2117
+ };
2118
+ }
2119
+ }
2120
+
2121
+ return {
2122
+ value,
2123
+ comparisonOperator
2124
+ };
2125
+ }
2126
+
2127
+ const addContains = value => "%" + value + "%";
2128
+
2129
+ const addStartsWith = value => value + "%";
2130
+
2131
+ const addEndsWith = value => "%" + value;
2132
+
2133
+ function addOperationToValue(value, operator) {
2134
+ switch (operator) {
2135
+ case ComparisonOperator.Contains:
2136
+ case ComparisonOperator.NotContains:
2137
+ return addContains(value);
2138
+
2139
+ case ComparisonOperator.StartsWith:
2140
+ case ComparisonOperator.NotStartsWith:
2141
+ return addStartsWith(value);
2142
+
2143
+ case ComparisonOperator.EndsWith:
2144
+ case ComparisonOperator.NotEndsWith:
2145
+ return addEndsWith(value);
2146
+
2147
+ case ComparisonOperator.Between:
2148
+ return Char.BETWEEN;
2149
+
2150
+ case ComparisonOperator.Outside:
2151
+ return Char.OUTSIDE;
2152
+
2153
+ default:
2154
+ return value;
2155
+ }
2156
+ }
2157
+
2158
+ const OTHERS_TITLE = 'Другое';
2159
+ const createLegendItem = _ref => {
2160
+ let {
2161
+ attributes,
2162
+ renderTitle,
2163
+ skipDefaultValue,
2164
+ reverse
2165
+ } = _ref;
2166
+ return classification => {
2167
+ const {
2168
+ defaultTitle,
2169
+ defaultValue,
2170
+ values,
2171
+ attribute: attributeName,
2172
+ parameter
2173
+ } = classification;
2174
+ const attribute = attributeName && attributes ? getClassificationAttribute(attributeName, attributes) : undefined;
2175
+ const defaultLegendValue = {
2176
+ title: defaultTitle || OTHERS_TITLE,
2177
+ parameterValue: defaultValue
2178
+ };
2179
+ const legendValues = values.map((value, index) => ({
2180
+ title: renderTitle && renderTitle(_extends({}, value, {
2181
+ attribute
2182
+ }), index),
2183
+ parameterValue: value.parameterValue
2184
+ }));
2185
+ const withDefault = skipDefaultValue ? legendValues : [...legendValues, defaultLegendValue];
2186
+ const reversedValues = reverse ? [...withDefault].reverse() : withDefault;
2187
+ return {
2188
+ title: attribute && attribute.alias || attributeName,
2189
+ attribute,
2190
+ parameter,
2191
+ values: reversedValues
2192
+ };
2193
+ };
2194
+ };
2195
+
2196
+ function isValidParameter(parameter) {
2197
+ return !(parameter != null && parameter.includes("labelSymbol")) && !(parameter != null && parameter.includes("singleObjectSymbol"));
2198
+ }
2199
+
2200
+ function createStyleLegend(style, config) {
2201
+ const {
2202
+ classificationManager,
2203
+ symbol
2204
+ } = style;
2205
+ const items = classificationManager.filter(_ref => {
2206
+ let {
2207
+ parameter
2208
+ } = _ref;
2209
+ return config.parameters && parameter ? config.parameters.includes(parameter) : isValidParameter(parameter);
2210
+ });
2211
+
2212
+ if (!items.length) {
2213
+ return null;
2214
+ }
2215
+
2216
+ return {
2217
+ symbol: unClassify(symbol.singleObjectSymbol || symbol),
2218
+ items: items.map(createLegendItem(config))
2219
+ };
2220
+ }
2221
+
2222
+ function createValueTitle(value, index) {
2223
+ if (value.title) return value.title;
2224
+ if (isRangeClass(value)) return printRangeClass(value, index);
2225
+ if (isUniqueClass(value)) return value.uniqueValue;
2226
+ return '';
2227
+ }
2228
+
2229
+ let FilterCondition = /*#__PURE__*/function () {
2230
+ function FilterCondition(condition) {
2231
+ if (condition === void 0) {
2232
+ condition = null;
2233
+ }
2234
+
2235
+ _classCallCheck(this, FilterCondition);
2236
+
2237
+ this.condition = condition;
2238
+ this.conditionInterpreter = new ConditionInterpreter(condition);
2239
+ }
2240
+
2241
+ _createClass(FilterCondition, [{
2242
+ key: "conditions",
2243
+ get: function get() {
2244
+ const {
2245
+ value
2246
+ } = this.conditionInterpreter;
2247
+
2248
+ if (value instanceof Error) {
2249
+ // TODO handle errors in client notifications
2250
+ console.warn(value.message);
2251
+ }
2252
+
2253
+ return value instanceof Error ? [] : value.expressions.map(createCondition);
2254
+ }
2255
+ }, {
2256
+ key: "conditionOperation",
2257
+ get: function get() {
2258
+ const {
2259
+ value
2260
+ } = this.conditionInterpreter;
2261
+
2262
+ if (value instanceof Error) {
2263
+ return null;
2264
+ }
2265
+
2266
+ const isOrCondition = value.boolOperations.includes(TokenType.BoolOr);
2267
+ const isAndCondition = value.boolOperations.includes(TokenType.BoolAnd);
2268
+
2269
+ if (isOrCondition && isAndCondition) {
2270
+ return null;
2271
+ }
2272
+
2273
+ return isOrCondition ? FilterConditionOperation.OR : isAndCondition ? FilterConditionOperation.AND : null;
2274
+ }
2275
+ }, {
2276
+ key: "isParsingError",
2277
+ value: function isParsingError() {
2278
+ return this.conditionInterpreter.value instanceof Error;
2279
+ }
2280
+ }, {
2281
+ key: "toString",
2282
+ value: function toString() {
2283
+ return this.condition;
2284
+ }
2285
+ }], [{
2286
+ key: "from",
2287
+ value: function from(conditions, operation) {
2288
+ const condition = (conditions == null ? void 0 : conditions.map(createConditionString).join(" " + operation + " ")) || null;
2289
+ return new FilterCondition(condition);
2290
+ }
2291
+ }]);
2292
+
2293
+ return FilterCondition;
2294
+ }();
2295
+
1976
2296
  const isLayerService = value => isObject(value) && "name" in value;
1977
2297
  const getAttributeFromCondition = condition => {
1978
2298
  const parts = condition.split(" ");
@@ -2006,7 +2326,7 @@ const isRangeCondition = condition => condition.includes("(");
2006
2326
  const getSymbolParameterInfo = parameter => {
2007
2327
  return PARAMETER_INFOS[parameter] || DEFAULT_PARAMETER_INFO;
2008
2328
  };
2009
- const formatValue = (value, type, calculatedParameter) => {
2329
+ const formatValue$1 = (value, type, calculatedParameter) => {
2010
2330
  var _ref;
2011
2331
 
2012
2332
  if (type === AttributeType.DateTime) {
@@ -2025,7 +2345,7 @@ const formatUniqueClassValue = value => {
2025
2345
  attribute,
2026
2346
  uniqueValue
2027
2347
  } = value;
2028
- return attribute ? formatValue(uniqueValue, attribute.type) : uniqueValue;
2348
+ return attribute ? formatValue$1(uniqueValue, attribute.type) : uniqueValue;
2029
2349
  };
2030
2350
  const getRangeValues$1 = (_ref2, isDouble, isDate, index) => {
2031
2351
  let {
@@ -2076,7 +2396,7 @@ const getTitleFromCondition = condition => {
2076
2396
  return (_parts$ = parts[1]) == null ? void 0 : _parts$.slice(1, -1);
2077
2397
  };
2078
2398
 
2079
- function createValueTitle(paramValue, attributeType, index) {
2399
+ function createValueTitle$1(paramValue, attributeType, index) {
2080
2400
  if (paramValue.title) return paramValue.title;
2081
2401
  const value = {
2082
2402
  parameterValue: getParameterValue(paramValue.value),
@@ -2314,8 +2634,63 @@ const createLegendSymbol = (parameterValue, parameter, classificationsParams, ba
2314
2634
 
2315
2635
  return null;
2316
2636
  };
2317
- const getMinimizedLegendValues = (attributeType, param, index) => {
2318
- return param.values.map(paramValue => {
2637
+ function createHiddenCondition(attributeName, attributeType, value) {
2638
+ let newValue;
2639
+ let comparisonOperator;
2640
+
2641
+ if (isRangeClass(value)) {
2642
+ if (value.from && value.to) {
2643
+ newValue = [value.from, value.to];
2644
+ comparisonOperator = ComparisonOperator.Outside;
2645
+ } else if (value.from) {
2646
+ newValue = value.from;
2647
+ comparisonOperator = ComparisonOperator.LessThan;
2648
+ } else if (value.to) {
2649
+ newValue = value.to;
2650
+ comparisonOperator = ComparisonOperator.GreaterThan;
2651
+ }
2652
+ } else {
2653
+ newValue = value.uniqueValue;
2654
+ comparisonOperator = ComparisonOperator.NotEquals;
2655
+ }
2656
+
2657
+ return new FilterCondition(createConditionString({
2658
+ attribute: attributeName,
2659
+ type: attributeType,
2660
+ comparisonOperator: comparisonOperator,
2661
+ value: newValue
2662
+ })).toString();
2663
+ }
2664
+ const createOtherHiddenCondition = (values, attributeName, attributeType) => {
2665
+ const value = values[values.length - 1];
2666
+ let hiddenCondition;
2667
+
2668
+ if (isRangeClass(value)) {
2669
+ hiddenCondition = new FilterCondition(createConditionString({
2670
+ attribute: attributeName,
2671
+ type: attributeType,
2672
+ comparisonOperator: ComparisonOperator.LessOrEquals,
2673
+ value: value.to || value.from
2674
+ })).toString();
2675
+ } else {
2676
+ const conditions = values.map(val => new FilterCondition(createConditionString({
2677
+ attribute: attributeName,
2678
+ type: attributeType,
2679
+ comparisonOperator: ComparisonOperator.Equals,
2680
+ value: val.uniqueValue
2681
+ })).toString());
2682
+ hiddenCondition = "( " + conditions.filter(Boolean).join(" " + FilterConditionOperation.OR + " ") + " )";
2683
+ }
2684
+
2685
+ return hiddenCondition;
2686
+ };
2687
+ const getMinimizedLegendValues = (attributeName, attributeType, classified, index, otherTitle) => {
2688
+ const other = {
2689
+ title: otherTitle,
2690
+ parameterValue: classified.defaultValue,
2691
+ hiddenCondition: createOtherHiddenCondition(classified.values.map(val => getClassificationValue(val.value, otherTitle, new ClassificationCondition(val.condition))), attributeName, attributeType)
2692
+ };
2693
+ const items = classified.values.map(paramValue => {
2319
2694
  const parameterValue = getParameterValue(paramValue.value);
2320
2695
  const result = {
2321
2696
  parameterValue,
@@ -2329,31 +2704,29 @@ const getMinimizedLegendValues = (attributeType, param, index) => {
2329
2704
  const to = getValueFromConditionPart(paramValue.condition, 2);
2330
2705
  result.from = from ? isNumeric(from) ? +from : formatDate(from) : null;
2331
2706
  result.to = to ? isNumeric(to) ? +to : formatDate(to) : null;
2332
- result.title = createValueTitle(paramValue, attributeType, index);
2707
+ result.title = createValueTitle$1(paramValue, attributeType, index);
2333
2708
  return result;
2334
2709
  }
2335
2710
 
2336
- result.uniqueValue = formatValue(paramValue.value);
2711
+ result.uniqueValue = formatValue$1(paramValue.value);
2337
2712
  result.title = getTitleFromCondition(paramValue.condition);
2713
+ result.hiddenCondition = createHiddenCondition(attributeName, attributeType, getClassificationValue(paramValue.value, result.title, new ClassificationCondition(paramValue.condition)));
2338
2714
  return result;
2339
2715
  });
2716
+ return [...items, other];
2340
2717
  };
2341
- const getMaximizedLegendValues = (attributeType, param, params, classified, symbol, sectionIndex, otherTitle) => {
2718
+ const getMaximizedLegendValues = (attributeName, attributeType, param, params, classified, symbol, sectionIndex, otherTitle) => {
2342
2719
  const other = {
2343
2720
  title: otherTitle,
2344
- symbol: createLegendSymbol(classified.defaultValue, param, params, symbol)
2721
+ symbol: createLegendSymbol(classified.defaultValue, param, params, symbol),
2722
+ hiddenCondition: createOtherHiddenCondition(classified.values.map(val => getClassificationValue(val.value, otherTitle, new ClassificationCondition(val.condition))), attributeName, attributeType)
2345
2723
  };
2346
2724
  const items = classified.values.map((paramValue, index) => {
2347
2725
  const result = {
2348
2726
  symbol: createLegendSymbol(classified.values[index].value, param, params, symbol)
2349
2727
  };
2350
-
2351
- if (isRangeCondition(paramValue.condition)) {
2352
- result.title = createValueTitle(paramValue, attributeType, sectionIndex);
2353
- return result;
2354
- }
2355
-
2356
- result.title = getTitleFromCondition(paramValue.condition);
2728
+ result.title = isRangeCondition(paramValue.condition) ? createValueTitle$1(paramValue, attributeType, sectionIndex) : getTitleFromCondition(paramValue.condition);
2729
+ result.hiddenCondition = createHiddenCondition(attributeName, attributeType, getClassificationValue(classified.values[index].value, result.title, new ClassificationCondition(classified.values[index].condition)));
2357
2730
  return result;
2358
2731
  });
2359
2732
  return [...items, other];
@@ -2491,6 +2864,16 @@ function getAttributeType(layer, attributeName) {
2491
2864
  return attribute ? attribute.type : AttributeType.Unknown;
2492
2865
  }
2493
2866
 
2867
+ const getClassificationValue = (parameterValue, title, condition) => _extends({
2868
+ parameterValue,
2869
+ title
2870
+ }, condition.isUnique() ? {
2871
+ uniqueValue: condition.uniqueValue
2872
+ } : {
2873
+ from: condition.range[0],
2874
+ to: condition.range[1]
2875
+ });
2876
+
2494
2877
  const metersToPixels = (meters, _ref) => {
2495
2878
  let {
2496
2879
  painter,
@@ -2573,6 +2956,34 @@ const PARAMETER_INFOS = {
2573
2956
 
2574
2957
  })
2575
2958
  };
2959
+ const OPERATOR_CONDITION_REMAP = {
2960
+ [ComparisonOperator.Equals]: "==",
2961
+ [ComparisonOperator.NotEquals]: "!=",
2962
+ [ComparisonOperator.GreaterThan]: ">",
2963
+ [ComparisonOperator.GreaterOrEquals]: ">=",
2964
+ [ComparisonOperator.LessThan]: "<",
2965
+ [ComparisonOperator.LessOrEquals]: "<=",
2966
+ [ComparisonOperator.Filled]: "!=",
2967
+ [ComparisonOperator.Empty]: "==",
2968
+ [ComparisonOperator.Contains]: "==",
2969
+ [ComparisonOperator.NotContains]: "!=",
2970
+ [ComparisonOperator.StartsWith]: "==",
2971
+ [ComparisonOperator.NotStartsWith]: "!=",
2972
+ [ComparisonOperator.EndsWith]: "==",
2973
+ [ComparisonOperator.NotEndsWith]: "!=",
2974
+ [ComparisonOperator.Between]: "between",
2975
+ [ComparisonOperator.Outside]: "!between"
2976
+ };
2977
+ const BASE_OPERATORS = [ComparisonOperator.Equals, ComparisonOperator.NotEquals];
2978
+ const CONTAINS_OPERATORS = [ComparisonOperator.Contains, ComparisonOperator.NotContains];
2979
+ const FILLED_OPERATORS = [ComparisonOperator.Filled, ComparisonOperator.Empty];
2980
+ const STARTS_WITH_OPERATORS = [ComparisonOperator.StartsWith, ComparisonOperator.NotStartsWith];
2981
+ const ENDS_WITH_OPERATORS = [ComparisonOperator.EndsWith, ComparisonOperator.NotEndsWith];
2982
+ const RANGE_OPERATORS = [ComparisonOperator.LessThan, ComparisonOperator.LessOrEquals, ComparisonOperator.GreaterThan, ComparisonOperator.GreaterOrEquals];
2983
+ const BETWEEN_OPERATORS = [ComparisonOperator.Between, ComparisonOperator.Outside];
2984
+ const numberComparisonOperators = [...BASE_OPERATORS, ...RANGE_OPERATORS, ...FILLED_OPERATORS, ...BETWEEN_OPERATORS];
2985
+ const dateComparisonOperators = [...BASE_OPERATORS, ...RANGE_OPERATORS, ...FILLED_OPERATORS, ...BETWEEN_OPERATORS];
2986
+ const textComparisonOperators = [...BASE_OPERATORS, ...CONTAINS_OPERATORS, ...STARTS_WITH_OPERATORS, ...ENDS_WITH_OPERATORS, ...FILLED_OPERATORS];
2576
2987
 
2577
2988
  var SvgSymbolBg;
2578
2989
 
@@ -4043,77 +4454,6 @@ const evaluateFeature = layers => feature => {
4043
4454
  return featureLayer ? featureLayer.evaluateFeature(feature) : feature;
4044
4455
  };
4045
4456
 
4046
- const OTHERS_TITLE = 'Другое';
4047
- const createLegendItem = _ref => {
4048
- let {
4049
- attributes,
4050
- renderTitle,
4051
- skipDefaultValue,
4052
- reverse
4053
- } = _ref;
4054
- return classification => {
4055
- const {
4056
- defaultTitle,
4057
- defaultValue,
4058
- values,
4059
- attribute: attributeName,
4060
- parameter
4061
- } = classification;
4062
- const attribute = attributeName && attributes ? getClassificationAttribute(attributeName, attributes) : undefined;
4063
- const defaultLegendValue = {
4064
- title: defaultTitle || OTHERS_TITLE,
4065
- parameterValue: defaultValue
4066
- };
4067
- const legendValues = values.map((value, index) => ({
4068
- title: renderTitle && renderTitle(_extends({}, value, {
4069
- attribute
4070
- }), index),
4071
- parameterValue: value.parameterValue
4072
- }));
4073
- const withDefault = skipDefaultValue ? legendValues : [...legendValues, defaultLegendValue];
4074
- const reversedValues = reverse ? [...withDefault].reverse() : withDefault;
4075
- return {
4076
- title: attribute && attribute.alias || attributeName,
4077
- attribute,
4078
- parameter,
4079
- values: reversedValues
4080
- };
4081
- };
4082
- };
4083
-
4084
- function isValidParameter(parameter) {
4085
- return !(parameter != null && parameter.includes("labelSymbol")) && !(parameter != null && parameter.includes("singleObjectSymbol"));
4086
- }
4087
-
4088
- function createStyleLegend(style, config) {
4089
- const {
4090
- classificationManager,
4091
- symbol
4092
- } = style;
4093
- const items = classificationManager.filter(_ref => {
4094
- let {
4095
- parameter
4096
- } = _ref;
4097
- return config.parameters && parameter ? config.parameters.includes(parameter) : isValidParameter(parameter);
4098
- });
4099
-
4100
- if (!items.length) {
4101
- return null;
4102
- }
4103
-
4104
- return {
4105
- symbol: unClassify(symbol.singleObjectSymbol || symbol),
4106
- items: items.map(createLegendItem(config))
4107
- };
4108
- }
4109
-
4110
- function createValueTitle$1(value, index) {
4111
- if (value.title) return value.title;
4112
- if (isRangeClass(value)) return printRangeClass(value, index);
4113
- if (isUniqueClass(value)) return value.uniqueValue;
4114
- return '';
4115
- }
4116
-
4117
4457
  function formatArea(num) {
4118
4458
  let result = num;
4119
4459
  let measure = 'м²';
@@ -4176,7 +4516,7 @@ const useLegend = (style, config) => useMemo(() => {
4176
4516
  }, [style, config]);
4177
4517
 
4178
4518
  const DEFAULT_LEGEND_CONFIG = {
4179
- renderTitle: createValueTitle$1
4519
+ renderTitle: createValueTitle
4180
4520
  };
4181
4521
  const useLayerLegend = (layer, config) => {
4182
4522
  const {
@@ -5590,7 +5930,7 @@ const ItemText = /*#__PURE__*/styled.div(_templateObject2$4 || (_templateObject2
5590
5930
  });
5591
5931
  const ItemSeparator = /*#__PURE__*/styled.div(_templateObject3$3 || (_templateObject3$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :after {\n content: \"-\";\n margin: 0 0.5rem;\n font-size: 0.75rem;\n }\n"])));
5592
5932
  const SymbolContainer = /*#__PURE__*/styled("span")(_templateObject4$3 || (_templateObject4$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n min-width: 16px;\n margin-right: 0.5rem;\n"])));
5593
- const ClassifiedItem = /*#__PURE__*/styled.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 => {
5933
+ const ClassifiedItem = /*#__PURE__*/styled.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 => {
5594
5934
  let {
5595
5935
  isClusterFillColor
5596
5936
  } = _ref2;
@@ -6001,11 +6341,14 @@ const LegendSymbolRenderer = /*#__PURE__*/memo(_ref => {
6001
6341
 
6002
6342
  const MaximizedLegend = _ref => {
6003
6343
  let {
6344
+ layerName,
6004
6345
  symbol: sectionSymbol,
6005
6346
  parameter,
6006
6347
  values,
6007
6348
  index: sectionIndex,
6008
- attributeType
6349
+ attributeType,
6350
+ hiddenLegends,
6351
+ toggleHiddenLegend
6009
6352
  } = _ref;
6010
6353
  const {
6011
6354
  t
@@ -6045,19 +6388,22 @@ const MaximizedLegend = _ref => {
6045
6388
 
6046
6389
  return React.createElement(React.Fragment, null, columns.map(renderColumn));
6047
6390
  }, [isDate, renderColumn, t]);
6391
+ const isHidden = useCallback(hiddenCondition => !!(hiddenLegends != null && hiddenLegends.includes(hiddenCondition)), [hiddenLegends]);
6048
6392
  const renderLegend = useCallback((_ref2, index) => {
6049
6393
  var _parameterValue$value;
6050
6394
 
6051
6395
  let {
6052
6396
  symbol,
6053
- title
6054
- /* , hiddenCondition*/
6055
-
6397
+ title,
6398
+ hiddenCondition
6056
6399
  } = _ref2;
6057
- if (!symbol) return null; // const isClusterFillColor = checkIsClusterFillColor(symbol, parameter);
6058
-
6400
+ if (!symbol) return null;
6401
+ const isClusterFillColor$1 = isClusterFillColor(symbol, parameter);
6059
6402
  return React.createElement(ClassifiedItem, {
6060
- key: sectionIndex + title + index
6403
+ key: sectionIndex + title + index,
6404
+ isHidden: isHidden(hiddenCondition),
6405
+ isClusterFillColor: isClusterFillColor$1,
6406
+ onClick: () => toggleHiddenLegend == null ? void 0 : toggleHiddenLegend(layerName, hiddenCondition)
6061
6407
  }, isSize || isStrokeWidth || isStrokeColor ? React.createElement(MapLegendItems, {
6062
6408
  parameter: parameter,
6063
6409
  isSize: isSize,
@@ -6070,11 +6416,9 @@ const MaximizedLegend = _ref => {
6070
6416
  value: (parameterValue == null ? void 0 : (_parameterValue$value = parameterValue.values[index]) == null ? void 0 : _parameterValue$value.value) || (parameterValue == null ? void 0 : parameterValue.defaultValue),
6071
6417
  parameter: parameter
6072
6418
  })) : React.createElement(SymbolContainer, null, React.createElement(LegendSymbolRenderer, {
6073
- symbol: symbol
6074
- /* isClusterFillColor ? symbol : getExtractedSymbol(symbol, true)*/
6075
-
6419
+ symbol: isClusterFillColor$1 ? symbol : getExtractedSymbol(symbol, true)
6076
6420
  })), renderItemText(title, index));
6077
- }, [isSize, isStrokeColor, isStrokeWidth, parameter, parameterValue == null ? void 0 : parameterValue.defaultValue, parameterValue == null ? void 0 : parameterValue.values, renderItemText, sectionIndex]);
6421
+ }, [isSize, isStrokeColor, isStrokeWidth, parameter, parameterValue == null ? void 0 : parameterValue.defaultValue, parameterValue == null ? void 0 : parameterValue.values, renderItemText, sectionIndex, hiddenLegends, toggleHiddenLegend]);
6078
6422
  return React.createElement(React.Fragment, null, values.map(renderLegend));
6079
6423
  };
6080
6424
 
@@ -6090,10 +6434,14 @@ const LegendParameterDescription = _ref => {
6090
6434
 
6091
6435
  const LegendSection = _ref => {
6092
6436
  let {
6437
+ layerName,
6093
6438
  symbol,
6094
- param,
6095
- params,
6439
+ parameter,
6440
+ parameters,
6096
6441
  classified,
6442
+ hiddenLegends,
6443
+ toggleHiddenLegend,
6444
+ attributeName,
6097
6445
  attributeTitle,
6098
6446
  attributeType,
6099
6447
  index
@@ -6103,54 +6451,58 @@ const LegendSection = _ref => {
6103
6451
  } = useTranslation("common");
6104
6452
  const [isExpanded, toggleExpanded] = useToggle();
6105
6453
  return React.createElement(MapLegendSectionContainer, null, React.createElement(MapLegendHeader, null, attributeTitle), React.createElement(LegendParameterDescription, {
6106
- parameter: param
6454
+ parameter: parameter
6107
6455
  }), isExpanded ? React.createElement(MaximizedLegend, {
6108
- key: param,
6456
+ layerName: layerName,
6109
6457
  symbol: symbol,
6110
- parameter: param,
6458
+ hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
6459
+ toggleHiddenLegend: toggleHiddenLegend,
6460
+ parameter: parameter,
6111
6461
  attributeType: attributeType,
6112
6462
  index: index,
6113
- values: getMaximizedLegendValues(attributeType, param, params, classified, symbol, index, t("classification.other"))
6463
+ values: getMaximizedLegendValues(attributeName, attributeType, parameter, parameters, classified, symbol, index, t("classification.other"))
6114
6464
  }) : React.createElement(MinimizedLegend, {
6115
- key: param,
6116
- values: getMinimizedLegendValues(attributeType, classified, index),
6117
- defaultValue: classified.defaultValue,
6118
- parameter: param,
6119
- attributeType: attributeType
6465
+ values: getMinimizedLegendValues(attributeName, attributeType, classified, index, t("classification.other")),
6466
+ hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
6467
+ parameter: parameter
6120
6468
  }), React.createElement(MapLegendExpandButton, {
6121
6469
  onClick: toggleExpanded
6122
6470
  }, t(isExpanded ? "toggleMenu" : "Развернуть")));
6123
6471
  };
6124
6472
 
6125
- const Legend = _ref => {
6473
+ const _excluded$3 = ["layerInfo"];
6474
+ const Legend = /*#__PURE__*/memo(_ref => {
6126
6475
  let {
6127
6476
  layerInfo
6128
- } = _ref;
6477
+ } = _ref,
6478
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
6479
+
6129
6480
  const classified = getClassified(layerInfo);
6130
- const params = Object.keys(classified);
6481
+ const parameters = Object.keys(classified);
6131
6482
  const attributes = getLayerAttributes(layerInfo.layerDefinition);
6132
6483
  return React.createElement(MapLegendContainer, null, Object.keys(classified).map((param, index) => {
6133
- var _classified$param$val, _attributes$find, _layerInfo$style;
6484
+ var _classified$param$val, _layerInfo$style, _attributes$find;
6134
6485
 
6135
6486
  const attributeName = getAttributeNameFromCondition((_classified$param$val = classified[param].values[0]) == null ? void 0 : _classified$param$val.condition);
6136
- const attributeAlias = (_attributes$find = attributes.find(_ref2 => {
6137
- let {
6138
- name
6139
- } = _ref2;
6140
- return name === attributeName;
6141
- })) == null ? void 0 : _attributes$find.alias;
6142
- return React.createElement(LegendSection, {
6487
+ return React.createElement(LegendSection, Object.assign({
6143
6488
  key: index,
6489
+ layerName: layerInfo.name,
6144
6490
  symbol: (_layerInfo$style = layerInfo.style) == null ? void 0 : _layerInfo$style.symbol,
6491
+ attributeName: attributeName,
6492
+ attributeTitle: ((_attributes$find = attributes.find(_ref2 => {
6493
+ let {
6494
+ name
6495
+ } = _ref2;
6496
+ return name === attributeName;
6497
+ })) == null ? void 0 : _attributes$find.alias) || attributeName,
6145
6498
  attributeType: getAttributeType(layerInfo, attributeName),
6146
- attributeTitle: attributeAlias || attributeName,
6147
6499
  classified: classified[param],
6148
- param: param,
6149
- params: params,
6500
+ parameter: param,
6501
+ parameters: parameters,
6150
6502
  index: index
6151
- });
6503
+ }, rest));
6152
6504
  }));
6153
- };
6505
+ });
6154
6506
 
6155
6507
  const Map = _ref => {
6156
6508
  let {
@@ -6375,12 +6727,12 @@ let MeasureTool = /*#__PURE__*/function (_React$Component) {
6375
6727
  return MeasureTool;
6376
6728
  }(React.Component);
6377
6729
 
6378
- const _excluded$3 = ["isActive"];
6730
+ const _excluded$4 = ["isActive"];
6379
6731
  const Measurer = _ref => {
6380
6732
  let {
6381
6733
  isActive
6382
6734
  } = _ref,
6383
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
6735
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
6384
6736
 
6385
6737
  const {
6386
6738
  map,
@@ -6494,7 +6846,7 @@ const TooltipComponent = /*#__PURE__*/styled.div(_templateObject11$2 || (_templa
6494
6846
  return withArrow && corner;
6495
6847
  });
6496
6848
 
6497
- const _excluded$4 = ["features", "map", "center", "component", "zIndex", "children", "content", "onEachFeature", "clickMode"];
6849
+ const _excluded$5 = ["features", "map", "center", "component", "zIndex", "children", "content", "onEachFeature", "clickMode"];
6498
6850
 
6499
6851
  const {
6500
6852
  Provider,
@@ -6513,7 +6865,7 @@ const Tooltip = _ref => {
6513
6865
  onEachFeature,
6514
6866
  clickMode
6515
6867
  } = _ref,
6516
- props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
6868
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
6517
6869
 
6518
6870
  const onTooltip = useTooltip(zIndex);
6519
6871
  useEffect(() => {
@@ -6554,5 +6906,5 @@ const DraggableMarker = _ref => {
6554
6906
  return React.createElement(Fragment, null);
6555
6907
  };
6556
6908
 
6557
- export { ArrowLineMiterRender, BaseMeasureToolCreator, BaseMeasureToolEditor, CRS_MAP, CardAttributes, CardHeader, CircleLineMiterRender, ClassificationCondition, ClassificationManager, ClassifiedItem, ClusterLayer, ClusterSymbol, CompoundIcon, DEFAULT_CRS, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LEGEND_SIZES, DEFAULT_LEGEND_STYLES, DEFAULT_LEGEND_SYMBOL_SIZE, DEFAULT_PARAMETER_INFO, DEFAULT_SRID, DEFAULT_SYMBOL_FILL_COLOR, DEFAULT_SYMBOL_OFFSET, DEFAULT_SYMBOL_SIZE, DEFAULT_SYMBOL_STROKE_COLOR, DEFAULT_SYMBOL_WITH_BG_SIZE, DateFormat, DraggableMarker, EXTRA_BORDER_SIZE, EvergisCard, EvergisCardAttribute, AttributeContainer as EvergisCardAttributeContainer, AttributeTitle as EvergisCardAttributeTitle, AttributeValueContainer as EvergisCardAttributeValueContainer, CardControls as EvergisCardCardControls, CardTitle as EvergisCardCardTitle, EvergisCardContainer, CurrentFeatureIndex as EvergisCardCurrentFeatureIndex, FeatureName as EvergisCardFeatureName, LayerName as EvergisCardLayerName, CardPagination as EvergisCardPagination, PaginationDescription as EvergisCardPaginationDescription, SimpleAttribute as EvergisCardSimpleValue, StickyHeader as EvergisCardStickyHeader, ValueLink as EvergisCardValueLink, EvergisDynamicLayer, EvergisFeature, EvergisLayer, EvergisProvider, EvergisSelect, EvergisSelectLayer, EvergisSelectProvider, EvergisStyle, EvergisTileLayer, FeatureLayer, Fullscreen, GEOMETRY_ATTRIBUTE, ItemSeparator, ItemText, LabelSymbol, Legend, LegendParameterDescription, LegendProvider, LegendSection, LegendSymbolRenderer, LineMiterKind, LineMiterRender, Map, MapControl, MapControls, MapLegendContainer, MapLegendControl, MapLegendDescription, MapLegendDescriptionContainer, MapLegendExpandButton, MapLegendHeader, MapLegendItem, MapLegendItems, MapLegendItemsContainer, MapLegendOther, MapLegendSectionContainer, MapLegendValueDescr, MapLegendValues, MapLegendValuesOther, MapLegendValuesRange, MapProvider, MaximizedLegend, Measure, MeasureTool, Measurer, MinimizedLegend, MinimizedLegendContainer, NO_CONTENT_VALUE, Noop, PARAMETER_INFOS, PREVIEW_LIMITS, SGisBrushFill, SGisImageFill, SGisPolygonSymbol, SGisPolylineSymbol, SOLID_INTERVALS, SVGPoly, SYMBOL_CLASSIFICATION, SYMBOL_LIMITS, SYMBOL_SIZE_PARAMETERS, ScaleRuler, ScaleRulerBlock, ScaleRulerContainer, Search, SelectedPointSymbol, SelectedPolySymbol, ShadowedPointSymbol, ShadowedPolySymbol, SizeMinimizedLegend, SizeMinimizedLegendDown, SizeMinimizedLegendLabel, SizeMinimizedLegendSymbol, SizeMinimizedLegendUp, SquareLineMiterRender, SrId, StyleSymbol, SvgSymbol, SvgSymbolBg, Symbol, SymbolButton, SymbolByType, SymbolContainer, TextContainer, TileLayer, Tooltip, TooltipComponent, TooltipProvider, Zoom, ZoomLevel, adjustSymbol, applyParameterValue, checkLayerHasLegend, clamp, convertSvgToBase64, copyRings, createCompositeSymbol, createLabelSymbol, createLegendSymbol, createStyleLegend, createSvgGradient, createValueTitle$1 as createValueTitle, defaultOffset, defineStrokeStylePreset, deserializeSymbol, evaluateFeature, extractStyle, extractSymbol, findChildFeatureStyle, findChildFeatureSymbol, formatArea, formatAttributeValue, formatDate, formatLength, formatPolygonMeasure, formatRangeClassValue, formatUniqueClassValue, formatValue, getAttributeFromCondition, getAttributeNameFromClassified, getAttributeNameFromCondition, getAttributeType, getAttributesConfiguration, getChildSymbols, getClassified, getCrs, getDashStylePreset, getDate, getDimensions, getExprFromCondition, getFeatureSymbol, getHexColor, getLayerDefinition, getLegendSymbolRenders, getLegendSymbolSize, getLineDash, getMapLegendSymbolRenders, getMapState, getMaximizedLegendValues, getMinimizedLegendValues, getOffsetParameterValue, getParameterFromSymbol, getParameterValue, getRangeValues$1 as getRangeValues, getScale, getServiceConfiguration, getSignFromConditionPart, getSymbolParameterInfo, getSymbolRenders, getSymbolStrokeWidth, getTitleFromCondition, getValueFromConditionPart, isArrowLineMiter, isCalculatedParameter, isCircleLineMiter, isCompositeSymbol, isDashedBrush, isFilledLineMitter, isH3GridSymbol, isHatchBrush, isImageSymbol, isLabelSymbol, isLayerService, isMaskedImageSymbol, isMiterExist, isNumeric, isObject, isParameterByAttribute, isParameterType, isParameterValueSimple, isParameterValueSymbol, isPatternBrush, isPointLabelSymbol, isPointSymbol, isPolygonHasHatchBrush, isPolygonHasPatternBrush, isPolygonLabelSymbol, isPolygonSymbol, isPolylineLabelSymbol, isPolylineLikePolygon, isPolylineSymbol, isPolylineSymbols, isRangeClass, isRangeCondition, isRasterSymbol, isRequisiteNumbers, isSGisClusterSymbol, isSGisH3Symbol, isSGisImageSymbol, isSGisPointSymbol, isSGisPolygonSymbol, isSGisPolylineSymbol, isScalablePolylineSymbol, isSimpleOffset, isSimplePolylineSymbol, isSimpleSymbol, isSizableSymbol, isSizeClassification, isSolidBrush, isSquareLineMiter, isSquareSymbol, isStaticImageSymbol, isStringAsInn, isStringAsKpp, isStringAsMail, isStringAsOgrn, isStringAsPhone, isStringAsUrl, isStringContainsDate, isStringParameterValue, isStrokeStyledSymbol, isStyle, isSvgPointSymbol, isSymbolWithOffset, isTwoDimensionalSymbol, isUniqueClass, isValidParameter, isValidUrl, mailHref, manipulateSvgSymbol, matchPhone, measureAreaSymbol, measureLengthSymbol, measurePolygonSnapSymbol, metersToPixels, numberWithSpaces, packStyle, phoneHref, polygonCircleFromPoint, printRangeClass, renderSymbolToCanvas, selectedPoint, selectedPolygon, selectedPolyline, serializeSvgPointSymbol, setDefaultParameterValue, setParameterValue, shouldUpdateMapState, solidStrokeStylePreset, strokeStylePresets, symbolParameterWalker, symbolTypeGuard, toIntervals, toLineDash, unClassify, updateMapResolution, updateSymbolParameter, urlHref, useCanvas, useClusterLayer, useCrs, useDebouncedCallback, useDraggableMarker, useEventPoint, useEvergisContext, useEvergisDynamicLayer, useEvergisSelect, useEvergisSelectContext, useEvergisTileLayer, useFeatureLayer, useLayerLegend, useLayerOrder, useLayerVisibility, useLegend, useLegendContext, useLegendValueSymbol, useMapBboxChange, useMapContext, useMapLegend, useMapLevel, useMapPick, useMapResize, useMapState, useMapView, useMapViewActions, useMapWrapper, useMaxMinScale, useMetersToPixels, useMetersToPixelsCb, useMount, useProperty, useScale, useSvgSymbol, useSymbol, useToggle, useTooltip, useTooltipContext, useUpdate, useUpdateMapView };
6909
+ export { ArrowLineMiterRender, BASE_OPERATORS, BETWEEN_OPERATORS, BaseMeasureToolCreator, BaseMeasureToolEditor, CONTAINS_OPERATORS, CRS_MAP, CardAttributes, CardHeader, CircleLineMiterRender, ClassificationCondition, ClassificationManager, ClassifiedItem, ClusterLayer, ClusterSymbol, ComparisonOperator, CompoundIcon, DEFAULT_CRS, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LEGEND_SIZES, DEFAULT_LEGEND_STYLES, DEFAULT_LEGEND_SYMBOL_SIZE, DEFAULT_PARAMETER_INFO, DEFAULT_SRID, DEFAULT_SYMBOL_FILL_COLOR, DEFAULT_SYMBOL_OFFSET, DEFAULT_SYMBOL_SIZE, DEFAULT_SYMBOL_STROKE_COLOR, DEFAULT_SYMBOL_WITH_BG_SIZE, DateFormat, DraggableMarker, ENDS_WITH_OPERATORS, EXTRA_BORDER_SIZE, EvergisCard, EvergisCardAttribute, AttributeContainer as EvergisCardAttributeContainer, AttributeTitle as EvergisCardAttributeTitle, AttributeValueContainer as EvergisCardAttributeValueContainer, CardControls as EvergisCardCardControls, CardTitle as EvergisCardCardTitle, EvergisCardContainer, CurrentFeatureIndex as EvergisCardCurrentFeatureIndex, FeatureName as EvergisCardFeatureName, LayerName as EvergisCardLayerName, CardPagination as EvergisCardPagination, PaginationDescription as EvergisCardPaginationDescription, SimpleAttribute as EvergisCardSimpleValue, StickyHeader as EvergisCardStickyHeader, ValueLink as EvergisCardValueLink, EvergisDynamicLayer, EvergisFeature, EvergisLayer, EvergisProvider, EvergisSelect, EvergisSelectLayer, EvergisSelectProvider, EvergisStyle, EvergisTileLayer, FILLED_OPERATORS, FeatureLayer, FilterConditionOperation, Fullscreen, GEOMETRY_ATTRIBUTE, ItemSeparator, ItemText, LabelSymbol, Legend, LegendParameterDescription, LegendProvider, LegendSection, LegendSymbolRenderer, LineMiterKind, LineMiterRender, Map, MapControl, MapControls, MapLegendContainer, MapLegendControl, MapLegendDescription, MapLegendDescriptionContainer, MapLegendExpandButton, MapLegendHeader, MapLegendItem, MapLegendItems, MapLegendItemsContainer, MapLegendOther, MapLegendSectionContainer, MapLegendValueDescr, MapLegendValues, MapLegendValuesOther, MapLegendValuesRange, MapProvider, MaximizedLegend, Measure, MeasureTool, Measurer, MinimizedLegend, MinimizedLegendContainer, NO_CONTENT_VALUE, Noop, OPERATOR_CONDITION_REMAP, PARAMETER_INFOS, PREVIEW_LIMITS, RANGE_OPERATORS, SGisBrushFill, SGisImageFill, SGisPolygonSymbol, SGisPolylineSymbol, SOLID_INTERVALS, STARTS_WITH_OPERATORS, SVGPoly, SYMBOL_CLASSIFICATION, SYMBOL_LIMITS, SYMBOL_SIZE_PARAMETERS, ScaleRuler, ScaleRulerBlock, ScaleRulerContainer, Search, SelectedPointSymbol, SelectedPolySymbol, ShadowedPointSymbol, ShadowedPolySymbol, SizeMinimizedLegend, SizeMinimizedLegendDown, SizeMinimizedLegendLabel, SizeMinimizedLegendSymbol, SizeMinimizedLegendUp, SquareLineMiterRender, SrId, StyleSymbol, SvgSymbol, SvgSymbolBg, Symbol, SymbolButton, SymbolByType, SymbolContainer, TextContainer, TileLayer, Tooltip, TooltipComponent, TooltipProvider, Zoom, ZoomLevel, adjustSymbol, applyParameterValue, checkLayerHasLegend, clamp, convertSvgToBase64, copyRings, createCompositeSymbol, createHiddenCondition, createLabelSymbol, createLegendSymbol, createOtherHiddenCondition, createStyleLegend, createSvgGradient, createValueTitle, dateComparisonOperators, defaultOffset, defineStrokeStylePreset, deserializeSymbol, evaluateFeature, extractStyle, extractSymbol, findChildFeatureStyle, findChildFeatureSymbol, formatArea, formatAttributeValue, formatDate, formatLength, formatPolygonMeasure, formatRangeClassValue, formatUniqueClassValue, formatValue$1 as formatValue, getAttributeFromCondition, getAttributeNameFromClassified, getAttributeNameFromCondition, getAttributeType, getAttributesConfiguration, getChildSymbols, getClassified, getCrs, getDashStylePreset, getDate, getDimensions, getExprFromCondition, getExtractedSymbol, getFeatureSymbol, getHexColor, getLayerDefinition, getLegendSymbolRenders, getLegendSymbolSize, getLineDash, getMapLegendSymbolRenders, getMapState, getMaximizedLegendValues, getMinimizedLegendValues, getOffsetParameterValue, getParameterFromSymbol, getParameterValue, getRangeValues$1 as getRangeValues, getScale, getServiceConfiguration, getSignFromConditionPart, getSymbolParameterInfo, getSymbolRenders, getSymbolStrokeWidth, getTitleFromCondition, getValueFromConditionPart, isArrowLineMiter, isCalculatedParameter, isCircleLineMiter, isClusterFillColor, isClusterSymbol, isCompositeSymbol, isDashedBrush, isFilledLineMitter, isH3GridSymbol, isHatchBrush, isImageSymbol, isLabelSymbol, isLayerService, isMaskedImageSymbol, isMiterExist, isNumeric, isObject, isParameterByAttribute, isParameterType, isParameterValueSimple, isParameterValueSymbol, isPatternBrush, isPointLabelSymbol, isPointSymbol, isPolygonHasHatchBrush, isPolygonHasPatternBrush, isPolygonLabelSymbol, isPolygonSymbol, isPolylineLabelSymbol, isPolylineLikePolygon, isPolylineSymbol, isPolylineSymbols, isRangeClass, isRangeCondition, isRasterSymbol, isRequisiteNumbers, isSGisClusterSymbol, isSGisH3Symbol, isSGisImageSymbol, isSGisPointSymbol, isSGisPolygonSymbol, isSGisPolylineSymbol, isScalablePolylineSymbol, isSimpleOffset, isSimplePolylineSymbol, isSimpleSymbol, isSizableSymbol, isSizeClassification, isSolidBrush, isSquareLineMiter, isSquareSymbol, isStaticImageSymbol, isStringAsInn, isStringAsKpp, isStringAsMail, isStringAsOgrn, isStringAsPhone, isStringAsUrl, isStringContainsDate, isStringParameterValue, isStrokeStyledSymbol, isStyle, isSvgPointSymbol, isSymbolWithOffset, isTwoDimensionalSymbol, isUniqueClass, isValidParameter, isValidUrl, mailHref, manipulateSvgSymbol, matchPhone, measureAreaSymbol, measureLengthSymbol, measurePolygonSnapSymbol, metersToPixels, numberComparisonOperators, numberWithSpaces, packStyle, phoneHref, polygonCircleFromPoint, printRangeClass, renderSymbolToCanvas, selectedPoint, selectedPolygon, selectedPolyline, serializeSvgPointSymbol, setDefaultParameterValue, setParameterValue, shouldUpdateMapState, solidStrokeStylePreset, strokeStylePresets, symbolParameterWalker, symbolTypeGuard, textComparisonOperators, toIntervals, toLineDash, unClassify, updateMapResolution, updateSymbolParameter, urlHref, useCanvas, useClusterLayer, useCrs, useDebouncedCallback, useDraggableMarker, useEventPoint, useEvergisContext, useEvergisDynamicLayer, useEvergisSelect, useEvergisSelectContext, useEvergisTileLayer, useFeatureLayer, useLayerLegend, useLayerOrder, useLayerVisibility, useLegend, useLegendContext, useLegendValueSymbol, useMapBboxChange, useMapContext, useMapLegend, useMapLevel, useMapPick, useMapResize, useMapState, useMapView, useMapViewActions, useMapWrapper, useMaxMinScale, useMetersToPixels, useMetersToPixelsCb, useMount, useProperty, useScale, useSvgSymbol, useSymbol, useToggle, useTooltip, useTooltipContext, useUpdate, useUpdateMapView };
6558
6910
  //# sourceMappingURL=react.esm.js.map