@evergis/react 3.1.119 → 3.1.120-alpha.0

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
@@ -15,7 +15,7 @@ import { changeProps, returnFound } from 'find-and';
15
15
  import { jsPDF } from 'jspdf';
16
16
  import html2canvas from 'html2canvas';
17
17
  import MapboxDraw from '@mapbox/mapbox-gl-draw';
18
- import { geometryCollection, multiPolygon, polygon, multiLineString, multiPoint, point as point$1, bbox } from '@turf/turf';
18
+ import { bbox } from '@turf/turf';
19
19
  import MapGL, { Source, Layer as Layer$1 } from 'react-map-gl/maplibre';
20
20
  import '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css';
21
21
  import 'mapbox-gl/dist/mapbox-gl.css';
@@ -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) {
@@ -3444,42 +3444,42 @@ const DEFAULT_ID_ATTRIBUTE_NAME = "gid";
3444
3444
  const DEFAULT_DROPDOWN_WIDTH = 312;
3445
3445
  const DEFAULT_FILTER_PADDING = 12;
3446
3446
 
3447
- const StackBarContainer = styled(Flex) `
3448
- flex-wrap: nowrap;
3449
- width: 100%;
3450
- `;
3451
- const StackBarHeader = styled(Flex) `
3452
- justify-content: space-between;
3453
- margin-bottom: 0.375rem;
3454
- font-size: 0.75rem;
3455
- `;
3456
- const StackBarSection = styled.div `
3457
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3458
- width: ${({ $width }) => $width}%;
3459
- height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3460
- margin: 0 0.5px;
3461
- background-color: ${({ $color }) => $color};
3462
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3463
- transition: opacity ${transition.release};
3464
-
3465
- :first-child {
3466
- border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3467
- border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3468
- }
3469
-
3470
- :last-child {
3471
- border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3472
- border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3473
- }
3447
+ const StackBarContainer = styled(Flex) `
3448
+ flex-wrap: nowrap;
3449
+ width: 100%;
3450
+ `;
3451
+ const StackBarHeader = styled(Flex) `
3452
+ justify-content: space-between;
3453
+ margin-bottom: 0.375rem;
3454
+ font-size: 0.75rem;
3455
+ `;
3456
+ const StackBarSection = styled.div `
3457
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3458
+ width: ${({ $width }) => $width}%;
3459
+ height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3460
+ margin: 0 0.5px;
3461
+ background-color: ${({ $color }) => $color};
3462
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3463
+ transition: opacity ${transition.release};
3464
+
3465
+ :first-child {
3466
+ border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3467
+ border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3468
+ }
3469
+
3470
+ :last-child {
3471
+ border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3472
+ border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3473
+ }
3474
3474
  `;
3475
- const StackBarAlias = styled.div `
3476
- color: ${({ theme: { palette } }) => palette.textSecondary};
3475
+ const StackBarAlias = styled.div `
3476
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3477
3477
  `;
3478
3478
  const StackBarTotal = styled(Flex) ``;
3479
3479
  const StackBarValue = styled.div ``;
3480
- const StackBarUnits = styled.div `
3481
- margin-left: 0.25rem;
3482
- color: ${({ theme: { palette } }) => palette.textSecondary};
3480
+ const StackBarUnits = styled.div `
3481
+ margin-left: 0.25rem;
3482
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3483
3483
  `;
3484
3484
 
3485
3485
  const transparentizeColor = (originalColor, percent) => {
@@ -4135,8 +4135,8 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4135
4135
  const customize = useCallback(({ svg }) => {
4136
4136
  svg.style("overflow", "visible");
4137
4137
  svg
4138
- .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4139
- .${lineChartClassNames.lineChartYScaleGlobal} line,
4138
+ .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4139
+ .${lineChartClassNames.lineChartYScaleGlobal} line,
4140
4140
  .domain`)
