@evergis/react 3.1.108 → 3.1.110

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
@@ -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) {
@@ -3441,42 +3441,42 @@ const DEFAULT_ID_ATTRIBUTE_NAME = "gid";
3441
3441
  const DEFAULT_DROPDOWN_WIDTH = 312;
3442
3442
  const DEFAULT_FILTER_PADDING = 12;
3443
3443
 
3444
- const StackBarContainer = styled(Flex) `
3445
- flex-wrap: nowrap;
3446
- width: 100%;
3447
- `;
3448
- const StackBarHeader = styled(Flex) `
3449
- justify-content: space-between;
3450
- margin-bottom: 0.375rem;
3451
- font-size: 0.75rem;
3452
- `;
3453
- const StackBarSection = styled.div `
3454
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3455
- width: ${({ $width }) => $width}%;
3456
- height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3457
- margin: 0 0.5px;
3458
- background-color: ${({ $color }) => $color};
3459
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3460
- transition: opacity ${transition.release};
3461
-
3462
- :first-child {
3463
- border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3464
- border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3465
- }
3466
-
3467
- :last-child {
3468
- border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3469
- border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3470
- }
3444
+ const StackBarContainer = styled(Flex) `
3445
+ flex-wrap: nowrap;
3446
+ width: 100%;
3447
+ `;
3448
+ const StackBarHeader = styled(Flex) `
3449
+ justify-content: space-between;
3450
+ margin-bottom: 0.375rem;
3451
+ font-size: 0.75rem;
3452
+ `;
3453
+ const StackBarSection = styled.div `
3454
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3455
+ width: ${({ $width }) => $width}%;
3456
+ height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3457
+ margin: 0 0.5px;
3458
+ background-color: ${({ $color }) => $color};
3459
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3460
+ transition: opacity ${transition.release};
3461
+
3462
+ :first-child {
3463
+ border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3464
+ border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3465
+ }
3466
+
3467
+ :last-child {
3468
+ border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3469
+ border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3470
+ }
3471
3471
  `;
3472
- const StackBarAlias = styled.div `
3473
- color: ${({ theme: { palette } }) => palette.textSecondary};
3472
+ const StackBarAlias = styled.div `
3473
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3474
3474
  `;
3475
3475
  const StackBarTotal = styled(Flex) ``;
3476
3476
  const StackBarValue = styled.div ``;
3477
- const StackBarUnits = styled.div `
3478
- margin-left: 0.25rem;
3479
- color: ${({ theme: { palette } }) => palette.textSecondary};
3477
+ const StackBarUnits = styled.div `
3478
+ margin-left: 0.25rem;
3479
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3480
3480
  `;
3481
3481
 
3482
3482
  const transparentizeColor = (originalColor, percent) => {
@@ -4132,8 +4132,8 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4132
4132
  const customize = useCallback(({ svg }) => {
4133
4133
  svg.style("overflow", "visible");
4134
4134
  svg
4135
- .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4136
- .${lineChartClassNames.lineChartYScaleGlobal} line,
4135
+ .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4136
+ .${lineChartClassNames.lineChartYScaleGlobal} line,
4137
4137
  .domain`)
4138
4138
  .each((_, index, nodes) => {
4139
4139
  nodes[index].remove();
@@ -4190,11 +4190,11 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4190
4190
  .attr("fill", `url(#${gradientId})`)
4191
4191
  .attr("stroke-width", "0")
4192
4192
  .attr("fill-opacity", FILL_OPACITY);
4193
- defs.push(`
4194
- <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4195
- <stop offset="0" stop-color="${color}" stop-opacity="1" />
4196
- <stop offset="1" stop-color="${color}" stop-opacity="0" />
4197
- </linearGradient>
4193
+ defs.push(`
4194
+ <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4195
+ <stop offset="0" stop-color="${color}" stop-opacity="1" />
4196
+ <stop offset="1" stop-color="${color}" stop-opacity="0" />
4197
+ </linearGradient>
4198
4198
  `);
4199
4199
  ref.current = {
4200
4200
  path: newPath,
@@ -4549,104 +4549,104 @@ const formatDataSourceCondition = ({ condition, configFilters, filters, attribut
4549
4549
  : conditionSection.join(splitter);
4550
4550
  };
4551
4551
 
4552
- const DashboardChipsContainer = styled(Flex) `
4553
- flex-wrap: wrap;
4552
+ const DashboardChipsContainer = styled(Flex) `
4553
+ flex-wrap: wrap;
4554
4554
  `;
4555
- const DefaultChipColorMixin = css `
4556
- && {
4557
- color: ${({ theme: { palette } }) => palette.textPrimary};
4558
- }
4559
-
4560
- && > * {
4561
- color: ${({ theme: { palette } }) => palette.textPrimary};
4562
- }
4563
-
4564
- && span[kind]:after {
4565
- color: ${({ theme: { palette } }) => palette.icon};
4566
- }
4555
+ const DefaultChipColorMixin = css `
4556
+ && {
4557
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4558
+ }
4559
+
4560
+ && > * {
4561
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4562
+ }
4563
+
4564
+ && span[kind]:after {
4565
+ color: ${({ theme: { palette } }) => palette.icon};
4566
+ }
4567
4567
  `;
4568
- const CustomChipColorMixin = css `
4569
- && {
4570
- color: ${({ $fontColor }) => $fontColor};
4571
- }
4572
-
4573
- && > * {
4574
- color: ${({ $fontColor }) => $fontColor};
4575
- }
4576
-
4577
- && span[kind]:after {
4578
- color: ${({ $fontColor }) => $fontColor};
4579
- }
4568
+ const CustomChipColorMixin = css `
4569
+ && {
4570
+ color: ${({ $fontColor }) => $fontColor};
4571
+ }
4572
+
4573
+ && > * {
4574
+ color: ${({ $fontColor }) => $fontColor};
4575
+ }
4576
+
4577
+ && span[kind]:after {
4578
+ color: ${({ $fontColor }) => $fontColor};
4579
+ }
4580
+ `;
4581
+ const DashboardChip$1 = styled(Chip) `
4582
+ margin: 0 0.25rem 0.25rem 0;
4583
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4584
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4585
+ white-space: nowrap;
4586
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4587
+ color: ${({ theme: { palette } }) => palette.iconContrast};
4588
+
4589
+ > * {
4590
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4591
+ }
4592
+
4593
+ span[kind] {
4594
+ height: 0.875rem;
4595
+
4596
+ :after {
4597
+ font-size: 0.875rem;
4598
+ }
4599
+ }
4600
+
4601
+ button {
4602
+ width: auto;
4603
+ padding: 0 0.5rem;
4604
+ }
4605
+
4606
+ ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4607
+ ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4580
4608
  `;
4581
- const DashboardChip$1 = styled(Chip) `
4582
- margin: 0 0.25rem 0.25rem 0;
4583
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4584
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4585
- white-space: nowrap;
4586
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4587
- color: ${({ theme: { palette } }) => palette.iconContrast};
4588
-
4589
- > * {
4590
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4591
- }
4592
-
4593
- span[kind] {
4594
- height: 0.875rem;
4595
-
4596
- :after {
4597
- font-size: 0.875rem;
4598
- }
4599
- }
4600
-
4601
- button {
4602
- width: auto;
4603
- padding: 0 0.5rem;
4604
- }
4605
-
4606
- ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4607
- ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4608
- `;
4609
-
4610
- const LayerGroupContainer = styled(Flex) `
4611
- display: flex;
4612
- justify-content: center;
4613
- position: relative;
4614
- flex-direction: column;
4615
- padding: 0 0.25rem 0 1rem;
4616
- box-sizing: border-box;
4617
- transition: opacity ${transition.hover}, background-color ${transition.hover};
4618
- font-family: "NunitoSans", sans-serif;
4619
- `;
4620
- const LayerGroupMain = styled(Flex) `
4621
- flex-direction: row;
4622
- flex-wrap: nowrap;
4623
- align-items: center;
4624
- justify-content: space-between;
4625
- width: 100%;
4626
-
4627
- ${Icon} {
4628
- width: 2rem;
4629
- min-width: 2rem;
4630
- height: 2rem;
4631
- display: inline-flex;
4632
- align-items: center;
4633
- justify-content: center;
4634
- margin-right: 0.75rem;
4635
- }
4636
-
4637
- ${Description} {
4638
- display: flex;
4639
- align-items: center;
4640
- flex-grow: 1;
4641
- width: 100%;
4642
- margin-right: 0.25rem;
4643
- color: ${({ theme }) => theme.palette.textPrimary};
4644
- }
4645
4609
 
4646
- button {
4647
- width: 2.25rem;
4648
- justify-content: flex-start;
4649
- }
4610
+ const LayerGroupContainer = styled(Flex) `
4611
+ display: flex;
4612
+ justify-content: center;
4613
+ position: relative;
4614
+ flex-direction: column;
4615
+ padding: 0 0.25rem 0 1rem;
4616
+ box-sizing: border-box;
4617
+ transition: opacity ${transition.hover}, background-color ${transition.hover};
4618
+ font-family: "NunitoSans", sans-serif;
4619
+ `;
4620
+ const LayerGroupMain = styled(Flex) `
4621
+ flex-direction: row;
4622
+ flex-wrap: nowrap;
4623
+ align-items: center;
4624
+ justify-content: space-between;
4625
+ width: 100%;
4626
+
4627
+ ${Icon} {
4628
+ width: 2rem;
4629
+ min-width: 2rem;
4630
+ height: 2rem;
4631
+ display: inline-flex;
4632
+ align-items: center;
4633
+ justify-content: center;
4634
+ margin-right: 0.75rem;
4635
+ }
4636
+
4637
+ ${Description} {
4638
+ display: flex;
4639
+ align-items: center;
4640
+ flex-grow: 1;
4641
+ width: 100%;
4642
+ margin-right: 0.25rem;
4643
+ color: ${({ theme }) => theme.palette.textPrimary};
4644
+ }
4645
+
4646
+ button {
4647
+ width: 2.25rem;
4648
+ justify-content: flex-start;
4649
+ }
4650
4650
  `;
4651
4651
 
4652
4652
  const customModes = MapboxDraw.modes;
@@ -5526,326 +5526,326 @@ const LayerTree = ({ layers, onlyMainTools }) => {
5526
5526
  return (jsx(DraggableTree, { nodes: nodes, disableDrag: onlyMainTools, options: { pastePlaceholderHeight: "0.0625rem" }, onUpdate: onUpdate }));
5527
5527
  };
5528
5528
 
5529
- const LayersListWrapper = styled(Flex) `
5530
- flex-direction: column;
5531
- height: 100%;
5532
- width: 100%;
5533
- box-sizing: border-box;
5529
+ const LayersListWrapper = styled(Flex) `
5530
+ flex-direction: column;
5531
+ height: 100%;
5532
+ width: 100%;
5533
+ box-sizing: border-box;
5534
5534
  `;
5535
- const LayerListContainer = styled(Flex) `
5536
- flex-grow: 1;
5537
- height: 100%;
5538
- box-sizing: border-box;
5535
+ const LayerListContainer = styled(Flex) `
5536
+ flex-grow: 1;
5537
+ height: 100%;
5538
+ box-sizing: border-box;
5539
5539
  `;
5540
5540
 
5541
- const ElementValueWrapper = styled.div `
5542
- transition: background-color ${transition.toggle};
5543
-
5544
- ${({ noMargin }) => css `
5545
- &&&& {
5546
- margin-bottom: 0;
5547
- }
5548
- `};
5541
+ const ElementValueWrapper = styled.div `
5542
+ transition: background-color ${transition.toggle};
5543
+
5544
+ ${({ noMargin }) => css `
5545
+ &&&& {
5546
+ margin-bottom: 0;
5547
+ }
5548
+ `};
5549
5549
  `;
5550
- const Container = styled(Flex) `
5551
- flex-direction: column;
5552
- width: 100%;
5553
-
5550
+ const Container = styled(Flex) `
5551
+ flex-direction: column;
5552
+ width: 100%;
5553
+
5554
5554
  ${({ isColumn }) => isColumn
5555
- ? css `
5556
- &&& > * {
5557
- justify-content: flex-start;
5558
- }
5559
- > * {
5560
- width: 100%;
5561
-
5562
- :not(:last-child) {
5563
- margin-bottom: 1.5rem;
5564
- }
5565
- }
5555
+ ? css `
5556
+ &&& > * {
5557
+ justify-content: flex-start;
5558
+ }
5559
+ > * {
5560
+ width: 100%;
5561
+
5562
+ :not(:last-child) {
5563
+ margin-bottom: 0.5rem;
5564
+ }
5565
+ }
5566
5566
  `
5567
- : css `
5568
- flex-direction: row;
5569
- justify-content: space-between;
5570
- align-items: center;
5571
- `}
5572
-
5567
+ : css `
5568
+ flex-direction: row;
5569
+ justify-content: space-between;
5570
+ align-items: center;
5571
+ `}
5572
+
5573
5573
  ${({ isTitle }) => isTitle &&
5574
- css `
5575
- &&&& {
5576
- margin-bottom: 0.75rem;
5577
- }
5578
- `}
5579
-
5580
- ${({ noBorders }) => noBorders && css `
5581
- ${ContainerWrapper} {
5582
- box-shadow: none;
5583
- padding: 0;
5584
- }
5585
- `}
5586
- `;
5587
- const ContainerWrapper = styled(Flex) `
5588
- position: relative;
5589
- box-sizing: border-box;
5590
- width: 100%;
5591
- background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5592
- box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5593
- margin-bottom: 2rem;
5594
- padding: 1.5rem;
5595
- border-radius: 0.5rem;
5596
- backdrop-filter: blur(20px);
5597
- color: ${({ theme: { palette } }) => palette.textPrimary};
5598
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
5599
- transition: background-color ${transition.toggle};
5600
-
5601
- ${({ $noMargin }) => $noMargin && css `
5602
- &&&& {
5603
- margin-bottom: 0;
5604
- }
5605
- `}
5606
- `;
5607
- const DashboardChip = styled(Chip) `
5608
- margin: 0 0.25rem 0.25rem 0;
5609
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5610
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5611
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5612
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5613
-
5614
- > * {
5615
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5616
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5617
- }
5618
-
5619
- span[kind]:after {
5620
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
5621
- }
5622
- `;
5623
- const DashboardPlaceholderWrap = styled(Flex) `
5624
- flex-grow: 1;
5625
- flex-direction: column;
5626
- justify-content: center;
5627
- align-items: center;
5628
- width: 100%;
5629
- margin-bottom: 2rem;
5574
+ css `
5575
+ &&&& {
5576
+ margin-bottom: 0.75rem;
5577
+ }
5578
+ `}
5579
+
5580
+ ${({ noBorders }) => noBorders && css `
5581
+ ${ContainerWrapper} {
5582
+ box-shadow: none;
5583
+ padding: 0;
5584
+ }
5585
+ `}
5586
+ `;
5587
+ const ContainerWrapper = styled(Flex) `
5588
+ position: relative;
5589
+ box-sizing: border-box;
5590
+ width: 100%;
5591
+ background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5592
+ box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5593
+ margin-bottom: 2rem;
5594
+ padding: 1.5rem;
5595
+ border-radius: 0.5rem;
5596
+ backdrop-filter: blur(20px);
5597
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5598
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
5599
+ transition: background-color ${transition.toggle};
5600
+
5601
+ ${({ $noMargin }) => $noMargin && css `
5602
+ &&&& {
5603
+ margin-bottom: 0;
5604
+ }
5605
+ `}
5606
+ `;
5607
+ const DashboardChip = styled(Chip) `
5608
+ margin: 0 0.25rem 0.25rem 0;
5609
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5610
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5611
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5612
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5613
+
5614
+ > * {
5615
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5616
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5617
+ }
5618
+
5619
+ span[kind]:after {
5620
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
5621
+ }
5630
5622
  `;
5631
- const DashboardPlaceholder = styled(Flex) `
5632
- flex-direction: column;
5633
- justify-content: center;
5634
- align-items: center;
5635
- margin-top: 2rem;
5636
-
5623
+ const DashboardPlaceholderWrap = styled(Flex) `
5624
+ flex-grow: 1;
5625
+ flex-direction: column;
5626
+ justify-content: center;
5627
+ align-items: center;
5628
+ width: 100%;
5629
+ margin-bottom: 2rem;
5630
+ `;
5631
+ const DashboardPlaceholder = styled(Flex) `
5632
+ flex-direction: column;
5633
+ justify-content: center;
5634
+ align-items: center;
5635
+ margin-top: 2rem;
5636
+
5637
5637
  ${({ isLoading }) => isLoading &&
5638
- css `
5639
- width: 6.25rem;
5640
- `}
5641
-
5642
- &&& > * {
5643
- margin-bottom: 0;
5644
- }
5645
-
5646
- > div {
5647
- width: 100%;
5648
- margin-top: 1rem;
5649
- font-size: 0.75rem;
5650
- text-align: center;
5651
- color: ${({ theme: { palette } }) => palette.textDisabled};
5652
- }
5653
-
5654
- span[kind] {
5655
- width: 2.25rem;
5656
- height: 2.25rem;
5657
- opacity: 0.28;
5658
-
5659
- :after {
5660
- font-size: 32px;
5661
- }
5662
- }
5638
+ css `
5639
+ width: 6.25rem;
5640
+ `}
5641
+
5642
+ &&& > * {
5643
+ margin-bottom: 0;
5644
+ }
5645
+
5646
+ > div {
5647
+ width: 100%;
5648
+ margin-top: 1rem;
5649
+ font-size: 0.75rem;
5650
+ text-align: center;
5651
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5652
+ }
5653
+
5654
+ span[kind] {
5655
+ width: 2.25rem;
5656
+ height: 2.25rem;
5657
+ opacity: 0.28;
5658
+
5659
+ :after {
5660
+ font-size: 32px;
5661
+ }
5662
+ }
5663
5663
  `;
5664
- const DashboardWrapper = styled(Flex) `
5665
- flex-direction: column;
5666
- flex-wrap: nowrap;
5667
- flex-grow: 1;
5668
- width: calc(100% - 3rem);
5669
- height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5670
-
5664
+ const DashboardWrapper = styled(Flex) `
5665
+ flex-direction: column;
5666
+ flex-wrap: nowrap;
5667
+ flex-grow: 1;
5668
+ width: calc(100% - 3rem);
5669
+ height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5670
+
5671
5671
  ${({ hasImage, isPresentationMode }) => hasImage &&
5672
5672
  !isPresentationMode &&
5673
- css `
5674
- margin-top: -0.35rem;
5675
- `}
5676
- `;
5677
- const DashboardContent = styled(Flex) `
5678
- flex-grow: 1;
5679
- width: 100%;
5680
- padding: 1.5rem 1.5rem 2rem;
5681
- overflow-y: auto;
5682
- scrollbar-gutter: stable;
5683
- `;
5684
- const PresentationWrapperCss = css `
5685
- margin-bottom: 0.75rem;
5686
- padding: 1.5rem;
5687
- background-color: ${({ theme: { palette } }) => palette.panelBackground};
5688
- backdrop-filter: blur(10px);
5689
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5690
- box-shadow: ${shadows.raised};
5691
- `;
5692
- const PresentationWrapper = styled.div `
5693
- ${PresentationWrapperCss};
5694
- position: relative;
5695
- z-index: 1;
5696
- `;
5697
- const PresentationPanelWrapper = styled(PresentationWrapper) `
5698
- margin-top: 0.75rem;
5699
- transition: background-color ${transition.toggle};
5700
- `;
5701
- const PresentationHeader = styled.div `
5702
- margin: -1.5rem -1.5rem 0 -1.5rem;
5703
- padding: 1.5rem;
5704
- // background: url(images.presentationHeader) 0 0 no-repeat;
5705
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5706
- transition: background-color ${transition.toggle};
5707
-
5673
+ css `
5674
+ margin-top: -0.35rem;
5675
+ `}
5676
+ `;
5677
+ const DashboardContent = styled(Flex) `
5678
+ flex-grow: 1;
5679
+ width: 100%;
5680
+ padding: 1.5rem 1.5rem 2rem;
5681
+ overflow-y: auto;
5682
+ scrollbar-gutter: stable;
5683
+ `;
5684
+ const PresentationWrapperCss = css `
5685
+ margin-bottom: 0.75rem;
5686
+ padding: 1.5rem;
5687
+ background-color: ${({ theme: { palette } }) => palette.panelBackground};
5688
+ backdrop-filter: blur(10px);
5689
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5690
+ box-shadow: ${shadows.raised};
5691
+ `;
5692
+ const PresentationWrapper = styled.div `
5693
+ ${PresentationWrapperCss};
5694
+ position: relative;
5695
+ z-index: 1;
5696
+ `;
5697
+ const PresentationPanelWrapper = styled(PresentationWrapper) `
5698
+ margin-top: 0.75rem;
5699
+ transition: background-color ${transition.toggle};
5700
+ `;
5701
+ const PresentationHeader = styled.div `
5702
+ margin: -1.5rem -1.5rem 0 -1.5rem;
5703
+ padding: 1.5rem;
5704
+ // background: url(images.presentationHeader) 0 0 no-repeat;
5705
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5706
+ transition: background-color ${transition.toggle};
5707
+
5708
5708
  ${({ image }) => !!image &&
5709
- css `
5710
- padding-top: 7rem;
5711
- `};
5712
- `;
5713
- const PresentationHeaderTools = styled(Flex) `
5714
- justify-content: space-between;
5715
- align-items: center;
5716
- margin-bottom: -0.5rem;
5717
- margin-right: -0.5rem;
5718
-
5719
- span[kind="sun"],
5720
- span[kind="moon"] {
5721
- :after {
5722
- font-size: 0.85rem;
5723
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5724
- }
5725
-
5726
- :hover:after {
5727
- color: ${({ theme: { palette } }) => palette.icon};
5728
- }
5729
- }
5709
+ css `
5710
+ padding-top: 7rem;
5711
+ `};
5712
+ `;
5713
+ const PresentationHeaderTools = styled(Flex) `
5714
+ justify-content: space-between;
5715
+ align-items: center;
5716
+ margin-bottom: -0.5rem;
5717
+ margin-right: -0.5rem;
5718
+
5719
+ span[kind="sun"],
5720
+ span[kind="moon"] {
5721
+ :after {
5722
+ font-size: 0.85rem;
5723
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5724
+ }
5725
+
5726
+ :hover:after {
5727
+ color: ${({ theme: { palette } }) => palette.icon};
5728
+ }
5729
+ }
5730
5730
  `;
5731
- const LayerGroupList = styled(Flex) `
5732
- flex-direction: column;
5733
- height: 100%;
5734
- flex-wrap: nowrap;
5735
- overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5736
- overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5737
- padding: 0 0.125rem 0 0.75rem;
5738
- scrollbar-gutter: stable;
5739
-
5740
- > * {
5741
- flex-grow: 1;
5742
- }
5731
+ const LayerGroupList = styled(Flex) `
5732
+ flex-direction: column;
5733
+ height: 100%;
5734
+ flex-wrap: nowrap;
5735
+ overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5736
+ overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5737
+ padding: 0 0.125rem 0 0.75rem;
5738
+ scrollbar-gutter: stable;
5739
+
5740
+ > * {
5741
+ flex-grow: 1;
5742
+ }
5743
5743
  `;
5744
5744
  const PresentationHeaderButtons = styled(Flex) ``;
5745
- const PresentationPanelContainer = styled.div `
5746
- position: absolute;
5747
- top: 0;
5748
- left: calc(${({ left }) => left || 0}px + 0.75rem);
5749
- bottom: 0;
5750
- z-index: 3;
5751
- display: flex;
5752
- flex-direction: column;
5753
- width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5754
- padding-right: 0.5rem;
5755
- scrollbar-gutter: stable;
5756
- overflow-y: hidden;
5757
-
5758
- :hover {
5759
- overflow-y: auto;
5760
- }
5761
-
5745
+ const PresentationPanelContainer = styled.div `
5746
+ position: absolute;
5747
+ top: 0;
5748
+ left: calc(${({ left }) => left || 0}px + 0.75rem);
5749
+ bottom: 0;
5750
+ z-index: 3;
5751
+ display: flex;
5752
+ flex-direction: column;
5753
+ width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5754
+ padding-right: 0.5rem;
5755
+ scrollbar-gutter: stable;
5756
+ overflow-y: hidden;
5757
+
5758
+ :hover {
5759
+ overflow-y: auto;
5760
+ }
5761
+
5762
5762
  ${({ showLayers }) => !showLayers &&
5763
- css `
5764
- > :first-child {
5765
- padding-bottom: 0;
5766
- }
5767
- `};
5768
-
5769
- ${PresentationHeader} > * {
5770
- position: relative;
5771
- z-index: 2;
5772
- }
5773
-
5774
- /* PaginationWrapper {
5775
- ${PresentationWrapperCss};
5776
- width: calc(100% - 2rem);
5777
- min-height: 8.625rem;
5778
- padding-top: 0.5rem;
5779
- padding-bottom: 0.5rem;
5780
- margin-bottom: 0.75rem;
5781
- }*/
5782
-
5783
- ${DashboardWrapper} {
5784
- width: 100%;
5785
- margin-top: 0;
5786
-
5787
- ${DashboardContent} {
5788
- padding: 0;
5789
- overflow-y: unset;
5790
-
5791
- > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5792
- ${PresentationWrapperCss};
5793
- width: calc(100% - 3rem);
5794
- }
5795
- }
5796
- }
5797
-
5798
- ${DashboardPlaceholder} {
5799
- ${PresentationWrapperCss};
5800
- width: 18.5rem;
5801
- height: 10.75rem;
5802
- }
5803
-
5804
- ${LayerListContainer} {
5805
- height: auto;
5806
- margin: 0 -1.125rem -1.5rem;
5807
- padding: 0;
5808
-
5809
- ${LayerGroupList} {
5810
- padding: 0;
5811
- }
5812
- }
5763
+ css `
5764
+ > :first-child {
5765
+ padding-bottom: 0;
5766
+ }
5767
+ `};
5768
+
5769
+ ${PresentationHeader} > * {
5770
+ position: relative;
5771
+ z-index: 2;
5772
+ }
5773
+
5774
+ /* PaginationWrapper {
5775
+ ${PresentationWrapperCss};
5776
+ width: calc(100% - 2rem);
5777
+ min-height: 8.625rem;
5778
+ padding-top: 0.5rem;
5779
+ padding-bottom: 0.5rem;
5780
+ margin-bottom: 0.75rem;
5781
+ }*/
5782
+
5783
+ ${DashboardWrapper} {
5784
+ width: 100%;
5785
+ margin-top: 0;
5786
+
5787
+ ${DashboardContent} {
5788
+ padding: 0;
5789
+ overflow-y: unset;
5790
+
5791
+ > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5792
+ ${PresentationWrapperCss};
5793
+ width: calc(100% - 3rem);
5794
+ }
5795
+ }
5796
+ }
5797
+
5798
+ ${DashboardPlaceholder} {
5799
+ ${PresentationWrapperCss};
5800
+ width: 18.5rem;
5801
+ height: 10.75rem;
5802
+ }
5803
+
5804
+ ${LayerListContainer} {
5805
+ height: auto;
5806
+ margin: 0 -1.125rem -1.5rem;
5807
+ padding: 0;
5808
+
5809
+ ${LayerGroupList} {
5810
+ padding: 0;
5811
+ }
5812
+ }
5813
5813
  `;
5814
- const DataSourceErrorContainer = styled(Flex) `
5815
- align-items: center;
5816
- justify-content: center;
5817
- flex-wrap: nowrap;
5818
- flex-grow: 1;
5819
- padding: 1rem;
5820
- border: 1px ${({ theme: { palette } }) => palette.element} solid;
5821
- border-radius: 10px;
5822
- font-size: 0.875rem;
5823
- color: ${({ theme: { palette } }) => palette.textDisabled};
5824
-
5825
- span[kind] {
5826
- margin-right: 1rem;
5827
-
5828
- :after {
5829
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5830
- }
5831
- }
5814
+ const DataSourceErrorContainer = styled(Flex) `
5815
+ align-items: center;
5816
+ justify-content: center;
5817
+ flex-wrap: nowrap;
5818
+ flex-grow: 1;
5819
+ padding: 1rem;
5820
+ border: 1px ${({ theme: { palette } }) => palette.element} solid;
5821
+ border-radius: 10px;
5822
+ font-size: 0.875rem;
5823
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5824
+
5825
+ span[kind] {
5826
+ margin-right: 1rem;
5827
+
5828
+ :after {
5829
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5830
+ }
5831
+ }
5832
5832
  `;
5833
- const AttributeLabel = styled(Description) `
5834
- margin-top: 0 !important;
5835
- margin-bottom: ${({ forCheckbox }) => (forCheckbox ? "0.75rem" : "0.25rem")} !important;
5836
- padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5837
- `;
5838
- const FeatureControls = styled(Flex) `
5839
- align-items: center;
5840
- gap: 1rem;
5841
- flex-wrap: nowrap;
5842
- position: relative;
5843
- flex-shrink: 0;
5844
-
5845
- button {
5846
- padding: 0;
5847
- width: auto;
5848
- }
5833
+ const AttributeLabel = styled(Description) `
5834
+ margin-top: 0 !important;
5835
+ margin-bottom: ${({ forCheckbox }) => (forCheckbox ? "0.75rem" : "0.25rem")} !important;
5836
+ padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5837
+ `;
5838
+ const FeatureControls = styled(Flex) `
5839
+ align-items: center;
5840
+ gap: 1rem;
5841
+ flex-wrap: nowrap;
5842
+ position: relative;
5843
+ flex-shrink: 0;
5844
+
5845
+ button {
5846
+ padding: 0;
5847
+ width: auto;
5848
+ }
5849
5849
  `;
5850
5850
 
5851
5851
  const getAttributeByName = (attributeName, attributes) => {
@@ -5926,212 +5926,190 @@ const ContainersGroupContainer = memo(({ elementConfig, type, renderElement }) =
5926
5926
  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 }) }))] }));
