@evergis/react 3.1.22 → 3.1.24

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/index.js CHANGED
@@ -27,181 +27,180 @@ const AddFeatureButton = ({ title, icon = "feature_add" /* , layerName, geometry
27
27
  return (jsxRuntime.jsx(uilibGl.IconButton, { kind: icon, primary: true, onClick: handleAddFeature, children: title }));
28
28
  };
29
29
 
30
- const ChartTooltipTable = styled.table `
31
- td {
32
- padding: 0;
33
- }
34
-
35
- tr:not(:last-child) td {
36
- padding-bottom: 0.375rem;
37
- }
38
- `;
39
- const ChartTooltip = styled(uilibGl.Flex) `
40
- flex-wrap: nowrap;
41
- background: rgb(48, 69, 79);
42
- border-radius: 0.25rem;
43
- color: white;
44
-
45
- :not(:last-child) {
46
- margin-bottom: 0.25rem;
47
- }
48
- `;
49
- const ChartTooltipLabel = styled.div `
50
- margin-right: 0.25rem;
51
- `;
52
- const ChartTooltipColor = styled.div `
53
- width: 0.625rem;
54
- height: 0.625rem;
55
- background-color: ${({ $color }) => $color};
56
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
57
- margin-right: 0.25rem;
58
- `;
59
- const ChartLegendColor$1 = styled.div `
60
- width: 0.5rem;
61
- height: 0.5rem;
62
- background-color: ${({ $color }) => $color};
63
- border-radius: 0.125rem;
64
- `;
65
- const ChartLegendValue = styled.div `
66
- opacity: 0.65;
67
- `;
68
- const ChartTooltipRow = styled(uilibGl.Flex) `
69
- display: flex;
70
- flex-direction: row;
71
- flex-wrap: nowrap;
72
- align-items: center;
73
- margin-top: 0.25rem;
74
- line-height: 0;
75
-
76
- ${ChartLegendColor$1} {
77
- margin-right: 0.25rem;
78
- }
79
- `;
80
- const ChartTooltipName = styled.div `
81
- margin-right: 1rem;
82
- opacity: 0.65;
83
- `;
84
- const PieChartCenter = styled.div `
85
- position: absolute;
86
- top: 50%;
87
- left: 50%;
88
- transform: translate(-50%, -50%);
89
- text-align: center;
90
- font-weight: bold;
91
- font-size: 1.5rem;
92
- `;
93
- const ChartWrapperContainer = styled.div `
94
- position: relative;
95
- width: 100%;
96
- `;
97
- const Tooltip = styled.div `
98
- position: relative;
99
- border-radius: 0.25rem;
100
- background-color: rgba(28, 33, 48);
101
- padding: 0.5rem;
102
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.15);
103
- font-size: 0.75rem;
104
- transform: ${({ transform }) => transform};
105
- color: white;
106
-
107
- :before {
108
- position: absolute;
109
- display: block;
110
- content: "";
111
- width: 0;
112
- height: 0;
113
- }
114
- `;
115
- const LineChartStyles = styled.createGlobalStyle `
116
- .dashboardLineChartTooltip.${charts.lineChartClassNames.lineChartMouseLabel} {
117
- .${charts.lineChartClassNames.lineChartLabelFlex} {
118
- justify-content: center;
119
- align-items: flex-end;
120
-
121
- ${Tooltip} {
122
- margin: 0 0 12px 0;
123
-
124
- :before {
125
- top: auto;
126
- bottom: 0;
127
- left: 50%;
128
- transform: translate(-50%, 100%);
129
- border-left: 4px solid transparent;
130
- border-right: 4px solid transparent;
131
- border-top: 4px solid rgba(28, 33, 48, 0.9);
132
- }
133
- }
134
- }
135
- }
136
-
137
- .${charts.lineChartClassNames.lineChartYScaleGlobal}, .${charts.lineChartClassNames.lineChartXScaleGlobal} {
138
- .domain {
139
- visibility: hidden;
140
- }
141
-
142
- .tick {
143
- text {
144
- fill: ${({ theme: { palette } }) => palette.textDisabled};
145
- }
146
-
147
- line {
148
- visibility: hidden;
149
- }
150
- }
151
- }
152
-
153
- .${charts.lineChartClassNames.lineChartXScaleGlobal} {
154
- .tick {
155
- :first-of-type {
156
- text {
157
- text-anchor: start;
158
- }
159
- }
160
-
161
- :last-of-type {
162
- text {
163
- text-anchor: end;
164
- }
165
- }
166
- }
167
- }
168
-
169
- .${charts.lineChartClassNames.lineChartLine} {
170
- stroke-width: 2px;
171
- }
172
-
173
- .${charts.lineChartClassNames.lineChartLabel} {
174
- color: ${({ theme: { palette } }) => palette.textPrimary};
175
- }
176
-
177
- .${charts.lineChartClassNames.lineChartMouseCircle} {
178
- stroke: #ffffff;
179
- stroke-width: 2px;
180
- }
181
-
182
- .${charts.lineChartClassNames.lineChartGridLineX} {
183
- stroke: ${({ theme: { palette } }) => palette.element};
184
- }
185
-
186
- text {
187
- fill: ${({ theme: { palette } }) => palette.textDisabled};
188
- }
189
- `;
190
- const StyledBarChart = styled(charts.BarChart) `
191
- .domain,
192
- line {
193
- display: none;
194
- }
195
-
196
- .tick {
197
- text {
198
- fill: ${({ theme: { palette } }) => palette.textDisabled};
199
- }
200
-
201
- line {
202
- visibility: hidden;
203
- }
204
- }
30
+ const ChartTooltipTable = styled.table `
31
+ td {
32
+ padding: 0;
33
+ }
34
+
35
+ tr:not(:last-child) td {
36
+ padding-bottom: 0.375rem;
37
+ }
38
+ `;
39
+ const ChartTooltip = styled(uilibGl.Flex) `
40
+ flex-wrap: nowrap;
41
+ background: rgb(48, 69, 79);
42
+ border-radius: 0.25rem;
43
+ color: white;
44
+
45
+ :not(:last-child) {
46
+ margin-bottom: 0.25rem;
47
+ }
48
+ `;
49
+ const ChartTooltipLabel = styled.div `
50
+ margin-right: 0.25rem;
51
+ `;
52
+ const ChartTooltipColor = styled.div `
53
+ width: 0.625rem;
54
+ height: 0.625rem;
55
+ background-color: ${({ $color }) => $color};
56
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
57
+ margin-right: 0.25rem;
58
+ `;
59
+ const ChartLegendColor$1 = styled.div `
60
+ width: 0.5rem;
61
+ height: 0.5rem;
62
+ background-color: ${({ $color }) => $color};
63
+ border-radius: 0.125rem;
64
+ `;
65
+ const ChartLegendValue = styled.div `
66
+ opacity: 0.65;
67
+ `;
68
+ const ChartTooltipRow = styled(uilibGl.Flex) `
69
+ display: flex;
70
+ flex-direction: row;
71
+ flex-wrap: nowrap;
72
+ align-items: center;
73
+ margin-top: 0.5rem;
74
+ line-height: 0;
75
+
76
+ ${ChartLegendColor$1} {
77
+ margin-right: 0.25rem;
78
+ }
79
+ `;
80
+ const ChartTooltipName = styled.div `
81
+ margin-right: 1rem;
82
+ opacity: 0.65;
83
+ `;
84
+ const PieChartCenter = styled.div `
85
+ position: absolute;
86
+ top: 50%;
87
+ left: 50%;
88
+ transform: translate(-50%, -50%);
89
+ text-align: center;
90
+ font-weight: bold;
91
+ font-size: 1.5rem;
92
+ `;
93
+ const ChartWrapperContainer = styled.div `
94
+ position: relative;
95
+ width: 100%;
96
+ `;
97
+ const Tooltip = styled.div `
98
+ position: relative;
99
+ border-radius: 0.25rem;
100
+ background-color: rgba(28, 33, 48);
101
+ padding: 0.5rem;
102
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.15);
103
+ font-size: 0.75rem;
104
+ transform: ${({ transform }) => transform};
105
+ color: white;
106
+
107
+ :before {
108
+ position: absolute;
109
+ display: block;
110
+ content: "";
111
+ width: 0;
112
+ height: 0;
113
+ }
114
+ `;
115
+ const LineChartStyles = styled.createGlobalStyle `
116
+ .dashboardLineChartTooltip.${charts.lineChartClassNames.lineChartMouseLabel} {
117
+ .${charts.lineChartClassNames.lineChartLabelFlex} {
118
+ justify-content: center;
119
+ align-items: flex-end;
120
+
121
+ ${Tooltip} {
122
+ margin: 0 0 12px 0;
123
+
124
+ :before {
125
+ top: auto;
126
+ bottom: 0;
127
+ left: 50%;
128
+ transform: translate(-50%, 100%);
129
+ border-left: 4px solid transparent;
130
+ border-right: 4px solid transparent;
131
+ border-top: 4px solid rgba(28, 33, 48, 0.9);
132
+ }
133
+ }
134
+ }
135
+ }
136
+
137
+ .${charts.lineChartClassNames.lineChartYScaleGlobal}, .${charts.lineChartClassNames.lineChartXScaleGlobal} {
138
+ .domain {
139
+ visibility: hidden;
140
+ }
141
+
142
+ .tick {
143
+ text {
144
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
145
+ }
146
+
147
+ line {
148
+ visibility: hidden;
149
+ }
150
+ }
151
+ }
152
+
153
+ .${charts.lineChartClassNames.lineChartXScaleGlobal} {
154
+ .tick {
155
+ :first-of-type {
156
+ text {
157
+ text-anchor: start;
158
+ }
159
+ }
160
+
161
+ :last-of-type {
162
+ text {
163
+ text-anchor: end;
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ .${charts.lineChartClassNames.lineChartLine} {
170
+ stroke-width: 2px;
171
+ }
172
+
173
+ .${charts.lineChartClassNames.lineChartLabel} {
174
+ color: ${({ theme: { palette } }) => palette.textPrimary};
175
+ }
176
+
177
+ .${charts.lineChartClassNames.lineChartMouseCircle} {
178
+ stroke: #ffffff;
179
+ stroke-width: 2px;
180
+ }
181
+
182
+ .${charts.lineChartClassNames.lineChartGridLineX} {
183
+ stroke: ${({ theme: { palette } }) => palette.element};
184
+ }
185
+
186
+ text {
187
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
188
+ }
189
+ `;
190
+ const StyledBarChart = styled(charts.BarChart) `
191
+ .domain {
192
+ display: none;
193
+ }
194
+
195
+ .tick {
196
+ text {
197
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
198
+ }
199
+
200
+ line {
201
+ visibility: hidden;
202
+ }
203
+ }
205
204
  `;
206
205
 
207
206
  function range(start, stop, step) {
@@ -3429,42 +3428,42 @@ const NUMERIC_ATTRIBUTE_TYPES = [api.AttributeType.Double, api.AttributeType.Int
3429
3428
  const GEOMETRY_ATTRIBUTE = "geometry";
3430
3429
  const DEFAULT_ID_ATTRIBUTE_NAME = "gid";
3431
3430
 
3432
- const StackBarContainer = styled(uilibGl.Flex) `
3433
- flex-wrap: nowrap;
3434
- width: 100%;
3435
- `;
3436
- const StackBarHeader = styled(uilibGl.Flex) `
3437
- justify-content: space-between;
3438
- margin-bottom: 0.375rem;
3439
- font-size: 0.75rem;
3440
- `;
3441
- const StackBarSection = styled.div `
3442
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3443
- width: ${({ $width }) => $width}%;
3444
- height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3445
- margin: 0 0.5px;
3446
- background-color: ${({ $color }) => $color};
3447
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3448
- transition: opacity ${uilibGl.transition.release};
3449
-
3450
- :first-child {
3451
- border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3452
- border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3453
- }
3454
-
3455
- :last-child {
3456
- border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3457
- border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3458
- }
3459
- `;
3460
- const StackBarAlias = styled.div `
3461
- color: ${({ theme: { palette } }) => palette.textSecondary};
3431
+ const StackBarContainer = styled(uilibGl.Flex) `
3432
+ flex-wrap: nowrap;
3433
+ width: 100%;
3434
+ `;
3435
+ const StackBarHeader = styled(uilibGl.Flex) `
3436
+ justify-content: space-between;
3437
+ margin-bottom: 0.375rem;
3438
+ font-size: 0.75rem;
3439
+ `;
3440
+ const StackBarSection = styled.div `
3441
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3442
+ width: ${({ $width }) => $width}%;
3443
+ height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3444
+ margin: 0 0.5px;
3445
+ background-color: ${({ $color }) => $color};
3446
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3447
+ transition: opacity ${uilibGl.transition.release};
3448
+
3449
+ :first-child {
3450
+ border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3451
+ border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3452
+ }
3453
+
3454
+ :last-child {
3455
+ border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3456
+ border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3457
+ }
3458
+ `;
3459
+ const StackBarAlias = styled.div `
3460
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3462
3461
  `;
3463
3462
  const StackBarTotal = styled(uilibGl.Flex) ``;
3464
3463
  const StackBarValue = styled.div ``;
3465
- const StackBarUnits = styled.div `
3466
- margin-left: 0.25rem;
3467
- color: ${({ theme: { palette } }) => palette.textSecondary};
3464
+ const StackBarUnits = styled.div `
3465
+ margin-left: 0.25rem;
3466
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3468
3467
  `;
3469
3468
 
3470
3469
  const transparentizeColor = (originalColor, percent) => {
@@ -3799,11 +3798,6 @@ const isLayerService = (value) => isObject(value) && "name" in value;
3799
3798
 
3800
3799
  const isNumeric = (number) => !isNaN(parseFloat(number)) && isFinite(number);
3801
3800
 
3802
- const ConfigContext = React.createContext({});
3803
- const ConfigProvider = React.memo(({ children, config }) => {
3804
- return jsxRuntime.jsx(ConfigContext.Provider, { value: { config }, children: children });
3805
- });
3806
-
3807
3801
  const DashboardContext = React.createContext({});
3808
3802
  const DashboardProvider = React.memo(({ children, ...props }) => {
3809
3803
  return jsxRuntime.jsx(DashboardContext.Provider, { value: props, children: children });
@@ -3917,9 +3911,10 @@ const ServerNotificationsProvider = ({ url, initialized, children }) => {
3917
3911
  };
3918
3912
 
3919
3913
  const useWidgetContext = (type = exports.WidgetType.Dashboard) => {
3920
- const { projectInfo, updateProject, layerInfos, geometryFilter, dashboardLayers, setDashboardLayer, components: dashboardComponents, pageIndex: projectPageIndex, selectedTabId: projectSelectedTabId, setSelectedTabId: setProjectSelectedTabId, dataSources: projectDataSources, loading: projectLoading, filters: projectFilters, changeFilters: projectChangeFilters, expandContainer: projectExpandContainer, expandedContainers: projectExpandedContainers, nextPage: projectNextPage, prevPage: projectPrevPage, changePage: projectChangePage, } = React.useContext(DashboardContext) || {};
3914
+ const { config, projectInfo, updateProject, layerInfos, geometryFilter, dashboardLayers, setDashboardLayer, components: dashboardComponents, pageIndex: projectPageIndex, selectedTabId: projectSelectedTabId, setSelectedTabId: setProjectSelectedTabId, dataSources: projectDataSources, loading: projectLoading, filters: projectFilters, changeFilters: projectChangeFilters, expandContainer: projectExpandContainer, expandedContainers: projectExpandedContainers, nextPage: projectNextPage, prevPage: projectPrevPage, changePage: projectChangePage, } = React.useContext(DashboardContext) || {};
3921
3915
  const { layerInfo, attributes, feature, closeFeatureCard, pageIndex: featurePageIndex, selectedTabId: featureSelectedTabId, setSelectedTabId: setFeatureSelectedTabId, dataSources: featureDataSources, loading: featureLoading, filters: featureFilters, changeFilters: featureChangeFilters, expandContainer: featureExpandContainer, expandedContainers: featureExpandedContainers, nextPage: featureNextPage, prevPage: featurePrevPage, changePage: featureChangePage, } = React.useContext(FeatureCardContext) || {};
3922
3916
  return {
3917
+ config,
3923
3918
  projectInfo,
3924
3919
  layerInfos,
3925
3920
  updateProject,
@@ -3932,7 +3927,7 @@ const useWidgetContext = (type = exports.WidgetType.Dashboard) => {
3932
3927
  closeFeatureCard,
3933
3928
  components: dashboardComponents,
3934
3929
  isLoading: type === exports.WidgetType.Dashboard ? projectLoading : featureLoading,
3935
- pageIndex: type === exports.WidgetType.Dashboard ? projectPageIndex : featurePageIndex,
3930
+ pageIndex: type === exports.WidgetType.Dashboard ? projectPageIndex || 1 : featurePageIndex || 1,
3936
3931
  filters: type === exports.WidgetType.Dashboard ? projectFilters : featureFilters,
3937
3932
  changeFilters: type === exports.WidgetType.Dashboard ? projectChangeFilters : featureChangeFilters,
3938
3933
  dataSources: type === exports.WidgetType.Dashboard ? projectDataSources : featureDataSources,
@@ -4004,7 +3999,7 @@ function wrap() {
4004
3999
  textLength = self.node().getComputedTextLength();
4005
4000
  }
4006
4001
  }
4007
- const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes, defaultColor, fontColor, showMarkers, }) => {
4002
+ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes, defaultColor, fontColor, markers, showMarkers, }) => {
4008
4003
  const { t } = useGlobalContext();
4009
4004
  const { layerInfos } = useWidgetContext();
4010
4005
  const strokeColors = relatedAttributes.filter(({ chartAxis }) => chartAxis === "y").map(({ axisColor }) => axisColor);
@@ -4028,8 +4023,8 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4028
4023
  const customize = React.useCallback(({ svg }) => {
4029
4024
  svg.style("overflow", "visible");
4030
4025
  svg
4031
- .selectAll(`.${charts.lineChartClassNames.lineChartXScaleGlobal} line,
4032
- .${charts.lineChartClassNames.lineChartYScaleGlobal} line,
4026
+ .selectAll(`.${charts.lineChartClassNames.lineChartXScaleGlobal} line,
4027
+ .${charts.lineChartClassNames.lineChartYScaleGlobal} line,
4033
4028
  .domain`)
4034
4029
  .each((_, index, nodes) => {
4035
4030
  nodes[index].remove();
@@ -4041,8 +4036,11 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4041
4036
  if (index === nodes.length - 1) {
4042
4037
  nodes[index].style.textAnchor = "end";
4043
4038
  }
4039
+ if (markers) {
4040
+ nodes[index].remove();
4041
+ }
4044
4042
  if (showMarkers) {
4045
- if (index % (showMarkers || 1) !== 0) {
4043
+ if (index % showMarkers !== 0) {
4046
4044
  nodes[index].remove();
4047
4045
  }
4048
4046
  }
@@ -4083,11 +4081,11 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4083
4081
  .attr("fill", `url(#${gradientId})`)
4084
4082
  .attr("stroke-width", "0")
4085
4083
  .attr("fill-opacity", FILL_OPACITY);
4086
- defs.push(`
4087
- <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4088
- <stop offset="0" stop-color="${color}" stop-opacity="1" />
4089
- <stop offset="1" stop-color="${color}" stop-opacity="0" />
4090
- </linearGradient>
4084
+ defs.push(`
4085
+ <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4086
+ <stop offset="0" stop-color="${color}" stop-opacity="1" />
4087
+ <stop offset="1" stop-color="${color}" stop-opacity="0" />
4088
+ </linearGradient>
4091
4089
  `);
4092
4090
  ref.current = {
4093
4091
  path: newPath,
@@ -4097,7 +4095,7 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4097
4095
  onChange();
4098
4096
  });
4099
4097
  svg.append("defs").html(() => defs.join(""));
4100
- }, [fontColor, dataSources, layerInfos, relatedAttributes, chartId, strokeColors, defaultColor, width, onChange, showMarkers]);
4098
+ }, [fontColor, dataSources, layerInfos, relatedAttributes, chartId, strokeColors, defaultColor, width, onChange, showMarkers, markers]);
4101
4099
  return [customize, onChange];
4102
4100
  };
4103
4101
 
@@ -4436,247 +4434,247 @@ const formatDataSourceCondition = ({ condition, configFilters, filters, attribut
4436
4434
  : conditionSection.join(splitter);
4437
4435
  };
4438
4436
 
4439
- const DashboardChipsContainer = styled(uilibGl.Flex) `
4440
- flex-wrap: wrap;
4441
- `;
4442
- const DashboardChip$1 = styled(uilibGl.Chip) `
4443
- margin: 0 0.25rem 0.25rem 0;
4444
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4445
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4446
- white-space: nowrap;
4447
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4448
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
4449
-
4450
- > * {
4451
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4452
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
4453
- }
4454
-
4455
- span[kind] {
4456
- height: 0.875rem;
4457
-
4458
- :after {
4459
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
4460
- font-size: 0.875rem;
4461
- }
4462
- }
4463
-
4464
- button {
4465
- width: auto;
4466
- padding: 0 0.5rem;
4467
- }
4468
- `;
4469
-
4470
- const ChartLegendContainer = styled(uilibGl.Flex) `
4471
- flex-direction: column;
4472
- flex-wrap: wrap;
4473
- justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
4474
- `;
4475
- const ChartLegendItem = styled(uilibGl.Flex) `
4476
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
4477
- align-items: center;
4478
- flex-wrap: nowrap;
4479
- width: auto;
4480
- margin-right: 0.375rem;
4481
- margin-bottom: 0.25rem;
4482
- opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
4483
- `;
4484
- const ChartLegendColor = styled.div `
4485
- width: 0.5rem;
4486
- height: 0.5rem;
4487
- margin-right: 0.375rem;
4488
- background-color: ${({ color }) => color};
4489
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
4490
- `;
4491
- const ChartLegendName = styled.div `
4492
- flex: 1;
4493
- font-size: 0.625rem;
4494
- color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
4495
- `;
4496
-
4497
- const Container = styled(uilibGl.Flex) `
4498
- flex-direction: column;
4499
- width: 100%;
4500
-
4437
+ const DashboardChipsContainer = styled(uilibGl.Flex) `
4438
+ flex-wrap: wrap;
4439
+ `;
4440
+ const DashboardChip$1 = styled(uilibGl.Chip) `
4441
+ margin: 0 0.25rem 0.25rem 0;
4442
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4443
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4444
+ white-space: nowrap;
4445
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4446
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
4447
+
4448
+ > * {
4449
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4450
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
4451
+ }
4452
+
4453
+ span[kind] {
4454
+ height: 0.875rem;
4455
+
4456
+ :after {
4457
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
4458
+ font-size: 0.875rem;
4459
+ }
4460
+ }
4461
+
4462
+ button {
4463
+ width: auto;
4464
+ padding: 0 0.5rem;
4465
+ }
4466
+ `;
4467
+
4468
+ const ChartLegendContainer = styled(uilibGl.Flex) `
4469
+ flex-direction: column;
4470
+ flex-wrap: wrap;
4471
+ justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
4472
+ `;
4473
+ const ChartLegendItem = styled(uilibGl.Flex) `
4474
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
4475
+ align-items: center;
4476
+ flex-wrap: nowrap;
4477
+ width: auto;
4478
+ margin-right: 0.375rem;
4479
+ margin-bottom: 0.25rem;
4480
+ opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
4481
+ `;
4482
+ const ChartLegendColor = styled.div `
4483
+ width: 0.5rem;
4484
+ height: 0.5rem;
4485
+ margin-right: 0.375rem;
4486
+ background-color: ${({ color }) => color};
4487
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
4488
+ `;
4489
+ const ChartLegendName = styled.div `
4490
+ flex: 1;
4491
+ font-size: 0.625rem;
4492
+ color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
4493
+ `;
4494
+
4495
+ const Container = styled(uilibGl.Flex) `
4496
+ flex-direction: column;
4497
+ width: 100%;
4498
+
4501
4499
  ${({ isColumn }) => isColumn
4502
- ? styled.css `
4503
- > * {
4504
- width: 100%;
4505
- }
4500
+ ? styled.css `
4501
+ > * {
4502
+ width: 100%;
4503
+ }
4506
4504
  `
4507
- : styled.css `
4508
- flex-direction: row;
4509
- justify-content: space-between;
4510
- align-items: center;
4511
- `}
4512
-
4505
+ : styled.css `
4506
+ flex-direction: row;
4507
+ justify-content: space-between;
4508
+ align-items: center;
4509
+ `}
4510
+
4513
4511
  ${({ isMain, isColumn }) => (isMain || isColumn) &&
4514
- styled.css `
4515
- > :not(:last-child) {
4516
- margin-bottom: 0.5rem;
4517
- }
4518
- `}
4519
-
4512
+ styled.css `
4513
+ > :not(:last-child) {
4514
+ margin-bottom: 0.5rem;
4515
+ }
4516
+ `}
4517
+
4520
4518
  ${({ isTitle }) => isTitle &&
4521
- styled.css `
4522
- &&&& {
4523
- margin-bottom: 0.75rem;
4524
- }
4525
- `}
4526
- `;
4527
- const ContainerAlias = styled(uilibGl.Flex) `
4528
- align-items: center;
4529
- flex-wrap: nowrap;
4530
- margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
4531
- font-size: 0.75rem;
4532
- color: ${({ theme: { palette } }) => palette.textSecondary};
4533
-
4534
- span[kind] {
4535
- margin-right: 0.5rem;
4536
-
4537
- :after {
4538
- color: ${({ theme: { palette } }) => palette.primary};
4539
- }
4540
- }
4541
- `;
4542
- const ContainerAliasIcon = styled.div `
4543
- margin-right: 0.5rem;
4544
- `;
4545
- const ContainerChart = styled(uilibGl.Flex) `
4546
- justify-content: flex-start;
4547
-
4548
- > * {
4549
- display: flex;
4550
- justify-content: center;
4551
- width: 100%;
4552
- }
4519
+ styled.css `
4520
+ &&&& {
4521
+ margin-bottom: 0.75rem;
4522
+ }
4523
+ `}
4524
+ `;
4525
+ const ContainerAlias = styled(uilibGl.Flex) `
4526
+ align-items: center;
4527
+ flex-wrap: nowrap;
4528
+ margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
4529
+ font-size: 0.75rem;
4530
+ color: ${({ theme: { palette } }) => palette.textSecondary};
4531
+
4532
+ span[kind] {
4533
+ margin-right: 0.5rem;
4534
+
4535
+ :after {
4536
+ color: ${({ theme: { palette } }) => palette.primary};
4537
+ }
4538
+ }
4539
+ `;
4540
+ const ContainerAliasIcon = styled.div `
4541
+ margin-right: 0.5rem;
4542
+ `;
4543
+ const ContainerChart = styled(uilibGl.Flex) `
4544
+ justify-content: flex-start;
4545
+
4546
+ > * {
4547
+ display: flex;
4548
+ justify-content: center;
4549
+ width: 100%;
4550
+ }
4553
4551
  `;
4554
4552
  const ContainerLegend = styled(uilibGl.Flex) ``;
4555
- const ContainerUnits = styled.div `
4556
- margin-left: 0.5rem;
4557
- white-space: nowrap;
4558
- font-size: 0.75rem;
4559
- `;
4560
- const ContainerValue = styled(uilibGl.Flex) `
4561
- justify-content: flex-end;
4562
- align-items: center;
4563
- flex-wrap: nowrap;
4564
- width: 100%;
4565
- font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
4566
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
4567
-
4568
- > * {
4569
- width: ${({ column }) => (column ? "100%" : "auto")};
4570
- }
4571
-
4572
- ${ContainerChart}, ${ContainerLegend} {
4573
- width: ${({ column }) => (column ? "100%" : "50%")};
4574
- }
4575
-
4576
- ${ContainerLegend} {
4577
- margin-left: ${({ column }) => (column ? 0 : "1rem")};
4578
- }
4579
-
4580
- ${ChartLegendContainer} {
4581
- flex-direction: ${({ column }) => (column ? "row" : "column")};
4582
- margin-top: ${({ column }) => (column ? "1rem" : 0)};
4583
- }
4584
- `;
4585
- const ColorIconMixin = styled.css `
4586
- :after {
4587
- color: ${({ $fontColor }) => $fontColor} !important;
4588
- }
4589
- `;
4590
- const SizeIconMixin = styled.css `
4591
- :after {
4592
- font-size: ${({ $fontSize }) => $fontSize}px !important;
4593
- }
4594
- `;
4595
- const ContainerIcon = styled(uilibGl.Icon) `
4596
- width: auto;
4597
- height: auto;
4598
- margin-bottom: 0.5rem;
4599
- ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
4600
- ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
4601
- `;
4602
- const SvgContainerColorMixin$1 = styled.css `
4603
- path,
4604
- line,
4605
- circle {
4606
- fill: ${({ $fontColor }) => $fontColor};
4607
- }
4608
- `;
4609
- const SvgContainer$1 = styled.div `
4610
- &&& {
4611
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
4612
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
4613
-
4614
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
4615
-
4616
- > * {
4617
- min-width: inherit;
4618
- }
4619
- }
4620
- `;
4621
- const TwoColumnContainerWrapper = styled(uilibGl.Flex) `
4622
- width: 100%;
4623
- flex-direction: row;
4624
- flex-wrap: nowrap;
4625
- align-items: center;
4626
-
4627
- > * {
4628
- flex: 1;
4629
- }
4630
-
4631
- > ${ContainerValue} {
4632
- justify-content: flex-end;
4633
-
4634
- > * {
4635
- text-align: right;
4636
- }
4637
- }
4638
- `;
4639
-
4640
- const LayerGroupContainer = styled(uilibGl.Flex) `
4641
- display: flex;
4642
- justify-content: center;
4643
- position: relative;
4644
- flex-direction: column;
4645
- padding: 0 0.25rem 0 1rem;
4646
- box-sizing: border-box;
4647
- transition: opacity ${uilibGl.transition.hover}, background-color ${uilibGl.transition.hover};
4648
- font-family: "NunitoSans", sans-serif;
4649
- `;
4650
- const LayerGroupMain = styled(uilibGl.Flex) `
4651
- flex-direction: row;
4652
- flex-wrap: nowrap;
4653
- align-items: center;
4654
- justify-content: space-between;
4655
- width: 100%;
4656
-
4657
- ${uilibGl.Icon} {
4658
- width: 2rem;
4659
- min-width: 2rem;
4660
- height: 2rem;
4661
- display: inline-flex;
4662
- align-items: center;
4663
- justify-content: center;
4664
- margin-right: 0.75rem;
4665
- }
4666
-
4667
- ${uilibGl.Description} {
4668
- display: flex;
4669
- align-items: center;
4670
- flex-grow: 1;
4671
- width: 100%;
4672
- margin-right: 0.25rem;
4673
- color: ${({ theme }) => theme.palette.textPrimary};
4674
- }
4675
-
4676
- button {
4677
- width: 2.25rem;
4678
- justify-content: flex-start;
4679
- }
4553
+ const ContainerUnits = styled.div `
4554
+ margin-left: 0.5rem;
4555
+ white-space: nowrap;
4556
+ font-size: 0.75rem;
4557
+ `;
4558
+ const ContainerValue = styled(uilibGl.Flex) `
4559
+ justify-content: flex-end;
4560
+ align-items: center;
4561
+ flex-wrap: nowrap;
4562
+ width: 100%;
4563
+ font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
4564
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
4565
+
4566
+ > * {
4567
+ width: ${({ column }) => (column ? "100%" : "auto")};
4568
+ }
4569
+
4570
+ ${ContainerChart}, ${ContainerLegend} {
4571
+ width: ${({ column }) => (column ? "100%" : "50%")};
4572
+ }
4573
+
4574
+ ${ContainerLegend} {
4575
+ margin-left: ${({ column }) => (column ? 0 : "1rem")};
4576
+ }
4577
+
4578
+ ${ChartLegendContainer} {
4579
+ flex-direction: ${({ column }) => (column ? "row" : "column")};
4580
+ margin-top: ${({ column }) => (column ? "1rem" : 0)};
4581
+ }
4582
+ `;
4583
+ const ColorIconMixin = styled.css `
4584
+ :after {
4585
+ color: ${({ $fontColor }) => $fontColor} !important;
4586
+ }
4587
+ `;
4588
+ const SizeIconMixin = styled.css `
4589
+ :after {
4590
+ font-size: ${({ $fontSize }) => $fontSize}px !important;
4591
+ }
4592
+ `;
4593
+ const ContainerIcon = styled(uilibGl.Icon) `
4594
+ width: auto;
4595
+ height: auto;
4596
+ margin-bottom: 0.5rem;
4597
+ ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
4598
+ ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
4599
+ `;
4600
+ const SvgContainerColorMixin$1 = styled.css `
4601
+ path,
4602
+ line,
4603
+ circle {
4604
+ fill: ${({ $fontColor }) => $fontColor};
4605
+ }
4606
+ `;
4607
+ const SvgContainer$1 = styled.div `
4608
+ &&& {
4609
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
4610
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
4611
+
4612
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
4613
+
4614
+ > * {
4615
+ min-width: inherit;
4616
+ }
4617
+ }
4618
+ `;
4619
+ const TwoColumnContainerWrapper = styled(uilibGl.Flex) `
4620
+ width: 100%;
4621
+ flex-direction: row;
4622
+ flex-wrap: nowrap;
4623
+ align-items: center;
4624
+
4625
+ > * {
4626
+ flex: 1;
4627
+ }
4628
+
4629
+ > ${ContainerValue} {
4630
+ justify-content: flex-end;
4631
+
4632
+ > * {
4633
+ text-align: right;
4634
+ }
4635
+ }
4636
+ `;
4637
+
4638
+ const LayerGroupContainer = styled(uilibGl.Flex) `
4639
+ display: flex;
4640
+ justify-content: center;
4641
+ position: relative;
4642
+ flex-direction: column;
4643
+ padding: 0 0.25rem 0 1rem;
4644
+ box-sizing: border-box;
4645
+ transition: opacity ${uilibGl.transition.hover}, background-color ${uilibGl.transition.hover};
4646
+ font-family: "NunitoSans", sans-serif;
4647
+ `;
4648
+ const LayerGroupMain = styled(uilibGl.Flex) `
4649
+ flex-direction: row;
4650
+ flex-wrap: nowrap;
4651
+ align-items: center;
4652
+ justify-content: space-between;
4653
+ width: 100%;
4654
+
4655
+ ${uilibGl.Icon} {
4656
+ width: 2rem;
4657
+ min-width: 2rem;
4658
+ height: 2rem;
4659
+ display: inline-flex;
4660
+ align-items: center;
4661
+ justify-content: center;
4662
+ margin-right: 0.75rem;
4663
+ }
4664
+
4665
+ ${uilibGl.Description} {
4666
+ display: flex;
4667
+ align-items: center;
4668
+ flex-grow: 1;
4669
+ width: 100%;
4670
+ margin-right: 0.25rem;
4671
+ color: ${({ theme }) => theme.palette.textPrimary};
4672
+ }
4673
+
4674
+ button {
4675
+ width: 2.25rem;
4676
+ justify-content: flex-start;
4677
+ }
4680
4678
  `;
4681
4679
 
4682
4680
  const customModes = MapboxDraw.modes;
@@ -5067,286 +5065,286 @@ const LayerTree = ({ layers, onlyMainTools }) => {
5067
5065
  return (jsxRuntime.jsx(uilibGl.DraggableTree, { nodes: nodes, disableDrag: onlyMainTools, options: { pastePlaceholderHeight: "0.0625rem" }, onUpdate: onUpdate }));
5068
5066
  };
5069
5067
 
5070
- const LayersListWrapper = styled(uilibGl.Flex) `
5071
- flex-direction: column;
5072
- height: 100%;
5073
- width: 100%;
5074
- box-sizing: border-box;
5075
- `;
5076
- const LayerListContainer = styled(uilibGl.Flex) `
5077
- flex-grow: 1;
5078
- height: 100%;
5079
- box-sizing: border-box;
5080
- `;
5081
-
5082
- const ElementValueWrapper = styled.div `
5083
- transition: background-color ${uilibGl.transition.toggle};
5084
- `;
5085
- const ContainerWrapper = styled(uilibGl.Flex) `
5086
- position: relative;
5087
- min-height: 1rem;
5088
- box-sizing: border-box;
5089
- width: 100%;
5090
- background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5091
- box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5092
- padding: 1.5rem;
5093
- border-radius: 0.5rem;
5094
- backdrop-filter: blur(20px);
5095
- color: ${({ theme: { palette } }) => palette.textPrimary};
5096
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
5097
- transition: background-color ${uilibGl.transition.toggle};
5098
-
5099
- ${Container} > ${ElementValueWrapper}:not(:last-child) {
5100
- margin-bottom: 1.5rem;
5101
- }
5102
- `;
5103
- const DashboardChip = styled(uilibGl.Chip) `
5104
- margin: 0 0.25rem 0.25rem 0;
5105
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5106
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5107
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5108
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5109
-
5110
- > * {
5111
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5112
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5113
- }
5114
-
5115
- span[kind]:after {
5116
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
5117
- }
5118
- `;
5119
- const DashboardPlaceholderWrap = styled(uilibGl.Flex) `
5120
- flex-grow: 1;
5121
- flex-direction: column;
5122
- justify-content: center;
5123
- align-items: center;
5124
- width: 100%;
5125
- margin-bottom: 2rem;
5126
- `;
5127
- const DashboardPlaceholder = styled(uilibGl.Flex) `
5128
- flex-direction: column;
5129
- justify-content: center;
5130
- align-items: center;
5131
- margin-top: 2rem;
5132
-
5068
+ const LayersListWrapper = styled(uilibGl.Flex) `
5069
+ flex-direction: column;
5070
+ height: 100%;
5071
+ width: 100%;
5072
+ box-sizing: border-box;
5073
+ `;
5074
+ const LayerListContainer = styled(uilibGl.Flex) `
5075
+ flex-grow: 1;
5076
+ height: 100%;
5077
+ box-sizing: border-box;
5078
+ `;
5079
+
5080
+ const ElementValueWrapper = styled.div `
5081
+ transition: background-color ${uilibGl.transition.toggle};
5082
+ `;
5083
+ const ContainerWrapper = styled(uilibGl.Flex) `
5084
+ position: relative;
5085
+ min-height: 1rem;
5086
+ box-sizing: border-box;
5087
+ width: 100%;
5088
+ background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5089
+ box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5090
+ padding: 1.5rem;
5091
+ border-radius: 0.5rem;
5092
+ backdrop-filter: blur(20px);
5093
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5094
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
5095
+ transition: background-color ${uilibGl.transition.toggle};
5096
+
5097
+ ${Container} > ${ElementValueWrapper}:not(:last-child) {
5098
+ margin-bottom: 1.5rem;
5099
+ }
5100
+ `;
5101
+ const DashboardChip = styled(uilibGl.Chip) `
5102
+ margin: 0 0.25rem 0.25rem 0;
5103
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5104
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5105
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5106
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5107
+
5108
+ > * {
5109
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5110
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5111
+ }
5112
+
5113
+ span[kind]:after {
5114
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => ($isDefault ? palette.icon : $fontColor || "#fff")};
5115
+ }
5116
+ `;
5117
+ const DashboardPlaceholderWrap = styled(uilibGl.Flex) `
5118
+ flex-grow: 1;
5119
+ flex-direction: column;
5120
+ justify-content: center;
5121
+ align-items: center;
5122
+ width: 100%;
5123
+ margin-bottom: 2rem;
5124
+ `;
5125
+ const DashboardPlaceholder = styled(uilibGl.Flex) `
5126
+ flex-direction: column;
5127
+ justify-content: center;
5128
+ align-items: center;
5129
+ margin-top: 2rem;
5130
+
5133
5131
  ${({ isLoading }) => isLoading &&
5134
- styled.css `
5135
- width: 6.25rem;
5136
- `}
5137
- &&& > * {
5138
- margin-bottom: 0;
5139
- }
5140
-
5141
- > div {
5142
- width: 100%;
5143
- margin-top: 1rem;
5144
- font-size: 0.75rem;
5145
- text-align: center;
5146
- color: ${({ theme: { palette } }) => palette.textDisabled};
5147
- }
5148
-
5149
- span[kind] {
5150
- width: 2.25rem;
5151
- height: 2.25rem;
5152
- opacity: 0.28;
5153
-
5154
- :after {
5155
- font-size: 32px;
5156
- }
5157
- }
5158
- `;
5159
- const DashboardWrapper = styled(uilibGl.Flex) `
5160
- flex-direction: column;
5161
- flex-wrap: nowrap;
5162
- flex-grow: 1;
5163
- width: calc(100% - 3rem);
5164
- height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5165
-
5166
- > ${ContainerWrapper} {
5167
- > * {
5168
- margin-bottom: 2rem;
5169
- }
5170
- }
5171
-
5132
+ styled.css `
5133
+ width: 6.25rem;
5134
+ `}
5135
+ &&& > * {
5136
+ margin-bottom: 0;
5137
+ }
5138
+
5139
+ > div {
5140
+ width: 100%;
5141
+ margin-top: 1rem;
5142
+ font-size: 0.75rem;
5143
+ text-align: center;
5144
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5145
+ }
5146
+
5147
+ span[kind] {
5148
+ width: 2.25rem;
5149
+ height: 2.25rem;
5150
+ opacity: 0.28;
5151
+
5152
+ :after {
5153
+ font-size: 32px;
5154
+ }
5155
+ }
5156
+ `;
5157
+ const DashboardWrapper = styled(uilibGl.Flex) `
5158
+ flex-direction: column;
5159
+ flex-wrap: nowrap;
5160
+ flex-grow: 1;
5161
+ width: calc(100% - 3rem);
5162
+ height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5163
+
5164
+ > ${ContainerWrapper} {
5165
+ > * {
5166
+ margin-bottom: 2rem;
5167
+ }
5168
+ }
5169
+
5172
5170
  ${({ hasImage, isPresentationMode }) => hasImage &&
5173
5171
  !isPresentationMode &&
5174
- styled.css `
5175
- margin-top: -0.35rem;
5176
- `}
5177
- `;
5178
- const DashboardContent = styled(uilibGl.Flex) `
5179
- flex-grow: 1;
5180
- width: 100%;
5181
- padding: 1.5rem 1.5rem 2rem;
5182
- overflow-y: auto;
5183
- scrollbar-gutter: stable;
5184
- `;
5185
- const PresentationWrapperCss = styled.css `
5186
- margin-bottom: 0.75rem;
5187
- padding: 1.5rem;
5188
- background-color: ${({ theme: { palette } }) => palette.panelBackground};
5189
- backdrop-filter: blur(10px);
5190
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5191
- box-shadow: ${uilibGl.shadows.raised};
5192
- `;
5193
- const PresentationWrapper = styled.div `
5194
- ${PresentationWrapperCss};
5195
- position: relative;
5196
- z-index: 1;
5197
- `;
5198
- const PresentationPanelWrapper = styled(PresentationWrapper) `
5199
- margin-top: 0.75rem;
5200
- transition: background-color ${uilibGl.transition.toggle};
5201
- `;
5202
- const PresentationHeader = styled.div `
5203
- margin: -1.5rem -1.5rem 0 -1.5rem;
5204
- padding: 1.5rem;
5205
- // background: url(images.presentationHeader) 0 0 no-repeat;
5206
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5207
- transition: background-color ${uilibGl.transition.toggle};
5208
-
5172
+ styled.css `
5173
+ margin-top: -0.35rem;
5174
+ `}
5175
+ `;
5176
+ const DashboardContent = styled(uilibGl.Flex) `
5177
+ flex-grow: 1;
5178
+ width: 100%;
5179
+ padding: 1.5rem 1.5rem 2rem;
5180
+ overflow-y: auto;
5181
+ scrollbar-gutter: stable;
5182
+ `;
5183
+ const PresentationWrapperCss = styled.css `
5184
+ margin-bottom: 0.75rem;
5185
+ padding: 1.5rem;
5186
+ background-color: ${({ theme: { palette } }) => palette.panelBackground};
5187
+ backdrop-filter: blur(10px);
5188
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5189
+ box-shadow: ${uilibGl.shadows.raised};
5190
+ `;
5191
+ const PresentationWrapper = styled.div `
5192
+ ${PresentationWrapperCss};
5193
+ position: relative;
5194
+ z-index: 1;
5195
+ `;
5196
+ const PresentationPanelWrapper = styled(PresentationWrapper) `
5197
+ margin-top: 0.75rem;
5198
+ transition: background-color ${uilibGl.transition.toggle};
5199
+ `;
5200
+ const PresentationHeader = styled.div `
5201
+ margin: -1.5rem -1.5rem 0 -1.5rem;
5202
+ padding: 1.5rem;
5203
+ // background: url(images.presentationHeader) 0 0 no-repeat;
5204
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5205
+ transition: background-color ${uilibGl.transition.toggle};
5206
+
5209
5207
  ${({ image }) => !!image &&
5210
- styled.css `
5211
- padding-top: 7rem;
5212
- `};
5213
- `;
5214
- const PresentationHeaderTools = styled(uilibGl.Flex) `
5215
- justify-content: space-between;
5216
- align-items: center;
5217
- margin-bottom: -0.5rem;
5218
- margin-right: -0.5rem;
5219
-
5220
- span[kind="sun"],
5221
- span[kind="moon"] {
5222
- :after {
5223
- font-size: 0.85rem;
5224
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5225
- }
5226
-
5227
- :hover:after {
5228
- color: ${({ theme: { palette } }) => palette.icon};
5229
- }
5230
- }
5231
- `;
5232
- const LayerGroupList = styled(uilibGl.Flex) `
5233
- flex-direction: column;
5234
- height: 100%;
5235
- flex-wrap: nowrap;
5236
- overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5237
- overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5238
- padding: 0 0.125rem 0 0.75rem;
5239
- scrollbar-gutter: stable;
5240
-
5241
- > * {
5242
- flex-grow: 1;
5243
- }
5208
+ styled.css `
5209
+ padding-top: 7rem;
5210
+ `};
5211
+ `;
5212
+ const PresentationHeaderTools = styled(uilibGl.Flex) `
5213
+ justify-content: space-between;
5214
+ align-items: center;
5215
+ margin-bottom: -0.5rem;
5216
+ margin-right: -0.5rem;
5217
+
5218
+ span[kind="sun"],
5219
+ span[kind="moon"] {
5220
+ :after {
5221
+ font-size: 0.85rem;
5222
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5223
+ }
5224
+
5225
+ :hover:after {
5226
+ color: ${({ theme: { palette } }) => palette.icon};
5227
+ }
5228
+ }
5229
+ `;
5230
+ const LayerGroupList = styled(uilibGl.Flex) `
5231
+ flex-direction: column;
5232
+ height: 100%;
5233
+ flex-wrap: nowrap;
5234
+ overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5235
+ overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5236
+ padding: 0 0.125rem 0 0.75rem;
5237
+ scrollbar-gutter: stable;
5238
+
5239
+ > * {
5240
+ flex-grow: 1;
5241
+ }
5244
5242
  `;
5245
5243
  const PresentationHeaderButtons = styled(uilibGl.Flex) ``;
5246
- const PresentationPanelContainer = styled.div `
5247
- position: absolute;
5248
- top: 0;
5249
- left: calc(${({ left }) => left || 0}px + 0.75rem);
5250
- bottom: 0;
5251
- z-index: 3;
5252
- display: flex;
5253
- flex-direction: column;
5254
- width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5255
- padding-right: 0.5rem;
5256
- scrollbar-gutter: stable;
5257
- overflow-y: hidden;
5258
-
5259
- :hover {
5260
- overflow-y: auto;
5261
- }
5262
-
5244
+ const PresentationPanelContainer = styled.div `
5245
+ position: absolute;
5246
+ top: 0;
5247
+ left: calc(${({ left }) => left || 0}px + 0.75rem);
5248
+ bottom: 0;
5249
+ z-index: 3;
5250
+ display: flex;
5251
+ flex-direction: column;
5252
+ width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5253
+ padding-right: 0.5rem;
5254
+ scrollbar-gutter: stable;
5255
+ overflow-y: hidden;
5256
+
5257
+ :hover {
5258
+ overflow-y: auto;
5259
+ }
5260
+
5263
5261
  ${({ showLayers }) => !showLayers &&
5264
- styled.css `
5265
- > :first-child {
5266
- padding-bottom: 0;
5267
- }
5268
- `};
5269
-
5270
- ${PresentationHeader} > * {
5271
- position: relative;
5272
- z-index: 2;
5273
- }
5274
-
5275
- /* PaginationWrapper {
5276
- ${PresentationWrapperCss};
5277
- width: calc(100% - 2rem);
5278
- min-height: 8.625rem;
5279
- padding-top: 0.5rem;
5280
- padding-bottom: 0.5rem;
5281
- margin-bottom: 0.75rem;
5282
- }*/
5283
-
5284
- ${DashboardWrapper} {
5285
- width: 100%;
5286
- margin-top: 0;
5287
-
5288
- ${DashboardContent} {
5289
- padding: 0;
5290
- overflow-y: unset;
5291
-
5292
- > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5293
- ${PresentationWrapperCss};
5294
- width: calc(100% - 3rem);
5295
- }
5296
- }
5297
- }
5298
-
5299
- ${DashboardPlaceholder} {
5300
- ${PresentationWrapperCss};
5301
- width: 18.5rem;
5302
- height: 10.75rem;
5303
- }
5304
-
5305
- ${LayerListContainer} {
5306
- height: auto;
5307
- margin: 0 -1.125rem -1.5rem;
5308
- padding: 0;
5309
-
5310
- ${LayerGroupList} {
5311
- padding: 0;
5312
- }
5313
- }
5314
- `;
5315
- const DataSourceErrorContainer = styled(uilibGl.Flex) `
5316
- align-items: center;
5317
- justify-content: center;
5318
- flex-wrap: nowrap;
5319
- flex-grow: 1;
5320
- padding: 1rem;
5321
- border: 1px ${({ theme: { palette } }) => palette.element} solid;
5322
- border-radius: 10px;
5323
- font-size: 0.875rem;
5324
- color: ${({ theme: { palette } }) => palette.textDisabled};
5325
-
5326
- span[kind] {
5327
- margin-right: 1rem;
5328
-
5329
- :after {
5330
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5331
- }
5332
- }
5333
- `;
5334
- const AttributeLabel = styled(uilibGl.Description) `
5335
- margin-top: 0 !important;
5336
- margin-bottom: ${({ forCheckbox }) => (forCheckbox ? "0.75rem" : "0.25rem")} !important;
5337
- padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5338
- `;
5339
- const FeatureControls = styled(uilibGl.Flex) `
5340
- align-items: center;
5341
- gap: 1rem;
5342
- flex-wrap: nowrap;
5343
- position: relative;
5344
- flex-shrink: 0;
5345
-
5346
- button {
5347
- padding: 0;
5348
- width: auto;
5349
- }
5262
+ styled.css `
5263
+ > :first-child {
5264
+ padding-bottom: 0;
5265
+ }
5266
+ `};
5267
+
5268
+ ${PresentationHeader} > * {
5269
+ position: relative;
5270
+ z-index: 2;
5271
+ }
5272
+
5273
+ /* PaginationWrapper {
5274
+ ${PresentationWrapperCss};
5275
+ width: calc(100% - 2rem);
5276
+ min-height: 8.625rem;
5277
+ padding-top: 0.5rem;
5278
+ padding-bottom: 0.5rem;
5279
+ margin-bottom: 0.75rem;
5280
+ }*/
5281
+
5282
+ ${DashboardWrapper} {
5283
+ width: 100%;
5284
+ margin-top: 0;
5285
+
5286
+ ${DashboardContent} {
5287
+ padding: 0;
5288
+ overflow-y: unset;
5289
+
5290
+ > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5291
+ ${PresentationWrapperCss};
5292
+ width: calc(100% - 3rem);
5293
+ }
5294
+ }
5295
+ }
5296
+
5297
+ ${DashboardPlaceholder} {
5298
+ ${PresentationWrapperCss};
5299
+ width: 18.5rem;
5300
+ height: 10.75rem;
5301
+ }
5302
+
5303
+ ${LayerListContainer} {
5304
+ height: auto;
5305
+ margin: 0 -1.125rem -1.5rem;
5306
+ padding: 0;
5307
+
5308
+ ${LayerGroupList} {
5309
+ padding: 0;
5310
+ }
5311
+ }
5312
+ `;
5313
+ const DataSourceErrorContainer = styled(uilibGl.Flex) `
5314
+ align-items: center;
5315
+ justify-content: center;
5316
+ flex-wrap: nowrap;
5317
+ flex-grow: 1;
5318
+ padding: 1rem;
5319
+ border: 1px ${({ theme: { palette } }) => palette.element} solid;
5320
+ border-radius: 10px;
5321
+ font-size: 0.875rem;
5322
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5323
+
5324
+ span[kind] {
5325
+ margin-right: 1rem;
5326
+
5327
+ :after {
5328
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5329
+ }
5330
+ }
5331
+ `;
5332
+ const AttributeLabel = styled(uilibGl.Description) `
5333
+ margin-top: 0 !important;
5334
+ margin-bottom: ${({ forCheckbox }) => (forCheckbox ? "0.75rem" : "0.25rem")} !important;
5335
+ padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5336
+ `;
5337
+ const FeatureControls = styled(uilibGl.Flex) `
5338
+ align-items: center;
5339
+ gap: 1rem;
5340
+ flex-wrap: nowrap;
5341
+ position: relative;
5342
+ flex-shrink: 0;
5343
+
5344
+ button {
5345
+ padding: 0;
5346
+ width: auto;
5347
+ }
5350
5348
  `;
5351
5349
 
5352
5350
  const getAttributeByName = (attributeName, attributes) => {
@@ -5399,14 +5397,20 @@ const getChartFilterName = (relatedDataSources) => {
5399
5397
  return axes?.[0]?.filterName;
5400
5398
  };
5401
5399
 
5400
+ function getValueIndex(items, attributes) {
5401
+ return items?.findIndex(({ name }) => name.toString() === attributes.value?.toString());
5402
+ }
5402
5403
  const getChartMarkers = (items, markers, dataSources) => {
5403
5404
  if (typeof markers === "string") {
5404
5405
  const dataSource = getDataSource(markers, dataSources);
5405
- return dataSource?.features?.map(({ attributes }) => attributes) || [];
5406
+ return dataSource?.features?.map(({ attributes }) => ({
5407
+ ...attributes,
5408
+ value: getValueIndex(items, attributes),
5409
+ })) || [];
5406
5410
  }
5407
5411
  return (markers?.map(marker => ({
5408
5412
  ...marker,
5409
- value: items?.findIndex(({ name }) => name.toString() === marker.value?.toString()),
5413
+ value: getValueIndex(items, marker),
5410
5414
  })) || []);
5411
5415
  };
5412
5416
 
@@ -5476,10 +5480,10 @@ const TwoColumnContainer = React.memo(({ config, elementConfig, type, renderElem
5476
5480
  return renderAttributes?.length ? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderAttributes.map(attribute => renderContainer(elementConfig, attribute)) })) : (renderContainer(elementConfig));
5477
5481
  });
5478
5482
 
5479
- const InnerContainerWrapper = styled.div `
5480
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
5481
- width: ${({ column }) => (column ? "100%" : "auto")};
5482
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
5483
+ const InnerContainerWrapper = styled.div `
5484
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
5485
+ width: ${({ column }) => (column ? "100%" : "auto")};
5486
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
5483
5487
  `;
