@evergis/react 4.0.40 → 4.0.42

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) {
@@ -3463,42 +3463,42 @@ const BASE_CONTAINER_STYLE = {
3463
3463
  marginBottom: "1rem",
3464
3464
  };
3465
3465
 
3466
- const StackBarContainer = styled(Flex) `
3467
- flex-wrap: nowrap;
3468
- width: 100%;
3466
+ const StackBarContainer = styled(Flex) `
3467
+ flex-wrap: nowrap;
3468
+ width: 100%;
3469
3469
  `;
3470
- const StackBarHeader = styled(Flex) `
3471
- justify-content: space-between;
3472
- margin-bottom: 0.375rem;
3473
- font-size: 0.75rem;
3470
+ const StackBarHeader = styled(Flex) `
3471
+ justify-content: space-between;
3472
+ margin-bottom: 0.375rem;
3473
+ font-size: 0.75rem;
3474
3474
  `;
3475
- const StackBarSection = styled.div `
3476
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3477
- width: ${({ $width }) => $width}%;
3478
- height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3479
- margin: 0 0.5px;
3480
- background-color: ${({ $color }) => $color};
3481
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3482
- transition: opacity ${transition.release}, background-color ${transition.release};
3483
-
3484
- :first-child {
3485
- border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3486
- border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3487
- }
3488
-
3489
- :last-child {
3490
- border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3491
- border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3492
- }
3475
+ const StackBarSection = styled.div `
3476
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3477
+ width: ${({ $width }) => $width}%;
3478
+ height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3479
+ margin: 0 0.5px;
3480
+ background-color: ${({ $color }) => $color};
3481
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3482
+ transition: opacity ${transition.release}, background-color ${transition.release};
3483
+
3484
+ :first-child {
3485
+ border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3486
+ border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3487
+ }
3488
+
3489
+ :last-child {
3490
+ border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3491
+ border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3492
+ }
3493
3493
  `;
3494
- const StackBarAlias = styled.div `
3495
- color: ${({ theme: { palette } }) => palette.textSecondary};
3494
+ const StackBarAlias = styled.div `
3495
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3496
3496
  `;
3497
3497
  const StackBarTotal = styled(Flex) ``;
3498
3498
  const StackBarValue = styled.div ``;
3499
- const StackBarUnits = styled.div `
3500
- margin-left: 0.25rem;
3501
- color: ${({ theme: { palette } }) => palette.textSecondary};
3499
+ const StackBarUnits = styled.div `
3500
+ margin-left: 0.25rem;
3501
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3502
3502
  `;
3503
3503
 
3504
3504
  const transparentizeColor = (originalColor, percent) => {
@@ -4277,8 +4277,8 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4277
4277
  const customize = useCallback(({ svg }) => {
4278
4278
  svg.style("overflow", "visible");
4279
4279
  svg
4280
- .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4281
- .${lineChartClassNames.lineChartYScaleGlobal} line,
4280
+ .selectAll(`.${lineChartClassNames.lineChartXScaleGlobal} line,
4281
+ .${lineChartClassNames.lineChartYScaleGlobal} line,
4282
4282
  .domain`)
4283
4283
  .each((_, index, nodes) => {
4284
4284
  nodes[index].remove();
@@ -4349,11 +4349,11 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4349
4349
  .attr("fill", `url(#${gradientId})`)
4350
4350
  .attr("stroke-width", "0")
4351
4351
  .attr("fill-opacity", FILL_OPACITY);
4352
- defs.push(`
4353
- <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4354
- <stop offset="0" stop-color="${color}" stop-opacity="1" />
4355
- <stop offset="1" stop-color="${color}" stop-opacity="0" />
4356
- </linearGradient>
4352
+ defs.push(`
4353
+ <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4354
+ <stop offset="0" stop-color="${color}" stop-opacity="1" />
4355
+ <stop offset="1" stop-color="${color}" stop-opacity="0" />
4356
+ </linearGradient>
4357
4357
  `);
4358
4358
  ref.current = {
4359
4359
  path: newPath,
@@ -4702,10 +4702,7 @@ const applyVarsToCondition = ({ section, configFilters, filters, attributes, lay
4702
4702
  });
4703
4703
  return isSingle ? result?.[0] : result;
4704
4704
  };
4705
- const formatDataSourceCondition = ({ condition, configFilters, filters, attributes, eqlParameters, layerParams, geometry, }) => {
4706
- if (!condition) {
4707
- return "";
4708
- }
4705
+ const formatSingleCondition = (condition, { configFilters, filters, attributes, eqlParameters, layerParams, geometry }) => {
4709
4706
  const setParams = condition.match(new RegExp("\\$\\([^)]+\\)", "g"));
4710
4707
  const setParamsSection = applyVarsToCondition({
4711
4708
  section: setParams,
@@ -4734,105 +4731,114 @@ const formatDataSourceCondition = ({ condition, configFilters, filters, attribut
4734
4731
  ? setParamsSection.join("")
4735
4732
  : conditionSection.join(splitter);
4736
4733
  };
4734
+ const formatDataSourceCondition = ({ condition, ...rest }) => {
4735
+ if (Array.isArray(condition)) {
4736
+ return condition.map(item => formatSingleCondition(item, rest));
4737
+ }
4738
+ if (!condition) {
4739
+ return "";
4740
+ }
4741
+ return formatSingleCondition(condition, rest);
4742
+ };
4737
4743
 
4738
- const DashboardChipsContainer = styled(Flex) `
4739
- flex-wrap: wrap;
4744
+ const DashboardChipsContainer = styled(Flex) `
4745
+ flex-wrap: wrap;
4740
4746
  `;
4741
- const DefaultChipColorMixin = css `
4742
- && {
4743
- color: ${({ theme: { palette } }) => palette.textPrimary};
4744
- }
4745
-
4746
- && > * {
4747
- color: ${({ theme: { palette } }) => palette.textPrimary};
4748
- }
4749
-
4750
- && span[kind]:after {
4751
- color: ${({ theme: { palette } }) => palette.icon};
4752
- }
4747
+ const DefaultChipColorMixin = css `
4748
+ && {
4749
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4750
+ }
4751
+
4752
+ && > * {
4753
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4754
+ }
4755
+
4756
+ && span[kind]:after {
4757
+ color: ${({ theme: { palette } }) => palette.icon};
4758
+ }
4753
4759
  `;
4754
- const CustomChipColorMixin = css `
4755
- && {
4756
- color: ${({ $fontColor }) => $fontColor};
4757
- }
4758
-
4759
- && > * {
4760
- color: ${({ $fontColor }) => $fontColor};
4761
- }
4762
-
4763
- && span[kind]:after {
4764
- color: ${({ $fontColor }) => $fontColor};
4765
- }
4760
+ const CustomChipColorMixin = css `
4761
+ && {
4762
+ color: ${({ $fontColor }) => $fontColor};
4763
+ }
4764
+
4765
+ && > * {
4766
+ color: ${({ $fontColor }) => $fontColor};
4767
+ }
4768
+
4769
+ && span[kind]:after {
4770
+ color: ${({ $fontColor }) => $fontColor};
4771
+ }
4772
+ `;
4773
+ const DashboardChip$1 = styled(Chip) `
4774
+ margin: 0 0.25rem 0.25rem 0;
4775
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4776
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4777
+ white-space: nowrap;
4778
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4779
+ color: ${({ theme: { palette } }) => palette.iconContrast};
4780
+
4781
+ > * {
4782
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4783
+ }
4784
+
4785
+ span[kind] {
4786
+ height: 0.875rem;
4787
+
4788
+ :after {
4789
+ font-size: 0.875rem;
4790
+ }
4791
+ }
4792
+
4793
+ button {
4794
+ width: auto;
4795
+ padding: 0 0.5rem;
4796
+ }
4797
+
4798
+ ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4799
+ ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4766
4800
  `;
4767
- const DashboardChip$1 = styled(Chip) `
4768
- margin: 0 0.25rem 0.25rem 0;
4769
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4770
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4771
- white-space: nowrap;
4772
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4773
- color: ${({ theme: { palette } }) => palette.iconContrast};
4774
-
4775
- > * {
4776
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4777
- }
4778
-
4779
- span[kind] {
4780
- height: 0.875rem;
4781
-
4782
- :after {
4783
- font-size: 0.875rem;
4784
- }
4785
- }
4786
-
4787
- button {
4788
- width: auto;
4789
- padding: 0 0.5rem;
4790
- }
4791
-
4792
- ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4793
- ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4794
- `;
4795
-
4796
- const LayerGroupContainer = styled(Flex) `
4797
- display: flex;
4798
- justify-content: center;
4799
- position: relative;
4800
- flex-direction: column;
4801
- padding: 0 0.25rem 0 1rem;
4802
- box-sizing: border-box;
4803
- transition: opacity ${transition.hover}, background-color ${transition.hover};
4804
- font-family: "NunitoSans", sans-serif;
4805
- `;
4806
- const LayerGroupMain = styled(Flex) `
4807
- flex-direction: row;
4808
- flex-wrap: nowrap;
4809
- align-items: center;
4810
- justify-content: space-between;
4811
- width: 100%;
4812
-
4813
- ${Icon} {
4814
- width: 2rem;
4815
- min-width: 2rem;
4816
- height: 2rem;
4817
- display: inline-flex;
4818
- align-items: center;
4819
- justify-content: center;
4820
- margin-right: 0.75rem;
4821
- }
4822
-
4823
- ${Description} {
4824
- display: flex;
4825
- align-items: center;
4826
- flex-grow: 1;
4827
- width: 100%;
4828
- margin-right: 0.25rem;
4829
- color: ${({ theme }) => theme.palette.textPrimary};
4830
- }
4831
4801
 
4832
- button {
4833
- width: 2.25rem;
4834
- justify-content: flex-start;
4835
- }
4802
+ const LayerGroupContainer = styled(Flex) `
4803
+ display: flex;
4804
+ justify-content: center;
4805
+ position: relative;
4806
+ flex-direction: column;
4807
+ padding: 0 0.25rem 0 1rem;
4808
+ box-sizing: border-box;
4809
+ transition: opacity ${transition.hover}, background-color ${transition.hover};
4810
+ font-family: "NunitoSans", sans-serif;
4811
+ `;
4812
+ const LayerGroupMain = styled(Flex) `
4813
+ flex-direction: row;
4814
+ flex-wrap: nowrap;
4815
+ align-items: center;
4816
+ justify-content: space-between;
4817
+ width: 100%;
4818
+
4819
+ ${Icon} {
4820
+ width: 2rem;
4821
+ min-width: 2rem;
4822
+ height: 2rem;
4823
+ display: inline-flex;
4824
+ align-items: center;
4825
+ justify-content: center;
4826
+ margin-right: 0.75rem;
4827
+ }
4828
+
4829
+ ${Description} {
4830
+ display: flex;
4831
+ align-items: center;
4832
+ flex-grow: 1;
4833
+ width: 100%;
4834
+ margin-right: 0.25rem;
4835
+ color: ${({ theme }) => theme.palette.textPrimary};
4836
+ }
4837
+
4838
+ button {
4839
+ width: 2.25rem;
4840
+ justify-content: flex-start;
4841
+ }
4836
4842
  `;
4837
4843
 
4838
4844
  const customModes = MapboxDraw.modes;
@@ -5098,7 +5104,7 @@ const useMapImages = ({ images }) => {
5098
5104
  else {
5099
5105
  // PNG/другие форматы: используем стандартную загрузку Mapbox
5100
5106
  return new Promise((resolve, reject) => {
5101
- map.current.loadImage(config.url).then((image) => {
5107
+ map.current.loadImage(config.url).then(image => {
5102
5108
  if (image) {
5103
5109
  map.current.addImage(config.name, image, {
5104
5110
  sdf,
@@ -5487,6 +5493,8 @@ const SERVER_NOTIFICATION_EVENT = {
5487
5493
  PythonProgressNotification: "ReceivePythonProgressNotification",
5488
5494
  PythonSandboxStats: "ReceivePythonSandboxStatsNotification",
5489
5495
  };
5496
+ const POLL_SUBTASK_INTERVAL_MS = 500;
5497
+ const POLL_SUBTASK_TIMEOUT_MS = 15_000;
5490
5498
 
5491
5499
  const usePythonSandbox = () => {
5492
5500
  const { api } = useGlobalContext();
@@ -5498,6 +5506,25 @@ const usePythonSandbox = () => {
5498
5506
  return { preparePythonSandbox };
5499
5507
  };
5500
5508
 
5509
+ const FINAL_STATUSES = [
5510
+ RemoteTaskStatus.Completed,
5511
+ RemoteTaskStatus.Error,
5512
+ RemoteTaskStatus.Interrupted,
5513
+ RemoteTaskStatus.Timeout,
5514
+ ];
5515
+ const wait = (ms) => new Promise(resolve => window.setTimeout(resolve, ms));
5516
+ const pollSubtaskCompletion = async ({ taskId, api, intervalMs = POLL_SUBTASK_INTERVAL_MS, timeoutMs = POLL_SUBTASK_TIMEOUT_MS, }) => {
5517
+ const deadline = Date.now() + timeoutMs;
5518
+ let subTask = (await api.remoteTaskManager.get(taskId))?.[0] ?? null;
5519
+ while (subTask && !FINAL_STATUSES.includes(subTask.status)) {
5520
+ if (Date.now() >= deadline)
5521
+ return null;
5522
+ await wait(intervalMs);
5523
+ subTask = (await api.remoteTaskManager.get(taskId))?.[0] ?? null;
5524
+ }
5525
+ return subTask;
5526
+ };
5527
+
5501
5528
  const usePythonTask = () => {
5502
5529
  const { api, t } = useGlobalContext();
5503
5530
  const { addSubscription, connection, unsubscribeById } = useServerNotificationsContext();
@@ -5574,8 +5601,24 @@ const usePythonTask = () => {
5574
5601
  connection.off(SERVER_NOTIFICATION_EVENT.PythonProgressNotification, onNotification);
5575
5602
  }
5576
5603
  if (data.status === RemoteTaskStatus.Completed) {
5577
- const subTasks = await api.remoteTaskManager.get(newTaskId);
5578
- setResult(subTasks?.[0]?.results?.response ?? null);
5604
+ try {
5605
+ const subTask = await pollSubtaskCompletion({ taskId: newTaskId, api });
5606
+ if (subTask?.status === RemoteTaskStatus.Completed) {
5607
+ const response = subTask.results?.response;
5608
+ setResult(typeof response === "object" && response !== null
5609
+ ? response
5610
+ : null);
5611
+ }
5612
+ else {
5613
+ setError(new Error(t("taskResultUnavailable", {
5614
+ ns: "devMode",
5615
+ defaultValue: "Не удалось получить результат задачи",
5616
+ })));
5617
+ }
5618
+ }
5619
+ catch (e) {
5620
+ setError(e instanceof Error ? e : new Error(String(e)));
5621
+ }
5579
5622
  }
5580
5623
  }
5581
5624
  };
@@ -5734,330 +5777,330 @@ const LayerTree = ({ layers, onlyMainTools }) => {
5734
5777
  return (jsx(DraggableTree, { nodes: nodes, disableDrag: onlyMainTools, options: { pastePlaceholderHeight: "0.025rem" }, onUpdate: onUpdate }));
5735
5778
  };
5736
5779
 
5737
- const LayersListWrapper = styled(Flex) `
5738
- flex-direction: column;
5739
- height: 100%;
5740
- width: 100%;
5741
- box-sizing: border-box;
5780
+ const LayersListWrapper = styled(Flex) `
5781
+ flex-direction: column;
5782
+ height: 100%;
5783
+ width: 100%;
5784
+ box-sizing: border-box;
5742
5785
  `;
5743
- const LayerListContainer = styled(Flex) `
5744
- flex-grow: 1;
5745
- height: 100%;
5746
- box-sizing: border-box;
5747
- padding-top: 0.25rem;
5786
+ const LayerListContainer = styled(Flex) `
5787
+ flex-grow: 1;
5788
+ height: 100%;
5789
+ box-sizing: border-box;
5790
+ padding-top: 0.25rem;
5748
5791
  `;
5749
5792
 
5750
- const ElementValueWrapper = styled.div `
5751
- transition: background-color ${transition.toggle};
5752
-
5793
+ const ElementValueWrapper = styled.div `
5794
+ transition: background-color ${transition.toggle};
5795
+
5753
5796
  ${({ noMargin }) => !!noMargin &&
5754
- css `
5755
- &&&& {
5756
- margin-bottom: 0;
5757
- }
5758
- `};
5759
- `;
5760
- const Container = styled(Flex) `
5761
- flex-direction: column;
5762
- width: 100%;
5763
-
5797
+ css `
5798
+ &&&& {
5799
+ margin-bottom: 0;
5800
+ }
5801
+ `};
5802
+ `;
5803
+ const Container = styled(Flex) `
5804
+ flex-direction: column;
5805
+ width: 100%;
5806
+
5764
5807
  ${({ isColumn }) => isColumn
5765
- ? css `
5766
- &&& > * {
5767
- justify-content: flex-start;
5768
- }
5769
- > * {
5770
- width: 100%;
5771
-
5772
- :not(:last-child) {
5773
- margin-bottom: 0.5rem;
5774
- }
5775
- }
5808
+ ? css `
5809
+ &&& > * {
5810
+ justify-content: flex-start;
5811
+ }
5812
+ > * {
5813
+ width: 100%;
5814
+
5815
+ :not(:last-child) {
5816
+ margin-bottom: 0.5rem;
5817
+ }
5818
+ }
5776
5819
  `
5777
- : css `
5778
- flex-direction: row;
5779
- justify-content: space-between;
5780
- align-items: center;
5781
- `}
5782
-
5820
+ : css `
5821
+ flex-direction: row;
5822
+ justify-content: space-between;
5823
+ align-items: center;
5824
+ `}
5825
+
5783
5826
  ${({ isTitle }) => isTitle &&
5784
- css `
5785
- &&&& {
5786
- margin-bottom: 0.75rem;
5787
- }
5788
- `}
5789
-
5827
+ css `
5828
+ &&&& {
5829
+ margin-bottom: 0.75rem;
5830
+ }
5831
+ `}
5832
+
5790
5833
  ${({ noBorders }) => noBorders &&
5791
- css `
5792
- ${ContainerWrapper} {
5793
- box-shadow: none;
5794
- padding: 0;
5795
- }
5796
- `}
5797
- `;
5798
- const ContainerWrapper = styled(Flex) `
5799
- position: relative;
5800
- box-sizing: border-box;
5801
- width: 100%;
5802
- background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5803
- box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5804
- margin-bottom: 2rem;
5805
- padding: 1.5rem;
5806
- border-radius: 0.5rem;
5807
- backdrop-filter: blur(20px);
5808
- color: ${({ theme: { palette } }) => palette.textPrimary};
5809
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
5810
- transition: background-color ${transition.toggle};
5811
-
5834
+ css `
5835
+ ${ContainerWrapper} {
5836
+ box-shadow: none;
5837
+ padding: 0;
5838
+ }
5839
+ `}
5840
+ `;
5841
+ const ContainerWrapper = styled(Flex) `
5842
+ position: relative;
5843
+ box-sizing: border-box;
5844
+ width: 100%;
5845
+ background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5846
+ box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5847
+ margin-bottom: 2rem;
5848
+ padding: 1.5rem;
5849
+ border-radius: 0.5rem;
5850
+ backdrop-filter: blur(20px);
5851
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5852
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
5853
+ transition: background-color ${transition.toggle};
5854
+
5812
5855
  ${({ $noMargin }) => $noMargin &&
5813
- css `
5814
- &&&& {
5815
- margin-bottom: 0;
5816
- }
5817
- `}
5818
- `;
5819
- const DashboardChip = styled(Chip) `
5820
- margin: 0 0.25rem 0.25rem 0;
5821
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5822
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5823
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5824
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5825
-
5826
- > * {
5827
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5828
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5829
- }
5830
-
5831
- span[kind]:after {
5832
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
5833
- }
5834
- `;
5835
- const DashboardPlaceholderWrap = styled(Flex) `
5836
- flex-grow: 1;
5837
- flex-direction: column;
5838
- justify-content: center;
5839
- align-items: center;
5840
- width: 100%;
5841
- margin-bottom: 2rem;
5856
+ css `
5857
+ &&&& {
5858
+ margin-bottom: 0;
5859
+ }
5860
+ `}
5861
+ `;
5862
+ const DashboardChip = styled(Chip) `
5863
+ margin: 0 0.25rem 0.25rem 0;
5864
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5865
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5866
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5867
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5868
+
5869
+ > * {
5870
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5871
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5872
+ }
5873
+
5874
+ span[kind]:after {
5875
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
5876
+ }
5842
5877
  `;
5843
- const DashboardPlaceholder = styled(Flex) `
5844
- flex-direction: column;
5845
- justify-content: center;
5846
- align-items: center;
5847
- margin-top: 2rem;
5848
-
5878
+ const DashboardPlaceholderWrap = styled(Flex) `
5879
+ flex-grow: 1;
5880
+ flex-direction: column;
5881
+ justify-content: center;
5882
+ align-items: center;
5883
+ width: 100%;
5884
+ margin-bottom: 2rem;
5885
+ `;
5886
+ const DashboardPlaceholder = styled(Flex) `
5887
+ flex-direction: column;
5888
+ justify-content: center;
5889
+ align-items: center;
5890
+ margin-top: 2rem;
5891
+
5849
5892
  ${({ isLoading }) => isLoading &&
5850
- css `
5851
- width: 6.25rem;
5852
- `}
5853
-
5854
- &&& > * {
5855
- margin-bottom: 0;
5856
- }
5857
-
5858
- > div {
5859
- width: 100%;
5860
- margin-top: 1rem;
5861
- font-size: 0.75rem;
5862
- text-align: center;
5863
- color: ${({ theme: { palette } }) => palette.textDisabled};
5864
- }
5865
-
5866
- span[kind] {
5867
- width: 2.25rem;
5868
- height: 2.25rem;
5869
- opacity: 0.28;
5870
-
5871
- :after {
5872
- font-size: 32px;
5873
- }
5874
- }
5893
+ css `
5894
+ width: 6.25rem;
5895
+ `}
5896
+
5897
+ &&& > * {
5898
+ margin-bottom: 0;
5899
+ }
5900
+
5901
+ > div {
5902
+ width: 100%;
5903
+ margin-top: 1rem;
5904
+ font-size: 0.75rem;
5905
+ text-align: center;
5906
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5907
+ }
5908
+
5909
+ span[kind] {
5910
+ width: 2.25rem;
5911
+ height: 2.25rem;
5912
+ opacity: 0.28;
5913
+
5914
+ :after {
5915
+ font-size: 32px;
5916
+ }
5917
+ }
5875
5918
  `;