5927
5927
  });
5928
5928
 
5929
- const ChartLegendContainer = styled(Flex) `
5930
- flex-direction: column;
5931
- flex-wrap: wrap;
5932
- justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
5933
- `;
5934
- const ChartLegendItem = styled(Flex) `
5935
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
5936
- align-items: center;
5937
- flex-wrap: nowrap;
5938
- width: auto;
5939
- margin-right: 0.375rem;
5940
- margin-bottom: 0.25rem;
5941
- line-height: 0.75rem;
5942
- opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
5943
- `;
5944
- const ChartLegendColor = styled.div `
5945
- width: 0.5rem;
5946
- height: 0.5rem;
5947
- margin-right: 0.375rem;
5948
- background-color: ${({ color }) => color};
5949
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
5950
- `;
5951
- const ChartLegendName = styled.div `
5952
- flex: 1;
5953
- font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
5954
- color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
5955
- `;
5956
-
5957
- const ContainerAlias = styled(Flex) `
5958
- align-items: center;
5959
- flex-wrap: nowrap;
5960
- font-size: 0.75rem;
5961
- color: ${({ theme: { palette } }) => palette.textSecondary};
5962
-
5963
- &&& {
5964
- margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
5965
- }
5966
-
5967
- span[kind] {
5968
- margin-right: 0.5rem;
5969
-
5970
- :after {
5971
- color: ${({ theme: { palette } }) => palette.primary};
5972
- }
5973
- }
5974
- `;
5975
- const ContainerAliasIcon = styled.div `
5976
- margin-right: 0.5rem;
5977
- `;
5978
- const ContainerChart = styled(Flex) `
5979
- justify-content: flex-start;
5980
-
5981
- > * {
5982
- display: flex;
5983
- justify-content: center;
5984
- width: 100%;
5985
- }
5929
+ const ChartLegendContainer = styled(Flex) `
5930
+ flex-direction: column;
5931
+ flex-wrap: wrap;
5932
+ justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
5933
+ `;
5934
+ const ChartLegendItem = styled(Flex) `
5935
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
5936
+ align-items: center;
5937
+ flex-wrap: nowrap;
5938
+ width: auto;
5939
+ margin-right: 0.375rem;
5940
+ margin-bottom: 0.25rem;
5941
+ line-height: 0.75rem;
5942
+ opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
5943
+ `;
5944
+ const ChartLegendColor = styled.div `
5945
+ width: 0.5rem;
5946
+ height: 0.5rem;
5947
+ margin-right: 0.375rem;
5948
+ background-color: ${({ color }) => color};
5949
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
5950
+ `;
5951
+ const ChartLegendName = styled.div `
5952
+ flex: 1;
5953
+ font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
5954
+ color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
5986
5955
  `;
5987
- const ContainerLegend = styled(Flex) ``;
5988
- const ContainerUnits = styled.div `
5989
- margin-left: 0.5rem;
5990
- white-space: nowrap;
5991
- font-size: 0.75rem;
5992
- `;
5993
- const ContainerValue = styled(Flex) `
5994
- justify-content: flex-end;
5995
- align-items: center;
5996
- flex-wrap: nowrap;
5997
- width: 100%;
5998
- font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
5999
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6000
-
6001
- > * {
6002
- width: ${({ column }) => (column ? "100%" : "auto")};
6003
- }
6004
-
6005
- ${ContainerChart}, ${ContainerLegend} {
6006
- width: ${({ column }) => (column ? "100%" : "50%")};
6007
- }
6008
-
6009
- ${ContainerLegend} {
6010
- margin-left: ${({ column }) => (column ? 0 : "1rem")};
6011
- }
6012
5956
 
6013
- ${ChartLegendContainer} {
6014
- flex-direction: ${({ column }) => (column ? "row" : "column")};
6015
- margin-top: ${({ column }) => (column ? "1rem" : 0)};
6016
- }
6017
- `;
6018
- const ColorIconMixin = css `
6019
- :after {
6020
- color: ${({ $fontColor }) => $fontColor} !important;
6021
- }
5957
+ const ContainerAlias = styled(Flex) `
5958
+ align-items: center;
5959
+ flex-wrap: nowrap;
5960
+ font-size: 0.75rem;
5961
+ color: ${({ theme: { palette } }) => palette.textSecondary};
5962
+
5963
+ &&& {
5964
+ margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
5965
+ }
5966
+
5967
+ span[kind] {
5968
+ margin-right: 0.5rem;
5969
+
5970
+ :after {
5971
+ color: ${({ theme: { palette } }) => palette.primary};
5972
+ }
5973
+ }
6022
5974
  `;
6023
- const SizeIconMixin = css `
6024
- :after {
6025
- font-size: ${({ $fontSize }) => $fontSize}px !important;
6026
- }
5975
+ const ContainerAliasIcon = styled.div `
5976
+ margin-right: 0.5rem;
6027
5977
  `;
6028
- const ContainerIcon = styled(Icon) `
6029
- width: auto;
6030
- height: auto;
6031
- margin-bottom: 0.5rem;
6032
- ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6033
- ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6034
- `;
6035
- const SvgContainerColorMixin$1 = css `
6036
- path,
6037
- line,
6038
- circle {
6039
- fill: ${({ $fontColor }) => $fontColor};
6040
- }
5978
+ const ContainerChart = styled(Flex) `
5979
+ justify-content: flex-start;
5980
+
5981
+ > * {
5982
+ display: flex;
5983
+ justify-content: center;
5984
+ width: 100%;
5985
+ }
6041
5986
  `;
6042
- const SvgContainer$1 = styled.div `
6043
- &&& {
6044
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6045
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6046
-
6047
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6048
-
6049
- > * {
6050
- min-width: inherit;
6051
- }
6052
- }
5987
+ const ContainerLegend = styled(Flex) ``;
5988
+ const ContainerUnits = styled.div `
5989
+ margin-left: 0.5rem;
5990
+ white-space: nowrap;
5991
+ font-size: 0.75rem;
5992
+ `;
5993
+ const ContainerValue = styled(Flex) `
5994
+ justify-content: flex-end;
5995
+ align-items: center;
5996
+ flex-wrap: nowrap;
5997
+ width: 100%;
5998
+ font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
5999
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6000
+
6001
+ > * {
6002
+ width: ${({ column }) => (column ? "100%" : "auto")};
6003
+ }
6004
+
6005
+ ${ContainerChart}, ${ContainerLegend} {
6006
+ width: ${({ column }) => (column ? "100%" : "50%")};
6007
+ }
6008
+
6009
+ ${ContainerLegend} {
6010
+ margin-left: ${({ column }) => (column ? 0 : "1rem")};
6011
+ }
6012
+
6013
+ ${ChartLegendContainer} {
6014
+ flex-direction: ${({ column }) => (column ? "row" : "column")};
6015
+ margin-top: ${({ column }) => (column ? "1rem" : 0)};
6016
+ }
6053
6017
  `;
6054
- const TwoColumnContainerWrapper = styled(Flex) `
6055
- width: 100%;
6056
- flex-direction: row;
6057
- flex-wrap: nowrap;
6058
- align-items: center;
6059
-
6060
- > * {
6061
- flex: 1;
6062
- }
6063
-
6064
- > ${ContainerValue} {
6065
- justify-content: flex-end;
6066
-
6067
- > * {
6068
- text-align: right;
6069
- }
6070
- }
6018
+ const ColorIconMixin = css `
6019
+ :after {
6020
+ color: ${({ $fontColor }) => $fontColor} !important;
6021
+ }
6022
+ `;
6023
+ const SizeIconMixin = css `
6024
+ :after {
6025
+ font-size: ${({ $fontSize }) => $fontSize}px !important;
6026
+ }
6027
+ `;
6028
+ const ContainerIcon = styled(Icon) `
6029
+ width: auto;
6030
+ height: auto;
6031
+ margin-bottom: 0.5rem;
6032
+ ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6033
+ ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6034
+ `;
6035
+ const SvgContainerColorMixin$1 = css `
6036
+ path,
6037
+ line,
6038
+ circle {
6039
+ fill: ${({ $fontColor }) => $fontColor};
6040
+ }
6041
+ `;
6042
+ const SvgContainer$1 = styled.div `
6043
+ &&& {
6044
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6045
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6046
+
6047
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6048
+
6049
+ > * {
6050
+ min-width: inherit;
6051
+ }
6052
+ }
6053
+ `;
6054
+ const TwoColumnContainerWrapper = styled(Flex) `
6055
+ width: 100%;
6056
+ flex-direction: row;
6057
+ flex-wrap: nowrap;
6058
+ align-items: center;
6059
+
6060
+ > * {
6061
+ flex: 1;
6062
+ }
6063
+
6064
+ > ${ContainerValue} {
6065
+ justify-content: flex-end;
6066
+
6067
+ > * {
6068
+ text-align: right;
6069
+ }
6070
+ }
6071
6071
  `;
6072
6072
 
6073
- const OneColumnContainer = memo(({ elementConfig, renderElement }) => {
6074
- const { id, options, style } = elementConfig || {};
6075
- const { innerTemplateStyle, hideEmpty } = options || {};
6076
- const value = renderElement({ id: "value" });
6077
- const hasUnits = elementConfig?.children?.some(({ id }) => id === "units");
6078
- if (!value && hideEmpty)
6079
- return null;
6080
- return (jsxs(Container, { id: id, isColumn: true, style: innerTemplateStyle || style, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsxs(ContainerValue, { children: [value, hasUnits && jsx(ContainerUnits, { children: renderElement({ id: "units" }) })] })] }));
6073
+ const BASE_STYLE = {
6074
+ marginBottom: "1rem",
6075
+ };
6076
+ const OneColumnContainer = memo(({ config, elementConfig, type, renderElement }) => {
6077
+ const { getAttributesToRender, renderContainer } = useMultipleAttributesRender(config, elementConfig, type, renderElement);
6078
+ const attributesToRender = getAttributesToRender();
6079
+ if (!attributesToRender.length) {
6080
+ const { id, options, style } = elementConfig || {};
6081
+ const { innerTemplateStyle, hideEmpty } = options || {};
6082
+ const value = renderElement({ id: "value" });
6083
+ const hasUnits = elementConfig?.children?.some(({ id }) => id === "units");
6084
+ if (!value && hideEmpty)
6085
+ return null;
6086
+ return (jsxs(Container, { id: id, isColumn: true, style: { ...BASE_STYLE, ...(innerTemplateStyle || style) }, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsxs(ContainerValue, { children: [value, hasUnits && jsx(ContainerUnits, { children: renderElement({ id: "units" }) })] })] }));
6087
+ }
6088
+ return (jsx(Fragment$1, { children: attributesToRender.map(attribute => {
6089
+ const containerData = renderContainer(attribute);
6090
+ if (!containerData)
6091
+ return null;
6092
+ const { render, hasUnits, id, style } = containerData;
6093
+ return (jsxs(Container, { id: id, isColumn: true, style: { ...BASE_STYLE, ...(elementConfig?.options?.innerTemplateStyle || style) }, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [render({ id: "alias" }), render({ id: "tooltip" })] }), jsxs(ContainerValue, { children: [render({ id: "value" }), hasUnits && jsx(ContainerUnits, { children: render({ id: "units" }) })] })] }, attribute));
6094
+ }) }));
6081
6095
  });