5484
5488
 
5485
5489
  const DataSourceInnerContainer = React.memo(({ config, elementConfig, feature, maxValue, type, index, innerComponent }) => {
@@ -5550,107 +5554,107 @@ const DataSourceInnerContainer = React.memo(({ config, elementConfig, feature, m
5550
5554
  return (jsxRuntime.jsx(InnerContainerWrapper, { hasAnyFilter: hasAnyFilter, isFiltered: isFiltered(value), column: column === undefined || column, onClick: filterName ? () => onFilter(value) : undefined, children: jsxRuntime.jsx(InnerContainer, { config: config, elementConfig: elementConfig, feature: feature, maxValue: maxValue, type: type, index: index, renderElement: render }) }));
5551
5555
  });
5552
5556
 
5553
- const DataSourceProgressContainerWrapper = styled.div `
5554
- width: 100%;
5555
- `;
5556
- const ContainerToggler = styled(uilibGl.LegendToggler) `
5557
- width: auto;
5558
- margin-left: -1rem;
5559
- `;
5560
-
5561
- const ProgressContainerWrapper = styled(uilibGl.Flex) `
5562
- align-items: center;
5563
- width: 100%;
5564
- margin-bottom: 1rem;
5565
- `;
5566
- const ProgressIcon = styled.div `
5567
- margin-right: 0.5rem;
5568
- `;
5569
- const ProgressContent = styled(uilibGl.Flex) `
5570
- flex: 1;
5571
- flex-direction: column;
5572
- `;
5573
- const ProgressAlias = styled(uilibGl.Flex) `
5574
- flex: 1;
5575
- justify-content: space-between;
5576
- margin-bottom: 0.25rem;
5577
- font-size: 0.75rem;
5578
- color: ${({ theme: { palette } }) => palette.textSecondary};
5579
- `;
5580
- const ProgressValue = styled(uilibGl.Flex) `
5581
- align-items: center;
5582
- width: auto;
5583
- font-size: 1rem;
5584
- color: ${({ theme: { palette } }) => palette.textPrimary};
5585
- `;
5586
- const ProgressInnerValue = styled(ProgressValue) `
5587
- justify-content: flex-end;
5588
- width: 4rem;
5589
- margin-left: 0.5rem;
5590
- `;
5591
- const ProgressUnits = styled(uilibGl.Flex) `
5592
- margin-left: 0.25rem;
5593
- font-size: 0.75rem;
5594
- color: ${({ theme: { palette } }) => palette.textSecondary};
5595
- `;
5596
- const ProgressBarWrapper = styled.div `
5597
- flex-grow: 1;
5598
- height: 0.5rem;
5599
- background-color: ${({ theme: { palette } }) => palette.element};
5600
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
5601
- `;
5602
- const ProgressBarContainer = styled(uilibGl.Flex) `
5603
- position: relative;
5604
- align-items: center;
5605
- width: 100%;
5606
-
5557
+ const DataSourceProgressContainerWrapper = styled.div `
5558
+ width: 100%;
5559
+ `;
5560
+ const ContainerToggler = styled(uilibGl.LegendToggler) `
5561
+ width: auto;
5562
+ margin-left: -1rem;
5563
+ `;
5564
+
5565
+ const ProgressContainerWrapper = styled(uilibGl.Flex) `
5566
+ align-items: center;
5567
+ width: 100%;
5568
+ margin-bottom: 1rem;
5569
+ `;
5570
+ const ProgressIcon = styled.div `
5571
+ margin-right: 0.5rem;
5572
+ `;
5573
+ const ProgressContent = styled(uilibGl.Flex) `
5574
+ flex: 1;
5575
+ flex-direction: column;
5576
+ `;
5577
+ const ProgressAlias = styled(uilibGl.Flex) `
5578
+ flex: 1;
5579
+ justify-content: space-between;
5580
+ margin-bottom: 0.25rem;
5581
+ font-size: 0.75rem;
5582
+ color: ${({ theme: { palette } }) => palette.textSecondary};
5583
+ `;
5584
+ const ProgressValue = styled(uilibGl.Flex) `
5585
+ align-items: center;
5586
+ width: auto;
5587
+ font-size: 1rem;
5588
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5589
+ `;
5590
+ const ProgressInnerValue = styled(ProgressValue) `
5591
+ justify-content: flex-end;
5592
+ width: 4rem;
5593
+ margin-left: 0.5rem;
5594
+ `;
5595
+ const ProgressUnits = styled(uilibGl.Flex) `
5596
+ margin-left: 0.25rem;
5597
+ font-size: 0.75rem;
5598
+ color: ${({ theme: { palette } }) => palette.textSecondary};
5599
+ `;
5600
+ const ProgressBarWrapper = styled.div `
5601
+ flex-grow: 1;
5602
+ height: 0.5rem;
5603
+ background-color: ${({ theme: { palette } }) => palette.element};
5604
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
5605
+ `;
5606
+ const ProgressBarContainer = styled(uilibGl.Flex) `
5607
+ position: relative;
5608
+ align-items: center;
5609
+ width: 100%;
5610
+
5607
5611
  ${({ innerValue }) => innerValue &&
5608
- styled.css `
5609
- ${ProgressBarWrapper} {
5610
- height: 1.125rem;
5611
- }
5612
-
5613
- ${ProgressInnerValue} {
5614
- z-index: 1;
5615
- position: absolute;
5616
- right: 0.25rem;
5617
- }
5618
- `}
5619
- `;
5620
- const ProgressBar = styled.div `
5621
- width: ${({ $width }) => $width};
5622
- height: inherit;
5623
- background-color: ${({ $color }) => $color || "#a7d759"};
5624
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
5625
- `;
5626
- const ProgressTooltipAlias = styled.div `
5627
- margin-bottom: 0.25rem;
5628
- text-align: left;
5629
- color: ${({ theme: { palette } }) => palette.primary};
5612
+ styled.css `
5613
+ ${ProgressBarWrapper} {
5614
+ height: 1.125rem;
5615
+ }
5616
+
5617
+ ${ProgressInnerValue} {
5618
+ z-index: 1;
5619
+ position: absolute;
5620
+ right: 0.25rem;
5621
+ }
5622
+ `}
5623
+ `;
5624
+ const ProgressBar = styled.div `
5625
+ width: ${({ $width }) => $width};
5626
+ height: inherit;
5627
+ background-color: ${({ $color }) => $color || "#a7d759"};
5628
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
5629
+ `;
5630
+ const ProgressTooltipAlias = styled.div `
5631
+ margin-bottom: 0.25rem;
5632
+ text-align: left;
5633
+ color: ${({ theme: { palette } }) => palette.primary};
5630
5634
  `;
5631
5635
  const ProgressTooltipValue = styled.div ``;
5632
- const ProgressTooltipValueContainer = styled(uilibGl.Flex) `
5633
- align-items: center;
5634
-
5635
- > * {
5636
- opacity: 0.65;
5637
- }
5638
-
5639
- ${ProgressTooltipValue} {
5640
- opacity: 1;
5641
- }
5642
- `;
5643
- const ProgressTooltipValueOf = styled.div `
5644
- margin: 0 0.25rem;
5645
- `;
5646
- const ProgressTotalTitle = styled.div `
5647
- font-size: 0.75rem;
5648
- font-weight: bold;
5649
- `;
5650
- const ProgressTotal = styled(uilibGl.Flex) `
5651
- align-items: center;
5652
- justify-content: space-between;
5653
- margin-top: 1rem;
5636
+ const ProgressTooltipValueContainer = styled(uilibGl.Flex) `
5637
+ align-items: center;
5638
+
5639
+ > * {
5640
+ opacity: 0.65;
5641
+ }
5642
+
5643
+ ${ProgressTooltipValue} {
5644
+ opacity: 1;
5645
+ }
5646
+ `;
5647
+ const ProgressTooltipValueOf = styled.div `
5648
+ margin: 0 0.25rem;
5649
+ `;
5650
+ const ProgressTotalTitle = styled.div `
5651
+ font-size: 0.75rem;
5652
+ font-weight: bold;
5653
+ `;
5654
+ const ProgressTotal = styled(uilibGl.Flex) `
5655
+ align-items: center;
5656
+ justify-content: space-between;
5657
+ margin-top: 1rem;
5654
5658
  `;
5655
5659
 
5656
5660
  const DataSourceProgressContainer = React.memo(({ config, elementConfig, type, innerComponent, renderElement }) => {
@@ -5747,166 +5751,166 @@ const DEFAULT_BAR_CHART_MARGINS = {
5747
5751
  right: 0,
5748
5752
  };
5749
5753
 
5750
- const FiltersContainerWrapper = styled(uilibGl.Flex) `
5751
- flex-direction: column;
5752
- padding: ${({ $padding }) => $padding ?? "0.75rem"};
5753
- background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
5754
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5755
-
5756
- ${uilibGl.DropdownField}, input {
5757
- background-color: ${({ theme: { palette } }) => palette.background};
5758
- }
5759
-
5760
- > div:not(:last-child) {
5761
- margin-bottom: 0.5rem;
5762
- }
5763
-
5764
- > label {
5765
- align-items: flex-start;
5766
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5767
-
5768
- &.active {
5769
- color: ${({ $fontColor }) => $fontColor};
5770
-
5771
- svg rect {
5772
- fill: ${({ $fontColor }) => $fontColor} !important;
5773
- }
5774
- }
5775
-
5776
- &:not(:last-child) {
5777
- margin-bottom: 0.75rem;
5778
- }
5779
-
5780
- &:last-child {
5781
- margin-bottom: 0;
5782
- }
5783
- }
5784
- `;
5785
- const StyledIconButton = styled(uilibGl.IconButton) `
5786
- width: 0.75rem;
5787
- height: 0.75rem;
5788
-
5789
- span[kind] {
5790
- height: 0.75rem;
5791
-
5792
- :after {
5793
- font-size: 0.75rem;
5794
- }
5795
- }
5796
- `;
5797
- const TextFilterContainer = styled.div `
5798
- width: 15.85rem;
5799
-
5800
- ${uilibGl.MultiSelectContainer} {
5801
- color: ${({ theme: { palette } }) => palette.textPrimary};
5802
-
5803
- ${uilibGl.IconButtonButton} {
5804
- span[kind]:after {
5805
- color: ${({ theme: { palette } }) => palette.textPrimary};
5806
- }
5807
- }
5808
- }
5809
- `;
5810
- const BarChartContainer = styled.div `
5811
- width: 100%;
5812
- overflow-x: hidden;
5813
-
5754
+ const FiltersContainerWrapper = styled(uilibGl.Flex) `
5755
+ flex-direction: column;
5756
+ padding: ${({ $padding }) => $padding ?? "0.75rem"};
5757
+ background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
5758
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5759
+
5760
+ ${uilibGl.DropdownField}, input {
5761
+ background-color: ${({ theme: { palette } }) => palette.background};
5762
+ }
5763
+
5764
+ > div:not(:last-child) {
5765
+ margin-bottom: 0.5rem;
5766
+ }
5767
+
5768
+ > label {
5769
+ align-items: flex-start;
5770
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5771
+
5772
+ &.active {
5773
+ color: ${({ $fontColor }) => $fontColor};
5774
+
5775
+ svg rect {
5776
+ fill: ${({ $fontColor }) => $fontColor} !important;
5777
+ }
5778
+ }
5779
+
5780
+ &:not(:last-child) {
5781
+ margin-bottom: 0.75rem;
5782
+ }
5783
+
5784
+ &:last-child {
5785
+ margin-bottom: 0;
5786
+ }
5787
+ }
5788
+ `;
5789
+ const StyledIconButton = styled(uilibGl.IconButton) `
5790
+ width: 0.75rem;
5791
+ height: 0.75rem;
5792
+
5793
+ span[kind] {
5794
+ height: 0.75rem;
5795
+
5796
+ :after {
5797
+ font-size: 0.75rem;
5798
+ }
5799
+ }
5800
+ `;
5801
+ const TextFilterContainer = styled.div `
5802
+ width: 15.85rem;
5803
+
5804
+ ${uilibGl.MultiSelectContainer} {
5805
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5806
+
5807
+ ${uilibGl.IconButtonButton} {
5808
+ span[kind]:after {
5809
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5810
+ }
5811
+ }
5812
+ }
5813
+ `;
5814
+ const BarChartContainer = styled.div `
5815
+ width: 100%;
5816
+ overflow-x: hidden;
5817
+
5814
5818
  ${({ barHeight, marginBottom }) => !!barHeight &&
5815
- styled.css `
5816
- .barChartBarGlobal rect {
5817
- height: ${barHeight}px;
5818
- y: calc(100% - ${barHeight + marginBottom}px);
5819
- }
5820
- `}
5821
- `;
5822
- const AnyChartWrapper = styled.div `
5823
- width: 100%;
5824
- height: ${({ height }) => height}px;
5825
- `;
5826
- const BarChartWrapper = styled(AnyChartWrapper) `
5827
- width: 100%;
5828
- margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
5829
-
5830
- :hover {
5831
- ${BarChartContainer} {
5832
- overflow-x: auto;
5833
- }
5834
- }
5835
- `;
5836
- const BarChartFilterHeader = styled(uilibGl.Flex) `
5837
- justify-content: space-between;
5838
- align-items: center;
5839
- height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
5840
- padding: 0.25rem 0;
5841
- `;
5842
- const BarChartFilterArrows = styled(uilibGl.Flex) `
5843
- margin-left: -0.5rem;
5844
-
5845
- span[kind] {
5846
- display: flex;
5847
- align-items: center;
5848
-
5849
- :after {
5850
- font-size: 0.75rem;
5851
- }
5852
- }
5853
- `;
5854
- const BarChartFilterSelected = styled.div `
5855
- font-size: 0.75rem;
5856
- font-weight: bold;
5857
- color: ${({ theme: { palette } }) => palette.textPrimary};
5858
- `;
5859
- styled.div `
5860
- color: ${({ theme: { palette } }) => palette.textSecondary};
5861
- `;
5862
- const BarChart = styled(charts.BarChart) `
5863
- .${charts.barChartClassNames.barChartXAxis} {
5864
- .domain,
5865
- line {
5866
- display: none;
5867
- }
5868
-
5869
- .tick {
5870
- text {
5871
- text-anchor: start;
5872
- font-size: 12px;
5873
- color: rgba(48, 69, 79, 0.46);
5874
- }
5875
-
5876
- :last-of-type {
5877
- text {
5878
- text-anchor: end;
5879
- }
5880
- }
5881
- }
5882
- }
5883
-
5884
- .marker {
5885
- font-size: 12px;
5886
- }
5887
- `;
5888
- const TooltipContainer = styled.div `
5889
- position: relative;
5890
- font-size: 0.75rem;
5891
- color: #ffffff;
5892
- margin-bottom: 0.5rem;
5893
- padding: 0.375rem;
5894
- background-color: rgba(0, 0, 0, 1);
5895
- border-radius: 0.25rem;
5896
- box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
5897
-
5898
- :before {
5899
- content: "";
5900
- position: absolute;
5901
- bottom: 0;
5902
- left: 50%;
5903
- transform: translate(-50%, 100%);
5904
- width: 0;
5905
- height: 0;
5906
- border-style: solid;
5907
- border-width: 0.25rem 0.1875rem 0 0.1875rem;
5908
- border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
5909
- }
5819
+ styled.css `
5820
+ .barChartBarGlobal rect {
5821
+ height: ${barHeight}px;
5822
+ y: calc(100% - ${barHeight + marginBottom}px);
5823
+ }
5824
+ `}
5825
+ `;
5826
+ const AnyChartWrapper = styled.div `
5827
+ width: 100%;
5828
+ height: ${({ height }) => height}px;
5829
+ `;
5830
+ const BarChartWrapper = styled(AnyChartWrapper) `
5831
+ width: 100%;
5832
+ margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
5833
+
5834
+ :hover {
5835
+ ${BarChartContainer} {
5836
+ overflow-x: auto;
5837
+ }
5838
+ }
5839
+ `;
5840
+ const BarChartFilterHeader = styled(uilibGl.Flex) `
5841
+ justify-content: space-between;
5842
+ align-items: center;
5843
+ height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
5844
+ padding: 0.25rem 0;
5845
+ `;
5846
+ const BarChartFilterArrows = styled(uilibGl.Flex) `
5847
+ margin-left: -0.5rem;
5848
+
5849
+ span[kind] {
5850
+ display: flex;
5851
+ align-items: center;
5852
+
5853
+ :after {
5854
+ font-size: 0.75rem;
5855
+ }
5856
+ }
5857
+ `;
5858
+ const BarChartFilterSelected = styled.div `
5859
+ font-size: 0.75rem;
5860
+ font-weight: bold;
5861
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5862
+ `;
5863
+ styled.div `
5864
+ color: ${({ theme: { palette } }) => palette.textSecondary};
5865
+ `;
5866
+ const BarChart = styled(charts.BarChart) `
5867
+ .${charts.barChartClassNames.barChartXAxis} {
5868
+ .domain,
5869
+ line {
5870
+ display: none;
5871
+ }
5872
+
5873
+ .tick {
5874
+ text {
5875
+ text-anchor: start;
5876
+ font-size: 12px;
5877
+ color: rgba(48, 69, 79, 0.46);
5878
+ }
5879
+
5880
+ :last-of-type {
5881
+ text {
5882
+ text-anchor: end;
5883
+ }
5884
+ }
5885
+ }
5886
+ }
5887
+
5888
+ .marker {
5889
+ font-size: 12px;
5890
+ }
5891
+ `;
5892
+ const TooltipContainer = styled.div `
5893
+ position: relative;
5894
+ font-size: 0.75rem;
5895
+ color: #ffffff;
5896
+ margin-bottom: 0.5rem;
5897
+ padding: 0.375rem;
5898
+ background-color: rgba(0, 0, 0, 1);
5899
+ border-radius: 0.25rem;
5900
+ box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
5901
+
5902
+ :before {
5903
+ content: "";
5904
+ position: absolute;
5905
+ bottom: 0;
5906
+ left: 50%;
5907
+ transform: translate(-50%, 100%);
5908
+ width: 0;
5909
+ height: 0;
5910
+ border-style: solid;
5911
+ border-width: 0.25rem 0.1875rem 0 0.1875rem;
5912
+ border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
5913
+ }
5910
5914
  `;
5911
5915
 
5912
5916
  const FiltersContainer = React.memo(({ elementConfig, config, type, renderElement }) => {
@@ -5949,7 +5953,7 @@ const ChartContainer = React.memo(({ elementConfig, isVisible, type, renderEleme
5949
5953
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxRuntime.jsxs(Container, { isColumn: true, children: [aliasElement && jsxRuntime.jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsxRuntime.jsx(ContainerValue, { column: !twoColumns, alignItems: "center", children: hasItems ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ContainerChart, { children: renderElement({ id: "chart" }) }), jsxRuntime.jsx(ContainerLegend, { children: renderElement({ id: "legend" }) })] })) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: "\u2014" })) })] }))] }));
5950
5954
  });
5951
5955
 
5952
- const PagesContainer = React.memo(({ type }) => {
5956
+ const PagesContainer = React.memo(({ type = exports.WidgetType.Dashboard }) => {
5953
5957
  const { config } = useWidgetConfig(type);
5954
5958
  const { pageIndex, currentPage } = useWidgetPage(type);
5955
5959
  const { selectedTabId, setSelectedTabId, expandedContainers, attributes } = useWidgetContext(type);
@@ -5986,64 +5990,64 @@ const TwoColumnsInnerContainer = React.memo(({ renderElement }) => {
5986
5990
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(TwoColumnContainerWrapper, { children: [jsxRuntime.jsxs(Container, { children: [jsxRuntime.jsx(ContainerAlias, { children: renderElement({ id: "firstAlias" }) }), jsxRuntime.jsx(ContainerValue, { big: true, children: renderElement({ id: "firstValue" }) })] }), jsxRuntime.jsxs(Container, { children: [jsxRuntime.jsx(ContainerAlias, { children: renderElement({ id: "secondAlias" }) }), jsxRuntime.jsx(ContainerValue, { big: true, children: renderElement({ id: "secondValue" }) })] })] }), renderElement({ id: "thirdContainer" })] }));
5987
5991
  });
5988
5992
 
5989
- const ImageContainerBg$1 = styled.div `
5990
- position: absolute;
5991
- top: 0;
5992
- bottom: 0;
5993
- left: 0;
5994
- right: 0;
5995
-
5996
- img {
5997
- width: 100%;
5998
- height: 100%;
5999
- object-position: center;
6000
- object-fit: cover;
6001
- }
6002
- `;
6003
- const ImageContainerTitle = styled.div `
6004
- width: 100%;
6005
- overflow-wrap: break-word;
6006
- font-size: 1rem;
6007
- font-weight: 500;
6008
- `;
6009
- const ImageContainerText = styled.div `
6010
- width: 100%;
6011
- overflow-wrap: break-word;
6012
- margin-top: 0.5rem;
6013
- font-size: 0.75rem;
6014
- `;
6015
- const ImageContainerButton$1 = styled(uilibGl.FlatButton) `
6016
- min-height: 1.5rem;
6017
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6018
- background-color: ${({ theme: { palette } }) => palette.primary};
6019
- text-transform: none;
6020
-
6021
- :hover {
6022
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6023
- }
6024
- `;
6025
- const ImageContainerWrapper = styled(uilibGl.Flex) `
6026
- flex-direction: column;
6027
- justify-content: flex-end;
6028
- position: relative;
6029
- padding: 1rem;
6030
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6031
- overflow: hidden;
6032
-
6033
- ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6034
- z-index: 1;
6035
- color: ${({ theme: { palette } }) => palette.textContrast};
6036
- }
6037
-
6038
- :after {
6039
- content: "";
6040
- position: absolute;
6041
- top: 0;
6042
- bottom: 0;
6043
- left: 0;
6044
- right: 0;
6045
- background-color: rgba(0, 0, 0, 0.4);
6046
- }
5993
+ const ImageContainerBg$1 = styled.div `
5994
+ position: absolute;
5995
+ top: 0;
5996
+ bottom: 0;
5997
+ left: 0;
5998
+ right: 0;
5999
+
6000
+ img {
6001
+ width: 100%;
6002
+ height: 100%;
6003
+ object-position: center;
6004
+ object-fit: cover;
6005
+ }
6006
+ `;
6007
+ const ImageContainerTitle = styled.div `
6008
+ width: 100%;
6009
+ overflow-wrap: break-word;
6010
+ font-size: 1rem;
6011
+ font-weight: 500;
6012
+ `;
6013
+ const ImageContainerText = styled.div `
6014
+ width: 100%;
6015
+ overflow-wrap: break-word;
6016
+ margin-top: 0.5rem;
6017
+ font-size: 0.75rem;
6018
+ `;
6019
+ const ImageContainerButton$1 = styled(uilibGl.FlatButton) `
6020
+ min-height: 1.5rem;
6021
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6022
+ background-color: ${({ theme: { palette } }) => palette.primary};
6023
+ text-transform: none;
6024
+
6025
+ :hover {
6026
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6027
+ }
6028
+ `;
6029
+ const ImageContainerWrapper = styled(uilibGl.Flex) `
6030
+ flex-direction: column;
6031
+ justify-content: flex-end;
6032
+ position: relative;
6033
+ padding: 1rem;
6034
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6035
+ overflow: hidden;
6036
+
6037
+ ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6038
+ z-index: 1;
6039
+ color: ${({ theme: { palette } }) => palette.textContrast};
6040
+ }
6041
+
6042
+ :after {
6043
+ content: "";
6044
+ position: absolute;
6045
+ top: 0;
6046
+ bottom: 0;
6047
+ left: 0;
6048
+ right: 0;
6049
+ background-color: rgba(0, 0, 0, 0.4);
6050
+ }
6047
6051
  `;
6048
6052
 
6049
6053
  const ImageContainer = React.memo(({ elementConfig, renderElement }) => {
@@ -6051,52 +6055,52 @@ const ImageContainer = React.memo(({ elementConfig, renderElement }) => {
6051
6055
  return (jsxRuntime.jsxs(ImageContainerWrapper, { style: style, children: [jsxRuntime.jsx(ImageContainerTitle, { children: renderElement({ id: "alias" }) }), jsxRuntime.jsx(ImageContainerText, { children: renderElement({ id: "text" }) }), renderElement({ id: "button" }), jsxRuntime.jsx(ImageContainerBg$1, { children: renderElement({ id: "image" }) })] }));
6052
6056
  });
6053
6057
 
6054
- const IconContainerWrapper = styled(uilibGl.Flex) `
6055
- flex-direction: column;
6056
- justify-content: center;
6057
- position: relative;
6058
- padding: 0.5rem 1rem 1rem;
6059
- background-color: ${({ theme: { palette } }) => palette.element};
6060
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6061
- overflow: hidden;
6062
- `;
6063
- const IconContainerHeaderWrapper = styled(uilibGl.Flex) `
6064
- justify-content: space-between;
6065
- align-items: center;
6066
- flex-wrap: nowrap;
6067
- width: 100%;
6068
- margin-bottom: 0.25rem;
6069
- `;
6070
- const IconContainerHeader = styled(uilibGl.Flex) `
6071
- align-items: center;
6072
- flex-wrap: nowrap;
6073
- width: 100%;
6074
- margin-right: 0.5rem;
6075
- font-size: 0.875rem;
6076
-
6077
- ${uilibGl.Icon} {
6078
- margin-right: 0.5rem;
6079
-
6080
- :after {
6081
- font-size: 1.15rem;
6082
- color: ${({ theme: { palette } }) => palette.textSecondary};
6083
- }
6084
- }
6085
- `;
6086
- const IconContainerTitle = styled(uilibGl.Flex) `
6087
- > * {
6088
- width: 13rem;
6089
- white-space: nowrap;
6090
- overflow: hidden;
6091
- font-weight: bold;
6092
- text-overflow: ellipsis;
6093
- }
6094
- `;
6095
- const IconContainerText = styled.div `
6096
- width: 100%;
6097
- overflow-wrap: break-word;
6098
- font-size: 0.75rem;
6099
- color: ${({ theme: { palette } }) => palette.textSecondary};
6058
+ const IconContainerWrapper = styled(uilibGl.Flex) `
6059
+ flex-direction: column;
6060
+ justify-content: center;
6061
+ position: relative;
6062
+ padding: 0.5rem 1rem 1rem;
6063
+ background-color: ${({ theme: { palette } }) => palette.element};
6064
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6065
+ overflow: hidden;
6066
+ `;
6067
+ const IconContainerHeaderWrapper = styled(uilibGl.Flex) `
6068
+ justify-content: space-between;
6069
+ align-items: center;
6070
+ flex-wrap: nowrap;
6071
+ width: 100%;
6072
+ margin-bottom: 0.25rem;
6073
+ `;
6074
+ const IconContainerHeader = styled(uilibGl.Flex) `
6075
+ align-items: center;
6076
+ flex-wrap: nowrap;
6077
+ width: 100%;
6078
+ margin-right: 0.5rem;
6079
+ font-size: 0.875rem;
6080
+
6081
+ ${uilibGl.Icon} {
6082
+ margin-right: 0.5rem;
6083
+
6084
+ :after {
6085
+ font-size: 1.15rem;
6086
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6087
+ }
6088
+ }
6089
+ `;
6090
+ const IconContainerTitle = styled(uilibGl.Flex) `
6091
+ > * {
6092
+ width: 13rem;
6093
+ white-space: nowrap;
6094
+ overflow: hidden;
6095
+ font-weight: bold;
6096
+ text-overflow: ellipsis;
6097
+ }
6098
+ `;
6099
+ const IconContainerText = styled.div `
6100
+ width: 100%;
6101
+ overflow-wrap: break-word;
6102
+ font-size: 0.75rem;
6103
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6100
6104
  `;
6101
6105
 
6102
6106
  const IconContainer = React.memo(({ elementConfig, renderElement }) => {
@@ -6118,83 +6122,83 @@ const DataSourceContainer = React.memo(({ config, elementConfig, type, innerComp
6118
6122
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), !isVisible ? null : dataSource ? (jsxRuntime.jsx(Container, { isColumn: column, style: { height: isLoading ? "3rem" : "auto", ...style }, children: dataSource.features?.map((feature, index) => (jsxRuntime.jsx(DataSourceInnerContainer, { index: index, type: type, config: config, feature: feature, elementConfig: elementConfig, innerComponent: innerComponent }, index))) })) : (jsxRuntime.jsx(ContainerLoading, {}))] }));
6119
6123
  });
6120
6124
 
6121
- const SvgContainerColorMixin = styled.css `
6122
- path,
6123
- line,
6124
- circle {
6125
- fill: ${({ $fontColor }) => $fontColor};
6126
- }
6127
- `;
6128
- const SvgContainer = styled.div `
6129
- &&& {
6130
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6131
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6132
-
6133
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6134
-
6135
- > * {
6136
- min-width: inherit;
6137
- }
6138
- }
6139
- `;
6140
-
6141
- const ContainerIconTitle = styled(uilibGl.Flex) `
6142
- align-items: center;
6143
- flex-wrap: nowrap;
6144
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6145
-
6146
- svg,
6147
- img,
6148
- span[kind],
6149
- ${SvgContainer} {
6150
- margin-right: 0.5rem;
6151
- }
6152
-
6125
+ const SvgContainerColorMixin = styled.css `
6126
+ path,
6127
+ line,
6128
+ circle {
6129
+ fill: ${({ $fontColor }) => $fontColor};
6130
+ }
6131
+ `;
6132
+ const SvgContainer = styled.div `
6133
+ &&& {
6134
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6135
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6136
+
6137
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6138
+
6139
+ > * {
6140
+ min-width: inherit;
6141
+ }
6142
+ }
6143
+ `;
6144
+
6145
+ const ContainerIconTitle = styled(uilibGl.Flex) `
6146
+ align-items: center;
6147
+ flex-wrap: nowrap;
6148
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6149
+
6150
+ svg,
6151
+ img,
6152
+ span[kind],
6153
+ ${SvgContainer} {
6154
+ margin-right: 0.5rem;
6155
+ }
6156
+
6153
6157
  ${({ fontColor }) => !!fontColor &&
6154
- styled.css `
6155
- span[kind] {
6156
- color: ${fontColor};
6157
- }
6158
-
6159
- ${SvgContainer} {
6160
- path,
6161
- circle {
6162
- fill: ${fontColor};
6163
- }
6164
- }
6165
- `};
6166
-
6167
- ${uilibGl.LegendToggler} {
6168
- margin-left: 0.25rem;
6169
- }
6170
- `;
6171
- const ContainerTitle = styled(uilibGl.Flex) `
6172
- align-items: center;
6173
- justify-content: space-between;
6174
- width: 100%;
6175
-
6176
- > * {
6177
- font-size: 1.125rem;
6178
- font-weight: 500;
6179
- }
6180
-
6181
- ${uilibGl.LegendToggler} {
6182
- padding-right: 0;
6183
- }
6184
-
6158
+ styled.css `
6159
+ span[kind] {
6160
+ color: ${fontColor};
6161
+ }
6162
+
6163
+ ${SvgContainer} {
6164
+ path,
6165
+ circle {
6166
+ fill: ${fontColor};
6167
+ }
6168
+ }
6169
+ `};
6170
+
6171
+ ${uilibGl.LegendToggler} {
6172
+ margin-left: 0.25rem;
6173
+ }
6174
+ `;
6175
+ const ContainerTitle = styled(uilibGl.Flex) `
6176
+ align-items: center;
6177
+ justify-content: space-between;
6178
+ width: 100%;
6179
+
6180
+ > * {
6181
+ font-size: 1.125rem;
6182
+ font-weight: 500;
6183
+ }
6184
+
6185
+ ${uilibGl.LegendToggler} {
6186
+ padding-right: 0;
6187
+ }
6188
+
6185
6189
  ${({ simple }) => simple &&
6186
- styled.css `
6187
- justify-content: flex-start;
6188
-
6189
- ${ContainerIconTitle} {
6190
- font-size: 0.75rem;
6191
- }
6192
-
6193
- ${uilibGl.LegendToggler} {
6194
- margin-left: 0;
6195
- padding-left: 0.25rem;
6196
- }
6197
- `}
6190
+ styled.css `
6191
+ justify-content: flex-start;
6192
+
6193
+ ${ContainerIconTitle} {
6194
+ font-size: 0.75rem;
6195
+ }
6196
+
6197
+ ${uilibGl.LegendToggler} {
6198
+ margin-left: 0;
6199
+ padding-left: 0.25rem;
6200
+ }
6201
+ `}
6198
6202
  `;
6199
6203
 
6200
6204
  const TitleContainer = React.memo(({ containerId, templateName, layerNames, fontColor, expandable, expanded, isVisible, elementConfig, renderElement, type, }) => {
@@ -6221,9 +6225,9 @@ const TitleContainer = React.memo(({ containerId, templateName, layerNames, font
6221
6225
  return (jsxRuntime.jsx(Container, { isTitle: isVisible, style: style, children: jsxRuntime.jsxs(ContainerTitle, { simple: simple, children: [jsxRuntime.jsxs(ContainerIconTitle, { fontColor: fontColor, children: [renderElement({ id: "titleIcon", wrap: false }), renderElement({ id: "title" }), isLayers && renderToggler] }), !isLayers && renderToggler, renderVisibility] }) }));
6222
6226
  });
6223
6227
 
6224
- const ContainerDivider = styled(uilibGl.Divider) `
6225
- width: 100%;
6226
- border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
6228
+ const ContainerDivider = styled(uilibGl.Divider) `
6229
+ width: 100%;
6230
+ border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
6227
6231
  `;
6228
6232
 
6229
6233
  const DividerContainer = React.memo(({ elementConfig, config }) => {
@@ -6276,82 +6280,82 @@ const CameraContainer = React.memo(({ elementConfig, type, renderElement }) => {
6276
6280
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxRuntime.jsxs(Container, { style: style, children: [jsxRuntime.jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsxRuntime.jsx(ContainerValue, { children: renderElement({ id: "value", wrap: false }) })] }))] }));
6277
6281
  });
6278
6282
 
6279
- const TabAnchor = styled.div `
6280
- position: absolute;
6281
- top: -1.5rem;
6282
- right: 0;
6283
- `;
6284
- const TabValue = styled(uilibGl.Flex) `
6285
- flex-wrap: nowrap;
6286
- `;
6287
- const noBgMixin = styled.css `
6288
- background-color: transparent;
6289
- border-radius: 0;
6290
- border-bottom: 0.125rem solid
6291
- ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
6292
-
6293
- ${TabValue},
6294
- span[kind] {
6295
- color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6296
- }
6297
-
6298
- &&& svg {
6299
- path,
6300
- line,
6301
- circle {
6302
- fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6303
- }
6304
- }
6305
-
6306
- :not(:last-child) {
6307
- margin-right: 0;
6308
- }
6309
- `;
6310
- const TabContainer = styled.a `
6311
- display: flex;
6312
- flex-direction: ${({ column }) => (column ? "column" : "row")};
6313
- align-items: center;
6314
- justify-content: center;
6315
- flex-wrap: nowrap;
6316
- padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
6317
- background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
6318
- border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
6319
- text-decoration: none;
6320
-
6321
- :not(:last-child) {
6322
- margin-right: 0.5rem;
6323
- }
6324
-
6325
- ${TabValue} {
6326
- margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
6327
- margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
6328
- font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
6329
- white-space: nowrap;
6330
- }
6331
-
6332
- ${TabValue},
6333
- span[kind] {
6334
- color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
6335
- }
6336
-
6337
- ${SvgContainer$1} {
6338
- height: 1rem;
6339
- }
6340
-
6341
- svg,
6342
- img {
6343
- max-width: 1rem;
6344
- max-height: 1rem;
6345
- }
6346
-
6347
- ${({ noBg }) => noBg && noBgMixin};
6348
- `;
6349
- const SwiperContainer = styled.div `
6350
- width: 100%;
6351
-
6352
- .swiper-wrapper {
6353
- display: flex;
6354
- }
6283
+ const TabAnchor = styled.div `
6284
+ position: absolute;
6285
+ top: -1.5rem;
6286
+ right: 0;
6287
+ `;
6288
+ const TabValue = styled(uilibGl.Flex) `
6289
+ flex-wrap: nowrap;
6290
+ `;
6291
+ const noBgMixin = styled.css `
6292
+ background-color: transparent;
6293
+ border-radius: 0;
6294
+ border-bottom: 0.125rem solid
6295
+ ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
6296
+
6297
+ ${TabValue},
6298
+ span[kind] {
6299
+ color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6300
+ }
6301
+
6302
+ &&& svg {
6303
+ path,
6304
+ line,
6305
+ circle {
6306
+ fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
6307
+ }
6308
+ }
6309
+
6310
+ :not(:last-child) {
6311
+ margin-right: 0;
6312
+ }
6313
+ `;
6314
+ const TabContainer = styled.a `
6315
+ display: flex;
6316
+ flex-direction: ${({ column }) => (column ? "column" : "row")};
6317
+ align-items: center;
6318
+ justify-content: center;
6319
+ flex-wrap: nowrap;
6320
+ padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
6321
+ background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
6322
+ border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
6323
+ text-decoration: none;
6324
+
6325
+ :not(:last-child) {
6326
+ margin-right: 0.5rem;
6327
+ }
6328
+
6329
+ ${TabValue} {
6330
+ margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
6331
+ margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
6332
+ font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
6333
+ white-space: nowrap;
6334
+ }
6335
+
6336
+ ${TabValue},
6337
+ span[kind] {
6338
+ color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
6339
+ }
6340
+
6341
+ ${SvgContainer$1} {
6342
+ height: 1rem;
6343
+ }
6344
+
6345
+ svg,
6346
+ img {
6347
+ max-width: 1rem;
6348
+ max-height: 1rem;
6349
+ }
6350
+
6351
+ ${({ noBg }) => noBg && noBgMixin};
6352
+ `;
6353
+ const SwiperContainer = styled.div `
6354
+ width: 100%;
6355
+
6356
+ .swiper-wrapper {
6357
+ display: flex;
6358
+ }
6355
6359
  `;
6356
6360
 
6357
6361
  const TabsContainer = React.memo(({ elementConfig, type }) => {
@@ -6379,96 +6383,96 @@ const TabsContainer = React.memo(({ elementConfig, type }) => {
6379
6383
  });
6380
6384
 
6381
6385
  const ContainerIconValue = styled(uilibGl.Flex) ``;
6382
- const RoundedBackgroundContainerWrapper = styled(uilibGl.Flex) `
6383
- position: relative;
6384
- flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
6385
- width: 9rem;
6386
- padding: 0.75rem 0.75rem 0.5rem;
6387
- background-color: ${({ theme: { palette } }) => palette.element};
6388
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6389
- flex-wrap: nowrap;
6390
-
6391
- && {
6392
- margin-bottom: 0.5rem;
6393
- }
6394
-
6386
+ const RoundedBackgroundContainerWrapper = styled(uilibGl.Flex) `
6387
+ position: relative;
6388
+ flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
6389
+ width: 9rem;
6390
+ padding: 0.75rem 0.75rem 0.5rem;
6391
+ background-color: ${({ theme: { palette } }) => palette.element};
6392
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6393
+ flex-wrap: nowrap;
6394
+
6395
+ && {
6396
+ margin-bottom: 0.5rem;
6397
+ }
6398
+
6395
6399
  ${({ $center }) => $center &&
6396
- styled.css `
6397
- align-items: center;
6398
-
6399
- > * {
6400
- display: flex;
6401
- justify-content: center;
6402
- text-align: center;
6403
- width: 100%;
6404
- }
6405
- `};
6406
-
6400
+ styled.css `
6401
+ align-items: center;
6402
+
6403
+ > * {
6404
+ display: flex;
6405
+ justify-content: center;
6406
+ text-align: center;
6407
+ width: 100%;
6408
+ }
6409
+ `};
6410
+
6407
6411
  ${({ $color }) => $color &&
6408
- styled.css `
6409
- background-color: ${transparentizeColor($color, 6)};
6410
-
6411
- * {
6412
- color: ${$color};
6413
- }
6414
- `};
6415
-
6416
- ${ContainerIcon}, ${SvgContainer$1} {
6417
- margin-bottom: 0.25rem;
6418
- }
6419
-
6412
+ styled.css `
6413
+ background-color: ${transparentizeColor($color, 6)};
6414
+
6415
+ * {
6416
+ color: ${$color};
6417
+ }
6418
+ `};
6419
+
6420
+ ${ContainerIcon}, ${SvgContainer$1} {
6421
+ margin-bottom: 0.25rem;
6422
+ }
6423
+
6420
6424
  ${({ $bigIcon }) => $bigIcon &&
6421
- styled.css `
6422
- ${ContainerIcon}, ${SvgContainer$1} {
6423
- position: absolute;
6424
- top: 0.75rem;
6425
- right: 0.75rem;
6426
- width: 3rem;
6427
- opacity: 0.12;
6428
-
6429
- :after {
6430
- font-size: 3rem;
6431
- }
6432
- }
6433
- `};
6434
-
6435
- ${ContainerIconValue} {
6436
- align-items: center;
6437
- flex-direction: column;
6438
-
6425
+ styled.css `
6426
+ ${ContainerIcon}, ${SvgContainer$1} {
6427
+ position: absolute;
6428
+ top: 0.75rem;
6429
+ right: 0.75rem;
6430
+ width: 3rem;
6431
+ opacity: 0.12;
6432
+
6433
+ :after {
6434
+ font-size: 3rem;
6435
+ }
6436
+ }
6437
+ `};
6438
+
6439
+ ${ContainerIconValue} {
6440
+ align-items: center;
6441
+ flex-direction: column;
6442
+
6439
6443
  ${({ $big }) => $big &&
6440
- styled.css `
6441
- flex-direction: row;
6442
- margin-bottom: 0.5rem;
6443
-
6444
- > * {
6445
- text-align: left;
6446
- }
6447
-
6448
- span[kind] {
6449
- margin-right: 0.5rem;
6450
- }
6451
-
6452
- ${ContainerValue} {
6453
- width: auto;
6454
- }
6455
- `};
6456
- }
6457
-
6458
- ${ContainerValue} {
6459
- flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
6460
- justify-content: ${({ $big }) => ($big ? "flex-start" : "flex-end")};
6461
- align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
6462
- line-height: 1;
6463
- }
6464
-
6465
- ${ContainerUnits} {
6466
- margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
6467
- }
6468
-
6469
- ${ContainerAlias} {
6470
- margin-top: 0.25rem;
6471
- }
6444
+ styled.css `
6445
+ flex-direction: row;
6446
+ margin-bottom: 0.5rem;
6447
+
6448
+ > * {
6449
+ text-align: left;
6450
+ }
6451
+
6452
+ span[kind] {
6453
+ margin-right: 0.5rem;
6454
+ }
6455
+
6456
+ ${ContainerValue} {
6457
+ width: auto;
6458
+ }
6459
+ `};
6460
+ }
6461
+
6462
+ ${ContainerValue} {
6463
+ flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
6464
+ justify-content: ${({ $big }) => ($big ? "flex-start" : "flex-end")};
6465
+ align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
6466
+ line-height: 1;
6467
+ }
6468
+
6469
+ ${ContainerUnits} {
6470
+ margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
6471
+ }
6472
+
6473
+ ${ContainerAlias} {
6474
+ margin-top: 0.25rem;
6475
+ }
6472
6476
  `;
6473
6477
 
6474
6478
  const ALIAS_DEFAULT_MAX_LENGTH = 28;
@@ -6507,20 +6511,20 @@ const AddFeatureContainer = React.memo(({ elementConfig }) => {
6507
6511
  .map(({ options }, index) => (jsxRuntime.jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
6508
6512
  });
6509
6513
 
6510
- const LayersContainerWrapper = styled(Container) `
6511
- ${uilibGl.DraggableTreeContainer} {
6512
- width: calc(100% + 3rem);
6513
- margin: -0.75rem -1.5rem 0;
6514
- }
6515
-
6516
- ${LayerListContainer} {
6517
- height: auto;
6518
- }
6519
-
6520
- ${LayerGroupList} {
6521
- margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
6522
- padding: 0;
6523
- }
6514
+ const LayersContainerWrapper = styled(Container) `
6515
+ ${uilibGl.DraggableTreeContainer} {
6516
+ width: calc(100% + 3rem);
6517
+ margin: -0.75rem -1.5rem 0;
6518
+ }
6519
+
6520
+ ${LayerListContainer} {
6521
+ height: auto;
6522
+ }
6523
+
6524
+ ${LayerGroupList} {
6525
+ margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
6526
+ padding: 0;
6527
+ }
6524
6528
  `;
6525
6529
 
6526
6530
  const LayersContainer = React.memo(({ type, elementConfig, renderElement }) => {
@@ -6568,99 +6572,99 @@ const getContainerComponent = (innerTemplateName) => innerTemplateName ? contain
6568
6572
  var img$3 = "data:image/png;base64,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";
6569
6573
 
6570
6574
  const getMaskColor = (isDark) => (isDark ? "0, 0, 0" : "255, 255, 255");
6571
- const DefaultHeaderContainer = styled(uilibGl.Flex) `
6572
- flex-direction: column;
6573
- position: relative;
6574
- flex-shrink: 0;
6575
- min-height: 8.375rem;
6576
- margin-bottom: -1.5rem;
6577
- padding: 1.5rem 1.5rem 0;
6578
- border-top-left-radius: 0.5rem;
6579
- border-top-right-radius: 0.5rem;
6580
- overflow: hidden;
6581
-
6582
- > * {
6583
- z-index: 1;
6584
- }
6585
-
6586
- &::before {
6587
- content: "";
6588
- position: absolute;
6589
- top: 0;
6590
- left: 0;
6591
- width: 100%;
6592
- height: 100%;
6593
-
6575
+ const DefaultHeaderContainer = styled(uilibGl.Flex) `
6576
+ flex-direction: column;
6577
+ position: relative;
6578
+ flex-shrink: 0;
6579
+ min-height: 8.375rem;
6580
+ margin-bottom: -1.5rem;
6581
+ padding: 1.5rem 1.5rem 0;
6582
+ border-top-left-radius: 0.5rem;
6583
+ border-top-right-radius: 0.5rem;
6584
+ overflow: hidden;
6585
+
6586
+ > * {
6587
+ z-index: 1;
6588
+ }
6589
+
6590
+ &::before {
6591
+ content: "";
6592
+ position: absolute;
6593
+ top: 0;
6594
+ left: 0;
6595
+ width: 100%;
6596
+ height: 100%;
6597
+
6594
6598
  ${({ image, isDark }) => image
6595
- ? styled.css `
6596
- background: url(${image}) 0 0 no-repeat;
6597
- background-size: cover;
6599
+ ? styled.css `
6600
+ background: url(${image}) 0 0 no-repeat;
6601
+ background-size: cover;
6598
6602
  `
6599
- : styled.css `
6600
- background: url(${img$3}) 50% 0 no-repeat;
6601
- opacity: ${isDark ? 1 : 0.5};
6602
- `}
6603
- }
6604
-
6603
+ : styled.css `
6604
+ background: url(${img$3}) 50% 0 no-repeat;
6605
+ opacity: ${isDark ? 1 : 0.5};
6606
+ `}
6607
+ }
6608
+
6605
6609
  ${({ image, isDark }) => image &&
6606
- styled.css `
6607
- &::before {
6608
- -webkit-mask-image: linear-gradient(
6609
- to bottom,
6610
- rgba(${getMaskColor(isDark)}, 1),
6611
- rgba(${getMaskColor(isDark)}, 0)
6612
- );
6613
- mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
6614
- }
6615
- `}
6616
- ${uilibGl.LinearProgress} {
6617
- position: absolute;
6618
- top: 0;
6619
- left: 0;
6620
- }
6621
- `;
6622
- const TopContainer = styled(uilibGl.Flex) `
6623
- z-index: 1;
6624
- position: relative;
6625
- justify-content: space-between;
6626
- flex-wrap: nowrap;
6627
- width: 100%;
6628
- align-items: flex-start;
6629
- `;
6630
- const TopContainerButtons = styled(uilibGl.Flex) `
6631
- align-items: center;
6632
- width: auto;
6633
- margin-right: -0.5rem;
6634
-
6635
- button {
6636
- width: auto;
6637
- height: 1rem;
6638
- padding: 0 0.5rem;
6639
- }
6640
- `;
6641
- const LogoContainer = styled(uilibGl.Flex) `
6642
- max-width: calc(100% - 1.4rem);
6643
- flex-grow: 1;
6644
- font-size: 0;
6645
-
6646
- & > span::after {
6647
- font-size: 2rem;
6648
- }
6649
-
6650
- img {
6651
- max-height: 1.875rem;
6652
- }
6653
- `;
6654
- const PageTitle = styled(uilibGl.H2) `
6655
- display: -webkit-box;
6656
- -webkit-line-clamp: 3;
6657
- -webkit-box-orient: vertical;
6658
- overflow: hidden;
6659
- margin: 0;
6660
- font-size: 1.25rem;
6661
- font-weight: 600;
6662
- pointer-events: initial;
6663
- font-family: "Nunito Sans", serif;
6610
+ styled.css `
6611
+ &::before {
6612
+ -webkit-mask-image: linear-gradient(
6613
+ to bottom,
6614
+ rgba(${getMaskColor(isDark)}, 1),
6615
+ rgba(${getMaskColor(isDark)}, 0)
6616
+ );
6617
+ mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
6618
+ }
6619
+ `}
6620
+ ${uilibGl.LinearProgress} {
6621
+ position: absolute;
6622
+ top: 0;
6623
+ left: 0;
6624
+ }
6625
+ `;
6626
+ const TopContainer = styled(uilibGl.Flex) `
6627
+ z-index: 1;
6628
+ position: relative;
6629
+ justify-content: space-between;
6630
+ flex-wrap: nowrap;
6631
+ width: 100%;
6632
+ align-items: flex-start;
6633
+ `;
6634
+ const TopContainerButtons = styled(uilibGl.Flex) `
6635
+ align-items: center;
6636
+ width: auto;
6637
+ margin-right: -0.5rem;
6638
+
6639
+ button {
6640
+ width: auto;
6641
+ height: 1rem;
6642
+ padding: 0 0.5rem;
6643
+ }
6644
+ `;
6645
+ const LogoContainer = styled(uilibGl.Flex) `
6646
+ max-width: calc(100% - 1.4rem);
6647
+ flex-grow: 1;
6648
+ font-size: 0;
6649
+
6650
+ & > span::after {
6651
+ font-size: 2rem;
6652
+ }
6653
+
6654
+ img {
6655
+ max-height: 1.875rem;
6656
+ }
6657
+ `;
6658
+ const PageTitle = styled(uilibGl.H2) `
6659
+ display: -webkit-box;
6660
+ -webkit-line-clamp: 3;
6661
+ -webkit-box-orient: vertical;
6662
+ overflow: hidden;
6663
+ margin: 0;
6664
+ font-size: 1.25rem;
6665
+ font-weight: 600;
6666
+ pointer-events: initial;
6667
+ font-family: "Nunito Sans", serif;
6664
6668
  `;
6665
6669
 
6666
6670
  exports.ThemeName = void 0;
@@ -6686,81 +6690,81 @@ const DashboardDefaultHeader = React.memo(() => {
6686
6690
  return (jsxRuntime.jsxs(DefaultHeaderContainer, { image: image, isDark: themeName === exports.ThemeName.Dark, children: [!pageId && jsxRuntime.jsx(uilibGl.LinearProgress, {}), jsxRuntime.jsxs(uilibGl.Flex, { column: true, gap: "1rem", children: [jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsxs(TopContainer, { children: [jsxRuntime.jsx(LogoContainer, { children: icon }), jsxRuntime.jsxs(TopContainerButtons, { children: [jsxRuntime.jsx(ProjectCatalogMenu, {}), jsxRuntime.jsx(ProjectPanelMenu, {})] })] }) }), jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsx(uilibGl.Flex, { column: true, gap: "0.25rem", children: jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsxs(uilibGl.Flex, { alignItems: "center", children: [jsxRuntime.jsx(uilibGl.FlexSpan, { flexGrow: 1, children: jsxRuntime.jsx(uilibGl.Tooltip, { arrow: true, content: tooltip, children: ref => (jsxRuntime.jsx(PageTitle, { ref: ref, children: jsxRuntime.jsx(ProjectPagesMenu, {}) })) }) }), jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsx(Pagination, {}) })] }) }) }) })] })] }));
6687
6691
  });
6688
6692
 
6689
- const HeaderFrontView = styled(uilibGl.Flex) `
6690
- z-index: 10;
6691
- position: relative;
6692
- justify-content: space-between;
6693
- align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
6694
- width: 100%;
6695
- font: ${({ theme: { fonts } }) => fonts.subtitle};
6696
- `;
6697
- const HeaderContainer = styled(uilibGl.FlexSpan) `
6698
- display: flex;
6699
- flex-grow: 1;
6700
- flex-wrap: nowrap;
6701
- width: calc(100% - 48px);
6702
- `;
6703
- const FeatureTitleContainer = styled.div `
6704
- display: -webkit-box;
6705
- max-width: 100%;
6706
- width: 100%;
6707
- margin: 0.5rem 0;
6708
- -webkit-line-clamp: 2;
6709
- -webkit-box-orient: vertical;
6710
- overflow: hidden;
6711
- text-overflow: ellipsis;
6712
- color: ${({ theme: { palette } }) => palette.textPrimary};
6713
-
6714
- & > ${uilibGl.FlexSpan} {
6715
- cursor: ${({ clickable }) => clickable && "pointer"};
6716
-
6717
- &:hover {
6718
- color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
6719
- }
6720
- }
6721
- `;
6722
- const LayerDescription = styled(uilibGl.Description) `
6723
- width: calc(100% - 4rem);
6724
- display: -webkit-box;
6725
- -webkit-line-clamp: 2;
6726
- -webkit-box-orient: vertical;
6727
- overflow: hidden;
6728
- text-overflow: ellipsis;
6729
- `;
6730
- const HeaderTitleContainer = styled(uilibGl.Flex) `
6731
- flex-direction: column;
6732
- width: 100%;
6733
- `;
6734
- const RowHeaderMixin = styled.css `
6735
- &&& {
6736
- min-height: auto;
6737
-
6738
- ${FeatureTitleContainer}, ${LayerDescription} {
6739
- text-align: left;
6740
- }
6741
- }
6742
-
6743
- ${HeaderContainer} {
6744
- flex-direction: row;
6745
- }
6746
-
6747
- ${FeatureTitleContainer} {
6748
- max-width: calc(100% - 3.8rem);
6749
- }
6750
- `;
6751
- const Header = styled(uilibGl.Flex) `
6752
- z-index: 1;
6753
- position: relative;
6754
- top: 0;
6755
- flex-shrink: 0;
6756
- overflow: hidden;
6757
- padding: 0.5rem;
6758
-
6759
- ${HeaderContainer} {
6760
- flex-direction: column;
6761
- }
6762
-
6763
- ${({ $isRow }) => $isRow && RowHeaderMixin};
6693
+ const HeaderFrontView = styled(uilibGl.Flex) `
6694
+ z-index: 10;
6695
+ position: relative;
6696
+ justify-content: space-between;
6697
+ align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
6698
+ width: 100%;
6699
+ font: ${({ theme: { fonts } }) => fonts.subtitle};
6700
+ `;
6701
+ const HeaderContainer = styled(uilibGl.FlexSpan) `
6702
+ display: flex;
6703
+ flex-grow: 1;
6704
+ flex-wrap: nowrap;
6705
+ width: calc(100% - 48px);
6706
+ `;
6707
+ const FeatureTitleContainer = styled.div `
6708
+ display: -webkit-box;
6709
+ max-width: 100%;
6710
+ width: 100%;
6711
+ margin: 0.5rem 0;
6712
+ -webkit-line-clamp: 2;
6713
+ -webkit-box-orient: vertical;
6714
+ overflow: hidden;
6715
+ text-overflow: ellipsis;
6716
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6717
+
6718
+ & > ${uilibGl.FlexSpan} {
6719
+ cursor: ${({ clickable }) => clickable && "pointer"};
6720
+
6721
+ &:hover {
6722
+ color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
6723
+ }
6724
+ }
6725
+ `;
6726
+ const LayerDescription = styled(uilibGl.Description) `
6727
+ width: calc(100% - 4rem);
6728
+ display: -webkit-box;
6729
+ -webkit-line-clamp: 2;
6730
+ -webkit-box-orient: vertical;
6731
+ overflow: hidden;
6732
+ text-overflow: ellipsis;
6733
+ `;
6734
+ const HeaderTitleContainer = styled(uilibGl.Flex) `
6735
+ flex-direction: column;
6736
+ width: 100%;
6737
+ `;
6738
+ const RowHeaderMixin = styled.css `
6739
+ &&& {
6740
+ min-height: auto;
6741
+
6742
+ ${FeatureTitleContainer}, ${LayerDescription} {
6743
+ text-align: left;
6744
+ }
6745
+ }
6746
+
6747
+ ${HeaderContainer} {
6748
+ flex-direction: row;
6749
+ }
6750
+
6751
+ ${FeatureTitleContainer} {
6752
+ max-width: calc(100% - 3.8rem);
6753
+ }
6754
+ `;
6755
+ const Header = styled(uilibGl.Flex) `
6756
+ z-index: 1;
6757
+ position: relative;
6758
+ top: 0;
6759
+ flex-shrink: 0;
6760
+ overflow: hidden;
6761
+ padding: 0.5rem;
6762
+
6763
+ ${HeaderContainer} {
6764
+ flex-direction: column;
6765
+ }
6766
+
6767
+ ${({ $isRow }) => $isRow && RowHeaderMixin};
6764
6768
  `;
6765
6769
 
6766
6770
  const HeaderTitle = ({ noFeature }) => {
@@ -6788,22 +6792,22 @@ const HeaderTitle = ({ noFeature }) => {
6788
6792
  return (jsxRuntime.jsxs(HeaderTitleContainer, { children: [noFeature ? (jsxRuntime.jsx(FeatureTitleContainer, { children: t("noObjectFound", { ns: "dashboard", defaultValue: "Объектов не найдено" }) })) : (jsxRuntime.jsx(FeatureTitleContainer, { clickable: true, children: jsxRuntime.jsx(uilibGl.Tooltip, { arrow: true, placement: "top", content: t("zoomToFeature", { ns: "dashboard", defaultValue: "Приблизить к объекту" }), delay: [600, 0], children: ref => (jsxRuntime.jsx(uilibGl.FlexSpan, { ref: ref, onClick: () => zoomToFeatures([feature]), children: resultTitle })) }) })), jsxRuntime.jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
6789
6793
  };
6790
6794
 
6791
- const LayerIconContainer = styled.div `
6792
- display: flex;
6793
- align-items: center;
6794
- margin-right: 0.75rem;
6795
+ const LayerIconContainer = styled.div `
6796
+ display: flex;
6797
+ align-items: center;
6798
+ margin-right: 0.75rem;
6795
6799
  `;
6796
- const AlertIconContainer = styled(uilibGl.Flex) `
6797
- align-items: center;
6798
- justify-content: center;
6799
- width: 2rem;
6800
- height: 2rem;
6801
-
6802
- ${uilibGl.Icon} {
6803
- :after {
6804
- color: ${({ theme: { palette } }) => palette.error};
6805
- }
6806
- }
6800
+ const AlertIconContainer = styled(uilibGl.Flex) `
6801
+ align-items: center;
6802
+ justify-content: center;
6803
+ width: 2rem;
6804
+ height: 2rem;
6805
+
6806
+ ${uilibGl.Icon} {
6807
+ :after {
6808
+ color: ${({ theme: { palette } }) => palette.error};
6809
+ }
6810
+ }
6807
6811
  `;
6808
6812
 
6809
6813
  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";
@@ -6835,56 +6839,56 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
6835
6839
  return (jsxRuntime.jsx(Header, { "$isRow": true, children: jsxRuntime.jsxs(HeaderFrontView, { isDefault: true, children: [jsxRuntime.jsxs(HeaderContainer, { children: [!!layerInfo?.name && jsxRuntime.jsx(LayerIcon, { layerInfo: layerInfo }), jsxRuntime.jsx(HeaderTitle, { noFeature: noFeature })] }), jsxRuntime.jsx(FeatureCardButtons, {})] }) }));
6836
6840
  };
6837
6841
 
6838
- const HeaderFontColorMixin$1 = styled.css `
6839
- ${HeaderTitleContainer}, ${LayerDescription} {
6840
- color: ${({ $fontColor }) => $fontColor};
6841
- }
6842
- `;
6843
- const HeaderWrapperMixin$1 = styled.css `
6844
- padding: 0.5rem 0.5rem 0;
6845
-
6846
- ${Header} {
6847
- min-height: 5.25rem;
6848
- }
6849
-
6850
- ${HeaderContainer} {
6851
- max-width: 100%;
6852
- width: 100%;
6853
- }
6854
-
6855
- ${FeatureControls} {
6856
- max-width: calc(100% - 2rem);
6857
- width: calc(100% - 2rem);
6858
- margin-top: -0.5rem;
6859
- padding-top: 1rem;
6860
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6861
- }
6862
-
6863
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
6864
- `;
6865
- const GradientHeaderWrapper = styled.div `
6866
- ${Header} {
6867
- background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
6868
- }
6869
-
6870
- ${HeaderContainer} {
6871
- align-items: center;
6872
- }
6873
-
6874
- ${HeaderTitleContainer} {
6875
- margin-left: 0;
6876
- text-align: center;
6877
- }
6878
-
6879
- ${FeatureTitleContainer} {
6880
- text-align: center;
6881
- }
6882
-
6883
- ${LayerDescription} {
6884
- text-align: center;
6885
- }
6886
-
6887
- ${HeaderWrapperMixin$1};
6842
+ const HeaderFontColorMixin$1 = styled.css `
6843
+ ${HeaderTitleContainer}, ${LayerDescription} {
6844
+ color: ${({ $fontColor }) => $fontColor};
6845
+ }
6846
+ `;
6847
+ const HeaderWrapperMixin$1 = styled.css `
6848
+ padding: 0.5rem 0.5rem 0;
6849
+
6850
+ ${Header} {
6851
+ min-height: 5.25rem;
6852
+ }
6853
+
6854
+ ${HeaderContainer} {
6855
+ max-width: 100%;
6856
+ width: 100%;
6857
+ }
6858
+
6859
+ ${FeatureControls} {
6860
+ max-width: calc(100% - 2rem);
6861
+ width: calc(100% - 2rem);
6862
+ margin-top: -0.5rem;
6863
+ padding-top: 1rem;
6864
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6865
+ }
6866
+
6867
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
6868
+ `;
6869
+ const GradientHeaderWrapper = styled.div `
6870
+ ${Header} {
6871
+ background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
6872
+ }
6873
+
6874
+ ${HeaderContainer} {
6875
+ align-items: center;
6876
+ }
6877
+
6878
+ ${HeaderTitleContainer} {
6879
+ margin-left: 0;
6880
+ text-align: center;
6881
+ }
6882
+
6883
+ ${FeatureTitleContainer} {
6884
+ text-align: center;
6885
+ }
6886
+
6887
+ ${LayerDescription} {
6888
+ text-align: center;
6889
+ }
6890
+
6891
+ ${HeaderWrapperMixin$1};
6888
6892
  `;
6889
6893
 
6890
6894
  const FeatureCardGradientHeader = ({ isRow }) => {
@@ -6901,82 +6905,82 @@ const FeatureCardGradientHeader = ({ isRow }) => {
6901
6905
  }) })] }), jsxRuntime.jsx(FeatureCardButtons, {})] }) }) }) }));