4141
4141
  .each((_, index, nodes) => {
4142
4142
  nodes[index].remove();
@@ -4193,11 +4193,11 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4193
4193
  .attr("fill", `url(#${gradientId})`)
4194
4194
  .attr("stroke-width", "0")
4195
4195
  .attr("fill-opacity", FILL_OPACITY);
4196
- defs.push(`
4197
- <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4198
- <stop offset="0" stop-color="${color}" stop-opacity="1" />
4199
- <stop offset="1" stop-color="${color}" stop-opacity="0" />
4200
- </linearGradient>
4196
+ defs.push(`
4197
+ <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4198
+ <stop offset="0" stop-color="${color}" stop-opacity="1" />
4199
+ <stop offset="1" stop-color="${color}" stop-opacity="0" />
4200
+ </linearGradient>
4201
4201
  `);
4202
4202
  ref.current = {
4203
4203
  path: newPath,
@@ -4256,11 +4256,11 @@ const getDataSource = (dataSourceName, dataSources) => dataSources?.find(({ name
4256
4256
  const getDataSourceFilterValue = ({ filterName, filterProp, attributeAlias, dataSource, selectedFilters, }) => {
4257
4257
  if (isNil(selectedFilters[filterName]))
4258
4258
  return null;
4259
- const feature = dataSource?.features?.find(({ attributes }) => attributes[attributeAlias] ===
4259
+ const feature = dataSource?.features?.find(({ properties }) => properties[attributeAlias] ===
4260
4260
  (Array.isArray(selectedFilters[filterName].value)
4261
4261
  ? selectedFilters[filterName].value[0]
4262
4262
  : selectedFilters[filterName].value));
4263
- return feature?.attributes?.[filterProp];
4263
+ return feature?.properties?.[filterProp];
4264
4264
  };
4265
4265
 
4266
4266
  const getSelectedFilterValue = (filterName, selectedFilters, defaultValue) => {
@@ -4552,104 +4552,104 @@ const formatDataSourceCondition = ({ condition, configFilters, filters, attribut
4552
4552
  : conditionSection.join(splitter);
4553
4553
  };
4554
4554
 
4555
- const DashboardChipsContainer = styled(Flex) `
4556
- flex-wrap: wrap;
4557
- `;
4558
- const DefaultChipColorMixin = css `
4559
- && {
4560
- color: ${({ theme: { palette } }) => palette.textPrimary};
4561
- }
4562
-
4563
- && > * {
4564
- color: ${({ theme: { palette } }) => palette.textPrimary};
4565
- }
4566
-
4567
- && span[kind]:after {
4568
- color: ${({ theme: { palette } }) => palette.icon};
4569
- }
4555
+ const DashboardChipsContainer = styled(Flex) `
4556
+ flex-wrap: wrap;
4570
4557
  `;
4571
- const CustomChipColorMixin = css `
4572
- && {
4573
- color: ${({ $fontColor }) => $fontColor};
4574
- }
4575
-
4576
- && > * {
4577
- color: ${({ $fontColor }) => $fontColor};
4578
- }
4579
-
4580
- && span[kind]:after {
4581
- color: ${({ $fontColor }) => $fontColor};
4582
- }
4558
+ const DefaultChipColorMixin = css `
4559
+ && {
4560
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4561
+ }
4562
+
4563
+ && > * {
4564
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4565
+ }
4566
+
4567
+ && span[kind]:after {
4568
+ color: ${({ theme: { palette } }) => palette.icon};
4569
+ }
4583
4570
  `;
4584
- const DashboardChip$1 = styled(Chip) `
4585
- margin: 0 0.25rem 0.25rem 0;
4586
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4587
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4588
- white-space: nowrap;
4589
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4590
- color: ${({ theme: { palette } }) => palette.iconContrast};
4591
-
4592
- > * {
4593
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4594
- }
4595
-
4596
- span[kind] {
4597
- height: 0.875rem;
4598
-
4599
- :after {
4600
- font-size: 0.875rem;
4601
- }
4602
- }
4603
-
4604
- button {
4605
- width: auto;
4606
- padding: 0 0.5rem;
4607
- }
4608
-
4609
- ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4610
- ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4571
+ const CustomChipColorMixin = css `
4572
+ && {
4573
+ color: ${({ $fontColor }) => $fontColor};
4574
+ }
4575
+
4576
+ && > * {
4577
+ color: ${({ $fontColor }) => $fontColor};
4578
+ }
4579
+
4580
+ && span[kind]:after {
4581
+ color: ${({ $fontColor }) => $fontColor};
4582
+ }
4611
4583
  `;
4584
+ const DashboardChip$1 = styled(Chip) `
4585
+ margin: 0 0.25rem 0.25rem 0;
4586
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4587
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4588
+ white-space: nowrap;
4589
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4590
+ color: ${({ theme: { palette } }) => palette.iconContrast};
4612
4591
 
4613
- const LayerGroupContainer = styled(Flex) `
4614
- display: flex;
4615
- justify-content: center;
4616
- position: relative;
4617
- flex-direction: column;
4618
- padding: 0 0.25rem 0 1rem;
4619
- box-sizing: border-box;
4620
- transition: opacity ${transition.hover}, background-color ${transition.hover};
4621
- font-family: "NunitoSans", sans-serif;
4622
- `;
4623
- const LayerGroupMain = styled(Flex) `
4624
- flex-direction: row;
4625
- flex-wrap: nowrap;
4626
- align-items: center;
4627
- justify-content: space-between;
4628
- width: 100%;
4629
-
4630
- ${Icon} {
4631
- width: 2rem;
4632
- min-width: 2rem;
4633
- height: 2rem;
4634
- display: inline-flex;
4635
- align-items: center;
4636
- justify-content: center;
4637
- margin-right: 0.75rem;
4638
- }
4639
-
4640
- ${Description} {
4641
- display: flex;
4642
- align-items: center;
4643
- flex-grow: 1;
4644
- width: 100%;
4645
- margin-right: 0.25rem;
4646
- color: ${({ theme }) => theme.palette.textPrimary};
4647
- }
4648
-
4649
- button {
4650
- width: 2.25rem;
4651
- justify-content: flex-start;
4652
- }
4592
+ > * {
4593
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4594
+ }
4595
+
4596
+ span[kind] {
4597
+ height: 0.875rem;
4598
+
4599
+ :after {
4600
+ font-size: 0.875rem;
4601
+ }
4602
+ }
4603
+
4604
+ button {
4605
+ width: auto;
4606
+ padding: 0 0.5rem;
4607
+ }
4608
+
4609
+ ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4610
+ ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4611
+ `;
4612
+
4613
+ const LayerGroupContainer = styled(Flex) `
4614
+ display: flex;
4615
+ justify-content: center;
4616
+ position: relative;
4617
+ flex-direction: column;
4618
+ padding: 0 0.25rem 0 1rem;
4619
+ box-sizing: border-box;
4620
+ transition: opacity ${transition.hover}, background-color ${transition.hover};
4621
+ font-family: "NunitoSans", sans-serif;
4622
+ `;
4623
+ const LayerGroupMain = styled(Flex) `
4624
+ flex-direction: row;
4625
+ flex-wrap: nowrap;
4626
+ align-items: center;
4627
+ justify-content: space-between;
4628
+ width: 100%;
4629
+
4630
+ ${Icon} {
4631
+ width: 2rem;
4632
+ min-width: 2rem;
4633
+ height: 2rem;
4634
+ display: inline-flex;
4635
+ align-items: center;
4636
+ justify-content: center;
4637
+ margin-right: 0.75rem;
4638
+ }
4639
+
4640
+ ${Description} {
4641
+ display: flex;
4642
+ align-items: center;
4643
+ flex-grow: 1;
4644
+ width: 100%;
4645
+ margin-right: 0.25rem;
4646
+ color: ${({ theme }) => theme.palette.textPrimary};
4647
+ }
4648
+
4649
+ button {
4650
+ width: 2.25rem;
4651
+ justify-content: flex-start;
4652
+ }
4653
4653
  `;
4654
4654
 
4655
4655
  const customModes = MapboxDraw.modes;
@@ -5177,73 +5177,6 @@ const useRedrawLayer = () => {
5177
5177
  }, [map]);
5178
5178
  };
5179
5179
 
5180
- const findAttributeInExpression = (expression) => {
5181
- if (Array.isArray(expression) && expression.length === 2 && expression[0] === "get") {
5182
- return [expression[1]];
5183
- }
5184
- return expression.reduce((acc, curr) => {
5185
- if (!Array.isArray(curr)) {
5186
- return acc;
5187
- }
5188
- if (curr[0] === "get") {
5189
- return [...new Set([...acc, curr[1]])];
5190
- }
5191
- return [...new Set([...acc, ...findAttributeInExpression(curr)])];
5192
- }, []);
5193
- };
5194
-
5195
- const getActualExtrusionHeight = (paint) => {
5196
- return Array.isArray(paint?.["fill-extrusion-height"]) && paint?.["fill-extrusion-height"][0] === "+"
5197
- ? paint?.["fill-extrusion-height"][1]
5198
- : paint?.["fill-extrusion-height"];
5199
- };
5200
-
5201
- const extractAttributesFromObject = (obj) => {
5202
- if (!obj || isEmpty(obj)) {
5203
- return [];
5204
- }
5205
- return Object.entries(obj).reduce((acc, [, value]) => {
5206
- if (!Array.isArray(value)) {
5207
- return acc;
5208
- }
5209
- return [...new Set([...acc, ...findAttributeInExpression(value)])];
5210
- }, []);
5211
- };
5212
- const parseClientStyle = (style) => {
5213
- if (!style) {
5214
- return [];
5215
- }
5216
- return style?.items?.reduce((acc, curr) => {
5217
- const paintAttributes = extractAttributesFromObject(curr.paint);
5218
- const layoutAttributes = extractAttributesFromObject(curr.layout);
5219
- const filterAttributes = curr.filter
5220
- ? findAttributeInExpression(curr.filter)
5221
- : [];
5222
- return [...new Set([...acc, ...paintAttributes, ...layoutAttributes, ...filterAttributes])];
5223
- }, []);
5224
- };
5225
-
5226
- const convertSpToTurfFeature = (geometry) => {
5227
- if (!geometry) {
5228
- return;
5229
- }
5230
- switch (geometry.type) {
5231
- case GeometryType.Point:
5232
- return point$1(geometry.coordinates);
5233
- case GeometryType.Multipoint:
5234
- return multiPoint(geometry.coordinates);
5235
- case GeometryType.Polyline:
5236
- return multiLineString(geometry.coordinates);
5237
- case GeometryType.Polygon:
5238
- case GeometryType.Envelope:
5239
- return polygon(geometry.coordinates);
5240
- case GeometryType.MultiPolygon:
5241
- return multiPolygon(geometry.coordinates);
5242
- case GeometryType.GeometryCollection:
5243
- return geometryCollection(geometry.geometries);
5244
- }
5245
- };
5246
-
5247
5180
  const useZoomToFeatures = () => {
5248
5181
  const { map } = useMapContext();
5249
5182
  return useCallback((features, padding) => {
@@ -5252,7 +5185,7 @@ const useZoomToFeatures = () => {
5252
5185
  }
5253
5186
  const currentFeatureCenter = bbox({
5254
5187
  type: "FeatureCollection",
5255
- features: features.map(feature => convertSpToTurfFeature(feature.geometry)),
5188
+ features: features,
5256
5189
  });
5257
5190
  map.current.fitBounds(currentFeatureCenter, { padding: padding ?? 150 });
5258
5191
  }, [map]);
@@ -5529,327 +5462,327 @@ const LayerTree = ({ layers, onlyMainTools }) => {
5529
5462
  return (jsx(DraggableTree, { nodes: nodes, disableDrag: onlyMainTools, options: { pastePlaceholderHeight: "0.025rem" }, onUpdate: onUpdate }));
5530
5463
  };
5531
5464
 
5532
- const LayersListWrapper = styled(Flex) `
5533
- flex-direction: column;
5534
- height: 100%;
5535
- width: 100%;
5536
- box-sizing: border-box;
5465
+ const LayersListWrapper = styled(Flex) `
5466
+ flex-direction: column;
5467
+ height: 100%;
5468
+ width: 100%;
5469
+ box-sizing: border-box;
5537
5470
  `;
5538
- const LayerListContainer = styled(Flex) `
5539
- flex-grow: 1;
5540
- height: 100%;
5541
- box-sizing: border-box;
5542
- padding-top: 0.25rem;
5543
- `;
5544
-
5545
- const ElementValueWrapper = styled.div `
5546
- transition: background-color ${transition.toggle};
5547
-
5548
- ${({ noMargin }) => css `
5549
- &&&& {
5550
- margin-bottom: 0;
5551
- }
5552
- `};
5553
- `;
5554
- const Container = styled(Flex) `
5555
- flex-direction: column;
5556
- width: 100%;
5557
-
5471
+ const LayerListContainer = styled(Flex) `
5472
+ flex-grow: 1;
5473
+ height: 100%;
5474
+ box-sizing: border-box;
5475
+ padding-top: 0.25rem;
5476
+ `;
5477
+
5478
+ const ElementValueWrapper = styled.div `
5479
+ transition: background-color ${transition.toggle};
5480
+
5481
+ ${({ noMargin }) => css `
5482
+ &&&& {
5483
+ margin-bottom: 0;
5484
+ }
5485
+ `};
5486
+ `;
5487
+ const Container = styled(Flex) `
5488
+ flex-direction: column;
5489
+ width: 100%;
5490
+
5558
5491
  ${({ isColumn }) => isColumn
5559
- ? css `
5560
- &&& > * {
5561
- justify-content: flex-start;
5562
- }
5563
- > * {
5564
- width: 100%;
5565
-
5566
- :not(:last-child) {
5567
- margin-bottom: 0.5rem;
5568
- }
5569
- }
5492
+ ? css `
5493
+ &&& > * {
5494
+ justify-content: flex-start;
5495
+ }
5496
+ > * {
5497
+ width: 100%;
5498
+
5499
+ :not(:last-child) {
5500
+ margin-bottom: 0.5rem;
5501
+ }
5502
+ }
5570
5503
  `
5571
- : css `
5572
- flex-direction: row;
5573
- justify-content: space-between;
5574
- align-items: center;
5575
- `}
5576
-
5504
+ : css `
5505
+ flex-direction: row;
5506
+ justify-content: space-between;
5507
+ align-items: center;
5508
+ `}
5509
+
5577
5510
  ${({ isTitle }) => isTitle &&
5578
- css `
5579
- &&&& {
5580
- margin-bottom: 0.75rem;
5581
- }
5582
- `}
5583
-
5584
- ${({ noBorders }) => noBorders && css `
5585
- ${ContainerWrapper} {
5586
- box-shadow: none;
5587
- padding: 0;
5588
- }
5589
- `}
5590
- `;
5591
- const ContainerWrapper = styled(Flex) `
5592
- position: relative;
5593
- box-sizing: border-box;
5594
- width: 100%;
5595
- background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5596
- box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5597
- margin-bottom: 2rem;
5598
- padding: 1.5rem;
5599
- border-radius: 0.5rem;
5600
- backdrop-filter: blur(20px);
5601
- color: ${({ theme: { palette } }) => palette.textPrimary};
5602
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
5603
- transition: background-color ${transition.toggle};
5604
-
5605
- ${({ $noMargin }) => $noMargin && css `
5606
- &&&& {
5607
- margin-bottom: 0;
5608
- }
5609
- `}
5610
- `;
5611
- const DashboardChip = styled(Chip) `
5612
- margin: 0 0.25rem 0.25rem 0;
5613
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5614
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5615
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5616
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5617
-
5618
- > * {
5619
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5620
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5621
- }
5622
-
5623
- span[kind]:after {
5624
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
5625
- }
5511
+ css `
5512
+ &&&& {
5513
+ margin-bottom: 0.75rem;
5514
+ }
5515
+ `}
5516
+
5517
+ ${({ noBorders }) => noBorders && css `
5518
+ ${ContainerWrapper} {
5519
+ box-shadow: none;
5520
+ padding: 0;
5521
+ }
5522
+ `}
5523
+ `;
5524
+ const ContainerWrapper = styled(Flex) `
5525
+ position: relative;
5526
+ box-sizing: border-box;
5527
+ width: 100%;
5528
+ background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5529
+ box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5530
+ margin-bottom: 2rem;
5531
+ padding: 1.5rem;
5532
+ border-radius: 0.5rem;
5533
+ backdrop-filter: blur(20px);
5534
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5535
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
5536
+ transition: background-color ${transition.toggle};
5537
+
5538
+ ${({ $noMargin }) => $noMargin && css `
5539
+ &&&& {
5540
+ margin-bottom: 0;
5541
+ }
5542
+ `}
5543
+ `;
5544
+ const DashboardChip = styled(Chip) `
5545
+ margin: 0 0.25rem 0.25rem 0;
5546
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5547
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5548
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5549
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5550
+
5551
+ > * {
5552
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5553
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5554
+ }
5555
+
5556
+ span[kind]:after {
5557
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
5558
+ }
5626
5559
  `;
5627
- const DashboardPlaceholderWrap = styled(Flex) `
5628
- flex-grow: 1;
5629
- flex-direction: column;
5630
- justify-content: center;
5631
- align-items: center;
5632
- width: 100%;
5633
- margin-bottom: 2rem;
5634
- `;
5635
- const DashboardPlaceholder = styled(Flex) `
5636
- flex-direction: column;
5637
- justify-content: center;
5638
- align-items: center;
5639
- margin-top: 2rem;
5640
-
5560
+ const DashboardPlaceholderWrap = styled(Flex) `
5561
+ flex-grow: 1;
5562
+ flex-direction: column;
5563
+ justify-content: center;
5564
+ align-items: center;
5565
+ width: 100%;
5566
+ margin-bottom: 2rem;
5567
+ `;
5568
+ const DashboardPlaceholder = styled(Flex) `
5569
+ flex-direction: column;
5570
+ justify-content: center;
5571
+ align-items: center;
5572
+ margin-top: 2rem;
5573
+
5641
5574
  ${({ isLoading }) => isLoading &&
5642
- css `
5643
- width: 6.25rem;
5644
- `}
5645
-
5646
- &&& > * {
5647
- margin-bottom: 0;
5648
- }
5649
-
5650
- > div {
5651
- width: 100%;
5652
- margin-top: 1rem;
5653
- font-size: 0.75rem;
5654
- text-align: center;
5655
- color: ${({ theme: { palette } }) => palette.textDisabled};
5656
- }
5657
-
5658
- span[kind] {
5659
- width: 2.25rem;
5660
- height: 2.25rem;
5661
- opacity: 0.28;
5662
-
5663
- :after {
5664
- font-size: 32px;
5665
- }
5666
- }
5575
+ css `
5576
+ width: 6.25rem;
5577
+ `}
5578
+
5579
+ &&& > * {
5580
+ margin-bottom: 0;
5581
+ }
5582
+
5583
+ > div {
5584
+ width: 100%;
5585
+ margin-top: 1rem;
5586
+ font-size: 0.75rem;
5587
+ text-align: center;
5588
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5589
+ }
5590
+
5591
+ span[kind] {
5592
+ width: 2.25rem;
5593
+ height: 2.25rem;
5594
+ opacity: 0.28;
5595
+
5596
+ :after {
5597
+ font-size: 32px;
5598
+ }
5599
+ }
5667
5600
  `;
5668
- const DashboardWrapper = styled(Flex) `
5669
- flex-direction: column;
5670
- flex-wrap: nowrap;
5671
- flex-grow: 1;
5672
- width: calc(100% - 3rem);
5673
- height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5674
-
5601
+ const DashboardWrapper = styled(Flex) `
5602
+ flex-direction: column;
5603
+ flex-wrap: nowrap;
5604
+ flex-grow: 1;
5605
+ width: calc(100% - 3rem);
5606
+ height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5607
+
5675
5608
  ${({ hasImage, isPresentationMode }) => hasImage &&
5676
5609
  !isPresentationMode &&
5677
- css `
5678
- margin-top: -0.35rem;
5679
- `}
5680
- `;
5681
- const DashboardContent = styled(Flex) `
5682
- flex-grow: 1;
5683
- width: 100%;
5684
- padding: 1.5rem 1.5rem 2rem;
5685
- overflow-y: auto;
5686
- scrollbar-gutter: stable;
5687
- `;
5688
- const PresentationWrapperCss = css `
5689
- margin-bottom: 0.75rem;
5690
- padding: 1.5rem;
5691
- background-color: ${({ theme: { palette } }) => palette.panelBackground};
5692
- backdrop-filter: blur(10px);
5693
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5694
- box-shadow: ${shadows.raised};
5695
- `;
5696
- const PresentationWrapper = styled.div `
5697
- ${PresentationWrapperCss};
5698
- position: relative;
5699
- z-index: 1;
5700
- `;
5701
- const PresentationPanelWrapper = styled(PresentationWrapper) `
5702
- margin-top: 0.75rem;
5703
- transition: background-color ${transition.toggle};
5704
- `;
5705
- const PresentationHeader = styled.div `
5706
- margin: -1.5rem -1.5rem 0 -1.5rem;
5707
- padding: 1.5rem;
5708
- // background: url(images.presentationHeader) 0 0 no-repeat;
5709
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5710
- transition: background-color ${transition.toggle};
5711
-
5610
+ css `
5611
+ margin-top: -0.35rem;
5612
+ `}
5613
+ `;
5614
+ const DashboardContent = styled(Flex) `
5615
+ flex-grow: 1;
5616
+ width: 100%;
5617
+ padding: 1.5rem 1.5rem 2rem;
5618
+ overflow-y: auto;
5619
+ scrollbar-gutter: stable;
5620
+ `;
5621
+ const PresentationWrapperCss = css `
5622
+ margin-bottom: 0.75rem;
5623
+ padding: 1.5rem;
5624
+ background-color: ${({ theme: { palette } }) => palette.panelBackground};
5625
+ backdrop-filter: blur(10px);
5626
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5627
+ box-shadow: ${shadows.raised};
5628
+ `;
5629
+ const PresentationWrapper = styled.div `
5630
+ ${PresentationWrapperCss};
5631
+ position: relative;
5632
+ z-index: 1;
5633
+ `;
5634
+ const PresentationPanelWrapper = styled(PresentationWrapper) `
5635
+ margin-top: 0.75rem;
5636
+ transition: background-color ${transition.toggle};
5637
+ `;
5638
+ const PresentationHeader = styled.div `
5639
+ margin: -1.5rem -1.5rem 0 -1.5rem;
5640
+ padding: 1.5rem;
5641
+ // background: url(images.presentationHeader) 0 0 no-repeat;
5642
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5643
+ transition: background-color ${transition.toggle};
5644
+
5712
5645
  ${({ image }) => !!image &&
5713
- css `
5714
- padding-top: 7rem;
5715
- `};
5716
- `;
5717
- const PresentationHeaderTools = styled(Flex) `
5718
- justify-content: space-between;
5719
- align-items: center;
5720
- margin-bottom: -0.5rem;
5721
- margin-right: -0.5rem;
5722
-
5723
- span[kind="sun"],
5724
- span[kind="moon"] {
5725
- :after {
5726
- font-size: 0.85rem;
5727
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5728
- }
5729
-
5730
- :hover:after {
5731
- color: ${({ theme: { palette } }) => palette.icon};
5732
- }
5733
- }
5646
+ css `
5647
+ padding-top: 7rem;
5648
+ `};
5734
5649
  `;
5735
- const LayerGroupList = styled(Flex) `
5736
- flex-direction: column;
5737
- height: 100%;
5738
- flex-wrap: nowrap;
5739
- overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5740
- overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5741
- padding: 0 0.125rem 0 0.75rem;
5742
- scrollbar-gutter: stable;
5743
-
5744
- > * {
5745
- flex-grow: 1;
5746
- }
5650
+ const PresentationHeaderTools = styled(Flex) `
5651
+ justify-content: space-between;
5652
+ align-items: center;
5653
+ margin-bottom: -0.5rem;
5654
+ margin-right: -0.5rem;
5655
+
5656
+ span[kind="sun"],
5657
+ span[kind="moon"] {
5658
+ :after {
5659
+ font-size: 0.85rem;
5660
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5661
+ }
5662
+
5663
+ :hover:after {
5664
+ color: ${({ theme: { palette } }) => palette.icon};
5665
+ }
5666
+ }
5667
+ `;
5668
+ const LayerGroupList = styled(Flex) `
5669
+ flex-direction: column;
5670
+ height: 100%;
5671
+ flex-wrap: nowrap;
5672
+ overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5673
+ overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5674
+ padding: 0 0.125rem 0 0.75rem;
5675
+ scrollbar-gutter: stable;
5676
+
5677
+ > * {
5678
+ flex-grow: 1;
5679
+ }
5747
5680
  `;
5748
5681
  const PresentationHeaderButtons = styled(Flex) ``;
5749
- const PresentationPanelContainer = styled.div `
5750
- position: absolute;
5751
- top: 0;
5752
- left: calc(${({ left }) => left || 0}px + 0.75rem);
5753
- bottom: 0;
5754
- z-index: 3;
5755
- display: flex;
5756
- flex-direction: column;
5757
- width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5758
- padding-right: 0.5rem;
5759
- scrollbar-gutter: stable;
5760
- overflow-y: hidden;
5761
-
5762
- :hover {
5763
- overflow-y: auto;
5764
- }
5765
-
5682
+ const PresentationPanelContainer = styled.div `
5683
+ position: absolute;
5684
+ top: 0;
5685
+ left: calc(${({ left }) => left || 0}px + 0.75rem);
5686
+ bottom: 0;
5687
+ z-index: 3;
5688
+ display: flex;
5689
+ flex-direction: column;
5690
+ width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5691
+ padding-right: 0.5rem;
5692
+ scrollbar-gutter: stable;
5693
+ overflow-y: hidden;
5694
+
5695
+ :hover {
5696
+ overflow-y: auto;
5697
+ }
5698
+
5766
5699
  ${({ showLayers }) => !showLayers &&
5767
- css `
5768
- > :first-child {
5769
- padding-bottom: 0;
5770
- }
5771
- `};
5772
-
5773
- ${PresentationHeader} > * {
5774
- position: relative;
5775
- z-index: 2;
5776
- }
5777
-
5778
- /* PaginationWrapper {
5779
- ${PresentationWrapperCss};
5780
- width: calc(100% - 2rem);
5781
- min-height: 8.625rem;
5782
- padding-top: 0.5rem;
5783
- padding-bottom: 0.5rem;
5784
- margin-bottom: 0.75rem;
5785
- }*/
5786
-
5787
- ${DashboardWrapper} {
5788
- width: 100%;
5789
- margin-top: 0;
5790
-
5791
- ${DashboardContent} {
5792
- padding: 0;
5793
- overflow-y: unset;
5794
-
5795
- > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5796
- ${PresentationWrapperCss};
5797
- width: calc(100% - 3rem);
5798
- }
5799
- }
5800
- }
5801
-
5802
- ${DashboardPlaceholder} {
5803
- ${PresentationWrapperCss};
5804
- width: 18.5rem;
5805
- height: 10.75rem;
5806
- }
5807
-
5808
- ${LayerListContainer} {
5809
- height: auto;
5810
- margin: 0 -1.125rem -1.5rem;
5811
- padding: 0;
5812
-
5813
- ${LayerGroupList} {
5814
- padding: 0;
5815
- }
5816
- }
5700
+ css `
5701
+ > :first-child {
5702
+ padding-bottom: 0;
5703
+ }
5704
+ `};
5705
+
5706
+ ${PresentationHeader} > * {
5707
+ position: relative;
5708
+ z-index: 2;
5709
+ }
5710
+
5711
+ /* PaginationWrapper {
5712
+ ${PresentationWrapperCss};
5713
+ width: calc(100% - 2rem);
5714
+ min-height: 8.625rem;
5715
+ padding-top: 0.5rem;
5716
+ padding-bottom: 0.5rem;
5717
+ margin-bottom: 0.75rem;
5718
+ }*/
5719
+
5720
+ ${DashboardWrapper} {
5721
+ width: 100%;
5722
+ margin-top: 0;
5723
+
5724
+ ${DashboardContent} {
5725
+ padding: 0;
5726
+ overflow-y: unset;
5727
+
5728
+ > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5729
+ ${PresentationWrapperCss};
5730
+ width: calc(100% - 3rem);
5731
+ }
5732
+ }
5733
+ }
5734
+
5735
+ ${DashboardPlaceholder} {
5736
+ ${PresentationWrapperCss};
5737
+ width: 18.5rem;
5738
+ height: 10.75rem;
5739
+ }
5740
+
5741
+ ${LayerListContainer} {
5742
+ height: auto;
5743
+ margin: 0 -1.125rem -1.5rem;
5744
+ padding: 0;
5745
+
5746
+ ${LayerGroupList} {
5747
+ padding: 0;
5748
+ }
5749
+ }
5817
5750
  `;
5818
- const DataSourceErrorContainer = styled(Flex) `
5819
- align-items: center;
5820
- justify-content: center;
5821
- flex-wrap: nowrap;
5822
- flex-grow: 1;
5823
- padding: 1rem;
5824
- border: 1px ${({ theme: { palette } }) => palette.element} solid;
5825
- border-radius: 10px;
5826
- font-size: 0.875rem;
5827
- color: ${({ theme: { palette } }) => palette.textDisabled};
5828
-
5829
- span[kind] {
5830
- margin-right: 1rem;
5831
-
5832
- :after {
5833
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5834
- }
5835
- }
5751
+ const DataSourceErrorContainer = styled(Flex) `
5752
+ align-items: center;
5753
+ justify-content: center;
5754
+ flex-wrap: nowrap;
5755
+ flex-grow: 1;
5756
+ padding: 1rem;
5757
+ border: 1px ${({ theme: { palette } }) => palette.element} solid;
5758
+ border-radius: 10px;
5759
+ font-size: 0.875rem;
5760
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5761
+
5762
+ span[kind] {
5763
+ margin-right: 1rem;
5764
+
5765
+ :after {
5766
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5767
+ }
5768
+ }
5836
5769
  `;
5837
- const AttributeLabel = styled(Description) `
5838
- margin-top: 0 !important;
5839
- margin-bottom: ${({ forCheckbox }) => (forCheckbox ? "0.75rem" : "0.25rem")} !important;
5840
- padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5841
- `;
5842
- const FeatureControls = styled(Flex) `
5843
- align-items: center;
5844
- gap: 1rem;
5845
- flex-wrap: nowrap;
5846
- position: relative;
5847
- flex-shrink: 0;
5848
-
5849
- button {
5850
- padding: 0;
5851
- width: auto;
5852
- }
5770
+ const AttributeLabel = styled(Description) `
5771
+ margin-top: 0 !important;
5772
+ margin-bottom: ${({ forCheckbox }) => (forCheckbox ? "0.75rem" : "0.25rem")} !important;
5773
+ padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5774
+ `;
5775
+ const FeatureControls = styled(Flex) `
5776
+ align-items: center;
5777
+ gap: 1rem;
5778
+ flex-wrap: nowrap;
5779
+ position: relative;
5780
+ flex-shrink: 0;
5781
+
5782
+ button {
5783
+ padding: 0;
5784
+ width: auto;
5785
+ }
5853
5786
  `;
5854
5787
 
5855
5788
  const getAttributeByName = (attributeName, attributes) => {
@@ -5910,9 +5843,9 @@ function getValueIndex(items, attributes) {
5910
5843
  const getChartMarkers = (items, markers, dataSources) => {
5911
5844
  if (typeof markers === "string") {
5912
5845
  const dataSource = getDataSource(markers, dataSources);
5913
- return dataSource?.features?.map(({ attributes }) => ({
5914
- ...attributes,
5915
- value: getValueIndex(items, attributes),
5846
+ return dataSource?.features?.map(({ properties }) => ({
5847
+ ...properties,
5848
+ value: getValueIndex(items, properties),
5916
5849
  })) || [];
5917
5850
  }
5918
5851
  return (markers?.map(marker => ({
@@ -5930,148 +5863,148 @@ const ContainersGroupContainer = memo(({ elementConfig, type, renderElement }) =
5930
5863
  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 }) }))] }));
5931
5864
  });
5932
5865
 
5933
- const ChartLegendContainer = styled(Flex) `
5934
- flex-direction: column;
5935
- flex-wrap: wrap;
5936
- justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
5937
- `;
5938
- const ChartLegendItem = styled(Flex) `
5939
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
5940
- align-items: center;
5941
- flex-wrap: nowrap;
5942
- width: auto;
5943
- margin-right: 0.375rem;
5944
- margin-bottom: 0.25rem;
5945
- line-height: 0.75rem;
5946
- opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
5947
- `;
5948
- const ChartLegendColor = styled.div `
5949
- width: 0.5rem;
5950
- height: 0.5rem;
5951
- margin-right: 0.375rem;
5952
- background-color: ${({ color }) => color};
5953
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
5954
- `;
5955
- const ChartLegendName = styled.div `
5956
- flex: 1;
5957
- font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
5958
- color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
5959
- `;
5866
+ const ChartLegendContainer = styled(Flex) `
5867
+ flex-direction: column;
5868
+ flex-wrap: wrap;
5869
+ justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
5870
+ `;
5871
+ const ChartLegendItem = styled(Flex) `
5872
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
5873
+ align-items: center;
5874
+ flex-wrap: nowrap;
5875
+ width: auto;
5876
+ margin-right: 0.375rem;
5877
+ margin-bottom: 0.25rem;
5878
+ line-height: 0.75rem;
5879
+ opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
5880
+ `;
5881
+ const ChartLegendColor = styled.div `
5882
+ width: 0.5rem;
5883
+ height: 0.5rem;
5884
+ margin-right: 0.375rem;
5885
+ background-color: ${({ color }) => color};
5886
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
5887
+ `;
5888
+ const ChartLegendName = styled.div `
5889
+ flex: 1;
5890
+ font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
5891
+ color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
5892
+ `;
5893
+
5894
+ const ContainerAlias = styled(Flex) `
5895
+ align-items: center;
5896
+ flex-wrap: nowrap;
5897
+ font-size: 0.75rem;
5898
+ color: ${({ theme: { palette } }) => palette.textSecondary};
5899
+
5900
+ &&& {
5901
+ margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
5902
+ }
5903
+
5904
+ span[kind] {
5905
+ margin-right: 0.5rem;
5960
5906
 
5961
- const ContainerAlias = styled(Flex) `
5962
- align-items: center;
5963
- flex-wrap: nowrap;
5964
- font-size: 0.75rem;
5965
- color: ${({ theme: { palette } }) => palette.textSecondary};
5966
-
5967
- &&& {
5968
- margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
5969
- }
5970
-
5971
- span[kind] {
5972
- margin-right: 0.5rem;
5973
-
5974
- :after {
5975
- color: ${({ theme: { palette } }) => palette.primary};
5976
- }
5977
- }
5907
+ :after {
5908
+ color: ${({ theme: { palette } }) => palette.primary};
5909
+ }
5910
+ }
5978
5911
  `;
5979
- const ContainerAliasIcon = styled.div `
5980
- margin-right: 0.5rem;
5912
+ const ContainerAliasIcon = styled.div `
5913
+ margin-right: 0.5rem;
5981
5914
  `;
5982
- const ContainerChart = styled(Flex) `
5983
- justify-content: flex-start;
5984
-
5985
- > * {
5986
- display: flex;
5987
- justify-content: center;
5988
- width: 100%;
5989
- }
5915
+ const ContainerChart = styled(Flex) `
5916
+ justify-content: flex-start;
5917
+
5918
+ > * {
5919
+ display: flex;
5920
+ justify-content: center;
5921
+ width: 100%;
5922
+ }
5990
5923
  `;
5991
5924
  const ContainerLegend = styled(Flex) ``;
5992
- const ContainerUnits = styled.div `
5993
- margin-left: 0.5rem;
5994
- white-space: nowrap;
5995
- font-size: 0.75rem;
5996
- `;
5997
- const ContainerValue = styled(Flex) `
5998
- justify-content: flex-end;
5999
- align-items: center;
6000
- flex-wrap: nowrap;
6001
- width: 100%;
6002
- font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
6003
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6004
-
6005
- > * {
6006
- width: ${({ column }) => (column ? "100%" : "auto")};
6007
- }
6008
-
6009
- ${ContainerChart}, ${ContainerLegend} {
6010
- width: ${({ column }) => (column ? "100%" : "50%")};
6011
- }
6012
-
6013
- ${ContainerLegend} {
6014
- margin-left: ${({ column }) => (column ? 0 : "1rem")};
6015
- }
6016
-
6017
- ${ChartLegendContainer} {
6018
- flex-direction: ${({ column }) => (column ? "row" : "column")};
6019
- margin-top: ${({ column }) => (column ? "1rem" : 0)};
6020
- }
5925
+ const ContainerUnits = styled.div `
5926
+ margin-left: 0.5rem;
5927
+ white-space: nowrap;
5928
+ font-size: 0.75rem;
5929
+ `;
5930
+ const ContainerValue = styled(Flex) `
5931
+ justify-content: flex-end;
5932
+ align-items: center;
5933
+ flex-wrap: nowrap;
5934
+ width: 100%;
5935
+ font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
5936
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
5937
+
5938
+ > * {
5939
+ width: ${({ column }) => (column ? "100%" : "auto")};
5940
+ }
5941
+
5942
+ ${ContainerChart}, ${ContainerLegend} {
5943
+ width: ${({ column }) => (column ? "100%" : "50%")};
5944
+ }
5945
+
5946
+ ${ContainerLegend} {
5947
+ margin-left: ${({ column }) => (column ? 0 : "1rem")};
5948
+ }
5949
+
5950
+ ${ChartLegendContainer} {
5951
+ flex-direction: ${({ column }) => (column ? "row" : "column")};
5952
+ margin-top: ${({ column }) => (column ? "1rem" : 0)};
5953
+ }
6021
5954
  `;
6022
- const ColorIconMixin = css `
6023
- :after {
6024
- color: ${({ $fontColor }) => $fontColor} !important;
6025
- }
5955
+ const ColorIconMixin = css `
5956
+ :after {
5957
+ color: ${({ $fontColor }) => $fontColor} !important;
5958
+ }
6026
5959
  `;
6027
- const SizeIconMixin = css `
6028
- :after {
6029
- font-size: ${({ $fontSize }) => $fontSize}px !important;
6030
- }
5960
+ const SizeIconMixin = css `
5961
+ :after {
5962
+ font-size: ${({ $fontSize }) => $fontSize}px !important;
5963
+ }
6031
5964
  `;
6032
- const ContainerIcon = styled(Icon) `
6033
- width: auto;
6034
- height: auto;
6035
- margin-bottom: 0.5rem;
6036
- ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6037
- ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6038
- `;
6039
- const SvgContainerColorMixin$1 = css `
6040
- path,
6041
- line,
6042
- circle {
6043
- fill: ${({ $fontColor }) => $fontColor};
6044
- }
5965
+ const ContainerIcon = styled(Icon) `
5966
+ width: auto;
5967
+ height: auto;
5968
+ margin-bottom: 0.5rem;
5969
+ ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
5970
+ ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
5971
+ `;
5972
+ const SvgContainerColorMixin$1 = css `
5973
+ path,
5974
+ line,
5975
+ circle {
5976
+ fill: ${({ $fontColor }) => $fontColor};
5977
+ }
6045
5978
  `;
6046
- const SvgContainer$1 = styled.div `
6047
- &&& {
6048
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6049
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6050
-
6051
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6052
-
6053
- > * {
6054
- min-width: inherit;
6055
- }
6056
- }
5979
+ const SvgContainer$1 = styled.div `
5980
+ &&& {
5981
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
5982
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
5983
+
5984
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
5985
+
5986
+ > * {
5987
+ min-width: inherit;
5988
+ }
5989
+ }
6057
5990
  `;
6058
- const TwoColumnContainerWrapper = styled(Flex) `
6059
- width: 100%;
6060
- flex-direction: row;
6061
- flex-wrap: nowrap;
6062
- align-items: center;
6063
-
6064
- > * {
6065
- flex: 1;
6066
- }
6067
-
6068
- > ${ContainerValue} {
6069
- justify-content: flex-end;
6070
-
6071
- > * {
6072
- text-align: right;
6073
- }
6074
- }
5991
+ const TwoColumnContainerWrapper = styled(Flex) `
5992
+ width: 100%;
5993
+ flex-direction: row;
5994
+ flex-wrap: nowrap;
5995
+ align-items: center;
5996
+
5997
+ > * {
5998
+ flex: 1;
5999
+ }
6000
+
6001
+ > ${ContainerValue} {
6002
+ justify-content: flex-end;
6003
+
6004
+ > * {
6005
+ text-align: right;
6006
+ }
6007
+ }
6075
6008
  `;
6076
6009
 
6077
6010
  const useRenderContainerItem = (type, renderElement) => {
@@ -6155,10 +6088,10 @@ const TwoColumnContainer = memo(({ elementConfig, type, renderElement }) => {
6155
6088
  return renderAttributes?.length ? (jsx(Fragment$1, { children: renderAttributes.map(attribute => renderContainer(attribute)) })) : (renderContainer());
6156
6089
  });
6157
6090
 
6158
- const InnerContainerWrapper = styled.div `
6159
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6160
- width: ${({ column }) => (column ? "100%" : "auto")};
6161
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6091
+ const InnerContainerWrapper = styled.div `
6092
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6093
+ width: ${({ column }) => (column ? "100%" : "auto")};
6094
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6162
6095
  `;
6163
6096
 
6164
6097
  const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValue, type, index, innerComponent }) => {
@@ -6229,107 +6162,107 @@ const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValu
6229
6162
  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 }) }));
