@evergis/react 4.0.35 → 4.0.37

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,9 +7,9 @@ import { AttributeType, STORAGE_TOKEN_KEY, generateId, parseJwt, STORAGE_REFRESH
7
7
  import Gradient from 'javascript-color-gradient';
8
8
  import { Color as Color$1 } from '@evergis/color';
9
9
  import { isValid, format, parseJSON, parseISO, toDate } from 'date-fns';
10
+ import { isNil, uniqueId, isEmpty, isEqual, unescape } from 'lodash';
10
11
  import { ru } from 'date-fns/locale/ru';
11
12
  import { enUS } from 'date-fns/locale/en-US';
12
- import { uniqueId, isNil, isEmpty, isEqual, unescape } from 'lodash';
13
13
  import { HubConnectionBuilder, HttpTransportType, LogLevel } from '@microsoft/signalr';
14
14
  import { changeProps, returnFound } from 'find-and';
15
15
  import { jsPDF } from 'jspdf';
@@ -34,180 +34,180 @@ const AddFeatureButton = ({ title, icon = "feature_add" /* , layerName, geometry
34
34
  return (jsx(IconButton, { kind: icon, primary: true, onClick: handleAddFeature, children: title }));
35
35
  };
36
36
 
37
- const ChartTooltipTable = styled.table `
38
- td {
39
- padding: 0;
40
- }
41
-
42
- tr:not(:last-child) td {
43
- padding-bottom: 0.375rem;
44
- }
37
+ const ChartTooltipTable = styled.table `
38
+ td {
39
+ padding: 0;
40
+ }
41
+
42
+ tr:not(:last-child) td {
43
+ padding-bottom: 0.375rem;
44
+ }
45
45
  `;
46
- const ChartTooltip = styled(Flex) `
47
- flex-wrap: nowrap;
48
- background: rgb(48, 69, 79);
49
- border-radius: 0.25rem;
50
- color: white;
51
-
52
- :not(:last-child) {
53
- margin-bottom: 0.25rem;
54
- }
46
+ const ChartTooltip = styled(Flex) `
47
+ flex-wrap: nowrap;
48
+ background: rgb(48, 69, 79);
49
+ border-radius: 0.25rem;
50
+ color: white;
51
+
52
+ :not(:last-child) {
53
+ margin-bottom: 0.25rem;
54
+ }
55
55
  `;
56
- const ChartTooltipLabel = styled.div `
57
- margin-right: 0.25rem;
58
- `;
59
- const ChartTooltipColor = styled.div `
60
- width: 0.625rem;
61
- height: 0.625rem;
62
- background-color: ${({ $color }) => $color};
63
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
64
- margin-right: 0.25rem;
65
- `;
66
- const ChartLegendColor$1 = styled.div `
67
- width: 0.5rem;
68
- height: 0.5rem;
69
- background-color: ${({ $color }) => $color};
70
- border-radius: 0.125rem;
71
- `;
72
- const ChartLegendValue = styled.div `
73
- opacity: 0.65;
74
- `;
75
- const ChartTooltipRow = styled(Flex) `
76
- display: flex;
77
- flex-direction: row;
78
- flex-wrap: nowrap;
79
- align-items: center;
80
- margin-top: 0.5rem;
81
- line-height: 0;
82
-
83
- ${ChartLegendColor$1} {
84
- margin-right: 0.25rem;
85
- }
56
+ const ChartTooltipLabel = styled.div `
57
+ margin-right: 0.25rem;
58
+ `;
59
+ const ChartTooltipColor = styled.div `
60
+ width: 0.625rem;
61
+ height: 0.625rem;
62
+ background-color: ${({ $color }) => $color};
63
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
64
+ margin-right: 0.25rem;
65
+ `;
66
+ const ChartLegendColor$1 = styled.div `
67
+ width: 0.5rem;
68
+ height: 0.5rem;
69
+ background-color: ${({ $color }) => $color};
70
+ border-radius: 0.125rem;
71
+ `;
72
+ const ChartLegendValue = styled.div `
73
+ opacity: 0.65;
74
+ `;
75
+ const ChartTooltipRow = styled(Flex) `
76
+ display: flex;
77
+ flex-direction: row;
78
+ flex-wrap: nowrap;
79
+ align-items: center;
80
+ margin-top: 0.5rem;
81
+ line-height: 0;
82
+
83
+ ${ChartLegendColor$1} {
84
+ margin-right: 0.25rem;
85
+ }
86
86
  `;
87
- const ChartTooltipName = styled.div `
88
- margin-right: 1rem;
89
- opacity: 0.65;
90
- `;
91
- const PieChartCenter = styled.div `
92
- position: absolute;
93
- top: 50%;
94
- left: 50%;
95
- transform: translate(-50%, -50%);
96
- text-align: center;
97
- font-weight: bold;
98
- font-size: 1.5rem;
99
- `;
100
- const ChartWrapperContainer = styled.div `
101
- position: relative;
102
- width: 100%;
103
- `;
104
- const Tooltip = styled.div `
105
- position: relative;
106
- border-radius: 0.25rem;
107
- background-color: rgba(28, 33, 48);
108
- padding: 0.5rem;
109
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.15);
110
- font-size: 0.75rem;
111
- transform: ${({ transform }) => transform};
112
- color: white;
113
-
114
- :before {
115
- position: absolute;
116
- display: block;
117
- content: "";
118
- width: 0;
119
- height: 0;
120
- }
87
+ const ChartTooltipName = styled.div `
88
+ margin-right: 1rem;
89
+ opacity: 0.65;
90
+ `;
91
+ const PieChartCenter = styled.div `
92
+ position: absolute;
93
+ top: 50%;
94
+ left: 50%;
95
+ transform: translate(-50%, -50%);
96
+ text-align: center;
97
+ font-weight: bold;
98
+ font-size: 1.5rem;
99
+ `;
100
+ const ChartWrapperContainer = styled.div `
101
+ position: relative;
102
+ width: 100%;
103
+ `;
104
+ const Tooltip = styled.div `
105
+ position: relative;
106
+ border-radius: 0.25rem;
107
+ background-color: rgba(28, 33, 48);
108
+ padding: 0.5rem;
109
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.15);
110
+ font-size: 0.75rem;
111
+ transform: ${({ transform }) => transform};
112
+ color: white;
113
+
114
+ :before {
115
+ position: absolute;
116
+ display: block;
117
+ content: "";
118
+ width: 0;
119
+ height: 0;
120
+ }
121
121
  `;
122
- const LineChartStyles = createGlobalStyle `
123
- .dashboardLineChartTooltip.${lineChartClassNames.lineChartMouseLabel} {
124
- .${lineChartClassNames.lineChartLabelFlex} {
125
- justify-content: center;
126
- align-items: flex-end;
127
-
128
- ${Tooltip} {
129
- margin: 0 0 12px 0;
130
-
131
- :before {
132
- top: auto;
133
- bottom: 0;
134
- left: 50%;
135
- transform: translate(-50%, 100%);
136
- border-left: 4px solid transparent;
137
- border-right: 4px solid transparent;
138
- border-top: 4px solid rgba(28, 33, 48, 0.9);
139
- }
140
- }
141
- }
142
- }
143
-
144
- .${lineChartClassNames.lineChartYScaleGlobal}, .${lineChartClassNames.lineChartXScaleGlobal} {
145
- .domain {
146
- visibility: hidden;
147
- }
148
-
149
- .tick {
150
- text {
151
- fill: ${({ theme: { palette } }) => palette.textDisabled};
152
- }
153
-
154
- line {
155
- visibility: hidden;
156
- }
157
- }
158
- }
159
-
160
- .${lineChartClassNames.lineChartXScaleGlobal} {
161
- .tick {
162
- :first-of-type {
163
- text {
164
- text-anchor: start;
165
- }
166
- }
167
-
168
- :last-of-type {
169
- text {
170
- text-anchor: end;
171
- }
172
- }
173
- }
174
- }
175
-
176
- .${lineChartClassNames.lineChartLine} {
177
- stroke-width: 2px;
178
- }
179
-
180
- .${lineChartClassNames.lineChartLabel} {
181
- color: ${({ theme: { palette } }) => palette.textPrimary};
182
- }
183
-
184
- .${lineChartClassNames.lineChartMouseCircle} {
185
- stroke: #ffffff;
186
- stroke-width: 2px;
187
- }
188
-
189
- .${lineChartClassNames.lineChartGridLineX} {
190
- stroke: ${({ theme: { palette } }) => palette.element};
191
- }
192
-
193
- text {
194
- fill: ${({ theme: { palette } }) => palette.textDisabled};
195
- }
122
+ const LineChartStyles = createGlobalStyle `
123
+ .dashboardLineChartTooltip.${lineChartClassNames.lineChartMouseLabel} {
124
+ .${lineChartClassNames.lineChartLabelFlex} {
125
+ justify-content: center;
126
+ align-items: flex-end;
127
+
128
+ ${Tooltip} {
129
+ margin: 0 0 12px 0;
130
+
131
+ :before {
132
+ top: auto;
133
+ bottom: 0;
134
+ left: 50%;
135
+ transform: translate(-50%, 100%);
136
+ border-left: 4px solid transparent;
137
+ border-right: 4px solid transparent;
138
+ border-top: 4px solid rgba(28, 33, 48, 0.9);
139
+ }
140
+ }
141
+ }
142
+ }
143
+
144
+ .${lineChartClassNames.lineChartYScaleGlobal}, .${lineChartClassNames.lineChartXScaleGlobal} {
145
+ .domain {
146
+ visibility: hidden;
147
+ }
148
+
149
+ .tick {
150
+ text {
151
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
152
+ }
153
+
154
+ line {
155
+ visibility: hidden;
156
+ }
157
+ }
158
+ }
159
+
160
+ .${lineChartClassNames.lineChartXScaleGlobal} {
161
+ .tick {
162
+ :first-of-type {
163
+ text {
164
+ text-anchor: start;
165
+ }
166
+ }
167
+
168
+ :last-of-type {
169
+ text {
170
+ text-anchor: end;
171
+ }
172
+ }
173
+ }
174
+ }
175
+
176
+ .${lineChartClassNames.lineChartLine} {
177
+ stroke-width: 2px;
178
+ }
179
+
180
+ .${lineChartClassNames.lineChartLabel} {
181
+ color: ${({ theme: { palette } }) => palette.textPrimary};
182
+ }
183
+
184
+ .${lineChartClassNames.lineChartMouseCircle} {
185
+ stroke: #ffffff;
186
+ stroke-width: 2px;
187
+ }
188
+
189
+ .${lineChartClassNames.lineChartGridLineX} {
190
+ stroke: ${({ theme: { palette } }) => palette.element};
191
+ }
192
+
193
+ text {
194
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
195
+ }
196
196
  `;
197
- const StyledBarChart = styled(BarChart$1) `
198
- .domain {
199
- display: none;
200
- }
201
-
202
- .tick {
203
- text {
204
- fill: ${({ theme: { palette } }) => palette.textDisabled};
205
- }
206
-
207
- line {
208
- visibility: hidden;
209
- }
210
- }
197
+ const StyledBarChart = styled(BarChart$1) `
198
+ .domain {
199
+ display: none;
200
+ }
201
+
202
+ .tick {
203
+ text {
204
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
205
+ }
206
+
207
+ line {
208
+ visibility: hidden;
209
+ }
210
+ }
211
211
  `;
212
212
 
213
213
  function range(start, stop, step) {
@@ -3463,42 +3463,42 @@ const BASE_CONTAINER_STYLE = {
3463
3463
  marginBottom: "1rem",
3464
3464
  };
3465
3465
 
3466
- const StackBarContainer = styled(Flex) `
3467
- flex-wrap: nowrap;
3468
- width: 100%;
3466
+ const StackBarContainer = styled(Flex) `
3467
+ flex-wrap: nowrap;
3468
+ width: 100%;
3469
3469
  `;
3470
- const StackBarHeader = styled(Flex) `
3471
- justify-content: space-between;
3472
- margin-bottom: 0.375rem;
3473
- font-size: 0.75rem;
3470
+ const StackBarHeader = styled(Flex) `
3471
+ justify-content: space-between;
3472
+ margin-bottom: 0.375rem;
3473
+ font-size: 0.75rem;
3474
3474
  `;
3475
- const StackBarSection = styled.div `
3476
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3477
- width: ${({ $width }) => $width}%;
3478
- height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3479
- margin: 0 0.5px;
3480
- background-color: ${({ $color }) => $color};
3481
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3482
- transition: opacity ${transition.release}, background-color ${transition.release};
3483
-
3484
- :first-child {
3485
- border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3486
- border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3487
- }
3488
-
3489
- :last-child {
3490
- border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3491
- border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3492
- }
3475
+ const StackBarSection = styled.div `
3476
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3477
+ width: ${({ $width }) => $width}%;
3478
+ height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3479
+ margin: 0 0.5px;
3480
+ background-color: ${({ $color }) => $color};
3481
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3482
+ transition: opacity ${transition.release}, background-color ${transition.release};
3483
+
3484
+ :first-child {
3485
+ border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3486
+ border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3487
+ }
3488
+
3489
+ :last-child {
3490
+ border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3491
+ border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3492
+ }
3493
3493
  `;
3494
- const StackBarAlias = styled.div `
3495
- color: ${({ theme: { palette } }) => palette.textSecondary};
3494
+ const StackBarAlias = styled.div `
3495
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3496
3496
  `;
3497
3497
  const StackBarTotal = styled(Flex) ``;
3498
3498
  const StackBarValue = styled.div ``;
3499
- const StackBarUnits = styled.div `
3500
- margin-left: 0.25rem;
3501
- color: ${({ theme: { palette } }) => palette.textSecondary};
3499
+ const StackBarUnits = styled.div `
3500
+ margin-left: 0.25rem;
3501
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3502
3502
  `;
3503
3503
 
3504
3504
  const transparentizeColor = (originalColor, percent) => {
@@ -3827,15 +3827,16 @@ const formatNumberValue = (stringFormat, value, type, noUnits = false) => {
3827
3827
  return currentValue?.toString() || "";
3828
3828
  };
3829
3829
  const formatAttributeValue = ({ t, type, value, stringFormat, noUnits = false }) => {
3830
+ const isNilValue = isNil(value);
3830
3831
  if (type === AttributeType.Point) {
3831
- if (!stringFormat?.format || !value) {
3832
+ if (!stringFormat?.format || isNilValue) {
3832
3833
  return null;
3833
3834
  }
3834
3835
  const { coordinates } = value;
3835
3836
  return formatPointValue({ t, stringFormat, value: coordinates });
3836
3837
  }
3837
3838
  if (type === AttributeType.DateTime) {
3838
- if (!stringFormat?.format || !value)
3839
+ if (!stringFormat?.format || isNilValue)
3839
3840
  return null;
3840
3841
  return formatDateValue(stringFormat, value);
3841
3842
  }
@@ -3856,12 +3857,12 @@ const formatAttributeValue = ({ t, type, value, stringFormat, noUnits = false })
3856
3857
  return formatNumberValue(stringFormat, value, type, noUnits);
3857
3858
  }
3858
3859
  if (type === AttributeType.Json) {
3859
- if (!value || value?.length === 0) {
3860
+ if (isNilValue || value?.length === 0) {
3860
3861
  return "";
3861
3862
  }
3862
3863
  return `${t("total", { ns: "table" })} ${value.length}`;
3863
3864
  }
3864
- return value ? value.toString() : "";
3865
+ return !isNilValue ? value.toString() : "";
3865
3866
  };
3866
3867
  const formatNumber = (number) => {
3867
3868
  let result = "";
@@ -4255,8 +4256,8 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4255
4256
  const customize = useCallback(({ svg }) => {
4256
4257
  svg.style("overflow", "visible");
4257
4258
  svg
4258
- .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4259
- .${lineChartClassNames.lineChartYScaleGlobal} line,
4259
+ .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4260
+ .${lineChartClassNames.lineChartYScaleGlobal} line,
4260
4261
  .domain`)
4261
4262
  .each((_, index, nodes) => {
4262
4263
  nodes[index].remove();
@@ -4327,11 +4328,11 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4327
4328
  .attr("fill", `url(#${gradientId})`)
4328
4329
  .attr("stroke-width", "0")
4329
4330
  .attr("fill-opacity", FILL_OPACITY);
4330
- defs.push(`
4331
- <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4332
- <stop offset="0" stop-color="${color}" stop-opacity="1" />
4333
- <stop offset="1" stop-color="${color}" stop-opacity="0" />
4334
- </linearGradient>
4331
+ defs.push(`
4332
+ <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4333
+ <stop offset="0" stop-color="${color}" stop-opacity="1" />
4334
+ <stop offset="1" stop-color="${color}" stop-opacity="0" />
4335
+ </linearGradient>
4335
4336
  `);
4336
4337
  ref.current = {
4337
4338
  path: newPath,
@@ -4713,104 +4714,104 @@ const formatDataSourceCondition = ({ condition, configFilters, filters, attribut
4713
4714
  : conditionSection.join(splitter);
4714
4715
  };
4715
4716
 
4716
- const DashboardChipsContainer = styled(Flex) `
4717
- flex-wrap: wrap;
4717
+ const DashboardChipsContainer = styled(Flex) `
4718
+ flex-wrap: wrap;
4718
4719
  `;
4719
- const DefaultChipColorMixin = css `
4720
- && {
4721
- color: ${({ theme: { palette } }) => palette.textPrimary};
4722
- }
4723
-
4724
- && > * {
4725
- color: ${({ theme: { palette } }) => palette.textPrimary};
4726
- }
4727
-
4728
- && span[kind]:after {
4729
- color: ${({ theme: { palette } }) => palette.icon};
4730
- }
4720
+ const DefaultChipColorMixin = css `
4721
+ && {
4722
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4723
+ }
4724
+
4725
+ && > * {
4726
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4727
+ }
4728
+
4729
+ && span[kind]:after {
4730
+ color: ${({ theme: { palette } }) => palette.icon};
4731
+ }
4731
4732
  `;
4732
- const CustomChipColorMixin = css `
4733
- && {
4734
- color: ${({ $fontColor }) => $fontColor};
4735
- }
4736
-
4737
- && > * {
4738
- color: ${({ $fontColor }) => $fontColor};
4739
- }
4740
-
4741
- && span[kind]:after {
4742
- color: ${({ $fontColor }) => $fontColor};
4743
- }
4733
+ const CustomChipColorMixin = css `
4734
+ && {
4735
+ color: ${({ $fontColor }) => $fontColor};
4736
+ }
4737
+
4738
+ && > * {
4739
+ color: ${({ $fontColor }) => $fontColor};
4740
+ }
4741
+
4742
+ && span[kind]:after {
4743
+ color: ${({ $fontColor }) => $fontColor};
4744
+ }
4745
+ `;
4746
+ const DashboardChip$1 = styled(Chip) `
4747
+ margin: 0 0.25rem 0.25rem 0;
4748
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4749
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4750
+ white-space: nowrap;
4751
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4752
+ color: ${({ theme: { palette } }) => palette.iconContrast};
4753
+
4754
+ > * {
4755
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4756
+ }
4757
+
4758
+ span[kind] {
4759
+ height: 0.875rem;
4760
+
4761
+ :after {
4762
+ font-size: 0.875rem;
4763
+ }
4764
+ }
4765
+
4766
+ button {
4767
+ width: auto;
4768
+ padding: 0 0.5rem;
4769
+ }
4770
+
4771
+ ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4772
+ ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4744
4773
  `;
4745
- const DashboardChip$1 = styled(Chip) `
4746
- margin: 0 0.25rem 0.25rem 0;
4747
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4748
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4749
- white-space: nowrap;
4750
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4751
- color: ${({ theme: { palette } }) => palette.iconContrast};
4752
-
4753
- > * {
4754
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4755
- }
4756
-
4757
- span[kind] {
4758
- height: 0.875rem;
4759
-
4760
- :after {
4761
- font-size: 0.875rem;
4762
- }
4763
- }
4764
-
4765
- button {
4766
- width: auto;
4767
- padding: 0 0.5rem;
4768
- }
4769
-
4770
- ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4771
- ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4772
- `;
4773
-
4774
- const LayerGroupContainer = styled(Flex) `
4775
- display: flex;
4776
- justify-content: center;
4777
- position: relative;
4778
- flex-direction: column;
4779
- padding: 0 0.25rem 0 1rem;
4780
- box-sizing: border-box;
4781
- transition: opacity ${transition.hover}, background-color ${transition.hover};
4782
- font-family: "NunitoSans", sans-serif;
4783
- `;
4784
- const LayerGroupMain = styled(Flex) `
4785
- flex-direction: row;
4786
- flex-wrap: nowrap;
4787
- align-items: center;
4788
- justify-content: space-between;
4789
- width: 100%;
4790
-
4791
- ${Icon} {
4792
- width: 2rem;
4793
- min-width: 2rem;
4794
- height: 2rem;
4795
- display: inline-flex;
4796
- align-items: center;
4797
- justify-content: center;
4798
- margin-right: 0.75rem;
4799
- }
4800
-
4801
- ${Description} {
4802
- display: flex;
4803
- align-items: center;
4804
- flex-grow: 1;
4805
- width: 100%;
4806
- margin-right: 0.25rem;
4807
- color: ${({ theme }) => theme.palette.textPrimary};
4808
- }
4809
4774
 
4810
- button {
4811
- width: 2.25rem;
4812
- justify-content: flex-start;
4813
- }
4775
+ const LayerGroupContainer = styled(Flex) `
4776
+ display: flex;
4777
+ justify-content: center;
4778
+ position: relative;
4779
+ flex-direction: column;
4780
+ padding: 0 0.25rem 0 1rem;
4781
+ box-sizing: border-box;
4782
+ transition: opacity ${transition.hover}, background-color ${transition.hover};
4783
+ font-family: "NunitoSans", sans-serif;
4784
+ `;
4785
+ const LayerGroupMain = styled(Flex) `
4786
+ flex-direction: row;
4787
+ flex-wrap: nowrap;
4788
+ align-items: center;
4789
+ justify-content: space-between;
4790
+ width: 100%;
4791
+
4792
+ ${Icon} {
4793
+ width: 2rem;
4794
+ min-width: 2rem;
4795
+ height: 2rem;
4796
+ display: inline-flex;
4797
+ align-items: center;
4798
+ justify-content: center;
4799
+ margin-right: 0.75rem;
4800
+ }
4801
+
4802
+ ${Description} {
4803
+ display: flex;
4804
+ align-items: center;
4805
+ flex-grow: 1;
4806
+ width: 100%;
4807
+ margin-right: 0.25rem;
4808
+ color: ${({ theme }) => theme.palette.textPrimary};
4809
+ }
4810
+
4811
+ button {
4812
+ width: 2.25rem;
4813
+ justify-content: flex-start;
4814
+ }
4814
4815
  `;
4815
4816
 
4816
4817
  const customModes = MapboxDraw.modes;
@@ -5640,330 +5641,330 @@ const LayerTree = ({ layers, onlyMainTools }) => {
5640
5641
  return (jsx(DraggableTree, { nodes: nodes, disableDrag: onlyMainTools, options: { pastePlaceholderHeight: "0.025rem" }, onUpdate: onUpdate }));
5641
5642
  };
5642
5643
 
5643
- const LayersListWrapper = styled(Flex) `
5644
- flex-direction: column;
5645
- height: 100%;
5646
- width: 100%;
5647
- box-sizing: border-box;
5644
+ const LayersListWrapper = styled(Flex) `
5645
+ flex-direction: column;
5646
+ height: 100%;
5647
+ width: 100%;
5648
+ box-sizing: border-box;
5648
5649
  `;
5649
- const LayerListContainer = styled(Flex) `
5650
- flex-grow: 1;
5651
- height: 100%;
5652
- box-sizing: border-box;
5653
- padding-top: 0.25rem;
5650
+ const LayerListContainer = styled(Flex) `
5651
+ flex-grow: 1;
5652
+ height: 100%;
5653
+ box-sizing: border-box;
5654
+ padding-top: 0.25rem;
5654
5655
  `;
5655
5656
 
5656
- const ElementValueWrapper = styled.div `
5657
- transition: background-color ${transition.toggle};
5658
-
5657
+ const ElementValueWrapper = styled.div `
5658
+ transition: background-color ${transition.toggle};
5659
+
5659
5660
  ${({ noMargin }) => !!noMargin &&
5660
- css `
5661
- &&&& {
5662
- margin-bottom: 0;
5663
- }
5664
- `};
5665
- `;
5666
- const Container = styled(Flex) `
5667
- flex-direction: column;
5668
- width: 100%;
5669
-
5661
+ css `
5662
+ &&&& {
5663
+ margin-bottom: 0;
5664
+ }
5665
+ `};
5666
+ `;
5667
+ const Container = styled(Flex) `
5668
+ flex-direction: column;
5669
+ width: 100%;
5670
+
5670
5671
  ${({ isColumn }) => isColumn
5671
- ? css `
5672
- &&& > * {
5673
- justify-content: flex-start;
5674
- }
5675
- > * {
5676
- width: 100%;
5677
-
5678
- :not(:last-child) {
5679
- margin-bottom: 0.5rem;
5680
- }
5681
- }
5672
+ ? css `
5673
+ &&& > * {
5674
+ justify-content: flex-start;
5675
+ }
5676
+ > * {
5677
+ width: 100%;
5678
+
5679
+ :not(:last-child) {
5680
+ margin-bottom: 0.5rem;
5681
+ }
5682
+ }
5682
5683
  `
5683
- : css `
5684
- flex-direction: row;
5685
- justify-content: space-between;
5686
- align-items: center;
5687
- `}
5688
-
5684
+ : css `
5685
+ flex-direction: row;
5686
+ justify-content: space-between;
5687
+ align-items: center;
5688
+ `}
5689
+
5689
5690
  ${({ isTitle }) => isTitle &&
5690
- css `
5691
- &&&& {
5692
- margin-bottom: 0.75rem;
5693
- }
5694
- `}
5695
-
5691
+ css `
5692
+ &&&& {
5693
+ margin-bottom: 0.75rem;
5694
+ }
5695
+ `}
5696
+
5696
5697
  ${({ noBorders }) => noBorders &&
5697
- css `
5698
- ${ContainerWrapper} {
5699
- box-shadow: none;
5700
- padding: 0;
5701
- }
5702
- `}
5703
- `;
5704
- const ContainerWrapper = styled(Flex) `
5705
- position: relative;
5706
- box-sizing: border-box;
5707
- width: 100%;
5708
- background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5709
- box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5710
- margin-bottom: 2rem;
5711
- padding: 1.5rem;
5712
- border-radius: 0.5rem;
5713
- backdrop-filter: blur(20px);
5714
- color: ${({ theme: { palette } }) => palette.textPrimary};
5715
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
5716
- transition: background-color ${transition.toggle};
5717
-
5698
+ css `
5699
+ ${ContainerWrapper} {
5700
+ box-shadow: none;
5701
+ padding: 0;
5702
+ }
5703
+ `}
5704
+ `;
5705
+ const ContainerWrapper = styled(Flex) `
5706
+ position: relative;
5707
+ box-sizing: border-box;
5708
+ width: 100%;
5709
+ background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5710
+ box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5711
+ margin-bottom: 2rem;
5712
+ padding: 1.5rem;
5713
+ border-radius: 0.5rem;
5714
+ backdrop-filter: blur(20px);
5715
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5716
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
5717
+ transition: background-color ${transition.toggle};
5718
+
5718
5719
  ${({ $noMargin }) => $noMargin &&
5719
- css `
5720
- &&&& {
5721
- margin-bottom: 0;
5722
- }
5723
- `}
5724
- `;
5725
- const DashboardChip = styled(Chip) `
5726
- margin: 0 0.25rem 0.25rem 0;
5727
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5728
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5729
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5730
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5731
-
5732
- > * {
5733
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5734
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5735
- }
5736
-
5737
- span[kind]:after {
5738
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
5739
- }
5740
- `;
5741
- const DashboardPlaceholderWrap = styled(Flex) `
5742
- flex-grow: 1;
5743
- flex-direction: column;
5744
- justify-content: center;
5745
- align-items: center;
5746
- width: 100%;
5747
- margin-bottom: 2rem;
5720
+ css `
5721
+ &&&& {
5722
+ margin-bottom: 0;
5723
+ }
5724
+ `}
5725
+ `;
5726
+ const DashboardChip = styled(Chip) `
5727
+ margin: 0 0.25rem 0.25rem 0;
5728
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5729
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5730
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5731
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5732
+
5733
+ > * {
5734
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5735
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5736
+ }
5737
+
5738
+ span[kind]:after {
5739
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
5740
+ }
5748
5741
  `;
5749
- const DashboardPlaceholder = styled(Flex) `
5750
- flex-direction: column;
5751
- justify-content: center;
5752
- align-items: center;
5753
- margin-top: 2rem;
5754
-
5742
+ const DashboardPlaceholderWrap = styled(Flex) `
5743
+ flex-grow: 1;
5744
+ flex-direction: column;
5745
+ justify-content: center;
5746
+ align-items: center;
5747
+ width: 100%;
5748
+ margin-bottom: 2rem;
5749
+ `;
5750
+ const DashboardPlaceholder = styled(Flex) `
5751
+ flex-direction: column;
5752
+ justify-content: center;
5753
+ align-items: center;
5754
+ margin-top: 2rem;
5755
+
5755
5756
  ${({ isLoading }) => isLoading &&
5756
- css `
5757
- width: 6.25rem;
5758
- `}
5759
-
5760
- &&& > * {
5761
- margin-bottom: 0;
5762
- }
5763
-
5764
- > div {
5765
- width: 100%;
5766
- margin-top: 1rem;
5767
- font-size: 0.75rem;
5768
- text-align: center;
5769
- color: ${({ theme: { palette } }) => palette.textDisabled};
5770
- }
5771
-
5772
- span[kind] {
5773
- width: 2.25rem;
5774
- height: 2.25rem;
5775
- opacity: 0.28;
5776
-
5777
- :after {
5778
- font-size: 32px;
5779
- }
5780
- }
5757
+ css `
5758
+ width: 6.25rem;
5759
+ `}
5760
+
5761
+ &&& > * {
5762
+ margin-bottom: 0;
5763
+ }
5764
+
5765
+ > div {
5766
+ width: 100%;
5767
+ margin-top: 1rem;
5768
+ font-size: 0.75rem;
5769
+ text-align: center;
5770
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5771
+ }
5772
+
5773
+ span[kind] {
5774
+ width: 2.25rem;
5775
+ height: 2.25rem;
5776
+ opacity: 0.28;
5777
+
5778
+ :after {
5779
+ font-size: 32px;
5780
+ }
5781
+ }
5781
5782
  `;
5782
- const DashboardWrapper = styled(Flex) `
5783
- flex-direction: column;
5784
- flex-wrap: nowrap;
5785
- flex-grow: 1;
5786
- width: calc(100% - 3rem);
5787
- height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5788
-
5783
+ const DashboardWrapper = styled(Flex) `
5784
+ flex-direction: column;
5785
+ flex-wrap: nowrap;
5786
+ flex-grow: 1;
5787
+ width: calc(100% - 3rem);
5788
+ height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5789
+
5789
5790
  ${({ hasImage, isPresentationMode }) => hasImage &&
5790
5791
  !isPresentationMode &&
5791
- css `
5792
- margin-top: -0.35rem;
5793
- `}
5794
- `;
5795
- const DashboardContent = styled(Flex) `
5796
- flex-grow: 1;
5797
- width: 100%;
5798
- padding: 1.5rem 1.5rem 2rem;
5799
- overflow-y: auto;
5800
- scrollbar-gutter: stable;
5801
- `;
5802
- const PresentationWrapperCss = css `
5803
- margin-bottom: 0.75rem;
5804
- padding: 1.5rem;
5805
- background-color: ${({ theme: { palette } }) => palette.panelBackground};
5806
- backdrop-filter: blur(10px);
5807
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5808
- box-shadow: ${shadows.raised};
5809
- `;
5810
- const PresentationWrapper = styled.div `
5811
- ${PresentationWrapperCss};
5812
- position: relative;
5813
- z-index: 1;
5814
- `;
5815
- const PresentationPanelWrapper = styled(PresentationWrapper) `
5816
- margin-top: 0.75rem;
5817
- transition: background-color ${transition.toggle};
5818
- `;
5819
- const PresentationHeader = styled.div `
5820
- margin: -1.5rem -1.5rem 0 -1.5rem;
5821
- padding: 1.5rem;
5822
- // background: url(images.presentationHeader) 0 0 no-repeat;
5823
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5824
- transition: background-color ${transition.toggle};
5825
-
5792
+ css `
5793
+ margin-top: -0.35rem;
5794
+ `}
5795
+ `;
5796
+ const DashboardContent = styled(Flex) `
5797
+ flex-grow: 1;
5798
+ width: 100%;
5799
+ padding: 1.5rem 1.5rem 2rem;
5800
+ overflow-y: auto;
5801
+ scrollbar-gutter: stable;
5802
+ `;
5803
+ const PresentationWrapperCss = css `
5804
+ margin-bottom: 0.75rem;
5805
+ padding: 1.5rem;
5806
+ background-color: ${({ theme: { palette } }) => palette.panelBackground};
5807
+ backdrop-filter: blur(10px);
5808
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5809
+ box-shadow: ${shadows.raised};
5810
+ `;
5811
+ const PresentationWrapper = styled.div `
5812
+ ${PresentationWrapperCss};
5813
+ position: relative;
5814
+ z-index: 1;
5815
+ `;
5816
+ const PresentationPanelWrapper = styled(PresentationWrapper) `
5817
+ margin-top: 0.75rem;
5818
+ transition: background-color ${transition.toggle};
5819
+ `;
5820
+ const PresentationHeader = styled.div `
5821
+ margin: -1.5rem -1.5rem 0 -1.5rem;
5822
+ padding: 1.5rem;
5823
+ // background: url(images.presentationHeader) 0 0 no-repeat;
5824
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5825
+ transition: background-color ${transition.toggle};
5826
+
5826
5827
  ${({ image }) => !!image &&
5827
- css `
5828
- padding-top: 7rem;
5829
- `};
5830
- `;
5831
- const PresentationHeaderTools = styled(Flex) `
5832
- justify-content: space-between;
5833
- align-items: center;
5834
- margin-bottom: -0.5rem;
5835
- margin-right: -0.5rem;
5836
-
5837
- span[kind="sun"],
5838
- span[kind="moon"] {
5839
- :after {
5840
- font-size: 0.85rem;
5841
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5842
- }
5843
-
5844
- :hover:after {
5845
- color: ${({ theme: { palette } }) => palette.icon};
5846
- }
5847
- }
5828
+ css `
5829
+ padding-top: 7rem;
5830
+ `};
5831
+ `;
5832
+ const PresentationHeaderTools = styled(Flex) `
5833
+ justify-content: space-between;
5834
+ align-items: center;
5835
+ margin-bottom: -0.5rem;
5836
+ margin-right: -0.5rem;
5837
+
5838
+ span[kind="sun"],
5839
+ span[kind="moon"] {
5840
+ :after {
5841
+ font-size: 0.85rem;
5842
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5843
+ }
5844
+
5845
+ :hover:after {
5846
+ color: ${({ theme: { palette } }) => palette.icon};
5847
+ }
5848
+ }
5848
5849
  `;
5849
- const LayerGroupList = styled(Flex) `
5850
- flex-direction: column;
5851
- height: 100%;
5852
- flex-wrap: nowrap;
5853
- overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5854
- overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5855
- padding: 0 0.125rem 0 0.75rem;
5856
- scrollbar-gutter: stable;
5857
-
5858
- > * {
5859
- flex-grow: 1;
5860
- }
5850
+ const LayerGroupList = styled(Flex) `
5851
+ flex-direction: column;
5852
+ height: 100%;
5853
+ flex-wrap: nowrap;
5854
+ overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5855
+ overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5856
+ padding: 0 0.125rem 0 0.75rem;
5857
+ scrollbar-gutter: stable;
5858
+
5859
+ > * {
5860
+ flex-grow: 1;
5861
+ }
5861
5862
  `;
5862
5863
  const PresentationHeaderButtons = styled(Flex) ``;
5863
- const PresentationPanelContainer = styled.div `
5864
- position: absolute;
5865
- top: 0;
5866
- left: calc(${({ left }) => left || 0}px + 0.75rem);
5867
- bottom: 0;
5868
- z-index: 3;
5869
- display: flex;
5870
- flex-direction: column;
5871
- width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5872
- padding-right: 0.5rem;
5873
- scrollbar-gutter: stable;
5874
- overflow-y: hidden;
5875
-
5876
- :hover {
5877
- overflow-y: auto;
5878
- }
5879
-
5864
+ const PresentationPanelContainer = styled.div `
5865
+ position: absolute;
5866
+ top: 0;
5867
+ left: calc(${({ left }) => left || 0}px + 0.75rem);
5868
+ bottom: 0;
5869
+ z-index: 3;
5870
+ display: flex;
5871
+ flex-direction: column;
5872
+ width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5873
+ padding-right: 0.5rem;
5874
+ scrollbar-gutter: stable;
5875
+ overflow-y: hidden;
5876
+
5877
+ :hover {
5878
+ overflow-y: auto;
5879
+ }
5880
+
5880
5881
  ${({ showLayers }) => !showLayers &&
5881
- css `
5882
- > :first-child {
5883
- padding-bottom: 0;
5884
- }
5885
- `};
5886
-
5887
- ${PresentationHeader} > * {
5888
- position: relative;
5889
- z-index: 2;
5890
- }
5891
-
5892
- /* PaginationWrapper {
5893
- ${PresentationWrapperCss};
5894
- width: calc(100% - 2rem);
5895
- min-height: 8.625rem;
5896
- padding-top: 0.5rem;
5897
- padding-bottom: 0.5rem;
5898
- margin-bottom: 0.75rem;
5899
- }*/
5900
-
5901
- ${DashboardWrapper} {
5902
- width: 100%;
5903
- margin-top: 0;
5904
-
5905
- ${DashboardContent} {
5906
- padding: 0;
5907
- overflow-y: unset;
5908
-
5909
- > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5910
- ${PresentationWrapperCss};
5911
- width: calc(100% - 3rem);
5912
- }
5913
- }
5914
- }
5915
-
5916
- ${DashboardPlaceholder} {
5917
- ${PresentationWrapperCss};
5918
- width: 18.5rem;
5919
- height: 10.75rem;
5920
- }
5921
-
5922
- ${LayerListContainer} {
5923
- height: auto;
5924
- margin: 0 -1.125rem -1.5rem;
5925
- padding: 0;
5926
-
5927
- ${LayerGroupList} {
5928
- padding: 0;
5929
- }
5930
- }
5882
+ css `
5883
+ > :first-child {
5884
+ padding-bottom: 0;
5885
+ }
5886
+ `};
5887
+
5888
+ ${PresentationHeader} > * {
5889
+ position: relative;
5890
+ z-index: 2;
5891
+ }
5892
+
5893
+ /* PaginationWrapper {
5894
+ ${PresentationWrapperCss};
5895
+ width: calc(100% - 2rem);
5896
+ min-height: 8.625rem;
5897
+ padding-top: 0.5rem;
5898
+ padding-bottom: 0.5rem;
5899
+ margin-bottom: 0.75rem;
5900
+ }*/
5901
+
5902
+ ${DashboardWrapper} {
5903
+ width: 100%;
5904
+ margin-top: 0;
5905
+
5906
+ ${DashboardContent} {
5907
+ padding: 0;
5908
+ overflow-y: unset;
5909
+
5910
+ > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5911
+ ${PresentationWrapperCss};
5912
+ width: calc(100% - 3rem);
5913
+ }
5914
+ }
5915
+ }
5916
+
5917
+ ${DashboardPlaceholder} {
5918
+ ${PresentationWrapperCss};
5919
+ width: 18.5rem;
5920
+ height: 10.75rem;
5921
+ }
5922
+
5923
+ ${LayerListContainer} {
5924
+ height: auto;
5925
+ margin: 0 -1.125rem -1.5rem;
5926
+ padding: 0;
5927
+
5928
+ ${LayerGroupList} {
5929
+ padding: 0;
5930
+ }
5931
+ }
5931
5932
  `;
5932
- const DataSourceErrorContainer = styled(Flex) `
5933
- align-items: center;
5934
- justify-content: center;
5935
- flex-wrap: nowrap;
5936
- flex-grow: 1;
5937
- padding: 1rem;
5938
- border: 1px ${({ theme: { palette } }) => palette.element} solid;
5939
- border-radius: 10px;
5940
- font-size: 0.875rem;
5941
- color: ${({ theme: { palette } }) => palette.textDisabled};
5942
-
5943
- span[kind] {
5944
- margin-right: 1rem;
5945
-
5946
- :after {
5947
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5948
- }
5949
- }
5933
+ const DataSourceErrorContainer = styled(Flex) `
5934
+ align-items: center;
5935
+ justify-content: center;
5936
+ flex-wrap: nowrap;
5937
+ flex-grow: 1;
5938
+ padding: 1rem;
5939
+ border: 1px ${({ theme: { palette } }) => palette.element} solid;
5940
+ border-radius: 10px;
5941
+ font-size: 0.875rem;
5942
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5943
+
5944
+ span[kind] {
5945
+ margin-right: 1rem;
5946
+
5947
+ :after {
5948
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5949
+ }
5950
+ }
5950
5951
  `;
