@evergis/react 4.0.37 → 4.0.39

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
@@ -3,9 +3,10 @@ import { IconButton, Flex, transition, Chip, Icon, Description, FlexSpan, IconTo
3
3
  import { useState, useMemo, useCallback, useRef, useEffect, createContext, memo, useContext, Fragment } from 'react';
4
4
  import styled, { createGlobalStyle, css, useTheme } from 'styled-components';
5
5
  import { lineChartClassNames, BarChart as BarChart$1, barChartClassNames, LineChart, PieChart } from '@evergis/charts';
6
- import { AttributeType, STORAGE_TOKEN_KEY, generateId, parseJwt, STORAGE_REFRESH_TOKEN_KEY, RemoteTaskStatus, OgcGeometryType, AttributeConfigurationType } from '@evergis/api';
6
+ import { AttributeType, OgcGeometryType, STORAGE_TOKEN_KEY, generateId, parseJwt, STORAGE_REFRESH_TOKEN_KEY, RemoteTaskStatus, AttributeConfigurationType } from '@evergis/api';
7
7
  import Gradient from 'javascript-color-gradient';
8
8
  import { Color as Color$1 } from '@evergis/color';
9
+ import { multiPolygon, polygon, multiLineString, lineString, multiPoint, point as point$1, bbox } from '@turf/turf';
9
10
  import { isValid, format, parseJSON, parseISO, toDate } from 'date-fns';
10
11
  import { isNil, uniqueId, isEmpty, isEqual, unescape } from 'lodash';
11
12
  import { ru } from 'date-fns/locale/ru';
@@ -15,7 +16,6 @@ import { changeProps, returnFound } from 'find-and';
15
16
  import { jsPDF } from 'jspdf';
16
17
  import html2canvas from 'html2canvas';
17
18
  import MapboxDraw from '@mapbox/mapbox-gl-draw';
18
- import { bbox } from '@turf/turf';
19
19
  import MapGL, { Source, Layer as Layer$1 } from 'react-map-gl/maplibre';
20
20
  import '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css';
21
21
  import 'mapbox-gl/dist/mapbox-gl.css';
@@ -3628,6 +3628,27 @@ const adjustColor = (color, lightnessAdjustment = 5) => {
3628
3628
  return `#${toHex(rNew)}${toHex(gNew)}${toHex(bNew)}`;
3629
3629
  };
3630
3630
 
3631
+ const convertSpToTurfFeature = (geometry) => {
3632
+ if (!geometry) {
3633
+ return;
3634
+ }
3635
+ const { type, coordinates } = geometry;
3636
+ switch (type) {
3637
+ case OgcGeometryType.Point:
3638
+ return point$1(coordinates);
3639
+ case OgcGeometryType.MultiPoint:
3640
+ return multiPoint(coordinates);
3641
+ case OgcGeometryType.LineString:
3642
+ return lineString(coordinates);
3643
+ case OgcGeometryType.MultiLineString:
3644
+ return multiLineString(coordinates);
3645
+ case OgcGeometryType.Polygon:
3646
+ return polygon(coordinates);
3647
+ case OgcGeometryType.MultiPolygon:
3648
+ return multiPolygon(coordinates);
3649
+ }
3650
+ };
3651
+
3631
3652
  const NO_CONTENT_VALUE = "—";
3632
3653
  var DateFormat;
3633
3654
  (function (DateFormat) {
@@ -5339,17 +5360,25 @@ const useRedrawLayer = () => {
5339
5360
  }, [map]);
5340
5361
  };
5341
5362
 
5363
+ const SINGLE_FEATURE_FALLBACK_ZOOM = 17;
5342
5364
  const useZoomToFeatures = () => {
5343
5365
  const { map } = useMapContext();
5344
5366
  return useCallback((features, options) => {
5345
5367
  if (!features) {
5346
5368
  return;
5347
5369
  }
5348
- const currentFeatureCenter = bbox({
5370
+ const [minX, minY, maxX, maxY] = bbox({
5349
5371
  type: "FeatureCollection",
5350
- features: features,
5372
+ features: features.map(feature => convertSpToTurfFeature(feature.geometry)),
5373
+ });
5374
+ if (minX === maxX && minY === maxY) {
5375
+ map.current.flyTo({ center: [minX, minY], zoom: options?.maxZoom ?? SINGLE_FEATURE_FALLBACK_ZOOM });
5376
+ return;
5377
+ }
5378
+ map.current.fitBounds([minX, minY, maxX, maxY], {
5379
+ ...options,
5380
+ padding: options?.padding ?? 150,
5351
5381
  });
5352
- map.current.fitBounds(currentFeatureCenter, { ...options, padding: options?.padding ?? 150 });
5353
5382
  }, [map]);
5354
5383
  };
5355
5384
 
@@ -5385,6 +5414,70 @@ const useLayerParams = (layer) => {
5385
5414
  return layerParams;
5386
5415
  };
5387
5416
 
5417
+ const useMaxZoomTo = () => {
5418
+ const { currentPage } = useWidgetPage();
5419
+ return useCallback((layerName) => {
5420
+ if (!layerName) {
5421
+ return [currentPage?.options?.maxZoomTo, undefined];
5422
+ }
5423
+ return [currentPage?.options?.maxZoomTo, currentPage?.layers?.find(item => item.name === layerName)?.maxZoomTo];
5424
+ }, [currentPage?.layers, currentPage?.options?.maxZoomTo]);
5425
+ };
5426
+
5427
+ const useCustomFeatureSelect = () => {
5428
+ const { currentPage } = useWidgetPage();
5429
+ return useCallback((layerName) => {
5430
+ if (!layerName) {
5431
+ return [currentPage?.options?.customFeatureSelect, undefined];
5432
+ }
5433
+ return [
5434
+ currentPage?.options?.customFeatureSelect,
5435
+ currentPage?.layers?.find(item => item.name === layerName)?.customFeatureSelect,
5436
+ ];
5437
+ }, [currentPage?.layers, currentPage?.options?.customFeatureSelect]);
5438
+ };
5439
+
5440
+ const useCurrentPageLayers = () => {
5441
+ const { currentPage } = useWidgetPage();
5442
+ return useMemo(() => currentPage?.layers || [], [currentPage?.layers]);
5443
+ };
5444
+
5445
+ const useLayerHiddenAttributes = (layerName) => {
5446
+ const { currentPage, updateConfigPage } = useWidgetPage();
5447
+ const layerHiddenAttributes = useMemo(() => {
5448
+ return currentPage?.layers?.find(item => item.name === layerName)?.hiddenAttributes ?? [];
5449
+ }, [currentPage?.layers, layerName]);
5450
+ const updateLayerHiddenAttributes = useCallback((updatedHiddenAttributes) => {
5451
+ updateConfigPage({
5452
+ ...currentPage,
5453
+ layers: currentPage?.layers?.map(item => {
5454
+ return item.name === layerName
5455
+ ? {
5456
+ ...item,
5457
+ hiddenAttributes: updatedHiddenAttributes,
5458
+ }
5459
+ : item;
5460
+ }),
5461
+ });
5462
+ }, [currentPage, layerName, updateConfigPage]);
5463
+ return [layerHiddenAttributes, updateLayerHiddenAttributes];
5464
+ };
5465
+
5466
+ const useVisibleProjectItems = (applyMinMaxScale) => {
5467
+ const { map } = useMapContext();
5468
+ const projectItems = useCurrentPageLayers();
5469
+ const zoomChange = useMemo(() => (applyMinMaxScale && map.current?.getZoom() !== undefined ? Math.round(map.current?.getZoom()) : undefined), [applyMinMaxScale, map.current?.getZoom()]);
5470
+ return useMemo(() => {
5471
+ if (map.current?.getZoom() === undefined) {
5472
+ return [];
5473
+ }
5474
+ return (projectItems?.filter(item => item.isVisible &&
5475
+ (!applyMinMaxScale ||
5476
+ (Math.round(map.current.getZoom()) >= (item.minScale ?? 0) &&
5477
+ Math.round(map.current.getZoom()) <= (item.maxScale ?? 30)))) ?? []);
5478
+ }, [projectItems, zoomChange, applyMinMaxScale]);
5479
+ };
5480
+
5388
5481
  const useServerNotificationsContext = () => {
5389
5482
  return useContext(ServerNotificationsContext);
5390
5483
  };
@@ -8224,11 +8317,13 @@ const FeatureCardIconHeader = ({ isRow }) => {
8224
8317
  const { layerInfo, feature } = useWidgetContext(WidgetType.FeatureCard);
8225
8318
  const { config } = useWidgetConfig(WidgetType.FeatureCard);
8226
8319
  const zoomToFeatures = useZoomToFeatures();
8320
+ const getMaxZoomTo = useMaxZoomTo();
8321
+ const [optionsMaxZoomTo, layerMaxZoomTo] = useMemo(() => getMaxZoomTo(layerInfo?.name), [layerInfo?.name, getMaxZoomTo]);
8227
8322
  const { header } = config || {};
8228
8323
  const { options } = header || {};
8229
8324
  const { fontColor, bgColor, bigIcon } = options || {};
8230
8325
  const renderElement = useHeaderRender(header);
8231
- const handleIconClick = useCallback(() => zoomToFeatures([feature]), [zoomToFeatures, feature]);
8326
+ const handleIconClick = useCallback(() => zoomToFeatures([feature], { maxZoom: layerMaxZoomTo ?? optionsMaxZoomTo }), [zoomToFeatures, feature, layerMaxZoomTo, optionsMaxZoomTo]);
8232
8327
  return (jsx(IconHeaderWrapper, { "$fontColor": fontColor, "$bgColor": bgColor, "$bigIcon": bigIcon, children: jsx(ThemeProvider, { theme: defaultTheme, children: jsxs(Header, { "$isRow": isRow, children: [jsxs(HeaderFrontView, { children: [jsxs(HeaderContainer, { children: [jsx(Tooltip$1, { arrow: true, placement: "top", content: t("zoomToFeature", { ns: "dashboard", defaultValue: "Приблизить к объекту" }), delay: [600, 0], children: ref => (jsx(LayerIconClickable, { ref: ref, onClick: handleIconClick, children: jsx(LayerIcon, { layerInfo: layerInfo }) })) }), jsx(FeatureCardTitle, { title: renderElement({
8233
8328
  id: "title",
8234
8329
  wrap: false,
@@ -12328,5 +12423,5 @@ const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...res
12328
12423
  }, children: children }), upperSiblings] }));
12329
12424
  };
12330
12425
 
12331
- export { AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, 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_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, 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, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, 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, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, RoundedBackgroundContainer, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, WidgetType, addDataSource, addDataSources, adjustColor, applyFiltersToCondition, applyQueryFilters, applyVarsToCondition, checkEqualOrIncludes, checkIsLoading, 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, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTemplateNameFromAttribute, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, metersPerPixel, numberOptions, parseClientStyle, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, updateDataSource, useAppHeight, useAutoCompleteControl, useChartChange, useChartData, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerParams, useMapContext, useMapDraw, useMapImages, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
12426
+ export { AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, 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_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, 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, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, 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, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OneColumnContainer, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, RoundedBackgroundContainer, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, WidgetType, addDataSource, addDataSources, adjustColor, 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, getLayerInfo, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getSvgUrl, getTemplateNameFromAttribute, getTotalFromAttributes, getTotalFromRelatedFeatures, hexToRgba, isCompositeLayerConfiguration, isEmptyElementValue, isEmptyValue, isHiddenEmptyValue, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isVisibleContainer, metersPerPixel, numberOptions, parseClientStyle, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sliceShownOtherItems, timeOptions, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, updateDataSource, useAppHeight, useAutoCompleteControl, useChartChange, useChartData, useCurrentPageLayers, useCustomFeatureSelect, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useExpandableContainers, useExportPdf, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerHiddenAttributes, useLayerParams, useMapContext, useMapDraw, useMapImages, useMaxZoomTo, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useVisibleProjectItems, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
12332
12427
  //# sourceMappingURL=react.esm.js.map