5876
- const DashboardWrapper = styled(Flex) `
5877
- flex-direction: column;
5878
- flex-wrap: nowrap;
5879
- flex-grow: 1;
5880
- width: calc(100% - 3rem);
5881
- height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5882
-
5919
+ const DashboardWrapper = styled(Flex) `
5920
+ flex-direction: column;
5921
+ flex-wrap: nowrap;
5922
+ flex-grow: 1;
5923
+ width: calc(100% - 3rem);
5924
+ height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5925
+
5883
5926
  ${({ hasImage, isPresentationMode }) => hasImage &&
5884
5927
  !isPresentationMode &&
5885
- css `
5886
- margin-top: -0.35rem;
5887
- `}
5888
- `;
5889
- const DashboardContent = styled(Flex) `
5890
- flex-grow: 1;
5891
- width: 100%;
5892
- padding: 1.5rem 1.5rem 2rem;
5893
- overflow-y: auto;
5894
- scrollbar-gutter: stable;
5895
- `;
5896
- const PresentationWrapperCss = css `
5897
- margin-bottom: 0.75rem;
5898
- padding: 1.5rem;
5899
- background-color: ${({ theme: { palette } }) => palette.panelBackground};
5900
- backdrop-filter: blur(10px);
5901
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5902
- box-shadow: ${shadows.raised};
5903
- `;
5904
- const PresentationWrapper = styled.div `
5905
- ${PresentationWrapperCss};
5906
- position: relative;
5907
- z-index: 1;
5908
- `;
5909
- const PresentationPanelWrapper = styled(PresentationWrapper) `
5910
- margin-top: 0.75rem;
5911
- transition: background-color ${transition.toggle};
5912
- `;
5913
- const PresentationHeader = styled.div `
5914
- margin: -1.5rem -1.5rem 0 -1.5rem;
5915
- padding: 1.5rem;
5916
- // background: url(images.presentationHeader) 0 0 no-repeat;
5917
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5918
- transition: background-color ${transition.toggle};
5919
-
5928
+ css `
5929
+ margin-top: -0.35rem;
5930
+ `}
5931
+ `;
5932
+ const DashboardContent = styled(Flex) `
5933
+ flex-grow: 1;
5934
+ width: 100%;
5935
+ padding: 1.5rem 1.5rem 2rem;
5936
+ overflow-y: auto;
5937
+ scrollbar-gutter: stable;
5938
+ `;
5939
+ const PresentationWrapperCss = css `
5940
+ margin-bottom: 0.75rem;
5941
+ padding: 1.5rem;
5942
+ background-color: ${({ theme: { palette } }) => palette.panelBackground};
5943
+ backdrop-filter: blur(10px);
5944
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5945
+ box-shadow: ${shadows.raised};
5946
+ `;
5947
+ const PresentationWrapper = styled.div `
5948
+ ${PresentationWrapperCss};
5949
+ position: relative;
5950
+ z-index: 1;
5951
+ `;
5952
+ const PresentationPanelWrapper = styled(PresentationWrapper) `
5953
+ margin-top: 0.75rem;
5954
+ transition: background-color ${transition.toggle};
5955
+ `;
5956
+ const PresentationHeader = styled.div `
5957
+ margin: -1.5rem -1.5rem 0 -1.5rem;
5958
+ padding: 1.5rem;
5959
+ // background: url(images.presentationHeader) 0 0 no-repeat;
5960
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5961
+ transition: background-color ${transition.toggle};
5962
+
5920
5963
  ${({ image }) => !!image &&
5921
- css `
5922
- padding-top: 7rem;
5923
- `};
5924
- `;
5925
- const PresentationHeaderTools = styled(Flex) `
5926
- justify-content: space-between;
5927
- align-items: center;
5928
- margin-bottom: -0.5rem;
5929
- margin-right: -0.5rem;
5930
-
5931
- span[kind="sun"],
5932
- span[kind="moon"] {
5933
- :after {
5934
- font-size: 0.85rem;
5935
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5936
- }
5937
-
5938
- :hover:after {
5939
- color: ${({ theme: { palette } }) => palette.icon};
5940
- }
5941
- }
5964
+ css `
5965
+ padding-top: 7rem;
5966
+ `};
5967
+ `;
5968
+ const PresentationHeaderTools = styled(Flex) `
5969
+ justify-content: space-between;
5970
+ align-items: center;
5971
+ margin-bottom: -0.5rem;
5972
+ margin-right: -0.5rem;
5973
+
5974
+ span[kind="sun"],
5975
+ span[kind="moon"] {
5976
+ :after {
5977
+ font-size: 0.85rem;
5978
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5979
+ }
5980
+
5981
+ :hover:after {
5982
+ color: ${({ theme: { palette } }) => palette.icon};
5983
+ }
5984
+ }
5942
5985
  `;
5943
- const LayerGroupList = styled(Flex) `
5944
- flex-direction: column;
5945
- height: 100%;
5946
- flex-wrap: nowrap;
5947
- overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5948
- overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5949
- padding: 0 0.125rem 0 0.75rem;
5950
- scrollbar-gutter: stable;
5951
-
5952
- > * {
5953
- flex-grow: 1;
5954
- }
5986
+ const LayerGroupList = styled(Flex) `
5987
+ flex-direction: column;
5988
+ height: 100%;
5989
+ flex-wrap: nowrap;
5990
+ overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5991
+ overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5992
+ padding: 0 0.125rem 0 0.75rem;
5993
+ scrollbar-gutter: stable;
5994
+
5995
+ > * {
5996
+ flex-grow: 1;
5997
+ }
5955
5998
  `;
5956
5999
  const PresentationHeaderButtons = styled(Flex) ``;
5957
- const PresentationPanelContainer = styled.div `
5958
- position: absolute;
5959
- top: 0;
5960
- left: calc(${({ left }) => left || 0}px + 0.75rem);
5961
- bottom: 0;
5962
- z-index: 3;
5963
- display: flex;
5964
- flex-direction: column;
5965
- width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5966
- padding-right: 0.5rem;
5967
- scrollbar-gutter: stable;
5968
- overflow-y: hidden;
5969
-
5970
- :hover {
5971
- overflow-y: auto;
5972
- }
5973
-
6000
+ const PresentationPanelContainer = styled.div `
6001
+ position: absolute;
6002
+ top: 0;
6003
+ left: calc(${({ left }) => left || 0}px + 0.75rem);
6004
+ bottom: 0;
6005
+ z-index: 3;
6006
+ display: flex;
6007
+ flex-direction: column;
6008
+ width: ${LEFT_PANEL_HEADER_HEIGHT}px;
6009
+ padding-right: 0.5rem;
6010
+ scrollbar-gutter: stable;
6011
+ overflow-y: hidden;
6012
+
6013
+ :hover {
6014
+ overflow-y: auto;
6015
+ }
6016
+
5974
6017
  ${({ showLayers }) => !showLayers &&
5975
- css `
5976
- > :first-child {
5977
- padding-bottom: 0;
5978
- }
5979
- `};
5980
-
5981
- ${PresentationHeader} > * {
5982
- position: relative;
5983
- z-index: 2;
5984
- }
5985
-
5986
- /* PaginationWrapper {
5987
- ${PresentationWrapperCss};
5988
- width: calc(100% - 2rem);
5989
- min-height: 8.625rem;
5990
- padding-top: 0.5rem;
5991
- padding-bottom: 0.5rem;
5992
- margin-bottom: 0.75rem;
5993
- }*/
5994
-
5995
- ${DashboardWrapper} {
5996
- width: 100%;
5997
- margin-top: 0;
5998
-
5999
- ${DashboardContent} {
6000
- padding: 0;
6001
- overflow-y: unset;
6002
-
6003
- > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
6004
- ${PresentationWrapperCss};
6005
- width: calc(100% - 3rem);
6006
- }
6007
- }
6008
- }
6009
-
6010
- ${DashboardPlaceholder} {
6011
- ${PresentationWrapperCss};
6012
- width: 18.5rem;
6013
- height: 10.75rem;
6014
- }
6015
-
6016
- ${LayerListContainer} {
6017
- height: auto;
6018
- margin: 0 -1.125rem -1.5rem;
6019
- padding: 0;
6020
-
6021
- ${LayerGroupList} {
6022
- padding: 0;
6023
- }
6024
- }
6018
+ css `
6019
+ > :first-child {
6020
+ padding-bottom: 0;
6021
+ }
6022
+ `};
6023
+
6024
+ ${PresentationHeader} > * {
6025
+ position: relative;
6026
+ z-index: 2;
6027
+ }
6028
+
6029
+ /* PaginationWrapper {
6030
+ ${PresentationWrapperCss};
6031
+ width: calc(100% - 2rem);
6032
+ min-height: 8.625rem;
6033
+ padding-top: 0.5rem;
6034
+ padding-bottom: 0.5rem;
6035
+ margin-bottom: 0.75rem;
6036
+ }*/
6037
+
6038
+ ${DashboardWrapper} {
6039
+ width: 100%;
6040
+ margin-top: 0;
6041
+
6042
+ ${DashboardContent} {
6043
+ padding: 0;
6044
+ overflow-y: unset;
6045
+
6046
+ > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
6047
+ ${PresentationWrapperCss};
6048
+ width: calc(100% - 3rem);
6049
+ }
6050
+ }
6051
+ }
6052
+
6053
+ ${DashboardPlaceholder} {
6054
+ ${PresentationWrapperCss};
6055
+ width: 18.5rem;
6056
+ height: 10.75rem;
6057
+ }
6058
+
6059
+ ${LayerListContainer} {
6060
+ height: auto;
6061
+ margin: 0 -1.125rem -1.5rem;
6062
+ padding: 0;
6063
+
6064
+ ${LayerGroupList} {
6065
+ padding: 0;
6066
+ }
6067
+ }
6025
6068
  `;
6026
- const DataSourceErrorContainer = styled(Flex) `
6027
- align-items: center;
6028
- justify-content: center;
6029
- flex-wrap: nowrap;
6030
- flex-grow: 1;
6031
- padding: 1rem;
6032
- border: 1px ${({ theme: { palette } }) => palette.element} solid;
6033
- border-radius: 10px;
6034
- font-size: 0.875rem;
6035
- color: ${({ theme: { palette } }) => palette.textDisabled};
6036
-
6037
- span[kind] {
6038
- margin-right: 1rem;
6039
-
6040
- :after {
6041
- color: ${({ theme: { palette } }) => palette.iconDisabled};
6042
- }
6043
- }
6069
+ const DataSourceErrorContainer = styled(Flex) `
6070
+ align-items: center;
6071
+ justify-content: center;
6072
+ flex-wrap: nowrap;
6073
+ flex-grow: 1;
6074
+ padding: 1rem;
6075
+ border: 1px ${({ theme: { palette } }) => palette.element} solid;
6076
+ border-radius: 10px;
6077
+ font-size: 0.875rem;
6078
+ color: ${({ theme: { palette } }) => palette.textDisabled};
6079
+
6080
+ span[kind] {
6081
+ margin-right: 1rem;
6082
+
6083
+ :after {
6084
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
6085
+ }
6086
+ }
6044
6087
  `;
6045
- const AttributeLabel = styled(Description) `
6046
- margin-top: 0 !important;
6047
- margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
6048
- padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
6049
- `;
6050
- const FeatureControls = styled(Flex) `
6051
- align-items: center;
6052
- gap: 1rem;
6053
- flex-wrap: nowrap;
6054
- position: relative;
6055
- flex-shrink: 0;
6056
-
6057
- button {
6058
- padding: 0;
6059
- width: auto;
6060
- }
6088
+ const AttributeLabel = styled(Description) `
6089
+ margin-top: 0 !important;
6090
+ margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
6091
+ padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
6092
+ `;
6093
+ const FeatureControls = styled(Flex) `
6094
+ align-items: center;
6095
+ gap: 1rem;
6096
+ flex-wrap: nowrap;
6097
+ position: relative;
6098
+ flex-shrink: 0;
6099
+
6100
+ button {
6101
+ padding: 0;
6102
+ width: auto;
6103
+ }
6061
6104
  `;
6062
6105
 
6063
6106
  const getAttributeByName = (name, attributes) => {
@@ -6140,148 +6183,148 @@ const ContainersGroupContainer = memo(({ elementConfig, type, renderElement }) =
6140
6183
  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 }) }))] }));
6141
6184
  });
6142
6185
 
6143
- const ChartLegendContainer = styled(Flex) `
6144
- flex-direction: column;
6145
- flex-wrap: wrap;
6146
- justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
6147
- `;
6148
- const ChartLegendItem = styled(Flex) `
6149
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6150
- align-items: center;
6151
- flex-wrap: nowrap;
6152
- width: auto;
6153
- margin-right: 0.375rem;
6154
- margin-bottom: 0.25rem;
6155
- line-height: 0.75rem;
6156
- opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6157
- `;
6158
- const ChartLegendColor = styled.div `
6159
- width: 0.5rem;
6160
- height: 0.5rem;
6161
- margin-right: 0.375rem;
6162
- background-color: ${({ color }) => color};
6163
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
6164
- `;
6165
- const ChartLegendName = styled.div `
6166
- flex: 1;
6167
- font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
6168
- color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
6169
- `;
6170
-
6171
- const ContainerAlias = styled(Flex) `
6172
- align-items: center;
6173
- flex-wrap: nowrap;
6174
- font-size: 0.75rem;
6175
- color: ${({ theme: { palette } }) => palette.textSecondary};
6176
-
6177
- &&& {
6178
- margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
6179
- }
6180
-
6181
- span[kind] {
6182
- margin-right: 0.5rem;
6186
+ const ChartLegendContainer = styled(Flex) `
6187
+ flex-direction: column;
6188
+ flex-wrap: wrap;
6189
+ justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
6190
+ `;
6191
+ const ChartLegendItem = styled(Flex) `
6192
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6193
+ align-items: center;
6194
+ flex-wrap: nowrap;
6195
+ width: auto;
6196
+ margin-right: 0.375rem;
6197
+ margin-bottom: 0.25rem;
6198
+ line-height: 0.75rem;
6199
+ opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6200
+ `;
6201
+ const ChartLegendColor = styled.div `
6202
+ width: 0.5rem;
6203
+ height: 0.5rem;
6204
+ margin-right: 0.375rem;
6205
+ background-color: ${({ color }) => color};
6206
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
6207
+ `;
6208
+ const ChartLegendName = styled.div `
6209
+ flex: 1;
6210
+ font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
6211
+ color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
6212
+ `;
6183
6213
 
6184
- :after {
6185
- color: ${({ theme: { palette } }) => palette.primary};
6186
- }
6187
- }
6214
+ const ContainerAlias = styled(Flex) `
6215
+ align-items: center;
6216
+ flex-wrap: nowrap;
6217
+ font-size: 0.75rem;
6218
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6219
+
6220
+ &&& {
6221
+ margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
6222
+ }
6223
+
6224
+ span[kind] {
6225
+ margin-right: 0.5rem;
6226
+
6227
+ :after {
6228
+ color: ${({ theme: { palette } }) => palette.primary};
6229
+ }
6230
+ }
6188
6231
  `;
6189
- const ContainerAliasIcon = styled.div `
6190
- margin-right: 0.5rem;
6232
+ const ContainerAliasIcon = styled.div `
6233
+ margin-right: 0.5rem;
6191
6234
  `;
6192
- const ContainerChart = styled(Flex) `
6193
- justify-content: flex-start;
6194
-
6195
- > * {
6196
- display: flex;
6197
- justify-content: center;
6198
- width: 100%;
6199
- }
6235
+ const ContainerChart = styled(Flex) `
6236
+ justify-content: flex-start;
6237
+
6238
+ > * {
6239
+ display: flex;
6240
+ justify-content: center;
6241
+ width: 100%;
6242
+ }
6200
6243
  `;
6201
6244
  const ContainerLegend = styled(Flex) ``;
6202
- const ContainerUnits = styled.div `
6203
- margin-left: 0.5rem;
6204
- white-space: nowrap;
6205
- font-size: 0.75rem;
6206
- `;
6207
- const ContainerValue = styled(Flex) `
6208
- justify-content: flex-end;
6209
- align-items: center;
6210
- flex-wrap: nowrap;
6211
- width: 100%;
6212
- font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
6213
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6214
-
6215
- > * {
6216
- width: ${({ column }) => (column ? "100%" : "auto")};
6217
- }
6218
-
6219
- ${ContainerChart}, ${ContainerLegend} {
6220
- width: ${({ column }) => (column ? "100%" : "50%")};
6221
- }
6222
-
6223
- ${ContainerLegend} {
6224
- margin-left: ${({ column }) => (column ? 0 : "1rem")};
6225
- }
6226
-
6227
- ${ChartLegendContainer} {
6228
- flex-direction: ${({ column }) => (column ? "row" : "column")};
6229
- margin-top: ${({ column }) => (column ? "1rem" : 0)};
6230
- }
6245
+ const ContainerUnits = styled.div `
6246
+ margin-left: 0.5rem;
6247
+ white-space: nowrap;
6248
+ font-size: 0.75rem;
6249
+ `;
6250
+ const ContainerValue = styled(Flex) `
6251
+ justify-content: flex-end;
6252
+ align-items: center;
6253
+ flex-wrap: nowrap;
6254
+ width: 100%;
6255
+ font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
6256
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6257
+
6258
+ > * {
6259
+ width: ${({ column }) => (column ? "100%" : "auto")};
6260
+ }
6261
+
6262
+ ${ContainerChart}, ${ContainerLegend} {
6263
+ width: ${({ column }) => (column ? "100%" : "50%")};
6264
+ }
6265
+
6266
+ ${ContainerLegend} {
6267
+ margin-left: ${({ column }) => (column ? 0 : "1rem")};
6268
+ }
6269
+
6270
+ ${ChartLegendContainer} {
6271
+ flex-direction: ${({ column }) => (column ? "row" : "column")};
6272
+ margin-top: ${({ column }) => (column ? "1rem" : 0)};
6273
+ }
6231
6274
  `;
6232
- const ColorIconMixin = css `
6233
- :after {
6234
- color: ${({ $fontColor }) => $fontColor} !important;
6235
- }
6275
+ const ColorIconMixin = css `
6276
+ :after {
6277
+ color: ${({ $fontColor }) => $fontColor} !important;
6278
+ }
6236
6279
  `;