6902
6906
  };
6903
6907
 
6904
- const HeaderFontColorMixin = styled.css `
6905
- ${HeaderTitleContainer}, ${LayerDescription} {
6906
- color: ${({ $fontColor }) => $fontColor};
6907
- }
6908
- `;
6909
- const HeaderWrapperMixin = styled.css `
6910
- padding: 0.5rem 0.5rem 0;
6911
-
6912
- ${Header} {
6913
- min-height: 5.25rem;
6914
- }
6915
-
6916
- ${HeaderContainer} {
6917
- max-width: 100%;
6918
- width: 100%;
6919
- }
6920
-
6921
- ${FeatureControls} {
6922
- max-width: calc(100% - 2rem);
6923
- width: calc(100% - 2rem);
6924
- margin-top: -0.5rem;
6925
- padding-top: 1rem;
6926
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6927
- }
6928
-
6929
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
6930
- `;
6931
- const HeaderIcon = styled(uilibGl.Flex) `
6932
- position: absolute;
6933
- top: 0;
6934
- right: 0;
6935
- justify-content: flex-end;
6936
- align-items: center;
6937
- min-width: 7.5rem;
6938
- height: 100%;
6939
-
6940
- span[kind]:after {
6941
- font-size: 7.5rem;
6942
- }
6943
-
6944
- span[kind]:after,
6945
- path,
6946
- line,
6947
- circle {
6948
- fill: rgba(255, 255, 255, 0.36);
6949
- }
6950
-
6951
- && > * {
6952
- display: flex;
6953
- align-items: center;
6954
- height: 100%;
6955
- }
6956
- `;
6957
- const BigIconHeaderMixin = styled.css `
6958
- ${HeaderIcon} {
6959
- min-width: 14rem;
6960
- right: -3rem;
6961
-
6962
- span[kind]:after {
6963
- font-size: 14rem;
6964
- }
6965
- }
6966
- `;
6967
- const IconHeaderWrapper = styled.div `
6968
- ${Header} {
6969
- width: calc(100% + 3rem);
6970
- margin: -1.5rem -1.5rem 0 -1.5rem;
6971
- padding: 1.5rem;
6972
- border-top-left-radius: 0.5rem;
6973
- border-top-right-radius: 0.5rem;
6974
- background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
6975
- }
6976
-
6977
- ${HeaderWrapperMixin};
6978
-
6979
- ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
6908
+ const HeaderFontColorMixin = styled.css `
6909
+ ${HeaderTitleContainer}, ${LayerDescription} {
6910
+ color: ${({ $fontColor }) => $fontColor};
6911
+ }
6912
+ `;
6913
+ const HeaderWrapperMixin = styled.css `
6914
+ padding: 0.5rem 0.5rem 0;
6915
+
6916
+ ${Header} {
6917
+ min-height: 5.25rem;
6918
+ }
6919
+
6920
+ ${HeaderContainer} {
6921
+ max-width: 100%;
6922
+ width: 100%;
6923
+ }
6924
+
6925
+ ${FeatureControls} {
6926
+ max-width: calc(100% - 2rem);
6927
+ width: calc(100% - 2rem);
6928
+ margin-top: -0.5rem;
6929
+ padding-top: 1rem;
6930
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6931
+ }
6932
+
6933
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
6934
+ `;
6935
+ const HeaderIcon = styled(uilibGl.Flex) `
6936
+ position: absolute;
6937
+ top: 0;
6938
+ right: 0;
6939
+ justify-content: flex-end;
6940
+ align-items: center;
6941
+ min-width: 7.5rem;
6942
+ height: 100%;
6943
+
6944
+ span[kind]:after {
6945
+ font-size: 7.5rem;
6946
+ }
6947
+
6948
+ span[kind]:after,
6949
+ path,
6950
+ line,
6951
+ circle {
6952
+ fill: rgba(255, 255, 255, 0.36);
6953
+ }
6954
+
6955
+ && > * {
6956
+ display: flex;
6957
+ align-items: center;
6958
+ height: 100%;
6959
+ }
6960
+ `;
6961
+ const BigIconHeaderMixin = styled.css `
6962
+ ${HeaderIcon} {
6963
+ min-width: 14rem;
6964
+ right: -3rem;
6965
+
6966
+ span[kind]:after {
6967
+ font-size: 14rem;
6968
+ }
6969
+ }
6970
+ `;
6971
+ const IconHeaderWrapper = styled.div `
6972
+ ${Header} {
6973
+ width: calc(100% + 3rem);
6974
+ margin: -1.5rem -1.5rem 0 -1.5rem;
6975
+ padding: 1.5rem;
6976
+ border-top-left-radius: 0.5rem;
6977
+ border-top-right-radius: 0.5rem;
6978
+ background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
6979
+ }
6980
+
6981
+ ${HeaderWrapperMixin};
6982
+
6983
+ ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
6980
6984
  `;
6981
6985
 
6982
6986
  const FeatureCardIconHeader = ({ isRow }) => {
@@ -6996,15 +7000,15 @@ const FeatureCardIconHeader = ({ isRow }) => {
6996
7000
  }) })] }) }) }));
6997
7001
  };
6998
7002
 
6999
- const ImageContainerButton = styled(uilibGl.FlatButton) `
7000
- min-height: 1.5rem;
7001
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7002
- background-color: ${({ theme: { palette } }) => palette.primary};
7003
- text-transform: none;
7004
-
7005
- :hover {
7006
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
7007
- }
7003
+ const ImageContainerButton = styled(uilibGl.FlatButton) `
7004
+ min-height: 1.5rem;
7005
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7006
+ background-color: ${({ theme: { palette } }) => palette.primary};
7007
+ text-transform: none;
7008
+
7009
+ :hover {
7010
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
7011
+ }
7008
7012
  `;