6082
6096
 
6083
6097
  const TwoColumnContainer = memo(({ config, elementConfig, type, renderElement }) => {
6084
- const { selectedTabId, layerInfo, attributes } = useWidgetContext(type);
6085
- const { attributes: renderAttributes } = elementConfig?.options || {};
6086
- const renderContainer = useCallback((attribute) => {
6087
- const { id, options, style, children } = elementConfig || {};
6088
- const { hideEmpty, innerTemplateStyle } = options || {};
6089
- const hasUnits = children?.some(({ id }) => id === "units");
6090
- const iconIndex = children?.findIndex(({ id }) => id === "icon");
6091
- const icon = children?.[iconIndex];
6092
- const hasIcon = !!icon;
6093
- const elementChildren = elementConfig?.children?.map(child => ({
6094
- type: "attributeValue",
6095
- ...child,
6096
- attributeName: attribute,
6097
- options: { noUnits: hasUnits, ...child.options },
6098
- }));
6099
- const attr = attribute
6100
- ? layerInfo?.layerAttributes?.find(({ attributeName }) => attributeName === attribute)
6101
- : null;
6102
- if (hasIcon) {
6103
- elementChildren[iconIndex] = {
6104
- ...elementChildren[iconIndex],
6105
- type: attr?.icon?.type?.toLowerCase(),
6106
- value: attr?.icon?.resourceId || attr?.icon?.url || attr?.icon?.iconName,
6107
- attributeName: null,
6108
- };
6109
- }
6110
- const render = attribute
6111
- ? getRenderElement({
6112
- config,
6113
- elementConfig: {
6114
- ...elementConfig,
6115
- children: elementChildren,
6116
- },
6117
- selectedTabId,
6118
- attributes,
6119
- layerInfo,
6120
- type,
6121
- })
6122
- : renderElement;
6123
- const value = render({ id: "value" });
6124
- if (!value && hideEmpty)
6125
- return null;
6126
- return (jsxs(TwoColumnContainerWrapper, { id: id, style: innerTemplateStyle || style, children: [jsxs(ContainerAlias, { children: [hasIcon && jsx(ContainerAliasIcon, { children: render({ id: "icon" }) }), render({ id: "alias" }), render({ id: "tooltip" })] }), jsxs(ContainerValue, { big: true, children: [value, hasUnits && jsx(ContainerUnits, { children: render({ id: "units" }) })] })] }, attribute));
6127
- }, [attributes, config, getRenderElement, layerInfo, renderElement, selectedTabId, type, elementConfig]);
6128
- return renderAttributes?.length ? (jsx(Fragment$1, { children: renderAttributes.map(attribute => renderContainer(attribute)) })) : (renderContainer());
6098
+ const { getAttributesToRender, renderContainer } = useMultipleAttributesRender(config, elementConfig, type, renderElement);
6099
+ const attributesToRender = getAttributesToRender();
6100
+ return (jsx(Fragment$1, { children: attributesToRender.map(attribute => {
6101
+ const containerData = renderContainer(attribute);
6102
+ if (!containerData)
6103
+ return null;
6104
+ const { render, hasUnits, id, style, hasIcon } = containerData;
6105
+ return (jsxs(TwoColumnContainerWrapper, { id: id, style: style, children: [jsxs(ContainerAlias, { children: [hasIcon && jsx(ContainerAliasIcon, { children: render({ id: "icon" }) }), render({ id: "alias" }), render({ id: "tooltip" })] }), jsxs(ContainerValue, { big: true, children: [render({ id: "value" }), hasUnits && jsx(ContainerUnits, { children: render({ id: "units" }) })] })] }, attribute));
6106
+ }) }));
6129
6107
  });
6130
6108
 
6131
- const InnerContainerWrapper = styled.div `
6132
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6133
- width: ${({ column }) => (column ? "100%" : "auto")};
6134
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6109
+ const InnerContainerWrapper = styled.div `
6110
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6111
+ width: ${({ column }) => (column ? "100%" : "auto")};
6112
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6135
6113
  `;
6136
6114
 
6137
6115
  const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValue, type, index, innerComponent }) => {
@@ -6202,107 +6180,107 @@ const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValu
6202
6180
  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 }) }));
6203
6181
  });
6204
6182
 
6205
- const DataSourceProgressContainerWrapper = styled.div `
6206
- width: 100%;
6183
+ const DataSourceProgressContainerWrapper = styled.div `
6184
+ width: 100%;
6207
6185
  `;
6208
- const ContainerToggler = styled(LegendToggler) `
6209
- width: auto;
6210
- margin-left: -1rem;
6186
+ const ContainerToggler = styled(LegendToggler) `
6187
+ width: auto;
6188
+ margin-left: -1rem;
6211
6189
  `;
6212
6190
 
6213
- const ProgressContainerWrapper = styled(Flex) `
6214
- align-items: center;
6215
- width: 100%;
6216
- margin-bottom: 1rem;
6217
- `;
6218
- const ProgressIcon = styled.div `
6219
- margin-right: 0.5rem;
6220
- `;
6221
- const ProgressContent = styled(Flex) `
6222
- flex: 1;
6223
- flex-direction: column;
6224
- `;
6225
- const ProgressAlias = styled(Flex) `
6226
- flex: 1;
6227
- justify-content: space-between;
6228
- margin-bottom: 0.25rem;
6229
- font-size: 0.75rem;
6230
- color: ${({ theme: { palette } }) => palette.textSecondary};
6231
- `;
6232
- const ProgressValue = styled(Flex) `
6233
- align-items: center;
6234
- width: auto;
6235
- font-size: 1rem;
6236
- color: ${({ theme: { palette } }) => palette.textPrimary};
6191
+ const ProgressContainerWrapper = styled(Flex) `
6192
+ align-items: center;
6193
+ width: 100%;
6194
+ margin-bottom: 1rem;
6237
6195
  `;
6238
- const ProgressInnerValue = styled(ProgressValue) `
6239
- justify-content: flex-end;
6240
- width: 4rem;
6241
- margin-left: 0.5rem;
6196
+ const ProgressIcon = styled.div `
6197
+ margin-right: 0.5rem;
6242
6198
  `;
6243
- const ProgressUnits = styled(Flex) `
6244
- margin-left: 0.25rem;
6245
- font-size: 0.75rem;
6246
- color: ${({ theme: { palette } }) => palette.textSecondary};
6247
- `;
6248
- const ProgressBarWrapper = styled.div `
6249
- flex-grow: 1;
6250
- height: 0.5rem;
6251
- background-color: ${({ theme: { palette } }) => palette.element};
6252
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6199
+ const ProgressContent = styled(Flex) `
6200
+ flex: 1;
6201
+ flex-direction: column;
6253
6202
  `;
6254
- const ProgressBarContainer = styled(Flex) `
6255
- position: relative;
6256
- align-items: center;
6257
- width: 100%;
6258
-
6203
+ const ProgressAlias = styled(Flex) `
6204
+ flex: 1;
6205
+ justify-content: space-between;
6206
+ margin-bottom: 0.25rem;
6207
+ font-size: 0.75rem;
6208
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6209
+ `;
6210
+ const ProgressValue = styled(Flex) `
6211
+ align-items: center;
6212
+ width: auto;
6213
+ font-size: 1rem;
6214
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6215
+ `;
6216
+ const ProgressInnerValue = styled(ProgressValue) `
6217
+ justify-content: flex-end;
6218
+ width: 4rem;
6219
+ margin-left: 0.5rem;
6220
+ `;
6221
+ const ProgressUnits = styled(Flex) `
6222
+ margin-left: 0.25rem;
6223
+ font-size: 0.75rem;
6224
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6225
+ `;
6226
+ const ProgressBarWrapper = styled.div `
6227
+ flex-grow: 1;
6228
+ height: 0.5rem;
6229
+ background-color: ${({ theme: { palette } }) => palette.element};
6230
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6231
+ `;
6232
+ const ProgressBarContainer = styled(Flex) `
6233
+ position: relative;
6234
+ align-items: center;
6235
+ width: 100%;
6236
+
6259
6237
  ${({ innerValue }) => innerValue &&
6260
- css `
6261
- ${ProgressBarWrapper} {
6262
- height: 1.125rem;
6263
- }
6264
-
6265
- ${ProgressInnerValue} {
6266
- z-index: 1;
6267
- position: absolute;
6268
- right: 0.25rem;
6269
- }
6270
- `}
6271
- `;
6272
- const ProgressBar = styled.div `
6273
- width: ${({ $width }) => $width};
6274
- height: inherit;
6275
- background-color: ${({ $color }) => $color || "#a7d759"};
6276
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6277
- `;
6278
- const ProgressTooltipAlias = styled.div `
6279
- margin-bottom: 0.25rem;
6280
- text-align: left;
6281
- color: ${({ theme: { palette } }) => palette.primary};
6238
+ css `
6239
+ ${ProgressBarWrapper} {
6240
+ height: 1.125rem;
6241
+ }
6242
+
6243
+ ${ProgressInnerValue} {
6244
+ z-index: 1;
6245
+ position: absolute;
6246
+ right: 0.25rem;
6247
+ }
6248
+ `}
6249
+ `;
6250
+ const ProgressBar = styled.div `
6251
+ width: ${({ $width }) => $width};
6252
+ height: inherit;
6253
+ background-color: ${({ $color }) => $color || "#a7d759"};
6254
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6255
+ `;
6256
+ const ProgressTooltipAlias = styled.div `
6257
+ margin-bottom: 0.25rem;
6258
+ text-align: left;
6259
+ color: ${({ theme: { palette } }) => palette.primary};
6282
6260
  `;
6283
6261
  const ProgressTooltipValue = styled.div ``;
6284
- const ProgressTooltipValueContainer = styled(Flex) `
6285
- align-items: center;
6286
-
6287
- > * {
6288
- opacity: 0.65;
6289
- }
6290
-
6291
- ${ProgressTooltipValue} {
6292
- opacity: 1;
6293
- }
6262
+ const ProgressTooltipValueContainer = styled(Flex) `
6263
+ align-items: center;
6264
+
6265
+ > * {
6266
+ opacity: 0.65;
6267
+ }
6268
+
6269
+ ${ProgressTooltipValue} {
6270
+ opacity: 1;
6271
+ }
6294
6272
  `;
6295
- const ProgressTooltipValueOf = styled.div `
6296
- margin: 0 0.25rem;
6273
+ const ProgressTooltipValueOf = styled.div `
6274
+ margin: 0 0.25rem;
6297
6275
  `;
6298
- const ProgressTotalTitle = styled.div `
6299
- font-size: 0.75rem;
6300
- font-weight: bold;
6276
+ const ProgressTotalTitle = styled.div `
6277
+ font-size: 0.75rem;
6278
+ font-weight: bold;
6301
6279
  `;
6302
- const ProgressTotal = styled(Flex) `
6303
- align-items: center;
6304
- justify-content: space-between;
6305
- margin-top: 1rem;
6280
+ const ProgressTotal = styled(Flex) `
6281
+ align-items: center;
6282
+ justify-content: space-between;
6283
+ margin-top: 1rem;
6306
6284
  `;
6307
6285
 
6308
6286
  const DataSourceProgressContainer = memo(({ config, elementConfig, type, innerComponent, renderElement }) => {
@@ -6399,166 +6377,166 @@ const DEFAULT_BAR_CHART_MARGINS = {
6399
6377
  right: 0,
6400
6378
  };
6401
6379
 
6402
- const FiltersContainerWrapper = styled(Flex) `
6403
- flex-direction: column;
6404
- padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6405
- background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6406
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6407
-
6408
- ${DropdownField}, input {
6409
- background-color: ${({ theme: { palette } }) => palette.background};
6410
- }
6411
-
6412
- > div:not(:last-child) {
6413
- margin-bottom: 0.5rem;
6414
- }
6415
-
6416
- > label {
6417
- align-items: flex-start;
6418
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6419
-
6420
- &.active {
6421
- color: ${({ $fontColor }) => $fontColor};
6422
-
6423
- svg rect {
6424
- fill: ${({ $fontColor }) => $fontColor} !important;
6425
- }
6426
- }
6427
-
6428
- &:not(:last-child) {
6429
- margin-bottom: 0.75rem;
6430
- }
6431
-
6432
- &:last-child {
6433
- margin-bottom: 0;
6434
- }
6435
- }
6380
+ const FiltersContainerWrapper = styled(Flex) `
6381
+ flex-direction: column;
6382
+ padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6383
+ background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6384
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6385
+
6386
+ ${DropdownField}, input {
6387
+ background-color: ${({ theme: { palette } }) => palette.background};
6388
+ }
6389
+
6390
+ > div:not(:last-child) {
6391
+ margin-bottom: 0.5rem;
6392
+ }
6393
+
6394
+ > label {
6395
+ align-items: flex-start;
6396
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6397
+
6398
+ &.active {
6399
+ color: ${({ $fontColor }) => $fontColor};
6400
+
6401
+ svg rect {
6402
+ fill: ${({ $fontColor }) => $fontColor} !important;
6403
+ }
6404
+ }
6405
+
6406
+ &:not(:last-child) {
6407
+ margin-bottom: 0.75rem;
6408
+ }
6409
+
6410
+ &:last-child {
6411
+ margin-bottom: 0;
6412
+ }
6413
+ }
6436
6414
  `;
6437
- const StyledIconButton = styled(IconButton) `
6438
- width: 0.75rem;
6439
- height: 0.75rem;
6440
-
6441
- span[kind] {
6442
- height: 0.75rem;
6443
-
6444
- :after {
6445
- font-size: 0.75rem;
6446
- }
6447
- }
6415
+ const StyledIconButton = styled(IconButton) `
6416
+ width: 0.75rem;
6417
+ height: 0.75rem;
6418
+
6419
+ span[kind] {
6420
+ height: 0.75rem;
6421
+
6422
+ :after {
6423
+ font-size: 0.75rem;
6424
+ }
6425
+ }
6448
6426
  `;
6449
- const TextFilterContainer = styled.div `
6450
- width: 15.85rem;
6451
-
6452
- ${MultiSelectContainer} {
6453
- color: ${({ theme: { palette } }) => palette.textPrimary};
6454
-
6455
- ${IconButtonButton} {
6456
- span[kind]:after {
6457
- color: ${({ theme: { palette } }) => palette.textPrimary};
6458
- }
6459
- }
6460
- }
6427
+ const TextFilterContainer = styled.div `
6428
+ width: 15.85rem;
6429
+
6430
+ ${MultiSelectContainer} {
6431
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6432
+
6433
+ ${IconButtonButton} {
6434
+ span[kind]:after {
6435
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6436
+ }
6437
+ }
6438
+ }
6461
6439
  `;
6462
- const BarChartContainer = styled.div `
6463
- width: 100%;
6464
- overflow-x: hidden;
6465
-
6440
+ const BarChartContainer = styled.div `
6441
+ width: 100%;
6442
+ overflow-x: hidden;
6443
+
6466
6444
  ${({ barHeight, marginBottom }) => !!barHeight &&
6467
- css `
6468
- .barChartBarGlobal rect {
6469
- height: ${barHeight}px;
6470
- y: calc(100% - ${barHeight + marginBottom}px);
6471
- }
6472
- `}
6473
- `;
6474
- const AnyChartWrapper = styled.div `
6475
- width: 100%;
6476
- height: ${({ height }) => height}px;
6477
- `;
6478
- const BarChartWrapper = styled(AnyChartWrapper) `
6479
- width: 100%;
6480
- margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6481
-
6482
- :hover {
6483
- ${BarChartContainer} {
6484
- overflow-x: auto;
6485
- }
6486
- }
6445
+ css `
6446
+ .barChartBarGlobal rect {
6447
+ height: ${barHeight}px;
6448
+ y: calc(100% - ${barHeight + marginBottom}px);
6449
+ }
6450
+ `}
6451
+ `;
6452
+ const AnyChartWrapper = styled.div `
6453
+ width: 100%;
6454
+ height: ${({ height }) => height}px;
6455
+ `;
6456
+ const BarChartWrapper = styled(AnyChartWrapper) `
6457
+ width: 100%;
6458
+ margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6459
+
6460
+ :hover {
6461
+ ${BarChartContainer} {
6462
+ overflow-x: auto;
6463
+ }
6464
+ }
6487
6465
  `;
6488
- const BarChartFilterHeader = styled(Flex) `
6489
- justify-content: space-between;
6490
- align-items: center;
6491
- height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6492
- padding: 0.25rem 0;
6466
+ const BarChartFilterHeader = styled(Flex) `
6467
+ justify-content: space-between;
6468
+ align-items: center;
6469
+ height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6470
+ padding: 0.25rem 0;
6493
6471
  `;
6494
- const BarChartFilterArrows = styled(Flex) `
6495
- margin-left: -0.5rem;
6496
-
6497
- span[kind] {
6498
- display: flex;
6499
- align-items: center;
6500
-
6501
- :after {
6502
- font-size: 0.75rem;
6503
- }
6504
- }
6472
+ const BarChartFilterArrows = styled(Flex) `
6473
+ margin-left: -0.5rem;
6474
+
6475
+ span[kind] {
6476
+ display: flex;
6477
+ align-items: center;
6478
+
6479
+ :after {
6480
+ font-size: 0.75rem;
6481
+ }
6482
+ }
6505
6483
  `;
6506
- const BarChartFilterSelected = styled.div `
6507
- font-size: 0.75rem;
6508
- font-weight: bold;
6509
- color: ${({ theme: { palette } }) => palette.textPrimary};
6484
+ const BarChartFilterSelected = styled.div `
6485
+ font-size: 0.75rem;
6486
+ font-weight: bold;
6487
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6510
6488
  `;
6511
- styled.div `
6512
- color: ${({ theme: { palette } }) => palette.textSecondary};
6489
+ styled.div `
6490
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6513
6491
  `;
6514
- const BarChart = styled(BarChart$1) `
6515
- .${barChartClassNames.barChartXAxis} {
6516
- .domain,
6517
- line {
6518
- display: none;
6519
- }
6520
-
6521
- .tick {
6522
- text {
6523
- text-anchor: start;
6524
- font-size: 12px;
6525
- color: rgba(48, 69, 79, 0.46);
6526
- }
6527
-
6528
- :last-of-type {
6529
- text {
6530
- text-anchor: end;
6531
- }
6532
- }
6533
- }
6534
- }
6535
-
6536
- .marker {
6537
- font-size: 12px;
6538
- }
6492
+ const BarChart = styled(BarChart$1) `
6493
+ .${barChartClassNames.barChartXAxis} {
6494
+ .domain,
6495
+ line {
6496
+ display: none;
6497
+ }
6498
+
6499
+ .tick {
6500
+ text {
6501
+ text-anchor: start;
6502
+ font-size: 12px;
6503
+ color: rgba(48, 69, 79, 0.46);
6504
+ }
6505
+
6506
+ :last-of-type {
6507
+ text {
6508
+ text-anchor: end;
6509
+ }
6510
+ }
6511
+ }
6512
+ }
6513
+
6514
+ .marker {
6515
+ font-size: 12px;
6516
+ }
6539
6517
  `;