6230
6163
  });
6231
6164
 
6232
- const DataSourceProgressContainerWrapper = styled.div `
6233
- width: 100%;
6165
+ const DataSourceProgressContainerWrapper = styled.div `
6166
+ width: 100%;
6234
6167
  `;
6235
- const ContainerToggler = styled(LegendToggler) `
6236
- width: auto;
6237
- margin-left: -1rem;
6168
+ const ContainerToggler = styled(LegendToggler) `
6169
+ width: auto;
6170
+ margin-left: -1rem;
6238
6171
  `;
6239
6172
 
6240
- const ProgressContainerWrapper = styled(Flex) `
6241
- align-items: center;
6242
- width: 100%;
6243
- margin-bottom: 1rem;
6173
+ const ProgressContainerWrapper = styled(Flex) `
6174
+ align-items: center;
6175
+ width: 100%;
6176
+ margin-bottom: 1rem;
6244
6177
  `;
6245
- const ProgressIcon = styled.div `
6246
- margin-right: 0.5rem;
6178
+ const ProgressIcon = styled.div `
6179
+ margin-right: 0.5rem;
6247
6180
  `;
6248
- const ProgressContent = styled(Flex) `
6249
- flex: 1;
6250
- flex-direction: column;
6181
+ const ProgressContent = styled(Flex) `
6182
+ flex: 1;
6183
+ flex-direction: column;
6251
6184
  `;
6252
- const ProgressAlias = styled(Flex) `
6253
- flex: 1;
6254
- justify-content: space-between;
6255
- margin-bottom: 0.25rem;
6256
- font-size: 0.75rem;
6257
- color: ${({ theme: { palette } }) => palette.textSecondary};
6258
- `;
6259
- const ProgressValue = styled(Flex) `
6260
- align-items: center;
6261
- width: auto;
6262
- font-size: 1rem;
6263
- color: ${({ theme: { palette } }) => palette.textPrimary};
6264
- `;
6265
- const ProgressInnerValue = styled(ProgressValue) `
6266
- justify-content: flex-end;
6267
- width: 4rem;
6268
- margin-left: 0.5rem;
6269
- `;
6270
- const ProgressUnits = styled(Flex) `
6271
- margin-left: 0.25rem;
6272
- font-size: 0.75rem;
6273
- color: ${({ theme: { palette } }) => palette.textSecondary};
6274
- `;
6275
- const ProgressBarWrapper = styled.div `
6276
- flex-grow: 1;
6277
- height: 0.5rem;
6278
- background-color: ${({ theme: { palette } }) => palette.element};
6279
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6280
- `;
6281
- const ProgressBarContainer = styled(Flex) `
6282
- position: relative;
6283
- align-items: center;
6284
- width: 100%;
6285
-
6185
+ const ProgressAlias = styled(Flex) `
6186
+ flex: 1;
6187
+ justify-content: space-between;
6188
+ margin-bottom: 0.25rem;
6189
+ font-size: 0.75rem;
6190
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6191
+ `;
6192
+ const ProgressValue = styled(Flex) `
6193
+ align-items: center;
6194
+ width: auto;
6195
+ font-size: 1rem;
6196
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6197
+ `;
6198
+ const ProgressInnerValue = styled(ProgressValue) `
6199
+ justify-content: flex-end;
6200
+ width: 4rem;
6201
+ margin-left: 0.5rem;
6202
+ `;
6203
+ const ProgressUnits = styled(Flex) `
6204
+ margin-left: 0.25rem;
6205
+ font-size: 0.75rem;
6206
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6207
+ `;
6208
+ const ProgressBarWrapper = styled.div `
6209
+ flex-grow: 1;
6210
+ height: 0.5rem;
6211
+ background-color: ${({ theme: { palette } }) => palette.element};
6212
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6213
+ `;
6214
+ const ProgressBarContainer = styled(Flex) `
6215
+ position: relative;
6216
+ align-items: center;
6217
+ width: 100%;
6218
+
6286
6219
  ${({ innerValue }) => innerValue &&
6287
- css `
6288
- ${ProgressBarWrapper} {
6289
- height: 1.125rem;
6290
- }
6291
-
6292
- ${ProgressInnerValue} {
6293
- z-index: 1;
6294
- position: absolute;
6295
- right: 0.25rem;
6296
- }
6297
- `}
6298
- `;
6299
- const ProgressBar = styled.div `
6300
- width: ${({ $width }) => $width};
6301
- height: inherit;
6302
- background-color: ${({ $color }) => $color || "#a7d759"};
6303
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6304
- `;
6305
- const ProgressTooltipAlias = styled.div `
6306
- margin-bottom: 0.25rem;
6307
- text-align: left;
6308
- color: ${({ theme: { palette } }) => palette.primary};
6220
+ css `
6221
+ ${ProgressBarWrapper} {
6222
+ height: 1.125rem;
6223
+ }
6224
+
6225
+ ${ProgressInnerValue} {
6226
+ z-index: 1;
6227
+ position: absolute;
6228
+ right: 0.25rem;
6229
+ }
6230
+ `}
6231
+ `;
6232
+ const ProgressBar = styled.div `
6233
+ width: ${({ $width }) => $width};
6234
+ height: inherit;
6235
+ background-color: ${({ $color }) => $color || "#a7d759"};
6236
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6237
+ `;
6238
+ const ProgressTooltipAlias = styled.div `
6239
+ margin-bottom: 0.25rem;
6240
+ text-align: left;
6241
+ color: ${({ theme: { palette } }) => palette.primary};
6309
6242
  `;
6310
6243
  const ProgressTooltipValue = styled.div ``;
6311
- const ProgressTooltipValueContainer = styled(Flex) `
6312
- align-items: center;
6313
-
6314
- > * {
6315
- opacity: 0.65;
6316
- }
6317
-
6318
- ${ProgressTooltipValue} {
6319
- opacity: 1;
6320
- }
6244
+ const ProgressTooltipValueContainer = styled(Flex) `
6245
+ align-items: center;
6246
+
6247
+ > * {
6248
+ opacity: 0.65;
6249
+ }
6250
+
6251
+ ${ProgressTooltipValue} {
6252
+ opacity: 1;
6253
+ }
6321
6254
  `;
6322
- const ProgressTooltipValueOf = styled.div `
6323
- margin: 0 0.25rem;
6255
+ const ProgressTooltipValueOf = styled.div `
6256
+ margin: 0 0.25rem;
6324
6257
  `;
6325
- const ProgressTotalTitle = styled.div `
6326
- font-size: 0.75rem;
6327
- font-weight: bold;
6258
+ const ProgressTotalTitle = styled.div `
6259
+ font-size: 0.75rem;
6260
+ font-weight: bold;
6328
6261
  `;
6329
- const ProgressTotal = styled(Flex) `
6330
- align-items: center;
6331
- justify-content: space-between;
6332
- margin-top: 1rem;
6262
+ const ProgressTotal = styled(Flex) `
6263
+ align-items: center;
6264
+ justify-content: space-between;
6265
+ margin-top: 1rem;
6333
6266
  `;
6334
6267
 
6335
6268
  const DataSourceProgressContainer = memo(({ config, elementConfig, type, innerComponent, renderElement }) => {
@@ -6349,19 +6282,19 @@ const DataSourceProgressContainer = memo(({ config, elementConfig, type, innerCo
6349
6282
  const totalUnits = useMemo(() => unitsElement?.type === "attributeUnits"
6350
6283
  ? attributes?.find(({ attributeName }) => attributeName === unitsElement.attributeName)?.stringFormat
6351
6284
  ?.unitsLabel
6352
- : dataSource?.features?.[0]?.attributes[unitsElement?.attributeName], [attributes, dataSource?.features, unitsElement?.attributeName, unitsElement?.type]);
6285
+ : dataSource?.features?.[0]?.properties[unitsElement?.attributeName], [attributes, dataSource?.features, unitsElement?.attributeName, unitsElement?.type]);
6353
6286
  const totalValue = useMemo(() => {
6354
6287
  const attribute = attributes?.find(({ attributeName }) => attributeName === valueElement?.attributeName);
6355
6288
  const { type: attributeType, stringFormat } = attribute || {};
6356
- const result = dataSource?.features?.reduce((total, feature) => total + feature.attributes[valueElement?.attributeName], 0);
6289
+ const result = dataSource?.features?.reduce((total, feature) => total + feature.properties[valueElement?.attributeName], 0);
6357
6290
  return formatAttributeValue({ t, type: attributeType, value: result, stringFormat, noUnits: !!unitsElement?.type });
6358
6291
  }, [attributes, dataSource?.features, unitsElement?.type, valueElement?.attributeName]);
6359
6292
  const currentMaxValue = useMemo(() => {
6360
6293
  if (typeof maxValue === "string") {
6361
- return dataSource?.features?.[0]?.attributes[maxValue];
6294
+ return dataSource?.features?.[0]?.properties[maxValue];
6362
6295
  }
6363
6296
  return (maxValue ||
6364
- dataSource?.features?.reduce((result, item) => Math.max(result, item.attributes[valueElement?.attributeName]), 0));
6297
+ dataSource?.features?.reduce((result, item) => Math.max(result, item.properties[valueElement?.attributeName]), 0));
6365
6298
  }, [dataSource?.features, maxValue, valueElement?.attributeName]);
6366
6299
  if (!relatedDataSource)
6367
6300
  return null;
@@ -6426,166 +6359,166 @@ const DEFAULT_BAR_CHART_MARGINS = {
6426
6359
  right: 0,
6427
6360
  };
6428
6361
 
6429
- const FiltersContainerWrapper = styled(Flex) `
6430
- flex-direction: column;
6431
- padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6432
- background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6433
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6434
-
6435
- ${DropdownField}, input {
6436
- background-color: ${({ theme: { palette } }) => palette.background};
6437
- }
6438
-
6439
- > div:not(:last-child) {
6440
- margin-bottom: 0.5rem;
6441
- }
6442
-
6443
- > label {
6444
- align-items: flex-start;
6445
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6446
-
6447
- &.active {
6448
- color: ${({ $fontColor }) => $fontColor};
6449
-
6450
- svg rect {
6451
- fill: ${({ $fontColor }) => $fontColor} !important;
6452
- }
6453
- }
6454
-
6455
- &:not(:last-child) {
6456
- margin-bottom: 0.75rem;
6457
- }
6458
-
6459
- &:last-child {
6460
- margin-bottom: 0;
6461
- }
6462
- }
6362
+ const FiltersContainerWrapper = styled(Flex) `
6363
+ flex-direction: column;
6364
+ padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6365
+ background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6366
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6367
+
6368
+ ${DropdownField}, input {
6369
+ background-color: ${({ theme: { palette } }) => palette.background};
6370
+ }
6371
+
6372
+ > div:not(:last-child) {
6373
+ margin-bottom: 0.5rem;
6374
+ }
6375
+
6376
+ > label {
6377
+ align-items: flex-start;
6378
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6379
+
6380
+ &.active {
6381
+ color: ${({ $fontColor }) => $fontColor};
6382
+
6383
+ svg rect {
6384
+ fill: ${({ $fontColor }) => $fontColor} !important;
6385
+ }
6386
+ }
6387
+
6388
+ &:not(:last-child) {
6389
+ margin-bottom: 0.75rem;
6390
+ }
6391
+
6392
+ &:last-child {
6393
+ margin-bottom: 0;
6394
+ }
6395
+ }
6463
6396
  `;
6464
- const StyledIconButton = styled(IconButton) `
6465
- width: 0.75rem;
6466
- height: 0.75rem;
6467
-
6468
- span[kind] {
6469
- height: 0.75rem;
6470
-
6471
- :after {
6472
- font-size: 0.75rem;
6473
- }
6474
- }
6397
+ const StyledIconButton = styled(IconButton) `
6398
+ width: 0.75rem;
6399
+ height: 0.75rem;
6400
+
6401
+ span[kind] {
6402
+ height: 0.75rem;
6403
+
6404
+ :after {
6405
+ font-size: 0.75rem;
6406
+ }
6407
+ }
6475
6408
  `;
6476
- const TextFilterContainer = styled.div `
6477
- width: 15.85rem;
6478
-
6479
- ${MultiSelectContainer} {
6480
- color: ${({ theme: { palette } }) => palette.textPrimary};
6481
-
6482
- ${IconButtonButton} {
6483
- span[kind]:after {
6484
- color: ${({ theme: { palette } }) => palette.textPrimary};
6485
- }
6486
- }
6487
- }
6409
+ const TextFilterContainer = styled.div `
6410
+ width: 15.85rem;
6411
+
6412
+ ${MultiSelectContainer} {
6413
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6414
+
6415
+ ${IconButtonButton} {
6416
+ span[kind]:after {
6417
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6418
+ }
6419
+ }
6420
+ }
6488
6421
  `;
6489
- const BarChartContainer = styled.div `
6490
- width: 100%;
6491
- overflow-x: hidden;
6492
-
6422
+ const BarChartContainer = styled.div `
6423
+ width: 100%;
6424
+ overflow-x: hidden;
6425
+
6493
6426
  ${({ barHeight, marginBottom }) => !!barHeight &&
6494
- css `
6495
- .barChartBarGlobal rect {
6496
- height: ${barHeight}px;
6497
- y: calc(100% - ${barHeight + marginBottom}px);
6498
- }
6499
- `}
6500
- `;
6501
- const AnyChartWrapper = styled.div `
6502
- width: 100%;
6503
- height: ${({ height }) => height}px;
6504
- `;
6505
- const BarChartWrapper = styled(AnyChartWrapper) `
6506
- width: 100%;
6507
- margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6508
-
6509
- :hover {
6510
- ${BarChartContainer} {
6511
- overflow-x: auto;
6512
- }
6513
- }
6427
+ css `
6428
+ .barChartBarGlobal rect {
6429
+ height: ${barHeight}px;
6430
+ y: calc(100% - ${barHeight + marginBottom}px);
6431
+ }
6432
+ `}
6514
6433
  `;
6515
- const BarChartFilterHeader = styled(Flex) `
6516
- justify-content: space-between;
6517
- align-items: center;
6518
- height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6519
- padding: 0.25rem 0;
6434
+ const AnyChartWrapper = styled.div `
6435
+ width: 100%;
6436
+ height: ${({ height }) => height}px;
6520
6437
  `;
6521
- const BarChartFilterArrows = styled(Flex) `
6522
- margin-left: -0.5rem;
6523
-
6524
- span[kind] {
6525
- display: flex;
6526
- align-items: center;
6527
-
6528
- :after {
6529
- font-size: 0.75rem;
6530
- }
6531
- }
6438
+ const BarChartWrapper = styled(AnyChartWrapper) `
6439
+ width: 100%;
6440
+ margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6441
+
6442
+ :hover {
6443
+ ${BarChartContainer} {
6444
+ overflow-x: auto;
6445
+ }
6446
+ }
6447
+ `;
6448
+ const BarChartFilterHeader = styled(Flex) `
6449
+ justify-content: space-between;
6450
+ align-items: center;
6451
+ height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6452
+ padding: 0.25rem 0;
6453
+ `;
6454
+ const BarChartFilterArrows = styled(Flex) `
6455
+ margin-left: -0.5rem;
6456
+
6457
+ span[kind] {
6458
+ display: flex;
6459
+ align-items: center;
6460
+
6461
+ :after {
6462
+ font-size: 0.75rem;
6463
+ }
6464
+ }
6532
6465
  `;
6533
- const BarChartFilterSelected = styled.div `
6534
- font-size: 0.75rem;
6535
- font-weight: bold;
6536
- color: ${({ theme: { palette } }) => palette.textPrimary};
6466
+ const BarChartFilterSelected = styled.div `
6467
+ font-size: 0.75rem;
6468
+ font-weight: bold;
6469
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6537
6470
  `;
6538
- styled.div `
6539
- color: ${({ theme: { palette } }) => palette.textSecondary};
6471
+ styled.div `
6472
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6540
6473
  `;
6541
- const BarChart = styled(BarChart$1) `
6542
- .${barChartClassNames.barChartXAxis} {
6543
- .domain,
6544
- line {
6545
- display: none;
6546
- }
6547
-
6548
- .tick {
6549
- text {
6550
- text-anchor: start;
6551
- font-size: 12px;
6552
- color: rgba(48, 69, 79, 0.46);
6553
- }
6554
-
6555
- :last-of-type {
6556
- text {
6557
- text-anchor: end;
6558
- }
6559
- }
6560
- }
6561
- }
6562
-
6563
- .marker {
6564
- font-size: 12px;
6565
- }
6474
+ const BarChart = styled(BarChart$1) `
6475
+ .${barChartClassNames.barChartXAxis} {
6476
+ .domain,
6477
+ line {
6478
+ display: none;
6479
+ }
6480
+
6481
+ .tick {
6482
+ text {
6483
+ text-anchor: start;
6484
+ font-size: 12px;
6485
+ color: rgba(48, 69, 79, 0.46);
6486
+ }
6487
+
6488
+ :last-of-type {
6489
+ text {
6490
+ text-anchor: end;
6491
+ }
6492
+ }
6493
+ }
6494
+ }
6495
+
6496
+ .marker {
6497
+ font-size: 12px;
6498
+ }
6566
6499
  `;
6567
- const TooltipContainer = styled.div `
6568
- position: relative;
6569
- font-size: 0.75rem;
6570
- color: #ffffff;
6571
- margin-bottom: 0.5rem;
6572
- padding: 0.375rem;
6573
- background-color: rgba(0, 0, 0, 1);
6574
- border-radius: 0.25rem;
6575
- box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6576
-
6577
- :before {
6578
- content: "";
6579
- position: absolute;
6580
- bottom: 0;
6581
- left: 50%;
6582
- transform: translate(-50%, 100%);
6583
- width: 0;
6584
- height: 0;
6585
- border-style: solid;
6586
- border-width: 0.25rem 0.1875rem 0 0.1875rem;
6587
- border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6588
- }
6500
+ const TooltipContainer = styled.div `
6501
+ position: relative;
6502
+ font-size: 0.75rem;
6503
+ color: #ffffff;
6504
+ margin-bottom: 0.5rem;
6505
+ padding: 0.375rem;
6506
+ background-color: rgba(0, 0, 0, 1);
6507
+ border-radius: 0.25rem;
6508
+ box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6509
+
6510
+ :before {
6511
+ content: "";
6512
+ position: absolute;
6513
+ bottom: 0;
6514
+ left: 50%;
6515
+ transform: translate(-50%, 100%);
6516
+ width: 0;
6517
+ height: 0;
6518
+ border-style: solid;
6519
+ border-width: 0.25rem 0.1875rem 0 0.1875rem;
6520
+ border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6521
+ }
6589
6522
  `;
6590
6523
 
6591
6524
  const FiltersContainer = memo(({ elementConfig, config, type, renderElement }) => {
@@ -6662,64 +6595,64 @@ const PagesContainer = memo(({ type = WidgetType.Dashboard, noBorders }) => {
6662
6595
  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 }) }));
6663
6596
  });