7009
7013
 
7010
7014
  const ElementButton = React.memo(({ type, elementConfig }) => {
@@ -7016,157 +7020,157 @@ const ElementButton = React.memo(({ type, elementConfig }) => {
7016
7020
  return (jsxRuntime.jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
7017
7021
  });
7018
7022
 
7019
- const AttributeGalleryContainer = styled.div `
7020
- && {
7021
- width: calc(100% + 3rem);
7022
- }
7023
-
7024
- min-height: 12.625rem;
7025
- background-color: ${({ theme: { palette } }) => palette.element};
7026
-
7027
- img {
7028
- width: 100%;
7029
- }
7030
- `;
7031
- const LinearProgressContainer = styled(uilibGl.Flex) `
7032
- align-items: center;
7033
- justify-content: center;
7034
- min-height: inherit;
7035
-
7036
- ${uilibGl.LinearProgress} {
7037
- max-width: 4rem;
7038
- }
7039
- `;
7040
- const NoLiveSnapshotContainer = styled(uilibGl.Flex) `
7041
- flex-direction: column;
7042
- align-items: center;
7043
-
7044
- span[kind="alert"] {
7045
- width: 2rem;
7046
- height: 2rem;
7047
-
7048
- &:after {
7049
- font-size: 2rem;
7050
- color: ${({ theme: { palette } }) => palette.elementDeep};
7051
- }
7052
- }
7053
-
7054
- ${uilibGl.Description} {
7055
- font-size: 0.75rem;
7056
- color: ${({ theme: { palette } }) => palette.textDisabled};
7057
- }
7058
- `;
7059
- const SmallPreviewControl = styled(uilibGl.IconButton) `
7060
- cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
7061
- z-index: 3;
7062
- position: absolute;
7063
- top: 50%;
7064
- width: 2.5rem;
7065
- height: 2.5rem;
7066
- margin-top: -1.25rem;
7067
- background-color: rgba(61, 61, 61, 0.8);
7068
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
7069
-
7070
- span:after {
7071
- color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
7072
- transition: color ${uilibGl.transition.hover};
7073
- }
7074
- `;
7075
- const SmallPreviewCounter = styled(uilibGl.Flex) `
7076
- z-index: 3;
7077
- position: absolute;
7078
- bottom: 0.625rem;
7079
- left: 0;
7080
- width: 100%;
7081
- height: 1rem;
7082
- justify-content: center;
7083
-
7084
- > div {
7085
- background-color: rgba(61, 61, 61, 0.8);
7086
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7087
- padding: 0 0.5rem;
7088
- font-size: 0.625rem;
7089
- line-height: 1rem;
7090
- color: #fff;
7091
- }
7023
+ const AttributeGalleryContainer = styled.div `
7024
+ && {
7025
+ width: calc(100% + 3rem);
7026
+ }
7027
+
7028
+ min-height: 12.625rem;
7029
+ background-color: ${({ theme: { palette } }) => palette.element};
7030
+
7031
+ img {
7032
+ width: 100%;
7033
+ }
7034
+ `;
7035
+ const LinearProgressContainer = styled(uilibGl.Flex) `
7036
+ align-items: center;
7037
+ justify-content: center;
7038
+ min-height: inherit;
7039
+
7040
+ ${uilibGl.LinearProgress} {
7041
+ max-width: 4rem;
7042
+ }
7043
+ `;
7044
+ const NoLiveSnapshotContainer = styled(uilibGl.Flex) `
7045
+ flex-direction: column;
7046
+ align-items: center;
7047
+
7048
+ span[kind="alert"] {
7049
+ width: 2rem;
7050
+ height: 2rem;
7051
+
7052
+ &:after {
7053
+ font-size: 2rem;
7054
+ color: ${({ theme: { palette } }) => palette.elementDeep};
7055
+ }
7056
+ }
7057
+
7058
+ ${uilibGl.Description} {
7059
+ font-size: 0.75rem;
7060
+ color: ${({ theme: { palette } }) => palette.textDisabled};
7061
+ }
7062
+ `;
7063
+ const SmallPreviewControl = styled(uilibGl.IconButton) `
7064
+ cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
7065
+ z-index: 3;
7066
+ position: absolute;
7067
+ top: 50%;
7068
+ width: 2.5rem;
7069
+ height: 2.5rem;
7070
+ margin-top: -1.25rem;
7071
+ background-color: rgba(61, 61, 61, 0.8);
7072
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
7073
+
7074
+ span:after {
7075
+ color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
7076
+ transition: color ${uilibGl.transition.hover};
7077
+ }
7078
+ `;
7079
+ const SmallPreviewCounter = styled(uilibGl.Flex) `
7080
+ z-index: 3;
7081
+ position: absolute;
7082
+ bottom: 0.625rem;
7083
+ left: 0;
7084
+ width: 100%;
7085
+ height: 1rem;
7086
+ justify-content: center;
7087
+
7088
+ > div {
7089
+ background-color: rgba(61, 61, 61, 0.8);
7090
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7091
+ padding: 0 0.5rem;
7092
+ font-size: 0.625rem;
7093
+ line-height: 1rem;
7094
+ color: #fff;
7095
+ }
7092
7096
  `;
7093
7097
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
7094
7098
  kind: "prev",
7095
- })) `
7096
- left: 1.5rem;
7099
+ })) `
7100
+ left: 1.5rem;
7097
7101
  `;