6540
- const TooltipContainer = styled.div `
6541
- position: relative;
6542
- font-size: 0.75rem;
6543
- color: #ffffff;
6544
- margin-bottom: 0.5rem;
6545
- padding: 0.375rem;
6546
- background-color: rgba(0, 0, 0, 1);
6547
- border-radius: 0.25rem;
6548
- box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6549
-
6550
- :before {
6551
- content: "";
6552
- position: absolute;
6553
- bottom: 0;
6554
- left: 50%;
6555
- transform: translate(-50%, 100%);
6556
- width: 0;
6557
- height: 0;
6558
- border-style: solid;
6559
- border-width: 0.25rem 0.1875rem 0 0.1875rem;
6560
- border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6561
- }
6518
+ const TooltipContainer = styled.div `
6519
+ position: relative;
6520
+ font-size: 0.75rem;
6521
+ color: #ffffff;
6522
+ margin-bottom: 0.5rem;
6523
+ padding: 0.375rem;
6524
+ background-color: rgba(0, 0, 0, 1);
6525
+ border-radius: 0.25rem;
6526
+ box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6527
+
6528
+ :before {
6529
+ content: "";
6530
+ position: absolute;
6531
+ bottom: 0;
6532
+ left: 50%;
6533
+ transform: translate(-50%, 100%);
6534
+ width: 0;
6535
+ height: 0;
6536
+ border-style: solid;
6537
+ border-width: 0.25rem 0.1875rem 0 0.1875rem;
6538
+ border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6539
+ }
6562
6540
  `;
6563
6541
 
6564
6542
  const FiltersContainer = memo(({ elementConfig, config, type, renderElement }) => {
@@ -6575,7 +6553,7 @@ const FiltersContainer = memo(({ elementConfig, config, type, renderElement }) =
6575
6553
  }, [config, type]);
6576
6554
  const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
6577
6555
  const selectedItems = useMemo(() => getFilterSelectedItems(filterItems, filters, configFilters), [configFilters, filters, filterItems]);
6578
- return (jsxs(Fragment$1, { children: [jsx(Flex, { mb: !isVisible && selectedItems.length ? "2rem" : 0, children: jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }) }), isLoading && jsx(ContainerLoading, {}), !isLoading && isVisible && (jsx(FiltersContainerWrapper, { id: id, style: style, "$padding": padding, "$bgColor": bgColor, "$fontSize": fontSize, "$fontColor": fontColor, children: filterItems?.map(renderFilter) })), jsx(HiddenTitleItems, { elementConfig: elementConfig, config: config, type: type, filter: filterItems[0].options?.filterName })] }));
6556
+ return (jsxs(Fragment$1, { children: [jsx(Flex, { mb: !isVisible && selectedItems.length ? "2rem" : 0, children: jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }) }), isLoading && jsx(ContainerLoading, {}), !isLoading && isVisible && (jsx(FiltersContainerWrapper, { id: id, style: style, "$padding": padding, "$bgColor": bgColor, "$fontSize": fontSize, "$fontColor": fontColor, children: filterItems?.map(renderFilter) })), jsx(HiddenTitleItems, { elementConfig: elementConfig, config: config, type: type, filter: filterItems[0]?.options?.filterName })] }));
6579
6557
  });
6580
6558
 
6581
6559
  const DefaultAttributesContainer = memo(({ type, renderElement }) => {
@@ -6632,67 +6610,68 @@ const PagesContainer = memo(({ type = WidgetType.Dashboard, noBorders }) => {
6632
6610
  setSelectedTabId,
6633
6611
  type,
6634
6612
  ]);
6613
+ console.info("PagesContainer", config, filteredChildren);
6635
6614
  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 }) }));
6636
6615
  });
6637
6616
 
6638
- const ImageContainerBg$1 = styled.div `
6639
- position: absolute;
6640
- top: 0;
6641
- bottom: 0;
6642
- left: 0;
6643
- right: 0;
6644
-
6645
- img {
6646
- width: 100%;
6647
- height: 100%;
6648
- object-position: center;
6649
- object-fit: cover;
6650
- }
6617
+ const ImageContainerBg$1 = styled.div `
6618
+ position: absolute;
6619
+ top: 0;
6620
+ bottom: 0;
6621
+ left: 0;
6622
+ right: 0;
6623
+
6624
+ img {
6625
+ width: 100%;
6626
+ height: 100%;
6627
+ object-position: center;
6628
+ object-fit: cover;
6629
+ }
6651
6630
  `;
6652
- const ImageContainerTitle = styled.div `
6653
- width: 100%;
6654
- overflow-wrap: break-word;
6655
- font-size: 1rem;
6656
- font-weight: 500;
6657
- `;
6658
- const ImageContainerText = styled.div `
6659
- width: 100%;
6660
- overflow-wrap: break-word;
6661
- margin-top: 0.5rem;
6662
- font-size: 0.75rem;
6663
- `;
6664
- const ImageContainerButton$1 = styled(FlatButton) `
6665
- min-height: 1.5rem;
6666
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6667
- background-color: ${({ theme: { palette } }) => palette.primary};
6668
- text-transform: none;
6669
-
6670
- :hover {
6671
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6672
- }
6631
+ const ImageContainerTitle = styled.div `
6632
+ width: 100%;
6633
+ overflow-wrap: break-word;
6634
+ font-size: 1rem;
6635
+ font-weight: 500;
6636
+ `;
6637
+ const ImageContainerText = styled.div `
6638
+ width: 100%;
6639
+ overflow-wrap: break-word;
6640
+ margin-top: 0.5rem;
6641
+ font-size: 0.75rem;
6642
+ `;
6643
+ const ImageContainerButton$1 = styled(FlatButton) `
6644
+ min-height: 1.5rem;
6645
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6646
+ background-color: ${({ theme: { palette } }) => palette.primary};
6647
+ text-transform: none;
6648
+
6649
+ :hover {
6650
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6651
+ }
6673
6652
  `;
6674
- const ImageContainerWrapper = styled(Flex) `
6675
- flex-direction: column;
6676
- justify-content: flex-end;
6677
- position: relative;
6678
- padding: 1rem;
6679
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6680
- overflow: hidden;
6681
-
6682
- ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6683
- z-index: 1;
6684
- color: ${({ theme: { palette } }) => palette.textContrast};
6685
- }
6686
-
6687
- :after {
6688
- content: "";
6689
- position: absolute;
6690
- top: 0;
6691
- bottom: 0;
6692
- left: 0;
6693
- right: 0;
6694
- background-color: rgba(0, 0, 0, 0.4);
6695
- }
6653
+ const ImageContainerWrapper = styled(Flex) `
6654
+ flex-direction: column;
6655
+ justify-content: flex-end;
6656
+ position: relative;
6657
+ padding: 1rem;
6658
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6659
+ overflow: hidden;
6660
+
6661
+ ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6662
+ z-index: 1;
6663
+ color: ${({ theme: { palette } }) => palette.textContrast};
6664
+ }
6665
+
6666
+ :after {
6667
+ content: "";
6668
+ position: absolute;
6669
+ top: 0;
6670
+ bottom: 0;
6671
+ left: 0;
6672
+ right: 0;
6673
+ background-color: rgba(0, 0, 0, 0.4);
6674
+ }
6696
6675
  `;
6697
6676
 
6698
6677
  const ImageContainer = memo(({ elementConfig, renderElement }) => {
@@ -6700,52 +6679,52 @@ const ImageContainer = memo(({ elementConfig, renderElement }) => {
6700
6679
  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" }) })] }));
6701
6680
  });
6702
6681
 
6703
- const IconContainerWrapper = styled(Flex) `
6704
- flex-direction: column;
6705
- justify-content: center;
6706
- position: relative;
6707
- padding: 0.5rem 1rem 1rem;
6708
- background-color: ${({ theme: { palette } }) => palette.element};
6709
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6710
- overflow: hidden;
6711
- `;
6712
- const IconContainerHeaderWrapper = styled(Flex) `
6713
- justify-content: space-between;
6714
- align-items: center;
6715
- flex-wrap: nowrap;
6716
- width: 100%;
6717
- margin-bottom: 0.25rem;
6718
- `;
6719
- const IconContainerHeader = styled(Flex) `
6720
- align-items: center;
6721
- flex-wrap: nowrap;
6722
- width: 100%;
6723
- margin-right: 0.5rem;
6724
- font-size: 0.875rem;
6725
-
6726
- ${Icon} {
6727
- margin-right: 0.5rem;
6728
-
6729
- :after {
6730
- font-size: 1.15rem;
6731
- color: ${({ theme: { palette } }) => palette.textSecondary};
6732
- }
6733
- }
6682
+ const IconContainerWrapper = styled(Flex) `
6683
+ flex-direction: column;
6684
+ justify-content: center;
6685
+ position: relative;
6686
+ padding: 0.5rem 1rem 1rem;
6687
+ background-color: ${({ theme: { palette } }) => palette.element};
6688
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6689
+ overflow: hidden;
6734
6690
  `;
6735
- const IconContainerTitle = styled(Flex) `
6736
- > * {
6737
- width: 13rem;
6738
- white-space: nowrap;
6739
- overflow: hidden;
6740
- font-weight: bold;
6741
- text-overflow: ellipsis;
6742
- }
6691
+ const IconContainerHeaderWrapper = styled(Flex) `
6692
+ justify-content: space-between;
6693
+ align-items: center;
6694
+ flex-wrap: nowrap;
6695
+ width: 100%;
6696
+ margin-bottom: 0.25rem;
6697
+ `;
6698
+ const IconContainerHeader = styled(Flex) `
6699
+ align-items: center;
6700
+ flex-wrap: nowrap;
6701
+ width: 100%;
6702
+ margin-right: 0.5rem;
6703
+ font-size: 0.875rem;
6704
+
6705
+ ${Icon} {
6706
+ margin-right: 0.5rem;
6707
+
6708
+ :after {
6709
+ font-size: 1.15rem;
6710
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6711
+ }
6712
+ }
6713
+ `;
6714
+ const IconContainerTitle = styled(Flex) `
6715
+ > * {
6716
+ width: 13rem;
6717
+ white-space: nowrap;
6718
+ overflow: hidden;
6719
+ font-weight: bold;
6720
+ text-overflow: ellipsis;
6721
+ }
6743
6722
  `;
6744
- const IconContainerText = styled.div `
6745
- width: 100%;
6746
- overflow-wrap: break-word;
6747
- font-size: 0.75rem;
6748
- color: ${({ theme: { palette } }) => palette.textSecondary};
6723
+ const IconContainerText = styled.div `
6724
+ width: 100%;
6725
+ overflow-wrap: break-word;
6726
+ font-size: 0.75rem;
6727
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6749
6728
  `;
6750
6729
 
6751
6730
  const IconContainer = memo(({ elementConfig, renderElement }) => {
@@ -6768,107 +6747,107 @@ const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent,
6768
6747
  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, {}))] }));
6769
6748
  });
6770
6749
 
6771
- const SvgContainerColorMixin = css `
6772
- path,
6773
- line,
6774
- circle {
6775
- fill: ${({ $fontColor }) => $fontColor};
6776
- }
6750
+ const SvgContainerColorMixin = css `
6751
+ path,
6752
+ line,
6753
+ circle {
6754
+ fill: ${({ $fontColor }) => $fontColor};
6755
+ }
6777
6756
  `;
6778
- const SvgContainer = styled.div `
6779
- &&& {
6780
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6781
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6782
-
6783
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6784
-
6785
- > * {
6786
- min-width: inherit;
6787
- }
6788
- }
6757
+ const SvgContainer = styled.div `
6758
+ &&& {
6759
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6760
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6761
+
6762
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6763
+
6764
+ > * {
6765
+ min-width: inherit;
6766
+ }
6767
+ }
6789
6768
  `;
6790
6769
 
6791
- const ContainerIconTitle = styled(Flex) `
6792
- align-items: center;
6793
- flex-wrap: nowrap;
6794
- flex-shrink: 1;
6795
- flex-grow: 0;
6796
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6797
-
6798
- > div {
6799
- flex-shrink: 1;
6800
- flex-grow: 0;
6801
- width: auto;
6802
- }
6803
-
6804
- ${SvgContainer} {
6805
- flex-shrink: 0;
6806
- flex-grow: 0;
6807
- margin-right: 0.5rem;
6808
- }
6809
-
6810
- svg,
6811
- img,
6812
- span[kind] {
6813
- margin-right: 0.5rem;
6814
- }
6815
-
6770
+ const ContainerIconTitle = styled(Flex) `
6771
+ align-items: center;
6772
+ flex-wrap: nowrap;
6773
+ flex-shrink: 1;
6774
+ flex-grow: 0;
6775
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6776
+
6777
+ > div {
6778
+ flex-shrink: 1;
6779
+ flex-grow: 0;
6780
+ width: auto;
6781
+ }
6782
+
6783
+ ${SvgContainer} {
6784
+ flex-shrink: 0;
6785
+ flex-grow: 0;
6786
+ margin-right: 0.5rem;
6787
+ }
6788
+
6789
+ svg,
6790
+ img,
6791
+ span[kind] {
6792
+ margin-right: 0.5rem;
6793
+ }
6794
+
6816
6795
  ${({ fontColor }) => !!fontColor &&
6817
- css `
6818
- span[kind] {
6819
- color: ${fontColor};
6820
- }
6821
-
6822
- ${SvgContainer} {
6823
- path,
6824
- circle {
6825
- fill: ${fontColor};
6826
- }
6827
- }
6828
- `};
6829
-
6830
- ${LegendToggler} {
6831
- margin-left: 0.25rem;
6832
- }
6833
-
6834
- span[kind="download"] {
6835
- opacity: 0;
6836
- transition: opacity ${transition.hover};
6837
- }
6838
-
6839
- :hover {
6840
- span[kind="download"] {
6841
- opacity: 1;
6842
- }
6843
- }
6796
+ css `
6797
+ span[kind] {
6798
+ color: ${fontColor};
6799
+ }
6800
+
6801
+ ${SvgContainer} {
6802
+ path,
6803
+ circle {
6804
+ fill: ${fontColor};
6805
+ }
6806
+ }
6807
+ `};
6808
+
6809
+ ${LegendToggler} {
6810
+ margin-left: 0.25rem;
6811
+ }
6812
+
6813
+ span[kind="download"] {
6814
+ opacity: 0;
6815
+ transition: opacity ${transition.hover};
6816
+ }
6817
+
6818
+ :hover {
6819
+ span[kind="download"] {
6820
+ opacity: 1;
6821
+ }
6822
+ }
6844
6823
  `;
6845
- const ContainerTitle = styled(Flex) `
6846
- align-items: center;
6847
- justify-content: space-between;
6848
- width: 100%;
6849
-
6850
- > * {
6851
- font-size: 1.125rem;
6852
- font-weight: 500;
6853
- }
6854
-
6855
- ${LegendToggler} {
6856
- padding-right: 0;
6857
- }
6858
-
6824
+ const ContainerTitle = styled(Flex) `
6825
+ align-items: center;
6826
+ justify-content: space-between;
6827
+ width: 100%;
6828
+
6829
+ > * {
6830
+ font-size: 1.125rem;
6831
+ font-weight: 500;
6832
+ }
6833
+
6834
+ ${LegendToggler} {
6835
+ padding-right: 0;
6836
+ }
6837
+
6859
6838
  ${({ simple }) => simple &&
6860
- css `
6861
- justify-content: flex-start;
6862
-
6863
- ${ContainerIconTitle} {
6864
- font-size: 0.75rem;
6865
- }
6866
-
6867
- ${LegendToggler} {
6868
- margin-left: 0;
6869
- padding-left: 0.25rem;
6870
- }
6871
- `}
6839
+ css `
6840
+ justify-content: flex-start;
6841
+
6842
+ ${ContainerIconTitle} {
6843
+ font-size: 0.75rem;
6844
+ }
6845
+
6846
+ ${LegendToggler} {
6847
+ margin-left: 0;
6848
+ padding-left: 0.25rem;
6849
+ }
6850
+ `}
6872
6851
  `;
6873
6852
 
6874
6853
  const TitleContainer = memo(({ containerId, templateName, layerNames, fontColor, expandable, expanded, isVisible, elementConfig, renderElement, type, }) => {
@@ -6942,82 +6921,82 @@ const CameraContainer = memo(({ elementConfig, type, renderElement }) => {
6942
6921
  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 }) })] }))] }));
6943
6922
  });
6944
6923
 
6945
- const TabAnchor = styled.div `
6946
- position: absolute;
6947
- top: -1.5rem;
6948
- right: 0;
6924
+ const TabAnchor = styled.div `
6925
+ position: absolute;
6926
+ top: -1.5rem;
6927
+ right: 0;
6949
6928
  `;
6950
- const TabValue = styled(Flex) `
6951
- flex-wrap: nowrap;
6929
+ const TabValue = styled(Flex) `
6930
+ flex-wrap: nowrap;
6952
6931
  `;
6953
- const noBgMixin = css `
6954
- background-color: transparent;
6955
- border-radius: 0;
6956
- border-bottom: 0.125rem solid
6957
- ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
6958
-
6959
- ${TabValue},
6960
- span[kind] {
6961
- color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6962
- }
6963
-
6964
- &&& svg {
6965
- path,
6966
- line,
6967
- circle {
6968
- fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6969
- }
6970
- }
6971
-
6972
- :not(:last-child) {
6973
- margin-right: 0;
6974
- }
6932
+ const noBgMixin = css `
6933
+ background-color: transparent;
6934
+ border-radius: 0;
6935
+ border-bottom: 0.125rem solid
6936
+ ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
6937
+
6938
+ ${TabValue},
6939
+ span[kind] {
6940
+ color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6941
+ }
6942
+
6943
+ &&& svg {
6944
+ path,
6945
+ line,
6946
+ circle {
6947
+ fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6948
+ }
6949
+ }
6950
+
6951
+ :not(:last-child) {
6952
+ margin-right: 0;
6953
+ }
6975
6954
  `;
6976
- const TabContainer = styled.a `
6977
- display: flex;
6978
- flex-direction: ${({ column }) => (column ? "column" : "row")};
6979
- align-items: center;
6980
- justify-content: center;
6981
- flex-wrap: nowrap;
6982
- padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
6983
- background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
6984
- border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
6985
- text-decoration: none;
6986
-
6987
- :not(:last-child) {
6988
- margin-right: 0.5rem;
6989
- }
6990
-
6991
- ${TabValue} {
6992
- margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
6993
- margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
6994
- font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
6995
- white-space: nowrap;
6996
- }
6997
-
6998
- ${TabValue},
6999
- span[kind] {
7000
- color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7001
- }
7002
-
7003
- ${SvgContainer$1} {
7004
- height: 1rem;
7005
- }
7006
-
7007
- svg,
7008
- img {
7009
- max-width: 1rem;
7010
- max-height: 1rem;
7011
- }
7012
-
7013
- ${({ noBg }) => noBg && noBgMixin};
6955
+ const TabContainer = styled.a `
6956
+ display: flex;
6957
+ flex-direction: ${({ column }) => (column ? "column" : "row")};
6958
+ align-items: center;
6959
+ justify-content: center;
6960
+ flex-wrap: nowrap;
6961
+ padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
6962
+ background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
6963
+ border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
6964
+ text-decoration: none;
6965
+
6966
+ :not(:last-child) {
6967
+ margin-right: 0.5rem;
6968
+ }
6969
+
6970
+ ${TabValue} {
6971
+ margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
6972
+ margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
6973
+ font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
6974
+ white-space: nowrap;
6975
+ }
6976
+
6977
+ ${TabValue},
6978
+ span[kind] {
6979
+ color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
6980
+ }
6981
+
6982
+ ${SvgContainer$1} {
6983
+ height: 1rem;
6984
+ }
6985
+
6986
+ svg,
6987
+ img {
6988
+ max-width: 1rem;
6989
+ max-height: 1rem;
6990
+ }
6991
+
6992
+ ${({ noBg }) => noBg && noBgMixin};
7014
6993
  `;
7015
- const SwiperContainer = styled.div `
7016
- width: 100%;
7017
-
7018
- .swiper-wrapper {
7019
- display: flex;
7020
- }
6994
+ const SwiperContainer = styled.div `
6995
+ width: 100%;
6996
+
6997
+ .swiper-wrapper {
6998
+ display: flex;
6999
+ }
7021
7000
  `;
7022
7001
 
7023
7002
  const TabsContainer = memo(({ elementConfig, type }) => {
@@ -7045,96 +7024,96 @@ const TabsContainer = memo(({ elementConfig, type }) => {
7045
7024
  });
7046
7025
 
7047
7026
  const ContainerIconValue = styled(Flex) ``;
7048
- const RoundedBackgroundContainerWrapper = styled(Flex) `
7049
- position: relative;
7050
- flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7051
- width: 9rem;
7052
- padding: 0.75rem 0.75rem 0.5rem;
7053
- background-color: ${({ theme: { palette } }) => palette.element};
7054
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7055
- flex-wrap: nowrap;
7056
-
7057
- && {
7058
- margin-bottom: 0.5rem;
7059
- }
7060
-
7027
+ const RoundedBackgroundContainerWrapper = styled(Flex) `
7028
+ position: relative;
7029
+ flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7030
+ width: 9rem;
7031
+ padding: 0.75rem 0.75rem 0.5rem;
7032
+ background-color: ${({ theme: { palette } }) => palette.element};
7033
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7034
+ flex-wrap: nowrap;
7035
+
7036
+ && {
7037
+ margin-bottom: 0.5rem;
7038
+ }
7039
+
7061
7040
  ${({ $center }) => $center &&
7062
- css `
7063
- align-items: center;
7064
-
7065
- > * {
7066
- display: flex;
7067
- justify-content: center;
7068
- text-align: center;
7069
- width: 100%;
7070
- }
7071
- `};
7072
-
7041
+ css `
7042
+ align-items: center;
7043
+
7044
+ > * {
7045
+ display: flex;
7046
+ justify-content: center;
7047
+ text-align: center;
7048
+ width: 100%;
7049
+ }
7050
+ `};
7051
+
7073
7052
  ${({ $color }) => $color &&
7074
- css `
7075
- background-color: ${transparentizeColor($color, 6)};
7076
-
7077
- * {
7078
- color: ${$color};
7079
- }
7080
- `};
7081
-
7082
- ${ContainerIcon}, ${SvgContainer$1} {
7083
- margin-bottom: 0.25rem;
7084
- }
7085
-
7053
+ css `
7054
+ background-color: ${transparentizeColor($color, 6)};
7055
+
7056
+ * {
7057
+ color: ${$color};
7058
+ }
7059
+ `};
7060
+
7061
+ ${ContainerIcon}, ${SvgContainer$1} {
7062
+ margin-bottom: 0.25rem;
7063
+ }
7064
+
7086
7065
  ${({ $bigIcon }) => $bigIcon &&
7087
- css `
7088
- ${ContainerIcon}, ${SvgContainer$1} {
7089
- position: absolute;
7090
- top: 0.75rem;
7091
- right: 0.75rem;
7092
- width: 3rem;
7093
- opacity: 0.12;
7094
-
7095
- :after {
7096
- font-size: 3rem;
7097
- }
7098
- }
7099
- `};
7100
-
7101
- ${ContainerIconValue} {
7102
- align-items: center;
7103
- flex-direction: column;
7104
-
7066
+ css `
7067
+ ${ContainerIcon}, ${SvgContainer$1} {
7068
+ position: absolute;
7069
+ top: 0.75rem;
7070
+ right: 0.75rem;
7071
+ width: 3rem;
7072
+ opacity: 0.12;
7073
+
7074
+ :after {
7075
+ font-size: 3rem;
7076
+ }
7077
+ }
7078
+ `};
7079
+
7080
+ ${ContainerIconValue} {
7081
+ align-items: center;
7082
+ flex-direction: column;
7083
+
7105
7084
  ${({ $big }) => $big &&
7106
- css `
7107
- flex-direction: row;
7108
- margin-bottom: 0.5rem;
7109
-
7110
- > * {
7111
- text-align: left;
7112
- }
7113
-
7114
- span[kind] {
7115
- margin-right: 0.5rem;
7116
- }
7117
-
7118
- ${ContainerValue} {
7119
- width: auto;
7120
- }
7121
- `};
7122
- }
7123
-
7124
- ${ContainerValue} {
7125
- flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7126
- justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7127
- align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7128
- line-height: 1;
7129
- }
7130
-
7131
- ${ContainerUnits} {
7132
- margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7133
- }
7134
-
7135
- ${ContainerAlias} {
7136
- margin-top: 0.25rem;
7137
- }
7085
+ css `
7086
+ flex-direction: row;
7087
+ margin-bottom: 0.5rem;
7088
+
7089
+ > * {
7090
+ text-align: left;
7091
+ }
7092
+
7093
+ span[kind] {
7094
+ margin-right: 0.5rem;
7095
+ }
7096
+
7097
+ ${ContainerValue} {
7098
+ width: auto;
7099
+ }
7100
+ `};
7101
+ }
7102
+
7103
+ ${ContainerValue} {
7104
+ flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7105
+ justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7106
+ align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7107
+ line-height: 1;
7108
+ }
7109
+
7110
+ ${ContainerUnits} {
7111
+ margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7112
+ }
7113
+
7114
+ ${ContainerAlias} {
7115
+ margin-top: 0.25rem;
7116
+ }
7138
7117
  `;
7139
7118
 
7140
7119
  const ALIAS_DEFAULT_MAX_LENGTH = 28;
@@ -7181,20 +7160,20 @@ const AddFeatureContainer = memo(({ elementConfig }) => {
7181
7160
  .map(({ options }, index) => (jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
7182
7161
  });
7183
7162
 
7184
- const LayersContainerWrapper = styled(Container) `
7185
- ${DraggableTreeContainer} {
7186
- width: calc(100% + 3rem);
7187
- margin: -0.75rem -1.5rem 0;
7188
- }
7189
-
7190
- ${LayerListContainer} {
7191
- height: auto;
7192
- }
7193
-
7194
- ${LayerGroupList} {
7195
- margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7196
- padding: 0;
7197
- }
7163
+ const LayersContainerWrapper = styled(Container) `
7164
+ ${DraggableTreeContainer} {
7165
+ width: calc(100% + 3rem);
7166
+ margin: -0.75rem -1.5rem 0;
7167
+ }
7168
+
7169
+ ${LayerListContainer} {
7170
+ height: auto;
7171
+ }
7172
+
7173
+ ${LayerGroupList} {
7174
+ margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7175
+ padding: 0;
7176
+ }
7198
7177
  `;
