@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/index.js CHANGED
@@ -15,7 +15,6 @@ var turf = require('@turf/turf');
15
15
  var signalr = require('@microsoft/signalr');
16
16
  var MapboxDraw = require('@mapbox/mapbox-gl-draw');
17
17
  var react = require('swiper/react');
18
- require('@xterm/xterm/css/xterm.css');
19
18
  var findAnd = require('find-and');
20
19
  var ReactMarkdown = require('react-markdown');
21
20
  var rehypeRaw = require('rehype-raw');
@@ -29,6 +28,7 @@ var jspdf = require('jspdf');
29
28
  var html2canvas = require('html2canvas');
30
29
  var xterm = require('@xterm/xterm');
31
30
  var addonFit = require('@xterm/addon-fit');
31
+ require('@xterm/xterm/css/xterm.css');
32
32
 
33
33
  const AddFeatureButton = ({ title, icon = "feature_add" /* , layerName, geometryType*/ }) => {
34
34
  // const [, handleAddFeature] = useFeatureCreator(layerName, geometryType);
@@ -36,7 +36,7 @@ const AddFeatureButton = ({ title, icon = "feature_add" /* , layerName, geometry
36
36
  return (jsxRuntime.jsx(uilibGl.IconButton, { kind: icon, primary: true, onClick: handleAddFeature, children: title }));
37
37
  };
38
38
 
39
- const ChartTooltipTable = styled.table.withConfig({ displayName: "ChartTooltipTable", componentId: "sc-1r2qjx2" }) `
39
+ const ChartTooltipTable = styled.table.withConfig({ displayName: "ChartTooltipTable", componentId: "sc-1epm9bz" }) `
40
40
  td {
41
41
  padding: 0;
42
42
  }
@@ -45,7 +45,7 @@ const ChartTooltipTable = styled.table.withConfig({ displayName: "ChartTooltipTa
45
45
  padding-bottom: 0.375rem;
46
46
  }
47
47
  `;
48
- const ChartTooltip = styled(uilibGl.Flex).withConfig({ displayName: "ChartTooltip", componentId: "sc-h5f602" }) `
48
+ const ChartTooltip = styled(uilibGl.Flex).withConfig({ displayName: "ChartTooltip", componentId: "sc-4jsnt7" }) `
49
49
  flex-wrap: nowrap;
50
50
  background: rgb(48, 69, 79);
51
51
  border-radius: 0.25rem;
@@ -55,26 +55,26 @@ const ChartTooltip = styled(uilibGl.Flex).withConfig({ displayName: "ChartToolti
55
55
  margin-bottom: 0.25rem;
56
56
  }
57
57
  `;
58
- const ChartTooltipLabel = styled.div.withConfig({ displayName: "ChartTooltipLabel", componentId: "sc-1r3u0io" }) `
58
+ const ChartTooltipLabel = styled.div.withConfig({ displayName: "ChartTooltipLabel", componentId: "sc-heccwm" }) `
59
59
  margin-right: 0.25rem;
60
60
  `;
61
- const ChartTooltipColor = styled.div.withConfig({ displayName: "ChartTooltipColor", componentId: "sc-1f83kca" }) `
61
+ const ChartTooltipColor = styled.div.withConfig({ displayName: "ChartTooltipColor", componentId: "sc-e5eqdv" }) `
62
62
  width: 0.625rem;
63
63
  height: 0.625rem;
64
64
  background-color: ${({ $color }) => $color};
65
65
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
66
66
  margin-right: 0.25rem;
67
67
  `;
68
- const ChartLegendColor$1 = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-146v9b0" }) `
68
+ const ChartLegendColor$1 = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-1cyc7xe" }) `
69
69
  width: 0.5rem;
70
70
  height: 0.5rem;
71
71
  background-color: ${({ $color }) => $color};
72
72
  border-radius: 0.125rem;
73
73
  `;
74
- const ChartLegendValue = styled.div.withConfig({ displayName: "ChartLegendValue", componentId: "sc-11i9py3" }) `
74
+ const ChartLegendValue = styled.div.withConfig({ displayName: "ChartLegendValue", componentId: "sc-18s8ycy" }) `
75
75
  opacity: 0.65;
76
76
  `;
77
- const ChartTooltipRow = styled(uilibGl.Flex).withConfig({ displayName: "ChartTooltipRow", componentId: "sc-2h1ftk" }) `
77
+ const ChartTooltipRow = styled(uilibGl.Flex).withConfig({ displayName: "ChartTooltipRow", componentId: "sc-rur04g" }) `
78
78
  display: flex;
79
79
  flex-direction: row;
80
80
  flex-wrap: nowrap;
@@ -86,11 +86,11 @@ const ChartTooltipRow = styled(uilibGl.Flex).withConfig({ displayName: "ChartToo
86
86
  margin-right: 0.25rem;
87
87
  }
88
88
  `;
89
- const ChartTooltipName = styled.div.withConfig({ displayName: "ChartTooltipName", componentId: "sc-1as2fw6" }) `
89
+ const ChartTooltipName = styled.div.withConfig({ displayName: "ChartTooltipName", componentId: "sc-44uqml" }) `
90
90
  margin-right: 1rem;
91
91
  opacity: 0.65;
92
92
  `;
93
- const PieChartCenter = styled.div.withConfig({ displayName: "PieChartCenter", componentId: "sc-2d4i9u" }) `
93
+ const PieChartCenter = styled.div.withConfig({ displayName: "PieChartCenter", componentId: "sc-1lgkkor" }) `
94
94
  position: absolute;
95
95
  top: 50%;
96
96
  left: 50%;
@@ -99,7 +99,7 @@ const PieChartCenter = styled.div.withConfig({ displayName: "PieChartCenter", co
99
99
  font-weight: bold;
100
100
  font-size: 1.5rem;
101
101
  `;
102
- const ChartWrapperContainer = styled.div.withConfig({ displayName: "ChartWrapperContainer", componentId: "sc-oen6qt" }) `
102
+ const ChartWrapperContainer = styled.div.withConfig({ displayName: "ChartWrapperContainer", componentId: "sc-1t7qctu" }) `
103
103
  position: relative;
104
104
  width: 100%;
105
105
  `;
@@ -108,7 +108,7 @@ const ChartWrapperContainer = styled.div.withConfig({ displayName: "ChartWrapper
108
108
  * на неё вешается ref для ResizeObserver — меряем обе оси без цикла. Плоский div (не Flex uilib), как соседний
109
109
  * ChartWrapperContainer, чтобы ref гарантированно дошёл до DOM-узла. Тело графика центрируется внутри.
110
110
  */
111
- const ChartFillMeasure = styled.div.withConfig({ displayName: "ChartFillMeasure", componentId: "sc-1xtnu52" }) `
111
+ const ChartFillMeasure = styled.div.withConfig({ displayName: "ChartFillMeasure", componentId: "sc-602c94" }) `
112
112
  position: relative;
113
113
  display: flex;
114
114
  align-items: center;
@@ -126,7 +126,7 @@ const ChartFillMeasure = styled.div.withConfig({ displayName: "ChartFillMeasure"
126
126
  display: block;
127
127
  }
128
128
  `;
129
- const Tooltip = styled.div.withConfig({ displayName: "Tooltip", componentId: "sc-1buml85" }) `
129
+ const Tooltip = styled.div.withConfig({ displayName: "Tooltip", componentId: "sc-13fcidd" }) `
130
130
  position: relative;
131
131
  border-radius: 0.25rem;
132
132
  background-color: rgba(28, 33, 48);
@@ -219,7 +219,7 @@ const LineChartStyles = styled.createGlobalStyle `
219
219
  fill: ${({ theme: { palette } }) => palette.textDisabled};
220
220
  }
221
221
  `;
222
- const StyledBarChart = styled(charts.BarChart).withConfig({ displayName: "StyledBarChart", componentId: "sc-112rh35" }) `
222
+ const StyledBarChart = styled(charts.BarChart).withConfig({ displayName: "StyledBarChart", componentId: "sc-1bwmplu" }) `
223
223
  .domain {
224
224
  display: none;
225
225
  }
@@ -3569,7 +3569,7 @@ const CONTAINER_BODY_FILL_STYLE = {
3569
3569
  */
3570
3570
  const CONTAINERS_GROUP_DEFAULTS = { boxSizing: "border-box" };
3571
3571
 
3572
- const StackBarContainer = styled(uilibGl.Flex).withConfig({ displayName: "StackBarContainer", componentId: "sc-1m0jxm8" }) `
3572
+ const StackBarContainer = styled(uilibGl.Flex).withConfig({ displayName: "StackBarContainer", componentId: "sc-48kcpv" }) `
3573
3573
  flex-wrap: nowrap;
3574
3574
  width: 100%;
3575
3575
 
@@ -3580,12 +3580,12 @@ const StackBarContainer = styled(uilibGl.Flex).withConfig({ displayName: "StackB
3580
3580
  min-height: 0;
3581
3581
  `}
3582
3582
  `;
3583
- const StackBarHeader = styled(uilibGl.Flex).withConfig({ displayName: "StackBarHeader", componentId: "sc-1q7gb62" }) `
3583
+ const StackBarHeader = styled(uilibGl.Flex).withConfig({ displayName: "StackBarHeader", componentId: "sc-1xb6vra" }) `
3584
3584
  justify-content: space-between;
3585
3585
  margin-bottom: 0.375rem;
3586
3586
  font-size: 0.75rem;
3587
3587
  `;
3588
- const StackBarSection = styled.div.withConfig({ displayName: "StackBarSection", componentId: "sc-1rqyx9" }) `
3588
+ const StackBarSection = styled.div.withConfig({ displayName: "StackBarSection", componentId: "sc-rlsw3x" }) `
3589
3589
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
3590
3590
  width: ${({ $width }) => $width}%;
3591
3591
  /* В fill толщину полосы задаёт растянутый контейнер, а не options.height элемента chart. */
@@ -3605,12 +3605,12 @@ const StackBarSection = styled.div.withConfig({ displayName: "StackBarSection",
3605
3605
  border-bottom-right-radius: ${({ cornerRadius }) => (cornerRadius ? `${cornerRadius}px` : "0.5rem")};
3606
3606
  }
3607
3607
  `;
3608
- const StackBarAlias = styled.div.withConfig({ displayName: "StackBarAlias", componentId: "sc-18hpxq1" }) `
3608
+ const StackBarAlias = styled.div.withConfig({ displayName: "StackBarAlias", componentId: "sc-1hf3i8t" }) `
3609
3609
  color: ${({ theme: { palette } }) => palette.textSecondary};
3610
3610
  `;
3611
- const StackBarTotal = styled(uilibGl.Flex).withConfig({ displayName: "StackBarTotal", componentId: "sc-mvh1aq" }) ``;
3612
- const StackBarValue = styled.div.withConfig({ displayName: "StackBarValue", componentId: "sc-1ugl96h" }) ``;
3613
- const StackBarUnits = styled.div.withConfig({ displayName: "StackBarUnits", componentId: "sc-gfdjh9" }) `
3611
+ const StackBarTotal = styled(uilibGl.Flex).withConfig({ displayName: "StackBarTotal", componentId: "sc-9pm5py" }) ``;
3612
+ const StackBarValue = styled.div.withConfig({ displayName: "StackBarValue", componentId: "sc-aoxvfm" }) ``;
3613
+ const StackBarUnits = styled.div.withConfig({ displayName: "StackBarUnits", componentId: "sc-l2xedr" }) `
3614
3614
  margin-left: 0.25rem;
3615
3615
  color: ${({ theme: { palette } }) => palette.textSecondary};
3616
3616
  `;
@@ -4520,7 +4520,7 @@ const formatDataSourceCondition = ({ condition, ...rest }) => {
4520
4520
  return formatSingleCondition(condition, rest);
4521
4521
  };
4522
4522
 
4523
- const DashboardChipsContainer = styled(uilibGl.Flex).withConfig({ displayName: "DashboardChipsContainer", componentId: "sc-z0smdd" }) `
4523
+ const DashboardChipsContainer = styled(uilibGl.Flex).withConfig({ displayName: "DashboardChipsContainer", componentId: "sc-1np42ah" }) `
4524
4524
  flex-wrap: wrap;
4525
4525
  `;
4526
4526
  const DefaultChipColorMixin = styled.css `
@@ -4549,7 +4549,7 @@ const CustomChipColorMixin = styled.css `
4549
4549
  color: ${({ $fontColor }) => $fontColor};
4550
4550
  }
4551
4551
  `;
4552
- const DashboardChip$1 = styled(uilibGl.Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-y5fvc7" }) `
4552
+ const DashboardChip$1 = styled(uilibGl.Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-7cxvj8" }) `
4553
4553
  margin: 0 0.25rem 0.25rem 0;
4554
4554
  background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4555
4555
  border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
@@ -4578,13 +4578,13 @@ const DashboardChip$1 = styled(uilibGl.Chip).withConfig({ displayName: "Dashboar
4578
4578
  ${({ $fontColor, $isDefault }) => !!$fontColor && !$isDefault && CustomChipColorMixin}
4579
4579
  `;
4580
4580
 
4581
- const LayersListWrapper = styled(uilibGl.Flex).withConfig({ displayName: "LayersListWrapper", componentId: "sc-5qtm5a" }) `
4581
+ const LayersListWrapper = styled(uilibGl.Flex).withConfig({ displayName: "LayersListWrapper", componentId: "sc-1q0i8yx" }) `
4582
4582
  flex-direction: column;
4583
4583
  height: 100%;
4584
4584
  width: 100%;
4585
4585
  box-sizing: border-box;
4586
4586
  `;
4587
- const LayerListContainer = styled(uilibGl.Flex).withConfig({ displayName: "LayerListContainer", componentId: "sc-iipa2x" }) `
4587
+ const LayerListContainer = styled(uilibGl.Flex).withConfig({ displayName: "LayerListContainer", componentId: "sc-9imxcy" }) `
4588
4588
  flex-grow: 1;
4589
4589
  height: 100%;
4590
4590
  box-sizing: border-box;
@@ -4606,7 +4606,30 @@ const sizeCssMixin = styled.css `
4606
4606
  }
4607
4607
  `};
4608
4608
  `;
4609
- const ElementValueWrapper = styled.div.withConfig({ displayName: "ElementValueWrapper", componentId: "sc-1l7exd2" }) `
4609
+ /**
4610
+ * `options.noMargin` контейнера: гасит отступ, который родительская колонка ставит своим детям
4611
+ * (`Container > *:not(:last-child)`).
4612
+ *
4613
+ * `&&&&` — ровно та сила, что была у обёртки `ElementValueWrapper`: правило должно перебивать
4614
+ * и родительскую колонку, и собственные `defaults` контейнера, пришедшие в `$sizeCss`.
4615
+ */
4616
+ const noMarginMixin = styled.css `
4617
+ ${({ $noMargin }) => !!$noMargin &&
4618
+ styled.css `
4619
+ &&&& {
4620
+ margin-bottom: 0;
4621
+ }
4622
+ `};
4623
+ `;
4624
+ /**
4625
+ * Обёртка значения элемента.
4626
+ *
4627
+ * Контейнеры, владеющие своим корнем (`ROOT_OWNING_TEMPLATES`), сюда больше не попадают —
4628
+ * обёртка дублировала их `data-id`, `data-templatename` и `style` вторым узлом DOM.
4629
+ * `$sizeTransparent` поэтому работает только на контейнерах, которые ещё не переведены
4630
+ * на `useContainerRoot`.
4631
+ */
4632
+ const ElementValueWrapper = styled.div.withConfig({ displayName: "ElementValueWrapper", componentId: "sc-1imfcz7" }) `
4610
4633
  transition: background-color ${uilibGl.transition.toggle};
4611
4634
 
4612
4635
  ${({ noMargin }) => !!noMargin &&
@@ -4636,13 +4659,14 @@ const ElementValueWrapper = styled.div.withConfig({ displayName: "ElementValueWr
4636
4659
  * Всегда flex-колонка: заголовок и тело раньше были flex-элементами родительского `Container`,
4637
4660
  * и блочная обёртка вернула бы схлопывание вертикальных отступов между ними.
4638
4661
  */
4639
- const ContainerRoot = styled(uilibGl.Flex).withConfig({ displayName: "ContainerRoot", componentId: "sc-1d9e6wi" }) `
4662
+ const ContainerRoot = styled(uilibGl.Flex).withConfig({ displayName: "ContainerRoot", componentId: "sc-m1nac1" }) `
4640
4663
  flex-direction: column;
4641
4664
  min-width: 0;
4642
4665
 
4643
4666
  ${sizeCssMixin};
4667
+ ${noMarginMixin};
4644
4668
  `;
4645
- const Container = styled(uilibGl.Flex).withConfig({ displayName: "Container", componentId: "sc-18mfixd" }) `
4669
+ const Container = styled(uilibGl.Flex).withConfig({ displayName: "Container", componentId: "sc-17ps0o9" }) `
4646
4670
  flex-direction: column;
4647
4671
  width: 100%;
4648
4672
 
@@ -4696,7 +4720,7 @@ const Container = styled(uilibGl.Flex).withConfig({ displayName: "Container", co
4696
4720
 
4697
4721
  ${sizeCssMixin};
4698
4722
  `;
4699
- const ContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "ContainerWrapper", componentId: "sc-15bpba2" }) `
4723
+ const ContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "ContainerWrapper", componentId: "sc-1nthncp" }) `
4700
4724
  position: relative;
4701
4725
  box-sizing: border-box;
4702
4726
  width: 100%;
@@ -4717,7 +4741,7 @@ const ContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "Contain
4717
4741
  }
4718
4742
  `}
4719
4743
  `;
4720
- const DashboardChip = styled(uilibGl.Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-1ly13un" }) `
4744
+ const DashboardChip = styled(uilibGl.Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-1yoat3r" }) `
4721
4745
  margin: 0 0.25rem 0.25rem 0;
4722
4746
  background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
4723
4747
  border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
@@ -4733,7 +4757,7 @@ const DashboardChip = styled(uilibGl.Chip).withConfig({ displayName: "DashboardC
4733
4757
  color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
4734
4758
  }
4735
4759
  `;
4736
- const DashboardPlaceholderWrap = styled(uilibGl.Flex).withConfig({ displayName: "DashboardPlaceholderWrap", componentId: "sc-l2oa2p" }) `
4760
+ const DashboardPlaceholderWrap = styled(uilibGl.Flex).withConfig({ displayName: "DashboardPlaceholderWrap", componentId: "sc-zb1wm7" }) `
4737
4761
  flex-grow: 1;
4738
4762
  flex-direction: column;
4739
4763
  justify-content: center;
@@ -4741,7 +4765,7 @@ const DashboardPlaceholderWrap = styled(uilibGl.Flex).withConfig({ displayName:
4741
4765
  width: 100%;
4742
4766
  margin-bottom: 2rem;
4743
4767
  `;
4744
- const DashboardPlaceholder = styled(uilibGl.Flex).withConfig({ displayName: "DashboardPlaceholder", componentId: "sc-nvnufp" }) `
4768
+ const DashboardPlaceholder = styled(uilibGl.Flex).withConfig({ displayName: "DashboardPlaceholder", componentId: "sc-3s2h6s" }) `
4745
4769
  flex-direction: column;
4746
4770
  justify-content: center;
4747
4771
  align-items: center;
@@ -4774,7 +4798,7 @@ const DashboardPlaceholder = styled(uilibGl.Flex).withConfig({ displayName: "Das
4774
4798
  }
4775
4799
  }
4776
4800
  `;
4777
- const DashboardWrapper = styled(uilibGl.Flex).withConfig({ displayName: "DashboardWrapper", componentId: "sc-gian28" }) `
4801
+ const DashboardWrapper = styled(uilibGl.Flex).withConfig({ displayName: "DashboardWrapper", componentId: "sc-jwifvc" }) `
4778
4802
  flex-direction: column;
4779
4803
  flex-wrap: nowrap;
4780
4804
  flex-grow: 1;
@@ -4787,7 +4811,7 @@ const DashboardWrapper = styled(uilibGl.Flex).withConfig({ displayName: "Dashboa
4787
4811
  margin-top: -0.35rem;
4788
4812
  `}
4789
4813
  `;
4790
- const DashboardContent = styled(uilibGl.Flex).withConfig({ displayName: "DashboardContent", componentId: "sc-1e69b0r" }) `
4814
+ const DashboardContent = styled(uilibGl.Flex).withConfig({ displayName: "DashboardContent", componentId: "sc-1mp6f6k" }) `
4791
4815
  flex-grow: 1;
4792
4816
  width: 100%;
4793
4817
  padding: 1.5rem 1.5rem 2rem;
@@ -4802,16 +4826,16 @@ const PresentationWrapperCss = styled.css `
4802
4826
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
4803
4827
  box-shadow: ${uilibGl.shadows.raised};
4804
4828
  `;
4805
- const PresentationWrapper = styled.div.withConfig({ displayName: "PresentationWrapper", componentId: "sc-3sj48s" }) `
4829
+ const PresentationWrapper = styled.div.withConfig({ displayName: "PresentationWrapper", componentId: "sc-vyrmgf" }) `
4806
4830
  ${PresentationWrapperCss};
4807
4831
  position: relative;
4808
4832
  z-index: 1;
4809
4833
  `;
4810
- const PresentationPanelWrapper = styled(PresentationWrapper).withConfig({ displayName: "PresentationPanelWrapper", componentId: "sc-1qtl87a" }) `
4834
+ const PresentationPanelWrapper = styled(PresentationWrapper).withConfig({ displayName: "PresentationPanelWrapper", componentId: "sc-1bh1bb3" }) `
4811
4835
  margin-top: 0.75rem;
4812
4836
  transition: background-color ${uilibGl.transition.toggle};
4813
4837
  `;
4814
- const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHeader", componentId: "sc-y89rqh" }) `
4838
+ const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHeader", componentId: "sc-1h4fkon" }) `
4815
4839
  margin: -1.5rem -1.5rem 0 -1.5rem;
4816
4840
  padding: 1.5rem;
4817
4841
  // background: url(images.presentationHeader) 0 0 no-repeat;
@@ -4823,7 +4847,7 @@ const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHea
4823
4847
  padding-top: 7rem;
4824
4848
  `};
4825
4849
  `;
4826
- const PresentationHeaderTools = styled(uilibGl.Flex).withConfig({ displayName: "PresentationHeaderTools", componentId: "sc-hctug2" }) `
4850
+ const PresentationHeaderTools = styled(uilibGl.Flex).withConfig({ displayName: "PresentationHeaderTools", componentId: "sc-1tnrulr" }) `
4827
4851
  justify-content: space-between;
4828
4852
  align-items: center;
4829
4853
  margin-bottom: -0.5rem;
@@ -4841,7 +4865,7 @@ const PresentationHeaderTools = styled(uilibGl.Flex).withConfig({ displayName: "
4841
4865
  }
4842
4866
  }
4843
4867
  `;
4844
- const LayerGroupList = styled(uilibGl.Flex).withConfig({ displayName: "LayerGroupList", componentId: "sc-1n0u4aw" }) `
4868
+ const LayerGroupList = styled(uilibGl.Flex).withConfig({ displayName: "LayerGroupList", componentId: "sc-z7kx1n" }) `
4845
4869
  flex-direction: column;
4846
4870
  height: 100%;
4847
4871
  flex-wrap: nowrap;
@@ -4854,8 +4878,8 @@ const LayerGroupList = styled(uilibGl.Flex).withConfig({ displayName: "LayerGrou
4854
4878
  flex-grow: 1;
4855
4879
  }
4856
4880
  `;
4857
- const PresentationHeaderButtons = styled(uilibGl.Flex).withConfig({ displayName: "PresentationHeaderButtons", componentId: "sc-1p1sdhv" }) ``;
4858
- const PresentationPanelContainer = styled.div.withConfig({ displayName: "PresentationPanelContainer", componentId: "sc-16l9nsf" }) `
4881
+ const PresentationHeaderButtons = styled(uilibGl.Flex).withConfig({ displayName: "PresentationHeaderButtons", componentId: "sc-ovzmvd" }) ``;
4882
+ const PresentationPanelContainer = styled.div.withConfig({ displayName: "PresentationPanelContainer", componentId: "sc-s6leyc" }) `
4859
4883
  position: absolute;
4860
4884
  top: 0;
4861
4885
  left: calc(${({ left }) => left || 0}px + 0.75rem);
@@ -4924,7 +4948,7 @@ const PresentationPanelContainer = styled.div.withConfig({ displayName: "Present
4924
4948
  }
4925
4949
  }
4926
4950
  `;
4927
- const DataSourceErrorContainer = styled(uilibGl.Flex).withConfig({ displayName: "DataSourceErrorContainer", componentId: "sc-fqos5i" }) `
4951
+ const DataSourceErrorContainer = styled(uilibGl.Flex).withConfig({ displayName: "DataSourceErrorContainer", componentId: "sc-1b1qijw" }) `
4928
4952
  align-items: center;
4929
4953
  justify-content: center;
4930
4954
  flex-wrap: nowrap;
@@ -4943,12 +4967,12 @@ const DataSourceErrorContainer = styled(uilibGl.Flex).withConfig({ displayName:
4943
4967
  }
4944
4968
  }
4945
4969
  `;
4946
- const AttributeLabel = styled(uilibGl.Description).withConfig({ displayName: "AttributeLabel", componentId: "sc-mgz5in" }) `
4970
+ const AttributeLabel = styled(uilibGl.Description).withConfig({ displayName: "AttributeLabel", componentId: "sc-11p3317" }) `
4947
4971
  margin-top: 0 !important;
4948
4972
  margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
4949
4973
  padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
4950
4974
  `;
4951
- const FeatureControls = styled(uilibGl.Flex).withConfig({ displayName: "FeatureControls", componentId: "sc-cp37qd" }) `
4975
+ const FeatureControls = styled(uilibGl.Flex).withConfig({ displayName: "FeatureControls", componentId: "sc-1piagrr" }) `
4952
4976
  align-items: center;
4953
4977
  gap: 1rem;
4954
4978
  flex-wrap: nowrap;
@@ -4989,7 +5013,7 @@ const toRenderableValue = (value) => {
4989
5013
  return value;
4990
5014
  };
4991
5015
 
4992
- const formatElementValue = ({ t, value, elementConfig, attributes, wrap, }) => {
5016
+ const formatElementValue = ({ t, value, elementConfig, attributes, wrap, hasOwnRoot, }) => {
4993
5017
  const { id, type, defaultValue, options, style, attributeName, templateName, } = elementConfig || {};
4994
5018
  const attribute = attributeName
4995
5019
  ? getAttributeByName(attributeName, attributes)
@@ -4998,6 +5022,7 @@ const formatElementValue = ({ t, value, elementConfig, attributes, wrap, }) => {
4998
5022
  // Размер задал КОНТЕЙНЕР (есть templateName, нет type) — обёртку убираем из раскладки,
4999
5023
  // иначе её auto-высота не даёт процентам ребёнка считаться от ячейки-родителя.
5000
5024
  // У элементов `width`/`height` — это размер их собственного контента, обёртка нужна как есть.
5025
+ // Живо только для контейнеров без своего корня: владельцы корня сюда уже не доходят.
5001
5026
  const isSizedContainer = !type && !!templateName && (width != null || height != null);
5002
5027
  const valueOrDefault = isEmptyElementValue(value) ? defaultValue : value;
5003
5028
  const resultValue = type === "attributeValue" && attribute?.type && attribute?.stringFormat
@@ -5012,6 +5037,14 @@ const formatElementValue = ({ t, value, elementConfig, attributes, wrap, }) => {
5012
5037
  const renderableValue = toRenderableValue(resultValue);
5013
5038
  if (!wrap)
5014
5039
  return renderableValue;
5040
+ // Контейнер уже несёт идентификаторы и `style` на своём корне — обёртка добавила бы в DOM
5041
+ // второй узел-близнец с теми же атрибутами и стилями. `tagView` остаётся за обёрткой:
5042
+ // он подменяет значение чипом, и корень контейнера про это ничего не знает.
5043
+ if (hasOwnRoot && !tagView) {
5044
+ if (!withDivider)
5045
+ return renderableValue;
5046
+ return (jsxRuntime.jsxs(React.Fragment, { children: [renderableValue, jsxRuntime.jsx(uilibGl.Divider, {})] }, id));
5047
+ }
5015
5048
  return (jsxRuntime.jsxs(React.Fragment, { children: [tagView ? (jsxRuntime.jsx(DashboardChip$1, { "data-id": id, "data-templatename": templateName, style: style, text: renderableValue, "$bgColor": bgColor, "$fontColor": fontColor, "$fontSize": fontSize, "$radius": radius })) : (jsxRuntime.jsx(ElementValueWrapper, { "data-id": id, "data-templatename": templateName, style: style, noMargin: noMargin, "$sizeTransparent": isSizedContainer, children: renderableValue })), withDivider && jsxRuntime.jsx(uilibGl.Divider, {})] }, id));
5016
5049
  };
5017
5050
 
@@ -6596,16 +6629,22 @@ const useContainerAttributes = ({ elementConfig, type, renderElement }) => {
6596
6629
  *
6597
6630
  * Размеры уходят styled-пропом (класс), а не inline-стилем, поэтому перебиваются снаружи
6598
6631
  * без `!important`. Авторский `style` остаётся inline — у него приоритет по замыслу автора конфига.
6632
+ *
6633
+ * `data-id` и `$noMargin` раньше жили на внешней обёртке `ElementValueWrapper`; она вешала их
6634
+ * на второй узел поверх этого корня, дублируя стили, и для таких контейнеров больше не создаётся
6635
+ * (см. `ROOT_OWNING_TEMPLATES`).
6599
6636
  */
6600
6637
  const useWrapperSize = ({ elementConfig, defaults }) => {
6601
6638
  const { id, style, templateName, options } = elementConfig || {};
6602
- const { width, height, overflow } = options || {};
6639
+ const { width, height, overflow, noMargin } = options || {};
6603
6640
  return React.useMemo(() => ({
6604
6641
  id,
6642
+ "data-id": id,
6605
6643
  "data-templatename": templateName,
6606
6644
  style,
6607
6645
  $sizeCss: getWrapperSizeStyle({ style, width, height, overflow, defaults, defaultWidth: FILL_SIZE }),
6608
- }), [id, templateName, style, width, height, overflow, defaults]);
6646
+ $noMargin: noMargin,
6647
+ }), [id, templateName, style, width, height, overflow, noMargin, defaults]);
6609
6648
  };
6610
6649
 
6611
6650
  /**
@@ -7980,7 +8019,7 @@ const FlowGroup = React.memo(({ elementConfig, type, renderElement }) => {
7980
8019
  * всё равно нужен реальный элемент, к которому он монтируется. Этот узел ничего не занимает
7981
8020
  * и не виден.
7982
8021
  */
7983
- const MenuAnchor = styled.span.withConfig({ displayName: "MenuAnchor", componentId: "sc-pil9x2" }) `
8022
+ const MenuAnchor = styled.span.withConfig({ displayName: "MenuAnchor", componentId: "sc-1rmb3hr" }) `
7984
8023
  position: absolute;
7985
8024
  width: 0;
7986
8025
  height: 0;
@@ -8118,12 +8157,12 @@ const AddFeatureContainer = React.memo(({ elementConfig }) => {
8118
8157
  .map(({ options }, index) => (jsxRuntime.jsx(AddFeatureButton, { icon: options?.icon, title: options?.title, layerName: options?.layerName, geometryType: options?.geometryType }, index))) }));
8119
8158
  });
8120
8159
 
8121
- const AttachmentsContainer = styled.div.withConfig({ displayName: "AttachmentsContainer", componentId: "sc-17xr565" }) `
8160
+ const AttachmentsContainer = styled.div.withConfig({ displayName: "AttachmentsContainer", componentId: "sc-1x4em9a" }) `
8122
8161
  display: flex;
8123
8162
  flex-direction: column;
8124
8163
  width: 100%;
8125
8164
  `;
8126
- const AttachmentsHeaderRow = styled.div.withConfig({ displayName: "AttachmentsHeaderRow", componentId: "sc-106k9x3" }) `
8165
+ const AttachmentsHeaderRow = styled.div.withConfig({ displayName: "AttachmentsHeaderRow", componentId: "sc-3g12fy" }) `
8127
8166
  &&& {
8128
8167
  display: flex;
8129
8168
  width: 100%;
@@ -8132,14 +8171,14 @@ const AttachmentsHeaderRow = styled.div.withConfig({ displayName: "AttachmentsHe
8132
8171
  margin-bottom: 0.5rem;
8133
8172
  }
8134
8173
  `;
8135
- const AttachmentsLabel = styled.div.withConfig({ displayName: "AttachmentsLabel", componentId: "sc-1w0wnej" }) `
8174
+ const AttachmentsLabel = styled.div.withConfig({ displayName: "AttachmentsLabel", componentId: "sc-we2kuu" }) `
8136
8175
  display: flex;
8137
8176
  align-items: center;
8138
8177
  gap: 0 0.5rem;
8139
8178
  color: ${({ theme }) => theme.palette.textSecondary};
8140
8179
  font-size: 0.75rem;
8141
8180
  `;
8142
- const AttachmentsViewControls = styled.div.withConfig({ displayName: "AttachmentsViewControls", componentId: "sc-1xbg15w" }) `
8181
+ const AttachmentsViewControls = styled.div.withConfig({ displayName: "AttachmentsViewControls", componentId: "sc-alb91p" }) `
8143
8182
  display: flex;
8144
8183
  align-items: center;
8145
8184
 
@@ -8157,21 +8196,21 @@ const AttachmentsViewControls = styled.div.withConfig({ displayName: "Attachment
8157
8196
  font-size: 1rem;
8158
8197
  }
8159
8198
  `;
8160
- const AttachmentsCountChip = styled(uilibGl.Chip).withConfig({ displayName: "AttachmentsCountChip", componentId: "sc-1nzv80k" }) `
8199
+ const AttachmentsCountChip = styled(uilibGl.Chip).withConfig({ displayName: "AttachmentsCountChip", componentId: "sc-nbbqco" }) `
8161
8200
  padding: 2px 6px;
8162
8201
  font-size: 0.625rem;
8163
8202
  `;
8164
- const AttachmentsContent = styled.div.withConfig({ displayName: "AttachmentsContent", componentId: "sc-1ixjy7u" }) `
8203
+ const AttachmentsContent = styled.div.withConfig({ displayName: "AttachmentsContent", componentId: "sc-1t3vbw9" }) `
8165
8204
  width: 100%;
8166
8205
  `;
8167
- const GridListWrapper = styled.div.withConfig({ displayName: "GridListWrapper", componentId: "sc-ji277n" }) `
8206
+ const GridListWrapper = styled.div.withConfig({ displayName: "GridListWrapper", componentId: "sc-hed86n" }) `
8168
8207
  display: flex;
8169
8208
  flex-direction: row;
8170
8209
  width: 100%;
8171
8210
  gap: 0.5rem;
8172
8211
  flex-wrap: wrap;
8173
8212
  `;
8174
- const GridActions = styled.div.withConfig({ displayName: "GridActions", componentId: "sc-78zqr9" }) `
8213
+ const GridActions = styled.div.withConfig({ displayName: "GridActions", componentId: "sc-17pox2y" }) `
8175
8214
  display: none;
8176
8215
  position: absolute;
8177
8216
  z-index: 2;
@@ -8189,7 +8228,7 @@ const GridActions = styled.div.withConfig({ displayName: "GridActions", componen
8189
8228
  }
8190
8229
  }
8191
8230
  `;
8192
- const GridItemOverlay = styled.div.withConfig({ displayName: "GridItemOverlay", componentId: "sc-6em5o2" }) `
8231
+ const GridItemOverlay = styled.div.withConfig({ displayName: "GridItemOverlay", componentId: "sc-udd0ax" }) `
8193
8232
  position: absolute;
8194
8233
  top: 0;
8195
8234
  left: 0;
@@ -8199,7 +8238,7 @@ const GridItemOverlay = styled.div.withConfig({ displayName: "GridItemOverlay",
8199
8238
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.smallest};
8200
8239
  pointer-events: none;
8201
8240
  `;
8202
- const GridItemContainer = styled.div.withConfig({ displayName: "GridItemContainer", componentId: "sc-vnsksa" }) `
8241
+ const GridItemContainer = styled.div.withConfig({ displayName: "GridItemContainer", componentId: "sc-rbaj5j" }) `
8203
8242
  display: flex;
8204
8243
  position: relative;
8205
8244
  width: ${GRID_TILE_SIZE};
@@ -8223,20 +8262,20 @@ const GridItemContainer = styled.div.withConfig({ displayName: "GridItemContaine
8223
8262
  }
8224
8263
  }
8225
8264
  `;
8226
- const GridIcon = styled.div.withConfig({ displayName: "GridIcon", componentId: "sc-1pzdbsl" }) `
8265
+ const GridIcon = styled.div.withConfig({ displayName: "GridIcon", componentId: "sc-yhwj5t" }) `
8227
8266
  height: 2rem;
8228
8267
  width: 2rem;
8229
8268
  background: url("${({ fileType }) => getFileTypeIcon(fileType)}") center center
8230
8269
  no-repeat;
8231
8270
  `;
8232
- const ListIcon = styled.div.withConfig({ displayName: "ListIcon", componentId: "sc-1pub6uh" }) `
8271
+ const ListIcon = styled.div.withConfig({ displayName: "ListIcon", componentId: "sc-1cwm0hh" }) `
8233
8272
  height: ${LIST_ICON_SIZE};
8234
8273
  width: ${LIST_ICON_SIZE};
8235
8274
  flex-shrink: 0;
8236
8275
  background: url("${({ fileType }) => getFileTypeIcon(fileType)}") center center
8237
8276
  no-repeat;
8238
8277
  `;
8239
- const GridImagePreview = styled.img.withConfig({ displayName: "GridImagePreview", componentId: "sc-trt3hf" }) `
8278
+ const GridImagePreview = styled.img.withConfig({ displayName: "GridImagePreview", componentId: "sc-10vav08" }) `
8240
8279
  display: flex;
8241
8280
  height: ${({ size = GRID_TILE_SIZE }) => size};
8242
8281
  width: ${({ size = GRID_TILE_SIZE }) => size};
@@ -8246,14 +8285,14 @@ const GridImagePreview = styled.img.withConfig({ displayName: "GridImagePreview"
8246
8285
  outline: none;
8247
8286
  visibility: ${({ isLoading }) => (isLoading ? "hidden" : "visible")};
8248
8287
  `;
8249
- const ImagePreviewContainer = styled.div.withConfig({ displayName: "ImagePreviewContainer", componentId: "sc-1q1kdi6" }) `
8288
+ const ImagePreviewContainer = styled.div.withConfig({ displayName: "ImagePreviewContainer", componentId: "sc-lrg1ds" }) `
8250
8289
  display: flex;
8251
8290
  flex-direction: column;
8252
8291
  position: relative;
8253
8292
  height: ${({ size = GRID_TILE_SIZE }) => size};
8254
8293
  width: ${({ size = GRID_TILE_SIZE }) => size};
8255
8294
  `;
8256
- const ImagePreviewLoaderContainer = styled.div.withConfig({ displayName: "ImagePreviewLoaderContainer", componentId: "sc-nud8yn" }) `
8295
+ const ImagePreviewLoaderContainer = styled.div.withConfig({ displayName: "ImagePreviewLoaderContainer", componentId: "sc-dnbzt9" }) `
8257
8296
  position: absolute;
8258
8297
  top: 50%;
8259
8298
  left: 50%;
@@ -8265,41 +8304,41 @@ const ImagePreviewLoaderContainer = styled.div.withConfig({ displayName: "ImageP
8265
8304
  border-radius: 0.25rem;
8266
8305
  }
8267
8306
  `;
8268
- const TooltipDate = styled.div.withConfig({ displayName: "TooltipDate", componentId: "sc-14vg5qh" }) `
8307
+ const TooltipDate = styled.div.withConfig({ displayName: "TooltipDate", componentId: "sc-uarblx" }) `
8269
8308
  color: rgba(255, 255, 255, 0.54);
8270
8309
  font-size: 0.75rem;
8271
8310
  `;
8272
- const ListContainer = styled.div.withConfig({ displayName: "ListContainer", componentId: "sc-1ov80ei" }) `
8311
+ const ListContainer = styled.div.withConfig({ displayName: "ListContainer", componentId: "sc-1w00vh6" }) `
8273
8312
  display: flex;
8274
8313
  flex-direction: column;
8275
8314
  width: 100%;
8276
8315
  gap: 0.5rem 0;
8277
8316
  `;
8278
- const ListItemMeta = styled.div.withConfig({ displayName: "ListItemMeta", componentId: "sc-ti107k" }) `
8317
+ const ListItemMeta = styled.div.withConfig({ displayName: "ListItemMeta", componentId: "sc-me0jzi" }) `
8279
8318
  display: flex;
8280
8319
  align-items: center;
8281
8320
  gap: 0 0.5rem;
8282
8321
  width: 100%;
8283
8322
  min-width: 0;
8284
8323
  `;
8285
- const ListItemDescription = styled.div.withConfig({ displayName: "ListItemDescription", componentId: "sc-1cjqtw4" }) `
8324
+ const ListItemDescription = styled.div.withConfig({ displayName: "ListItemDescription", componentId: "sc-1knig8t" }) `
8286
8325
  display: flex;
8287
8326
  flex-direction: column;
8288
8327
  gap: 2px 0;
8289
8328
  width: 100%;
8290
8329
  min-width: 0;
8291
8330
  `;
8292
- const ListItemName = styled.div.withConfig({ displayName: "ListItemName", componentId: "sc-19ks2am" }) `
8331
+ const ListItemName = styled.div.withConfig({ displayName: "ListItemName", componentId: "sc-525iza" }) `
8293
8332
  font-size: 0.875rem;
8294
8333
  overflow: hidden;
8295
8334
  white-space: nowrap;
8296
8335
  text-overflow: ellipsis;
8297
8336
  `;
8298
- const ListItemDate = styled.div.withConfig({ displayName: "ListItemDate", componentId: "sc-19krhf4" }) `
8337
+ const ListItemDate = styled.div.withConfig({ displayName: "ListItemDate", componentId: "sc-185xuez" }) `
8299
8338
  font-size: 0.625rem;
8300
8339
  color: ${({ theme }) => theme.palette.textSecondary};
8301
8340
  `;
8302
- const ListActions = styled.div.withConfig({ displayName: "ListActions", componentId: "sc-1w88dt8" }) `
8341
+ const ListActions = styled.div.withConfig({ displayName: "ListActions", componentId: "sc-se1h5" }) `
8303
8342
  flex-shrink: 0;
8304
8343
 
8305
8344
  button {
@@ -8307,7 +8346,7 @@ const ListActions = styled.div.withConfig({ displayName: "ListActions", componen
8307
8346
  padding-right: 0;
8308
8347
  }
8309
8348
  `;
8310
- const ListItemContainer = styled.div.withConfig({ displayName: "ListItemContainer", componentId: "sc-k7jdlo" }) `
8349
+ const ListItemContainer = styled.div.withConfig({ displayName: "ListItemContainer", componentId: "sc-r4ffvc" }) `
8311
8350
  display: flex;
8312
8351
  width: 100%;
8313
8352
  justify-content: space-between;
@@ -8320,7 +8359,7 @@ const ListItemContainer = styled.div.withConfig({ displayName: "ListItemContaine
8320
8359
  }
8321
8360
  }
8322
8361
  `;
8323
- const ShowMoreButton$1 = styled.div.withConfig({ displayName: "ShowMoreButton", componentId: "sc-1r60cwr" }) `
8362
+ const ShowMoreButton$1 = styled.div.withConfig({ displayName: "ShowMoreButton", componentId: "sc-pml4tp" }) `
8324
8363
  display: flex;
8325
8364
  align-items: center;
8326
8365
  gap: 0 0.25rem;
@@ -8339,10 +8378,10 @@ const ShowMoreButton$1 = styled.div.withConfig({ displayName: "ShowMoreButton",
8339
8378
  color: ${({ theme }) => theme.palette.primary};
8340
8379
  }
8341
8380
  `;
8342
- const AddButtonContainer = styled.div.withConfig({ displayName: "AddButtonContainer", componentId: "sc-ys8wc3" }) `
8381
+ const AddButtonContainer = styled.div.withConfig({ displayName: "AddButtonContainer", componentId: "sc-1o5l7cc" }) `
8343
8382
  margin-top: 0.75rem;
8344
8383
  `;
8345
- const AddButtonRow = styled(uilibGl.IconButton).withConfig({ displayName: "AddButtonRow", componentId: "sc-hj5e9y" }) `
8384
+ const AddButtonRow = styled(uilibGl.IconButton).withConfig({ displayName: "AddButtonRow", componentId: "sc-1d0dfe5" }) `
8346
8385
  padding: 0 0.75rem;
8347
8386
  height: 1.5rem;
8348
8387
  background-color: ${({ theme }) => theme.palette.elementDark};
@@ -8351,17 +8390,17 @@ const AddButtonRow = styled(uilibGl.IconButton).withConfig({ displayName: "AddBu
8351
8390
  background-color: ${({ theme }) => theme.palette.elementDeep};
8352
8391
  }
8353
8392
  `;
8354
- const HiddenFileInput = styled.input.withConfig({ displayName: "HiddenFileInput", componentId: "sc-f5e0jv" }) `
8393
+ const HiddenFileInput = styled.input.withConfig({ displayName: "HiddenFileInput", componentId: "sc-ht33ry" }) `
8355
8394
  display: none;
8356
8395
  `;
8357
- const LinkDialogContent = styled.div.withConfig({ displayName: "LinkDialogContent", componentId: "sc-1dlg976" }) `
8396
+ const LinkDialogContent = styled.div.withConfig({ displayName: "LinkDialogContent", componentId: "sc-zjur6" }) `
8358
8397
  display: flex;
8359
8398
  flex-direction: column;
8360
8399
  width: 100%;
8361
8400
  padding: 1rem 0;
8362
8401
  `;
8363
8402
 
8364
- const ImagePreviewError = styled.div.withConfig({ displayName: "ImagePreviewError", componentId: "sc-1vo55is" }) `
8403
+ const ImagePreviewError = styled.div.withConfig({ displayName: "ImagePreviewError", componentId: "sc-15exvgd" }) `
8365
8404
  display: flex;
8366
8405
  align-items: center;
8367
8406
  justify-content: center;
@@ -8499,12 +8538,12 @@ const AttachmentContainer = React.memo(({ type, elementConfig, renderElement })
8499
8538
  }) }, previewIndex))] }) }))] }));
8500
8539
  });
8501
8540
 
8502
- const ChartLegendContainer = styled(uilibGl.Flex).withConfig({ displayName: "ChartLegendContainer", componentId: "sc-13rtz1" }) `
8541
+ const ChartLegendContainer = styled(uilibGl.Flex).withConfig({ displayName: "ChartLegendContainer", componentId: "sc-1gmqts" }) `
8503
8542
  flex-direction: column;
8504
8543
  flex-wrap: wrap;
8505
8544
  justify-content: ${({ twoColumns }) => (twoColumns ? "flex-start" : "center")};
8506
8545
  `;
8507
- const ChartLegendItem = styled(uilibGl.Flex).withConfig({ displayName: "ChartLegendItem", componentId: "sc-19jy34s" }) `
8546
+ const ChartLegendItem = styled(uilibGl.Flex).withConfig({ displayName: "ChartLegendItem", componentId: "sc-1hd88id" }) `
8508
8547
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8509
8548
  align-items: center;
8510
8549
  flex-wrap: nowrap;
@@ -8514,20 +8553,20 @@ const ChartLegendItem = styled(uilibGl.Flex).withConfig({ displayName: "ChartLeg
8514
8553
  line-height: 0.75rem;
8515
8554
  opacity: ${({ isFiltered, hasAnyFilter }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
8516
8555
  `;
8517
- const ChartLegendColor = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-prt9gf" }) `
8556
+ const ChartLegendColor = styled.div.withConfig({ displayName: "ChartLegendColor", componentId: "sc-sd97sx" }) `
8518
8557
  width: 0.5rem;
8519
8558
  height: 0.5rem;
8520
8559
  margin-right: 0.375rem;
8521
8560
  background-color: ${({ color }) => color};
8522
8561
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.tiny};
8523
8562
  `;
8524
- const ChartLegendName = styled.div.withConfig({ displayName: "ChartLegendName", componentId: "sc-1ywpwg6" }) `
8563
+ const ChartLegendName = styled.div.withConfig({ displayName: "ChartLegendName", componentId: "sc-fengkv" }) `
8525
8564
  flex: 1;
8526
8565
  font-size: ${({ $fontSize }) => $fontSize || "0.625rem"};
8527
8566
  color: ${({ theme: { palette }, $fontColor }) => $fontColor || palette.textPrimary};
8528
8567
  `;
8529
8568
 
8530
- const ContainerAlias = styled(uilibGl.Flex).withConfig({ displayName: "ContainerAlias", componentId: "sc-12j8co1" }) `
8569
+ const ContainerAlias = styled(uilibGl.Flex).withConfig({ displayName: "ContainerAlias", componentId: "sc-yyvgdo" }) `
8531
8570
  align-items: center;
8532
8571
  flex-wrap: nowrap;
8533
8572
  font-size: 0.75rem;
@@ -8545,10 +8584,10 @@ const ContainerAlias = styled(uilibGl.Flex).withConfig({ displayName: "Container
8545
8584
  }
8546
8585
  }
8547
8586
  `;
8548
- const ContainerAliasIcon = styled.div.withConfig({ displayName: "ContainerAliasIcon", componentId: "sc-p22cmu" }) `
8587
+ const ContainerAliasIcon = styled.div.withConfig({ displayName: "ContainerAliasIcon", componentId: "sc-93f0g6" }) `
8549
8588
  margin-right: 0.5rem;
8550
8589
  `;
8551
- const ContainerChart = styled(uilibGl.Flex).withConfig({ displayName: "ContainerChart", componentId: "sc-32bqob" }) `
8590
+ const ContainerChart = styled(uilibGl.Flex).withConfig({ displayName: "ContainerChart", componentId: "sc-1m7q9s5" }) `
8552
8591
  justify-content: flex-start;
8553
8592
 
8554
8593
  > * {
@@ -8570,13 +8609,13 @@ const ContainerChart = styled(uilibGl.Flex).withConfig({ displayName: "Container
8570
8609
  }
8571
8610
  `}
8572
8611
  `;
8573
- const ContainerLegend = styled(uilibGl.Flex).withConfig({ displayName: "ContainerLegend", componentId: "sc-frn15b" }) ``;
8574
- const ContainerUnits = styled.div.withConfig({ displayName: "ContainerUnits", componentId: "sc-1ww0naa" }) `
8612
+ const ContainerLegend = styled(uilibGl.Flex).withConfig({ displayName: "ContainerLegend", componentId: "sc-1hqzfrr" }) ``;
8613
+ const ContainerUnits = styled.div.withConfig({ displayName: "ContainerUnits", componentId: "sc-1uagna1" }) `
8575
8614
  margin-left: 0.5rem;
8576
8615
  white-space: nowrap;
8577
8616
  font-size: 0.75rem;
8578
8617
  `;
8579
- const ContainerValue = styled(uilibGl.Flex).withConfig({ displayName: "ContainerValue", componentId: "sc-121cs06" }) `
8618
+ const ContainerValue = styled(uilibGl.Flex).withConfig({ displayName: "ContainerValue", componentId: "sc-15zl7vv" }) `
8580
8619
  justify-content: flex-end;
8581
8620
  align-items: center;
8582
8621
  flex-wrap: nowrap;
@@ -8618,7 +8657,7 @@ const SizeIconMixin = styled.css `
8618
8657
  font-size: ${({ $fontSize }) => $fontSize}px !important;
8619
8658
  }
8620
8659
  `;
8621
- styled(uilibGl.Icon).withConfig({ displayName: "ContainerIcon", componentId: "sc-q6yqwu" }) `
8660
+ styled(uilibGl.Icon).withConfig({ displayName: "ContainerIcon", componentId: "sc-7bnypx" }) `
8622
8661
  width: auto;
8623
8662
  height: auto;
8624
8663
  margin-bottom: 0.5rem;
@@ -8632,7 +8671,7 @@ const SvgContainerColorMixin$1 = styled.css `
8632
8671
  fill: ${({ $fontColor }) => $fontColor};
8633
8672
  }
8634
8673
  `;
8635
- const SvgContainer$1 = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-rkkgar" }) `
8674
+ const SvgContainer$1 = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-1k4cvlh" }) `
8636
8675
  &&& {
8637
8676
  min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
8638
8677
  max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
@@ -8644,7 +8683,7 @@ const SvgContainer$1 = styled.div.withConfig({ displayName: "SvgContainer", comp
8644
8683
  }
8645
8684
  }
8646
8685
  `;
8647
- const TwoColumnContainerWrapper = styled(Container).withConfig({ displayName: "TwoColumnContainerWrapper", componentId: "sc-128p4rs" }) `
8686
+ const TwoColumnContainerWrapper = styled(Container).withConfig({ displayName: "TwoColumnContainerWrapper", componentId: "sc-5wzvcs" }) `
8648
8687
  flex-direction: row;
8649
8688
  flex-wrap: nowrap;
8650
8689
  align-items: center;
@@ -8702,7 +8741,7 @@ const ChartContainer = React.memo(({ elementConfig, isVisible, type, renderEleme
8702
8741
  return (jsxRuntime.jsxs(ContainerRoot, { ...root, children: [jsxRuntime.jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxRuntime.jsxs(Container, { ...body, isColumn: true, children: [aliasElement && jsxRuntime.jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsxRuntime.jsx(ContainerValue, { column: !twoColumns, alignItems: twoColumns && fill ? "stretch" : "center", "$fill": !!fill, children: hasItems ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ContainerChart, { "$fill": !!fill, children: jsxRuntime.jsx(FillContext.Provider, { value: fillContextValue, children: renderElement({ id: "chart" }) }) }), jsxRuntime.jsx(ContainerLegend, { justifyContent: legendElement?.options?.center ? "center" : "flex-start", children: renderElement({ id: "legend" }) })] })) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: "\u2014" })) })] }))] }));
8703
8742
  });
8704
8743
 
8705
- const InnerContainerWrapper = styled.div.withConfig({ displayName: "InnerContainerWrapper", componentId: "sc-1e8iz6y" }) `
8744
+ const InnerContainerWrapper = styled.div.withConfig({ displayName: "InnerContainerWrapper", componentId: "sc-fz55gg" }) `
8706
8745
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
8707
8746
  width: ${({ column }) => (column ? "100%" : "auto")};
8708
8747
  opacity: ${({ hasAnyFilter, isFiltered }) => (isFiltered ? 1 : hasAnyFilter ? FILTERED_VALUE_OPACITY / 100 : 1)};
@@ -8773,12 +8812,12 @@ const DataSourceInnerContainer = React.memo(({ config, elementConfig, feature, m
8773
8812
  return (jsxRuntime.jsx(InnerContainerWrapper, { hasAnyFilter: hasAnyFilter, isFiltered: isFiltered(value), column: column === undefined || column, onClick: filterName ? () => onFilter(value) : undefined, children: jsxRuntime.jsx(InnerContainer, { config: config, elementConfig: elementConfig, feature: feature, maxValue: maxValue, type: type, index: index, renderElement: render }) }));
8774
8813
  });
8775
8814
 
8776
- const DataSourceProgressContainerWrapper = styled.div.withConfig({ displayName: "DataSourceProgressContainerWrapper", componentId: "sc-2lqwdl" }) `
8815
+ const DataSourceProgressContainerWrapper = styled.div.withConfig({ displayName: "DataSourceProgressContainerWrapper", componentId: "sc-1tit98s" }) `
8777
8816
  width: 100%;
8778
8817
 
8779
8818
  ${sizeCssMixin};
8780
8819
  `;
8781
- const ContainerToggler = styled(uilibGl.LegendToggler).withConfig({ displayName: "ContainerToggler", componentId: "sc-131w11e" }) `
8820
+ const ContainerToggler = styled(uilibGl.LegendToggler).withConfig({ displayName: "ContainerToggler", componentId: "sc-16vigy9" }) `
8782
8821
  width: auto;
8783
8822
  `;
8784
8823
 
@@ -8799,7 +8838,7 @@ const COLUMN_ALIGN_ITEMS = {
8799
8838
  stretch: "stretch",
8800
8839
  };
8801
8840
 
8802
- const DataSourceContainerWrapper = styled(Container).withConfig({ displayName: "DataSourceContainerWrapper", componentId: "sc-1xnd27m" }) `
8841
+ const DataSourceContainerWrapper = styled(Container).withConfig({ displayName: "DataSourceContainerWrapper", componentId: "sc-zco1l5" }) `
8803
8842
  ${({ $tileWidth }) => $tileWidth != null && `--tile-width: ${$tileWidth}px;`}
8804
8843
 
8805
8844
  ${({ $isRow, $columns, $gap, $align, $stretch }) => {
@@ -8863,48 +8902,48 @@ const DataSourceContainer = React.memo(({ config, elementConfig, type, innerComp
8863
8902
  : t("showAll", { ns: "dashboard", defaultValue: "Показать все" }) }))] })) : (jsxRuntime.jsx(ContainerLoading, {}))] }));
8864
8903
  });
8865
8904
 
8866
- const ProgressContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "ProgressContainerWrapper", componentId: "sc-1kgcr0" }) `
8905
+ const ProgressContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "ProgressContainerWrapper", componentId: "sc-13sjus5" }) `
8867
8906
  align-items: center;
8868
8907
  width: 100%;
8869
8908
  margin-bottom: 1rem;
8870
8909
  `;
8871
- const ProgressIcon = styled.div.withConfig({ displayName: "ProgressIcon", componentId: "sc-bia9mp" }) `
8910
+ const ProgressIcon = styled.div.withConfig({ displayName: "ProgressIcon", componentId: "sc-1o83ttz" }) `
8872
8911
  margin-right: 0.5rem;
8873
8912
  `;
8874
- const ProgressContent = styled(uilibGl.Flex).withConfig({ displayName: "ProgressContent", componentId: "sc-1sqnnhg" }) `
8913
+ const ProgressContent = styled(uilibGl.Flex).withConfig({ displayName: "ProgressContent", componentId: "sc-cw60zr" }) `
8875
8914
  flex: 1;
8876
8915
  flex-direction: column;
8877
8916
  `;
8878
- const ProgressAlias = styled(uilibGl.Flex).withConfig({ displayName: "ProgressAlias", componentId: "sc-1a1o4ei" }) `
8917
+ const ProgressAlias = styled(uilibGl.Flex).withConfig({ displayName: "ProgressAlias", componentId: "sc-15hcus8" }) `
8879
8918
  flex: 1;
8880
8919
  justify-content: space-between;
8881
8920
  margin-bottom: 0.25rem;
8882
8921
  font-size: 0.75rem;
8883
8922
  color: ${({ theme: { palette } }) => palette.textSecondary};
8884
8923
  `;
8885
- const ProgressValue = styled(uilibGl.Flex).withConfig({ displayName: "ProgressValue", componentId: "sc-h86q6i" }) `
8924
+ const ProgressValue = styled(uilibGl.Flex).withConfig({ displayName: "ProgressValue", componentId: "sc-q0hh04" }) `
8886
8925
  align-items: center;
8887
8926
  width: auto;
8888
8927
  font-size: 1rem;
8889
8928
  color: ${({ theme: { palette } }) => palette.textPrimary};
8890
8929
  `;
8891
- const ProgressInnerValue = styled(ProgressValue).withConfig({ displayName: "ProgressInnerValue", componentId: "sc-b0gbba" }) `
8930
+ const ProgressInnerValue = styled(ProgressValue).withConfig({ displayName: "ProgressInnerValue", componentId: "sc-137mym1" }) `
8892
8931
  justify-content: flex-end;
8893
8932
  width: 4rem;
8894
8933
  margin-left: 0.5rem;
8895
8934
  `;
8896
- const ProgressUnits = styled(uilibGl.Flex).withConfig({ displayName: "ProgressUnits", componentId: "sc-woete3" }) `
8935
+ const ProgressUnits = styled(uilibGl.Flex).withConfig({ displayName: "ProgressUnits", componentId: "sc-15muzs7" }) `
8897
8936
  margin-left: 0.25rem;
8898
8937
  font-size: 0.75rem;
8899
8938
  color: ${({ theme: { palette } }) => palette.textSecondary};
8900
8939
  `;
8901
- const ProgressBarWrapper = styled.div.withConfig({ displayName: "ProgressBarWrapper", componentId: "sc-1a8amew" }) `
8940
+ const ProgressBarWrapper = styled.div.withConfig({ displayName: "ProgressBarWrapper", componentId: "sc-11l4dmi" }) `
8902
8941
  flex-grow: 1;
8903
8942
  height: 0.5rem;
8904
8943
  background-color: ${({ theme: { palette } }) => palette.element};
8905
8944
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
8906
8945
  `;
8907
- const ProgressBarContainer = styled(uilibGl.Flex).withConfig({ displayName: "ProgressBarContainer", componentId: "sc-3xokll" }) `
8946
+ const ProgressBarContainer = styled(uilibGl.Flex).withConfig({ displayName: "ProgressBarContainer", componentId: "sc-1haymqy" }) `
8908
8947
  position: relative;
8909
8948
  align-items: center;
8910
8949
  width: 100%;
@@ -8922,19 +8961,19 @@ const ProgressBarContainer = styled(uilibGl.Flex).withConfig({ displayName: "Pro
8922
8961
  }
8923
8962
  `}
8924
8963
  `;
8925
- const ProgressBar = styled.div.withConfig({ displayName: "ProgressBar", componentId: "sc-1h6somp" }) `
8964
+ const ProgressBar = styled.div.withConfig({ displayName: "ProgressBar", componentId: "sc-1hwetk4" }) `
8926
8965
  width: ${({ $width }) => $width};
8927
8966
  height: inherit;
8928
8967
  background-color: ${({ $color }) => $color || "#a7d759"};
8929
8968
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.xSmall};
8930
8969
  `;
8931
- const ProgressTooltipAlias = styled.div.withConfig({ displayName: "ProgressTooltipAlias", componentId: "sc-5bwgmr" }) `
8970
+ const ProgressTooltipAlias = styled.div.withConfig({ displayName: "ProgressTooltipAlias", componentId: "sc-uv06va" }) `
8932
8971
  margin-bottom: 0.25rem;
8933
8972
  text-align: left;
8934
8973
  color: ${({ theme: { palette } }) => palette.primary};
8935
8974
  `;
8936
- const ProgressTooltipValue = styled.div.withConfig({ displayName: "ProgressTooltipValue", componentId: "sc-1jqezwj" }) ``;
8937
- const ProgressTooltipValueContainer = styled(uilibGl.Flex).withConfig({ displayName: "ProgressTooltipValueContainer", componentId: "sc-1bb9y2" }) `
8975
+ const ProgressTooltipValue = styled.div.withConfig({ displayName: "ProgressTooltipValue", componentId: "sc-17dllji" }) ``;
8976
+ const ProgressTooltipValueContainer = styled(uilibGl.Flex).withConfig({ displayName: "ProgressTooltipValueContainer", componentId: "sc-t31e0z" }) `
8938
8977
  align-items: center;
8939
8978
 
8940
8979
  > * {
@@ -8945,14 +8984,14 @@ const ProgressTooltipValueContainer = styled(uilibGl.Flex).withConfig({ displayN
8945
8984
  opacity: 1;
8946
8985
  }
8947
8986
  `;
8948
- const ProgressTooltipValueOf = styled.div.withConfig({ displayName: "ProgressTooltipValueOf", componentId: "sc-ybuzqz" }) `
8987
+ const ProgressTooltipValueOf = styled.div.withConfig({ displayName: "ProgressTooltipValueOf", componentId: "sc-xssdyx" }) `
8949
8988
  margin: 0 0.25rem;
8950
8989
  `;
8951
- const ProgressTotalTitle = styled.div.withConfig({ displayName: "ProgressTotalTitle", componentId: "sc-1km4jed" }) `
8990
+ const ProgressTotalTitle = styled.div.withConfig({ displayName: "ProgressTotalTitle", componentId: "sc-a16oh1" }) `
8952
8991
  font-size: 0.75rem;
8953
8992
  font-weight: bold;
8954
8993
  `;
8955
- const ProgressTotal = styled(uilibGl.Flex).withConfig({ displayName: "ProgressTotal", componentId: "sc-8kzfdx" }) `
8994
+ const ProgressTotal = styled(uilibGl.Flex).withConfig({ displayName: "ProgressTotal", componentId: "sc-1e1daaj" }) `
8956
8995
  align-items: center;
8957
8996
  justify-content: space-between;
8958
8997
  margin-top: 1rem;
@@ -9013,7 +9052,7 @@ const DefaultAttributesContainer = React.memo(({ type, renderElement }) => {
9013
9052
  return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: attributes?.map(({ attributeName }) => (jsxRuntime.jsx(Container, { isColumn: true, children: renderElement({ id: attributeName }) }, attributeName))) }));
9014
9053
  });
9015
9054
 
9016
- const ContainerDivider = styled(uilibGl.Divider).withConfig({ displayName: "ContainerDivider", componentId: "sc-1bibsa0" }) `
9055
+ const ContainerDivider = styled(uilibGl.Divider).withConfig({ displayName: "ContainerDivider", componentId: "sc-4xppnj" }) `
9017
9056
  width: 100%;
9018
9057
  border-color: ${({ theme: { palette }, $bgColor }) => $bgColor || palette.elementDeep};
9019
9058
  `;
@@ -9039,7 +9078,7 @@ const DEFAULT_BAR_CHART_MARGINS = {
9039
9078
  right: 0,
9040
9079
  };
9041
9080
 
9042
- const FiltersContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "FiltersContainerWrapper", componentId: "sc-99hw6f" }) `
9081
+ const FiltersContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "FiltersContainerWrapper", componentId: "sc-1v2jo4l" }) `
9043
9082
  flex-direction: column;
9044
9083
  padding: ${({ $padding }) => $padding ?? `${DEFAULT_FILTER_PADDING}px`};
9045
9084
  background-color: ${({ $bgColor, $fontColor, theme: { palette } }) => $bgColor || ($fontColor ? transparentizeColor($fontColor, 6) : palette.element)};
@@ -9076,7 +9115,7 @@ const FiltersContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "
9076
9115
 
9077
9116
  ${sizeCssMixin};
9078
9117
  `;
9079
- const StyledIconButton = styled(uilibGl.IconButton).withConfig({ displayName: "StyledIconButton", componentId: "sc-9pdkmo" }) `
9118
+ const StyledIconButton = styled(uilibGl.IconButton).withConfig({ displayName: "StyledIconButton", componentId: "sc-1cq8zf" }) `
9080
9119
  width: 0.75rem;
9081
9120
  height: 0.75rem;
9082
9121
 
@@ -9095,14 +9134,14 @@ const StyledIconButton = styled(uilibGl.IconButton).withConfig({ displayName: "S
9095
9134
  * `width: 100%` резолвится относительно обёртки, ширина которой определяется контентом, —
9096
9135
  * и фильтр встаёт уже соседних. Растягиваем обёртку принудительно.
9097
9136
  */
9098
- const TreeFilterContainer = styled.div.withConfig({ displayName: "TreeFilterContainer", componentId: "sc-1vmslon" }) `
9137
+ const TreeFilterContainer = styled.div.withConfig({ displayName: "TreeFilterContainer", componentId: "sc-9t61eh" }) `
9099
9138
  width: 100%;
9100
9139
 
9101
9140
  > * {
9102
9141
  width: 100%;
9103
9142
  }
9104
9143
  `;
9105
- const TextFilterContainer = styled.div.withConfig({ displayName: "TextFilterContainer", componentId: "sc-1sap75y" }) `
9144
+ const TextFilterContainer = styled.div.withConfig({ displayName: "TextFilterContainer", componentId: "sc-1tynpvc" }) `
9106
9145
  /* Ширину задаёт контейнер фильтров. Раньше здесь стояли жёсткие 15.85rem, из-за чего
9107
9146
  текстовый фильтр вставал уже соседних. */
9108
9147
  width: 100%;
@@ -9117,7 +9156,7 @@ const TextFilterContainer = styled.div.withConfig({ displayName: "TextFilterCont
9117
9156
  }
9118
9157
  }
9119
9158
  `;
9120
- const BarChartContainer = styled.div.withConfig({ displayName: "BarChartContainer", componentId: "sc-g2749m" }) `
9159
+ const BarChartContainer = styled.div.withConfig({ displayName: "BarChartContainer", componentId: "sc-122y3rq" }) `
9121
9160
  width: 100%;
9122
9161
  overflow-x: hidden;
9123
9162
 
@@ -9129,7 +9168,7 @@ const BarChartContainer = styled.div.withConfig({ displayName: "BarChartContaine
9129
9168
  }
9130
9169
  `}
9131
9170
  `;
9132
- const AnyChartWrapper = styled.div.withConfig({ displayName: "AnyChartWrapper", componentId: "sc-tkz57f" }) `
9171
+ const AnyChartWrapper = styled.div.withConfig({ displayName: "AnyChartWrapper", componentId: "sc-1hsamkn" }) `
9133
9172
  width: 100%;
9134
9173
  height: ${({ height }) => height}px;
9135
9174
 
@@ -9142,7 +9181,7 @@ const AnyChartWrapper = styled.div.withConfig({ displayName: "AnyChartWrapper",
9142
9181
  min-height: 0;
9143
9182
  `}
9144
9183
  `;
9145
- const BarChartWrapper = styled(AnyChartWrapper).withConfig({ displayName: "BarChartWrapper", componentId: "sc-j2pq7s" }) `
9184
+ const BarChartWrapper = styled(AnyChartWrapper).withConfig({ displayName: "BarChartWrapper", componentId: "sc-yydfmv" }) `
9146
9185
  width: 100%;
9147
9186
  margin: 0 auto ${BAR_CHART_FOOTER_MARGIN}px;
9148
9187
 
@@ -9152,13 +9191,13 @@ const BarChartWrapper = styled(AnyChartWrapper).withConfig({ displayName: "BarCh
9152
9191
  }
9153
9192
  }
9154
9193
  `;
9155
- const BarChartFilterHeader = styled(uilibGl.Flex).withConfig({ displayName: "BarChartFilterHeader", componentId: "sc-1bpjlze" }) `
9194
+ const BarChartFilterHeader = styled(uilibGl.Flex).withConfig({ displayName: "BarChartFilterHeader", componentId: "sc-1g57sl3" }) `
9156
9195
  justify-content: space-between;
9157
9196
  align-items: center;
9158
9197
  height: ${({ height }) => `calc(${typeof height === "number" ? `${height}px` : height} - 0.5rem)`};
9159
9198
  padding: 0.25rem 0;
9160
9199
  `;
9161
- const BarChartFilterArrows = styled(uilibGl.Flex).withConfig({ displayName: "BarChartFilterArrows", componentId: "sc-1az6izo" }) `
9200
+ const BarChartFilterArrows = styled(uilibGl.Flex).withConfig({ displayName: "BarChartFilterArrows", componentId: "sc-nxd5i8" }) `
9162
9201
  /* Ширина по контенту (двум стрелкам), а не 100%. Flex из uilib навязывает width: 100%,
9163
9202
  из-за чего контейнер стрелок занимал всю шапку: справа зияла пустота, а текст выбранного
9164
9203
  диапазона (BarChartFilterSelected) не мог уйти вправо через space-between шапки. */
@@ -9175,15 +9214,15 @@ const BarChartFilterArrows = styled(uilibGl.Flex).withConfig({ displayName: "Bar
9175
9214
  }
9176
9215
  }
9177
9216
  `;
9178
- const BarChartFilterSelected = styled.div.withConfig({ displayName: "BarChartFilterSelected", componentId: "sc-bz2mzl" }) `
9217
+ const BarChartFilterSelected = styled.div.withConfig({ displayName: "BarChartFilterSelected", componentId: "sc-mmyp3w" }) `
9179
9218
  font-size: 0.75rem;
9180
9219
  font-weight: bold;
9181
9220
  color: ${({ theme: { palette } }) => palette.textPrimary};
9182
9221
  `;
9183
- styled.div.withConfig({ displayName: "NumberRangeSliderContainer", componentId: "sc-stdq6d" }) `
9222
+ styled.div.withConfig({ displayName: "NumberRangeSliderContainer", componentId: "sc-1ctavc0" }) `
9184
9223
  color: ${({ theme: { palette } }) => palette.textSecondary};
9185
9224
  `;
9186
- const BarChart = styled(charts.BarChart).withConfig({ displayName: "BarChart", componentId: "sc-uboo4p" }) `
9225
+ const BarChart = styled(charts.BarChart).withConfig({ displayName: "BarChart", componentId: "sc-rk7fxs" }) `
9187
9226
  .${charts.barChartClassNames.barChartXAxis} {
9188
9227
  .domain,
9189
9228
  line {
@@ -9209,7 +9248,7 @@ const BarChart = styled(charts.BarChart).withConfig({ displayName: "BarChart", c
9209
9248
  font-size: 12px;
9210
9249
  }
9211
9250
  `;
9212
- const TooltipContainer = styled.div.withConfig({ displayName: "TooltipContainer", componentId: "sc-jd96o5" }) `
9251
+ const TooltipContainer = styled.div.withConfig({ displayName: "TooltipContainer", componentId: "sc-pq9jq4" }) `
9213
9252
  position: relative;
9214
9253
  font-size: 0.75rem;
9215
9254
  color: #ffffff;
@@ -9413,7 +9452,7 @@ const handleOffset = `calc(-1 * (var(--grid-gap, 0px) + ${HANDLE_BLEED_PX}px))`;
9413
9452
  * раскладку ни на пиксель. Сам ползунок (`::after`) появляется только при наведении и во время
9414
9453
  * перетаскивания — в покое сетка выглядит как обычно.
9415
9454
  */
9416
- const ResizeHandle = styled.div.withConfig({ displayName: "ResizeHandle", componentId: "sc-1h8ahog" }) `
9455
+ const ResizeHandle = styled.div.withConfig({ displayName: "ResizeHandle", componentId: "sc-6tppdg" }) `
9417
9456
  position: absolute;
9418
9457
  z-index: 3;
9419
9458
  touch-action: none;
@@ -9718,7 +9757,7 @@ const GridResizer = React.memo(({ axis, index, sizes, getGrid, onCommit }) => {
9718
9757
  * ровно то, что нужно, а попытка их перебить упёрлась бы в равную специфичность с `$sizeCss`
9719
9758
  * самой ячейки.
9720
9759
  */
9721
- const GridBody = styled(Container).withConfig({ displayName: "GridBody", componentId: "sc-114bds8" }) `
9760
+ const GridBody = styled(Container).withConfig({ displayName: "GridBody", componentId: "sc-13zydwl" }) `
9722
9761
  && {
9723
9762
  display: grid;
9724
9763
  align-items: stretch;
@@ -9753,7 +9792,7 @@ const GridBody = styled(Container).withConfig({ displayName: "GridBody", compone
9753
9792
  * обёртки пропавший узел утащил бы всю сетку на трек влево. Во-вторых, даёт систему координат
9754
9793
  * (`position: relative`) для ручки ресайза, лежащей в зазоре.
9755
9794
  */
9756
- const GridTrackBox = styled.div.withConfig({ displayName: "GridTrackBox", componentId: "sc-1xc3z81" }) `
9795
+ const GridTrackBox = styled.div.withConfig({ displayName: "GridTrackBox", componentId: "sc-1k9jkql" }) `
9757
9796
  position: relative;
9758
9797
  display: flex;
9759
9798
  flex-direction: column;
@@ -9817,7 +9856,7 @@ const GridTrackBox = styled.div.withConfig({ displayName: "GridTrackBox", compon
9817
9856
  * намеренно выходят за границы трека на `HANDLE_BLEED_PX` — скролл-контейнер срезал бы им
9818
9857
  * половину зоны захвата.
9819
9858
  */
9820
- const GridTrackContent = styled.div.withConfig({ displayName: "GridTrackContent", componentId: "sc-y0wvgp" }) `
9859
+ const GridTrackContent = styled.div.withConfig({ displayName: "GridTrackContent", componentId: "sc-14clv7u" }) `
9821
9860
  display: flex;
9822
9861
  flex-direction: column;
9823
9862
  flex: 1 1 auto;
@@ -10026,8 +10065,9 @@ const GridTracks = React.memo(({ node, axis, renderElement, body, gap }) => {
10026
10065
  const handleResizeCommit = React.useCallback((index, next) => edit?.commitResize(node.id, index, next, axis), [axis, edit, node.id]);
10027
10066
  const handleHeightCommit = React.useCallback((height, next) => edit?.commitHeight(height, next), [edit]);
10028
10067
  // Нижнюю границу тянет только корневая сетка сессии: у вложенной снизу лежит трек чужой
10029
- // раскладки, и её высотой распоряжается родитель.
10030
- const outerSizes = React.useMemo(() => (axis === "row" && edit?.draft.id === node.id ? sizes : undefined), [axis, edit?.draft.id, node.id, sizes]);
10068
+ // раскладки, и её высотой распоряжается родитель. `fixedHeight` убирает ручку и у корневой —
10069
+ // когда высотой сетки распоряжается внешняя раскладка (панель фиксированного экрана, док).
10070
+ const outerSizes = React.useMemo(() => (axis === "row" && edit?.draft.id === node.id && !node.options?.fixedHeight ? sizes : undefined), [axis, edit?.draft.id, node.id, node.options?.fixedHeight, sizes]);
10031
10071
  return (jsxRuntime.jsx(GridBody, { ...body, ref: gridRef, isColumn: true, "$template": template, "$axis": axis, "$gap": gap ?? DEFAULT_GRID_GAP, children: items.map((item, index) => (jsxRuntime.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))) }));
10032
10072
  });
10033
10073
 
@@ -10046,7 +10086,7 @@ const GridRowContainer = React.memo(({ elementConfig, renderElement }) => {
10046
10086
  return (jsxRuntime.jsx(ContainerRoot, { ...root, children: jsxRuntime.jsx(GridTracks, { node: elementConfig, axis: "column", body: body, gap: gap, renderElement: renderElement }) }));
10047
10087
  });
10048
10088
 
10049
- const IconContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerWrapper", componentId: "sc-4s3j6v" }) `
10089
+ const IconContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerWrapper", componentId: "sc-1bixfja" }) `
10050
10090
  flex-direction: column;
10051
10091
  justify-content: center;
10052
10092
  position: relative;
@@ -10055,14 +10095,14 @@ const IconContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "Ico
10055
10095
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
10056
10096
  overflow: hidden;
10057
10097
  `;
10058
- const IconContainerHeaderWrapper = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerHeaderWrapper", componentId: "sc-shr2bi" }) `
10098
+ const IconContainerHeaderWrapper = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerHeaderWrapper", componentId: "sc-1r455o7" }) `
10059
10099
  justify-content: space-between;
10060
10100
  align-items: center;
10061
10101
  flex-wrap: nowrap;
10062
10102
  width: 100%;
10063
10103
  margin-bottom: 0.25rem;
10064
10104
  `;
10065
- const IconContainerHeader = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerHeader", componentId: "sc-14wjnwd" }) `
10105
+ const IconContainerHeader = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerHeader", componentId: "sc-leywfp" }) `
10066
10106
  align-items: center;
10067
10107
  flex-wrap: nowrap;
10068
10108
  width: 100%;
@@ -10078,7 +10118,7 @@ const IconContainerHeader = styled(uilibGl.Flex).withConfig({ displayName: "Icon
10078
10118
  }
10079
10119
  }
10080
10120
  `;
10081
- const IconContainerTitle = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerTitle", componentId: "sc-198xstg" }) `
10121
+ const IconContainerTitle = styled(uilibGl.Flex).withConfig({ displayName: "IconContainerTitle", componentId: "sc-3qf191" }) `
10082
10122
  > * {
10083
10123
  width: 13rem;
10084
10124
  white-space: nowrap;
@@ -10087,7 +10127,7 @@ const IconContainerTitle = styled(uilibGl.Flex).withConfig({ displayName: "IconC
10087
10127
  text-overflow: ellipsis;
10088
10128
  }
10089
10129
  `;
10090
- const IconContainerText = styled.div.withConfig({ displayName: "IconContainerText", componentId: "sc-1n5fvha" }) `
10130
+ const IconContainerText = styled.div.withConfig({ displayName: "IconContainerText", componentId: "sc-1llodu9" }) `
10091
10131
  width: 100%;
10092
10132
  overflow-wrap: break-word;
10093
10133
  font-size: 0.75rem;
@@ -10099,7 +10139,7 @@ const IconContainer = React.memo(({ elementConfig, renderElement }) => {
10099
10139
  return (jsxRuntime.jsxs(IconContainerWrapper, { id: id, style: style, children: [jsxRuntime.jsxs(IconContainerHeaderWrapper, { children: [jsxRuntime.jsxs(IconContainerHeader, { children: [renderElement({ id: "icon" }), jsxRuntime.jsx(IconContainerTitle, { children: renderElement({ id: "alias" }) })] }), renderElement({ id: "link" })] }), jsxRuntime.jsx(IconContainerText, { children: renderElement({ id: "text" }) })] }));
10100
10140
  });
10101
10141
 
10102
- const ImageContainerBg$1 = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-wflv8g" }) `
10142
+ const ImageContainerBg$1 = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-13tu1jt" }) `
10103
10143
  position: absolute;
10104
10144
  top: 0;
10105
10145
  bottom: 0;
@@ -10113,19 +10153,19 @@ const ImageContainerBg$1 = styled.div.withConfig({ displayName: "ImageContainerB
10113
10153
  object-fit: cover;
10114
10154
  }
10115
10155
  `;
10116
- const ImageContainerTitle = styled.div.withConfig({ displayName: "ImageContainerTitle", componentId: "sc-16m98j4" }) `
10156
+ const ImageContainerTitle = styled.div.withConfig({ displayName: "ImageContainerTitle", componentId: "sc-bjjamv" }) `
10117
10157
  width: 100%;
10118
10158
  overflow-wrap: break-word;
10119
10159
  font-size: 1rem;
10120
10160
  font-weight: 500;
10121
10161
  `;
10122
- const ImageContainerText = styled.div.withConfig({ displayName: "ImageContainerText", componentId: "sc-1a5nnh4" }) `
10162
+ const ImageContainerText = styled.div.withConfig({ displayName: "ImageContainerText", componentId: "sc-rc10ba" }) `
10123
10163
  width: 100%;
10124
10164
  overflow-wrap: break-word;
10125
10165
  margin-top: 0.5rem;
10126
10166
  font-size: 0.75rem;
10127
10167
  `;
10128
- const ImageContainerButton$1 = styled(uilibGl.FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-1dij1tx" }) `
10168
+ const ImageContainerButton$1 = styled(uilibGl.FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-1rrze46" }) `
10129
10169
  min-height: 1.5rem;
10130
10170
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
10131
10171
  background-color: ${({ theme: { palette } }) => palette.primary};
@@ -10135,7 +10175,7 @@ const ImageContainerButton$1 = styled(uilibGl.FlatButton).withConfig({ displayNa
10135
10175
  background-color: ${({ theme: { palette } }) => palette.primaryDeep};
10136
10176
  }
10137
10177
  `;
10138
- const ImageContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "ImageContainerWrapper", componentId: "sc-33dw2w" }) `
10178
+ const ImageContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "ImageContainerWrapper", componentId: "sc-1pmw2ik" }) `
10139
10179
  flex-direction: column;
10140
10180
  justify-content: flex-end;
10141
10181
  position: relative;
@@ -10159,6 +10199,7 @@ const ImageContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "Im
10159
10199
  }
10160
10200
 
10161
10201
  ${sizeCssMixin};
10202
+ ${noMarginMixin};
10162
10203
  `;
10163
10204
 
10164
10205
  const ImageContainer = React.memo(({ elementConfig, renderElement }) => {
@@ -10166,7 +10207,7 @@ const ImageContainer = React.memo(({ elementConfig, renderElement }) => {
10166
10207
  return (jsxRuntime.jsxs(ImageContainerWrapper, { ...root, children: [jsxRuntime.jsx(ImageContainerTitle, { children: renderElement({ id: "alias" }) }), jsxRuntime.jsx(ImageContainerText, { children: renderElement({ id: "text" }) }), renderElement({ id: "button" }), jsxRuntime.jsx(ImageContainerBg$1, { children: renderElement({ id: "image" }) })] }));
10167
10208
  });
10168
10209
 
10169
- const LayersContainerWrapper = styled(Container).withConfig({ displayName: "LayersContainerWrapper", componentId: "sc-3plfqm" }) `
10210
+ const LayersContainerWrapper = styled(Container).withConfig({ displayName: "LayersContainerWrapper", componentId: "sc-10rok3p" }) `
10170
10211
  ${uilibGl.DraggableTreeContainer} {
10171
10212
  width: calc(100% + 3rem);
10172
10213
  margin: -0.75rem -1.5rem 0;
@@ -10375,19 +10416,19 @@ const StyledSvgColorMixin = styled.css `
10375
10416
  }
10376
10417
  }
10377
10418
  `;
10378
- const StyledSvg = styled(uilibGl.Flex).withConfig({ displayName: "StyledSvg", componentId: "sc-ixieto" }) `
10419
+ const StyledSvg = styled(uilibGl.Flex).withConfig({ displayName: "StyledSvg", componentId: "sc-iasyki" }) `
10379
10420
  align-items: center;
10380
10421
  ${({ $width }) => !!$width && StyledSvgWidthMixin};
10381
10422
  ${({ $height }) => !!$height && StyledSvgHeightMixin};
10382
10423
  ${({ $fontColor }) => !!$fontColor && StyledSvgColorMixin};
10383
10424
  `;
10384
10425
 
10385
- const ContainerIconValue = styled(uilibGl.Flex).withConfig({ displayName: "ContainerIconValue", componentId: "sc-a471md" }) ``;
10426
+ const ContainerIconValue = styled(uilibGl.Flex).withConfig({ displayName: "ContainerIconValue", componentId: "sc-1ij0wc5" }) ``;
10386
10427
  /**
10387
10428
  * Обёртка иконки плитки. Собственный styled нужен, чтобы до иконки можно было дотянуться стилями:
10388
10429
  * сам элемент рисуют ElementIcon/ElementSvg своими компонентами, а обёртка принадлежит контейнеру.
10389
10430
  */
10390
- const ContainerIconWrapper = styled(uilibGl.FlexSpan).withConfig({ displayName: "ContainerIconWrapper", componentId: "sc-tztnap" }) ``;
10431
+ const ContainerIconWrapper = styled(uilibGl.FlexSpan).withConfig({ displayName: "ContainerIconWrapper", componentId: "sc-okpkob" }) ``;
10391
10432
  /** Размер иконки-водяного знака в режиме `bigIcon`. */
10392
10433
  const BIG_ICON_SIZE = "3rem";
10393
10434
  /** Доля цвета-источника в тонированном фоне плитки, %. */
@@ -10424,7 +10465,7 @@ const IconColorMixin = styled.css `
10424
10465
  }
10425
10466
  `};
10426
10467
  `;
10427
- const RoundedBackgroundContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "RoundedBackgroundContainerWrapper", componentId: "sc-20q78q" }) `
10468
+ const RoundedBackgroundContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "RoundedBackgroundContainerWrapper", componentId: "sc-1gekg94" }) `
10428
10469
  position: relative;
10429
10470
  flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
10430
10471
  width: ${({ $fillWidth }) => ($fillWidth ? "var(--tile-width, 100%)" : "9rem")};
@@ -10659,12 +10700,12 @@ const SlideshowContainer = React.memo(({ config, elementConfig, type }) => {
10659
10700
  }) })] }))] }));
10660
10701
  });
10661
10702
 
10662
- const TabAnchor = styled.div.withConfig({ displayName: "TabAnchor", componentId: "sc-1tc6t5f" }) `
10703
+ const TabAnchor = styled.div.withConfig({ displayName: "TabAnchor", componentId: "sc-q8hzso" }) `
10663
10704
  position: absolute;
10664
10705
  top: -1.5rem;
10665
10706
  right: 0;
10666
10707
  `;
10667
- const TabValue = styled(uilibGl.Flex).withConfig({ displayName: "TabValue", componentId: "sc-xnc3bx" }) `
10708
+ const TabValue = styled(uilibGl.Flex).withConfig({ displayName: "TabValue", componentId: "sc-1m10f2x" }) `
10668
10709
  flex-wrap: nowrap;
10669
10710
  `;
10670
10711
  const noBgMixin = styled.css `
@@ -10690,7 +10731,7 @@ const noBgMixin = styled.css `
10690
10731
  margin-right: 0;
10691
10732
  }
10692
10733
  `;
10693
- const TabContainer = styled.a.withConfig({ displayName: "TabContainer", componentId: "sc-d48ilh" }) `
10734
+ const TabContainer = styled.a.withConfig({ displayName: "TabContainer", componentId: "sc-4z76if" }) `
10694
10735
  display: flex;
10695
10736
  flex-direction: ${({ column }) => (column ? "column" : "row")};
10696
10737
  align-items: center;
@@ -10729,7 +10770,7 @@ const TabContainer = styled.a.withConfig({ displayName: "TabContainer", componen
10729
10770
 
10730
10771
  ${({ noBg }) => noBg && noBgMixin};
10731
10772
  `;
10732
- const SwiperContainer = styled.div.withConfig({ displayName: "SwiperContainer", componentId: "sc-g1qfvm" }) `
10773
+ const SwiperContainer = styled.div.withConfig({ displayName: "SwiperContainer", componentId: "sc-dmlhc6" }) `
10733
10774
  width: 100%;
10734
10775
 
10735
10776
  .swiper-wrapper {
@@ -10768,7 +10809,7 @@ const SvgContainerColorMixin = styled.css `
10768
10809
  fill: ${({ $fontColor }) => $fontColor};
10769
10810
  }
10770
10811
  `;
10771
- const SvgContainer = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-1ak4j6i" }) `
10812
+ const SvgContainer = styled.div.withConfig({ displayName: "SvgContainer", componentId: "sc-11ikqpf" }) `
10772
10813
  &&& {
10773
10814
  min-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
10774
10815
  max-width: ${({ $width }) => ($width ? `${$width}px` : "1rem")};
@@ -10787,7 +10828,7 @@ const ALIGN_TO_JUSTIFY = {
10787
10828
  right: "flex-end",
10788
10829
  stretch: "flex-start",
10789
10830
  };
10790
- const ContainerIconTitle = styled(uilibGl.Flex).withConfig({ displayName: "ContainerIconTitle", componentId: "sc-1jfnkqo" }) `
10831
+ const ContainerIconTitle = styled(uilibGl.Flex).withConfig({ displayName: "ContainerIconTitle", componentId: "sc-1af06a4" }) `
10791
10832
  /* inline-flex, а не блочный flex во всю ширину: иначе text-align родителя игнорируется. */
10792
10833
  display: inline-flex;
10793
10834
  align-items: center;
@@ -10843,7 +10884,7 @@ const ContainerIconTitle = styled(uilibGl.Flex).withConfig({ displayName: "Conta
10843
10884
  }
10844
10885
  }
10845
10886
  `;
10846
- const ContainerTitle = styled(uilibGl.Flex).withConfig({ displayName: "ContainerTitle", componentId: "sc-26sf60" }) `
10887
+ const ContainerTitle = styled(uilibGl.Flex).withConfig({ displayName: "ContainerTitle", componentId: "sc-1vf08go" }) `
10847
10888
  align-items: center;
10848
10889
  justify-content: space-between;
10849
10890
  width: 100%;
@@ -10919,13 +10960,13 @@ const TwoColumnContainer = React.memo(({ elementConfig, type, renderElement }) =
10919
10960
  return attributesToRender ? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: attributesToRender.map(renderContainer) })) : (renderContainer());
10920
10961
  });
10921
10962
 
10922
- const UploadContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "UploadContainerWrapper", componentId: "sc-5rpf8b" }) `
10963
+ const UploadContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "UploadContainerWrapper", componentId: "sc-5bg2we" }) `
10923
10964
  flex-direction: column;
10924
10965
  width: 100%;
10925
10966
 
10926
10967
  ${sizeCssMixin};
10927
10968
  `;
10928
- const UploaderContainer = styled(Container).withConfig({ displayName: "UploaderContainer", componentId: "sc-1h06uhl" }) `
10969
+ const UploaderContainer = styled(Container).withConfig({ displayName: "UploaderContainer", componentId: "sc-eongvj" }) `
10929
10970
  ${uilibGl.UploaderItemArea} {
10930
10971
  overflow: visible;
10931
10972
  padding-top: 1rem;
@@ -11484,15 +11525,21 @@ const useGridSelection = () => {
11484
11525
  * Черновик отличается структурой от конфига, пришедшего сверху, поэтому `renderElement` из пропсов
11485
11526
  * здесь не годится — он замкнут на исходный узел и не найдёт ячейки, созданные split/add. Вместо
11486
11527
  * него строится собственный, замкнутый на черновик; всё дерево ниже получает его по цепочке
11487
- * рекурсии `getRenderElement`.
11528
+ * рекурсии `getRenderElement`. Хост с собственным реестром содержимого отдаёт вместо этого
11529
+ * фабрику `createRenderElement` — она получает черновик и строит рендер по нему.
11488
11530
  */
11489
- const GridEditSession = ({ elementConfig, type = exports.WidgetType.Dashboard, onChange, }) => {
11531
+ const GridEditSession = ({ elementConfig, type = exports.WidgetType.Dashboard, onChange, createRenderElement, onGridSelectionChange, }) => {
11490
11532
  const { draft, applyAction, commitResize, commitHeight } = useGridDraft({ node: elementConfig, type, onChange });
11491
11533
  const { selectedIds, selectCell, clearSelection } = useGridSelection();
11492
11534
  const { beginDrag, consumeDragClick } = useGridCellSwap({ draft, applyAction });
11493
11535
  const [menuPosition, setMenuPosition] = React.useState(null);
11494
- const renderElement = useRenderElement(type, draft);
11536
+ // Штатный рендер строится всегда: хостовая фабрика опциональна, а порядок хуков — нет.
11537
+ const defaultRenderElement = useRenderElement(type, draft);
11538
+ const renderElement = React.useMemo(() => (createRenderElement ? createRenderElement(draft) : defaultRenderElement), [createRenderElement, defaultRenderElement, draft]);
11495
11539
  const menuState = React.useMemo(() => getGridMenuState(draft, selectedIds), [draft, selectedIds]);
11540
+ React.useEffect(() => {
11541
+ onGridSelectionChange?.(selectedIds);
11542
+ }, [onGridSelectionChange, selectedIds]);
11496
11543
  const openMenu = React.useCallback((position) => setMenuPosition(position), []);
11497
11544
  const closeMenu = React.useCallback(() => setMenuPosition(null), []);
11498
11545
  const value = React.useMemo(() => ({
@@ -11558,7 +11605,7 @@ const ExportPdfContainer = React.memo(({ type, elementConfig }) => {
11558
11605
  return (jsxRuntime.jsx(Container, { id: id, style: style, children: jsxRuntime.jsx(uilibGl.IconButton, { kind: icon || "download", primary: true, disabled: loading, onClick: onExport, children: title ?? t("downloadPdf", { ns: "dashboard", defaultValue: "Скачать PDF" }) }) }));
11559
11606
  });
11560
11607
 
11561
- const StatusBadge = styled(uilibGl.Chip).withConfig({ displayName: "StatusBadge", componentId: "sc-1io3oj7" }) `
11608
+ const StatusBadge = styled(uilibGl.Chip).withConfig({ displayName: "StatusBadge", componentId: "sc-1awp1ud" }) `
11562
11609
  background-color: ${({ bgColor }) => bgColor};
11563
11610
  color: ${({ theme }) => theme.palette.iconContrast};
11564
11611
  `;
@@ -11612,7 +11659,7 @@ exports.EditGeometryType = void 0;
11612
11659
  EditGeometryType["Raster"] = "raster";
11613
11660
  })(exports.EditGeometryType || (exports.EditGeometryType = {}));
