@evergis/react 4.0.120 → 4.0.122

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.esm.js CHANGED
@@ -13,7 +13,6 @@ import { toMercator, bbox } from '@turf/turf';
13
13
  import { HubConnectionBuilder, HttpTransportType, LogLevel } from '@microsoft/signalr';
14
14
  import MapboxDraw from '@mapbox/mapbox-gl-draw';
15
15
  import { Swiper, SwiperSlide } from 'swiper/react';
16
- import '@xterm/xterm/css/xterm.css';
17
16
  import { returnFound } from 'find-and';
18
17
  import ReactMarkdown from 'react-markdown';
19
18
  import rehypeRaw from 'rehype-raw';
@@ -27,6 +26,7 @@ import { jsPDF } from 'jspdf';
27
26
  import html2canvas from 'html2canvas';
28
27
  import { Terminal } from '@xterm/xterm';
29
28
  import { FitAddon } from '@xterm/addon-fit';
29
+ import '@xterm/xterm/css/xterm.css';
30
30
 
31
31
  const AddFeatureButton = ({ title, icon = "feature_add" /* , layerName, geometryType*/ }) => {
32
32
  // const [, handleAddFeature] = useFeatureCreator(layerName, geometryType);
@@ -34,7 +34,7 @@ const AddFeatureButton = ({ title, icon = "feature_add" /* , layerName, geometry
34
34
  return (jsx(IconButton, { kind: icon, primary: true, onClick: handleAddFeature, children: title }));
35
35
  };
36
36
 
37
- const ChartTooltipTable = styled.table.withConfig({ displayName: "ChartTooltipTable", componentId: "sc-1r2qjx2" }) `
37
+ const ChartTooltipTable = styled.table.withConfig({ displayName: "ChartTooltipTable", componentId: "sc-1epm9bz" }) `
38
38
  td {
39
39
  padding: 0;
40
40
  }
@@ -43,7 +43,7 @@ const ChartTooltipTable = styled.table.withConfig({ displayName: "ChartTooltipTa
43
43
  padding-bottom: 0.375rem;
44
44
  }
45
45
  `;
46
- const ChartTooltip = styled(Flex).withConfig({ displayName: "ChartTooltip", componentId: "sc-h5f602" }) `
46
+ const ChartTooltip = styled(Flex).withConfig({ displayName: "ChartTooltip", componentId: "sc-4jsnt7" }) `
47
47
  flex-wrap: nowrap;
48
48
  background: rgb(48, 69, 79);
49
49
  border-radius: 0.25rem;
@@ -53,26 +53,26 @@ const ChartTooltip = styled(Flex).withConfig({ displayName: "ChartTooltip", comp
53
53
  margin-bottom: 0.25rem;
54
54
  }
55
55
  `;
56
- const ChartTooltipLabel = styled.div.withConfig({ displayName: "ChartTooltipLabel", componentId: "sc-1r3u0io" }) `
56
+ const ChartTooltipLabel = styled.div.withConfig({ displayName: "ChartTooltipLabel", componentId: "sc-heccwm" }) `
57
57
  margin-right: 0.25rem;
58
58
  `;
59
- const ChartTooltipColor = styled.div.withConfig({ displayName: "ChartTooltipColor", componentId: "sc-1f83kca" }) `
59
+ const ChartTooltipColor = styled.div.withConfig({ displayName: "ChartTooltipColor", componentId: "sc-e5eqdv" }) `
60
60
  width: 0.625rem;
61
61
  height: 0.625rem;
62
62
  background-color: ${({ $color }) => $color};
63
63
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
64
64
  margin-right: 0.25rem;
65
65
  `;
66
- const ChartLegendColor$1 = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-146v9b0" }) `
66
+ const ChartLegendColor$1 = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-1cyc7xe" }) `
67
67
  width: 0.5rem;
68
68
  height: 0.5rem;
69
69
  background-color: ${({ $color }) => $color};
70
70
  border-radius: 0.125rem;
71
71
  `;
72
- const ChartLegendValue = styled.div.withConfig({ displayName: "ChartLegendValue", componentId: "sc-11i9py3" }) `
72
+ const ChartLegendValue = styled.div.withConfig({ displayName: "ChartLegendValue", componentId: "sc-18s8ycy" }) `
73
73
  opacity: 0.65;
74
74
  `;
75
- const ChartTooltipRow = styled(Flex).withConfig({ displayName: "ChartTooltipRow", componentId: "sc-2h1ftk" }) `
75
+ const ChartTooltipRow = styled(Flex).withConfig({ displayName: "ChartTooltipRow", componentId: "sc-rur04g" }) `
76
76
  display: flex;
77
77
  flex-direction: row;
78
78
  flex-wrap: nowrap;
@@ -84,11 +84,11 @@ const ChartTooltipRow = styled(Flex).withConfig({ displayName: "ChartTooltipRow"
84
84
  margin-right: 0.25rem;
85
85
  }
86
86
  `;
87
- const ChartTooltipName = styled.div.withConfig({ displayName: "ChartTooltipName", componentId: "sc-1as2fw6" }) `
87
+ const ChartTooltipName = styled.div.withConfig({ displayName: "ChartTooltipName", componentId: "sc-44uqml" }) `
88
88
  margin-right: 1rem;
89
89
  opacity: 0.65;
90
90
  `;
91
- const PieChartCenter = styled.div.withConfig({ displayName: "PieChartCenter", componentId: "sc-2d4i9u" }) `
91
+ const PieChartCenter = styled.div.withConfig({ displayName: "PieChartCenter", componentId: "sc-1lgkkor" }) `
92
92
  position: absolute;
93
93
  top: 50%;
94
94
  left: 50%;
@@ -97,7 +97,7 @@ const PieChartCenter = styled.div.withConfig({ displayName: "PieChartCenter", co
97
97
  font-weight: bold;
98
98
  font-size: 1.5rem;
99
99
  `;
100
- const ChartWrapperContainer = styled.div.withConfig({ displayName: "ChartWrapperContainer", componentId: "sc-oen6qt" }) `
100
+ const ChartWrapperContainer = styled.div.withConfig({ displayName: "ChartWrapperContainer", componentId: "sc-1t7qctu" }) `
101
101
  position: relative;
102
102
  width: 100%;
103
103
  `;
@@ -106,7 +106,7 @@ const ChartWrapperContainer = styled.div.withConfig({ displayName: "ChartWrapper
106
106
  * на неё вешается ref для ResizeObserver — меряем обе оси без цикла. Плоский div (не Flex uilib), как соседний
107
107
  * ChartWrapperContainer, чтобы ref гарантированно дошёл до DOM-узла. Тело графика центрируется внутри.
108
108
  */
109
- const ChartFillMeasure = styled.div.withConfig({ displayName: "ChartFillMeasure", componentId: "sc-1xtnu52" }) `
109
+ const ChartFillMeasure = styled.div.withConfig({ displayName: "ChartFillMeasure", componentId: "sc-602c94" }) `
110
110
  position: relative;
111
111
  display: flex;
112
112
  align-items: center;
@@ -124,7 +124,7 @@ const ChartFillMeasure = styled.div.withConfig({ displayName: "ChartFillMeasure"
124
124
  display: block;
125
125
  }
126
126
  `;
127
- const Tooltip = styled.div.withConfig({ displayName: "Tooltip", componentId: "sc-1buml85" }) `
127
+ const Tooltip = styled.div.withConfig({ displayName: "Tooltip", componentId: "sc-13fcidd" }) `
128
128
  position: relative;
129
129
  border-radius: 0.25rem;
130
130
  background-color: rgba(28, 33, 48);
@@ -217,7 +217,7 @@ const LineChartStyles = createGlobalStyle `
217
217
  fill: ${({ theme: { palette } }) => palette.textDisabled};
218
218
  }
219
219
  `;
220
- const StyledBarChart = styled(BarChart$1).withConfig({ displayName: "StyledBarChart", componentId: "sc-112rh35" }) `
220
+ const StyledBarChart = styled(BarChart$1).withConfig({ displayName: "StyledBarChart", componentId: "sc-1bwmplu" }) `
221
221
  .domain {
222
222
  display: none;
223
223
  }
@@ -3567,7 +3567,7 @@ const CONTAINER_BODY_FILL_STYLE = {
3567
3567
  */
3568
3568
  const CONTAINERS_GROUP_DEFAULTS = { boxSizing: "border-box" };
3569
3569
 
3570
- const StackBarContainer = styled(Flex).withConfig({ displayName: "StackBarContainer", componentId: "sc-1m0jxm8" }) `
3570
+ const StackBarContainer = styled(Flex).withConfig({ displayName: "StackBarContainer", componentId: "sc-48kcpv" }) `
3571
3571
  flex-wrap: nowrap;
3572
3572
  width: 100%;
3573
3573
 
@@ -3578,12 +3578,12 @@ const StackBarContainer = styled(Flex).withConfig({ displayName: "StackBarContai
3578
3578
  min-height: 0;
3579
3579
  `}
3580
3580
  `;
3581
- const StackBarHeader = styled(Flex).withConfig({ displayName: "StackBarHeader", componentId: "sc-1q7gb62" }) `
3581
+ const StackBarHeader = styled(Flex).withConfig({ displayName: "StackBarHeader", componentId: "sc-1xb6vra" }) `
3582
3582
  justify-content: space-between;
3583
3583
  margin-bottom: 0.375rem;
3584
3584
  font-size: 0.75rem;
3585
3585
  `;
3586
- const StackBarSection = styled.div.withConfig({ displayName: "StackBarSection", componentId: "sc-1rqyx9" }) `
3586
+ const StackBarSection = styled.div.withConfig({ displayName: "StackBarSection", componentId: "sc-rlsw3x" }) `
3587
3587
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3588
3588
  width: ${({ $width }) => $width}%;
3589
3589
  /* В fill толщину полосы задаёт растянутый контейнер, а не options.height элемента chart. */
@@ -3603,12 +3603,12 @@ const StackBarSection = styled.div.withConfig({ displayName: "StackBarSection",
3603
3603
  border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3604
3604
  }
3605
3605
  `;
3606
- const StackBarAlias = styled.div.withConfig({ displayName: "StackBarAlias", componentId: "sc-18hpxq1" }) `
3606
+ const StackBarAlias = styled.div.withConfig({ displayName: "StackBarAlias", componentId: "sc-1hf3i8t" }) `
3607
3607
  color: ${({ theme: { palette } }) => palette.textSecondary};
3608
3608
  `;
3609
- const StackBarTotal = styled(Flex).withConfig({ displayName: "StackBarTotal", componentId: "sc-mvh1aq" }) ``;
3610
- const StackBarValue = styled.div.withConfig({ displayName: "StackBarValue", componentId: "sc-1ugl96h" }) ``;
3611
- const StackBarUnits = styled.div.withConfig({ displayName: "StackBarUnits", componentId: "sc-gfdjh9" }) `
3609
+ const StackBarTotal = styled(Flex).withConfig({ displayName: "StackBarTotal", componentId: "sc-9pm5py" }) ``;
3610
+ const StackBarValue = styled.div.withConfig({ displayName: "StackBarValue", componentId: "sc-aoxvfm" }) ``;
3611
+ const StackBarUnits = styled.div.withConfig({ displayName: "StackBarUnits", componentId: "sc-l2xedr" }) `
3612
3612
  margin-left: 0.25rem;
3613
3613
  color: ${({ theme: { palette } }) => palette.textSecondary};
3614
3614
  `;
@@ -4518,7 +4518,7 @@ const formatDataSourceCondition = ({ condition, ...rest }) => {
4518
4518
  return formatSingleCondition(condition, rest);
4519
4519
  };
4520
4520
 
4521
- const DashboardChipsContainer = styled(Flex).withConfig({ displayName: "DashboardChipsContainer", componentId: "sc-z0smdd" }) `
4521
+ const DashboardChipsContainer = styled(Flex).withConfig({ displayName: "DashboardChipsContainer", componentId: "sc-1np42ah" }) `
4522
4522
  flex-wrap: wrap;
4523
4523
  `;
4524
4524
  const DefaultChipColorMixin = css `
@@ -4547,7 +4547,7 @@ const CustomChipColorMixin = css `
4547
4547
  color: ${({ $fontColor }) => $fontColor};
4548
4548
  }
4549
4549
  `;
4550
- const DashboardChip$1 = styled(Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-y5fvc7" }) `
4550
+ const DashboardChip$1 = styled(Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-7cxvj8" }) `
4551
4551
  margin: 0 0.25rem 0.25rem 0;
4552
4552
  background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4553
4553
  border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
@@ -4576,13 +4576,13 @@ const DashboardChip$1 = styled(Chip).withConfig({ displayName: "DashboardChip",
4576
4576
  ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4577
4577
  `;
4578
4578
 
4579
- const LayersListWrapper = styled(Flex).withConfig({ displayName: "LayersListWrapper", componentId: "sc-5qtm5a" }) `
4579
+ const LayersListWrapper = styled(Flex).withConfig({ displayName: "LayersListWrapper", componentId: "sc-1q0i8yx" }) `
4580
4580
  flex-direction: column;
4581
4581
  height: 100%;
4582
4582
  width: 100%;
4583
4583
  box-sizing: border-box;
4584
4584
  `;
4585
- const LayerListContainer = styled(Flex).withConfig({ displayName: "LayerListContainer", componentId: "sc-iipa2x" }) `
4585
+ const LayerListContainer = styled(Flex).withConfig({ displayName: "LayerListContainer", componentId: "sc-9imxcy" }) `
4586
4586
  flex-grow: 1;
4587
4587
  height: 100%;
4588
4588
  box-sizing: border-box;
@@ -4604,7 +4604,30 @@ const sizeCssMixin = css `
4604
4604
  }
4605
4605
  `};
4606
4606
  `;
4607
- const ElementValueWrapper = styled.div.withConfig({ displayName: "ElementValueWrapper", componentId: "sc-1l7exd2" }) `
4607
+ /**
4608
+ * `options.noMargin` контейнера: гасит отступ, который родительская колонка ставит своим детям
4609
+ * (`Container > *:not(:last-child)`).
4610
+ *
4611
+ * `&&&&` — ровно та сила, что была у обёртки `ElementValueWrapper`: правило должно перебивать
4612
+ * и родительскую колонку, и собственные `defaults` контейнера, пришедшие в `$sizeCss`.
4613
+ */
4614
+ const noMarginMixin = css `
4615
+ ${({ $noMargin }) => !!$noMargin &&
4616
+ css `
4617
+ &&&& {
4618
+ margin-bottom: 0;
4619
+ }
4620
+ `};
4621
+ `;
4622
+ /**
4623
+ * Обёртка значения элемента.
4624
+ *
4625
+ * Контейнеры, владеющие своим корнем (`ROOT_OWNING_TEMPLATES`), сюда больше не попадают —
4626
+ * обёртка дублировала их `data-id`, `data-templatename` и `style` вторым узлом DOM.
4627
+ * `$sizeTransparent` поэтому работает только на контейнерах, которые ещё не переведены
4628
+ * на `useContainerRoot`.
4629
+ */
4630
+ const ElementValueWrapper = styled.div.withConfig({ displayName: "ElementValueWrapper", componentId: "sc-1imfcz7" }) `
4608
4631
  transition: background-color ${transition.toggle};
4609
4632
 
4610
4633
  ${({ noMargin }) => !!noMargin &&
@@ -4634,13 +4657,14 @@ const ElementValueWrapper = styled.div.withConfig({ displayName: "ElementValueWr
4634
4657
  * Всегда flex-колонка: заголовок и тело раньше были flex-элементами родительского `Container`,
4635
4658
  * и блочная обёртка вернула бы схлопывание вертикальных отступов между ними.
4636
4659
  */
4637
- const ContainerRoot = styled(Flex).withConfig({ displayName: "ContainerRoot", componentId: "sc-1d9e6wi" }) `
4660
+ const ContainerRoot = styled(Flex).withConfig({ displayName: "ContainerRoot", componentId: "sc-m1nac1" }) `
4638
4661
  flex-direction: column;
4639
4662
  min-width: 0;
4640
4663
 
4641
4664
  ${sizeCssMixin};
4665
+ ${noMarginMixin};
4642
4666
  `;
4643
- const Container = styled(Flex).withConfig({ displayName: "Container", componentId: "sc-18mfixd" }) `
4667
+ const Container = styled(Flex).withConfig({ displayName: "Container", componentId: "sc-17ps0o9" }) `
4644
4668
  flex-direction: column;
4645
4669
  width: 100%;
4646
4670
 
@@ -4694,7 +4718,7 @@ const Container = styled(Flex).withConfig({ displayName: "Container", componentI
4694
4718
 
4695
4719
  ${sizeCssMixin};
4696
4720
  `;
4697
- const ContainerWrapper = styled(Flex).withConfig({ displayName: "ContainerWrapper", componentId: "sc-15bpba2" }) `
4721
+ const ContainerWrapper = styled(Flex).withConfig({ displayName: "ContainerWrapper", componentId: "sc-1nthncp" }) `
4698
4722
  position: relative;
4699
4723
  box-sizing: border-box;
4700
4724
  width: 100%;
@@ -4715,7 +4739,7 @@ const ContainerWrapper = styled(Flex).withConfig({ displayName: "ContainerWrappe
4715
4739
  }
4716
4740
  `}
4717
4741
  `;
4718
- const DashboardChip = styled(Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-1ly13un" }) `
4742
+ const DashboardChip = styled(Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-1yoat3r" }) `
4719
4743
  margin: 0 0.25rem 0.25rem 0;
4720
4744
  background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4721
4745
  border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
@@ -4731,7 +4755,7 @@ const DashboardChip = styled(Chip).withConfig({ displayName: "DashboardChip", co
4731
4755
  color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
4732
4756
  }
4733
4757
  `;
4734
- const DashboardPlaceholderWrap = styled(Flex).withConfig({ displayName: "DashboardPlaceholderWrap", componentId: "sc-l2oa2p" }) `
4758
+ const DashboardPlaceholderWrap = styled(Flex).withConfig({ displayName: "DashboardPlaceholderWrap", componentId: "sc-zb1wm7" }) `
4735
4759
  flex-grow: 1;
4736
4760
  flex-direction: column;
4737
4761
  justify-content: center;
@@ -4739,7 +4763,7 @@ const DashboardPlaceholderWrap = styled(Flex).withConfig({ displayName: "Dashboa
4739
4763
  width: 100%;
4740
4764
  margin-bottom: 2rem;
4741
4765
  `;
4742
- const DashboardPlaceholder = styled(Flex).withConfig({ displayName: "DashboardPlaceholder", componentId: "sc-nvnufp" }) `
4766
+ const DashboardPlaceholder = styled(Flex).withConfig({ displayName: "DashboardPlaceholder", componentId: "sc-3s2h6s" }) `
4743
4767
  flex-direction: column;
4744
4768
  justify-content: center;
4745
4769
  align-items: center;
@@ -4772,7 +4796,7 @@ const DashboardPlaceholder = styled(Flex).withConfig({ displayName: "DashboardPl
4772
4796
  }
4773
4797
  }
4774
4798
  `;
4775
- const DashboardWrapper = styled(Flex).withConfig({ displayName: "DashboardWrapper", componentId: "sc-gian28" }) `
4799
+ const DashboardWrapper = styled(Flex).withConfig({ displayName: "DashboardWrapper", componentId: "sc-jwifvc" }) `
4776
4800
  flex-direction: column;
4777
4801
  flex-wrap: nowrap;
4778
4802
  flex-grow: 1;
@@ -4785,7 +4809,7 @@ const DashboardWrapper = styled(Flex).withConfig({ displayName: "DashboardWrappe
4785
4809
  margin-top: -0.35rem;
4786
4810
  `}
4787
4811
  `;
4788
- const DashboardContent = styled(Flex).withConfig({ displayName: "DashboardContent", componentId: "sc-1e69b0r" }) `
4812
+ const DashboardContent = styled(Flex).withConfig({ displayName: "DashboardContent", componentId: "sc-1mp6f6k" }) `
4789
4813
  flex-grow: 1;
4790
4814
  width: 100%;
4791
4815
  padding: 1.5rem 1.5rem 2rem;
@@ -4800,16 +4824,16 @@ const PresentationWrapperCss = css `
4800
4824
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
4801
4825
  box-shadow: ${shadows.raised};
4802
4826
  `;
4803
- const PresentationWrapper = styled.div.withConfig({ displayName: "PresentationWrapper", componentId: "sc-3sj48s" }) `
4827
+ const PresentationWrapper = styled.div.withConfig({ displayName: "PresentationWrapper", componentId: "sc-vyrmgf" }) `
4804
4828
  ${PresentationWrapperCss};
4805
4829
  position: relative;
4806
4830
  z-index: 1;
4807
4831
  `;
4808
- const PresentationPanelWrapper = styled(PresentationWrapper).withConfig({ displayName: "PresentationPanelWrapper", componentId: "sc-1qtl87a" }) `
4832
+ const PresentationPanelWrapper = styled(PresentationWrapper).withConfig({ displayName: "PresentationPanelWrapper", componentId: "sc-1bh1bb3" }) `
4809
4833
  margin-top: 0.75rem;
4810
4834
  transition: background-color ${transition.toggle};
4811
4835
  `;
4812
- const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHeader", componentId: "sc-y89rqh" }) `
4836
+ const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHeader", componentId: "sc-1h4fkon" }) `
4813
4837
  margin: -1.5rem -1.5rem 0 -1.5rem;
4814
4838
  padding: 1.5rem;
4815
4839
  // background: url(images.presentationHeader) 0 0 no-repeat;
@@ -4821,7 +4845,7 @@ const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHea
4821
4845
  padding-top: 7rem;
4822
4846
  `};
4823
4847
  `;
4824
- const PresentationHeaderTools = styled(Flex).withConfig({ displayName: "PresentationHeaderTools", componentId: "sc-hctug2" }) `
4848
+ const PresentationHeaderTools = styled(Flex).withConfig({ displayName: "PresentationHeaderTools", componentId: "sc-1tnrulr" }) `
4825
4849
  justify-content: space-between;
4826
4850
  align-items: center;
4827
4851
  margin-bottom: -0.5rem;
@@ -4839,7 +4863,7 @@ const PresentationHeaderTools = styled(Flex).withConfig({ displayName: "Presenta
4839
4863
  }
4840
4864
  }
4841
4865
  `;
4842
- const LayerGroupList = styled(Flex).withConfig({ displayName: "LayerGroupList", componentId: "sc-1n0u4aw" }) `
4866
+ const LayerGroupList = styled(Flex).withConfig({ displayName: "LayerGroupList", componentId: "sc-z7kx1n" }) `
4843
4867
  flex-direction: column;
4844
4868
  height: 100%;
4845
4869
  flex-wrap: nowrap;
@@ -4852,8 +4876,8 @@ const LayerGroupList = styled(Flex).withConfig({ displayName: "LayerGroupList",
4852
4876
  flex-grow: 1;
4853
4877
  }
4854
4878
  `;
4855
- const PresentationHeaderButtons = styled(Flex).withConfig({ displayName: "PresentationHeaderButtons", componentId: "sc-1p1sdhv" }) ``;
4856
- const PresentationPanelContainer = styled.div.withConfig({ displayName: "PresentationPanelContainer", componentId: "sc-16l9nsf" }) `
4879
+ const PresentationHeaderButtons = styled(Flex).withConfig({ displayName: "PresentationHeaderButtons", componentId: "sc-ovzmvd" }) ``;
4880
+ const PresentationPanelContainer = styled.div.withConfig({ displayName: "PresentationPanelContainer", componentId: "sc-s6leyc" }) `
4857
4881
  position: absolute;
4858
4882
  top: 0;
4859
4883
  left: calc(${({ left }) => left || 0}px + 0.75rem);
@@ -4922,7 +4946,7 @@ const PresentationPanelContainer = styled.div.withConfig({ displayName: "Present
4922
4946
  }
4923
4947
  }
4924
4948
  `;
4925
- const DataSourceErrorContainer = styled(Flex).withConfig({ displayName: "DataSourceErrorContainer", componentId: "sc-fqos5i" }) `
4949
+ const DataSourceErrorContainer = styled(Flex).withConfig({ displayName: "DataSourceErrorContainer", componentId: "sc-1b1qijw" }) `
4926
4950
  align-items: center;
4927
4951
  justify-content: center;
4928
4952
  flex-wrap: nowrap;
@@ -4941,12 +4965,12 @@ const DataSourceErrorContainer = styled(Flex).withConfig({ displayName: "DataSou
4941
4965
  }
4942
4966
  }
4943
4967
  `;
4944
- const AttributeLabel = styled(Description).withConfig({ displayName: "AttributeLabel", componentId: "sc-mgz5in" }) `
4968
+ const AttributeLabel = styled(Description).withConfig({ displayName: "AttributeLabel", componentId: "sc-11p3317" }) `
4945
4969
  margin-top: 0 !important;
4946
4970
  margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
4947
4971
  padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
4948
4972
  `;
4949
- const FeatureControls = styled(Flex).withConfig({ displayName: "FeatureControls", componentId: "sc-cp37qd" }) `
4973
+ const FeatureControls = styled(Flex).withConfig({ displayName: "FeatureControls", componentId: "sc-1piagrr" }) `
4950
4974
  align-items: center;
4951
4975
  gap: 1rem;
4952
4976
  flex-wrap: nowrap;
@@ -4987,7 +5011,7 @@ const toRenderableValue = (value) => {
4987
5011
  return value;
4988
5012
  };
4989
5013
 
4990
- const formatElementValue = ({ t, value, elementConfig, attributes, wrap, }) => {
5014
+ const formatElementValue = ({ t, value, elementConfig, attributes, wrap, hasOwnRoot, }) => {
4991
5015
  const { id, type, defaultValue, options, style, attributeName, templateName, } = elementConfig || {};
4992
5016
  const attribute = attributeName
4993
5017
  ? getAttributeByName(attributeName, attributes)
@@ -4996,6 +5020,7 @@ const formatElementValue = ({ t, value, elementConfig, attributes, wrap, }) => {
4996
5020
  // Размер задал КОНТЕЙНЕР (есть templateName, нет type) — обёртку убираем из раскладки,
4997
5021
  // иначе её auto-высота не даёт процентам ребёнка считаться от ячейки-родителя.
4998
5022
  // У элементов `width`/`height` — это размер их собственного контента, обёртка нужна как есть.
5023
+ // Живо только для контейнеров без своего корня: владельцы корня сюда уже не доходят.
4999
5024
  const isSizedContainer = !type && !!templateName && (width != null || height != null);
5000
5025
  const valueOrDefault = isEmptyElementValue(value) ? defaultValue : value;
5001
5026
  const resultValue = type === "attributeValue" && attribute?.type && attribute?.stringFormat
@@ -5010,6 +5035,14 @@ const formatElementValue = ({ t, value, elementConfig, attributes, wrap, }) => {
5010
5035
  const renderableValue = toRenderableValue(resultValue);
5011
5036
  if (!wrap)
5012
5037
  return renderableValue;
5038
+ // Контейнер уже несёт идентификаторы и `style` на своём корне — обёртка добавила бы в DOM
5039
+ // второй узел-близнец с теми же атрибутами и стилями. `tagView` остаётся за обёрткой:
5040
+ // он подменяет значение чипом, и корень контейнера про это ничего не знает.
5041
+ if (hasOwnRoot && !tagView) {
5042
+ if (!withDivider)
5043
+ return renderableValue;
5044
+ return (jsxs(Fragment, { children: [renderableValue, jsx(Divider, {})] }, id));
5045
+ }
5013
5046
  return (jsxs(Fragment, { children: [tagView ? (jsx(DashboardChip$1, { "data-id": id, "data-templatename": templateName, style: style, text: renderableValue, "$bgColor": bgColor, "$fontColor": fontColor, "$fontSize": fontSize, "$radius": radius })) : (jsx(ElementValueWrapper, { "data-id": id, "data-templatename": templateName, style: style, noMargin: noMargin, "$sizeTransparent": isSizedContainer, children: renderableValue })), withDivider && jsx(Divider, {})] }, id));
5014
5047
  };
5015
5048
 
@@ -6594,16 +6627,22 @@ const useContainerAttributes = ({ elementConfig, type, renderElement }) => {
6594
6627
  *
6595
6628
  * Размеры уходят styled-пропом (класс), а не inline-стилем, поэтому перебиваются снаружи
6596
6629
  * без `!important`. Авторский `style` остаётся inline — у него приоритет по замыслу автора конфига.
6630
+ *
6631
+ * `data-id` и `$noMargin` раньше жили на внешней обёртке `ElementValueWrapper`; она вешала их
6632
+ * на второй узел поверх этого корня, дублируя стили, и для таких контейнеров больше не создаётся
6633
+ * (см. `ROOT_OWNING_TEMPLATES`).
6597
6634
  */
6598
6635
  const useWrapperSize = ({ elementConfig, defaults }) => {
6599
6636
  const { id, style, templateName, options } = elementConfig || {};
6600
- const { width, height, overflow } = options || {};
6637
+ const { width, height, overflow, noMargin } = options || {};
6601
6638
  return useMemo(() => ({
6602
6639
  id,
6640
+ "data-id": id,
6603
6641
  "data-templatename": templateName,
6604
6642
  style,
6605
6643
  $sizeCss: getWrapperSizeStyle({ style, width, height, overflow, defaults, defaultWidth: FILL_SIZE }),
6606
- }), [id, templateName, style, width, height, overflow, defaults]);
6644
+ $noMargin: noMargin,
6645
+ }), [id, templateName, style, width, height, overflow, noMargin, defaults]);
6607
6646
  };
6608
6647
 
6609
6648
  /**
@@ -7978,7 +8017,7 @@ const FlowGroup = memo(({ elementConfig, type, renderElement }) => {
7978
8017
  * всё равно нужен реальный элемент, к которому он монтируется. Этот узел ничего не занимает
7979
8018
  * и не виден.
7980
8019
  */
7981
- const MenuAnchor = styled.span.withConfig({ displayName: "MenuAnchor", componentId: "sc-pil9x2" }) `
8020
+ const MenuAnchor = styled.span.withConfig({ displayName: "MenuAnchor", componentId: "sc-1rmb3hr" }) `
7982
8021
  position: absolute;
7983
8022
  width: 0;
7984
8023
  height: 0;
@@ -8116,12 +8155,12 @@ const AddFeatureContainer = memo(({ elementConfig }) => {
8116
8155
  .map(({ options }, index) => (jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
8117
8156
  });
8118
8157
 
8119
- const AttachmentsContainer = styled.div.withConfig({ displayName: "AttachmentsContainer", componentId: "sc-17xr565" }) `
8158
+ const AttachmentsContainer = styled.div.withConfig({ displayName: "AttachmentsContainer", componentId: "sc-1x4em9a" }) `
8120
8159
  display: flex;
8121
8160
  flex-direction: column;
8122
8161
  width: 100%;
8123
8162
  `;
8124
- const AttachmentsHeaderRow = styled.div.withConfig({ displayName: "AttachmentsHeaderRow", componentId: "sc-106k9x3" }) `
8163
+ const AttachmentsHeaderRow = styled.div.withConfig({ displayName: "AttachmentsHeaderRow", componentId: "sc-3g12fy" }) `
8125
8164
  &&& {
8126
8165
  display: flex;
8127
8166
  width: 100%;
@@ -8130,14 +8169,14 @@ const AttachmentsHeaderRow = styled.div.withConfig({ displayName: "AttachmentsHe
8130
8169
  margin-bottom: 0.5rem;
8131
8170
  }
8132
8171
  `;
8133
- const AttachmentsLabel = styled.div.withConfig({ displayName: "AttachmentsLabel", componentId: "sc-1w0wnej" }) `
8172
+ const AttachmentsLabel = styled.div.withConfig({ displayName: "AttachmentsLabel", componentId: "sc-we2kuu" }) `
8134
8173
  display: flex;
8135
8174
  align-items: center;
8136
8175
  gap: 0 0.5rem;
8137
8176
  color: ${({ theme }) => theme.palette.textSecondary};
8138
8177
  font-size: 0.75rem;
8139
8178
  `;
8140
- const AttachmentsViewControls = styled.div.withConfig({ displayName: "AttachmentsViewControls", componentId: "sc-1xbg15w" }) `
8179
+ const AttachmentsViewControls = styled.div.withConfig({ displayName: "AttachmentsViewControls", componentId: "sc-alb91p" }) `
8141
8180
  display: flex;
8142
8181
  align-items: center;
8143
8182
 
@@ -8155,21 +8194,21 @@ const AttachmentsViewControls = styled.div.withConfig({ displayName: "Attachment
8155
8194
  font-size: 1rem;
8156
8195
  }
8157
8196
  `;
8158
- const AttachmentsCountChip = styled(Chip).withConfig({ displayName: "AttachmentsCountChip", componentId: "sc-1nzv80k" }) `
8197
+ const AttachmentsCountChip = styled(Chip).withConfig({ displayName: "AttachmentsCountChip", componentId: "sc-nbbqco" }) `
8159
8198
  padding: 2px 6px;
8160
8199
  font-size: 0.625rem;
8161
8200
  `;
8162
- const AttachmentsContent = styled.div.withConfig({ displayName: "AttachmentsContent", componentId: "sc-1ixjy7u" }) `
8201
+ const AttachmentsContent = styled.div.withConfig({ displayName: "AttachmentsContent", componentId: "sc-1t3vbw9" }) `
8163
8202
  width: 100%;
8164
8203
  `;
8165
- const GridListWrapper = styled.div.withConfig({ displayName: "GridListWrapper", componentId: "sc-ji277n" }) `
8204
+ const GridListWrapper = styled.div.withConfig({ displayName: "GridListWrapper", componentId: "sc-hed86n" }) `
8166
8205
  display: flex;
8167
8206
  flex-direction: row;
8168
8207
  width: 100%;
8169
8208
  gap: 0.5rem;
8170
8209
  flex-wrap: wrap;
8171
8210
  `;
8172
- const GridActions = styled.div.withConfig({ displayName: "GridActions", componentId: "sc-78zqr9" }) `
8211
+ const GridActions = styled.div.withConfig({ displayName: "GridActions", componentId: "sc-17pox2y" }) `
8173
8212
  display: none;
8174
8213
  position: absolute;
8175
8214
  z-index: 2;
@@ -8187,7 +8226,7 @@ const GridActions = styled.div.withConfig({ displayName: "GridActions", componen
8187
8226
  }
8188
8227
  }
8189
8228
  `;
8190
- const GridItemOverlay = styled.div.withConfig({ displayName: "GridItemOverlay", componentId: "sc-6em5o2" }) `
8229
+ const GridItemOverlay = styled.div.withConfig({ displayName: "GridItemOverlay", componentId: "sc-udd0ax" }) `
8191
8230
  position: absolute;
8192
8231
  top: 0;
8193
8232
  left: 0;
@@ -8197,7 +8236,7 @@ const GridItemOverlay = styled.div.withConfig({ displayName: "GridItemOverlay",
8197
8236
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8198
8237
  pointer-events: none;
8199
8238
  `;
8200
- const GridItemContainer = styled.div.withConfig({ displayName: "GridItemContainer", componentId: "sc-vnsksa" }) `
8239
+ const GridItemContainer = styled.div.withConfig({ displayName: "GridItemContainer", componentId: "sc-rbaj5j" }) `
8201
8240
  display: flex;
8202
8241
  position: relative;
8203
8242
  width: ${GRID_TILE_SIZE};
@@ -8221,20 +8260,20 @@ const GridItemContainer = styled.div.withConfig({ displayName: "GridItemContaine
8221
8260
  }
8222
8261
  }
8223
8262
  `;
8224
- const GridIcon = styled.div.withConfig({ displayName: "GridIcon", componentId: "sc-1pzdbsl" }) `
8263
+ const GridIcon = styled.div.withConfig({ displayName: "GridIcon", componentId: "sc-yhwj5t" }) `
8225
8264
  height: 2rem;
8226
8265
  width: 2rem;
8227
8266
  background: url("${({ fileType }) => getFileTypeIcon(fileType)}") center center
8228
8267
  no-repeat;
8229
8268
  `;
8230
- const ListIcon = styled.div.withConfig({ displayName: "ListIcon", componentId: "sc-1pub6uh" }) `
8269
+ const ListIcon = styled.div.withConfig({ displayName: "ListIcon", componentId: "sc-1cwm0hh" }) `
8231
8270
  height: ${LIST_ICON_SIZE};
8232
8271
  width: ${LIST_ICON_SIZE};
8233
8272
  flex-shrink: 0;
8234
8273
  background: url("${({ fileType }) => getFileTypeIcon(fileType)}") center center
8235
8274
  no-repeat;
8236
8275
  `;
8237
- const GridImagePreview = styled.img.withConfig({ displayName: "GridImagePreview", componentId: "sc-trt3hf" }) `
8276
+ const GridImagePreview = styled.img.withConfig({ displayName: "GridImagePreview", componentId: "sc-10vav08" }) `
8238
8277
  display: flex;
8239
8278
  height: ${({ size = GRID_TILE_SIZE }) => size};
8240
8279
  width: ${({ size = GRID_TILE_SIZE }) => size};
@@ -8244,14 +8283,14 @@ const GridImagePreview = styled.img.withConfig({ displayName: "GridImagePreview"
8244
8283
  outline: none;
8245
8284
  visibility: ${({ isLoading }) => (isLoading ? "hidden" : "visible")};
8246
8285
  `;
8247
- const ImagePreviewContainer = styled.div.withConfig({ displayName: "ImagePreviewContainer", componentId: "sc-1q1kdi6" }) `
8286
+ const ImagePreviewContainer = styled.div.withConfig({ displayName: "ImagePreviewContainer", componentId: "sc-lrg1ds" }) `
8248
8287
  display: flex;
8249
8288
  flex-direction: column;
8250
8289
  position: relative;
8251
8290
  height: ${({ size = GRID_TILE_SIZE }) => size};
8252
8291
  width: ${({ size = GRID_TILE_SIZE }) => size};
8253
8292
  `;
8254
- const ImagePreviewLoaderContainer = styled.div.withConfig({ displayName: "ImagePreviewLoaderContainer", componentId: "sc-nud8yn" }) `
8293
+ const ImagePreviewLoaderContainer = styled.div.withConfig({ displayName: "ImagePreviewLoaderContainer", componentId: "sc-dnbzt9" }) `
8255
8294
  position: absolute;
8256
8295
  top: 50%;
8257
8296
  left: 50%;
@@ -8263,41 +8302,41 @@ const ImagePreviewLoaderContainer = styled.div.withConfig({ displayName: "ImageP
8263
8302
  border-radius: 0.25rem;
8264
8303
  }
8265
8304
  `;
8266
- const TooltipDate = styled.div.withConfig({ displayName: "TooltipDate", componentId: "sc-14vg5qh" }) `
8305
+ const TooltipDate = styled.div.withConfig({ displayName: "TooltipDate", componentId: "sc-uarblx" }) `
8267
8306
  color: rgba(255, 255, 255, 0.54);
8268
8307
  font-size: 0.75rem;
8269
8308
  `;
8270
- const ListContainer = styled.div.withConfig({ displayName: "ListContainer", componentId: "sc-1ov80ei" }) `
8309
+ const ListContainer = styled.div.withConfig({ displayName: "ListContainer", componentId: "sc-1w00vh6" }) `
8271
8310
  display: flex;
8272
8311
  flex-direction: column;
8273
8312
  width: 100%;
8274
8313
  gap: 0.5rem 0;
8275
8314
  `;
8276
- const ListItemMeta = styled.div.withConfig({ displayName: "ListItemMeta", componentId: "sc-ti107k" }) `
8315
+ const ListItemMeta = styled.div.withConfig({ displayName: "ListItemMeta", componentId: "sc-me0jzi" }) `
8277
8316
  display: flex;
8278
8317
  align-items: center;
8279
8318
  gap: 0 0.5rem;
8280
8319
  width: 100%;
8281
8320
  min-width: 0;
8282
8321
  `;
8283
- const ListItemDescription = styled.div.withConfig({ displayName: "ListItemDescription", componentId: "sc-1cjqtw4" }) `
8322
+ const ListItemDescription = styled.div.withConfig({ displayName: "ListItemDescription", componentId: "sc-1knig8t" }) `
8284
8323
  display: flex;
8285
8324
  flex-direction: column;
8286
8325
  gap: 2px 0;
8287
8326
  width: 100%;
8288
8327
  min-width: 0;
8289
8328
  `;
8290
- const ListItemName = styled.div.withConfig({ displayName: "ListItemName", componentId: "sc-19ks2am" }) `
8329
+ const ListItemName = styled.div.withConfig({ displayName: "ListItemName", componentId: "sc-525iza" }) `
8291
8330
  font-size: 0.875rem;
8292
8331
  overflow: hidden;
8293
8332
  white-space: nowrap;
8294
8333
  text-overflow: ellipsis;
8295
8334
  `;
8296
- const ListItemDate = styled.div.withConfig({ displayName: "ListItemDate", componentId: "sc-19krhf4" }) `
8335
+ const ListItemDate = styled.div.withConfig({ displayName: "ListItemDate", componentId: "sc-185xuez" }) `
8297
8336
  font-size: 0.625rem;
8298
8337
  color: ${({ theme }) => theme.palette.textSecondary};
8299
8338
  `;
8300
- const ListActions = styled.div.withConfig({ displayName: "ListActions", componentId: "sc-1w88dt8" }) `
8339
+ const ListActions = styled.div.withConfig({ displayName: "ListActions", componentId: "sc-se1h5" }) `
8301
8340
  flex-shrink: 0;
8302
8341
 
8303
8342
  button {
@@ -8305,7 +8344,7 @@ const ListActions = styled.div.withConfig({ displayName: "ListActions", componen
8305
8344
  padding-right: 0;
8306
8345
  }
8307
8346
  `;
8308
- const ListItemContainer = styled.div.withConfig({ displayName: "ListItemContainer", componentId: "sc-k7jdlo" }) `
8347
+ const ListItemContainer = styled.div.withConfig({ displayName: "ListItemContainer", componentId: "sc-r4ffvc" }) `
8309
8348
  display: flex;
8310
8349
  width: 100%;
8311
8350
  justify-content: space-between;
@@ -8318,7 +8357,7 @@ const ListItemContainer = styled.div.withConfig({ displayName: "ListItemContaine
8318
8357
  }
8319
8358
  }
8320
8359
  `;
8321
- const ShowMoreButton$1 = styled.div.withConfig({ displayName: "ShowMoreButton", componentId: "sc-1r60cwr" }) `
8360
+ const ShowMoreButton$1 = styled.div.withConfig({ displayName: "ShowMoreButton", componentId: "sc-pml4tp" }) `
8322
8361
  display: flex;
8323
8362
  align-items: center;
8324
8363
  gap: 0 0.25rem;
@@ -8337,10 +8376,10 @@ const ShowMoreButton$1 = styled.div.withConfig({ displayName: "ShowMoreButton",
8337
8376
  color: ${({ theme }) => theme.palette.primary};
8338
8377
  }
8339
8378
  `;
8340
- const AddButtonContainer = styled.div.withConfig({ displayName: "AddButtonContainer", componentId: "sc-ys8wc3" }) `
8379
+ const AddButtonContainer = styled.div.withConfig({ displayName: "AddButtonContainer", componentId: "sc-1o5l7cc" }) `
8341
8380
  margin-top: 0.75rem;
8342
8381
  `;
8343
- const AddButtonRow = styled(IconButton).withConfig({ displayName: "AddButtonRow", componentId: "sc-hj5e9y" }) `
8382
+ const AddButtonRow = styled(IconButton).withConfig({ displayName: "AddButtonRow", componentId: "sc-1d0dfe5" }) `
8344
8383
  padding: 0 0.75rem;
8345
8384
  height: 1.5rem;
8346
8385
  background-color: ${({ theme }) => theme.palette.elementDark};
@@ -8349,17 +8388,17 @@ const AddButtonRow = styled(IconButton).withConfig({ displayName: "AddButtonRow"
8349
8388
  background-color: ${({ theme }) => theme.palette.elementDeep};
8350
8389
  }
8351
8390
  `;
8352
- const HiddenFileInput = styled.input.withConfig({ displayName: "HiddenFileInput", componentId: "sc-f5e0jv" }) `
8391
+ const HiddenFileInput = styled.input.withConfig({ displayName: "HiddenFileInput", componentId: "sc-ht33ry" }) `
8353
8392
  display: none;
8354
8393
  `;
8355
- const LinkDialogContent = styled.div.withConfig({ displayName: "LinkDialogContent", componentId: "sc-1dlg976" }) `
8394
+ const LinkDialogContent = styled.div.withConfig({ displayName: "LinkDialogContent", componentId: "sc-zjur6" }) `
8356
8395
  display: flex;
8357
8396
  flex-direction: column;
8358
8397
  width: 100%;
8359
8398
  padding: 1rem 0;
8360
8399
  `;
8361
8400
 
8362
- const ImagePreviewError = styled.div.withConfig({ displayName: "ImagePreviewError", componentId: "sc-1vo55is" }) `
8401
+ const ImagePreviewError = styled.div.withConfig({ displayName: "ImagePreviewError", componentId: "sc-15exvgd" }) `
8363
8402
  display: flex;
8364
8403
  align-items: center;
8365
8404
  justify-content: center;
@@ -8497,12 +8536,12 @@ const AttachmentContainer = memo(({ type, elementConfig, renderElement }) => {
8497
8536
  }) }, previewIndex))] }) }))] }));
8498
8537
  });
8499
8538
 
8500
- const ChartLegendContainer = styled(Flex).withConfig({ displayName: "ChartLegendContainer", componentId: "sc-13rtz1" }) `
8539
+ const ChartLegendContainer = styled(Flex).withConfig({ displayName: "ChartLegendContainer", componentId: "sc-1gmqts" }) `
8501
8540
  flex-direction: column;
8502
8541
  flex-wrap: wrap;
8503
8542
  justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
8504
8543
  `;
8505
- const ChartLegendItem = styled(Flex).withConfig({ displayName: "ChartLegendItem", componentId: "sc-19jy34s" }) `
8544
+ const ChartLegendItem = styled(Flex).withConfig({ displayName: "ChartLegendItem", componentId: "sc-1hd88id" }) `
8506
8545
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8507
8546
  align-items: center;
8508
8547
  flex-wrap: nowrap;
@@ -8512,20 +8551,20 @@ const ChartLegendItem = styled(Flex).withConfig({ displayName: "ChartLegendItem"
8512
8551
  line-height: 0.75rem;
8513
8552
  opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
8514
8553
  `;
8515
- const ChartLegendColor = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-prt9gf" }) `
8554
+ const ChartLegendColor = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-sd97sx" }) `
8516
8555
  width: 0.5rem;
8517
8556
  height: 0.5rem;
8518
8557
  margin-right: 0.375rem;
8519
8558
  background-color: ${({ color }) => color};
8520
8559
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
8521
8560
  `;
8522
- const ChartLegendName = styled.div.withConfig({ displayName: "ChartLegendName", componentId: "sc-1ywpwg6" }) `
8561
+ const ChartLegendName = styled.div.withConfig({ displayName: "ChartLegendName", componentId: "sc-fengkv" }) `
8523
8562
  flex: 1;
8524
8563
  font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
8525
8564
  color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
8526
8565
  `;
8527
8566
 
8528
- const ContainerAlias = styled(Flex).withConfig({ displayName: "ContainerAlias", componentId: "sc-12j8co1" }) `
8567
+ const ContainerAlias = styled(Flex).withConfig({ displayName: "ContainerAlias", componentId: "sc-yyvgdo" }) `
8529
8568
  align-items: center;
8530
8569
  flex-wrap: nowrap;
8531
8570
  font-size: 0.75rem;
@@ -8543,10 +8582,10 @@ const ContainerAlias = styled(Flex).withConfig({ displayName: "ContainerAlias",
8543
8582
  }
8544
8583
  }
8545
8584
  `;
8546
- const ContainerAliasIcon = styled.div.withConfig({ displayName: "ContainerAliasIcon", componentId: "sc-p22cmu" }) `
8585
+ const ContainerAliasIcon = styled.div.withConfig({ displayName: "ContainerAliasIcon", componentId: "sc-93f0g6" }) `
8547
8586
  margin-right: 0.5rem;
8548
8587
  `;
8549
- const ContainerChart = styled(Flex).withConfig({ displayName: "ContainerChart", componentId: "sc-32bqob" }) `
8588
+ const ContainerChart = styled(Flex).withConfig({ displayName: "ContainerChart", componentId: "sc-1m7q9s5" }) `
8550
8589
  justify-content: flex-start;
8551
8590
 
8552
8591
  > * {
@@ -8568,13 +8607,13 @@ const ContainerChart = styled(Flex).withConfig({ displayName: "ContainerChart",
8568
8607
  }
8569
8608
  `}
8570
8609
  `;
8571
- const ContainerLegend = styled(Flex).withConfig({ displayName: "ContainerLegend", componentId: "sc-frn15b" }) ``;
8572
- const ContainerUnits = styled.div.withConfig({ displayName: "ContainerUnits", componentId: "sc-1ww0naa" }) `
8610
+ const ContainerLegend = styled(Flex).withConfig({ displayName: "ContainerLegend", componentId: "sc-1hqzfrr" }) ``;
8611
+ const ContainerUnits = styled.div.withConfig({ displayName: "ContainerUnits", componentId: "sc-1uagna1" }) `
8573
8612
  margin-left: 0.5rem;
8574
8613
  white-space: nowrap;
8575
8614
  font-size: 0.75rem;
8576
8615
  `;
8577
- const ContainerValue = styled(Flex).withConfig({ displayName: "ContainerValue", componentId: "sc-121cs06" }) `
8616
+ const ContainerValue = styled(Flex).withConfig({ displayName: "ContainerValue", componentId: "sc-15zl7vv" }) `
8578
8617
  justify-content: flex-end;
8579
8618
  align-items: center;
8580
8619
  flex-wrap: nowrap;
@@ -8616,7 +8655,7 @@ const SizeIconMixin = css `
8616
8655
  font-size: ${({ $fontSize }) => $fontSize}px !important;
8617
8656
  }
8618
8657
  `;
8619
- styled(Icon).withConfig({ displayName: "ContainerIcon", componentId: "sc-q6yqwu" }) `
8658
+ styled(Icon).withConfig({ displayName: "ContainerIcon", componentId: "sc-7bnypx" }) `
8620
8659
  width: auto;
8621
8660
  height: auto;
8622
8661
  margin-bottom: 0.5rem;
@@ -8630,7 +8669,7 @@ const SvgContainerColorMixin$1 = css `
8630
8669
  fill: ${({ $fontColor }) => $fontColor};
8631
8670
  }
8632
8671
  `;
8633
- const SvgContainer$1 = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-rkkgar" }) `
8672
+ const SvgContainer$1 = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-1k4cvlh" }) `
8634
8673
  &&& {
8635
8674
  min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
8636
8675
  max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
@@ -8642,7 +8681,7 @@ const SvgContainer$1 = styled.div.withConfig({ displayName: "SvgContainer", comp
8642
8681
  }
8643
8682
  }
8644
8683
  `;
8645
- const TwoColumnContainerWrapper = styled(Container).withConfig({ displayName: "TwoColumnContainerWrapper", componentId: "sc-128p4rs" }) `
8684
+ const TwoColumnContainerWrapper = styled(Container).withConfig({ displayName: "TwoColumnContainerWrapper", componentId: "sc-5wzvcs" }) `
8646
8685
  flex-direction: row;
8647
8686
  flex-wrap: nowrap;
8648
8687
  align-items: center;
@@ -8700,7 +8739,7 @@ const ChartContainer = memo(({ elementConfig, isVisible, type, renderElement })
8700
8739
  return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxs(Container, { ...body, isColumn: true, children: [aliasElement && jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsx(ContainerValue, { column: !twoColumns, alignItems: twoColumns && fill ? "stretch" : "center", "$fill": !!fill, children: hasItems ? (jsxs(Fragment$1, { children: [jsx(ContainerChart, { "$fill": !!fill, children: jsx(FillContext.Provider, { value: fillContextValue, children: renderElement({ id: "chart" }) }) }), jsx(ContainerLegend, { justifyContent: legendElement?.options?.center ? "center" : "flex-start", children: renderElement({ id: "legend" }) })] })) : (jsx(Fragment$1, { children: "\u2014" })) })] }))] }));
8701
8740
  });
8702
8741
 
8703
- const InnerContainerWrapper = styled.div.withConfig({ displayName: "InnerContainerWrapper", componentId: "sc-1e8iz6y" }) `
8742
+ const InnerContainerWrapper = styled.div.withConfig({ displayName: "InnerContainerWrapper", componentId: "sc-fz55gg" }) `
8704
8743
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8705
8744
  width: ${({ column }) => (column ? "100%" : "auto")};
8706
8745
  opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
@@ -8771,12 +8810,12 @@ const DataSourceInnerContainer = memo(({ config, elementConfig, feature, maxValu
8771
8810
  return (jsx(InnerContainerWrapper, { hasAnyFilter: hasAnyFilter, isFiltered: isFiltered(value), column: column === undefined || column, onClick: filterName ? () => onFilter(value) : undefined, children: jsx(InnerContainer, { config: config, elementConfig: elementConfig, feature: feature, maxValue: maxValue, type: type, index: index, renderElement: render }) }));
8772
8811
  });
8773
8812
 
8774
- const DataSourceProgressContainerWrapper = styled.div.withConfig({ displayName: "DataSourceProgressContainerWrapper", componentId: "sc-2lqwdl" }) `
8813
+ const DataSourceProgressContainerWrapper = styled.div.withConfig({ displayName: "DataSourceProgressContainerWrapper", componentId: "sc-1tit98s" }) `
8775
8814
  width: 100%;
8776
8815
 
8777
8816
  ${sizeCssMixin};
8778
8817
  `;
8779
- const ContainerToggler = styled(LegendToggler).withConfig({ displayName: "ContainerToggler", componentId: "sc-131w11e" }) `
8818
+ const ContainerToggler = styled(LegendToggler).withConfig({ displayName: "ContainerToggler", componentId: "sc-16vigy9" }) `
8780
8819
  width: auto;
8781
8820
  `;
8782
8821
 
@@ -8797,7 +8836,7 @@ const COLUMN_ALIGN_ITEMS = {
8797
8836
  stretch: "stretch",
8798
8837
  };
8799
8838
 
8800
- const DataSourceContainerWrapper = styled(Container).withConfig({ displayName: "DataSourceContainerWrapper", componentId: "sc-1xnd27m" }) `
8839
+ const DataSourceContainerWrapper = styled(Container).withConfig({ displayName: "DataSourceContainerWrapper", componentId: "sc-zco1l5" }) `
8801
8840
  ${({ $tileWidth }) => $tileWidth != null && `--tile-width: ${$tileWidth}px;`}
8802
8841
 
8803
8842
  ${({ $isRow, $columns, $gap, $align, $stretch }) => {
@@ -8861,48 +8900,48 @@ const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent,
8861
8900
  : t("showAll", { ns: "dashboard", defaultValue: "Показать все" }) }))] })) : (jsx(ContainerLoading, {}))] }));
8862
8901
  });
8863
8902
 
8864
- const ProgressContainerWrapper = styled(Flex).withConfig({ displayName: "ProgressContainerWrapper", componentId: "sc-1kgcr0" }) `
8903
+ const ProgressContainerWrapper = styled(Flex).withConfig({ displayName: "ProgressContainerWrapper", componentId: "sc-13sjus5" }) `
8865
8904
  align-items: center;
8866
8905
  width: 100%;
8867
8906
  margin-bottom: 1rem;
8868
8907
  `;
8869
- const ProgressIcon = styled.div.withConfig({ displayName: "ProgressIcon", componentId: "sc-bia9mp" }) `
8908
+ const ProgressIcon = styled.div.withConfig({ displayName: "ProgressIcon", componentId: "sc-1o83ttz" }) `
8870
8909
  margin-right: 0.5rem;
8871
8910
  `;
8872
- const ProgressContent = styled(Flex).withConfig({ displayName: "ProgressContent", componentId: "sc-1sqnnhg" }) `
8911
+ const ProgressContent = styled(Flex).withConfig({ displayName: "ProgressContent", componentId: "sc-cw60zr" }) `
8873
8912
  flex: 1;
8874
8913
  flex-direction: column;
8875
8914
  `;
8876
- const ProgressAlias = styled(Flex).withConfig({ displayName: "ProgressAlias", componentId: "sc-1a1o4ei" }) `
8915
+ const ProgressAlias = styled(Flex).withConfig({ displayName: "ProgressAlias", componentId: "sc-15hcus8" }) `
8877
8916
  flex: 1;
8878
8917
  justify-content: space-between;
8879
8918
  margin-bottom: 0.25rem;
8880
8919
  font-size: 0.75rem;
8881
8920
  color: ${({ theme: { palette } }) => palette.textSecondary};
8882
8921
  `;
8883
- const ProgressValue = styled(Flex).withConfig({ displayName: "ProgressValue", componentId: "sc-h86q6i" }) `
8922
+ const ProgressValue = styled(Flex).withConfig({ displayName: "ProgressValue", componentId: "sc-q0hh04" }) `
8884
8923
  align-items: center;
8885
8924
  width: auto;
8886
8925
  font-size: 1rem;
8887
8926
  color: ${({ theme: { palette } }) => palette.textPrimary};
8888
8927
  `;
8889
- const ProgressInnerValue = styled(ProgressValue).withConfig({ displayName: "ProgressInnerValue", componentId: "sc-b0gbba" }) `
8928
+ const ProgressInnerValue = styled(ProgressValue).withConfig({ displayName: "ProgressInnerValue", componentId: "sc-137mym1" }) `
8890
8929
  justify-content: flex-end;
8891
8930
  width: 4rem;
8892
8931
  margin-left: 0.5rem;
8893
8932
  `;
8894
- const ProgressUnits = styled(Flex).withConfig({ displayName: "ProgressUnits", componentId: "sc-woete3" }) `
8933
+ const ProgressUnits = styled(Flex).withConfig({ displayName: "ProgressUnits", componentId: "sc-15muzs7" }) `
8895
8934
  margin-left: 0.25rem;
8896
8935
  font-size: 0.75rem;
8897
8936
  color: ${({ theme: { palette } }) => palette.textSecondary};
8898
8937
  `;
8899
- const ProgressBarWrapper = styled.div.withConfig({ displayName: "ProgressBarWrapper", componentId: "sc-1a8amew" }) `
8938
+ const ProgressBarWrapper = styled.div.withConfig({ displayName: "ProgressBarWrapper", componentId: "sc-11l4dmi" }) `
8900
8939
  flex-grow: 1;
8901
8940
  height: 0.5rem;
8902
8941
  background-color: ${({ theme: { palette } }) => palette.element};
8903
8942
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
8904
8943
  `;
8905
- const ProgressBarContainer = styled(Flex).withConfig({ displayName: "ProgressBarContainer", componentId: "sc-3xokll" }) `
8944
+ const ProgressBarContainer = styled(Flex).withConfig({ displayName: "ProgressBarContainer", componentId: "sc-1haymqy" }) `
8906
8945
  position: relative;
8907
8946
  align-items: center;
8908
8947
  width: 100%;
@@ -8920,19 +8959,19 @@ const ProgressBarContainer = styled(Flex).withConfig({ displayName: "ProgressBar
8920
8959
  }
8921
8960
  `}
8922
8961
  `;
8923
- const ProgressBar = styled.div.withConfig({ displayName: "ProgressBar", componentId: "sc-1h6somp" }) `
8962
+ const ProgressBar = styled.div.withConfig({ displayName: "ProgressBar", componentId: "sc-1hwetk4" }) `
8924
8963
  width: ${({ $width }) => $width};
8925
8964
  height: inherit;
8926
8965
  background-color: ${({ $color }) => $color || "#a7d759"};
8927
8966
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
8928
8967
  `;
8929
- const ProgressTooltipAlias = styled.div.withConfig({ displayName: "ProgressTooltipAlias", componentId: "sc-5bwgmr" }) `
8968
+ const ProgressTooltipAlias = styled.div.withConfig({ displayName: "ProgressTooltipAlias", componentId: "sc-uv06va" }) `
8930
8969
  margin-bottom: 0.25rem;
8931
8970
  text-align: left;
8932
8971
  color: ${({ theme: { palette } }) => palette.primary};
8933
8972
  `;
8934
- const ProgressTooltipValue = styled.div.withConfig({ displayName: "ProgressTooltipValue", componentId: "sc-1jqezwj" }) ``;
8935
- const ProgressTooltipValueContainer = styled(Flex).withConfig({ displayName: "ProgressTooltipValueContainer", componentId: "sc-1bb9y2" }) `
8973
+ const ProgressTooltipValue = styled.div.withConfig({ displayName: "ProgressTooltipValue", componentId: "sc-17dllji" }) ``;
8974
+ const ProgressTooltipValueContainer = styled(Flex).withConfig({ displayName: "ProgressTooltipValueContainer", componentId: "sc-t31e0z" }) `
8936
8975
  align-items: center;
8937
8976
 
8938
8977
  > * {
@@ -8943,14 +8982,14 @@ const ProgressTooltipValueContainer = styled(Flex).withConfig({ displayName: "Pr
8943
8982
  opacity: 1;
8944
8983
  }
8945
8984
  `;
8946
- const ProgressTooltipValueOf = styled.div.withConfig({ displayName: "ProgressTooltipValueOf", componentId: "sc-ybuzqz" }) `
8985
+ const ProgressTooltipValueOf = styled.div.withConfig({ displayName: "ProgressTooltipValueOf", componentId: "sc-xssdyx" }) `
8947
8986
  margin: 0 0.25rem;
8948
8987
  `;
8949
- const ProgressTotalTitle = styled.div.withConfig({ displayName: "ProgressTotalTitle", componentId: "sc-1km4jed" }) `
8988
+ const ProgressTotalTitle = styled.div.withConfig({ displayName: "ProgressTotalTitle", componentId: "sc-a16oh1" }) `
8950
8989
  font-size: 0.75rem;
8951
8990
  font-weight: bold;
8952
8991
  `;
8953
- const ProgressTotal = styled(Flex).withConfig({ displayName: "ProgressTotal", componentId: "sc-8kzfdx" }) `
8992
+ const ProgressTotal = styled(Flex).withConfig({ displayName: "ProgressTotal", componentId: "sc-1e1daaj" }) `
8954
8993
  align-items: center;
8955
8994
  justify-content: space-between;
8956
8995
  margin-top: 1rem;
@@ -9011,7 +9050,7 @@ const DefaultAttributesContainer = memo(({ type, renderElement }) => {
9011
9050
  return (jsx(Fragment$1, { children: attributes?.map(({ attributeName }) => (jsx(Container, { isColumn: true, children: renderElement({ id: attributeName }) }, attributeName))) }));
9012
9051
  });
9013
9052
 
9014
- const ContainerDivider = styled(Divider).withConfig({ displayName: "ContainerDivider", componentId: "sc-1bibsa0" }) `
9053
+ const ContainerDivider = styled(Divider).withConfig({ displayName: "ContainerDivider", componentId: "sc-4xppnj" }) `
9015
9054
  width: 100%;
9016
9055
  border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
9017
9056
  `;
@@ -9037,7 +9076,7 @@ const DEFAULT_BAR_CHART_MARGINS = {
9037
9076
  right: 0,
9038
9077
  };
9039
9078
 
9040
- const FiltersContainerWrapper = styled(Flex).withConfig({ displayName: "FiltersContainerWrapper", componentId: "sc-99hw6f" }) `
9079
+ const FiltersContainerWrapper = styled(Flex).withConfig({ displayName: "FiltersContainerWrapper", componentId: "sc-1v2jo4l" }) `
9041
9080
  flex-direction: column;
9042
9081
  padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
9043
9082
  background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
@@ -9074,7 +9113,7 @@ const FiltersContainerWrapper = styled(Flex).withConfig({ displayName: "FiltersC
9074
9113
 
9075
9114
  ${sizeCssMixin};
9076
9115
  `;
9077
- const StyledIconButton = styled(IconButton).withConfig({ displayName: "StyledIconButton", componentId: "sc-9pdkmo" }) `
9116
+ const StyledIconButton = styled(IconButton).withConfig({ displayName: "StyledIconButton", componentId: "sc-1cq8zf" }) `
9078
9117
  width: 0.75rem;
9079
9118
  height: 0.75rem;
9080
9119
 
@@ -9093,14 +9132,14 @@ const StyledIconButton = styled(IconButton).withConfig({ displayName: "StyledIco
9093
9132
  * `width: 100%` резолвится относительно обёртки, ширина которой определяется контентом, —
9094
9133
  * и фильтр встаёт уже соседних. Растягиваем обёртку принудительно.
9095
9134
  */
9096
- const TreeFilterContainer = styled.div.withConfig({ displayName: "TreeFilterContainer", componentId: "sc-1vmslon" }) `
9135
+ const TreeFilterContainer = styled.div.withConfig({ displayName: "TreeFilterContainer", componentId: "sc-9t61eh" }) `
9097
9136
  width: 100%;
9098
9137
 
9099
9138
  > * {
9100
9139
  width: 100%;
9101
9140
  }
9102
9141
  `;
9103
- const TextFilterContainer = styled.div.withConfig({ displayName: "TextFilterContainer", componentId: "sc-1sap75y" }) `
9142
+ const TextFilterContainer = styled.div.withConfig({ displayName: "TextFilterContainer", componentId: "sc-1tynpvc" }) `
9104
9143
  /* Ширину задаёт контейнер фильтров. Раньше здесь стояли жёсткие 15.85rem, из-за чего
9105
9144
  текстовый фильтр вставал уже соседних. */
9106
9145
  width: 100%;
@@ -9115,7 +9154,7 @@ const TextFilterContainer = styled.div.withConfig({ displayName: "TextFilterCont
9115
9154
  }
9116
9155
  }
9117
9156
  `;
9118
- const BarChartContainer = styled.div.withConfig({ displayName: "BarChartContainer", componentId: "sc-g2749m" }) `
9157
+ const BarChartContainer = styled.div.withConfig({ displayName: "BarChartContainer", componentId: "sc-122y3rq" }) `
9119
9158
  width: 100%;
9120
9159
  overflow-x: hidden;
9121
9160
 
@@ -9127,7 +9166,7 @@ const BarChartContainer = styled.div.withConfig({ displayName: "BarChartContaine
9127
9166
  }
9128
9167
  `}
9129
9168
  `;
9130
- const AnyChartWrapper = styled.div.withConfig({ displayName: "AnyChartWrapper", componentId: "sc-tkz57f" }) `
9169
+ const AnyChartWrapper = styled.div.withConfig({ displayName: "AnyChartWrapper", componentId: "sc-1hsamkn" }) `
9131
9170
  width: 100%;
9132
9171
  height: ${({ height }) => height}px;
9133
9172
 
@@ -9140,7 +9179,7 @@ const AnyChartWrapper = styled.div.withConfig({ displayName: "AnyChartWrapper",
9140
9179
  min-height: 0;
9141
9180
  `}
9142
9181
  `;
9143
- const BarChartWrapper = styled(AnyChartWrapper).withConfig({ displayName: "BarChartWrapper", componentId: "sc-j2pq7s" }) `
9182
+ const BarChartWrapper = styled(AnyChartWrapper).withConfig({ displayName: "BarChartWrapper", componentId: "sc-yydfmv" }) `
9144
9183
  width: 100%;
9145
9184
  margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
9146
9185
 
@@ -9150,13 +9189,13 @@ const BarChartWrapper = styled(AnyChartWrapper).withConfig({ displayName: "BarCh
9150
9189
  }
9151
9190
  }
9152
9191
  `;
9153
- const BarChartFilterHeader = styled(Flex).withConfig({ displayName: "BarChartFilterHeader", componentId: "sc-1bpjlze" }) `
9192
+ const BarChartFilterHeader = styled(Flex).withConfig({ displayName: "BarChartFilterHeader", componentId: "sc-1g57sl3" }) `
9154
9193
  justify-content: space-between;
9155
9194
  align-items: center;
9156
9195
  height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
9157
9196
  padding: 0.25rem 0;
9158
9197
  `;
9159
- const BarChartFilterArrows = styled(Flex).withConfig({ displayName: "BarChartFilterArrows", componentId: "sc-1az6izo" }) `
9198
+ const BarChartFilterArrows = styled(Flex).withConfig({ displayName: "BarChartFilterArrows", componentId: "sc-nxd5i8" }) `
9160
9199
  /* Ширина по контенту (двум стрелкам), а не 100%. Flex из uilib навязывает width: 100%,
9161
9200
  из-за чего контейнер стрелок занимал всю шапку: справа зияла пустота, а текст выбранного
9162
9201
  диапазона (BarChartFilterSelected) не мог уйти вправо через space-between шапки. */
@@ -9173,15 +9212,15 @@ const BarChartFilterArrows = styled(Flex).withConfig({ displayName: "BarChartFil
9173
9212
  }
9174
9213
  }
9175
9214
  `;
9176
- const BarChartFilterSelected = styled.div.withConfig({ displayName: "BarChartFilterSelected", componentId: "sc-bz2mzl" }) `
9215
+ const BarChartFilterSelected = styled.div.withConfig({ displayName: "BarChartFilterSelected", componentId: "sc-mmyp3w" }) `
9177
9216
  font-size: 0.75rem;
9178
9217
  font-weight: bold;
9179
9218
  color: ${({ theme: { palette } }) => palette.textPrimary};
9180
9219
  `;
9181
- styled.div.withConfig({ displayName: "NumberRangeSliderContainer", componentId: "sc-stdq6d" }) `
9220
+ styled.div.withConfig({ displayName: "NumberRangeSliderContainer", componentId: "sc-1ctavc0" }) `
9182
9221
  color: ${({ theme: { palette } }) => palette.textSecondary};
9183
9222
  `;
9184
- const BarChart = styled(BarChart$1).withConfig({ displayName: "BarChart", componentId: "sc-uboo4p" }) `
9223
+ const BarChart = styled(BarChart$1).withConfig({ displayName: "BarChart", componentId: "sc-rk7fxs" }) `
9185
9224
  .${barChartClassNames.barChartXAxis} {
9186
9225
  .domain,
9187
9226
  line {
@@ -9207,7 +9246,7 @@ const BarChart = styled(BarChart$1).withConfig({ displayName: "BarChart", compon
9207
9246
  font-size: 12px;
9208
9247
  }
9209
9248
  `;
9210
- const TooltipContainer = styled.div.withConfig({ displayName: "TooltipContainer", componentId: "sc-jd96o5" }) `
9249
+ const TooltipContainer = styled.div.withConfig({ displayName: "TooltipContainer", componentId: "sc-pq9jq4" }) `
9211
9250
  position: relative;
9212
9251
  font-size: 0.75rem;
9213
9252
  color: #ffffff;
@@ -9411,7 +9450,7 @@ const handleOffset = `calc(-1 * (var(--grid-gap, 0px) + ${HANDLE_BLEED_PX}px))`;
9411
9450
  * раскладку ни на пиксель. Сам ползунок (`::after`) появляется только при наведении и во время
9412
9451
  * перетаскивания — в покое сетка выглядит как обычно.
9413
9452
  */
9414
- const ResizeHandle = styled.div.withConfig({ displayName: "ResizeHandle", componentId: "sc-1h8ahog" }) `
9453
+ const ResizeHandle = styled.div.withConfig({ displayName: "ResizeHandle", componentId: "sc-6tppdg" }) `
9415
9454
  position: absolute;
9416
9455
  z-index: 3;
9417
9456
  touch-action: none;
@@ -9716,7 +9755,7 @@ const GridResizer = memo(({ axis, index, sizes, getGrid, onCommit }) => {
9716
9755
  * ровно то, что нужно, а попытка их перебить упёрлась бы в равную специфичность с `$sizeCss`
9717
9756
  * самой ячейки.
9718
9757
  */
9719
- const GridBody = styled(Container).withConfig({ displayName: "GridBody", componentId: "sc-114bds8" }) `
9758
+ const GridBody = styled(Container).withConfig({ displayName: "GridBody", componentId: "sc-13zydwl" }) `
9720
9759
  && {
9721
9760
  display: grid;
9722
9761
  align-items: stretch;
@@ -9751,7 +9790,7 @@ const GridBody = styled(Container).withConfig({ displayName: "GridBody", compone
9751
9790
  * обёртки пропавший узел утащил бы всю сетку на трек влево. Во-вторых, даёт систему координат
9752
9791
  * (`position: relative`) для ручки ресайза, лежащей в зазоре.
9753
9792
  */
9754
- const GridTrackBox = styled.div.withConfig({ displayName: "GridTrackBox", componentId: "sc-1xc3z81" }) `
9793
+ const GridTrackBox = styled.div.withConfig({ displayName: "GridTrackBox", componentId: "sc-1k9jkql" }) `
9755
9794
  position: relative;
9756
9795
  display: flex;
9757
9796
  flex-direction: column;
@@ -9815,7 +9854,7 @@ const GridTrackBox = styled.div.withConfig({ displayName: "GridTrackBox", compon
9815
9854
  * намеренно выходят за границы трека на `HANDLE_BLEED_PX` — скролл-контейнер срезал бы им
9816
9855
  * половину зоны захвата.
9817
9856
  */
9818
- const GridTrackContent = styled.div.withConfig({ displayName: "GridTrackContent", componentId: "sc-y0wvgp" }) `
9857
+ const GridTrackContent = styled.div.withConfig({ displayName: "GridTrackContent", componentId: "sc-14clv7u" }) `
9819
9858
  display: flex;
9820
9859
  flex-direction: column;
9821
9860
  flex: 1 1 auto;
@@ -10024,8 +10063,9 @@ const GridTracks = memo(({ node, axis, renderElement, body, gap }) => {
10024
10063
  const handleResizeCommit = useCallback((index, next) => edit?.commitResize(node.id, index, next, axis), [axis, edit, node.id]);
10025
10064
  const handleHeightCommit = useCallback((height, next) => edit?.commitHeight(height, next), [edit]);
10026
10065
  // Нижнюю границу тянет только корневая сетка сессии: у вложенной снизу лежит трек чужой
10027
- // раскладки, и её высотой распоряжается родитель.
10028
- const outerSizes = useMemo(() => (axis === "row" && edit?.draft.id === node.id ? sizes : undefined), [axis, edit?.draft.id, node.id, sizes]);
10066
+ // раскладки, и её высотой распоряжается родитель. `fixedHeight` убирает ручку и у корневой —
10067
+ // когда высотой сетки распоряжается внешняя раскладка (панель фиксированного экрана, док).
10068
+ const outerSizes = useMemo(() => (axis === "row" && edit?.draft.id === node.id && !node.options?.fixedHeight ? sizes : undefined), [axis, edit?.draft.id, node.id, node.options?.fixedHeight, sizes]);
10029
10069
  return (jsx(GridBody, { ...body, ref: gridRef, isColumn: true, "$template": template, "$axis": axis, "$gap": gap ?? DEFAULT_GRID_GAP, children: items.map((item, index) => (jsx(GridTrack, { item: item, axis: axis, index: index, pairSizes: index + 1 < items.length ? [sizes[index], sizes[index + 1]] : null, outerSizes: outerSizes, getGrid: getGrid, onResizeCommit: handleResizeCommit, onHeightCommit: handleHeightCommit, renderElement: renderElement }, item.id))) }));
10030
10070
  });
10031
10071
 
@@ -10044,7 +10084,7 @@ const GridRowContainer = memo(({ elementConfig, renderElement }) => {
10044
10084
  return (jsx(ContainerRoot, { ...root, children: jsx(GridTracks, { node: elementConfig, axis: "column", body: body, gap: gap, renderElement: renderElement }) }));
10045
10085
  });
10046
10086
 
10047
- const IconContainerWrapper = styled(Flex).withConfig({ displayName: "IconContainerWrapper", componentId: "sc-4s3j6v" }) `
10087
+ const IconContainerWrapper = styled(Flex).withConfig({ displayName: "IconContainerWrapper", componentId: "sc-1bixfja" }) `
10048
10088
  flex-direction: column;
10049
10089
  justify-content: center;
10050
10090
  position: relative;
@@ -10053,14 +10093,14 @@ const IconContainerWrapper = styled(Flex).withConfig({ displayName: "IconContain
10053
10093
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
10054
10094
  overflow: hidden;
10055
10095
  `;
10056
- const IconContainerHeaderWrapper = styled(Flex).withConfig({ displayName: "IconContainerHeaderWrapper", componentId: "sc-shr2bi" }) `
10096
+ const IconContainerHeaderWrapper = styled(Flex).withConfig({ displayName: "IconContainerHeaderWrapper", componentId: "sc-1r455o7" }) `
10057
10097
  justify-content: space-between;
10058
10098
  align-items: center;
10059
10099
  flex-wrap: nowrap;
10060
10100
  width: 100%;
10061
10101
  margin-bottom: 0.25rem;
10062
10102
  `;
10063
- const IconContainerHeader = styled(Flex).withConfig({ displayName: "IconContainerHeader", componentId: "sc-14wjnwd" }) `
10103
+ const IconContainerHeader = styled(Flex).withConfig({ displayName: "IconContainerHeader", componentId: "sc-leywfp" }) `
10064
10104
  align-items: center;
10065
10105
  flex-wrap: nowrap;
10066
10106
  width: 100%;
@@ -10076,7 +10116,7 @@ const IconContainerHeader = styled(Flex).withConfig({ displayName: "IconContaine
10076
10116
  }
10077
10117
  }
10078
10118
  `;
10079
- const IconContainerTitle = styled(Flex).withConfig({ displayName: "IconContainerTitle", componentId: "sc-198xstg" }) `
10119
+ const IconContainerTitle = styled(Flex).withConfig({ displayName: "IconContainerTitle", componentId: "sc-3qf191" }) `
10080
10120
  > * {
10081
10121
  width: 13rem;
10082
10122
  white-space: nowrap;
@@ -10085,7 +10125,7 @@ const IconContainerTitle = styled(Flex).withConfig({ displayName: "IconContainer
10085
10125
  text-overflow: ellipsis;
10086
10126
  }
10087
10127
  `;
10088
- const IconContainerText = styled.div.withConfig({ displayName: "IconContainerText", componentId: "sc-1n5fvha" }) `
10128
+ const IconContainerText = styled.div.withConfig({ displayName: "IconContainerText", componentId: "sc-1llodu9" }) `
10089
10129
  width: 100%;
10090
10130
  overflow-wrap: break-word;
10091
10131
  font-size: 0.75rem;
@@ -10097,7 +10137,7 @@ const IconContainer = memo(({ elementConfig, renderElement }) => {
10097
10137
  return (jsxs(IconContainerWrapper, { id: id, style: style, children: [jsxs(IconContainerHeaderWrapper, { children: [jsxs(IconContainerHeader, { children: [renderElement({ id: "icon" }), jsx(IconContainerTitle, { children: renderElement({ id: "alias" }) })] }), renderElement({ id: "link" })] }), jsx(IconContainerText, { children: renderElement({ id: "text" }) })] }));
10098
10138
  });
10099
10139
 
10100
- const ImageContainerBg$1 = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-wflv8g" }) `
10140
+ const ImageContainerBg$1 = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-13tu1jt" }) `
10101
10141
  position: absolute;
10102
10142
  top: 0;
10103
10143
  bottom: 0;
@@ -10111,19 +10151,19 @@ const ImageContainerBg$1 = styled.div.withConfig({ displayName: "ImageContainerB
10111
10151
  object-fit: cover;
10112
10152
  }
10113
10153
  `;
10114
- const ImageContainerTitle = styled.div.withConfig({ displayName: "ImageContainerTitle", componentId: "sc-16m98j4" }) `
10154
+ const ImageContainerTitle = styled.div.withConfig({ displayName: "ImageContainerTitle", componentId: "sc-bjjamv" }) `
10115
10155
  width: 100%;
10116
10156
  overflow-wrap: break-word;
10117
10157
  font-size: 1rem;
10118
10158
  font-weight: 500;
10119
10159
  `;
10120
- const ImageContainerText = styled.div.withConfig({ displayName: "ImageContainerText", componentId: "sc-1a5nnh4" }) `
10160
+ const ImageContainerText = styled.div.withConfig({ displayName: "ImageContainerText", componentId: "sc-rc10ba" }) `
10121
10161
  width: 100%;
10122
10162
  overflow-wrap: break-word;
10123
10163
  margin-top: 0.5rem;
10124
10164
  font-size: 0.75rem;
10125
10165
  `;
10126
- const ImageContainerButton$1 = styled(FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-1dij1tx" }) `
10166
+ const ImageContainerButton$1 = styled(FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-1rrze46" }) `
10127
10167
  min-height: 1.5rem;
10128
10168
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
10129
10169
  background-color: ${({ theme: { palette } }) => palette.primary};
@@ -10133,7 +10173,7 @@ const ImageContainerButton$1 = styled(FlatButton).withConfig({ displayName: "Ima
10133
10173
  background-color: ${({ theme: { palette } }) => palette.primaryDeep};
10134
10174
  }
10135
10175
  `;
10136
- const ImageContainerWrapper = styled(Flex).withConfig({ displayName: "ImageContainerWrapper", componentId: "sc-33dw2w" }) `
10176
+ const ImageContainerWrapper = styled(Flex).withConfig({ displayName: "ImageContainerWrapper", componentId: "sc-1pmw2ik" }) `
10137
10177
  flex-direction: column;
10138
10178
  justify-content: flex-end;
10139
10179
  position: relative;
@@ -10157,6 +10197,7 @@ const ImageContainerWrapper = styled(Flex).withConfig({ displayName: "ImageConta
10157
10197
  }
10158
10198
 
10159
10199
  ${sizeCssMixin};
10200
+ ${noMarginMixin};
10160
10201
  `;
10161
10202
 
10162
10203
  const ImageContainer = memo(({ elementConfig, renderElement }) => {
@@ -10164,7 +10205,7 @@ const ImageContainer = memo(({ elementConfig, renderElement }) => {
10164
10205
  return (jsxs(ImageContainerWrapper, { ...root, children: [jsx(ImageContainerTitle, { children: renderElement({ id: "alias" }) }), jsx(ImageContainerText, { children: renderElement({ id: "text" }) }), renderElement({ id: "button" }), jsx(ImageContainerBg$1, { children: renderElement({ id: "image" }) })] }));
10165
10206
  });
10166
10207
 
10167
- const LayersContainerWrapper = styled(Container).withConfig({ displayName: "LayersContainerWrapper", componentId: "sc-3plfqm" }) `
10208
+ const LayersContainerWrapper = styled(Container).withConfig({ displayName: "LayersContainerWrapper", componentId: "sc-10rok3p" }) `
10168
10209
  ${DraggableTreeContainer} {
10169
10210
  width: calc(100% + 3rem);
10170
10211
  margin: -0.75rem -1.5rem 0;
@@ -10373,19 +10414,19 @@ const StyledSvgColorMixin = css `
10373
10414
  }
10374
10415
  }
10375
10416
  `;
10376
- const StyledSvg = styled(Flex).withConfig({ displayName: "StyledSvg", componentId: "sc-ixieto" }) `
10417
+ const StyledSvg = styled(Flex).withConfig({ displayName: "StyledSvg", componentId: "sc-iasyki" }) `
10377
10418
  align-items: center;
10378
10419
  ${({ $width }) => !!$width && StyledSvgWidthMixin};
10379
10420
  ${({ $height }) => !!$height && StyledSvgHeightMixin};
10380
10421
  ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
10381
10422
  `;
10382
10423
 
10383
- const ContainerIconValue = styled(Flex).withConfig({ displayName: "ContainerIconValue", componentId: "sc-a471md" }) ``;
10424
+ const ContainerIconValue = styled(Flex).withConfig({ displayName: "ContainerIconValue", componentId: "sc-1ij0wc5" }) ``;
10384
10425
  /**
10385
10426
  * Обёртка иконки плитки. Собственный styled нужен, чтобы до иконки можно было дотянуться стилями:
10386
10427
  * сам элемент рисуют ElementIcon/ElementSvg своими компонентами, а обёртка принадлежит контейнеру.
10387
10428
  */
10388
- const ContainerIconWrapper = styled(FlexSpan).withConfig({ displayName: "ContainerIconWrapper", componentId: "sc-tztnap" }) ``;
10429
+ const ContainerIconWrapper = styled(FlexSpan).withConfig({ displayName: "ContainerIconWrapper", componentId: "sc-okpkob" }) ``;
10389
10430
  /** Размер иконки-водяного знака в режиме `bigIcon`. */
10390
10431
  const BIG_ICON_SIZE = "3rem";
10391
10432
  /** Доля цвета-источника в тонированном фоне плитки, %. */
@@ -10422,7 +10463,7 @@ const IconColorMixin = css `
10422
10463
  }
10423
10464
  `};
10424
10465
  `;
10425
- const RoundedBackgroundContainerWrapper = styled(Flex).withConfig({ displayName: "RoundedBackgroundContainerWrapper", componentId: "sc-20q78q" }) `
10466
+ const RoundedBackgroundContainerWrapper = styled(Flex).withConfig({ displayName: "RoundedBackgroundContainerWrapper", componentId: "sc-1gekg94" }) `
10426
10467
  position: relative;
10427
10468
  flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
10428
10469
  width: ${({ $fillWidth }) => ($fillWidth ? "var(--tile-width, 100%)" : "9rem")};
@@ -10657,12 +10698,12 @@ const SlideshowContainer = memo(({ config, elementConfig, type }) => {
10657
10698
  }) })] }))] }));
10658
10699
  });
10659
10700
 
10660
- const TabAnchor = styled.div.withConfig({ displayName: "TabAnchor", componentId: "sc-1tc6t5f" }) `
10701
+ const TabAnchor = styled.div.withConfig({ displayName: "TabAnchor", componentId: "sc-q8hzso" }) `
10661
10702
  position: absolute;
10662
10703
  top: -1.5rem;
10663
10704
  right: 0;
10664
10705
  `;
10665
- const TabValue = styled(Flex).withConfig({ displayName: "TabValue", componentId: "sc-xnc3bx" }) `
10706
+ const TabValue = styled(Flex).withConfig({ displayName: "TabValue", componentId: "sc-1m10f2x" }) `
10666
10707
  flex-wrap: nowrap;
10667
10708
  `;
10668
10709
  const noBgMixin = css `
@@ -10688,7 +10729,7 @@ const noBgMixin = css `
10688
10729
  margin-right: 0;
10689
10730
  }
10690
10731
  `;
10691
- const TabContainer = styled.a.withConfig({ displayName: "TabContainer", componentId: "sc-d48ilh" }) `
10732
+ const TabContainer = styled.a.withConfig({ displayName: "TabContainer", componentId: "sc-4z76if" }) `
10692
10733
  display: flex;
10693
10734
  flex-direction: ${({ column }) => (column ? "column" : "row")};
10694
10735
  align-items: center;
@@ -10727,7 +10768,7 @@ const TabContainer = styled.a.withConfig({ displayName: "TabContainer", componen
10727
10768
 
10728
10769
  ${({ noBg }) => noBg && noBgMixin};
10729
10770
  `;
10730
- const SwiperContainer = styled.div.withConfig({ displayName: "SwiperContainer", componentId: "sc-g1qfvm" }) `
10771
+ const SwiperContainer = styled.div.withConfig({ displayName: "SwiperContainer", componentId: "sc-dmlhc6" }) `
10731
10772
  width: 100%;
10732
10773
 
10733
10774
  .swiper-wrapper {
@@ -10766,7 +10807,7 @@ const SvgContainerColorMixin = css `
10766
10807
  fill: ${({ $fontColor }) => $fontColor};
10767
10808
  }
10768
10809
  `;
10769
- const SvgContainer = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-1ak4j6i" }) `
10810
+ const SvgContainer = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-11ikqpf" }) `
10770
10811
  &&& {
10771
10812
  min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
10772
10813
  max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
@@ -10785,7 +10826,7 @@ const ALIGN_TO_JUSTIFY = {
10785
10826
  right: "flex-end",
10786
10827
  stretch: "flex-start",
10787
10828
  };
10788
- const ContainerIconTitle = styled(Flex).withConfig({ displayName: "ContainerIconTitle", componentId: "sc-1jfnkqo" }) `
10829
+ const ContainerIconTitle = styled(Flex).withConfig({ displayName: "ContainerIconTitle", componentId: "sc-1af06a4" }) `
10789
10830
  /* inline-flex, а не блочный flex во всю ширину: иначе text-align родителя игнорируется. */
10790
10831
  display: inline-flex;
10791
10832
  align-items: center;
@@ -10841,7 +10882,7 @@ const ContainerIconTitle = styled(Flex).withConfig({ displayName: "ContainerIcon
10841
10882
  }
10842
10883
  }
10843
10884
  `;
10844
- const ContainerTitle = styled(Flex).withConfig({ displayName: "ContainerTitle", componentId: "sc-26sf60" }) `
10885
+ const ContainerTitle = styled(Flex).withConfig({ displayName: "ContainerTitle", componentId: "sc-1vf08go" }) `
10845
10886
  align-items: center;
10846
10887
  justify-content: space-between;
10847
10888
  width: 100%;
@@ -10917,13 +10958,13 @@ const TwoColumnContainer = memo(({ elementConfig, type, renderElement }) => {
10917
10958
  return attributesToRender ? (jsx(Fragment$1, { children: attributesToRender.map(renderContainer) })) : (renderContainer());
10918
10959
  });
10919
10960
 
10920
- const UploadContainerWrapper = styled(Flex).withConfig({ displayName: "UploadContainerWrapper", componentId: "sc-5rpf8b" }) `
10961
+ const UploadContainerWrapper = styled(Flex).withConfig({ displayName: "UploadContainerWrapper", componentId: "sc-5bg2we" }) `
10921
10962
  flex-direction: column;
10922
10963
  width: 100%;
10923
10964
 
10924
10965
  ${sizeCssMixin};
10925
10966
  `;
10926
- const UploaderContainer = styled(Container).withConfig({ displayName: "UploaderContainer", componentId: "sc-1h06uhl" }) `
10967
+ const UploaderContainer = styled(Container).withConfig({ displayName: "UploaderContainer", componentId: "sc-eongvj" }) `
10927
10968
  ${UploaderItemArea} {
10928
10969
  overflow: visible;
10929
10970
  padding-top: 1rem;
@@ -11482,15 +11523,21 @@ const useGridSelection = () => {
11482
11523
  * Черновик отличается структурой от конфига, пришедшего сверху, поэтому `renderElement` из пропсов
11483
11524
  * здесь не годится — он замкнут на исходный узел и не найдёт ячейки, созданные split/add. Вместо
11484
11525
  * него строится собственный, замкнутый на черновик; всё дерево ниже получает его по цепочке
11485
- * рекурсии `getRenderElement`.
11526
+ * рекурсии `getRenderElement`. Хост с собственным реестром содержимого отдаёт вместо этого
11527
+ * фабрику `createRenderElement` — она получает черновик и строит рендер по нему.
11486
11528
  */
11487
- const GridEditSession = ({ elementConfig, type = WidgetType.Dashboard, onChange, }) => {
11529
+ const GridEditSession = ({ elementConfig, type = WidgetType.Dashboard, onChange, createRenderElement, onGridSelectionChange, }) => {
11488
11530
  const { draft, applyAction, commitResize, commitHeight } = useGridDraft({ node: elementConfig, type, onChange });
11489
11531
  const { selectedIds, selectCell, clearSelection } = useGridSelection();
11490
11532
  const { beginDrag, consumeDragClick } = useGridCellSwap({ draft, applyAction });
11491
11533
  const [menuPosition, setMenuPosition] = useState(null);
11492
- const renderElement = useRenderElement(type, draft);
11534
+ // Штатный рендер строится всегда: хостовая фабрика опциональна, а порядок хуков — нет.
11535
+ const defaultRenderElement = useRenderElement(type, draft);
11536
+ const renderElement = useMemo(() => (createRenderElement ? createRenderElement(draft) : defaultRenderElement), [createRenderElement, defaultRenderElement, draft]);
11493
11537
  const menuState = useMemo(() => getGridMenuState(draft, selectedIds), [draft, selectedIds]);
11538
+ useEffect(() => {
11539
+ onGridSelectionChange?.(selectedIds);
11540
+ }, [onGridSelectionChange, selectedIds]);
11494
11541
  const openMenu = useCallback((position) => setMenuPosition(position), []);
11495
11542
  const closeMenu = useCallback(() => setMenuPosition(null), []);
11496
11543
  const value = useMemo(() => ({
@@ -11556,7 +11603,7 @@ const ExportPdfContainer = memo(({ type, elementConfig }) => {
11556
11603
  return (jsx(Container, { id: id, style: style, children: jsx(IconButton, { kind: icon || "download", primary: true, disabled: loading, onClick: onExport, children: title ?? t("downloadPdf", { ns: "dashboard", defaultValue: "Скачать PDF" }) }) }));
11557
11604
  });
11558
11605
 
11559
- const StatusBadge = styled(Chip).withConfig({ displayName: "StatusBadge", componentId: "sc-1io3oj7" }) `
11606
+ const StatusBadge = styled(Chip).withConfig({ displayName: "StatusBadge", componentId: "sc-1awp1ud" }) `
11560
11607
  background-color: ${({ bgColor }) => bgColor};
11561
11608
  color: ${({ theme }) => theme.palette.iconContrast};
11562
11609
  `;
@@ -11610,7 +11657,7 @@ var EditGeometryType;
11610
11657
  EditGeometryType["Raster"] = "raster";
11611
11658
  })(EditGeometryType || (EditGeometryType = {}));
11612
11659
 
11613
- const StyledButton = styled(FlatButton).withConfig({ displayName: "StyledButton", componentId: "sc-13r9ztd" }) `
11660
+ const StyledButton = styled(FlatButton).withConfig({ displayName: "StyledButton", componentId: "sc-109g429" }) `
11614
11661
  display: flex;
11615
11662
  align-items: center;
11616
11663
 
@@ -11643,7 +11690,7 @@ const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWai
11643
11690
  return (jsx(ThemeProvider, { theme: darkTheme, children: jsxs(StyledButton, { status: status, statusColors: statusColors, disabled: isDisabled, themeName: themeName, onClick: onClick, children: [renderIcon, renderTitle] }) }));
11644
11691
  };
11645
11692
 
11646
- const TaskContainerWrapper = styled(Flex).withConfig({ displayName: "TaskContainerWrapper", componentId: "sc-1mojbfp" }) `
11693
+ const TaskContainerWrapper = styled(Flex).withConfig({ displayName: "TaskContainerWrapper", componentId: "sc-1e2luim" }) `
11647
11694
  ${sizeCssMixin};
11648
11695
  `;
11649
11696
 
@@ -11663,7 +11710,7 @@ const buildFiltersFromResponse = (responseFilters, result) => {
11663
11710
  return Object.keys(filters).length ? filters : null;
11664
11711
  };
11665
11712
 
11666
- const ClampedText$1 = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-138git7" }) `
11713
+ const ClampedText$1 = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-1488s77" }) `
11667
11714
  display: -webkit-box;
11668
11715
  -webkit-line-clamp: 2;
11669
11716
  -webkit-box-orient: vertical;
@@ -11949,7 +11996,7 @@ const EditDropdownContainer = ({ type, elementConfig, renderElement, }) => {
11949
11996
  return (jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsx(ContainerValue, { column: true, children: jsx(Dropdown, { zIndex: 1000, label: control?.label, placeholder: control?.placeholder, options: optionsList, value: value, width: `${control?.width ?? DEFAULT_DROPDOWN_WIDTH}px`, onChange: ([option]) => onChange(option.value) }) })] }));
11950
11997
  };
11951
11998
 
11952
- const CheckboxWrapper = styled(ContainerValue).withConfig({ displayName: "CheckboxWrapper", componentId: "sc-opt80z" }) `
11999
+ const CheckboxWrapper = styled(ContainerValue).withConfig({ displayName: "CheckboxWrapper", componentId: "sc-xj82hi" }) `
11953
12000
  flex-wrap: wrap;
11954
12001
 
11955
12002
  && > label {
@@ -11957,7 +12004,7 @@ const CheckboxWrapper = styled(ContainerValue).withConfig({ displayName: "Checkb
11957
12004
  margin-bottom: 0.25rem;
11958
12005
  }
11959
12006
  `;
11960
- const ChipsWrapper = styled(ContainerValue).withConfig({ displayName: "ChipsWrapper", componentId: "sc-1qmv0eo" }) `
12007
+ const ChipsWrapper = styled(ContainerValue).withConfig({ displayName: "ChipsWrapper", componentId: "sc-1oqxuue" }) `
11961
12008
  flex-wrap: wrap;
11962
12009
 
11963
12010
  && > span {
@@ -12246,6 +12293,36 @@ const createContainerComponents = () => ({
12246
12293
  [ContainerTemplate.GridRow]: GridRowContainer,
12247
12294
  default: ContainersGroupContainer,
12248
12295
  });
12296
+ /**
12297
+ * Шаблоны, чей компонент держит `id`, `data-templatename`, авторский `style` и `$sizeCss`
12298
+ * на ЕДИНСТВЕННОМ собственном корне — через `useContainerRoot` / `useWrapperSize`.
12299
+ *
12300
+ * Такому контейнеру не нужна внешняя обёртка `ElementValueWrapper`: она добавляла в DOM второй
12301
+ * узел с теми же атрибутами и стилями (см. `formatElementValue`).
12302
+ *
12303
+ * Остальных здесь нет намеренно: `DefaultAttributes`, `EditGroup` и `OneColumn`/`TwoColumn`
12304
+ * в режиме `attributesToRender` возвращают НЕСКОЛЬКО корней, а `Title`, `Icon`, `Divider`,
12305
+ * `Tabs`, `AddFeature`, `ExportPdf`, `Progress`, `RoundedBackground` ставят `id`/`style` руками.
12306
+ * Для них обёртка — единственный одиночный узел, снимать её нельзя.
12307
+ *
12308
+ * Переводишь очередной контейнер на `useContainerRoot` — добавь его сюда.
12309
+ */
12310
+ const ROOT_OWNING_TEMPLATES = new Set([
12311
+ ContainerTemplate.ContainersGroup,
12312
+ ContainerTemplate.GridRow,
12313
+ ContainerTemplate.Attachment,
12314
+ ContainerTemplate.Camera,
12315
+ ContainerTemplate.Chart,
12316
+ ContainerTemplate.DataSource,
12317
+ ContainerTemplate.DataSourceProgress,
12318
+ ContainerTemplate.Edit,
12319
+ ContainerTemplate.Filters,
12320
+ ContainerTemplate.Image,
12321
+ ContainerTemplate.Layers,
12322
+ ContainerTemplate.Slideshow,
12323
+ ContainerTemplate.Task,
12324
+ ContainerTemplate.Upload,
12325
+ ]);
12249
12326
  let cachedContainerComponents = null;
12250
12327
  const getContainerComponents = () => {
12251
12328
  if (!cachedContainerComponents) {
@@ -12260,12 +12337,26 @@ const getContainerComponent = (innerTemplateName) => {
12260
12337
  const containerComponents = getContainerComponents();
12261
12338
  return containerComponents[innerTemplateName] || containerComponents.default;
12262
12339
  };
12340
+ /**
12341
+ * Контейнер этого шаблона сам держит идентификаторы и стили на своём единственном корне —
12342
+ * внешняя обёртка ему не нужна, см. {@link ROOT_OWNING_TEMPLATES}.
12343
+ *
12344
+ * Живёт рядом с `getContainerComponent` ради правила про неизвестный шаблон: тот резолвится
12345
+ * в `default` (= `ContainersGroupContainer`), а он корнем владеет.
12346
+ */
12347
+ const isRootOwningContainer = (templateName) => {
12348
+ if (!templateName)
12349
+ return false;
12350
+ if (!(templateName in getContainerComponents()))
12351
+ return true;
12352
+ return ROOT_OWNING_TEMPLATES.has(templateName);
12353
+ };
12263
12354
 
12264
- const HeaderTitleContainer = styled(Flex).withConfig({ displayName: "HeaderTitleContainer", componentId: "sc-l0wqaz" }) `
12355
+ const HeaderTitleContainer = styled(Flex).withConfig({ displayName: "HeaderTitleContainer", componentId: "sc-1gg2rqi" }) `
12265
12356
  flex-direction: column;
12266
12357
  width: 100%;
12267
12358
  `;
12268
- const LayerDescription = styled(Description).withConfig({ displayName: "LayerDescription", componentId: "sc-1ngyfe5" }) `
12359
+ const LayerDescription = styled(Description).withConfig({ displayName: "LayerDescription", componentId: "sc-1lxrjdg" }) `
12269
12360
  width: calc(100% - 4rem);
12270
12361
  display: -webkit-box;
12271
12362
  -webkit-line-clamp: 2;
@@ -12286,7 +12377,7 @@ const HeaderFontColorMixin = css `
12286
12377
  var img$4 = "data:image/png;base64,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";
12287
12378
 
12288
12379
  const getMaskColor = (isDark) => isDark ? "0, 0, 0" : "255, 255, 255";
12289
- const DefaultHeaderContainer = styled(Flex).withConfig({ displayName: "DefaultHeaderContainer", componentId: "sc-2dynvw" }) `
12380
+ const DefaultHeaderContainer = styled(Flex).withConfig({ displayName: "DefaultHeaderContainer", componentId: "sc-1fqnjet" }) `
12290
12381
  flex-direction: column;
12291
12382
  position: relative;
12292
12383
  flex-shrink: 0;
@@ -12342,7 +12433,7 @@ const DefaultHeaderContainer = styled(Flex).withConfig({ displayName: "DefaultHe
12342
12433
  left: 0;
12343
12434
  }
12344
12435
  `;
12345
- const TopContainer = styled(Flex).withConfig({ displayName: "TopContainer", componentId: "sc-5lyx2q" }) `
12436
+ const TopContainer = styled(Flex).withConfig({ displayName: "TopContainer", componentId: "sc-12vufbh" }) `
12346
12437
  z-index: 1;
12347
12438
  position: relative;
12348
12439
  justify-content: space-between;
@@ -12350,7 +12441,7 @@ const TopContainer = styled(Flex).withConfig({ displayName: "TopContainer", comp
12350
12441
  width: 100%;
12351
12442
  align-items: flex-start;
12352
12443
  `;
12353
- const TopContainerButtons = styled(Flex).withConfig({ displayName: "TopContainerButtons", componentId: "sc-p2g3ne" }) `
12444
+ const TopContainerButtons = styled(Flex).withConfig({ displayName: "TopContainerButtons", componentId: "sc-ljmtz5" }) `
12354
12445
  align-items: center;
12355
12446
  width: auto;
12356
12447
  margin-right: -0.5rem;
@@ -12361,7 +12452,7 @@ const TopContainerButtons = styled(Flex).withConfig({ displayName: "TopContainer
12361
12452
  padding: 0 0.5rem;
12362
12453
  }
12363
12454
  `;
12364
- const LogoContainer = styled(Flex).withConfig({ displayName: "LogoContainer", componentId: "sc-1hnjjvc" }) `
12455
+ const LogoContainer = styled(Flex).withConfig({ displayName: "LogoContainer", componentId: "sc-1m1fabt" }) `
12365
12456
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
12366
12457
  max-width: calc(100% - 1.4rem);
12367
12458
  max-height: 1.875rem;
@@ -12376,7 +12467,7 @@ const LogoContainer = styled(Flex).withConfig({ displayName: "LogoContainer", co
12376
12467
  max-height: 1.875rem;
12377
12468
  }
12378
12469
  `;
12379
- const PageTitle = styled(H2).withConfig({ displayName: "PageTitle", componentId: "sc-m1vchj" }) `
12470
+ const PageTitle = styled(H2).withConfig({ displayName: "PageTitle", componentId: "sc-1nm7c2r" }) `
12380
12471
  cursor: pointer;
12381
12472
  text-align: left;
12382
12473
  flex: 1 1 auto;
@@ -12393,7 +12484,7 @@ const PageTitle = styled(H2).withConfig({ displayName: "PageTitle", componentId:
12393
12484
  text-overflow: ellipsis;
12394
12485
  }
12395
12486
  `;
12396
- const PageTitleContainer = styled(Flex).withConfig({ displayName: "PageTitleContainer", componentId: "sc-1iys2b6" }) `
12487
+ const PageTitleContainer = styled(Flex).withConfig({ displayName: "PageTitleContainer", componentId: "sc-2jhoex" }) `
12397
12488
  flex-grow: 1;
12398
12489
  align-items: center;
12399
12490
 
@@ -12443,7 +12534,7 @@ const DashboardDefaultHeader = memo(() => {
12443
12534
  return (jsxs(DefaultHeaderContainer, { image: image, isDark: themeName === ThemeName.Dark, children: [!pageId && jsx(LinearProgress, {}), jsxs(Flex, { column: true, gap: "1rem", children: [jsx(FlexSpan, { children: jsxs(TopContainer, { children: [jsx(LogoContainer, { onClick: onClickLogo, children: icon }), jsx(TopContainerButtons, { children: jsx(ProjectPanelMenu, {}) })] }) }), jsx(FlexSpan, { children: jsx(Flex, { column: true, gap: "0.25rem", children: jsx(FlexSpan, { children: jsxs(Flex, { alignItems: "center", children: [jsxs(PageTitleContainer, { children: [jsx(Tooltip$1, { arrow: true, content: tooltip, children: ref => (jsx(PageTitle, { ref: ref, onClick: toggleLayersVisibility, children: title })) }), jsx(ProjectPagesMenu, {})] }), jsx(FlexSpan, { children: jsx(Pagination, {}) })] }) }) }) })] })] }));
12444
12535
  });
12445
12536
 
12446
- const HeaderFrontView = styled(Flex).withConfig({ displayName: "HeaderFrontView", componentId: "sc-1y0d85b" }) `
12537
+ const HeaderFrontView = styled(Flex).withConfig({ displayName: "HeaderFrontView", componentId: "sc-tzrtk5" }) `
12447
12538
  z-index: 100;
12448
12539
  position: relative;
12449
12540
  justify-content: space-between;
@@ -12451,14 +12542,14 @@ const HeaderFrontView = styled(Flex).withConfig({ displayName: "HeaderFrontView"
12451
12542
  width: 100%;
12452
12543
  font: ${({ theme: { fonts } }) => fonts.subtitle};
12453
12544
  `;
12454
- const HeaderContainer = styled(Flex).withConfig({ displayName: "HeaderContainer", componentId: "sc-1fx4x8d" }) `
12545
+ const HeaderContainer = styled(Flex).withConfig({ displayName: "HeaderContainer", componentId: "sc-jn6jqb" }) `
12455
12546
  display: flex;
12456
12547
  flex-grow: 1;
12457
12548
  flex-wrap: nowrap;
12458
12549
  flex-direction: column;
12459
12550
  width: calc(100% - 3rem);
12460
12551
  `;
12461
- const FeatureTitleContainer = styled.div.withConfig({ displayName: "FeatureTitleContainer", componentId: "sc-sykmgl" }) `
12552
+ const FeatureTitleContainer = styled.div.withConfig({ displayName: "FeatureTitleContainer", componentId: "sc-k9eum1" }) `
12462
12553
  display: -webkit-box;
12463
12554
  max-width: 100%;
12464
12555
  width: 100%;
@@ -12507,7 +12598,7 @@ const NoFeatureHeaderMixin = css `
12507
12598
  min-height: 5.5rem;
12508
12599
  }
12509
12600
  `;
12510
- const Header = styled(Flex).withConfig({ displayName: "Header", componentId: "sc-9a397z" }) `
12601
+ const Header = styled(Flex).withConfig({ displayName: "Header", componentId: "sc-16lb20e" }) `
12511
12602
  z-index: 1;
12512
12603
  position: relative;
12513
12604
  top: 0;
@@ -12522,7 +12613,7 @@ const Header = styled(Flex).withConfig({ displayName: "Header", componentId: "sc
12522
12613
 
12523
12614
  ${({ $noFeature }) => $noFeature && NoFeatureHeaderMixin};
12524
12615
  `;
12525
- const DefaultHeaderWrapper = styled.div.withConfig({ displayName: "DefaultHeaderWrapper", componentId: "sc-j1u97n" }) `
12616
+ const DefaultHeaderWrapper = styled.div.withConfig({ displayName: "DefaultHeaderWrapper", componentId: "sc-1qf88mv" }) `
12526
12617
  width: ${({ withPadding }) => (withPadding ? "100%" : "calc(100% + 1rem)")};
12527
12618
  height: ${({ height }) => (height ? `${height}px` : "auto")};
12528
12619
  margin: ${({ withPadding }) => (withPadding ? "-0.5rem -0.5rem 0 -0.5rem" : "-1rem -1rem 0 -1rem")};
@@ -12565,7 +12656,7 @@ const HeaderTitle = ({ noFeature }) => {
12565
12656
  return (jsxs(HeaderTitleContainer, { children: [noFeature ? (jsx(FeatureTitleContainer, { children: t("noObjectFound", { ns: "dashboard", defaultValue: "Объектов не найдено" }) })) : (jsx(FeatureTitleContainer, { clickable: true, children: jsx(Tooltip$1, { arrow: true, placement: "top", content: t("zoomToFeature", { ns: "dashboard", defaultValue: "Приблизить к объекту" }), delay: [600, 0], children: ref => (jsx(FlexSpan, { ref: ref, onClick: () => zoomToFeatures([feature]), children: resultTitle })) }) })), jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
12566
12657
  };
12567
12658
 
12568
- const LayerIconContainer = styled.div.withConfig({ displayName: "LayerIconContainer", componentId: "sc-1vyw25f" }) `
12659
+ const LayerIconContainer = styled.div.withConfig({ displayName: "LayerIconContainer", componentId: "sc-1b5qayf" }) `
12569
12660
  display: flex;
12570
12661
  align-items: center;
12571
12662
  justify-content: center;
@@ -12574,7 +12665,7 @@ const LayerIconContainer = styled.div.withConfig({ displayName: "LayerIconContai
12574
12665
  height: 1.5rem;
12575
12666
  margin-right: 1rem;
12576
12667
  `;
12577
- const AlertIconContainer = styled(Flex).withConfig({ displayName: "AlertIconContainer", componentId: "sc-1wxhzh6" }) `
12668
+ const AlertIconContainer = styled(Flex).withConfig({ displayName: "AlertIconContainer", componentId: "sc-1461o0s" }) `
12578
12669
  align-items: center;
12579
12670
  justify-content: center;
12580
12671
  width: 2rem;
@@ -12621,12 +12712,12 @@ const LayerIcon = ({ layerInfo, error, innerRef }) => {
12621
12712
  return jsx(LayerIconContainer, { ref: innerRef, children: renderSymbol });
12622
12713
  };
12623
12714
 
12624
- const LayerIconClickable = styled.div.withConfig({ displayName: "LayerIconClickable", componentId: "sc-1gzwdrd" }) `
12715
+ const LayerIconClickable = styled.div.withConfig({ displayName: "LayerIconClickable", componentId: "sc-1cjzckf" }) `
12625
12716
  display: flex;
12626
12717
  align-items: center;
12627
12718
  cursor: pointer;
12628
12719
  `;
12629
- const NoFeatureIcon = styled.div.withConfig({ displayName: "NoFeatureIcon", componentId: "sc-1py0v8x" }) `
12720
+ const NoFeatureIcon = styled.div.withConfig({ displayName: "NoFeatureIcon", componentId: "sc-k3a6ze" }) `
12630
12721
  display: flex;
12631
12722
  align-items: center;
12632
12723
  justify-content: center;
@@ -12664,7 +12755,7 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
12664
12755
  return (jsx(ThemeProvider, { theme: getThemeByName(themeName ?? pageThemeName), children: jsx(DefaultHeaderWrapper, { withPadding: withPadding, height: height, "$noFeature": noFeature, children: jsx(Header, { "$overlay": overlay, "$isRow": !column, "$noFeature": noFeature, children: jsxs(HeaderFrontView, { isDefault: !column, children: [jsxs(HeaderContainer, { children: [jsx(HeaderLayerIcon, { noFeature: noFeature }), jsx(HeaderTitle, { noFeature: noFeature })] }), jsx(FeatureCardButtons, {})] }) }) }) }));
12665
12756
  };
12666
12757
 
12667
- const ImageContainerButton = styled(FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-13uz37w" }) `
12758
+ const ImageContainerButton = styled(FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-55slui" }) `
12668
12759
  min-height: 1.5rem;
12669
12760
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
12670
12761
  background-color: ${({ theme: { palette } }) => palette.primary};
@@ -12684,7 +12775,7 @@ const ElementButton = memo(({ type, elementConfig }) => {
12684
12775
  return (jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
12685
12776
  });
12686
12777
 
12687
- const AttributeGalleryContainer = styled.div.withConfig({ displayName: "AttributeGalleryContainer", componentId: "sc-118d9o2" }) `
12778
+ const AttributeGalleryContainer = styled.div.withConfig({ displayName: "AttributeGalleryContainer", componentId: "sc-ij59ch" }) `
12688
12779
  && {
12689
12780
  width: calc(100% + 3rem);
12690
12781
  }
@@ -12696,7 +12787,7 @@ const AttributeGalleryContainer = styled.div.withConfig({ displayName: "Attribut
12696
12787
  width: 100%;
12697
12788
  }
12698
12789
  `;
12699
- const LinearProgressContainer = styled(Flex).withConfig({ displayName: "LinearProgressContainer", componentId: "sc-113wnuv" }) `
12790
+ const LinearProgressContainer = styled(Flex).withConfig({ displayName: "LinearProgressContainer", componentId: "sc-h5yp9m" }) `
12700
12791
  align-items: center;
12701
12792
  justify-content: center;
12702
12793
  min-height: inherit;
@@ -12705,7 +12796,7 @@ const LinearProgressContainer = styled(Flex).withConfig({ displayName: "LinearPr
12705
12796
  max-width: 4rem;
12706
12797
  }
12707
12798
  `;
12708
- const NoLiveSnapshotContainer = styled(Flex).withConfig({ displayName: "NoLiveSnapshotContainer", componentId: "sc-1vtjlcu" }) `
12799
+ const NoLiveSnapshotContainer = styled(Flex).withConfig({ displayName: "NoLiveSnapshotContainer", componentId: "sc-2025bc" }) `
12709
12800
  flex-direction: column;
12710
12801
  align-items: center;
12711
12802
  /* Заглушка «Снимок не доступен» центрируется в галерее и по вертикали. min-height: inherit
@@ -12729,7 +12820,7 @@ const NoLiveSnapshotContainer = styled(Flex).withConfig({ displayName: "NoLiveSn
12729
12820
  color: ${({ theme: { palette } }) => palette.textDisabled};
12730
12821
  }
12731
12822
  `;
12732
- const SmallPreviewControl = styled(IconButton).withConfig({ displayName: "SmallPreviewControl", componentId: "sc-133sdm5" }) `
12823
+ const SmallPreviewControl = styled(IconButton).withConfig({ displayName: "SmallPreviewControl", componentId: "sc-16n62xd" }) `
12733
12824
  cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
12734
12825
  z-index: 3;
12735
12826
  position: absolute;
@@ -12753,7 +12844,7 @@ const SmallPreviewControl = styled(IconButton).withConfig({ displayName: "SmallP
12753
12844
  }
12754
12845
  }
12755
12846
  `;
12756
- const SmallPreviewCounter = styled(Flex).withConfig({ displayName: "SmallPreviewCounter", componentId: "sc-wxp1a9" }) `
12847
+ const SmallPreviewCounter = styled(Flex).withConfig({ displayName: "SmallPreviewCounter", componentId: "sc-114cx5a" }) `
12757
12848
  z-index: 3;
12758
12849
  position: absolute;
12759
12850
  bottom: 0.625rem;
@@ -12773,12 +12864,12 @@ const SmallPreviewCounter = styled(Flex).withConfig({ displayName: "SmallPreview
12773
12864
  `;
12774
12865
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
12775
12866
  kind: "prev",
12776
- })).withConfig({ displayName: "SmallPreviewLeft", componentId: "sc-1hyx5ii" }) `
12867
+ })).withConfig({ displayName: "SmallPreviewLeft", componentId: "sc-bfullw" }) `
12777
12868
  left: 1.5rem;
12778
12869
  `;
12779
12870
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
12780
12871
  kind: "next",
12781
- })).withConfig({ displayName: "SmallPreviewRight", componentId: "sc-e8rzs2" }) `
12872
+ })).withConfig({ displayName: "SmallPreviewRight", componentId: "sc-imjvgl" }) `
12782
12873
  right: 1.5rem;
12783
12874
  `;
12784
12875
  const imgSlideShowMixin = css `
@@ -12808,7 +12899,7 @@ const imgSlideShowMixin = css `
12808
12899
  }
12809
12900
  }
12810
12901
  `;
12811
- const SmallPreviewContainer$1 = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-1rtzc7q" }) `
12902
+ const SmallPreviewContainer$1 = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-276t88" }) `
12812
12903
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
12813
12904
  position: relative;
12814
12905
  width: 100%;
@@ -12853,7 +12944,7 @@ const SmallPreviewContainer$1 = styled.div.withConfig({ displayName: "SmallPrevi
12853
12944
  ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
12854
12945
  }
12855
12946
  `;
12856
- const SmallPreviewImages = styled.div.withConfig({ displayName: "SmallPreviewImages", componentId: "sc-1npb40w" }) ``;
12947
+ const SmallPreviewImages = styled.div.withConfig({ displayName: "SmallPreviewImages", componentId: "sc-1m5syza" }) ``;
12857
12948
 
12858
12949
  const NoLiveSnapshot = () => {
12859
12950
  return (jsxs(NoLiveSnapshotContainer, { children: [jsx(Icon, { kind: "alert" }), jsx(Description, { children: "\u0421\u043D\u0438\u043C\u043E\u043A \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D" })] }));
@@ -13105,7 +13196,7 @@ const StyledIconFontColorMixin = css `
13105
13196
  color: ${({ fontColor }) => fontColor};
13106
13197
  }
13107
13198
  `;
13108
- const StyledIcon = styled(Icon).withConfig({ displayName: "StyledIcon", componentId: "sc-itrkbb" }) `
13199
+ const StyledIcon = styled(Icon).withConfig({ displayName: "StyledIcon", componentId: "sc-m9x47d" }) `
13109
13200
  ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
13110
13201
  ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
13111
13202
  `;
@@ -13121,7 +13212,7 @@ const ElementIcon = memo(({ type, elementConfig, ...rest }) => {
13121
13212
  return (jsx(StyledIcon, { kind: iconValue, fontSize: fontSize, fontColor: fontColor, style: style }));
13122
13213
  });
13123
13214
 
13124
- const ElementImg = styled.img.withConfig({ displayName: "ElementImg", componentId: "sc-d1wlde" }) `
13215
+ const ElementImg = styled.img.withConfig({ displayName: "ElementImg", componentId: "sc-1kbs98z" }) `
13125
13216
  max-width: 100%;
13126
13217
 
13127
13218
  /* Картинка заполняет отведённый ей бокс: масштаб по меньшей стороне, излишек обрезается. */
@@ -13205,7 +13296,7 @@ const ElementLegend = memo(({ type, element, elementConfig }) => {
13205
13296
 
13206
13297
  const ExternalLink = styled(IconButton).attrs(() => ({
13207
13298
  kind: "external_link",
13208
- })).withConfig({ displayName: "ExternalLink", componentId: "sc-63lmtw" }) `
13299
+ })).withConfig({ displayName: "ExternalLink", componentId: "sc-jyc6gb" }) `
13209
13300
  ${Icon} {
13210
13301
  color: ${({ theme: { palette } }) => palette.primary};
13211
13302
  }
@@ -13214,12 +13305,12 @@ const ExternalLink = styled(IconButton).attrs(() => ({
13214
13305
  color: ${({ theme: { palette } }) => palette.primaryDeep};
13215
13306
  }
13216
13307
  `;
13217
- const Link = styled.a.withConfig({ displayName: "Link", componentId: "sc-1985uc3" }) `
13308
+ const Link = styled.a.withConfig({ displayName: "Link", componentId: "sc-1aq60u1" }) `
13218
13309
  text-decoration: none;
13219
13310
  font-size: 0.75rem;
13220
13311
  color: ${({ theme: { palette } }) => palette.primary};
13221
13312
  `;
13222
- const LocalLinkBlank = styled(Blank).withConfig({ displayName: "LocalLinkBlank", componentId: "sc-10ofdso" }) `
13313
+ const LocalLinkBlank = styled(Blank).withConfig({ displayName: "LocalLinkBlank", componentId: "sc-14h8bep" }) `
13223
13314
  min-width: 13.5rem;
13224
13315
  padding: 0.5rem 0.75rem 0;
13225
13316
 
@@ -13229,7 +13320,7 @@ const LocalLinkBlank = styled(Blank).withConfig({ displayName: "LocalLinkBlank",
13229
13320
  `;
13230
13321
  const LocalLinkButton = styled(IconButton).attrs(() => ({
13231
13322
  kind: "link",
13232
- })).withConfig({ displayName: "LocalLinkButton", componentId: "sc-fwlmae" }) `
13323
+ })).withConfig({ displayName: "LocalLinkButton", componentId: "sc-1q0jrvr" }) `
13233
13324
  width: 1rem;
13234
13325
  height: 1rem;
13235
13326
  background-color: ${({ theme: { palette } }) => palette.primary};
@@ -13252,7 +13343,7 @@ const LocalLinkButton = styled(IconButton).attrs(() => ({
13252
13343
  }
13253
13344
  }
13254
13345
  `;
13255
- const LocalLinkCopy = styled(Flex).withConfig({ displayName: "LocalLinkCopy", componentId: "sc-1wrs0gm" }) `
13346
+ const LocalLinkCopy = styled(Flex).withConfig({ displayName: "LocalLinkCopy", componentId: "sc-ckhzrq" }) `
13256
13347
  justify-content: center;
13257
13348
  `;
13258
13349
 
@@ -13298,7 +13389,7 @@ const tagTypography = (tag) => ({ $typography }) => {
13298
13389
  ${style.marginBottom && `margin-bottom: ${style.marginBottom};`}
13299
13390
  `;
13300
13391
  };
13301
- const MarkdownWrapper = styled.div.withConfig({ displayName: "MarkdownWrapper", componentId: "sc-1cjcwj2" }) `
13392
+ const MarkdownWrapper = styled.div.withConfig({ displayName: "MarkdownWrapper", componentId: "sc-1bvpkmz" }) `
13302
13393
  padding: 0;
13303
13394
  background: transparent;
13304
13395
  border-radius: 0.5rem;
@@ -13479,7 +13570,7 @@ const ElementMarkdown = memo(({ elementConfig, type }) => {
13479
13570
  return (jsxs(MarkdownWrapper, { "$typography": typography, "$noMargin": noMargin, children: [jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], rehypePlugins: [rehypeRaw, [rehypeSanitize, sanitizeSchema]], children: markdownString }), jsx(LegendToggler, { toggled: true, onClick: () => setExpanded(false), children: t("hide", { ns: "dashboard", defaultValue: "Свернуть" }) })] }));
13480
13571
  });
13481
13572
 
13482
- const SmallPreviewContainer = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-q1dog0" }) `
13573
+ const SmallPreviewContainer = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-ttzjgj" }) `
13483
13574
  width: 100%;
13484
13575
  height: 100%;
13485
13576
  /* Пол высоты. Картинки внутри — position: absolute с height: 100% и сами высоту не создают,
@@ -13547,7 +13638,7 @@ const ElementSvg = memo(({ type, elementConfig, ...rest }) => {
13547
13638
  return (jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
13548
13639
  });
13549
13640
 
13550
- const TooltipIcon = styled(Icon).withConfig({ displayName: "TooltipIcon", componentId: "sc-uw1pwx" }) `
13641
+ const TooltipIcon = styled(Icon).withConfig({ displayName: "TooltipIcon", componentId: "sc-rf48f4" }) `
13551
13642
  &&& {
13552
13643
  :after {
13553
13644
  font-size: 0.75rem;
@@ -13570,7 +13661,7 @@ const ElementTooltip = memo(({ type, elementConfig }) => {
13570
13661
  return text ? (jsx(Tooltip$1, { placement: "top", arrow: true, content: text, children: ref => jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
13571
13662
  });
13572
13663
 
13573
- const SlideshowHeaderWrapper = styled.div.withConfig({ displayName: "SlideshowHeaderWrapper", componentId: "sc-e67d25" }) `
13664
+ const SlideshowHeaderWrapper = styled.div.withConfig({ displayName: "SlideshowHeaderWrapper", componentId: "sc-mh35i0" }) `
13574
13665
  ${Header} {
13575
13666
  align-items: flex-start;
13576
13667
  height: ${({ height, big }) => height ? `${height}px` : (big ? "15.5rem" : "auto")};
@@ -13612,7 +13703,7 @@ const SlideshowHeaderWrapper = styled.div.withConfig({ displayName: "SlideshowHe
13612
13703
 
13613
13704
  ${({ fontColor }) => !!fontColor && HeaderFontColorMixin};
13614
13705
  `;
13615
- const ImageContainerBg = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-10ayx6u" }) `
13706
+ const ImageContainerBg = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-1z0vd8l" }) `
13616
13707
  position: absolute;
13617
13708
  top: 0;
13618
13709
  bottom: 0;
@@ -13626,7 +13717,7 @@ const ImageContainerBg = styled.div.withConfig({ displayName: "ImageContainerBg"
13626
13717
  object-fit: cover;
13627
13718
  }
13628
13719
  `;
13629
- const HeaderSlideshow = styled.div.withConfig({ displayName: "HeaderSlideshow", componentId: "sc-1npwc7" }) `
13720
+ const HeaderSlideshow = styled.div.withConfig({ displayName: "HeaderSlideshow", componentId: "sc-fl8ww4" }) `
13630
13721
  position: absolute;
13631
13722
  top: 0;
13632
13723
  bottom: ${({ height }) => (height ? `${height}px` : 0)};
@@ -13667,7 +13758,7 @@ const HeaderWrapperMixin = css `
13667
13758
 
13668
13759
  ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
13669
13760
  `;
13670
- const HeaderIcon = styled(Flex).withConfig({ displayName: "HeaderIcon", componentId: "sc-1icbozy" }) `
13761
+ const HeaderIcon = styled(Flex).withConfig({ displayName: "HeaderIcon", componentId: "sc-1jpf0fb" }) `
13671
13762
  position: absolute;
13672
13763
  top: 0;
13673
13764
  right: 0;
@@ -13733,7 +13824,7 @@ const BottomBlurHeaderMixin = css `
13733
13824
  z-index: 100;
13734
13825
  }
13735
13826
  `;
13736
- const BackgroundHeaderWrapper = styled.div.withConfig({ displayName: "BackgroundHeaderWrapper", componentId: "sc-11gr0yp" }) `
13827
+ const BackgroundHeaderWrapper = styled.div.withConfig({ displayName: "BackgroundHeaderWrapper", componentId: "sc-cl23ny" }) `
13737
13828
  ${Header} {
13738
13829
  position: relative;
13739
13830
  width: calc(100% + 1rem);
@@ -13989,7 +14080,7 @@ const getDefaultConfig = ({ title, defaultTitle, baseMapName, position, resoluti
13989
14080
  return dashboardConfiguration;
13990
14081
  };
13991
14082
 
13992
- const UploaderTitle = styled(Flex).withConfig({ displayName: "UploaderTitle", componentId: "sc-1s16ob7" }) `
14083
+ const UploaderTitle = styled(Flex).withConfig({ displayName: "UploaderTitle", componentId: "sc-1yxt1gv" }) `
13993
14084
  flex-direction: column;
13994
14085
  align-items: center;
13995
14086
  width: 11rem;
@@ -14056,7 +14147,7 @@ const ElementUploader = memo(({ elementConfig, type }) => {
14056
14147
  return (jsx(UploaderContainer, { id: id, style: style, children: jsx("div", { children: jsx(Uploader, { currentRef: refInput, title: renderTitle, accept: fileExtensions, width: "100%", fileItems: files, isMultiple: multiSelect, onUpload: onUpload, onDelete: onDelete }) }) }));
14057
14148
  });
14058
14149
 
14059
- const ModalIcon = styled(IconButton).withConfig({ displayName: "ModalIcon", componentId: "sc-yoxbk" }) `
14150
+ const ModalIcon = styled(IconButton).withConfig({ displayName: "ModalIcon", componentId: "sc-yuutj3" }) `
14060
14151
  :after {
14061
14152
  font-size: 0.75rem;
14062
14153
  color: ${({ theme: { palette } }) => palette.iconDisabled};
@@ -14119,6 +14210,9 @@ const getRenderElement = ({ t, config, elementConfig, attributes = [], layerInfo
14119
14210
  onChange,
14120
14211
  type,
14121
14212
  });
14213
+ // Ставится внутри `getDefaultContainer` — единственного места, которое знает по построению,
14214
+ // что значение оказалось контейнером. Коллбэк вызывается синхронно, читаем строго после.
14215
+ let hasOwnRoot = false;
14122
14216
  const value = getElementValue({
14123
14217
  type,
14124
14218
  element: currentConfig,
@@ -14135,6 +14229,7 @@ const getRenderElement = ({ t, config, elementConfig, attributes = [], layerInfo
14135
14229
  if (!ContainerTemplateValue) {
14136
14230
  return null;
14137
14231
  }
14232
+ hasOwnRoot = isRootOwningContainer(templateName);
14138
14233
  return (jsx(ContainerTemplateValue, { id: id, type: type, config: config, elementConfig: element, layerInfo: layerInfo, attributes: attributes, innerComponent: getContainerComponent(innerTemplateName), isVisible: isVisibleContainer(id, expandable, expanded, expandedContainers), renderElement: renderElement, onChange: onChange }, id));
14139
14234
  },
14140
14235
  });
@@ -14146,6 +14241,7 @@ const getRenderElement = ({ t, config, elementConfig, attributes = [], layerInfo
14146
14241
  elementConfig: element,
14147
14242
  attributes,
14148
14243
  wrap,
14244
+ hasOwnRoot,
14149
14245
  });
14150
14246
  };
14151
14247
 
@@ -14832,14 +14928,14 @@ const getJustifyContent = (align) => {
14832
14928
  return "flex-start";
14833
14929
  }
14834
14930
  };
14835
- const ChipsContainer = styled(Flex).withConfig({ displayName: "ChipsContainer", componentId: "sc-s9ruyp" }) `
14931
+ const ChipsContainer = styled(Flex).withConfig({ displayName: "ChipsContainer", componentId: "sc-1ljr361" }) `
14836
14932
  flex-wrap: wrap;
14837
14933
  gap: 0.25rem;
14838
14934
  background: transparent;
14839
14935
  justify-content: ${({ $align }) => getJustifyContent($align)};
14840
14936
  `;
14841
14937
 
14842
- const FilterChip = styled.div.withConfig({ displayName: "FilterChip", componentId: "sc-l6ywqj" }) `
14938
+ const FilterChip = styled.div.withConfig({ displayName: "FilterChip", componentId: "sc-m9ul7w" }) `
14843
14939
  display: inline-flex;
14844
14940
  align-items: center;
14845
14941
  gap: 0.25rem;
@@ -14871,7 +14967,7 @@ const FilterChip = styled.div.withConfig({ displayName: "FilterChip", componentI
14871
14967
  : $bgColor || theme.palette?.elementDark};
14872
14968
  }
14873
14969
  `;
14874
- const ChipIconWrapper = styled.span.withConfig({ displayName: "ChipIconWrapper", componentId: "sc-1nj0c1o" }) `
14970
+ const ChipIconWrapper = styled.span.withConfig({ displayName: "ChipIconWrapper", componentId: "sc-h7bb17" }) `
14875
14971
  display: inline-flex;
14876
14972
  align-items: center;
14877
14973
  justify-content: center;
@@ -14885,7 +14981,7 @@ const ChipIconWrapper = styled.span.withConfig({ displayName: "ChipIconWrapper",
14885
14981
  display: block;
14886
14982
  }
14887
14983
  `;
14888
- const ChipText = styled.span.withConfig({ displayName: "ChipText", componentId: "sc-ldildv" }) `
14984
+ const ChipText = styled.span.withConfig({ displayName: "ChipText", componentId: "sc-egti8s" }) `
14889
14985
  overflow: hidden;
14890
14986
  text-overflow: ellipsis;
14891
14987
  white-space: nowrap;
@@ -16110,7 +16206,7 @@ const Dashboard = memo(({ type = WidgetType.Dashboard, noBorders }) => {
16110
16206
  return (jsx(PagesContainer, { type: type, noBorders: noBorders }));
16111
16207
  });
16112
16208
 
16113
- const CardCheckbox = styled(Checkbox).withConfig({ displayName: "CardCheckbox", componentId: "sc-15p1lkj" }) `
16209
+ const CardCheckbox = styled(Checkbox).withConfig({ displayName: "CardCheckbox", componentId: "sc-1v1arkg" }) `
16114
16210
  padding-left: 0.5rem;
16115
16211
  `;
16116
16212
 
@@ -16177,7 +16273,7 @@ const FeatureCardTitle = ({ title, description }) => {
16177
16273
  return (jsxs(HeaderTitleContainer, { children: [jsx(FeatureTitleContainer, { children: jsx(FlexSpan, { children: toRenderableValue(resultTitle) }) }), jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
16178
16274
  };
16179
16275
 
16180
- const HiddenFilters = styled(Flex).withConfig({ displayName: "HiddenFilters", componentId: "sc-8zavz2" }) `
16276
+ const HiddenFilters = styled(Flex).withConfig({ displayName: "HiddenFilters", componentId: "sc-13wv6s" }) `
16181
16277
  flex-wrap: wrap;
16182
16278
  margin-top: -1.25rem;
16183
16279
 
@@ -16255,7 +16351,7 @@ const HiddenTitleItems = memo(({ elementConfig, config, type, filter }) => {
16255
16351
  getConfigFilter(filterName, configFilters)?.defaultValue, index)) }));
16256
16352
  });
16257
16353
 
16258
- const TerminalWrapper = styled.div.withConfig({ displayName: "TerminalWrapper", componentId: "sc-suz2zc" }) `
16354
+ const TerminalWrapper = styled.div.withConfig({ displayName: "TerminalWrapper", componentId: "sc-aszasf" }) `
16259
16355
  flex: 1;
16260
16356
  overflow: hidden;
16261
16357
  padding: 0;
@@ -16384,7 +16480,7 @@ const LogTerminal = ({ log, terminalOptions, className, styles }) => {
16384
16480
  return jsx(TerminalWrapper, { ref: terminalRef, className: className, style: styles });
16385
16481
  };
16386
16482
 
16387
- const PageNavigator = styled(Flex).withConfig({ displayName: "PageNavigator", componentId: "sc-1o8krel" }) `
16483
+ const PageNavigator = styled(Flex).withConfig({ displayName: "PageNavigator", componentId: "sc-1ocxp38" }) `
16388
16484
  margin-right: -0.5rem;
16389
16485
  align-items: center;
16390
16486
 
@@ -16418,11 +16514,11 @@ const SvgImage = memo(({ url, width, height, fontColor }) => {
16418
16514
  return (jsx(StyledSvg, { "$width": width, "$height": height, "$fontColor": fontColor, dangerouslySetInnerHTML: { __html: svg } }));
16419
16515
  });
16420
16516
 
16421
- const TextTrimValue = styled.div.withConfig({ displayName: "TextTrimValue", componentId: "sc-17ece82" }) `
16517
+ const TextTrimValue = styled.div.withConfig({ displayName: "TextTrimValue", componentId: "sc-1w9c15" }) `
16422
16518
  word-break: ${({ wordBreak }) => wordBreak ?? "break-word"};
16423
16519
  overflow: hidden;
16424
16520
  `;
16425
- const ClampedText = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-asq1h5" }) `
16521
+ const ClampedText = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-1v7hb77" }) `
16426
16522
  display: -webkit-box;
16427
16523
  -webkit-line-clamp: ${({ $maxLines }) => $maxLines};
16428
16524
  -webkit-box-orient: vertical;
@@ -16627,7 +16723,7 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
16627
16723
  return (jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle }));
16628
16724
  };
16629
16725
 
16630
- const MapWrapper = styled.div.withConfig({ displayName: "MapWrapper", componentId: "sc-1i5xe59" }) `
16726
+ const MapWrapper = styled.div.withConfig({ displayName: "MapWrapper", componentId: "sc-i9xo0m" }) `
16631
16727
  position: relative;
16632
16728
  width: 100%;
16633
16729
  height: 100%;
@@ -16793,5 +16889,5 @@ const DEFAULT_HEATMAP_STYLE = {
16793
16889
  ],
16794
16890
  };
16795
16891
 
16796
- export { ALIGNMENTS, ALIGN_ITEMS, ATTRIBUTE_ICON_ELEMENT_TYPES, AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttachmentContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CHART_TYPES, COMPACT_FRACTION_DIGITS, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CONTAINERS_GROUP_DEFAULTS, CONTAINER_BODY_ATTRIBUTE, CONTAINER_BODY_FILL_STYLE, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerRoot, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_BLUR, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_RADIUS, DEFAULT_CIRCLE_STROKE_WIDTH, DEFAULT_CIRCLE_STYLE, DEFAULT_COLOR, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_BASE, DEFAULT_FILL_EXTRUSION_HEIGHT, DEFAULT_FILL_EXTRUSION_STYLE, DEFAULT_FILL_EXTRUSION_VERTICAL_GRADIENT, DEFAULT_FILL_STYLE, DEFAULT_FILTER_PADDING, DEFAULT_HEATMAP_COLOR, DEFAULT_HEATMAP_INTENSITY, DEFAULT_HEATMAP_RADIUS, DEFAULT_HEATMAP_STYLE, DEFAULT_HEATMAP_WEIGHT, DEFAULT_ICON_OVERLAP, DEFAULT_ICON_PADDING, DEFAULT_ICON_ROTATE, DEFAULT_ICON_SIZE, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_STYLE, DEFAULT_LINE_WIDTH, DEFAULT_LNG, DEFAULT_OPACITY, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_SYMBOL_COLOR, DEFAULT_SYMBOL_PLACEMENT, DEFAULT_SYMBOL_SPACING, DEFAULT_SYMBOL_STYLE, DEFAULT_TRANSLATE, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EMPTY_DATA_SOURCE_LAYER_INFO, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILL_SIZE, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardBackgroundHeader, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, GridRowContainer, Header, HeaderContainer, HeaderFontColorMixin, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OBJECT_FITS, OVERFLOWS, OneColumnContainer, POLL_SUBTASK_INTERVAL_MS, POLL_SUBTASK_TIMEOUT_MS, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, QUERY_DESCRIPTION_CACHE_TTL, RoundedBackgroundContainer, SAVE_HOOK_RESULT_DURATION, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TILE_ALIGNMENTS, TIME_ZONE_FORMAT, TITLE_SLOT_IDS, TabsContainer, TextTrim, ThemeName, TitleContainer, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, VIEW_MODES, WidgetType, addDataSource, addDataSources, adjustColor, applyFiltersToCondition, applyQueryFilters, applyTreeFilterToCondition, applyVarsToCondition, asAttributeName, asChartId, asContainerId, asDataSourceName, asFilterName, asLayerName, asModalId, asResourceId, asTabId, checkEqualOrIncludes, checkIsLoading, createConfigLayer, createConfigPage, createNewPageId, createSaveNotificationId, dateOptions, debounce, decimalOpacityToHex, enrichStyleItemsWithIds, enrichStyleModelsWithIds, eqlParametersToPayload, fetchQueryDescription, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, geometryToEwkt, getActualExtrusionHeight, getAttributeByName, getAttributeConfigurationByName, getAttributeIconElement, getAttributeIconUrl, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDataSourceLayerInfo, getDate, getDefaultConfig, getDisplayTemplateNameFromAttribute, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getImageUrl, getLayerClientStyle, getLayerInfo, getLayerInfoAttribute, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getStyleAttributes, getSvgUrl, getTemplateNameFromAttribute, getThemeByName, getTotalFromAttributes, getTotalFromRelatedFeatures, getWrapperSizeStyle, hexToRgba, isEmptyElementValue, isEmptyValue, isFillSize, isFrSize, isHiddenEmptyValue, isHookActive, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isTreeFilterValue, isVisibleContainer, mergeAttributeConfigurations, metersPerPixel, numberOptions, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sizeCssMixin, sliceShownOtherItems, stretchPalette, timeOptions, toCssSize, toPxNumber, toRenderableValue, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, updateDataSource, useAfterSave, useAppHeight, useAttachmentItems, useAttachmentPreviewImages, useAutoCompleteControl, useBeforeSave, useChartChange, useChartData, useContainerAttributes, useContainerRoot, useCurrentPageLayers, useCustomFeatureSelect, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useEditGroupAttributes, useEqualTileWidth, useExpandableContainers, useExportPdf, useFeatureSaveHooks, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerHiddenAttributes, useLayerParams, useMapContext, useMapDraw, useMapImages, useMaxZoomTo, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRemoteTask, useRenderElement, useResizeBox, useSavePrototypeBuilder, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useVisibleProjectItems, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useWrapperSize, useZoomToFeatures, useZoomToPoint };
16892
+ export { ALIGNMENTS, ALIGN_ITEMS, ATTRIBUTE_ICON_ELEMENT_TYPES, AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttachmentContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CHART_TYPES, COMPACT_FRACTION_DIGITS, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CONTAINERS_GROUP_DEFAULTS, CONTAINER_BODY_ATTRIBUTE, CONTAINER_BODY_FILL_STYLE, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerRoot, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_BLUR, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_RADIUS, DEFAULT_CIRCLE_STROKE_WIDTH, DEFAULT_CIRCLE_STYLE, DEFAULT_COLOR, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_BASE, DEFAULT_FILL_EXTRUSION_HEIGHT, DEFAULT_FILL_EXTRUSION_STYLE, DEFAULT_FILL_EXTRUSION_VERTICAL_GRADIENT, DEFAULT_FILL_STYLE, DEFAULT_FILTER_PADDING, DEFAULT_GRID_GAP, DEFAULT_HEATMAP_COLOR, DEFAULT_HEATMAP_INTENSITY, DEFAULT_HEATMAP_RADIUS, DEFAULT_HEATMAP_STYLE, DEFAULT_HEATMAP_WEIGHT, DEFAULT_ICON_OVERLAP, DEFAULT_ICON_PADDING, DEFAULT_ICON_ROTATE, DEFAULT_ICON_SIZE, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_STYLE, DEFAULT_LINE_WIDTH, DEFAULT_LNG, DEFAULT_OPACITY, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_SYMBOL_COLOR, DEFAULT_SYMBOL_PLACEMENT, DEFAULT_SYMBOL_SPACING, DEFAULT_SYMBOL_STYLE, DEFAULT_TRACK_FR, DEFAULT_TRANSLATE, DEFAULT_ZOOM, DRAG_THRESHOLD_PX, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EMPTY_DATA_SOURCE_LAYER_INFO, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILL_SIZE, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FR_PRECISION, FeatureCardBackgroundHeader, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GRID_CELL_ATTR, GRID_CELL_ID_PREFIX, GRID_DRAGGING_ATTR, GRID_DRAG_SOURCE_ATTR, GRID_DROP_TARGET_ATTR, GRID_FILL_DEFAULTS, GRID_HANDLE_ATTR, GRID_HANDLE_PROPS, GRID_ROW_ID_PREFIX, GlobalContext, GlobalProvider, GridRowContainer, HANDLE_BLEED_PX, Header, HeaderContainer, HeaderFontColorMixin, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, MAX_TRACKS, MIN_TRACK_PX, MIN_TRACK_RATIO, Map$1 as Map, MapContext, MapProvider, NO_CELL_DRAG_SELECTOR, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OBJECT_FITS, OVERFLOWS, OneColumnContainer, POLL_SUBTASK_INTERVAL_MS, POLL_SUBTASK_TIMEOUT_MS, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, QUERY_DESCRIPTION_CACHE_TTL, RoundedBackgroundContainer, SAVE_HOOK_RESULT_DURATION, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TILE_ALIGNMENTS, TIME_ZONE_FORMAT, TITLE_SLOT_IDS, TabsContainer, TextTrim, ThemeName, TitleContainer, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, VIEW_MODES, WidgetType, addDataSource, addDataSources, adjustColor, applyFiltersToCondition, applyQueryFilters, applyTreeFilterToCondition, applyVarsToCondition, asAttributeName, asChartId, asContainerId, asDataSourceName, asFilterName, asLayerName, asModalId, asResourceId, asTabId, buildGridTemplate, buildTrackTemplate, checkEqualOrIncludes, checkIsLoading, collectConfigIds, containsNodeId, createConfigLayer, createConfigPage, createGridCell, createGridIdFactory, createGridRow, createNewPageId, createSaveNotificationId, dateOptions, debounce, decimalOpacityToHex, enrichStyleItemsWithIds, enrichStyleModelsWithIds, eqlParametersToPayload, fetchQueryDescription, findAttributeInExpression, findCellContext, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, geometryToEwkt, getActualExtrusionHeight, getAttributeByName, getAttributeConfigurationByName, getAttributeIconElement, getAttributeIconUrl, getAttributeValue, getAttributesConfiguration, getAverageTrackSize, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDataSourceLayerInfo, getDate, getDefaultConfig, getDisplayTemplateNameFromAttribute, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getImageUrl, getLayerClientStyle, getLayerInfo, getLayerInfoAttribute, getLayerInfoFromDataSources, getLayoutChildren, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getStyleAttributes, getSvgUrl, getTemplateNameFromAttribute, getThemeByName, getTotalFromAttributes, getTotalFromRelatedFeatures, getTrackSize, getTrackSizeKey, getTrackSizes, getWrapperSizeStyle, hexToRgba, isEmptyElementValue, isEmptyValue, isFillSize, isFrSize, isGridNode, isHiddenEmptyValue, isHookActive, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isRootOwningContainer, isTreeFilterValue, isVisibleContainer, mapNodeById, mergeAttributeConfigurations, metersPerPixel, noMarginMixin, numberOptions, parseFrValue, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, removeTracks, replaceNodesByIds, rgbToHex, roundFr, roundTotalSum, setLayoutChildren, sizeCssMixin, sliceShownOtherItems, stretchPalette, timeOptions, toCssSize, toFrSize, toPxNumber, toRenderableValue, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, updateDataSource, useAfterSave, useAppHeight, useAttachmentItems, useAttachmentPreviewImages, useAutoCompleteControl, useBeforeSave, useChartChange, useChartData, useContainerAttributes, useContainerRoot, useCurrentPageLayers, useCustomFeatureSelect, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useEditGroupAttributes, useEqualTileWidth, useExpandableContainers, useExportPdf, useFeatureSaveHooks, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerHiddenAttributes, useLayerParams, useMapContext, useMapDraw, useMapImages, useMaxZoomTo, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRemoteTask, useRenderElement, useResizeBox, useSavePrototypeBuilder, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useVisibleProjectItems, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useWrapperSize, useZoomToFeatures, useZoomToPoint, withTrackSize };
16797
16893
  //# sourceMappingURL=react.esm.js.map