6237
- const SizeIconMixin = css `
6238
- :after {
6239
- font-size: ${({ $fontSize }) => $fontSize}px !important;
6240
- }
6280
+ const SizeIconMixin = css `
6281
+ :after {
6282
+ font-size: ${({ $fontSize }) => $fontSize}px !important;
6283
+ }
6241
6284
  `;
6242
- const ContainerIcon = styled(Icon) `
6243
- width: auto;
6244
- height: auto;
6245
- margin-bottom: 0.5rem;
6246
- ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6247
- ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6248
- `;
6249
- const SvgContainerColorMixin$1 = css `
6250
- path,
6251
- line,
6252
- circle {
6253
- fill: ${({ $fontColor }) => $fontColor};
6254
- }
6285
+ const ContainerIcon = styled(Icon) `
6286
+ width: auto;
6287
+ height: auto;
6288
+ margin-bottom: 0.5rem;
6289
+ ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6290
+ ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6291
+ `;
6292
+ const SvgContainerColorMixin$1 = css `
6293
+ path,
6294
+ line,
6295
+ circle {
6296
+ fill: ${({ $fontColor }) => $fontColor};
6297
+ }
6255
6298
  `;
6256
- const SvgContainer$1 = styled.div `
6257
- &&& {
6258
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6259
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6260
-
6261
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6262
-
6263
- > * {
6264
- min-width: inherit;
6265
- }
6266
- }
6299
+ const SvgContainer$1 = styled.div `
6300
+ &&& {
6301
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6302
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6303
+
6304
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6305
+
6306
+ > * {
6307
+ min-width: inherit;
6308
+ }
6309
+ }
6267
6310
  `;
6268
- const TwoColumnContainerWrapper = styled(Flex) `
6269
- width: 100%;
6270
- flex-direction: row;
6271
- flex-wrap: nowrap;
6272
- align-items: center;
6273
-
6274
- > * {
6275
- flex: 1;
6276
- }
6277
-
6278
- > ${ContainerValue} {
6279
- justify-content: flex-end;
6280
-
6281
- > * {
6282
- text-align: right;
6283
- }
6284
- }
6311
+ const TwoColumnContainerWrapper = styled(Flex) `
6312
+ width: 100%;
6313
+ flex-direction: row;
6314
+ flex-wrap: nowrap;
6315
+ align-items: center;
6316
+
6317
+ > * {
6318
+ flex: 1;
6319
+ }
6320
+
6321
+ > ${ContainerValue} {
6322
+ justify-content: flex-end;
6323
+
6324
+ > * {
6325
+ text-align: right;
6326
+ }
6327
+ }
6285
6328
  `;
6286
6329
 
6287
6330
  const useRenderContainerItem = (type, renderElement) => {
@@ -6380,10 +6423,10 @@ const TwoColumnContainer = memo(({ elementConfig, type, renderElement }) => {
6380
6423
  return attributesToRender ? (jsx(Fragment$1, { children: attributesToRender.map(renderContainer) })) : (renderContainer());
6381
6424
  });
6382
6425
 
6383
- const InnerContainerWrapper = styled.div `
6384
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6385
- width: ${({ column }) => (column ? "100%" : "auto")};
6386
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6426
+ const InnerContainerWrapper = styled.div `
6427
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6428
+ width: ${({ column }) => (column ? "100%" : "auto")};
6429
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6387
6430
  `;
6388
6431
 
6389
6432
  const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValue, type, index, innerComponent }) => {
@@ -6443,107 +6486,107 @@ const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValu
6443
6486
  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 }) }));
6444
6487
  });
6445
6488
 
6446
- const DataSourceProgressContainerWrapper = styled.div `
6447
- width: 100%;
6489
+ const DataSourceProgressContainerWrapper = styled.div `
6490
+ width: 100%;
6448
6491
  `;
6449
- const ContainerToggler = styled(LegendToggler) `
6450
- width: auto;
6451
- margin-left: -1rem;
6492
+ const ContainerToggler = styled(LegendToggler) `
6493
+ width: auto;
6494
+ margin-left: -1rem;
6452
6495
  `;
6453
6496
 
6454
- const ProgressContainerWrapper = styled(Flex) `
6455
- align-items: center;
6456
- width: 100%;
6457
- margin-bottom: 1rem;
6458
- `;
6459
- const ProgressIcon = styled.div `
6460
- margin-right: 0.5rem;
6461
- `;
6462
- const ProgressContent = styled(Flex) `
6463
- flex: 1;
6464
- flex-direction: column;
6497
+ const ProgressContainerWrapper = styled(Flex) `
6498
+ align-items: center;
6499
+ width: 100%;
6500
+ margin-bottom: 1rem;
6465
6501
  `;
6466
- const ProgressAlias = styled(Flex) `
6467
- flex: 1;
6468
- justify-content: space-between;
6469
- margin-bottom: 0.25rem;
6470
- font-size: 0.75rem;
6471
- color: ${({ theme: { palette } }) => palette.textSecondary};
6502
+ const ProgressIcon = styled.div `
6503
+ margin-right: 0.5rem;
6472
6504
  `;
6473
- const ProgressValue = styled(Flex) `
6474
- align-items: center;
6475
- width: auto;
6476
- font-size: 1rem;
6477
- color: ${({ theme: { palette } }) => palette.textPrimary};
6478
- `;
6479
- const ProgressInnerValue = styled(ProgressValue) `
6480
- justify-content: flex-end;
6481
- width: 4rem;
6482
- margin-left: 0.5rem;
6483
- `;
6484
- const ProgressUnits = styled(Flex) `
6485
- margin-left: 0.25rem;
6486
- font-size: 0.75rem;
6487
- color: ${({ theme: { palette } }) => palette.textSecondary};
6488
- `;
6489
- const ProgressBarWrapper = styled.div `
6490
- flex-grow: 1;
6491
- height: 0.5rem;
6492
- background-color: ${({ theme: { palette } }) => palette.element};
6493
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6505
+ const ProgressContent = styled(Flex) `
6506
+ flex: 1;
6507
+ flex-direction: column;
6494
6508
  `;
6495
- const ProgressBarContainer = styled(Flex) `
6496
- position: relative;
6497
- align-items: center;
6498
- width: 100%;
6499
-
6509
+ const ProgressAlias = styled(Flex) `
6510
+ flex: 1;
6511
+ justify-content: space-between;
6512
+ margin-bottom: 0.25rem;
6513
+ font-size: 0.75rem;
6514
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6515
+ `;
6516
+ const ProgressValue = styled(Flex) `
6517
+ align-items: center;
6518
+ width: auto;
6519
+ font-size: 1rem;
6520
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6521
+ `;
6522
+ const ProgressInnerValue = styled(ProgressValue) `
6523
+ justify-content: flex-end;
6524
+ width: 4rem;
6525
+ margin-left: 0.5rem;
6526
+ `;
6527
+ const ProgressUnits = styled(Flex) `
6528
+ margin-left: 0.25rem;
6529
+ font-size: 0.75rem;
6530
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6531
+ `;
6532
+ const ProgressBarWrapper = styled.div `
6533
+ flex-grow: 1;
6534
+ height: 0.5rem;
6535
+ background-color: ${({ theme: { palette } }) => palette.element};
6536
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6537
+ `;
6538
+ const ProgressBarContainer = styled(Flex) `
6539
+ position: relative;
6540
+ align-items: center;
6541
+ width: 100%;
6542
+
6500
6543
  ${({ innerValue }) => innerValue &&
6501
- css `
6502
- ${ProgressBarWrapper} {
6503
- height: 1.125rem;
6504
- }
6505
-
6506
- ${ProgressInnerValue} {
6507
- z-index: 1;
6508
- position: absolute;
6509
- right: 0.25rem;
6510
- }
6511
- `}
6512
- `;
6513
- const ProgressBar = styled.div `
6514
- width: ${({ $width }) => $width};
6515
- height: inherit;
6516
- background-color: ${({ $color }) => $color || "#a7d759"};
6517
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6518
- `;
6519
- const ProgressTooltipAlias = styled.div `
6520
- margin-bottom: 0.25rem;
6521
- text-align: left;
6522
- color: ${({ theme: { palette } }) => palette.primary};
6544
+ css `
6545
+ ${ProgressBarWrapper} {
6546
+ height: 1.125rem;
6547
+ }
6548
+
6549
+ ${ProgressInnerValue} {
6550
+ z-index: 1;
6551
+ position: absolute;
6552
+ right: 0.25rem;
6553
+ }
6554
+ `}
6555
+ `;
6556
+ const ProgressBar = styled.div `
6557
+ width: ${({ $width }) => $width};
6558
+ height: inherit;
6559
+ background-color: ${({ $color }) => $color || "#a7d759"};
6560
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6561
+ `;
6562
+ const ProgressTooltipAlias = styled.div `
6563
+ margin-bottom: 0.25rem;
6564
+ text-align: left;
6565
+ color: ${({ theme: { palette } }) => palette.primary};
6523
6566
  `;
6524
6567
  const ProgressTooltipValue = styled.div ``;
6525
- const ProgressTooltipValueContainer = styled(Flex) `
6526
- align-items: center;
6527
-
6528
- > * {
6529
- opacity: 0.65;
6530
- }
6531
-
6532
- ${ProgressTooltipValue} {
6533
- opacity: 1;
6534
- }
6568
+ const ProgressTooltipValueContainer = styled(Flex) `
6569
+ align-items: center;
6570
+
6571
+ > * {
6572
+ opacity: 0.65;
6573
+ }
6574
+
6575
+ ${ProgressTooltipValue} {
6576
+ opacity: 1;
6577
+ }
6535
6578
  `;
6536
- const ProgressTooltipValueOf = styled.div `
6537
- margin: 0 0.25rem;
6579
+ const ProgressTooltipValueOf = styled.div `
6580
+ margin: 0 0.25rem;
6538
6581
  `;
6539
- const ProgressTotalTitle = styled.div `
6540
- font-size: 0.75rem;
6541
- font-weight: bold;
6582
+ const ProgressTotalTitle = styled.div `
6583
+ font-size: 0.75rem;
6584
+ font-weight: bold;
6542
6585
  `;
6543
- const ProgressTotal = styled(Flex) `
6544
- align-items: center;
6545
- justify-content: space-between;
6546
- margin-top: 1rem;
6586
+ const ProgressTotal = styled(Flex) `
6587
+ align-items: center;
6588
+ justify-content: space-between;
6589
+ margin-top: 1rem;
6547
6590
  `;
6548
6591
 
6549
6592
  const DataSourceProgressContainer = memo(({ config, elementConfig, type, innerComponent, renderElement }) => {
@@ -6649,166 +6692,166 @@ const DEFAULT_BAR_CHART_MARGINS = {
6649
6692
  right: 0,
6650
6693
  };
6651
6694
 
6652
- const FiltersContainerWrapper = styled(Flex) `
6653
- flex-direction: column;
6654
- padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6655
- background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6656
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6657
-
6658
- ${DropdownField}, input {
6659
- background-color: ${({ theme: { palette } }) => palette.background};
6660
- }
6661
-
6662
- > div:not(:last-child) {
6663
- margin-bottom: 0.5rem;
6664
- }
6665
-
6666
- > label {
6667
- align-items: flex-start;
6668
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6669
-
6670
- &.active {
6671
- color: ${({ $fontColor }) => $fontColor};
6672
-
6673
- svg rect {
6674
- fill: ${({ $fontColor }) => $fontColor} !important;
6675
- }
6676
- }
6677
-
6678
- &:not(:last-child) {
6679
- margin-bottom: 0.75rem;
6680
- }
6681
-
6682
- &:last-child {
6683
- margin-bottom: 0;
6684
- }
6685
- }
6695
+ const FiltersContainerWrapper = styled(Flex) `
6696
+ flex-direction: column;
6697
+ padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6698
+ background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6699
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6700
+
6701
+ ${DropdownField}, input {
6702
+ background-color: ${({ theme: { palette } }) => palette.background};
6703
+ }
6704
+
6705
+ > div:not(:last-child) {
6706
+ margin-bottom: 0.5rem;
6707
+ }
6708
+
6709
+ > label {
6710
+ align-items: flex-start;
6711
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6712
+
6713
+ &.active {
6714
+ color: ${({ $fontColor }) => $fontColor};
6715
+
6716
+ svg rect {
6717
+ fill: ${({ $fontColor }) => $fontColor} !important;
6718
+ }
6719
+ }
6720
+
6721
+ &:not(:last-child) {
6722
+ margin-bottom: 0.75rem;
6723
+ }
6724
+
6725
+ &:last-child {
6726
+ margin-bottom: 0;
6727
+ }
6728
+ }
6686
6729
  `;
6687
- const StyledIconButton = styled(IconButton) `
6688
- width: 0.75rem;
6689
- height: 0.75rem;
6690
-
6691
- span[kind] {
6692
- height: 0.75rem;
6693
-
6694
- :after {
6695
- font-size: 0.75rem;
6696
- }
6697
- }
6730
+ const StyledIconButton = styled(IconButton) `
6731
+ width: 0.75rem;
6732
+ height: 0.75rem;
6733
+
6734
+ span[kind] {
6735
+ height: 0.75rem;
6736
+
6737
+ :after {
6738
+ font-size: 0.75rem;
6739
+ }
6740
+ }
6698
6741
  `;
6699
- const TextFilterContainer = styled.div `
6700
- width: 15.85rem;
6701
-
6702
- ${MultiSelectContainer} {
6703
- color: ${({ theme: { palette } }) => palette.textPrimary};
6704
-
6705
- ${IconButtonButton} {
6706
- span[kind]:after {
6707
- color: ${({ theme: { palette } }) => palette.textPrimary};
6708
- }
6709
- }
6710
- }
6742
+ const TextFilterContainer = styled.div `
6743
+ width: 15.85rem;
6744
+
6745
+ ${MultiSelectContainer} {
6746
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6747
+
6748
+ ${IconButtonButton} {
6749
+ span[kind]:after {
6750
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6751
+ }
6752
+ }
6753
+ }
6711
6754
  `;
6712
- const BarChartContainer = styled.div `
6713
- width: 100%;
6714
- overflow-x: hidden;
6715
-
6755
+ const BarChartContainer = styled.div `
6756
+ width: 100%;
6757
+ overflow-x: hidden;
6758
+
6716
6759
  ${({ barHeight, marginBottom }) => !!barHeight &&
6717
- css `
6718
- .barChartBarGlobal rect {
6719
- height: ${barHeight}px;
6720
- y: calc(100% - ${barHeight + marginBottom}px);
6721
- }
6722
- `}
6723
- `;
6724
- const AnyChartWrapper = styled.div `
6725
- width: 100%;
6726
- height: ${({ height }) => height}px;
6727
- `;
6728
- const BarChartWrapper = styled(AnyChartWrapper) `
6729
- width: 100%;
6730
- margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6731
-
6732
- :hover {
6733
- ${BarChartContainer} {
6734
- overflow-x: auto;
6735
- }
6736
- }
6760
+ css `
6761
+ .barChartBarGlobal rect {
6762
+ height: ${barHeight}px;
6763
+ y: calc(100% - ${barHeight + marginBottom}px);
6764
+ }
6765
+ `}
6766
+ `;
6767
+ const AnyChartWrapper = styled.div `
6768
+ width: 100%;
6769
+ height: ${({ height }) => height}px;
6770
+ `;
6771
+ const BarChartWrapper = styled(AnyChartWrapper) `
6772
+ width: 100%;
6773
+ margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6774
+
6775
+ :hover {
6776
+ ${BarChartContainer} {
6777
+ overflow-x: auto;
6778
+ }
6779
+ }
6737
6780
  `;
6738
- const BarChartFilterHeader = styled(Flex) `
6739
- justify-content: space-between;
6740
- align-items: center;
6741
- height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6742
- padding: 0.25rem 0;
6781
+ const BarChartFilterHeader = styled(Flex) `
6782
+ justify-content: space-between;
6783
+ align-items: center;
6784
+ height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6785
+ padding: 0.25rem 0;
6743
6786
  `;
6744
- const BarChartFilterArrows = styled(Flex) `
6745
- margin-left: -0.5rem;
6746
-
6747
- span[kind] {
6748
- display: flex;
6749
- align-items: center;
6750
-
6751
- :after {
6752
- font-size: 0.75rem;
6753
- }
6754
- }
6787
+ const BarChartFilterArrows = styled(Flex) `
6788
+ margin-left: -0.5rem;
6789
+
6790
+ span[kind] {
6791
+ display: flex;
6792
+ align-items: center;
6793
+
6794
+ :after {
6795
+ font-size: 0.75rem;
6796
+ }
6797
+ }
6755
6798
  `;
6756
- const BarChartFilterSelected = styled.div `
6757
- font-size: 0.75rem;
6758
- font-weight: bold;
6759
- color: ${({ theme: { palette } }) => palette.textPrimary};
6799
+ const BarChartFilterSelected = styled.div `
6800
+ font-size: 0.75rem;
6801
+ font-weight: bold;
6802
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6760
6803
  `;
6761
- styled.div `
6762
- color: ${({ theme: { palette } }) => palette.textSecondary};
6804
+ styled.div `
6805
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6763
6806
  `;
6764
- const BarChart = styled(BarChart$1) `
6765
- .${barChartClassNames.barChartXAxis} {
6766
- .domain,
6767
- line {
6768
- display: none;
6769
- }
6770
-
6771
- .tick {
6772
- text {
6773
- text-anchor: start;
6774
- font-size: 12px;
6775
- color: rgba(48, 69, 79, 0.46);
6776
- }
6777
-
6778
- :last-of-type {
6779
- text {
6780
- text-anchor: end;
6781
- }
6782
- }
6783
- }
6784
- }
6785
-
6786
- .marker {
6787
- font-size: 12px;
6788
- }
6807
+ const BarChart = styled(BarChart$1) `
6808
+ .${barChartClassNames.barChartXAxis} {
6809
+ .domain,
6810
+ line {
6811
+ display: none;
6812
+ }
6813
+
6814
+ .tick {
6815
+ text {
6816
+ text-anchor: start;
6817
+ font-size: 12px;
6818
+ color: rgba(48, 69, 79, 0.46);
6819
+ }
6820
+
6821
+ :last-of-type {
6822
+ text {
6823
+ text-anchor: end;
6824
+ }
6825
+ }
6826
+ }
6827
+ }
6828
+
6829
+ .marker {
6830
+ font-size: 12px;
6831
+ }
6789
6832
  `;