11614
11661
 
11615
- const StyledButton = styled(uilibGl.FlatButton).withConfig({ displayName: "StyledButton", componentId: "sc-13r9ztd" }) `
11662
+ const StyledButton = styled(uilibGl.FlatButton).withConfig({ displayName: "StyledButton", componentId: "sc-109g429" }) `
11616
11663
  display: flex;
11617
11664
  align-items: center;
11618
11665
 
@@ -11645,7 +11692,7 @@ const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWai
11645
11692
  return (jsxRuntime.jsx(uilibGl.ThemeProvider, { theme: uilibGl.darkTheme, children: jsxRuntime.jsxs(StyledButton, { status: status, statusColors: statusColors, disabled: isDisabled, themeName: themeName, onClick: onClick, children: [renderIcon, renderTitle] }) }));
11646
11693
  };
11647
11694
 
11648
- const TaskContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "TaskContainerWrapper", componentId: "sc-1mojbfp" }) `
11695
+ const TaskContainerWrapper = styled(uilibGl.Flex).withConfig({ displayName: "TaskContainerWrapper", componentId: "sc-1e2luim" }) `
11649
11696
  ${sizeCssMixin};
11650
11697
  `;
11651
11698
 
@@ -11665,7 +11712,7 @@ const buildFiltersFromResponse = (responseFilters, result) => {
11665
11712
  return Object.keys(filters).length ? filters : null;
11666
11713
  };
11667
11714
 
11668
- const ClampedText$1 = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-138git7" }) `
11715
+ const ClampedText$1 = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-1488s77" }) `
11669
11716
  display: -webkit-box;