6664
6597
 
6665
- const ImageContainerBg$1 = styled.div `
6666
- position: absolute;
6667
- top: 0;
6668
- bottom: 0;
6669
- left: 0;
6670
- right: 0;
6671
-
6672
- img {
6673
- width: 100%;
6674
- height: 100%;
6675
- object-position: center;
6676
- object-fit: cover;
6677
- }
6598
+ const ImageContainerBg$1 = styled.div `
6599
+ position: absolute;
6600
+ top: 0;
6601
+ bottom: 0;
6602
+ left: 0;
6603
+ right: 0;
6604
+
6605
+ img {
6606
+ width: 100%;
6607
+ height: 100%;
6608
+ object-position: center;
6609
+ object-fit: cover;
6610
+ }
6678
6611
  `;
6679
- const ImageContainerTitle = styled.div `
6680
- width: 100%;
6681
- overflow-wrap: break-word;
6682
- font-size: 1rem;
6683
- font-weight: 500;
6684
- `;
6685
- const ImageContainerText = styled.div `
6686
- width: 100%;
6687
- overflow-wrap: break-word;
6688
- margin-top: 0.5rem;
6689
- font-size: 0.75rem;
6690
- `;
6691
- const ImageContainerButton$1 = styled(FlatButton) `
6692
- min-height: 1.5rem;
6693
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6694
- background-color: ${({ theme: { palette } }) => palette.primary};
6695
- text-transform: none;
6696
-
6697
- :hover {
6698
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6699
- }
6612
+ const ImageContainerTitle = styled.div `
6613
+ width: 100%;
6614
+ overflow-wrap: break-word;
6615
+ font-size: 1rem;
6616
+ font-weight: 500;
6617
+ `;
6618
+ const ImageContainerText = styled.div `
6619
+ width: 100%;
6620
+ overflow-wrap: break-word;
6621
+ margin-top: 0.5rem;
6622
+ font-size: 0.75rem;
6623
+ `;
6624
+ const ImageContainerButton$1 = styled(FlatButton) `
6625
+ min-height: 1.5rem;
6626
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6627
+ background-color: ${({ theme: { palette } }) => palette.primary};
6628
+ text-transform: none;
6629
+
6630
+ :hover {
6631
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6632
+ }
6700
6633
  `;
6701
- const ImageContainerWrapper = styled(Flex) `
6702
- flex-direction: column;
6703
- justify-content: flex-end;
6704
- position: relative;
6705
- padding: 1rem;
6706
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6707
- overflow: hidden;
6708
-
6709
- ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6710
- z-index: 1;
6711
- color: ${({ theme: { palette } }) => palette.textContrast};
6712
- }
6713
-
6714
- :after {
6715
- content: "";
6716
- position: absolute;
6717
- top: 0;
6718
- bottom: 0;
6719
- left: 0;
6720
- right: 0;
6721
- background-color: rgba(0, 0, 0, 0.4);
6722
- }
6634
+ const ImageContainerWrapper = styled(Flex) `
6635
+ flex-direction: column;
6636
+ justify-content: flex-end;
6637
+ position: relative;
6638
+ padding: 1rem;
6639
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6640
+ overflow: hidden;
6641
+
6642
+ ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6643
+ z-index: 1;
6644
+ color: ${({ theme: { palette } }) => palette.textContrast};
6645
+ }
6646
+
6647
+ :after {
6648
+ content: "";
6649
+ position: absolute;
6650
+ top: 0;
6651
+ bottom: 0;
6652
+ left: 0;
6653
+ right: 0;
6654
+ background-color: rgba(0, 0, 0, 0.4);
6655
+ }
6723
6656
  `;
6724
6657
 
6725
6658
  const ImageContainer = memo(({ elementConfig, renderElement }) => {
@@ -6727,52 +6660,52 @@ const ImageContainer = memo(({ elementConfig, renderElement }) => {
6727
6660
  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" }) })] }));
6728
6661
  });
6729
6662
 
6730
- const IconContainerWrapper = styled(Flex) `
6731
- flex-direction: column;
6732
- justify-content: center;
6733
- position: relative;
6734
- padding: 0.5rem 1rem 1rem;
6735
- background-color: ${({ theme: { palette } }) => palette.element};
6736
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6737
- overflow: hidden;
6738
- `;
6739
- const IconContainerHeaderWrapper = styled(Flex) `
6740
- justify-content: space-between;
6741
- align-items: center;
6742
- flex-wrap: nowrap;
6743
- width: 100%;
6744
- margin-bottom: 0.25rem;
6745
- `;
6746
- const IconContainerHeader = styled(Flex) `
6747
- align-items: center;
6748
- flex-wrap: nowrap;
6749
- width: 100%;
6750
- margin-right: 0.5rem;
6751
- font-size: 0.875rem;
6752
-
6753
- ${Icon} {
6754
- margin-right: 0.5rem;
6755
-
6756
- :after {
6757
- font-size: 1.15rem;
6758
- color: ${({ theme: { palette } }) => palette.textSecondary};
6759
- }
6760
- }
6663
+ const IconContainerWrapper = styled(Flex) `
6664
+ flex-direction: column;
6665
+ justify-content: center;
6666
+ position: relative;
6667
+ padding: 0.5rem 1rem 1rem;
6668
+ background-color: ${({ theme: { palette } }) => palette.element};
6669
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6670
+ overflow: hidden;
6671
+ `;
6672
+ const IconContainerHeaderWrapper = styled(Flex) `
6673
+ justify-content: space-between;
6674
+ align-items: center;
6675
+ flex-wrap: nowrap;
6676
+ width: 100%;
6677
+ margin-bottom: 0.25rem;
6678
+ `;
6679
+ const IconContainerHeader = styled(Flex) `
6680
+ align-items: center;
6681
+ flex-wrap: nowrap;
6682
+ width: 100%;
6683
+ margin-right: 0.5rem;
6684
+ font-size: 0.875rem;
6685
+
6686
+ ${Icon} {
6687
+ margin-right: 0.5rem;
6688
+
6689
+ :after {
6690
+ font-size: 1.15rem;
6691
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6692
+ }
6693
+ }
6761
6694
  `;
6762
- const IconContainerTitle = styled(Flex) `
6763
- > * {
6764
- width: 13rem;
6765
- white-space: nowrap;
6766
- overflow: hidden;
6767
- font-weight: bold;
6768
- text-overflow: ellipsis;
6769
- }
6695
+ const IconContainerTitle = styled(Flex) `
6696
+ > * {
6697
+ width: 13rem;
6698
+ white-space: nowrap;
6699
+ overflow: hidden;
6700
+ font-weight: bold;
6701
+ text-overflow: ellipsis;
6702
+ }
6770
6703
  `;
6771
- const IconContainerText = styled.div `
6772
- width: 100%;
6773
- overflow-wrap: break-word;
6774
- font-size: 0.75rem;
6775
- color: ${({ theme: { palette } }) => palette.textSecondary};
6704
+ const IconContainerText = styled.div `
6705
+ width: 100%;
6706
+ overflow-wrap: break-word;
6707
+ font-size: 0.75rem;
6708
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6776
6709
  `;
6777
6710
 
6778
6711
  const IconContainer = memo(({ elementConfig, renderElement }) => {
@@ -6795,108 +6728,108 @@ const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent,
6795
6728
  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, {}))] }));
6796
6729
  });
6797
6730
 
6798
- const SvgContainerColorMixin = css `
6799
- path,
6800
- line,
6801
- circle {
6802
- fill: ${({ $fontColor }) => $fontColor};
6803
- }
6731
+ const SvgContainerColorMixin = css `
6732
+ path,
6733
+ line,
6734
+ circle {
6735
+ fill: ${({ $fontColor }) => $fontColor};
6736
+ }
6804
6737
  `;
6805
- const SvgContainer = styled.div `
6806
- &&& {
6807
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6808
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6809
-
6810
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6811
-
6812
- > * {
6813
- min-width: inherit;
6814
- }
6815
- }
6738
+ const SvgContainer = styled.div `
6739
+ &&& {
6740
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6741
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6742
+
6743
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6744
+
6745
+ > * {
6746
+ min-width: inherit;
6747
+ }
6748
+ }
6816
6749
  `;
6817
6750
 
6818
- const ContainerIconTitle = styled(Flex) `
6819
- align-items: center;
6820
- flex-wrap: nowrap;
6821
- flex-shrink: 1;
6822
- flex-grow: 0;
6823
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6824
-
6825
- > div {
6826
- flex-shrink: 1;
6827
- flex-grow: 0;
6828
- width: auto;
6829
- }
6830
-
6831
- ${SvgContainer} {
6832
- flex-shrink: 0;
6833
- flex-grow: 0;
6834
- margin-right: 0.5rem;
6835
- }
6836
-
6837
- svg,
6838
- img,
6839
- span[kind] {
6840
- margin-right: 0.5rem;
6841
- }
6842
-
6751
+ const ContainerIconTitle = styled(Flex) `
6752
+ align-items: center;
6753
+ flex-wrap: nowrap;
6754
+ flex-shrink: 1;
6755
+ flex-grow: 0;
6756
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6757
+
6758
+ > div {
6759
+ flex-shrink: 1;
6760
+ flex-grow: 0;
6761
+ width: auto;
6762
+ }
6763
+
6764
+ ${SvgContainer} {
6765
+ flex-shrink: 0;
6766
+ flex-grow: 0;
6767
+ margin-right: 0.5rem;
6768
+ }
6769
+
6770
+ svg,
6771
+ img,
6772
+ span[kind] {
6773
+ margin-right: 0.5rem;
6774
+ }
6775
+
6843
6776
  ${({ fontColor }) => !!fontColor &&
6844
- css `
6845
- span[kind] {
6846
- color: ${fontColor};
6847
- }
6848
-
6849
- ${SvgContainer} {
6850
- path,
6851
- circle {
6852
- fill: ${fontColor};
6853
- }
6854
- }
6855
- `};
6856
-
6857
- ${LegendToggler} {
6858
- margin-left: 0.25rem;
6859
- }
6860
-
6861
- span[kind="download"] {
6862
- opacity: 0;
6863
- transition: opacity ${transition.hover};
6864
- }
6865
-
6866
- :hover {
6867
- span[kind="download"] {
6868
- opacity: 1;
6869
- }
6870
- }
6777
+ css `
6778
+ span[kind] {
6779
+ color: ${fontColor};
6780
+ }
6781
+
6782
+ ${SvgContainer} {
6783
+ path,
6784
+ circle {
6785
+ fill: ${fontColor};
6786
+ }
6787
+ }
6788
+ `};
6789
+
6790
+ ${LegendToggler} {
6791
+ margin-left: 0.25rem;
6792
+ }
6793
+
6794
+ span[kind="download"] {
6795
+ opacity: 0;
6796
+ transition: opacity ${transition.hover};
6797
+ }
6798
+
6799
+ :hover {
6800
+ span[kind="download"] {
6801
+ opacity: 1;
6802
+ }
6803
+ }
6871
6804
  `;
6872
- const ContainerTitle = styled(Flex) `
6873
- align-items: center;
6874
- justify-content: space-between;
6875
- width: 100%;
6876
-
6877
- > * {
6878
- font-size: 1.125rem;
6879
- font-weight: 500;
6880
- }
6881
-
6882
- ${LegendToggler} {
6883
- padding-right: 0;
6884
- }
6885
-
6805
+ const ContainerTitle = styled(Flex) `
6806
+ align-items: center;
6807
+ justify-content: space-between;
6808
+ width: 100%;
6809
+
6810
+ > * {
6811
+ font-size: 1.125rem;
6812
+ font-weight: 500;
6813
+ }
6814
+
6815
+ ${LegendToggler} {
6816
+ padding-right: 0;
6817
+ }
6818
+
6886
6819
  ${({ simple }) => simple &&
6887
- css `
6888
- justify-content: flex-start;
6889
-
6890
- ${ContainerIconTitle} {
6891
- font-size: 0.75rem;
6892
- }
6893
-
6894
- ${LegendToggler} {
6895
- margin-left: 0;
6896
- padding-left: 0.25rem;
6897
- }
6898
- `}
6899
- `;
6820
+ css `
6821
+ justify-content: flex-start;
6822
+
6823
+ ${ContainerIconTitle} {
6824
+ font-size: 0.75rem;
6825
+ }
6826
+
6827
+ ${LegendToggler} {
6828
+ margin-left: 0;
6829
+ padding-left: 0.25rem;
6830
+ }
6831
+ `}
6832
+ `;
6900
6833
 
6901
6834
  const TitleContainer = memo(({ containerId, templateName, layerNames, fontColor, expandable, expanded, isVisible, elementConfig, renderElement, type, }) => {
6902
6835
  const { expandContainer, expandedContainers, setDashboardLayer } = useWidgetContext(type);
@@ -6969,82 +6902,82 @@ const CameraContainer = memo(({ elementConfig, type, renderElement }) => {
6969
6902
  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 }) })] }))] }));
6970
6903
  });
6971
6904
 
6972
- const TabAnchor = styled.div `
6973
- position: absolute;
6974
- top: -1.5rem;
6975
- right: 0;
6905
+ const TabAnchor = styled.div `
6906
+ position: absolute;
6907
+ top: -1.5rem;
6908
+ right: 0;
6976
6909
  `;
6977
- const TabValue = styled(Flex) `
6978
- flex-wrap: nowrap;
6910
+ const TabValue = styled(Flex) `
6911
+ flex-wrap: nowrap;
6979
6912
  `;
6980
- const noBgMixin = css `
6981
- background-color: transparent;
6982
- border-radius: 0;
6983
- border-bottom: 0.125rem solid
6984
- ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
6985
-
6986
- ${TabValue},
6987
- span[kind] {
6988
- color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6989
- }
6990
-
6991
- &&& svg {
6992
- path,
6993
- line,
6994
- circle {
6995
- fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6996
- }
6997
- }
6998
-
6999
- :not(:last-child) {
7000
- margin-right: 0;
7001
- }
6913
+ const noBgMixin = css `
6914
+ background-color: transparent;
6915
+ border-radius: 0;
6916
+ border-bottom: 0.125rem solid
6917
+ ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
6918
+
6919
+ ${TabValue},
6920
+ span[kind] {
6921
+ color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6922
+ }
6923
+
6924
+ &&& svg {
6925
+ path,
6926
+ line,
6927
+ circle {
6928
+ fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6929
+ }
6930
+ }
6931
+
6932
+ :not(:last-child) {
6933
+ margin-right: 0;
6934
+ }
7002
6935
  `;
7003
- const TabContainer = styled.a `
7004
- display: flex;
7005
- flex-direction: ${({ column }) => (column ? "column" : "row")};
7006
- align-items: center;
7007
- justify-content: center;
7008
- flex-wrap: nowrap;
7009
- padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
7010
- background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
7011
- border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
7012
- text-decoration: none;
7013
-
7014
- :not(:last-child) {
7015
- margin-right: 0.5rem;
7016
- }
7017
-
7018
- ${TabValue} {
7019
- margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
7020
- margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
7021
- font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
7022
- white-space: nowrap;
7023
- }
7024
-
7025
- ${TabValue},
7026
- span[kind] {
7027
- color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7028
- }
7029
-
7030
- ${SvgContainer$1} {
7031
- height: 1rem;
7032
- }
7033
-
7034
- svg,
7035
- img {
7036
- max-width: 1rem;
7037
- max-height: 1rem;
7038
- }
7039
-
7040
- ${({ noBg }) => noBg && noBgMixin};
6936
+ const TabContainer = styled.a `
6937
+ display: flex;
6938
+ flex-direction: ${({ column }) => (column ? "column" : "row")};
6939
+ align-items: center;
6940
+ justify-content: center;
6941
+ flex-wrap: nowrap;
6942
+ padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
6943
+ background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
6944
+ border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
6945
+ text-decoration: none;
6946
+
6947
+ :not(:last-child) {
6948
+ margin-right: 0.5rem;
6949
+ }
6950
+
6951
+ ${TabValue} {
6952
+ margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
6953
+ margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
6954
+ font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
6955
+ white-space: nowrap;
6956
+ }
6957
+
6958
+ ${TabValue},
6959
+ span[kind] {
6960
+ color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
6961
+ }
6962
+
6963
+ ${SvgContainer$1} {
6964
+ height: 1rem;
6965
+ }
6966
+
6967
+ svg,
6968
+ img {
6969
+ max-width: 1rem;
6970
+ max-height: 1rem;
6971
+ }
6972
+
6973
+ ${({ noBg }) => noBg && noBgMixin};
7041
6974
  `;
7042
- const SwiperContainer = styled.div `
7043
- width: 100%;
7044
-
7045
- .swiper-wrapper {
7046
- display: flex;
7047
- }
6975
+ const SwiperContainer = styled.div `
6976
+ width: 100%;
6977
+
6978
+ .swiper-wrapper {
6979
+ display: flex;
6980
+ }
7048
6981
  `;
7049
6982
 