7098
7102
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
7099
7103
  kind: "next",
7100
- })) `
7101
- right: 1.5rem;
7102
- `;
7103
- const imgSlideShowMixin = styled.css `
7104
- &:nth-child(${({ prevIndex }) => prevIndex}) {
7105
- z-index: 2;
7106
- position: absolute;
7107
- top: 0;
7108
- left: 0;
7109
- right: 0;
7110
- bottom: 0;
7111
- opacity: 0;
7112
-
7113
- animation-duration: 0.25s;
7114
- animation-name: fadeOut;
7115
- animation-timing-function: linear;
7116
-
7117
- @keyframes fadeOut {
7118
- from {
7119
- opacity: 1;
7120
- }
7121
-
7122
- to {
7123
- opacity: 0;
7124
- }
7125
- }
7126
- }
7127
- `;
7128
- const SmallPreviewContainer$1 = styled.div `
7129
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7130
- position: relative;
7131
- width: 100%;
7132
- height: 100%;
7133
- min-height: inherit;
7134
- line-height: 0;
7135
-
7136
- ${uilibGl.LinearProgress} {
7137
- z-index: 3;
7138
- position: absolute;
7139
- }
7140
-
7141
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
7142
- opacity: 0;
7143
- transition: opacity ${uilibGl.transition.hover};
7144
- }
7145
-
7146
- &:hover {
7147
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
7148
- opacity: 1;
7149
- }
7150
- }
7151
-
7152
- img {
7153
- z-index: 0;
7154
- cursor: pointer;
7155
- position: absolute;
7156
- top: 0;
7157
- left: 0;
7158
- width: 100%;
7159
- height: 100%;
7160
- min-height: inherit;
7161
- object-position: center;
7162
- object-fit: cover;
7163
-
7164
- &:nth-child(${({ currentIndex }) => currentIndex}) {
7165
- z-index: 1;
7166
- }
7167
-
7168
- ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
7169
- }
7104
+ })) `
7105
+ right: 1.5rem;
7106
+ `;
7107
+ const imgSlideShowMixin = styled.css `
7108
+ &:nth-child(${({ prevIndex }) => prevIndex}) {
7109
+ z-index: 2;
7110
+ position: absolute;
7111
+ top: 0;
7112
+ left: 0;
7113
+ right: 0;
7114
+ bottom: 0;
7115
+ opacity: 0;
7116
+
7117
+ animation-duration: 0.25s;
7118
+ animation-name: fadeOut;
7119
+ animation-timing-function: linear;
7120
+
7121
+ @keyframes fadeOut {
7122
+ from {
7123
+ opacity: 1;
7124
+ }
7125
+
7126
+ to {
7127
+ opacity: 0;
7128
+ }
7129
+ }
7130
+ }
7131
+ `;
7132
+ const SmallPreviewContainer$1 = styled.div `
7133
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
7134
+ position: relative;
7135
+ width: 100%;
7136
+ height: 100%;
7137
+ min-height: inherit;
7138
+ line-height: 0;
7139
+
7140
+ ${uilibGl.LinearProgress} {
7141
+ z-index: 3;
7142
+ position: absolute;
7143
+ }
7144
+
7145
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
7146
+ opacity: 0;
7147
+ transition: opacity ${uilibGl.transition.hover};
7148
+ }
7149
+
7150
+ &:hover {
7151
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
7152
+ opacity: 1;
7153
+ }
7154
+ }
7155
+
7156
+ img {
7157
+ z-index: 0;
7158
+ cursor: pointer;
7159
+ position: absolute;
7160
+ top: 0;
7161
+ left: 0;
7162
+ width: 100%;
7163
+ height: 100%;
7164
+ min-height: inherit;
7165
+ object-position: center;
7166
+ object-fit: cover;
7167
+
7168
+ &:nth-child(${({ currentIndex }) => currentIndex}) {
7169
+ z-index: 1;
7170
+ }
7171
+
7172
+ ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
7173
+ }
7170
7174
  `;
7171
7175
  const SmallPreviewImages = styled.div ``;
7172
7176
 
@@ -7342,21 +7346,21 @@ const ElementChips = React.memo(({ type, elementConfig }) => {
7342
7346
  return (jsxRuntime.jsx(DashboardChipsContainer, { style: style, children: tags?.map(tag => (jsxRuntime.jsx(DashboardChip$1, { text: tag, "$bgColor": bgColor, "$fontColor": fontColor, "$fontSize": fontSize, "$isDefault": true }, tag))) }));
7343
7347
  });
7344
7348
 
7345
- const StyledIconFontSizeMixin = styled.css `
7346
- height: ${({ fontSize }) => `${fontSize}px`};
7347
-
7348
- &&:after {
7349
- font-size: ${({ fontSize }) => `${fontSize}px`};
7350
- }
7349
+ const StyledIconFontSizeMixin = styled.css `
7350
+ height: ${({ fontSize }) => `${fontSize}px`};
7351
+
7352
+ &&:after {
7353
+ font-size: ${({ fontSize }) => `${fontSize}px`};
7354
+ }
7351
7355
  `;