11670
11717
  -webkit-line-clamp: 2;
11671
11718
  -webkit-box-orient: vertical;
@@ -11951,7 +11998,7 @@ const EditDropdownContainer = ({ type, elementConfig, renderElement, }) => {
11951
11998
  return (jsxRuntime.jsxs(Container, { id: id, isColumn: true, style: { ...BASE_CONTAINER_STYLE, ...style }, children: [jsxRuntime.jsxs(ContainerAlias, { hasBottomMargin: true, children: [renderElement({ id: "alias" }), renderElement({ id: "tooltip" })] }), jsxRuntime.jsx(ContainerValue, { column: true, children: jsxRuntime.jsx(uilibGl.Dropdown, { zIndex: 1000, label: control?.label, placeholder: control?.placeholder, options: optionsList, value: value, width: `${control?.width ?? DEFAULT_DROPDOWN_WIDTH}px`, onChange: ([option]) => onChange(option.value) }) })] }));
11952
11999
  };
11953
12000
 
11954
- const CheckboxWrapper = styled(ContainerValue).withConfig({ displayName: "CheckboxWrapper", componentId: "sc-opt80z" }) `
12001
+ const CheckboxWrapper = styled(ContainerValue).withConfig({ displayName: "CheckboxWrapper", componentId: "sc-xj82hi" }) `
11955
12002
  flex-wrap: wrap;