7050
6983
  const TabsContainer = memo(({ elementConfig, type }) => {
@@ -7072,96 +7005,96 @@ const TabsContainer = memo(({ elementConfig, type }) => {
7072
7005
  });
7073
7006
 
7074
7007
  const ContainerIconValue = styled(Flex) ``;
7075
- const RoundedBackgroundContainerWrapper = styled(Flex) `
7076
- position: relative;
7077
- flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7078
- width: 9rem;
7079
- padding: 0.75rem 0.75rem 0.5rem;
7080
- background-color: ${({ theme: { palette } }) => palette.element};
7081
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7082
- flex-wrap: nowrap;
7083
-
7084
- && {
7085
- margin-bottom: 0.5rem;
7086
- }
7087
-
7008
+ const RoundedBackgroundContainerWrapper = styled(Flex) `
7009
+ position: relative;
7010
+ flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7011
+ width: 9rem;
7012
+ padding: 0.75rem 0.75rem 0.5rem;
7013
+ background-color: ${({ theme: { palette } }) => palette.element};
7014
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7015
+ flex-wrap: nowrap;
7016
+
7017
+ && {
7018
+ margin-bottom: 0.5rem;
7019
+ }
7020
+
7088
7021
  ${({ $center }) => $center &&
7089
- css `
7090
- align-items: center;
7091
-
7092
- > * {
7093
- display: flex;
7094
- justify-content: center;
7095
- text-align: center;
7096
- width: 100%;
7097
- }
7098
- `};
7099
-
7022
+ css `
7023
+ align-items: center;
7024
+
7025
+ > * {
7026
+ display: flex;
7027
+ justify-content: center;
7028
+ text-align: center;
7029
+ width: 100%;
7030
+ }
7031
+ `};
7032
+
7100
7033
  ${({ $color }) => $color &&
7101
- css `
7102
- background-color: ${transparentizeColor($color, 6)};
7103
-
7104
- * {
7105
- color: ${$color};
7106
- }
7107
- `};
7108
-
7109
- ${ContainerIcon}, ${SvgContainer$1} {
7110
- margin-bottom: 0.25rem;
7111
- }
7112
-
7034
+ css `
7035
+ background-color: ${transparentizeColor($color, 6)};
7036
+
7037
+ * {
7038
+ color: ${$color};
7039
+ }
7040
+ `};
7041
+
7042
+ ${ContainerIcon}, ${SvgContainer$1} {
7043
+ margin-bottom: 0.25rem;
7044
+ }
7045
+
7113
7046
  ${({ $bigIcon }) => $bigIcon &&
7114
- css `
7115
- ${ContainerIcon}, ${SvgContainer$1} {
7116
- position: absolute;
7117
- top: 0.75rem;
7118
- right: 0.75rem;
7119
- width: 3rem;
7120
- opacity: 0.12;
7121
-
7122
- :after {
7123
- font-size: 3rem;
7124
- }
7125
- }
7126
- `};
7127
-
7128
- ${ContainerIconValue} {
7129
- align-items: center;
7130
- flex-direction: column;
7131
-
7047
+ css `
7048
+ ${ContainerIcon}, ${SvgContainer$1} {
7049
+ position: absolute;
7050
+ top: 0.75rem;
7051
+ right: 0.75rem;
7052
+ width: 3rem;
7053
+ opacity: 0.12;
7054
+
7055
+ :after {
7056
+ font-size: 3rem;
7057
+ }
7058
+ }
7059
+ `};
7060
+
7061
+ ${ContainerIconValue} {
7062
+ align-items: center;
7063
+ flex-direction: column;
7064
+
7132
7065
  ${({ $big }) => $big &&
7133
- css `
7134
- flex-direction: row;
7135
- margin-bottom: 0.5rem;
7136
-
7137
- > * {
7138
- text-align: left;
7139
- }
7140
-
7141
- span[kind] {
7142
- margin-right: 0.5rem;
7143
- }
7144
-
7145
- ${ContainerValue} {
7146
- width: auto;
7147
- }
7148
- `};
7149
- }
7150
-
7151
- ${ContainerValue} {
7152
- flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7153
- justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7154
- align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7155
- line-height: 1;
7156
- }
7157
-
7158
- ${ContainerUnits} {
7159
- margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7160
- }
7161
-
7162
- ${ContainerAlias} {
7163
- margin-top: 0.25rem;
7164
- }
7066
+ css `
7067
+ flex-direction: row;
7068
+ margin-bottom: 0.5rem;
7069
+
7070
+ > * {
7071
+ text-align: left;
7072
+ }
7073
+
7074
+ span[kind] {
7075
+ margin-right: 0.5rem;
7076
+ }
7077
+
7078
+ ${ContainerValue} {
7079
+ width: auto;
7080
+ }
7081
+ `};
7082
+ }
7083
+
7084
+ ${ContainerValue} {
7085
+ flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7086
+ justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7087
+ align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7088
+ line-height: 1;
7089
+ }
7090
+
7091
+ ${ContainerUnits} {
7092
+ margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7093
+ }
7094
+
7095
+ ${ContainerAlias} {
7096
+ margin-top: 0.25rem;
7097
+ }
7165
7098
  `;
7166
7099
 
7167
7100
  const ALIAS_DEFAULT_MAX_LENGTH = 28;
@@ -7208,20 +7141,20 @@ const AddFeatureContainer = memo(({ elementConfig }) => {
7208
7141
  .map(({ options }, index) => (jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
7209
7142
  });
7210
7143
 
7211
- const LayersContainerWrapper = styled(Container) `
7212
- ${DraggableTreeContainer} {
7213
- width: calc(100% + 3rem);
7214
- margin: -0.75rem -1.5rem 0;
7215
- }
7216
-
7217
- ${LayerListContainer} {
7218
- height: auto;
7219
- }
7220
-
7221
- ${LayerGroupList} {
7222
- margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7223
- padding: 0;
7224
- }
7144
+ const LayersContainerWrapper = styled(Container) `
7145
+ ${DraggableTreeContainer} {
7146
+ width: calc(100% + 3rem);
7147
+ margin: -0.75rem -1.5rem 0;
7148
+ }
7149
+
7150
+ ${LayerListContainer} {
7151
+ height: auto;
7152
+ }
7153
+
7154
+ ${LayerGroupList} {
7155
+ margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7156
+ padding: 0;
7157
+ }
7225
7158
  `;
7226
7159
 
7227
7160
  const LayersContainer = memo(({ type, elementConfig, renderElement }) => {
@@ -7256,9 +7189,9 @@ const UploadContainer = memo(({ type, elementConfig, renderElement }) => {
7256
7189
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && renderElement({ id: "uploader", wrap: false })] }));
7257
7190
  });
7258
7191
 
7259
- const StatusBadge = styled(Chip) `
7260
- background-color: ${({ bgColor }) => bgColor};
7261
- color: ${({ theme }) => theme.palette.iconContrast};
7192
+ const StatusBadge = styled(Chip) `
7193
+ background-color: ${({ bgColor }) => bgColor};
7194
+ color: ${({ theme }) => theme.palette.iconContrast};
7262
7195
  `;
7263
7196
 
7264
7197
  const STATUS_TRANSLATION_KEYS = {
@@ -7316,22 +7249,22 @@ var EditGeometryType;
7316
7249
  EditGeometryType["Raster"] = "raster";
7317
7250
  })(EditGeometryType || (EditGeometryType = {}));
7318
7251
 
7319
- const StyledButton = styled(FlatButton) `
7320
- display: flex;
7321
- align-items: center;
7322
-
7323
- ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7324
- transition: background-color ${transition.toggle};
7325
- background-color: ${statusColors[status]};
7326
-
7327
- :hover {
7328
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7329
- }
7330
-
7331
- :active {
7332
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7333
- }
7334
- `}
7252
+ const StyledButton = styled(FlatButton) `
7253
+ display: flex;
7254
+ align-items: center;
7255
+
7256
+ ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7257
+ transition: background-color ${transition.toggle};
7258
+ background-color: ${statusColors[status]};
7259
+
7260
+ :hover {
7261
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7262
+ }
7263
+
7264
+ :active {
7265
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7266
+ }
7267
+ `}
7335
7268
  `;
7336
7269
 
7337
7270
  const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWaiting, isDisabled, onClick }) => {
@@ -7435,9 +7368,9 @@ const EditGroupContainer = memo(({ type, elementConfig, renderElement }) => {
7435
7368
  return renderAttributes?.length ? (jsx(Fragment$1, { children: renderAttributes.map(attribute => renderContainer(attribute)) })) : (renderContainer());
7436
7369
  });
7437
7370
 
7438
- const ContainerDivider = styled(Divider) `
7439
- width: 100%;
7440
- border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7371
+ const ContainerDivider = styled(Divider) `
7372
+ width: 100%;
7373
+ border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7441
7374
  `;
7442
7375
 
7443
7376
  const DividerContainer = memo(({ elementConfig, config }) => {
@@ -7480,149 +7413,149 @@ const getContainerComponent = (innerTemplateName) => innerTemplateName ? contain
7480
7413
  var img$3 = "data:image/png;base64,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";
7481
7414
 
7482
7415
  const getMaskColor = (isDark) => (isDark ? "0, 0, 0" : "255, 255, 255");
7483
- const DefaultHeaderContainer = styled(Flex) `
7484
- flex-direction: column;
7485
- position: relative;
7486
- flex-shrink: 0;
7487
- min-height: 8.175rem;
7488
- margin-bottom: -1.5rem;
7489
- padding: 1.5rem 1.5rem 0;
7490
- border-top-left-radius: 0.5rem;
7491
- border-top-right-radius: 0.5rem;
7492
- overflow: hidden;
7493
-
7494
- > * {
7495
- z-index: 1;
7496
- }
7497
-
7498
- &::before {
7499
- content: "";
7500
- position: absolute;
7501
- top: 0;
7502
- left: 0;
7503
- width: 100%;
7504
- height: 100%;
7505
-
7416
+ const DefaultHeaderContainer = styled(Flex) `
7417
+ flex-direction: column;
7418
+ position: relative;
7419
+ flex-shrink: 0;
7420
+ min-height: 8.175rem;
7421
+ margin-bottom: -1.5rem;
7422
+ padding: 1.5rem 1.5rem 0;
7423
+ border-top-left-radius: 0.5rem;
7424
+ border-top-right-radius: 0.5rem;
7425
+ overflow: hidden;
7426
+
7427
+ > * {
7428
+ z-index: 1;
7429
+ }
7430
+
7431
+ &::before {
7432
+ content: "";
7433
+ position: absolute;
7434
+ top: 0;
7435
+ left: 0;
7436
+ width: 100%;
7437
+ height: 100%;
7438
+
7506
7439
  ${({ image, isDark }) => image
7507
- ? css `
7508
- background: url(${image}) 0 0 no-repeat;
7509
- background-size: cover;
7440
+ ? css `
7441
+ background: url(${image}) 0 0 no-repeat;
7442
+ background-size: cover;
7510
7443
  `
7511
- : css `
7512
- background: url(${img$3}) 50% 0 no-repeat;
7513
- opacity: ${isDark ? 1 : 0.5};
7514
- `}
7515
- }
7516
-
7444
+ : css `
7445
+ background: url(${img$3}) 50% 0 no-repeat;
7446
+ opacity: ${isDark ? 1 : 0.5};
7447
+ `}
7448
+ }
7449
+
7517
7450
  ${({ image, isDark }) => image &&
7518
- css `
7519
- &::before {
7520
- -webkit-mask-image: linear-gradient(
7521
- to bottom,
7522
- rgba(${getMaskColor(isDark)}, 1),
7523
- rgba(${getMaskColor(isDark)}, 0)
7524
- );
7525
- mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
7526
- }
7527
- `}
7528
- ${LinearProgress} {
7529
- position: absolute;
7530
- top: 0;
7531
- left: 0;
7532
- }
7451
+ css `
7452
+ &::before {
7453
+ -webkit-mask-image: linear-gradient(
7454
+ to bottom,
7455
+ rgba(${getMaskColor(isDark)}, 1),
7456
+ rgba(${getMaskColor(isDark)}, 0)
7457
+ );
7458
+ mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
7459
+ }
7460
+ `}
7461
+ ${LinearProgress} {
7462
+ position: absolute;
7463
+ top: 0;
7464
+ left: 0;
7465
+ }
7533
7466
  `;
7534
- const TopContainer = styled(Flex) `
7535
- z-index: 1;
7536
- position: relative;
7537
- justify-content: space-between;
7538
- flex-wrap: nowrap;
7539
- width: 100%;
7540
- align-items: flex-start;
7541
- `;
7542
- const TopContainerButtons = styled(Flex) `
7543
- align-items: center;
7544
- width: auto;
7545
- margin-right: -0.5rem;
7546
-
7547
- button {
7548
- width: auto;
7549
- height: 1rem;
7550
- padding: 0 0.5rem;
7551
- }
7467
+ const TopContainer = styled(Flex) `
7468
+ z-index: 1;
7469
+ position: relative;
7470
+ justify-content: space-between;
7471
+ flex-wrap: nowrap;
7472
+ width: 100%;
7473
+ align-items: flex-start;
7474
+ `;
7475
+ const TopContainerButtons = styled(Flex) `
7476
+ align-items: center;
7477
+ width: auto;
7478
+ margin-right: -0.5rem;
7479
+
7480
+ button {
7481
+ width: auto;
7482
+ height: 1rem;
7483
+ padding: 0 0.5rem;
7484
+ }
7552
7485
  `;
7553
- const LogoContainer = styled(Flex) `
7554
- max-width: calc(100% - 1.4rem);
7555
- max-height: 1.875rem;
7556
- flex-grow: 1;
7557
- font-size: 0;
7558
-
7559
- & > span::after {
7560
- font-size: 2rem;
7561
- }
7562
-
7563
- img {
7564
- max-height: 1.875rem;
7565
- }
7486
+ const LogoContainer = styled(Flex) `
7487
+ max-width: calc(100% - 1.4rem);
7488
+ max-height: 1.875rem;
7489
+ flex-grow: 1;
7490
+ font-size: 0;
7491
+
7492
+ & > span::after {
7493
+ font-size: 2rem;
7494
+ }
7495
+
7496
+ img {
7497
+ max-height: 1.875rem;
7498
+ }
7566
7499
  `;
7567
- const PageTitle = styled(H2) `
7568
- cursor: pointer;
7569
- text-align: left;
7570
- flex: 1 1 auto;
7571
- min-width: 0;
7572
- margin: 0;
7573
- font-size: 1.25rem;
7574
- font-weight: 600;
7575
- pointer-events: initial;
7576
- font-family: "Nunito Sans", serif;
7577
-
7578
- > * {
7579
- white-space: nowrap;
7580
- overflow: hidden;
7581
- text-overflow: ellipsis;
7582
- }
7500
+ const PageTitle = styled(H2) `
7501
+ cursor: pointer;
7502
+ text-align: left;
7503
+ flex: 1 1 auto;
7504
+ min-width: 0;
7505
+ margin: 0;
7506
+ font-size: 1.25rem;
7507
+ font-weight: 600;
7508
+ pointer-events: initial;
7509
+ font-family: "Nunito Sans", serif;
7510
+
7511
+ > * {
7512
+ white-space: nowrap;
7513
+ overflow: hidden;
7514
+ text-overflow: ellipsis;
7515
+ }
7583
7516
  `;
7584
- const PageTitleContainer = styled(Flex) `
7585
- flex-grow: 1;
7586
- align-items: center;
7587
-
7588
- ${PageTitle} {
7589
- max-width: 15.75rem;
7590
- }
7591
-
7592
- &&& button {
7593
- width: 0;
7594
- overflow: hidden;
7595
-
7596
- span[kind] {
7597
- display: flex;
7598
- align-items: center;
7599
- justify-content: center;
7600
- width: 0.75rem;
7601
-
7602
- :after {
7603
- font-size: 0.75rem;
7604
- color: ${({ theme: { palette } }) => palette.textDisabled};
7605
- transition: color ${transition.hover};
7606
- }
7607
- }
7608
-
7609
- &:hover,
7610
- &:active {
7611
- span[kind]:after {
7612
- color: ${({ theme: { palette } }) => palette.textPrimary};
7613
- }
7614
- }
7615
- }
7616
-
7617
- :hover {
7618
- ${PageTitle} {
7619
- max-width: 14.25rem;
7620
- }
7621
-
7622
- &&& button {
7623
- width: 1.5rem;
7624
- }
7625
- }
7517
+ const PageTitleContainer = styled(Flex) `
7518
+ flex-grow: 1;
7519
+ align-items: center;
7520
+
7521
+ ${PageTitle} {
7522
+ max-width: 15.75rem;
7523
+ }
7524
+
7525
+ &&& button {
7526
+ width: 0;
7527
+ overflow: hidden;
7528
+
7529
+ span[kind] {
7530
+ display: flex;
7531
+ align-items: center;
7532
+ justify-content: center;
7533
+ width: 0.75rem;
7534
+
7535
+ :after {
7536
+ font-size: 0.75rem;
7537
+ color: ${({ theme: { palette } }) => palette.textDisabled};
7538
+ transition: color ${transition.hover};
7539
+ }
7540
+ }
7541
+
7542
+ &:hover,
7543
+ &:active {
7544
+ span[kind]:after {
7545
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7546
+ }
7547
+ }
7548
+ }
7549
+
7550
+ :hover {
7551
+ ${PageTitle} {
7552
+ max-width: 14.25rem;
7553
+ }
7554
+
7555
+ &&& button {
7556
+ width: 1.5rem;
7557
+ }
7558
+ }
7626
7559
  `;
7627
7560
 
7628
7561
  const DashboardDefaultHeader = memo(() => {
@@ -7632,87 +7565,87 @@ const DashboardDefaultHeader = memo(() => {
7632
7565
  return (jsxs(DefaultHeaderContainer, { image: getResourceUrl(image), isDark: themeName === ThemeName.Dark, children: [!pageId && jsx(LinearProgress, {}), jsxs(Flex, { column: true, gap: "1rem", children: [jsx(FlexSpan, { children: jsxs(TopContainer, { children: [jsx(LogoContainer, { 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, {}) })] }) }) }) })] })] }));
7633
7566
  });
7634
7567
 
7635
- const HeaderFrontView = styled(Flex) `
7636
- z-index: 10;
7637
- position: relative;
7638
- justify-content: space-between;
7639
- align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7640
- width: 100%;
7641
- font: ${({ theme: { fonts } }) => fonts.subtitle};
7642
- `;
7643
- const HeaderContainer = styled(FlexSpan) `
7644
- display: flex;
7645
- flex-grow: 1;
7646
- flex-wrap: nowrap;
7647
- width: calc(100% - 48px);
7648
- `;
7649
- const FeatureTitleContainer = styled.div `
7650
- display: -webkit-box;
7651
- max-width: 100%;
7652
- width: 100%;
7653
- margin: 0.5rem 0;
7654
- -webkit-line-clamp: 2;
7655
- -webkit-box-orient: vertical;
7656
- overflow: hidden;
7657
- text-overflow: ellipsis;
7658
- color: ${({ theme: { palette } }) => palette.textPrimary};
7659
-
7660
- & > ${FlexSpan} {
7661
- cursor: ${({ clickable }) => clickable && "pointer"};
7662
-
7663
- &:hover {
7664
- color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7665
- }
7666
- }
7568
+ const HeaderFrontView = styled(Flex) `
7569
+ z-index: 10;
7570
+ position: relative;
7571
+ justify-content: space-between;
7572
+ align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7573
+ width: 100%;
7574
+ font: ${({ theme: { fonts } }) => fonts.subtitle};
7575
+ `;
7576
+ const HeaderContainer = styled(FlexSpan) `
7577
+ display: flex;
7578
+ flex-grow: 1;
7579
+ flex-wrap: nowrap;
7580
+ width: calc(100% - 48px);
7581
+ `;
7582
+ const FeatureTitleContainer = styled.div `
7583
+ display: -webkit-box;
7584
+ max-width: 100%;
7585
+ width: 100%;
7586
+ margin: 0.5rem 0;
7587
+ -webkit-line-clamp: 2;
7588
+ -webkit-box-orient: vertical;
7589
+ overflow: hidden;
7590
+ text-overflow: ellipsis;
7591
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7592
+
7593
+ & > ${FlexSpan} {
7594
+ cursor: ${({ clickable }) => clickable && "pointer"};
7595
+
7596
+ &:hover {
7597
+ color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7598
+ }
7599
+ }
7667
7600
  `;
7668
- const LayerDescription = styled(Description) `
7669
- width: calc(100% - 4rem);
7670
- display: -webkit-box;
7671
- -webkit-line-clamp: 2;
7672
- -webkit-box-orient: vertical;
7673
- overflow: hidden;
7674
- text-overflow: ellipsis;
7601
+ const LayerDescription = styled(Description) `
7602
+ width: calc(100% - 4rem);
7603
+ display: -webkit-box;
7604
+ -webkit-line-clamp: 2;
7605
+ -webkit-box-orient: vertical;
7606
+ overflow: hidden;
7607
+ text-overflow: ellipsis;
7675
7608
  `;
7676
- const HeaderTitleContainer = styled(Flex) `
7677
- flex-direction: column;
7678
- width: 100%;
7609
+ const HeaderTitleContainer = styled(Flex) `
7610
+ flex-direction: column;
7611
+ width: 100%;
7679
7612
  `;
7680
- const RowHeaderMixin = css `
7681
- &&& {
7682
- min-height: auto;
7683
-
7684
- ${FeatureTitleContainer}, ${LayerDescription} {
7685
- text-align: left;
7686
- }
7687
- }
7688
-
7689
- ${HeaderContainer} {
7690
- flex-direction: row;
7691
- }
7692
-
7693
- ${FeatureTitleContainer} {
7694
- max-width: calc(100% - 3.8rem);
7695
- }
7613
+ const RowHeaderMixin = css `
7614
+ &&& {
7615
+ min-height: auto;
7616
+
7617
+ ${FeatureTitleContainer}, ${LayerDescription} {
7618
+ text-align: left;
7619
+ }
7620
+ }
7621
+
7622
+ ${HeaderContainer} {
7623
+ flex-direction: row;
7624
+ }
7625
+
7626
+ ${FeatureTitleContainer} {
7627
+ max-width: calc(100% - 3.8rem);
7628
+ }
7696
7629
  `;
7697
- const Header = styled(Flex) `
7698
- z-index: 1;
7699
- position: relative;
7700
- top: 0;
7701
- flex-shrink: 0;
7702
- overflow: hidden;
7703
- width: 100%;
7704
- padding: 0.5rem;
7705
-
7706
- ${HeaderContainer} {
7707
- flex-direction: column;
7708
- }
7709
-
7710
- ${({ $isRow }) => $isRow && RowHeaderMixin};
7630
+ const Header = styled(Flex) `
7631
+ z-index: 1;
7632
+ position: relative;
7633
+ top: 0;
7634
+ flex-shrink: 0;
7635
+ overflow: hidden;
7636
+ width: 100%;
7637
+ padding: 0.5rem;
7638
+
7639
+ ${HeaderContainer} {
7640
+ flex-direction: column;
7641
+ }
7642
+
7643
+ ${({ $isRow }) => $isRow && RowHeaderMixin};
7711
7644
  `;
