@evergis/react 3.1.39 → 3.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.esm.js CHANGED
@@ -12,10 +12,10 @@ import { enUS } from 'date-fns/locale/en-US';
12
12
  import { uniqueId, isNil, isEmpty, isEqual, unescape } from 'lodash';
13
13
  import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
14
14
  import { changeProps, returnFound } from 'find-and';
15
- import MapboxDraw from '@mapbox/mapbox-gl-draw';
16
- import { geometryCollection, multiPolygon, polygon, multiLineString, multiPoint, point as point$1, bbox } from '@turf/turf';
17
15
  import { jsPDF } from 'jspdf';
18
16
  import html2canvas from 'html2canvas';
17
+ import MapboxDraw from '@mapbox/mapbox-gl-draw';
18
+ import { geometryCollection, multiPolygon, polygon, multiLineString, multiPoint, point as point$1, bbox } from '@turf/turf';
19
19
  import MapGL, { Source, Layer as Layer$1 } from 'react-map-gl/mapbox';
20
20
  import '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css';
21
21
  import 'mapbox-gl/dist/mapbox-gl.css';
@@ -5412,6 +5412,8 @@ const getAttributeValue = (element, attributes) => {
5412
5412
  return maxLength && maxLength < value.length ? (jsx(TextTrim, { maxLength: maxLength, expandable: expandable, lineBreak: lineBreak, children: value })) : (value);
5413
5413
  };
5414
5414
 
5415
+ const getChartAxes = (chartElement) => chartElement?.options?.relatedDataSources?.filter(({ chartAxis }) => chartAxis === "y");
5416
+
5415
5417
  const getChartFilterName = (relatedDataSources) => {
5416
5418
  const relatedAttributes = relatedDataSources || [];
5417
5419
  const axes = relatedAttributes.filter(({ chartAxis }) => chartAxis === "y");
@@ -6005,7 +6007,7 @@ const PagesContainer = memo(({ type = WidgetType.Dashboard, noBorders }) => {
6005
6007
  setSelectedTabId,
6006
6008
  type,
6007
6009
  ]);
6008
- return (jsxs("div", { id: "dashboard-root", style: { width }, children: [jsx(ExpandableTitle, { elementConfig: config, type: type, renderElement: renderElement }), jsx(Container, { isColumn: isColumn, isMain: true, noBorders: noBorders, children: jsx(ContainerChildren, { items: filteredChildren, isMain: true, renderElement: renderElement }) })] }));
6010
+ return (jsx(Container, { id: getRootElementId(type), style: { width }, isMain: true, isColumn: isColumn, noBorders: noBorders, children: jsx(ContainerChildren, { items: filteredChildren, isMain: true, renderElement: renderElement }) }));
6009
6011
  });
6010
6012
 
6011
6013
  const TwoColumnsInnerContainer = memo(({ renderElement }) => {
@@ -6573,10 +6575,12 @@ const LayersContainer = memo(({ type, elementConfig, renderElement }) => {
6573
6575
  return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsx(LayersContainerWrapper, { style: style, children: jsx(LayerTree, { layers: layers, onlyMainTools: true }) }))] }));
6574
6576
  });
6575
6577
 