11956
12003
 
11957
12004
  && > label {
@@ -11959,7 +12006,7 @@ const CheckboxWrapper = styled(ContainerValue).withConfig({ displayName: "Checkb
11959
12006
  margin-bottom: 0.25rem;
11960
12007
  }
11961
12008
  `;
11962
- const ChipsWrapper = styled(ContainerValue).withConfig({ displayName: "ChipsWrapper", componentId: "sc-1qmv0eo" }) `
12009
+ const ChipsWrapper = styled(ContainerValue).withConfig({ displayName: "ChipsWrapper", componentId: "sc-1oqxuue" }) `
11963
12010
  flex-wrap: wrap;
11964
12011
 
11965
12012
  && > span {
@@ -12248,6 +12295,36 @@ const createContainerComponents = () => ({
12248
12295
  [exports.ContainerTemplate.GridRow]: GridRowContainer,
12249
12296
  default: ContainersGroupContainer,
12250
12297
  });
12298
+ /**
12299
+ * Шаблоны, чей компонент держит `id`, `data-templatename`, авторский `style` и `$sizeCss`
12300
+ * на ЕДИНСТВЕННОМ собственном корне — через `useContainerRoot` / `useWrapperSize`.
12301
+ *
12302
+ * Такому контейнеру не нужна внешняя обёртка `ElementValueWrapper`: она добавляла в DOM второй
12303
+ * узел с теми же атрибутами и стилями (см. `formatElementValue`).
12304
+ *
12305
+ * Остальных здесь нет намеренно: `DefaultAttributes`, `EditGroup` и `OneColumn`/`TwoColumn`
12306
+ * в режиме `attributesToRender` возвращают НЕСКОЛЬКО корней, а `Title`, `Icon`, `Divider`,
12307
+ * `Tabs`, `AddFeature`, `ExportPdf`, `Progress`, `RoundedBackground` ставят `id`/`style` руками.
12308
+ * Для них обёртка — единственный одиночный узел, снимать её нельзя.
12309
+ *
12310
+ * Переводишь очередной контейнер на `useContainerRoot` — добавь его сюда.
12311
+ */
12312
+ const ROOT_OWNING_TEMPLATES = new Set([
12313
+ exports.ContainerTemplate.ContainersGroup,
12314
+ exports.ContainerTemplate.GridRow,
12315
+ exports.ContainerTemplate.Attachment,
12316
+ exports.ContainerTemplate.Camera,
12317
+ exports.ContainerTemplate.Chart,
12318
+ exports.ContainerTemplate.DataSource,
12319
+ exports.ContainerTemplate.DataSourceProgress,
12320
+ exports.ContainerTemplate.Edit,
12321
+ exports.ContainerTemplate.Filters,
12322
+ exports.ContainerTemplate.Image,
12323
+ exports.ContainerTemplate.Layers,
12324
+ exports.ContainerTemplate.Slideshow,
12325
+ exports.ContainerTemplate.Task,
12326
+ exports.ContainerTemplate.Upload,
12327
+ ]);
12251
12328
  let cachedContainerComponents = null;
12252
12329
  const getContainerComponents = () => {
12253
12330
  if (!cachedContainerComponents) {
@@ -12262,12 +12339,26 @@ const getContainerComponent = (innerTemplateName) => {
12262
12339
  const containerComponents = getContainerComponents();
12263
12340
  return containerComponents[innerTemplateName] || containerComponents.default;
12264
12341
  };
12342
+ /**
12343
+ * Контейнер этого шаблона сам держит идентификаторы и стили на своём единственном корне —
12344
+ * внешняя обёртка ему не нужна, см. {@link ROOT_OWNING_TEMPLATES}.
12345
+ *
12346
+ * Живёт рядом с `getContainerComponent` ради правила про неизвестный шаблон: тот резолвится
12347
+ * в `default` (= `ContainersGroupContainer`), а он корнем владеет.
12348
+ */
12349
+ const isRootOwningContainer = (templateName) => {
12350
+ if (!templateName)
12351
+ return false;
12352
+ if (!(templateName in getContainerComponents()))
12353
+ return true;
12354
+ return ROOT_OWNING_TEMPLATES.has(templateName);
12355
+ };
12265
12356
 
12266
- const HeaderTitleContainer = styled(uilibGl.Flex).withConfig({ displayName: "HeaderTitleContainer", componentId: "sc-l0wqaz" }) `
12357
+ const HeaderTitleContainer = styled(uilibGl.Flex).withConfig({ displayName: "HeaderTitleContainer", componentId: "sc-1gg2rqi" }) `
12267
12358
  flex-direction: column;
12268
12359
  width: 100%;
12269
12360
  `;
12270
- const LayerDescription = styled(uilibGl.Description).withConfig({ displayName: "LayerDescription", componentId: "sc-1ngyfe5" }) `
12361
+ const LayerDescription = styled(uilibGl.Description).withConfig({ displayName: "LayerDescription", componentId: "sc-1lxrjdg" }) `
12271
12362
  width: calc(100% - 4rem);
12272
12363
  display: -webkit-box;
12273
12364
  -webkit-line-clamp: 2;
@@ -12288,7 +12379,7 @@ const HeaderFontColorMixin = styled.css `
12288
12379
  var img$4 = "data:image/png;base64,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";
12289
12380
 
12290
12381
  const getMaskColor = (isDark) => isDark ? "0, 0, 0" : "255, 255, 255";
12291
- const DefaultHeaderContainer = styled(uilibGl.Flex).withConfig({ displayName: "DefaultHeaderContainer", componentId: "sc-2dynvw" }) `
12382
+ const DefaultHeaderContainer = styled(uilibGl.Flex).withConfig({ displayName: "DefaultHeaderContainer", componentId: "sc-1fqnjet" }) `
12292
12383
  flex-direction: column;
12293
12384
  position: relative;
12294
12385
  flex-shrink: 0;
@@ -12344,7 +12435,7 @@ const DefaultHeaderContainer = styled(uilibGl.Flex).withConfig({ displayName: "D
12344
12435
  left: 0;
12345
12436
  }
12346
12437
  `;
12347
- const TopContainer = styled(uilibGl.Flex).withConfig({ displayName: "TopContainer", componentId: "sc-5lyx2q" }) `
12438
+ const TopContainer = styled(uilibGl.Flex).withConfig({ displayName: "TopContainer", componentId: "sc-12vufbh" }) `
12348
12439
  z-index: 1;
12349
12440
  position: relative;
12350
12441
  justify-content: space-between;
@@ -12352,7 +12443,7 @@ const TopContainer = styled(uilibGl.Flex).withConfig({ displayName: "TopContaine
12352
12443
  width: 100%;
12353
12444
  align-items: flex-start;
12354
12445
  `;
12355
- const TopContainerButtons = styled(uilibGl.Flex).withConfig({ displayName: "TopContainerButtons", componentId: "sc-p2g3ne" }) `
12446
+ const TopContainerButtons = styled(uilibGl.Flex).withConfig({ displayName: "TopContainerButtons", componentId: "sc-ljmtz5" }) `
12356
12447
  align-items: center;
12357
12448
  width: auto;
12358
12449
  margin-right: -0.5rem;
@@ -12363,7 +12454,7 @@ const TopContainerButtons = styled(uilibGl.Flex).withConfig({ displayName: "TopC
12363
12454
  padding: 0 0.5rem;
12364
12455
  }
12365
12456
  `;
12366
- const LogoContainer = styled(uilibGl.Flex).withConfig({ displayName: "LogoContainer", componentId: "sc-1hnjjvc" }) `
12457
+ const LogoContainer = styled(uilibGl.Flex).withConfig({ displayName: "LogoContainer", componentId: "sc-1m1fabt" }) `
12367
12458
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
12368
12459
  max-width: calc(100% - 1.4rem);
12369
12460
  max-height: 1.875rem;
@@ -12378,7 +12469,7 @@ const LogoContainer = styled(uilibGl.Flex).withConfig({ displayName: "LogoContai
12378
12469
  max-height: 1.875rem;
12379
12470
  }
12380
12471
  `;
12381
- const PageTitle = styled(uilibGl.H2).withConfig({ displayName: "PageTitle", componentId: "sc-m1vchj" }) `
12472
+ const PageTitle = styled(uilibGl.H2).withConfig({ displayName: "PageTitle", componentId: "sc-1nm7c2r" }) `
12382
12473
  cursor: pointer;
12383
12474
  text-align: left;
12384
12475
  flex: 1 1 auto;
@@ -12395,7 +12486,7 @@ const PageTitle = styled(uilibGl.H2).withConfig({ displayName: "PageTitle", comp
12395
12486
  text-overflow: ellipsis;
12396
12487
  }
12397
12488
  `;
12398
- const PageTitleContainer = styled(uilibGl.Flex).withConfig({ displayName: "PageTitleContainer", componentId: "sc-1iys2b6" }) `
12489
+ const PageTitleContainer = styled(uilibGl.Flex).withConfig({ displayName: "PageTitleContainer", componentId: "sc-2jhoex" }) `
12399
12490
  flex-grow: 1;
12400
12491
  align-items: center;
12401
12492
 
@@ -12445,7 +12536,7 @@ const DashboardDefaultHeader = React.memo(() => {
12445
12536
  return (jsxRuntime.jsxs(DefaultHeaderContainer, { image: image, isDark: themeName === exports.ThemeName.Dark, children: [!pageId && jsxRuntime.jsx(uilibGl.LinearProgress, {}), jsxRuntime.jsxs(uilibGl.Flex, { column: true, gap: "1rem", children: [jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsxs(TopContainer, { children: [jsxRuntime.jsx(LogoContainer, { onClick: onClickLogo, children: icon }), jsxRuntime.jsx(TopContainerButtons, { children: jsxRuntime.jsx(ProjectPanelMenu, {}) })] }) }), jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsx(uilibGl.Flex, { column: true, gap: "0.25rem", children: jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsxs(uilibGl.Flex, { alignItems: "center", children: [jsxRuntime.jsxs(PageTitleContainer, { children: [jsxRuntime.jsx(uilibGl.Tooltip, { arrow: true, content: tooltip, children: ref => (jsxRuntime.jsx(PageTitle, { ref: ref, onClick: toggleLayersVisibility, children: title })) }), jsxRuntime.jsx(ProjectPagesMenu, {})] }), jsxRuntime.jsx(uilibGl.FlexSpan, { children: jsxRuntime.jsx(Pagination, {}) })] }) }) }) })] })] }));
12446
12537
  });
