@evergis/react 3.1.131 → 3.1.133

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
@@ -36,180 +36,180 @@ const AddFeatureButton = ({ title, icon = "feature_add" /* , layerName, geometry
36
36
  return (jsxRuntime.jsx(uilibGl.IconButton, { kind: icon, primary: true, onClick: handleAddFeature, children: title }));
37
37
  };
38
38
 
39
- const ChartTooltipTable = styled.table `
40
- td {
41
- padding: 0;
42
- }
43
-
44
- tr:not(:last-child) td {
45
- padding-bottom: 0.375rem;
46
- }
39
+ const ChartTooltipTable = styled.table `
40
+ td {
41
+ padding: 0;
42
+ }
43
+
44
+ tr:not(:last-child) td {
45
+ padding-bottom: 0.375rem;
46
+ }
47
47
  `;
48
- const ChartTooltip = styled(uilibGl.Flex) `
49
- flex-wrap: nowrap;
50
- background: rgb(48, 69, 79);
51
- border-radius: 0.25rem;
52
- color: white;
53
-
54
- :not(:last-child) {
55
- margin-bottom: 0.25rem;
56
- }
48
+ const ChartTooltip = styled(uilibGl.Flex) `
49
+ flex-wrap: nowrap;
50
+ background: rgb(48, 69, 79);
51
+ border-radius: 0.25rem;
52
+ color: white;
53
+
54
+ :not(:last-child) {
55
+ margin-bottom: 0.25rem;
56
+ }
57
57
  `;
58
- const ChartTooltipLabel = styled.div `
59
- margin-right: 0.25rem;
60
- `;
61
- const ChartTooltipColor = styled.div `
62
- width: 0.625rem;
63
- height: 0.625rem;
64
- background-color: ${({ $color }) => $color};
65
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
66
- margin-right: 0.25rem;
67
- `;
68
- const ChartLegendColor$1 = styled.div `
69
- width: 0.5rem;
70
- height: 0.5rem;
71
- background-color: ${({ $color }) => $color};
72
- border-radius: 0.125rem;
73
- `;
74
- const ChartLegendValue = styled.div `
75
- opacity: 0.65;
76
- `;
77
- const ChartTooltipRow = styled(uilibGl.Flex) `
78
- display: flex;
79
- flex-direction: row;
80
- flex-wrap: nowrap;
81
- align-items: center;
82
- margin-top: 0.5rem;
83
- line-height: 0;
84
-
85
- ${ChartLegendColor$1} {
86
- margin-right: 0.25rem;
87
- }
58
+ const ChartTooltipLabel = styled.div `
59
+ margin-right: 0.25rem;
60
+ `;
61
+ const ChartTooltipColor = styled.div `
62
+ width: 0.625rem;
63
+ height: 0.625rem;
64
+ background-color: ${({ $color }) => $color};
65
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
66
+ margin-right: 0.25rem;
67
+ `;
68
+ const ChartLegendColor$1 = styled.div `
69
+ width: 0.5rem;
70
+ height: 0.5rem;
71
+ background-color: ${({ $color }) => $color};
72
+ border-radius: 0.125rem;
73
+ `;
74
+ const ChartLegendValue = styled.div `
75
+ opacity: 0.65;
76
+ `;
77
+ const ChartTooltipRow = styled(uilibGl.Flex) `
78
+ display: flex;
79
+ flex-direction: row;
80
+ flex-wrap: nowrap;
81
+ align-items: center;
82
+ margin-top: 0.5rem;
83
+ line-height: 0;
84
+
85
+ ${ChartLegendColor$1} {
86
+ margin-right: 0.25rem;
87
+ }
88
88
  `;
89
- const ChartTooltipName = styled.div `
90
- margin-right: 1rem;
91
- opacity: 0.65;
92
- `;
93
- const PieChartCenter = styled.div `
94
- position: absolute;
95
- top: 50%;
96
- left: 50%;
97
- transform: translate(-50%, -50%);
98
- text-align: center;
99
- font-weight: bold;
100
- font-size: 1.5rem;
101
- `;
102
- const ChartWrapperContainer = styled.div `
103
- position: relative;
104
- width: 100%;
105
- `;
106
- const Tooltip = styled.div `
107
- position: relative;
108
- border-radius: 0.25rem;
109
- background-color: rgba(28, 33, 48);
110
- padding: 0.5rem;
111
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.15);
112
- font-size: 0.75rem;
113
- transform: ${({ transform }) => transform};
114
- color: white;
115
-
116
- :before {
117
- position: absolute;
118
- display: block;
119
- content: "";
120
- width: 0;
121
- height: 0;
122
- }
89
+ const ChartTooltipName = styled.div `
90
+ margin-right: 1rem;
91
+ opacity: 0.65;
92
+ `;
93
+ const PieChartCenter = styled.div `
94
+ position: absolute;
95
+ top: 50%;
96
+ left: 50%;
97
+ transform: translate(-50%, -50%);
98
+ text-align: center;
99
+ font-weight: bold;
100
+ font-size: 1.5rem;
101
+ `;
102
+ const ChartWrapperContainer = styled.div `
103
+ position: relative;
104
+ width: 100%;
105
+ `;
106
+ const Tooltip = styled.div `
107
+ position: relative;
108
+ border-radius: 0.25rem;
109
+ background-color: rgba(28, 33, 48);
110
+ padding: 0.5rem;
111
+ box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.15);
112
+ font-size: 0.75rem;
113
+ transform: ${({ transform }) => transform};
114
+ color: white;
115
+
116
+ :before {
117
+ position: absolute;
118
+ display: block;
119
+ content: "";
120
+ width: 0;
121
+ height: 0;
122
+ }
123
123
  `;
124
- const LineChartStyles = styled.createGlobalStyle `
125
- .dashboardLineChartTooltip.${charts.lineChartClassNames.lineChartMouseLabel} {
126
- .${charts.lineChartClassNames.lineChartLabelFlex} {
127
- justify-content: center;
128
- align-items: flex-end;
129
-
130
- ${Tooltip} {
131
- margin: 0 0 12px 0;
132
-
133
- :before {
134
- top: auto;
135
- bottom: 0;
136
- left: 50%;
137
- transform: translate(-50%, 100%);
138
- border-left: 4px solid transparent;
139
- border-right: 4px solid transparent;
140
- border-top: 4px solid rgba(28, 33, 48, 0.9);
141
- }
142
- }
143
- }
144
- }
145
-
146
- .${charts.lineChartClassNames.lineChartYScaleGlobal}, .${charts.lineChartClassNames.lineChartXScaleGlobal} {
147
- .domain {
148
- visibility: hidden;
149
- }
150
-
151
- .tick {
152
- text {
153
- fill: ${({ theme: { palette } }) => palette.textDisabled};
154
- }
155
-
156
- line {
157
- visibility: hidden;
158
- }
159
- }
160
- }
161
-
162
- .${charts.lineChartClassNames.lineChartXScaleGlobal} {
163
- .tick {
164
- :first-of-type {
165
- text {
166
- text-anchor: start;
167
- }
168
- }
169
-
170
- :last-of-type {
171
- text {
172
- text-anchor: end;
173
- }
174
- }
175
- }
176
- }
177
-
178
- .${charts.lineChartClassNames.lineChartLine} {
179
- stroke-width: 2px;
180
- }
181
-
182
- .${charts.lineChartClassNames.lineChartLabel} {
183
- color: ${({ theme: { palette } }) => palette.textPrimary};
184
- }
185
-
186
- .${charts.lineChartClassNames.lineChartMouseCircle} {
187
- stroke: #ffffff;
188
- stroke-width: 2px;
189
- }
190
-
191
- .${charts.lineChartClassNames.lineChartGridLineX} {
192
- stroke: ${({ theme: { palette } }) => palette.element};
193
- }
194
-
195
- text {
196
- fill: ${({ theme: { palette } }) => palette.textDisabled};
197
- }
124
+ const LineChartStyles = styled.createGlobalStyle `
125
+ .dashboardLineChartTooltip.${charts.lineChartClassNames.lineChartMouseLabel} {
126
+ .${charts.lineChartClassNames.lineChartLabelFlex} {
127
+ justify-content: center;
128
+ align-items: flex-end;
129
+
130
+ ${Tooltip} {
131
+ margin: 0 0 12px 0;
132
+
133
+ :before {
134
+ top: auto;
135
+ bottom: 0;
136
+ left: 50%;
137
+ transform: translate(-50%, 100%);
138
+ border-left: 4px solid transparent;
139
+ border-right: 4px solid transparent;
140
+ border-top: 4px solid rgba(28, 33, 48, 0.9);
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
+ .${charts.lineChartClassNames.lineChartYScaleGlobal}, .${charts.lineChartClassNames.lineChartXScaleGlobal} {
147
+ .domain {
148
+ visibility: hidden;
149
+ }
150
+
151
+ .tick {
152
+ text {
153
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
154
+ }
155
+
156
+ line {
157
+ visibility: hidden;
158
+ }
159
+ }
160
+ }
161
+
162
+ .${charts.lineChartClassNames.lineChartXScaleGlobal} {
163
+ .tick {
164
+ :first-of-type {
165
+ text {
166
+ text-anchor: start;
167
+ }
168
+ }
169
+
170
+ :last-of-type {
171
+ text {
172
+ text-anchor: end;
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+ .${charts.lineChartClassNames.lineChartLine} {
179
+ stroke-width: 2px;
180
+ }
181
+
182
+ .${charts.lineChartClassNames.lineChartLabel} {
183
+ color: ${({ theme: { palette } }) => palette.textPrimary};
184
+ }
185
+
186
+ .${charts.lineChartClassNames.lineChartMouseCircle} {
187
+ stroke: #ffffff;
188
+ stroke-width: 2px;
189
+ }
190
+
191
+ .${charts.lineChartClassNames.lineChartGridLineX} {
192
+ stroke: ${({ theme: { palette } }) => palette.element};
193
+ }
194
+
195
+ text {
196
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
197
+ }
198
198
  `;
199
- const StyledBarChart = styled(charts.BarChart) `
200
- .domain {
201
- display: none;
202
- }
203
-
204
- .tick {
205
- text {
206
- fill: ${({ theme: { palette } }) => palette.textDisabled};
207
- }
208
-
209
- line {
210
- visibility: hidden;
211
- }
212
- }
199
+ const StyledBarChart = styled(charts.BarChart) `
200
+ .domain {
201
+ display: none;
202
+ }
203
+
204
+ .tick {
205
+ text {
206
+ fill: ${({ theme: { palette } }) => palette.textDisabled};
207
+ }
208
+
209
+ line {
210
+ visibility: hidden;
211
+ }
212
+ }
213
213
  `;
214
214
 
215
215
  function range(start, stop, step) {
@@ -3458,42 +3458,42 @@ const BASE_CONTAINER_STYLE = {
3458
3458
  marginBottom: "1rem",
3459
3459
  };
3460
3460
 
3461
- const StackBarContainer = styled(uilibGl.Flex) `
3462
- flex-wrap: nowrap;
3463
- width: 100%;
3461
+ const StackBarContainer = styled(uilibGl.Flex) `
3462
+ flex-wrap: nowrap;
3463
+ width: 100%;
3464
3464
  `;
3465
- const StackBarHeader = styled(uilibGl.Flex) `
3466
- justify-content: space-between;
3467
- margin-bottom: 0.375rem;
3468
- font-size: 0.75rem;
3465
+ const StackBarHeader = styled(uilibGl.Flex) `
3466
+ justify-content: space-between;
3467
+ margin-bottom: 0.375rem;
3468
+ font-size: 0.75rem;
3469
3469
  `;
3470
- const StackBarSection = styled.div `
3471
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3472
- width: ${({ $width }) => $width}%;
3473
- height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3474
- margin: 0 0.5px;
3475
- background-color: ${({ $color }) => $color};
3476
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3477
- transition: opacity ${uilibGl.transition.release}, background-color ${uilibGl.transition.release};
3478
-
3479
- :first-child {
3480
- border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3481
- border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3482
- }
3483
-
3484
- :last-child {
3485
- border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3486
- border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3487
- }
3470
+ const StackBarSection = styled.div `
3471
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3472
+ width: ${({ $width }) => $width}%;
3473
+ height: ${({ $height }) => ($height ? `${$height}px` : "0.5rem")};
3474
+ margin: 0 0.5px;
3475
+ background-color: ${({ $color }) => $color};
3476
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
3477
+ transition: opacity ${uilibGl.transition.release}, background-color ${uilibGl.transition.release};
3478
+
3479
+ :first-child {
3480
+ border-top-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3481
+ border-bottom-left-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3482
+ }
3483
+
3484
+ :last-child {
3485
+ border-top-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3486
+ border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3487
+ }
3488
3488
  `;
3489
- const StackBarAlias = styled.div `
3490
- color: ${({ theme: { palette } }) => palette.textSecondary};
3489
+ const StackBarAlias = styled.div `
3490
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3491
3491
  `;
3492
3492
  const StackBarTotal = styled(uilibGl.Flex) ``;
3493
3493
  const StackBarValue = styled.div ``;
3494
- const StackBarUnits = styled.div `
3495
- margin-left: 0.25rem;
3496
- color: ${({ theme: { palette } }) => palette.textSecondary};
3494
+ const StackBarUnits = styled.div `
3495
+ margin-left: 0.25rem;
3496
+ color: ${({ theme: { palette } }) => palette.textSecondary};
3497
3497
  `;
3498
3498
 
3499
3499
  const transparentizeColor = (originalColor, percent) => {
@@ -3954,6 +3954,9 @@ const useFetchWithAuth = (url, transform, cleanup) => {
3954
3954
  return data;
3955
3955
  };
3956
3956
 
3957
+ const toObjectUrl = (res) => res.blob().then(blob => URL.createObjectURL(blob));
3958
+ const useFetchImageWithAuth = (url) => useFetchWithAuth(url, toObjectUrl, URL.revokeObjectURL);
3959
+
3957
3960
  const DashboardContext = React.createContext({});
3958
3961
  const DashboardProvider = React.memo(({ children, ...props }) => {
3959
3962
  return jsxRuntime.jsx(DashboardContext.Provider, { value: props, children: children });
@@ -3996,7 +3999,7 @@ exports.BaseMapTheme = void 0;
3996
3999
 
3997
4000
  const ServerNotificationsContext = React.createContext({});
3998
4001
 
3999
- const useServerNotifications = (url, initialized) => {
4002
+ const useServerNotifications = (url, initialized, apiClient) => {
4000
4003
  const hubConnection = React.useRef(null);
4001
4004
  const [connection, setConnection] = React.useState(null);
4002
4005
  const subscribeNotifications = React.useCallback(() => {
@@ -4017,8 +4020,27 @@ const useServerNotifications = (url, initialized) => {
4017
4020
  withCredentials: true,
4018
4021
  skipNegotiation: true,
4019
4022
  transport: signalr.HttpTransportType.WebSockets,
4020
- accessTokenFactory: () => {
4021
- return window.localStorage.getItem(api.STORAGE_TOKEN_KEY) || "";
4023
+ accessTokenFactory: async () => {
4024
+ let accessToken = window.localStorage.getItem(api.STORAGE_TOKEN_KEY) || "";
4025
+ const { exp } = api.parseJwt(accessToken);
4026
+ const currentTime = new Date().getTime() / 1000;
4027
+ if (currentTime > exp) {
4028
+ const refreshToken = window.localStorage.getItem(api.STORAGE_REFRESH_TOKEN_KEY);
4029
+ if (refreshToken) {
4030
+ const refreshTokenResponse = await apiClient.account.refreshToken({
4031
+ refreshToken,
4032
+ });
4033
+ if (refreshTokenResponse) {
4034
+ accessToken = refreshTokenResponse.token;
4035
+ window.localStorage.setItem(api.STORAGE_TOKEN_KEY, refreshTokenResponse.token);
4036
+ window.localStorage.setItem(api.STORAGE_REFRESH_TOKEN_KEY, refreshTokenResponse.refreshToken);
4037
+ }
4038
+ }
4039
+ else {
4040
+ await apiClient.logout();
4041
+ }
4042
+ }
4043
+ return accessToken;
4022
4044
  },
4023
4045
  })
4024
4046
  .withAutomaticReconnect()
@@ -4041,8 +4063,8 @@ const useServerNotifications = (url, initialized) => {
4041
4063
  return connection;
4042
4064
  };
4043
4065
 
4044
- const ServerNotificationsProvider = ({ url, initialized, children }) => {
4045
- const connection = useServerNotifications(url, initialized);
4066
+ const ServerNotificationsProvider = ({ url, initialized, apiClient, children }) => {
4067
+ const connection = useServerNotifications(url, initialized, apiClient);
4046
4068
  const addSubscription = React.useCallback(async (payload) => {
4047
4069
  if (!connection || connection.state !== "Connected" || !payload) {
4048
4070
  return;
@@ -4079,7 +4101,12 @@ const ServerNotificationsProvider = ({ url, initialized, children }) => {
4079
4101
  console.info(`Ошибка отписки по ${id}:`, err);
4080
4102
  }
4081
4103
  }, [connection]);
4082
- return (jsxRuntime.jsx(ServerNotificationsContext.Provider, { value: { connection, addSubscription, updateSubscription, unsubscribeById }, children: children }));
4104
+ return (jsxRuntime.jsx(ServerNotificationsContext.Provider, { value: {
4105
+ connection,
4106
+ addSubscription,
4107
+ updateSubscription,
4108
+ unsubscribeById,
4109
+ }, children: children }));
4083
4110
  };
4084
4111
 
4085
4112
  const useWidgetContext = (type = exports.WidgetType.Dashboard) => {
@@ -4201,8 +4228,8 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4201
4228
  const customize = React.useCallback(({ svg }) => {
4202
4229
  svg.style("overflow", "visible");
4203
4230
  svg
4204
- .selectAll(`.${charts.lineChartClassNames.lineChartXScaleGlobal} line,
4205
- .${charts.lineChartClassNames.lineChartYScaleGlobal} line,
4231
+ .selectAll(`.${charts.lineChartClassNames.lineChartXScaleGlobal} line,
4232
+ .${charts.lineChartClassNames.lineChartYScaleGlobal} line,
4206
4233
  .domain`)
4207
4234
  .each((_, index, nodes) => {
4208
4235
  nodes[index].remove();
@@ -4259,11 +4286,11 @@ const useChartChange = ({ dataSources, chartId, width, height, relatedAttributes
4259
4286
  .attr("fill", `url(#${gradientId})`)
4260
4287
  .attr("stroke-width", "0")
4261
4288
  .attr("fill-opacity", FILL_OPACITY);
4262
- defs.push(`
4263
- <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4264
- <stop offset="0" stop-color="${color}" stop-opacity="1" />
4265
- <stop offset="1" stop-color="${color}" stop-opacity="0" />
4266
- </linearGradient>
4289
+ defs.push(`
4290
+ <linearGradient id="${gradientId}" x1="0" y1="0" x2="0" y2="1">
4291
+ <stop offset="0" stop-color="${color}" stop-opacity="1" />
4292
+ <stop offset="1" stop-color="${color}" stop-opacity="0" />
4293
+ </linearGradient>
4267
4294
  `);
4268
4295
  ref.current = {
4269
4296
  path: newPath,
@@ -4618,104 +4645,104 @@ const formatDataSourceCondition = ({ condition, configFilters, filters, attribut
4618
4645
  : conditionSection.join(splitter);
4619
4646
  };
4620
4647
 
4621
- const DashboardChipsContainer = styled(uilibGl.Flex) `
4622
- flex-wrap: wrap;
4623
- `;
4624
- const DefaultChipColorMixin = styled.css `
4625
- && {
4626
- color: ${({ theme: { palette } }) => palette.textPrimary};
4627
- }
4628
-
4629
- && > * {
4630
- color: ${({ theme: { palette } }) => palette.textPrimary};
4631
- }
4632
-
4633
- && span[kind]:after {
4634
- color: ${({ theme: { palette } }) => palette.icon};
4635
- }
4648
+ const DashboardChipsContainer = styled(uilibGl.Flex) `
4649
+ flex-wrap: wrap;
4636
4650
  `;
4637
- const CustomChipColorMixin = styled.css `
4638
- && {
4639
- color: ${({ $fontColor }) => $fontColor};
4640
- }
4641
-
4642
- && > * {
4643
- color: ${({ $fontColor }) => $fontColor};
4644
- }
4645
-
4646
- && span[kind]:after {
4647
- color: ${({ $fontColor }) => $fontColor};
4648
- }
4651
+ const DefaultChipColorMixin = styled.css `
4652
+ && {
4653
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4654
+ }
4655
+
4656
+ && > * {
4657
+ color: ${({ theme: { palette } }) => palette.textPrimary};
4658
+ }
4659
+
4660
+ && span[kind]:after {
4661
+ color: ${({ theme: { palette } }) => palette.icon};
4662
+ }
4649
4663
  `;
4650
- const DashboardChip$1 = styled(uilibGl.Chip) `
4651
- margin: 0 0.25rem 0.25rem 0;
4652
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4653
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4654
- white-space: nowrap;
4655
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4656
- color: ${({ theme: { palette } }) => palette.iconContrast};
4657
-
4658
- > * {
4659
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4660
- }
4661
-
4662
- span[kind] {
4663
- height: 0.875rem;
4664
-
4665
- :after {
4666
- font-size: 0.875rem;
4667
- }
4668
- }
4669
-
4670
- button {
4671
- width: auto;
4672
- padding: 0 0.5rem;
4673
- }
4674
-
4675
- ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4676
- ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4664
+ const CustomChipColorMixin = styled.css `
4665
+ && {
4666
+ color: ${({ $fontColor }) => $fontColor};
4667
+ }
4668
+
4669
+ && > * {
4670
+ color: ${({ $fontColor }) => $fontColor};
4671
+ }
4672
+
4673
+ && span[kind]:after {
4674
+ color: ${({ $fontColor }) => $fontColor};
4675
+ }
4677
4676
  `;
4677
+ const DashboardChip$1 = styled(uilibGl.Chip) `
4678
+ margin: 0 0.25rem 0.25rem 0;
4679
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4680
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
4681
+ white-space: nowrap;
4682
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4683
+ color: ${({ theme: { palette } }) => palette.iconContrast};
4678
4684
 
4679
- const LayerGroupContainer = styled(uilibGl.Flex) `
4680
- display: flex;
4681
- justify-content: center;
4682
- position: relative;
4683
- flex-direction: column;
4684
- padding: 0 0.25rem 0 1rem;
4685
- box-sizing: border-box;
4686
- transition: opacity ${uilibGl.transition.hover}, background-color ${uilibGl.transition.hover};
4687
- font-family: "NunitoSans", sans-serif;
4688
- `;
4689
- const LayerGroupMain = styled(uilibGl.Flex) `
4690
- flex-direction: row;
4691
- flex-wrap: nowrap;
4692
- align-items: center;
4693
- justify-content: space-between;
4694
- width: 100%;
4695
-
4696
- ${uilibGl.Icon} {
4697
- width: 2rem;
4698
- min-width: 2rem;
4699
- height: 2rem;
4700
- display: inline-flex;
4701
- align-items: center;
4702
- justify-content: center;
4703
- margin-right: 0.75rem;
4704
- }
4705
-
4706
- ${uilibGl.Description} {
4707
- display: flex;
4708
- align-items: center;
4709
- flex-grow: 1;
4710
- width: 100%;
4711
- margin-right: 0.25rem;
4712
- color: ${({ theme }) => theme.palette.textPrimary};
4713
- }
4714
-
4715
- button {
4716
- width: 2.25rem;
4717
- justify-content: flex-start;
4718
- }
4685
+ > * {
4686
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
4687
+ }
4688
+
4689
+ span[kind] {
4690
+ height: 0.875rem;
4691
+
4692
+ :after {
4693
+ font-size: 0.875rem;
4694
+ }
4695
+ }
4696
+
4697
+ button {
4698
+ width: auto;
4699
+ padding: 0 0.5rem;
4700
+ }
4701
+
4702
+ ${({ $isDefault }) => $isDefault && DefaultChipColorMixin}
4703
+ ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4704
+ `;
4705
+
4706
+ const LayerGroupContainer = styled(uilibGl.Flex) `
4707
+ display: flex;
4708
+ justify-content: center;
4709
+ position: relative;
4710
+ flex-direction: column;
4711
+ padding: 0 0.25rem 0 1rem;
4712
+ box-sizing: border-box;
4713
+ transition: opacity ${uilibGl.transition.hover}, background-color ${uilibGl.transition.hover};
4714
+ font-family: "NunitoSans", sans-serif;
4715
+ `;
4716
+ const LayerGroupMain = styled(uilibGl.Flex) `
4717
+ flex-direction: row;
4718
+ flex-wrap: nowrap;
4719
+ align-items: center;
4720
+ justify-content: space-between;
4721
+ width: 100%;
4722
+
4723
+ ${uilibGl.Icon} {
4724
+ width: 2rem;
4725
+ min-width: 2rem;
4726
+ height: 2rem;
4727
+ display: inline-flex;
4728
+ align-items: center;
4729
+ justify-content: center;
4730
+ margin-right: 0.75rem;
4731
+ }
4732
+
4733
+ ${uilibGl.Description} {
4734
+ display: flex;
4735
+ align-items: center;
4736
+ flex-grow: 1;
4737
+ width: 100%;
4738
+ margin-right: 0.25rem;
4739
+ color: ${({ theme }) => theme.palette.textPrimary};
4740
+ }
4741
+
4742
+ button {
4743
+ width: 2.25rem;
4744
+ justify-content: flex-start;
4745
+ }
4719
4746
  `;
4720
4747
 
4721
4748
  const customModes = MapboxDraw.modes;
@@ -5595,330 +5622,330 @@ const LayerTree = ({ layers, onlyMainTools }) => {
5595
5622
  return (jsxRuntime.jsx(uilibGl.DraggableTree, { nodes: nodes, disableDrag: onlyMainTools, options: { pastePlaceholderHeight: "0.025rem" }, onUpdate: onUpdate }));
5596
5623
  };
5597
5624
 
5598
- const LayersListWrapper = styled(uilibGl.Flex) `
5599
- flex-direction: column;
5600
- height: 100%;
5601
- width: 100%;
5602
- box-sizing: border-box;
5625
+ const LayersListWrapper = styled(uilibGl.Flex) `
5626
+ flex-direction: column;
5627
+ height: 100%;
5628
+ width: 100%;
5629
+ box-sizing: border-box;
5603
5630
  `;
5604
- const LayerListContainer = styled(uilibGl.Flex) `
5605
- flex-grow: 1;
5606
- height: 100%;
5607
- box-sizing: border-box;
5608
- padding-top: 0.25rem;
5631
+ const LayerListContainer = styled(uilibGl.Flex) `
5632
+ flex-grow: 1;
5633
+ height: 100%;
5634
+ box-sizing: border-box;
5635
+ padding-top: 0.25rem;
5609
5636
  `;
5610
5637
 
5611
- const ElementValueWrapper = styled.div `
5612
- transition: background-color ${uilibGl.transition.toggle};
5613
-
5638
+ const ElementValueWrapper = styled.div `
5639
+ transition: background-color ${uilibGl.transition.toggle};
5640
+
5614
5641
  ${({ noMargin }) => !!noMargin &&
5615
- styled.css `
5616
- &&&& {
5617
- margin-bottom: 0;
5618
- }
5619
- `};
5620
- `;
5621
- const Container = styled(uilibGl.Flex) `
5622
- flex-direction: column;
5623
- width: 100%;
5624
-
5642
+ styled.css `
5643
+ &&&& {
5644
+ margin-bottom: 0;
5645
+ }
5646
+ `};
5647
+ `;
5648
+ const Container = styled(uilibGl.Flex) `
5649
+ flex-direction: column;
5650
+ width: 100%;
5651
+
5625
5652
  ${({ isColumn }) => isColumn
5626
- ? styled.css `
5627
- &&& > * {
5628
- justify-content: flex-start;
5629
- }
5630
- > * {
5631
- width: 100%;
5632
-
5633
- :not(:last-child) {
5634
- margin-bottom: 0.5rem;
5635
- }
5636
- }
5653
+ ? styled.css `
5654
+ &&& > * {
5655
+ justify-content: flex-start;
5656
+ }
5657
+ > * {
5658
+ width: 100%;
5659
+
5660
+ :not(:last-child) {
5661
+ margin-bottom: 0.5rem;
5662
+ }
5663
+ }
5637
5664
  `
5638
- : styled.css `
5639
- flex-direction: row;
5640
- justify-content: space-between;
5641
- align-items: center;
5642
- `}
5643
-
5665
+ : styled.css `
5666
+ flex-direction: row;
5667
+ justify-content: space-between;
5668
+ align-items: center;
5669
+ `}
5670
+
5644
5671
  ${({ isTitle }) => isTitle &&
5645
- styled.css `
5646
- &&&& {
5647
- margin-bottom: 0.75rem;
5648
- }
5649
- `}
5650
-
5672
+ styled.css `
5673
+ &&&& {
5674
+ margin-bottom: 0.75rem;
5675
+ }
5676
+ `}
5677
+
5651
5678
  ${({ noBorders }) => noBorders &&
5652
- styled.css `
5653
- ${ContainerWrapper} {
5654
- box-shadow: none;
5655
- padding: 0;
5656
- }
5657
- `}
5658
- `;
5659
- const ContainerWrapper = styled(uilibGl.Flex) `
5660
- position: relative;
5661
- box-sizing: border-box;
5662
- width: 100%;
5663
- background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5664
- box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5665
- margin-bottom: 2rem;
5666
- padding: 1.5rem;
5667
- border-radius: 0.5rem;
5668
- backdrop-filter: blur(20px);
5669
- color: ${({ theme: { palette } }) => palette.textPrimary};
5670
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
5671
- transition: background-color ${uilibGl.transition.toggle};
5672
-
5679
+ styled.css `
5680
+ ${ContainerWrapper} {
5681
+ box-shadow: none;
5682
+ padding: 0;
5683
+ }
5684
+ `}
5685
+ `;
5686
+ const ContainerWrapper = styled(uilibGl.Flex) `
5687
+ position: relative;
5688
+ box-sizing: border-box;
5689
+ width: 100%;
5690
+ background: ${({ theme: { palette } }) => palette.backgroundAlpha};
5691
+ box-shadow: rgb(0 0 0 / 15%) 0 0.1875rem 0.625rem;
5692
+ margin-bottom: 2rem;
5693
+ padding: 1.5rem;
5694
+ border-radius: 0.5rem;
5695
+ backdrop-filter: blur(20px);
5696
+ color: ${({ theme: { palette } }) => palette.textPrimary};
5697
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
5698
+ transition: background-color ${uilibGl.transition.toggle};
5699
+
5673
5700
  ${({ $noMargin }) => $noMargin &&
5674
- styled.css `
5675
- &&&& {
5676
- margin-bottom: 0;
5677
- }
5678
- `}
5679
- `;
5680
- const DashboardChip = styled(uilibGl.Chip) `
5681
- margin: 0 0.25rem 0.25rem 0;
5682
- background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5683
- border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5684
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5685
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5686
-
5687
- > * {
5688
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5689
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5690
- }
5691
-
5692
- span[kind]:after {
5693
- color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
5694
- }
5701
+ styled.css `
5702
+ &&&& {
5703
+ margin-bottom: 0;
5704
+ }
5705
+ `}
5706
+ `;
5707
+ const DashboardChip = styled(uilibGl.Chip) `
5708
+ margin: 0 0.25rem 0.25rem 0;
5709
+ background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
5710
+ border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
5711
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5712
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5713
+
5714
+ > * {
5715
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
5716
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.textPrimary : $fontColor || "#fff"};
5717
+ }
5718
+
5719
+ span[kind]:after {
5720
+ color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
5721
+ }
5695
5722
  `;
5696
- const DashboardPlaceholderWrap = styled(uilibGl.Flex) `
5697
- flex-grow: 1;
5698
- flex-direction: column;
5699
- justify-content: center;
5700
- align-items: center;
5701
- width: 100%;
5702
- margin-bottom: 2rem;
5703
- `;
5704
- const DashboardPlaceholder = styled(uilibGl.Flex) `
5705
- flex-direction: column;
5706
- justify-content: center;
5707
- align-items: center;
5708
- margin-top: 2rem;
5709
-
5723
+ const DashboardPlaceholderWrap = styled(uilibGl.Flex) `
5724
+ flex-grow: 1;
5725
+ flex-direction: column;
5726
+ justify-content: center;
5727
+ align-items: center;
5728
+ width: 100%;
5729
+ margin-bottom: 2rem;
5730
+ `;
5731
+ const DashboardPlaceholder = styled(uilibGl.Flex) `
5732
+ flex-direction: column;
5733
+ justify-content: center;
5734
+ align-items: center;
5735
+ margin-top: 2rem;
5736
+
5710
5737
  ${({ isLoading }) => isLoading &&
5711
- styled.css `
5712
- width: 6.25rem;
5713
- `}
5714
-
5715
- &&& > * {
5716
- margin-bottom: 0;
5717
- }
5718
-
5719
- > div {
5720
- width: 100%;
5721
- margin-top: 1rem;
5722
- font-size: 0.75rem;
5723
- text-align: center;
5724
- color: ${({ theme: { palette } }) => palette.textDisabled};
5725
- }
5726
-
5727
- span[kind] {
5728
- width: 2.25rem;
5729
- height: 2.25rem;
5730
- opacity: 0.28;
5731
-
5732
- :after {
5733
- font-size: 32px;
5734
- }
5735
- }
5738
+ styled.css `
5739
+ width: 6.25rem;
5740
+ `}
5741
+
5742
+ &&& > * {
5743
+ margin-bottom: 0;
5744
+ }
5745
+
5746
+ > div {
5747
+ width: 100%;
5748
+ margin-top: 1rem;
5749
+ font-size: 0.75rem;
5750
+ text-align: center;
5751
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5752
+ }
5753
+
5754
+ span[kind] {
5755
+ width: 2.25rem;
5756
+ height: 2.25rem;
5757
+ opacity: 0.28;
5758
+
5759
+ :after {
5760
+ font-size: 32px;
5761
+ }
5762
+ }
5736
5763
  `;
5737
- const DashboardWrapper = styled(uilibGl.Flex) `
5738
- flex-direction: column;
5739
- flex-wrap: nowrap;
5740
- flex-grow: 1;
5741
- width: calc(100% - 3rem);
5742
- height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5743
-
5764
+ const DashboardWrapper = styled(uilibGl.Flex) `
5765
+ flex-direction: column;
5766
+ flex-wrap: nowrap;
5767
+ flex-grow: 1;
5768
+ width: calc(100% - 3rem);
5769
+ height: calc(100% - ${LEFT_PANEL_HEADER_HEIGHT});
5770
+
5744
5771
  ${({ hasImage, isPresentationMode }) => hasImage &&
5745
5772
  !isPresentationMode &&
5746
- styled.css `
5747
- margin-top: -0.35rem;
5748
- `}
5749
- `;
5750
- const DashboardContent = styled(uilibGl.Flex) `
5751
- flex-grow: 1;
5752
- width: 100%;
5753
- padding: 1.5rem 1.5rem 2rem;
5754
- overflow-y: auto;
5755
- scrollbar-gutter: stable;
5756
- `;
5757
- const PresentationWrapperCss = styled.css `
5758
- margin-bottom: 0.75rem;
5759
- padding: 1.5rem;
5760
- background-color: ${({ theme: { palette } }) => palette.panelBackground};
5761
- backdrop-filter: blur(10px);
5762
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5763
- box-shadow: ${uilibGl.shadows.raised};
5764
- `;
5765
- const PresentationWrapper = styled.div `
5766
- ${PresentationWrapperCss};
5767
- position: relative;
5768
- z-index: 1;
5769
- `;
5770
- const PresentationPanelWrapper = styled(PresentationWrapper) `
5771
- margin-top: 0.75rem;
5772
- transition: background-color ${uilibGl.transition.toggle};
5773
- `;
5774
- const PresentationHeader = styled.div `
5775
- margin: -1.5rem -1.5rem 0 -1.5rem;
5776
- padding: 1.5rem;
5777
- // background: url(images.presentationHeader) 0 0 no-repeat;
5778
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5779
- transition: background-color ${uilibGl.transition.toggle};
5780
-
5773
+ styled.css `
5774
+ margin-top: -0.35rem;
5775
+ `}
5776
+ `;
5777
+ const DashboardContent = styled(uilibGl.Flex) `
5778
+ flex-grow: 1;
5779
+ width: 100%;
5780
+ padding: 1.5rem 1.5rem 2rem;
5781
+ overflow-y: auto;
5782
+ scrollbar-gutter: stable;
5783
+ `;
5784
+ const PresentationWrapperCss = styled.css `
5785
+ margin-bottom: 0.75rem;
5786
+ padding: 1.5rem;
5787
+ background-color: ${({ theme: { palette } }) => palette.panelBackground};
5788
+ backdrop-filter: blur(10px);
5789
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5790
+ box-shadow: ${uilibGl.shadows.raised};
5791
+ `;
5792
+ const PresentationWrapper = styled.div `
5793
+ ${PresentationWrapperCss};
5794
+ position: relative;
5795
+ z-index: 1;
5796
+ `;
5797
+ const PresentationPanelWrapper = styled(PresentationWrapper) `
5798
+ margin-top: 0.75rem;
5799
+ transition: background-color ${uilibGl.transition.toggle};
5800
+ `;
5801
+ const PresentationHeader = styled.div `
5802
+ margin: -1.5rem -1.5rem 0 -1.5rem;
5803
+ padding: 1.5rem;
5804
+ // background: url(images.presentationHeader) 0 0 no-repeat;
5805
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
5806
+ transition: background-color ${uilibGl.transition.toggle};
5807
+
5781
5808
  ${({ image }) => !!image &&
5782
- styled.css `
5783
- padding-top: 7rem;
5784
- `};
5785
- `;
5786
- const PresentationHeaderTools = styled(uilibGl.Flex) `
5787
- justify-content: space-between;
5788
- align-items: center;
5789
- margin-bottom: -0.5rem;
5790
- margin-right: -0.5rem;
5791
-
5792
- span[kind="sun"],
5793
- span[kind="moon"] {
5794
- :after {
5795
- font-size: 0.85rem;
5796
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5797
- }
5798
-
5799
- :hover:after {
5800
- color: ${({ theme: { palette } }) => palette.icon};
5801
- }
5802
- }
5809
+ styled.css `
5810
+ padding-top: 7rem;
5811
+ `};
5803
5812
  `;
5804
- const LayerGroupList = styled(uilibGl.Flex) `
5805
- flex-direction: column;
5806
- height: 100%;
5807
- flex-wrap: nowrap;
5808
- overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5809
- overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5810
- padding: 0 0.125rem 0 0.75rem;
5811
- scrollbar-gutter: stable;
5812
-
5813
- > * {
5814
- flex-grow: 1;
5815
- }
5813
+ const PresentationHeaderTools = styled(uilibGl.Flex) `
5814
+ justify-content: space-between;
5815
+ align-items: center;
5816
+ margin-bottom: -0.5rem;
5817
+ margin-right: -0.5rem;
5818
+
5819
+ span[kind="sun"],
5820
+ span[kind="moon"] {
5821
+ :after {
5822
+ font-size: 0.85rem;
5823
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5824
+ }
5825
+
5826
+ :hover:after {
5827
+ color: ${({ theme: { palette } }) => palette.icon};
5828
+ }
5829
+ }
5830
+ `;
5831
+ const LayerGroupList = styled(uilibGl.Flex) `
5832
+ flex-direction: column;
5833
+ height: 100%;
5834
+ flex-wrap: nowrap;
5835
+ overflow-x: ${({ $noScroll }) => ($noScroll ? "visible" : "hidden")};
5836
+ overflow-y: ${({ $noScroll }) => ($noScroll ? "visible" : "auto")};
5837
+ padding: 0 0.125rem 0 0.75rem;
5838
+ scrollbar-gutter: stable;
5839
+
5840
+ > * {
5841
+ flex-grow: 1;
5842
+ }
5816
5843
  `;
5817
5844
  const PresentationHeaderButtons = styled(uilibGl.Flex) ``;
5818
- const PresentationPanelContainer = styled.div `
5819
- position: absolute;
5820
- top: 0;
5821
- left: calc(${({ left }) => left || 0}px + 0.75rem);
5822
- bottom: 0;
5823
- z-index: 3;
5824
- display: flex;
5825
- flex-direction: column;
5826
- width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5827
- padding-right: 0.5rem;
5828
- scrollbar-gutter: stable;
5829
- overflow-y: hidden;
5830
-
5831
- :hover {
5832
- overflow-y: auto;
5833
- }
5834
-
5845
+ const PresentationPanelContainer = styled.div `
5846
+ position: absolute;
5847
+ top: 0;
5848
+ left: calc(${({ left }) => left || 0}px + 0.75rem);
5849
+ bottom: 0;
5850
+ z-index: 3;
5851
+ display: flex;
5852
+ flex-direction: column;
5853
+ width: ${LEFT_PANEL_HEADER_HEIGHT}px;
5854
+ padding-right: 0.5rem;
5855
+ scrollbar-gutter: stable;
5856
+ overflow-y: hidden;
5857
+
5858
+ :hover {
5859
+ overflow-y: auto;
5860
+ }
5861
+
5835
5862
  ${({ showLayers }) => !showLayers &&
5836
- styled.css `
5837
- > :first-child {
5838
- padding-bottom: 0;
5839
- }
5840
- `};
5841
-
5842
- ${PresentationHeader} > * {
5843
- position: relative;
5844
- z-index: 2;
5845
- }
5846
-
5847
- /* PaginationWrapper {
5848
- ${PresentationWrapperCss};
5849
- width: calc(100% - 2rem);
5850
- min-height: 8.625rem;
5851
- padding-top: 0.5rem;
5852
- padding-bottom: 0.5rem;
5853
- margin-bottom: 0.75rem;
5854
- }*/
5855
-
5856
- ${DashboardWrapper} {
5857
- width: 100%;
5858
- margin-top: 0;
5859
-
5860
- ${DashboardContent} {
5861
- padding: 0;
5862
- overflow-y: unset;
5863
-
5864
- > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5865
- ${PresentationWrapperCss};
5866
- width: calc(100% - 3rem);
5867
- }
5868
- }
5869
- }
5870
-
5871
- ${DashboardPlaceholder} {
5872
- ${PresentationWrapperCss};
5873
- width: 18.5rem;
5874
- height: 10.75rem;
5875
- }
5876
-
5877
- ${LayerListContainer} {
5878
- height: auto;
5879
- margin: 0 -1.125rem -1.5rem;
5880
- padding: 0;
5881
-
5882
- ${LayerGroupList} {
5883
- padding: 0;
5884
- }
5885
- }
5863
+ styled.css `
5864
+ > :first-child {
5865
+ padding-bottom: 0;
5866
+ }
5867
+ `};
5868
+
5869
+ ${PresentationHeader} > * {
5870
+ position: relative;
5871
+ z-index: 2;
5872
+ }
5873
+
5874
+ /* PaginationWrapper {
5875
+ ${PresentationWrapperCss};
5876
+ width: calc(100% - 2rem);
5877
+ min-height: 8.625rem;
5878
+ padding-top: 0.5rem;
5879
+ padding-bottom: 0.5rem;
5880
+ margin-bottom: 0.75rem;
5881
+ }*/
5882
+
5883
+ ${DashboardWrapper} {
5884
+ width: 100%;
5885
+ margin-top: 0;
5886
+
5887
+ ${DashboardContent} {
5888
+ padding: 0;
5889
+ overflow-y: unset;
5890
+
5891
+ > * > ${ContainerWrapper} > * > ${ContainerWrapper} {
5892
+ ${PresentationWrapperCss};
5893
+ width: calc(100% - 3rem);
5894
+ }
5895
+ }
5896
+ }
5897
+
5898
+ ${DashboardPlaceholder} {
5899
+ ${PresentationWrapperCss};
5900
+ width: 18.5rem;
5901
+ height: 10.75rem;
5902
+ }
5903
+
5904
+ ${LayerListContainer} {
5905
+ height: auto;
5906
+ margin: 0 -1.125rem -1.5rem;
5907
+ padding: 0;
5908
+
5909
+ ${LayerGroupList} {
5910
+ padding: 0;
5911
+ }
5912
+ }
5886
5913
  `;
5887
- const DataSourceErrorContainer = styled(uilibGl.Flex) `
5888
- align-items: center;
5889
- justify-content: center;
5890
- flex-wrap: nowrap;
5891
- flex-grow: 1;
5892
- padding: 1rem;
5893
- border: 1px ${({ theme: { palette } }) => palette.element} solid;
5894
- border-radius: 10px;
5895
- font-size: 0.875rem;
5896
- color: ${({ theme: { palette } }) => palette.textDisabled};
5897
-
5898
- span[kind] {
5899
- margin-right: 1rem;
5900
-
5901
- :after {
5902
- color: ${({ theme: { palette } }) => palette.iconDisabled};
5903
- }
5904
- }
5914
+ const DataSourceErrorContainer = styled(uilibGl.Flex) `
5915
+ align-items: center;
5916
+ justify-content: center;
5917
+ flex-wrap: nowrap;
5918
+ flex-grow: 1;
5919
+ padding: 1rem;
5920
+ border: 1px ${({ theme: { palette } }) => palette.element} solid;
5921
+ border-radius: 10px;
5922
+ font-size: 0.875rem;
5923
+ color: ${({ theme: { palette } }) => palette.textDisabled};
5924
+
5925
+ span[kind] {
5926
+ margin-right: 1rem;
5927
+
5928
+ :after {
5929
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
5930
+ }
5931
+ }
5905
5932
  `;