6790
- const TooltipContainer = styled.div `
6791
- position: relative;
6792
- font-size: 0.75rem;
6793
- color: #ffffff;
6794
- margin-bottom: 0.5rem;
6795
- padding: 0.375rem;
6796
- background-color: rgba(0, 0, 0, 1);
6797
- border-radius: 0.25rem;
6798
- box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6799
-
6800
- :before {
6801
- content: "";
6802
- position: absolute;
6803
- bottom: 0;
6804
- left: 50%;
6805
- transform: translate(-50%, 100%);
6806
- width: 0;
6807
- height: 0;
6808
- border-style: solid;
6809
- border-width: 0.25rem 0.1875rem 0 0.1875rem;
6810
- border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6811
- }
6833
+ const TooltipContainer = styled.div `
6834
+ position: relative;
6835
+ font-size: 0.75rem;
6836
+ color: #ffffff;
6837
+ margin-bottom: 0.5rem;
6838
+ padding: 0.375rem;
6839
+ background-color: rgba(0, 0, 0, 1);
6840
+ border-radius: 0.25rem;
6841
+ box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6842
+
6843
+ :before {
6844
+ content: "";
6845
+ position: absolute;
6846
+ bottom: 0;
6847
+ left: 50%;
6848
+ transform: translate(-50%, 100%);
6849
+ width: 0;
6850
+ height: 0;
6851
+ border-style: solid;
6852
+ border-width: 0.25rem 0.1875rem 0 0.1875rem;
6853
+ border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6854
+ }
6812
6855
  `;
6813
6856
 
6814
6857
  const FiltersContainer = memo(({ elementConfig, config, type, renderElement }) => {
@@ -6885,64 +6928,64 @@ const PagesContainer = memo(({ type = WidgetType.Dashboard, noBorders }) => {
6885
6928
  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 }) }));
6886
6929
  });
6887
6930
 
6888
- const ImageContainerBg$1 = styled.div `
6889
- position: absolute;
6890
- top: 0;
6891
- bottom: 0;
6892
- left: 0;
6893
- right: 0;
6894
-
6895
- img {
6896
- width: 100%;
6897
- height: 100%;
6898
- object-position: center;
6899
- object-fit: cover;
6900
- }
6931
+ const ImageContainerBg$1 = styled.div `
6932
+ position: absolute;
6933
+ top: 0;
6934
+ bottom: 0;
6935
+ left: 0;
6936
+ right: 0;
6937
+
6938
+ img {
6939
+ width: 100%;
6940
+ height: 100%;
6941
+ object-position: center;
6942
+ object-fit: cover;
6943
+ }
6901
6944
  `;
6902
- const ImageContainerTitle = styled.div `
6903
- width: 100%;
6904
- overflow-wrap: break-word;
6905
- font-size: 1rem;
6906
- font-weight: 500;
6907
- `;
6908
- const ImageContainerText = styled.div `
6909
- width: 100%;
6910
- overflow-wrap: break-word;
6911
- margin-top: 0.5rem;
6912
- font-size: 0.75rem;
6913
- `;
6914
- const ImageContainerButton$1 = styled(FlatButton) `
6915
- min-height: 1.5rem;
6916
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6917
- background-color: ${({ theme: { palette } }) => palette.primary};
6918
- text-transform: none;
6919
-
6920
- :hover {
6921
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6922
- }
6945
+ const ImageContainerTitle = styled.div `
6946
+ width: 100%;
6947
+ overflow-wrap: break-word;
6948
+ font-size: 1rem;
6949
+ font-weight: 500;
6950
+ `;
6951
+ const ImageContainerText = styled.div `
6952
+ width: 100%;
6953
+ overflow-wrap: break-word;
6954
+ margin-top: 0.5rem;
6955
+ font-size: 0.75rem;
6956
+ `;
6957
+ const ImageContainerButton$1 = styled(FlatButton) `
6958
+ min-height: 1.5rem;
6959
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6960
+ background-color: ${({ theme: { palette } }) => palette.primary};
6961
+ text-transform: none;
6962
+
6963
+ :hover {
6964
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6965
+ }
6923
6966
  `;
6924
- const ImageContainerWrapper = styled(Flex) `
6925
- flex-direction: column;
6926
- justify-content: flex-end;
6927
- position: relative;
6928
- padding: 1rem;
6929
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6930
- overflow: hidden;
6931
-
6932
- ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6933
- z-index: 1;
6934
- color: ${({ theme: { palette } }) => palette.textContrast};
6935
- }
6936
-
6937
- :after {
6938
- content: "";
6939
- position: absolute;
6940
- top: 0;
6941
- bottom: 0;
6942
- left: 0;
6943
- right: 0;
6944
- background-color: rgba(0, 0, 0, 0.4);
6945
- }
6967
+ const ImageContainerWrapper = styled(Flex) `
6968
+ flex-direction: column;
6969
+ justify-content: flex-end;
6970
+ position: relative;
6971
+ padding: 1rem;
6972
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6973
+ overflow: hidden;
6974
+
6975
+ ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6976
+ z-index: 1;
6977
+ color: ${({ theme: { palette } }) => palette.textContrast};
6978
+ }
6979
+
6980
+ :after {
6981
+ content: "";
6982
+ position: absolute;
6983
+ top: 0;
6984
+ bottom: 0;
6985
+ left: 0;
6986
+ right: 0;
6987
+ background-color: rgba(0, 0, 0, 0.4);
6988
+ }
6946
6989
  `;
6947
6990
 
6948
6991
  const ImageContainer = memo(({ elementConfig, renderElement }) => {
@@ -6950,52 +6993,52 @@ const ImageContainer = memo(({ elementConfig, renderElement }) => {
6950
6993
  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" }) })] }));
6951
6994
  });
6952
6995
 
6953
- const IconContainerWrapper = styled(Flex) `
6954
- flex-direction: column;
6955
- justify-content: center;
6956
- position: relative;
6957
- padding: 0.5rem 1rem 1rem;
6958
- background-color: ${({ theme: { palette } }) => palette.element};
6959
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6960
- overflow: hidden;
6961
- `;
6962
- const IconContainerHeaderWrapper = styled(Flex) `
6963
- justify-content: space-between;
6964
- align-items: center;
6965
- flex-wrap: nowrap;
6966
- width: 100%;
6967
- margin-bottom: 0.25rem;
6968
- `;
6969
- const IconContainerHeader = styled(Flex) `
6970
- align-items: center;
6971
- flex-wrap: nowrap;
6972
- width: 100%;
6973
- margin-right: 0.5rem;
6974
- font-size: 0.875rem;
6975
-
6976
- ${Icon} {
6977
- margin-right: 0.5rem;
6978
-
6979
- :after {
6980
- font-size: 1.15rem;
6981
- color: ${({ theme: { palette } }) => palette.textSecondary};
6982
- }
6983
- }
6996
+ const IconContainerWrapper = styled(Flex) `
6997
+ flex-direction: column;
6998
+ justify-content: center;
6999
+ position: relative;
7000
+ padding: 0.5rem 1rem 1rem;
7001
+ background-color: ${({ theme: { palette } }) => palette.element};
7002
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7003
+ overflow: hidden;
6984
7004
  `;
6985
- const IconContainerTitle = styled(Flex) `
6986
- > * {
6987
- width: 13rem;
6988
- white-space: nowrap;
6989
- overflow: hidden;
6990
- font-weight: bold;
6991
- text-overflow: ellipsis;
6992
- }
7005
+ const IconContainerHeaderWrapper = styled(Flex) `
7006
+ justify-content: space-between;
7007
+ align-items: center;
7008
+ flex-wrap: nowrap;
7009
+ width: 100%;
7010
+ margin-bottom: 0.25rem;
7011
+ `;
7012
+ const IconContainerHeader = styled(Flex) `
7013
+ align-items: center;
7014
+ flex-wrap: nowrap;
7015
+ width: 100%;
7016
+ margin-right: 0.5rem;
7017
+ font-size: 0.875rem;
7018
+
7019
+ ${Icon} {
7020
+ margin-right: 0.5rem;
7021
+
7022
+ :after {
7023
+ font-size: 1.15rem;
7024
+ color: ${({ theme: { palette } }) => palette.textSecondary};
7025
+ }
7026
+ }
7027
+ `;
7028
+ const IconContainerTitle = styled(Flex) `
7029
+ > * {
7030
+ width: 13rem;
7031
+ white-space: nowrap;
7032
+ overflow: hidden;
7033
+ font-weight: bold;
7034
+ text-overflow: ellipsis;
7035
+ }
6993
7036
  `;
6994
- const IconContainerText = styled.div `
6995
- width: 100%;
6996
- overflow-wrap: break-word;
6997
- font-size: 0.75rem;
6998
- color: ${({ theme: { palette } }) => palette.textSecondary};
7037
+ const IconContainerText = styled.div `
7038
+ width: 100%;
7039
+ overflow-wrap: break-word;
7040
+ font-size: 0.75rem;
7041
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6999
7042
  `;
7000
7043
 
7001
7044
  const IconContainer = memo(({ elementConfig, renderElement }) => {
@@ -7018,107 +7061,107 @@ const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent,
7018
7061
  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, {}))] }));
7019
7062
  });
7020
7063
 
7021
- const SvgContainerColorMixin = css `
7022
- path,
7023
- line,
7024
- circle {
7025
- fill: ${({ $fontColor }) => $fontColor};
7026
- }
7064
+ const SvgContainerColorMixin = css `
7065
+ path,
7066
+ line,
7067
+ circle {
7068
+ fill: ${({ $fontColor }) => $fontColor};
7069
+ }
7027
7070
  `;
7028
- const SvgContainer = styled.div `
7029
- &&& {
7030
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
7031
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
7032
-
7033
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
7034
-
7035
- > * {
7036
- min-width: inherit;
7037
- }
7038
- }
7071
+ const SvgContainer = styled.div `
7072
+ &&& {
7073
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
7074
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
7075
+
7076
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
7077
+
7078
+ > * {
7079
+ min-width: inherit;
7080
+ }
7081
+ }
7039
7082
  `;
7040
7083
 
7041
- const ContainerIconTitle = styled(Flex) `
7042
- align-items: center;
7043
- flex-wrap: nowrap;
7044
- flex-shrink: 1;
7045
- flex-grow: 0;
7046
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
7047
-
7048
- > div {
7049
- flex-shrink: 1;
7050
- flex-grow: 0;
7051
- width: auto;
7052
- }
7053
-
7054
- ${SvgContainer} {
7055
- flex-shrink: 0;
7056
- flex-grow: 0;
7057
- margin-right: 0.5rem;
7058
- }
7059
-
7060
- svg,
7061
- img,
7062
- span[kind] {
7063
- margin-right: 0.5rem;
7064
- }
7065
-
7084
+ const ContainerIconTitle = styled(Flex) `
7085
+ align-items: center;
7086
+ flex-wrap: nowrap;
7087
+ flex-shrink: 1;
7088
+ flex-grow: 0;
7089
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
7090
+
7091
+ > div {
7092
+ flex-shrink: 1;
7093
+ flex-grow: 0;
7094
+ width: auto;
7095
+ }
7096
+
7097
+ ${SvgContainer} {
7098
+ flex-shrink: 0;
7099
+ flex-grow: 0;
7100
+ margin-right: 0.5rem;
7101
+ }
7102
+
7103
+ svg,
7104
+ img,
7105
+ span[kind] {
7106
+ margin-right: 0.5rem;
7107
+ }
7108
+
7066
7109
  ${({ fontColor }) => !!fontColor &&
7067
- css `
7068
- span[kind] {
7069
- color: ${fontColor};
7070
- }
7071
-
7072
- ${SvgContainer} {
7073
- path,
7074
- circle {
7075
- fill: ${fontColor};
7076
- }
7077
- }
7078
- `};
7079
-
7080
- ${LegendToggler} {
7081
- margin-left: 0.25rem;
7082
- }
7083
-
7084
- span[kind="download"] {
7085
- opacity: 0;
7086
- transition: opacity ${transition.hover};
7087
- }
7088
-
7089
- :hover {
7090
- span[kind="download"] {
7091
- opacity: 1;
7092
- }
7093
- }
7110
+ css `
7111
+ span[kind] {
7112
+ color: ${fontColor};
7113
+ }
7114
+
7115
+ ${SvgContainer} {
7116
+ path,
7117
+ circle {
7118
+ fill: ${fontColor};
7119
+ }
7120
+ }
7121
+ `};
7122
+
7123
+ ${LegendToggler} {
7124
+ margin-left: 0.25rem;
7125
+ }
7126
+
7127
+ span[kind="download"] {
7128
+ opacity: 0;
7129
+ transition: opacity ${transition.hover};
7130
+ }
7131
+
7132
+ :hover {
7133
+ span[kind="download"] {
7134
+ opacity: 1;
7135
+ }
7136
+ }
7094
7137
  `;
7095
- const ContainerTitle = styled(Flex) `
7096
- align-items: center;
7097
- justify-content: space-between;
7098
- width: 100%;
7099
-
7100
- > * {
7101
- font-size: 1.125rem;
7102
- font-weight: 500;
7103
- }
7104
-
7105
- ${LegendToggler} {
7106
- padding-right: 0;
7107
- }
7108
-
7138
+ const ContainerTitle = styled(Flex) `
7139
+ align-items: center;
7140
+ justify-content: space-between;
7141
+ width: 100%;
7142
+
7143
+ > * {
7144
+ font-size: 1.125rem;
7145
+ font-weight: 500;
7146
+ }
7147
+
7148
+ ${LegendToggler} {
7149
+ padding-right: 0;
7150
+ }
7151
+
7109
7152
  ${({ simple }) => simple &&
7110
- css `
7111
- justify-content: flex-start;
7112
-
7113
- ${ContainerIconTitle} {
7114
- font-size: 0.75rem;
7115
- }
7116
-
7117
- ${LegendToggler} {
7118
- margin-left: 0;
7119
- padding-left: 0.25rem;
7120
- }
7121
- `}
7153
+ css `
7154
+ justify-content: flex-start;
7155
+
7156
+ ${ContainerIconTitle} {
7157
+ font-size: 0.75rem;
7158
+ }
7159
+
7160
+ ${LegendToggler} {
7161
+ margin-left: 0;
7162
+ padding-left: 0.25rem;
7163
+ }
7164
+ `}
7122
7165
  `;
7123
7166
 
7124
7167
  const TitleContainer = memo(({ containerId, templateName, layerNames, fontColor, expandable, expanded, isVisible, elementConfig, renderElement, type, }) => {
@@ -7192,82 +7235,82 @@ const CameraContainer = memo(({ elementConfig, type, renderElement }) => {
7192
7235
  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 }) })] }))] }));
7193
7236
  });
7194
7237
 
7195
- const TabAnchor = styled.div `
7196
- position: absolute;
7197
- top: -1.5rem;
7198
- right: 0;
7238
+ const TabAnchor = styled.div `
7239
+ position: absolute;
7240
+ top: -1.5rem;
7241
+ right: 0;
7199
7242
  `;
7200
- const TabValue = styled(Flex) `
7201
- flex-wrap: nowrap;
7243
+ const TabValue = styled(Flex) `
7244
+ flex-wrap: nowrap;
7202
7245
  `;
7203
- const noBgMixin = css `
7204
- background-color: transparent;
7205
- border-radius: 0;
7206
- border-bottom: 0.125rem solid
7207
- ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
7208
-
7209
- ${TabValue},
7210
- span[kind] {
7211
- color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7212
- }
7213
-
7214
- &&& svg {
7215
- path,
7216
- line,
7217
- circle {
7218
- fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7219
- }
7220
- }
7221
-
7222
- :not(:last-child) {
7223
- margin-right: 0;
7224
- }
7246
+ const noBgMixin = css `
7247
+ background-color: transparent;
7248
+ border-radius: 0;
7249
+ border-bottom: 0.125rem solid
7250
+ ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
7251
+
7252
+ ${TabValue},
7253
+ span[kind] {
7254
+ color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7255
+ }
7256
+
7257
+ &&& svg {
7258
+ path,
7259
+ line,
7260
+ circle {
7261
+ fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7262
+ }
7263
+ }
7264
+
7265
+ :not(:last-child) {
7266
+ margin-right: 0;
7267
+ }
7225
7268
  `;
7226
- const TabContainer = styled.a `
7227
- display: flex;
7228
- flex-direction: ${({ column }) => (column ? "column" : "row")};
7229
- align-items: center;
7230
- justify-content: center;
7231
- flex-wrap: nowrap;
7232
- padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
7233
- background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
7234
- border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
7235
- text-decoration: none;
7236
-
7237
- :not(:last-child) {
7238
- margin-right: 0.5rem;
7239
- }
7240
-
7241
- ${TabValue} {
7242
- margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
7243
- margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
7244
- font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
7245
- white-space: nowrap;
7246
- }
7247
-
7248
- ${TabValue},
7249
- span[kind] {
7250
- color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7251
- }
7252
-
7253
- ${SvgContainer$1} {
7254
- height: 1rem;
7255
- }
7256
-
7257
- svg,
7258
- img {
7259
- max-width: 1rem;
7260
- max-height: 1rem;
7261
- }
7262
-
7263
- ${({ noBg }) => noBg && noBgMixin};
7269
+ const TabContainer = styled.a `
7270
+ display: flex;
7271
+ flex-direction: ${({ column }) => (column ? "column" : "row")};
7272
+ align-items: center;
7273
+ justify-content: center;
7274
+ flex-wrap: nowrap;
7275
+ padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
7276
+ background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
7277
+ border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
7278
+ text-decoration: none;
7279
+
7280
+ :not(:last-child) {
7281
+ margin-right: 0.5rem;
7282
+ }
7283
+
7284
+ ${TabValue} {
7285
+ margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
7286
+ margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
7287
+ font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
7288
+ white-space: nowrap;
7289
+ }
7290
+
7291
+ ${TabValue},
7292
+ span[kind] {
7293
+ color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7294
+ }
7295
+
7296
+ ${SvgContainer$1} {
7297
+ height: 1rem;
7298
+ }
7299
+
7300
+ svg,
7301
+ img {
7302
+ max-width: 1rem;
7303
+ max-height: 1rem;
7304
+ }
7305
+
7306
+ ${({ noBg }) => noBg && noBgMixin};
7264
7307
  `;
7265
- const SwiperContainer = styled.div `
7266
- width: 100%;
7267
-
7268
- .swiper-wrapper {
7269
- display: flex;
7270
- }
7308
+ const SwiperContainer = styled.div `
7309
+ width: 100%;
7310
+
7311
+ .swiper-wrapper {
7312
+ display: flex;
7313
+ }
7271
7314
  `;
7272
7315
 
7273
7316
  const TabsContainer = memo(({ elementConfig, type }) => {
@@ -7295,97 +7338,97 @@ const TabsContainer = memo(({ elementConfig, type }) => {
7295
7338
  });
7296
7339
 
7297
7340
  const ContainerIconValue = styled(Flex) ``;
7298
- const RoundedBackgroundContainerWrapper = styled(Flex) `
7299
- position: relative;
7300
- flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7301
- width: 9rem;
7302
- padding: 0.75rem 0.75rem 0.5rem;
7303
- background-color: ${({ theme: { palette } }) => palette.element};
7304
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7305
- flex-wrap: nowrap;
7306
-
7307
- && {
7308
- margin-bottom: 0.5rem;
7309
- }
7310
-
7341
+ const RoundedBackgroundContainerWrapper = styled(Flex) `
7342
+ position: relative;
7343
+ flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7344
+ width: 9rem;
7345
+ padding: 0.75rem 0.75rem 0.5rem;
7346
+ background-color: ${({ theme: { palette } }) => palette.element};
7347
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7348
+ flex-wrap: nowrap;
7349
+
7350
+ && {
7351
+ margin-bottom: 0.5rem;
7352
+ }
7353
+
7311
7354
  ${({ $center }) => $center &&
7312
- css `
7313
- align-items: center;
7314
-
7315
- > * {
7316
- display: flex;
7317
- justify-content: center;
7318
- text-align: center;
7319
- width: 100%;
7320
- }
7321
- `};
7322
-
7355
+ css `
7356
+ align-items: center;
7357
+
7358
+ > * {
7359
+ display: flex;
7360
+ justify-content: center;
7361
+ text-align: center;
7362
+ width: 100%;
7363
+ }
7364
+ `};
7365
+
7323
7366
  ${({ $color }) => $color &&
7324
- css `
7325
- background-color: ${transparentizeColor($color, 6)};
7326
-
7327
- * {
7328
- color: ${$color};
7329
- fill: ${$color};
7330
- }
7331
- `};
7332
-
7333
- ${ContainerIcon}, ${SvgContainer$1} {
7334
- margin-bottom: 0.25rem;
7335
- }
7336
-
7367
+ css `
7368
+ background-color: ${transparentizeColor($color, 6)};
7369
+
7370
+ * {
7371
+ color: ${$color};
7372
+ fill: ${$color};
7373
+ }
7374
+ `};
7375
+
7376
+ ${ContainerIcon}, ${SvgContainer$1} {
7377
+ margin-bottom: 0.25rem;
7378
+ }
7379
+
7337
7380
  ${({ $bigIcon }) => $bigIcon &&
7338
- css `
7339
- ${ContainerIcon}, ${SvgContainer$1} {
7340
- position: absolute;
7341
- top: 0.75rem;
7342
- right: 0.75rem;
7343
- width: 3rem;
7344
- opacity: 0.12;
7345
-
7346
- :after {
7347
- font-size: 3rem;
7348
- }
7349
- }
7350
- `};
7351
-
7352
- ${ContainerIconValue} {
7353
- align-items: center;
7354
- flex-direction: column;
7355
-
7381
+ css `
7382
+ ${ContainerIcon}, ${SvgContainer$1} {
7383
+ position: absolute;
7384
+ top: 0.75rem;
7385
+ right: 0.75rem;
7386
+ width: 3rem;
7387
+ opacity: 0.12;
7388
+
7389
+ :after {
7390
+ font-size: 3rem;
7391
+ }
7392
+ }
7393
+ `};
7394
+
7395
+ ${ContainerIconValue} {
7396
+ align-items: center;
7397
+ flex-direction: column;
7398
+
7356
7399
  ${({ $big }) => $big &&
7357
- css `
7358
- flex-direction: row;
7359
- margin-bottom: 0.5rem;
7360
-
7361
- > * {
7362
- text-align: left;
7363
- }
7364
-
7365
- span[kind] {
7366
- margin-right: 0.5rem;
7367
- }
7368
-
7369
- ${ContainerValue} {
7370
- width: auto;
7371
- }
7372
- `};
7373
- }
7374
-
7375
- ${ContainerValue} {
7376
- flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7377
- justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7378
- align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7379
- line-height: 1;
7380
- }
7381
-
7382
- ${ContainerUnits} {
7383
- margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7384
- }
7385
-
7386
- ${ContainerAlias} {
7387
- margin-top: 0.25rem;
7388
- }
7400
+ css `
7401
+ flex-direction: row;
7402
+ margin-bottom: 0.5rem;
7403
+
7404
+ > * {
7405
+ text-align: left;
7406
+ }
7407
+
7408
+ span[kind] {
7409
+ margin-right: 0.5rem;
7410
+ }
7411
+
7412
+ ${ContainerValue} {
7413
+ width: auto;
7414
+ }
7415
+ `};
7416
+ }
7417
+
7418
+ ${ContainerValue} {
7419
+ flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7420
+ justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7421
+ align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7422
+ line-height: 1;
7423
+ }
7424
+
7425
+ ${ContainerUnits} {
7426
+ margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7427
+ }
7428
+
7429
+ ${ContainerAlias} {
7430
+ margin-top: 0.25rem;
7431
+ }
7389
7432
  `;
7390
7433
 
7391
7434
  const ALIAS_DEFAULT_MAX_LENGTH = 28;
@@ -7432,20 +7475,20 @@ const AddFeatureContainer = memo(({ elementConfig }) => {
7432
7475
  .map(({ options }, index) => (jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
7433
7476
  });
7434
7477
 
7435
- const LayersContainerWrapper = styled(Container) `
7436
- ${DraggableTreeContainer} {
7437
- width: calc(100% + 3rem);
7438
- margin: -0.75rem -1.5rem 0;
7439
- }
7440
-
7441
- ${LayerListContainer} {
7442
- height: auto;
7443
- }
7444
-
7445
- ${LayerGroupList} {
7446
- margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7447
- padding: 0;
7448
- }
7478
+ const LayersContainerWrapper = styled(Container) `
7479
+ ${DraggableTreeContainer} {
7480
+ width: calc(100% + 3rem);
7481
+ margin: -0.75rem -1.5rem 0;
7482
+ }
7483
+
7484
+ ${LayerListContainer} {
7485
+ height: auto;
7486
+ }
7487
+
7488
+ ${LayerGroupList} {
7489
+ margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7490
+ padding: 0;
7491
+ }
7449
7492
  `;