12447
12538
 
12448
- const HeaderFrontView = styled(uilibGl.Flex).withConfig({ displayName: "HeaderFrontView", componentId: "sc-1y0d85b" }) `
12539
+ const HeaderFrontView = styled(uilibGl.Flex).withConfig({ displayName: "HeaderFrontView", componentId: "sc-tzrtk5" }) `
12449
12540
  z-index: 100;
12450
12541
  position: relative;
12451
12542
  justify-content: space-between;
@@ -12453,14 +12544,14 @@ const HeaderFrontView = styled(uilibGl.Flex).withConfig({ displayName: "HeaderFr
12453
12544
  width: 100%;
12454
12545
  font: ${({ theme: { fonts } }) => fonts.subtitle};
12455
12546
  `;
12456
- const HeaderContainer = styled(uilibGl.Flex).withConfig({ displayName: "HeaderContainer", componentId: "sc-1fx4x8d" }) `
12547
+ const HeaderContainer = styled(uilibGl.Flex).withConfig({ displayName: "HeaderContainer", componentId: "sc-jn6jqb" }) `
12457
12548
  display: flex;
12458
12549
  flex-grow: 1;
12459
12550
  flex-wrap: nowrap;
12460
12551
  flex-direction: column;
12461
12552
  width: calc(100% - 3rem);
12462
12553
  `;
12463
- const FeatureTitleContainer = styled.div.withConfig({ displayName: "FeatureTitleContainer", componentId: "sc-sykmgl" }) `
12554
+ const FeatureTitleContainer = styled.div.withConfig({ displayName: "FeatureTitleContainer", componentId: "sc-k9eum1" }) `
12464
12555
  display: -webkit-box;
12465
12556
  max-width: 100%;
12466
12557
  width: 100%;
@@ -12509,7 +12600,7 @@ const NoFeatureHeaderMixin = styled.css `
12509
12600
  min-height: 5.5rem;
12510
12601
  }
12511
12602
  `;
12512
- const Header = styled(uilibGl.Flex).withConfig({ displayName: "Header", componentId: "sc-9a397z" }) `
12603
+ const Header = styled(uilibGl.Flex).withConfig({ displayName: "Header", componentId: "sc-16lb20e" }) `
12513
12604
  z-index: 1;
12514
12605
  position: relative;
12515
12606
  top: 0;
@@ -12524,7 +12615,7 @@ const Header = styled(uilibGl.Flex).withConfig({ displayName: "Header", componen
12524
12615
 
12525
12616
  ${({ $noFeature }) => $noFeature && NoFeatureHeaderMixin};
12526
12617
  `;
12527
- const DefaultHeaderWrapper = styled.div.withConfig({ displayName: "DefaultHeaderWrapper", componentId: "sc-j1u97n" }) `
12618
+ const DefaultHeaderWrapper = styled.div.withConfig({ displayName: "DefaultHeaderWrapper", componentId: "sc-1qf88mv" }) `
12528
12619
  width: ${({ withPadding }) => (withPadding ? "100%" : "calc(100% + 1rem)")};
12529
12620
  height: ${({ height }) => (height ? `${height}px` : "auto")};
12530
12621
  margin: ${({ withPadding }) => (withPadding ? "-0.5rem -0.5rem 0 -0.5rem" : "-1rem -1rem 0 -1rem")};
@@ -12567,7 +12658,7 @@ const HeaderTitle = ({ noFeature }) => {
12567
12658
  return (jsxRuntime.jsxs(HeaderTitleContainer, { children: [noFeature ? (jsxRuntime.jsx(FeatureTitleContainer, { children: t("noObjectFound", { ns: "dashboard", defaultValue: "Объектов не найдено" }) })) : (jsxRuntime.jsx(FeatureTitleContainer, { clickable: true, children: jsxRuntime.jsx(uilibGl.Tooltip, { arrow: true, placement: "top", content: t("zoomToFeature", { ns: "dashboard", defaultValue: "Приблизить к объекту" }), delay: [600, 0], children: ref => (jsxRuntime.jsx(uilibGl.FlexSpan, { ref: ref, onClick: () => zoomToFeatures([feature]), children: resultTitle })) }) })), jsxRuntime.jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
12568
12659
  };
12569
12660
 
12570
- const LayerIconContainer = styled.div.withConfig({ displayName: "LayerIconContainer", componentId: "sc-1vyw25f" }) `
12661
+ const LayerIconContainer = styled.div.withConfig({ displayName: "LayerIconContainer", componentId: "sc-1b5qayf" }) `
12571
12662
  display: flex;
12572
12663
  align-items: center;
12573
12664
  justify-content: center;
@@ -12576,7 +12667,7 @@ const LayerIconContainer = styled.div.withConfig({ displayName: "LayerIconContai
12576
12667
  height: 1.5rem;
12577
12668
  margin-right: 1rem;
12578
12669
  `;
12579
- const AlertIconContainer = styled(uilibGl.Flex).withConfig({ displayName: "AlertIconContainer", componentId: "sc-1wxhzh6" }) `
12670
+ const AlertIconContainer = styled(uilibGl.Flex).withConfig({ displayName: "AlertIconContainer", componentId: "sc-1461o0s" }) `
12580
12671
  align-items: center;
12581
12672
  justify-content: center;
12582
12673
  width: 2rem;
@@ -12623,12 +12714,12 @@ const LayerIcon = ({ layerInfo, error, innerRef }) => {
12623
12714
  return jsxRuntime.jsx(LayerIconContainer, { ref: innerRef, children: renderSymbol });
12624
12715
  };
12625
12716
 
12626
- const LayerIconClickable = styled.div.withConfig({ displayName: "LayerIconClickable", componentId: "sc-1gzwdrd" }) `
12717
+ const LayerIconClickable = styled.div.withConfig({ displayName: "LayerIconClickable", componentId: "sc-1cjzckf" }) `
12627
12718
  display: flex;
12628
12719
  align-items: center;
12629
12720
  cursor: pointer;
12630
12721
  `;
12631
- const NoFeatureIcon = styled.div.withConfig({ displayName: "NoFeatureIcon", componentId: "sc-1py0v8x" }) `
12722
+ const NoFeatureIcon = styled.div.withConfig({ displayName: "NoFeatureIcon", componentId: "sc-k3a6ze" }) `
12632
12723
  display: flex;
12633
12724
  align-items: center;
12634
12725
  justify-content: center;
@@ -12666,7 +12757,7 @@ const FeatureCardDefaultHeader = ({ noFeature }) => {
12666
12757
  return (jsxRuntime.jsx(uilibGl.ThemeProvider, { theme: getThemeByName(themeName ?? pageThemeName), children: jsxRuntime.jsx(DefaultHeaderWrapper, { withPadding: withPadding, height: height, "$noFeature": noFeature, children: jsxRuntime.jsx(Header, { "$overlay": overlay, "$isRow": !column, "$noFeature": noFeature, children: jsxRuntime.jsxs(HeaderFrontView, { isDefault: !column, children: [jsxRuntime.jsxs(HeaderContainer, { children: [jsxRuntime.jsx(HeaderLayerIcon, { noFeature: noFeature }), jsxRuntime.jsx(HeaderTitle, { noFeature: noFeature })] }), jsxRuntime.jsx(FeatureCardButtons, {})] }) }) }) }));
12667
12758
  };
12668
12759
 
12669
- const ImageContainerButton = styled(uilibGl.FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-13uz37w" }) `
12760
+ const ImageContainerButton = styled(uilibGl.FlatButton).withConfig({ displayName: "ImageContainerButton", componentId: "sc-55slui" }) `
12670
12761
  min-height: 1.5rem;
12671
12762
  border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
12672
12763
  background-color: ${({ theme: { palette } }) => palette.primary};
@@ -12686,7 +12777,7 @@ const ElementButton = React.memo(({ type, elementConfig }) => {
12686
12777
  return (jsxRuntime.jsx(ImageContainerButton, { onClick: () => window.open(attribute?.value), children: elementConfig.value || "" }));
12687
12778
  });
12688
12779
 
12689
- const AttributeGalleryContainer = styled.div.withConfig({ displayName: "AttributeGalleryContainer", componentId: "sc-118d9o2" }) `
12780
+ const AttributeGalleryContainer = styled.div.withConfig({ displayName: "AttributeGalleryContainer", componentId: "sc-ij59ch" }) `
12690
12781
  && {
12691
12782
  width: calc(100% + 3rem);
12692
12783
  }
@@ -12698,7 +12789,7 @@ const AttributeGalleryContainer = styled.div.withConfig({ displayName: "Attribut
12698
12789
  width: 100%;
12699
12790
  }
12700
12791
  `;
12701
- const LinearProgressContainer = styled(uilibGl.Flex).withConfig({ displayName: "LinearProgressContainer", componentId: "sc-113wnuv" }) `
12792
+ const LinearProgressContainer = styled(uilibGl.Flex).withConfig({ displayName: "LinearProgressContainer", componentId: "sc-h5yp9m" }) `
12702
12793
  align-items: center;
12703
12794
  justify-content: center;
12704
12795
  min-height: inherit;
@@ -12707,7 +12798,7 @@ const LinearProgressContainer = styled(uilibGl.Flex).withConfig({ displayName: "
12707
12798
  max-width: 4rem;
12708
12799
  }
12709
12800
  `;
12710
- const NoLiveSnapshotContainer = styled(uilibGl.Flex).withConfig({ displayName: "NoLiveSnapshotContainer", componentId: "sc-1vtjlcu" }) `
12801
+ const NoLiveSnapshotContainer = styled(uilibGl.Flex).withConfig({ displayName: "NoLiveSnapshotContainer", componentId: "sc-2025bc" }) `
12711
12802
  flex-direction: column;
12712
12803
  align-items: center;
12713
12804
  /* Заглушка «Снимок не доступен» центрируется в галерее и по вертикали. min-height: inherit
@@ -12731,7 +12822,7 @@ const NoLiveSnapshotContainer = styled(uilibGl.Flex).withConfig({ displayName: "
12731
12822
  color: ${({ theme: { palette } }) => palette.textDisabled};
12732
12823
  }
12733
12824
  `;
12734
- const SmallPreviewControl = styled(uilibGl.IconButton).withConfig({ displayName: "SmallPreviewControl", componentId: "sc-133sdm5" }) `
12825
+ const SmallPreviewControl = styled(uilibGl.IconButton).withConfig({ displayName: "SmallPreviewControl", componentId: "sc-16n62xd" }) `
12735
12826
  cursor: ${({ $isDisabled }) => ($isDisabled ? "default" : "pointer")};
12736
12827
  z-index: 3;
12737
12828
  position: absolute;
@@ -12755,7 +12846,7 @@ const SmallPreviewControl = styled(uilibGl.IconButton).withConfig({ displayName:
12755
12846
  }
12756
12847
  }
12757
12848
  `;
12758
- const SmallPreviewCounter = styled(uilibGl.Flex).withConfig({ displayName: "SmallPreviewCounter", componentId: "sc-wxp1a9" }) `
12849
+ const SmallPreviewCounter = styled(uilibGl.Flex).withConfig({ displayName: "SmallPreviewCounter", componentId: "sc-114cx5a" }) `
12759
12850
  z-index: 3;
12760
12851
  position: absolute;
12761
12852
  bottom: 0.625rem;
@@ -12775,12 +12866,12 @@ const SmallPreviewCounter = styled(uilibGl.Flex).withConfig({ displayName: "Smal
12775
12866
  `;
12776
12867
  const SmallPreviewLeft = styled(SmallPreviewControl).attrs(() => ({
12777
12868
  kind: "prev",
12778
- })).withConfig({ displayName: "SmallPreviewLeft", componentId: "sc-1hyx5ii" }) `
12869
+ })).withConfig({ displayName: "SmallPreviewLeft", componentId: "sc-bfullw" }) `
12779
12870
  left: 1.5rem;
12780
12871
  `;
12781
12872
  const SmallPreviewRight = styled(SmallPreviewControl).attrs(() => ({
12782
12873
  kind: "next",
12783
- })).withConfig({ displayName: "SmallPreviewRight", componentId: "sc-e8rzs2" }) `
12874
+ })).withConfig({ displayName: "SmallPreviewRight", componentId: "sc-imjvgl" }) `
12784
12875
  right: 1.5rem;
12785
12876
  `;
12786
12877
  const imgSlideShowMixin = styled.css `
@@ -12810,7 +12901,7 @@ const imgSlideShowMixin = styled.css `
12810
12901
  }
12811
12902
  }