7712
- const DefaultHeaderWrapper = styled.div `
7713
- ${Header} {
7714
- padding: 0 1.5rem 1.5rem 0;
7715
- }
7645
+ const DefaultHeaderWrapper = styled.div `
7646
+ ${Header} {
7647
+ padding: 0 1.5rem 1.5rem 0;
7648
+ }
7716
7649
  `;
7717
7650
 
7718
7651
  const HeaderTitle = ({ noFeature }) => {
@@ -7740,24 +7673,24 @@ const HeaderTitle = ({ noFeature }) => {
7740
7673
  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 })] }));
7741
7674
  };
7742
7675
 
7743
- const LayerIconContainer = styled.div `
7744
- display: flex;
7745
- align-items: center;
7746
- justify-content: center;
7747
- min-width: 2rem;
7748
- margin-right: 0.5rem;
7676
+ const LayerIconContainer = styled.div `
7677
+ display: flex;
7678
+ align-items: center;
7679
+ justify-content: center;
7680
+ min-width: 2rem;
7681
+ margin-right: 0.5rem;
7749
7682
  `;
7750
- const AlertIconContainer = styled(Flex) `
7751
- align-items: center;
7752
- justify-content: center;
7753
- width: 2rem;
7754
- height: 2rem;
7755
-
7756
- ${Icon} {
7757
- :after {
7758
- color: ${({ theme: { palette } }) => palette.error};
7759
- }
7760
- }
7683
+ const AlertIconContainer = styled(Flex) `
7684
+ align-items: center;
7685
+ justify-content: center;
7686
+ width: 2rem;
7687
+ height: 2rem;
7688
+
7689
+ ${Icon} {
7690
+ :after {
7691
+ color: ${({ theme: { palette } }) => palette.error};
7692
+ }
7693
+ }
7761
7694
  `;
7762
7695
 
7763
7696
  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";
@@ -7790,54 +7723,54 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
7790
7723
  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, {})] }) }) }));
7791
7724
  };
7792
7725
 
7793
- const HeaderFontColorMixin$1 = css `
7794
- ${HeaderTitleContainer}, ${LayerDescription} {
7795
- color: ${({ $fontColor }) => $fontColor};
7796
- }
7726
+ const HeaderFontColorMixin$1 = css `
7727
+ ${HeaderTitleContainer}, ${LayerDescription} {
7728
+ color: ${({ $fontColor }) => $fontColor};
7729
+ }
7797
7730
  `;
7798
- const HeaderWrapperMixin$1 = css `
7799
- ${Header} {
7800
- min-height: 5.25rem;
7801
- }
7802
-
7803
- ${HeaderContainer} {
7804
- max-width: 100%;
7805
- width: 100%;
7806
- }
7807
-
7808
- ${FeatureControls} {
7809
- max-width: calc(100% - 2rem);
7810
- width: calc(100% - 2rem);
7811
- margin-top: -0.5rem;
7812
- padding-top: 1rem;
7813
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7814
- }
7815
-
7816
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
7731
+ const HeaderWrapperMixin$1 = css `
7732
+ ${Header} {
7733
+ min-height: 5.25rem;
7734
+ }
7735
+
7736
+ ${HeaderContainer} {
7737
+ max-width: 100%;
7738
+ width: 100%;
7739
+ }
7740
+
7741
+ ${FeatureControls} {
7742
+ max-width: calc(100% - 2rem);
7743
+ width: calc(100% - 2rem);
7744
+ margin-top: -0.5rem;
7745
+ padding-top: 1rem;
7746
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7747
+ }
7748
+
7749
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
7817
7750
  `;
7818
- const GradientHeaderWrapper = styled.div `
7819
- ${Header} {
7820
- background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
7821
- }
7822
-
7823
- ${HeaderContainer} {
7824
- align-items: center;
7825
- }
7826
-
7827
- ${HeaderTitleContainer} {
7828
- margin-left: 0;
7829
- text-align: center;
7830
- }
7831
-
7832
- ${FeatureTitleContainer} {
7833
- text-align: center;
7834
- }
7835
-
7836
- ${LayerDescription} {
7837
- text-align: center;
7838
- }
7839
-
7840
- ${HeaderWrapperMixin$1};
7751
+ const GradientHeaderWrapper = styled.div `
7752
+ ${Header} {
7753
+ background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
7754
+ }
7755
+
7756
+ ${HeaderContainer} {
7757
+ align-items: center;
7758
+ }
7759
+
7760
+ ${HeaderTitleContainer} {
7761
+ margin-left: 0;
7762
+ text-align: center;
7763
+ }
7764
+
7765
+ ${FeatureTitleContainer} {
7766
+ text-align: center;
7767
+ }
7768
+
7769
+ ${LayerDescription} {
7770
+ text-align: center;
7771
+ }
7772
+
7773
+ ${HeaderWrapperMixin$1};
7841
7774
  `;
7842
7775
 
7843
7776
  const FeatureCardGradientHeader = ({ isRow }) => {
@@ -7856,80 +7789,80 @@ const FeatureCardGradientHeader = ({ isRow }) => {
7856
7789
  }) })] }), jsx(FeatureCardButtons, {})] }) }) }) }));
7857
7790
  };
7858
7791
 
7859
- const HeaderFontColorMixin = css `
7860
- ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
7861
- color: ${({ $fontColor }) => $fontColor};
7862
- }
7792
+ const HeaderFontColorMixin = css `
7793
+ ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
7794
+ color: ${({ $fontColor }) => $fontColor};
7795
+ }
7863
7796
  `;
7864
- const HeaderWrapperMixin = css `
7865
- ${Header} {
7866
- min-height: 5.25rem;
7867
- }
7868
-
7869
- ${HeaderContainer} {
7870
- max-width: 100%;
7871
- width: 100%;
7872
- }
7873
-
7874
- ${FeatureControls} {
7875
- max-width: calc(100% - 2rem);
7876
- width: calc(100% - 2rem);
7877
- margin-top: -0.5rem;
7878
- padding-top: 1rem;
7879
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7880
- }
7881
-
7882
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
7883
- `;
7884
- const HeaderIcon = styled(Flex) `
7885
- position: absolute;
7886
- top: 0;
7887
- right: 0;
7888
- justify-content: flex-end;
7889
- align-items: center;
7890
- min-width: 7.5rem;
7891
- height: 100%;
7892
-
7893
- span[kind]:after {
7894
- font-size: 7.5rem;
7895
- }
7896
-
7897
- span[kind]:after,
7898
- path,
7899
- line,
7900
- circle {
7901
- fill: rgba(255, 255, 255, 0.36);
7902
- }
7903
-
7904
- && > * {
7905
- display: flex;
7906
- align-items: center;
7907
- height: 100%;
7908
- }
7797
+ const HeaderWrapperMixin = css `
7798
+ ${Header} {
7799
+ min-height: 5.25rem;
7800
+ }
7801
+
7802
+ ${HeaderContainer} {
7803
+ max-width: 100%;
7804
+ width: 100%;
7805
+ }
7806
+
7807
+ ${FeatureControls} {
7808
+ max-width: calc(100% - 2rem);
7809
+ width: calc(100% - 2rem);
7810
+ margin-top: -0.5rem;
7811
+ padding-top: 1rem;
7812
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7813
+ }
7814
+
7815
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
7909
7816
  `;
7910
- const BigIconHeaderMixin = css `
7911
- ${HeaderIcon} {
7912
- min-width: 14rem;
7913
- right: -3rem;
7914
-
7915
- span[kind]:after {
7916
- font-size: 14rem;
7917
- }
7918
- }
7817
+ const HeaderIcon = styled(Flex) `
7818
+ position: absolute;
7819
+ top: 0;
7820
+ right: 0;
7821
+ justify-content: flex-end;
7822
+ align-items: center;
7823
+ min-width: 7.5rem;
7824
+ height: 100%;
7825
+
7826
+ span[kind]:after {
7827
+ font-size: 7.5rem;
7828
+ }
7829
+
7830
+ span[kind]:after,
7831
+ path,
7832
+ line,
7833
+ circle {
7834
+ fill: rgba(255, 255, 255, 0.36);
7835
+ }
7836
+
7837
+ && > * {
7838
+ display: flex;
7839
+ align-items: center;
7840
+ height: 100%;
7841
+ }
7919
7842
  `;
7920
- const IconHeaderWrapper = styled.div `
7921
- ${Header} {
7922
- width: calc(100% + 1.5rem);
7923
- margin: -1.5rem -1.5rem 0 -1.5rem;
7924
- padding: 1.5rem;
7925
- border-top-left-radius: 0.5rem;
7926
- border-top-right-radius: 0.5rem;
7927
- background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
7928
- }
7929
-
7930
- ${HeaderWrapperMixin};
7931
-
7932
- ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
7843
+ const BigIconHeaderMixin = css `
7844
+ ${HeaderIcon} {
7845
+ min-width: 14rem;
7846
+ right: -3rem;
7847
+
7848
+ span[kind]:after {
7849
+ font-size: 14rem;
7850
+ }
7851
+ }
7852
+ `;
7853
+ const IconHeaderWrapper = styled.div `
7854
+ ${Header} {
7855
+ width: calc(100% + 1.5rem);
7856
+ margin: -1.5rem -1.5rem 0 -1.5rem;
7857
+ padding: 1.5rem;
7858
+ border-top-left-radius: 0.5rem;
7859
+ border-top-right-radius: 0.5rem;
7860
+ background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
7861
+ }
7862
+
7863
+ ${HeaderWrapperMixin};
7864
+
7865
+ ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
7933
7866
  `;
7934
7867
 
7935
7868
  const FeatureCardIconHeader = ({ isRow }) => {
@@ -7951,15 +7884,15 @@ const FeatureCardIconHeader = ({ isRow }) => {
7951
7884
  }) })] }) }) }));
7952
7885
  };
7953
7886
 
7954
- const ImageContainerButton = styled(FlatButton) `
7955
- min-height: 1.5rem;
7956
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7957
- background-color: ${({ theme: { palette } }) => palette.primary};
7958
- text-transform: none;
7959
-
7960
- :hover {
7961
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
7962
- }
7887
+ const ImageContainerButton = styled(FlatButton) `
7888
+ min-height: 1.5rem;
7889
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7890
+ background-color: ${({ theme: { palette } }) => palette.primary};
7891
+ text-transform: none;
7892
+
7893
+ :hover {
7894
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
7895
+ }
7963
7896
  `;
7964
7897
 
7965
7898
  const ElementButton = memo(({ type, elementConfig }) => {
@@ -7971,157 +7904,157 @@ const ElementButton = memo(({ type, elementConfig }) => {
7971
7904
  return (jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
7972
7905
  });
7973
7906
 
7974
- const AttributeGalleryContainer = styled.div `
7975
- && {
7976
- width: calc(100% + 3rem);
7977
- }
7978
-
7979
- min-height: 12.625rem;
7980
- background-color: ${({ theme: { palette } }) => palette.element};
7981
-
7982
- img {
7983
- width: 100%;
7984
- }
7985
- `;
7986
- const LinearProgressContainer = styled(Flex) `
7987
- align-items: center;
7988
- justify-content: center;
7989
- min-height: inherit;
7990
-
7991
- ${LinearProgress} {
7992
- max-width: 4rem;
7993
- }
7907
+ const AttributeGalleryContainer = styled.div `
7908
+ && {
7909
+ width: calc(100% + 3rem);
7910
+ }
7911
+
7912
+ min-height: 12.625rem;
7913
+ background-color: ${({ theme: { palette } }) => palette.element};
7914
+
7915
+ img {
7916
+ width: 100%;
7917
+ }
7994
7918
  `;
7995
- const NoLiveSnapshotContainer = styled(Flex) `
7996
- flex-direction: column;
7997
- align-items: center;
7998
-
7999
- span[kind="alert"] {
8000
- width: 2rem;
8001
- height: 2rem;
8002
-
8003
- &:after {
8004
- font-size: 2rem;
8005
- color: ${({ theme: { palette } }) => palette.elementDeep};
8006
- }
8007
- }
8008
-
8009
- ${Description} {
8010
- font-size: 0.75rem;
8011
- color: ${({ theme: { palette } }) => palette.textDisabled};
8012
- }
7919
+ const LinearProgressContainer = styled(Flex) `
7920
+ align-items: center;
7921
+ justify-content: center;
7922
+ min-height: inherit;
7923
+
7924
+ ${LinearProgress} {
7925
+ max-width: 4rem;
7926
+ }
8013
7927
  `;
8014
- const SmallPreviewControl = styled(IconButton) `
8015
- cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
8016
- z-index: 3;
8017
- position: absolute;
8018
- top: 50%;
8019
- width: 2.5rem;
8020
- height: 2.5rem;
8021
- margin-top: -1.25rem;
8022
- background-color: rgba(61, 61, 61, 0.8);
8023
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8024
-
8025
- span:after {
8026
- color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
8027
- transition: color ${transition.hover};
8028
- }
7928
+ const NoLiveSnapshotContainer = styled(Flex) `
7929
+ flex-direction: column;
7930
+ align-items: center;
7931
+
7932
+ span[kind="alert"] {
7933
+ width: 2rem;
7934
+ height: 2rem;
7935
+
7936
+ &:after {
7937
+ font-size: 2rem;
7938
+ color: ${({ theme: { palette } }) => palette.elementDeep};
7939
+ }
7940
+ }
7941
+
7942
+ ${Description} {
7943
+ font-size: 0.75rem;
7944
+ color: ${({ theme: { palette } }) => palette.textDisabled};
7945
+ }
8029
7946
  `;
8030
- const SmallPreviewCounter = styled(Flex) `
8031
- z-index: 3;
8032
- position: absolute;
8033
- bottom: 0.625rem;
8034
- left: 0;
8035
- width: 100%;
8036
- height: 1rem;
8037
- justify-content: center;
8038
-
8039
- > div {
8040
- background-color: rgba(61, 61, 61, 0.8);
8041
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8042
- padding: 0 0.5rem;
8043
- font-size: 0.625rem;
8044
- line-height: 1rem;
8045
- color: #fff;
8046
- }
7947
+ const SmallPreviewControl = styled(IconButton) `
7948
+ cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
7949
+ z-index: 3;
7950
+ position: absolute;
7951
+ top: 50%;
7952
+ width: 2.5rem;
7953
+ height: 2.5rem;
7954
+ margin-top: -1.25rem;
7955
+ background-color: rgba(61, 61, 61, 0.8);
7956
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
7957
+
7958
+ span:after {
7959
+ color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
7960
+ transition: color ${transition.hover};
7961
+ }
7962
+ `;
7963
+ const SmallPreviewCounter = styled(Flex) `
7964
+ z-index: 3;
7965
+ position: absolute;
7966
+ bottom: 0.625rem;
7967
+ left: 0;
7968
+ width: 100%;
7969
+ height: 1rem;
7970
+ justify-content: center;
7971
+
7972
+ > div {
7973
+ background-color: rgba(61, 61, 61, 0.8);
7974
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7975
+ padding: 0 0.5rem;
7976
+ font-size: 0.625rem;
7977
+ line-height: 1rem;
7978
+ color: #fff;
7979
+ }
8047
7980
  `;
8048
7981
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
8049
7982
  kind: "prev",
8050
- })) `
8051
- left: 1.5rem;
7983
+ })) `
7984
+ left: 1.5rem;
8052
7985
  `;
8053
7986
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
8054
7987
  kind: "next",
8055
- })) `
8056
- right: 1.5rem;
8057
- `;
8058
- const imgSlideShowMixin = css `
8059
- &:nth-child(${({ prevIndex }) => prevIndex}) {
8060
- z-index: 2;
8061
- position: absolute;
8062
- top: 0;
8063
- left: 0;
8064
- right: 0;
8065
- bottom: 0;
8066
- opacity: 0;
8067
-
8068
- animation-duration: 0.25s;
8069
- animation-name: fadeOut;
8070
- animation-timing-function: linear;
8071
-
8072
- @keyframes fadeOut {
8073
- from {
8074
- opacity: 1;
8075
- }
8076
-
8077
- to {
8078
- opacity: 0;
8079
- }
8080
- }
8081
- }
7988
+ })) `
7989
+ right: 1.5rem;
7990
+ `;
7991
+ const imgSlideShowMixin = css `
7992
+ &:nth-child(${({ prevIndex }) => prevIndex}) {
7993
+ z-index: 2;
7994
+ position: absolute;
7995
+ top: 0;
7996
+ left: 0;
7997
+ right: 0;
7998
+ bottom: 0;
7999
+ opacity: 0;
8000
+
8001
+ animation-duration: 0.25s;
8002
+ animation-name: fadeOut;
8003
+ animation-timing-function: linear;
8004
+
8005
+ @keyframes fadeOut {
8006
+ from {
8007
+ opacity: 1;
8008
+ }
8009
+
8010
+ to {
8011
+ opacity: 0;
8012
+ }
8013
+ }
8014
+ }
8082
8015
  `;
8083
- const SmallPreviewContainer$1 = styled.div `
8084
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8085
- position: relative;
8086
- width: 100%;
8087
- height: 100%;
8088
- min-height: inherit;
8089
- line-height: 0;
8090
-
8091
- ${LinearProgress} {
8092
- z-index: 3;
8093
- position: absolute;
8094
- }
8095
-
8096
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8097
- opacity: 0;
8098
- transition: opacity ${transition.hover};
8099
- }
8100
-
8101
- &:hover {
8102
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8103
- opacity: 1;
8104
- }
8105
- }
8106
-
8107
- img {
8108
- z-index: 0;
8109
- cursor: pointer;
8110
- position: absolute;
8111
- top: 0;
8112
- left: 0;
8113
- width: 100%;
8114
- height: 100%;
8115
- min-height: inherit;
8116
- object-position: center;
8117
- object-fit: cover;
8118
-
8119
- &:nth-child(${({ currentIndex }) => currentIndex}) {
8120
- z-index: 1;
8121
- }
8122
-
8123
- ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8124
- }
8016
+ const SmallPreviewContainer$1 = styled.div `
8017
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8018
+ position: relative;
8019
+ width: 100%;
8020
+ height: 100%;
8021
+ min-height: inherit;
8022
+ line-height: 0;
8023
+
8024
+ ${LinearProgress} {
8025
+ z-index: 3;
8026
+ position: absolute;
8027
+ }
8028
+
8029
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8030
+ opacity: 0;
8031
+ transition: opacity ${transition.hover};
8032
+ }
8033
+
8034
+ &:hover {
8035
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8036
+ opacity: 1;
8037
+ }
8038
+ }
8039
+
8040
+ img {
8041
+ z-index: 0;
8042
+ cursor: pointer;
8043
+ position: absolute;
8044
+ top: 0;
8045
+ left: 0;
8046
+ width: 100%;
8047
+ height: 100%;
8048
+ min-height: inherit;
8049
+ object-position: center;
8050
+ object-fit: cover;
8051
+
8052
+ &:nth-child(${({ currentIndex }) => currentIndex}) {
8053
+ z-index: 1;
8054
+ }
8055
+
8056
+ ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8057
+ }
8125
8058
  `;
8126
8059
  const SmallPreviewImages = styled.div ``;
8127
8060
 
@@ -8322,8 +8255,8 @@ const ElementControl = ({ elementConfig }) => {
8322
8255
  return [];
8323
8256
  }
8324
8257
  return dataSource.features.map(item => ({
8325
- value: item.attributes?.[attributeName] || "",
8326
- text: item.attributes?.[control?.attributeAlias || attributeName] || "",
8258
+ value: item.properties?.[attributeName] || "",
8259
+ text: item.properties?.[control?.attributeAlias || attributeName] || "",
8327
8260
  }));
8328
8261
  }, [control?.attributeAlias, dataSource?.features, attributeName]);