5951
- const AttributeLabel = styled(Description) `
5952
- margin-top: 0 !important;
5953
- margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
5954
- padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5955
- `;
5956
- const FeatureControls = styled(Flex) `
5957
- align-items: center;
5958
- gap: 1rem;
5959
- flex-wrap: nowrap;
5960
- position: relative;
5961
- flex-shrink: 0;
5962
-
5963
- button {
5964
- padding: 0;
5965
- width: auto;
5966
- }
5952
+ const AttributeLabel = styled(Description) `
5953
+ margin-top: 0 !important;
5954
+ margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
5955
+ padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5956
+ `;
5957
+ const FeatureControls = styled(Flex) `
5958
+ align-items: center;
5959
+ gap: 1rem;
5960
+ flex-wrap: nowrap;
5961
+ position: relative;
5962
+ flex-shrink: 0;
5963
+
5964
+ button {
5965
+ padding: 0;
5966
+ width: auto;
5967
+ }
5967
5968
  `;
5968
5969
 
5969
5970
  const getAttributeByName = (name, attributes) => {
@@ -6046,148 +6047,148 @@ const ContainersGroupContainer = memo(({ elementConfig, type, renderElement }) =
6046
6047
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsx(Container, { id: id, isColumn: isColumn, children: jsx(ContainerChildren, { type: type, items: children, elementConfig: elementConfig, isColumn: isColumn, isMain: id?.startsWith(CONFIG_PAGE_ID), renderElement: renderElement }) }))] }));
6047
6048
  });
6048
6049
 
6049
- const ChartLegendContainer = styled(Flex) `
6050
- flex-direction: column;
6051
- flex-wrap: wrap;
6052
- justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
6053
- `;
6054
- const ChartLegendItem = styled(Flex) `
6055
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6056
- align-items: center;
6057
- flex-wrap: nowrap;
6058
- width: auto;
6059
- margin-right: 0.375rem;
6060
- margin-bottom: 0.25rem;
6061
- line-height: 0.75rem;
6062
- opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6063
- `;
6064
- const ChartLegendColor = styled.div `
6065
- width: 0.5rem;
6066
- height: 0.5rem;
6067
- margin-right: 0.375rem;
6068
- background-color: ${({ color }) => color};
6069
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
6070
- `;
6071
- const ChartLegendName = styled.div `
6072
- flex: 1;
6073
- font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
6074
- color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
6075
- `;
6076
-
6077
- const ContainerAlias = styled(Flex) `
6078
- align-items: center;
6079
- flex-wrap: nowrap;
6080
- font-size: 0.75rem;
6081
- color: ${({ theme: { palette } }) => palette.textSecondary};
6082
-
6083
- &&& {
6084
- margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
6085
- }
6086
-
6087
- span[kind] {
6088
- margin-right: 0.5rem;
6050
+ const ChartLegendContainer = styled(Flex) `
6051
+ flex-direction: column;
6052
+ flex-wrap: wrap;
6053
+ justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
6054
+ `;
6055
+ const ChartLegendItem = styled(Flex) `
6056
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6057
+ align-items: center;
6058
+ flex-wrap: nowrap;
6059
+ width: auto;
6060
+ margin-right: 0.375rem;
6061
+ margin-bottom: 0.25rem;
6062
+ line-height: 0.75rem;
6063
+ opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6064
+ `;
6065
+ const ChartLegendColor = styled.div `
6066
+ width: 0.5rem;
6067
+ height: 0.5rem;
6068
+ margin-right: 0.375rem;
6069
+ background-color: ${({ color }) => color};
6070
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
6071
+ `;
6072
+ const ChartLegendName = styled.div `
6073
+ flex: 1;
6074
+ font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
6075
+ color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
6076
+ `;
6089
6077
 
6090
- :after {
6091
- color: ${({ theme: { palette } }) => palette.primary};
6092
- }
6093
- }
6078
+ const ContainerAlias = styled(Flex) `
6079
+ align-items: center;
6080
+ flex-wrap: nowrap;
6081
+ font-size: 0.75rem;
6082
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6083
+
6084
+ &&& {
6085
+ margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
6086
+ }
6087
+
6088
+ span[kind] {
6089
+ margin-right: 0.5rem;
6090
+
6091
+ :after {
6092
+ color: ${({ theme: { palette } }) => palette.primary};
6093
+ }
6094
+ }
6094
6095
  `;