7450
7493
 
7451
7494
  const LayersContainer = memo(({ type, elementConfig, renderElement }) => {
@@ -7480,9 +7523,9 @@ const UploadContainer = memo(({ type, elementConfig, renderElement }) => {
7480
7523
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && renderElement({ id: "uploader", wrap: false })] }));
7481
7524
  });
7482
7525
 
7483
- const StatusBadge = styled(Chip) `
7484
- background-color: ${({ bgColor }) => bgColor};
7485
- color: ${({ theme }) => theme.palette.iconContrast};
7526
+ const StatusBadge = styled(Chip) `
7527
+ background-color: ${({ bgColor }) => bgColor};
7528
+ color: ${({ theme }) => theme.palette.iconContrast};
7486
7529
  `;
7487
7530
 
7488
7531
  const STATUS_TRANSLATION_KEYS = {
@@ -7534,22 +7577,22 @@ var EditGeometryType;
7534
7577
  EditGeometryType["Raster"] = "raster";
7535
7578
  })(EditGeometryType || (EditGeometryType = {}));
7536
7579
 
7537
- const StyledButton = styled(FlatButton) `
7538
- display: flex;
7539
- align-items: center;
7540
-
7541
- ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7542
- transition: background-color ${transition.toggle};
7543
- background-color: ${statusColors[status]};
7544
-
7545
- :hover {
7546
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7547
- }
7548
-
7549
- :active {
7550
- background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7551
- }
7552
- `}
7580
+ const StyledButton = styled(FlatButton) `
7581
+ display: flex;
7582
+ align-items: center;
7583
+
7584
+ ${({ status = RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && css `
7585
+ transition: background-color ${transition.toggle};
7586
+ background-color: ${statusColors[status]};
7587
+
7588
+ :hover {
7589
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -5 : 5)};
7590
+ }
7591
+
7592
+ :active {
7593
+ background-color: ${adjustColor(statusColors[status], themeName === ThemeName.Dark ? -10 : 10)};
7594
+ }
7595
+ `}
7553
7596
  `;
7554
7597
 
7555
7598
  const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWaiting, isDisabled, onClick }) => {
@@ -7758,23 +7801,23 @@ const EditDropdownContainer = ({ type, elementConfig, renderElement, }) => {
7758
7801
  return (jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsx(ContainerValue, { column: true, children: jsx(Dropdown, { zIndex: 1000, label: control?.label, placeholder: control?.placeholder, options: optionsList, value: value, width: `${control?.width ?? DEFAULT_DROPDOWN_WIDTH}px`, onChange: ([option]) => onChange(option.value) }) })] }));
7759
7802
  };
7760
7803
 
7761
- const CheckboxWrapper = styled(ContainerValue) `
7762
- flex-wrap: wrap;
7763
-
7764
- && > label {
7765
- cursor: pointer;
7766
- margin-bottom: 0.25rem;
7767
- }
7804
+ const CheckboxWrapper = styled(ContainerValue) `
7805
+ flex-wrap: wrap;
7806
+
7807
+ && > label {
7808
+ cursor: pointer;
7809
+ margin-bottom: 0.25rem;
7810
+ }
7768
7811
  `;
7769
- const ChipsWrapper = styled(ContainerValue) `
7770
- flex-wrap: wrap;
7771
-
7772
- && > span {
7773
- cursor: pointer;
7774
- margin: 0 0.25rem 0.25rem 0;
7775
- padding: 0.25rem 0.5rem;
7776
- border-radius: 0.25rem;
7777
- }
7812
+ const ChipsWrapper = styled(ContainerValue) `
7813
+ flex-wrap: wrap;
7814
+
7815
+ && > span {
7816
+ cursor: pointer;
7817
+ margin: 0 0.25rem 0.25rem 0;
7818
+ padding: 0.25rem 0.5rem;
7819
+ border-radius: 0.25rem;
7820
+ }
7778
7821
  `;
7779
7822
 
7780
7823
  const EditChipsContainer = ({ type, elementConfig, renderElement, }) => {
@@ -7799,9 +7842,9 @@ const EditDateContainer = ({ type, elementConfig, renderElement, }) => {
7799
7842
  return (jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsx(ContainerValue, { column: true, children: jsx(DatePicker, { value: dateValue, locale: getLocale(language), withTime: withTime ?? false, withHeader: true, width: "100%", onChange: handleChange }) })] }));
7800
7843
  };
7801
7844
 
7802
- const ContainerDivider = styled(Divider) `
7803
- width: 100%;
7804
- border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7845
+ const ContainerDivider = styled(Divider) `
7846
+ width: 100%;
7847
+ border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7805
7848
  `;
7806
7849
 
7807
7850
  const DividerContainer = memo(({ elementConfig, config }) => {
@@ -7851,154 +7894,154 @@ const getContainerComponent = (innerTemplateName) => innerTemplateName
7851
7894
  var img$3 = "data:image/png;base64,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";
7852
7895
 
7853
7896
  const getMaskColor = (isDark) => isDark ? "0, 0, 0" : "255, 255, 255";
7854
- const DefaultHeaderContainer = styled(Flex) `
7855
- flex-direction: column;
7856
- position: relative;
7857
- flex-shrink: 0;
7858
- min-height: 8.175rem;
7859
- margin-bottom: -0.75rem;
7860
- padding: 1.5rem 1.5rem 0;
7861
- border-top-left-radius: 0.5rem;
7862
- border-top-right-radius: 0.5rem;
7863
- overflow: hidden;
7864
-
7865
- > * {
7866
- z-index: 1;
7867
- }
7868
-
7869
- &::before {
7870
- content: "";
7871
- position: absolute;
7872
- top: 0;
7873
- left: 0;
7874
- width: 100%;
7875
- height: 100%;
7876
-
7897
+ const DefaultHeaderContainer = styled(Flex) `
7898
+ flex-direction: column;
7899
+ position: relative;
7900
+ flex-shrink: 0;
7901
+ min-height: 8.175rem;
7902
+ margin-bottom: -0.75rem;
7903
+ padding: 1.5rem 1.5rem 0;
7904
+ border-top-left-radius: 0.5rem;
7905
+ border-top-right-radius: 0.5rem;
7906
+ overflow: hidden;
7907
+
7908
+ > * {
7909
+ z-index: 1;
7910
+ }
7911
+
7912
+ &::before {
7913
+ content: "";
7914
+ position: absolute;
7915
+ top: 0;
7916
+ left: 0;
7917
+ width: 100%;
7918
+ height: 100%;
7919
+
7877
7920
  ${({ image, isDark }) => image
7878
- ? css `
7879
- background: url(${image}) 0 0 no-repeat;
7880
- background-size: cover;
7921
+ ? css `
7922
+ background: url(${image}) 0 0 no-repeat;
7923
+ background-size: cover;
7881
7924
  `
7882
- : css `
7883
- background: url(${img$3}) 50% 0 no-repeat;
7884
- opacity: ${isDark ? 1 : 0.5};
7885
- `}
7886
- }
7887
-
7925
+ : css `
7926
+ background: url(${img$3}) 50% 0 no-repeat;
7927
+ opacity: ${isDark ? 1 : 0.5};
7928
+ `}
7929
+ }
7930
+
7888
7931
  ${({ image, isDark }) => image &&
7889
- css `
7890
- &::before {
7891
- -webkit-mask-image: linear-gradient(
7892
- to bottom,
7893
- rgba(${getMaskColor(isDark)}, 1),
7894
- rgba(${getMaskColor(isDark)}, 0)
7895
- );
7896
- mask-image: linear-gradient(
7897
- to bottom,
7898
- rgba(${getMaskColor(isDark)}, 1),
7899
- rgba(${getMaskColor(isDark)}, 0)
7900
- );
7901
- }
7902
- `}
7903
- ${LinearProgress} {
7904
- position: absolute;
7905
- top: 0;
7906
- left: 0;
7907
- }
7932
+ css `
7933
+ &::before {
7934
+ -webkit-mask-image: linear-gradient(
7935
+ to bottom,
7936
+ rgba(${getMaskColor(isDark)}, 1),
7937
+ rgba(${getMaskColor(isDark)}, 0)
7938
+ );
7939
+ mask-image: linear-gradient(
7940
+ to bottom,
7941
+ rgba(${getMaskColor(isDark)}, 1),
7942
+ rgba(${getMaskColor(isDark)}, 0)
7943
+ );
7944
+ }
7945
+ `}
7946
+ ${LinearProgress} {
7947
+ position: absolute;
7948
+ top: 0;
7949
+ left: 0;
7950
+ }
7908
7951
  `;
7909
- const TopContainer = styled(Flex) `
7910
- z-index: 1;
7911
- position: relative;
7912
- justify-content: space-between;
7913
- flex-wrap: nowrap;
7914
- width: 100%;
7915
- align-items: flex-start;
7916
- `;
7917
- const TopContainerButtons = styled(Flex) `
7918
- align-items: center;
7919
- width: auto;
7920
- margin-right: -0.5rem;
7921
-
7922
- button {
7923
- width: auto;
7924
- height: 1rem;
7925
- padding: 0 0.5rem;
7926
- }
7952
+ const TopContainer = styled(Flex) `
7953
+ z-index: 1;
7954
+ position: relative;
7955
+ justify-content: space-between;
7956
+ flex-wrap: nowrap;
7957
+ width: 100%;
7958
+ align-items: flex-start;
7959
+ `;
7960
+ const TopContainerButtons = styled(Flex) `
7961
+ align-items: center;
7962
+ width: auto;
7963
+ margin-right: -0.5rem;
7964
+
7965
+ button {
7966
+ width: auto;
7967
+ height: 1rem;
7968
+ padding: 0 0.5rem;
7969
+ }
7927
7970
  `;
7928
- const LogoContainer = styled(Flex) `
7929
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7930
- max-width: calc(100% - 1.4rem);
7931
- max-height: 1.875rem;
7932
- flex-grow: 1;
7933
- font-size: 0;
7934
-
7935
- & > span::after {
7936
- font-size: 2rem;
7937
- }
7938
-
7939
- img {
7940
- max-height: 1.875rem;
7941
- }
7971
+ const LogoContainer = styled(Flex) `
7972
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7973
+ max-width: calc(100% - 1.4rem);
7974
+ max-height: 1.875rem;
7975
+ flex-grow: 1;
7976
+ font-size: 0;
7977
+
7978
+ & > span::after {
7979
+ font-size: 2rem;
7980
+ }
7981
+
7982
+ img {
7983
+ max-height: 1.875rem;
7984
+ }
7942
7985
  `;
7943
- const PageTitle = styled(H2) `
7944
- cursor: pointer;
7945
- text-align: left;
7946
- flex: 1 1 auto;
7947
- min-width: 0;
7948
- margin: 0;
7949
- font-size: 1.25rem;
7950
- font-weight: 600;
7951
- pointer-events: initial;
7952
- font-family: "Nunito Sans", serif;
7953
-
7954
- > * {
7955
- white-space: nowrap;
7956
- overflow: hidden;
7957
- text-overflow: ellipsis;
7958
- }
7986
+ const PageTitle = styled(H2) `
7987
+ cursor: pointer;
7988
+ text-align: left;
7989
+ flex: 1 1 auto;
7990
+ min-width: 0;
7991
+ margin: 0;
7992
+ font-size: 1.25rem;
7993
+ font-weight: 600;
7994
+ pointer-events: initial;
7995
+ font-family: "Nunito Sans", serif;
7996
+
7997
+ > * {
7998
+ white-space: nowrap;
7999
+ overflow: hidden;
8000
+ text-overflow: ellipsis;
8001
+ }
7959
8002
  `;
7960
- const PageTitleContainer = styled(Flex) `
7961
- flex-grow: 1;
7962
- align-items: center;
7963
-
7964
- ${PageTitle} {
7965
- max-width: 15.75rem;
7966
- }
7967
-
7968
- &&& button {
7969
- width: 0;
7970
- overflow: hidden;
7971
-
7972
- span[kind] {
7973
- display: flex;
7974
- align-items: center;
7975
- justify-content: center;
7976
- width: 0.75rem;
7977
-
7978
- :after {
7979
- font-size: 0.75rem;
7980
- color: ${({ theme: { palette } }) => palette.textDisabled};
7981
- transition: color ${transition.hover};
7982
- }
7983
- }
7984
-
7985
- &:hover,
7986
- &:active {
7987
- span[kind]:after {
7988
- color: ${({ theme: { palette } }) => palette.textPrimary};
7989
- }
7990
- }
7991
- }
7992
-
7993
- :hover {
7994
- ${PageTitle} {
7995
- max-width: 14.25rem;
7996
- }
7997
-
7998
- &&& button {
7999
- width: 1.5rem;
8000
- }
8001
- }
8003
+ const PageTitleContainer = styled(Flex) `
8004
+ flex-grow: 1;
8005
+ align-items: center;
8006
+
8007
+ ${PageTitle} {
8008
+ max-width: 15.75rem;
8009
+ }
8010
+
8011
+ &&& button {
8012
+ width: 0;
8013
+ overflow: hidden;
8014
+
8015
+ span[kind] {
8016
+ display: flex;
8017
+ align-items: center;
8018
+ justify-content: center;
8019
+ width: 0.75rem;
8020
+
8021
+ :after {
8022
+ font-size: 0.75rem;
8023
+ color: ${({ theme: { palette } }) => palette.textDisabled};
8024
+ transition: color ${transition.hover};
8025
+ }
8026
+ }
8027
+
8028
+ &:hover,
8029
+ &:active {
8030
+ span[kind]:after {
8031
+ color: ${({ theme: { palette } }) => palette.textPrimary};
8032
+ }
8033
+ }
8034
+ }
8035
+
8036
+ :hover {
8037
+ ${PageTitle} {
8038
+ max-width: 14.25rem;
8039
+ }
8040
+
8041
+ &&& button {
8042
+ width: 1.5rem;
8043
+ }
8044
+ }
8002
8045
  `;
8003
8046
 
8004
8047
  const DashboardDefaultHeader = memo(() => {
@@ -8007,83 +8050,83 @@ const DashboardDefaultHeader = memo(() => {
8007
8050
  return (jsxs(DefaultHeaderContainer, { image: image, isDark: themeName === ThemeName.Dark, children: [!pageId && jsx(LinearProgress, {}), jsxs(Flex, { column: true, gap: "1rem", children: [jsx(FlexSpan, { children: jsxs(TopContainer, { children: [jsx(LogoContainer, { onClick: onClickLogo, children: icon }), jsx(TopContainerButtons, { children: jsx(ProjectPanelMenu, {}) })] }) }), jsx(FlexSpan, { children: jsx(Flex, { column: true, gap: "0.25rem", children: jsx(FlexSpan, { children: jsxs(Flex, { alignItems: "center", children: [jsxs(PageTitleContainer, { children: [jsx(Tooltip$1, { arrow: true, content: tooltip, children: ref => (jsx(PageTitle, { ref: ref, onClick: toggleLayersVisibility, children: title })) }), jsx(ProjectPagesMenu, {})] }), jsx(FlexSpan, { children: jsx(Pagination, {}) })] }) }) }) })] })] }));
8008
8051
  });
8009
8052
 
8010
- const HeaderFrontView = styled(Flex) `
8011
- z-index: 10;
8012
- position: relative;
8013
- justify-content: space-between;
8014
- align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
8015
- width: 100%;
8016
- font: ${({ theme: { fonts } }) => fonts.subtitle};
8017
- `;
8018
- const HeaderContainer = styled(FlexSpan) `
8019
- display: flex;
8020
- flex-grow: 1;
8021
- flex-wrap: nowrap;
8022
- width: calc(100% - 48px);
8023
- `;
8024
- const FeatureTitleContainer = styled.div `
8025
- display: -webkit-box;
8026
- max-width: 100%;
8027
- width: 100%;
8028
- margin: 0.5rem 0;
8029
- -webkit-line-clamp: 2;
8030
- -webkit-box-orient: vertical;
8031
- overflow: hidden;
8032
- text-overflow: ellipsis;
8033
- color: ${({ theme: { palette } }) => palette.textPrimary};
8034
-
8035
- & > ${FlexSpan} {
8036
- cursor: ${({ clickable }) => clickable && "pointer"};
8037
-
8038
- &:hover {
8039
- color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
8040
- }
8041
- }
8053
+ const HeaderFrontView = styled(Flex) `
8054
+ z-index: 10;
8055
+ position: relative;
8056
+ justify-content: space-between;
8057
+ align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
8058
+ width: 100%;
8059
+ font: ${({ theme: { fonts } }) => fonts.subtitle};
8060
+ `;
8061
+ const HeaderContainer = styled(FlexSpan) `
8062
+ display: flex;
8063
+ flex-grow: 1;
8064
+ flex-wrap: nowrap;
8065
+ width: calc(100% - 48px);
8066
+ `;
8067
+ const FeatureTitleContainer = styled.div `
8068
+ display: -webkit-box;
8069
+ max-width: 100%;
8070
+ width: 100%;
8071
+ margin: 0.5rem 0;
8072
+ -webkit-line-clamp: 2;
8073
+ -webkit-box-orient: vertical;
8074
+ overflow: hidden;
8075
+ text-overflow: ellipsis;
8076
+ color: ${({ theme: { palette } }) => palette.textPrimary};
8077
+
8078
+ & > ${FlexSpan} {
8079
+ cursor: ${({ clickable }) => clickable && "pointer"};
8080
+
8081
+ &:hover {
8082
+ color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
8083
+ }
8084
+ }
8042
8085
  `;
8043
- const LayerDescription = styled(Description) `
8044
- width: calc(100% - 4rem);
8045
- display: -webkit-box;
8046
- -webkit-line-clamp: 2;
8047
- -webkit-box-orient: vertical;
8048
- overflow: hidden;
8049
- text-overflow: ellipsis;
8086
+ const LayerDescription = styled(Description) `
8087
+ width: calc(100% - 4rem);
8088
+ display: -webkit-box;
8089
+ -webkit-line-clamp: 2;
8090
+ -webkit-box-orient: vertical;
8091
+ overflow: hidden;
8092
+ text-overflow: ellipsis;
8050
8093
  `;
8051
- const HeaderTitleContainer = styled(Flex) `
8052
- flex-direction: column;
8053
- width: 100%;
8094
+ const HeaderTitleContainer = styled(Flex) `
8095
+ flex-direction: column;
8096
+ width: 100%;
8054
8097
  `;
8055
- const RowHeaderMixin = css `
8056
- &&& {
8057
- min-height: auto;
8058
-
8059
- ${FeatureTitleContainer}, ${LayerDescription} {
8060
- text-align: left;
8061
- }
8062
- }
8063
-
8064
- ${HeaderContainer} {
8065
- flex-direction: row;
8066
- }
8067
-
8068
- ${FeatureTitleContainer} {
8069
- max-width: calc(100% - 3.8rem);
8070
- }
8098
+ const RowHeaderMixin = css `
8099
+ &&& {
8100
+ min-height: auto;
8101
+
8102
+ ${FeatureTitleContainer}, ${LayerDescription} {
8103
+ text-align: left;
8104
+ }
8105
+ }
8106
+
8107
+ ${HeaderContainer} {
8108
+ flex-direction: row;
8109
+ }
8110
+
8111
+ ${FeatureTitleContainer} {
8112
+ max-width: calc(100% - 3.8rem);
8113
+ }
8071
8114
  `;
8072
- const Header = styled(Flex) `
8073
- z-index: 1;
8074
- position: relative;
8075
- top: 0;
8076
- flex-shrink: 0;
8077
- overflow: hidden;
8078
- width: 100%;
8079
- padding: 0.5rem;
8080
-
8081
- ${({ $isRow }) => $isRow && RowHeaderMixin};
8115
+ const Header = styled(Flex) `
8116
+ z-index: 1;
8117
+ position: relative;
8118
+ top: 0;
8119
+ flex-shrink: 0;
8120
+ overflow: hidden;
8121
+ width: 100%;
8122
+ padding: 0.5rem;
8123
+
8124
+ ${({ $isRow }) => $isRow && RowHeaderMixin};
8082
8125
  `;
8083
- const DefaultHeaderWrapper = styled.div `
8084
- ${Header} {
8085
- padding: 0 1.5rem 1.5rem 0;
8086
- }
8126
+ const DefaultHeaderWrapper = styled.div `
8127
+ ${Header} {
8128
+ padding: 0 1.5rem 1.5rem 0;
8129
+ }
8087
8130
  `;
8088
8131
 
8089
8132
  const HeaderTitle = ({ noFeature }) => {
@@ -8111,24 +8154,24 @@ const HeaderTitle = ({ noFeature }) => {
8111
8154
  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 })] }));
8112
8155
  };
8113
8156
 
8114
- const LayerIconContainer = styled.div `
8115
- display: flex;
8116
- align-items: center;
8117
- justify-content: center;
8118
- min-width: 2rem;
8119
- margin-right: 0.5rem;
8157
+ const LayerIconContainer = styled.div `
8158
+ display: flex;
8159
+ align-items: center;
8160
+ justify-content: center;
8161
+ min-width: 2rem;
8162
+ margin-right: 0.5rem;
8120
8163
  `;
8121
- const AlertIconContainer = styled(Flex) `
8122
- align-items: center;
8123
- justify-content: center;
8124
- width: 2rem;
8125
- height: 2rem;
8126
-
8127
- ${Icon} {
8128
- :after {
8129
- color: ${({ theme: { palette } }) => palette.error};
8130
- }
8131
- }
8164
+ const AlertIconContainer = styled(Flex) `
8165
+ align-items: center;
8166
+ justify-content: center;
8167
+ width: 2rem;
8168
+ height: 2rem;
8169
+
8170
+ ${Icon} {
8171
+ :after {
8172
+ color: ${({ theme: { palette } }) => palette.error};
8173
+ }
8174
+ }
8132
8175
  `;
8133
8176
 
8134
8177
  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";
@@ -8165,54 +8208,54 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
8165
8208
  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, {})] }) }) }));