12812
12903
  `;
12813
- const SmallPreviewContainer$1 = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-1rtzc7q" }) `
12904
+ const SmallPreviewContainer$1 = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-276t88" }) `
12814
12905
  cursor: ${({ onClick }) => (onClick ? "pointer" : "default")};
12815
12906
  position: relative;
12816
12907
  width: 100%;
@@ -12855,7 +12946,7 @@ const SmallPreviewContainer$1 = styled.div.withConfig({ displayName: "SmallPrevi
12855
12946
  ${({ prevIndex, currentIndex }) => prevIndex !== currentIndex && imgSlideShowMixin}
12856
12947
  }
12857
12948
  `;
12858
- const SmallPreviewImages = styled.div.withConfig({ displayName: "SmallPreviewImages", componentId: "sc-1npb40w" }) ``;
12949
+ const SmallPreviewImages = styled.div.withConfig({ displayName: "SmallPreviewImages", componentId: "sc-1m5syza" }) ``;
12859
12950
 
12860
12951
  const NoLiveSnapshot = () => {
12861
12952
  return (jsxRuntime.jsxs(NoLiveSnapshotContainer, { children: [jsxRuntime.jsx(uilibGl.Icon, { kind: "alert" }), jsxRuntime.jsx(uilibGl.Description, { children: "\u0421\u043D\u0438\u043C\u043E\u043A \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D" })] }));
@@ -13107,7 +13198,7 @@ const StyledIconFontColorMixin = styled.css `
13107
13198
  color: ${({ fontColor }) => fontColor};
13108
13199
  }
