@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.
@@ -33,6 +33,7 @@ var Label = require('@evergis/sgis/es/features/Label');
33
33
  var Control = require('@evergis/sgis/es/controls/Control');
34
34
  var PolyEditor = require('@evergis/sgis/es/controls/PolyEditor');
35
35
  var get = _interopDefault(require('lodash/get'));
36
+ var lodash = require('lodash');
36
37
  var ReactDOM = _interopDefault(require('react-dom'));
37
38
  var _Symbol = require('@evergis/sgis/es/symbols/Symbol');
38
39
  var Poly$1 = require('@evergis/sgis/es/features/Poly');
@@ -837,6 +838,59 @@ const isPolygonLabelSymbol = /*#__PURE__*/symbolTypeGuard('polygonLabelSymbol');
837
838
  const isPolylineLabelSymbol = /*#__PURE__*/symbolTypeGuard('polylineLabelSymbol');
838
839
  const isLabelSymbol = symbol => Boolean(symbol && (isPointLabelSymbol(symbol) || isPolygonLabelSymbol(symbol) || isPolylineLabelSymbol(symbol)));
839
840
 
841
+ const _excluded = ["ignoreLabel", "label", "symbol", "raster", "children"];
842
+ const createCompositeSymbol = childSymbols => ({
843
+ type: 'compositeSymbol',
844
+ childSymbols
845
+ });
846
+ const getChildSymbols = symbol => {
847
+ if (!symbol || !isCompositeSymbol(symbol)) return [];
848
+ return symbol.childSymbols || [];
849
+ };
850
+ const extractSymbol = symbol => {
851
+ const childSymbols = getChildSymbols(symbol);
852
+ return {
853
+ // @ts-ignore
854
+ symbol: childSymbols.find(isSimpleSymbol),
855
+ label: childSymbols.find(isLabelSymbol) || null,
856
+ raster: childSymbols.find(isRasterSymbol) || null
857
+ };
858
+ };
859
+ const extractStyle = style => {
860
+ // @ts-ignore
861
+ if (isCompositeSymbol(style.symbol)) {
862
+ return _extends({}, style, extractSymbol(style.symbol), {
863
+ // @ts-ignore
864
+ children: style.children && style.children.map(extractStyle)
865
+ });
866
+ } // NOTE: for cases when style is exist style object should have same reference for all extractStyle calls
867
+
868
+
869
+ return style || {};
870
+ };
871
+ const packStyle = style => {
872
+ const {
873
+ ignoreLabel,
874
+ label,
875
+ symbol,
876
+ raster,
877
+ children
878
+ } = style,
879
+ styleDc = _objectWithoutPropertiesLoose(style, _excluded);
880
+
881
+ const childSymbols = [!ignoreLabel && label, raster].filter(Boolean);
882
+ return _extends({}, styleDc, {
883
+ symbol: childSymbols.length ? // @ts-ignore
884
+ createCompositeSymbol([symbol, ...childSymbols]) : symbol,
885
+ // @ts-ignore
886
+ children: children ? // @ts-ignore
887
+ children.map(childStyle => packStyle(_extends({}, childStyle, {
888
+ ignoreLabel,
889
+ label
890
+ }))) : children
891
+ });
892
+ };
893
+
840
894
  const isPointSymbol = /*#__PURE__*/symbolTypeGuard('circlePointSymbol');
841
895
  const isSquareSymbol = /*#__PURE__*/symbolTypeGuard('squarePointSymbol');
842
896
  const isMaskedImageSymbol = /*#__PURE__*/symbolTypeGuard('maskedImagePointSymbol');
@@ -855,6 +909,20 @@ const isScalablePolylineSymbol = symbol => symbol.beginning !== null && symbol.e
855
909
  const isSimpleSymbol = symbol => Boolean(symbol && !isLabelSymbol(symbol) && !isCompositeSymbol(symbol) && !isRasterSymbol(symbol));
856
910
  const isH3GridSymbol = /*#__PURE__*/symbolTypeGuard("h3grid");
857
911
  const isSvgPointSymbol = /*#__PURE__*/symbolTypeGuard("svgPointSymbol");
912
+ const isClusterSymbol = /*#__PURE__*/symbolTypeGuard("cluster");
913
+ const isClusterFillColor = (symbol, parameter) => {
914
+ return isClusterSymbol(symbol) && parameter === "fillColor";
915
+ };
916
+ const getExtractedSymbol = function getExtractedSymbol(symbol, extractCluster) {
917
+ var _extractSymbol;
918
+
919
+ if (extractCluster === void 0) {
920
+ extractCluster = false;
921
+ }
922
+
923
+ const extracted = isCompositeSymbol(symbol) ? (_extractSymbol = extractSymbol(symbol)) == null ? void 0 : _extractSymbol.symbol : symbol;
924
+ return extractCluster && isClusterSymbol(extracted) ? extracted.singleObjectSymbol : extracted;
925
+ };
858
926
 
859
927
  const isHatchBrush = /*#__PURE__*/symbolTypeGuard('hatch');
860
928
  const isPatternBrush = /*#__PURE__*/symbolTypeGuard('pattern');
@@ -1138,59 +1206,6 @@ const mergeAttributes = (attributes1, attributes2) => {
1138
1206
  }) || {}));
1139
1207
  };
1140
1208
 
1141
- const _excluded = ["ignoreLabel", "label", "symbol", "raster", "children"];
1142
- const createCompositeSymbol = childSymbols => ({
1143
- type: 'compositeSymbol',
1144
- childSymbols
1145
- });
1146
- const getChildSymbols = symbol => {
1147
- if (!symbol || !isCompositeSymbol(symbol)) return [];
1148
- return symbol.childSymbols || [];
1149
- };
1150
- const extractSymbol = symbol => {
1151
- const childSymbols = getChildSymbols(symbol);
1152
- return {
1153
- // @ts-ignore
1154
- symbol: childSymbols.find(isSimpleSymbol),
1155
- label: childSymbols.find(isLabelSymbol) || null,
1156
- raster: childSymbols.find(isRasterSymbol) || null
1157
- };
1158
- };
1159
- const extractStyle = style => {
1160
- // @ts-ignore
1161
- if (isCompositeSymbol(style.symbol)) {
1162
- return _extends({}, style, extractSymbol(style.symbol), {
1163
- // @ts-ignore
1164
- children: style.children && style.children.map(extractStyle)
1165
- });
1166
- } // NOTE: for cases when style is exist style object should have same reference for all extractStyle calls
1167
-
1168
-
1169
- return style || {};
1170
- };
1171
- const packStyle = style => {
1172
- const {
1173
- ignoreLabel,
1174
- label,
1175
- symbol,
1176
- raster,
1177
- children
1178
- } = style,
1179
- styleDc = _objectWithoutPropertiesLoose(style, _excluded);
1180
-
1181
- const childSymbols = [!ignoreLabel && label, raster].filter(Boolean);
1182
- return _extends({}, styleDc, {
1183
- symbol: childSymbols.length ? // @ts-ignore
1184
- createCompositeSymbol([symbol, ...childSymbols]) : symbol,
1185
- // @ts-ignore
1186
- children: children ? // @ts-ignore
1187
- children.map(childStyle => packStyle(_extends({}, childStyle, {
1188
- ignoreLabel,
1189
- label
1190
- }))) : children
1191
- });
1192
- };
1193
-
1194
1209
  let EvergisStyle = /*#__PURE__*/function () {
1195
1210
  function EvergisStyle(style) {
1196
1211
  _classCallCheck(this, EvergisStyle);
@@ -1974,6 +1989,307 @@ const isParameterType = (types, parameter) => {
1974
1989
  })) || false;