5906
- const AttributeLabel = styled(uilibGl.Description) `
5907
- margin-top: 0 !important;
5908
- margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
5909
- padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5910
- `;
5911
- const FeatureControls = styled(uilibGl.Flex) `
5912
- align-items: center;
5913
- gap: 1rem;
5914
- flex-wrap: nowrap;
5915
- position: relative;
5916
- flex-shrink: 0;
5917
-
5918
- button {
5919
- padding: 0;
5920
- width: auto;
5921
- }
5933
+ const AttributeLabel = styled(uilibGl.Description) `
5934
+ margin-top: 0 !important;
5935
+ margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
5936
+ padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
5937
+ `;
5938
+ const FeatureControls = styled(uilibGl.Flex) `
5939
+ align-items: center;
5940
+ gap: 1rem;
5941
+ flex-wrap: nowrap;
5942
+ position: relative;
5943
+ flex-shrink: 0;
5944
+
5945
+ button {
5946
+ padding: 0;
5947
+ width: auto;
5948
+ }
5922
5949
  `;
5923
5950
 
5924
5951
  const getAttributeByName = (attributeName, attributes) => {
@@ -6001,148 +6028,148 @@ const ContainersGroupContainer = React.memo(({ elementConfig, type, renderElemen
6001
6028
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxRuntime.jsx(Container, { id: id, isColumn: isColumn, children: jsxRuntime.jsx(ContainerChildren, { type: type, items: children, elementConfig: elementConfig, isColumn: isColumn, isMain: id?.startsWith(CONFIG_PAGE_ID), renderElement: renderElement }) }))] }));
6002
6029
  });
6003
6030
 
6004
- const ChartLegendContainer = styled(uilibGl.Flex) `
6005
- flex-direction: column;
6006
- flex-wrap: wrap;
6007
- justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
6008
- `;
6009
- const ChartLegendItem = styled(uilibGl.Flex) `
6010
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6011
- align-items: center;
6012
- flex-wrap: nowrap;
6013
- width: auto;
6014
- margin-right: 0.375rem;
6015
- margin-bottom: 0.25rem;
6016
- line-height: 0.75rem;
6017
- opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6018
- `;
6019
- const ChartLegendColor = styled.div `
6020
- width: 0.5rem;
6021
- height: 0.5rem;
6022
- margin-right: 0.375rem;
6023
- background-color: ${({ color }) => color};
6024
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
6025
- `;
6026
- const ChartLegendName = styled.div `
6027
- flex: 1;
6028
- font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
6029
- color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
6030
- `;
6031
+ const ChartLegendContainer = styled(uilibGl.Flex) `
6032
+ flex-direction: column;
6033
+ flex-wrap: wrap;
6034
+ justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
6035
+ `;
6036
+ const ChartLegendItem = styled(uilibGl.Flex) `
6037
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6038
+ align-items: center;
6039
+ flex-wrap: nowrap;
6040
+ width: auto;
6041
+ margin-right: 0.375rem;
6042
+ margin-bottom: 0.25rem;
6043
+ line-height: 0.75rem;
6044
+ opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6045
+ `;
6046
+ const ChartLegendColor = styled.div `
6047
+ width: 0.5rem;
6048
+ height: 0.5rem;
6049
+ margin-right: 0.375rem;
6050
+ background-color: ${({ color }) => color};
6051
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
6052
+ `;
6053
+ const ChartLegendName = styled.div `
6054
+ flex: 1;
6055
+ font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
6056
+ color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
6057
+ `;
6058
+
6059
+ const ContainerAlias = styled(uilibGl.Flex) `
6060
+ align-items: center;
6061
+ flex-wrap: nowrap;
6062
+ font-size: 0.75rem;
6063
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6064
+
6065
+ &&& {
6066
+ margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
6067
+ }
6068
+
6069
+ span[kind] {
6070
+ margin-right: 0.5rem;
6031
6071
 
6032
- const ContainerAlias = styled(uilibGl.Flex) `
6033
- align-items: center;
6034
- flex-wrap: nowrap;
6035
- font-size: 0.75rem;
6036
- color: ${({ theme: { palette } }) => palette.textSecondary};
6037
-
6038
- &&& {
6039
- margin-bottom: ${({ hasBottomMargin }) => (hasBottomMargin ? 0.25 : 0)}rem;
6040
- }
6041
-
6042
- span[kind] {
6043
- margin-right: 0.5rem;
6044
-
6045
- :after {
6046
- color: ${({ theme: { palette } }) => palette.primary};
6047
- }
6048
- }
6072
+ :after {
6073
+ color: ${({ theme: { palette } }) => palette.primary};
6074
+ }
6075
+ }
6049
6076
  `;
6050
- const ContainerAliasIcon = styled.div `
6051
- margin-right: 0.5rem;
6077
+ const ContainerAliasIcon = styled.div `
6078
+ margin-right: 0.5rem;
6052
6079
  `;
6053
- const ContainerChart = styled(uilibGl.Flex) `
6054
- justify-content: flex-start;
6055
-
6056
- > * {
6057
- display: flex;
6058
- justify-content: center;
6059
- width: 100%;
6060
- }
6080
+ const ContainerChart = styled(uilibGl.Flex) `
6081
+ justify-content: flex-start;
6082
+
6083
+ > * {
6084
+ display: flex;
6085
+ justify-content: center;
6086
+ width: 100%;
6087
+ }
6061
6088
  `;
6062
6089
  const ContainerLegend = styled(uilibGl.Flex) ``;
6063
- const ContainerUnits = styled.div `
6064
- margin-left: 0.5rem;
6065
- white-space: nowrap;
6066
- font-size: 0.75rem;
6067
- `;
6068
- const ContainerValue = styled(uilibGl.Flex) `
6069
- justify-content: flex-end;
6070
- align-items: center;
6071
- flex-wrap: nowrap;
6072
- width: 100%;
6073
- font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
6074
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6075
-
6076
- > * {
6077
- width: ${({ column }) => (column ? "100%" : "auto")};
6078
- }
6079
-
6080
- ${ContainerChart}, ${ContainerLegend} {
6081
- width: ${({ column }) => (column ? "100%" : "50%")};
6082
- }
6083
-
6084
- ${ContainerLegend} {
6085
- margin-left: ${({ column }) => (column ? 0 : "1rem")};
6086
- }
6087
-
6088
- ${ChartLegendContainer} {
6089
- flex-direction: ${({ column }) => (column ? "row" : "column")};
6090
- margin-top: ${({ column }) => (column ? "1rem" : 0)};
6091
- }
6090
+ const ContainerUnits = styled.div `
6091
+ margin-left: 0.5rem;
6092
+ white-space: nowrap;
6093
+ font-size: 0.75rem;
6094
+ `;
6095
+ const ContainerValue = styled(uilibGl.Flex) `
6096
+ justify-content: flex-end;
6097
+ align-items: center;
6098
+ flex-wrap: nowrap;
6099
+ width: 100%;
6100
+ font-size: ${({ big }) => (big ? 1.5 : 1)}rem;
6101
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textPrimary};
6102
+
6103
+ > * {
6104
+ width: ${({ column }) => (column ? "100%" : "auto")};
6105
+ }
6106
+
6107
+ ${ContainerChart}, ${ContainerLegend} {
6108
+ width: ${({ column }) => (column ? "100%" : "50%")};
6109
+ }
6110
+
6111
+ ${ContainerLegend} {
6112
+ margin-left: ${({ column }) => (column ? 0 : "1rem")};
6113
+ }
6114
+
6115
+ ${ChartLegendContainer} {
6116
+ flex-direction: ${({ column }) => (column ? "row" : "column")};
6117
+ margin-top: ${({ column }) => (column ? "1rem" : 0)};
6118
+ }
6092
6119
  `;
6093
- const ColorIconMixin = styled.css `
6094
- :after {
6095
- color: ${({ $fontColor }) => $fontColor} !important;
6096
- }
6120
+ const ColorIconMixin = styled.css `
6121
+ :after {
6122
+ color: ${({ $fontColor }) => $fontColor} !important;
6123
+ }
6097
6124
  `;