6576
- const ExportPdfContainer = memo(({ elementConfig }) => {
6577
- const { loading, onExport } = useExportPdf(["dashboard-root"]);
6578
- const { style } = elementConfig || {};
6579
- return (jsx(Container, { style: style, children: jsx(IconButton, { kind: "tools_print", primary: true, disabled: loading, onClick: onExport, children: "\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 PDF" }) }));
6578
+ const ExportPdfContainer = memo(({ type, elementConfig }) => {
6579
+ const { t } = useGlobalContext();
6580
+ const { loading, onExport } = useExportPdf(getRootElementId(type));
6581
+ const { style, options } = elementConfig || {};
6582
+ const { icon, title } = options || {};
6583
+ return (jsx(Container, { children: jsx(IconButton, { kind: icon || "download", primary: true, disabled: loading, style: style, onClick: onExport, children: title ?? t("downloadPdf", { ns: "dashboard", defaultValue: "Скачать PDF" }) }) }));
6580
6584
  });
6581
6585
 
6582
6586
  const containerComponents = {
@@ -7428,8 +7432,6 @@ const ElementImage = memo(({ type, elementConfig }) => {
7428
7432
  return firstImage ? jsx("img", { src: firstImage, alt: firstImage, width: width }) : null;
7429
7433
  });
7430
7434
 
7431
- const getChartAxes = (chartElement) => chartElement?.options?.relatedDataSources?.filter(({ chartAxis }) => chartAxis === "y");
7432
-
7433
7435
  const ElementLegend = memo(({ type, element, elementConfig, expandedContainers }) => {
7434
7436
  const { attributes, dataSources } = useWidgetContext(type);
7435
7437
  const { options } = elementConfig || {};
@@ -8640,6 +8642,8 @@ const getTotalFromRelatedFeatures = (data) => {
8640
8642
  return data?.reduce((result, { value }) => result + Number(value), 0)?.toFixed(0) || "";
8641
8643
  };
8642
8644
 
8645
+ const getRootElementId = (type = WidgetType.Dashboard) => `${type}-root`;
8646
+
8643
8647
  const pieChartTooltipFromAttributes = (t, data, attributes) => {
8644
8648
  const attribute = attributes?.find(({ name }) => name === data[0].name);
8645
8649
  const renderValue = attribute
@@ -9094,125 +9098,99 @@ const useExpandableContainers = () => {
9094
9098
  return [expandedContainers, expandContainer];
9095
9099
  };
9096
9100
 
9097
- const useExportPdf = (ids) => {
9101
+ const useExportPdf = (id, margin = 20) => {
9098
9102
  const [loading, setLoading] = useState(false);
9099
9103
  const onExport = useCallback(async () => {
9100
- if (ids.length === 0) {
9104
+ if (!id) {
9101
9105
  return;
9102
9106
  }
9103
9107
  setLoading(true);
9104
- const pdf = new jsPDF("landscape", "pt", "a4", false);
9105
- for (let i = 0; i < ids.length; i++) {
9106
- const pageItemContents = document.querySelector(`#${ids[i]}`);
9107
- const data = await html2canvas(pageItemContents, {
9108
- scale: 2,
9109
- windowWidth: 800,
9110
- onclone: (clonedDocument, clonedElement) => {
9111
- clonedDocument.body.style.width = "1920px";
9112
- clonedDocument.body.style.height = "1080px";
9113
- /* if (!isCoverPage) {
9114
- clonedDocument.body.style.background = "#f4f7f9";
9115
- }
9116
-
9117
- const pageContainers = clonedElement.querySelectorAll(".export-page-container");
9118
- const inputWrappers = clonedElement.querySelectorAll(".page-title-input");
9119
- const textareas = clonedElement.querySelectorAll(".report-page-item-textarea");
9120
- const datePickerWrappers = clonedElement.querySelectorAll(".report-page-item-datepicker");
9121
- const pageBlockContainers = clonedElement.querySelectorAll(".report-page-block-container");
9122
- const pageItemTitles = clonedDocument.querySelectorAll(".report-page-item-title");
9123
-
9124
- pageContainers.forEach((element) => {
9125
- (element as HTMLDivElement).style.background = isCoverPage ? "transparent" : "#f4f7f9";
9126
- (element as HTMLDivElement).style.border = "none";
9127
- (element as HTMLDivElement).style.padding = isCoverPage ? "0px" : "3rem 3rem 30rem";
9128
- (element as HTMLDivElement).style.margin = isCoverPage ? "0px" : "initial";
9129
- });
9130
-
9131
- inputWrappers.forEach((inputWrapper) => {
9132
- const input = inputWrapper.querySelector("input");
9133
- const div = document.createElement("div");
9134
-
9135
- div.innerText = (input as HTMLInputElement).value;
9136
-
9137
- inputWrapper.replaceWith(div);
9138
- });
9139
-
9140
- textareas.forEach((textarea) => {
9141
- const div = document.createElement("div");
9142
-
9143
- if ((textarea as HTMLTextAreaElement).classList.contains("report-page-item-comment")) {
9144
- if (isCoverPage) {
9145
- (div as HTMLDivElement).style.display = "none";
9146
- } else {
9147
- (div as HTMLDivElement).style.fontSize = "24px";
9148
- (div as HTMLDivElement).style.fontWeight = "400";
9149
- (div as HTMLDivElement).style.opacity = "0.54";
9150
- (div as HTMLDivElement).style.marginTop = "2rem";
9151
- }
9152
- }
9153
-
9154
- if (isCoverPage) {
9155
- if ((textarea as HTMLTextAreaElement).classList.contains("report-page-front-cover-title")) {
9156
- (div as HTMLDivElement).style.fontSize = "32px";
9157
- (div as HTMLDivElement).style.fontWeight = "300";
9158
- (div as HTMLDivElement).style.lineHeight = "normal";
9159
- }
9160
-
9161
- if ((textarea as HTMLTextAreaElement).classList.contains("report-page-front-cover-comment")) {
9162
- (div as HTMLDivElement).style.fontSize = "16px";
9163
- (div as HTMLDivElement).style.fontWeight = "400";
9164
- (div as HTMLDivElement).style.opacity = "0.54";
9165
- (div as HTMLDivElement).style.lineHeight = "normal";
9166
- }
9167
- }
9168
-
9169
- div.innerText = (textarea as HTMLTextAreaElement).value;
9170
-
9171
- textarea.replaceWith(div);
9172
- });
9173
-
9174
- datePickerWrappers.forEach((inputWrapper) => {
9175
- const input = inputWrapper.querySelector("input");
9176
- const div = document.createElement("div");
9177
-
9178
- if (isCoverPage) {
9179
- (div as HTMLDivElement).style.fontSize = "12px";
9180
- (div as HTMLDivElement).style.fontWeight = "400";
9181
- (div as HTMLDivElement).style.opacity = "0.54";
9182
- }
9183
-
9184
- div.innerText = (input as HTMLInputElement).value;
9185
-
9186
- inputWrapper.replaceWith(div);
9187
- });
9188
-
9189
- pageBlockContainers.forEach((element) => {
9190
- (element as HTMLDivElement).style.background = "#ffffff";
9191
- });
9192
-
9193
- pageItemTitles.forEach((item) => {
9194
- if (isCoverPage) {
9195
- (item as HTMLDivElement).style.display = "none";
9196
- } else {
9197
- (item as HTMLDivElement).style.fontSize = "40px";
9198
- (item as HTMLDivElement).style.fontWeight = "300";
9199
- (item as HTMLDivElement).style.marginBottom = "2rem";
9200
- }
9201
- });*/
9202
- },
9108
+ const container = document.querySelector(`#${id}`);
9109
+ if (!container) {
9110
+ setLoading(false);
9111
+ return;
9112
+ }
9113
+ // Сохраняем оригинальные стили для восстановления
9114
+ const originalStyles = {
9115
+ overflow: container.style.overflow,
9116
+ position: container.style.position,
9117
+ };
9118
+ // Временные стили для точного измерения
9119
+ container.style.overflow = 'visible';
9120
+ container.style.position = 'relative';
9121
+ const pdf = new jsPDF("p", "px", "a4", false);
9122
+ const pageWidth = pdf.internal.pageSize.getWidth();
9123
+ const pageHeight = pdf.internal.pageSize.getHeight();
9124
+ const availableHeight = pageHeight - (2 * margin);
9125
+ // Получаем все дочерние элементы
9126
+ const children = Array.from(container.children);
9127
+ let currentPageHeight = 0;
9128
+ let currentPageElements = [];
9129
+ const pages = [];
9130
+ // Распределяем элементы по страницам
9131
+ for (const child of children) {
9132
+ const childHeight = child.offsetHeight;
9133
+ // Если элемент не помещается на текущей странице, начинаем новую
9134
+ if (currentPageHeight + childHeight > availableHeight && currentPageElements.length > 0) {
9135
+ pages.push([...currentPageElements]);
9136
+ currentPageElements = [];
9137
+ currentPageHeight = 0;
9138
+ }
9139
+ currentPageElements.push(child);
9140
+ currentPageHeight += childHeight;
9141
+ }
9142
+ // Добавляем последнюю страницу
9143
+ if (currentPageElements.length > 0) {
9144
+ pages.push(currentPageElements);
9145
+ }
9146
+ // Генерируем PDF для каждой страницы
9147
+ for (let pageIndex = 0; pageIndex < pages.length; pageIndex++) {
9148
+ if (pageIndex > 0) {
9149
+ pdf.addPage();
9150
+ }
9151
+ const pageElements = pages[pageIndex];
9152
+ // Создаем временный контейнер для текущей страницы
9153
+ const tempContainer = document.createElement('div');
9154
+ tempContainer.style.position = 'absolute';
9155
+ tempContainer.style.left = '-9999px';
9156
+ tempContainer.style.top = '0';
9157
+ tempContainer.style.width = container.offsetWidth + 'px';
9158
+ tempContainer.style.overflow = 'visible';
9159
+ // Клонируем элементы для текущей страницы
9160
+ pageElements.forEach(element => {
9161
+ const clone = element.cloneNode(true);
9162
+ tempContainer.appendChild(clone);
9203
9163
  });
9204
- const img = data.toDataURL("image/png");
9205
- const imgProperties = pdf.getImageProperties(img);
9206
- const pdfWidth = pdf.internal.pageSize.getWidth();
9207
- const pdfHeight = (imgProperties.height * pdfWidth) / imgProperties.width;
9208
- if (i > 0) {
9209
- pdf.addPage("a4", "landscape");
9164
+ document.body.appendChild(tempContainer);
9165
+ try {
9166
+ const canvas = await html2canvas(tempContainer, {
9167
+ scale: 2,
9168
+ useCORS: true,
9169
+ logging: false,
9170
+ backgroundColor: '#ffffff',
9171
+ width: container.offsetWidth,
9172
+ height: tempContainer.offsetHeight,
9173
+ });
9174
+ const imgData = canvas.toDataURL('image/png', 1.0);
9175
+ const imgWidth = pageWidth - (2 * margin);
9176
+ const imgHeight = (canvas.height * imgWidth) / canvas.width;
9177
+ // Центрируем по горизонтали и добавляем с верхним отступом
9178
+ pdf.addImage(imgData, 'PNG', margin, margin, imgWidth, imgHeight);
9179
+ }
9180
+ catch (error) {
9181
+ console.error('Error generating page:', error);
9182
+ }
9183
+ finally {
9184
+ // Удаляем временный контейнер
9185
+ document.body.removeChild(tempContainer);
9210
9186
  }
9211
- pdf.addImage(img, "PNG", 0, 0, pdfWidth, pdfHeight);
9212
9187
  }
9213
- pdf.save(`report_${format(new Date(), "yyyy-MM-dd_HH:mm:ss")}.pdf`);
9188
+ // Восстанавливаем оригинальные стили
9189
+ container.style.overflow = originalStyles.overflow;
9190
+ container.style.position = originalStyles.position;
9191
+ pdf.save(`${format(new Date(), "yyyy-MM-dd_HH:mm:ss")}.pdf`);
9214
9192
  setLoading(false);
9215
- }, [ids]);
9193
+ }, [id, margin]);
9216
9194
  return { loading, onExport };
9217
9195
  };
9218
9196
 
@@ -10097,5 +10075,5 @@ const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...res
10097
10075
  }, children: children }), upperSiblings] }));
10098
10076
  };
10099
10077
 
10100
- export { AddFeatureButton, AddFeatureContainer, AttributeGalleryContainer, AttributeLabel, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardGradientHeader, FeatureCardHeader, FeatureCardIconHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, PageNavigator, PageTitle, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, RoundedBackgroundContainer, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TmsType, TopContainer, TopContainerButtons, TwoColumnContainer, TwoColumnsInnerContainer, WidgetType, addDataSource, addDataSources, applyFiltersToCondition, applyQueryFilters, applyVarsToCondition, checkEqualOrIncludes, checkIsLoading, convertSpToTurfFeature, createConfigLayer, createConfigPage, createNewPageId, createTreeNode, dateOptions, debounce, decimalOpacityToHex, eqlParametersToPayload, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, getActualExtrusionHeight, getAttributeByName, getAttributeValue, getAttributesConfiguration, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDate, getDefaultConfig, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getLayerDefinition, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, numberOptions, parseClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, useAppHeight, useChartChange, useChartData, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useGetConfigLayer, useGlobalContext, useHeaderRender, useLayerParams, useMapContext, useMapDraw, useProjectDashboardInit, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
10078
+ export { AddFeatureButton, AddFeatureContainer, AttributeGalleryContainer, AttributeLabel, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardGradientHeader, FeatureCardHeader, FeatureCardIconHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, PageNavigator, PageTitle, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, RoundedBackgroundContainer, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TmsType, TopContainer, TopContainerButtons, TwoColumnContainer, TwoColumnsInnerContainer, WidgetType, addDataSource, addDataSources, applyFiltersToCondition, applyQueryFilters, applyVarsToCondition, checkEqualOrIncludes, checkIsLoading, convertSpToTurfFeature, createConfigLayer, createConfigPage, createNewPageId, createTreeNode, dateOptions, debounce, decimalOpacityToHex, eqlParametersToPayload, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, getActualExtrusionHeight, getAttributeByName, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDate, getDefaultConfig, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getLayerDefinition, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, numberOptions, parseClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, useAppHeight, useChartChange, useChartData, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useGetConfigLayer, useGlobalContext, useHeaderRender, useLayerParams, useMapContext, useMapDraw, useProjectDashboardInit, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
10101
10079
  //# sourceMappingURL=react.esm.js.map