7199
7178
 
7200
7179
  const LayersContainer = memo(({ type, elementConfig, renderElement }) => {
@@ -7229,9 +7208,9 @@ const UploadContainer = memo(({ type, elementConfig, renderElement }) => {
7229
7208
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && renderElement({ id: "uploader", wrap: false })] }));
7230
7209
  });
7231
7210
 
7232
- const StatusBadge = styled(Chip) `
7233
- background-color: ${({ bgColor }) => bgColor};
7234
- color: ${({ theme }) => theme.palette.iconContrast};
7211
+ const StatusBadge = styled(Chip) `
7212
+ background-color: ${({ bgColor }) => bgColor};
7213
+ color: ${({ theme }) => theme.palette.iconContrast};
7235
7214
  `;
7236
7215
 
7237
7216
  const STATUS_TRANSLATION_KEYS = {
@@ -7289,22 +7268,22 @@ var EditGeometryType;
7289
7268
  EditGeometryType["Raster"] = "raster";
7290
7269
  })(EditGeometryType || (EditGeometryType = {}));
7291
7270
 
7292
- const StyledButton = styled(FlatButton) `
7293
- display: flex;
7294
- align-items: center;
7295
-
7296
- ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7297
- transition: background-color ${transition.toggle};
7298
- background-color: ${statusColors[status]};
7299
-
7300
- :hover {
7301
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7302
- }
7303
-
7304
- :active {
7305
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7306
- }
7307
- `}
7271
+ const StyledButton = styled(FlatButton) `
7272
+ display: flex;
7273
+ align-items: center;
7274
+
7275
+ ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7276
+ transition: background-color ${transition.toggle};
7277
+ background-color: ${statusColors[status]};
7278
+
7279
+ :hover {
7280
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7281
+ }
7282
+
7283
+ :active {
7284
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7285
+ }
7286
+ `}
7308
7287
  `;
7309
7288
 
7310
7289
  const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWaiting, isDisabled, onClick }) => {
@@ -7353,9 +7332,9 @@ const EditContainer = ({ type, elementConfig, renderElement }) => {
7353
7332
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), jsxs(Container, { id: id, isColumn: true, style: style, children: [jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsx(ContainerValue, { children: renderElement({ id: "value" }) })] })] }));
7354
7333
  };
7355
7334
 
7356
- const ContainerDivider = styled(Divider) `
7357
- width: 100%;
7358
- border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7335
+ const ContainerDivider = styled(Divider) `
7336
+ width: 100%;
7337
+ border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7359
7338
  `;
7360
7339
 
7361
7340
  const DividerContainer = memo(({ elementConfig, config }) => {
@@ -7395,148 +7374,149 @@ const getContainerComponent = (innerTemplateName) => innerTemplateName ? contain
7395
7374
  var img$3 = "data:image/png;base64,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";
7396
7375
 
7397
7376
  const getMaskColor = (isDark) => (isDark ? "0, 0, 0" : "255, 255, 255");
7398
- const DefaultHeaderContainer = styled(Flex) `
7399
- flex-direction: column;
7400
- position: relative;
7401
- flex-shrink: 0;
7402
- min-height: 8.175rem;
7403
- margin-bottom: -1.5rem;
7404
- padding: 1.5rem 1.5rem 0;
7405
- border-top-left-radius: 0.5rem;
7406
- border-top-right-radius: 0.5rem;
7407
- overflow: hidden;
7408
-
7409
- > * {
7410
- z-index: 1;
7411
- }
7412
-
7413
- &::before {
7414
- content: "";
7415
- position: absolute;
7416
- top: 0;
7417
- left: 0;
7418
- width: 100%;
7419
- height: 100%;
7420
-
7377
+ const DefaultHeaderContainer = styled(Flex) `
7378
+ flex-direction: column;
7379
+ position: relative;
7380
+ flex-shrink: 0;
7381
+ min-height: 8.175rem;
7382
+ margin-bottom: -1.5rem;
7383
+ padding: 1.5rem 1.5rem 0;
7384
+ border-top-left-radius: 0.5rem;
7385
+ border-top-right-radius: 0.5rem;
7386
+ overflow: hidden;
7387
+
7388
+ > * {
7389
+ z-index: 1;
7390
+ }
7391
+
7392
+ &::before {
7393
+ content: "";
7394
+ position: absolute;
7395
+ top: 0;
7396
+ left: 0;
7397
+ width: 100%;
7398
+ height: 100%;
7399
+
7421
7400
  ${({ image, isDark }) => image
7422
- ? css `
7423
- background: url(${image}) 0 0 no-repeat;
7424
- background-size: cover;
7401
+ ? css `
7402
+ background: url(${image}) 0 0 no-repeat;
7403
+ background-size: cover;
7425
7404
  `
7426
- : css `
7427
- background: url(${img$3}) 50% 0 no-repeat;
7428
- opacity: ${isDark ? 1 : 0.5};
7429
- `}
7430
- }
7431
-
7405
+ : css `
7406
+ background: url(${img$3}) 50% 0 no-repeat;
7407
+ opacity: ${isDark ? 1 : 0.5};
7408
+ `}
7409
+ }
7410
+
7432
7411
  ${({ image, isDark }) => image &&
7433
- css `
7434
- &::before {
7435
- -webkit-mask-image: linear-gradient(
7436
- to bottom,
7437
- rgba(${getMaskColor(isDark)}, 1),
7438
- rgba(${getMaskColor(isDark)}, 0)
7439
- );
7440
- mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
7441
- }
7442
- `}
7443
- ${LinearProgress} {
7444
- position: absolute;
7445
- top: 0;
7446
- left: 0;
7447
- }
7412
+ css `
7413
+ &::before {
7414
+ -webkit-mask-image: linear-gradient(
7415
+ to bottom,
7416
+ rgba(${getMaskColor(isDark)}, 1),
7417
+ rgba(${getMaskColor(isDark)}, 0)
7418
+ );
7419
+ mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
7420
+ }
7421
+ `}
7422
+ ${LinearProgress} {
7423
+ position: absolute;
7424
+ top: 0;
7425
+ left: 0;
7426
+ }
7448
7427
  `;
7449
- const TopContainer = styled(Flex) `
7450
- z-index: 1;
7451
- position: relative;
7452
- justify-content: space-between;
7453
- flex-wrap: nowrap;
7454
- width: 100%;
7455
- align-items: flex-start;
7456
- `;
7457
- const TopContainerButtons = styled(Flex) `
7458
- align-items: center;
7459
- width: auto;
7460
- margin-right: -0.5rem;
7461
-
7462
- button {
7463
- width: auto;
7464
- height: 1rem;
7465
- padding: 0 0.5rem;
7466
- }
7428
+ const TopContainer = styled(Flex) `
7429
+ z-index: 1;
7430
+ position: relative;
7431
+ justify-content: space-between;
7432
+ flex-wrap: nowrap;
7433
+ width: 100%;
7434
+ align-items: flex-start;
7435
+ `;
7436
+ const TopContainerButtons = styled(Flex) `
7437
+ align-items: center;
7438
+ width: auto;
7439
+ margin-right: -0.5rem;
7440
+
7441
+ button {
7442
+ width: auto;
7443
+ height: 1rem;
7444
+ padding: 0 0.5rem;
7445
+ }
7467
7446
  `;
7468
- const LogoContainer = styled(Flex) `
7469
- max-width: calc(100% - 1.4rem);
7470
- flex-grow: 1;
7471
- font-size: 0;
7472
-
7473
- & > span::after {
7474
- font-size: 2rem;
7475
- }
7476
-
7477
- img {
7478
- max-height: 1.875rem;
7479
- }
7447
+ const LogoContainer = styled(Flex) `
7448
+ max-width: calc(100% - 1.4rem);
7449
+ max-height: 1.875rem;
7450
+ flex-grow: 1;
7451
+ font-size: 0;
7452
+
7453
+ & > span::after {
7454
+ font-size: 2rem;
7455
+ }
7456
+
7457
+ img {
7458
+ max-height: 1.875rem;
7459
+ }
7480
7460
  `;
7481
- const PageTitle = styled(H2) `
7482
- cursor: pointer;
7483
- text-align: left;
7484
- flex: 1 1 auto;
7485
- min-width: 0;
7486
- margin: 0;
7487
- font-size: 1.25rem;
7488
- font-weight: 600;
7489
- pointer-events: initial;
7490
- font-family: "Nunito Sans", serif;
7491
-
7492
- > * {
7493
- white-space: nowrap;
7494
- overflow: hidden;
7495
- text-overflow: ellipsis;
7496
- }
7461
+ const PageTitle = styled(H2) `
7462
+ cursor: pointer;
7463
+ text-align: left;
7464
+ flex: 1 1 auto;
7465
+ min-width: 0;
7466
+ margin: 0;
7467
+ font-size: 1.25rem;
7468
+ font-weight: 600;
7469
+ pointer-events: initial;
7470
+ font-family: "Nunito Sans", serif;
7471
+
7472
+ > * {
7473
+ white-space: nowrap;
7474
+ overflow: hidden;
7475
+ text-overflow: ellipsis;
7476
+ }
7497
7477
  `;
7498
- const PageTitleContainer = styled(Flex) `
7499
- flex-grow: 1;
7500
- align-items: center;
7501
-
7502
- ${PageTitle} {
7503
- max-width: 15.75rem;
7504
- }
7505
-
7506
- &&& button {
7507
- width: 0;
7508
- overflow: hidden;
7509
-
7510
- span[kind] {
7511
- display: flex;
7512
- align-items: center;
7513
- justify-content: center;
7514
- width: 0.75rem;
7515
-
7516
- :after {
7517
- font-size: 0.75rem;
7518
- color: ${({ theme: { palette } }) => palette.textDisabled};
7519
- transition: color ${transition.hover};
7520
- }
7521
- }
7522
-
7523
- &:hover,
7524
- &:active {
7525
- span[kind]:after {
7526
- color: ${({ theme: { palette } }) => palette.textPrimary};
7527
- }
7528
- }
7529
- }
7530
-
7531
- :hover {
7532
- ${PageTitle} {
7533
- max-width: 14.25rem;
7534
- }
7535
-
7536
- &&& button {
7537
- width: 1.5rem;
7538
- }
7539
- }
7478
+ const PageTitleContainer = styled(Flex) `
7479
+ flex-grow: 1;
7480
+ align-items: center;
7481
+
7482
+ ${PageTitle} {
7483
+ max-width: 15.75rem;
7484
+ }
7485
+
7486
+ &&& button {
7487
+ width: 0;
7488
+ overflow: hidden;
7489
+
7490
+ span[kind] {
7491
+ display: flex;
7492
+ align-items: center;
7493
+ justify-content: center;
7494
+ width: 0.75rem;
7495
+
7496
+ :after {
7497
+ font-size: 0.75rem;
7498
+ color: ${({ theme: { palette } }) => palette.textDisabled};
7499
+ transition: color ${transition.hover};
7500
+ }
7501
+ }
7502
+
7503
+ &:hover,
7504
+ &:active {
7505
+ span[kind]:after {
7506
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7507
+ }
7508
+ }
7509
+ }
7510
+
7511
+ :hover {
7512
+ ${PageTitle} {
7513
+ max-width: 14.25rem;
7514
+ }
7515
+
7516
+ &&& button {
7517
+ width: 1.5rem;
7518
+ }
7519
+ }
7540
7520
  `;
7541
7521
 
7542
7522
  const DashboardDefaultHeader = memo(() => {
@@ -7546,87 +7526,87 @@ const DashboardDefaultHeader = memo(() => {
7546
7526
  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, {}) })] }) }) }) })] })] }));
7547
7527
  });
7548
7528
 
7549
- const HeaderFrontView = styled(Flex) `
7550
- z-index: 10;
7551
- position: relative;
7552
- justify-content: space-between;
7553
- align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7554
- width: 100%;
7555
- font: ${({ theme: { fonts } }) => fonts.subtitle};
7556
- `;
7557
- const HeaderContainer = styled(FlexSpan) `
7558
- display: flex;
7559
- flex-grow: 1;
7560
- flex-wrap: nowrap;
7561
- width: calc(100% - 48px);
7562
- `;
7563
- const FeatureTitleContainer = styled.div `
7564
- display: -webkit-box;
7565
- max-width: 100%;
7566
- width: 100%;
7567
- margin: 0.5rem 0;
7568
- -webkit-line-clamp: 2;
7569
- -webkit-box-orient: vertical;
7570
- overflow: hidden;
7571
- text-overflow: ellipsis;
7572
- color: ${({ theme: { palette } }) => palette.textPrimary};
7573
-
7574
- & > ${FlexSpan} {
7575
- cursor: ${({ clickable }) => clickable && "pointer"};
7576
-
7577
- &:hover {
7578
- color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7579
- }
7580
- }
7529
+ const HeaderFrontView = styled(Flex) `
7530
+ z-index: 10;
7531
+ position: relative;
7532
+ justify-content: space-between;
7533
+ align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7534
+ width: 100%;
7535
+ font: ${({ theme: { fonts } }) => fonts.subtitle};
7536
+ `;
7537
+ const HeaderContainer = styled(FlexSpan) `
7538
+ display: flex;
7539
+ flex-grow: 1;
7540
+ flex-wrap: nowrap;
7541
+ width: calc(100% - 48px);
7542
+ `;
7543
+ const FeatureTitleContainer = styled.div `
7544
+ display: -webkit-box;
7545
+ max-width: 100%;
7546
+ width: 100%;
7547
+ margin: 0.5rem 0;
7548
+ -webkit-line-clamp: 2;
7549
+ -webkit-box-orient: vertical;
7550
+ overflow: hidden;
7551
+ text-overflow: ellipsis;
7552
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7553
+
7554
+ & > ${FlexSpan} {
7555
+ cursor: ${({ clickable }) => clickable && "pointer"};
7556
+
7557
+ &:hover {
7558
+ color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7559
+ }
7560
+ }
7581
7561
  `;