6098
- const SizeIconMixin = styled.css `
6099
- :after {
6100
- font-size: ${({ $fontSize }) => $fontSize}px !important;
6101
- }
6125
+ const SizeIconMixin = styled.css `
6126
+ :after {
6127
+ font-size: ${({ $fontSize }) => $fontSize}px !important;
6128
+ }
6102
6129
  `;
6103
- const ContainerIcon = styled(uilibGl.Icon) `
6104
- width: auto;
6105
- height: auto;
6106
- margin-bottom: 0.5rem;
6107
- ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6108
- ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6109
- `;
6110
- const SvgContainerColorMixin$1 = styled.css `
6111
- path,
6112
- line,
6113
- circle {
6114
- fill: ${({ $fontColor }) => $fontColor};
6115
- }
6130
+ const ContainerIcon = styled(uilibGl.Icon) `
6131
+ width: auto;
6132
+ height: auto;
6133
+ margin-bottom: 0.5rem;
6134
+ ${({ $fontColor }) => !!$fontColor && ColorIconMixin};
6135
+ ${({ $fontSize }) => !!$fontSize && SizeIconMixin};
6136
+ `;
6137
+ const SvgContainerColorMixin$1 = styled.css `
6138
+ path,
6139
+ line,
6140
+ circle {
6141
+ fill: ${({ $fontColor }) => $fontColor};
6142
+ }
6116
6143
  `;
6117
- const SvgContainer$1 = styled.div `
6118
- &&& {
6119
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6120
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6121
-
6122
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6123
-
6124
- > * {
6125
- min-width: inherit;
6126
- }
6127
- }
6144
+ const SvgContainer$1 = styled.div `
6145
+ &&& {
6146
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6147
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6148
+
6149
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin$1};
6150
+
6151
+ > * {
6152
+ min-width: inherit;
6153
+ }
6154
+ }
6128
6155
  `;
6129
- const TwoColumnContainerWrapper = styled(uilibGl.Flex) `
6130
- width: 100%;
6131
- flex-direction: row;
6132
- flex-wrap: nowrap;
6133
- align-items: center;
6134
-
6135
- > * {
6136
- flex: 1;
6137
- }
6138
-
6139
- > ${ContainerValue} {
6140
- justify-content: flex-end;
6141
-
6142
- > * {
6143
- text-align: right;
6144
- }
6145
- }
6156
+ const TwoColumnContainerWrapper = styled(uilibGl.Flex) `
6157
+ width: 100%;
6158
+ flex-direction: row;
6159
+ flex-wrap: nowrap;
6160
+ align-items: center;
6161
+
6162
+ > * {
6163
+ flex: 1;
6164
+ }
6165
+
6166
+ > ${ContainerValue} {
6167
+ justify-content: flex-end;
6168
+
6169
+ > * {
6170
+ text-align: right;
6171
+ }
6172
+ }
6146
6173
  `;
6147
6174
 
6148
6175
  const useRenderContainerItem = (type, renderElement) => {
@@ -6223,10 +6250,10 @@ const TwoColumnContainer = React.memo(({ elementConfig, type, renderElement }) =
6223
6250
  return renderAttributes?.length ? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderAttributes.map(attribute => renderContainer(attribute)) })) : (renderContainer());
6224
6251
  });
6225
6252
 
6226
- const InnerContainerWrapper = styled.div `
6227
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6228
- width: ${({ column }) => (column ? "100%" : "auto")};
6229
- opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6253
+ const InnerContainerWrapper = styled.div `
6254
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
6255
+ width: ${({ column }) => (column ? "100%" : "auto")};
6256
+ opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
6230
6257
  `;
6231
6258
 
6232
6259
  const DataSourceInnerContainer = React.memo(({ config, elementConfig, feature, maxValue, type, index, innerComponent }) => {
@@ -6297,107 +6324,107 @@ const DataSourceInnerContainer = React.memo(({ config, elementConfig, feature, m
6297
6324
  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 }) }));
6298
6325
  });
6299
6326
 
6300
- const DataSourceProgressContainerWrapper = styled.div `
6301
- width: 100%;
6327
+ const DataSourceProgressContainerWrapper = styled.div `
6328
+ width: 100%;
6302
6329
  `;
6303
- const ContainerToggler = styled(uilibGl.LegendToggler) `
6304
- width: auto;
6305
- margin-left: -1rem;
6330
+ const ContainerToggler = styled(uilibGl.LegendToggler) `
6331
+ width: auto;
6332
+ margin-left: -1rem;
6306
6333
  `;
6307
6334
 
6308
- const ProgressContainerWrapper = styled(uilibGl.Flex) `
6309
- align-items: center;
6310
- width: 100%;
6311
- margin-bottom: 1rem;
6335
+ const ProgressContainerWrapper = styled(uilibGl.Flex) `
6336
+ align-items: center;
6337
+ width: 100%;
6338
+ margin-bottom: 1rem;
6312
6339
  `;
6313
- const ProgressIcon = styled.div `
6314
- margin-right: 0.5rem;
6340
+ const ProgressIcon = styled.div `
6341
+ margin-right: 0.5rem;
6315
6342
  `;
6316
- const ProgressContent = styled(uilibGl.Flex) `
6317
- flex: 1;
6318
- flex-direction: column;
6343
+ const ProgressContent = styled(uilibGl.Flex) `
6344
+ flex: 1;
6345
+ flex-direction: column;
6319
6346
  `;
6320
- const ProgressAlias = styled(uilibGl.Flex) `
6321
- flex: 1;
6322
- justify-content: space-between;
6323
- margin-bottom: 0.25rem;
6324
- font-size: 0.75rem;
6325
- color: ${({ theme: { palette } }) => palette.textSecondary};
6326
- `;
6327
- const ProgressValue = styled(uilibGl.Flex) `
6328
- align-items: center;
6329
- width: auto;
6330
- font-size: 1rem;
6331
- color: ${({ theme: { palette } }) => palette.textPrimary};
6332
- `;
6333
- const ProgressInnerValue = styled(ProgressValue) `
6334
- justify-content: flex-end;
6335
- width: 4rem;
6336
- margin-left: 0.5rem;
6337
- `;
6338
- const ProgressUnits = styled(uilibGl.Flex) `
6339
- margin-left: 0.25rem;
6340
- font-size: 0.75rem;
6341
- color: ${({ theme: { palette } }) => palette.textSecondary};
6342
- `;
6343
- const ProgressBarWrapper = styled.div `
6344
- flex-grow: 1;
6345
- height: 0.5rem;
6346
- background-color: ${({ theme: { palette } }) => palette.element};
6347
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6348
- `;
6349
- const ProgressBarContainer = styled(uilibGl.Flex) `
6350
- position: relative;
6351
- align-items: center;
6352
- width: 100%;
6353
-
6347
+ const ProgressAlias = styled(uilibGl.Flex) `
6348
+ flex: 1;
6349
+ justify-content: space-between;
6350
+ margin-bottom: 0.25rem;
6351
+ font-size: 0.75rem;
6352
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6353
+ `;
6354
+ const ProgressValue = styled(uilibGl.Flex) `
6355
+ align-items: center;
6356
+ width: auto;
6357
+ font-size: 1rem;
6358
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6359
+ `;
6360
+ const ProgressInnerValue = styled(ProgressValue) `
6361
+ justify-content: flex-end;
6362
+ width: 4rem;
6363
+ margin-left: 0.5rem;
6364
+ `;
6365
+ const ProgressUnits = styled(uilibGl.Flex) `
6366
+ margin-left: 0.25rem;
6367
+ font-size: 0.75rem;
6368
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6369
+ `;
6370
+ const ProgressBarWrapper = styled.div `
6371
+ flex-grow: 1;
6372
+ height: 0.5rem;
6373
+ background-color: ${({ theme: { palette } }) => palette.element};
6374
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6375
+ `;
6376
+ const ProgressBarContainer = styled(uilibGl.Flex) `
6377
+ position: relative;
6378
+ align-items: center;
6379
+ width: 100%;
6380
+
6354
6381
  ${({ innerValue }) => innerValue &&
6355
- styled.css `
6356
- ${ProgressBarWrapper} {
6357
- height: 1.125rem;
6358
- }
6359
-
6360
- ${ProgressInnerValue} {
6361
- z-index: 1;
6362
- position: absolute;
6363
- right: 0.25rem;
6364
- }
6365
- `}
6366
- `;
6367
- const ProgressBar = styled.div `
6368
- width: ${({ $width }) => $width};
6369
- height: inherit;
6370
- background-color: ${({ $color }) => $color || "#a7d759"};
6371
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6372
- `;
6373
- const ProgressTooltipAlias = styled.div `
6374
- margin-bottom: 0.25rem;
6375
- text-align: left;
6376
- color: ${({ theme: { palette } }) => palette.primary};
6382
+ styled.css `
6383
+ ${ProgressBarWrapper} {
6384
+ height: 1.125rem;
6385
+ }
6386
+
6387
+ ${ProgressInnerValue} {
6388
+ z-index: 1;
6389
+ position: absolute;
6390
+ right: 0.25rem;
6391
+ }
6392
+ `}
6393
+ `;
6394
+ const ProgressBar = styled.div `
6395
+ width: ${({ $width }) => $width};
6396
+ height: inherit;
6397
+ background-color: ${({ $color }) => $color || "#a7d759"};
6398
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
6399
+ `;
6400
+ const ProgressTooltipAlias = styled.div `
6401
+ margin-bottom: 0.25rem;
6402
+ text-align: left;
6403
+ color: ${({ theme: { palette } }) => palette.primary};
6377
6404
  `;
6378
6405
  const ProgressTooltipValue = styled.div ``;
6379
- const ProgressTooltipValueContainer = styled(uilibGl.Flex) `
6380
- align-items: center;
6381
-
6382
- > * {
6383
- opacity: 0.65;
6384
- }
6385
-
6386
- ${ProgressTooltipValue} {
6387
- opacity: 1;
6388
- }
6406
+ const ProgressTooltipValueContainer = styled(uilibGl.Flex) `
6407
+ align-items: center;
6408
+
6409
+ > * {
6410
+ opacity: 0.65;
6411
+ }
6412
+
6413
+ ${ProgressTooltipValue} {
6414
+ opacity: 1;
6415
+ }
6389
6416
  `;
6390
- const ProgressTooltipValueOf = styled.div `
6391
- margin: 0 0.25rem;
6417
+ const ProgressTooltipValueOf = styled.div `
6418
+ margin: 0 0.25rem;
6392
6419
  `;
6393
- const ProgressTotalTitle = styled.div `
6394
- font-size: 0.75rem;
6395
- font-weight: bold;
6420
+ const ProgressTotalTitle = styled.div `
6421
+ font-size: 0.75rem;
6422
+ font-weight: bold;
6396
6423
  `;
6397
- const ProgressTotal = styled(uilibGl.Flex) `
6398
- align-items: center;
6399
- justify-content: space-between;
6400
- margin-top: 1rem;
6424
+ const ProgressTotal = styled(uilibGl.Flex) `
6425
+ align-items: center;
6426
+ justify-content: space-between;
6427
+ margin-top: 1rem;
6401
6428
  `;
6402
6429
 
6403
6430
  const DataSourceProgressContainer = React.memo(({ config, elementConfig, type, innerComponent, renderElement }) => {
@@ -6494,166 +6521,166 @@ const DEFAULT_BAR_CHART_MARGINS = {
6494
6521
  right: 0,
6495
6522
  };
6496
6523
 
6497
- const FiltersContainerWrapper = styled(uilibGl.Flex) `
6498
- flex-direction: column;
6499
- padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6500
- background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6501
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6502
-
6503
- ${uilibGl.DropdownField}, input {
6504
- background-color: ${({ theme: { palette } }) => palette.background};
6505
- }
6506
-
6507
- > div:not(:last-child) {
6508
- margin-bottom: 0.5rem;
6509
- }
6510
-
6511
- > label {
6512
- align-items: flex-start;
6513
- font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6514
-
6515
- &.active {
6516
- color: ${({ $fontColor }) => $fontColor};
6517
-
6518
- svg rect {
6519
- fill: ${({ $fontColor }) => $fontColor} !important;
6520
- }
6521
- }
6522
-
6523
- &:not(:last-child) {
6524
- margin-bottom: 0.75rem;
6525
- }
6526
-
6527
- &:last-child {
6528
- margin-bottom: 0;
6529
- }
6530
- }
6524
+ const FiltersContainerWrapper = styled(uilibGl.Flex) `
6525
+ flex-direction: column;
6526
+ padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
6527
+ background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
6528
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6529
+
6530
+ ${uilibGl.DropdownField}, input {
6531
+ background-color: ${({ theme: { palette } }) => palette.background};
6532
+ }
6533
+
6534
+ > div:not(:last-child) {
6535
+ margin-bottom: 0.5rem;
6536
+ }
6537
+
6538
+ > label {
6539
+ align-items: flex-start;
6540
+ font-size: ${({ $fontSize }) => $fontSize || "0.875rem"};
6541
+
6542
+ &.active {
6543
+ color: ${({ $fontColor }) => $fontColor};
6544
+
6545
+ svg rect {
6546
+ fill: ${({ $fontColor }) => $fontColor} !important;
6547
+ }
6548
+ }
6549
+
6550
+ &:not(:last-child) {
6551
+ margin-bottom: 0.75rem;
6552
+ }
6553
+
6554
+ &:last-child {
6555
+ margin-bottom: 0;
6556
+ }
6557
+ }
6531
6558
  `;