8166
8209
  };
8167
8210
 
8168
- const HeaderFontColorMixin$1 = css `
8169
- ${HeaderTitleContainer}, ${LayerDescription} {
8170
- color: ${({ $fontColor }) => $fontColor};
8171
- }
8211
+ const HeaderFontColorMixin$1 = css `
8212
+ ${HeaderTitleContainer}, ${LayerDescription} {
8213
+ color: ${({ $fontColor }) => $fontColor};
8214
+ }
8172
8215
  `;
8173
- const HeaderWrapperMixin$1 = css `
8174
- ${Header} {
8175
- min-height: 5.25rem;
8176
- }
8177
-
8178
- ${HeaderContainer} {
8179
- max-width: 100%;
8180
- width: 100%;
8181
- }
8182
-
8183
- ${FeatureControls} {
8184
- max-width: calc(100% - 2rem);
8185
- width: calc(100% - 2rem);
8186
- margin-top: -0.5rem;
8187
- padding-top: 1rem;
8188
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8189
- }
8190
-
8191
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
8216
+ const HeaderWrapperMixin$1 = css `
8217
+ ${Header} {
8218
+ min-height: 5.25rem;
8219
+ }
8220
+
8221
+ ${HeaderContainer} {
8222
+ max-width: 100%;
8223
+ width: 100%;
8224
+ }
8225
+
8226
+ ${FeatureControls} {
8227
+ max-width: calc(100% - 2rem);
8228
+ width: calc(100% - 2rem);
8229
+ margin-top: -0.5rem;
8230
+ padding-top: 1rem;
8231
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8232
+ }
8233
+
8234
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
8192
8235
  `;
8193
- const GradientHeaderWrapper = styled.div `
8194
- ${Header} {
8195
- background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
8196
- }
8197
-
8198
- ${HeaderContainer} {
8199
- align-items: center;
8200
- }
8201
-
8202
- ${HeaderTitleContainer} {
8203
- margin-left: 0;
8204
- text-align: center;
8205
- }
8206
-
8207
- ${FeatureTitleContainer} {
8208
- text-align: center;
8209
- }
8210
-
8211
- ${LayerDescription} {
8212
- text-align: center;
8213
- }
8214
-
8215
- ${HeaderWrapperMixin$1};
8236
+ const GradientHeaderWrapper = styled.div `
8237
+ ${Header} {
8238
+ background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
8239
+ }
8240
+
8241
+ ${HeaderContainer} {
8242
+ align-items: center;
8243
+ }
8244
+
8245
+ ${HeaderTitleContainer} {
8246
+ margin-left: 0;
8247
+ text-align: center;
8248
+ }
8249
+
8250
+ ${FeatureTitleContainer} {
8251
+ text-align: center;
8252
+ }
8253
+
8254
+ ${LayerDescription} {
8255
+ text-align: center;
8256
+ }
8257
+
8258
+ ${HeaderWrapperMixin$1};
8216
8259
  `;
8217
8260
 
8218
8261
  const FeatureCardGradientHeader = ({ isRow }) => {
@@ -8231,85 +8274,85 @@ const FeatureCardGradientHeader = ({ isRow }) => {
8231
8274
  }) })] }), jsx(FeatureCardButtons, {})] }) }) }) }));
8232
8275
  };
8233
8276
 
8234
- const LayerIconClickable = styled.div `
8235
- display: flex;
8236
- align-items: center;
8237
- cursor: pointer;
8277
+ const LayerIconClickable = styled.div `
8278
+ display: flex;
8279
+ align-items: center;
8280
+ cursor: pointer;
8238
8281
  `;
8239
- const HeaderFontColorMixin = css `
8240
- ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
8241
- color: ${({ $fontColor }) => $fontColor};
8242
- }
8243
- `;
8244
- const HeaderWrapperMixin = css `
8245
- ${Header} {
8246
- min-height: 5.25rem;
8247
- }
8248
-
8249
- ${HeaderContainer} {
8250
- max-width: 100%;
8251
- width: 100%;
8252
- }
8253
-
8254
- ${FeatureControls} {
8255
- max-width: calc(100% - 2rem);
8256
- width: calc(100% - 2rem);
8257
- margin-top: -0.5rem;
8258
- padding-top: 1rem;
8259
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8260
- }
8261
-
8262
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
8282
+ const HeaderFontColorMixin = css `
8283
+ ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
8284
+ color: ${({ $fontColor }) => $fontColor};
8285
+ }
8263
8286
  `;
8264
- const HeaderIcon = styled(Flex) `
8265
- position: absolute;
8266
- top: 0;
8267
- right: 0;
8268
- justify-content: flex-end;
8269
- align-items: center;
8270
- min-width: 7.5rem;
8271
- height: 100%;
8272
-
8273
- span[kind]:after {
8274
- font-size: 7.5rem;
8275
- }
8276
-
8277
- span[kind]:after,
8278
- path,
8279
- line,
8280
- circle {
8281
- fill: rgba(255, 255, 255, 0.36);
8282
- }
8283
-
8284
- && > * {
8285
- display: flex;
8286
- align-items: center;
8287
- height: 100%;
8288
- }
8287
+ const HeaderWrapperMixin = css `
8288
+ ${Header} {
8289
+ min-height: 5.25rem;
8290
+ }
8291
+
8292
+ ${HeaderContainer} {
8293
+ max-width: 100%;
8294
+ width: 100%;
8295
+ }
8296
+
8297
+ ${FeatureControls} {
8298
+ max-width: calc(100% - 2rem);
8299
+ width: calc(100% - 2rem);
8300
+ margin-top: -0.5rem;
8301
+ padding-top: 1rem;
8302
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8303
+ }
8304
+
8305
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
8306
+ `;
8307
+ const HeaderIcon = styled(Flex) `
8308
+ position: absolute;
8309
+ top: 0;
8310
+ right: 0;
8311
+ justify-content: flex-end;
8312
+ align-items: center;
8313
+ min-width: 7.5rem;
8314
+ height: 100%;
8315
+
8316
+ span[kind]:after {
8317
+ font-size: 7.5rem;
8318
+ }
8319
+
8320
+ span[kind]:after,
8321
+ path,
8322
+ line,
8323
+ circle {
8324
+ fill: rgba(255, 255, 255, 0.36);
8325
+ }
8326
+
8327
+ && > * {
8328
+ display: flex;
8329
+ align-items: center;
8330
+ height: 100%;
8331
+ }
8289
8332
  `;
8290
- const BigIconHeaderMixin = css `
8291
- ${HeaderIcon} {
8292
- min-width: 14rem;
8293
- right: -3rem;
8294
-
8295
- span[kind]:after {
8296
- font-size: 14rem;
8297
- }
8298
- }
8333
+ const BigIconHeaderMixin = css `
8334
+ ${HeaderIcon} {
8335
+ min-width: 14rem;
8336
+ right: -3rem;
8337
+
8338
+ span[kind]:after {
8339
+ font-size: 14rem;
8340
+ }
8341
+ }
8299
8342
  `;
8300
- const IconHeaderWrapper = styled.div `
8301
- ${Header} {
8302
- width: calc(100% + 0.5rem);
8303
- margin: -1rem -1rem 0.5rem -1rem;
8304
- padding: 1.5rem;
8305
- border-top-left-radius: 0.5rem;
8306
- border-top-right-radius: 0.5rem;
8307
- background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
8308
- }
8309
-
8310
- ${HeaderWrapperMixin};
8311
-
8312
- ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
8343
+ const IconHeaderWrapper = styled.div `
8344
+ ${Header} {
8345
+ width: calc(100% + 0.5rem);
8346
+ margin: -1rem -1rem 0.5rem -1rem;
8347
+ padding: 1.5rem;
8348
+ border-top-left-radius: 0.5rem;
8349
+ border-top-right-radius: 0.5rem;
8350
+ background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
8351
+ }
8352
+
8353
+ ${HeaderWrapperMixin};
8354
+
8355
+ ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
8313
8356
  `;
8314
8357
 
8315
8358
  const FeatureCardIconHeader = ({ isRow }) => {
@@ -8336,15 +8379,15 @@ const FeatureCardIconHeader = ({ isRow }) => {
8336
8379
  }) })] }) }) }));
8337
8380
  };
8338
8381
 
8339
- const ImageContainerButton = styled(FlatButton) `
8340
- min-height: 1.5rem;
8341
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
8342
- background-color: ${({ theme: { palette } }) => palette.primary};
8343
- text-transform: none;
8344
-
8345
- :hover {
8346
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
8347
- }
8382
+ const ImageContainerButton = styled(FlatButton) `
8383
+ min-height: 1.5rem;
8384
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
8385
+ background-color: ${({ theme: { palette } }) => palette.primary};
8386
+ text-transform: none;
8387
+
8388
+ :hover {
8389
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
8390
+ }
8348
8391
  `;
8349
8392
 
8350
8393
  const ElementButton = memo(({ type, elementConfig }) => {
@@ -8356,157 +8399,157 @@ const ElementButton = memo(({ type, elementConfig }) => {
8356
8399
  return (jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
8357
8400
  });
8358
8401
 
8359
- const AttributeGalleryContainer = styled.div `
8360
- && {
8361
- width: calc(100% + 3rem);
8362
- }
8363
-
8364
- min-height: 12.625rem;
8365
- background-color: ${({ theme: { palette } }) => palette.element};
8366
-
8367
- img {
8368
- width: 100%;
8369
- }
8402
+ const AttributeGalleryContainer = styled.div `
8403
+ && {
8404
+ width: calc(100% + 3rem);
8405
+ }
8406
+
8407
+ min-height: 12.625rem;
8408
+ background-color: ${({ theme: { palette } }) => palette.element};
8409
+
8410
+ img {
8411
+ width: 100%;
8412
+ }
8370
8413
  `;
8371
- const LinearProgressContainer = styled(Flex) `
8372
- align-items: center;
8373
- justify-content: center;
8374
- min-height: inherit;
8375
-
8376
- ${LinearProgress} {
8377
- max-width: 4rem;
8378
- }
8414
+ const LinearProgressContainer = styled(Flex) `
8415
+ align-items: center;
8416
+ justify-content: center;
8417
+ min-height: inherit;
8418
+
8419
+ ${LinearProgress} {
8420
+ max-width: 4rem;
8421
+ }
8379
8422
  `;
8380
- const NoLiveSnapshotContainer = styled(Flex) `
8381
- flex-direction: column;
8382
- align-items: center;
8383
-
8384
- span[kind="alert"] {
8385
- width: 2rem;
8386
- height: 2rem;
8387
-
8388
- &:after {
8389
- font-size: 2rem;
8390
- color: ${({ theme: { palette } }) => palette.elementDeep};
8391
- }
8392
- }
8393
-
8394
- ${Description} {
8395
- font-size: 0.75rem;
8396
- color: ${({ theme: { palette } }) => palette.textDisabled};
8397
- }
8423
+ const NoLiveSnapshotContainer = styled(Flex) `
8424
+ flex-direction: column;
8425
+ align-items: center;
8426
+
8427
+ span[kind="alert"] {
8428
+ width: 2rem;
8429
+ height: 2rem;
8430
+
8431
+ &:after {
8432
+ font-size: 2rem;
8433
+ color: ${({ theme: { palette } }) => palette.elementDeep};
8434
+ }
8435
+ }
8436
+
8437
+ ${Description} {
8438
+ font-size: 0.75rem;
8439
+ color: ${({ theme: { palette } }) => palette.textDisabled};
8440
+ }
8398
8441
  `;
8399
- const SmallPreviewControl = styled(IconButton) `
8400
- cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
8401
- z-index: 3;
8402
- position: absolute;
8403
- top: 50%;
8404
- width: 2.5rem;
8405
- height: 2.5rem;
8406
- margin-top: -1.25rem;
8407
- background-color: rgba(61, 61, 61, 0.8);
8408
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8409
-
8410
- span:after {
8411
- color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
8412
- transition: color ${transition.hover};
8413
- }
8442
+ const SmallPreviewControl = styled(IconButton) `
8443
+ cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
8444
+ z-index: 3;
8445
+ position: absolute;
8446
+ top: 50%;
8447
+ width: 2.5rem;
8448
+ height: 2.5rem;
8449
+ margin-top: -1.25rem;
8450
+ background-color: rgba(61, 61, 61, 0.8);
8451
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8452
+
8453
+ span:after {
8454
+ color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
8455
+ transition: color ${transition.hover};
8456
+ }
8414
8457
  `;
8415
- const SmallPreviewCounter = styled(Flex) `
8416
- z-index: 3;
8417
- position: absolute;
8418
- bottom: 0.625rem;
8419
- left: 0;
8420
- width: 100%;
8421
- height: 1rem;
8422
- justify-content: center;
8423
-
8424
- > div {
8425
- background-color: rgba(61, 61, 61, 0.8);
8426
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8427
- padding: 0 0.5rem;
8428
- font-size: 0.625rem;
8429
- line-height: 1rem;
8430
- color: #fff;
8431
- }
8458
+ const SmallPreviewCounter = styled(Flex) `
8459
+ z-index: 3;
8460
+ position: absolute;
8461
+ bottom: 0.625rem;
8462
+ left: 0;
8463
+ width: 100%;
8464
+ height: 1rem;
8465
+ justify-content: center;
8466
+
8467
+ > div {
8468
+ background-color: rgba(61, 61, 61, 0.8);
8469
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8470
+ padding: 0 0.5rem;
8471
+ font-size: 0.625rem;
8472
+ line-height: 1rem;
8473
+ color: #fff;
8474
+ }
8432
8475
  `;