6095
- const ContainerAliasIcon = styled.div `
6096
- margin-right: 0.5rem;
6096
+ const ContainerAliasIcon = styled.div `
6097
+ margin-right: 0.5rem;
6097
6098
  `;
6098
- const ContainerChart = styled(Flex) `
6099
- justify-content: flex-start;
6100
-
6101
- > * {
6102
- display: flex;
6103
- justify-content: center;
6104
- width: 100%;
6105
- }
6099
+ const ContainerChart = styled(Flex) `
6100
+ justify-content: flex-start;
6101
+
6102
+ > * {
6103
+ display: flex;
6104
+ justify-content: center;
6105
+ width: 100%;
6106
+ }
6106
6107
  `;
6107
6108
  const ContainerLegend = styled(Flex) ``;
6108
- const ContainerUnits = styled.div `
6109
- margin-left: 0.5rem;
6110
- white-space: nowrap;
6111
- font-size: 0.75rem;
6112
- `;
6113
- const ContainerValue = styled(Flex) `
6114
- justify-content: flex-end;
6115
- align-items: center;
6116
- flex-wrap: nowrap;
6117
- width: 100%;
6118
- font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
6119
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6120
-
6121
- > * {
6122
- width: ${({ column }) => (column ? "100%" : "auto")};
6123
- }
6124
-
6125
- ${ContainerChart}, ${ContainerLegend} {
6126
- width: ${({ column }) => (column ? "100%" : "50%")};
6127
- }
6128
-
6129
- ${ContainerLegend} {
6130
- margin-left: ${({ column }) => (column ? 0 : "1rem")};
6131
- }
6132
-
6133
- ${ChartLegendContainer} {
6134
- flex-direction: ${({ column }) => (column ? "row" : "column")};
6135
- margin-top: ${({ column }) => (column ? "1rem" : 0)};
6136
- }
6109
+ const ContainerUnits = styled.div `
6110
+ margin-left: 0.5rem;
6111
+ white-space: nowrap;
6112
+ font-size: 0.75rem;
6113
+ `;
6114
+ const ContainerValue = styled(Flex) `
6115
+ justify-content: flex-end;
6116
+ align-items: center;
6117
+ flex-wrap: nowrap;
6118
+ width: 100%;
6119
+ font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
6120
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6121
+
6122
+ > * {
6123
+ width: ${({ column }) => (column ? "100%" : "auto")};
6124
+ }
6125
+
6126
+ ${ContainerChart}, ${ContainerLegend} {
6127
+ width: ${({ column }) => (column ? "100%" : "50%")};
6128
+ }
6129
+
6130
+ ${ContainerLegend} {
6131
+ margin-left: ${({ column }) => (column ? 0 : "1rem")};
6132
+ }
6133
+
6134
+ ${ChartLegendContainer} {
6135
+ flex-direction: ${({ column }) => (column ? "row" : "column")};
6136
+ margin-top: ${({ column }) => (column ? "1rem" : 0)};
6137
+ }
6137
6138
  `;
6138
- const ColorIconMixin = css `
6139
- :after {
6140
- color: ${({ $fontColor }) => $fontColor} !important;
6141
- }
6139
+ const ColorIconMixin = css `
6140
+ :after {
6141
+ color: ${({ $fontColor }) => $fontColor} !important;
6142
+ }
6142
6143
  `;
6143
- const SizeIconMixin = css `
6144
- :after {
6145
- font-size: ${({ $fontSize }) => $fontSize}px !important;
6146
- }
6144
+ const SizeIconMixin = css `
6145
+ :after {
6146
+ font-size: ${({ $fontSize }) => $fontSize}px !important;
6147
+ }
6147
6148
  `;
6148
- const ContainerIcon = styled(Icon) `
6149
- width: auto;
6150
- height: auto;
6151
- margin-bottom: 0.5rem;
6152
- ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6153
- ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6154
- `;
6155
- const SvgContainerColorMixin$1 = css `
6156
- path,
6157
- line,
6158
- circle {
6159
- fill: ${({ $fontColor }) => $fontColor};
6160
- }
6149
+ const ContainerIcon = styled(Icon) `
6150
+ width: auto;
6151
+ height: auto;
6152
+ margin-bottom: 0.5rem;
6153
+ ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6154
+ ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6155
+ `;
6156
+ const SvgContainerColorMixin$1 = css `
6157
+ path,
6158
+ line,
6159
+ circle {
6160
+ fill: ${({ $fontColor }) => $fontColor};
6161
+ }
6161
6162
  `;
6162
- const SvgContainer$1 = styled.div `
6163
- &&& {
6164
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6165
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6166
-
6167
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6168
-
6169
- > * {
6170
- min-width: inherit;
6171
- }
6172
- }
6163
+ const SvgContainer$1 = styled.div `
6164
+ &&& {
6165
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6166
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6167
+
6168
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6169
+
6170
+ > * {
6171
+ min-width: inherit;
6172
+ }
6173
+ }
6173
6174
  `;
6174
- const TwoColumnContainerWrapper = styled(Flex) `
6175
- width: 100%;
6176
- flex-direction: row;
6177
- flex-wrap: nowrap;
6178
- align-items: center;
6179
-
6180
- > * {
6181
- flex: 1;
6182
- }
6183
-
6184
- > ${ContainerValue} {
6185
- justify-content: flex-end;
6186
-
6187
- > * {
6188
- text-align: right;
6189
- }
6190
- }
6175
+ const TwoColumnContainerWrapper = styled(Flex) `
6176
+ width: 100%;
6177
+ flex-direction: row;
6178
+ flex-wrap: nowrap;
6179
+ align-items: center;
6180
+
6181
+ > * {
6182
+ flex: 1;
6183
+ }
6184
+
6185
+ > ${ContainerValue} {
6186
+ justify-content: flex-end;
6187
+
6188
+ > * {
6189
+ text-align: right;
6190
+ }
6191
+ }
6191
6192
  `;
6192
6193
 
6193
6194
  const useRenderContainerItem = (type, renderElement) => {
@@ -6286,10 +6287,10 @@ const TwoColumnContainer = memo(({ elementConfig, type, renderElement }) => {
6286
6287
  return attributesToRender ? (jsx(Fragment$1, { children: attributesToRender.map(renderContainer) })) : (renderContainer());
6287
6288
  });
6288
6289
 
6289
- const InnerContainerWrapper = styled.div `
6290
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6291
- width: ${({ column }) => (column ? "100%" : "auto")};
6292
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6290
+ const InnerContainerWrapper = styled.div `
6291
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6292
+ width: ${({ column }) => (column ? "100%" : "auto")};
6293
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6293
6294
  `;
6294
6295
 
6295
6296
  const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValue, type, index, innerComponent }) => {
@@ -6342,125 +6343,114 @@ const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValu
6342
6343
  setSelectedTabId,
6343
6344
  pageIndex,
6344
6345
  type,
6345
- }), [
6346
- getRenderElement,
6347
- config,
6348
- elementConfig,
6349
- attributes,
6350
- layerInfo,
6351
- expandedContainers,
6352
- selectedTabId,
6353
- setSelectedTabId,
6354
- pageIndex,
6355
- type,
6356
- ]);
6346
+ }), [config, elementConfig, attributes, layerInfo, expandedContainers, selectedTabId, setSelectedTabId, pageIndex, type]);
6357
6347
  if (!InnerContainer) {
6358
6348
  return null;
6359
6349
  }
6360
6350
  return (jsx(InnerContainerWrapper, { hasAnyFilter: hasAnyFilter, isFiltered: isFiltered(value), column: column === undefined || column, onClick: filterName ? () => onFilter(value) : undefined, children: jsx(InnerContainer, { config: config, elementConfig: elementConfig, feature: feature, maxValue: maxValue, type: type, index: index, renderElement: render }) }));
6361
6351
  });
6362
6352
 
6363
- const DataSourceProgressContainerWrapper = styled.div `
6364
- width: 100%;
6353
+ const DataSourceProgressContainerWrapper = styled.div `
6354
+ width: 100%;
6365
6355
  `;
6366
- const ContainerToggler = styled(LegendToggler) `
6367
- width: auto;
6368
- margin-left: -1rem;
6356
+ const ContainerToggler = styled(LegendToggler) `
6357
+ width: auto;
6358
+ margin-left: -1rem;
6369
6359
  `;
6370
6360
 
6371
- const ProgressContainerWrapper = styled(Flex) `
6372
- align-items: center;
6373
- width: 100%;
6374
- margin-bottom: 1rem;
6375
- `;
6376
- const ProgressIcon = styled.div `
6377
- margin-right: 0.5rem;
6378
- `;
6379
- const ProgressContent = styled(Flex) `
6380
- flex: 1;
6381
- flex-direction: column;
6382
- `;
6383
- const ProgressAlias = styled(Flex) `
6384
- flex: 1;
6385
- justify-content: space-between;
6386
- margin-bottom: 0.25rem;
6387
- font-size: 0.75rem;
6388
- color: ${({ theme: { palette } }) => palette.textSecondary};
6361
+ const ProgressContainerWrapper = styled(Flex) `
6362
+ align-items: center;
6363
+ width: 100%;
6364
+ margin-bottom: 1rem;
6389
6365
  `;
6390
- const ProgressValue = styled(Flex) `
6391
- align-items: center;
6392
- width: auto;
6393
- font-size: 1rem;
6394
- color: ${({ theme: { palette } }) => palette.textPrimary};
6366
+ const ProgressIcon = styled.div `
6367
+ margin-right: 0.5rem;
6395
6368
  `;
6396
- const ProgressInnerValue = styled(ProgressValue) `
6397
- justify-content: flex-end;
6398
- width: 4rem;
6399
- margin-left: 0.5rem;
6400
- `;
6401
- const ProgressUnits = styled(Flex) `
6402
- margin-left: 0.25rem;
6403
- font-size: 0.75rem;
6404
- color: ${({ theme: { palette } }) => palette.textSecondary};
6405
- `;
6406
- const ProgressBarWrapper = styled.div `
6407
- flex-grow: 1;
6408
- height: 0.5rem;
6409
- background-color: ${({ theme: { palette } }) => palette.element};
6410
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6369
+ const ProgressContent = styled(Flex) `
6370
+ flex: 1;
6371
+ flex-direction: column;
6411
6372
  `;
6412
- const ProgressBarContainer = styled(Flex) `
6413
- position: relative;
6414
- align-items: center;
6415
- width: 100%;
6416
-
6373
+ const ProgressAlias = styled(Flex) `
6374
+ flex: 1;
6375
+ justify-content: space-between;
6376
+ margin-bottom: 0.25rem;
6377
+ font-size: 0.75rem;
6378
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6379
+ `;
6380
+ const ProgressValue = styled(Flex) `
6381
+ align-items: center;
6382
+ width: auto;
6383
+ font-size: 1rem;
6384
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6385
+ `;
6386
+ const ProgressInnerValue = styled(ProgressValue) `
6387
+ justify-content: flex-end;
6388
+ width: 4rem;
6389
+ margin-left: 0.5rem;
6390
+ `;
6391
+ const ProgressUnits = styled(Flex) `
6392
+ margin-left: 0.25rem;
6393
+ font-size: 0.75rem;
6394
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6395
+ `;
6396
+ const ProgressBarWrapper = styled.div `
6397
+ flex-grow: 1;
6398
+ height: 0.5rem;
6399
+ background-color: ${({ theme: { palette } }) => palette.element};
6400
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6401
+ `;
6402
+ const ProgressBarContainer = styled(Flex) `
6403
+ position: relative;
6404
+ align-items: center;
6405
+ width: 100%;
6406
+
6417
6407
  ${({ innerValue }) => innerValue &&
6418
- css `
6419
- ${ProgressBarWrapper} {
6420
- height: 1.125rem;
6421
- }
6422
-
6423
- ${ProgressInnerValue} {
6424
- z-index: 1;
6425
- position: absolute;
6426
- right: 0.25rem;
6427
- }
6428
- `}
6429
- `;
6430
- const ProgressBar = styled.div `
6431
- width: ${({ $width }) => $width};
6432
- height: inherit;
6433
- background-color: ${({ $color }) => $color || "#a7d759"};
6434
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6435
- `;
6436
- const ProgressTooltipAlias = styled.div `
6437
- margin-bottom: 0.25rem;
6438
- text-align: left;
6439
- color: ${({ theme: { palette } }) => palette.primary};
6408
+ css `
6409
+ ${ProgressBarWrapper} {
6410
+ height: 1.125rem;
6411
+ }
6412
+
6413
+ ${ProgressInnerValue} {
6414
+ z-index: 1;
6415
+ position: absolute;
6416
+ right: 0.25rem;
6417
+ }
6418
+ `}
6419
+ `;
6420
+ const ProgressBar = styled.div `
6421
+ width: ${({ $width }) => $width};
6422
+ height: inherit;
6423
+ background-color: ${({ $color }) => $color || "#a7d759"};
6424
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6425
+ `;
6426
+ const ProgressTooltipAlias = styled.div `
6427
+ margin-bottom: 0.25rem;
6428
+ text-align: left;
6429
+ color: ${({ theme: { palette } }) => palette.primary};
6440
6430
  `;
6441
6431
  const ProgressTooltipValue = styled.div ``;
6442
- const ProgressTooltipValueContainer = styled(Flex) `
6443
- align-items: center;
6444
-
6445
- > * {
6446
- opacity: 0.65;
6447
- }
6448
-
6449
- ${ProgressTooltipValue} {
6450
- opacity: 1;
6451
- }
6432
+ const ProgressTooltipValueContainer = styled(Flex) `
6433
+ align-items: center;
6434
+
6435
+ > * {
6436
+ opacity: 0.65;
6437
+ }
6438
+
6439
+ ${ProgressTooltipValue} {
6440
+ opacity: 1;
6441
+ }
6452
6442
  `;
6453
- const ProgressTooltipValueOf = styled.div `
6454
- margin: 0 0.25rem;
6443
+ const ProgressTooltipValueOf = styled.div `
6444
+ margin: 0 0.25rem;
6455
6445
  `;
6456
- const ProgressTotalTitle = styled.div `
6457
- font-size: 0.75rem;
6458
- font-weight: bold;
6446
+ const ProgressTotalTitle = styled.div `
6447
+ font-size: 0.75rem;
6448
+ font-weight: bold;
6459
6449
  `;
6460
- const ProgressTotal = styled(Flex) `
6461
- align-items: center;
6462
- justify-content: space-between;
6463
- margin-top: 1rem;
6450
+ const ProgressTotal = styled(Flex) `
6451
+ align-items: center;
6452
+ justify-content: space-between;
6453
+ margin-top: 1rem;
6464
6454
  `;
6465
6455
 
6466
6456
  const DataSourceProgressContainer = memo(({ config, elementConfig, type, innerComponent, renderElement }) => {
@@ -6566,166 +6556,166 @@ const DEFAULT_BAR_CHART_MARGINS = {
6566
6556
  right: 0,
6567
6557
  };
6568
6558
 
6569
- const FiltersContainerWrapper = styled(Flex) `
6570
- flex-direction: column;
6571
- padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6572
- background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6573
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6574
-
6575
- ${DropdownField}, input {
6576
- background-color: ${({ theme: { palette } }) => palette.background};
6577
- }
6578
-
6579
- > div:not(:last-child) {
6580
- margin-bottom: 0.5rem;
6581
- }
6582
-
6583
- > label {
6584
- align-items: flex-start;
6585
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6586
-
6587
- &.active {
6588
- color: ${({ $fontColor }) => $fontColor};
6589
-
6590
- svg rect {
6591
- fill: ${({ $fontColor }) => $fontColor} !important;
6592
- }
6593
- }
6594
-
6595
- &:not(:last-child) {
6596
- margin-bottom: 0.75rem;
6597
- }
6598
-
6599
- &:last-child {
6600
- margin-bottom: 0;
6601
- }
6602
- }
6559
+ const FiltersContainerWrapper = styled(Flex) `
6560
+ flex-direction: column;
6561
+ padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6562
+ background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6563
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6564
+
6565
+ ${DropdownField}, input {
6566
+ background-color: ${({ theme: { palette } }) => palette.background};
6567
+ }
6568
+
6569
+ > div:not(:last-child) {
6570
+ margin-bottom: 0.5rem;
6571
+ }
6572
+
6573
+ > label {
6574
+ align-items: flex-start;
6575
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6576
+
6577
+ &.active {
6578
+ color: ${({ $fontColor }) => $fontColor};
6579
+
6580
+ svg rect {
6581
+ fill: ${({ $fontColor }) => $fontColor} !important;
6582
+ }
6583
+ }
6584
+
6585
+ &:not(:last-child) {
6586
+ margin-bottom: 0.75rem;
6587
+ }
6588
+
6589
+ &:last-child {
6590
+ margin-bottom: 0;
6591
+ }
6592
+ }
6603
6593
  `;
6604
- const StyledIconButton = styled(IconButton) `
6605
- width: 0.75rem;
6606
- height: 0.75rem;
6607
-
6608
- span[kind] {
6609
- height: 0.75rem;
6610
-
6611
- :after {
6612
- font-size: 0.75rem;
6613
- }
6614
- }
6594
+ const StyledIconButton = styled(IconButton) `
6595
+ width: 0.75rem;
6596
+ height: 0.75rem;
6597
+
6598
+ span[kind] {
6599
+ height: 0.75rem;
6600
+
6601
+ :after {
6602
+ font-size: 0.75rem;
6603
+ }
6604
+ }
6615
6605
  `;
6616
- const TextFilterContainer = styled.div `
6617
- width: 15.85rem;
6618
-
6619
- ${MultiSelectContainer} {
6620
- color: ${({ theme: { palette } }) => palette.textPrimary};
6621
-
6622
- ${IconButtonButton} {
6623
- span[kind]:after {
6624
- color: ${({ theme: { palette } }) => palette.textPrimary};
6625
- }
6626
- }
6627
- }
6606
+ const TextFilterContainer = styled.div `
6607
+ width: 15.85rem;
6608
+
6609
+ ${MultiSelectContainer} {
6610
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6611
+
6612
+ ${IconButtonButton} {
6613
+ span[kind]:after {
6614
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6615
+ }
6616
+ }
6617
+ }
6628
6618
  `;
6629
- const BarChartContainer = styled.div `
6630
- width: 100%;
6631
- overflow-x: hidden;
6632
-
6619
+ const BarChartContainer = styled.div `
6620
+ width: 100%;
6621
+ overflow-x: hidden;
6622
+
6633
6623
  ${({ barHeight, marginBottom }) => !!barHeight &&
6634
- css `
6635
- .barChartBarGlobal rect {
6636
- height: ${barHeight}px;
6637
- y: calc(100% - ${barHeight + marginBottom}px);
6638
- }
6639
- `}
6640
- `;
6641
- const AnyChartWrapper = styled.div `
6642
- width: 100%;
6643
- height: ${({ height }) => height}px;
6644
- `;
6645
- const BarChartWrapper = styled(AnyChartWrapper) `
6646
- width: 100%;
6647
- margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6648
-
6649
- :hover {
6650
- ${BarChartContainer} {
6651
- overflow-x: auto;
6652
- }
6653
- }
6624
+ css `
6625
+ .barChartBarGlobal rect {
6626
+ height: ${barHeight}px;
6627
+ y: calc(100% - ${barHeight + marginBottom}px);
6628
+ }
6629
+ `}
6630
+ `;
6631
+ const AnyChartWrapper = styled.div `
6632
+ width: 100%;
6633
+ height: ${({ height }) => height}px;
6634
+ `;
6635
+ const BarChartWrapper = styled(AnyChartWrapper) `
6636
+ width: 100%;
6637
+ margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6638
+
6639
+ :hover {
6640
+ ${BarChartContainer} {
6641
+ overflow-x: auto;
6642
+ }
6643
+ }
6654
6644
  `;
6655
- const BarChartFilterHeader = styled(Flex) `
6656
- justify-content: space-between;
6657
- align-items: center;
6658
- height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6659
- padding: 0.25rem 0;
6645
+ const BarChartFilterHeader = styled(Flex) `
6646
+ justify-content: space-between;
6647
+ align-items: center;
6648
+ height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6649
+ padding: 0.25rem 0;
6660
6650
  `;