6532
- const StyledIconButton = styled(uilibGl.IconButton) `
6533
- width: 0.75rem;
6534
- height: 0.75rem;
6535
-
6536
- span[kind] {
6537
- height: 0.75rem;
6538
-
6539
- :after {
6540
- font-size: 0.75rem;
6541
- }
6542
- }
6559
+ const StyledIconButton = styled(uilibGl.IconButton) `
6560
+ width: 0.75rem;
6561
+ height: 0.75rem;
6562
+
6563
+ span[kind] {
6564
+ height: 0.75rem;
6565
+
6566
+ :after {
6567
+ font-size: 0.75rem;
6568
+ }
6569
+ }
6543
6570
  `;
6544
- const TextFilterContainer = styled.div `
6545
- width: 15.85rem;
6546
-
6547
- ${uilibGl.MultiSelectContainer} {
6548
- color: ${({ theme: { palette } }) => palette.textPrimary};
6549
-
6550
- ${uilibGl.IconButtonButton} {
6551
- span[kind]:after {
6552
- color: ${({ theme: { palette } }) => palette.textPrimary};
6553
- }
6554
- }
6555
- }
6571
+ const TextFilterContainer = styled.div `
6572
+ width: 15.85rem;
6573
+
6574
+ ${uilibGl.MultiSelectContainer} {
6575
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6576
+
6577
+ ${uilibGl.IconButtonButton} {
6578
+ span[kind]:after {
6579
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6580
+ }
6581
+ }
6582
+ }
6556
6583
  `;
6557
- const BarChartContainer = styled.div `
6558
- width: 100%;
6559
- overflow-x: hidden;
6560
-
6584
+ const BarChartContainer = styled.div `
6585
+ width: 100%;
6586
+ overflow-x: hidden;
6587
+
6561
6588
  ${({ barHeight, marginBottom }) => !!barHeight &&
6562
- styled.css `
6563
- .barChartBarGlobal rect {
6564
- height: ${barHeight}px;
6565
- y: calc(100% - ${barHeight + marginBottom}px);
6566
- }
6567
- `}
6568
- `;
6569
- const AnyChartWrapper = styled.div `
6570
- width: 100%;
6571
- height: ${({ height }) => height}px;
6572
- `;
6573
- const BarChartWrapper = styled(AnyChartWrapper) `
6574
- width: 100%;
6575
- margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6576
-
6577
- :hover {
6578
- ${BarChartContainer} {
6579
- overflow-x: auto;
6580
- }
6581
- }
6589
+ styled.css `
6590
+ .barChartBarGlobal rect {
6591
+ height: ${barHeight}px;
6592
+ y: calc(100% - ${barHeight + marginBottom}px);
6593
+ }
6594
+ `}
6582
6595
  `;
6583
- const BarChartFilterHeader = styled(uilibGl.Flex) `
6584
- justify-content: space-between;
6585
- align-items: center;
6586
- height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6587
- padding: 0.25rem 0;
6596
+ const AnyChartWrapper = styled.div `
6597
+ width: 100%;
6598
+ height: ${({ height }) => height}px;
6588
6599
  `;
6589
- const BarChartFilterArrows = styled(uilibGl.Flex) `
6590
- margin-left: -0.5rem;
6591
-
6592
- span[kind] {
6593
- display: flex;
6594
- align-items: center;
6595
-
6596
- :after {
6597
- font-size: 0.75rem;
6598
- }
6599
- }
6600
+ const BarChartWrapper = styled(AnyChartWrapper) `
6601
+ width: 100%;
6602
+ margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
6603
+
6604
+ :hover {
6605
+ ${BarChartContainer} {
6606
+ overflow-x: auto;
6607
+ }
6608
+ }
6600
6609
  `;
6601
- const BarChartFilterSelected = styled.div `
6602
- font-size: 0.75rem;
6603
- font-weight: bold;
6604
- color: ${({ theme: { palette } }) => palette.textPrimary};
6610
+ const BarChartFilterHeader = styled(uilibGl.Flex) `
6611
+ justify-content: space-between;
6612
+ align-items: center;
6613
+ height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
6614
+ padding: 0.25rem 0;
6605
6615
  `;
6606
- styled.div `
6607
- color: ${({ theme: { palette } }) => palette.textSecondary};
6616
+ const BarChartFilterArrows = styled(uilibGl.Flex) `
6617
+ margin-left: -0.5rem;
6618
+
6619
+ span[kind] {
6620
+ display: flex;
6621
+ align-items: center;
6622
+
6623
+ :after {
6624
+ font-size: 0.75rem;
6625
+ }
6626
+ }
6608
6627
  `;
6609
- const BarChart = styled(charts.BarChart) `
6610
- .${charts.barChartClassNames.barChartXAxis} {
6611
- .domain,
6612
- line {
6613
- display: none;
6614
- }
6615
-
6616
- .tick {
6617
- text {
6618
- text-anchor: start;
6619
- font-size: 12px;
6620
- color: rgba(48, 69, 79, 0.46);
6621
- }
6622
-
6623
- :last-of-type {
6624
- text {
6625
- text-anchor: end;
6626
- }
6627
- }
6628
- }
6629
- }
6630
-
6631
- .marker {
6632
- font-size: 12px;
6633
- }
6628
+ const BarChartFilterSelected = styled.div `
6629
+ font-size: 0.75rem;
6630
+ font-weight: bold;
6631
+ color: ${({ theme: { palette } }) => palette.textPrimary};
6634
6632
  `;
6635
- const TooltipContainer = styled.div `
6636
- position: relative;
6637
- font-size: 0.75rem;
6638
- color: #ffffff;
6639
- margin-bottom: 0.5rem;
6640
- padding: 0.375rem;
6641
- background-color: rgba(0, 0, 0, 1);
6642
- border-radius: 0.25rem;
6643
- box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6644
-
6645
- :before {
6646
- content: "";
6647
- position: absolute;
6648
- bottom: 0;
6649
- left: 50%;
6650
- transform: translate(-50%, 100%);
6651
- width: 0;
6652
- height: 0;
6653
- border-style: solid;
6654
- border-width: 0.25rem 0.1875rem 0 0.1875rem;
6655
- border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6656
- }
6633
+ styled.div `
6634
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6635
+ `;
6636
+ const BarChart = styled(charts.BarChart) `
6637
+ .${charts.barChartClassNames.barChartXAxis} {
6638
+ .domain,
6639
+ line {
6640
+ display: none;
6641
+ }
6642
+
6643
+ .tick {
6644
+ text {
6645
+ text-anchor: start;
6646
+ font-size: 12px;
6647
+ color: rgba(48, 69, 79, 0.46);
6648
+ }
6649
+
6650
+ :last-of-type {
6651
+ text {
6652
+ text-anchor: end;
6653
+ }
6654
+ }
6655
+ }
6656
+ }
6657
+
6658
+ .marker {
6659
+ font-size: 12px;
6660
+ }
6661
+ `;
6662
+ const TooltipContainer = styled.div `
6663
+ position: relative;
6664
+ font-size: 0.75rem;
6665
+ color: #ffffff;
6666
+ margin-bottom: 0.5rem;
6667
+ padding: 0.375rem;
6668
+ background-color: rgba(0, 0, 0, 1);
6669
+ border-radius: 0.25rem;
6670
+ box-shadow: 0 0.1875rem 0.5rem rgba(48, 69, 79, 0.06);
6671
+
6672
+ :before {
6673
+ content: "";
6674
+ position: absolute;
6675
+ bottom: 0;
6676
+ left: 50%;
6677
+ transform: translate(-50%, 100%);
6678
+ width: 0;
6679
+ height: 0;
6680
+ border-style: solid;
6681
+ border-width: 0.25rem 0.1875rem 0 0.1875rem;
6682
+ border-color: rgba(48, 69, 79, 1) transparent transparent transparent;
6683
+ }
6657
6684
  `;
6658
6685
 
6659
6686
  const FiltersContainer = React.memo(({ elementConfig, config, type, renderElement }) => {
@@ -6730,64 +6757,64 @@ const PagesContainer = React.memo(({ type = exports.WidgetType.Dashboard, noBord
6730
6757
  return (jsxRuntime.jsx(Container, { id: getRootElementId(type), style: { width }, isMain: true, isColumn: isColumn, noBorders: noBorders, children: jsxRuntime.jsx(ContainerChildren, { type: type, items: filteredChildren, isMain: true, renderElement: renderElement }) }));
6731
6758
  });
6732
6759
 
6733
- const ImageContainerBg$1 = styled.div `
6734
- position: absolute;
6735
- top: 0;
6736
- bottom: 0;
6737
- left: 0;
6738
- right: 0;
6739
-
6740
- img {
6741
- width: 100%;
6742
- height: 100%;
6743
- object-position: center;
6744
- object-fit: cover;
6745
- }
6760
+ const ImageContainerBg$1 = styled.div `
6761
+ position: absolute;
6762
+ top: 0;
6763
+ bottom: 0;
6764
+ left: 0;
6765
+ right: 0;
6766
+
6767
+ img {
6768
+ width: 100%;
6769
+ height: 100%;
6770
+ object-position: center;
6771
+ object-fit: cover;
6772
+ }
6746
6773
  `;
6747
- const ImageContainerTitle = styled.div `
6748
- width: 100%;
6749
- overflow-wrap: break-word;
6750
- font-size: 1rem;
6751
- font-weight: 500;
6752
- `;
6753
- const ImageContainerText = styled.div `
6754
- width: 100%;
6755
- overflow-wrap: break-word;
6756
- margin-top: 0.5rem;
6757
- font-size: 0.75rem;
6758
- `;
6759
- const ImageContainerButton$1 = styled(uilibGl.FlatButton) `
6760
- min-height: 1.5rem;
6761
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6762
- background-color: ${({ theme: { palette } }) => palette.primary};
6763
- text-transform: none;
6764
-
6765
- :hover {
6766
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6767
- }
6774
+ const ImageContainerTitle = styled.div `
6775
+ width: 100%;
6776
+ overflow-wrap: break-word;
6777
+ font-size: 1rem;
6778
+ font-weight: 500;
6779
+ `;
6780
+ const ImageContainerText = styled.div `
6781
+ width: 100%;
6782
+ overflow-wrap: break-word;
6783
+ margin-top: 0.5rem;
6784
+ font-size: 0.75rem;
6785
+ `;
6786
+ const ImageContainerButton$1 = styled(uilibGl.FlatButton) `
6787
+ min-height: 1.5rem;
6788
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
6789
+ background-color: ${({ theme: { palette } }) => palette.primary};
6790
+ text-transform: none;
6791
+
6792
+ :hover {
6793
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
6794
+ }
6768
6795
  `;
6769
- const ImageContainerWrapper = styled(uilibGl.Flex) `
6770
- flex-direction: column;
6771
- justify-content: flex-end;
6772
- position: relative;
6773
- padding: 1rem;
6774
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6775
- overflow: hidden;
6776
-
6777
- ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6778
- z-index: 1;
6779
- color: ${({ theme: { palette } }) => palette.textContrast};
6780
- }
6781
-
6782
- :after {
6783
- content: "";
6784
- position: absolute;
6785
- top: 0;
6786
- bottom: 0;
6787
- left: 0;
6788
- right: 0;
6789
- background-color: rgba(0, 0, 0, 0.4);
6790
- }
6796
+ const ImageContainerWrapper = styled(uilibGl.Flex) `
6797
+ flex-direction: column;
6798
+ justify-content: flex-end;
6799
+ position: relative;
6800
+ padding: 1rem;
6801
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6802
+ overflow: hidden;
6803
+
6804
+ ${ImageContainerTitle}, ${ImageContainerText}, ${ImageContainerButton$1} {
6805
+ z-index: 1;
6806
+ color: ${({ theme: { palette } }) => palette.textContrast};
6807
+ }
6808
+
6809
+ :after {
6810
+ content: "";
6811
+ position: absolute;
6812
+ top: 0;
6813
+ bottom: 0;
6814
+ left: 0;
6815
+ right: 0;
6816
+ background-color: rgba(0, 0, 0, 0.4);
6817
+ }
6791
6818
  `;
6792
6819
 