8329
8262
  const isDisabled = useMemo(() => {
@@ -8340,21 +8273,21 @@ const ElementControl = ({ elementConfig }) => {
8340
8273
  return (jsx(Dropdown, { zIndex: 1000, width: `${width ?? DEFAULT_DROPDOWN_WIDTH}px`, label: label, options: items, value: controls?.[control?.targetAttributeName] ?? attribute?.value ?? defaultValue, placeholder: placeholder, disabled: isDisabled, onChange: handleChange }));
8341
8274
  };
8342
8275
 
8343
- const StyledIconFontSizeMixin = css `
8344
- height: ${({ fontSize }) => `${fontSize}px`};
8345
-
8346
- &&:after {
8347
- font-size: ${({ fontSize }) => `${fontSize}px`};
8348
- }
8276
+ const StyledIconFontSizeMixin = css `
8277
+ height: ${({ fontSize }) => `${fontSize}px`};
8278
+
8279
+ &&:after {
8280
+ font-size: ${({ fontSize }) => `${fontSize}px`};
8281
+ }
8349
8282
  `;
8350
- const StyledIconFontColorMixin = css `
8351
- &&:after {
8352
- color: ${({ fontColor }) => fontColor};
8353
- }
8283
+ const StyledIconFontColorMixin = css `
8284
+ &&:after {
8285
+ color: ${({ fontColor }) => fontColor};
8286
+ }
8354
8287
  `;
8355
- const StyledIcon = styled(Icon) `
8356
- ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8357
- ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8288
+ const StyledIcon = styled(Icon) `
8289
+ ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8290
+ ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8358
8291
  `;
8359
8292
 
8360
8293
  const ElementIcon = memo(({ type, elementConfig }) => {
@@ -8420,55 +8353,55 @@ const ElementLegend = memo(({ type, element, elementConfig }) => {
8420
8353
 
8421
8354
  const ExternalLink = styled(IconButton).attrs(() => ({
8422
8355
  kind: "external_link",
8423
- })) `
8424
- ${Icon} {
8425
- color: ${({ theme: { palette } }) => palette.primary};
8426
- }
8427
-
8428
- &:hover ${Icon} {
8429
- color: ${({ theme: { palette } }) => palette.primaryDeep};
8430
- }
8356
+ })) `
8357
+ ${Icon} {
8358
+ color: ${({ theme: { palette } }) => palette.primary};
8359
+ }
8360
+
8361
+ &:hover ${Icon} {
8362
+ color: ${({ theme: { palette } }) => palette.primaryDeep};
8363
+ }
8431
8364
  `;
8432
- const Link = styled.a `
8433
- text-decoration: none;
8434
- font-size: 0.75rem;
8435
- color: ${({ theme: { palette } }) => palette.primary};
8365
+ const Link = styled.a `
8366
+ text-decoration: none;
8367
+ font-size: 0.75rem;
8368
+ color: ${({ theme: { palette } }) => palette.primary};
8436
8369
  `;
8437
- const LocalLinkBlank = styled(Blank) `
8438
- min-width: 13.5rem;
8439
- padding: 0.5rem 0.75rem 0;
8440
-
8441
- ${IconButtonButton} {
8442
- font-size: 0.75rem;
8443
- }
8370
+ const LocalLinkBlank = styled(Blank) `
8371
+ min-width: 13.5rem;
8372
+ padding: 0.5rem 0.75rem 0;
8373
+
8374
+ ${IconButtonButton} {
8375
+ font-size: 0.75rem;
8376
+ }
8444
8377
  `;
8445
8378
  const LocalLinkButton = styled(IconButton).attrs(() => ({
8446
8379
  kind: "link",
8447
- })) `
8448
- width: 1rem;
8449
- height: 1rem;
8450
- background-color: ${({ theme: { palette } }) => palette.primary};
8451
- padding: 0;
8452
- border-radius: 50%;
8453
-
8454
- :hover {
8455
- background-color: ${({ theme: { palette } }) => palette.primary};
8456
- }
8457
-
8458
- span[kind] {
8459
- display: flex;
8460
- justify-content: center;
8461
- align-items: center;
8462
-
8463
- :after {
8464
- position: relative;
8465
- font-size: 0.6rem;
8466
- color: white;
8467
- }
8468
- }
8380
+ })) `
8381
+ width: 1rem;
8382
+ height: 1rem;
8383
+ background-color: ${({ theme: { palette } }) => palette.primary};
8384
+ padding: 0;
8385
+ border-radius: 50%;
8386
+
8387
+ :hover {
8388
+ background-color: ${({ theme: { palette } }) => palette.primary};
8389
+ }
8390
+
8391
+ span[kind] {
8392
+ display: flex;
8393
+ justify-content: center;
8394
+ align-items: center;
8395
+
8396
+ :after {
8397
+ position: relative;
8398
+ font-size: 0.6rem;
8399
+ color: white;
8400
+ }
8401
+ }
8469
8402
  `;
8470
- const LocalLinkCopy = styled(Flex) `
8471
- justify-content: center;
8403
+ const LocalLinkCopy = styled(Flex) `
8404
+ justify-content: center;
8472
8405
  `;
8473
8406
 