7352
- const StyledIconFontColorMixin = styled.css `
7353
- &&:after {
7354
- color: ${({ fontColor }) => fontColor};
7355
- }
7356
+ const StyledIconFontColorMixin = styled.css `
7357
+ &&:after {
7358
+ color: ${({ fontColor }) => fontColor};
7359
+ }
7356
7360
  `;
7357
- const StyledIcon = styled(uilibGl.Icon) `
7358
- ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
7359
- ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
7361
+ const StyledIcon = styled(uilibGl.Icon) `
7362
+ ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
7363
+ ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
7360
7364
  `;
7361
7365
 
7362
7366
  const ElementIcon = React.memo(({ type, elementConfig }) => {
@@ -7410,51 +7414,51 @@ const ElementLegend = React.memo(({ type, element, elementConfig, expandedContai
7410
7414
 
7411
7415
  const ExternalLink = styled(uilibGl.IconButton).attrs(() => ({
7412
7416
  kind: "external_link",
7413
- })) `
7414
- ${uilibGl.Icon} {
7415
- color: ${({ theme: { palette } }) => palette.primary};
7416
- }
7417
-
7418
- &:hover ${uilibGl.Icon} {
7419
- color: ${({ theme: { palette } }) => palette.primaryDeep};
7420
- }
7421
- `;
7422
- const LocalLinkBlank = styled(uilibGl.Blank) `
7423
- min-width: 13.5rem;
7424
- padding: 0.5rem 0.75rem 0;
7425
-
7426
- a {
7427
- text-decoration: none;
7428
- font-size: 0.75rem;
7429
- color: ${({ theme: { palette } }) => palette.primary};
7430
- }
7431
-
7432
- ${uilibGl.IconButtonButton} {
7433
- font-size: 0.75rem;
7434
- }
7417
+ })) `
7418
+ ${uilibGl.Icon} {
7419
+ color: ${({ theme: { palette } }) => palette.primary};
7420
+ }
7421
+
7422
+ &:hover ${uilibGl.Icon} {
7423
+ color: ${({ theme: { palette } }) => palette.primaryDeep};
7424
+ }
7425
+ `;
7426
+ const LocalLinkBlank = styled(uilibGl.Blank) `
7427
+ min-width: 13.5rem;
7428
+ padding: 0.5rem 0.75rem 0;
7429
+
7430
+ a {
7431
+ text-decoration: none;
7432
+ font-size: 0.75rem;
7433
+ color: ${({ theme: { palette } }) => palette.primary};
7434
+ }
7435
+
7436
+ ${uilibGl.IconButtonButton} {
7437
+ font-size: 0.75rem;
7438
+ }
7435
7439
  `;
7436
7440
  const LocalLinkButton = styled(uilibGl.IconButton).attrs(() => ({
7437
7441
  kind: "link",
7438
- })) `
7439
- width: 1rem;
7440
- height: 1rem;
7441
- background-color: ${({ theme: { palette } }) => palette.primary};
7442
- border-radius: 50%;
7443
-
7444
- span[kind] {
7445
- display: flex;
7446
- justify-content: center;
7447
- align-items: center;
7448
-
7449
- :after {
7450
- position: relative;
7451
- font-size: 0.6rem;
7452
- color: white;
7453
- }
7454
- }
7455
- `;
7456
- const LocalLinkCopy = styled(uilibGl.Flex) `
7457
- justify-content: center;
7442
+ })) `
7443
+ width: 1rem;
7444
+ height: 1rem;
7445
+ background-color: ${({ theme: { palette } }) => palette.primary};
7446
+ border-radius: 50%;
7447
+
7448
+ span[kind] {
7449
+ display: flex;
7450
+ justify-content: center;
7451
+ align-items: center;
7452
+
7453
+ :after {
7454
+ position: relative;
7455
+ font-size: 0.6rem;
7456
+ color: white;
7457
+ }
7458
+ }
7459
+ `;
7460
+ const LocalLinkCopy = styled(uilibGl.Flex) `
7461
+ justify-content: center;
7458
7462
  `;
7459
7463
 
7460
7464
  const LocalLink = React.memo(({ link }) => {
@@ -7476,9 +7480,9 @@ const ElementLink = React.memo(({ type, elementConfig }) => {
7476
7480
  return link.startsWith("http") ? jsxRuntime.jsx(ExternalLink, { onClick: () => window.open(link) }) : jsxRuntime.jsx(LocalLink, { link: link });
7477
7481
  });
7478
7482
 
7479
- const SmallPreviewContainer = styled.div `
7480
- width: 100%;
7481
- height: 100%;
7483
+ const SmallPreviewContainer = styled.div `
7484
+ width: 100%;
7485
+ height: 100%;
7482
7486
  `;
7483
7487
 
7484
7488
  const ElementSlideshow = ({ elementConfig, type, renderElement }) => {
@@ -7514,18 +7518,18 @@ const ElementSvg = React.memo(({ type, elementConfig }) => {
7514
7518
  return (jsxRuntime.jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
7515
7519
  });
7516
7520
 
7517
- const TooltipIcon = styled(uilibGl.Icon) `
7518
- &&& {
7519
- :after {
7520
- font-size: 0.75rem;
7521
- color: ${({ theme: { palette } }) => palette.iconDisabled};
7522
- transition: color ${uilibGl.transition.hover};
7523
- }
7524
-
7525
- :hover:after {
7526
- color: ${({ theme: { palette } }) => palette.icon};
7527
- }
7528
- }
7521
+ const TooltipIcon = styled(uilibGl.Icon) `
7522
+ &&& {
7523
+ :after {
7524
+ font-size: 0.75rem;
7525
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
7526
+ transition: color ${uilibGl.transition.hover};
7527
+ }
7528
+
7529
+ :hover:after {
7530
+ color: ${({ theme: { palette } }) => palette.icon};
7531
+ }
7532
+ }
7529
7533
  `;
7530
7534
 
7531
7535
  const ElementTooltip = React.memo(({ type, elementConfig }) => {
@@ -7537,76 +7541,76 @@ const ElementTooltip = React.memo(({ type, elementConfig }) => {
7537
7541
  return text ? (jsxRuntime.jsx(uilibGl.Tooltip, { placement: "top", arrow: true, content: text, children: ref => jsxRuntime.jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
7538
7542
  });
7539
7543
 
7540
- const SlideshowHeaderWrapper = styled.div `
7541
- padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
7542
-
7543
- ${Header} {
7544
- align-items: flex-start;
7545
- width: calc(100% + 2rem);
7546
- height: ${({ big }) => (big ? "15.5rem" : "auto")};
7547
- padding: 1.5rem;
7548
- margin: -1rem -1rem 0 -1rem;
7549
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7550
-
7551
- ${SmallPreviewCounter} {
7552
- bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
7553
- }
7554
-
7555
- :before,
7556
- :after {
7557
- content: "";
7558
- z-index: 2;
7559
- position: absolute;
7560
- top: 0;
7561
- left: 0;
7562
- width: 100%;
7563
- }
7564
-
7565
- :before {
7566
- height: 100%;
7567
- background: rgba(32, 46, 53, 0.25);
7568
- }
7569
-
7570
- :after {
7571
- height: 4.5rem;
7572
- background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
7573
- }
7574
-
7575
- :hover {
7576
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
7577
- opacity: 1;
7578
- }
7579
- }
7580
- }
7581
- `;
7582
- const ImageContainerBg = styled.div `
7583
- position: absolute;
7584
- top: 0;
7585
- bottom: 0;
7586
- left: 0;
7587
- right: 0;
7588
-
7589
- img {
7590
- width: 100%;
7591
- height: 100%;
7592
- object-position: center;
7593
- object-fit: cover;
7594
- }
7595
- `;
7596
- const HeaderSlideshow = styled.div `
7597
- position: absolute;
7598
- top: 0;
7599
- bottom: ${({ height }) => (height ? `${height}px` : 0)};
7600
- left: 0;
7601
- right: 0;
7602
-
7603
- img {
7604
- width: 100%;
7605
- height: 100%;
7606
- min-height: inherit;
7607
- object-position: center;
7608
- object-fit: cover;
7609
- }
7544
+ const SlideshowHeaderWrapper = styled.div `
7545
+ padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
7546
+
7547
+ ${Header} {
7548
+ align-items: flex-start;
7549
+ width: calc(100% + 2rem);
7550
+ height: ${({ big }) => (big ? "15.5rem" : "auto")};
7551
+ padding: 1.5rem;
7552
+ margin: -1rem -1rem 0 -1rem;
7553
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7554
+
7555
+ ${SmallPreviewCounter} {
7556
+ bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
7557
+ }
7558
+
7559
+ :before,
7560
+ :after {
7561
+ content: "";
7562
+ z-index: 2;
7563
+ position: absolute;
7564
+ top: 0;
7565
+ left: 0;
7566
+ width: 100%;
7567
+ }
7568
+
7569
+ :before {
7570
+ height: 100%;
7571
+ background: rgba(32, 46, 53, 0.25);
7572
+ }
7573
+
7574
+ :after {
7575
+ height: 4.5rem;
7576
+ background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
7577
+ }
7578
+
7579
+ :hover {
7580
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
7581
+ opacity: 1;
7582
+ }
7583
+ }
7584
+ }
7585
+ `;
7586
+ const ImageContainerBg = styled.div `
7587
+ position: absolute;
7588
+ top: 0;
7589
+ bottom: 0;
7590
+ left: 0;
7591
+ right: 0;
7592
+
7593
+ img {
7594
+ width: 100%;
7595
+ height: 100%;
7596
+ object-position: center;
7597
+ object-fit: cover;
7598
+ }
7599
+ `;
7600
+ const HeaderSlideshow = styled.div `
7601
+ position: absolute;
7602
+ top: 0;
7603
+ bottom: ${({ height }) => (height ? `${height}px` : 0)};
7604
+ left: 0;
7605
+ right: 0;
7606
+
7607
+ img {
7608
+ width: 100%;
7609
+ height: 100%;
7610
+ min-height: inherit;
7611
+ object-position: center;
7612
+ object-fit: cover;
7613
+ }
7610
7614
  `;
7611
7615
 
7612
7616
  const FeatureCardSlideshowHeader = ({ isRow }) => {
@@ -8419,6 +8423,56 @@ const getFormattedAttributes = (t, data, attributes, config) => {
8419
8423
  : attributes;
8420
8424
  };
8421
8425
 
8426
+ const isCompositeLayerConfiguration = (value) => isObject(value) && "name" in value;
8427
+ const isProxyService = (value) => isLayerService(value) && ("sourceType" in value || value.type === "RemoteTileService");
8428
+ const getProxyService = (layer) => {
8429
+ if (!isProxyService(layer))
8430
+ return {
8431
+ layers: [],
8432
+ sourceType: "",
8433
+ sourceUrl: "",
8434
+ copyrightText: "",
8435
+ legend: {
8436
+ layers: [],
8437
+ },
8438
+ };
8439
+ const { layers, sourceType, sourceUrl, legend, copyrightText } = layer;
8440
+ return {
8441
+ layers: layers || [],
8442
+ copyrightText: copyrightText || "",
8443
+ sourceUrl: sourceUrl || "",
8444
+ sourceType: sourceType || "",
8445
+ legend: {
8446
+ layers: (legend && legend.layers) || [],
8447
+ },
8448
+ };
8449
+ };
8450
+ function getLayerInfo(layer) {
8451
+ const configuration = layer?.configuration ?? {};
8452
+ const attributesConfiguration = getAttributesConfiguration(layer);
8453
+ const layerDefinition = getLayerDefinition(layer);
8454
+ const configLayers = ("layers" in configuration && configuration.layers) || [];
8455
+ return {
8456
+ type: layer?.type,
8457
+ ...(layer || {}),
8458
+ name: layer?.name || "",
8459
+ configuration: {
8460
+ ...configuration,
8461
+ layers: configLayers.filter(isCompositeLayerConfiguration),
8462
+ attributesConfiguration,
8463
+ },
8464
+ acl: configuration.acl,
8465
+ condition: ("condition" in configuration && configuration.condition) || undefined,
8466
+ tableName: attributesConfiguration.tableName,
8467
+ idAttribute: attributesConfiguration.idAttribute,
8468
+ titleAttribute: layerDefinition.titleAttribute || attributesConfiguration.titleAttribute,
8469
+ geometryAttribute: attributesConfiguration.geometryAttribute,
8470
+ layerAttributes: attributesConfiguration.attributes,
8471
+ srId: layerDefinition.srId,
8472
+ proxy: getProxyService(layer),
8473
+ };
8474
+ }
8475
+
8422
8476
  const getLayerInfoFromDataSources = (layerInfos, dataSources, relatedDataSource) => layerInfos?.find(({ name }) => name === dataSources?.find(item => item.name === relatedDataSource)?.layerName);
8423
8477
 
8424
8478
  const getPagesFromConfig = (config) => config?.children?.[0]?.children;
@@ -8604,8 +8658,7 @@ const tooltipValueFromRelatedFeatures = (t, value, relatedAttributes, layerInfo)
8604
8658
  };
8605
8659
 
8606
8660
  const useWidgetConfig = (type = exports.WidgetType.Dashboard) => {
8607
- const { config: configProp } = React.useContext(ConfigContext);
8608
- const { projectInfo, layerInfo } = useWidgetContext(type);
8661
+ const { config: configProp, projectInfo, layerInfo } = useWidgetContext(type);
8609
8662
  const config = React.useMemo(() => {
8610
8663
  if (configProp) {
8611
8664
  return configProp;
@@ -8792,11 +8845,26 @@ const useDataSources = ({ type: widgetType, config, attributes, filters, layerPa
8792
8845
  const { dataSources } = useWidgetContext(widgetType);
8793
8846
  const { filters: configFilters, dataSources: configDataSources } = config || {};
8794
8847
  const prevFilters = React.useRef({});
8795
- const getDataSourcePromises = React.useCallback(async ({ ds, query, parameters, layerName, limit, condition, url, resourceId, type }, newFilters, offset = 0) => {
8848
+ const getDataSourcePromises = React.useCallback(async ({ ds, query, parameters, layerName, limit, condition, url, resourceId }, newFilters, offset = 0) => {
8796
8849
  const selectedFilters = {
8797
8850
  ...(filters || {}),
8798
8851
  ...(newFilters || {}),
8799
8852
  };
8853
+ if (resourceId) {
8854
+ const response = await api.remoteTaskManager.post({
8855
+ workerType: "pythonService",
8856
+ methodType: "pythonrunner/run",
8857
+ data: {
8858
+ method: "get",
8859
+ resourceId,
8860
+ parameters,
8861
+ }
8862
+ });
8863
+ return {
8864
+ items: response.result.items,
8865
+ attributeDefinition: null,
8866
+ };
8867
+ }
8800
8868
  const newParams = applyQueryFilters({
8801
8869
  parameters,
8802
8870
  dataSources,
@@ -8804,8 +8872,8 @@ const useDataSources = ({ type: widgetType, config, attributes, filters, layerPa
8804
8872
  filters: configFilters,
8805
8873
  geometry: ewktGeometry,
8806
8874
  });
8807
- if (url || resourceId) {
8808
- const response = await fetch(url || `https://beta5.evergis.ru/sp/${type}/resource/run?resourceId=${resourceId}`, {
8875
+ if (url) {
8876
+ const response = await fetch(url, {
8809
8877
  method: "POST",
8810
8878
  headers: {
8811
8879
  Accept: "application/json",
@@ -9175,6 +9243,7 @@ const Chart = React.memo(({ config, element, elementConfig, type, renderElement
9175
9243
  fontColor,
9176
9244
  relatedAttributes,
9177
9245
  defaultColor: primaryColor,
9246
+ markers: configMarkers,
9178
9247
  showMarkers,
9179
9248
  });
9180
9249
  const { formatFilterColor, onFilter } = useFeatureFilters(type, filterName, data?.[0]?.items);
@@ -9204,6 +9273,15 @@ const Chart = React.memo(({ config, element, elementConfig, type, renderElement
9204
9273
  })] }));
9205
9274
  }, [labels, layerInfos]);
9206
9275
  const markers = React.useMemo(() => getChartMarkers(data[0]?.items, configMarkers, dataSources), [data, dataSources, configMarkers]);
9276
+ const margin = React.useMemo(() => {
9277
+ const markersMargin = showMarkers ? 10 : 0;
9278
+ return {
9279
+ top: markersMargin,
9280
+ right: markersMargin,
9281
+ bottom: markers?.length ? 20 : markersMargin,
9282
+ left: markersMargin
9283
+ };
9284
+ }, [showMarkers, markers?.length]);
9207
9285
  const formatTooltipName = React.useCallback((name) => (isRelated ? name : tooltipNameFromAttributes(name, formattedAttributes)), [formattedAttributes, isRelated]);
9208
9286
  const formatTooltipValue = React.useCallback((value, name) => isRelated
9209
9287
  ? tooltipValueFromRelatedFeatures(t, value, relatedAttributes, data[0]?.layerInfo)
@@ -9212,11 +9290,14 @@ const Chart = React.memo(({ config, element, elementConfig, type, renderElement
9212
9290
  yAxisLeft.tickFormat((index) => index);
9213
9291
  }, []);
9214
9292
  const customXAxisBottom = React.useCallback((xAxisBottom, data) => {
9215
- xAxisBottom.tickFormat((index) => (showMarkers
9216
- ? index % (showMarkers || 1) === 0
9217
- : index === 0 || index === data.length - 1)
9218
- ? data[index]?.groupName || "" : "");
9219
- }, [showMarkers]);
9293
+ xAxisBottom.tickFormat((index) => markers
9294
+ ? ""
9295
+ : (showMarkers
9296
+ ? index % showMarkers === 0
9297
+ : index === 0 || index === data.length - 1)
9298
+ ? data[index]?.groupName || ""
9299
+ : "");
9300
+ }, [markers, showMarkers]);
9220
9301
  const renderChart = React.useMemo(() => {
9221
9302
  if (!element)
9222
9303
  return null;
@@ -9234,16 +9315,11 @@ const Chart = React.memo(({ config, element, elementConfig, type, renderElement
9234
9315
  .flat()
9235
9316
  .map(({ values }) => values)
9236
9317
  .flat();
9237
- return (jsxRuntime.jsxs(AnyChartWrapper, { height: height, children: [jsxRuntime.jsx(LineChartStyles, {}), jsxRuntime.jsx(charts.LineChart, { data: lineChartData, labels: labels, width: +width, height: height, xAxisPadding: 15, yAxisPadding: 0, min: Math.min(...chartValues), customYAxisSelection: yAxis => {
9318
+ return (jsxRuntime.jsxs(AnyChartWrapper, { height: height, children: [jsxRuntime.jsx(LineChartStyles, {}), jsxRuntime.jsx(charts.LineChart, { data: lineChartData, labels: labels, markers: markers, width: +width, height: height, xAxisPadding: 15, yAxisPadding: 0, min: Math.min(...chartValues), customYAxisSelection: yAxis => {
9238
9319
  if (isHidedY) {
9239
9320
  yAxis.remove();
9240
9321
  }
9241
- }, customYAxis: yAxis => yAxis.ticks(4), renderTooltip: renderLineChartTooltip, customize: customize, dynamicTooltipEnable: true, stackedTooltip: true, tooltipClassName: "dashboardLineChartTooltip", drawGridX: !isHidedY, margin: {
9242
- top: 0,
9243
- right: 0,
9244
- bottom: 0,
9245
- left: 0
9246
- } })] }));
9322
+ }, customYAxis: yAxis => yAxis.ticks(4), renderTooltip: renderLineChartTooltip, customize: customize, dynamicTooltipEnable: true, stackedTooltip: true, tooltipClassName: "dashboardLineChartTooltip", drawGridX: !isHidedY, margin: margin })] }));
9247
9323
  }
9248
9324
  if (isStackBar) {
9249
9325
  return (jsxRuntime.jsx(AnyChartWrapper, { height: height, children: jsxRuntime.jsx(StackBar, { data: data, filterName: filterName, type: type, alias: elementConfig?.children?.find(child => child.id === "alias"), options: options, renderTooltip: renderPieChartTooltip, renderElement: renderElement }) }));
@@ -9257,13 +9333,6 @@ const Chart = React.memo(({ config, element, elementConfig, type, renderElement
9257
9333
  })) || []), width: +width, height: +width, padAngle: angle, outerRadius: radius, cornerRadius: cornerRadius, renderTooltip: renderPieChartTooltip, withTooltip: true, onClick: filterName ? item => onFilter(item.name) : undefined, children: showTotal && jsxRuntime.jsx(PieChartCenter, { children: totalWord || roundTotalSum(+totalSum) }) }) }));
9258
9334
  }
9259
9335
  const barChartData = getDataFromFilterItems(data[0]?.items);
9260
- const markersMargin = showMarkers ? 10 : 0;
9261
- const margin = {
9262
- top: markersMargin,
9263
- right: markersMargin,
9264
- bottom: markers?.length ? 20 : markersMargin,
9265
- left: markersMargin
9266
- };
9267
9336
  return (jsxRuntime.jsx(BarChartWrapper, { height: height + margin.bottom, children: jsxRuntime.jsx(BarChartContainer, { children: jsxRuntime.jsx(StyledBarChart, { data: barChartData, colors: getColorsFromFilterItems(data[0]?.items, defaultColor, formatFilterColor), minValue: getMinValueFromFilterItems(data[0]?.items), markers: markers, width: +width, height: height, barWidth: barWidth, barPadding: padding, customYAxisLeft: customYAxisLeft, customXAxisBottom: xAxisBottom => customXAxisBottom(xAxisBottom, barChartData), customYAxis: axis => !showLabels && axis.remove(), customBars: ({ bars }) => {
9268
9337
  bars.attr("rx", radius);
9269
9338
  bars.attr("ry", radius);
@@ -9290,6 +9359,7 @@ const Chart = React.memo(({ config, element, elementConfig, type, renderElement
9290
9359
  filterName,
9291
9360
  axes,
9292
9361
  labels,
9362
+ margin,
9293
9363
  renderLineChartTooltip,
9294
9364
  customize,
9295
9365
  primaryColor,
@@ -9342,17 +9412,17 @@ const DashboardLoading = React.memo(() => {
9342
9412
 
9343
9413
  const Dashboard = React.memo(({ type = exports.WidgetType.Dashboard, config }) => {
9344
9414
  const { dataSources, isLoading } = useWidgetContext(type);
9345
- const { currentPage } = useWidgetPage();
9415
+ const { currentPage } = useWidgetPage(type);
9346
9416
  const isDiffPage = useDiffPage(type);
9347
- const dataSourceLoading = React.useMemo(() => currentPage?.dataSources?.length && !dataSources?.length && isLoading, [currentPage?.dataSources?.length, dataSources?.length, isLoading]);
9417
+ const dataSourceLoading = React.useMemo(() => !!currentPage?.dataSources?.length && !dataSources?.length && isLoading, [currentPage?.dataSources?.length, dataSources?.length, isLoading]);
9348
9418
  if (dataSourceLoading || isDiffPage) {
9349
9419
  return (jsxRuntime.jsx(DashboardLoading, {}));
9350
9420
  }
9351
- return (jsxRuntime.jsx(ConfigProvider, { config: config, children: jsxRuntime.jsx(PagesContainer, { type: type }) }));
9421
+ return (jsxRuntime.jsx(PagesContainer, { type: type }));
9352
9422
  });
9353
9423
 
9354
- const CardCheckbox = styled(uilibGl.Checkbox) `
9355
- padding-left: 0.5rem;
9424
+ const CardCheckbox = styled(uilibGl.Checkbox) `
9425
+ padding-left: 0.5rem;
9356
9426
  `;
9357
9427
 
9358
9428
  const DashboardCheckbox = ({ title, checked, onChange, }) => {
@@ -9427,15 +9497,15 @@ const FeatureCardTitle = ({ title, description }) => {
9427
9497
  return (jsxRuntime.jsxs(HeaderTitleContainer, { children: [jsxRuntime.jsx(FeatureTitleContainer, { clickable: true, children: jsxRuntime.jsx(uilibGl.Tooltip, { arrow: true, placement: "top", content: t("zoomToFeature", { ns: "dashboard", defaultValue: "Приблизить к объекту" }), delay: [600, 0], children: ref => (jsxRuntime.jsx(uilibGl.FlexSpan, { ref: ref, onClick: () => zoomToFeatures([feature]), children: resultTitle })) }) }), jsxRuntime.jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
9428
9498
  };
9429
9499
 
9430
- const HiddenFilters = styled(uilibGl.Flex) `
9431
- flex-wrap: wrap;
9432
- margin-top: -1.25rem;
9433
-
9434
- ${DashboardChip$1} {
9435
- height: 1.5rem;
9436
- margin: 0 0.25rem 0.25rem 0;
9437
- padding: 0 0 0 0.5rem;
9438
- }
9500
+ const HiddenFilters = styled(uilibGl.Flex) `
9501
+ flex-wrap: wrap;
9502
+ margin-top: -1.25rem;
9503
+
9504
+ ${DashboardChip$1} {
9505
+ height: 1.5rem;
9506
+ margin: 0 0.25rem 0.25rem 0;
9507
+ padding: 0 0 0 0.5rem;
9508
+ }
9439
9509
  `;
9440
9510
 
9441
9511
  function spliceValue(filterValue, splicingValue) {
@@ -9505,24 +9575,24 @@ const HiddenTitleItems = React.memo(({ elementConfig, config, type, filter }) =>
9505
9575
  getConfigFilter(filterName, configFilters)?.defaultValue, index)) }));
9506
9576
  });
9507
9577
 
9508
- const PageNavigator = styled(uilibGl.Flex) `
9509
- margin-right: -0.5rem;
9510
- align-items: center;
9511
-
9512
- button {
9513
- width: auto;
9514
- height: 1.5rem;
9515
- padding: 0 0.5rem;
9516
-
9517
- span[kind]:after {
9518
- color: ${({ theme: { palette } }) => palette.textDisabled};
9519
- transition: color ${uilibGl.transition.hover};
9520
- }
9521
-
9522
- :hover span[kind]:after {
9523
- color: ${({ theme: { palette } }) => palette.textSecondary};
9524
- }
9525
- }
9578
+ const PageNavigator = styled(uilibGl.Flex) `
9579
+ margin-right: -0.5rem;
9580
+ align-items: center;
9581
+
9582
+ button {
9583
+ width: auto;
9584
+ height: 1.5rem;
9585
+ padding: 0 0.5rem;
9586
+
9587
+ span[kind]:after {
9588
+ color: ${({ theme: { palette } }) => palette.textDisabled};
9589
+ transition: color ${uilibGl.transition.hover};
9590
+ }
9591
+
9592
+ :hover span[kind]:after {
9593
+ color: ${({ theme: { palette } }) => palette.textSecondary};
9594
+ }
9595
+ }
9526
9596
  `;
9527
9597
 
9528
9598
  const Pagination = React.memo(({ type = exports.WidgetType.Dashboard }) => {
@@ -9531,34 +9601,34 @@ const Pagination = React.memo(({ type = exports.WidgetType.Dashboard }) => {
9531
9601
  return (jsxRuntime.jsxs(PageNavigator, { children: [jsxRuntime.jsx(uilibGl.IconButton, { kind: "prev", onClick: () => prevPage(pages.length) }), jsxRuntime.jsx(uilibGl.IconButton, { kind: "next", onClick: () => nextPage(pages.length) })] }));
9532
9602
  });
9533
9603
 
9534
- const StyledSvgWidthMixin = styled.css `
9535
- &&& {
9536
- svg {
9537
- width: ${({ $width }) => $width}px;
9538
- }
9539
- }
9540
- `;
9541
- const StyledSvgHeightMixin = styled.css `
9542
- &&& {
9543
- svg {
9544
- height: ${({ $height }) => $height}px;
9545
- }
9546
- }
9547
- `;
9548
- const StyledSvgColorMixin = styled.css `
9549
- svg {
9550
- path,
9551
- line,
9552
- circle {
9553
- fill: ${({ $fontColor }) => $fontColor} !important;
9554
- }
9555
- }
9556
- `;
9557
- const StyledSvg = styled(uilibGl.Flex) `
9558
- align-items: center;
9559
- ${({ $width }) => !!$width && StyledSvgWidthMixin};
9560
- ${({ $height }) => !!$height && StyledSvgHeightMixin};
9561
- ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
9604
+ const StyledSvgWidthMixin = styled.css `
9605
+ &&& {
9606
+ svg {
9607
+ width: ${({ $width }) => $width}px;
9608
+ }
9609
+ }
9610
+ `;
9611
+ const StyledSvgHeightMixin = styled.css `
9612
+ &&& {
9613
+ svg {
9614
+ height: ${({ $height }) => $height}px;
9615
+ }
9616
+ }
9617
+ `;
9618
+ const StyledSvgColorMixin = styled.css `
9619
+ svg {
9620
+ path,
9621
+ line,
9622
+ circle {
9623
+ fill: ${({ $fontColor }) => $fontColor} !important;
9624
+ }
9625
+ }
9626
+ `;
9627
+ const StyledSvg = styled(uilibGl.Flex) `
9628
+ align-items: center;
9629
+ ${({ $width }) => !!$width && StyledSvgWidthMixin};
9630
+ ${({ $height }) => !!$height && StyledSvgHeightMixin};
9631
+ ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
9562
9632
  `;
9563
9633
 
9564
9634
  const SvgImage = React.memo(({ url, width, height, fontColor }) => {
@@ -9787,28 +9857,28 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
9787
9857
  return (jsxRuntime.jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle }));
9788
9858
  };
9789
9859
 
9790
- const MapWrapper = styled.div `
9791
- position: relative;
9792
- width: 100%;
9793
- height: 100%;
9794
- box-sizing: border-box;
9795
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
9796
-
9797
- .mapbox-gl-draw_trash {
9798
- display: none;
9799
- }
9800
-
9801
- .mapboxgl-ctrl-logo {
9802
- display: none;
9803
- }
9804
-
9805
- .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
9806
- display: none;
9807
- }
9808
-
9809
- .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
9810
- width: 350px;
9811
- }
9860
+ const MapWrapper = styled.div `
9861
+ position: relative;
9862
+ width: 100%;
9863
+ height: 100%;
9864
+ box-sizing: border-box;
9865
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
9866
+
9867
+ .mapbox-gl-draw_trash {
9868
+ display: none;
9869
+ }
9870
+
9871
+ .mapboxgl-ctrl-logo {
9872
+ display: none;
9873
+ }
9874
+
9875
+ .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
9876
+ display: none;
9877
+ }
9878
+
9879
+ .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
9880
+ width: 350px;
9881
+ }
9812
9882
  `;
9813
9883
 
9814
9884
  const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...rest }) => {
@@ -9831,8 +9901,6 @@ exports.Chart = Chart;
9831
9901
  exports.ChartContainer = ChartContainer;
9832
9902
  exports.ChartLegend = ChartLegend;
9833
9903
  exports.ChartLoading = ChartLoading;
9834
- exports.ConfigContext = ConfigContext;
9835
- exports.ConfigProvider = ConfigProvider;
9836
9904
  exports.ContainerChildren = ContainerChildren;
9837
9905
  exports.ContainerLoading = ContainerLoading;
9838
9906
  exports.ContainerWrapper = ContainerWrapper;
@@ -10015,9 +10083,11 @@ exports.getFilterValue = getFilterValue;
10015
10083
  exports.getFormattedAttributes = getFormattedAttributes;
10016
10084
  exports.getGradientColors = getGradientColors;
10017
10085
  exports.getLayerDefinition = getLayerDefinition;
10086
+ exports.getLayerInfo = getLayerInfo;
10018
10087
  exports.getLayerInfoFromDataSources = getLayerInfoFromDataSources;
10019
10088
  exports.getPagesFromConfig = getPagesFromConfig;
10020
10089
  exports.getPagesFromProjectInfo = getPagesFromProjectInfo;
10090
+ exports.getProxyService = getProxyService;
10021
10091
  exports.getRelatedAttribute = getRelatedAttribute;
10022
10092
  exports.getRenderElement = getRenderElement;
10023
10093
  exports.getResourceUrl = getResourceUrl;
@@ -10027,6 +10097,7 @@ exports.getSvgUrl = getSvgUrl;
10027
10097
  exports.getTotalFromAttributes = getTotalFromAttributes;
10028
10098
  exports.getTotalFromRelatedFeatures = getTotalFromRelatedFeatures;
10029
10099
  exports.hexToRgba = hexToRgba;
10100
+ exports.isCompositeLayerConfiguration = isCompositeLayerConfiguration;
10030
10101
  exports.isEmptyElementValue = isEmptyElementValue;
10031
10102
  exports.isEmptyValue = isEmptyValue;
10032
10103
  exports.isHiddenEmptyValue = isHiddenEmptyValue;
@@ -10034,6 +10105,7 @@ exports.isLayerService = isLayerService;
10034
10105
  exports.isNotValidSelectedTab = isNotValidSelectedTab;
10035
10106
  exports.isNumeric = isNumeric;
10036
10107
  exports.isObject = isObject;
10108
+ exports.isProxyService = isProxyService;
10037
10109
  exports.isVisibleContainer = isVisibleContainer;
10038
10110
  exports.numberOptions = numberOptions;
10039
10111
  exports.parseClientStyle = parseClientStyle;