6793
6820
  const ImageContainer = React.memo(({ elementConfig, renderElement }) => {
@@ -6795,52 +6822,52 @@ const ImageContainer = React.memo(({ elementConfig, renderElement }) => {
6795
6822
  return (jsxRuntime.jsxs(ImageContainerWrapper, { id: id, 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" }) })] }));
6796
6823
  });
6797
6824
 
6798
- const IconContainerWrapper = styled(uilibGl.Flex) `
6799
- flex-direction: column;
6800
- justify-content: center;
6801
- position: relative;
6802
- padding: 0.5rem 1rem 1rem;
6803
- background-color: ${({ theme: { palette } }) => palette.element};
6804
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6805
- overflow: hidden;
6806
- `;
6807
- const IconContainerHeaderWrapper = styled(uilibGl.Flex) `
6808
- justify-content: space-between;
6809
- align-items: center;
6810
- flex-wrap: nowrap;
6811
- width: 100%;
6812
- margin-bottom: 0.25rem;
6813
- `;
6814
- const IconContainerHeader = styled(uilibGl.Flex) `
6815
- align-items: center;
6816
- flex-wrap: nowrap;
6817
- width: 100%;
6818
- margin-right: 0.5rem;
6819
- font-size: 0.875rem;
6820
-
6821
- ${uilibGl.Icon} {
6822
- margin-right: 0.5rem;
6823
-
6824
- :after {
6825
- font-size: 1.15rem;
6826
- color: ${({ theme: { palette } }) => palette.textSecondary};
6827
- }
6828
- }
6825
+ const IconContainerWrapper = styled(uilibGl.Flex) `
6826
+ flex-direction: column;
6827
+ justify-content: center;
6828
+ position: relative;
6829
+ padding: 0.5rem 1rem 1rem;
6830
+ background-color: ${({ theme: { palette } }) => palette.element};
6831
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
6832
+ overflow: hidden;
6833
+ `;
6834
+ const IconContainerHeaderWrapper = styled(uilibGl.Flex) `
6835
+ justify-content: space-between;
6836
+ align-items: center;
6837
+ flex-wrap: nowrap;
6838
+ width: 100%;
6839
+ margin-bottom: 0.25rem;
6840
+ `;
6841
+ const IconContainerHeader = styled(uilibGl.Flex) `
6842
+ align-items: center;
6843
+ flex-wrap: nowrap;
6844
+ width: 100%;
6845
+ margin-right: 0.5rem;
6846
+ font-size: 0.875rem;
6847
+
6848
+ ${uilibGl.Icon} {
6849
+ margin-right: 0.5rem;
6850
+
6851
+ :after {
6852
+ font-size: 1.15rem;
6853
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6854
+ }
6855
+ }
6829
6856
  `;
6830
- const IconContainerTitle = styled(uilibGl.Flex) `
6831
- > * {
6832
- width: 13rem;
6833
- white-space: nowrap;
6834
- overflow: hidden;
6835
- font-weight: bold;
6836
- text-overflow: ellipsis;
6837
- }
6857
+ const IconContainerTitle = styled(uilibGl.Flex) `
6858
+ > * {
6859
+ width: 13rem;
6860
+ white-space: nowrap;
6861
+ overflow: hidden;
6862
+ font-weight: bold;
6863
+ text-overflow: ellipsis;
6864
+ }
6838
6865
  `;
6839
- const IconContainerText = styled.div `
6840
- width: 100%;
6841
- overflow-wrap: break-word;
6842
- font-size: 0.75rem;
6843
- color: ${({ theme: { palette } }) => palette.textSecondary};
6866
+ const IconContainerText = styled.div `
6867
+ width: 100%;
6868
+ overflow-wrap: break-word;
6869
+ font-size: 0.75rem;
6870
+ color: ${({ theme: { palette } }) => palette.textSecondary};
6844
6871
  `;
6845
6872
 
6846
6873
  const IconContainer = React.memo(({ elementConfig, renderElement }) => {
@@ -6863,107 +6890,107 @@ const DataSourceContainer = React.memo(({ config, elementConfig, type, innerComp
6863
6890
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), !isVisible ? null : dataSource ? (jsxRuntime.jsx(Container, { id: id, 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, {}))] }));
6864
6891
  });
6865
6892
 
6866
- const SvgContainerColorMixin = styled.css `
6867
- path,
6868
- line,
6869
- circle {
6870
- fill: ${({ $fontColor }) => $fontColor};
6871
- }
6893
+ const SvgContainerColorMixin = styled.css `
6894
+ path,
6895
+ line,
6896
+ circle {
6897
+ fill: ${({ $fontColor }) => $fontColor};
6898
+ }
6872
6899
  `;
6873
- const SvgContainer = styled.div `
6874
- &&& {
6875
- min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6876
- max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6877
-
6878
- ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6879
-
6880
- > * {
6881
- min-width: inherit;
6882
- }
6883
- }
6900
+ const SvgContainer = styled.div `
6901
+ &&& {
6902
+ min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6903
+ max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
6904
+
6905
+ ${({ $fontColor }) => !!$fontColor && SvgContainerColorMixin};
6906
+
6907
+ > * {
6908
+ min-width: inherit;
6909
+ }
6910
+ }
6884
6911
  `;
6885
6912
 
6886
- const ContainerIconTitle = styled(uilibGl.Flex) `
6887
- align-items: center;
6888
- flex-wrap: nowrap;
6889
- flex-shrink: 1;
6890
- flex-grow: 0;
6891
- color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6892
-
6893
- > div {
6894
- flex-shrink: 1;
6895
- flex-grow: 0;
6896
- width: auto;
6897
- }
6898
-
6899
- ${SvgContainer} {
6900
- flex-shrink: 0;
6901
- flex-grow: 0;
6902
- margin-right: 0.5rem;
6903
- }
6904
-
6905
- svg,
6906
- img,
6907
- span[kind] {
6908
- margin-right: 0.5rem;
6909
- }
6910
-
6913
+ const ContainerIconTitle = styled(uilibGl.Flex) `
6914
+ align-items: center;
6915
+ flex-wrap: nowrap;
6916
+ flex-shrink: 1;
6917
+ flex-grow: 0;
6918
+ color: ${({ fontColor, theme: { palette } }) => fontColor || palette.textSecondary};
6919
+
6920
+ > div {
6921
+ flex-shrink: 1;
6922
+ flex-grow: 0;
6923
+ width: auto;
6924
+ }
6925
+
6926
+ ${SvgContainer} {
6927
+ flex-shrink: 0;
6928
+ flex-grow: 0;
6929
+ margin-right: 0.5rem;
6930
+ }
6931
+
6932
+ svg,
6933
+ img,
6934
+ span[kind] {
6935
+ margin-right: 0.5rem;
6936
+ }
6937
+
6911
6938
  ${({ fontColor }) => !!fontColor &&
6912
- styled.css `
6913
- span[kind] {
6914
- color: ${fontColor};
6915
- }
6916
-
6917
- ${SvgContainer} {
6918
- path,
6919
- circle {
6920
- fill: ${fontColor};
6921
- }
6922
- }
6923
- `};
6924
-
6925
- ${uilibGl.LegendToggler} {
6926
- margin-left: 0.25rem;
6927
- }
6928
-
6929
- span[kind="download"] {
6930
- opacity: 0;
6931
- transition: opacity ${uilibGl.transition.hover};
6932
- }
6933
-
6934
- :hover {
6935
- span[kind="download"] {
6936
- opacity: 1;
6937
- }
6938
- }
6939
+ styled.css `
6940
+ span[kind] {
6941
+ color: ${fontColor};
6942
+ }
6943
+
6944
+ ${SvgContainer} {
6945
+ path,
6946
+ circle {
6947
+ fill: ${fontColor};
6948
+ }
6949
+ }
6950
+ `};
6951
+
6952
+ ${uilibGl.LegendToggler} {
6953
+ margin-left: 0.25rem;
6954
+ }
6955
+
6956
+ span[kind="download"] {
6957
+ opacity: 0;
6958
+ transition: opacity ${uilibGl.transition.hover};
6959
+ }
6960
+
6961
+ :hover {
6962
+ span[kind="download"] {
6963
+ opacity: 1;
6964
+ }
6965
+ }
6939
6966
  `;
6940
- const ContainerTitle = styled(uilibGl.Flex) `
6941
- align-items: center;
6942
- justify-content: space-between;
6943
- width: 100%;
6944
-
6945
- > * {
6946
- font-size: 1.125rem;
6947
- font-weight: 500;
6948
- }
6949
-
6950
- ${uilibGl.LegendToggler} {
6951
- padding-right: 0;
6952
- }
6953
-
6967
+ const ContainerTitle = styled(uilibGl.Flex) `
6968
+ align-items: center;
6969
+ justify-content: space-between;
6970
+ width: 100%;
6971
+
6972
+ > * {
6973
+ font-size: 1.125rem;
6974
+ font-weight: 500;
6975
+ }
6976
+
6977
+ ${uilibGl.LegendToggler} {
6978
+ padding-right: 0;
6979
+ }
6980
+
6954
6981
  ${({ simple }) => simple &&
6955
- styled.css `
6956
- justify-content: flex-start;
6957
-
6958
- ${ContainerIconTitle} {
6959
- font-size: 0.75rem;
6960
- }
6961
-
6962
- ${uilibGl.LegendToggler} {
6963
- margin-left: 0;
6964
- padding-left: 0.25rem;
6965
- }
6966
- `}
6982
+ styled.css `
6983
+ justify-content: flex-start;
6984
+
6985
+ ${ContainerIconTitle} {
6986
+ font-size: 0.75rem;
6987
+ }
6988
+
6989
+ ${uilibGl.LegendToggler} {
6990
+ margin-left: 0;
6991
+ padding-left: 0.25rem;
6992
+ }
6993
+ `}
6967
6994
  `;
6968
6995
 
6969
6996
  const TitleContainer = React.memo(({ containerId, templateName, layerNames, fontColor, expandable, expanded, isVisible, elementConfig, renderElement, type, }) => {
@@ -7037,82 +7064,82 @@ const CameraContainer = React.memo(({ elementConfig, type, renderElement }) => {
7037
7064
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxRuntime.jsxs(Container, { id: id, style: style, children: [jsxRuntime.jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsxRuntime.jsx(ContainerValue, { children: renderElement({ id: "value", wrap: false }) })] }))] }));
7038
7065
  });
7039
7066
 
7040
- const TabAnchor = styled.div `
7041
- position: absolute;
7042
- top: -1.5rem;
7043
- right: 0;
7067
+ const TabAnchor = styled.div `
7068
+ position: absolute;
7069
+ top: -1.5rem;
7070
+ right: 0;
7044
7071
  `;
7045
- const TabValue = styled(uilibGl.Flex) `
7046
- flex-wrap: nowrap;
7072
+ const TabValue = styled(uilibGl.Flex) `
7073
+ flex-wrap: nowrap;
7047
7074
  `;
7048
- const noBgMixin = styled.css `
7049
- background-color: transparent;
7050
- border-radius: 0;
7051
- border-bottom: 0.125rem solid
7052
- ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
7053
-
7054
- ${TabValue},
7055
- span[kind] {
7056
- color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7057
- }
7058
-
7059
- &&& svg {
7060
- path,
7061
- line,
7062
- circle {
7063
- fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7064
- }
7065
- }
7066
-
7067
- :not(:last-child) {
7068
- margin-right: 0;
7069
- }
7075
+ const noBgMixin = styled.css `
7076
+ background-color: transparent;
7077
+ border-radius: 0;
7078
+ border-bottom: 0.125rem solid
7079
+ ${({ active, bgColor, theme: { palette } }) => (active ? bgColor || palette.primary : palette.element)};
7080
+
7081
+ ${TabValue},
7082
+ span[kind] {
7083
+ color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7084
+ }
7085
+
7086
+ &&& svg {
7087
+ path,
7088
+ line,
7089
+ circle {
7090
+ fill: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.textSecondary};
7091
+ }
7092
+ }
7093
+
7094
+ :not(:last-child) {
7095
+ margin-right: 0;
7096
+ }
7070
7097
  `;
7071
- const TabContainer = styled.a `
7072
- display: flex;
7073
- flex-direction: ${({ column }) => (column ? "column" : "row")};
7074
- align-items: center;
7075
- justify-content: center;
7076
- flex-wrap: nowrap;
7077
- padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
7078
- background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
7079
- border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
7080
- text-decoration: none;
7081
-
7082
- :not(:last-child) {
7083
- margin-right: 0.5rem;
7084
- }
7085
-
7086
- ${TabValue} {
7087
- margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
7088
- margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
7089
- font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
7090
- white-space: nowrap;
7091
- }
7092
-
7093
- ${TabValue},
7094
- span[kind] {
7095
- color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7096
- }
7097
-
7098
- ${SvgContainer$1} {
7099
- height: 1rem;
7100
- }
7101
-
7102
- svg,
7103
- img {
7104
- max-width: 1rem;
7105
- max-height: 1rem;
7106
- }
7107
-
7108
- ${({ noBg }) => noBg && noBgMixin};
7098
+ const TabContainer = styled.a `
7099
+ display: flex;
7100
+ flex-direction: ${({ column }) => (column ? "column" : "row")};
7101
+ align-items: center;
7102
+ justify-content: center;
7103
+ flex-wrap: nowrap;
7104
+ padding: ${({ onlyIcon }) => (onlyIcon ? 1 : 0.5)}rem 1rem;
7105
+ background-color: ${({ active, bgColor, theme: { palette } }) => active ? bgColor || palette.primary : palette.element};
7106
+ border-radius: ${({ column, radius, theme: { borderRadius } }) => radius ? `${radius}px` : column ? borderRadius.medium : borderRadius.xLarge};
7107
+ text-decoration: none;
7108
+
7109
+ :not(:last-child) {
7110
+ margin-right: 0.5rem;
7111
+ }
7112
+
7113
+ ${TabValue} {
7114
+ margin-top: ${({ column }) => (column ? 0.5 : 0)}rem;
7115
+ margin-left: ${({ column, hasIcon }) => (column || !hasIcon ? 0 : 0.5)}rem;
7116
+ font-size: ${({ column }) => (column ? 0.75 : 0.875)}rem;
7117
+ white-space: nowrap;
7118
+ }
7119
+
7120
+ ${TabValue},
7121
+ span[kind] {
7122
+ color: ${({ active, theme: { palette } }) => (active ? palette.textContrast : palette.textSecondary)};
7123
+ }
7124
+
7125
+ ${SvgContainer$1} {
7126
+ height: 1rem;
7127
+ }
7128
+
7129
+ svg,
7130
+ img {
7131
+ max-width: 1rem;
7132
+ max-height: 1rem;
7133
+ }
7134
+
7135
+ ${({ noBg }) => noBg && noBgMixin};
7109
7136
  `;
7110
- const SwiperContainer = styled.div `
7111
- width: 100%;
7112
-
7113
- .swiper-wrapper {
7114
- display: flex;
7115
- }
7137
+ const SwiperContainer = styled.div `
7138
+ width: 100%;
7139
+
7140
+ .swiper-wrapper {
7141
+ display: flex;
7142
+ }
7116
7143
  `;
7117
7144
 
7118
7145
  const TabsContainer = React.memo(({ elementConfig, type }) => {
@@ -7140,96 +7167,96 @@ const TabsContainer = React.memo(({ elementConfig, type }) => {
7140
7167
  });
7141
7168
 
7142
7169
  const ContainerIconValue = styled(uilibGl.Flex) ``;
7143
- const RoundedBackgroundContainerWrapper = styled(uilibGl.Flex) `
7144
- position: relative;
7145
- flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7146
- width: 9rem;
7147
- padding: 0.75rem 0.75rem 0.5rem;
7148
- background-color: ${({ theme: { palette } }) => palette.element};
7149
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7150
- flex-wrap: nowrap;
7151
-
7152
- && {
7153
- margin-bottom: 0.5rem;
7154
- }
7155
-
7170
+ const RoundedBackgroundContainerWrapper = styled(uilibGl.Flex) `
7171
+ position: relative;
7172
+ flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
7173
+ width: 9rem;
7174
+ padding: 0.75rem 0.75rem 0.5rem;
7175
+ background-color: ${({ theme: { palette } }) => palette.element};
7176
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
7177
+ flex-wrap: nowrap;
7178
+
7179
+ && {
7180
+ margin-bottom: 0.5rem;
7181
+ }
7182
+
7156
7183
  ${({ $center }) => $center &&
7157
- styled.css `
7158
- align-items: center;
7159
-
7160
- > * {
7161
- display: flex;
7162
- justify-content: center;
7163
- text-align: center;
7164
- width: 100%;
7165
- }
7166
- `};
7167
-
7184
+ styled.css `
7185
+ align-items: center;
7186
+
7187
+ > * {
7188
+ display: flex;
7189
+ justify-content: center;
7190
+ text-align: center;
7191
+ width: 100%;
7192
+ }
7193
+ `};
7194
+
7168
7195
  ${({ $color }) => $color &&
7169
- styled.css `
7170
- background-color: ${transparentizeColor($color, 6)};
7171
-
7172
- * {
7173
- color: ${$color};
7174
- }
7175
- `};
7176
-
7177
- ${ContainerIcon}, ${SvgContainer$1} {
7178
- margin-bottom: 0.25rem;
7179
- }
7180
-
7196
+ styled.css `
7197
+ background-color: ${transparentizeColor($color, 6)};
7198
+
7199
+ * {
7200
+ color: ${$color};
7201
+ }
7202
+ `};
7203
+
7204
+ ${ContainerIcon}, ${SvgContainer$1} {
7205
+ margin-bottom: 0.25rem;
7206
+ }
7207
+
7181
7208
  ${({ $bigIcon }) => $bigIcon &&
7182
- styled.css `
7183
- ${ContainerIcon}, ${SvgContainer$1} {
7184
- position: absolute;
7185
- top: 0.75rem;
7186
- right: 0.75rem;
7187
- width: 3rem;
7188
- opacity: 0.12;
7189
-
7190
- :after {
7191
- font-size: 3rem;
7192
- }
7193
- }
7194
- `};
7195
-
7196
- ${ContainerIconValue} {
7197
- align-items: center;
7198
- flex-direction: column;
7199
-
7209
+ styled.css `
7210
+ ${ContainerIcon}, ${SvgContainer$1} {
7211
+ position: absolute;
7212
+ top: 0.75rem;
7213
+ right: 0.75rem;
7214
+ width: 3rem;
7215
+ opacity: 0.12;
7216
+
7217
+ :after {
7218
+ font-size: 3rem;
7219
+ }
7220
+ }
7221
+ `};
7222
+
7223
+ ${ContainerIconValue} {
7224
+ align-items: center;
7225
+ flex-direction: column;
7226
+
7200
7227
  ${({ $big }) => $big &&
7201
- styled.css `
7202
- flex-direction: row;
7203
- margin-bottom: 0.5rem;
7204
-
7205
- > * {
7206
- text-align: left;
7207
- }
7208
-
7209
- span[kind] {
7210
- margin-right: 0.5rem;
7211
- }
7212
-
7213
- ${ContainerValue} {
7214
- width: auto;
7215
- }
7216
- `};
7217
- }
7218
-
7219
- ${ContainerValue} {
7220
- flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7221
- justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7222
- align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7223
- line-height: 1;
7224
- }
7225
-
7226
- ${ContainerUnits} {
7227
- margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7228
- }
7229
-
7230
- ${ContainerAlias} {
7231
- margin-top: 0.25rem;
7232
- }
7228
+ styled.css `
7229
+ flex-direction: row;
7230
+ margin-bottom: 0.5rem;
7231
+
7232
+ > * {
7233
+ text-align: left;
7234
+ }
7235
+
7236
+ span[kind] {
7237
+ margin-right: 0.5rem;
7238
+ }
7239
+
7240
+ ${ContainerValue} {
7241
+ width: auto;
7242
+ }
7243
+ `};
7244
+ }
7245
+
7246
+ ${ContainerValue} {
7247
+ flex-direction: ${({ $inlineUnits }) => ($inlineUnits ? "row" : "column")};
7248
+ justify-content: ${({ $big }) => ($big ? "flex-start" : "center")};
7249
+ align-items: ${({ $inlineUnits }) => ($inlineUnits ? "center" : "flex-start")};
7250
+ line-height: 1;
7251
+ }
7252
+
7253
+ ${ContainerUnits} {
7254
+ margin-left: ${({ $inlineUnits }) => ($inlineUnits ? "0.25rem" : 0)};
7255
+ }
7256
+
7257
+ ${ContainerAlias} {
7258
+ margin-top: 0.25rem;
7259
+ }
7233
7260
  `;
7234
7261
 
7235
7262
  const ALIAS_DEFAULT_MAX_LENGTH = 28;
@@ -7276,20 +7303,20 @@ const AddFeatureContainer = React.memo(({ elementConfig }) => {
7276
7303
  .map(({ options }, index) => (jsxRuntime.jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
7277
7304
  });
7278
7305
 
7279
- const LayersContainerWrapper = styled(Container) `
7280
- ${uilibGl.DraggableTreeContainer} {
7281
- width: calc(100% + 3rem);
7282
- margin: -0.75rem -1.5rem 0;
7283
- }
7284
-
7285
- ${LayerListContainer} {
7286
- height: auto;
7287
- }
7288
-
7289
- ${LayerGroupList} {
7290
- margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7291
- padding: 0;
7292
- }
7306
+ const LayersContainerWrapper = styled(Container) `
7307
+ ${uilibGl.DraggableTreeContainer} {
7308
+ width: calc(100% + 3rem);
7309
+ margin: -0.75rem -1.5rem 0;
7310
+ }
7311
+
7312
+ ${LayerListContainer} {
7313
+ height: auto;
7314
+ }
7315
+
7316
+ ${LayerGroupList} {
7317
+ margin: ${({ isPresentationMode }) => (isPresentationMode ? 0 : "0 -1.25rem 0 -1rem")};
7318
+ padding: 0;
7319
+ }
7293
7320
  `;
7294
7321
 
7295
7322
  const LayersContainer = React.memo(({ type, elementConfig, renderElement }) => {
@@ -7324,9 +7351,9 @@ const UploadContainer = React.memo(({ type, elementConfig, renderElement }) => {
7324
7351
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && renderElement({ id: "uploader", wrap: false })] }));
7325
7352
  });
7326
7353
 
7327
- const StatusBadge = styled(uilibGl.Chip) `
7328
- background-color: ${({ bgColor }) => bgColor};
7329
- color: ${({ theme }) => theme.palette.iconContrast};
7354
+ const StatusBadge = styled(uilibGl.Chip) `
7355
+ background-color: ${({ bgColor }) => bgColor};
7356
+ color: ${({ theme }) => theme.palette.iconContrast};
7330
7357
  `;
7331
7358
 
7332
7359
  const STATUS_TRANSLATION_KEYS = {
@@ -7384,22 +7411,22 @@ exports.EditGeometryType = void 0;
7384
7411
  EditGeometryType["Raster"] = "raster";
7385
7412
  })(exports.EditGeometryType || (exports.EditGeometryType = {}));
7386
7413
 
7387
- const StyledButton = styled(uilibGl.FlatButton) `
7388
- display: flex;
7389
- align-items: center;
7390
-
7391
- ${({ status = api.RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && styled.css `
7392
- transition: background-color ${uilibGl.transition.toggle};
7393
- background-color: ${statusColors[status]};
7394
-
7395
- :hover {
7396
- background-color: ${adjustColor(statusColors[status], themeName === exports.ThemeName.Dark ? -5 : 5)};
7397
- }
7398
-
7399
- :active {
7400
- background-color: ${adjustColor(statusColors[status], themeName === exports.ThemeName.Dark ? -10 : 10)};
7401
- }
7402
- `}
7414
+ const StyledButton = styled(uilibGl.FlatButton) `
7415
+ display: flex;
7416
+ align-items: center;
7417
+
7418
+ ${({ status = api.RemoteTaskStatus.Unknown, statusColors, themeName }) => !!statusColors?.[status] && styled.css `
7419
+ transition: background-color ${uilibGl.transition.toggle};
7420
+ background-color: ${statusColors[status]};
7421
+
7422
+ :hover {
7423
+ background-color: ${adjustColor(statusColors[status], themeName === exports.ThemeName.Dark ? -5 : 5)};
7424
+ }
7425
+
7426
+ :active {
7427
+ background-color: ${adjustColor(statusColors[status], themeName === exports.ThemeName.Dark ? -10 : 10)};
7428
+ }
7429
+ `}
7403
7430
  `;
7404
7431
 
7405
7432
  const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWaiting, isDisabled, onClick }) => {
@@ -7563,23 +7590,23 @@ const EditDropdownContainer = ({ type, elementConfig, renderElement, }) => {
7563
7590
  return (jsxRuntime.jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxRuntime.jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsxRuntime.jsx(ContainerValue, { column: true, children: jsxRuntime.jsx(uilibGl.Dropdown, { zIndex: 1000, label: control.label, placeholder: control.placeholder, options: optionsList, value: value, width: `${control.width ?? DEFAULT_DROPDOWN_WIDTH}px`, onChange: ([option]) => onChange(option.value) }) })] }));
7564
7591
  };
7565
7592
 
7566
- const CheckboxWrapper = styled(ContainerValue) `
7567
- flex-wrap: wrap;
7568
-
7569
- && > label {
7570
- cursor: pointer;
7571
- margin-bottom: 0.25rem;
7572
- }
7593
+ const CheckboxWrapper = styled(ContainerValue) `
7594
+ flex-wrap: wrap;
7595
+
7596
+ && > label {
7597
+ cursor: pointer;
7598
+ margin-bottom: 0.25rem;
7599
+ }
7573
7600
  `;
7574
- const ChipsWrapper = styled(ContainerValue) `
7575
- flex-wrap: wrap;
7576
-
7577
- && > span {
7578
- cursor: pointer;
7579
- margin: 0 0.25rem 0.25rem 0;
7580
- padding: 0.25rem 0.5rem;
7581
- border-radius: 0.25rem;
7582
- }
7601
+ const ChipsWrapper = styled(ContainerValue) `
7602
+ flex-wrap: wrap;
7603
+
7604
+ && > span {
7605
+ cursor: pointer;
7606
+ margin: 0 0.25rem 0.25rem 0;
7607
+ padding: 0.25rem 0.5rem;
7608
+ border-radius: 0.25rem;
7609
+ }
7583
7610
  `;
7584
7611
 
7585
7612
  const EditChipsContainer = ({ type, elementConfig, renderElement, }) => {
@@ -7604,9 +7631,9 @@ const EditDateContainer = ({ type, elementConfig, renderElement, }) => {
7604
7631
  return (jsxRuntime.jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxRuntime.jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsxRuntime.jsx(ContainerValue, { column: true, children: jsxRuntime.jsx(uilibGl.DatePicker, { value: dateValue, locale: uilibGl.getLocale(language), withTime: withTime ?? false, withHeader: true, width: "100%", onChange: handleChange }) })] }));
7605
7632
  };
7606
7633
 
7607
- const ContainerDivider = styled(uilibGl.Divider) `
7608
- width: 100%;
7609
- border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7634
+ const ContainerDivider = styled(uilibGl.Divider) `
7635
+ width: 100%;
7636
+ border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
7610
7637
  `;
7611
7638
 
7612
7639
  const DividerContainer = React.memo(({ elementConfig, config }) => {
@@ -7656,235 +7683,235 @@ const getContainerComponent = (innerTemplateName) => innerTemplateName
7656
7683
  var img$3 = "data:image/png;base64,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";
7657
7684
 
7658
7685
  const getMaskColor = (isDark) => (isDark ? "0, 0, 0" : "255, 255, 255");
7659
- const DefaultHeaderContainer = styled(uilibGl.Flex) `
7660
- flex-direction: column;
7661
- position: relative;
7662
- flex-shrink: 0;
7663
- min-height: 8.175rem;
7664
- margin-bottom: -1.5rem;
7665
- padding: 1.5rem 1.5rem 0;
7666
- border-top-left-radius: 0.5rem;
7667
- border-top-right-radius: 0.5rem;
7668
- overflow: hidden;
7669
-
7670
- > * {
7671
- z-index: 1;
7672
- }
7673
-
7674
- &::before {
7675
- content: "";
7676
- position: absolute;
7677
- top: 0;
7678
- left: 0;
7679
- width: 100%;
7680
- height: 100%;
7681
-
7686
+ const DefaultHeaderContainer = styled(uilibGl.Flex) `
7687
+ flex-direction: column;
7688
+ position: relative;
7689
+ flex-shrink: 0;
7690
+ min-height: 8.175rem;
7691
+ margin-bottom: -1.5rem;
7692
+ padding: 1.5rem 1.5rem 0;
7693
+ border-top-left-radius: 0.5rem;
7694
+ border-top-right-radius: 0.5rem;
7695
+ overflow: hidden;
7696
+
7697
+ > * {
7698
+ z-index: 1;
7699
+ }
7700
+
7701
+ &::before {
7702
+ content: "";
7703
+ position: absolute;
7704
+ top: 0;
7705
+ left: 0;
7706
+ width: 100%;
7707
+ height: 100%;
7708
+
7682
7709
  ${({ image, isDark }) => image
7683
- ? styled.css `
7684
- background: url(${image}) 0 0 no-repeat;
7685
- background-size: cover;
7710
+ ? styled.css `
7711
+ background: url(${image}) 0 0 no-repeat;
7712
+ background-size: cover;
7686
7713
  `
7687
- : styled.css `
7688
- background: url(${img$3}) 50% 0 no-repeat;
7689
- opacity: ${isDark ? 1 : 0.5};
7690
- `}
7691
- }
7692
-
7714
+ : styled.css `
7715
+ background: url(${img$3}) 50% 0 no-repeat;
7716
+ opacity: ${isDark ? 1 : 0.5};
7717
+ `}
7718
+ }
7719
+
7693
7720
  ${({ image, isDark }) => image &&
7694
- styled.css `
7695
- &::before {
7696
- -webkit-mask-image: linear-gradient(
7697
- to bottom,
7698
- rgba(${getMaskColor(isDark)}, 1),
7699
- rgba(${getMaskColor(isDark)}, 0)
7700
- );
7701
- mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
7702
- }
7703
- `}
7704
- ${uilibGl.LinearProgress} {
7705
- position: absolute;
7706
- top: 0;
7707
- left: 0;
7708
- }
7721
+ styled.css `
7722
+ &::before {
7723
+ -webkit-mask-image: linear-gradient(
7724
+ to bottom,
7725
+ rgba(${getMaskColor(isDark)}, 1),
7726
+ rgba(${getMaskColor(isDark)}, 0)
7727
+ );
7728
+ mask-image: linear-gradient(to bottom, rgba(${getMaskColor(isDark)}, 1), rgba(${getMaskColor(isDark)}, 0));
7729
+ }
7730
+ `}
7731
+ ${uilibGl.LinearProgress} {
7732
+ position: absolute;
7733
+ top: 0;
7734
+ left: 0;
7735
+ }
7709
7736
  `;
7710
- const TopContainer = styled(uilibGl.Flex) `
7711
- z-index: 1;
7712
- position: relative;
7713
- justify-content: space-between;
7714
- flex-wrap: nowrap;
7715
- width: 100%;
7716
- align-items: flex-start;
7717
- `;
7718
- const TopContainerButtons = styled(uilibGl.Flex) `
7719
- align-items: center;
7720
- width: auto;
7721
- margin-right: -0.5rem;
7722
-
7723
- button {
7724
- width: auto;
7725
- height: 1rem;
7726
- padding: 0 0.5rem;
7727
- }
7737
+ const TopContainer = styled(uilibGl.Flex) `
7738
+ z-index: 1;
7739
+ position: relative;
7740
+ justify-content: space-between;
7741
+ flex-wrap: nowrap;
7742
+ width: 100%;
7743
+ align-items: flex-start;
7744
+ `;
7745
+ const TopContainerButtons = styled(uilibGl.Flex) `
7746
+ align-items: center;
7747
+ width: auto;
7748
+ margin-right: -0.5rem;
7749
+
7750
+ button {
7751
+ width: auto;
7752
+ height: 1rem;
7753
+ padding: 0 0.5rem;
7754
+ }
7728
7755
  `;
7729
- const LogoContainer = styled(uilibGl.Flex) `
7730
- max-width: calc(100% - 1.4rem);
7731
- max-height: 1.875rem;
7732
- flex-grow: 1;
7733
- font-size: 0;
7734
-
7735
- & > span::after {
7736
- font-size: 2rem;
7737
- }
7738
-
7739
- img {
7740
- max-height: 1.875rem;
7741
- }
7756
+ const LogoContainer = styled(uilibGl.Flex) `
7757
+ max-width: calc(100% - 1.4rem);
7758
+ max-height: 1.875rem;
7759
+ flex-grow: 1;
7760
+ font-size: 0;
7761
+
7762
+ & > span::after {
7763
+ font-size: 2rem;
7764
+ }
7765
+
7766
+ img {
7767
+ max-height: 1.875rem;
7768
+ }
7742
7769
  `;
7743
- const PageTitle = styled(uilibGl.H2) `
7744
- cursor: pointer;
7745
- text-align: left;
7746
- flex: 1 1 auto;
7747
- min-width: 0;
7748
- margin: 0;
7749
- font-size: 1.25rem;
7750
- font-weight: 600;
7751
- pointer-events: initial;
7752
- font-family: "Nunito Sans", serif;
7753
-
7754
- > * {
7755
- white-space: nowrap;
7756
- overflow: hidden;
7757
- text-overflow: ellipsis;
7758
- }
7770
+ const PageTitle = styled(uilibGl.H2) `
7771
+ cursor: pointer;
7772
+ text-align: left;
7773
+ flex: 1 1 auto;
7774
+ min-width: 0;
7775
+ margin: 0;
7776
+ font-size: 1.25rem;
7777
+ font-weight: 600;
7778
+ pointer-events: initial;
7779
+ font-family: "Nunito Sans", serif;
7780
+
7781
+ > * {
7782
+ white-space: nowrap;
7783
+ overflow: hidden;
7784
+ text-overflow: ellipsis;
7785
+ }
7759
7786
  `;