13109
13200
  `;
13110
- const StyledIcon = styled(uilibGl.Icon).withConfig({ displayName: "StyledIcon", componentId: "sc-itrkbb" }) `
13201
+ const StyledIcon = styled(uilibGl.Icon).withConfig({ displayName: "StyledIcon", componentId: "sc-m9x47d" }) `
13111
13202
  ${({ fontSize }) => !!fontSize && StyledIconFontSizeMixin};
13112
13203
  ${({ fontColor }) => !!fontColor && StyledIconFontColorMixin};
13113
13204
  `;
@@ -13123,7 +13214,7 @@ const ElementIcon = React.memo(({ type, elementConfig, ...rest }) => {
13123
13214
  return (jsxRuntime.jsx(StyledIcon, { kind: iconValue, fontSize: fontSize, fontColor: fontColor, style: style }));
13124
13215
  });
13125
13216
 
13126
- const ElementImg = styled.img.withConfig({ displayName: "ElementImg", componentId: "sc-d1wlde" }) `
13217
+ const ElementImg = styled.img.withConfig({ displayName: "ElementImg", componentId: "sc-1kbs98z" }) `
13127
13218
  max-width: 100%;
13128
13219
 
13129
13220
  /* Картинка заполняет отведённый ей бокс: масштаб по меньшей стороне, излишек обрезается. */
@@ -13207,7 +13298,7 @@ const ElementLegend = React.memo(({ type, element, elementConfig }) => {
13207
13298
 
13208
13299
  const ExternalLink = styled(uilibGl.IconButton).attrs(() => ({
13209
13300
  kind: "external_link",
13210
- })).withConfig({ displayName: "ExternalLink", componentId: "sc-63lmtw" }) `
13301
+ })).withConfig({ displayName: "ExternalLink", componentId: "sc-jyc6gb" }) `
13211
13302
  ${uilibGl.Icon} {
13212
13303
  color: ${({ theme: { palette } }) => palette.primary};
13213
13304
  }
@@ -13216,12 +13307,12 @@ const ExternalLink = styled(uilibGl.IconButton).attrs(() => ({
13216
13307
  color: ${({ theme: { palette } }) => palette.primaryDeep};
13217
13308
  }
13218
13309
  `;
13219
- const Link = styled.a.withConfig({ displayName: "Link", componentId: "sc-1985uc3" }) `
13310
+ const Link = styled.a.withConfig({ displayName: "Link", componentId: "sc-1aq60u1" }) `
13220
13311
  text-decoration: none;
13221
13312
  font-size: 0.75rem;
13222
13313
  color: ${({ theme: { palette } }) => palette.primary};
13223
13314
  `;
13224
- const LocalLinkBlank = styled(uilibGl.Blank).withConfig({ displayName: "LocalLinkBlank", componentId: "sc-10ofdso" }) `
13315
+ const LocalLinkBlank = styled(uilibGl.Blank).withConfig({ displayName: "LocalLinkBlank", componentId: "sc-14h8bep" }) `
13225
13316
  min-width: 13.5rem;
13226
13317
  padding: 0.5rem 0.75rem 0;
13227
13318
 
@@ -13231,7 +13322,7 @@ const LocalLinkBlank = styled(uilibGl.Blank).withConfig({ displayName: "LocalLin
13231
13322
  `;
13232
13323
  const LocalLinkButton = styled(uilibGl.IconButton).attrs(() => ({
13233
13324
  kind: "link",
13234
- })).withConfig({ displayName: "LocalLinkButton", componentId: "sc-fwlmae" }) `
13325
+ })).withConfig({ displayName: "LocalLinkButton", componentId: "sc-1q0jrvr" }) `
13235
13326
  width: 1rem;
13236
13327
  height: 1rem;
13237
13328
  background-color: ${({ theme: { palette } }) => palette.primary};
@@ -13254,7 +13345,7 @@ const LocalLinkButton = styled(uilibGl.IconButton).attrs(() => ({
13254
13345
  }
13255
13346
  }
13256
13347
  `;
13257
- const LocalLinkCopy = styled(uilibGl.Flex).withConfig({ displayName: "LocalLinkCopy", componentId: "sc-1wrs0gm" }) `
13348
+ const LocalLinkCopy = styled(uilibGl.Flex).withConfig({ displayName: "LocalLinkCopy", componentId: "sc-ckhzrq" }) `
13258
13349
  justify-content: center;
13259
13350
  `;
13260
13351
 
@@ -13300,7 +13391,7 @@ const tagTypography = (tag) => ({ $typography }) => {
13300
13391
  ${style.marginBottom && `margin-bottom: ${style.marginBottom};`}
13301
13392
  `;
13302
13393
  };
13303
- const MarkdownWrapper = styled.div.withConfig({ displayName: "MarkdownWrapper", componentId: "sc-1cjcwj2" }) `
13394
+ const MarkdownWrapper = styled.div.withConfig({ displayName: "MarkdownWrapper", componentId: "sc-1bvpkmz" }) `
13304
13395
  padding: 0;
13305
13396
  background: transparent;
13306
13397
  border-radius: 0.5rem;
@@ -13481,7 +13572,7 @@ const ElementMarkdown = React.memo(({ elementConfig, type }) => {
13481
13572
  return (jsxRuntime.jsxs(MarkdownWrapper, { "$typography": typography, "$noMargin": noMargin, children: [jsxRuntime.jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], rehypePlugins: [rehypeRaw, [rehypeSanitize, sanitizeSchema]], children: markdownString }), jsxRuntime.jsx(uilibGl.LegendToggler, { toggled: true, onClick: () => setExpanded(false), children: t("hide", { ns: "dashboard", defaultValue: "Свернуть" }) })] }));
13482
13573
  });
13483
13574
 
13484
- const SmallPreviewContainer = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-q1dog0" }) `
13575
+ const SmallPreviewContainer = styled.div.withConfig({ displayName: "SmallPreviewContainer", componentId: "sc-ttzjgj" }) `
13485
13576
  width: 100%;
13486
13577
  height: 100%;
13487
13578
  /* Пол высоты. Картинки внутри — position: absolute с height: 100% и сами высоту не создают,
@@ -13549,7 +13640,7 @@ const ElementSvg = React.memo(({ type, elementConfig, ...rest }) => {
13549
13640
  return (jsxRuntime.jsx(SvgImage, { url: getSvgUrl({ elementConfig, layerInfo, attributes }), width: width, height: height, fontColor: fontColor }));
13550
13641
  });
13551
13642
 
13552
- const TooltipIcon = styled(uilibGl.Icon).withConfig({ displayName: "TooltipIcon", componentId: "sc-uw1pwx" }) `
13643
+ const TooltipIcon = styled(uilibGl.Icon).withConfig({ displayName: "TooltipIcon", componentId: "sc-rf48f4" }) `
13553
13644
  &&& {
13554
13645
  :after {
13555
13646
  font-size: 0.75rem;
@@ -13572,7 +13663,7 @@ const ElementTooltip = React.memo(({ type, elementConfig }) => {
13572
13663
  return text ? (jsxRuntime.jsx(uilibGl.Tooltip, { placement: "top", arrow: true, content: text, children: ref => jsxRuntime.jsx(TooltipIcon, { kind: icon || "question", ref: ref }) })) : null;
13573
13664
  });
13574
13665
 
13575
- const SlideshowHeaderWrapper = styled.div.withConfig({ displayName: "SlideshowHeaderWrapper", componentId: "sc-e67d25" }) `
13666
+ const SlideshowHeaderWrapper = styled.div.withConfig({ displayName: "SlideshowHeaderWrapper", componentId: "sc-mh35i0" }) `
13576
13667
  ${Header} {
13577
13668
  align-items: flex-start;
13578
13669
  height: ${({ height, big }) => height ? `${height}px` : (big ? "15.5rem" : "auto")};
@@ -13614,7 +13705,7 @@ const SlideshowHeaderWrapper = styled.div.withConfig({ displayName: "SlideshowHe
13614
13705
 
13615
13706
  ${({ fontColor }) => !!fontColor && HeaderFontColorMixin};
13616
13707
  `;
13617
- const ImageContainerBg = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-10ayx6u" }) `
13708
+ const ImageContainerBg = styled.div.withConfig({ displayName: "ImageContainerBg", componentId: "sc-1z0vd8l" }) `
13618
13709
  position: absolute;
13619
13710
  top: 0;
13620
13711
  bottom: 0;
@@ -13628,7 +13719,7 @@ const ImageContainerBg = styled.div.withConfig({ displayName: "ImageContainerBg"
13628
13719
  object-fit: cover;
13629
13720
  }
13630
13721
  `;
13631
- const HeaderSlideshow = styled.div.withConfig({ displayName: "HeaderSlideshow", componentId: "sc-1npwc7" }) `
13722
+ const HeaderSlideshow = styled.div.withConfig({ displayName: "HeaderSlideshow", componentId: "sc-fl8ww4" }) `
13632
13723
  position: absolute;
13633
13724
  top: 0;
13634
13725
  bottom: ${({ height }) => (height ? `${height}px` : 0)};
@@ -13669,7 +13760,7 @@ const HeaderWrapperMixin = styled.css `
13669
13760
 
13670
13761
  ${({ $fontColor }) => !!$fontColor && HeaderFontColorMixin};
13671
13762
  `;
13672
- const HeaderIcon = styled(uilibGl.Flex).withConfig({ displayName: "HeaderIcon", componentId: "sc-1icbozy" }) `
13763
+ const HeaderIcon = styled(uilibGl.Flex).withConfig({ displayName: "HeaderIcon", componentId: "sc-1jpf0fb" }) `
13673
13764
  position: absolute;
13674
13765
  top: 0;
13675
13766
  right: 0;
@@ -13735,7 +13826,7 @@ const BottomBlurHeaderMixin = styled.css `
13735
13826
  z-index: 100;
13736
13827
  }
13737
13828
  `;