6661
- const BarChartFilterArrows = styled(Flex) `
6662
- margin-left: -0.5rem;
6663
-
6664
- span[kind] {
6665
- display: flex;
6666
- align-items: center;
6667
-
6668
- :after {
6669
- font-size: 0.75rem;
6670
- }
6671
- }
6651
+ const BarChartFilterArrows = styled(Flex) `
6652
+ margin-left: -0.5rem;
6653
+
6654
+ span[kind] {
6655
+ display: flex;
6656
+ align-items: center;
6657
+
6658
+ :after {
6659
+ font-size: 0.75rem;
6660
+ }
6661
+ }
6672
6662
  `;
6673
- const BarChartFilterSelected = styled.div `
6674
- font-size: 0.75rem;
6675
- font-weight: bold;
6676
- color: ${({ theme: { palette } }) => palette.textPrimary};
6663
+ const BarChartFilterSelected = styled.div `
6664
+ font-size: 0.75rem;
6665
+ font-weight: bold;
6666
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6677
6667
  `;
6678
- styled.div `
6679
- color: ${({ theme: { palette } }) => palette.textSecondary};
6668
+ styled.div `
6669
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6680
6670
  `;
6681
- const BarChart = styled(BarChart$1) `
6682
- .${barChartClassNames.barChartXAxis} {
6683
- .domain,
6684
- line {
6685
- display: none;
6686
- }
6687
-
6688
- .tick {
6689
- text {
6690
- text-anchor: start;
6691
- font-size: 12px;
6692
- color: rgba(48, 69, 79, 0.46);
6693
- }
6694
-
6695
- :last-of-type {
6696
- text {
6697
- text-anchor: end;
6698
- }
6699
- }
6700
- }
6701
- }
6702
-
6703
- .marker {
6704
- font-size: 12px;
6705
- }
6671
+ const BarChart = styled(BarChart$1) `
6672
+ .${barChartClassNames.barChartXAxis} {
6673
+ .domain,
6674
+ line {
6675
+ display: none;
6676
+ }
6677
+
6678
+ .tick {
6679
+ text {
6680
+ text-anchor: start;
6681
+ font-size: 12px;
6682
+ color: rgba(48, 69, 79, 0.46);
6683
+ }
6684
+
6685
+ :last-of-type {
6686
+ text {
6687
+ text-anchor: end;
6688
+ }
6689
+ }
6690
+ }
6691
+ }
6692
+
6693
+ .marker {
6694
+ font-size: 12px;
6695
+ }
6706
6696
  `;
6707
- const TooltipContainer = styled.div `
6708
- position: relative;
6709
- font-size: 0.75rem;
6710
- color: #ffffff;
6711
- margin-bottom: 0.5rem;
6712
- padding: 0.375rem;
6713
- background-color: rgba(0, 0, 0, 1);
6714
- border-radius: 0.25rem;
6715
- box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6716
-
6717
- :before {
6718
- content: "";
6719
- position: absolute;
6720
- bottom: 0;
6721
- left: 50%;
6722
- transform: translate(-50%, 100%);
6723
- width: 0;
6724
- height: 0;
6725
- border-style: solid;
6726
- border-width: 0.25rem 0.1875rem 0 0.1875rem;
6727
- border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6728
- }
6697
+ const TooltipContainer = styled.div `
6698
+ position: relative;
6699
+ font-size: 0.75rem;
6700
+ color: #ffffff;
6701
+ margin-bottom: 0.5rem;
6702
+ padding: 0.375rem;
6703
+ background-color: rgba(0, 0, 0, 1);
6704
+ border-radius: 0.25rem;
6705
+ box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6706
+
6707
+ :before {
6708
+ content: "";
6709
+ position: absolute;
6710
+ bottom: 0;
6711
+ left: 50%;
6712
+ transform: translate(-50%, 100%);
6713
+ width: 0;
6714
+ height: 0;
6715
+ border-style: solid;
6716
+ border-width: 0.25rem 0.1875rem 0 0.1875rem;
6717
+ border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6718
+ }
6729
6719
  `;
6730
6720
 
6731
6721
  const FiltersContainer = memo(({ elementConfig, config, type, renderElement }) => {
@@ -6802,64 +6792,64 @@ const PagesContainer = memo(({ type = WidgetType.Dashboard, noBorders }) => {
6802
6792
  return (jsx(Container, { id: getRootElementId(type), style: { width }, isMain: true, isColumn: isColumn, noBorders: noBorders, children: jsx(ContainerChildren, { type: type, items: filteredChildren, isMain: true, renderElement: renderElement }) }));
6803
6793
  });
6804
6794
 
6805
- const ImageContainerBg$1 = styled.div `
6806
- position: absolute;
6807
- top: 0;
6808
- bottom: 0;
6809
- left: 0;
6810
- right: 0;
6811
-
6812
- img {
6813
- width: 100%;
6814
- height: 100%;
6815
- object-position: center;
6816
- object-fit: cover;
6817
- }
6795
+ const ImageContainerBg$1 = styled.div `
6796
+ position: absolute;
6797
+ top: 0;
6798
+ bottom: 0;
6799
+ left: 0;
6800
+ right: 0;
6801
+
6802
+ img {
6803
+ width: 100%;
6804
+ height: 100%;
6805
+ object-position: center;
6806
+ object-fit: cover;
6807
+ }
6818
6808
  `;
6819
- const ImageContainerTitle = styled.div `
6820
- width: 100%;
6821
- overflow-wrap: break-word;
6822
- font-size: 1rem;
6823
- font-weight: 500;
6824
- `;
6825
- const ImageContainerText = styled.div `
6826
- width: 100%;
6827
- overflow-wrap: break-word;
6828
- margin-top: 0.5rem;
6829
- font-size: 0.75rem;
6830
- `;
6831
- const ImageContainerButton$1 = styled(FlatButton) `
6832
- min-height: 1.5rem;
6833
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6834
- background-color: ${({ theme: { palette } }) => palette.primary};
6835
- text-transform: none;
6836
-
6837
- :hover {
6838
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6839
- }
6809
+ const ImageContainerTitle = styled.div `
6810
+ width: 100%;
6811
+ overflow-wrap: break-word;
6812
+ font-size: 1rem;
6813
+ font-weight: 500;
6814
+ `;
6815
+ const ImageContainerText = styled.div `
6816
+ width: 100%;
6817
+ overflow-wrap: break-word;
6818
+ margin-top: 0.5rem;
6819
+ font-size: 0.75rem;
6820
+ `;
6821
+ const ImageContainerButton$1 = styled(FlatButton) `
6822
+ min-height: 1.5rem;
6823
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6824
+ background-color: ${({ theme: { palette } }) => palette.primary};
6825
+ text-transform: none;
6826
+
6827
+ :hover {
6828
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6829
+ }
6840
6830
  `;
6841
- const ImageContainerWrapper = styled(Flex) `
6842
- flex-direction: column;
6843
- justify-content: flex-end;
6844
- position: relative;
6845
- padding: 1rem;
6846
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6847
- overflow: hidden;
6848
-
6849
- ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6850
- z-index: 1;
6851
- color: ${({ theme: { palette } }) => palette.textContrast};
6852
- }
6853
-
6854
- :after {
6855
- content: "";
6856
- position: absolute;
6857
- top: 0;
6858
- bottom: 0;
6859
- left: 0;
6860
- right: 0;
6861
- background-color: rgba(0, 0, 0, 0.4);
6862
- }
6831
+ const ImageContainerWrapper = styled(Flex) `
6832
+ flex-direction: column;
6833
+ justify-content: flex-end;
6834
+ position: relative;
6835
+ padding: 1rem;
6836
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6837
+ overflow: hidden;
6838
+
6839
+ ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6840
+ z-index: 1;
6841
+ color: ${({ theme: { palette } }) => palette.textContrast};
6842
+ }
6843
+
6844
+ :after {
6845
+ content: "";
6846
+ position: absolute;
6847
+ top: 0;
6848
+ bottom: 0;
6849
+ left: 0;
6850
+ right: 0;
6851
+ background-color: rgba(0, 0, 0, 0.4);
6852
+ }
6863
6853
  `;
6864
6854
 
6865
6855
  const ImageContainer = memo(({ elementConfig, renderElement }) => {
@@ -6867,52 +6857,52 @@ const ImageContainer = memo(({ elementConfig, renderElement }) => {
6867
6857
  return (jsxs(ImageContainerWrapper, { id: id, style: style, children: [jsx(ImageContainerTitle, { children: renderElement({ id: "alias" }) }), jsx(ImageContainerText, { children: renderElement({ id: "text" }) }), renderElement({ id: "button" }), jsx(ImageContainerBg$1, { children: renderElement({ id: "image" }) })] }));
6868
6858
  });
6869
6859
 
6870
- const IconContainerWrapper = styled(Flex) `
6871
- flex-direction: column;
6872
- justify-content: center;
6873
- position: relative;
6874
- padding: 0.5rem 1rem 1rem;
6875
- background-color: ${({ theme: { palette } }) => palette.element};
6876
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6877
- overflow: hidden;
6878
- `;
6879
- const IconContainerHeaderWrapper = styled(Flex) `
6880
- justify-content: space-between;
6881
- align-items: center;
6882
- flex-wrap: nowrap;
6883
- width: 100%;
6884
- margin-bottom: 0.25rem;
6885
- `;
6886
- const IconContainerHeader = styled(Flex) `
6887
- align-items: center;
6888
- flex-wrap: nowrap;
6889
- width: 100%;
6890
- margin-right: 0.5rem;
6891
- font-size: 0.875rem;
6892
-
6893
- ${Icon} {
6894
- margin-right: 0.5rem;
6895
-
6896
- :after {
6897
- font-size: 1.15rem;
6898
- color: ${({ theme: { palette } }) => palette.textSecondary};
6899
- }
6900
- }
6860
+ const IconContainerWrapper = styled(Flex) `
6861
+ flex-direction: column;
6862
+ justify-content: center;
6863
+ position: relative;
6864
+ padding: 0.5rem 1rem 1rem;
6865
+ background-color: ${({ theme: { palette } }) => palette.element};
6866
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6867
+ overflow: hidden;
6901
6868
  `;
6902
- const IconContainerTitle = styled(Flex) `
6903
- > * {
6904
- width: 13rem;
6905
- white-space: nowrap;
6906
- overflow: hidden;
6907
- font-weight: bold;
6908
- text-overflow: ellipsis;
6909
- }
6869
+ const IconContainerHeaderWrapper = styled(Flex) `
6870
+ justify-content: space-between;
6871
+ align-items: center;
6872
+ flex-wrap: nowrap;
6873
+ width: 100%;
6874
+ margin-bottom: 0.25rem;
6875
+ `;
6876
+ const IconContainerHeader = styled(Flex) `
6877
+ align-items: center;
6878
+ flex-wrap: nowrap;
6879
+ width: 100%;
6880
+ margin-right: 0.5rem;
6881
+ font-size: 0.875rem;
6882
+
6883
+ ${Icon} {
6884
+ margin-right: 0.5rem;
6885
+
6886
+ :after {
6887
+ font-size: 1.15rem;
6888
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6889
+ }
6890
+ }
6891
+ `;
6892
+ const IconContainerTitle = styled(Flex) `
6893
+ > * {
6894
+ width: 13rem;
6895
+ white-space: nowrap;
6896
+ overflow: hidden;
6897
+ font-weight: bold;
6898
+ text-overflow: ellipsis;
6899
+ }
6910
6900
  `;
6911
- const IconContainerText = styled.div `
6912
- width: 100%;
6913
- overflow-wrap: break-word;
6914
- font-size: 0.75rem;
6915
- color: ${({ theme: { palette } }) => palette.textSecondary};
6901
+ const IconContainerText = styled.div `
6902
+ width: 100%;
6903
+ overflow-wrap: break-word;
6904
+ font-size: 0.75rem;
6905
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6916
6906
  `;
6917
6907
 
6918
6908
  const IconContainer = memo(({ elementConfig, renderElement }) => {
@@ -6935,107 +6925,107 @@ const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent,
6935
6925
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), !isVisible ? null : dataSource ? (jsx(Container, { id: id, isColumn: column, style: { height: isLoading ? "3rem" : "auto", ...style }, children: dataSource.features?.map((feature, index) => (jsx(DataSourceInnerContainer, { index: index, type: type, config: config, feature: feature, elementConfig: elementConfig, innerComponent: innerComponent }, index))) })) : (jsx(ContainerLoading, {}))] }));
6936
6926
  });
6937
6927
 
6938
- const SvgContainerColorMixin = css `
6939
- path,
6940
- line,
6941
- circle {
6942
- fill: ${({ $fontColor }) => $fontColor};
6943
- }
6928
+ const SvgContainerColorMixin = css `
6929
+ path,
6930
+ line,
6931
+ circle {
6932
+ fill: ${({ $fontColor }) => $fontColor};
6933
+ }
6944
6934
  `;
6945
- const SvgContainer = styled.div `
6946
- &&& {
6947
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6948
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6949
-
6950
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6951
-
6952
- > * {
6953
- min-width: inherit;
6954
- }
6955
- }
6935
+ const SvgContainer = styled.div `
6936
+ &&& {
6937
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6938
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6939
+
6940
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6941
+
6942
+ > * {
6943
+ min-width: inherit;
6944
+ }
6945
+ }
6956
6946
  `;
6957
6947
 
6958
- const ContainerIconTitle = styled(Flex) `
6959
- align-items: center;
6960
- flex-wrap: nowrap;
6961
- flex-shrink: 1;
6962
- flex-grow: 0;
6963
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6964
-
6965
- > div {
6966
- flex-shrink: 1;
6967
- flex-grow: 0;
6968
- width: auto;
6969
- }
6970
-
6971
- ${SvgContainer} {
6972
- flex-shrink: 0;
6973
- flex-grow: 0;
6974
- margin-right: 0.5rem;
6975
- }
6976
-
6977
- svg,
6978
- img,
6979
- span[kind] {
6980
- margin-right: 0.5rem;
6981
- }
6982
-
6948
+ const ContainerIconTitle = styled(Flex) `
6949
+ align-items: center;
6950
+ flex-wrap: nowrap;
6951
+ flex-shrink: 1;
6952
+ flex-grow: 0;
6953
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6954
+
6955
+ > div {
6956
+ flex-shrink: 1;
6957
+ flex-grow: 0;
6958
+ width: auto;
6959
+ }
6960
+
6961
+ ${SvgContainer} {
6962
+ flex-shrink: 0;
6963
+ flex-grow: 0;
6964
+ margin-right: 0.5rem;
6965
+ }
6966
+
6967
+ svg,
6968
+ img,
6969
+ span[kind] {
6970
+ margin-right: 0.5rem;
6971
+ }
6972
+
6983
6973
  ${({ fontColor }) => !!fontColor &&
6984
- css `
6985
- span[kind] {
6986
- color: ${fontColor};
6987
- }
6988
-
6989
- ${SvgContainer} {
6990
- path,
6991
- circle {
6992
- fill: ${fontColor};
6993
- }
6994
- }
6995
- `};
6996
-
6997
- ${LegendToggler} {
6998
- margin-left: 0.25rem;
6999
- }
7000
-
7001
- span[kind="download"] {
7002
- opacity: 0;
7003
- transition: opacity ${transition.hover};
7004
- }
7005
-
7006
- :hover {
7007
- span[kind="download"] {
7008
- opacity: 1;
7009
- }
7010
- }
6974
+ css `
6975
+ span[kind] {
6976
+ color: ${fontColor};
6977
+ }
6978
+
6979
+ ${SvgContainer} {
6980
+ path,
6981
+ circle {
6982
+ fill: ${fontColor};
6983
+ }
6984
+ }
6985
+ `};
6986
+
6987
+ ${LegendToggler} {
6988
+ margin-left: 0.25rem;
6989
+ }
6990
+
6991
+ span[kind="download"] {
6992
+ opacity: 0;
6993
+ transition: opacity ${transition.hover};
6994
+ }
6995
+
6996
+ :hover {
6997
+ span[kind="download"] {
6998
+ opacity: 1;
6999
+ }
7000
+ }
7011
7001
  `;
7012
- const ContainerTitle = styled(Flex) `
7013
- align-items: center;
7014
- justify-content: space-between;
7015
- width: 100%;
7016
-
7017
- > * {
7018
- font-size: 1.125rem;
7019
- font-weight: 500;
7020
- }
7021
-
7022
- ${LegendToggler} {
7023
- padding-right: 0;
7024
- }
7025
-
7002
+ const ContainerTitle = styled(Flex) `
7003
+ align-items: center;
7004
+ justify-content: space-between;
7005
+ width: 100%;
7006
+
7007
+ > * {
7008
+ font-size: 1.125rem;
7009
+ font-weight: 500;
7010
+ }
7011
+
7012
+ ${LegendToggler} {
7013
+ padding-right: 0;
7014
+ }
7015
+
7026
7016
  ${({ simple }) => simple &&
7027
- css `
7028
- justify-content: flex-start;
7029
-
7030
- ${ContainerIconTitle} {
7031
- font-size: 0.75rem;
7032
- }
7033
-
7034
- ${LegendToggler} {
7035
- margin-left: 0;
7036
- padding-left: 0.25rem;
7037
- }
7038
- `}
7017
+ css `
7018
+ justify-content: flex-start;
7019
+
7020
+ ${ContainerIconTitle} {
7021
+ font-size: 0.75rem;
7022
+ }
7023
+
7024
+ ${LegendToggler} {
7025
+ margin-left: 0;
7026
+ padding-left: 0.25rem;
7027
+ }
7028
+ `}
7039
7029
  `;
7040
7030
 
7041
7031
  const TitleContainer = memo(({ containerId, templateName, layerNames, fontColor, expandable, expanded, isVisible, elementConfig, renderElement, type, }) => {
@@ -7109,82 +7099,82 @@ const CameraContainer = memo(({ elementConfig, type, renderElement }) => {
7109
7099
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxs(Container, { id: id, style: style, children: [jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsx(ContainerValue, { children: renderElement({ id: "value", wrap: false }) })] }))] }));
7110
7100
  });
7111
7101
 
7112
- const TabAnchor = styled.div `
7113
- position: absolute;
7114
- top: -1.5rem;
7115
- right: 0;
7102
+ const TabAnchor = styled.div `
7103
+ position: absolute;
7104
+ top: -1.5rem;
7105
+ right: 0;
7116
7106
  `;
7117
- const TabValue = styled(Flex) `
7118
- flex-wrap: nowrap;
7107
+ const TabValue = styled(Flex) `
7108
+ flex-wrap: nowrap;
7119
7109
  `;
7120
- const noBgMixin = css `
7121
- background-color: transparent;
7122
- border-radius: 0;
7123
- border-bottom: 0.125rem solid
7124
- ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
7125
-
7126
- ${TabValue},
7127
- span[kind] {
7128
- color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7129
- }
7130
-
7131
- &&& svg {
7132
- path,
7133
- line,
7134
- circle {
7135
- fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7136
- }
7137
- }
7138
-
7139
- :not(:last-child) {
7140
- margin-right: 0;
7141
- }
7110
+ const noBgMixin = css `
7111
+ background-color: transparent;
7112
+ border-radius: 0;
7113
+ border-bottom: 0.125rem solid
7114
+ ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
7115
+
7116
+ ${TabValue},
7117
+ span[kind] {
7118
+ color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7119
+ }
7120
+
7121
+ &&& svg {
7122
+ path,
7123
+ line,
7124
+ circle {
7125
+ fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7126
+ }
7127
+ }
7128
+
7129
+ :not(:last-child) {
7130
+ margin-right: 0;
7131
+ }
7142
7132
  `;
7143
- const TabContainer = styled.a `
7144
- display: flex;
7145
- flex-direction: ${({ column }) => (column ? "column" : "row")};
7146
- align-items: center;
7147
- justify-content: center;
7148
- flex-wrap: nowrap;
7149
- padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
7150
- background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
7151
- border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
7152
- text-decoration: none;
7153
-
7154
- :not(:last-child) {
7155
- margin-right: 0.5rem;
7156
- }
7157
-
7158
- ${TabValue} {
7159
- margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
7160
- margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
7161
- font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
7162
- white-space: nowrap;
7163
- }
7164
-
7165
- ${TabValue},
7166
- span[kind] {
7167
- color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7168
- }
7169
-
7170
- ${SvgContainer$1} {
7171
- height: 1rem;
7172
- }
7173
-
7174
- svg,
7175
- img {
7176
- max-width: 1rem;
7177
- max-height: 1rem;
7178
- }
7179
-
7180
- ${({ noBg }) => noBg && noBgMixin};
7133
+ const TabContainer = styled.a `
7134
+ display: flex;
7135
+ flex-direction: ${({ column }) => (column ? "column" : "row")};
7136
+ align-items: center;
7137
+ justify-content: center;
7138
+ flex-wrap: nowrap;
7139
+ padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
7140
+ background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
7141
+ border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
7142
+ text-decoration: none;
7143
+
7144
+ :not(:last-child) {
7145
+ margin-right: 0.5rem;
7146
+ }
7147
+
7148
+ ${TabValue} {
7149
+ margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
7150
+ margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
7151
+ font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
7152
+ white-space: nowrap;
7153
+ }
7154
+
7155
+ ${TabValue},
7156
+ span[kind] {
7157
+ color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7158
+ }
7159
+
7160
+ ${SvgContainer$1} {
7161
+ height: 1rem;
7162
+ }
7163
+
7164
+ svg,
7165
+ img {
7166
+ max-width: 1rem;
7167
+ max-height: 1rem;
7168
+ }
7169
+
7170
+ ${({ noBg }) => noBg && noBgMixin};
7181
7171
  `;
7182
- const SwiperContainer = styled.div `
7183
- width: 100%;
7184
-
7185
- .swiper-wrapper {
7186
- display: flex;
7187
- }
7172
+ const SwiperContainer = styled.div `
7173
+ width: 100%;
7174
+
7175
+ .swiper-wrapper {
7176
+ display: flex;
7177
+ }
7188
7178
  `;
7189
7179
 
7190
7180
  const TabsContainer = memo(({ elementConfig, type }) => {
@@ -7212,97 +7202,97 @@ const TabsContainer = memo(({ elementConfig, type }) => {
7212
7202
  });
7213
7203
 
7214
7204
  const ContainerIconValue = styled(Flex) ``;
7215
- const RoundedBackgroundContainerWrapper = styled(Flex) `
7216
- position: relative;
7217
- flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7218
- width: 9rem;
7219
- padding: 0.75rem 0.75rem 0.5rem;
7220
- background-color: ${({ theme: { palette } }) => palette.element};
7221
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7222
- flex-wrap: nowrap;
7223
-
7224
- && {
7225
- margin-bottom: 0.5rem;
7226
- }
7227
-
7205
+ const RoundedBackgroundContainerWrapper = styled(Flex) `
7206
+ position: relative;
7207
+ flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7208
+ width: 9rem;
7209
+ padding: 0.75rem 0.75rem 0.5rem;
7210
+ background-color: ${({ theme: { palette } }) => palette.element};
7211
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7212
+ flex-wrap: nowrap;
7213
+
7214
+ && {
7215
+ margin-bottom: 0.5rem;
7216
+ }
7217
+
7228
7218
  ${({ $center }) => $center &&
7229
- css `
7230
- align-items: center;
7231
-
7232
- > * {
7233
- display: flex;
7234
- justify-content: center;
7235
- text-align: center;
7236
- width: 100%;
7237
- }
7238
- `};
7239
-
7219
+ css `
7220
+ align-items: center;
7221
+
7222
+ > * {
7223
+ display: flex;
7224
+ justify-content: center;
7225
+ text-align: center;
7226
+ width: 100%;
7227
+ }
7228
+ `};
7229
+
7240
7230
  ${({ $color }) => $color &&
7241
- css `
7242
- background-color: ${transparentizeColor($color, 6)};
7243
-
7244
- * {
7245
- color: ${$color};
7246
- fill: ${$color};
7247
- }
7248
- `};
7249
-
7250
- ${ContainerIcon}, ${SvgContainer$1} {
7251
- margin-bottom: 0.25rem;
7252
- }
7253
-
7231
+ css `
7232
+ background-color: ${transparentizeColor($color, 6)};
7233
+
7234
+ * {
7235
+ color: ${$color};
7236
+ fill: ${$color};
7237
+ }
7238
+ `};
7239
+
7240
+ ${ContainerIcon}, ${SvgContainer$1} {
7241
+ margin-bottom: 0.25rem;
7242
+ }
7243
+
7254
7244
  ${({ $bigIcon }) => $bigIcon &&
7255
- css `
7256
- ${ContainerIcon}, ${SvgContainer$1} {
7257
- position: absolute;
7258
- top: 0.75rem;
7259
- right: 0.75rem;
7260
- width: 3rem;
7261
- opacity: 0.12;
7262
-
7263
- :after {
7264
- font-size: 3rem;
7265
- }
7266
- }
7267
- `};
7268
-
7269
- ${ContainerIconValue} {
7270
- align-items: center;
7271
- flex-direction: column;
7272
-
7245
+ css `
7246
+ ${ContainerIcon}, ${SvgContainer$1} {
7247
+ position: absolute;
7248
+ top: 0.75rem;
7249
+ right: 0.75rem;
7250
+ width: 3rem;
7251
+ opacity: 0.12;
7252
+
7253
+ :after {
7254
+ font-size: 3rem;
7255
+ }
7256
+ }
7257
+ `};
7258
+
7259
+ ${ContainerIconValue} {
7260
+ align-items: center;
7261
+ flex-direction: column;
7262
+
7273
7263
  ${({ $big }) => $big &&
7274
- css `
7275
- flex-direction: row;
7276
- margin-bottom: 0.5rem;
7277
-
7278
- > * {
7279
- text-align: left;
7280
- }
7281
-
7282
- span[kind] {
7283
- margin-right: 0.5rem;
7284
- }
7285
-
7286
- ${ContainerValue} {
7287
- width: auto;
7288
- }
7289
- `};
7290
- }
7291
-
7292
- ${ContainerValue} {
7293
- flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7294
- justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7295
- align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7296
- line-height: 1;
7297
- }
7298
-
7299
- ${ContainerUnits} {
7300
- margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7301
- }
7302
-
7303
- ${ContainerAlias} {
7304
- margin-top: 0.25rem;
7305
- }
7264
+ css `
7265
+ flex-direction: row;
7266
+ margin-bottom: 0.5rem;
7267
+
7268
+ > * {
7269
+ text-align: left;
7270
+ }
7271
+
7272
+ span[kind] {
7273
+ margin-right: 0.5rem;
7274
+ }
7275
+
7276
+ ${ContainerValue} {
7277
+ width: auto;
7278
+ }
7279
+ `};
7280
+ }
7281
+
7282
+ ${ContainerValue} {
7283
+ flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7284
+ justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7285
+ align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7286
+ line-height: 1;
7287
+ }
7288
+
7289
+ ${ContainerUnits} {
7290
+ margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7291
+ }
7292
+
7293
+ ${ContainerAlias} {
7294
+ margin-top: 0.25rem;
7295
+ }
7306
7296
  `;
7307
7297
 
7308
7298
  const ALIAS_DEFAULT_MAX_LENGTH = 28;
@@ -7349,20 +7339,20 @@ const AddFeatureContainer = memo(({ elementConfig }) => {
7349
7339
  .map(({ options }, index) => (jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
7350
7340
  });
7351
7341
 
7352
- const LayersContainerWrapper = styled(Container) `
7353
- ${DraggableTreeContainer} {
7354
- width: calc(100% + 3rem);
7355
- margin: -0.75rem -1.5rem 0;
7356
- }
7357
-
7358
- ${LayerListContainer} {
7359
- height: auto;
7360
- }
7361
-
7362
- ${LayerGroupList} {
7363
- margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7364
- padding: 0;
7365
- }
7342
+ const LayersContainerWrapper = styled(Container) `
7343
+ ${DraggableTreeContainer} {
7344
+ width: calc(100% + 3rem);
7345
+ margin: -0.75rem -1.5rem 0;
7346
+ }
7347
+
7348
+ ${LayerListContainer} {
7349
+ height: auto;
7350
+ }
7351
+
7352
+ ${LayerGroupList} {
7353
+ margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7354
+ padding: 0;
7355
+ }
7366
7356
  `;