7760
- const PageTitleContainer = styled(uilibGl.Flex) `
7761
- flex-grow: 1;
7762
- align-items: center;
7763
-
7764
- ${PageTitle} {
7765
- max-width: 15.75rem;
7766
- }
7767
-
7768
- &&& button {
7769
- width: 0;
7770
- overflow: hidden;
7771
-
7772
- span[kind] {
7773
- display: flex;
7774
- align-items: center;
7775
- justify-content: center;
7776
- width: 0.75rem;
7777
-
7778
- :after {
7779
- font-size: 0.75rem;
7780
- color: ${({ theme: { palette } }) => palette.textDisabled};
7781
- transition: color ${uilibGl.transition.hover};
7782
- }
7783
- }
7784
-
7785
- &:hover,
7786
- &:active {
7787
- span[kind]:after {
7788
- color: ${({ theme: { palette } }) => palette.textPrimary};
7789
- }
7790
- }
7791
- }
7792
-
7793
- :hover {
7794
- ${PageTitle} {
7795
- max-width: 14.25rem;
7796
- }
7797
-
7798
- &&& button {
7799
- width: 1.5rem;
7800
- }
7801
- }
7787
+ const PageTitleContainer = styled(uilibGl.Flex) `
7788
+ flex-grow: 1;
7789
+ align-items: center;
7790
+
7791
+ ${PageTitle} {
7792
+ max-width: 15.75rem;
7793
+ }
7794
+
7795
+ &&& button {
7796
+ width: 0;
7797
+ overflow: hidden;
7798
+
7799
+ span[kind] {
7800
+ display: flex;
7801
+ align-items: center;
7802
+ justify-content: center;
7803
+ width: 0.75rem;
7804
+
7805
+ :after {
7806
+ font-size: 0.75rem;
7807
+ color: ${({ theme: { palette } }) => palette.textDisabled};
7808
+ transition: color ${uilibGl.transition.hover};
7809
+ }
7810
+ }
7811
+
7812
+ &:hover,
7813
+ &:active {
7814
+ span[kind]:after {
7815
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7816
+ }
7817
+ }
7818
+ }
7819
+
7820
+ :hover {
7821
+ ${PageTitle} {
7822
+ max-width: 14.25rem;
7823
+ }
7824
+
7825
+ &&& button {
7826
+ width: 1.5rem;
7827
+ }
7828
+ }
7802
7829
  `;
7803
7830
 
7804
7831
  const DashboardDefaultHeader = React.memo(() => {
7805
- const { title } = useDashboardHeader();
7832
+ const { title, pageId, image, icon, tooltip, themeName } = useDashboardHeader();
7806
7833
  const { toggleLayersVisibility, components: { ProjectPanelMenu, ProjectPagesMenu }, } = useWidgetContext();
7807
- const { pageId, image, icon, tooltip, themeName } = useDashboardHeader();
7808
- return (jsxRuntime.jsxs(DefaultHeaderContainer, { image: getResourceUrl(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.jsx(TopContainerButtons, { children: 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.jsxs(PageTitleContainer, { children: [jsxRuntime.jsx(uilibGl.Tooltip, { arrow: true, content: tooltip, children: ref => (jsxRuntime.jsx(PageTitle, { ref: ref, onClick: toggleLayersVisibility, children: title })) }), jsxRuntime.jsx(ProjectPagesMenu, {})] }), jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsx(Pagination, {}) })] }) }) }) })] })] }));
7834
+ const backgroundImage = useFetchImageWithAuth(image ? getResourceUrl(image) : null);
7835
+ return (jsxRuntime.jsxs(DefaultHeaderContainer, { image: backgroundImage ?? undefined, 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.jsx(TopContainerButtons, { children: 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.jsxs(PageTitleContainer, { children: [jsxRuntime.jsx(uilibGl.Tooltip, { arrow: true, content: tooltip, children: ref => (jsxRuntime.jsx(PageTitle, { ref: ref, onClick: toggleLayersVisibility, children: title })) }), jsxRuntime.jsx(ProjectPagesMenu, {})] }), jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsx(Pagination, {}) })] }) }) }) })] })] }));
7809
7836
  });
7810
7837
 
7811
- const HeaderFrontView = styled(uilibGl.Flex) `
7812
- z-index: 10;
7813
- position: relative;
7814
- justify-content: space-between;
7815
- align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7816
- width: 100%;
7817
- font: ${({ theme: { fonts } }) => fonts.subtitle};
7818
- `;
7819
- const HeaderContainer = styled(uilibGl.FlexSpan) `
7820
- display: flex;
7821
- flex-grow: 1;
7822
- flex-wrap: nowrap;
7823
- width: calc(100% - 48px);
7824
- `;
7825
- const FeatureTitleContainer = styled.div `
7826
- display: -webkit-box;
7827
- max-width: 100%;
7828
- width: 100%;
7829
- margin: 0.5rem 0;
7830
- -webkit-line-clamp: 2;
7831
- -webkit-box-orient: vertical;
7832
- overflow: hidden;
7833
- text-overflow: ellipsis;
7834
- color: ${({ theme: { palette } }) => palette.textPrimary};
7835
-
7836
- & > ${uilibGl.FlexSpan} {
7837
- cursor: ${({ clickable }) => clickable && "pointer"};
7838
-
7839
- &:hover {
7840
- color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7841
- }
7842
- }
7838
+ const HeaderFrontView = styled(uilibGl.Flex) `
7839
+ z-index: 10;
7840
+ position: relative;
7841
+ justify-content: space-between;
7842
+ align-items: ${({ isDefault }) => (isDefault ? "center" : "flex-start")};
7843
+ width: 100%;
7844
+ font: ${({ theme: { fonts } }) => fonts.subtitle};
7845
+ `;
7846
+ const HeaderContainer = styled(uilibGl.FlexSpan) `
7847
+ display: flex;
7848
+ flex-grow: 1;
7849
+ flex-wrap: nowrap;
7850
+ width: calc(100% - 48px);
7851
+ `;
7852
+ const FeatureTitleContainer = styled.div `
7853
+ display: -webkit-box;
7854
+ max-width: 100%;
7855
+ width: 100%;
7856
+ margin: 0.5rem 0;
7857
+ -webkit-line-clamp: 2;
7858
+ -webkit-box-orient: vertical;
7859
+ overflow: hidden;
7860
+ text-overflow: ellipsis;
7861
+ color: ${({ theme: { palette } }) => palette.textPrimary};
7862
+
7863
+ & > ${uilibGl.FlexSpan} {
7864
+ cursor: ${({ clickable }) => clickable && "pointer"};
7865
+
7866
+ &:hover {
7867
+ color: ${({ clickable, theme: { palette } }) => clickable && palette.primary};
7868
+ }
7869
+ }
7843
7870
  `;
7844
- const LayerDescription = styled(uilibGl.Description) `
7845
- width: calc(100% - 4rem);
7846
- display: -webkit-box;
7847
- -webkit-line-clamp: 2;
7848
- -webkit-box-orient: vertical;
7849
- overflow: hidden;
7850
- text-overflow: ellipsis;
7871
+ const LayerDescription = styled(uilibGl.Description) `
7872
+ width: calc(100% - 4rem);
7873
+ display: -webkit-box;
7874
+ -webkit-line-clamp: 2;
7875
+ -webkit-box-orient: vertical;
7876
+ overflow: hidden;
7877
+ text-overflow: ellipsis;
7851
7878
  `;
7852
- const HeaderTitleContainer = styled(uilibGl.Flex) `
7853
- flex-direction: column;
7854
- width: 100%;
7879
+ const HeaderTitleContainer = styled(uilibGl.Flex) `
7880
+ flex-direction: column;
7881
+ width: 100%;
7855
7882
  `;
7856
- const RowHeaderMixin = styled.css `
7857
- &&& {
7858
- min-height: auto;
7859
-
7860
- ${FeatureTitleContainer}, ${LayerDescription} {
7861
- text-align: left;
7862
- }
7863
- }
7864
-
7865
- ${HeaderContainer} {
7866
- flex-direction: row;
7867
- }
7868
-
7869
- ${FeatureTitleContainer} {
7870
- max-width: calc(100% - 3.8rem);
7871
- }
7883
+ const RowHeaderMixin = styled.css `
7884
+ &&& {
7885
+ min-height: auto;
7886
+
7887
+ ${FeatureTitleContainer}, ${LayerDescription} {
7888
+ text-align: left;
7889
+ }
7890
+ }
7891
+
7892
+ ${HeaderContainer} {
7893
+ flex-direction: row;
7894
+ }
7895
+
7896
+ ${FeatureTitleContainer} {
7897
+ max-width: calc(100% - 3.8rem);
7898
+ }
7872
7899
  `;
7873
- const Header = styled(uilibGl.Flex) `
7874
- z-index: 1;
7875
- position: relative;
7876
- top: 0;
7877
- flex-shrink: 0;
7878
- overflow: hidden;
7879
- width: 100%;
7880
- padding: 0.5rem;
7881
-
7882
- ${({ $isRow }) => $isRow && RowHeaderMixin};
7900
+ const Header = styled(uilibGl.Flex) `
7901
+ z-index: 1;
7902
+ position: relative;
7903
+ top: 0;
7904
+ flex-shrink: 0;
7905
+ overflow: hidden;
7906
+ width: 100%;
7907
+ padding: 0.5rem;
7908
+
7909
+ ${({ $isRow }) => $isRow && RowHeaderMixin};
7883
7910
  `;
7884
- const DefaultHeaderWrapper = styled.div `
7885
- ${Header} {
7886
- padding: 0 1.5rem 1.5rem 0;
7887
- }
7911
+ const DefaultHeaderWrapper = styled.div `
7912
+ ${Header} {
7913
+ padding: 0 1.5rem 1.5rem 0;
7914
+ }
7888
7915
  `;
7889
7916
 
7890
7917
  const HeaderTitle = ({ noFeature }) => {
@@ -7912,24 +7939,24 @@ const HeaderTitle = ({ noFeature }) => {
7912
7939
  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 })] }));
7913
7940
  };
7914
7941
 
7915
- const LayerIconContainer = styled.div `
7916
- display: flex;
7917
- align-items: center;
7918
- justify-content: center;
7919
- min-width: 2rem;
7920
- margin-right: 0.5rem;
7942
+ const LayerIconContainer = styled.div `
7943
+ display: flex;
7944
+ align-items: center;
7945
+ justify-content: center;
7946
+ min-width: 2rem;
7947
+ margin-right: 0.5rem;
7921
7948
  `;
7922
- const AlertIconContainer = styled(uilibGl.Flex) `
7923
- align-items: center;
7924
- justify-content: center;
7925
- width: 2rem;
7926
- height: 2rem;
7927
-
7928
- ${uilibGl.Icon} {
7929
- :after {
7930
- color: ${({ theme: { palette } }) => palette.error};
7931
- }
7932
- }
7949
+ const AlertIconContainer = styled(uilibGl.Flex) `
7950
+ align-items: center;
7951
+ justify-content: center;
7952
+ width: 2rem;
7953
+ height: 2rem;
7954
+
7955
+ ${uilibGl.Icon} {
7956
+ :after {
7957
+ color: ${({ theme: { palette } }) => palette.error};
7958
+ }
7959
+ }
7933
7960
  `;
7934
7961
 
7935
7962
  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";
@@ -7962,54 +7989,54 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
7962
7989
  return (jsxRuntime.jsx(DefaultHeaderWrapper, { children: 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, {})] }) }) }));
7963
7990
  };
7964
7991
 
7965
- const HeaderFontColorMixin$1 = styled.css `
7966
- ${HeaderTitleContainer}, ${LayerDescription} {
7967
- color: ${({ $fontColor }) => $fontColor};
7968
- }
7992
+ const HeaderFontColorMixin$1 = styled.css `
7993
+ ${HeaderTitleContainer}, ${LayerDescription} {
7994
+ color: ${({ $fontColor }) => $fontColor};
7995
+ }
7969
7996
  `;
7970
- const HeaderWrapperMixin$1 = styled.css `
7971
- ${Header} {
7972
- min-height: 5.25rem;
7973
- }
7974
-
7975
- ${HeaderContainer} {
7976
- max-width: 100%;
7977
- width: 100%;
7978
- }
7979
-
7980
- ${FeatureControls} {
7981
- max-width: calc(100% - 2rem);
7982
- width: calc(100% - 2rem);
7983
- margin-top: -0.5rem;
7984
- padding-top: 1rem;
7985
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
7986
- }
7987
-
7988
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
7997
+ const HeaderWrapperMixin$1 = styled.css `
7998
+ ${Header} {
7999
+ min-height: 5.25rem;
8000
+ }
8001
+
8002
+ ${HeaderContainer} {
8003
+ max-width: 100%;
8004
+ width: 100%;
8005
+ }
8006
+
8007
+ ${FeatureControls} {
8008
+ max-width: calc(100% - 2rem);
8009
+ width: calc(100% - 2rem);
8010
+ margin-top: -0.5rem;
8011
+ padding-top: 1rem;
8012
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8013
+ }
8014
+
8015
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin$1};
7989
8016
  `;
7990
- const GradientHeaderWrapper = styled.div `
7991
- ${Header} {
7992
- background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
7993
- }
7994
-
7995
- ${HeaderContainer} {
7996
- align-items: center;
7997
- }
7998
-
7999
- ${HeaderTitleContainer} {
8000
- margin-left: 0;
8001
- text-align: center;
8002
- }
8003
-
8004
- ${FeatureTitleContainer} {
8005
- text-align: center;
8006
- }
8007
-
8008
- ${LayerDescription} {
8009
- text-align: center;
8010
- }
8011
-
8012
- ${HeaderWrapperMixin$1};
8017
+ const GradientHeaderWrapper = styled.div `
8018
+ ${Header} {
8019
+ background: ${({ $bgColor }) => $bgColor || "radial-gradient(129.21% 133.22% at 51.94% 0%, #e8fffe 9.48%, #5fcaff 100%)"};
8020
+ }
8021
+
8022
+ ${HeaderContainer} {
8023
+ align-items: center;
8024
+ }
8025
+
8026
+ ${HeaderTitleContainer} {
8027
+ margin-left: 0;
8028
+ text-align: center;
8029
+ }
8030
+
8031
+ ${FeatureTitleContainer} {
8032
+ text-align: center;
8033
+ }
8034
+
8035
+ ${LayerDescription} {
8036
+ text-align: center;
8037
+ }
8038
+
8039
+ ${HeaderWrapperMixin$1};
8013
8040
  `;
8014
8041
 
8015
8042
  const FeatureCardGradientHeader = ({ isRow }) => {
@@ -8028,80 +8055,80 @@ const FeatureCardGradientHeader = ({ isRow }) => {
8028
8055
  }) })] }), jsxRuntime.jsx(FeatureCardButtons, {})] }) }) }) }));
8029
8056
  };
8030
8057
 
8031
- const HeaderFontColorMixin = styled.css `
8032
- ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
8033
- color: ${({ $fontColor }) => $fontColor};
8034
- }
8058
+ const HeaderFontColorMixin = styled.css `
8059
+ ${HeaderTitleContainer}, ${HeaderTitleContainer} *, ${LayerDescription} {
8060
+ color: ${({ $fontColor }) => $fontColor};
8061
+ }
8035
8062
  `;
8036
- const HeaderWrapperMixin = styled.css `
8037
- ${Header} {
8038
- min-height: 5.25rem;
8039
- }
8040
-
8041
- ${HeaderContainer} {
8042
- max-width: 100%;
8043
- width: 100%;
8044
- }
8045
-
8046
- ${FeatureControls} {
8047
- max-width: calc(100% - 2rem);
8048
- width: calc(100% - 2rem);
8049
- margin-top: -0.5rem;
8050
- padding-top: 1rem;
8051
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8052
- }
8053
-
8054
- ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
8055
- `;
8056
- const HeaderIcon = styled(uilibGl.Flex) `
8057
- position: absolute;
8058
- top: 0;
8059
- right: 0;
8060
- justify-content: flex-end;
8061
- align-items: center;
8062
- min-width: 7.5rem;
8063
- height: 100%;
8064
-
8065
- span[kind]:after {
8066
- font-size: 7.5rem;
8067
- }
8068
-
8069
- span[kind]:after,
8070
- path,
8071
- line,
8072
- circle {
8073
- fill: rgba(255, 255, 255, 0.36);
8074
- }
8075
-
8076
- && > * {
8077
- display: flex;
8078
- align-items: center;
8079
- height: 100%;
8080
- }
8063
+ const HeaderWrapperMixin = styled.css `
8064
+ ${Header} {
8065
+ min-height: 5.25rem;
8066
+ }
8067
+
8068
+ ${HeaderContainer} {
8069
+ max-width: 100%;
8070
+ width: 100%;
8071
+ }
8072
+
8073
+ ${FeatureControls} {
8074
+ max-width: calc(100% - 2rem);
8075
+ width: calc(100% - 2rem);
8076
+ margin-top: -0.5rem;
8077
+ padding-top: 1rem;
8078
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8079
+ }
8080
+
8081
+ ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
8081
8082
  `;
8082
- const BigIconHeaderMixin = styled.css `
8083
- ${HeaderIcon} {
8084
- min-width: 14rem;
8085
- right: -3rem;
8086
-
8087
- span[kind]:after {
8088
- font-size: 14rem;
8089
- }
8090
- }
8083
+ const HeaderIcon = styled(uilibGl.Flex) `
8084
+ position: absolute;
8085
+ top: 0;
8086
+ right: 0;
8087
+ justify-content: flex-end;
8088
+ align-items: center;
8089
+ min-width: 7.5rem;
8090
+ height: 100%;
8091
+
8092
+ span[kind]:after {
8093
+ font-size: 7.5rem;
8094
+ }
8095
+
8096
+ span[kind]:after,
8097
+ path,
8098
+ line,
8099
+ circle {
8100
+ fill: rgba(255, 255, 255, 0.36);
8101
+ }
8102
+
8103
+ && > * {
8104
+ display: flex;
8105
+ align-items: center;
8106
+ height: 100%;
8107
+ }
8091
8108
  `;
8092
- const IconHeaderWrapper = styled.div `
8093
- ${Header} {
8094
- width: calc(100% + 0.5rem);
8095
- margin: -1rem -1rem 0.5rem -1rem;
8096
- padding: 1.5rem;
8097
- border-top-left-radius: 0.5rem;
8098
- border-top-right-radius: 0.5rem;
8099
- background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
8100
- }
8101
-
8102
- ${HeaderWrapperMixin};
8103
-
8104
- ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
8109
+ const BigIconHeaderMixin = styled.css `
8110
+ ${HeaderIcon} {
8111
+ min-width: 14rem;
8112
+ right: -3rem;
8113
+
8114
+ span[kind]:after {
8115
+ font-size: 14rem;
8116
+ }
8117
+ }
8118
+ `;
8119
+ const IconHeaderWrapper = styled.div `
8120
+ ${Header} {
8121
+ width: calc(100% + 0.5rem);
8122
+ margin: -1rem -1rem 0.5rem -1rem;
8123
+ padding: 1.5rem;
8124
+ border-top-left-radius: 0.5rem;
8125
+ border-top-right-radius: 0.5rem;
8126
+ background: ${({ $bgColor }) => $bgColor || "linear-gradient(96.55deg, #FFFCD3 0%, #B4DC47 100%)"};
8127
+ }
8128
+
8129
+ ${HeaderWrapperMixin};
8130
+
8131
+ ${({ $bigIcon }) => $bigIcon && BigIconHeaderMixin};
8105
8132
  `;
8106
8133
 
8107
8134
  const FeatureCardIconHeader = ({ isRow }) => {
@@ -8123,15 +8150,15 @@ const FeatureCardIconHeader = ({ isRow }) => {
8123
8150
  }) })] }) }) }));
8124
8151
  };
8125
8152
 
8126
- const ImageContainerButton = styled(uilibGl.FlatButton) `
8127
- min-height: 1.5rem;
8128
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
8129
- background-color: ${({ theme: { palette } }) => palette.primary};
8130
- text-transform: none;
8131
-
8132
- :hover {
8133
- background-color: ${({ theme: { palette } }) => palette.primaryDeep};
8134
- }
8153
+ const ImageContainerButton = styled(uilibGl.FlatButton) `
8154
+ min-height: 1.5rem;
8155
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
8156
+ background-color: ${({ theme: { palette } }) => palette.primary};
8157
+ text-transform: none;
8158
+
8159
+ :hover {
8160
+ background-color: ${({ theme: { palette } }) => palette.primaryDeep};
8161
+ }
8135
8162
  `;
8136
8163
 
8137
8164
  const ElementButton = React.memo(({ type, elementConfig }) => {
@@ -8143,157 +8170,157 @@ const ElementButton = React.memo(({ type, elementConfig }) => {
8143
8170
  return (jsxRuntime.jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
8144
8171
  });
8145
8172
 
8146
- const AttributeGalleryContainer = styled.div `
8147
- && {
8148
- width: calc(100% + 3rem);
8149
- }
8150
-
8151
- min-height: 12.625rem;
8152
- background-color: ${({ theme: { palette } }) => palette.element};
8153
-
8154
- img {
8155
- width: 100%;
8156
- }
8173
+ const AttributeGalleryContainer = styled.div `
8174
+ && {
8175
+ width: calc(100% + 3rem);
8176
+ }
8177
+
8178
+ min-height: 12.625rem;
8179
+ background-color: ${({ theme: { palette } }) => palette.element};
8180
+
8181
+ img {
8182
+ width: 100%;
8183
+ }
8157
8184
  `;