13738
- const BackgroundHeaderWrapper = styled.div.withConfig({ displayName: "BackgroundHeaderWrapper", componentId: "sc-11gr0yp" }) `
13829
+ const BackgroundHeaderWrapper = styled.div.withConfig({ displayName: "BackgroundHeaderWrapper", componentId: "sc-cl23ny" }) `
13739
13830
  ${Header} {
13740
13831
  position: relative;
13741
13832
  width: calc(100% + 1rem);
@@ -13991,7 +14082,7 @@ const getDefaultConfig = ({ title, defaultTitle, baseMapName, position, resoluti
13991
14082
  return dashboardConfiguration;
13992
14083
  };
13993
14084
 
13994
- const UploaderTitle = styled(uilibGl.Flex).withConfig({ displayName: "UploaderTitle", componentId: "sc-1s16ob7" }) `
14085
+ const UploaderTitle = styled(uilibGl.Flex).withConfig({ displayName: "UploaderTitle", componentId: "sc-1yxt1gv" }) `
13995
14086
  flex-direction: column;
13996
14087
  align-items: center;
13997
14088
  width: 11rem;
@@ -14058,7 +14149,7 @@ const ElementUploader = React.memo(({ elementConfig, type }) => {
14058
14149
  return (jsxRuntime.jsx(UploaderContainer, { id: id, style: style, children: jsxRuntime.jsx("div", { children: jsxRuntime.jsx(uilibGl.Uploader, { currentRef: refInput, title: renderTitle, accept: fileExtensions, width: "100%", fileItems: files, isMultiple: multiSelect, onUpload: onUpload, onDelete: onDelete }) }) }));
14059
14150
  });
14060
14151
 
14061
- const ModalIcon = styled(uilibGl.IconButton).withConfig({ displayName: "ModalIcon", componentId: "sc-yoxbk" }) `
14152
+ const ModalIcon = styled(uilibGl.IconButton).withConfig({ displayName: "ModalIcon", componentId: "sc-yuutj3" }) `
14062
14153
  :after {
14063
14154
  font-size: 0.75rem;
14064
14155
  color: ${({ theme: { palette } }) => palette.iconDisabled};
@@ -14121,6 +14212,9 @@ const getRenderElement = ({ t, config, elementConfig, attributes = [], layerInfo
14121
14212
  onChange,
14122
14213
  type,
14123
14214
  });
14215
+ // Ставится внутри `getDefaultContainer` — единственного места, которое знает по построению,
14216
+ // что значение оказалось контейнером. Коллбэк вызывается синхронно, читаем строго после.
14217
+ let hasOwnRoot = false;
14124
14218
  const value = getElementValue({
14125
14219
  type,
14126
14220
  element: currentConfig,
@@ -14137,6 +14231,7 @@ const getRenderElement = ({ t, config, elementConfig, attributes = [], layerInfo
14137
14231
  if (!ContainerTemplateValue) {
14138
14232
  return null;
14139
14233
  }
14234
+ hasOwnRoot = isRootOwningContainer(templateName);
14140
14235
  return (jsxRuntime.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));
14141
14236
  },
14142
14237
  });
@@ -14148,6 +14243,7 @@ const getRenderElement = ({ t, config, elementConfig, attributes = [], layerInfo
14148
14243
  elementConfig: element,
14149
14244
  attributes,
14150
14245
  wrap,
14246
+ hasOwnRoot,
14151
14247
  });
14152
14248
  };
14153
14249
 
@@ -14834,14 +14930,14 @@ const getJustifyContent = (align) => {
14834
14930
  return "flex-start";
14835
14931
  }
14836
14932
  };
14837
- const ChipsContainer = styled(uilibGl.Flex).withConfig({ displayName: "ChipsContainer", componentId: "sc-s9ruyp" }) `
14933
+ const ChipsContainer = styled(uilibGl.Flex).withConfig({ displayName: "ChipsContainer", componentId: "sc-1ljr361" }) `
14838
14934
  flex-wrap: wrap;
14839
14935
  gap: 0.25rem;
14840
14936
  background: transparent;
14841
14937
  justify-content: ${({ $align }) => getJustifyContent($align)};
14842
14938
  `;
14843
14939
 
14844
- const FilterChip = styled.div.withConfig({ displayName: "FilterChip", componentId: "sc-l6ywqj" }) `
14940
+ const FilterChip = styled.div.withConfig({ displayName: "FilterChip", componentId: "sc-m9ul7w" }) `
14845
14941
  display: inline-flex;
14846
14942
  align-items: center;
14847
14943
  gap: 0.25rem;
@@ -14873,7 +14969,7 @@ const FilterChip = styled.div.withConfig({ displayName: "FilterChip", componentI
14873
14969
  : $bgColor || theme.palette?.elementDark};
14874
14970
  }
14875
14971
  `;
14876
- const ChipIconWrapper = styled.span.withConfig({ displayName: "ChipIconWrapper", componentId: "sc-1nj0c1o" }) `
14972
+ const ChipIconWrapper = styled.span.withConfig({ displayName: "ChipIconWrapper", componentId: "sc-h7bb17" }) `
14877
14973
  display: inline-flex;
14878
14974
  align-items: center;
14879
14975
  justify-content: center;
@@ -14887,7 +14983,7 @@ const ChipIconWrapper = styled.span.withConfig({ displayName: "ChipIconWrapper",
14887
14983
  display: block;
14888
14984
  }
14889
14985
  `;
14890
- const ChipText = styled.span.withConfig({ displayName: "ChipText", componentId: "sc-ldildv" }) `
14986
+ const ChipText = styled.span.withConfig({ displayName: "ChipText", componentId: "sc-egti8s" }) `
14891
14987
  overflow: hidden;
14892
14988
  text-overflow: ellipsis;
14893
14989
  white-space: nowrap;
@@ -16112,7 +16208,7 @@ const Dashboard = React.memo(({ type = exports.WidgetType.Dashboard, noBorders }
16112
16208
  return (jsxRuntime.jsx(PagesContainer, { type: type, noBorders: noBorders }));
16113
16209
  });
16114
16210
 
16115
- const CardCheckbox = styled(uilibGl.Checkbox).withConfig({ displayName: "CardCheckbox", componentId: "sc-15p1lkj" }) `
16211
+ const CardCheckbox = styled(uilibGl.Checkbox).withConfig({ displayName: "CardCheckbox", componentId: "sc-1v1arkg" }) `
16116
16212
  padding-left: 0.5rem;
16117
16213
  `;
16118
16214
 
@@ -16179,7 +16275,7 @@ const FeatureCardTitle = ({ title, description }) => {
16179
16275
  return (jsxRuntime.jsxs(HeaderTitleContainer, { children: [jsxRuntime.jsx(FeatureTitleContainer, { children: jsxRuntime.jsx(uilibGl.FlexSpan, { children: toRenderableValue(resultTitle) }) }), jsxRuntime.jsx(LayerDescription, { title: resultDescription, children: resultDescription })] }));
16180
16276
  };
16181
16277
 
16182
- const HiddenFilters = styled(uilibGl.Flex).withConfig({ displayName: "HiddenFilters", componentId: "sc-8zavz2" }) `
16278
+ const HiddenFilters = styled(uilibGl.Flex).withConfig({ displayName: "HiddenFilters", componentId: "sc-13wv6s" }) `
16183
16279
  flex-wrap: wrap;
16184
16280
  margin-top: -1.25rem;
16185
16281
 
@@ -16257,7 +16353,7 @@ const HiddenTitleItems = React.memo(({ elementConfig, config, type, filter }) =>
16257
16353
  getConfigFilter(filterName, configFilters)?.defaultValue, index)) }));
16258
16354
  });
16259
16355
 
16260
- const TerminalWrapper = styled.div.withConfig({ displayName: "TerminalWrapper", componentId: "sc-suz2zc" }) `
16356
+ const TerminalWrapper = styled.div.withConfig({ displayName: "TerminalWrapper", componentId: "sc-aszasf" }) `
16261
16357
  flex: 1;
16262
16358
  overflow: hidden;
16263
16359
  padding: 0;
@@ -16386,7 +16482,7 @@ const LogTerminal = ({ log, terminalOptions, className, styles }) => {
16386
16482
  return jsxRuntime.jsx(TerminalWrapper, { ref: terminalRef, className: className, style: styles });
16387
16483
  };
16388
16484
 
16389
- const PageNavigator = styled(uilibGl.Flex).withConfig({ displayName: "PageNavigator", componentId: "sc-1o8krel" }) `
16485
+ const PageNavigator = styled(uilibGl.Flex).withConfig({ displayName: "PageNavigator", componentId: "sc-1ocxp38" }) `
16390
16486
  margin-right: -0.5rem;
16391
16487
  align-items: center;
16392
16488
 
@@ -16420,11 +16516,11 @@ const SvgImage = React.memo(({ url, width, height, fontColor }) => {
16420
16516
  return (jsxRuntime.jsx(StyledSvg, { "$width": width, "$height": height, "$fontColor": fontColor, dangerouslySetInnerHTML: { __html: svg } }));
16421
16517
  });
16422
16518
 
16423
- const TextTrimValue = styled.div.withConfig({ displayName: "TextTrimValue", componentId: "sc-17ece82" }) `
16519
+ const TextTrimValue = styled.div.withConfig({ displayName: "TextTrimValue", componentId: "sc-1w9c15" }) `
16424
16520
  word-break: ${({ wordBreak }) => wordBreak ?? "break-word"};
16425
16521
  overflow: hidden;
16426
16522
  `;
16427
- const ClampedText = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-asq1h5" }) `
16523
+ const ClampedText = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-1v7hb77" }) `
16428
16524
  display: -webkit-box;
16429
16525
  -webkit-line-clamp: ${({ $maxLines }) => $maxLines};
16430
16526
  -webkit-box-orient: vertical;
@@ -16629,7 +16725,7 @@ const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle
16629
16725
  return (jsxRuntime.jsx(VectorLayer, { layer: layer, tileUrl: tileUrl, visible: visible, beforeId: beforeId, getLayerTempStyle: getLayerTempStyle }));
16630
16726
  };
16631
16727
 
16632
- const MapWrapper = styled.div.withConfig({ displayName: "MapWrapper", componentId: "sc-1i5xe59" }) `
16728
+ const MapWrapper = styled.div.withConfig({ displayName: "MapWrapper", componentId: "sc-i9xo0m" }) `
16633
16729
  position: relative;
16634
16730
  width: 100%;
16635
16731
  height: 100%;
@@ -16843,6 +16939,7 @@ exports.DEFAULT_FILL_EXTRUSION_STYLE = DEFAULT_FILL_EXTRUSION_STYLE;
16843
16939
  exports.DEFAULT_FILL_EXTRUSION_VERTICAL_GRADIENT = DEFAULT_FILL_EXTRUSION_VERTICAL_GRADIENT;
16844
16940
  exports.DEFAULT_FILL_STYLE = DEFAULT_FILL_STYLE;
16845
16941
  exports.DEFAULT_FILTER_PADDING = DEFAULT_FILTER_PADDING;
16942
+ exports.DEFAULT_GRID_GAP = DEFAULT_GRID_GAP;
16846
16943
  exports.DEFAULT_HEATMAP_COLOR = DEFAULT_HEATMAP_COLOR;
16847
16944
  exports.DEFAULT_HEATMAP_INTENSITY = DEFAULT_HEATMAP_INTENSITY;
16848
16945
  exports.DEFAULT_HEATMAP_RADIUS = DEFAULT_HEATMAP_RADIUS;
@@ -16866,8 +16963,10 @@ exports.DEFAULT_SYMBOL_COLOR = DEFAULT_SYMBOL_COLOR;
16866
16963
  exports.DEFAULT_SYMBOL_PLACEMENT = DEFAULT_SYMBOL_PLACEMENT;
16867
16964
  exports.DEFAULT_SYMBOL_SPACING = DEFAULT_SYMBOL_SPACING;
16868
16965
  exports.DEFAULT_SYMBOL_STYLE = DEFAULT_SYMBOL_STYLE;
16966
+ exports.DEFAULT_TRACK_FR = DEFAULT_TRACK_FR;
16869
16967
  exports.DEFAULT_TRANSLATE = DEFAULT_TRANSLATE;
16870
16968
  exports.DEFAULT_ZOOM = DEFAULT_ZOOM;
16969
+ exports.DRAG_THRESHOLD_PX = DRAG_THRESHOLD_PX;
16871
16970
  exports.Dashboard = Dashboard;
16872
16971
  exports.DashboardCheckbox = DashboardCheckbox;
16873
16972
  exports.DashboardChip = DashboardChip;
@@ -16910,6 +17009,7 @@ exports.FEATURE_CARD_OTHER_COLOR = FEATURE_CARD_OTHER_COLOR;
16910
17009
  exports.FILL_SIZE = FILL_SIZE;
16911
17010
  exports.FILTERED_VALUE_OPACITY = FILTERED_VALUE_OPACITY;
16912
17011
  exports.FILTER_PREFIX = FILTER_PREFIX;
17012
+ exports.FR_PRECISION = FR_PRECISION;
16913
17013
  exports.FeatureCardBackgroundHeader = FeatureCardBackgroundHeader;
16914
17014
  exports.FeatureCardButtons = FeatureCardButtons;
16915
17015
  exports.FeatureCardContext = FeatureCardContext;
@@ -16922,9 +17022,19 @@ exports.FeatureControls = FeatureControls;
16922
17022
  exports.FeatureTitleContainer = FeatureTitleContainer;
16923
17023
  exports.FiltersContainer = FiltersContainer;
16924
17024
  exports.GEOMETRY_ATTRIBUTE = GEOMETRY_ATTRIBUTE;
17025
+ exports.GRID_CELL_ATTR = GRID_CELL_ATTR;
17026
+ exports.GRID_CELL_ID_PREFIX = GRID_CELL_ID_PREFIX;
17027
+ exports.GRID_DRAGGING_ATTR = GRID_DRAGGING_ATTR;
17028
+ exports.GRID_DRAG_SOURCE_ATTR = GRID_DRAG_SOURCE_ATTR;
17029
+ exports.GRID_DROP_TARGET_ATTR = GRID_DROP_TARGET_ATTR;
17030
+ exports.GRID_FILL_DEFAULTS = GRID_FILL_DEFAULTS;
17031
+ exports.GRID_HANDLE_ATTR = GRID_HANDLE_ATTR;
17032
+ exports.GRID_HANDLE_PROPS = GRID_HANDLE_PROPS;
17033
+ exports.GRID_ROW_ID_PREFIX = GRID_ROW_ID_PREFIX;
16925
17034
  exports.GlobalContext = GlobalContext;
16926
17035
  exports.GlobalProvider = GlobalProvider;
16927
17036
  exports.GridRowContainer = GridRowContainer;
17037
+ exports.HANDLE_BLEED_PX = HANDLE_BLEED_PX;
16928
17038
  exports.Header = Header;
16929
17039
  exports.HeaderContainer = HeaderContainer;
16930
17040
  exports.HeaderFontColorMixin = HeaderFontColorMixin;
@@ -16947,9 +17057,13 @@ exports.LinearProgressContainer = LinearProgressContainer;
16947
17057
  exports.LogTerminal = LogTerminal;
16948
17058
  exports.LogoContainer = LogoContainer;
16949
17059
  exports.MAX_CHART_WIDTH = MAX_CHART_WIDTH;
17060
+ exports.MAX_TRACKS = MAX_TRACKS;
17061
+ exports.MIN_TRACK_PX = MIN_TRACK_PX;
17062
+ exports.MIN_TRACK_RATIO = MIN_TRACK_RATIO;
16950
17063
  exports.Map = Map$1;
16951
17064
  exports.MapContext = MapContext;
16952
17065
  exports.MapProvider = MapProvider;
17066
+ exports.NO_CELL_DRAG_SELECTOR = NO_CELL_DRAG_SELECTOR;
16953
17067
  exports.NO_CONTENT_VALUE = NO_CONTENT_VALUE;
16954
17068
  exports.NUMERIC_ATTRIBUTE_TYPES = NUMERIC_ATTRIBUTE_TYPES;
16955
17069
  exports.NoLiveSnapshotContainer = NoLiveSnapshotContainer;
@@ -17014,10 +17128,17 @@ exports.asLayerName = asLayerName;
17014
17128
  exports.asModalId = asModalId;
17015
17129
  exports.asResourceId = asResourceId;
17016
17130
  exports.asTabId = asTabId;
17131
+ exports.buildGridTemplate = buildGridTemplate;
17132
+ exports.buildTrackTemplate = buildTrackTemplate;
17017
17133
  exports.checkEqualOrIncludes = checkEqualOrIncludes;
17018
17134
  exports.checkIsLoading = checkIsLoading;
17135
+ exports.collectConfigIds = collectConfigIds;
17136
+ exports.containsNodeId = containsNodeId;
17019
17137
  exports.createConfigLayer = createConfigLayer;
17020
17138
  exports.createConfigPage = createConfigPage;
17139
+ exports.createGridCell = createGridCell;
17140
+ exports.createGridIdFactory = createGridIdFactory;
17141
+ exports.createGridRow = createGridRow;
17021
17142
  exports.createNewPageId = createNewPageId;
17022
17143
  exports.createSaveNotificationId = createSaveNotificationId;
17023
17144
  exports.dateOptions = dateOptions;
@@ -17028,6 +17149,7 @@ exports.enrichStyleModelsWithIds = enrichStyleModelsWithIds;
17028
17149
  exports.eqlParametersToPayload = eqlParametersToPayload;
17029
17150
  exports.fetchQueryDescription = fetchQueryDescription;
17030
17151
  exports.findAttributeInExpression = findAttributeInExpression;
17152
+ exports.findCellContext = findCellContext;
17031
17153
  exports.formatArea = formatArea;
17032
17154
  exports.formatAttributeValue = formatAttributeValue;
17033
17155
  exports.formatChartRelatedValue = formatChartRelatedValue;
@@ -17046,6 +17168,7 @@ exports.getAttributeIconElement = getAttributeIconElement;
17046
17168
  exports.getAttributeIconUrl = getAttributeIconUrl;
17047
17169
  exports.getAttributeValue = getAttributeValue;
17048
17170
  exports.getAttributesConfiguration = getAttributesConfiguration;
17171
+ exports.getAverageTrackSize = getAverageTrackSize;
17049
17172
  exports.getChartAxes = getChartAxes;
17050
17173
  exports.getChartFilterName = getChartFilterName;
17051
17174
  exports.getChartMarkers = getChartMarkers;
@@ -17073,6 +17196,7 @@ exports.getLayerClientStyle = getLayerClientStyle;
17073
17196
  exports.getLayerInfo = getLayerInfo;
17074
17197
  exports.getLayerInfoAttribute = getLayerInfoAttribute;
17075
17198
  exports.getLayerInfoFromDataSources = getLayerInfoFromDataSources;
17199
+ exports.getLayoutChildren = getLayoutChildren;
17076
17200
  exports.getPagesFromConfig = getPagesFromConfig;
17077
17201
  exports.getPagesFromProjectInfo = getPagesFromProjectInfo;
17078
17202
  exports.getProxyService = getProxyService;
@@ -17088,12 +17212,16 @@ exports.getTemplateNameFromAttribute = getTemplateNameFromAttribute;
17088
17212
  exports.getThemeByName = getThemeByName;
17089
17213
  exports.getTotalFromAttributes = getTotalFromAttributes;
17090
17214
  exports.getTotalFromRelatedFeatures = getTotalFromRelatedFeatures;
17215
+ exports.getTrackSize = getTrackSize;
17216
+ exports.getTrackSizeKey = getTrackSizeKey;
17217
+ exports.getTrackSizes = getTrackSizes;
17091
17218
  exports.getWrapperSizeStyle = getWrapperSizeStyle;
17092
17219
  exports.hexToRgba = hexToRgba;
17093
17220
  exports.isEmptyElementValue = isEmptyElementValue;
17094
17221
  exports.isEmptyValue = isEmptyValue;
17095
17222
  exports.isFillSize = isFillSize;
17096
17223
  exports.isFrSize = isFrSize;
17224
+ exports.isGridNode = isGridNode;
17097
17225
  exports.isHiddenEmptyValue = isHiddenEmptyValue;
17098
17226
  exports.isHookActive = isHookActive;
17099
17227
  exports.isLayerService = isLayerService;
@@ -17101,24 +17229,33 @@ exports.isNotValidSelectedTab = isNotValidSelectedTab;
17101
17229
  exports.isNumeric = isNumeric;
17102
17230
  exports.isObject = isObject;
17103
17231
  exports.isProxyService = isProxyService;
17232
+ exports.isRootOwningContainer = isRootOwningContainer;
17104
17233
  exports.isTreeFilterValue = isTreeFilterValue;
17105
17234
  exports.isVisibleContainer = isVisibleContainer;
17235
+ exports.mapNodeById = mapNodeById;
17106
17236
  exports.mergeAttributeConfigurations = mergeAttributeConfigurations;
17107
17237
  exports.metersPerPixel = metersPerPixel;
17238
+ exports.noMarginMixin = noMarginMixin;
17108
17239
  exports.numberOptions = numberOptions;
17240
+ exports.parseFrValue = parseFrValue;
17109
17241
  exports.parseIconNames = parseIconNames;
17110
17242
  exports.parseIconNamesFromClientStyle = parseIconNamesFromClientStyle;
17111
17243
  exports.pieChartTooltipFromAttributes = pieChartTooltipFromAttributes;
17112
17244
  exports.pieChartTooltipFromRelatedFeatures = pieChartTooltipFromRelatedFeatures;
17113
17245
  exports.pointOptions = pointOptions;
17114
17246
  exports.removeDataSource = removeDataSource;
17247
+ exports.removeTracks = removeTracks;
17248
+ exports.replaceNodesByIds = replaceNodesByIds;
17115
17249
  exports.rgbToHex = rgbToHex;
17250
+ exports.roundFr = roundFr;
17116
17251
  exports.roundTotalSum = roundTotalSum;
17252
+ exports.setLayoutChildren = setLayoutChildren;
17117
17253
  exports.sizeCssMixin = sizeCssMixin;
17118
17254
  exports.sliceShownOtherItems = sliceShownOtherItems;
17119
17255
  exports.stretchPalette = stretchPalette;
17120
17256
  exports.timeOptions = timeOptions;
17121
17257
  exports.toCssSize = toCssSize;
17258
+ exports.toFrSize = toFrSize;
17122
17259
  exports.toPxNumber = toPxNumber;
17123
17260
  exports.toRenderableValue = toRenderableValue;
17124
17261
  exports.tooltipNameFromAttributes = tooltipNameFromAttributes;
@@ -17182,4 +17319,5 @@ exports.useWindowResize = useWindowResize;
17182
17319
  exports.useWrapperSize = useWrapperSize;
17183
17320
  exports.useZoomToFeatures = useZoomToFeatures;
17184
17321
  exports.useZoomToPoint = useZoomToPoint;
17322
+ exports.withTrackSize = withTrackSize;
17185
17323
  //# sourceMappingURL=index.js.map