@evergis/react 4.0.30 → 4.0.32

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
@@ -5390,11 +5390,23 @@ const useServerNotificationsContext = () => {
5390
5390
  const SERVER_NOTIFICATION_EVENT = {
5391
5391
  ReceiveFeaturesUpdate: "ReceiveFeaturesUpdateNotification",
5392
5392
  PythonProgressNotification: "ReceivePythonProgressNotification",
5393
+ PythonSandboxStats: "ReceivePythonSandboxStatsNotification",
5394
+ };
5395
+
5396
+ const usePythonSandbox = () => {
5397
+ const { api } = useGlobalContext();
5398
+ const preparePythonSandbox = useCallback(({ resourceId, isNotebook = false }) => api.remoteTaskManager.post({
5399
+ workerType: "pythonService",
5400
+ methodType: "pythonrunner/prepare",
5401
+ data: { resourceId, isNotebook },
5402
+ }), [api.remoteTaskManager]);
5403
+ return { preparePythonSandbox };
5393
5404
  };
5394
5405
 
5395
5406
  const usePythonTask = () => {
5396
5407
  const { api, t } = useGlobalContext();
5397
5408
  const { addSubscription, connection, unsubscribeById } = useServerNotificationsContext();
5409
+ const { preparePythonSandbox } = usePythonSandbox();
5398
5410
  const [status, setStatus] = useState(RemoteTaskStatus.Unknown);
5399
5411
  const [log, setLog] = useState(null);
5400
5412
  const [error, setError] = useState(null);
@@ -5403,6 +5415,7 @@ const usePythonTask = () => {
5403
5415
  const [taskId, setTaskId] = useState(null);
5404
5416
  const [subscriptionId, setSubscriptionId] = useState(null);
5405
5417
  const [isLogDialogOpen, setIsLogDialogOpen] = useState(false);
5418
+ const [result, setResult] = useState(null);
5406
5419
  const logRef = useRef(null);
5407
5420
  const reset = useCallback(() => {
5408
5421
  setStatus(RemoteTaskStatus.Unknown);
@@ -5411,6 +5424,7 @@ const usePythonTask = () => {
5411
5424
  setExecutionTime(null);
5412
5425
  setTaskId(null);
5413
5426
  setSubscriptionId(null);
5427
+ setResult(null);
5414
5428
  }, []);
5415
5429
  const runTask = useCallback(async ({ resourceId, parameters, script, fileName, methodName, }) => {
5416
5430
  reset();
@@ -5437,6 +5451,7 @@ const usePythonTask = () => {
5437
5451
  ],
5438
5452
  });
5439
5453
  prototypeId = prototypeId.replace(/["']+/g, "");
5454
+ await preparePythonSandbox({ resourceId });
5440
5455
  const { id: newTaskId, success } = await api.remoteTaskManager.startTask1(prototypeId);
5441
5456
  if (!success) {
5442
5457
  setStatus(RemoteTaskStatus.Error);
@@ -5446,30 +5461,31 @@ const usePythonTask = () => {
5446
5461
  }
5447
5462
  const newSubscriptionId = await addSubscription({
5448
5463
  tag: "python_task_progress_event",
5449
- taskId: newTaskId,
5464
+ resourceId,
5450
5465
  });
5451
5466
  setTaskId(newTaskId);
5452
5467
  setSubscriptionId(newSubscriptionId);
5453
- const onNotification = ({ data }) => {
5468
+ const onNotification = async ({ data }) => {
5454
5469
  if (data?.taskId === newTaskId) {
5470
+ const isFinished = [RemoteTaskStatus.Completed, RemoteTaskStatus.Error].includes(data.status);
5455
5471
  setStatus(data.status);
5456
5472
  setLog([logRef.current, data.log].filter(Boolean).join("\n"));
5457
5473
  setExecutionTime(Date.now() - start);
5458
5474
  setLoading(false);
5459
- setTaskId([RemoteTaskStatus.Completed, RemoteTaskStatus.Error].includes(data.status)
5460
- ? null
5461
- : newTaskId);
5462
- setSubscriptionId([RemoteTaskStatus.Completed, RemoteTaskStatus.Error].includes(data.status)
5463
- ? null
5464
- : newSubscriptionId);
5465
- if ([RemoteTaskStatus.Completed, RemoteTaskStatus.Error].includes(data.status)) {
5475
+ setTaskId(isFinished ? null : newTaskId);
5476
+ setSubscriptionId(isFinished ? null : newSubscriptionId);
5477
+ if (isFinished) {
5466
5478
  unsubscribeById(newSubscriptionId);
5467
5479
  connection.off(SERVER_NOTIFICATION_EVENT.PythonProgressNotification, onNotification);
5468
5480
  }
5481
+ if (data.status === RemoteTaskStatus.Completed) {
5482
+ const subTasks = await api.remoteTaskManager.get(newTaskId);
5483
+ setResult(subTasks?.[0]?.results?.response ?? null);
5484
+ }
5469
5485
  }
5470
5486
  };
5471
5487
  connection.on(SERVER_NOTIFICATION_EVENT.PythonProgressNotification, onNotification);
5472
- }, [api, connection, addSubscription, unsubscribeById, reset]);
5488
+ }, [reset, api, preparePythonSandbox, addSubscription, connection, t, unsubscribeById]);
5473
5489
  const stopTask = useCallback(async () => {
5474
5490
  await api.remoteTaskManager.stop(taskId);
5475
5491
  reset();
@@ -5496,6 +5512,7 @@ const usePythonTask = () => {
5496
5512
  executionTime,
5497
5513
  isLogDialogOpen,
5498
5514
  closeLog,
5515
+ result,
5499
5516
  };
5500
5517
  };
5501
5518
 
@@ -7466,14 +7483,35 @@ const StatusWaitingButton = ({ title, icon = "play", status, statusColors, isWai
7466
7483
  return (jsx(ThemeProvider, { theme: darkTheme, children: jsxs(StyledButton, { status: status, statusColors: statusColors, disabled: isDisabled, themeName: themeName, onClick: onClick, children: [renderIcon, renderTitle] }) }));
7467
7484
  };
7468
7485
 
7486
+ const buildFiltersFromResponse = (responseFilters, result) => {
7487
+ if (!responseFilters || !result)
7488
+ return null;
7489
+ const properties = result?.result?.features?.[0]?.properties;
7490
+ if (!properties)
7491
+ return null;
7492
+ const filters = Object.entries(responseFilters).reduce((acc, [filterName, token]) => {
7493
+ const attrName = typeof token === "string" && token.startsWith("%") ? token.slice(1) : token;
7494
+ const value = properties[attrName];
7495
+ if (value === undefined)
7496
+ return acc;
7497
+ return { ...acc, [filterName]: { value: value } };
7498
+ }, {});
7499
+ return Object.keys(filters).length ? filters : null;
7500
+ };
7501
+
7469
7502
  const TaskContainer = memo(({ type, elementConfig, renderElement }) => {
7470
7503
  const { t, ewktGeometry } = useGlobalContext();
7471
- const { dataSources, filters: selectedFilters, attributes, layerInfo } = useWidgetContext(type);
7504
+ const { dataSources, filters: selectedFilters, attributes, layerInfo, changeFilters, } = useWidgetContext(type);
7472
7505
  const { dataSources: projectDataSources } = useWidgetContext(WidgetType.Dashboard);
7473
7506
  const { currentPage } = useWidgetPage(type);
7474
- const { taskId, runTask, stopTask, status, openLog, loading, isLogDialogOpen, closeLog, log } = usePythonTask();
7507
+ const { taskId, runTask, stopTask, status, openLog, loading, isLogDialogOpen, closeLog, log, result, } = usePythonTask();
7475
7508
  const { options } = elementConfig || {};
7476
- const { title, relatedResources, center, icon, statusColors } = options || {};
7509
+ const { title, relatedResources, center, icon, statusColors, responseFilters } = options || {};
7510
+ useEffect(() => {
7511
+ const filtersToApply = buildFiltersFromResponse(responseFilters, result);
7512
+ if (filtersToApply)
7513
+ changeFilters(filtersToApply);
7514
+ }, [result, responseFilters, changeFilters]);
7477
7515
  const onClick = useCallback(async () => {
7478
7516
  if (taskId) {
7479
7517
  await stopTask();
@@ -7520,6 +7558,12 @@ const EditGroupContainer = memo(({ type, elementConfig, renderElement }) => {
7520
7558
  const getRenderContainerItem = useRenderContainerItem(type, renderElement);
7521
7559
  const { options } = elementConfig || {};
7522
7560
  const { controls } = options || {};
7561
+ const filteredAttributes = useMemo(() => {
7562
+ const { idAttribute } = layerInfo?.configuration?.attributesConfiguration || {};
7563
+ if (!idAttribute)
7564
+ return attributes;
7565
+ return attributes.filter(({ attributeName }) => attributeName !== idAttribute);
7566
+ }, [attributes, layerInfo?.configuration]);
7523
7567
  const renderContainer = useCallback((attributeName) => {
7524
7568
  const control = controls?.find(({ targetAttributeName }) => targetAttributeName === attributeName);
7525
7569
  const itemAttribute = attributes.find(item => item.attributeName === attributeName);
@@ -7552,7 +7596,7 @@ const EditGroupContainer = memo(({ type, elementConfig, renderElement }) => {
7552
7596
  expandedContainers,
7553
7597
  ]);
7554
7598
  if (!controls?.length) {
7555
- return (jsx(Fragment$1, { children: attributes.map(({ attributeName }) => renderContainer(attributeName)) }));
7599
+ return (jsx(Fragment$1, { children: filteredAttributes.map(({ attributeName }) => renderContainer(attributeName)) }));
7556
7600
  }
7557
7601
  return (jsx(Fragment$1, { children: controls.map(({ targetAttributeName }) => renderContainer(targetAttributeName)) }));
7558
7602
  });
@@ -7583,6 +7627,16 @@ const useEditControl = (type, elementConfig) => {
7583
7627
  [attributeName]: newValue,
7584
7628
  });
7585
7629
  }, [changeControls, attributeName]);
7630
+ useEffect(() => {
7631
+ if (control?.defaultValue === undefined)
7632
+ return;
7633
+ if (controls[attributeName] !== undefined)
7634
+ return;
7635
+ const hasAttributeValue = attributes.some(({ attributeName: name, value: attrValue }) => name === attributeName && attrValue !== undefined && attrValue !== null);
7636
+ if (hasAttributeValue)
7637
+ return;
7638
+ changeControls({ [attributeName]: control.defaultValue });
7639
+ }, [attributeName, attributes, changeControls, control?.defaultValue, controls]);
7586
7640
  return useMemo(() => ({ control, value, dataSource, items, onChange }), [control, value, dataSource, items, onChange]);
7587
7641
  };
7588
7642
 
@@ -7718,7 +7772,7 @@ const DefaultHeaderContainer = styled(Flex) `
7718
7772
  position: relative;
7719
7773
  flex-shrink: 0;
7720
7774
  min-height: 8.175rem;
7721
- margin-bottom: -1.5rem;
7775
+ margin-bottom: -0.75rem;
7722
7776
  padding: 1.5rem 1.5rem 0;
7723
7777
  border-top-left-radius: 0.5rem;
7724
7778
  border-top-right-radius: 0.5rem;
@@ -9268,19 +9322,15 @@ const ElementUploader = memo(({ elementConfig, type }) => {
9268
9322
  return (jsx(UploaderContainer, { id: id, style: style, children: jsx("div", { children: jsx(Uploader, { currentRef: refInput, title: renderTitle, accept: fileExtensions, width: "100%", fileItems: files, isMultiple: multiSelect, onUpload: onUpload, onDelete: onDelete }) }) }));
9269
9323
  });
9270
9324
 
9271
- const ModalIcon = styled(Icon) `
9272
- &&& {
9273
- cursor: pointer;
9274
-
9275
- :after {
9276
- font-size: 0.75rem;
9277
- color: ${({ theme: { palette } }) => palette.iconDisabled};
9278
- transition: color ${transition.hover};
9279
- }
9325
+ const ModalIcon = styled(IconButton) `
9326
+ :after {
9327
+ font-size: 0.75rem;
9328
+ color: ${({ theme: { palette } }) => palette.iconDisabled};
9329
+ transition: color ${transition.hover};
9330
+ }
9280
9331
 
9281
- :hover:after {
9282
- color: ${({ theme: { palette } }) => palette.icon};
9283
- }
9332
+ :hover:after {
9333
+ color: ${({ theme: { palette } }) => palette.icon};
9284
9334
  }
9285
9335
  `;
9286
9336
 
@@ -9390,7 +9440,7 @@ const ElementModal = memo(({ type = WidgetType.Dashboard, elementConfig }) => {
9390
9440
  return null;
9391
9441
  const { options: modalOptions } = modalConfig;
9392
9442
  const { title, maxWidth, minWidth, minHeight } = modalOptions || {};
9393
- return (jsxs(Fragment$1, { children: [jsx(ModalIcon, { kind: icon || "new_window", onClick: handleOpen }), jsxs(Dialog, { isOpen: isOpen, onCloseRequest: handleClose, modal: true, maxWidth: maxWidth, minWidth: minWidth, minHeight: minHeight, style: { paddingBottom: "2rem" }, children: [jsx(DialogTitle, { children: jsxs(Flex, { justifyContent: "space-between", alignItems: "center", children: [!!title && jsx("span", { children: title }), jsx(IconButton, { kind: "close", onClick: handleClose })] }) }), jsx(DialogContent, { children: isLoading ? (jsx(DashboardLoading, {})) : (jsx(Container, { isColumn: true, noBorders: true, children: jsx(ContainerChildren, { type: type, items: modalContent, isMain: true, renderElement: renderElement }) })) })] })] }));
9443
+ return (jsxs(Fragment$1, { children: [jsx(ModalIcon, { kind: icon || "new_window", onClick: handleOpen, children: title }), jsxs(Dialog, { maxWidth: maxWidth, minWidth: minWidth, minHeight: minHeight, isOpen: isOpen, modal: true, onCloseRequest: handleClose, style: { paddingBottom: "2rem" }, children: [jsx(DialogTitle, { children: jsxs(Flex, { justifyContent: "space-between", alignItems: "center", children: [!!title && jsx("span", { children: title }), jsx(IconButton, { kind: "close", onClick: handleClose })] }) }), jsx(DialogContent, { children: isLoading ? (jsx(DashboardLoading, {})) : (jsx(Container, { isColumn: true, noBorders: true, children: jsx(ContainerChildren, { type: type, items: modalContent, isMain: true, renderElement: renderElement }) })) })] })] }));
9394
9444
  });
9395
9445
 
9396
9446
  const ElementLayerName = memo(({ type }) => {
@@ -12271,5 +12321,5 @@ const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...res
12271
12321
  }, children: children }), upperSiblings] }));
12272
12322
  };
12273
12323
 
12274
- 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, 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, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRenderElement, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useZoomToFeatures, useZoomToPoint };
12324
+ 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, 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 };
12275
12325
  //# sourceMappingURL=react.esm.js.map