8158
- const LinearProgressContainer = styled(uilibGl.Flex) `
8159
- align-items: center;
8160
- justify-content: center;
8161
- min-height: inherit;
8162
-
8163
- ${uilibGl.LinearProgress} {
8164
- max-width: 4rem;
8165
- }
8185
+ const LinearProgressContainer = styled(uilibGl.Flex) `
8186
+ align-items: center;
8187
+ justify-content: center;
8188
+ min-height: inherit;
8189
+
8190
+ ${uilibGl.LinearProgress} {
8191
+ max-width: 4rem;
8192
+ }
8166
8193
  `;
8167
- const NoLiveSnapshotContainer = styled(uilibGl.Flex) `
8168
- flex-direction: column;
8169
- align-items: center;
8170
-
8171
- span[kind="alert"] {
8172
- width: 2rem;
8173
- height: 2rem;
8174
-
8175
- &:after {
8176
- font-size: 2rem;
8177
- color: ${({ theme: { palette } }) => palette.elementDeep};
8178
- }
8179
- }
8180
-
8181
- ${uilibGl.Description} {
8182
- font-size: 0.75rem;
8183
- color: ${({ theme: { palette } }) => palette.textDisabled};
8184
- }
8194
+ const NoLiveSnapshotContainer = styled(uilibGl.Flex) `
8195
+ flex-direction: column;
8196
+ align-items: center;
8197
+
8198
+ span[kind="alert"] {
8199
+ width: 2rem;
8200
+ height: 2rem;
8201
+
8202
+ &:after {
8203
+ font-size: 2rem;
8204
+ color: ${({ theme: { palette } }) => palette.elementDeep};
8205
+ }
8206
+ }
8207
+
8208
+ ${uilibGl.Description} {
8209
+ font-size: 0.75rem;
8210
+ color: ${({ theme: { palette } }) => palette.textDisabled};
8211
+ }
8185
8212
  `;
8186
- const SmallPreviewControl = styled(uilibGl.IconButton) `
8187
- cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
8188
- z-index: 3;
8189
- position: absolute;
8190
- top: 50%;
8191
- width: 2.5rem;
8192
- height: 2.5rem;
8193
- margin-top: -1.25rem;
8194
- background-color: rgba(61, 61, 61, 0.8);
8195
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8196
-
8197
- span:after {
8198
- color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
8199
- transition: color ${uilibGl.transition.hover};
8200
- }
8213
+ const SmallPreviewControl = styled(uilibGl.IconButton) `
8214
+ cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
8215
+ z-index: 3;
8216
+ position: absolute;
8217
+ top: 50%;
8218
+ width: 2.5rem;
8219
+ height: 2.5rem;
8220
+ margin-top: -1.25rem;
8221
+ background-color: rgba(61, 61, 61, 0.8);
8222
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8223
+
8224
+ span:after {
8225
+ color: ${({ $isDisabled }) => ($isDisabled ? "rgba(255, 255, 255, 0.28)" : "rgba(255, 255, 255, 1)")};
8226
+ transition: color ${uilibGl.transition.hover};
8227
+ }
8201
8228
  `;
8202
- const SmallPreviewCounter = styled(uilibGl.Flex) `
8203
- z-index: 3;
8204
- position: absolute;
8205
- bottom: 0.625rem;
8206
- left: 0;
8207
- width: 100%;
8208
- height: 1rem;
8209
- justify-content: center;
8210
-
8211
- > div {
8212
- background-color: rgba(61, 61, 61, 0.8);
8213
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8214
- padding: 0 0.5rem;
8215
- font-size: 0.625rem;
8216
- line-height: 1rem;
8217
- color: #fff;
8218
- }
8229
+ const SmallPreviewCounter = styled(uilibGl.Flex) `
8230
+ z-index: 3;
8231
+ position: absolute;
8232
+ bottom: 0.625rem;
8233
+ left: 0;
8234
+ width: 100%;
8235
+ height: 1rem;
8236
+ justify-content: center;
8237
+
8238
+ > div {
8239
+ background-color: rgba(61, 61, 61, 0.8);
8240
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8241
+ padding: 0 0.5rem;
8242
+ font-size: 0.625rem;
8243
+ line-height: 1rem;
8244
+ color: #fff;
8245
+ }
8219
8246
  `;
8220
8247
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
8221
8248
  kind: "prev",
8222
- })) `
8223
- left: 1.5rem;
8249
+ })) `
8250
+ left: 1.5rem;
8224
8251
  `;
8225
8252
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
8226
8253
  kind: "next",
8227
- })) `
8228
- right: 1.5rem;
8229
- `;
8230
- const imgSlideShowMixin = styled.css `
8231
- &:nth-child(${({ prevIndex }) => prevIndex}) {
8232
- z-index: 2;
8233
- position: absolute;
8234
- top: 0;
8235
- left: 0;
8236
- right: 0;
8237
- bottom: 0;
8238
- opacity: 0;
8239
-
8240
- animation-duration: 0.25s;
8241
- animation-name: fadeOut;
8242
- animation-timing-function: linear;
8243
-
8244
- @keyframes fadeOut {
8245
- from {
8246
- opacity: 1;
8247
- }
8248
-
8249
- to {
8250
- opacity: 0;
8251
- }
8252
- }
8253
- }
8254
+ })) `
8255
+ right: 1.5rem;
8256
+ `;
8257
+ const imgSlideShowMixin = styled.css `
8258
+ &:nth-child(${({ prevIndex }) => prevIndex}) {
8259
+ z-index: 2;
8260
+ position: absolute;
8261
+ top: 0;
8262
+ left: 0;
8263
+ right: 0;
8264
+ bottom: 0;
8265
+ opacity: 0;
8266
+
8267
+ animation-duration: 0.25s;
8268
+ animation-name: fadeOut;
8269
+ animation-timing-function: linear;
8270
+
8271
+ @keyframes fadeOut {
8272
+ from {
8273
+ opacity: 1;
8274
+ }
8275
+
8276
+ to {
8277
+ opacity: 0;
8278
+ }
8279
+ }
8280
+ }
8254
8281
  `;
8255
- const SmallPreviewContainer$1 = styled.div `
8256
- cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8257
- position: relative;
8258
- width: 100%;
8259
- height: 100%;
8260
- min-height: inherit;
8261
- line-height: 0;
8262
-
8263
- ${uilibGl.LinearProgress} {
8264
- z-index: 3;
8265
- position: absolute;
8266
- }
8267
-
8268
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8269
- opacity: 0;
8270
- transition: opacity ${uilibGl.transition.hover};
8271
- }
8272
-
8273
- &:hover {
8274
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8275
- opacity: 1;
8276
- }
8277
- }
8278
-
8279
- img {
8280
- z-index: 0;
8281
- cursor: pointer;
8282
- position: absolute;
8283
- top: 0;
8284
- left: 0;
8285
- width: 100%;
8286
- height: 100%;
8287
- min-height: inherit;
8288
- object-position: center;
8289
- object-fit: cover;
8290
-
8291
- &:nth-child(${({ currentIndex }) => currentIndex}) {
8292
- z-index: 1;
8293
- }
8294
-
8295
- ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8296
- }
8282
+ const SmallPreviewContainer$1 = styled.div `
8283
+ cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8284
+ position: relative;
8285
+ width: 100%;
8286
+ height: 100%;
8287
+ min-height: inherit;
8288
+ line-height: 0;
8289
+
8290
+ ${uilibGl.LinearProgress} {
8291
+ z-index: 3;
8292
+ position: absolute;
8293
+ }
8294
+
8295
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8296
+ opacity: 0;
8297
+ transition: opacity ${uilibGl.transition.hover};
8298
+ }
8299
+
8300
+ &:hover {
8301
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8302
+ opacity: 1;
8303
+ }
8304
+ }
8305
+
8306
+ img {
8307
+ z-index: 0;
8308
+ cursor: pointer;
8309
+ position: absolute;
8310
+ top: 0;
8311
+ left: 0;
8312
+ width: 100%;
8313
+ height: 100%;
8314
+ min-height: inherit;
8315
+ object-position: center;
8316
+ object-fit: cover;
8317
+
8318
+ &:nth-child(${({ currentIndex }) => currentIndex}) {
8319
+ z-index: 1;
8320
+ }
8321
+
8322
+ ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
8323
+ }
8297
8324
  `;
8298
8325
  const SmallPreviewImages = styled.div ``;
8299
8326
 
@@ -8520,21 +8547,21 @@ const ElementControl = ({ elementConfig }) => {
8520
8547
  defaultValue, placeholder: placeholder, disabled: isDisabled, onChange: handleChange }));
8521
8548
  };
8522
8549
 
8523
- const StyledIconFontSizeMixin = styled.css `
8524
- height: ${({ fontSize }) => `${fontSize}px`};
8525
-
8526
- &&:after {
8527
- font-size: ${({ fontSize }) => `${fontSize}px`};
8528
- }
8550
+ const StyledIconFontSizeMixin = styled.css `
8551
+ height: ${({ fontSize }) => `${fontSize}px`};
8552
+
8553
+ &&:after {
8554
+ font-size: ${({ fontSize }) => `${fontSize}px`};
8555
+ }
8529
8556
  `;
8530
- const StyledIconFontColorMixin = styled.css `
8531
- &&:after {
8532
- color: ${({ fontColor }) => fontColor};
8533
- }
8557
+ const StyledIconFontColorMixin = styled.css `
8558
+ &&:after {
8559
+ color: ${({ fontColor }) => fontColor};
8560
+ }
8534
8561
  `;
8535
- const StyledIcon = styled(uilibGl.Icon) `
8536
- ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8537
- ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8562
+ const StyledIcon = styled(uilibGl.Icon) `
8563
+ ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
8564
+ ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
8538
8565
  `;
8539
8566
 