8433
8476
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
8434
8477
  kind: "prev",
8435
- })) `
8436
- left: 1.5rem;
8478
+ })) `
8479
+ left: 1.5rem;
8437
8480
  `;
8438
8481
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
8439
8482
  kind: "next",
8440
- })) `
8441
- right: 1.5rem;
8442
- `;
8443
- const imgSlideShowMixin = css `
8444
- &:nth-child(${({ prevIndex }) => prevIndex}) {
8445
- z-index: 2;
8446
- position: absolute;
8447
- top: 0;
8448
- left: 0;
8449
- right: 0;
8450
- bottom: 0;
8451
- opacity: 0;
8452
-
8453
- animation-duration: 0.25s;
8454
- animation-name: fadeOut;
8455
- animation-timing-function: linear;
8456
-
8457
- @keyframes fadeOut {
8458
- from {
8459
- opacity: 1;
8460
- }
8461
-
8462
- to {
8463
- opacity: 0;
8464
- }
8465
- }
8466
- }
8483
+ })) `
8484
+ right: 1.5rem;
8485
+ `;
8486
+ const imgSlideShowMixin = css `
8487
+ &:nth-child(${({ prevIndex }) => prevIndex}) {
8488
+ z-index: 2;
8489
+ position: absolute;
8490
+ top: 0;
8491
+ left: 0;
8492
+ right: 0;
8493
+ bottom: 0;
8494
+ opacity: 0;
8495
+
8496
+ animation-duration: 0.25s;
8497
+ animation-name: fadeOut;
8498
+ animation-timing-function: linear;
8499
+
8500
+ @keyframes fadeOut {
8501
+ from {
8502
+ opacity: 1;
8503
+ }
8504
+
8505
+ to {
8506
+ opacity: 0;
8507
+ }
8508
+ }
8509
+ }
8467
8510
  `;
8468
- const SmallPreviewContainer$1 = styled.div `
8469
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8470
- position: relative;
8471
- width: 100%;
8472
- height: 100%;
8473
- min-height: inherit;
8474
- line-height: 0;
8475
-
8476
- ${LinearProgress} {
8477
- z-index: 3;
8478
- position: absolute;
8479
- }
8480
-
8481
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8482
- opacity: 0;
8483
- transition: opacity ${transition.hover};
8484
- }
8485
-
8486
- &:hover {
8487
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8488
- opacity: 1;
8489
- }
8490
- }
8491
-
8492
- img {
8493
- z-index: 0;
8494
- cursor: pointer;
8495
- position: absolute;
8496
- top: 0;
8497
- left: 0;
8498
- width: 100%;
8499
- height: 100%;
8500
- min-height: inherit;
8501
- object-position: center;
8502
- object-fit: cover;
8503
-
8504
- &:nth-child(${({ currentIndex }) => currentIndex}) {
8505
- z-index: 1;
8506
- }
8507
-
8508
- ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8509
- }
8511
+ const SmallPreviewContainer$1 = styled.div `
8512
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8513
+ position: relative;
8514
+ width: 100%;
8515
+ height: 100%;
8516
+ min-height: inherit;
8517
+ line-height: 0;
8518
+
8519
+ ${LinearProgress} {
8520
+ z-index: 3;
8521
+ position: absolute;
8522
+ }
8523
+
8524
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8525
+ opacity: 0;
8526
+ transition: opacity ${transition.hover};
8527
+ }
8528
+
8529
+ &:hover {
8530
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8531
+ opacity: 1;
8532
+ }
8533
+ }
8534
+
8535
+ img {
8536
+ z-index: 0;
8537
+ cursor: pointer;
8538
+ position: absolute;
8539
+ top: 0;
8540
+ left: 0;
8541
+ width: 100%;
8542
+ height: 100%;
8543
+ min-height: inherit;
8544
+ object-position: center;
8545
+ object-fit: cover;
8546
+
8547
+ &:nth-child(${({ currentIndex }) => currentIndex}) {
8548
+ z-index: 1;
8549
+ }
8550
+
8551
+ ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8552
+ }
8510
8553
  `;
8511
8554
  const SmallPreviewImages = styled.div ``;
8512
8555
 
@@ -8747,21 +8790,21 @@ const ElementControl = ({ elementConfig }) => {
8747
8790
  return (jsx(Dropdown, { zIndex: 1000, width: `${width ?? DEFAULT_DROPDOWN_WIDTH}px`, label: label, options: items, value: currentValue, placeholder: placeholder, disabled: isDisabled, onChange: handleChange }));
8748
8791
  };
8749
8792
 
8750
- const StyledIconFontSizeMixin = css `
8751
- height: ${({ fontSize }) => `${fontSize}px`};
8752
-
8753
- &&:after {
8754
- font-size: ${({ fontSize }) => `${fontSize}px`};
8755
- }
8793
+ const StyledIconFontSizeMixin = css `
8794
+ height: ${({ fontSize }) => `${fontSize}px`};
8795
+
8796
+ &&:after {
8797
+ font-size: ${({ fontSize }) => `${fontSize}px`};
8798
+ }
8756
8799
  `;
8757
- const StyledIconFontColorMixin = css `
8758
- &&:after {
8759
- color: ${({ fontColor }) => fontColor};
8760
- }
8800
+ const StyledIconFontColorMixin = css `
8801
+ &&:after {
8802
+ color: ${({ fontColor }) => fontColor};
8803
+ }
8761
8804
  `;
8762
- const StyledIcon = styled(Icon) `
8763
- ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8764
- ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8805
+ const StyledIcon = styled(Icon) `
8806
+ ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8807
+ ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8765
8808
  `;
8766
8809
 
8767
8810
  const ElementIcon = memo(({ type, elementConfig }) => {
@@ -8842,55 +8885,55 @@ const ElementLegend = memo(({ type, element, elementConfig }) => {
8842
8885
 
8843
8886
  const ExternalLink = styled(IconButton).attrs(() => ({
8844
8887
  kind: "external_link",
8845
- })) `
8846
- ${Icon} {
8847
- color: ${({ theme: { palette } }) => palette.primary};
8848
- }
8849
-
8850
- &:hover ${Icon} {
8851
- color: ${({ theme: { palette } }) => palette.primaryDeep};
8852
- }
8888
+ })) `
8889
+ ${Icon} {
8890
+ color: ${({ theme: { palette } }) => palette.primary};
8891
+ }
8892
+
8893
+ &:hover ${Icon} {
8894
+ color: ${({ theme: { palette } }) => palette.primaryDeep};
8895
+ }
8853
8896
  `;
8854
- const Link = styled.a `
8855
- text-decoration: none;
8856
- font-size: 0.75rem;
8857
- color: ${({ theme: { palette } }) => palette.primary};
8897
+ const Link = styled.a `
8898
+ text-decoration: none;
8899
+ font-size: 0.75rem;
8900
+ color: ${({ theme: { palette } }) => palette.primary};
8858
8901
  `;
8859
- const LocalLinkBlank = styled(Blank) `
8860
- min-width: 13.5rem;
8861
- padding: 0.5rem 0.75rem 0;
8862
-
8863
- ${IconButtonButton} {
8864
- font-size: 0.75rem;
8865
- }
8902
+ const LocalLinkBlank = styled(Blank) `
8903
+ min-width: 13.5rem;
8904
+ padding: 0.5rem 0.75rem 0;
8905
+
8906
+ ${IconButtonButton} {
8907
+ font-size: 0.75rem;
8908
+ }
8866
8909
  `;
8867
8910
  const LocalLinkButton = styled(IconButton).attrs(() => ({
8868
8911
  kind: "link",
8869
- })) `
8870
- width: 1rem;
8871
- height: 1rem;
8872
- background-color: ${({ theme: { palette } }) => palette.primary};
8873
- padding: 0;
8874
- border-radius: 50%;
8875
-
8876
- :hover {
8877
- background-color: ${({ theme: { palette } }) => palette.primary};
8878
- }
8879
-
8880
- span[kind] {
8881
- display: flex;
8882
- justify-content: center;
8883
- align-items: center;
8884
-
8885
- :after {
8886
- position: relative;
8887
- font-size: 0.6rem;
8888
- color: white;
8889
- }
8890
- }
8912
+ })) `
8913
+ width: 1rem;
8914
+ height: 1rem;
8915
+ background-color: ${({ theme: { palette } }) => palette.primary};
8916
+ padding: 0;
8917
+ border-radius: 50%;
8918
+
8919
+ :hover {
8920
+ background-color: ${({ theme: { palette } }) => palette.primary};
8921
+ }
8922
+
8923
+ span[kind] {
8924
+ display: flex;
8925
+ justify-content: center;
8926
+ align-items: center;
8927
+
8928
+ :after {
8929
+ position: relative;
8930
+ font-size: 0.6rem;
8931
+ color: white;
8932
+ }
8933
+ }
8891
8934
  `;
8892
- const LocalLinkCopy = styled(Flex) `
8893
- justify-content: center;
8935
+ const LocalLinkCopy = styled(Flex) `
8936
+ justify-content: center;
8894
8937
  `;
8895
8938
 
8896
8939
  const LocalLink = memo(({ link, style }) => {
@@ -8919,104 +8962,104 @@ const ElementLink = memo(({ type, elementConfig }) => {
8919
8962
  : jsx(LocalLink, { style: style, link: link });
8920
8963
  });
8921
8964
 
8922
- const MarkdownWrapper = styled.div `
8923
- padding: 0;
8924
- background: transparent;
8925
- border-radius: 0.5rem;
8926
- font-family: 'Nunito Sans', sans-serif;
8927
- color: ${({ theme: { palette } }) => palette.textPrimary};
8928
-
8929
- /* Paragraphs */
8930
- p {
8931
- font-size: 0.875rem;
8932
- line-height: 1rem;
8933
- letter-spacing: 0.0052rem;
8934
- margin: 0 0 1rem 0;
8935
- font-weight: 400;
8936
-
8937
- &:last-child {
8938
- margin-bottom: 0;
8939
- }
8940
- }
8941
-
8942
- /* Headings */
8943
- h1, h2, h3, h4, h5, h6 {
8944
- margin: 0 0 0.75rem 0;
8945
- font-weight: 300;
8946
- }
8947
-
8948
- h1 {
8949
- font-size: 1.5rem;
8950
- line-height: 1.75rem;
8951
- }
8952
-
8953
- h2 {
8954
- font-size: 1.25rem;
8955
- line-height: 1.5rem;
8956
- }
8957
-
8958
- h3 {
8959
- font-size: 1rem;
8960
- line-height: 1.25rem;
8961
- }
8962
-
8963
- /* Images */
8964
- img {
8965
- max-width: 100%;
8966
- height: auto;
8967
- border-radius: 0.5rem;
8968
- object-fit: cover;
8969
- margin: 0.75rem 0;
8970
- }
8971
-
8972
- /* Links */
8973
- a {
8974
- color: ${({ theme: { palette } }) => palette.primary};
8975
- text-decoration: none;
8976
-
8977
- &:hover {
8978
- text-decoration: underline;
8979
- }
8980
- }
8981
-
8982
- /* Lists */
8983
- ul, ol {
8984
- margin: 0 0 1rem 0;
8985
- padding-left: 1.25rem;
8986
-
8987
- li {
8988
- font-size: 0.875rem;
8989
- line-height: 1rem;
8990
- margin-bottom: 0.5rem;
8991
- }
8992
- }
8993
-
8994
- /* Code */
8995
- code {
8996
- background: ${({ theme: { palette } }) => palette.element};
8997
- padding: 0.125rem 0.375rem;
8998
- border-radius: 0.25rem;
8999
- font-family: monospace;
9000
- font-size: 0.8125rem;
9001
- }
9002
-
9003
- pre {
9004
- background: ${({ theme: { palette } }) => palette.element};
9005
- padding: 0.75rem;
9006
- border-radius: 0.25rem;
9007
- overflow-x: auto;
9008
- margin: 0.75rem 0;
9009
-
9010
- code {
9011
- background: transparent;
9012
- padding: 0;
9013
- }
9014
- }
9015
-
9016
- /* Hide horizontal rules */
9017
- hr {
9018
- display: none;
9019
- }
8965
+ const MarkdownWrapper = styled.div `
8966
+ padding: 0;
8967
+ background: transparent;
8968
+ border-radius: 0.5rem;
8969
+ font-family: 'Nunito Sans', sans-serif;
8970
+ color: ${({ theme: { palette } }) => palette.textPrimary};
8971
+
8972
+ /* Paragraphs */
8973
+ p {
8974
+ font-size: 0.875rem;
8975
+ line-height: 1rem;
8976
+ letter-spacing: 0.0052rem;
8977
+ margin: 0 0 1rem 0;
8978
+ font-weight: 400;
8979
+
8980
+ &:last-child {
8981
+ margin-bottom: 0;
8982
+ }
8983
+ }
8984
+
8985
+ /* Headings */
8986
+ h1, h2, h3, h4, h5, h6 {
8987
+ margin: 0 0 0.75rem 0;
8988
+ font-weight: 300;
8989
+ }
8990
+
8991
+ h1 {
8992
+ font-size: 1.5rem;
8993
+ line-height: 1.75rem;
8994
+ }
8995
+
8996
+ h2 {
8997
+ font-size: 1.25rem;
8998
+ line-height: 1.5rem;
8999
+ }
9000
+
9001
+ h3 {
9002
+ font-size: 1rem;
9003
+ line-height: 1.25rem;
9004
+ }
9005
+
9006
+ /* Images */
9007
+ img {
9008
+ max-width: 100%;
9009
+ height: auto;
9010
+ border-radius: 0.5rem;
9011
+ object-fit: cover;
9012
+ margin: 0.75rem 0;
9013
+ }
9014
+
9015
+ /* Links */
9016
+ a {
9017
+ color: ${({ theme: { palette } }) => palette.primary};
9018
+ text-decoration: none;
9019
+
9020
+ &:hover {
9021
+ text-decoration: underline;
9022
+ }
9023
+ }
9024
+
9025
+ /* Lists */
9026
+ ul, ol {
9027
+ margin: 0 0 1rem 0;
9028
+ padding-left: 1.25rem;
9029
+
9030
+ li {
9031
+ font-size: 0.875rem;
9032
+ line-height: 1rem;
9033
+ margin-bottom: 0.5rem;
9034
+ }
9035
+ }
9036
+
9037
+ /* Code */
9038
+ code {
9039
+ background: ${({ theme: { palette } }) => palette.element};
9040
+ padding: 0.125rem 0.375rem;
9041
+ border-radius: 0.25rem;
9042
+ font-family: monospace;
9043
+ font-size: 0.8125rem;
9044
+ }
9045
+
9046
+ pre {
9047
+ background: ${({ theme: { palette } }) => palette.element};
9048
+ padding: 0.75rem;
9049
+ border-radius: 0.25rem;
9050
+ overflow-x: auto;
9051
+ margin: 0.75rem 0;
9052
+
9053
+ code {
9054
+ background: transparent;
9055
+ padding: 0;
9056
+ }
9057
+ }
9058
+
9059
+ /* Hide horizontal rules */
9060
+ hr {
9061
+ display: none;
9062
+ }
9020
9063
  `;
9021
9064
 
9022
9065
  const sanitizeSchema = {
@@ -9059,9 +9102,9 @@ const ElementMarkdown = memo(({ elementConfig, type }) => {
9059
9102
  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: "Свернуть" }) })] }));
9060
9103
  });
9061
9104
 
9062
- const SmallPreviewContainer = styled.div `
9063
- width: 100%;
9064
- height: 100%;
9105
+ const SmallPreviewContainer = styled.div `
9106
+ width: 100%;
9107
+ height: 100%;
9065
9108
  `;
9066
9109
 
9067
9110
  const ElementSlideshow = ({ elementConfig, type, renderElement }) => {
@@ -9099,18 +9142,18 @@ const ElementSvg = memo(({ type, elementConfig, ...rest }) => {
9099
9142
  return (jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
9100
9143
  });
9101
9144
 
9102
- const TooltipIcon = styled(Icon) `
9103
- &&& {
9104
- :after {
9105
- font-size: 0.75rem;
9106
- color: ${({ theme: { palette } }) => palette.iconDisabled};
9107
- transition: color ${transition.hover};
9108
- }
9109
-
9110
- :hover:after {
9111
- color: ${({ theme: { palette } }) => palette.icon};
9112
- }
9113
- }
9145
+ const TooltipIcon = styled(Icon) `
9146
+ &&& {
9147
+ :after {
9148
+ font-size: 0.75rem;
9149
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
9150
+ transition: color ${transition.hover};
9151
+ }
9152
+
9153
+ :hover:after {
9154
+ color: ${({ theme: { palette } }) => palette.icon};
9155
+ }
9156
+ }
9114
9157
  `;
9115
9158
 