7367
7357
 
7368
7358
  const LayersContainer = memo(({ type, elementConfig, renderElement }) => {
@@ -7397,9 +7387,9 @@ const UploadContainer = memo(({ type, elementConfig, renderElement }) => {
7397
7387
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && renderElement({ id: "uploader", wrap: false })] }));
7398
7388
  });
7399
7389
 
7400
- const StatusBadge = styled(Chip) `
7401
- background-color: ${({ bgColor }) => bgColor};
7402
- color: ${({ theme }) => theme.palette.iconContrast};
7390
+ const StatusBadge = styled(Chip) `
7391
+ background-color: ${({ bgColor }) => bgColor};
7392
+ color: ${({ theme }) => theme.palette.iconContrast};
7403
7393
  `;
7404
7394
 
7405
7395
  const STATUS_TRANSLATION_KEYS = {
@@ -7451,22 +7441,22 @@ var EditGeometryType;
7451
7441
  EditGeometryType["Raster"] = "raster";
7452
7442
  })(EditGeometryType || (EditGeometryType = {}));
7453
7443
 
7454
- const StyledButton = styled(FlatButton) `
7455
- display: flex;
7456
- align-items: center;
7457
-
7458
- ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7459
- transition: background-color ${transition.toggle};
7460
- background-color: ${statusColors[status]};
7461
-
7462
- :hover {
7463
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7464
- }
7465
-
7466
- :active {
7467
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7468
- }
7469
- `}
7444
+ const StyledButton = styled(FlatButton) `
7445
+ display: flex;
7446
+ align-items: center;
7447
+
7448
+ ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7449
+ transition: background-color ${transition.toggle};
7450
+ background-color: ${statusColors[status]};
7451
+
7452
+ :hover {
7453
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7454
+ }
7455
+
7456
+ :active {
7457
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7458
+ }
7459
+ `}
7470
7460
  `;
7471
7461
 
7472
7462
  const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWaiting, isDisabled, onClick }) => {
@@ -7675,23 +7665,23 @@ const EditDropdownContainer = ({ type, elementConfig, renderElement, }) => {
7675
7665
  return (jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsx(ContainerValue, { column: true, children: jsx(Dropdown, { zIndex: 1000, label: control?.label, placeholder: control?.placeholder, options: optionsList, value: value, width: `${control?.width ?? DEFAULT_DROPDOWN_WIDTH}px`, onChange: ([option]) => onChange(option.value) }) })] }));
7676
7666
  };
7677
7667
 
7678
- const CheckboxWrapper = styled(ContainerValue) `
7679
- flex-wrap: wrap;
7680
-
7681
- && > label {
7682
- cursor: pointer;
7683
- margin-bottom: 0.25rem;
7684
- }
7668
+ const CheckboxWrapper = styled(ContainerValue) `
7669
+ flex-wrap: wrap;
7670
+
7671
+ && > label {
7672
+ cursor: pointer;
7673
+ margin-bottom: 0.25rem;
7674
+ }
7685
7675
  `;
7686
- const ChipsWrapper = styled(ContainerValue) `
7687
- flex-wrap: wrap;
7688
-
7689
- && > span {
7690
- cursor: pointer;
7691
- margin: 0 0.25rem 0.25rem 0;
7692
- padding: 0.25rem 0.5rem;
7693
- border-radius: 0.25rem;
7694
- }
7676
+ const ChipsWrapper = styled(ContainerValue) `
7677
+ flex-wrap: wrap;
7678
+
7679
+ && > span {
7680
+ cursor: pointer;
7681
+ margin: 0 0.25rem 0.25rem 0;
7682
+ padding: 0.25rem 0.5rem;
7683
+ border-radius: 0.25rem;
7684
+ }
7695
7685
  `;
7696
7686
 
7697
7687
  const EditChipsContainer = ({ type, elementConfig, renderElement, }) => {
@@ -7716,9 +7706,9 @@ const EditDateContainer = ({ type, elementConfig, renderElement, }) => {
7716
7706
  return (jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsx(ContainerValue, { column: true, children: jsx(DatePicker, { value: dateValue, locale: getLocale(language), withTime: withTime ?? false, withHeader: true, width: "100%", onChange: handleChange }) })] }));
7717
7707
  };
7718
7708
 
7719
- const ContainerDivider = styled(Divider) `
7720
- width: 100%;
7721
- border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7709
+ const ContainerDivider = styled(Divider) `
7710
+ width: 100%;
7711
+ border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7722
7712
  `;
7723
7713
 
7724
7714
  const DividerContainer = memo(({ elementConfig, config }) => {
@@ -7768,154 +7758,154 @@ const getContainerComponent = (innerTemplateName) => innerTemplateName
7768
7758
  var img$3 = "data:image/png;base64,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";
7769
7759
 
7770
7760
  const getMaskColor = (isDark) => isDark ? "0, 0, 0" : "255, 255, 255";
7771
- const DefaultHeaderContainer = styled(Flex) `
7772
- flex-direction: column;
7773
- position: relative;
7774
- flex-shrink: 0;
7775
- min-height: 8.175rem;
7776
- margin-bottom: -0.75rem;
7777
- padding: 1.5rem 1.5rem 0;
7778
- border-top-left-radius: 0.5rem;
7779
- border-top-right-radius: 0.5rem;
7780
- overflow: hidden;
7781
-
7782
- > * {
7783
- z-index: 1;
7784
- }
7785
-
7786
- &::before {
7787
- content: "";
7788
- position: absolute;
7789
- top: 0;
7790
- left: 0;
7791
- width: 100%;
7792
- height: 100%;
7793
-
7761
+ const DefaultHeaderContainer = styled(Flex) `
7762
+ flex-direction: column;
7763
+ position: relative;
7764
+ flex-shrink: 0;
7765
+ min-height: 8.175rem;
7766
+ margin-bottom: -0.75rem;
7767
+ padding: 1.5rem 1.5rem 0;
7768
+ border-top-left-radius: 0.5rem;
7769
+ border-top-right-radius: 0.5rem;
7770
+ overflow: hidden;
7771
+
7772
+ > * {
7773
+ z-index: 1;
7774
+ }
7775
+
7776
+ &::before {
7777
+ content: "";
7778
+ position: absolute;
7779
+ top: 0;
7780
+ left: 0;
7781
+ width: 100%;
7782
+ height: 100%;
7783
+
7794
7784
  ${({ image, isDark }) => image
7795
- ? css `
7796
- background: url(${image}) 0 0 no-repeat;
7797
- background-size: cover;
7785
+ ? css `
7786
+ background: url(${image}) 0 0 no-repeat;
7787
+ background-size: cover;
7798
7788
  `
7799
- : css `
7800
- background: url(${img$3}) 50% 0 no-repeat;
7801
- opacity: ${isDark ? 1 : 0.5};
7802
- `}
7803
- }
7804
-
7789
+ : css `
7790
+ background: url(${img$3}) 50% 0 no-repeat;
7791
+ opacity: ${isDark ? 1 : 0.5};
7792
+ `}
7793
+ }
7794
+
7805
7795
  ${({ image, isDark }) => image &&
7806
- css `
7807
- &::before {
7808
- -webkit-mask-image: linear-gradient(
7809
- to bottom,
7810
- rgba(${getMaskColor(isDark)}, 1),
7811
- rgba(${getMaskColor(isDark)}, 0)
7812
- );
7813
- mask-image: linear-gradient(
7814
- to bottom,
7815
- rgba(${getMaskColor(isDark)}, 1),
7816
- rgba(${getMaskColor(isDark)}, 0)
7817
- );
7818
- }
7819
- `}
7820
- ${LinearProgress} {
7821
- position: absolute;
7822
- top: 0;
7823
- left: 0;
7824
- }
7796
+ css `
7797
+ &::before {
7798
+ -webkit-mask-image: linear-gradient(
7799
+ to bottom,
7800
+ rgba(${getMaskColor(isDark)}, 1),
7801
+ rgba(${getMaskColor(isDark)}, 0)
7802
+ );
7803
+ mask-image: linear-gradient(
7804
+ to bottom,
7805
+ rgba(${getMaskColor(isDark)}, 1),
7806
+ rgba(${getMaskColor(isDark)}, 0)
7807
+ );
7808
+ }
7809
+ `}
7810
+ ${LinearProgress} {
7811
+ position: absolute;
7812
+ top: 0;
7813
+ left: 0;
7814
+ }
7825
7815
  `;
7826
- const TopContainer = styled(Flex) `
7827
- z-index: 1;
7828
- position: relative;
7829
- justify-content: space-between;
7830
- flex-wrap: nowrap;
7831
- width: 100%;
7832
- align-items: flex-start;
7833
- `;
7834
- const TopContainerButtons = styled(Flex) `
7835
- align-items: center;
7836
- width: auto;
7837
- margin-right: -0.5rem;
7838
-
7839
- button {
7840
- width: auto;
7841
- height: 1rem;
7842
- padding: 0 0.5rem;
7843
- }
7816
+ const TopContainer = styled(Flex) `
7817
+ z-index: 1;
7818
+ position: relative;
7819
+ justify-content: space-between;
7820
+ flex-wrap: nowrap;
7821
+ width: 100%;
7822
+ align-items: flex-start;
7823
+ `;
7824
+ const TopContainerButtons = styled(Flex) `
7825
+ align-items: center;
7826
+ width: auto;
7827
+ margin-right: -0.5rem;
7828
+
7829
+ button {
7830
+ width: auto;
7831
+ height: 1rem;
7832
+ padding: 0 0.5rem;
7833
+ }
7844
7834
  `;
7845
- const LogoContainer = styled(Flex) `
7846
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7847
- max-width: calc(100% - 1.4rem);
7848
- max-height: 1.875rem;
7849
- flex-grow: 1;
7850
- font-size: 0;
7851
-
7852
- & > span::after {
7853
- font-size: 2rem;
7854
- }
7855
-
7856
- img {
7857
- max-height: 1.875rem;
7858
- }
7835
+ const LogoContainer = styled(Flex) `
7836
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7837
+ max-width: calc(100% - 1.4rem);
7838
+ max-height: 1.875rem;
7839
+ flex-grow: 1;
7840
+ font-size: 0;
7841
+
7842
+ & > span::after {
7843
+ font-size: 2rem;
7844
+ }
7845
+
7846
+ img {
7847
+ max-height: 1.875rem;
7848
+ }
7859
7849
  `;
7860
- const PageTitle = styled(H2) `
7861
- cursor: pointer;
7862
- text-align: left;
7863
- flex: 1 1 auto;
7864
- min-width: 0;
7865
- margin: 0;
7866
- font-size: 1.25rem;
7867
- font-weight: 600;
7868
- pointer-events: initial;
7869
- font-family: "Nunito Sans", serif;
7870
-
7871
- > * {
7872
- white-space: nowrap;
7873
- overflow: hidden;
7874
- text-overflow: ellipsis;
7875
- }
7850
+ const PageTitle = styled(H2) `
7851
+ cursor: pointer;
7852
+ text-align: left;
7853
+ flex: 1 1 auto;
7854
+ min-width: 0;
7855
+ margin: 0;
7856
+ font-size: 1.25rem;
7857
+ font-weight: 600;
7858
+ pointer-events: initial;
7859
+ font-family: "Nunito Sans", serif;
7860
+
7861
+ > * {
7862
+ white-space: nowrap;
7863
+ overflow: hidden;
7864
+ text-overflow: ellipsis;
7865
+ }
7876
7866
  `;