7582
- const LayerDescription = styled(Description) `
7583
- width: calc(100% - 4rem);
7584
- display: -webkit-box;
7585
- -webkit-line-clamp: 2;
7586
- -webkit-box-orient: vertical;
7587
- overflow: hidden;
7588
- text-overflow: ellipsis;
7562
+ const LayerDescription = styled(Description) `
7563
+ width: calc(100% - 4rem);
7564
+ display: -webkit-box;
7565
+ -webkit-line-clamp: 2;
7566
+ -webkit-box-orient: vertical;
7567
+ overflow: hidden;
7568
+ text-overflow: ellipsis;
7589
7569
  `;
7590
- const HeaderTitleContainer = styled(Flex) `
7591
- flex-direction: column;
7592
- width: 100%;
7570
+ const HeaderTitleContainer = styled(Flex) `
7571
+ flex-direction: column;
7572
+ width: 100%;
7593
7573
  `;
7594
- const RowHeaderMixin = css `
7595
- &&& {
7596
- min-height: auto;
7597
-
7598
- ${FeatureTitleContainer}, ${LayerDescription} {
7599
- text-align: left;
7600
- }
7601
- }
7602
-
7603
- ${HeaderContainer} {
7604
- flex-direction: row;
7605
- }
7606
-
7607
- ${FeatureTitleContainer} {
7608
- max-width: calc(100% - 3.8rem);
7609
- }
7574
+ const RowHeaderMixin = css `
7575
+ &&& {
7576
+ min-height: auto;
7577
+
7578
+ ${FeatureTitleContainer}, ${LayerDescription} {
7579
+ text-align: left;
7580
+ }
7581
+ }
7582
+
7583
+ ${HeaderContainer} {
7584
+ flex-direction: row;
7585
+ }
7586
+
7587
+ ${FeatureTitleContainer} {
7588
+ max-width: calc(100% - 3.8rem);
7589
+ }
7610
7590
  `;
7611
- const Header = styled(Flex) `
7612
- z-index: 1;
7613
- position: relative;
7614
- top: 0;
7615
- flex-shrink: 0;
7616
- overflow: hidden;
7617
- width: 100%;
7618
- padding: 0.5rem;
7619
-
7620
- ${HeaderContainer} {
7621
- flex-direction: column;
7622
- }
7623
-
7624
- ${({ $isRow }) => $isRow && RowHeaderMixin};
7591
+ const Header = styled(Flex) `
7592
+ z-index: 1;
7593
+ position: relative;
7594
+ top: 0;
7595
+ flex-shrink: 0;
7596
+ overflow: hidden;
7597
+ width: 100%;
7598
+ padding: 0.5rem;
7599
+
7600
+ ${HeaderContainer} {
7601
+ flex-direction: column;
7602
+ }
7603
+
7604
+ ${({ $isRow }) => $isRow && RowHeaderMixin};
7625
7605
  `;
7626
- const DefaultHeaderWrapper = styled.div `
7627
- ${Header} {
7628
- padding: 0 1.5rem 1.5rem 0;
7629
- }
7606
+ const DefaultHeaderWrapper = styled.div `
7607
+ ${Header} {
7608
+ padding: 0 1.5rem 1.5rem 0;
7609
+ }
7630
7610
  `;
7631
7611
 
7632
7612
  const HeaderTitle = ({ noFeature }) => {
@@ -7654,22 +7634,22 @@ const HeaderTitle = ({ noFeature }) => {
7654
7634
  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 })] }));
7655
7635
  };
7656
7636
 
7657
- const LayerIconContainer = styled.div `
7658
- display: flex;
7659
- align-items: center;
7660
- margin-right: 0.75rem;
7637
+ const LayerIconContainer = styled.div `
7638
+ display: flex;
7639
+ align-items: center;
7640
+ margin-right: 0.75rem;
7661
7641
  `;
7662
- const AlertIconContainer = styled(Flex) `
7663
- align-items: center;
7664
- justify-content: center;
7665
- width: 2rem;
7666
- height: 2rem;
7667
-
7668
- ${Icon} {
7669
- :after {
7670
- color: ${({ theme: { palette } }) => palette.error};
7671
- }
7672
- }
7642
+ const AlertIconContainer = styled(Flex) `
7643
+ align-items: center;
7644
+ justify-content: center;
7645
+ width: 2rem;
7646
+ height: 2rem;
7647
+
7648
+ ${Icon} {
7649
+ :after {
7650
+ color: ${({ theme: { palette } }) => palette.error};
7651
+ }
7652
+ }
7673
7653
  `;
7674
7654
 
7675
7655
  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";
@@ -7702,54 +7682,54 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
7702
7682
  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, {})] }) }) }));
7703
7683
  };
7704
7684
 
7705
- const HeaderFontColorMixin$1 = css `
7706
- ${HeaderTitleContainer}, ${LayerDescription} {
7707
- color: ${({ $fontColor }) => $fontColor};
7708
- }
7685
+ const HeaderFontColorMixin$1 = css `
7686
+ ${HeaderTitleContainer}, ${LayerDescription} {
7687
+ color: ${({ $fontColor }) => $fontColor};
7688
+ }
7709
7689
  `;
7710
- const HeaderWrapperMixin$1 = css `
7711
- ${Header} {
7712
- min-height: 5.25rem;
7713
- }
7714
-
7715
- ${HeaderContainer} {
7716
- max-width: 100%;
7717
- width: 100%;
7718
- }
7719
-
7720
- ${FeatureControls} {
7721
- max-width: calc(100% - 2rem);
7722
- width: calc(100% - 2rem);
7723
- margin-top: -0.5rem;
7724
- padding-top: 1rem;
7725
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7726
- }
7727
-
7728
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
7690
+ const HeaderWrapperMixin$1 = css `
7691
+ ${Header} {
7692
+ min-height: 5.25rem;
7693
+ }
7694
+
7695
+ ${HeaderContainer} {
7696
+ max-width: 100%;
7697
+ width: 100%;
7698
+ }
7699
+
7700
+ ${FeatureControls} {
7701
+ max-width: calc(100% - 2rem);
7702
+ width: calc(100% - 2rem);
7703
+ margin-top: -0.5rem;
7704
+ padding-top: 1rem;
7705
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7706
+ }
7707
+
7708
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
7729
7709
  `;
7730
- const GradientHeaderWrapper = styled.div `
7731
- ${Header} {
7732
- background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
7733
- }
7734
-
7735
- ${HeaderContainer} {
7736
- align-items: center;
7737
- }
7738
-
7739
- ${HeaderTitleContainer} {
7740
- margin-left: 0;
7741
- text-align: center;
7742
- }
7743
-
7744
- ${FeatureTitleContainer} {
7745
- text-align: center;
7746
- }
7747
-
7748
- ${LayerDescription} {
7749
- text-align: center;
7750
- }
7751
-
7752
- ${HeaderWrapperMixin$1};
7710
+ const GradientHeaderWrapper = styled.div `
7711
+ ${Header} {
7712
+ background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
7713
+ }
7714
+
7715
+ ${HeaderContainer} {
7716
+ align-items: center;
7717
+ }
7718
+
7719
+ ${HeaderTitleContainer} {
7720
+ margin-left: 0;
7721
+ text-align: center;
7722
+ }
7723
+
7724
+ ${FeatureTitleContainer} {
7725
+ text-align: center;
7726
+ }
7727
+
7728
+ ${LayerDescription} {
7729
+ text-align: center;
7730
+ }
7731
+
7732
+ ${HeaderWrapperMixin$1};
7753
7733
  `;
7754
7734
 
7755
7735
  const FeatureCardGradientHeader = ({ isRow }) => {
@@ -7768,80 +7748,80 @@ const FeatureCardGradientHeader = ({ isRow }) => {
7768
7748
  }) })] }), jsx(FeatureCardButtons, {})] }) }) }) }));
7769
7749
  };
7770
7750
 
7771
- const HeaderFontColorMixin = css `
7772
- ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
7773
- color: ${({ $fontColor }) => $fontColor};
7774
- }
7775
- `;
7776
- const HeaderWrapperMixin = css `
7777
- ${Header} {
7778
- min-height: 5.25rem;
7779
- }
7780
-
7781
- ${HeaderContainer} {
7782
- max-width: 100%;
7783
- width: 100%;
7784
- }
7785
-
7786
- ${FeatureControls} {
7787
- max-width: calc(100% - 2rem);
7788
- width: calc(100% - 2rem);
7789
- margin-top: -0.5rem;
7790
- padding-top: 1rem;
7791
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7792
- }
7793
-
7794
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
7751
+ const HeaderFontColorMixin = css `
7752
+ ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
7753
+ color: ${({ $fontColor }) => $fontColor};
7754
+ }
7795
7755
  `;
7796
- const HeaderIcon = styled(Flex) `
7797
- position: absolute;
7798
- top: 0;
7799
- right: 0;
7800
- justify-content: flex-end;
7801
- align-items: center;
7802
- min-width: 7.5rem;
7803
- height: 100%;
7804
-
7805
- span[kind]:after {
7806
- font-size: 7.5rem;
7807
- }
7808
-
7809
- span[kind]:after,
7810
- path,
7811
- line,
7812
- circle {
7813
- fill: rgba(255, 255, 255, 0.36);
7814
- }
7815
-
7816
- && > * {
7817
- display: flex;
7818
- align-items: center;
7819
- height: 100%;
7820
- }
7756
+ const HeaderWrapperMixin = css `
7757
+ ${Header} {
7758
+ min-height: 5.25rem;
7759
+ }
7760
+
7761
+ ${HeaderContainer} {
7762
+ max-width: 100%;
7763
+ width: 100%;
7764
+ }
7765
+
7766
+ ${FeatureControls} {
7767
+ max-width: calc(100% - 2rem);
7768
+ width: calc(100% - 2rem);
7769
+ margin-top: -0.5rem;
7770
+ padding-top: 1rem;
7771
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7772
+ }
7773
+
7774
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
7775
+ `;
7776
+ const HeaderIcon = styled(Flex) `
7777
+ position: absolute;
7778
+ top: 0;
7779
+ right: 0;
7780
+ justify-content: flex-end;
7781
+ align-items: center;
7782
+ min-width: 7.5rem;
7783
+ height: 100%;
7784
+
7785
+ span[kind]:after {
7786
+ font-size: 7.5rem;
7787
+ }
7788
+
7789
+ span[kind]:after,
7790
+ path,
7791
+ line,
7792
+ circle {
7793
+ fill: rgba(255, 255, 255, 0.36);
7794
+ }
7795
+
7796
+ && > * {
7797
+ display: flex;
7798
+ align-items: center;
7799
+ height: 100%;
7800
+ }
7821
7801
  `;
7822
- const BigIconHeaderMixin = css `
7823
- ${HeaderIcon} {
7824
- min-width: 14rem;
7825
- right: -3rem;
7826
-
7827
- span[kind]:after {
7828
- font-size: 14rem;
7829
- }
7830
- }
7802
+ const BigIconHeaderMixin = css `
7803
+ ${HeaderIcon} {
7804
+ min-width: 14rem;
7805
+ right: -3rem;
7806
+
7807
+ span[kind]:after {
7808
+ font-size: 14rem;
7809
+ }
7810
+ }
7831
7811
  `;
7832
- const IconHeaderWrapper = styled.div `
7833
- ${Header} {
7834
- width: calc(100% + 1.5rem);
7835
- margin: -1.5rem -1.5rem 0 -1.5rem;
7836
- padding: 1.5rem;
7837
- border-top-left-radius: 0.5rem;
7838
- border-top-right-radius: 0.5rem;
7839
- background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
7840
- }
7841
-
7842
- ${HeaderWrapperMixin};
7843
-
7844
- ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
7812
+ const IconHeaderWrapper = styled.div `
7813
+ ${Header} {
7814
+ width: calc(100% + 1.5rem);
7815
+ margin: -1.5rem -1.5rem 0 -1.5rem;
7816
+ padding: 1.5rem;
7817
+ border-top-left-radius: 0.5rem;
7818
+ border-top-right-radius: 0.5rem;
7819
+ background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
7820
+ }
7821
+
7822
+ ${HeaderWrapperMixin};
7823
+
7824
+ ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
7845
7825
  `;
7846
7826
 
7847
7827
  const FeatureCardIconHeader = ({ isRow }) => {
@@ -7863,15 +7843,15 @@ const FeatureCardIconHeader = ({ isRow }) => {
7863
7843
  }) })] }) }) }));
7864
7844
  };
7865
7845
 
7866
- const ImageContainerButton = styled(FlatButton) `
7867
- min-height: 1.5rem;
7868
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7869
- background-color: ${({ theme: { palette } }) => palette.primary};
7870
- text-transform: none;
7871
-
7872
- :hover {
7873
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
7874
- }
7846
+ const ImageContainerButton = styled(FlatButton) `
7847
+ min-height: 1.5rem;
7848
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7849
+ background-color: ${({ theme: { palette } }) => palette.primary};
7850
+ text-transform: none;
7851
+
7852
+ :hover {
7853
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
7854
+ }
7875
7855
  `;
7876
7856
 
7877
7857
  const ElementButton = memo(({ type, elementConfig }) => {
@@ -7883,157 +7863,157 @@ const ElementButton = memo(({ type, elementConfig }) => {
7883
7863
  return (jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
7884
7864
  });
7885
7865
 
7886
- const AttributeGalleryContainer = styled.div `
7887
- && {
7888
- width: calc(100% + 3rem);
7889
- }
7890
-
7891
- min-height: 12.625rem;
7892
- background-color: ${({ theme: { palette } }) => palette.element};
7893
-
7894
- img {
7895
- width: 100%;
7896
- }
7866
+ const AttributeGalleryContainer = styled.div `
7867
+ && {
7868
+ width: calc(100% + 3rem);
7869
+ }
7870
+
7871
+ min-height: 12.625rem;
7872
+ background-color: ${({ theme: { palette } }) => palette.element};
7873
+
7874
+ img {
7875
+ width: 100%;
7876
+ }
7897
7877
  `;
7898
- const LinearProgressContainer = styled(Flex) `
7899
- align-items: center;
7900
- justify-content: center;
7901
- min-height: inherit;
7902
-
7903
- ${LinearProgress} {
7904
- max-width: 4rem;
7905
- }
7878
+ const LinearProgressContainer = styled(Flex) `
7879
+ align-items: center;
7880
+ justify-content: center;
7881
+ min-height: inherit;
7882
+
7883
+ ${LinearProgress} {
7884
+ max-width: 4rem;
7885
+ }
7906
7886
  `;
7907
- const NoLiveSnapshotContainer = styled(Flex) `
7908
- flex-direction: column;
7909
- align-items: center;
7910
-
7911
- span[kind="alert"] {
7912
- width: 2rem;
7913
- height: 2rem;
7914
-
7915
- &:after {
7916
- font-size: 2rem;
7917
- color: ${({ theme: { palette } }) => palette.elementDeep};
7918
- }
7919
- }
7920
-
7921
- ${Description} {
7922
- font-size: 0.75rem;
7923
- color: ${({ theme: { palette } }) => palette.textDisabled};
7924
- }
7887
+ const NoLiveSnapshotContainer = styled(Flex) `
7888
+ flex-direction: column;
7889
+ align-items: center;
7890
+
7891
+ span[kind="alert"] {
7892
+ width: 2rem;
7893
+ height: 2rem;
7894
+
7895
+ &:after {
7896
+ font-size: 2rem;
7897
+ color: ${({ theme: { palette } }) => palette.elementDeep};
7898
+ }
7899
+ }
7900
+
7901
+ ${Description} {
7902
+ font-size: 0.75rem;
7903
+ color: ${({ theme: { palette } }) => palette.textDisabled};
7904
+ }
7925
7905
  `;
7926
- const SmallPreviewControl = styled(IconButton) `
7927
- cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
7928
- z-index: 3;
7929
- position: absolute;
7930
- top: 50%;
7931
- width: 2.5rem;
7932
- height: 2.5rem;
7933
- margin-top: -1.25rem;
7934
- background-color: rgba(61, 61, 61, 0.8);
7935
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
7936
-
7937
- span:after {
7938
- color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
7939
- transition: color ${transition.hover};
7940
- }
7906
+ const SmallPreviewControl = styled(IconButton) `
7907
+ cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
7908
+ z-index: 3;
7909
+ position: absolute;
7910
+ top: 50%;
7911
+ width: 2.5rem;
7912
+ height: 2.5rem;
7913
+ margin-top: -1.25rem;
7914
+ background-color: rgba(61, 61, 61, 0.8);
7915
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
7916
+
7917
+ span:after {
7918
+ color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
7919
+ transition: color ${transition.hover};
7920
+ }
7941
7921
  `;
7942
- const SmallPreviewCounter = styled(Flex) `
7943
- z-index: 3;
7944
- position: absolute;
7945
- bottom: 0.625rem;
7946
- left: 0;
7947
- width: 100%;
7948
- height: 1rem;
7949
- justify-content: center;
7950
-
7951
- > div {
7952
- background-color: rgba(61, 61, 61, 0.8);
7953
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7954
- padding: 0 0.5rem;
7955
- font-size: 0.625rem;
7956
- line-height: 1rem;
7957
- color: #fff;
7958
- }
7922
+ const SmallPreviewCounter = styled(Flex) `
7923
+ z-index: 3;
7924
+ position: absolute;
7925
+ bottom: 0.625rem;
7926
+ left: 0;
7927
+ width: 100%;
7928
+ height: 1rem;
7929
+ justify-content: center;
7930
+
7931
+ > div {
7932
+ background-color: rgba(61, 61, 61, 0.8);
7933
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7934
+ padding: 0 0.5rem;
7935
+ font-size: 0.625rem;
7936
+ line-height: 1rem;
7937
+ color: #fff;
7938
+ }
7959
7939
  `;
7960
7940
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
7961
7941
  kind: "prev",
7962
- })) `
7963
- left: 1.5rem;
7942
+ })) `
7943
+ left: 1.5rem;
7964
7944
  `;
7965
7945
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
7966
7946
  kind: "next",
7967
- })) `
7968
- right: 1.5rem;
7969
- `;
7970
- const imgSlideShowMixin = css `
7971
- &:nth-child(${({ prevIndex }) => prevIndex}) {
7972
- z-index: 2;
7973
- position: absolute;
7974
- top: 0;
7975
- left: 0;
7976
- right: 0;
7977
- bottom: 0;
7978
- opacity: 0;
7979
-
7980
- animation-duration: 0.25s;
7981
- animation-name: fadeOut;
7982
- animation-timing-function: linear;
7983
-
7984
- @keyframes fadeOut {
7985
- from {
7986
- opacity: 1;
7987
- }
7988
-
7989
- to {
7990
- opacity: 0;
7991
- }
7992
- }
7993
- }
7947
+ })) `
7948
+ right: 1.5rem;
7949
+ `;
7950
+ const imgSlideShowMixin = css `
7951
+ &:nth-child(${({ prevIndex }) => prevIndex}) {
7952
+ z-index: 2;
7953
+ position: absolute;
7954
+ top: 0;
7955
+ left: 0;
7956
+ right: 0;
7957
+ bottom: 0;
7958
+ opacity: 0;
7959
+
7960
+ animation-duration: 0.25s;
7961
+ animation-name: fadeOut;
7962
+ animation-timing-function: linear;
7963
+
7964
+ @keyframes fadeOut {
7965
+ from {
7966
+ opacity: 1;
7967
+ }
7968
+
7969
+ to {
7970
+ opacity: 0;
7971
+ }
7972
+ }
7973
+ }
7994
7974
  `;