1975
1990
  };
1976
1991
 
1992
+ (function (FilterConditionOperation) {
1993
+ FilterConditionOperation["AND"] = "&&";
1994
+ FilterConditionOperation["OR"] = "||";
1995
+ })(exports.FilterConditionOperation || (exports.FilterConditionOperation = {}));
1996
+
1997
+ (function (ComparisonOperator) {
1998
+ /** `==` */
1999
+ ComparisonOperator["Equals"] = "Equals";
2000
+ /** `!=` */
2001
+
2002
+ ComparisonOperator["NotEquals"] = "NotEquals";
2003
+ /** `>` */
2004
+
2005
+ ComparisonOperator["GreaterThan"] = "GreaterThan";
2006
+ /** `<` */
2007
+
2008
+ ComparisonOperator["LessThan"] = "LessThan";
2009
+ /** `>=` */
2010
+
2011
+ ComparisonOperator["GreaterOrEquals"] = "GreaterOrEquals";
2012
+ /** `<=` */
2013
+
2014
+ ComparisonOperator["LessOrEquals"] = "LessOrEquals";
2015
+ ComparisonOperator["Filled"] = "Filled";
2016
+ ComparisonOperator["Empty"] = "Empty";
2017
+ /** `==` */
2018
+
2019
+ ComparisonOperator["Contains"] = "Contains";
2020
+ /** `!=` */
2021
+
2022
+ ComparisonOperator["NotContains"] = "NotContains";
2023
+ ComparisonOperator["StartsWith"] = "StartsWith";
2024
+ ComparisonOperator["NotStartsWith"] = "NotStartsWith";
2025
+ ComparisonOperator["EndsWith"] = "EndsWith";
2026
+ ComparisonOperator["NotEndsWith"] = "NotEndsWith";
2027
+ ComparisonOperator["Between"] = "Between";
2028
+ ComparisonOperator["Outside"] = "Outside";
2029
+ })(exports.ComparisonOperator || (exports.ComparisonOperator = {}));
2030
+
2031
+ const comparisonOperatorMapReversed = {
2032
+ [condition.TokenType.ArEq]: exports.ComparisonOperator.Equals,
2033
+ [condition.TokenType.ArNotEq]: exports.ComparisonOperator.NotEquals,
2034
+ [condition.TokenType.ArGr]: exports.ComparisonOperator.GreaterThan,
2035
+ [condition.TokenType.ArLs]: exports.ComparisonOperator.LessThan,
2036
+ [condition.TokenType.ArGre]: exports.ComparisonOperator.GreaterOrEquals,
2037
+ [condition.TokenType.ArLse]: exports.ComparisonOperator.LessOrEquals,
2038
+ [condition.TokenType.Between]: exports.ComparisonOperator.Between,
2039
+ [condition.TokenType.Outside]: exports.ComparisonOperator.Outside
2040
+ };
2041
+ const NUMERIC_ATTRIBUTE_TYPES = [api.AttributeType.Int32, api.AttributeType.Int64, api.AttributeType.DateTime, api.AttributeType.Double];
2042
+
2043
+ const formatValue = (value, isDate) => {
2044
+ return isDate ? "#'" + formatDate(value, {
2045
+ dateFormat: exports.DateFormat.UTC,
2046
+ defaultValue: value
2047
+ }) + "'" : value ? value.toString() : 0;
2048
+ };
2049
+
2050
+ function formatCondition(condition$1) {
2051
+ const {
2052
+ comparisonOperator,
2053
+ value,
2054
+ type,
2055
+ attribute
2056
+ } = condition$1;
2057
+ const operator = OPERATOR_CONDITION_REMAP[comparisonOperator] || comparisonOperator;
2058
+ const preparedValue = typeof value === "string" && value.includes(" - ") ? value.split(" - ") : value;
2059
+ const isDate = type === api.AttributeType.DateTime;
2060
+ const isBetweenOutside = BETWEEN_OPERATORS.includes(comparisonOperator);
2061
+ const escapeValue = !NUMERIC_ATTRIBUTE_TYPES.includes(type) && preparedValue !== null;
2062
+
2063
+ if (isBetweenOutside && Array.isArray(preparedValue) && preparedValue[0] !== undefined) {
2064
+ return OPERATOR_CONDITION_REMAP[comparisonOperator] + "(" + attribute + ", " + formatValue(preparedValue[0], isDate) + ", " + formatValue(preparedValue[1], isDate) + ")";
2065
+ }
2066
+
2067
+ const formattedValue = Array.isArray(preparedValue) ? preparedValue.map(val => formatValue(val, isDate)) : formatValue(preparedValue, isDate);
2068
+ const nulledValue = lodash.isNil(preparedValue) ? "{null}" : formattedValue;
2069
+ const valueEscaped = escapeValue && typeof nulledValue === "string" ? "'" + condition.Char.escapeSpecChars(addOperationToValue(nulledValue, comparisonOperator)) + "'" : nulledValue;
2070
+ return attribute + " " + operator + " " + valueEscaped;
2071
+ }
2072
+ function createConditionString(condition) {
2073
+ if (Array.isArray(condition)) {
2074
+ return "( " + formatCondition(condition[0]) + " " + condition[0].operation + " " + formatCondition(condition[1]) + " )";
2075
+ }
2076
+
2077
+ return formatCondition(condition);
2078
+ }
2079
+ function createCondition(_ref) {
2080
+ let {
2081
+ attribute,
2082
+ operation,
2083
+ value
2084
+ } = _ref;
2085
+ const comparisonOperator = comparisonOperatorMapReversed[operation];
2086
+ const convertedResult = convertOperatorValue(value, comparisonOperator);
2087
+ return _extends({
2088
+ attribute
2089
+ }, convertedResult);
2090
+ }
2091
+
2092
+ function convertOperatorValue(value, comparisonOperator) {
2093
+ if (typeof value === "string") {
2094
+ const operatorIndex = +(comparisonOperator === exports.ComparisonOperator.NotEquals);
2095
+
2096
+ if (value.startsWith(condition.Char.PERCENTAGE) && value.endsWith(condition.Char.PERCENTAGE)) {
2097
+ return {
2098
+ value: value.slice(1, -1),
2099
+ comparisonOperator: CONTAINS_OPERATORS[operatorIndex]
2100
+ };
2101
+ }
2102
+
2103
+ if (value.startsWith(condition.Char.PERCENTAGE)) {
2104
+ return {
2105
+ value: value.slice(1),
2106
+ comparisonOperator: ENDS_WITH_OPERATORS[operatorIndex]
2107
+ };
2108
+ }
2109
+
2110
+ if (value.endsWith(condition.Char.PERCENTAGE)) {
2111
+ return {
2112
+ value: value.slice(0, -1),
2113
+ comparisonOperator: STARTS_WITH_OPERATORS[operatorIndex]
2114
+ };
2115
+ }
2116
+ }
2117
+
2118
+ return {
2119
+ value,
2120
+ comparisonOperator
2121
+ };
2122
+ }
2123
+
2124
+ const addContains = value => "%" + value + "%";
2125
+
2126
+ const addStartsWith = value => value + "%";
2127
+
2128
+ const addEndsWith = value => "%" + value;
2129
+
2130
+ function addOperationToValue(value, operator) {
2131
+ switch (operator) {
2132
+ case exports.ComparisonOperator.Contains:
2133
+ case exports.ComparisonOperator.NotContains:
2134
+ return addContains(value);
2135
+
2136
+ case exports.ComparisonOperator.StartsWith:
2137
+ case exports.ComparisonOperator.NotStartsWith:
2138
+ return addStartsWith(value);
2139
+
2140
+ case exports.ComparisonOperator.EndsWith:
2141
+ case exports.ComparisonOperator.NotEndsWith:
2142
+ return addEndsWith(value);
2143
+
2144
+ case exports.ComparisonOperator.Between:
2145
+ return condition.Char.BETWEEN;
2146
+
2147
+ case exports.ComparisonOperator.Outside:
2148
+ return condition.Char.OUTSIDE;
2149
+
2150
+ default:
2151
+ return value;
2152
+ }
2153
+ }
2154
+
2155
+ const OTHERS_TITLE = 'Другое';
2156
+ const createLegendItem = _ref => {
2157
+ let {
2158
+ attributes,
2159
+ renderTitle,
2160
+ skipDefaultValue,
2161
+ reverse
2162
+ } = _ref;
2163
+ return classification => {
2164
+ const {
2165
+ defaultTitle,
2166
+ defaultValue,
2167
+ values,
2168
+ attribute: attributeName,
2169
+ parameter
2170
+ } = classification;
2171
+ const attribute = attributeName && attributes ? getClassificationAttribute(attributeName, attributes) : undefined;
2172
+ const defaultLegendValue = {
2173
+ title: defaultTitle || OTHERS_TITLE,
2174
+ parameterValue: defaultValue
2175
+ };
2176
+ const legendValues = values.map((value, index) => ({
2177
+ title: renderTitle && renderTitle(_extends({}, value, {
2178
+ attribute
2179
+ }), index),
2180
+ parameterValue: value.parameterValue
2181
+ }));
2182
+ const withDefault = skipDefaultValue ? legendValues : [...legendValues, defaultLegendValue];
2183
+ const reversedValues = reverse ? [...withDefault].reverse() : withDefault;
2184
+ return {
2185
+ title: attribute && attribute.alias || attributeName,
2186
+ attribute,
2187
+ parameter,
2188
+ values: reversedValues
2189
+ };
2190
+ };
2191
+ };
2192
+
2193
+ function isValidParameter(parameter) {
2194
+ return !(parameter != null && parameter.includes("labelSymbol")) && !(parameter != null && parameter.includes("singleObjectSymbol"));
2195
+ }
2196
+
2197
+ function createStyleLegend(style, config) {
2198
+ const {
2199
+ classificationManager,
2200
+ symbol
2201
+ } = style;
2202
+ const items = classificationManager.filter(_ref => {
2203
+ let {
2204
+ parameter
2205
+ } = _ref;
2206
+ return config.parameters && parameter ? config.parameters.includes(parameter) : isValidParameter(parameter);
2207
+ });
2208
+
2209
+ if (!items.length) {
2210
+ return null;
2211
+ }
2212
+
2213
+ return {
2214
+ symbol: unClassify(symbol.singleObjectSymbol || symbol),
2215
+ items: items.map(createLegendItem(config))
2216
+ };
2217
+ }
2218
+
2219
+ function createValueTitle(value, index) {
2220
+ if (value.title) return value.title;
2221
+ if (isRangeClass(value)) return printRangeClass(value, index);
2222
+ if (isUniqueClass(value)) return value.uniqueValue;
2223
+ return '';
2224
+ }
2225
+
2226
+ let FilterCondition = /*#__PURE__*/function () {
2227
+ function FilterCondition(condition$1) {
2228
+ if (condition$1 === void 0) {
2229
+ condition$1 = null;
2230
+ }
2231
+
2232
+ _classCallCheck(this, FilterCondition);
2233
+
2234
+ this.condition = condition$1;
2235
+ this.conditionInterpreter = new condition.ConditionInterpreter(condition$1);
2236
+ }
2237
+
2238
+ _createClass(FilterCondition, [{
2239
+ key: "conditions",
2240
+ get: function get() {
2241
+ const {
2242
+ value
2243
+ } = this.conditionInterpreter;
2244
+
2245
+ if (value instanceof Error) {
2246
+ // TODO handle errors in client notifications
2247
+ console.warn(value.message);
2248
+ }
2249
+
2250
+ return value instanceof Error ? [] : value.expressions.map(createCondition);
2251
+ }
2252
+ }, {
2253
+ key: "conditionOperation",
2254
+ get: function get() {
2255
+ const {
2256
+ value
2257
+ } = this.conditionInterpreter;
2258
+
2259
+ if (value instanceof Error) {
2260
+ return null;
2261
+ }
2262
+
2263
+ const isOrCondition = value.boolOperations.includes(condition.TokenType.BoolOr);
2264
+ const isAndCondition = value.boolOperations.includes(condition.TokenType.BoolAnd);
2265
+
2266
+ if (isOrCondition && isAndCondition) {
2267
+ return null;
2268
+ }
2269
+
2270
+ return isOrCondition ? exports.FilterConditionOperation.OR : isAndCondition ? exports.FilterConditionOperation.AND : null;
2271
+ }
2272
+ }, {
2273
+ key: "isParsingError",
2274
+ value: function isParsingError() {
2275
+ return this.conditionInterpreter.value instanceof Error;
2276
+ }
2277
+ }, {
2278
+ key: "toString",
2279
+ value: function toString() {
2280
+ return this.condition;
2281
+ }
2282
+ }], [{
2283
+ key: "from",
2284
+ value: function from(conditions, operation) {
2285
+ const condition = (conditions == null ? void 0 : conditions.map(createConditionString).join(" " + operation + " ")) || null;
2286
+ return new FilterCondition(condition);
2287
+ }
2288
+ }]);
2289
+
2290
+ return FilterCondition;
2291
+ }();
2292
+
1977
2293
  const isLayerService = value => isObject(value) && "name" in value;