7877
- const PageTitleContainer = styled(Flex) `
7878
- flex-grow: 1;
7879
- align-items: center;
7880
-
7881
- ${PageTitle} {
7882
- max-width: 15.75rem;
7883
- }
7884
-
7885
- &&& button {
7886
- width: 0;
7887
- overflow: hidden;
7888
-
7889
- span[kind] {
7890
- display: flex;
7891
- align-items: center;
7892
- justify-content: center;
7893
- width: 0.75rem;
7894
-
7895
- :after {
7896
- font-size: 0.75rem;
7897
- color: ${({ theme: { palette } }) => palette.textDisabled};
7898
- transition: color ${transition.hover};
7899
- }
7900
- }
7901
-
7902
- &:hover,
7903
- &:active {
7904
- span[kind]:after {
7905
- color: ${({ theme: { palette } }) => palette.textPrimary};
7906
- }
7907
- }
7908
- }
7909
-
7910
- :hover {
7911
- ${PageTitle} {
7912
- max-width: 14.25rem;
7913
- }
7914
-
7915
- &&& button {
7916
- width: 1.5rem;
7917
- }
7918
- }
7867
+ const PageTitleContainer = styled(Flex) `
7868
+ flex-grow: 1;
7869
+ align-items: center;
7870
+
7871
+ ${PageTitle} {
7872
+ max-width: 15.75rem;
7873
+ }
7874
+
7875
+ &&& button {
7876
+ width: 0;
7877
+ overflow: hidden;
7878
+
7879
+ span[kind] {
7880
+ display: flex;
7881
+ align-items: center;
7882
+ justify-content: center;
7883
+ width: 0.75rem;
7884
+
7885
+ :after {
7886
+ font-size: 0.75rem;
7887
+ color: ${({ theme: { palette } }) => palette.textDisabled};
7888
+ transition: color ${transition.hover};
7889
+ }
7890
+ }
7891
+
7892
+ &:hover,
7893
+ &:active {
7894
+ span[kind]:after {
7895
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7896
+ }
7897
+ }
7898
+ }
7899
+
7900
+ :hover {
7901
+ ${PageTitle} {
7902
+ max-width: 14.25rem;
7903
+ }
7904
+
7905
+ &&& button {
7906
+ width: 1.5rem;
7907
+ }
7908
+ }
7919
7909
  `;
7920
7910
 
7921
7911
  const DashboardDefaultHeader = memo(() => {
@@ -7924,83 +7914,83 @@ const DashboardDefaultHeader = memo(() => {
7924
7914
  return (jsxs(DefaultHeaderContainer, { image: image, isDark: themeName === ThemeName.Dark, children: [!pageId && jsx(LinearProgress, {}), jsxs(Flex, { column: true, gap: "1rem", children: [jsx(FlexSpan, { children: jsxs(TopContainer, { children: [jsx(LogoContainer, { onClick: onClickLogo, children: icon }), jsx(TopContainerButtons, { children: jsx(ProjectPanelMenu, {}) })] }) }), jsx(FlexSpan, { children: jsx(Flex, { column: true, gap: "0.25rem", children: jsx(FlexSpan, { children: jsxs(Flex, { alignItems: "center", children: [jsxs(PageTitleContainer, { children: [jsx(Tooltip$1, { arrow: true, content: tooltip, children: ref => (jsx(PageTitle, { ref: ref, onClick: toggleLayersVisibility, children: title })) }), jsx(ProjectPagesMenu, {})] }), jsx(FlexSpan, { children: jsx(Pagination, {}) })] }) }) }) })] })] }));
7925
7915
  });
7926
7916
 
7927
- const HeaderFrontView = styled(Flex) `
7928
- z-index: 10;
7929
- position: relative;
7930
- justify-content: space-between;
7931
- align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7932
- width: 100%;
7933
- font: ${({ theme: { fonts } }) => fonts.subtitle};
7934
- `;
7935
- const HeaderContainer = styled(FlexSpan) `
7936
- display: flex;
7937
- flex-grow: 1;
7938
- flex-wrap: nowrap;
7939
- width: calc(100% - 48px);
7940
- `;
7941
- const FeatureTitleContainer = styled.div `
7942
- display: -webkit-box;
7943
- max-width: 100%;
7944
- width: 100%;
7945
- margin: 0.5rem 0;
7946
- -webkit-line-clamp: 2;
7947
- -webkit-box-orient: vertical;
7948
- overflow: hidden;
7949
- text-overflow: ellipsis;
7950
- color: ${({ theme: { palette } }) => palette.textPrimary};
7951
-
7952
- & > ${FlexSpan} {
7953
- cursor: ${({ clickable }) => clickable && "pointer"};
7954
-
7955
- &:hover {
7956
- color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7957
- }
7958
- }
7917
+ const HeaderFrontView = styled(Flex) `
7918
+ z-index: 10;
7919
+ position: relative;
7920
+ justify-content: space-between;
7921
+ align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7922
+ width: 100%;
7923
+ font: ${({ theme: { fonts } }) => fonts.subtitle};
7924
+ `;
7925
+ const HeaderContainer = styled(FlexSpan) `
7926
+ display: flex;
7927
+ flex-grow: 1;
7928
+ flex-wrap: nowrap;
7929
+ width: calc(100% - 48px);
7930
+ `;
7931
+ const FeatureTitleContainer = styled.div `
7932
+ display: -webkit-box;
7933
+ max-width: 100%;
7934
+ width: 100%;
7935
+ margin: 0.5rem 0;
7936
+ -webkit-line-clamp: 2;
7937
+ -webkit-box-orient: vertical;
7938
+ overflow: hidden;
7939
+ text-overflow: ellipsis;
7940
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7941
+
7942
+ & > ${FlexSpan} {
7943
+ cursor: ${({ clickable }) => clickable && "pointer"};
7944
+
7945
+ &:hover {
7946
+ color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7947
+ }
7948
+ }
7959
7949
  `;
7960
- const LayerDescription = styled(Description) `
7961
- width: calc(100% - 4rem);
7962
- display: -webkit-box;
7963
- -webkit-line-clamp: 2;
7964
- -webkit-box-orient: vertical;
7965
- overflow: hidden;
7966
- text-overflow: ellipsis;
7950
+ const LayerDescription = styled(Description) `
7951
+ width: calc(100% - 4rem);
7952
+ display: -webkit-box;
7953
+ -webkit-line-clamp: 2;
7954
+ -webkit-box-orient: vertical;
7955
+ overflow: hidden;
7956
+ text-overflow: ellipsis;
7967
7957
  `;
7968
- const HeaderTitleContainer = styled(Flex) `
7969
- flex-direction: column;
7970
- width: 100%;
7958
+ const HeaderTitleContainer = styled(Flex) `
7959
+ flex-direction: column;
7960
+ width: 100%;
7971
7961
  `;
7972
- const RowHeaderMixin = css `
7973
- &&& {
7974
- min-height: auto;
7975
-
7976
- ${FeatureTitleContainer}, ${LayerDescription} {
7977
- text-align: left;
7978
- }
7979
- }
7980
-
7981
- ${HeaderContainer} {
7982
- flex-direction: row;
7983
- }
7984
-
7985
- ${FeatureTitleContainer} {
7986
- max-width: calc(100% - 3.8rem);
7987
- }
7962
+ const RowHeaderMixin = css `
7963
+ &&& {
7964
+ min-height: auto;
7965
+
7966
+ ${FeatureTitleContainer}, ${LayerDescription} {
7967
+ text-align: left;
7968
+ }
7969
+ }
7970
+
7971
+ ${HeaderContainer} {
7972
+ flex-direction: row;
7973
+ }
7974
+
7975
+ ${FeatureTitleContainer} {
7976
+ max-width: calc(100% - 3.8rem);
7977
+ }
7988
7978
  `;
7989
- const Header = styled(Flex) `
7990
- z-index: 1;
7991
- position: relative;
7992
- top: 0;
7993
- flex-shrink: 0;
7994
- overflow: hidden;
7995
- width: 100%;
7996
- padding: 0.5rem;
7997
-
7998
- ${({ $isRow }) => $isRow && RowHeaderMixin};
7979
+ const Header = styled(Flex) `
7980
+ z-index: 1;
7981
+ position: relative;
7982
+ top: 0;
7983
+ flex-shrink: 0;
7984
+ overflow: hidden;
7985
+ width: 100%;
7986
+ padding: 0.5rem;
7987
+
7988
+ ${({ $isRow }) => $isRow && RowHeaderMixin};
7999
7989
  `;
8000
- const DefaultHeaderWrapper = styled.div `
8001
- ${Header} {
8002
- padding: 0 1.5rem 1.5rem 0;
8003
- }
7990
+ const DefaultHeaderWrapper = styled.div `
7991
+ ${Header} {
7992
+ padding: 0 1.5rem 1.5rem 0;
7993
+ }
8004
7994
  `;
8005
7995
 
8006
7996
  const HeaderTitle = ({ noFeature }) => {
@@ -8028,24 +8018,24 @@ const HeaderTitle = ({ noFeature }) => {
8028
8018
  return (jsxs(HeaderTitleContainer, { children: [noFeature ? (jsx(FeatureTitleContainer, { children: t("noObjectFound", { ns: "dashboard", defaultValue: "Объектов не найдено" }) })) : (jsx(FeatureTitleContainer, { clickable: true, children: jsx(Tooltip$1, { arrow: true, placement: "top", content: t("zoomToFeature", { ns: "dashboard", defaultValue: "Приблизить к объекту" }), delay: [600, 0], children: ref => (jsx(FlexSpan, { ref: ref, onClick: () => zoomToFeatures([feature]), children: resultTitle })) }) })), jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
8029
8019
  };
8030
8020
 
8031
- const LayerIconContainer = styled.div `
8032
- display: flex;
8033
- align-items: center;
8034
- justify-content: center;
8035
- min-width: 2rem;
8036
- margin-right: 0.5rem;
8021
+ const LayerIconContainer = styled.div `
8022
+ display: flex;
8023
+ align-items: center;
8024
+ justify-content: center;
8025
+ min-width: 2rem;
8026
+ margin-right: 0.5rem;
8037
8027
  `;
8038
- const AlertIconContainer = styled(Flex) `
8039
- align-items: center;
8040
- justify-content: center;
8041
- width: 2rem;
8042
- height: 2rem;
8043
-
8044
- ${Icon} {
8045
- :after {
8046
- color: ${({ theme: { palette } }) => palette.error};
8047
- }
8048
- }
8028
+ const AlertIconContainer = styled(Flex) `
8029
+ align-items: center;
8030
+ justify-content: center;
8031
+ width: 2rem;
8032
+ height: 2rem;
8033
+
8034
+ ${Icon} {
8035
+ :after {
8036
+ color: ${({ theme: { palette } }) => palette.error};
8037
+ }
8038
+ }
8049
8039
  `;
8050
8040
 
8051
8041
  var img$2 = "data:image/svg+xml,%3csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3crect width='32' height='32' fill='transparent'/%3e %3cpath d='M20.248 9.67787C18.5318 8.04035 15.9473 7.54977 13.7024 8.43543C11.4576 9.32109 9.99566 11.4081 10 13.721C10 18.2894 16 24 16 24C16 24 22 18.2894 22 13.721C22.0028 12.2054 21.3726 10.7509 20.248 9.67787Z' fill='url(%23paint0_linear_6459_10338)'/%3e %3ccircle cx='16' cy='14' r='2' fill='white'/%3e %3cdefs%3e %3clinearGradient id='paint0_linear_6459_10338' x1='10' y1='8' x2='25.36' y2='19.52' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%230084D6'/%3e %3cstop offset='0.489583' stop-color='%230084D6'/%3e %3cstop offset='0.489683' stop-color='%2305A9FF'/%3e %3cstop offset='0.921875' stop-color='%2305A9FF'/%3e %3c/linearGradient%3e %3c/defs%3e%3c/svg%3e";
@@ -8082,54 +8072,54 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
8082
8072
  return (jsx(DefaultHeaderWrapper, { children: jsx(Header, { "$isRow": true, children: jsxs(HeaderFrontView, { isDefault: true, children: [jsxs(HeaderContainer, { children: [!!layerInfo?.name && jsx(LayerIcon, { layerInfo: layerInfo }), jsx(HeaderTitle, { noFeature: noFeature })] }), jsx(FeatureCardButtons, {})] }) }) }));
8083
8073
  };
8084
8074
 
8085
- const HeaderFontColorMixin$1 = css `
8086
- ${HeaderTitleContainer}, ${LayerDescription} {
8087
- color: ${({ $fontColor }) => $fontColor};
8088
- }
8075
+ const HeaderFontColorMixin$1 = css `
8076
+ ${HeaderTitleContainer}, ${LayerDescription} {
8077
+ color: ${({ $fontColor }) => $fontColor};
8078
+ }
8089
8079
  `;
8090
- const HeaderWrapperMixin$1 = css `
8091
- ${Header} {
8092
- min-height: 5.25rem;
8093
- }
8094
-
8095
- ${HeaderContainer} {
8096
- max-width: 100%;
8097
- width: 100%;
8098
- }
8099
-
8100
- ${FeatureControls} {
8101
- max-width: calc(100% - 2rem);
8102
- width: calc(100% - 2rem);
8103
- margin-top: -0.5rem;
8104
- padding-top: 1rem;
8105
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8106
- }
8107
-
8108
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
8080
+ const HeaderWrapperMixin$1 = css `
8081
+ ${Header} {
8082
+ min-height: 5.25rem;
8083
+ }
8084
+
8085
+ ${HeaderContainer} {
8086
+ max-width: 100%;
8087
+ width: 100%;
8088
+ }
8089
+
8090
+ ${FeatureControls} {
8091
+ max-width: calc(100% - 2rem);
8092
+ width: calc(100% - 2rem);
8093
+ margin-top: -0.5rem;
8094
+ padding-top: 1rem;
8095
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8096
+ }
8097
+
8098
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
8109
8099
  `;
8110
- const GradientHeaderWrapper = styled.div `
8111
- ${Header} {
8112
- background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
8113
- }
8114
-
8115
- ${HeaderContainer} {
8116
- align-items: center;
8117
- }
8118
-
8119
- ${HeaderTitleContainer} {
8120
- margin-left: 0;
8121
- text-align: center;
8122
- }
8123
-
8124
- ${FeatureTitleContainer} {
8125
- text-align: center;
8126
- }
8127
-
8128
- ${LayerDescription} {
8129
- text-align: center;
8130
- }
8131
-
8132
- ${HeaderWrapperMixin$1};
8100
+ const GradientHeaderWrapper = styled.div `
8101
+ ${Header} {
8102
+ background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
8103
+ }
8104
+
8105
+ ${HeaderContainer} {
8106
+ align-items: center;
8107
+ }
8108
+
8109
+ ${HeaderTitleContainer} {
8110
+ margin-left: 0;
8111
+ text-align: center;
8112
+ }
8113
+
8114
+ ${FeatureTitleContainer} {
8115
+ text-align: center;
8116
+ }
8117
+
8118
+ ${LayerDescription} {
8119
+ text-align: center;
8120
+ }
8121
+
8122
+ ${HeaderWrapperMixin$1};
8133
8123
  `;
8134
8124
 
8135
8125
  const FeatureCardGradientHeader = ({ isRow }) => {
@@ -8148,90 +8138,98 @@ const FeatureCardGradientHeader = ({ isRow }) => {
8148
8138
  }) })] }), jsx(FeatureCardButtons, {})] }) }) }) }));
8149
8139
  };
8150
8140
 
8151
- const HeaderFontColorMixin = css `
8152
- ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
8153
- color: ${({ $fontColor }) => $fontColor};
8154
- }
8155
- `;
8156
- const HeaderWrapperMixin = css `
8157
- ${Header} {
8158
- min-height: 5.25rem;
8159
- }
8160
-
8161
- ${HeaderContainer} {
8162
- max-width: 100%;
8163
- width: 100%;
8164
- }
8165
-
8166
- ${FeatureControls} {
8167
- max-width: calc(100% - 2rem);
8168
- width: calc(100% - 2rem);
8169
- margin-top: -0.5rem;
8170
- padding-top: 1rem;
8171
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8172
- }
8173
-
8174
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
8141
+ const LayerIconClickable = styled.div `
8142
+ display: flex;
8143
+ align-items: center;
8144
+ cursor: pointer;
8175
8145
  `;
8176
- const HeaderIcon = styled(Flex) `
8177
- position: absolute;
8178
- top: 0;
8179
- right: 0;
8180
- justify-content: flex-end;
8181
- align-items: center;
8182
- min-width: 7.5rem;
8183
- height: 100%;
8184
-
8185
- span[kind]:after {
8186
- font-size: 7.5rem;
8187
- }
8188
-
8189
- span[kind]:after,
8190
- path,
8191
- line,
8192
- circle {
8193
- fill: rgba(255, 255, 255, 0.36);
8194
- }
8195
-
8196
- && > * {
8197
- display: flex;
8198
- align-items: center;
8199
- height: 100%;
8200
- }
8146
+ const HeaderFontColorMixin = css `
8147
+ ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
8148
+ color: ${({ $fontColor }) => $fontColor};
8149
+ }
8201
8150
  `;
8202
- const BigIconHeaderMixin = css `
8203
- ${HeaderIcon} {
8204
- min-width: 14rem;
8205
- right: -3rem;
8206
-
8207
- span[kind]:after {
8208
- font-size: 14rem;
8209
- }
8210
- }
8151
+ const HeaderWrapperMixin = css `
8152
+ ${Header} {
8153
+ min-height: 5.25rem;
8154
+ }
8155
+
8156
+ ${HeaderContainer} {
8157
+ max-width: 100%;
8158
+ width: 100%;
8159
+ }
8160
+
8161
+ ${FeatureControls} {
8162
+ max-width: calc(100% - 2rem);
8163
+ width: calc(100% - 2rem);
8164
+ margin-top: -0.5rem;
8165
+ padding-top: 1rem;
8166
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8167
+ }
8168
+
8169
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
8170
+ `;
8171
+ const HeaderIcon = styled(Flex) `
8172
+ position: absolute;
8173
+ top: 0;
8174
+ right: 0;
8175
+ justify-content: flex-end;
8176
+ align-items: center;
8177
+ min-width: 7.5rem;
8178
+ height: 100%;
8179
+
8180
+ span[kind]:after {
8181
+ font-size: 7.5rem;
8182
+ }
8183
+
8184
+ span[kind]:after,
8185
+ path,
8186
+ line,
8187
+ circle {
8188
+ fill: rgba(255, 255, 255, 0.36);
8189
+ }
8190
+
8191
+ && > * {
8192
+ display: flex;
8193
+ align-items: center;
8194
+ height: 100%;
8195
+ }
8211
8196
  `;
8212
- const IconHeaderWrapper = styled.div `
8213
- ${Header} {
8214
- width: calc(100% + 0.5rem);
8215
- margin: -1rem -1rem 0.5rem -1rem;
8216
- padding: 1.5rem;
8217
- border-top-left-radius: 0.5rem;
8218
- border-top-right-radius: 0.5rem;
8219
- background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
8220
- }
8221
-
8222
- ${HeaderWrapperMixin};
8223
-
8224
- ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
8197
+ const BigIconHeaderMixin = css `
8198
+ ${HeaderIcon} {
8199
+ min-width: 14rem;
8200
+ right: -3rem;
8201
+
8202
+ span[kind]:after {
8203
+ font-size: 14rem;
8204
+ }
8205
+ }
8206
+ `;
8207
+ const IconHeaderWrapper = styled.div `
8208
+ ${Header} {
8209
+ width: calc(100% + 0.5rem);
8210
+ margin: -1rem -1rem 0.5rem -1rem;
8211
+ padding: 1.5rem;
8212
+ border-top-left-radius: 0.5rem;
8213
+ border-top-right-radius: 0.5rem;
8214
+ background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
8215
+ }
8216
+
8217
+ ${HeaderWrapperMixin};
8218
+
8219
+ ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
8225
8220
  `;
8226
8221
 