7995
- const SmallPreviewContainer$1 = styled.div `
7996
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7997
- position: relative;
7998
- width: 100%;
7999
- height: 100%;
8000
- min-height: inherit;
8001
- line-height: 0;
8002
-
8003
- ${LinearProgress} {
8004
- z-index: 3;
8005
- position: absolute;
8006
- }
8007
-
8008
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8009
- opacity: 0;
8010
- transition: opacity ${transition.hover};
8011
- }
8012
-
8013
- &:hover {
8014
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8015
- opacity: 1;
8016
- }
8017
- }
8018
-
8019
- img {
8020
- z-index: 0;
8021
- cursor: pointer;
8022
- position: absolute;
8023
- top: 0;
8024
- left: 0;
8025
- width: 100%;
8026
- height: 100%;
8027
- min-height: inherit;
8028
- object-position: center;
8029
- object-fit: cover;
8030
-
8031
- &:nth-child(${({ currentIndex }) => currentIndex}) {
8032
- z-index: 1;
8033
- }
8034
-
8035
- ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8036
- }
7975
+ const SmallPreviewContainer$1 = styled.div `
7976
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7977
+ position: relative;
7978
+ width: 100%;
7979
+ height: 100%;
7980
+ min-height: inherit;
7981
+ line-height: 0;
7982
+
7983
+ ${LinearProgress} {
7984
+ z-index: 3;
7985
+ position: absolute;
7986
+ }
7987
+
7988
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
7989
+ opacity: 0;
7990
+ transition: opacity ${transition.hover};
7991
+ }
7992
+
7993
+ &:hover {
7994
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
7995
+ opacity: 1;
7996
+ }
7997
+ }
7998
+
7999
+ img {
8000
+ z-index: 0;
8001
+ cursor: pointer;
8002
+ position: absolute;
8003
+ top: 0;
8004
+ left: 0;
8005
+ width: 100%;
8006
+ height: 100%;
8007
+ min-height: inherit;
8008
+ object-position: center;
8009
+ object-fit: cover;
8010
+
8011
+ &:nth-child(${({ currentIndex }) => currentIndex}) {
8012
+ z-index: 1;
8013
+ }
8014
+
8015
+ ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8016
+ }
8037
8017
  `;
8038
8018
  const SmallPreviewImages = styled.div ``;
8039
8019
 
@@ -8240,21 +8220,21 @@ const ElementControl = ({ elementConfig }) => {
8240
8220
  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 }));
8241
8221
  };
8242
8222
 
8243
- const StyledIconFontSizeMixin = css `
8244
- height: ${({ fontSize }) => `${fontSize}px`};
8245
-
8246
- &&:after {
8247
- font-size: ${({ fontSize }) => `${fontSize}px`};
8248
- }
8223
+ const StyledIconFontSizeMixin = css `
8224
+ height: ${({ fontSize }) => `${fontSize}px`};
8225
+
8226
+ &&:after {
8227
+ font-size: ${({ fontSize }) => `${fontSize}px`};
8228
+ }
8249
8229
  `;
8250
- const StyledIconFontColorMixin = css `
8251
- &&:after {
8252
- color: ${({ fontColor }) => fontColor};
8253
- }
8230
+ const StyledIconFontColorMixin = css `
8231
+ &&:after {
8232
+ color: ${({ fontColor }) => fontColor};
8233
+ }
8254
8234
  `;
8255
- const StyledIcon = styled(Icon) `
8256
- ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8257
- ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8235
+ const StyledIcon = styled(Icon) `
8236
+ ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8237
+ ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8258
8238
  `;
8259
8239
 
8260
8240
  const ElementIcon = memo(({ type, elementConfig }) => {
@@ -8320,55 +8300,55 @@ const ElementLegend = memo(({ type, element, elementConfig }) => {
8320
8300
 
8321
8301
  const ExternalLink = styled(IconButton).attrs(() => ({
8322
8302
  kind: "external_link",
8323
- })) `
8324
- ${Icon} {
8325
- color: ${({ theme: { palette } }) => palette.primary};
8326
- }
8327
-
8328
- &:hover ${Icon} {
8329
- color: ${({ theme: { palette } }) => palette.primaryDeep};
8330
- }
8303
+ })) `
8304
+ ${Icon} {
8305
+ color: ${({ theme: { palette } }) => palette.primary};
8306
+ }
8307
+
8308
+ &:hover ${Icon} {
8309
+ color: ${({ theme: { palette } }) => palette.primaryDeep};
8310
+ }
8331
8311
  `;
8332
- const Link = styled.a `
8333
- text-decoration: none;
8334
- font-size: 0.75rem;
8335
- color: ${({ theme: { palette } }) => palette.primary};
8312
+ const Link = styled.a `
8313
+ text-decoration: none;
8314
+ font-size: 0.75rem;
8315
+ color: ${({ theme: { palette } }) => palette.primary};
8336
8316
  `;
8337
- const LocalLinkBlank = styled(Blank) `
8338
- min-width: 13.5rem;
8339
- padding: 0.5rem 0.75rem 0;
8340
-
8341
- ${IconButtonButton} {
8342
- font-size: 0.75rem;
8343
- }
8317
+ const LocalLinkBlank = styled(Blank) `
8318
+ min-width: 13.5rem;
8319
+ padding: 0.5rem 0.75rem 0;
8320
+
8321
+ ${IconButtonButton} {
8322
+ font-size: 0.75rem;
8323
+ }
8344
8324
  `;
8345
8325
  const LocalLinkButton = styled(IconButton).attrs(() => ({
8346
8326
  kind: "link",
8347
- })) `
8348
- width: 1rem;
8349
- height: 1rem;
8350
- background-color: ${({ theme: { palette } }) => palette.primary};
8351
- padding: 0;
8352
- border-radius: 50%;
8353
-
8354
- :hover {
8355
- background-color: ${({ theme: { palette } }) => palette.primary};
8356
- }
8357
-
8358
- span[kind] {
8359
- display: flex;
8360
- justify-content: center;
8361
- align-items: center;
8362
-
8363
- :after {
8364
- position: relative;
8365
- font-size: 0.6rem;
8366
- color: white;
8367
- }
8368
- }
8327
+ })) `
8328
+ width: 1rem;
8329
+ height: 1rem;
8330
+ background-color: ${({ theme: { palette } }) => palette.primary};
8331
+ padding: 0;
8332
+ border-radius: 50%;
8333
+
8334
+ :hover {
8335
+ background-color: ${({ theme: { palette } }) => palette.primary};
8336
+ }
8337
+
8338
+ span[kind] {
8339
+ display: flex;
8340
+ justify-content: center;
8341
+ align-items: center;
8342
+
8343
+ :after {
8344
+ position: relative;
8345
+ font-size: 0.6rem;
8346
+ color: white;
8347
+ }
8348
+ }
8369
8349
  `;
8370
- const LocalLinkCopy = styled(Flex) `
8371
- justify-content: center;
8350
+ const LocalLinkCopy = styled(Flex) `
8351
+ justify-content: center;
8372
8352
  `;
8373
8353
 
8374
8354
  const LocalLink = memo(({ link, style }) => {
@@ -8397,104 +8377,104 @@ const ElementLink = memo(({ type, elementConfig }) => {
8397
8377
  : jsx(LocalLink, { style: style, link: link });
8398
8378
  });
8399
8379
 
8400
- const MarkdownWrapper = styled.div `
8401
- padding: 0;
8402
- background: transparent;
8403
- border-radius: 0.5rem;
8404
- font-family: 'Nunito Sans', sans-serif;
8405
- color: ${({ theme: { palette } }) => palette.textPrimary};
8406
-
8407
- /* Paragraphs */
8408
- p {
8409
- font-size: 0.875rem;
8410
- line-height: 1rem;
8411
- letter-spacing: 0.0052rem;
8412
- margin: 0 0 1rem 0;
8413
- font-weight: 400;
8414
-
8415
- &:last-child {
8416
- margin-bottom: 0;
8417
- }
8418
- }
8419
-
8420
- /* Headings */
8421
- h1, h2, h3, h4, h5, h6 {
8422
- margin: 0 0 0.75rem 0;
8423
- font-weight: 300;
8424
- }
8425
-
8426
- h1 {
8427
- font-size: 1.5rem;
8428
- line-height: 1.75rem;
8429
- }
8430
-
8431
- h2 {
8432
- font-size: 1.25rem;
8433
- line-height: 1.5rem;
8434
- }
8435
-
8436
- h3 {
8437
- font-size: 1rem;
8438
- line-height: 1.25rem;
8439
- }
8440
-
8441
- /* Images */
8442
- img {
8443
- max-width: 100%;
8444
- height: auto;
8445
- border-radius: 0.5rem;
8446
- object-fit: cover;
8447
- margin: 0.75rem 0;
8448
- }
8449
-
8450
- /* Links */
8451
- a {
8452
- color: ${({ theme: { palette } }) => palette.primary};
8453
- text-decoration: none;
8454
-
8455
- &:hover {
8456
- text-decoration: underline;
8457
- }
8458
- }
8459
-
8460
- /* Lists */
8461
- ul, ol {
8462
- margin: 0 0 1rem 0;
8463
- padding-left: 1.25rem;
8464
-
8465
- li {
8466
- font-size: 0.875rem;
8467
- line-height: 1rem;
8468
- margin-bottom: 0.5rem;
8469
- }
8470
- }
8471
-
8472
- /* Code */
8473
- code {
8474
- background: ${({ theme: { palette } }) => palette.element};
8475
- padding: 0.125rem 0.375rem;
8476
- border-radius: 0.25rem;
8477
- font-family: monospace;
8478
- font-size: 0.8125rem;
8479
- }
8480
-
8481
- pre {
8482
- background: ${({ theme: { palette } }) => palette.element};
8483
- padding: 0.75rem;
8484
- border-radius: 0.25rem;
8485
- overflow-x: auto;
8486
- margin: 0.75rem 0;
8487
-
8488
- code {
8489
- background: transparent;
8490
- padding: 0;
8491
- }
8492
- }
8493
-
8494
- /* Hide horizontal rules */
8495
- hr {
8496
- display: none;
8497
- }
8380
+ const MarkdownWrapper = styled.div `
8381
+ padding: 0;
8382
+ background: transparent;
8383
+ border-radius: 0.5rem;
8384
+ font-family: 'Nunito Sans', sans-serif;
8385
+ color: ${({ theme: { palette } }) => palette.textPrimary};
8386
+
8387
+ /* Paragraphs */
8388
+ p {
8389
+ font-size: 0.875rem;
8390
+ line-height: 1rem;
8391
+ letter-spacing: 0.0052rem;
8392
+ margin: 0 0 1rem 0;
8393
+ font-weight: 400;
8394
+
8395
+ &:last-child {
8396
+ margin-bottom: 0;
8397
+ }
8398
+ }
8399
+
8400
+ /* Headings */
8401
+ h1, h2, h3, h4, h5, h6 {
8402
+ margin: 0 0 0.75rem 0;
8403
+ font-weight: 300;
8404
+ }
8405
+
8406
+ h1 {
8407
+ font-size: 1.5rem;
8408
+ line-height: 1.75rem;
8409
+ }
8410
+
8411
+ h2 {
8412
+ font-size: 1.25rem;
8413
+ line-height: 1.5rem;
8414
+ }
8415
+
8416
+ h3 {
8417
+ font-size: 1rem;
8418
+ line-height: 1.25rem;
8419
+ }
8420
+
8421
+ /* Images */
8422
+ img {
8423
+ max-width: 100%;
8424
+ height: auto;
8425
+ border-radius: 0.5rem;
8426
+ object-fit: cover;
8427
+ margin: 0.75rem 0;
8428
+ }
8429
+
8430
+ /* Links */
8431
+ a {
8432
+ color: ${({ theme: { palette } }) => palette.primary};
8433
+ text-decoration: none;
8434
+
8435
+ &:hover {
8436
+ text-decoration: underline;
8437
+ }
8438
+ }
8439
+
8440
+ /* Lists */
8441
+ ul, ol {
8442
+ margin: 0 0 1rem 0;
8443
+ padding-left: 1.25rem;
8444
+
8445
+ li {
8446
+ font-size: 0.875rem;
8447
+ line-height: 1rem;
8448
+ margin-bottom: 0.5rem;
8449
+ }
8450
+ }
8451
+
8452
+ /* Code */
8453
+ code {
8454
+ background: ${({ theme: { palette } }) => palette.element};
8455
+ padding: 0.125rem 0.375rem;
8456
+ border-radius: 0.25rem;
8457
+ font-family: monospace;
8458
+ font-size: 0.8125rem;
8459
+ }
8460
+
8461
+ pre {
8462
+ background: ${({ theme: { palette } }) => palette.element};
8463
+ padding: 0.75rem;
8464
+ border-radius: 0.25rem;
8465
+ overflow-x: auto;
8466
+ margin: 0.75rem 0;
8467
+
8468
+ code {
8469
+ background: transparent;
8470
+ padding: 0;
8471
+ }
8472
+ }
8473
+
8474
+ /* Hide horizontal rules */
8475
+ hr {
8476
+ display: none;
8477
+ }
8498
8478
  `;
8499
8479
 
8500
8480
  const sanitizeSchema = {
@@ -8536,9 +8516,9 @@ const ElementMarkdown = memo(({ elementConfig, type }) => {
8536
8516
  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: "Свернуть" }) })] }));
8537
8517
  });
8538
8518
 
8539
- const SmallPreviewContainer = styled.div `
8540
- width: 100%;
8541
- height: 100%;
8519
+ const SmallPreviewContainer = styled.div `
8520
+ width: 100%;
8521
+ height: 100%;
8542
8522
  `;
8543
8523
 
8544
8524
  const ElementSlideshow = ({ elementConfig, type, renderElement }) => {
@@ -8574,18 +8554,18 @@ const ElementSvg = memo(({ type, elementConfig }) => {
8574
8554
  return (jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
8575
8555
  });
8576
8556
 
8577
- const TooltipIcon = styled(Icon) `
8578
- &&& {
8579
- :after {
8580
- font-size: 0.75rem;
8581
- color: ${({ theme: { palette } }) => palette.iconDisabled};
8582
- transition: color ${transition.hover};
8583
- }
8584
-
8585
- :hover:after {
8586
- color: ${({ theme: { palette } }) => palette.icon};
8587
- }
8588
- }
8557
+ const TooltipIcon = styled(Icon) `
8558
+ &&& {
8559
+ :after {
8560
+ font-size: 0.75rem;
8561
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
8562
+ transition: color ${transition.hover};
8563
+ }
8564
+
8565
+ :hover:after {
8566
+ color: ${({ theme: { palette } }) => palette.icon};
8567
+ }
8568
+ }
8589
8569
  `;
8590
8570
 