9116
9159
  const ElementTooltip = memo(({ type, elementConfig }) => {
@@ -9122,76 +9165,76 @@ const ElementTooltip = memo(({ type, elementConfig }) => {
9122
9165
  return text ? (jsx(Tooltip$1, { placement: "top", arrow: true, content: text, children: ref => jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
9123
9166
  });
9124
9167
 
9125
- const SlideshowHeaderWrapper = styled.div `
9126
- padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
9127
-
9128
- ${Header} {
9129
- align-items: flex-start;
9130
- width: calc(100% + 2rem);
9131
- height: ${({ big }) => (big ? "15.5rem" : "auto")};
9132
- padding: 1.5rem;
9133
- margin: -1rem -1rem 0 -1rem;
9134
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
9135
-
9136
- ${SmallPreviewCounter} {
9137
- bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
9138
- }
9139
-
9140
- :before,
9141
- :after {
9142
- content: "";
9143
- z-index: 2;
9144
- position: absolute;
9145
- top: 0;
9146
- left: 0;
9147
- width: 100%;
9148
- }
9149
-
9150
- :before {
9151
- height: 100%;
9152
- background: rgba(32, 46, 53, 0.25);
9153
- }
9154
-
9155
- :after {
9156
- height: 4.5rem;
9157
- background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
9158
- }
9159
-
9160
- :hover {
9161
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
9162
- opacity: 1;
9163
- }
9164
- }
9165
- }
9168
+ const SlideshowHeaderWrapper = styled.div `
9169
+ padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
9170
+
9171
+ ${Header} {
9172
+ align-items: flex-start;
9173
+ width: calc(100% + 2rem);
9174
+ height: ${({ big }) => (big ? "15.5rem" : "auto")};
9175
+ padding: 1.5rem;
9176
+ margin: -1rem -1rem 0 -1rem;
9177
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
9178
+
9179
+ ${SmallPreviewCounter} {
9180
+ bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
9181
+ }
9182
+
9183
+ :before,
9184
+ :after {
9185
+ content: "";
9186
+ z-index: 2;
9187
+ position: absolute;
9188
+ top: 0;
9189
+ left: 0;
9190
+ width: 100%;
9191
+ }
9192
+
9193
+ :before {
9194
+ height: 100%;
9195
+ background: rgba(32, 46, 53, 0.25);
9196
+ }
9197
+
9198
+ :after {
9199
+ height: 4.5rem;
9200
+ background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
9201
+ }
9202
+
9203
+ :hover {
9204
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
9205
+ opacity: 1;
9206
+ }
9207
+ }
9208
+ }
9166
9209
  `;
9167
- const ImageContainerBg = styled.div `
9168
- position: absolute;
9169
- top: 0;
9170
- bottom: 0;
9171
- left: 0;
9172
- right: 0;
9173
-
9174
- img {
9175
- width: 100%;
9176
- height: 100%;
9177
- object-position: center;
9178
- object-fit: cover;
9179
- }
9210
+ const ImageContainerBg = styled.div `
9211
+ position: absolute;
9212
+ top: 0;
9213
+ bottom: 0;
9214
+ left: 0;
9215
+ right: 0;
9216
+
9217
+ img {
9218
+ width: 100%;
9219
+ height: 100%;
9220
+ object-position: center;
9221
+ object-fit: cover;
9222
+ }
9180
9223
  `;
9181
- const HeaderSlideshow = styled.div `
9182
- position: absolute;
9183
- top: 0;
9184
- bottom: ${({ height }) => (height ? `${height}px` : 0)};
9185
- left: 0;
9186
- right: 0;
9187
-
9188
- img {
9189
- width: 100%;
9190
- height: 100%;
9191
- min-height: inherit;
9192
- object-position: center;
9193
- object-fit: cover;
9194
- }
9224
+ const HeaderSlideshow = styled.div `
9225
+ position: absolute;
9226
+ top: 0;
9227
+ bottom: ${({ height }) => (height ? `${height}px` : 0)};
9228
+ left: 0;
9229
+ right: 0;
9230
+
9231
+ img {
9232
+ width: 100%;
9233
+ height: 100%;
9234
+ min-height: inherit;
9235
+ object-position: center;
9236
+ object-fit: cover;
9237
+ }
9195
9238
  `;
9196
9239
 
9197
9240
  const FeatureCardSlideshowHeader = ({ isRow }) => {
@@ -9335,40 +9378,40 @@ const getDefaultConfig = ({ title, defaultTitle, items, baseMapName, position, r
9335
9378
  return dashboardConfiguration;
9336
9379
  };
9337
9380
 
9338
- const UploaderContainer = styled(Container) `
9339
- ${UploaderItemArea} {
9340
- overflow: visible;
9341
- padding-top: 1rem;
9342
- padding-bottom: 1rem;
9343
- }
9344
-
9345
- ${UploaderTitleWrapper} {
9346
- top: 0;
9347
- padding-top: 0;
9348
- border: 0;
9349
- }
9381
+ const UploaderContainer = styled(Container) `
9382
+ ${UploaderItemArea} {
9383
+ overflow: visible;
9384
+ padding-top: 1rem;
9385
+ padding-bottom: 1rem;
9386
+ }
9387
+
9388
+ ${UploaderTitleWrapper} {
9389
+ top: 0;
9390
+ padding-top: 0;
9391
+ border: 0;
9392
+ }
9350
9393
  `;
9351
9394
 
9352
- const UploaderTitle = styled(Flex) `
9353
- flex-direction: column;
9354
- align-items: center;
9355
- width: 11rem;
9356
- margin: 0 auto;
9357
- text-align: center;
9358
- font-size: 0.625rem;
9359
- color: ${({ theme: { palette } }) => palette.textSecondary};
9360
-
9361
- span[kind] {
9362
- width: 1.5rem;
9363
- height: 1.5rem;
9364
- margin-bottom: 0.75rem;
9365
-
9366
- :after {
9367
- font-size: 1.5rem;
9368
- color: ${({ theme: { palette } }) => palette.textSecondary};
9369
- opacity: 0.12;
9370
- }
9371
- }
9395
+ const UploaderTitle = styled(Flex) `
9396
+ flex-direction: column;
9397
+ align-items: center;
9398
+ width: 11rem;
9399
+ margin: 0 auto;
9400
+ text-align: center;
9401
+ font-size: 0.625rem;
9402
+ color: ${({ theme: { palette } }) => palette.textSecondary};
9403
+
9404
+ span[kind] {
9405
+ width: 1.5rem;
9406
+ height: 1.5rem;
9407
+ margin-bottom: 0.75rem;
9408
+
9409
+ :after {
9410
+ font-size: 1.5rem;
9411
+ color: ${({ theme: { palette } }) => palette.textSecondary};
9412
+ opacity: 0.12;
9413
+ }
9414
+ }
9372
9415
  `;
9373
9416
 
9374
9417
  const DEFAULT_FILE_EXTENSIONS = ".txt,.csv,.py";
@@ -9416,16 +9459,16 @@ const ElementUploader = memo(({ elementConfig, type }) => {
9416
9459
  return (jsx(UploaderContainer, { id: id, style: style, children: jsx("div", { children: jsx(Uploader, { currentRef: refInput, title: renderTitle, accept: fileExtensions, width: "100%", fileItems: files, isMultiple: multiSelect, onUpload: onUpload, onDelete: onDelete }) }) }));
9417
9460
  });
9418
9461
 
9419
- const ModalIcon = styled(IconButton) `
9420
- :after {
9421
- font-size: 0.75rem;
9422
- color: ${({ theme: { palette } }) => palette.iconDisabled};
9423
- transition: color ${transition.hover};
9424
- }
9425
-
9426
- :hover:after {
9427
- color: ${({ theme: { palette } }) => palette.icon};
9428
- }
9462
+ const ModalIcon = styled(IconButton) `
9463
+ :after {
9464
+ font-size: 0.75rem;
9465
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
9466
+ transition: color ${transition.hover};
9467
+ }
9468
+
9469
+ :hover:after {
9470
+ color: ${({ theme: { palette } }) => palette.icon};
9471
+ }
9429
9472
  `;
9430
9473
 
9431
9474
  const isEmptyElementValue = (value) => value === "" || value === null || value === undefined;
@@ -10181,64 +10224,64 @@ const getJustifyContent = (align) => {
10181
10224
  return "flex-start";
10182
10225
  }
10183
10226
  };
10184
- const ChipsContainer = styled(Flex) `
10185
- flex-wrap: wrap;
10186
- gap: 0.25rem;
10187
- background: transparent;
10188
- justify-content: ${({ $align }) => getJustifyContent($align)};
10227
+ const ChipsContainer = styled(Flex) `
10228
+ flex-wrap: wrap;
10229
+ gap: 0.25rem;
10230
+ background: transparent;
10231
+ justify-content: ${({ $align }) => getJustifyContent($align)};
10189
10232
  `;
10190
10233
 
10191
- const FilterChip = styled.div `
10192
- display: inline-flex;
10193
- align-items: center;
10194
- gap: 0.25rem;
10195
- padding: 0.3125rem 0.5rem;
10196
- height: 1.5rem;
10197
- border-radius: 0.25rem;
10234
+ const FilterChip = styled.div `
10235
+ display: inline-flex;
10236
+ align-items: center;
10237
+ gap: 0.25rem;
10238
+ padding: 0.3125rem 0.5rem;
10239
+ height: 1.5rem;
10240
+ border-radius: 0.25rem;
10198
10241
  background-color: ${({ $isActive, $bgColor, theme }) => $bgColor
10199
10242
  ? $bgColor
10200
10243
  : $isActive
10201
10244
  ? theme.palette?.primary
10202
- : theme.palette?.elementLight};
10245
+ : theme.palette?.elementLight};
10203
10246
  color: ${({ $isActive, $textColor, theme }) => $textColor
10204
10247
  ? $textColor
10205
10248
  : $isActive
10206
10249
  ? theme.palette?.textContrast
10207
- : theme.palette?.textSecondary};
10208
- cursor: pointer;
10209
- font-size: 0.75rem;
10210
- line-height: 0.875rem;
10211
- white-space: nowrap;
10212
- flex-shrink: 0;
10213
- transition: all 0.2s ease-in-out;
10214
- margin: 0 0.25rem 0 0;
10215
- box-sizing: border-box;
10216
-
10217
- &:hover {
10250
+ : theme.palette?.textSecondary};
10251
+ cursor: pointer;
10252
+ font-size: 0.75rem;
10253
+ line-height: 0.875rem;
10254
+ white-space: nowrap;
10255
+ flex-shrink: 0;
10256
+ transition: all 0.2s ease-in-out;
10257
+ margin: 0 0.25rem 0 0;
10258
+ box-sizing: border-box;
10259
+
10260
+ &:hover {
10218
10261
  background-color: ${({ $isActive, $bgColor, theme }) => $isActive
10219
10262
  ? $bgColor || 'inherit'
10220
- : $bgColor || theme.palette?.elementDark};
10221
- }
10263
+ : $bgColor || theme.palette?.elementDark};
10264
+ }
10222
10265
  `;
10223
- const ChipIconWrapper = styled.span `
10224
- display: inline-flex;
10225
- align-items: center;
10226
- justify-content: center;
10227
- width: 0.875rem;
10228
- height: 0.875rem;
10229
- flex-shrink: 0;
10230
-
10231
- svg, img {
10232
- width: 100%;
10233
- height: 100%;
10234
- display: block;
10235
- }
10266
+ const ChipIconWrapper = styled.span `
10267
+ display: inline-flex;
10268
+ align-items: center;
10269
+ justify-content: center;
10270
+ width: 0.875rem;
10271
+ height: 0.875rem;
10272
+ flex-shrink: 0;
10273
+
10274
+ svg, img {
10275
+ width: 100%;
10276
+ height: 100%;
10277
+ display: block;
10278
+ }
10236
10279
  `;
10237
- const ChipText = styled.span `
10238
- overflow: hidden;
10239
- text-overflow: ellipsis;
10240
- white-space: nowrap;
10241
- ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
10280
+ const ChipText = styled.span `
10281
+ overflow: hidden;
10282
+ text-overflow: ellipsis;
10283
+ white-space: nowrap;
10284
+ ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
10242
10285
  `;
10243
10286
 
10244
10287
  const CustomChip = ({ text, icon, color, primary, secondary, error, disabled, isActive, maxTextWidth, fontColor: customFontColor, backgroundColor: customBackgroundColor, ...props }) => {
@@ -10981,6 +11024,7 @@ const useDashboardHeader = () => {
10981
11024
  };
10982
11025
 
10983
11026
  /* eslint-disable max-lines */
11027
+ const toConditionsArray = (value) => Array.isArray(value) ? value : value ? [value] : [];
10984
11028
  const useDataSources = ({ type: widgetType, config, attributes, filters, layerParams, eqlParameters, }) => {
10985
11029
  const { ewktGeometry, api } = useGlobalContext();
10986
11030
  const { dataSources, layerInfo } = useWidgetContext(widgetType);
@@ -11057,24 +11101,25 @@ const useDataSources = ({ type: widgetType, config, attributes, filters, layerPa
11057
11101
  attributes: descriptionResponse,
11058
11102
  };
11059
11103
  }
11104
+ const formatted = condition
11105
+ ? formatDataSourceCondition({
11106
+ condition,
11107
+ configFilters,
11108
+ filters: selectedFilters,
11109
+ geometry: ewktGeometry,
11110
+ attributes,
11111
+ layerParams,
11112
+ eqlParameters,
11113
+ })
11114
+ : undefined;
11060
11115
  return api.layers.getFeatures(layerName, {
11061
11116
  offset,
11062
11117
  limit: limit || DEFAULT_DATA_SOURCE_LIMIT,
11063
11118
  withGeom: false,
11064
11119
  parameters: newParams,
11065
11120
  conditions: isEmpty(parameters) && condition
11066
- ? [
11067
- formatDataSourceCondition({
11068
- condition,
11069
- configFilters,
11070
- filters: selectedFilters,
11071
- geometry: ewktGeometry,
11072
- attributes,
11073
- layerParams,
11074
- eqlParameters,
11075
- }),
11076
- ]
11077
- : [condition, query].filter(Boolean),
11121
+ ? toConditionsArray(formatted)
11122
+ : [...toConditionsArray(condition), query].filter(Boolean),
11078
11123
  });
11079
11124
  }, [
11080
11125
  filters,
@@ -11086,6 +11131,8 @@ const useDataSources = ({ type: widgetType, config, attributes, filters, layerPa
11086
11131
  api.eql,
11087
11132
  attributes,
11088
11133
  layerParams,
11134
+ layerInfo,
11135
+ projectDataSources,
11089
11136
  eqlParameters,
11090
11137
  ]);
11091
11138
  const getUpdatingDataSources = useCallback(() => {
@@ -11750,8 +11797,8 @@ const Dashboard = memo(({ type = WidgetType.Dashboard, noBorders }) => {
11750
11797
  return (jsx(PagesContainer, { type: type, noBorders: noBorders }));
11751
11798
  });
11752
11799
 
11753
- const CardCheckbox = styled(Checkbox) `
11754
- padding-left: 0.5rem;
11800
+ const CardCheckbox = styled(Checkbox) `
11801
+ padding-left: 0.5rem;
11755
11802
  `;
11756
11803
 
11757
11804
  const DashboardCheckbox = ({ title, checked, onChange, }) => {
@@ -11826,15 +11873,15 @@ const FeatureCardTitle = ({ title, description }) => {
11826
11873
  return (jsxs(HeaderTitleContainer, { children: [jsx(FeatureTitleContainer, { children: jsx(FlexSpan, { children: resultTitle }) }), jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
11827
11874
  };
11828
11875
 
11829
- const HiddenFilters = styled(Flex) `
11830
- flex-wrap: wrap;
11831
- margin-top: -1.25rem;
11832
-
11833
- ${DashboardChip$1} {
11834
- height: 1.5rem;
11835
- margin: 0 0.25rem 0.25rem 0;
11836
- padding: 0 0 0 0.5rem;
11837
- }
11876
+ const HiddenFilters = styled(Flex) `
11877
+ flex-wrap: wrap;
11878
+ margin-top: -1.25rem;
11879
+
11880
+ ${DashboardChip$1} {
11881
+ height: 1.5rem;
11882
+ margin: 0 0.25rem 0.25rem 0;
11883
+ padding: 0 0 0 0.5rem;
11884
+ }
11838
11885
  `;
11839
11886
 
11840
11887
  function spliceValue(filterValue, splicingValue) {
@@ -12033,24 +12080,24 @@ const LogTerminal = ({ log, terminalOptions, className, styles }) => {
12033
12080
  return jsx(TerminalWrapper, { ref: terminalRef, className: className, style: styles });
12034
12081
  };
12035
12082
 
12036
- const PageNavigator = styled(Flex) `
12037
- margin-right: -0.5rem;
12038
- align-items: center;
12039
-
12040
- button {
12041
- width: auto;
12042
- height: 2rem;
12043
- padding: 0 0.5rem;
12044
-
12045
- span[kind]:after {
12046
- color: ${({ theme: { palette } }) => palette.textDisabled};
12047
- transition: color ${transition.hover};
12048
- }
12049
-
12050
- :hover span[kind]:after {
12051
- color: ${({ theme: { palette } }) => palette.textSecondary};
12052
- }
12053
- }
12083
+ const PageNavigator = styled(Flex) `
12084
+ margin-right: -0.5rem;
12085
+ align-items: center;
12086
+
12087
+ button {
12088
+ width: auto;
12089
+ height: 2rem;
12090
+ padding: 0 0.5rem;
12091
+
12092
+ span[kind]:after {
12093
+ color: ${({ theme: { palette } }) => palette.textDisabled};
12094
+ transition: color ${transition.hover};
12095
+ }
12096
+
12097
+ :hover span[kind]:after {
12098
+ color: ${({ theme: { palette } }) => palette.textSecondary};
12099
+ }
12100
+ }
12054
12101
  `;
12055
12102
 
12056
12103
  const Pagination = memo(({ type = WidgetType.Dashboard }) => {
@@ -12059,34 +12106,34 @@ const Pagination = memo(({ type = WidgetType.Dashboard }) => {
12059
12106
  return (jsxs(PageNavigator, { children: [jsx(IconButton, { kind: "prev", onClick: () => prevPage(pages.length) }), jsx(IconButton, { kind: "next", onClick: () => nextPage(pages.length) })] }));
12060
12107
  });
12061
12108
 
12062
- const StyledSvgWidthMixin = css `
12063
- &&& {
12064
- svg {
12065
- width: ${({ $width }) => $width}px;
12066
- }
12067
- }
12109
+ const StyledSvgWidthMixin = css `
12110
+ &&& {
12111
+ svg {
12112
+ width: ${({ $width }) => $width}px;
12113
+ }
12114
+ }
12068
12115
  `;
12069
- const StyledSvgHeightMixin = css `
12070
- &&& {
12071
- svg {
12072
- height: ${({ $height }) => $height}px;
12073
- }
12074
- }
12116
+ const StyledSvgHeightMixin = css `
12117
+ &&& {
12118
+ svg {
12119
+ height: ${({ $height }) => $height}px;
12120
+ }
12121
+ }
12075
12122
  `;
12076
- const StyledSvgColorMixin = css `
12077
- svg {
12078
- path,
12079
- line,
12080
- circle {
12081
- fill: ${({ $fontColor }) => $fontColor} !important;
12082
- }
12083
- }
12123
+ const StyledSvgColorMixin = css `
12124
+ svg {
12125
+ path,
12126
+ line,
12127
+ circle {
12128
+ fill: ${({ $fontColor }) => $fontColor} !important;
12129
+ }
12130
+ }
12084
12131
  `;
12085
- const StyledSvg = styled(Flex) `
12086
- align-items: center;
12087
- ${({ $width }) => !!$width && StyledSvgWidthMixin};
12088
- ${({ $height }) => !!$height && StyledSvgHeightMixin};
12089
- ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
12132
+ const StyledSvg = styled(Flex) `
12133
+ align-items: center;
12134
+ ${({ $width }) => !!$width && StyledSvgWidthMixin};
12135
+ ${({ $height }) => !!$height && StyledSvgHeightMixin};
12136
+ ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
12090
12137
  `;
12091
12138
 
12092
12139
  const SvgImage = memo(({ url, width, height, fontColor }) => {
@@ -12390,28 +12437,28 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
12390
12437
  return (jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle, filterVersion: filterVersion }));
12391
12438
  };
12392
12439
 
12393
- const MapWrapper = styled.div `
12394
- position: relative;
12395
- width: 100%;
12396
- height: 100%;
12397
- box-sizing: border-box;
12398
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
12399
-
12400
- .mapbox-gl-draw_trash {
12401
- display: none;
12402
- }
12403
-
12404
- .mapboxgl-ctrl-logo {
12405
- display: none;
12406
- }
12407
-
12408
- .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
12409
- display: none;
12410
- }
12411
-
12412
- .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
12413
- width: 350px;
12414
- }
12440
+ const MapWrapper = styled.div `
12441
+ position: relative;
12442
+ width: 100%;
12443
+ height: 100%;
12444
+ box-sizing: border-box;
12445
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
12446
+
12447
+ .mapbox-gl-draw_trash {
12448
+ display: none;
12449
+ }
12450
+
12451
+ .mapboxgl-ctrl-logo {
12452
+ display: none;
12453
+ }
12454
+
12455
+ .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
12456
+ display: none;
12457
+ }
12458
+
12459
+ .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
12460
+ width: 350px;
12461
+ }
12415
12462
  `;
12416
12463
 
12417
12464
  const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...rest }) => {
@@ -12423,5 +12470,5 @@ const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...res
12423
12470
  }, children: children }), upperSiblings] }));
12424
12471
  };
12425
12472
 
12426
- export { AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardGradientHeader, FeatureCardHeader, FeatureCardIconHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, RoundedBackgroundContainer, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, 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, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTemplateNameFromAttribute, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, metersPerPixel, numberOptions, parseClientStyle, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, updateDataSource, useAppHeight, useAutoCompleteControl, useChartChange, useChartData, useCurrentPageLayers, useCustomFeatureSelect, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerHiddenAttributes, useLayerParams, useMapContext, useMapDraw, useMapImages, useMaxZoomTo, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useVisibleProjectItems, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
12473
+ export { AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardGradientHeader, FeatureCardHeader, FeatureCardIconHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, POLL_SUBTASK_INTERVAL_MS, POLL_SUBTASK_TIMEOUT_MS, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, RoundedBackgroundContainer, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, 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, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTemplateNameFromAttribute, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, metersPerPixel, numberOptions, parseClientStyle, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, updateDataSource, useAppHeight, useAutoCompleteControl, useChartChange, useChartData, useCurrentPageLayers, useCustomFeatureSelect, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerHiddenAttributes, useLayerParams, useMapContext, useMapDraw, useMapImages, useMaxZoomTo, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useVisibleProjectItems, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
12427
12474
  //# sourceMappingURL=react.esm.js.map