1978
2294
  const getAttributeFromCondition = condition => {
1979
2295
  const parts = condition.split(" ");
@@ -2007,7 +2323,7 @@ const isRangeCondition = condition => condition.includes("(");
2007
2323
  const getSymbolParameterInfo = parameter => {
2008
2324
  return PARAMETER_INFOS[parameter] || DEFAULT_PARAMETER_INFO;
2009
2325
  };
2010
- const formatValue = (value, type, calculatedParameter) => {
2326
+ const formatValue$1 = (value, type, calculatedParameter) => {
2011
2327
  var _ref;
2012
2328
 
2013
2329
  if (type === api.AttributeType.DateTime) {
@@ -2026,7 +2342,7 @@ const formatUniqueClassValue = value => {
2026
2342
  attribute,
2027
2343
  uniqueValue
2028
2344
  } = value;
2029
- return attribute ? formatValue(uniqueValue, attribute.type) : uniqueValue;
2345
+ return attribute ? formatValue$1(uniqueValue, attribute.type) : uniqueValue;
2030
2346
  };
2031
2347
  const getRangeValues$1 = (_ref2, isDouble, isDate, index) => {
2032
2348
  let {
@@ -2077,7 +2393,7 @@ const getTitleFromCondition = condition => {
2077
2393
  return (_parts$ = parts[1]) == null ? void 0 : _parts$.slice(1, -1);
2078
2394
  };
2079
2395
 
2080
- function createValueTitle(paramValue, attributeType, index) {
2396
+ function createValueTitle$1(paramValue, attributeType, index) {
2081
2397
  if (paramValue.title) return paramValue.title;
2082
2398
  const value = {
2083
2399
  parameterValue: getParameterValue(paramValue.value),
@@ -2315,8 +2631,63 @@ const createLegendSymbol = (parameterValue, parameter, classificationsParams, ba
2315
2631
 
2316
2632
  return null;
2317
2633
  };
2318
- const getMinimizedLegendValues = (attributeType, param, index) => {
2319
- return param.values.map(paramValue => {
2634
+ function createHiddenCondition(attributeName, attributeType, value) {
2635
+ let newValue;
2636
+ let comparisonOperator;
2637
+
2638
+ if (isRangeClass(value)) {
2639
+ if (value.from && value.to) {
2640
+ newValue = [value.from, value.to];
2641
+ comparisonOperator = exports.ComparisonOperator.Outside;
2642
+ } else if (value.from) {
2643
+ newValue = value.from;
2644
+ comparisonOperator = exports.ComparisonOperator.LessThan;
2645
+ } else if (value.to) {
2646
+ newValue = value.to;
2647
+ comparisonOperator = exports.ComparisonOperator.GreaterThan;
2648
+ }
2649
+ } else {
2650
+ newValue = value.uniqueValue;
2651
+ comparisonOperator = exports.ComparisonOperator.NotEquals;
2652
+ }
2653
+
2654
+ return new FilterCondition(createConditionString({
2655
+ attribute: attributeName,
2656
+ type: attributeType,
2657
+ comparisonOperator: comparisonOperator,
2658
+ value: newValue
2659
+ })).toString();
2660
+ }
2661
+ const createOtherHiddenCondition = (values, attributeName, attributeType) => {
2662
+ const value = values[values.length - 1];
2663
+ let hiddenCondition;
2664
+
2665
+ if (isRangeClass(value)) {
2666
+ hiddenCondition = new FilterCondition(createConditionString({
2667
+ attribute: attributeName,
2668
+ type: attributeType,
2669
+ comparisonOperator: exports.ComparisonOperator.LessOrEquals,
2670
+ value: value.to || value.from
2671
+ })).toString();
2672
+ } else {
2673
+ const conditions = values.map(val => new FilterCondition(createConditionString({
2674
+ attribute: attributeName,
2675
+ type: attributeType,
2676
+ comparisonOperator: exports.ComparisonOperator.Equals,
2677
+ value: val.uniqueValue
2678
+ })).toString());
2679
+ hiddenCondition = "( " + conditions.filter(Boolean).join(" " + exports.FilterConditionOperation.OR + " ") + " )";
2680
+ }
2681
+
2682
+ return hiddenCondition;
2683
+ };
2684
+ const getMinimizedLegendValues = (attributeName, attributeType, classified, index, otherTitle) => {
2685
+ const other = {
2686
+ title: otherTitle,
2687
+ parameterValue: classified.defaultValue,
2688
+ hiddenCondition: createOtherHiddenCondition(classified.values.map(val => getClassificationValue(val.value, otherTitle, new ClassificationCondition(val.condition))), attributeName, attributeType)
2689
+ };
2690
+ const items = classified.values.map(paramValue => {
2320
2691
  const parameterValue = getParameterValue(paramValue.value);
2321
2692
  const result = {
2322
2693
  parameterValue,
@@ -2330,31 +2701,29 @@ const getMinimizedLegendValues = (attributeType, param, index) => {
2330
2701
  const to = getValueFromConditionPart(paramValue.condition, 2);
2331
2702
  result.from = from ? isNumeric(from) ? +from : formatDate(from) : null;
2332
2703
  result.to = to ? isNumeric(to) ? +to : formatDate(to) : null;
2333
- result.title = createValueTitle(paramValue, attributeType, index);
2704
+ result.title = createValueTitle$1(paramValue, attributeType, index);
2334
2705
  return result;
2335
2706
  }
2336
2707
 
2337
- result.uniqueValue = formatValue(paramValue.value);
2708
+ result.uniqueValue = formatValue$1(paramValue.value);
2338
2709
  result.title = getTitleFromCondition(paramValue.condition);
2710
+ result.hiddenCondition = createHiddenCondition(attributeName, attributeType, getClassificationValue(paramValue.value, result.title, new ClassificationCondition(paramValue.condition)));
2339
2711
  return result;
2340
2712
  });
2713
+ return [...items, other];
2341
2714
  };
2342
- const getMaximizedLegendValues = (attributeType, param, params, classified, symbol, sectionIndex, otherTitle) => {
2715
+ const getMaximizedLegendValues = (attributeName, attributeType, param, params, classified, symbol, sectionIndex, otherTitle) => {
2343
2716
  const other = {
2344
2717
  title: otherTitle,
2345
- symbol: createLegendSymbol(classified.defaultValue, param, params, symbol)
2718
+ symbol: createLegendSymbol(classified.defaultValue, param, params, symbol),
2719
+ hiddenCondition: createOtherHiddenCondition(classified.values.map(val => getClassificationValue(val.value, otherTitle, new ClassificationCondition(val.condition))), attributeName, attributeType)
2346
2720
  };
2347
2721
  const items = classified.values.map((paramValue, index) => {
2348
2722
  const result = {
2349
2723
  symbol: createLegendSymbol(classified.values[index].value, param, params, symbol)
2350
2724
  };
2351
-
2352
- if (isRangeCondition(paramValue.condition)) {
2353
- result.title = createValueTitle(paramValue, attributeType, sectionIndex);
2354
- return result;
2355
- }
2356
-
2357
- result.title = getTitleFromCondition(paramValue.condition);
2725
+ result.title = isRangeCondition(paramValue.condition) ? createValueTitle$1(paramValue, attributeType, sectionIndex) : getTitleFromCondition(paramValue.condition);
2726
+ result.hiddenCondition = createHiddenCondition(attributeName, attributeType, getClassificationValue(classified.values[index].value, result.title, new ClassificationCondition(classified.values[index].condition)));
2358
2727
  return result;
2359
2728
  });
2360
2729
  return [...items, other];
@@ -2492,6 +2861,16 @@ function getAttributeType(layer, attributeName) {
2492
2861
  return attribute ? attribute.type : api.AttributeType.Unknown;
2493
2862
  }
2494
2863
 
2864
+ const getClassificationValue = (parameterValue, title, condition) => _extends({
2865
+ parameterValue,
2866
+ title
2867
+ }, condition.isUnique() ? {
2868
+ uniqueValue: condition.uniqueValue
2869
+ } : {
2870
+ from: condition.range[0],
2871
+ to: condition.range[1]
2872
+ });
2873
+
2495
2874
  const metersToPixels = (meters, _ref) => {
2496
2875
  let {
2497
2876
  painter,
@@ -2574,6 +2953,34 @@ const PARAMETER_INFOS = {
2574
2953
 
2575
2954
  })
2576
2955
  };
2956
+ const OPERATOR_CONDITION_REMAP = {
2957
+ [exports.ComparisonOperator.Equals]: "==",
2958
+ [exports.ComparisonOperator.NotEquals]: "!=",
2959
+ [exports.ComparisonOperator.GreaterThan]: ">",
2960
+ [exports.ComparisonOperator.GreaterOrEquals]: ">=",
2961
+ [exports.ComparisonOperator.LessThan]: "<",
2962
+ [exports.ComparisonOperator.LessOrEquals]: "<=",
2963
+ [exports.ComparisonOperator.Filled]: "!=",
2964
+ [exports.ComparisonOperator.Empty]: "==",
2965
+ [exports.ComparisonOperator.Contains]: "==",
2966
+ [exports.ComparisonOperator.NotContains]: "!=",
2967
+ [exports.ComparisonOperator.StartsWith]: "==",
2968
+ [exports.ComparisonOperator.NotStartsWith]: "!=",
2969
+ [exports.ComparisonOperator.EndsWith]: "==",
2970
+ [exports.ComparisonOperator.NotEndsWith]: "!=",
2971
+ [exports.ComparisonOperator.Between]: "between",
2972
+ [exports.ComparisonOperator.Outside]: "!between"
2973
+ };
2974
+ const BASE_OPERATORS = [exports.ComparisonOperator.Equals, exports.ComparisonOperator.NotEquals];
2975
+ const CONTAINS_OPERATORS = [exports.ComparisonOperator.Contains, exports.ComparisonOperator.NotContains];
2976
+ const FILLED_OPERATORS = [exports.ComparisonOperator.Filled, exports.ComparisonOperator.Empty];
2977
+ const STARTS_WITH_OPERATORS = [exports.ComparisonOperator.StartsWith, exports.ComparisonOperator.NotStartsWith];
2978
+ const ENDS_WITH_OPERATORS = [exports.ComparisonOperator.EndsWith, exports.ComparisonOperator.NotEndsWith];
2979
+ const RANGE_OPERATORS = [exports.ComparisonOperator.LessThan, exports.ComparisonOperator.LessOrEquals, exports.ComparisonOperator.GreaterThan, exports.ComparisonOperator.GreaterOrEquals];
2980
+ const BETWEEN_OPERATORS = [exports.ComparisonOperator.Between, exports.ComparisonOperator.Outside];
2981
+ const numberComparisonOperators = [...BASE_OPERATORS, ...RANGE_OPERATORS, ...FILLED_OPERATORS, ...BETWEEN_OPERATORS];
2982
+ const dateComparisonOperators = [...BASE_OPERATORS, ...RANGE_OPERATORS, ...FILLED_OPERATORS, ...BETWEEN_OPERATORS];
2983
+ const textComparisonOperators = [...BASE_OPERATORS, ...CONTAINS_OPERATORS, ...STARTS_WITH_OPERATORS, ...ENDS_WITH_OPERATORS, ...FILLED_OPERATORS];
2577
2984
 
2578
2985
  (function (SvgSymbolBg) {
2579
2986
  SvgSymbolBg["Rect"] = "rect";
@@ -4042,77 +4449,6 @@ const evaluateFeature = layers => feature => {
4042
4449
  return featureLayer ? featureLayer.evaluateFeature(feature) : feature;
4043
4450
  };
4044
4451
 
4045
- const OTHERS_TITLE = 'Другое';
4046
- const createLegendItem = _ref => {
4047
- let {
4048
- attributes,
4049
- renderTitle,
4050
- skipDefaultValue,
4051
- reverse
4052
- } = _ref;
4053
- return classification => {
4054
- const {
4055
- defaultTitle,
4056
- defaultValue,
4057
- values,
4058
- attribute: attributeName,
4059
- parameter
4060
- } = classification;
4061
- const attribute = attributeName && attributes ? getClassificationAttribute(attributeName, attributes) : undefined;
4062
- const defaultLegendValue = {
4063
- title: defaultTitle || OTHERS_TITLE,
4064
- parameterValue: defaultValue
4065
- };
4066
- const legendValues = values.map((value, index) => ({
4067
- title: renderTitle && renderTitle(_extends({}, value, {
4068
- attribute
4069
- }), index),
4070
- parameterValue: value.parameterValue
4071
- }));
4072
- const withDefault = skipDefaultValue ? legendValues : [...legendValues, defaultLegendValue];
4073
- const reversedValues = reverse ? [...withDefault].reverse() : withDefault;
4074
- return {
4075
- title: attribute && attribute.alias || attributeName,
4076
- attribute,
4077
- parameter,
4078
- values: reversedValues
4079
- };
4080
- };
4081
- };
4082
-
4083
- function isValidParameter(parameter) {
4084
- return !(parameter != null && parameter.includes("labelSymbol")) && !(parameter != null && parameter.includes("singleObjectSymbol"));
4085
- }
4086
-
4087
- function createStyleLegend(style, config) {
4088
- const {
4089
- classificationManager,
4090
- symbol
4091
- } = style;
4092
- const items = classificationManager.filter(_ref => {
4093
- let {
4094
- parameter
4095
- } = _ref;
4096
- return config.parameters && parameter ? config.parameters.includes(parameter) : isValidParameter(parameter);
4097
- });
4098
-
4099
- if (!items.length) {
4100
- return null;
4101
- }
4102
-
4103
- return {
4104
- symbol: unClassify(symbol.singleObjectSymbol || symbol),
4105
- items: items.map(createLegendItem(config))
4106
- };
4107
- }
4108
-
4109
- function createValueTitle$1(value, index) {
4110
- if (value.title) return value.title;
4111
- if (isRangeClass(value)) return printRangeClass(value, index);
4112
- if (isUniqueClass(value)) return value.uniqueValue;
4113
- return '';
4114
- }
4115
-
4116
4452
  function formatArea(num) {
4117
4453
  let result = num;
4118
4454
  let measure = 'м²';
@@ -4175,7 +4511,7 @@ const useLegend = (style, config) => React.useMemo(() => {
4175
4511
  }, [style, config]);
4176
4512
 
4177
4513
  const DEFAULT_LEGEND_CONFIG = {
4178
- renderTitle: createValueTitle$1
4514
+ renderTitle: createValueTitle
4179
4515
  };
4180
4516
  const useLayerLegend = (layer, config) => {
4181
4517
  const {
@@ -5589,7 +5925,7 @@ const ItemText = /*#__PURE__*/styled__default.div(_templateObject2$4 || (_templa
5589
5925
  });
5590
5926
  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"])));
5591
5927
  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"])));
5592
- 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 => {
5928
+ 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 => {
5593
5929
  let {
5594
5930
  isClusterFillColor
5595
5931
  } = _ref2;
@@ -6000,11 +6336,14 @@ const LegendSymbolRenderer = /*#__PURE__*/React.memo(_ref => {
6000
6336
 
6001
6337
  const MaximizedLegend = _ref => {
6002
6338
  let {
6339
+ layerName,
6003
6340
  symbol: sectionSymbol,
6004
6341
  parameter,
6005
6342
  values,
6006
6343
  index: sectionIndex,
6007
- attributeType
6344
+ attributeType,
6345
+ hiddenLegends,
6346
+ toggleHiddenLegend
6008
6347
  } = _ref;
6009
6348
  const {
6010
6349
  t
@@ -6044,19 +6383,22 @@ const MaximizedLegend = _ref => {
6044
6383
 
6045
6384
  return React__default.createElement(React__default.Fragment, null, columns.map(renderColumn));
6046
6385
  }, [isDate, renderColumn, t]);
6386
+ const isHidden = React.useCallback(hiddenCondition => !!(hiddenLegends != null && hiddenLegends.includes(hiddenCondition)), [hiddenLegends]);
6047
6387
  const renderLegend = React.useCallback((_ref2, index) => {
6048
6388
  var _parameterValue$value;
6049
6389
 
6050
6390
  let {
6051
6391
  symbol,
6052
- title
6053
- /* , hiddenCondition*/
6054
-
6392
+ title,
6393
+ hiddenCondition
6055
6394
  } = _ref2;
6056
- if (!symbol) return null; // const isClusterFillColor = checkIsClusterFillColor(symbol, parameter);
6057
-
6395
+ if (!symbol) return null;
6396
+ const isClusterFillColor$1 = isClusterFillColor(symbol, parameter);
6058
6397
  return React__default.createElement(ClassifiedItem, {
6059
- key: sectionIndex + title + index
6398
+ key: sectionIndex + title + index,
6399
+ isHidden: isHidden(hiddenCondition),
6400
+ isClusterFillColor: isClusterFillColor$1,
6401
+ onClick: () => toggleHiddenLegend == null ? void 0 : toggleHiddenLegend(layerName, hiddenCondition)
6060
6402
  }, isSize || isStrokeWidth || isStrokeColor ? React__default.createElement(MapLegendItems, {
6061
6403
  parameter: parameter,
6062
6404
  isSize: isSize,
@@ -6069,11 +6411,9 @@ const MaximizedLegend = _ref => {
6069
6411
  value: (parameterValue == null ? void 0 : (_parameterValue$value = parameterValue.values[index]) == null ? void 0 : _parameterValue$value.value) || (parameterValue == null ? void 0 : parameterValue.defaultValue),
6070
6412
  parameter: parameter
6071
6413
  })) : React__default.createElement(SymbolContainer, null, React__default.createElement(LegendSymbolRenderer, {
6072
- symbol: symbol
6073
- /* isClusterFillColor ? symbol : getExtractedSymbol(symbol, true)*/
6074
-
6414
+ symbol: isClusterFillColor$1 ? symbol : getExtractedSymbol(symbol, true)
6075
6415
  })), renderItemText(title, index));
6076
- }, [isSize, isStrokeColor, isStrokeWidth, parameter, parameterValue == null ? void 0 : parameterValue.defaultValue, parameterValue == null ? void 0 : parameterValue.values, renderItemText, sectionIndex]);
6416
+ }, [isSize, isStrokeColor, isStrokeWidth, parameter, parameterValue == null ? void 0 : parameterValue.defaultValue, parameterValue == null ? void 0 : parameterValue.values, renderItemText, sectionIndex, hiddenLegends, toggleHiddenLegend]);
6077
6417
  return React__default.createElement(React__default.Fragment, null, values.map(renderLegend));
6078
6418
  };
6079
6419
 
@@ -6089,10 +6429,14 @@ const LegendParameterDescription = _ref => {
6089
6429
 
6090
6430
  const LegendSection = _ref => {
6091
6431
  let {
6432
+ layerName,
6092
6433
  symbol,
6093
- param,
6094
- params,
6434
+ parameter,
6435
+ parameters,
6095
6436
  classified,
6437
+ hiddenLegends,
6438
+ toggleHiddenLegend,
6439
+ attributeName,
6096
6440
  attributeTitle,
6097
6441
  attributeType,
6098
6442
  index
@@ -6102,54 +6446,58 @@ const LegendSection = _ref => {
6102
6446
  } = reactI18next.useTranslation("common");
6103
6447
  const [isExpanded, toggleExpanded] = useToggle();
6104
6448
  return React__default.createElement(MapLegendSectionContainer, null, React__default.createElement(MapLegendHeader, null, attributeTitle), React__default.createElement(LegendParameterDescription, {
6105
- parameter: param
6449
+ parameter: parameter
6106
6450
  }), isExpanded ? React__default.createElement(MaximizedLegend, {
6107
- key: param,
6451
+ layerName: layerName,
6108
6452
  symbol: symbol,
6109
- parameter: param,
6453
+ hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
6454
+ toggleHiddenLegend: toggleHiddenLegend,
6455
+ parameter: parameter,
6110
6456
  attributeType: attributeType,
6111
6457
  index: index,
6112
- values: getMaximizedLegendValues(attributeType, param, params, classified, symbol, index, t("classification.other"))
6458
+ values: getMaximizedLegendValues(attributeName, attributeType, parameter, parameters, classified, symbol, index, t("classification.other"))
6113
6459
  }) : React__default.createElement(MinimizedLegend, {
6114
- key: param,
6115
- values: getMinimizedLegendValues(attributeType, classified, index),
6116
- defaultValue: classified.defaultValue,
6117
- parameter: param,
6118
- attributeType: attributeType
6460
+ values: getMinimizedLegendValues(attributeName, attributeType, classified, index, t("classification.other")),
6461
+ hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
6462
+ parameter: parameter
6119
6463
  }), React__default.createElement(MapLegendExpandButton, {
6120
6464
  onClick: toggleExpanded
6121
6465
  }, t(isExpanded ? "toggleMenu" : "Развернуть")));
6122
6466
  };
6123
6467
 
6124
- const Legend = _ref => {
6468
+ const _excluded$3 = ["layerInfo"];
6469
+ const Legend = /*#__PURE__*/React.memo(_ref => {
6125
6470
  let {
6126
6471
  layerInfo
6127
- } = _ref;
6472
+ } = _ref,
6473
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
6474
+
6128
6475
  const classified = getClassified(layerInfo);
6129
- const params = Object.keys(classified);
6476
+ const parameters = Object.keys(classified);
6130
6477
  const attributes = getLayerAttributes(layerInfo.layerDefinition);
6131
6478
  return React__default.createElement(MapLegendContainer, null, Object.keys(classified).map((param, index) => {
6132
- var _classified$param$val, _attributes$find, _layerInfo$style;
6479
+ var _classified$param$val, _layerInfo$style, _attributes$find;
6133
6480
 
6134
6481
  const attributeName = getAttributeNameFromCondition((_classified$param$val = classified[param].values[0]) == null ? void 0 : _classified$param$val.condition);
6135
- const attributeAlias = (_attributes$find = attributes.find(_ref2 => {
6136
- let {
6137
- name
6138
- } = _ref2;
6139
- return name === attributeName;
6140
- })) == null ? void 0 : _attributes$find.alias;
6141
- return React__default.createElement(LegendSection, {
6482
+ return React__default.createElement(LegendSection, Object.assign({
6142
6483
  key: index,
6484
+ layerName: layerInfo.name,
6143
6485
  symbol: (_layerInfo$style = layerInfo.style) == null ? void 0 : _layerInfo$style.symbol,
6486
+ attributeName: attributeName,
6487
+ attributeTitle: ((_attributes$find = attributes.find(_ref2 => {
6488
+ let {
6489
+ name
6490
+ } = _ref2;
6491
+ return name === attributeName;
6492
+ })) == null ? void 0 : _attributes$find.alias) || attributeName,
6144
6493
  attributeType: getAttributeType(layerInfo, attributeName),
6145
- attributeTitle: attributeAlias || attributeName,
6146
6494
  classified: classified[param],
6147
- param: param,
6148
- params: params,
6495
+ parameter: param,
6496
+ parameters: parameters,
6149
6497
  index: index
6150
- });
6498
+ }, rest));
6151
6499
  }));
6152
- };
6500
+ });
6153
6501
 
6154
6502
  const Map = _ref => {
6155
6503
  let {
@@ -6374,12 +6722,12 @@ let MeasureTool = /*#__PURE__*/function (_React$Component) {
6374
6722
  return MeasureTool;
6375
6723
  }(React__default.Component);
6376
6724
 
6377
- const _excluded$3 = ["isActive"];
6725
+ const _excluded$4 = ["isActive"];
6378
6726
  const Measurer = _ref => {
6379
6727
  let {
6380
6728
  isActive
6381
6729
  } = _ref,
6382
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
6730
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
6383
6731
 
6384
6732
  const {
6385
6733
  map,
@@ -6493,7 +6841,7 @@ const TooltipComponent = /*#__PURE__*/styled__default.div(_templateObject11$2 ||
6493
6841
  return withArrow && corner;
6494
6842
  });
6495
6843
 
6496
- const _excluded$4 = ["features", "map", "center", "component", "zIndex", "children", "content", "onEachFeature", "clickMode"];
6844
+ const _excluded$5 = ["features", "map", "center", "component", "zIndex", "children", "content", "onEachFeature", "clickMode"];
6497
6845
 
6498
6846
  const {
6499
6847
  Provider,
@@ -6512,7 +6860,7 @@ const Tooltip = _ref => {
6512
6860
  onEachFeature,
6513
6861
  clickMode
6514
6862
  } = _ref,
6515
- props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
6863
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
6516
6864
 
6517
6865
  const onTooltip = useTooltip(zIndex);
6518
6866
  React.useEffect(() => {
@@ -6554,8 +6902,11 @@ const DraggableMarker = _ref => {
6554
6902
  };
6555
6903
 
6556
6904
  exports.ArrowLineMiterRender = ArrowLineMiterRender;
6905
+ exports.BASE_OPERATORS = BASE_OPERATORS;
6906
+ exports.BETWEEN_OPERATORS = BETWEEN_OPERATORS;
6557
6907
  exports.BaseMeasureToolCreator = BaseMeasureToolCreator;
6558
6908
  exports.BaseMeasureToolEditor = BaseMeasureToolEditor;
6909
+ exports.CONTAINS_OPERATORS = CONTAINS_OPERATORS;
6559
6910
  exports.CRS_MAP = CRS_MAP;
6560
6911
  exports.CardAttributes = CardAttributes;
6561
6912
  exports.CardHeader = CardHeader;
@@ -6579,6 +6930,7 @@ exports.DEFAULT_SYMBOL_SIZE = DEFAULT_SYMBOL_SIZE;
6579
6930
  exports.DEFAULT_SYMBOL_STROKE_COLOR = DEFAULT_SYMBOL_STROKE_COLOR;
6580
6931
  exports.DEFAULT_SYMBOL_WITH_BG_SIZE = DEFAULT_SYMBOL_WITH_BG_SIZE;
6581
6932
  exports.DraggableMarker = DraggableMarker;
6933
+ exports.ENDS_WITH_OPERATORS = ENDS_WITH_OPERATORS;
6582
6934
  exports.EXTRA_BORDER_SIZE = EXTRA_BORDER_SIZE;
6583
6935
  exports.EvergisCard = EvergisCard;
6584
6936
  exports.EvergisCardAttribute = EvergisCardAttribute;
@@ -6605,6 +6957,7 @@ exports.EvergisSelectLayer = EvergisSelectLayer;
6605
6957
  exports.EvergisSelectProvider = EvergisSelectProvider;
6606
6958
  exports.EvergisStyle = EvergisStyle;
6607
6959
  exports.EvergisTileLayer = EvergisTileLayer;
6960
+ exports.FILLED_OPERATORS = FILLED_OPERATORS;
6608
6961
  exports.FeatureLayer = FeatureLayer;
6609
6962
  exports.Fullscreen = Fullscreen;
6610
6963
  exports.GEOMETRY_ATTRIBUTE = GEOMETRY_ATTRIBUTE;
@@ -6644,13 +6997,16 @@ exports.MinimizedLegend = MinimizedLegend;
6644
6997
  exports.MinimizedLegendContainer = MinimizedLegendContainer;
6645
6998
  exports.NO_CONTENT_VALUE = NO_CONTENT_VALUE;
6646
6999
  exports.Noop = Noop;
7000
+ exports.OPERATOR_CONDITION_REMAP = OPERATOR_CONDITION_REMAP;
6647
7001
  exports.PARAMETER_INFOS = PARAMETER_INFOS;
6648
7002
  exports.PREVIEW_LIMITS = PREVIEW_LIMITS;
7003
+ exports.RANGE_OPERATORS = RANGE_OPERATORS;
6649
7004
  exports.SGisBrushFill = SGisBrushFill;
6650
7005
  exports.SGisImageFill = SGisImageFill;
6651
7006
  exports.SGisPolygonSymbol = SGisPolygonSymbol;
6652
7007
  exports.SGisPolylineSymbol = SGisPolylineSymbol;
6653
7008
  exports.SOLID_INTERVALS = SOLID_INTERVALS;
7009
+ exports.STARTS_WITH_OPERATORS = STARTS_WITH_OPERATORS;
6654
7010
  exports.SVGPoly = SVGPoly;
6655
7011
  exports.SYMBOL_CLASSIFICATION = SYMBOL_CLASSIFICATION;
6656
7012
  exports.SYMBOL_LIMITS = SYMBOL_LIMITS;
@@ -6689,11 +7045,14 @@ exports.clamp = clamp;
6689
7045
  exports.convertSvgToBase64 = convertSvgToBase64;
6690
7046
  exports.copyRings = copyRings;
6691
7047
  exports.createCompositeSymbol = createCompositeSymbol;
7048
+ exports.createHiddenCondition = createHiddenCondition;
6692
7049
  exports.createLabelSymbol = createLabelSymbol;
6693
7050
  exports.createLegendSymbol = createLegendSymbol;
7051
+ exports.createOtherHiddenCondition = createOtherHiddenCondition;
6694
7052
  exports.createStyleLegend = createStyleLegend;
6695
7053
  exports.createSvgGradient = createSvgGradient;
6696
- exports.createValueTitle = createValueTitle$1;
7054
+ exports.createValueTitle = createValueTitle;
7055
+ exports.dateComparisonOperators = dateComparisonOperators;
6697
7056
  exports.defaultOffset = defaultOffset;
6698
7057
  exports.defineStrokeStylePreset = defineStrokeStylePreset;
6699
7058
  exports.deserializeSymbol = deserializeSymbol;
@@ -6709,7 +7068,7 @@ exports.formatLength = formatLength;
6709
7068
  exports.formatPolygonMeasure = formatPolygonMeasure;
6710
7069
  exports.formatRangeClassValue = formatRangeClassValue;
6711
7070
  exports.formatUniqueClassValue = formatUniqueClassValue;
6712
- exports.formatValue = formatValue;
7071
+ exports.formatValue = formatValue$1;
6713
7072
  exports.getAttributeFromCondition = getAttributeFromCondition;
6714
7073
  exports.getAttributeNameFromClassified = getAttributeNameFromClassified;
6715
7074
  exports.getAttributeNameFromCondition = getAttributeNameFromCondition;
@@ -6722,6 +7081,7 @@ exports.getDashStylePreset = getDashStylePreset;
6722
7081
  exports.getDate = getDate;
6723
7082
  exports.getDimensions = getDimensions;
6724
7083
  exports.getExprFromCondition = getExprFromCondition;
7084
+ exports.getExtractedSymbol = getExtractedSymbol;
6725
7085
  exports.getFeatureSymbol = getFeatureSymbol;
6726
7086
  exports.getHexColor = getHexColor;
6727
7087
  exports.getLayerDefinition = getLayerDefinition;
@@ -6747,6 +7107,8 @@ exports.getValueFromConditionPart = getValueFromConditionPart;
6747
7107
  exports.isArrowLineMiter = isArrowLineMiter;
6748
7108
  exports.isCalculatedParameter = isCalculatedParameter;
6749
7109
  exports.isCircleLineMiter = isCircleLineMiter;
7110
+ exports.isClusterFillColor = isClusterFillColor;
7111
+ exports.isClusterSymbol = isClusterSymbol;
6750
7112
  exports.isCompositeSymbol = isCompositeSymbol;
6751
7113
  exports.isDashedBrush = isDashedBrush;
6752
7114
  exports.isFilledLineMitter = isFilledLineMitter;
@@ -6817,6 +7179,7 @@ exports.measureAreaSymbol = measureAreaSymbol;
6817
7179
  exports.measureLengthSymbol = measureLengthSymbol;
6818
7180
  exports.measurePolygonSnapSymbol = measurePolygonSnapSymbol;
6819
7181
  exports.metersToPixels = metersToPixels;
7182
+ exports.numberComparisonOperators = numberComparisonOperators;
6820
7183
  exports.numberWithSpaces = numberWithSpaces;
6821
7184
  exports.packStyle = packStyle;
6822
7185
  exports.phoneHref = phoneHref;
@@ -6834,6 +7197,7 @@ exports.solidStrokeStylePreset = solidStrokeStylePreset;
6834
7197
  exports.strokeStylePresets = strokeStylePresets;
6835
7198
  exports.symbolParameterWalker = symbolParameterWalker;
6836
7199
  exports.symbolTypeGuard = symbolTypeGuard;
7200
+ exports.textComparisonOperators = textComparisonOperators;
6837
7201
  exports.toIntervals = toIntervals;
6838
7202
  exports.toLineDash = toLineDash;
6839
7203
  exports.unClassify = unClassify;