8227
8222
  const FeatureCardIconHeader = ({ isRow }) => {
8228
- const { layerInfo } = useWidgetContext(WidgetType.FeatureCard);
8223
+ const { t } = useGlobalContext();
8224
+ const { layerInfo, feature } = useWidgetContext(WidgetType.FeatureCard);
8229
8225
  const { config } = useWidgetConfig(WidgetType.FeatureCard);
8226
+ const zoomToFeatures = useZoomToFeatures();
8230
8227
  const { header } = config || {};
8231
8228
  const { options } = header || {};
8232
8229
  const { fontColor, bgColor, bigIcon } = options || {};
8233
8230
  const renderElement = useHeaderRender(header);
8234
- return (jsx(IconHeaderWrapper, { "$fontColor": fontColor, "$bgColor": bgColor, "$bigIcon": bigIcon, children: jsx(ThemeProvider, { theme: defaultTheme, children: jsxs(Header, { "$isRow": isRow, children: [jsxs(HeaderFrontView, { children: [jsxs(HeaderContainer, { children: [jsx(LayerIcon, { layerInfo: layerInfo }), jsx(FeatureCardTitle, { title: renderElement({
8231
+ const handleIconClick = useCallback(() => zoomToFeatures([feature]), [zoomToFeatures, feature]);
8232
+ return (jsx(IconHeaderWrapper, { "$fontColor": fontColor, "$bgColor": bgColor, "$bigIcon": bigIcon, children: jsx(ThemeProvider, { theme: defaultTheme, children: jsxs(Header, { "$isRow": isRow, children: [jsxs(HeaderFrontView, { children: [jsxs(HeaderContainer, { children: [jsx(Tooltip$1, { arrow: true, placement: "top", content: t("zoomToFeature", { ns: "dashboard", defaultValue: "Приблизить к объекту" }), delay: [600, 0], children: ref => (jsx(LayerIconClickable, { ref: ref, onClick: handleIconClick, children: jsx(LayerIcon, { layerInfo: layerInfo }) })) }), jsx(FeatureCardTitle, { title: renderElement({
8235
8233
  id: "title",
8236
8234
  wrap: false,
8237
8235
  }), description: renderElement({
@@ -8243,15 +8241,15 @@ const FeatureCardIconHeader = ({ isRow }) => {
8243
8241
  }) })] }) }) }));
8244
8242
  };
8245
8243
 
8246
- const ImageContainerButton = styled(FlatButton) `
8247
- min-height: 1.5rem;
8248
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
8249
- background-color: ${({ theme: { palette } }) => palette.primary};
8250
- text-transform: none;
8251
-
8252
- :hover {
8253
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
8254
- }
8244
+ const ImageContainerButton = styled(FlatButton) `
8245
+ min-height: 1.5rem;
8246
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
8247
+ background-color: ${({ theme: { palette } }) => palette.primary};
8248
+ text-transform: none;
8249
+
8250
+ :hover {
8251
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
8252
+ }
8255
8253
  `;
8256
8254
 
8257
8255
  const ElementButton = memo(({ type, elementConfig }) => {
@@ -8263,157 +8261,157 @@ const ElementButton = memo(({ type, elementConfig }) => {
8263
8261
  return (jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
8264
8262
  });
8265
8263
 
8266
- const AttributeGalleryContainer = styled.div `
8267
- && {
8268
- width: calc(100% + 3rem);
8269
- }
8270
-
8271
- min-height: 12.625rem;
8272
- background-color: ${({ theme: { palette } }) => palette.element};
8273
-
8274
- img {
8275
- width: 100%;
8276
- }
8264
+ const AttributeGalleryContainer = styled.div `
8265
+ && {
8266
+ width: calc(100% + 3rem);
8267
+ }
8268
+
8269
+ min-height: 12.625rem;
8270
+ background-color: ${({ theme: { palette } }) => palette.element};
8271
+
8272
+ img {
8273
+ width: 100%;
8274
+ }
8277
8275
  `;
8278
- const LinearProgressContainer = styled(Flex) `
8279
- align-items: center;
8280
- justify-content: center;
8281
- min-height: inherit;
8282
-
8283
- ${LinearProgress} {
8284
- max-width: 4rem;
8285
- }
8276
+ const LinearProgressContainer = styled(Flex) `
8277
+ align-items: center;
8278
+ justify-content: center;
8279
+ min-height: inherit;
8280
+
8281
+ ${LinearProgress} {
8282
+ max-width: 4rem;
8283
+ }
8286
8284
  `;
8287
- const NoLiveSnapshotContainer = styled(Flex) `
8288
- flex-direction: column;
8289
- align-items: center;
8290
-
8291
- span[kind="alert"] {
8292
- width: 2rem;
8293
- height: 2rem;
8294
-
8295
- &:after {
8296
- font-size: 2rem;
8297
- color: ${({ theme: { palette } }) => palette.elementDeep};
8298
- }
8299
- }
8300
-
8301
- ${Description} {
8302
- font-size: 0.75rem;
8303
- color: ${({ theme: { palette } }) => palette.textDisabled};
8304
- }
8285
+ const NoLiveSnapshotContainer = styled(Flex) `
8286
+ flex-direction: column;
8287
+ align-items: center;
8288
+
8289
+ span[kind="alert"] {
8290
+ width: 2rem;
8291
+ height: 2rem;
8292
+
8293
+ &:after {
8294
+ font-size: 2rem;
8295
+ color: ${({ theme: { palette } }) => palette.elementDeep};
8296
+ }
8297
+ }
8298
+
8299
+ ${Description} {
8300
+ font-size: 0.75rem;
8301
+ color: ${({ theme: { palette } }) => palette.textDisabled};
8302
+ }
8305
8303
  `;
8306
- const SmallPreviewControl = styled(IconButton) `
8307
- cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
8308
- z-index: 3;
8309
- position: absolute;
8310
- top: 50%;
8311
- width: 2.5rem;
8312
- height: 2.5rem;
8313
- margin-top: -1.25rem;
8314
- background-color: rgba(61, 61, 61, 0.8);
8315
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8316
-
8317
- span:after {
8318
- color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
8319
- transition: color ${transition.hover};
8320
- }
8304
+ const SmallPreviewControl = styled(IconButton) `
8305
+ cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
8306
+ z-index: 3;
8307
+ position: absolute;
8308
+ top: 50%;
8309
+ width: 2.5rem;
8310
+ height: 2.5rem;
8311
+ margin-top: -1.25rem;
8312
+ background-color: rgba(61, 61, 61, 0.8);
8313
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8314
+
8315
+ span:after {
8316
+ color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
8317
+ transition: color ${transition.hover};
8318
+ }
8321
8319
  `;
8322
- const SmallPreviewCounter = styled(Flex) `
8323
- z-index: 3;
8324
- position: absolute;
8325
- bottom: 0.625rem;
8326
- left: 0;
8327
- width: 100%;
8328
- height: 1rem;
8329
- justify-content: center;
8330
-
8331
- > div {
8332
- background-color: rgba(61, 61, 61, 0.8);
8333
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8334
- padding: 0 0.5rem;
8335
- font-size: 0.625rem;
8336
- line-height: 1rem;
8337
- color: #fff;
8338
- }
8320
+ const SmallPreviewCounter = styled(Flex) `
8321
+ z-index: 3;
8322
+ position: absolute;
8323
+ bottom: 0.625rem;
8324
+ left: 0;
8325
+ width: 100%;
8326
+ height: 1rem;
8327
+ justify-content: center;
8328
+
8329
+ > div {
8330
+ background-color: rgba(61, 61, 61, 0.8);
8331
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8332
+ padding: 0 0.5rem;
8333
+ font-size: 0.625rem;
8334
+ line-height: 1rem;
8335
+ color: #fff;
8336
+ }
8339
8337
  `;
8340
8338
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
8341
8339
  kind: "prev",
8342
- })) `
8343
- left: 1.5rem;
8340
+ })) `
8341
+ left: 1.5rem;
8344
8342
  `;
8345
8343
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
8346
8344
  kind: "next",
8347
- })) `
8348
- right: 1.5rem;
8349
- `;
8350
- const imgSlideShowMixin = css `
8351
- &:nth-child(${({ prevIndex }) => prevIndex}) {
8352
- z-index: 2;
8353
- position: absolute;
8354
- top: 0;
8355
- left: 0;
8356
- right: 0;
8357
- bottom: 0;
8358
- opacity: 0;
8359
-
8360
- animation-duration: 0.25s;
8361
- animation-name: fadeOut;
8362
- animation-timing-function: linear;
8363
-
8364
- @keyframes fadeOut {
8365
- from {
8366
- opacity: 1;
8367
- }
8368
-
8369
- to {
8370
- opacity: 0;
8371
- }
8372
- }
8373
- }
8345
+ })) `
8346
+ right: 1.5rem;
8347
+ `;
8348
+ const imgSlideShowMixin = css `
8349
+ &:nth-child(${({ prevIndex }) => prevIndex}) {
8350
+ z-index: 2;
8351
+ position: absolute;
8352
+ top: 0;
8353
+ left: 0;
8354
+ right: 0;
8355
+ bottom: 0;
8356
+ opacity: 0;
8357
+
8358
+ animation-duration: 0.25s;
8359
+ animation-name: fadeOut;
8360
+ animation-timing-function: linear;
8361
+
8362
+ @keyframes fadeOut {
8363
+ from {
8364
+ opacity: 1;
8365
+ }
8366
+
8367
+ to {
8368
+ opacity: 0;
8369
+ }
8370
+ }
8371
+ }
8374
8372
  `;
8375
- const SmallPreviewContainer$1 = styled.div `
8376
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8377
- position: relative;
8378
- width: 100%;
8379
- height: 100%;
8380
- min-height: inherit;
8381
- line-height: 0;
8382
-
8383
- ${LinearProgress} {
8384
- z-index: 3;
8385
- position: absolute;
8386
- }
8387
-
8388
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8389
- opacity: 0;
8390
- transition: opacity ${transition.hover};
8391
- }
8392
-
8393
- &:hover {
8394
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8395
- opacity: 1;
8396
- }
8397
- }
8398
-
8399
- img {
8400
- z-index: 0;
8401
- cursor: pointer;
8402
- position: absolute;
8403
- top: 0;
8404
- left: 0;
8405
- width: 100%;
8406
- height: 100%;
8407
- min-height: inherit;
8408
- object-position: center;
8409
- object-fit: cover;
8410
-
8411
- &:nth-child(${({ currentIndex }) => currentIndex}) {
8412
- z-index: 1;
8413
- }
8414
-
8415
- ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8416
- }
8373
+ const SmallPreviewContainer$1 = styled.div `
8374
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8375
+ position: relative;
8376
+ width: 100%;
8377
+ height: 100%;
8378
+ min-height: inherit;
8379
+ line-height: 0;
8380
+
8381
+ ${LinearProgress} {
8382
+ z-index: 3;
8383
+ position: absolute;
8384
+ }
8385
+
8386
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8387
+ opacity: 0;
8388
+ transition: opacity ${transition.hover};
8389
+ }
8390
+
8391
+ &:hover {
8392
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8393
+ opacity: 1;
8394
+ }
8395
+ }
8396
+
8397
+ img {
8398
+ z-index: 0;
8399
+ cursor: pointer;
8400
+ position: absolute;
8401
+ top: 0;
8402
+ left: 0;
8403
+ width: 100%;
8404
+ height: 100%;
8405
+ min-height: inherit;
8406
+ object-position: center;
8407
+ object-fit: cover;
8408
+
8409
+ &:nth-child(${({ currentIndex }) => currentIndex}) {
8410
+ z-index: 1;
8411
+ }
8412
+
8413
+ ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8414
+ }
8417
8415
  `;
8418
8416
  const SmallPreviewImages = styled.div ``;
8419
8417
 
@@ -8654,21 +8652,21 @@ const ElementControl = ({ elementConfig }) => {
8654
8652
  return (jsx(Dropdown, { zIndex: 1000, width: `${width ?? DEFAULT_DROPDOWN_WIDTH}px`, label: label, options: items, value: currentValue, placeholder: placeholder, disabled: isDisabled, onChange: handleChange }));
8655
8653
  };
8656
8654
 
8657
- const StyledIconFontSizeMixin = css `
8658
- height: ${({ fontSize }) => `${fontSize}px`};
8659
-
8660
- &&:after {
8661
- font-size: ${({ fontSize }) => `${fontSize}px`};
8662
- }
8655
+ const StyledIconFontSizeMixin = css `
8656
+ height: ${({ fontSize }) => `${fontSize}px`};
8657
+
8658
+ &&:after {
8659
+ font-size: ${({ fontSize }) => `${fontSize}px`};
8660
+ }
8663
8661
  `;
8664
- const StyledIconFontColorMixin = css `
8665
- &&:after {
8666
- color: ${({ fontColor }) => fontColor};
8667
- }
8662
+ const StyledIconFontColorMixin = css `
8663
+ &&:after {
8664
+ color: ${({ fontColor }) => fontColor};
8665
+ }
8668
8666
  `;
8669
- const StyledIcon = styled(Icon) `
8670
- ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8671
- ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8667
+ const StyledIcon = styled(Icon) `
8668
+ ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8669
+ ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8672
8670
  `;
8673
8671
 
8674
8672
  const ElementIcon = memo(({ type, elementConfig }) => {
@@ -8749,55 +8747,55 @@ const ElementLegend = memo(({ type, element, elementConfig }) => {
8749
8747
 
8750
8748
  const ExternalLink = styled(IconButton).attrs(() => ({
8751
8749
  kind: "external_link",
8752
- })) `
8753
- ${Icon} {
8754
- color: ${({ theme: { palette } }) => palette.primary};
8755
- }
8756
-
8757
- &:hover ${Icon} {
8758
- color: ${({ theme: { palette } }) => palette.primaryDeep};
8759
- }
8750
+ })) `
8751
+ ${Icon} {
8752
+ color: ${({ theme: { palette } }) => palette.primary};
8753
+ }
8754
+
8755
+ &:hover ${Icon} {
8756
+ color: ${({ theme: { palette } }) => palette.primaryDeep};
8757
+ }
8760
8758
  `;
8761
- const Link = styled.a `
8762
- text-decoration: none;
8763
- font-size: 0.75rem;
8764
- color: ${({ theme: { palette } }) => palette.primary};
8759
+ const Link = styled.a `
8760
+ text-decoration: none;
8761
+ font-size: 0.75rem;
8762
+ color: ${({ theme: { palette } }) => palette.primary};
8765
8763
  `;
8766
- const LocalLinkBlank = styled(Blank) `
8767
- min-width: 13.5rem;
8768
- padding: 0.5rem 0.75rem 0;
8769
-
8770
- ${IconButtonButton} {
8771
- font-size: 0.75rem;
8772
- }
8764
+ const LocalLinkBlank = styled(Blank) `
8765
+ min-width: 13.5rem;
8766
+ padding: 0.5rem 0.75rem 0;
8767
+
8768
+ ${IconButtonButton} {
8769
+ font-size: 0.75rem;
8770
+ }
8773
8771
  `;
8774
8772
  const LocalLinkButton = styled(IconButton).attrs(() => ({
8775
8773
  kind: "link",
8776
- })) `
8777
- width: 1rem;
8778
- height: 1rem;
8779
- background-color: ${({ theme: { palette } }) => palette.primary};
8780
- padding: 0;
8781
- border-radius: 50%;
8782
-
8783
- :hover {
8784
- background-color: ${({ theme: { palette } }) => palette.primary};
8785
- }
8786
-
8787
- span[kind] {
8788
- display: flex;
8789
- justify-content: center;
8790
- align-items: center;
8791
-
8792
- :after {
8793
- position: relative;
8794
- font-size: 0.6rem;
8795
- color: white;
8796
- }
8797
- }
8774
+ })) `
8775
+ width: 1rem;
8776
+ height: 1rem;
8777
+ background-color: ${({ theme: { palette } }) => palette.primary};
8778
+ padding: 0;
8779
+ border-radius: 50%;
8780
+
8781
+ :hover {
8782
+ background-color: ${({ theme: { palette } }) => palette.primary};
8783
+ }
8784
+
8785
+ span[kind] {
8786
+ display: flex;
8787
+ justify-content: center;
8788
+ align-items: center;
8789
+
8790
+ :after {
8791
+ position: relative;
8792
+ font-size: 0.6rem;
8793
+ color: white;
8794
+ }
8795
+ }
8798
8796
  `;
8799
- const LocalLinkCopy = styled(Flex) `
8800
- justify-content: center;
8797
+ const LocalLinkCopy = styled(Flex) `
8798
+ justify-content: center;
8801
8799
  `;
8802
8800
 
8803
8801
  const LocalLink = memo(({ link, style }) => {
@@ -8826,104 +8824,104 @@ const ElementLink = memo(({ type, elementConfig }) => {
8826
8824
  : jsx(LocalLink, { style: style, link: link });
8827
8825
  });
8828
8826
 
8829
- const MarkdownWrapper = styled.div `
8830
- padding: 0;
8831
- background: transparent;
8832
- border-radius: 0.5rem;
8833
- font-family: 'Nunito Sans', sans-serif;
8834
- color: ${({ theme: { palette } }) => palette.textPrimary};
8835
-
8836
- /* Paragraphs */
8837
- p {
8838
- font-size: 0.875rem;
8839
- line-height: 1rem;
8840
- letter-spacing: 0.0052rem;
8841
- margin: 0 0 1rem 0;
8842
- font-weight: 400;
8843
-
8844
- &:last-child {
8845
- margin-bottom: 0;
8846
- }
8847
- }
8848
-
8849
- /* Headings */
8850
- h1, h2, h3, h4, h5, h6 {
8851
- margin: 0 0 0.75rem 0;
8852
- font-weight: 300;
8853
- }
8854
-
8855
- h1 {
8856
- font-size: 1.5rem;
8857
- line-height: 1.75rem;
8858
- }
8859
-
8860
- h2 {
8861
- font-size: 1.25rem;
8862
- line-height: 1.5rem;
8863
- }
8864
-
8865
- h3 {
8866
- font-size: 1rem;
8867
- line-height: 1.25rem;
8868
- }
8869
-
8870
- /* Images */
8871
- img {
8872
- max-width: 100%;
8873
- height: auto;
8874
- border-radius: 0.5rem;
8875
- object-fit: cover;
8876
- margin: 0.75rem 0;
8877
- }
8878
-
8879
- /* Links */
8880
- a {
8881
- color: ${({ theme: { palette } }) => palette.primary};
8882
- text-decoration: none;
8883
-
8884
- &:hover {
8885
- text-decoration: underline;
8886
- }
8887
- }
8888
-
8889
- /* Lists */
8890
- ul, ol {
8891
- margin: 0 0 1rem 0;
8892
- padding-left: 1.25rem;
8893
-
8894
- li {
8895
- font-size: 0.875rem;
8896
- line-height: 1rem;
8897
- margin-bottom: 0.5rem;
8898
- }
8899
- }
8900
-
8901
- /* Code */
8902
- code {
8903
- background: ${({ theme: { palette } }) => palette.element};
8904
- padding: 0.125rem 0.375rem;
8905
- border-radius: 0.25rem;
8906
- font-family: monospace;
8907
- font-size: 0.8125rem;
8908
- }
8909
-
8910
- pre {
8911
- background: ${({ theme: { palette } }) => palette.element};
8912
- padding: 0.75rem;
8913
- border-radius: 0.25rem;
8914
- overflow-x: auto;
8915
- margin: 0.75rem 0;
8916
-
8917
- code {
8918
- background: transparent;
8919
- padding: 0;
8920
- }
8921
- }
8922
-
8923
- /* Hide horizontal rules */
8924
- hr {
8925
- display: none;
8926
- }
8827
+ const MarkdownWrapper = styled.div `
8828
+ padding: 0;
8829
+ background: transparent;
8830
+ border-radius: 0.5rem;
8831
+ font-family: 'Nunito Sans', sans-serif;
8832
+ color: ${({ theme: { palette } }) => palette.textPrimary};
8833
+
8834
+ /* Paragraphs */
8835
+ p {
8836
+ font-size: 0.875rem;
8837
+ line-height: 1rem;
8838
+ letter-spacing: 0.0052rem;
8839
+ margin: 0 0 1rem 0;
8840
+ font-weight: 400;
8841
+
8842
+ &:last-child {
8843
+ margin-bottom: 0;
8844
+ }
8845
+ }
8846
+
8847
+ /* Headings */
8848
+ h1, h2, h3, h4, h5, h6 {
8849
+ margin: 0 0 0.75rem 0;
8850
+ font-weight: 300;
8851
+ }
8852
+
8853
+ h1 {
8854
+ font-size: 1.5rem;
8855
+ line-height: 1.75rem;
8856
+ }
8857
+
8858
+ h2 {
8859
+ font-size: 1.25rem;
8860
+ line-height: 1.5rem;
8861
+ }
8862
+
8863
+ h3 {
8864
+ font-size: 1rem;
8865
+ line-height: 1.25rem;
8866
+ }
8867
+
8868
+ /* Images */
8869
+ img {
8870
+ max-width: 100%;
8871
+ height: auto;
8872
+ border-radius: 0.5rem;
8873
+ object-fit: cover;
8874
+ margin: 0.75rem 0;
8875
+ }
8876
+
8877
+ /* Links */
8878
+ a {
8879
+ color: ${({ theme: { palette } }) => palette.primary};
8880
+ text-decoration: none;
8881
+
8882
+ &:hover {
8883
+ text-decoration: underline;
8884
+ }
8885
+ }
8886
+
8887
+ /* Lists */
8888
+ ul, ol {
8889
+ margin: 0 0 1rem 0;
8890
+ padding-left: 1.25rem;
8891
+
8892
+ li {
8893
+ font-size: 0.875rem;
8894
+ line-height: 1rem;
8895
+ margin-bottom: 0.5rem;
8896
+ }
8897
+ }
8898
+
8899
+ /* Code */
8900
+ code {
8901
+ background: ${({ theme: { palette } }) => palette.element};
8902
+ padding: 0.125rem 0.375rem;
8903
+ border-radius: 0.25rem;
8904
+ font-family: monospace;
8905
+ font-size: 0.8125rem;
8906
+ }
8907
+
8908
+ pre {
8909
+ background: ${({ theme: { palette } }) => palette.element};
8910
+ padding: 0.75rem;
8911
+ border-radius: 0.25rem;
8912
+ overflow-x: auto;
8913
+ margin: 0.75rem 0;
8914
+
8915
+ code {
8916
+ background: transparent;
8917
+ padding: 0;
8918
+ }
8919
+ }
8920
+
8921
+ /* Hide horizontal rules */
8922
+ hr {
8923
+ display: none;
8924
+ }
8927
8925
  `;
8928
8926
 
8929
8927
  const sanitizeSchema = {
@@ -8966,9 +8964,9 @@ const ElementMarkdown = memo(({ elementConfig, type }) => {
8966
8964
  return (jsxs(MarkdownWrapper, { children: [jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], rehypePlugins: [rehypeRaw, rehypeSanitize], children: markdownString }), jsx(LegendToggler, { toggled: true, onClick: () => setExpanded(false), children: t("hide", { ns: "dashboard", defaultValue: "Свернуть" }) })] }));
8967
8965
  });
8968
8966
 
8969
- const SmallPreviewContainer = styled.div `
8970
- width: 100%;
8971
- height: 100%;
8967
+ const SmallPreviewContainer = styled.div `
8968
+ width: 100%;
8969
+ height: 100%;
8972
8970
  `;
8973
8971
 
8974
8972
  const ElementSlideshow = ({ elementConfig, type, renderElement }) => {
@@ -9006,18 +9004,18 @@ const ElementSvg = memo(({ type, elementConfig, ...rest }) => {
9006
9004
  return (jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
9007
9005
  });
9008
9006
 
9009
- const TooltipIcon = styled(Icon) `
9010
- &&& {
9011
- :after {
9012
- font-size: 0.75rem;
9013
- color: ${({ theme: { palette } }) => palette.iconDisabled};
9014
- transition: color ${transition.hover};
9015
- }
9016
-
9017
- :hover:after {
9018
- color: ${({ theme: { palette } }) => palette.icon};
9019
- }
9020
- }
9007
+ const TooltipIcon = styled(Icon) `
9008
+ &&& {
9009
+ :after {
9010
+ font-size: 0.75rem;
9011
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
9012
+ transition: color ${transition.hover};
9013
+ }
9014
+
9015
+ :hover:after {
9016
+ color: ${({ theme: { palette } }) => palette.icon};
9017
+ }
9018
+ }
9021
9019
  `;
9022
9020
 
9023
9021
  const ElementTooltip = memo(({ type, elementConfig }) => {
@@ -9029,76 +9027,76 @@ const ElementTooltip = memo(({ type, elementConfig }) => {
9029
9027
  return text ? (jsx(Tooltip$1, { placement: "top", arrow: true, content: text, children: ref => jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
9030
9028
  });
9031
9029
 
9032
- const SlideshowHeaderWrapper = styled.div `
9033
- padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
9034
-
9035
- ${Header} {
9036
- align-items: flex-start;
9037
- width: calc(100% + 2rem);
9038
- height: ${({ big }) => (big ? "15.5rem" : "auto")};
9039
- padding: 1.5rem;
9040
- margin: -1rem -1rem 0 -1rem;
9041
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
9042
-
9043
- ${SmallPreviewCounter} {
9044
- bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
9045
- }
9046
-
9047
- :before,
9048
- :after {
9049
- content: "";
9050
- z-index: 2;
9051
- position: absolute;
9052
- top: 0;
9053
- left: 0;
9054
- width: 100%;
9055
- }
9056
-
9057
- :before {
9058
- height: 100%;
9059
- background: rgba(32, 46, 53, 0.25);
9060
- }
9061
-
9062
- :after {
9063
- height: 4.5rem;
9064
- background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
9065
- }
9066
-
9067
- :hover {
9068
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
9069
- opacity: 1;
9070
- }
9071
- }
9072
- }
9030
+ const SlideshowHeaderWrapper = styled.div `
9031
+ padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
9032
+
9033
+ ${Header} {
9034
+ align-items: flex-start;
9035
+ width: calc(100% + 2rem);
9036
+ height: ${({ big }) => (big ? "15.5rem" : "auto")};
9037
+ padding: 1.5rem;
9038
+ margin: -1rem -1rem 0 -1rem;
9039
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
9040
+
9041
+ ${SmallPreviewCounter} {
9042
+ bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
9043
+ }
9044
+
9045
+ :before,
9046
+ :after {
9047
+ content: "";
9048
+ z-index: 2;
9049
+ position: absolute;
9050
+ top: 0;
9051
+ left: 0;
9052
+ width: 100%;
9053
+ }
9054
+
9055
+ :before {
9056
+ height: 100%;
9057
+ background: rgba(32, 46, 53, 0.25);
9058
+ }
9059
+
9060
+ :after {
9061
+ height: 4.5rem;
9062
+ background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
9063
+ }
9064
+
9065
+ :hover {
9066
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
9067
+ opacity: 1;
9068
+ }
9069
+ }
9070
+ }
9073
9071
  `;
9074
- const ImageContainerBg = styled.div `
9075
- position: absolute;
9076
- top: 0;
9077
- bottom: 0;
9078
- left: 0;
9079
- right: 0;
9080
-
9081
- img {
9082
- width: 100%;
9083
- height: 100%;
9084
- object-position: center;
9085
- object-fit: cover;
9086
- }
9072
+ const ImageContainerBg = styled.div `
9073
+ position: absolute;
9074
+ top: 0;
9075
+ bottom: 0;
9076
+ left: 0;
9077
+ right: 0;
9078
+
9079
+ img {
9080
+ width: 100%;
9081
+ height: 100%;
9082
+ object-position: center;
9083
+ object-fit: cover;
9084
+ }
9087
9085
  `;
9088
- const HeaderSlideshow = styled.div `
9089
- position: absolute;
9090
- top: 0;
9091
- bottom: ${({ height }) => (height ? `${height}px` : 0)};
9092
- left: 0;
9093
- right: 0;
9094
-
9095
- img {
9096
- width: 100%;
9097
- height: 100%;
9098
- min-height: inherit;
9099
- object-position: center;
9100
- object-fit: cover;
9101
- }
9086
+ const HeaderSlideshow = styled.div `
9087
+ position: absolute;
9088
+ top: 0;
9089
+ bottom: ${({ height }) => (height ? `${height}px` : 0)};
9090
+ left: 0;
9091
+ right: 0;
9092
+
9093
+ img {
9094
+ width: 100%;
9095
+ height: 100%;
9096
+ min-height: inherit;
9097
+ object-position: center;
9098
+ object-fit: cover;
9099
+ }
9102
9100
  `;
9103
9101
 
9104
9102
  const FeatureCardSlideshowHeader = ({ isRow }) => {
@@ -9242,40 +9240,40 @@ const getDefaultConfig = ({ title, defaultTitle, items, baseMapName, position, r
9242
9240
  return dashboardConfiguration;
9243
9241
  };
9244
9242
 
9245
- const UploaderContainer = styled(Container) `
9246
- ${UploaderItemArea} {
9247
- overflow: visible;
9248
- padding-top: 1rem;
9249
- padding-bottom: 1rem;
9250
- }
9251
-
9252
- ${UploaderTitleWrapper} {
9253
- top: 0;
9254
- padding-top: 0;
9255
- border: 0;
9256
- }
9243
+ const UploaderContainer = styled(Container) `
9244
+ ${UploaderItemArea} {
9245
+ overflow: visible;
9246
+ padding-top: 1rem;
9247
+ padding-bottom: 1rem;
9248
+ }
9249
+
9250
+ ${UploaderTitleWrapper} {
9251
+ top: 0;
9252
+ padding-top: 0;
9253
+ border: 0;
9254
+ }
9257
9255
  `;
9258
9256
 
9259
- const UploaderTitle = styled(Flex) `
9260
- flex-direction: column;
9261
- align-items: center;
9262
- width: 11rem;
9263
- margin: 0 auto;
9264
- text-align: center;
9265
- font-size: 0.625rem;
9266
- color: ${({ theme: { palette } }) => palette.textSecondary};
9267
-
9268
- span[kind] {
9269
- width: 1.5rem;
9270
- height: 1.5rem;
9271
- margin-bottom: 0.75rem;
9272
-
9273
- :after {
9274
- font-size: 1.5rem;
9275
- color: ${({ theme: { palette } }) => palette.textSecondary};
9276
- opacity: 0.12;
9277
- }
9278
- }
9257
+ const UploaderTitle = styled(Flex) `
9258
+ flex-direction: column;
9259
+ align-items: center;
9260
+ width: 11rem;
9261
+ margin: 0 auto;
9262
+ text-align: center;
9263
+ font-size: 0.625rem;
9264
+ color: ${({ theme: { palette } }) => palette.textSecondary};
9265
+
9266
+ span[kind] {
9267
+ width: 1.5rem;
9268
+ height: 1.5rem;
9269
+ margin-bottom: 0.75rem;
9270
+
9271
+ :after {
9272
+ font-size: 1.5rem;
9273
+ color: ${({ theme: { palette } }) => palette.textSecondary};
9274
+ opacity: 0.12;
9275
+ }
9276
+ }
9279
9277
  `;
9280
9278
 
9281
9279
  const DEFAULT_FILE_EXTENSIONS = ".txt,.csv,.py";
@@ -9323,16 +9321,16 @@ const ElementUploader = memo(({ elementConfig, type }) => {
9323
9321
  return (jsx(UploaderContainer, { id: id, style: style, children: jsx("div", { children: jsx(Uploader, { currentRef: refInput, title: renderTitle, accept: fileExtensions, width: "100%", fileItems: files, isMultiple: multiSelect, onUpload: onUpload, onDelete: onDelete }) }) }));
9324
9322
  });
9325
9323
 
9326
- const ModalIcon = styled(IconButton) `
9327
- :after {
9328
- font-size: 0.75rem;
9329
- color: ${({ theme: { palette } }) => palette.iconDisabled};
9330
- transition: color ${transition.hover};
9331
- }
9332
-
9333
- :hover:after {
9334
- color: ${({ theme: { palette } }) => palette.icon};
9335
- }
9324
+ const ModalIcon = styled(IconButton) `
9325
+ :after {
9326
+ font-size: 0.75rem;
9327
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
9328
+ transition: color ${transition.hover};
9329
+ }
9330
+
9331
+ :hover:after {
9332
+ color: ${({ theme: { palette } }) => palette.icon};
9333
+ }
9336
9334
  `;
9337
9335
 
9338
9336
  const isEmptyElementValue = (value) => value === "" || value === null || value === undefined;
@@ -9533,7 +9531,7 @@ function getFeatureAttributes(feature = {}, layer, dataSource) {
9533
9531
  readOnly: true,
9534
9532
  }
9535
9533
  : {
9536
- value: currentAttributes?.[attributeName] || dataSource?.features?.[0]?.properties?.[attributeName],
9534
+ value: currentAttributes?.[attributeName] ?? dataSource?.features?.[0]?.properties?.[attributeName],
9537
9535
  readOnly: attributeConfigurationType === AttributeConfigurationType.Calculated || !isEditable,
9538
9536
  };
9539
9537
  const clientData = layer?.configuration?.attributesConfiguration?.attributes?.find(layerAttribute => layerAttribute.attributeName === attributeName)?.clientData;
@@ -10088,64 +10086,64 @@ const getJustifyContent = (align) => {
10088
10086
  return "flex-start";
10089
10087
  }
10090
10088
  };
10091
- const ChipsContainer = styled(Flex) `
10092
- flex-wrap: wrap;
10093
- gap: 0.25rem;
10094
- background: transparent;
10095
- justify-content: ${({ $align }) => getJustifyContent($align)};
10089
+ const ChipsContainer = styled(Flex) `
10090
+ flex-wrap: wrap;
10091
+ gap: 0.25rem;
10092
+ background: transparent;
10093
+ justify-content: ${({ $align }) => getJustifyContent($align)};
10096
10094
  `;
10097
10095
 
10098
- const FilterChip = styled.div `
10099
- display: inline-flex;
10100
- align-items: center;
10101
- gap: 0.25rem;
10102
- padding: 0.3125rem 0.5rem;
10103
- height: 1.5rem;
10104
- border-radius: 0.25rem;
10096
+ const FilterChip = styled.div `
10097
+ display: inline-flex;
10098
+ align-items: center;
10099
+ gap: 0.25rem;
10100
+ padding: 0.3125rem 0.5rem;
10101
+ height: 1.5rem;
10102
+ border-radius: 0.25rem;
10105
10103
  background-color: ${({ $isActive, $bgColor, theme }) => $bgColor
10106
10104
  ? $bgColor
10107
10105
  : $isActive
10108
10106
  ? theme.palette?.primary
10109
- : theme.palette?.elementLight};
10107
+ : theme.palette?.elementLight};
10110
10108
  color: ${({ $isActive, $textColor, theme }) => $textColor
10111
10109
  ? $textColor
10112
10110
  : $isActive
10113
10111
  ? theme.palette?.textContrast
10114
- : theme.palette?.textSecondary};
10115
- cursor: pointer;
10116
- font-size: 0.75rem;
10117
- line-height: 0.875rem;
10118
- white-space: nowrap;
10119
- flex-shrink: 0;
10120
- transition: all 0.2s ease-in-out;
10121
- margin: 0 0.25rem 0 0;
10122
- box-sizing: border-box;
10123
-
10124
- &:hover {
10112
+ : theme.palette?.textSecondary};
10113
+ cursor: pointer;
10114
+ font-size: 0.75rem;
10115
+ line-height: 0.875rem;
10116
+ white-space: nowrap;
10117
+ flex-shrink: 0;
10118
+ transition: all 0.2s ease-in-out;
10119
+ margin: 0 0.25rem 0 0;
10120
+ box-sizing: border-box;
10121
+
10122
+ &:hover {
10125
10123
  background-color: ${({ $isActive, $bgColor, theme }) => $isActive
10126
10124
  ? $bgColor || 'inherit'
10127
- : $bgColor || theme.palette?.elementDark};
10128
- }
10125
+ : $bgColor || theme.palette?.elementDark};
10126
+ }
10129
10127
  `;
10130
- const ChipIconWrapper = styled.span `
10131
- display: inline-flex;
10132
- align-items: center;
10133
- justify-content: center;
10134
- width: 0.875rem;
10135
- height: 0.875rem;
10136
- flex-shrink: 0;
10137
-
10138
- svg, img {
10139
- width: 100%;
10140
- height: 100%;
10141
- display: block;
10142
- }
10128
+ const ChipIconWrapper = styled.span `
10129
+ display: inline-flex;
10130
+ align-items: center;
10131
+ justify-content: center;
10132
+ width: 0.875rem;
10133
+ height: 0.875rem;
10134
+ flex-shrink: 0;
10135
+
10136
+ svg, img {
10137
+ width: 100%;
10138
+ height: 100%;
10139
+ display: block;
10140
+ }
10143
10141
  `;
10144
- const ChipText = styled.span `
10145
- overflow: hidden;
10146
- text-overflow: ellipsis;
10147
- white-space: nowrap;
10148
- ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
10142
+ const ChipText = styled.span `
10143
+ overflow: hidden;
10144
+ text-overflow: ellipsis;
10145
+ white-space: nowrap;
10146
+ ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
10149
10147
  `;
10150
10148
 
10151
10149
  const CustomChip = ({ text, icon, color, primary, secondary, error, disabled, isActive, maxTextWidth, fontColor: customFontColor, backgroundColor: customBackgroundColor, ...props }) => {
@@ -11402,10 +11400,11 @@ const StackBar = ({ data, filterName, type, alias, options, renderElement, rende
11402
11400
  ?.find(({ attributeName: name }) => name === attributeName);
11403
11401
  const units = attribute?.stringFormat?.unitsLabel;
11404
11402
  const total = useMemo(() => items?.reduce((result, { value }) => result + Number(value), 0) || 0, [items]);
11403
+ const visibleItems = useMemo(() => items?.filter(({ value }) => Number(value) > 0), [items]);
11405
11404
  const getWidth = useCallback(value => ((Number(value) / total) * 100).toFixed(2), [total]);
11406
- const renderGroupTooltip = useMemo(() => (jsx(ThemeProvider, { children: jsx(ChartTooltipTable, { cellPadding: 0, cellSpacing: 0, children: items?.map(({ name, value, color }, index) => (jsxs("tr", { children: [jsx("td", { children: jsxs(ChartTooltip, { alignItems: "center", children: [jsx(ChartTooltipColor, { "$color": color }), jsx(ChartTooltipName, { children: name })] }) }), jsx("td", { children: value })] }, index))) }) })), [items]);
11405
+ const renderGroupTooltip = useMemo(() => (jsx(ThemeProvider, { children: jsx(ChartTooltipTable, { cellPadding: 0, cellSpacing: 0, children: visibleItems?.map(({ name, value, color }, index) => (jsxs("tr", { children: [jsx("td", { children: jsxs(ChartTooltip, { alignItems: "center", children: [jsx(ChartTooltipColor, { "$color": color }), jsx(ChartTooltipName, { children: name })] }) }), jsx("td", { children: value })] }, index))) }) })), [visibleItems]);
11407
11406
  const renderItem = useCallback(({ name, value, color }, ref) => (jsx(StackBarSection, { ref: ref, "$width": getWidth(value), "$height": height, "$color": color, cornerRadius: cornerRadius, hasAnyFilter: hasAnyFilter, isFiltered: isFiltered(name), onClick: filterName ? () => onFilter(name) : undefined })), [cornerRadius, filterName, getWidth, hasAnyFilter, height, isFiltered, onFilter]);
11408
- const renderItems = useMemo(() => (jsx(Fragment$1, { children: items?.map((item, index) => (jsx(Fragment, { children: groupTooltip ? (renderItem(item)) : (jsx(ThemeProvider, { children: jsx(Tooltip$1, { placement: "top", arrow: true, content: renderTooltip([item]), children: ref => renderItem(item, ref) }) })) }, index))) })), [groupTooltip, items, renderItem, renderTooltip]);
11407
+ const renderItems = useMemo(() => (jsx(Fragment$1, { children: visibleItems?.map((item, index) => (jsx(Fragment, { children: groupTooltip ? (renderItem(item)) : (jsx(ThemeProvider, { children: jsx(Tooltip$1, { placement: "top", arrow: true, content: renderTooltip([item]), children: ref => renderItem(item, ref) }) })) }, index))) })), [groupTooltip, visibleItems, renderItem, renderTooltip]);
11409
11408
  if (!total)
11410
11409
  return null;
11411
11410
  return (jsxs(Fragment$1, { children: [(alias || showTotal) && (jsxs(StackBarHeader, { children: [jsx(StackBarAlias, { children: renderElement({ id: "alias" }) }), showTotal && (jsxs(StackBarTotal, { children: [jsx(StackBarValue, { children: attribute
@@ -11656,8 +11655,8 @@ const Dashboard = memo(({ type = WidgetType.Dashboard, noBorders }) => {
11656
11655
  return (jsx(PagesContainer, { type: type, noBorders: noBorders }));
11657
11656
  });
11658
11657
 
11659
- const CardCheckbox = styled(Checkbox) `
11660
- padding-left: 0.5rem;
11658
+ const CardCheckbox = styled(Checkbox) `
11659
+ padding-left: 0.5rem;
11661
11660
  `;
11662
11661
 
11663
11662
  const DashboardCheckbox = ({ title, checked, onChange, }) => {
@@ -11732,15 +11731,15 @@ const FeatureCardTitle = ({ title, description }) => {
11732
11731
  return (jsxs(HeaderTitleContainer, { children: [jsx(FeatureTitleContainer, { children: jsx(FlexSpan, { children: resultTitle }) }), jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
11733
11732
  };
11734
11733
 
11735
- const HiddenFilters = styled(Flex) `
11736
- flex-wrap: wrap;
11737
- margin-top: -1.25rem;
11738
-
11739
- ${DashboardChip$1} {
11740
- height: 1.5rem;
11741
- margin: 0 0.25rem 0.25rem 0;
11742
- padding: 0 0 0 0.5rem;
11743
- }
11734
+ const HiddenFilters = styled(Flex) `
11735
+ flex-wrap: wrap;
11736
+ margin-top: -1.25rem;
11737
+
11738
+ ${DashboardChip$1} {
11739
+ height: 1.5rem;
11740
+ margin: 0 0.25rem 0.25rem 0;
11741
+ padding: 0 0 0 0.5rem;
11742
+ }
11744
11743
  `;
11745
11744
 
11746
11745
  function spliceValue(filterValue, splicingValue) {
@@ -11939,24 +11938,24 @@ const LogTerminal = ({ log, terminalOptions, className, styles }) => {
11939
11938
  return jsx(TerminalWrapper, { ref: terminalRef, className: className, style: styles });
11940
11939
  };
11941
11940
 
11942
- const PageNavigator = styled(Flex) `
11943
- margin-right: -0.5rem;
11944
- align-items: center;
11945
-
11946
- button {
11947
- width: auto;
11948
- height: 2rem;
11949
- padding: 0 0.5rem;
11950
-
11951
- span[kind]:after {
11952
- color: ${({ theme: { palette } }) => palette.textDisabled};
11953
- transition: color ${transition.hover};
11954
- }
11955
-
11956
- :hover span[kind]:after {
11957
- color: ${({ theme: { palette } }) => palette.textSecondary};
11958
- }
11959
- }
11941
+ const PageNavigator = styled(Flex) `
11942
+ margin-right: -0.5rem;
11943
+ align-items: center;
11944
+
11945
+ button {
11946
+ width: auto;
11947
+ height: 2rem;
11948
+ padding: 0 0.5rem;
11949
+
11950
+ span[kind]:after {
11951
+ color: ${({ theme: { palette } }) => palette.textDisabled};
11952
+ transition: color ${transition.hover};
11953
+ }
11954
+
11955
+ :hover span[kind]:after {
11956
+ color: ${({ theme: { palette } }) => palette.textSecondary};
11957
+ }
11958
+ }
11960
11959
  `;
11961
11960
 
11962
11961
  const Pagination = memo(({ type = WidgetType.Dashboard }) => {
@@ -11965,34 +11964,34 @@ const Pagination = memo(({ type = WidgetType.Dashboard }) => {
11965
11964
  return (jsxs(PageNavigator, { children: [jsx(IconButton, { kind: "prev", onClick: () => prevPage(pages.length) }), jsx(IconButton, { kind: "next", onClick: () => nextPage(pages.length) })] }));
11966
11965
  });
11967
11966
 
11968
- const StyledSvgWidthMixin = css `
11969
- &&& {
11970
- svg {
11971
- width: ${({ $width }) => $width}px;
11972
- }
11973
- }
11967
+ const StyledSvgWidthMixin = css `
11968
+ &&& {
11969
+ svg {
11970
+ width: ${({ $width }) => $width}px;
11971
+ }
11972
+ }
11974
11973
  `;
11975
- const StyledSvgHeightMixin = css `
11976
- &&& {
11977
- svg {
11978
- height: ${({ $height }) => $height}px;
11979
- }
11980
- }
11974
+ const StyledSvgHeightMixin = css `
11975
+ &&& {
11976
+ svg {
11977
+ height: ${({ $height }) => $height}px;
11978
+ }
11979
+ }
11981
11980
  `;
11982
- const StyledSvgColorMixin = css `
11983
- svg {
11984
- path,
11985
- line,
11986
- circle {
11987
- fill: ${({ $fontColor }) => $fontColor} !important;
11988
- }
11989
- }
11981
+ const StyledSvgColorMixin = css `
11982
+ svg {
11983
+ path,
11984
+ line,
11985
+ circle {
11986
+ fill: ${({ $fontColor }) => $fontColor} !important;
11987
+ }
11988
+ }
11990
11989
  `;
11991
- const StyledSvg = styled(Flex) `
11992
- align-items: center;
11993
- ${({ $width }) => !!$width && StyledSvgWidthMixin};
11994
- ${({ $height }) => !!$height && StyledSvgHeightMixin};
11995
- ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11990
+ const StyledSvg = styled(Flex) `
11991
+ align-items: center;
11992
+ ${({ $width }) => !!$width && StyledSvgWidthMixin};
11993
+ ${({ $height }) => !!$height && StyledSvgHeightMixin};
11994
+ ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11996
11995
  `;
11997
11996
 
11998
11997
  const SvgImage = memo(({ url, width, height, fontColor }) => {
@@ -12296,28 +12295,28 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
12296
12295
  return (jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle, filterVersion: filterVersion }));
12297
12296
  };
12298
12297
 
12299
- const MapWrapper = styled.div `
12300
- position: relative;
12301
- width: 100%;
12302
- height: 100%;
12303
- box-sizing: border-box;
12304
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
12305
-
12306
- .mapbox-gl-draw_trash {
12307
- display: none;
12308
- }
12309
-
12310
- .mapboxgl-ctrl-logo {
12311
- display: none;
12312
- }
12313
-
12314
- .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
12315
- display: none;
12316
- }
12317
-
12318
- .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
12319
- width: 350px;
12320
- }
12298
+ const MapWrapper = styled.div `
12299
+ position: relative;
12300
+ width: 100%;
12301
+ height: 100%;
12302
+ box-sizing: border-box;
12303
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
12304
+
12305
+ .mapbox-gl-draw_trash {
12306
+ display: none;
12307
+ }
12308
+
12309
+ .mapboxgl-ctrl-logo {
12310
+ display: none;
12311
+ }
12312
+
12313
+ .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
12314
+ display: none;
12315
+ }
12316
+
12317
+ .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
12318
+ width: 350px;
12319
+ }
12321
12320
  `;
12322
12321
 
12323
12322
  const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...rest }) => {