8474
8407
  const LocalLink = memo(({ link, style }) => {
@@ -8497,104 +8430,104 @@ const ElementLink = memo(({ type, elementConfig }) => {
8497
8430
  : jsx(LocalLink, { style: style, link: link });
8498
8431
  });
8499
8432
 
8500
- const MarkdownWrapper = styled.div `
8501
- padding: 0;
8502
- background: transparent;
8503
- border-radius: 0.5rem;
8504
- font-family: 'Nunito Sans', sans-serif;
8505
- color: ${({ theme: { palette } }) => palette.textPrimary};
8506
-
8507
- /* Paragraphs */
8508
- p {
8509
- font-size: 0.875rem;
8510
- line-height: 1rem;
8511
- letter-spacing: 0.0052rem;
8512
- margin: 0 0 1rem 0;
8513
- font-weight: 400;
8514
-
8515
- &:last-child {
8516
- margin-bottom: 0;
8517
- }
8518
- }
8519
-
8520
- /* Headings */
8521
- h1, h2, h3, h4, h5, h6 {
8522
- margin: 0 0 0.75rem 0;
8523
- font-weight: 300;
8524
- }
8525
-
8526
- h1 {
8527
- font-size: 1.5rem;
8528
- line-height: 1.75rem;
8529
- }
8530
-
8531
- h2 {
8532
- font-size: 1.25rem;
8533
- line-height: 1.5rem;
8534
- }
8535
-
8536
- h3 {
8537
- font-size: 1rem;
8538
- line-height: 1.25rem;
8539
- }
8540
-
8541
- /* Images */
8542
- img {
8543
- max-width: 100%;
8544
- height: auto;
8545
- border-radius: 0.5rem;
8546
- object-fit: cover;
8547
- margin: 0.75rem 0;
8548
- }
8549
-
8550
- /* Links */
8551
- a {
8552
- color: ${({ theme: { palette } }) => palette.primary};
8553
- text-decoration: none;
8554
-
8555
- &:hover {
8556
- text-decoration: underline;
8557
- }
8558
- }
8559
-
8560
- /* Lists */
8561
- ul, ol {
8562
- margin: 0 0 1rem 0;
8563
- padding-left: 1.25rem;
8564
-
8565
- li {
8566
- font-size: 0.875rem;
8567
- line-height: 1rem;
8568
- margin-bottom: 0.5rem;
8569
- }
8570
- }
8571
-
8572
- /* Code */
8573
- code {
8574
- background: ${({ theme: { palette } }) => palette.element};
8575
- padding: 0.125rem 0.375rem;
8576
- border-radius: 0.25rem;
8577
- font-family: monospace;
8578
- font-size: 0.8125rem;
8579
- }
8580
-
8581
- pre {
8582
- background: ${({ theme: { palette } }) => palette.element};
8583
- padding: 0.75rem;
8584
- border-radius: 0.25rem;
8585
- overflow-x: auto;
8586
- margin: 0.75rem 0;
8587
-
8588
- code {
8589
- background: transparent;
8590
- padding: 0;
8591
- }
8592
- }
8593
-
8594
- /* Hide horizontal rules */
8595
- hr {
8596
- display: none;
8597
- }
8433
+ const MarkdownWrapper = styled.div `
8434
+ padding: 0;
8435
+ background: transparent;
8436
+ border-radius: 0.5rem;
8437
+ font-family: 'Nunito Sans', sans-serif;
8438
+ color: ${({ theme: { palette } }) => palette.textPrimary};
8439
+
8440
+ /* Paragraphs */
8441
+ p {
8442
+ font-size: 0.875rem;
8443
+ line-height: 1rem;
8444
+ letter-spacing: 0.0052rem;
8445
+ margin: 0 0 1rem 0;
8446
+ font-weight: 400;
8447
+
8448
+ &:last-child {
8449
+ margin-bottom: 0;
8450
+ }
8451
+ }
8452
+
8453
+ /* Headings */
8454
+ h1, h2, h3, h4, h5, h6 {
8455
+ margin: 0 0 0.75rem 0;
8456
+ font-weight: 300;
8457
+ }
8458
+
8459
+ h1 {
8460
+ font-size: 1.5rem;
8461
+ line-height: 1.75rem;
8462
+ }
8463
+
8464
+ h2 {
8465
+ font-size: 1.25rem;
8466
+ line-height: 1.5rem;
8467
+ }
8468
+
8469
+ h3 {
8470
+ font-size: 1rem;
8471
+ line-height: 1.25rem;
8472
+ }
8473
+
8474
+ /* Images */
8475
+ img {
8476
+ max-width: 100%;
8477
+ height: auto;
8478
+ border-radius: 0.5rem;
8479
+ object-fit: cover;
8480
+ margin: 0.75rem 0;
8481
+ }
8482
+
8483
+ /* Links */
8484
+ a {
8485
+ color: ${({ theme: { palette } }) => palette.primary};
8486
+ text-decoration: none;
8487
+
8488
+ &:hover {
8489
+ text-decoration: underline;
8490
+ }
8491
+ }
8492
+
8493
+ /* Lists */
8494
+ ul, ol {
8495
+ margin: 0 0 1rem 0;
8496
+ padding-left: 1.25rem;
8497
+
8498
+ li {
8499
+ font-size: 0.875rem;
8500
+ line-height: 1rem;
8501
+ margin-bottom: 0.5rem;
8502
+ }
8503
+ }
8504
+
8505
+ /* Code */
8506
+ code {
8507
+ background: ${({ theme: { palette } }) => palette.element};
8508
+ padding: 0.125rem 0.375rem;
8509
+ border-radius: 0.25rem;
8510
+ font-family: monospace;
8511
+ font-size: 0.8125rem;
8512
+ }
8513
+
8514
+ pre {
8515
+ background: ${({ theme: { palette } }) => palette.element};
8516
+ padding: 0.75rem;
8517
+ border-radius: 0.25rem;
8518
+ overflow-x: auto;
8519
+ margin: 0.75rem 0;
8520
+
8521
+ code {
8522
+ background: transparent;
8523
+ padding: 0;
8524
+ }
8525
+ }
8526
+
8527
+ /* Hide horizontal rules */
8528
+ hr {
8529
+ display: none;
8530
+ }
8598
8531
  `;
8599
8532
 
8600
8533
  const sanitizeSchema = {
@@ -8636,9 +8569,9 @@ const ElementMarkdown = memo(({ elementConfig, type }) => {
8636
8569
  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: "Свернуть" }) })] }));
8637
8570
  });
8638
8571
 
8639
- const SmallPreviewContainer = styled.div `
8640
- width: 100%;
8641
- height: 100%;
8572
+ const SmallPreviewContainer = styled.div `
8573
+ width: 100%;
8574
+ height: 100%;
8642
8575
  `;
8643
8576
 
8644
8577
  const ElementSlideshow = ({ elementConfig, type, renderElement }) => {
@@ -8651,7 +8584,7 @@ const ElementSlideshow = ({ elementConfig, type, renderElement }) => {
8651
8584
  const images = useMemo(() => {
8652
8585
  const dataSource = relatedDataSource ? dataSources?.find(({ name }) => name === relatedDataSource) : null;
8653
8586
  const array = dataSource
8654
- ? dataSource.features.map(feature => feature.attributes[attributeName])
8587
+ ? dataSource.features.map(feature => feature.properties[attributeName])
8655
8588
  : getSlideshowImages({
8656
8589
  element: elementConfig,
8657
8590
  attribute: attributes?.find(({ name }) => name === attributeName),
@@ -8674,18 +8607,18 @@ const ElementSvg = memo(({ type, elementConfig }) => {
8674
8607
  return (jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
8675
8608
  });
8676
8609
 
8677
- const TooltipIcon = styled(Icon) `
8678
- &&& {
8679
- :after {
8680
- font-size: 0.75rem;
8681
- color: ${({ theme: { palette } }) => palette.iconDisabled};
8682
- transition: color ${transition.hover};
8683
- }
8684
-
8685
- :hover:after {
8686
- color: ${({ theme: { palette } }) => palette.icon};
8687
- }
8688
- }
8610
+ const TooltipIcon = styled(Icon) `
8611
+ &&& {
8612
+ :after {
8613
+ font-size: 0.75rem;
8614
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
8615
+ transition: color ${transition.hover};
8616
+ }
8617
+
8618
+ :hover:after {
8619
+ color: ${({ theme: { palette } }) => palette.icon};
8620
+ }
8621
+ }
8689
8622
  `;
8690
8623
 
8691
8624
  const ElementTooltip = memo(({ type, elementConfig }) => {
@@ -8697,76 +8630,76 @@ const ElementTooltip = memo(({ type, elementConfig }) => {
8697
8630
  return text ? (jsx(Tooltip$1, { placement: "top", arrow: true, content: text, children: ref => jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
8698
8631
  });
8699
8632
 
8700
- const SlideshowHeaderWrapper = styled.div `
8701
- padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
8702
-
8703
- ${Header} {
8704
- align-items: flex-start;
8705
- width: calc(100% + 2rem);
8706
- height: ${({ big }) => (big ? "15.5rem" : "auto")};
8707
- padding: 1.5rem;
8708
- margin: -1rem -1rem 0 -1rem;
8709
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8710
-
8711
- ${SmallPreviewCounter} {
8712
- bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
8713
- }
8714
-
8715
- :before,
8716
- :after {
8717
- content: "";
8718
- z-index: 2;
8719
- position: absolute;
8720
- top: 0;
8721
- left: 0;
8722
- width: 100%;
8723
- }
8724
-
8725
- :before {
8726
- height: 100%;
8727
- background: rgba(32, 46, 53, 0.25);
8728
- }
8729
-
8730
- :after {
8731
- height: 4.5rem;
8732
- background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
8733
- }
8734
-
8735
- :hover {
8736
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8737
- opacity: 1;
8738
- }
8739
- }
8740
- }
8633
+ const SlideshowHeaderWrapper = styled.div `
8634
+ padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
8635
+
8636
+ ${Header} {
8637
+ align-items: flex-start;
8638
+ width: calc(100% + 2rem);
8639
+ height: ${({ big }) => (big ? "15.5rem" : "auto")};
8640
+ padding: 1.5rem;
8641
+ margin: -1rem -1rem 0 -1rem;
8642
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8643
+
8644
+ ${SmallPreviewCounter} {
8645
+ bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
8646
+ }
8647
+
8648
+ :before,
8649
+ :after {
8650
+ content: "";
8651
+ z-index: 2;
8652
+ position: absolute;
8653
+ top: 0;
8654
+ left: 0;
8655
+ width: 100%;
8656
+ }
8657
+
8658
+ :before {
8659
+ height: 100%;
8660
+ background: rgba(32, 46, 53, 0.25);
8661
+ }
8662
+
8663
+ :after {
8664
+ height: 4.5rem;
8665
+ background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
8666
+ }
8667
+
8668
+ :hover {
8669
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8670
+ opacity: 1;
8671
+ }
8672
+ }
8673
+ }
8741
8674
  `;
8742
- const ImageContainerBg = styled.div `
8743
- position: absolute;
8744
- top: 0;
8745
- bottom: 0;
8746
- left: 0;
8747
- right: 0;
8748
-
8749
- img {
8750
- width: 100%;
8751
- height: 100%;
8752
- object-position: center;
8753
- object-fit: cover;
8754
- }
8675
+ const ImageContainerBg = styled.div `
8676
+ position: absolute;
8677
+ top: 0;
8678
+ bottom: 0;
8679
+ left: 0;
8680
+ right: 0;
8681
+
8682
+ img {
8683
+ width: 100%;
8684
+ height: 100%;
8685
+ object-position: center;
8686
+ object-fit: cover;
8687
+ }
8755
8688
  `;
8756
- const HeaderSlideshow = styled.div `
8757
- position: absolute;
8758
- top: 0;
8759
- bottom: ${({ height }) => (height ? `${height}px` : 0)};
8760
- left: 0;
8761
- right: 0;
8762
-
8763
- img {
8764
- width: 100%;
8765
- height: 100%;
8766
- min-height: inherit;
8767
- object-position: center;
8768
- object-fit: cover;
8769
- }
8689
+ const HeaderSlideshow = styled.div `
8690
+ position: absolute;
8691
+ top: 0;
8692
+ bottom: ${({ height }) => (height ? `${height}px` : 0)};
8693
+ left: 0;
8694
+ right: 0;
8695
+
8696
+ img {
8697
+ width: 100%;
8698
+ height: 100%;
8699
+ min-height: inherit;
8700
+ object-position: center;
8701
+ object-fit: cover;
8702
+ }
8770
8703
  `;
8771
8704
 
8772
8705
  const FeatureCardSlideshowHeader = ({ isRow }) => {
@@ -8905,40 +8838,40 @@ const getDefaultConfig = ({ title, defaultTitle, items, baseMapName, position, r
8905
8838
  return dashboardConfiguration;
8906
8839
  };
8907
8840
 
8908
- const UploaderContainer = styled(Container) `
8909
- ${UploaderItemArea} {
8910
- overflow: visible;
8911
- padding-top: 1rem;
8912
- padding-bottom: 1rem;
8913
- }
8914
-
8915
- ${UploaderTitleWrapper} {
8916
- top: 0;
8917
- padding-top: 0;
8918
- border: 0;
8919
- }
8841
+ const UploaderContainer = styled(Container) `
8842
+ ${UploaderItemArea} {
8843
+ overflow: visible;
8844
+ padding-top: 1rem;
8845
+ padding-bottom: 1rem;
8846
+ }
8847
+
8848
+ ${UploaderTitleWrapper} {
8849
+ top: 0;
8850
+ padding-top: 0;
8851
+ border: 0;
8852
+ }
8920
8853
  `;
8921
8854
 
8922
- const UploaderTitle = styled(Flex) `
8923
- flex-direction: column;
8924
- align-items: center;
8925
- width: 11rem;
8926
- margin: 0 auto;
8927
- text-align: center;
8928
- font-size: 0.625rem;
8929
- color: ${({ theme: { palette } }) => palette.textSecondary};
8930
-
8931
- span[kind] {
8932
- width: 1.5rem;
8933
- height: 1.5rem;
8934
- margin-bottom: 0.75rem;
8935
-
8936
- :after {
8937
- font-size: 1.5rem;
8938
- color: ${({ theme: { palette } }) => palette.textSecondary};
8939
- opacity: 0.12;
8940
- }
8941
- }
8855
+ const UploaderTitle = styled(Flex) `
8856
+ flex-direction: column;
8857
+ align-items: center;
8858
+ width: 11rem;
8859
+ margin: 0 auto;
8860
+ text-align: center;
8861
+ font-size: 0.625rem;
8862
+ color: ${({ theme: { palette } }) => palette.textSecondary};
8863
+
8864
+ span[kind] {
8865
+ width: 1.5rem;
8866
+ height: 1.5rem;
8867
+ margin-bottom: 0.75rem;
8868
+
8869
+ :after {
8870
+ font-size: 1.5rem;
8871
+ color: ${({ theme: { palette } }) => palette.textSecondary};
8872
+ opacity: 0.12;
8873
+ }
8874
+ }
8942
8875
  `;
8943
8876
 
8944
8877
  const DEFAULT_FILE_EXTENSIONS = ".txt,.csv,.py";
@@ -9044,7 +8977,7 @@ function getFeatureAttributes(feature = {}, layer, dataSource) {
9044
8977
  if (!layerDefinition) {
9045
8978
  return [];
9046
8979
  }
9047
- const currentAttributes = !feature && dataSource ? dataSource.features[0].attributes : feature?.attributes;
8980
+ const currentAttributes = !feature && dataSource ? dataSource.features[0].properties : feature?.properties;
9048
8981
  const { id: idValue } = feature || {};
9049
8982
  const { idAttribute, attributes } = layerDefinition || {};
9050
8983
  const layerAttributes = idAttribute
@@ -9061,7 +8994,7 @@ function getFeatureAttributes(feature = {}, layer, dataSource) {
9061
8994
  readOnly: true,
9062
8995
  }
9063
8996
  : {
9064
- value: currentAttributes?.[attributeName] || dataSource?.features?.[0]?.attributes?.[attributeName],
8997
+ value: currentAttributes?.[attributeName] || dataSource?.features?.[0]?.properties?.[attributeName],
9065
8998
  readOnly: isCalculated || !isEditable,
9066
8999
  };
9067
9000
  const clientData = layer.layerAttributes?.find(layerAttribute => layerAttribute.attributeName === attributeName)?.clientData;
@@ -9233,10 +9166,10 @@ const getListOptions = (items, filterName, configFilters) => {
9233
9166
  if (!filter)
9234
9167
  return [];
9235
9168
  return (items?.map(item => ({
9236
- text: item.attributes[filter.attributeAlias || DEFAULT_ATTRIBUTE_NAME],
9237
- value: item.attributes[filter.attributeValue || DEFAULT_ATTRIBUTE_NAME],
9238
- min: filter.attributeMin ? item.attributes[filter.attributeMin] : null,
9239
- max: filter.attributeMax ? item.attributes[filter.attributeMax] : null,
9169
+ text: item.properties[filter.attributeAlias || DEFAULT_ATTRIBUTE_NAME],
9170
+ value: item.properties[filter.attributeValue || DEFAULT_ATTRIBUTE_NAME],
9171
+ min: filter.attributeMin ? item.properties[filter.attributeMin] : null,
9172
+ max: filter.attributeMax ? item.properties[filter.attributeMax] : null,
9240
9173
  })) || []);
9241
9174
  };
9242
9175
 
@@ -9548,8 +9481,8 @@ const RangeDateFilter = ({ type, filter }) => {
9548
9481
  const { filterName, label, minValue, maxValue, withTime } = filter.options;
9549
9482
  const configFilter = useMemo(() => getConfigFilter(filterName, configFilters), [configFilters, filterName]);
9550
9483
  const dataSource = useMemo(() => getDataSource(configFilter?.relatedDataSource, dataSources), [configFilter?.relatedDataSource, dataSources]);
9551
- const { minFromData, maxFromData } = useMemo(() => dataSource?.features?.reduce((prev, { attributes }) => {
9552
- const date = getDate(attributes[configFilter?.attributeValue]);
9484
+ const { minFromData, maxFromData } = useMemo(() => dataSource?.features?.reduce((prev, { properties }) => {
9485
+ const date = getDate(properties[configFilter?.attributeValue]);
9553
9486
  return {
9554
9487
  minFromData: !prev.minFromData ? date : date < prev.minFromData ? date : prev.minFromData,
9555
9488
  maxFromData: !prev.maxFromData ? date : date > prev.maxFromData ? date : prev.maxFromData
@@ -9608,64 +9541,64 @@ const getJustifyContent = (align) => {
9608
9541
  return "flex-start";
9609
9542
  }
9610
9543
  };
9611
- const ChipsContainer = styled(Flex) `
9612
- flex-wrap: wrap;
9613
- gap: 0.25rem;
9614
- background: transparent;
9615
- justify-content: ${({ $align }) => getJustifyContent($align)};
9544
+ const ChipsContainer = styled(Flex) `
9545
+ flex-wrap: wrap;
9546
+ gap: 0.25rem;
9547
+ background: transparent;
9548
+ justify-content: ${({ $align }) => getJustifyContent($align)};
9616
9549
  `;
9617
9550
 
9618
- const FilterChip = styled.div `
9619
- display: inline-flex;
9620
- align-items: center;
9621
- gap: 0.25rem;
9622
- padding: 0.3125rem 0.5rem;
9623
- height: 1.5rem;
9624
- border-radius: 0.25rem;
9551
+ const FilterChip = styled.div `
9552
+ display: inline-flex;
9553
+ align-items: center;
9554
+ gap: 0.25rem;
9555
+ padding: 0.3125rem 0.5rem;
9556
+ height: 1.5rem;
9557
+ border-radius: 0.25rem;
9625
9558
  background-color: ${({ $isActive, $bgColor, theme }) => $bgColor
9626
9559
  ? $bgColor
9627
9560
  : $isActive
9628
9561
  ? theme.palette?.primary
9629
- : theme.palette?.elementLight};
9562
+ : theme.palette?.elementLight};
9630
9563
  color: ${({ $isActive, $textColor, theme }) => $textColor
9631
9564
  ? $textColor
9632
9565
  : $isActive
9633
9566
  ? theme.palette?.textContrast
9634
- : theme.palette?.textSecondary};
9635
- cursor: pointer;
9636
- font-size: 0.75rem;
9637
- line-height: 0.875rem;
9638
- white-space: nowrap;
9639
- flex-shrink: 0;
9640
- transition: all 0.2s ease-in-out;
9641
- margin: 0 0.25rem 0 0;
9642
- box-sizing: border-box;
9643
-
9644
- &:hover {
9567
+ : theme.palette?.textSecondary};
9568
+ cursor: pointer;
9569
+ font-size: 0.75rem;
9570
+ line-height: 0.875rem;
9571
+ white-space: nowrap;
9572
+ flex-shrink: 0;
9573
+ transition: all 0.2s ease-in-out;
9574
+ margin: 0 0.25rem 0 0;
9575
+ box-sizing: border-box;
9576
+
9577
+ &:hover {
9645
9578
  background-color: ${({ $isActive, $bgColor, theme }) => $isActive
9646
9579
  ? $bgColor || 'inherit'
9647
- : $bgColor || theme.palette?.elementDark};
9648
- }
9580
+ : $bgColor || theme.palette?.elementDark};
9581
+ }
9649
9582
  `;
9650
- const ChipIconWrapper = styled.span `
9651
- display: inline-flex;
9652
- align-items: center;
9653
- justify-content: center;
9654
- width: 0.875rem;
9655
- height: 0.875rem;
9656
- flex-shrink: 0;
9657
-
9658
- svg, img {
9659
- width: 100%;
9660
- height: 100%;
9661
- display: block;
9662
- }
9583
+ const ChipIconWrapper = styled.span `
9584
+ display: inline-flex;
9585
+ align-items: center;
9586
+ justify-content: center;
9587
+ width: 0.875rem;
9588
+ height: 0.875rem;
9589
+ flex-shrink: 0;
9590
+
9591
+ svg, img {
9592
+ width: 100%;
9593
+ height: 100%;
9594
+ display: block;
9595
+ }
9663
9596
  `;
9664
- const ChipText = styled.span `
9665
- overflow: hidden;
9666
- text-overflow: ellipsis;
9667
- white-space: nowrap;
9668
- ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
9597
+ const ChipText = styled.span `
9598
+ overflow: hidden;
9599
+ text-overflow: ellipsis;
9600
+ white-space: nowrap;
9601
+ ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
9669
9602
  `;
9670
9603
 
9671
9604
  const CustomChip = ({ text, icon, color, primary, secondary, error, disabled, isActive, maxTextWidth, fontColor: customFontColor, backgroundColor: customBackgroundColor, ...props }) => {
@@ -9770,7 +9703,7 @@ const ChipsFilter = ({ type, filter, elementConfig, }) => {
9770
9703
  return [];
9771
9704
  const features = dataSource.features;
9772
9705
  return features.map(feature => {
9773
- const attrs = feature.attributes;
9706
+ const attrs = feature.properties;
9774
9707
  const text = attrs[configFilter.attributeAlias || DEFAULT_ATTRIBUTE_NAME];
9775
9708
  const value = attrs[configFilter.attributeValue || DEFAULT_ATTRIBUTE_NAME];
9776
9709
  const chipIcon = iconAttribute
@@ -10475,7 +10408,7 @@ const useDataSources = ({ type: widgetType, config, attributes, filters, layerPa
10475
10408
  const queryResponse = await api.eql.getPagedQueryResult({ saveInHistory: false }, getProps);
10476
10409
  const descriptionResponse = await api.eql.getQueryDescription(getProps);
10477
10410
  return {
10478
- items: queryResponse.items,
10411
+ items: queryResponse.features,
10479
10412
  attributeDefinition: descriptionResponse,
10480
10413
  };
10481
10414
  }
@@ -10523,7 +10456,7 @@ const useDataSources = ({ type: widgetType, config, attributes, filters, layerPa
10523
10456
  !!currentDataSources[index].url ||
10524
10457
  !!currentDataSources[index].resourceId;
10525
10458
  newDataSources[index].layerName = currentDataSources[index].layerName;
10526
- const items = response.status === "rejected" ? null : response.value?.items || response.items;
10459
+ const items = response.status === "rejected" ? null : response.value?.features || response.items;
10527
10460
  newDataSources[index].features =
10528
10461
  response.status === "rejected"
10529
10462
  ? null
@@ -10954,7 +10887,7 @@ const Chart = memo(({ config, element, elementConfig, type, renderElement }) =>
10954
10887
  const attribute = layerInfo?.layerDefinition.attributes[attributeName];
10955
10888
  const dataSource = getDataSource(dataSourceName, dataSources);
10956
10889
  const units = attributeUnits
10957
- ? dataSource?.features?.[0]?.attributes?.[attributeUnits]
10890
+ ? dataSource?.features?.[0]?.properties?.[attributeUnits]
10958
10891
  : attribute?.stringFormat?.unitsLabel;
10959
10892
  const formatValue = attribute
10960
10893
  ? formatAttributeValue({ t, type: attribute.type, value, stringFormat: attribute.stringFormat, noUnits: true })
@@ -11117,8 +11050,8 @@ const Dashboard = memo(({ type = WidgetType.Dashboard, noBorders }) => {
11117
11050
  return (jsx(PagesContainer, { type: type, noBorders: noBorders }));
11118
11051
  });
11119
11052
 
11120
- const CardCheckbox = styled(Checkbox) `
11121
- padding-left: 0.5rem;
11053
+ const CardCheckbox = styled(Checkbox) `
11054
+ padding-left: 0.5rem;
11122
11055
  `;
11123
11056
 
11124
11057
  const DashboardCheckbox = ({ title, checked, onChange, }) => {
@@ -11192,15 +11125,15 @@ const FeatureCardTitle = ({ title, description }) => {
11192
11125
  return (jsxs(HeaderTitleContainer, { children: [jsx(FeatureTitleContainer, { children: jsx(FlexSpan, { children: resultTitle }) }), jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
11193
11126
  };
11194
11127
 
11195
- const HiddenFilters = styled(Flex) `
11196
- flex-wrap: wrap;
11197
- margin-top: -1.25rem;
11198
-
11199
- ${DashboardChip$1} {
11200
- height: 1.5rem;
11201
- margin: 0 0.25rem 0.25rem 0;
11202
- padding: 0 0 0 0.5rem;
11203
- }
11128
+ const HiddenFilters = styled(Flex) `
11129
+ flex-wrap: wrap;
11130
+ margin-top: -1.25rem;
11131
+
11132
+ ${DashboardChip$1} {
11133
+ height: 1.5rem;
11134
+ margin: 0 0.25rem 0.25rem 0;
11135
+ padding: 0 0 0 0.5rem;
11136
+ }
11204
11137
  `;
11205
11138
 
11206
11139
  function spliceValue(filterValue, splicingValue) {
@@ -11386,24 +11319,24 @@ const LogTerminal = ({ log, terminalOptions, className, styles }) => {
11386
11319
  return jsx(TerminalWrapper, { ref: terminalRef, className: className, style: styles });
11387
11320
  };
11388
11321
 
11389
- const PageNavigator = styled(Flex) `
11390
- margin-right: -0.5rem;
11391
- align-items: center;
11392
-
11393
- button {
11394
- width: auto;
11395
- height: 2rem;
11396
- padding: 0 0.5rem;
11397
-
11398
- span[kind]:after {
11399
- color: ${({ theme: { palette } }) => palette.textDisabled};
11400
- transition: color ${transition.hover};
11401
- }
11402
-
11403
- :hover span[kind]:after {
11404
- color: ${({ theme: { palette } }) => palette.textSecondary};
11405
- }
11406
- }
11322
+ const PageNavigator = styled(Flex) `
11323
+ margin-right: -0.5rem;
11324
+ align-items: center;
11325
+
11326
+ button {
11327
+ width: auto;
11328
+ height: 2rem;
11329
+ padding: 0 0.5rem;
11330
+
11331
+ span[kind]:after {
11332
+ color: ${({ theme: { palette } }) => palette.textDisabled};
11333
+ transition: color ${transition.hover};
11334
+ }
11335
+
11336
+ :hover span[kind]:after {
11337
+ color: ${({ theme: { palette } }) => palette.textSecondary};
11338
+ }
11339
+ }
11407
11340
  `;
11408
11341
 
11409
11342
  const Pagination = memo(({ type = WidgetType.Dashboard }) => {
@@ -11412,34 +11345,34 @@ const Pagination = memo(({ type = WidgetType.Dashboard }) => {
11412
11345
  return (jsxs(PageNavigator, { children: [jsx(IconButton, { kind: "prev", onClick: () => prevPage(pages.length) }), jsx(IconButton, { kind: "next", onClick: () => nextPage(pages.length) })] }));
11413
11346
  });
11414
11347
 
11415
- const StyledSvgWidthMixin = css `
11416
- &&& {
11417
- svg {
11418
- width: ${({ $width }) => $width}px;
11419
- }
11420
- }
11348
+ const StyledSvgWidthMixin = css `
11349
+ &&& {
11350
+ svg {
11351
+ width: ${({ $width }) => $width}px;
11352
+ }
11353
+ }
11421
11354
  `;
11422
- const StyledSvgHeightMixin = css `
11423
- &&& {
11424
- svg {
11425
- height: ${({ $height }) => $height}px;
11426
- }
11427
- }
11355
+ const StyledSvgHeightMixin = css `
11356
+ &&& {
11357
+ svg {
11358
+ height: ${({ $height }) => $height}px;
11359
+ }
11360
+ }
11428
11361
  `;
11429
- const StyledSvgColorMixin = css `
11430
- svg {
11431
- path,
11432
- line,
11433
- circle {
11434
- fill: ${({ $fontColor }) => $fontColor} !important;
11435
- }
11436
- }
11362
+ const StyledSvgColorMixin = css `
11363
+ svg {
11364
+ path,
11365
+ line,
11366
+ circle {
11367
+ fill: ${({ $fontColor }) => $fontColor} !important;
11368
+ }
11369
+ }
11437
11370
  `;
11438
- const StyledSvg = styled(Flex) `
11439
- align-items: center;
11440
- ${({ $width }) => !!$width && StyledSvgWidthMixin};
11441
- ${({ $height }) => !!$height && StyledSvgHeightMixin};
11442
- ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11371
+ const StyledSvg = styled(Flex) `
11372
+ align-items: center;
11373
+ ${({ $width }) => !!$width && StyledSvgWidthMixin};
11374
+ ${({ $height }) => !!$height && StyledSvgHeightMixin};
11375
+ ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11443
11376
  `;
11444
11377
 
11445
11378
  const SvgImage = memo(({ url, width, height, fontColor }) => {
@@ -11553,6 +11486,52 @@ const getClientStyleItemPrefixSuffix = (geometryType, itemType) => {
11553
11486
  }
11554
11487
  };
11555
11488
 
11489
+ const findAttributeInExpression = (expression) => {
11490
+ if (Array.isArray(expression) && expression.length === 2 && expression[0] === "get") {
11491
+ return [expression[1]];
11492
+ }
11493
+ return expression.reduce((acc, curr) => {
11494
+ if (!Array.isArray(curr)) {
11495
+ return acc;
11496
+ }
11497
+ if (curr[0] === "get") {
11498
+ return [...new Set([...acc, curr[1]])];
11499
+ }
11500
+ return [...new Set([...acc, ...findAttributeInExpression(curr)])];
11501
+ }, []);
11502
+ };
11503
+
11504
+ const getActualExtrusionHeight = (paint) => {
11505
+ return Array.isArray(paint?.["fill-extrusion-height"]) && paint?.["fill-extrusion-height"][0] === "+"
11506
+ ? paint?.["fill-extrusion-height"][1]
11507
+ : paint?.["fill-extrusion-height"];
11508
+ };
11509
+
11510
+ const extractAttributesFromObject = (obj) => {
11511
+ if (!obj || isEmpty(obj)) {
11512
+ return [];
11513
+ }
11514
+ return Object.entries(obj).reduce((acc, [, value]) => {
11515
+ if (!Array.isArray(value)) {
11516
+ return acc;
11517
+ }
11518
+ return [...new Set([...acc, ...findAttributeInExpression(value)])];
11519
+ }, []);
11520
+ };
11521
+ const parseClientStyle = (style) => {
11522
+ if (!style) {
11523
+ return [];
11524
+ }
11525
+ return style?.items?.reduce((acc, curr) => {
11526
+ const paintAttributes = extractAttributesFromObject(curr.paint);
11527
+ const layoutAttributes = extractAttributesFromObject(curr.layout);
11528
+ const filterAttributes = curr.filter
11529
+ ? findAttributeInExpression(curr.filter)
11530
+ : [];
11531
+ return [...new Set([...acc, ...paintAttributes, ...layoutAttributes, ...filterAttributes])];
11532
+ }, []);
11533
+ };
11534
+
11556
11535
  const VectorLayer = ({ layer, tileUrl, visible, beforeId, getLayerTempStyle, filterVersion, }) => {
11557
11536
  const clientStyle = layer?.configuration?.clientStyle;
11558
11537
  const { idAttribute, geometryType } = layer.layerDefinition || {};
@@ -11707,28 +11686,28 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
11707
11686
  return (jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle, filterVersion: filterVersion }));
11708
11687
  };
11709
11688
 
11710
- const MapWrapper = styled.div `
11711
- position: relative;
11712
- width: 100%;
11713
- height: 100%;
11714
- box-sizing: border-box;
11715
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
11716
-
11717
- .mapbox-gl-draw_trash {
11718
- display: none;
11719
- }
11720
-
11721
- .mapboxgl-ctrl-logo {
11722
- display: none;
11723
- }
11724
-
11725
- .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
11726
- display: none;
11727
- }
11728
-
11729
- .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
11730
- width: 350px;
11731
- }
11689
+ const MapWrapper = styled.div `
11690
+ position: relative;
11691
+ width: 100%;
11692
+ height: 100%;
11693
+ box-sizing: border-box;
11694
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
11695
+
11696
+ .mapbox-gl-draw_trash {
11697
+ display: none;
11698
+ }
11699
+
11700
+ .mapboxgl-ctrl-logo {
11701
+ display: none;
11702
+ }
11703
+
11704
+ .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
11705
+ display: none;
11706
+ }
11707
+
11708
+ .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
11709
+ width: 350px;
11710
+ }
11732
11711
  `;
11733
11712
 
11734
11713
  const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...rest }) => {
@@ -11740,5 +11719,5 @@ const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...res
11740
11719
  }, children: children }), upperSiblings] }));
11741
11720
  };
11742
11721
 
11743
- export { AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttributeGalleryContainer, AttributeLabel, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardGradientHeader, FeatureCardHeader, FeatureCardIconHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, RoundedBackgroundContainer, SERVER_NOTIFICATION_EVENT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TmsType, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, WidgetType, addDataSource, addDataSources, adjustColor, applyFiltersToCondition, applyQueryFilters, applyVarsToCondition, checkEqualOrIncludes, checkIsLoading, convertSpToTurfFeature, createConfigLayer, createConfigPage, createNewPageId, createTreeNode, dateOptions, debounce, decimalOpacityToHex, eqlParametersToPayload, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, getActualExtrusionHeight, getAttributeByName, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDate, getDefaultConfig, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getLayerDefinition, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTemplateNameFromAttribute, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, numberOptions, parseClientStyle, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, useAppHeight, useChartChange, useChartData, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerParams, useMapContext, useMapDraw, useMapImages, useProjectDashboardInit, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
11722
+ export { AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttributeGalleryContainer, AttributeLabel, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardGradientHeader, FeatureCardHeader, FeatureCardIconHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, RoundedBackgroundContainer, SERVER_NOTIFICATION_EVENT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TmsType, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, WidgetType, addDataSource, addDataSources, adjustColor, applyFiltersToCondition, applyQueryFilters, applyVarsToCondition, checkEqualOrIncludes, checkIsLoading, createConfigLayer, createConfigPage, createNewPageId, createTreeNode, dateOptions, debounce, decimalOpacityToHex, eqlParametersToPayload, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, getActualExtrusionHeight, getAttributeByName, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDate, getDefaultConfig, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getLayerDefinition, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTemplateNameFromAttribute, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, numberOptions, parseClientStyle, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, useAppHeight, useChartChange, useChartData, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerParams, useMapContext, useMapDraw, useMapImages, useProjectDashboardInit, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
11744
11723
  //# sourceMappingURL=react.esm.js.map