8591
8571
  const ElementTooltip = memo(({ type, elementConfig }) => {
@@ -8597,76 +8577,76 @@ const ElementTooltip = memo(({ type, elementConfig }) => {
8597
8577
  return text ? (jsx(Tooltip$1, { placement: "top", arrow: true, content: text, children: ref => jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
8598
8578
  });
8599
8579
 
8600
- const SlideshowHeaderWrapper = styled.div `
8601
- padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
8602
-
8603
- ${Header} {
8604
- align-items: flex-start;
8605
- width: calc(100% + 2rem);
8606
- height: ${({ big }) => (big ? "15.5rem" : "auto")};
8607
- padding: 1.5rem;
8608
- margin: -1rem -1rem 0 -1rem;
8609
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8610
-
8611
- ${SmallPreviewCounter} {
8612
- bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
8613
- }
8614
-
8615
- :before,
8616
- :after {
8617
- content: "";
8618
- z-index: 2;
8619
- position: absolute;
8620
- top: 0;
8621
- left: 0;
8622
- width: 100%;
8623
- }
8624
-
8625
- :before {
8626
- height: 100%;
8627
- background: rgba(32, 46, 53, 0.25);
8628
- }
8629
-
8630
- :after {
8631
- height: 4.5rem;
8632
- background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
8633
- }
8634
-
8635
- :hover {
8636
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8637
- opacity: 1;
8638
- }
8639
- }
8640
- }
8580
+ const SlideshowHeaderWrapper = styled.div `
8581
+ padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
8582
+
8583
+ ${Header} {
8584
+ align-items: flex-start;
8585
+ width: calc(100% + 2rem);
8586
+ height: ${({ big }) => (big ? "15.5rem" : "auto")};
8587
+ padding: 1.5rem;
8588
+ margin: -1rem -1rem 0 -1rem;
8589
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8590
+
8591
+ ${SmallPreviewCounter} {
8592
+ bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
8593
+ }
8594
+
8595
+ :before,
8596
+ :after {
8597
+ content: "";
8598
+ z-index: 2;
8599
+ position: absolute;
8600
+ top: 0;
8601
+ left: 0;
8602
+ width: 100%;
8603
+ }
8604
+
8605
+ :before {
8606
+ height: 100%;
8607
+ background: rgba(32, 46, 53, 0.25);
8608
+ }
8609
+
8610
+ :after {
8611
+ height: 4.5rem;
8612
+ background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
8613
+ }
8614
+
8615
+ :hover {
8616
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8617
+ opacity: 1;
8618
+ }
8619
+ }
8620
+ }
8641
8621
  `;
8642
- const ImageContainerBg = styled.div `
8643
- position: absolute;
8644
- top: 0;
8645
- bottom: 0;
8646
- left: 0;
8647
- right: 0;
8648
-
8649
- img {
8650
- width: 100%;
8651
- height: 100%;
8652
- object-position: center;
8653
- object-fit: cover;
8654
- }
8622
+ const ImageContainerBg = styled.div `
8623
+ position: absolute;
8624
+ top: 0;
8625
+ bottom: 0;
8626
+ left: 0;
8627
+ right: 0;
8628
+
8629
+ img {
8630
+ width: 100%;
8631
+ height: 100%;
8632
+ object-position: center;
8633
+ object-fit: cover;
8634
+ }
8655
8635
  `;
8656
- const HeaderSlideshow = styled.div `
8657
- position: absolute;
8658
- top: 0;
8659
- bottom: ${({ height }) => (height ? `${height}px` : 0)};
8660
- left: 0;
8661
- right: 0;
8662
-
8663
- img {
8664
- width: 100%;
8665
- height: 100%;
8666
- min-height: inherit;
8667
- object-position: center;
8668
- object-fit: cover;
8669
- }
8636
+ const HeaderSlideshow = styled.div `
8637
+ position: absolute;
8638
+ top: 0;
8639
+ bottom: ${({ height }) => (height ? `${height}px` : 0)};
8640
+ left: 0;
8641
+ right: 0;
8642
+
8643
+ img {
8644
+ width: 100%;
8645
+ height: 100%;
8646
+ min-height: inherit;
8647
+ object-position: center;
8648
+ object-fit: cover;
8649
+ }
8670
8650
  `;
8671
8651
 
8672
8652
  const FeatureCardSlideshowHeader = ({ isRow }) => {
@@ -8805,40 +8785,40 @@ const getDefaultConfig = ({ title, defaultTitle, items, baseMapName, position, r
8805
8785
  return dashboardConfiguration;
8806
8786
  };
8807
8787
 
8808
- const UploaderContainer = styled(Container) `
8809
- ${UploaderItemArea} {
8810
- overflow: visible;
8811
- padding-top: 1rem;
8812
- padding-bottom: 1rem;
8813
- }
8814
-
8815
- ${UploaderTitleWrapper} {
8816
- top: 0;
8817
- padding-top: 0;
8818
- border: 0;
8819
- }
8788
+ const UploaderContainer = styled(Container) `
8789
+ ${UploaderItemArea} {
8790
+ overflow: visible;
8791
+ padding-top: 1rem;
8792
+ padding-bottom: 1rem;
8793
+ }
8794
+
8795
+ ${UploaderTitleWrapper} {
8796
+ top: 0;
8797
+ padding-top: 0;
8798
+ border: 0;
8799
+ }
8820
8800
  `;
8821
8801
 
8822
- const UploaderTitle = styled(Flex) `
8823
- flex-direction: column;
8824
- align-items: center;
8825
- width: 11rem;
8826
- margin: 0 auto;
8827
- text-align: center;
8828
- font-size: 0.625rem;
8829
- color: ${({ theme: { palette } }) => palette.textSecondary};
8830
-
8831
- span[kind] {
8832
- width: 1.5rem;
8833
- height: 1.5rem;
8834
- margin-bottom: 0.75rem;
8835
-
8836
- :after {
8837
- font-size: 1.5rem;
8838
- color: ${({ theme: { palette } }) => palette.textSecondary};
8839
- opacity: 0.12;
8840
- }
8841
- }
8802
+ const UploaderTitle = styled(Flex) `
8803
+ flex-direction: column;
8804
+ align-items: center;
8805
+ width: 11rem;
8806
+ margin: 0 auto;
8807
+ text-align: center;
8808
+ font-size: 0.625rem;
8809
+ color: ${({ theme: { palette } }) => palette.textSecondary};
8810
+
8811
+ span[kind] {
8812
+ width: 1.5rem;
8813
+ height: 1.5rem;
8814
+ margin-bottom: 0.75rem;
8815
+
8816
+ :after {
8817
+ font-size: 1.5rem;
8818
+ color: ${({ theme: { palette } }) => palette.textSecondary};
8819
+ opacity: 0.12;
8820
+ }
8821
+ }
8842
8822
  `;
8843
8823
 
8844
8824
  const DEFAULT_FILE_EXTENSIONS = ".txt,.csv,.py";
@@ -9145,26 +9125,31 @@ const DropdownFilter = ({ type, filter, elementConfig }) => {
9145
9125
  const { currentPage } = useWidgetPage(type);
9146
9126
  const { filters: configFilters } = currentPage;
9147
9127
  const { options } = elementConfig || {};
9148
- const { filterName, placeholder, width, noEmptyOption } = filter.options;
9128
+ const { filterName, placeholder, width, variants, noEmptyOption } = filter.options;
9149
9129
  const { sliceItems } = useShownOtherItems(options);
9150
9130
  const configFilter = getConfigFilter(filterName, configFilters);
9151
9131
  const filterOptions = useMemo(() => {
9132
+ if (variants) {
9133
+ return variants;
9134
+ }
9152
9135
  const dataSource = getDataSource(configFilter.relatedDataSource, dataSources);
9153
9136
  const listOptions = getListOptions(sliceItems(dataSource?.features), filterName, configFilters);
9154
9137
  if (noEmptyOption === undefined || noEmptyOption === false) {
9155
9138
  listOptions.unshift({ text: placeholder, value: "", min: null, max: null });
9156
9139
  }
9157
9140
  return listOptions;
9158
- }, [configFilter.relatedDataSource, configFilters, dataSources, filterName, noEmptyOption, placeholder, sliceItems]);
9141
+ }, [configFilter?.relatedDataSource, configFilters, dataSources, filterName, noEmptyOption, placeholder, sliceItems, variants]);
9159
9142
  const value = useMemo(() => filters?.[filterName] !== undefined
9160
9143
  ? Array.isArray(filters[filterName].value)
9161
9144
  ? null
9162
9145
  : filters[filterName].value
9163
- : getConfigFilter(filterName, configFilters).defaultValue, [configFilters, filterName, filters]);
9146
+ : filterName
9147
+ ? getConfigFilter(filterName, configFilters).defaultValue
9148
+ : null, [configFilters, filterName, filters]);
9164
9149
  const onChange = useCallback((items) => {
9165
9150
  changeFilters({ [filterName]: items[0] });
9166
9151
  }, [changeFilters, filterName]);
9167
- if (!configFilter)
9152
+ if (!configFilter && !variants)
9168
9153
  return null;
9169
9154
  return (jsx(Dropdown, { zIndex: 100, width: `${width ?? (DEFAULT_DROPDOWN_WIDTH - DEFAULT_FILTER_PADDING * 2)}px`, value: value, placeholder: placeholder, options: filterOptions, onChange: onChange }));
9170
9155
  };
@@ -9503,64 +9488,64 @@ const getJustifyContent = (align) => {
9503
9488
  return "flex-start";
9504
9489
  }
9505
9490
  };
9506
- const ChipsContainer = styled(Flex) `
9507
- flex-wrap: wrap;
9508
- gap: 0.25rem;
9509
- background: transparent;
9510
- justify-content: ${({ $align }) => getJustifyContent($align)};
9491
+ const ChipsContainer = styled(Flex) `
9492
+ flex-wrap: wrap;
9493
+ gap: 0.25rem;
9494
+ background: transparent;
9495
+ justify-content: ${({ $align }) => getJustifyContent($align)};
9511
9496
  `;
9512
9497
 
9513
- const FilterChip = styled.div `
9514
- display: inline-flex;
9515
- align-items: center;
9516
- gap: 0.25rem;
9517
- padding: 0.3125rem 0.5rem;
9518
- height: 1.5rem;
9519
- border-radius: 0.25rem;
9498
+ const FilterChip = styled.div `
9499
+ display: inline-flex;
9500
+ align-items: center;
9501
+ gap: 0.25rem;
9502
+ padding: 0.3125rem 0.5rem;
9503
+ height: 1.5rem;
9504
+ border-radius: 0.25rem;
9520
9505
  background-color: ${({ $isActive, $bgColor, theme }) => $bgColor
9521
9506
  ? $bgColor
9522
9507
  : $isActive
9523
9508
  ? theme.palette?.primary
9524
- : theme.palette?.elementLight};
9509
+ : theme.palette?.elementLight};
9525
9510
  color: ${({ $isActive, $textColor, theme }) => $textColor
9526
9511
  ? $textColor
9527
9512
  : $isActive
9528
9513
  ? theme.palette?.textContrast
9529
- : theme.palette?.textSecondary};
9530
- cursor: pointer;
9531
- font-size: 0.75rem;
9532
- line-height: 0.875rem;
9533
- white-space: nowrap;
9534
- flex-shrink: 0;
9535
- transition: all 0.2s ease-in-out;
9536
- margin: 0 0.25rem 0 0;
9537
- box-sizing: border-box;
9538
-
9539
- &:hover {
9514
+ : theme.palette?.textSecondary};
9515
+ cursor: pointer;
9516
+ font-size: 0.75rem;
9517
+ line-height: 0.875rem;
9518
+ white-space: nowrap;
9519
+ flex-shrink: 0;
9520
+ transition: all 0.2s ease-in-out;
9521
+ margin: 0 0.25rem 0 0;
9522
+ box-sizing: border-box;
9523
+
9524
+ &:hover {
9540
9525
  background-color: ${({ $isActive, $bgColor, theme }) => $isActive
9541
9526
  ? $bgColor || 'inherit'
9542
- : $bgColor || theme.palette?.elementDark};
9543
- }
9527
+ : $bgColor || theme.palette?.elementDark};
9528
+ }
9544
9529
  `;
9545
- const ChipIconWrapper = styled.span `
9546
- display: inline-flex;
9547
- align-items: center;
9548
- justify-content: center;
9549
- width: 0.875rem;
9550
- height: 0.875rem;
9551
- flex-shrink: 0;
9552
-
9553
- svg, img {
9554
- width: 100%;
9555
- height: 100%;
9556
- display: block;
9557
- }
9530
+ const ChipIconWrapper = styled.span `
9531
+ display: inline-flex;
9532
+ align-items: center;
9533
+ justify-content: center;
9534
+ width: 0.875rem;
9535
+ height: 0.875rem;
9536
+ flex-shrink: 0;
9537
+
9538
+ svg, img {
9539
+ width: 100%;
9540
+ height: 100%;
9541
+ display: block;
9542
+ }
9558
9543
  `;
9559
- const ChipText = styled.span `
9560
- overflow: hidden;
9561
- text-overflow: ellipsis;
9562
- white-space: nowrap;
9563
- ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
9544
+ const ChipText = styled.span `
9545
+ overflow: hidden;
9546
+ text-overflow: ellipsis;
9547
+ white-space: nowrap;
9548
+ ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
9564
9549
  `;
9565
9550
 
9566
9551
  const CustomChip = ({ text, icon, color, primary, secondary, error, disabled, isActive, maxTextWidth, fontColor: customFontColor, backgroundColor: customBackgroundColor, ...props }) => {
@@ -9649,12 +9634,15 @@ const ChipsFilter = ({ type, filter, elementConfig, }) => {
9649
9634
  const { filters: configFilters } = currentPage;
9650
9635
  const { options } = elementConfig || {};
9651
9636
  const { align } = options || {};
9652
- const { filterName, colorAttribute, iconAttribute, maxTextWidth, icon, fontColor, backgroundColor, } = filter.options;
9637
+ const { filterName, colorAttribute, iconAttribute, maxTextWidth, icon, fontColor, backgroundColor, variants, } = filter.options;
9653
9638
  const configFilter = getConfigFilter(filterName, configFilters);
9654
9639
  const multiSelect = configFilter?.valueType === "array";
9655
9640
  // Process icon URL (resourceId or direct URL)
9656
9641
  const processedIcon = icon ? getResourceUrl(icon) : undefined;
9657
9642
  const chipOptions = useMemo(() => {
9643
+ if (variants) {
9644
+ return variants;
9645
+ }
9658
9646
  if (!configFilter)
9659
9647
  return [];
9660
9648
  const dataSource = getDataSource(configFilter.relatedDataSource, dataSources);
@@ -9721,7 +9709,7 @@ const ChipsFilter = ({ type, filter, elementConfig, }) => {
9721
9709
  [filterName]: { value: newValue },
9722
9710
  });
9723
9711
  }, [filters, filterName, multiSelect, changeFilters, configFilter]);
9724
- if (!configFilter)
9712
+ if (!configFilter && !variants)
9725
9713
  return null;
9726
9714
  return (jsx(ChipsContainer, { "$align": align, children: chipOptions.map((chip, index) => {
9727
9715
  const isActive = isChipActive(chip.value);
@@ -10752,6 +10740,75 @@ const useUpdateDataSource = ({ dataSource, config, filters, attributes, layerPar
10752
10740
  }, [dataSource, getDataSourcePromises, getUpdatedDataSources, dataSources]);
10753
10741
  };
10754
10742
 
10743
+ const useMultipleAttributesRender = (config, elementConfig, type, renderElement) => {
10744
+ const { selectedTabId, layerInfo, attributes } = useWidgetContext(type);
10745
+ const { attributes: renderAttributes, attributesExclude } = elementConfig?.options || {};
10746
+ const getAttributesToRender = useCallback(() => {
10747
+ if (renderAttributes && renderAttributes.length > 0) {
10748
+ return renderAttributes;
10749
+ }
10750
+ const allAttributes = attributes?.map(attr => attr.name) || [];
10751
+ if (attributesExclude && attributesExclude.length > 0) {
10752
+ return allAttributes.filter(attr => !attributesExclude.includes(attr));
10753
+ }
10754
+ return allAttributes;
10755
+ }, [renderAttributes, attributesExclude, attributes]);
10756
+ const renderContainer = useCallback((attribute) => {
10757
+ const { id, options, style, children } = elementConfig || {};
10758
+ const { hideEmpty, innerTemplateStyle } = options || {};
10759
+ const hasUnits = children?.some(({ id }) => id === "units");
10760
+ const iconIndex = children?.findIndex(({ id }) => id === "icon");
10761
+ const icon = children?.[iconIndex];
10762
+ const hasIcon = !!icon;
10763
+ const elementChildren = elementConfig?.children?.map(child => ({
10764
+ type: "attributeValue",
10765
+ ...child,
10766
+ attributeName: attribute,
10767
+ options: { noUnits: hasUnits, ...child.options },
10768
+ }));
10769
+ const attr = attribute
10770
+ ? layerInfo?.layerAttributes?.find(({ attributeName }) => attributeName === attribute)
10771
+ : null;
10772
+ if (hasIcon) {
10773
+ elementChildren[iconIndex] = {
10774
+ ...elementChildren[iconIndex],
10775
+ type: attr?.icon?.type?.toLowerCase(),
10776
+ value: attr?.icon?.resourceId || attr?.icon?.url || attr?.icon?.iconName,
10777
+ attributeName: null,
10778
+ };
10779
+ }
10780
+ const render = attribute
10781
+ ? getRenderElement({
10782
+ config,
10783
+ elementConfig: {
10784
+ ...elementConfig,
10785
+ children: elementChildren,
10786
+ },
10787
+ selectedTabId,
10788
+ attributes,
10789
+ layerInfo,
10790
+ type,
10791
+ })
10792
+ : renderElement;
10793
+ const value = render({ id: "value" });
10794
+ if (!value && hideEmpty)
10795
+ return null;
10796
+ return {
10797
+ render,
10798
+ value,
10799
+ hasUnits,
10800
+ id,
10801
+ style: innerTemplateStyle || style,
10802
+ hasIcon,
10803
+ attr,
10804
+ };
10805
+ }, [attributes, config, getRenderElement, layerInfo, renderElement, selectedTabId, type, elementConfig]);
10806
+ return {
10807
+ getAttributesToRender,
10808
+ renderContainer,
10809
+ };
10810
+ };
10811
+
10755
10812
  const StackBar = ({ data, filterName, type, alias, options, renderElement, renderTooltip }) => {
10756
10813
  const { height, showTotal, cornerRadius, groupTooltip } = options || {};
10757
10814
  const { t } = useGlobalContext();
@@ -10999,8 +11056,8 @@ const Dashboard = memo(({ type = WidgetType.Dashboard, noBorders }) => {
10999
11056
  return (jsx(PagesContainer, { type: type, noBorders: noBorders }));
11000
11057
  });
11001
11058
 
11002
- const CardCheckbox = styled(Checkbox) `
11003
- padding-left: 0.5rem;
11059
+ const CardCheckbox = styled(Checkbox) `
11060
+ padding-left: 0.5rem;
11004
11061
  `;
11005
11062
 
11006
11063
  const DashboardCheckbox = ({ title, checked, onChange, }) => {
@@ -11074,15 +11131,15 @@ const FeatureCardTitle = ({ title, description }) => {
11074
11131
  return (jsxs(HeaderTitleContainer, { children: [jsx(FeatureTitleContainer, { children: jsx(FlexSpan, { children: resultTitle }) }), jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
11075
11132
  };
11076
11133
 
11077
- const HiddenFilters = styled(Flex) `
11078
- flex-wrap: wrap;
11079
- margin-top: -1.25rem;
11080
-
11081
- ${DashboardChip$1} {
11082
- height: 1.5rem;
11083
- margin: 0 0.25rem 0.25rem 0;
11084
- padding: 0 0 0 0.5rem;
11085
- }
11134
+ const HiddenFilters = styled(Flex) `
11135
+ flex-wrap: wrap;
11136
+ margin-top: -1.25rem;
11137
+
11138
+ ${DashboardChip$1} {
11139
+ height: 1.5rem;
11140
+ margin: 0 0.25rem 0.25rem 0;
11141
+ padding: 0 0 0 0.5rem;
11142
+ }
11086
11143
  `;
11087
11144
 
11088
11145
  function spliceValue(filterValue, splicingValue) {
@@ -11268,24 +11325,24 @@ const LogTerminal = ({ log, terminalOptions, className, styles }) => {
11268
11325
  return jsx(TerminalWrapper, { ref: terminalRef, className: className, style: styles });
11269
11326
  };
11270
11327
 
11271
- const PageNavigator = styled(Flex) `
11272
- margin-right: -0.5rem;
11273
- align-items: center;
11274
-
11275
- button {
11276
- width: auto;
11277
- height: 2rem;
11278
- padding: 0 0.5rem;
11279
-
11280
- span[kind]:after {
11281
- color: ${({ theme: { palette } }) => palette.textDisabled};
11282
- transition: color ${transition.hover};
11283
- }
11284
-
11285
- :hover span[kind]:after {
11286
- color: ${({ theme: { palette } }) => palette.textSecondary};
11287
- }
11288
- }
11328
+ const PageNavigator = styled(Flex) `
11329
+ margin-right: -0.5rem;
11330
+ align-items: center;
11331
+
11332
+ button {
11333
+ width: auto;
11334
+ height: 2rem;
11335
+ padding: 0 0.5rem;
11336
+
11337
+ span[kind]:after {
11338
+ color: ${({ theme: { palette } }) => palette.textDisabled};
11339
+ transition: color ${transition.hover};
11340
+ }
11341
+
11342
+ :hover span[kind]:after {
11343
+ color: ${({ theme: { palette } }) => palette.textSecondary};
11344
+ }
11345
+ }
11289
11346
  `;
11290
11347
 
11291
11348
  const Pagination = memo(({ type = WidgetType.Dashboard }) => {
@@ -11294,34 +11351,34 @@ const Pagination = memo(({ type = WidgetType.Dashboard }) => {
11294
11351
  return (jsxs(PageNavigator, { children: [jsx(IconButton, { kind: "prev", onClick: () => prevPage(pages.length) }), jsx(IconButton, { kind: "next", onClick: () => nextPage(pages.length) })] }));
11295
11352
  });
11296
11353
 
11297
- const StyledSvgWidthMixin = css `
11298
- &&& {
11299
- svg {
11300
- width: ${({ $width }) => $width}px;
11301
- }
11302
- }
11354
+ const StyledSvgWidthMixin = css `
11355
+ &&& {
11356
+ svg {
11357
+ width: ${({ $width }) => $width}px;
11358
+ }
11359
+ }
11303
11360
  `;
11304
- const StyledSvgHeightMixin = css `
11305
- &&& {
11306
- svg {
11307
- height: ${({ $height }) => $height}px;
11308
- }
11309
- }
11361
+ const StyledSvgHeightMixin = css `
11362
+ &&& {
11363
+ svg {
11364
+ height: ${({ $height }) => $height}px;
11365
+ }
11366
+ }
11310
11367
  `;
11311
- const StyledSvgColorMixin = css `
11312
- svg {
11313
- path,
11314
- line,
11315
- circle {
11316
- fill: ${({ $fontColor }) => $fontColor} !important;
11317
- }
11318
- }
11368
+ const StyledSvgColorMixin = css `
11369
+ svg {
11370
+ path,
11371
+ line,
11372
+ circle {
11373
+ fill: ${({ $fontColor }) => $fontColor} !important;
11374
+ }
11375
+ }
11319
11376
  `;
11320
- const StyledSvg = styled(Flex) `
11321
- align-items: center;
11322
- ${({ $width }) => !!$width && StyledSvgWidthMixin};
11323
- ${({ $height }) => !!$height && StyledSvgHeightMixin};
11324
- ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11377
+ const StyledSvg = styled(Flex) `
11378
+ align-items: center;
11379
+ ${({ $width }) => !!$width && StyledSvgWidthMixin};
11380
+ ${({ $height }) => !!$height && StyledSvgHeightMixin};
11381
+ ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11325
11382
  `;
11326
11383
 
11327
11384
  const SvgImage = memo(({ url, width, height, fontColor }) => {
@@ -11589,28 +11646,28 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
11589
11646
  return (jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle, filterVersion: filterVersion }));
11590
11647
  };
11591
11648
 
11592
- const MapWrapper = styled.div `
11593
- position: relative;
11594
- width: 100%;
11595
- height: 100%;
11596
- box-sizing: border-box;
11597
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
11598
-
11599
- .mapbox-gl-draw_trash {
11600
- display: none;
11601
- }
11602
-
11603
- .mapboxgl-ctrl-logo {
11604
- display: none;
11605
- }
11606
-
11607
- .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
11608
- display: none;
11609
- }
11610
-
11611
- .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
11612
- width: 350px;
11613
- }
11649
+ const MapWrapper = styled.div `
11650
+ position: relative;
11651
+ width: 100%;
11652
+ height: 100%;
11653
+ box-sizing: border-box;
11654
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
11655
+
11656
+ .mapbox-gl-draw_trash {
11657
+ display: none;
11658
+ }
11659
+
11660
+ .mapboxgl-ctrl-logo {
11661
+ display: none;
11662
+ }
11663
+
11664
+ .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
11665
+ display: none;
11666
+ }
11667
+
11668
+ .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
11669
+ width: 350px;
11670
+ }
11614
11671
  `;
11615
11672
 
11616
11673
  const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...rest }) => {
@@ -11622,5 +11679,5 @@ const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...res
11622
11679
  }, children: children }), upperSiblings] }));
11623
11680
  };
11624
11681
 
11625
- export { AddFeatureButton, AddFeatureContainer, 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, 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, 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 };
11682
+ export { AddFeatureButton, AddFeatureContainer, 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, 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, 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, useMultipleAttributesRender, useProjectDashboardInit, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
11626
11683
  //# sourceMappingURL=react.esm.js.map