8540
8567
  const ElementIcon = React.memo(({ type, elementConfig }) => {
@@ -8545,7 +8572,6 @@ const ElementIcon = React.memo(({ type, elementConfig }) => {
8545
8572
  return jsxRuntime.jsx(StyledIcon, { kind: iconValue, fontSize: fontSize, fontColor: fontColor, style: style });
8546
8573
  });
8547
8574
 
8548
- const toObjectUrl = (res) => res.blob().then(blob => URL.createObjectURL(blob));
8549
8575
  const ElementImage = React.memo(({ type, elementConfig }) => {
8550
8576
  const { attributes } = useWidgetContext(type);
8551
8577
  const { value, attributeName, options, style } = elementConfig || {};
@@ -8563,7 +8589,7 @@ const ElementImage = React.memo(({ type, elementConfig }) => {
8563
8589
  return null;
8564
8590
  return getResourceUrl(imageUrl);
8565
8591
  }, [attributeName, attributes, value]);
8566
- const blobUrl = useFetchWithAuth(firstImage, toObjectUrl, URL.revokeObjectURL);
8592
+ const blobUrl = useFetchImageWithAuth(firstImage);
8567
8593
  if (!blobUrl)
8568
8594
  return null;
8569
8595
  return (jsxRuntime.jsx("img", { src: blobUrl, alt: firstImage ?? "", width: width, style: style }));
@@ -8604,55 +8630,55 @@ const ElementLegend = React.memo(({ type, element, elementConfig }) => {
8604
8630
 
8605
8631
  const ExternalLink = styled(uilibGl.IconButton).attrs(() => ({
8606
8632
  kind: "external_link",
8607
- })) `
8608
- ${uilibGl.Icon} {
8609
- color: ${({ theme: { palette } }) => palette.primary};
8610
- }
8611
-
8612
- &:hover ${uilibGl.Icon} {
8613
- color: ${({ theme: { palette } }) => palette.primaryDeep};
8614
- }
8633
+ })) `
8634
+ ${uilibGl.Icon} {
8635
+ color: ${({ theme: { palette } }) => palette.primary};
8636
+ }
8637
+
8638
+ &:hover ${uilibGl.Icon} {
8639
+ color: ${({ theme: { palette } }) => palette.primaryDeep};
8640
+ }
8615
8641
  `;
8616
- const Link = styled.a `
8617
- text-decoration: none;
8618
- font-size: 0.75rem;
8619
- color: ${({ theme: { palette } }) => palette.primary};
8642
+ const Link = styled.a `
8643
+ text-decoration: none;
8644
+ font-size: 0.75rem;
8645
+ color: ${({ theme: { palette } }) => palette.primary};
8620
8646
  `;
8621
- const LocalLinkBlank = styled(uilibGl.Blank) `
8622
- min-width: 13.5rem;
8623
- padding: 0.5rem 0.75rem 0;
8624
-
8625
- ${uilibGl.IconButtonButton} {
8626
- font-size: 0.75rem;
8627
- }
8647
+ const LocalLinkBlank = styled(uilibGl.Blank) `
8648
+ min-width: 13.5rem;
8649
+ padding: 0.5rem 0.75rem 0;
8650
+
8651
+ ${uilibGl.IconButtonButton} {
8652
+ font-size: 0.75rem;
8653
+ }
8628
8654
  `;
8629
8655
  const LocalLinkButton = styled(uilibGl.IconButton).attrs(() => ({
8630
8656
  kind: "link",
8631
- })) `
8632
- width: 1rem;
8633
- height: 1rem;
8634
- background-color: ${({ theme: { palette } }) => palette.primary};
8635
- padding: 0;
8636
- border-radius: 50%;
8637
-
8638
- :hover {
8639
- background-color: ${({ theme: { palette } }) => palette.primary};
8640
- }
8641
-
8642
- span[kind] {
8643
- display: flex;
8644
- justify-content: center;
8645
- align-items: center;
8646
-
8647
- :after {
8648
- position: relative;
8649
- font-size: 0.6rem;
8650
- color: white;
8651
- }
8652
- }
8657
+ })) `
8658
+ width: 1rem;
8659
+ height: 1rem;
8660
+ background-color: ${({ theme: { palette } }) => palette.primary};
8661
+ padding: 0;
8662
+ border-radius: 50%;
8663
+
8664
+ :hover {
8665
+ background-color: ${({ theme: { palette } }) => palette.primary};
8666
+ }
8667
+
8668
+ span[kind] {
8669
+ display: flex;
8670
+ justify-content: center;
8671
+ align-items: center;
8672
+
8673
+ :after {
8674
+ position: relative;
8675
+ font-size: 0.6rem;
8676
+ color: white;
8677
+ }
8678
+ }
8653
8679
  `;
8654
- const LocalLinkCopy = styled(uilibGl.Flex) `
8655
- justify-content: center;
8680
+ const LocalLinkCopy = styled(uilibGl.Flex) `
8681
+ justify-content: center;
8656
8682
  `;
8657
8683
 
8658
8684
  const LocalLink = React.memo(({ link, style }) => {
@@ -8681,104 +8707,104 @@ const ElementLink = React.memo(({ type, elementConfig }) => {
8681
8707
  : jsxRuntime.jsx(LocalLink, { style: style, link: link });
8682
8708
  });
8683
8709
 
8684
- const MarkdownWrapper = styled.div `
8685
- padding: 0;
8686
- background: transparent;
8687
- border-radius: 0.5rem;
8688
- font-family: 'Nunito Sans', sans-serif;
8689
- color: ${({ theme: { palette } }) => palette.textPrimary};
8690
-
8691
- /* Paragraphs */
8692
- p {
8693
- font-size: 0.875rem;
8694
- line-height: 1rem;
8695
- letter-spacing: 0.0052rem;
8696
- margin: 0 0 1rem 0;
8697
- font-weight: 400;
8698
-
8699
- &:last-child {
8700
- margin-bottom: 0;
8701
- }
8702
- }
8703
-
8704
- /* Headings */
8705
- h1, h2, h3, h4, h5, h6 {
8706
- margin: 0 0 0.75rem 0;
8707
- font-weight: 300;
8708
- }
8709
-
8710
- h1 {
8711
- font-size: 1.5rem;
8712
- line-height: 1.75rem;
8713
- }
8714
-
8715
- h2 {
8716
- font-size: 1.25rem;
8717
- line-height: 1.5rem;
8718
- }
8719
-
8720
- h3 {
8721
- font-size: 1rem;
8722
- line-height: 1.25rem;
8723
- }
8724
-
8725
- /* Images */
8726
- img {
8727
- max-width: 100%;
8728
- height: auto;
8729
- border-radius: 0.5rem;
8730
- object-fit: cover;
8731
- margin: 0.75rem 0;
8732
- }
8733
-
8734
- /* Links */
8735
- a {
8736
- color: ${({ theme: { palette } }) => palette.primary};
8737
- text-decoration: none;
8738
-
8739
- &:hover {
8740
- text-decoration: underline;
8741
- }
8742
- }
8743
-
8744
- /* Lists */
8745
- ul, ol {
8746
- margin: 0 0 1rem 0;
8747
- padding-left: 1.25rem;
8748
-
8749
- li {
8750
- font-size: 0.875rem;
8751
- line-height: 1rem;
8752
- margin-bottom: 0.5rem;
8753
- }
8754
- }
8755
-
8756
- /* Code */
8757
- code {
8758
- background: ${({ theme: { palette } }) => palette.element};
8759
- padding: 0.125rem 0.375rem;
8760
- border-radius: 0.25rem;
8761
- font-family: monospace;
8762
- font-size: 0.8125rem;
8763
- }
8764
-
8765
- pre {
8766
- background: ${({ theme: { palette } }) => palette.element};
8767
- padding: 0.75rem;
8768
- border-radius: 0.25rem;
8769
- overflow-x: auto;
8770
- margin: 0.75rem 0;
8771
-
8772
- code {
8773
- background: transparent;
8774
- padding: 0;
8775
- }
8776
- }
8777
-
8778
- /* Hide horizontal rules */
8779
- hr {
8780
- display: none;
8781
- }
8710
+ const MarkdownWrapper = styled.div `
8711
+ padding: 0;
8712
+ background: transparent;
8713
+ border-radius: 0.5rem;
8714
+ font-family: 'Nunito Sans', sans-serif;
8715
+ color: ${({ theme: { palette } }) => palette.textPrimary};
8716
+
8717
+ /* Paragraphs */
8718
+ p {
8719
+ font-size: 0.875rem;
8720
+ line-height: 1rem;
8721
+ letter-spacing: 0.0052rem;
8722
+ margin: 0 0 1rem 0;
8723
+ font-weight: 400;
8724
+
8725
+ &:last-child {
8726
+ margin-bottom: 0;
8727
+ }
8728
+ }
8729
+
8730
+ /* Headings */
8731
+ h1, h2, h3, h4, h5, h6 {
8732
+ margin: 0 0 0.75rem 0;
8733
+ font-weight: 300;
8734
+ }
8735
+
8736
+ h1 {
8737
+ font-size: 1.5rem;
8738
+ line-height: 1.75rem;
8739
+ }
8740
+
8741
+ h2 {
8742
+ font-size: 1.25rem;
8743
+ line-height: 1.5rem;
8744
+ }
8745
+
8746
+ h3 {
8747
+ font-size: 1rem;
8748
+ line-height: 1.25rem;
8749
+ }
8750
+
8751
+ /* Images */
8752
+ img {
8753
+ max-width: 100%;
8754
+ height: auto;
8755
+ border-radius: 0.5rem;
8756
+ object-fit: cover;
8757
+ margin: 0.75rem 0;
8758
+ }
8759
+
8760
+ /* Links */
8761
+ a {
8762
+ color: ${({ theme: { palette } }) => palette.primary};
8763
+ text-decoration: none;
8764
+
8765
+ &:hover {
8766
+ text-decoration: underline;
8767
+ }
8768
+ }
8769
+
8770
+ /* Lists */
8771
+ ul, ol {
8772
+ margin: 0 0 1rem 0;
8773
+ padding-left: 1.25rem;
8774
+
8775
+ li {
8776
+ font-size: 0.875rem;
8777
+ line-height: 1rem;
8778
+ margin-bottom: 0.5rem;
8779
+ }
8780
+ }
8781
+
8782
+ /* Code */
8783
+ code {
8784
+ background: ${({ theme: { palette } }) => palette.element};
8785
+ padding: 0.125rem 0.375rem;
8786
+ border-radius: 0.25rem;
8787
+ font-family: monospace;
8788
+ font-size: 0.8125rem;
8789
+ }
8790
+
8791
+ pre {
8792
+ background: ${({ theme: { palette } }) => palette.element};
8793
+ padding: 0.75rem;
8794
+ border-radius: 0.25rem;
8795
+ overflow-x: auto;
8796
+ margin: 0.75rem 0;
8797
+
8798
+ code {
8799
+ background: transparent;
8800
+ padding: 0;
8801
+ }
8802
+ }
8803
+
8804
+ /* Hide horizontal rules */
8805
+ hr {
8806
+ display: none;
8807
+ }
8782
8808
  `;
8783
8809
 
8784
8810
  const sanitizeSchema = {
@@ -8820,9 +8846,9 @@ const ElementMarkdown = React.memo(({ elementConfig, type }) => {
8820
8846
  return (jsxRuntime.jsxs(MarkdownWrapper, { children: [jsxRuntime.jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], rehypePlugins: [rehypeRaw, rehypeSanitize], children: markdownString }), jsxRuntime.jsx(uilibGl.LegendToggler, { toggled: true, onClick: () => setExpanded(false), children: t("hide", { ns: "dashboard", defaultValue: "Свернуть" }) })] }));
8821
8847
  });
8822
8848
 
8823
- const SmallPreviewContainer = styled.div `
8824
- width: 100%;
8825
- height: 100%;
8849
+ const SmallPreviewContainer = styled.div `
8850
+ width: 100%;
8851
+ height: 100%;
8826
8852
  `;
8827
8853
 
8828
8854
  const ElementSlideshow = ({ elementConfig, type, renderElement }) => {
@@ -8858,18 +8884,18 @@ const ElementSvg = React.memo(({ type, elementConfig }) => {
8858
8884
  return (jsxRuntime.jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
8859
8885
  });
8860
8886
 
8861
- const TooltipIcon = styled(uilibGl.Icon) `
8862
- &&& {
8863
- :after {
8864
- font-size: 0.75rem;
8865
- color: ${({ theme: { palette } }) => palette.iconDisabled};
8866
- transition: color ${uilibGl.transition.hover};
8867
- }
8868
-
8869
- :hover:after {
8870
- color: ${({ theme: { palette } }) => palette.icon};
8871
- }
8872
- }
8887
+ const TooltipIcon = styled(uilibGl.Icon) `
8888
+ &&& {
8889
+ :after {
8890
+ font-size: 0.75rem;
8891
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
8892
+ transition: color ${uilibGl.transition.hover};
8893
+ }
8894
+
8895
+ :hover:after {
8896
+ color: ${({ theme: { palette } }) => palette.icon};
8897
+ }
8898
+ }
8873
8899
  `;
8874
8900
 
8875
8901
  const ElementTooltip = React.memo(({ type, elementConfig }) => {
@@ -8881,76 +8907,76 @@ const ElementTooltip = React.memo(({ type, elementConfig }) => {
8881
8907
  return text ? (jsxRuntime.jsx(uilibGl.Tooltip, { placement: "top", arrow: true, content: text, children: ref => jsxRuntime.jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
8882
8908
  });
8883
8909
 
8884
- const SlideshowHeaderWrapper = styled.div `
8885
- padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
8886
-
8887
- ${Header} {
8888
- align-items: flex-start;
8889
- width: calc(100% + 2rem);
8890
- height: ${({ big }) => (big ? "15.5rem" : "auto")};
8891
- padding: 1.5rem;
8892
- margin: -1rem -1rem 0 -1rem;
8893
- border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8894
-
8895
- ${SmallPreviewCounter} {
8896
- bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
8897
- }
8898
-
8899
- :before,
8900
- :after {
8901
- content: "";
8902
- z-index: 2;
8903
- position: absolute;
8904
- top: 0;
8905
- left: 0;
8906
- width: 100%;
8907
- }
8908
-
8909
- :before {
8910
- height: 100%;
8911
- background: rgba(32, 46, 53, 0.25);
8912
- }
8913
-
8914
- :after {
8915
- height: 4.5rem;
8916
- background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
8917
- }
8918
-
8919
- :hover {
8920
- ${SmallPreviewControl}, ${SmallPreviewCounter} {
8921
- opacity: 1;
8922
- }
8923
- }
8924
- }
8910
+ const SlideshowHeaderWrapper = styled.div `
8911
+ padding: ${({ withPadding }) => (withPadding ? "0.5rem 0.5rem 0" : 0)};
8912
+
8913
+ ${Header} {
8914
+ align-items: flex-start;
8915
+ width: calc(100% + 2rem);
8916
+ height: ${({ big }) => (big ? "15.5rem" : "auto")};
8917
+ padding: 1.5rem;
8918
+ margin: -1rem -1rem 0 -1rem;
8919
+ border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
8920
+
8921
+ ${SmallPreviewCounter} {
8922
+ bottom: ${({ withPadding }) => (withPadding ? 0.625 : 1.125)}rem;
8923
+ }
8924
+
8925
+ :before,
8926
+ :after {
8927
+ content: "";
8928
+ z-index: 2;
8929
+ position: absolute;
8930
+ top: 0;
8931
+ left: 0;
8932
+ width: 100%;
8933
+ }
8934
+
8935
+ :before {
8936
+ height: 100%;
8937
+ background: rgba(32, 46, 53, 0.25);
8938
+ }
8939
+
8940
+ :after {
8941
+ height: 4.5rem;
8942
+ background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
8943
+ }
8944
+
8945
+ :hover {
8946
+ ${SmallPreviewControl}, ${SmallPreviewCounter} {
8947
+ opacity: 1;
8948
+ }
8949
+ }
8950
+ }
8925
8951
  `;
8926
- const ImageContainerBg = styled.div `
8927
- position: absolute;
8928
- top: 0;
8929
- bottom: 0;
8930
- left: 0;
8931
- right: 0;
8932
-
8933
- img {
8934
- width: 100%;
8935
- height: 100%;
8936
- object-position: center;
8937
- object-fit: cover;
8938
- }
8952
+ const ImageContainerBg = styled.div `
8953
+ position: absolute;
8954
+ top: 0;
8955
+ bottom: 0;
8956
+ left: 0;
8957
+ right: 0;
8958
+
8959
+ img {
8960
+ width: 100%;
8961
+ height: 100%;
8962
+ object-position: center;
8963
+ object-fit: cover;
8964
+ }
8939
8965
  `;
8940
- const HeaderSlideshow = styled.div `
8941
- position: absolute;
8942
- top: 0;
8943
- bottom: ${({ height }) => (height ? `${height}px` : 0)};
8944
- left: 0;
8945
- right: 0;
8946
-
8947
- img {
8948
- width: 100%;
8949
- height: 100%;
8950
- min-height: inherit;
8951
- object-position: center;
8952
- object-fit: cover;
8953
- }
8966
+ const HeaderSlideshow = styled.div `
8967
+ position: absolute;
8968
+ top: 0;
8969
+ bottom: ${({ height }) => (height ? `${height}px` : 0)};
8970
+ left: 0;
8971
+ right: 0;
8972
+
8973
+ img {
8974
+ width: 100%;
8975
+ height: 100%;
8976
+ min-height: inherit;
8977
+ object-position: center;
8978
+ object-fit: cover;
8979
+ }
8954
8980
  `;
8955
8981
 
8956
8982
  const FeatureCardSlideshowHeader = ({ isRow }) => {
@@ -9089,40 +9115,40 @@ const getDefaultConfig = ({ title, defaultTitle, items, baseMapName, position, r
9089
9115
  return dashboardConfiguration;
9090
9116
  };
9091
9117
 
9092
- const UploaderContainer = styled(Container) `
9093
- ${uilibGl.UploaderItemArea} {
9094
- overflow: visible;
9095
- padding-top: 1rem;
9096
- padding-bottom: 1rem;
9097
- }
9098
-
9099
- ${uilibGl.UploaderTitleWrapper} {
9100
- top: 0;
9101
- padding-top: 0;
9102
- border: 0;
9103
- }
9118
+ const UploaderContainer = styled(Container) `
9119
+ ${uilibGl.UploaderItemArea} {
9120
+ overflow: visible;
9121
+ padding-top: 1rem;
9122
+ padding-bottom: 1rem;
9123
+ }
9124
+
9125
+ ${uilibGl.UploaderTitleWrapper} {
9126
+ top: 0;
9127
+ padding-top: 0;
9128
+ border: 0;
9129
+ }
9104
9130
  `;
9105
9131
 
9106
- const UploaderTitle = styled(uilibGl.Flex) `
9107
- flex-direction: column;
9108
- align-items: center;
9109
- width: 11rem;
9110
- margin: 0 auto;
9111
- text-align: center;
9112
- font-size: 0.625rem;
9113
- color: ${({ theme: { palette } }) => palette.textSecondary};
9114
-
9115
- span[kind] {
9116
- width: 1.5rem;
9117
- height: 1.5rem;
9118
- margin-bottom: 0.75rem;
9119
-
9120
- :after {
9121
- font-size: 1.5rem;
9122
- color: ${({ theme: { palette } }) => palette.textSecondary};
9123
- opacity: 0.12;
9124
- }
9125
- }
9132
+ const UploaderTitle = styled(uilibGl.Flex) `
9133
+ flex-direction: column;
9134
+ align-items: center;
9135
+ width: 11rem;
9136
+ margin: 0 auto;
9137
+ text-align: center;
9138
+ font-size: 0.625rem;
9139
+ color: ${({ theme: { palette } }) => palette.textSecondary};
9140
+
9141
+ span[kind] {
9142
+ width: 1.5rem;
9143
+ height: 1.5rem;
9144
+ margin-bottom: 0.75rem;
9145
+
9146
+ :after {
9147
+ font-size: 1.5rem;
9148
+ color: ${({ theme: { palette } }) => palette.textSecondary};
9149
+ opacity: 0.12;
9150
+ }
9151
+ }
9126
9152
  `;
9127
9153
 
9128
9154
  const DEFAULT_FILE_EXTENSIONS = ".txt,.csv,.py";
@@ -9169,20 +9195,20 @@ const ElementUploader = React.memo(({ elementConfig, type }) => {
9169
9195
  return (jsxRuntime.jsx(UploaderContainer, { id: id, style: style, children: jsxRuntime.jsx("div", { children: jsxRuntime.jsx(uilibGl.Uploader, { currentRef: refInput, title: renderTitle, accept: fileExtensions, width: "100%", fileItems: files, isMultiple: multiSelect, onUpload: onUpload, onDelete: onDelete }) }) }));
9170
9196
  });
9171
9197
 
9172
- const ModalIcon = styled(uilibGl.Icon) `
9173
- &&& {
9174
- cursor: pointer;
9175
-
9176
- :after {
9177
- font-size: 0.75rem;
9178
- color: ${({ theme: { palette } }) => palette.iconDisabled};
9179
- transition: color ${uilibGl.transition.hover};
9180
- }
9181
-
9182
- :hover:after {
9183
- color: ${({ theme: { palette } }) => palette.icon};
9184
- }
9185
- }
9198
+ const ModalIcon = styled(uilibGl.Icon) `
9199
+ &&& {
9200
+ cursor: pointer;
9201
+
9202
+ :after {
9203
+ font-size: 0.75rem;
9204
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
9205
+ transition: color ${uilibGl.transition.hover};
9206
+ }
9207
+
9208
+ :hover:after {
9209
+ color: ${({ theme: { palette } }) => palette.icon};
9210
+ }
9211
+ }
9186
9212
  `;
9187
9213
 
9188
9214
  const isEmptyElementValue = (value) => value === "" || value === null || value === undefined;
@@ -9923,64 +9949,64 @@ const getJustifyContent = (align) => {
9923
9949
  return "flex-start";
9924
9950
  }
9925
9951
  };
9926
- const ChipsContainer = styled(uilibGl.Flex) `
9927
- flex-wrap: wrap;
9928
- gap: 0.25rem;
9929
- background: transparent;
9930
- justify-content: ${({ $align }) => getJustifyContent($align)};
9952
+ const ChipsContainer = styled(uilibGl.Flex) `
9953
+ flex-wrap: wrap;
9954
+ gap: 0.25rem;
9955
+ background: transparent;
9956
+ justify-content: ${({ $align }) => getJustifyContent($align)};
9931
9957
  `;
9932
9958
 
9933
- const FilterChip = styled.div `
9934
- display: inline-flex;
9935
- align-items: center;
9936
- gap: 0.25rem;
9937
- padding: 0.3125rem 0.5rem;
9938
- height: 1.5rem;
9939
- border-radius: 0.25rem;
9959
+ const FilterChip = styled.div `
9960
+ display: inline-flex;
9961
+ align-items: center;
9962
+ gap: 0.25rem;
9963
+ padding: 0.3125rem 0.5rem;
9964
+ height: 1.5rem;
9965
+ border-radius: 0.25rem;
9940
9966
  background-color: ${({ $isActive, $bgColor, theme }) => $bgColor
9941
9967
  ? $bgColor
9942
9968
  : $isActive
9943
9969
  ? theme.palette?.primary
9944
- : theme.palette?.elementLight};
9970
+ : theme.palette?.elementLight};
9945
9971
  color: ${({ $isActive, $textColor, theme }) => $textColor
9946
9972
  ? $textColor
9947
9973
  : $isActive
9948
9974
  ? theme.palette?.textContrast
9949
- : theme.palette?.textSecondary};
9950
- cursor: pointer;
9951
- font-size: 0.75rem;
9952
- line-height: 0.875rem;
9953
- white-space: nowrap;
9954
- flex-shrink: 0;
9955
- transition: all 0.2s ease-in-out;
9956
- margin: 0 0.25rem 0 0;
9957
- box-sizing: border-box;
9958
-
9959
- &:hover {
9975
+ : theme.palette?.textSecondary};
9976
+ cursor: pointer;
9977
+ font-size: 0.75rem;
9978
+ line-height: 0.875rem;
9979
+ white-space: nowrap;
9980
+ flex-shrink: 0;
9981
+ transition: all 0.2s ease-in-out;
9982
+ margin: 0 0.25rem 0 0;
9983
+ box-sizing: border-box;
9984
+
9985
+ &:hover {
9960
9986
  background-color: ${({ $isActive, $bgColor, theme }) => $isActive
9961
9987
  ? $bgColor || 'inherit'
9962
- : $bgColor || theme.palette?.elementDark};
9963
- }
9988
+ : $bgColor || theme.palette?.elementDark};
9989
+ }
9964
9990
  `;
9965
- const ChipIconWrapper = styled.span `
9966
- display: inline-flex;
9967
- align-items: center;
9968
- justify-content: center;
9969
- width: 0.875rem;
9970
- height: 0.875rem;
9971
- flex-shrink: 0;
9972
-
9973
- svg, img {
9974
- width: 100%;
9975
- height: 100%;
9976
- display: block;
9977
- }
9991
+ const ChipIconWrapper = styled.span `
9992
+ display: inline-flex;
9993
+ align-items: center;
9994
+ justify-content: center;
9995
+ width: 0.875rem;
9996
+ height: 0.875rem;
9997
+ flex-shrink: 0;
9998
+
9999
+ svg, img {
10000
+ width: 100%;
10001
+ height: 100%;
10002
+ display: block;
10003
+ }
9978
10004
  `;
9979
- const ChipText = styled.span `
9980
- overflow: hidden;
9981
- text-overflow: ellipsis;
9982
- white-space: nowrap;
9983
- ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
10005
+ const ChipText = styled.span `
10006
+ overflow: hidden;
10007
+ text-overflow: ellipsis;
10008
+ white-space: nowrap;
10009
+ ${({ $maxTextWidth }) => $maxTextWidth && `max-width: ${$maxTextWidth / 16}rem;`}
9984
10010
  `;
9985
10011
 
9986
10012
  const CustomChip = ({ text, icon, color, primary, secondary, error, disabled, isActive, maxTextWidth, fontColor: customFontColor, backgroundColor: customBackgroundColor, ...props }) => {
@@ -10425,6 +10451,24 @@ const roundTotalSum = (value) => {
10425
10451
  return value;
10426
10452
  };
10427
10453
 
10454
+ const updateDataSource = (dashboardConfiguration, name, pageIndex, data) => {
10455
+ const newConfig = JSON.parse(JSON.stringify(dashboardConfiguration));
10456
+ if (newConfig.dataSources?.length) {
10457
+ const dataSource = newConfig.dataSources.find(item => item.name === name);
10458
+ if (dataSource) {
10459
+ Object.assign(dataSource, data);
10460
+ }
10461
+ }
10462
+ const pages = getPagesFromConfig(newConfig);
10463
+ if (pages?.[pageIndex - 1]?.dataSources?.length) {
10464
+ const dataSource = pages[pageIndex - 1].dataSources.find(item => item.name === name);
10465
+ if (dataSource) {
10466
+ Object.assign(dataSource, data);
10467
+ }
10468
+ }
10469
+ return newConfig;
10470
+ };
10471
+
10428
10472
  const sliceShownOtherItems = (data, options = {}, showMore) => {
10429
10473
  const { shownItems, otherItems } = options || {};
10430
10474
  const limit = shownItems && otherItems ? Math.min(shownItems, otherItems) : shownItems || otherItems;
@@ -11389,8 +11433,8 @@ const Dashboard = React.memo(({ type = exports.WidgetType.Dashboard, noBorders }
11389
11433
  return (jsxRuntime.jsx(PagesContainer, { type: type, noBorders: noBorders }));
11390
11434
  });
11391
11435
 
11392
- const CardCheckbox = styled(uilibGl.Checkbox) `
11393
- padding-left: 0.5rem;
11436
+ const CardCheckbox = styled(uilibGl.Checkbox) `
11437
+ padding-left: 0.5rem;
11394
11438
  `;
11395
11439
 
11396
11440
  const DashboardCheckbox = ({ title, checked, onChange, }) => {
@@ -11464,15 +11508,15 @@ const FeatureCardTitle = ({ title, description }) => {
11464
11508
  return (jsxRuntime.jsxs(HeaderTitleContainer, { children: [jsxRuntime.jsx(FeatureTitleContainer, { children: jsxRuntime.jsx(uilibGl.FlexSpan, { children: resultTitle }) }), jsxRuntime.jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
11465
11509
  };
11466
11510
 
11467
- const HiddenFilters = styled(uilibGl.Flex) `
11468
- flex-wrap: wrap;
11469
- margin-top: -1.25rem;
11470
-
11471
- ${DashboardChip$1} {
11472
- height: 1.5rem;
11473
- margin: 0 0.25rem 0.25rem 0;
11474
- padding: 0 0 0 0.5rem;
11475
- }
11511
+ const HiddenFilters = styled(uilibGl.Flex) `
11512
+ flex-wrap: wrap;
11513
+ margin-top: -1.25rem;
11514
+
11515
+ ${DashboardChip$1} {
11516
+ height: 1.5rem;
11517
+ margin: 0 0.25rem 0.25rem 0;
11518
+ padding: 0 0 0 0.5rem;
11519
+ }
11476
11520
  `;
11477
11521
 
11478
11522
  function spliceValue(filterValue, splicingValue) {
@@ -11658,24 +11702,24 @@ const LogTerminal = ({ log, terminalOptions, className, styles }) => {
11658
11702
  return jsxRuntime.jsx(TerminalWrapper, { ref: terminalRef, className: className, style: styles });
11659
11703
  };
11660
11704
 
11661
- const PageNavigator = styled(uilibGl.Flex) `
11662
- margin-right: -0.5rem;
11663
- align-items: center;
11664
-
11665
- button {
11666
- width: auto;
11667
- height: 2rem;
11668
- padding: 0 0.5rem;
11669
-
11670
- span[kind]:after {
11671
- color: ${({ theme: { palette } }) => palette.textDisabled};
11672
- transition: color ${uilibGl.transition.hover};
11673
- }
11674
-
11675
- :hover span[kind]:after {
11676
- color: ${({ theme: { palette } }) => palette.textSecondary};
11677
- }
11678
- }
11705
+ const PageNavigator = styled(uilibGl.Flex) `
11706
+ margin-right: -0.5rem;
11707
+ align-items: center;
11708
+
11709
+ button {
11710
+ width: auto;
11711
+ height: 2rem;
11712
+ padding: 0 0.5rem;
11713
+
11714
+ span[kind]:after {
11715
+ color: ${({ theme: { palette } }) => palette.textDisabled};
11716
+ transition: color ${uilibGl.transition.hover};
11717
+ }
11718
+
11719
+ :hover span[kind]:after {
11720
+ color: ${({ theme: { palette } }) => palette.textSecondary};
11721
+ }
11722
+ }
11679
11723
  `;
11680
11724
 
11681
11725
  const Pagination = React.memo(({ type = exports.WidgetType.Dashboard }) => {
@@ -11684,34 +11728,34 @@ const Pagination = React.memo(({ type = exports.WidgetType.Dashboard }) => {
11684
11728
  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) })] }));
11685
11729
  });
11686
11730
 
11687
- const StyledSvgWidthMixin = styled.css `
11688
- &&& {
11689
- svg {
11690
- width: ${({ $width }) => $width}px;
11691
- }
11692
- }
11731
+ const StyledSvgWidthMixin = styled.css `
11732
+ &&& {
11733
+ svg {
11734
+ width: ${({ $width }) => $width}px;
11735
+ }
11736
+ }
11693
11737
  `;
11694
- const StyledSvgHeightMixin = styled.css `
11695
- &&& {
11696
- svg {
11697
- height: ${({ $height }) => $height}px;
11698
- }
11699
- }
11738
+ const StyledSvgHeightMixin = styled.css `
11739
+ &&& {
11740
+ svg {
11741
+ height: ${({ $height }) => $height}px;
11742
+ }
11743
+ }
11700
11744
  `;
11701
- const StyledSvgColorMixin = styled.css `
11702
- svg {
11703
- path,
11704
- line,
11705
- circle {
11706
- fill: ${({ $fontColor }) => $fontColor} !important;
11707
- }
11708
- }
11745
+ const StyledSvgColorMixin = styled.css `
11746
+ svg {
11747
+ path,
11748
+ line,
11749
+ circle {
11750
+ fill: ${({ $fontColor }) => $fontColor} !important;
11751
+ }
11752
+ }
11709
11753
  `;
11710
- const StyledSvg = styled(uilibGl.Flex) `
11711
- align-items: center;
11712
- ${({ $width }) => !!$width && StyledSvgWidthMixin};
11713
- ${({ $height }) => !!$height && StyledSvgHeightMixin};
11714
- ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11754
+ const StyledSvg = styled(uilibGl.Flex) `
11755
+ align-items: center;
11756
+ ${({ $width }) => !!$width && StyledSvgWidthMixin};
11757
+ ${({ $height }) => !!$height && StyledSvgHeightMixin};
11758
+ ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
11715
11759
  `;
11716
11760
 
11717
11761
  const SvgImage = React.memo(({ url, width, height, fontColor }) => {
@@ -11963,28 +12007,28 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
11963
12007
  return (jsxRuntime.jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle, filterVersion: filterVersion }));
11964
12008
  };
11965
12009
 
11966
- const MapWrapper = styled.div `
11967
- position: relative;
11968
- width: 100%;
11969
- height: 100%;
11970
- box-sizing: border-box;
11971
- z-index: ${({ $zIndex }) => $zIndex ?? 1};
11972
-
11973
- .mapbox-gl-draw_trash {
11974
- display: none;
11975
- }
11976
-
11977
- .mapboxgl-ctrl-logo {
11978
- display: none;
11979
- }
11980
-
11981
- .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
11982
- display: none;
11983
- }
11984
-
11985
- .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
11986
- width: 350px;
11987
- }
12010
+ const MapWrapper = styled.div `
12011
+ position: relative;
12012
+ width: 100%;
12013
+ height: 100%;
12014
+ box-sizing: border-box;
12015
+ z-index: ${({ $zIndex }) => $zIndex ?? 1};
12016
+
12017
+ .mapbox-gl-draw_trash {
12018
+ display: none;
12019
+ }
12020
+
12021
+ .mapboxgl-ctrl-logo {
12022
+ display: none;
12023
+ }
12024
+
12025
+ .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
12026
+ display: none;
12027
+ }
12028
+
12029
+ .mapboxgl-ctrl-geocoder.mapboxgl-ctrl {
12030
+ width: 350px;
12031
+ }
11988
12032
  `;
11989
12033
 
11990
12034
  const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...rest }) => {
@@ -12247,6 +12291,7 @@ exports.tooltipValueFromAttributes = tooltipValueFromAttributes;
12247
12291
  exports.tooltipValueFromRelatedFeatures = tooltipValueFromRelatedFeatures;
12248
12292
  exports.transparentizeColor = transparentizeColor;
12249
12293
  exports.treeNodesToProjectItems = treeNodesToProjectItems;
12294
+ exports.updateDataSource = updateDataSource;
12250
12295
  exports.useAppHeight = useAppHeight;
12251
12296
  exports.useAutoCompleteControl = useAutoCompleteControl;
12252
12297
  exports.useChartChange = useChartChange;
@@ -12257,6 +12302,7 @@ exports.useDebouncedCallback = useDebouncedCallback;
12257
12302
  exports.useDiffPage = useDiffPage;
12258
12303
  exports.useExpandableContainers = useExpandableContainers;
12259
12304
  exports.useExportPdf = useExportPdf;
12305
+ exports.useFetchImageWithAuth = useFetchImageWithAuth;
12260
12306
  exports.useFetchWithAuth = useFetchWithAuth;
12261
12307
  exports.useGetConfigLayer = useGetConfigLayer;
12262
12308
  exports.useGlobalContext = useGlobalContext;