@kando-env/kando-ui 1.2.466-alpha.5 → 1.2.466-alpha.7
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/lib/Router.js +40 -81
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +24 -35
- package/lib/Widgets/EventsRow/EventsRow.js +26 -39
- package/lib/Widgets/Map/GraphUtils.js +4 -6
- package/lib/Widgets/Map/Map.js +100 -139
- package/lib/Widgets/Map/MapUtils.js +83 -102
- package/lib/Widgets/Map/areas/AreaPolygon.js +57 -84
- package/lib/Widgets/Map/areas/AreaPolygons.js +23 -25
- package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
- package/lib/Widgets/Map/areas/Patterns.js +5 -5
- package/lib/Widgets/Map/edges/Edge.js +32 -41
- package/lib/Widgets/Map/edges/Edges.js +19 -24
- package/lib/Widgets/Map/edges/arrows/Arrows.js +24 -45
- package/lib/Widgets/Map/events/Event.js +15 -14
- package/lib/Widgets/Map/events/EventIndicator.js +66 -63
- package/lib/Widgets/Map/events/EventPath.js +33 -34
- package/lib/Widgets/Map/events/EventUtils.js +54 -78
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -19
- package/lib/Widgets/Map/events/PointOfEvent.js +27 -36
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +29 -39
- package/lib/Widgets/Map/events/Snail.js +10 -11
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +77 -79
- package/lib/Widgets/Map/map/FloatingGraph.js +24 -21
- package/lib/Widgets/Map/map/GraphDateButton.js +27 -20
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +17 -16
- package/lib/Widgets/Map/points/PointIcon.js +23 -22
- package/lib/Widgets/Map/points/PointMarker.js +68 -88
- package/lib/Widgets/Map/points/PointMarkers.js +30 -36
- package/lib/Widgets/Map/points/PointUtils.js +76 -90
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +25 -43
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -14
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +4 -6
- package/lib/Widgets/MostPolluting/Areas/Areas.js +28 -60
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -4
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +4 -6
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +12 -9
- package/lib/Widgets/MostPolluting/Factories/Factories.js +33 -65
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +15 -20
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -20
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +9 -10
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +13 -11
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +4 -6
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -3
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/styles.js +4 -6
- package/lib/Widgets/MostPolluting/MostPolluting.js +23 -34
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +20 -32
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +7 -5
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +7 -6
- package/lib/Widgets/MostPolluting/assets/index.js +12 -12
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +20 -14
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +36 -31
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +49 -54
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +44 -40
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +53 -49
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +4 -6
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +8 -6
- package/lib/Widgets/PotentialImpactSummary/Icon.js +30 -39
- package/lib/Widgets/PotentialImpactSummary/index.js +20 -28
- package/lib/Widgets/PotentialImpactSummary/index.test.js +48 -54
- package/lib/Widgets/PotentialImpactSummary/styles.js +8 -13
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +10 -8
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +23 -18
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +34 -31
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +28 -26
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -38
- package/lib/Widgets/QualitySummary/QualitySummary.js +10 -14
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -7
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +24 -21
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -14
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +26 -21
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -36
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +30 -31
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -5
- package/lib/assets/icons/TopNavbar/index.js +7 -7
- package/lib/assets/icons/TrendSvg.js +7 -7
- package/lib/assets/icons/index.js +16 -16
- package/lib/assets/icons/kandoStepper/index.js +7 -7
- package/lib/assets/icons/siteTypes/index.js +2 -2
- package/lib/components/ApplyButton/ApplyButton.js +10 -11
- package/lib/components/ApplyButton/index.js +3 -4
- package/lib/components/Backdrop/Backdrop.js +7 -5
- package/lib/components/ContentLoader/ContentLoader.js +12 -10
- package/lib/components/ContentLoader/index.js +2 -2
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +5 -9
- package/lib/components/CustomInputs/DoubleTabs/styles.js +21 -16
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +12 -20
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +7 -6
- package/lib/components/CustomInputs/Search/Search.js +37 -60
- package/lib/components/CustomInputs/Search/index.js +3 -4
- package/lib/components/CustomInputs/Select/Select.js +38 -55
- package/lib/components/CustomInputs/Select/Select.stories.js +6 -10
- package/lib/components/DamageType/DamageType.js +35 -60
- package/lib/components/DamageType/index.js +3 -4
- package/lib/components/DataLoaderError/DataLoaderError.js +9 -7
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +11 -13
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +72 -73
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +25 -37
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +12 -16
- package/lib/components/DischargeHeatmap/index.js +3 -4
- package/lib/components/DischargeHeatmap/mocks/handlers.js +5 -6
- package/lib/components/DischargeHeatmap/popupText.js +11 -12
- package/lib/components/DischargeHeatmap/titles.js +4 -6
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +27 -42
- package/lib/components/Events/Events.js +29 -48
- package/lib/components/Events/index.js +3 -4
- package/lib/components/Graph/Graph.js +74 -95
- package/lib/components/Graph/index.js +3 -4
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +19 -24
- package/lib/components/Header/Breadcrumbs/index.js +3 -4
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +18 -28
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +5 -9
- package/lib/components/Header/DoubleTabs/styles.js +5 -8
- package/lib/components/Header/Header.js +3 -3
- package/lib/components/Header/Header.stories.js +5 -9
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +24 -36
- package/lib/components/Header/InfoBar/InfoBar.js +69 -102
- package/lib/components/Header/InfoBar/Search/Control.js +11 -10
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +8 -7
- package/lib/components/Header/InfoBar/Search/Search.js +17 -24
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -35
- package/lib/components/Header/InfoBar/Search/index.js +3 -4
- package/lib/components/Header/InfoBar/Search/searchStyle.js +36 -49
- package/lib/components/Header/InfoBar/TimeFilter.js +13 -17
- package/lib/components/Header/InfoBar/types.js +1 -1
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +66 -93
- package/lib/components/Header/KandoNavbar/index.js +3 -4
- package/lib/components/Header/Slideshow/Slideshow.js +67 -91
- package/lib/components/Header/Slideshow/index.js +3 -4
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +7 -5
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +22 -24
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +17 -17
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +36 -42
- package/lib/components/Header/Toolbar/Toolbar.js +58 -76
- package/lib/components/InfoBar/InfoBar.js +10 -24
- package/lib/components/InfoBar/InfoBar.stories.js +5 -9
- package/lib/components/KandoModal/KandoModal.js +26 -62
- package/lib/components/KandoModal/index.js +3 -4
- package/lib/components/Link.js +9 -8
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +10 -7
- package/lib/components/Links/StyledLink/StyledLink.js +17 -20
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +12 -10
- package/lib/components/LiveEvents/CarouselSlide.js +11 -10
- package/lib/components/LiveEvents/LiveEvents.js +7 -6
- package/lib/components/LiveEvents/index.js +3 -4
- package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -30
- package/lib/components/Map/Map.js +20 -25
- package/lib/components/Map/index.js +3 -4
- package/lib/components/Modal/Modal.js +10 -10
- package/lib/components/NarrowHeader.js +18 -32
- package/lib/components/PointInfo/PointInfo.js +20 -19
- package/lib/components/PointInfo/index.js +3 -4
- package/lib/components/PopupModal/PopupModal.js +13 -17
- package/lib/components/PopupModal/PopupModal.stories.js +17 -24
- package/lib/components/Sector/Sector.js +34 -40
- package/lib/components/Sector/Sector.test.js +24 -24
- package/lib/components/Sector/SectorIconsNew.js +26 -19
- package/lib/components/Sector/index.js +3 -4
- package/lib/components/Sector/sectorIcons.js +4 -5
- package/lib/components/SevereEvent/Eta/Eta.js +49 -54
- package/lib/components/SevereEvent/Eta/styles.js +11 -8
- package/lib/components/SevereEvent/SevereEvent.js +28 -52
- package/lib/components/SevereEvent/SevereEvent.scss +0 -24
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +6 -11
- package/lib/components/Spinner/index.js +3 -4
- package/lib/components/Spinner/styles.js +21 -16
- package/lib/components/Tabs/Tabs.js +18 -31
- package/lib/components/Tabs/Tabs.stories.js +6 -10
- package/lib/components/Tabs/assets/index.js +6 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +13 -18
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +32 -45
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +20 -34
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +3 -4
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +17 -22
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -14
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +3 -4
- package/lib/components/TimeRangeSelector/TimeRangeList.js +24 -27
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -27
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +26 -31
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +6 -10
- package/lib/components/TimeRangeSelector/constants.js +3 -5
- package/lib/components/TimeRangeSelector/index.js +3 -4
- package/lib/components/Toggle/Toggle.js +11 -18
- package/lib/components/Toggle/index.js +3 -4
- package/lib/components/TrendGraph/TrendGraph.js +24 -42
- package/lib/components/TrendGraph/index.js +3 -4
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +26 -33
- package/lib/components/TrendGraphNVL/index.js +3 -4
- package/lib/development-environment/index.js +9 -13
- package/lib/development-environment/mock/browser.js +2 -5
- package/lib/development-environment/mock/get.js +8 -10
- package/lib/development-environment/mock/handlers.js +2 -3
- package/lib/development-environment/mock/mockBus.js +4 -5
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -3
- package/lib/development-environment/mock/mockObjects/areasJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -3
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -3
- package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -3
- package/lib/development-environment/mock/mockObjects/data-search.js +2 -3
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -3
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -3
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/metascore.js +2 -3
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/site-info.js +2 -3
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -3
- package/lib/development-environment/togly/ToglyDashboard.js +13 -23
- package/lib/development-environment/togly/ToglyItem.js +24 -31
- package/lib/development-environment/togly/flags.js +1 -1
- package/lib/development-environment/togly/init.js +4 -4
- package/lib/development-environment/togly/macro.js +13 -9
- package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
- package/lib/development-environment/togly/useLocalStorage.js +13 -18
- package/lib/hooks/useApi.js +20 -56
- package/lib/hooks/useApiWithDashboardQuery.js +23 -43
- package/lib/hooks/useClickOutside.js +4 -5
- package/lib/hooks/useInitializeHeaders.js +6 -6
- package/lib/hooks/useKandoFetch.js +17 -31
- package/lib/hooks/useMap.js +25 -37
- package/lib/hooks/useNavContext.js +22 -26
- package/lib/hooks/useQueryURL.js +2 -3
- package/lib/hooks/useRemoveExistingLayers.js +7 -8
- package/lib/hooks/useUpdateEventBodyTail.js +14 -19
- package/lib/hooks/useUserTimeZone.js +34 -31
- package/lib/hooks/useUserTimeZone.test.js +19 -23
- package/lib/hooks/useWindowSize.js +7 -14
- package/lib/i18n/en.json +3 -14
- package/lib/i18n/he.json +1 -11
- package/lib/index.js +11 -13
- package/lib/macros/getVersion.js +2 -2
- package/lib/models/IAction.js +1 -1
- package/lib/models/IAppState.js +1 -1
- package/lib/pages/AreaPage/AreaPage.js +34 -68
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +15 -17
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +26 -28
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +14 -23
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +4 -6
- package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -3
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +5 -8
- package/lib/pages/AssessmentPage/AssessmentPage.js +38 -46
- package/lib/pages/CannyWidget/Feedback.js +14 -16
- package/lib/pages/CovidPage/CovidPage.js +9 -16
- package/lib/pages/CovidPage/components/Body.js +26 -30
- package/lib/pages/CovidPage/components/Map.js +28 -40
- package/lib/pages/CovidPage/components/Sidebar.js +15 -16
- package/lib/pages/CovidPage/components/Summary.js +20 -29
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +26 -33
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +3 -4
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +52 -76
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +3 -4
- package/lib/pages/CovidPage/components/areas/Area.js +24 -36
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +45 -46
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -36
- package/lib/pages/CovidPage/components/areas/AreasList.js +29 -42
- package/lib/pages/CovidPage/components/areas/Sort.js +12 -17
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +27 -27
- package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
- package/lib/pages/DashboardMap/Capacity.js +28 -77
- package/lib/pages/DashboardMap/FactoryCard.js +28 -24
- package/lib/pages/DashboardMap/HighchartsOptions.js +6 -5
- package/lib/pages/DashboardMap/List.js +55 -65
- package/lib/pages/DashboardMap/ListContext.js +14 -19
- package/lib/pages/DashboardMap/Loader.js +3 -3
- package/lib/pages/DashboardMap/SeverityBadge.js +16 -24
- package/lib/pages/DashboardMap/WWTPMap.js +57 -71
- package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
- package/lib/pages/DashboardMap/Widget.js +48 -67
- package/lib/pages/DashboardMap/index.js +3 -4
- package/lib/pages/DashboardMap/utils.js +41 -60
- package/lib/pages/EventsPage/Body/Body.js +15 -12
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -20
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +16 -27
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +10 -9
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +13 -10
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +22 -31
- package/lib/pages/EventsPage/DragAndDropArea/index.js +3 -4
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +30 -38
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +14 -23
- package/lib/pages/EventsPage/EventsPage.js +10 -17
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -40
- package/lib/pages/EventsPage/events/MoreInfo.js +18 -19
- package/lib/pages/EventsPage/events/Sidebar.js +14 -11
- package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +9 -10
- package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +19 -24
- package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +31 -38
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +35 -33
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +50 -60
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
- package/lib/pages/EventsPage/events/event_info/EventSection.js +18 -21
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +29 -23
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -50
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +8 -7
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -35
- package/lib/pages/EventsPage/events/event_info/Header/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -7
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +30 -39
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +6 -9
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +14 -15
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +9 -12
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +23 -24
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +13 -22
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +7 -6
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +13 -12
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -28
- package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +13 -10
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +9 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +4 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +13 -11
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +11 -14
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +7 -6
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +9 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +9 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +8 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +13 -12
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +18 -19
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +9 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +19 -18
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +6 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +13 -12
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +23 -19
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +12 -11
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +8 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +3 -4
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +4 -6
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -40
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +30 -39
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +13 -12
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +17 -20
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -31
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +22 -27
- package/lib/pages/EventsPage/events/event_info/styles.js +21 -15
- package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -21
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
- package/lib/pages/EventsPage/events/events_list/EventsList.js +111 -142
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +41 -58
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +90 -135
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +54 -76
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +39 -44
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +32 -41
- package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +19 -21
- package/lib/pages/EventsPage/events/events_list/Sort.js +28 -39
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +14 -22
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +9 -8
- package/lib/pages/ImportFileWizard/ImportFile.js +21 -25
- package/lib/pages/ImportFileWizard/ResponseBody.js +26 -36
- package/lib/pages/ImportFileWizard/ValidationForm.js +23 -23
- package/lib/pages/ImportFileWizard/ValidationResponse.js +23 -25
- package/lib/pages/ImportFileWizard/importFileUtils.js +4 -5
- package/lib/pages/ImportFileWizard/index.js +3 -4
- package/lib/pages/ImportGisPage/ImportGisContainer.js +22 -27
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +38 -44
- package/lib/pages/ImportGisPage/importGisUtils.js +43 -52
- package/lib/pages/ImportGisProcess/index.js +14 -18
- package/lib/pages/ImportSiteProcess/index.js +14 -18
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -13
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +18 -20
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +28 -60
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -12
- package/lib/pages/NotificationsPage/Notification/Notification.js +17 -13
- package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.mock.js +2 -3
- package/lib/pages/NotificationsPage/Notifications.stories.js +6 -10
- package/lib/pages/NotificationsPage/NotificationsPage.js +19 -38
- package/lib/pages/NotificationsPage/assets/index.js +10 -10
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +72 -101
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +95 -65
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +13 -15
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +19 -17
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +19 -23
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +82 -71
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +19 -23
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +71 -74
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +80 -94
- package/lib/pages/NotificationsPageV2/notificationUtils.js +40 -39
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +56 -132
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +6 -10
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -19
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -19
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +14 -11
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -9
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -16
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -64
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +10 -8
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -54
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -19
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +27 -23
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +28 -30
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +5 -8
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +16 -12
- package/lib/pages/OperationsPage/LeftPanel.js +35 -55
- package/lib/pages/OperationsPage/Map/Map.js +12 -12
- package/lib/pages/OperationsPage/Map/useMap.js +52 -64
- package/lib/pages/OperationsPage/OperationsContainerPage.js +32 -59
- package/lib/pages/OperationsPage/OperationsFilePage.js +10 -12
- package/lib/pages/OperationsPage/OperationsUtilityPage.js +5 -6
- package/lib/pages/OperationsPage/RightPanel.js +22 -25
- package/lib/pages/OperationsPage/index.js +4 -4
- package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +27 -60
- package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +19 -25
- package/lib/pages/PollutionRiskAssessment/FilterButton.js +11 -10
- package/lib/pages/PollutionRiskAssessment/Map.js +38 -42
- package/lib/pages/PollutionRiskAssessment/SearchButton.js +11 -10
- package/lib/pages/PollutionRiskAssessment/SearchField.js +26 -40
- package/lib/pages/PollutionRiskAssessment/TotalSavings.js +16 -16
- package/lib/pages/PollutionRiskAssessment/UseCases.js +32 -34
- package/lib/pages/PollutionRiskAssessment/index.js +76 -136
- package/lib/pages/PollutionRiskAssessment/useMap.js +34 -50
- package/lib/pages/PollutionRiskAssessment/utils.js +7 -7
- package/lib/pages/ProfilePage/Container.js +3 -4
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +23 -40
- package/lib/pages/ProfilePage/ProfilePage.js +106 -205
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -34
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +27 -30
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -119
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +18 -23
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +14 -13
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +40 -45
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -24
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +18 -19
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +15 -18
- package/lib/pages/SamplingsPage/DesktopActions/index.js +3 -4
- package/lib/pages/SamplingsPage/NavigationDropdown.js +43 -31
- package/lib/pages/SamplingsPage/NewSamplingAction.js +75 -102
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +124 -98
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +23 -25
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +36 -25
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -61
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +16 -21
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +10 -9
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +108 -193
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +47 -54
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +42 -39
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +42 -39
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +21 -28
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +4 -6
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +11 -7
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +51 -53
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +22 -31
- package/lib/pages/SamplingsPage/SamplingsPage.js +25 -33
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +49 -58
- package/lib/pages/SamplingsPage/index.js +2 -3
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +52 -83
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +7 -6
- package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +12 -16
- package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/index.js +3 -4
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -9
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +10 -9
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +27 -24
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +12 -16
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +37 -33
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -25
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +14 -11
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -9
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -16
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -71
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +10 -8
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -27
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -9
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -19
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +10 -9
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +30 -40
- package/lib/pages/SitePage/SamplingParameters/body/index.js +3 -4
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -12
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +32 -41
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +5 -8
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +16 -12
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +13 -10
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
- package/lib/pages/SitePage/SitePage.js +37 -77
- package/lib/pages/UploadLabResult/index.js +15 -16
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +27 -37
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +8 -13
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +11 -15
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +5 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -50
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +11 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +6 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +11 -10
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +16 -13
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +8 -8
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +3 -4
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +20 -30
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +28 -40
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +15 -17
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -14
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +26 -31
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
- package/lib/pages/WbeDashboard/GraphWrapper.js +28 -35
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +16 -19
- package/lib/pages/WbeDashboard/SearchInput.js +15 -21
- package/lib/pages/WbeDashboard/SummaryGraph.js +50 -77
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +20 -18
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +147 -210
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +39 -48
- package/lib/pages/WwtpPage/DashboardCard.js +25 -21
- package/lib/pages/WwtpPage/DischargePatternCard.js +14 -25
- package/lib/pages/WwtpPage/InletsCard/InletsBar.js +11 -11
- package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
- package/lib/pages/WwtpPage/InletsCard/index.js +3 -4
- package/lib/pages/WwtpPage/Map.js +6 -6
- package/lib/pages/WwtpPage/OrganicCard.js +4 -5
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +4 -5
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -7
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +20 -17
- package/lib/pages/WwtpPage/PotentialSaving/index.js +3 -4
- package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
- package/lib/pages/WwtpPage/PredictionCard.js +4 -5
- package/lib/pages/WwtpPage/TrendCard.js +20 -22
- package/lib/pages/WwtpPage/UpgradeBox.js +4 -5
- package/lib/pages/WwtpPage/WwtpPage.js +9 -8
- package/lib/pages/WwtpPage/WwtpPageContainer.js +23 -19
- package/lib/pages/WwtpPage/index.js +3 -4
- package/lib/providers/Slideshow/SlideshowContext.js +11 -10
- package/lib/providers/Slideshow/SlideshowProvider.js +22 -40
- package/lib/providers/Slideshow/SlideshowRunner.js +18 -21
- package/lib/providers/UrlHistory/UrlHistoryContext.js +7 -6
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -13
- package/lib/providers/UrlHistory/index.js +4 -4
- package/lib/providers/UrlHistory/useLastVisited.js +5 -6
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +4 -5
- package/lib/store/ImportGis/actionsCreator.js +7 -5
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +9 -7
- package/lib/store/WBE/actionTypes.js +2 -3
- package/lib/store/WBE/actions.js +1 -1
- package/lib/store/WBE/models/IAreaWBE.js +1 -1
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/WBE/models/IWBEState.js +1 -1
- package/lib/store/WBE/reducer.js +10 -8
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -15
- package/lib/store/WWTPDashboard/types.js +1 -1
- package/lib/store/areas/actionTypes.js +4 -7
- package/lib/store/areas/actions.js +7 -13
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +8 -6
- package/lib/store/context/actionTypes.js +3 -5
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +15 -18
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +10 -8
- package/lib/store/dashboard/dashboardSlice.js +18 -11
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +5 -9
- package/lib/store/edges/actions.js +4 -8
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +13 -17
- package/lib/store/events/actionTypes.js +17 -33
- package/lib/store/events/actions.js +3 -7
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/models/IEventsState.js +1 -1
- package/lib/store/events/models/ISource.js +1 -1
- package/lib/store/events/reducer.js +28 -39
- package/lib/store/filters/IFilter.js +1 -1
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/store/global/actionTypes.js +11 -21
- package/lib/store/global/actions.js +8 -6
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +9 -7
- package/lib/store/permissions/permissionsSlice.js +12 -9
- package/lib/store/points/actionTypes.js +3 -5
- package/lib/store/points/actions.js +6 -10
- package/lib/store/points/models/IGeoPoint.js +1 -1
- package/lib/store/points/models/IGroup.js +1 -1
- package/lib/store/points/models/IIssue.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/store/points/models/IPointsState.js +1 -1
- package/lib/store/points/reducer.js +7 -5
- package/lib/store/rootActionTypes.js +2 -3
- package/lib/store/rootActions.js +1 -1
- package/lib/store/rootReducer.js +12 -10
- package/lib/store/rootStore.js +6 -6
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +4 -5
- package/lib/store/samplings/actionsCreator.js +1 -1
- package/lib/store/samplings/models/Samplings.js +1 -1
- package/lib/store/samplings/reducer.js +10 -10
- package/lib/styles/StylesLayout.js +7 -6
- package/lib/styles/theme/theme.js +23 -26
- package/lib/test/mocks/browser.js +2 -5
- package/lib/test/test-utils.js +12 -9
- package/lib/ui-kit/Alert/KandoAlert.js +8 -6
- package/lib/ui-kit/Button/Button.js +129 -83
- package/lib/ui-kit/Button/Button.test.js +27 -33
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +34 -27
- package/lib/ui-kit/ContentCard/ContentCard.js +16 -20
- package/lib/ui-kit/Dashboard/Dashboard.js +29 -28
- package/lib/ui-kit/Dashboard/index.js +3 -4
- package/lib/ui-kit/DropDown/DropDown.js +23 -22
- package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
- package/lib/ui-kit/DropDown/DropDownItem.js +26 -25
- package/lib/ui-kit/DropDown/DropdownToggle.js +13 -10
- package/lib/ui-kit/EmptyState/EmptyState.js +7 -6
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +69 -81
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +89 -167
- package/lib/ui-kit/HierarchyGraph/LeafSign.js +7 -7
- package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +17 -19
- package/lib/ui-kit/HierarchyGraph/NodeIcon.js +9 -8
- package/lib/ui-kit/HierarchyGraph/NodeLayout.js +22 -25
- package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +11 -10
- package/lib/ui-kit/HierarchyGraph/ScoreNode.js +10 -9
- package/lib/ui-kit/HierarchyGraph/index.js +3 -4
- package/lib/ui-kit/HierarchyGraph/utils.js +57 -67
- package/lib/ui-kit/IconAction/IconAction.js +9 -8
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +47 -64
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +58 -49
- package/lib/ui-kit/InletsPie/InletsPie.js +17 -16
- package/lib/ui-kit/InletsPie/index.js +3 -4
- package/lib/ui-kit/InletsPie/options.js +7 -9
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +29 -38
- package/lib/ui-kit/KandoFilter/KandoFilter.js +10 -11
- package/lib/ui-kit/KandoList/KandoList.js +13 -12
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +48 -41
- package/lib/ui-kit/KandoTable/KandoTable.test.js +21 -27
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +8 -7
- package/lib/ui-kit/MobileInput/MobileInput.js +56 -50
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +14 -17
- package/lib/ui-kit/ModalConfirmation/index.js +2 -3
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +9 -8
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +8 -9
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +26 -22
- package/lib/ui-kit/OrganicEvents/TextInfo.js +17 -13
- package/lib/ui-kit/OrganicEvents/index.js +3 -4
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +12 -11
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +17 -21
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -4
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +21 -24
- package/lib/ui-kit/ScoreGauge/constant.js +3 -4
- package/lib/ui-kit/ScoreGauge/index.js +3 -4
- package/lib/ui-kit/TimeLineChart/TrendChart.js +25 -28
- package/lib/ui-kit/TimeLineChart/index.js +3 -4
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +10 -11
- package/lib/ui-kit/Tooltip/Tooltip.js +15 -9
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +13 -14
- package/lib/ui-kit/siteName/SiteName.js +13 -11
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +23 -20
- package/lib/utilities/Analytics.js +19 -19
- package/lib/utilities/Array.js +4 -5
- package/lib/utilities/Enum.js +15 -51
- package/lib/utilities/ErrorBoundary.js +27 -42
- package/lib/utilities/File.js +45 -73
- package/lib/utilities/GetDir.js +10 -10
- package/lib/utilities/KandoDate.js +7 -15
- package/lib/utilities/KandoModal.js +16 -28
- package/lib/utilities/LocalStorage.js +5 -7
- package/lib/utilities/ThousandsToK.js +2 -2
- package/lib/utilities/TimeFormat.js +22 -23
- package/lib/utilities/Truncate.js +17 -27
- package/lib/utilities/edgesMath.js +15 -16
- package/lib/utilities/i18n.js +5 -6
- package/lib/utilities/kql.js +10 -12
- package/lib/utilities/map/icons.js +18 -18
- package/lib/utilities/polylinedecorator.js +88 -113
- package/lib/utilities/scoreToData.js +20 -26
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +9 -10
- package/lib/utilities/uploadToS3.js +12 -12
- package/lib/utilities/urls.js +19 -16
- package/package.json +12 -9
- package/lib/components/SeasonalInsights/SeasonalInsights.js +0 -150
- package/lib/components/SevereEvent/UpstreamBadge.js +0 -60
- package/lib/components/TopBanner/TopBanner.js +0 -208
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
12
|
-
var _i18next = _interopRequireDefault(require("i18next"));
|
|
13
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
-
var SeasonalInsights = function SeasonalInsights(_ref) {
|
|
17
|
-
var _data$insight_info2, _data$insight_info3;
|
|
18
|
-
var apiEndpoint = _ref.apiEndpoint,
|
|
19
|
-
dataProp = _ref.data,
|
|
20
|
-
className = _ref.className,
|
|
21
|
-
onLoaded = _ref.onLoaded;
|
|
22
|
-
var _useState = (0, _react.useState)(dataProp !== null && dataProp !== void 0 ? dataProp : null),
|
|
23
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
24
|
-
data = _useState2[0],
|
|
25
|
-
setData = _useState2[1];
|
|
26
|
-
|
|
27
|
-
// If parent provides data, render it and skip fetching.
|
|
28
|
-
(0, _react.useEffect)(function () {
|
|
29
|
-
if (typeof dataProp === 'undefined') return;
|
|
30
|
-
setData(dataProp !== null && dataProp !== void 0 ? dataProp : null);
|
|
31
|
-
}, [dataProp]);
|
|
32
|
-
var risk = (0, _react.useMemo)(function () {
|
|
33
|
-
var _data$insight_info;
|
|
34
|
-
var risks = data === null || data === void 0 ? void 0 : (_data$insight_info = data.insight_info) === null || _data$insight_info === void 0 ? void 0 : _data$insight_info.risks;
|
|
35
|
-
if (!risks) return null;
|
|
36
|
-
var lang = (data === null || data === void 0 ? void 0 : data.locale) || 'en';
|
|
37
|
-
return risks[lang] || null;
|
|
38
|
-
}, [data]);
|
|
39
|
-
var summary = (risk === null || risk === void 0 ? void 0 : risk.risk_summary) || '';
|
|
40
|
-
var detailed = (risk === null || risk === void 0 ? void 0 : risk.detailed_risks) || [];
|
|
41
|
-
var start = (data === null || data === void 0 ? void 0 : (_data$insight_info2 = data.insight_info) === null || _data$insight_info2 === void 0 ? void 0 : _data$insight_info2.start_time) || (data === null || data === void 0 ? void 0 : data.start_time);
|
|
42
|
-
var end = (data === null || data === void 0 ? void 0 : (_data$insight_info3 = data.insight_info) === null || _data$insight_info3 === void 0 ? void 0 : _data$insight_info3.end_time) || (data === null || data === void 0 ? void 0 : data.end_time);
|
|
43
|
-
var isHebrew = (0, _react.useMemo)(function () {
|
|
44
|
-
var lang = ((data === null || data === void 0 ? void 0 : data.locale) || _i18next.default.language || 'en').toLowerCase();
|
|
45
|
-
return lang.startsWith('he');
|
|
46
|
-
}, [data === null || data === void 0 ? void 0 : data.locale]);
|
|
47
|
-
(0, _react.useEffect)(function () {
|
|
48
|
-
// If parent provides data, do not fetch.
|
|
49
|
-
if (typeof dataProp !== 'undefined') return;
|
|
50
|
-
if (!apiEndpoint) return;
|
|
51
|
-
var controller = new AbortController();
|
|
52
|
-
fetch(apiEndpoint, {
|
|
53
|
-
signal: controller.signal
|
|
54
|
-
}).then( /*#__PURE__*/function () {
|
|
55
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {
|
|
56
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
57
|
-
while (1) {
|
|
58
|
-
switch (_context.prev = _context.next) {
|
|
59
|
-
case 0:
|
|
60
|
-
if (res.ok) {
|
|
61
|
-
_context.next = 2;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
throw new Error("Request failed (".concat(res.status, ")"));
|
|
65
|
-
case 2:
|
|
66
|
-
_context.next = 4;
|
|
67
|
-
return res.json();
|
|
68
|
-
case 4:
|
|
69
|
-
return _context.abrupt("return", _context.sent);
|
|
70
|
-
case 5:
|
|
71
|
-
case "end":
|
|
72
|
-
return _context.stop();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}, _callee);
|
|
76
|
-
}));
|
|
77
|
-
return function (_x) {
|
|
78
|
-
return _ref2.apply(this, arguments);
|
|
79
|
-
};
|
|
80
|
-
}()).then(function (payload) {
|
|
81
|
-
setData(payload);
|
|
82
|
-
if (onLoaded) onLoaded(payload);
|
|
83
|
-
}).catch(function (err) {
|
|
84
|
-
if ((err === null || err === void 0 ? void 0 : err.name) === 'AbortError') return;
|
|
85
|
-
setData(null);
|
|
86
|
-
});
|
|
87
|
-
return function () {
|
|
88
|
-
return controller.abort();
|
|
89
|
-
};
|
|
90
|
-
}, [apiEndpoint, dataProp, onLoaded]);
|
|
91
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
92
|
-
className: className,
|
|
93
|
-
dir: isHebrew ? 'rtl' : 'ltr',
|
|
94
|
-
style: {
|
|
95
|
-
padding: 12,
|
|
96
|
-
display: 'flex',
|
|
97
|
-
flexDirection: 'column',
|
|
98
|
-
gap: 12,
|
|
99
|
-
textAlign: isHebrew ? 'right' : 'left'
|
|
100
|
-
}
|
|
101
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
102
|
-
style: {
|
|
103
|
-
display: 'flex',
|
|
104
|
-
flexDirection: 'column',
|
|
105
|
-
gap: 4
|
|
106
|
-
}
|
|
107
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
108
|
-
style: {
|
|
109
|
-
fontWeight: 600
|
|
110
|
-
}
|
|
111
|
-
}, summary), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", null, start), " - ", /*#__PURE__*/_react.default.createElement("span", null, end))), /*#__PURE__*/_react.default.createElement("div", {
|
|
112
|
-
style: {
|
|
113
|
-
display: 'flex',
|
|
114
|
-
flexDirection: 'column',
|
|
115
|
-
gap: 10
|
|
116
|
-
}
|
|
117
|
-
}, detailed.map(function (r, idx) {
|
|
118
|
-
var _r$expected_pollution;
|
|
119
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
120
|
-
key: idx,
|
|
121
|
-
style: {
|
|
122
|
-
padding: 12,
|
|
123
|
-
border: '1px solid rgba(0,0,0,0.1)',
|
|
124
|
-
borderRadius: 8,
|
|
125
|
-
background: 'rgba(0,0,0,0.02)'
|
|
126
|
-
}
|
|
127
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
128
|
-
style: {
|
|
129
|
-
fontWeight: 700
|
|
130
|
-
}
|
|
131
|
-
}, r.siu_name), r.sector_code ? /*#__PURE__*/_react.default.createElement("div", {
|
|
132
|
-
style: {
|
|
133
|
-
marginTop: 2,
|
|
134
|
-
opacity: 0.8,
|
|
135
|
-
fontSize: 12
|
|
136
|
-
}
|
|
137
|
-
}, r.sector) : null, ((_r$expected_pollution = r.expected_pollution_types) === null || _r$expected_pollution === void 0 ? void 0 : _r$expected_pollution.length) ? /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
-
style: {
|
|
139
|
-
marginTop: 8
|
|
140
|
-
}
|
|
141
|
-
}, r.expected_pollution_types.join(', ')) : null, r.seasonal_or_location_factors ? /*#__PURE__*/_react.default.createElement("div", {
|
|
142
|
-
style: {
|
|
143
|
-
marginTop: 8
|
|
144
|
-
}
|
|
145
|
-
}, r.seasonal_or_location_factors) : null);
|
|
146
|
-
})));
|
|
147
|
-
};
|
|
148
|
-
var _default = SeasonalInsights;
|
|
149
|
-
exports.default = _default;
|
|
150
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4bmV4dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlNlYXNvbmFsSW5zaWdodHMiLCJfcmVmIiwiX2RhdGEkaW5zaWdodF9pbmZvMiIsIl9kYXRhJGluc2lnaHRfaW5mbzMiLCJhcGlFbmRwb2ludCIsImRhdGFQcm9wIiwiZGF0YSIsImNsYXNzTmFtZSIsIm9uTG9hZGVkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0RGF0YSIsInVzZUVmZmVjdCIsInJpc2siLCJ1c2VNZW1vIiwiX2RhdGEkaW5zaWdodF9pbmZvIiwicmlza3MiLCJpbnNpZ2h0X2luZm8iLCJsYW5nIiwibG9jYWxlIiwic3VtbWFyeSIsInJpc2tfc3VtbWFyeSIsImRldGFpbGVkIiwiZGV0YWlsZWRfcmlza3MiLCJzdGFydCIsInN0YXJ0X3RpbWUiLCJlbmQiLCJlbmRfdGltZSIsImlzSGVicmV3IiwiaTE4bmV4dCIsImxhbmd1YWdlIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImZldGNoIiwic2lnbmFsIiwidGhlbiIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJyZXMiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwib2siLCJFcnJvciIsImNvbmNhdCIsInN0YXR1cyIsImpzb24iLCJhYnJ1cHQiLCJzZW50Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJwYXlsb2FkIiwiY2F0Y2giLCJlcnIiLCJuYW1lIiwiYWJvcnQiLCJjcmVhdGVFbGVtZW50IiwiZGlyIiwic3R5bGUiLCJwYWRkaW5nIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ0ZXh0QWxpZ24iLCJmb250V2VpZ2h0IiwibWFwIiwiciIsImlkeCIsIl9yJGV4cGVjdGVkX3BvbGx1dGlvbiIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsImJhY2tncm91bmQiLCJzaXVfbmFtZSIsInNlY3Rvcl9jb2RlIiwibWFyZ2luVG9wIiwib3BhY2l0eSIsImZvbnRTaXplIiwic2VjdG9yIiwiZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzIiwibGVuZ3RoIiwiam9pbiIsInNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnMiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZWFzb25hbEluc2lnaHRzL1NlYXNvbmFsSW5zaWdodHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbnR5cGUgRGV0YWlsZWRSaXNrID0ge1xuICBzZWN0b3I/OiBzdHJpbmc7XG4gIHNpdV9uYW1lPzogc3RyaW5nO1xuICBzZWN0b3JfY29kZT86IHN0cmluZztcbiAgZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzPzogc3RyaW5nW107XG4gIHNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnM/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTZWFzb25hbEluc2lnaHRSZXNwb25zZSA9IHtcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGlkPzogbnVtYmVyO1xuICBzdGFydF90aW1lPzogc3RyaW5nO1xuICBlbmRfdGltZT86IHN0cmluZztcbiAgaW5zaWdodF9pbmZvPzoge1xuICAgIHJpc2tzPzoge1xuICAgICAgW2xhbmc6IHN0cmluZ106IHtcbiAgICAgICAgcmlza19zdW1tYXJ5Pzogc3RyaW5nO1xuICAgICAgICBkZXRhaWxlZF9yaXNrcz86IERldGFpbGVkUmlza1tdO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHN0YXJ0X3RpbWU/OiBzdHJpbmc7XG4gICAgZW5kX3RpbWU/OiBzdHJpbmc7XG4gICAgb3ZlcmFsbF9jb25maWRlbmNlPzogc3RyaW5nO1xuICAgIHdhdGVyX2F1dGhvcml0eV9pZD86IHN0cmluZyB8IG51bWJlcjtcbiAgfTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vhc29uYWxJbnNpZ2h0c1Byb3BzIHtcbiAgLyoqIElmIHByb3ZpZGVkLCB0aGUgY29tcG9uZW50IHdpbGwgZmV0Y2ggdGhlIGluc2lnaHQgcGF5bG9hZCBmcm9tIHRoaXMgZW5kcG9pbnQuICovXG4gIGFwaUVuZHBvaW50Pzogc3RyaW5nO1xuICAvKiogSWYgcHJvdmlkZWQsIHRoZSBjb21wb25lbnQgd2lsbCByZW5kZXIgdXNpbmcgdGhpcyBkYXRhIGFuZCB3aWxsIE5PVCBmZXRjaC4gKi9cbiAgZGF0YT86IFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbDtcbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlOiAnaGUnLCAnZW4nLCBldGMuIERlZmF1bHRzIHRvIGF1dG8tZGV0ZWN0IGJhc2VkIG9uIGRvY3VtZW50IGRpcmVjdGlvbiAvIGJyb3dzZXIgbGFuZ3VhZ2UuICovXG4gIGxhbmd1YWdlPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgY2xhc3NOYW1lIGZvciBvdXRlciB3cmFwcGVyICovXG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIGNhbGxiYWNrIHRvIHJlY2VpdmUgcmF3IHBheWxvYWQgKG9ubHkgd2hlbiBmZXRjaGluZykuICovXG4gIG9uTG9hZGVkPzogKGRhdGE6IFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlKSA9PiB2b2lkO1xufVxuXG5jb25zdCBTZWFzb25hbEluc2lnaHRzOiBSZWFjdC5GQzxTZWFzb25hbEluc2lnaHRzUHJvcHM+ID0gKHtcbiAgYXBpRW5kcG9pbnQsXG4gIGRhdGE6IGRhdGFQcm9wLFxuICBjbGFzc05hbWUsXG4gIG9uTG9hZGVkLFxufSkgPT4ge1xuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZTxTZWFzb25hbEluc2lnaHRSZXNwb25zZSB8IG51bGw+KFxuICAgIGRhdGFQcm9wID8/IG51bGwsXG4gICk7XG5cbiAgLy8gSWYgcGFyZW50IHByb3ZpZGVzIGRhdGEsIHJlbmRlciBpdCBhbmQgc2tpcCBmZXRjaGluZy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGRhdGFQcm9wID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIHNldERhdGEoZGF0YVByb3AgPz8gbnVsbCk7XG4gIH0sIFtkYXRhUHJvcF0pO1xuXG4gIGNvbnN0IHJpc2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCByaXNrcyA9IGRhdGE/Lmluc2lnaHRfaW5mbz8ucmlza3M7XG4gICAgaWYgKCFyaXNrcykgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgbGFuZyA9IGRhdGE/LmxvY2FsZSB8fCAnZW4nO1xuICAgIHJldHVybiByaXNrc1tsYW5nXSB8fCBudWxsO1xuICB9LCBbZGF0YV0pO1xuXG4gIGNvbnN0IHN1bW1hcnkgPSByaXNrPy5yaXNrX3N1bW1hcnkgfHwgJyc7XG4gIGNvbnN0IGRldGFpbGVkID0gcmlzaz8uZGV0YWlsZWRfcmlza3MgfHwgW107XG5cbiAgY29uc3Qgc3RhcnQgPSBkYXRhPy5pbnNpZ2h0X2luZm8/LnN0YXJ0X3RpbWUgfHwgZGF0YT8uc3RhcnRfdGltZTtcbiAgY29uc3QgZW5kID0gZGF0YT8uaW5zaWdodF9pbmZvPy5lbmRfdGltZSB8fCBkYXRhPy5lbmRfdGltZTtcblxuICBjb25zdCBpc0hlYnJldyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGxhbmcgPSAoZGF0YT8ubG9jYWxlIHx8IGkxOG5leHQubGFuZ3VhZ2UgfHwgJ2VuJykudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbGFuZy5zdGFydHNXaXRoKCdoZScpO1xuICB9LCBbZGF0YT8ubG9jYWxlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBJZiBwYXJlbnQgcHJvdmlkZXMgZGF0YSwgZG8gbm90IGZldGNoLlxuICAgIGlmICh0eXBlb2YgZGF0YVByb3AgIT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgaWYgKCFhcGlFbmRwb2ludCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIGZldGNoKGFwaUVuZHBvaW50LCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSlcbiAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkICgke3Jlcy5zdGF0dXN9KWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLnRoZW4oKHBheWxvYWQpID0+IHtcbiAgICAgICAgc2V0RGF0YShwYXlsb2FkKTtcbiAgICAgICAgaWYgKG9uTG9hZGVkKSBvbkxvYWRlZChwYXlsb2FkKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBpZiAoZXJyPy5uYW1lID09PSAnQWJvcnRFcnJvcicpIHJldHVybjtcbiAgICAgICAgc2V0RGF0YShudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuICgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfSwgW2FwaUVuZHBvaW50LCBkYXRhUHJvcCwgb25Mb2FkZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgZGlyPXtpc0hlYnJldyA/ICdydGwnIDogJ2x0cid9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgZ2FwOiAxMixcbiAgICAgICAgdGV4dEFsaWduOiBpc0hlYnJldyA/ICdyaWdodCcgOiAnbGVmdCcsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiA0IH19PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRXZWlnaHQ6IDYwMCB9fT57c3VtbWFyeX08L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Bhbj57c3RhcnR9PC9zcGFuPiAtIDxzcGFuPntlbmR9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogMTAgfX0+XG4gICAgICAgIHtkZXRhaWxlZC5tYXAoKHIsIGlkeCkgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGtleT17aWR4fVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcGFkZGluZzogMTIsXG4gICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSknLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDgsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDAsMCwwLDAuMDIpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250V2VpZ2h0OiA3MDAgfX0+e3Iuc2l1X25hbWV9PC9kaXY+XG5cbiAgICAgICAgICAgIHtyLnNlY3Rvcl9jb2RlID8gKFxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpblRvcDogMiwgb3BhY2l0eTogMC44LCBmb250U2l6ZTogMTIgfX0+XG4gICAgICAgICAgICAgICAge3Iuc2VjdG9yfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgICB7ci5leHBlY3RlZF9wb2xsdXRpb25fdHlwZXM/Lmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Ub3A6IDggfX0+XG4gICAgICAgICAgICAgICAge3IuZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzLmpvaW4oJywgJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICAgIHtyLnNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnMgPyAoXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luVG9wOiA4IH19PlxuICAgICAgICAgICAgICAgIHtyLnNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnN9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZWFzb25hbEluc2lnaHRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtB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
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = exports.UpstreamBadge = void 0;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var UpstreamBadge = function UpstreamBadge(_ref) {
|
|
10
|
-
var count = _ref.count,
|
|
11
|
-
_ref$color = _ref.color,
|
|
12
|
-
color = _ref$color === void 0 ? '#E11D48' : _ref$color,
|
|
13
|
-
_ref$size = _ref.size,
|
|
14
|
-
size = _ref$size === void 0 ? 35 : _ref$size,
|
|
15
|
-
_ref$className = _ref.className,
|
|
16
|
-
className = _ref$className === void 0 ? 'UpstreamBadge' : _ref$className;
|
|
17
|
-
var innerSize = size * 0.82;
|
|
18
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
19
|
-
className: className,
|
|
20
|
-
style: {
|
|
21
|
-
width: size,
|
|
22
|
-
height: size,
|
|
23
|
-
borderRadius: '50%',
|
|
24
|
-
backgroundColor: '#FFFFFF',
|
|
25
|
-
boxShadow: '0 4px 10px rgba(0,0,0,0.15)',
|
|
26
|
-
display: 'flex',
|
|
27
|
-
alignItems: 'center',
|
|
28
|
-
justifyContent: 'center'
|
|
29
|
-
}
|
|
30
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
-
style: {
|
|
32
|
-
width: innerSize,
|
|
33
|
-
height: innerSize,
|
|
34
|
-
borderRadius: '50%',
|
|
35
|
-
backgroundColor: '#F8F8F8',
|
|
36
|
-
display: 'flex',
|
|
37
|
-
flexDirection: 'column',
|
|
38
|
-
alignItems: 'center',
|
|
39
|
-
justifyContent: 'center',
|
|
40
|
-
fontWeight: 700,
|
|
41
|
-
lineHeight: 1
|
|
42
|
-
}
|
|
43
|
-
}, /*#__PURE__*/_react.default.createElement("svg", {
|
|
44
|
-
width: innerSize * 0.45,
|
|
45
|
-
height: innerSize * 0.5,
|
|
46
|
-
viewBox: "0 0 24 24",
|
|
47
|
-
fill: color
|
|
48
|
-
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
49
|
-
d: "M12 2l7 8h-4v12h-6V10H5l7-8z"
|
|
50
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
51
|
-
style: {
|
|
52
|
-
marginTop: 2,
|
|
53
|
-
fontSize: innerSize * 0.45
|
|
54
|
-
}
|
|
55
|
-
}, count)));
|
|
56
|
-
};
|
|
57
|
-
exports.UpstreamBadge = UpstreamBadge;
|
|
58
|
-
var _default = UpstreamBadge;
|
|
59
|
-
exports.default = _default;
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlVwc3RyZWFtQmFkZ2UiLCJfcmVmIiwiY291bnQiLCJfcmVmJGNvbG9yIiwiY29sb3IiLCJfcmVmJHNpemUiLCJzaXplIiwiX3JlZiRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJpbm5lclNpemUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3hTaGFkb3ciLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZmxleERpcmVjdGlvbiIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJkIiwibWFyZ2luVG9wIiwiZm9udFNpemUiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZXZlcmVFdmVudC9VcHN0cmVhbUJhZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG50eXBlIFVwc3RyZWFtQmFkZ2VQcm9wcyA9IHtcbiAgY291bnQ6IG51bWJlcjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZzsgLy8gbWFpbiBjb2xvciAoYXJyb3cgKyBudW1iZXIpXG4gIHNpemU/OiBudW1iZXI7IC8vIGRpYW1ldGVyIGluIHB4XG59O1xuXG5leHBvcnQgY29uc3QgVXBzdHJlYW1CYWRnZTogUmVhY3QuRkM8VXBzdHJlYW1CYWRnZVByb3BzPiA9ICh7XG4gIGNvdW50LFxuICBjb2xvciA9ICcjRTExRDQ4JywgLy8gZGVmYXVsdCByZWRcbiAgc2l6ZSA9IDM1LFxuICBjbGFzc05hbWUgPSAnVXBzdHJlYW1CYWRnZScsXG59KSA9PiB7XG4gIGNvbnN0IGlubmVyU2l6ZSA9IHNpemUgKiAwLjgyO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB3aWR0aDogc2l6ZSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgICAgICAgYm94U2hhZG93OiAnMCA0cHggMTBweCByZ2JhKDAsMCwwLDAuMTUpJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgd2lkdGg6IGlubmVyU2l6ZSxcbiAgICAgICAgICBoZWlnaHQ6IGlubmVyU2l6ZSxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGOEY4RjgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBBcnJvdyAqL31cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHdpZHRoPXtpbm5lclNpemUgKiAwLjQ1fVxuICAgICAgICAgIGhlaWdodD17aW5uZXJTaXplICogMC41fVxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIGZpbGw9e2NvbG9yfVxuICAgICAgICA+XG4gICAgICAgICAgPHBhdGggZD1cIk0xMiAybDcgOGgtNHYxMmgtNlYxMEg1bDctOHpcIiAvPlxuICAgICAgICA8L3N2Zz5cblxuICAgICAgICB7LyogQ291bnQgKi99XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luVG9wOiAyLFxuICAgICAgICAgICAgZm9udFNpemU6IGlubmVyU2l6ZSAqIDAuNDUsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtjb3VudH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBVcHN0cmVhbUJhZGdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBU08sSUFBTUMsYUFBMkMsR0FBRyxTQUE5Q0EsYUFBMkNBLENBQUFDLElBQUEsRUFLbEQ7RUFBQSxJQUpKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUFBQyxVQUFBLEdBQUFGLElBQUEsQ0FDTEcsS0FBSztJQUFMQSxLQUFLLEdBQUFELFVBQUEsY0FBRyxTQUFTLEdBQUFBLFVBQUE7SUFBQUUsU0FBQSxHQUFBSixJQUFBLENBQ2pCSyxJQUFJO0lBQUpBLElBQUksR0FBQUQsU0FBQSxjQUFHLEVBQUUsR0FBQUEsU0FBQTtJQUFBRSxjQUFBLEdBQUFOLElBQUEsQ0FDVE8sU0FBUztJQUFUQSxTQUFTLEdBQUFELGNBQUEsY0FBRyxlQUFlLEdBQUFBLGNBQUE7RUFFM0IsSUFBTUUsU0FBUyxHQUFHSCxJQUFJLEdBQUcsSUFBSTtFQUU3QixvQkFDRVQsTUFBQSxDQUFBYSxPQUFBLENBQUFDLGFBQUE7SUFDRUgsU0FBUyxFQUFFQSxTQUFVO0lBQ3JCSSxLQUFLLEVBQUU7TUFDTEMsS0FBSyxFQUFFUCxJQUFJO01BQ1hRLE1BQU0sRUFBRVIsSUFBSTtNQUNaUyxZQUFZLEVBQUUsS0FBSztNQUNuQkMsZUFBZSxFQUFFLFNBQVM7TUFDMUJDLFNBQVMsRUFBRSw2QkFBNkI7TUFDeENDLE9BQU8sRUFBRSxNQUFNO01BQ2ZDLFVBQVUsRUFBRSxRQUFRO01BQ3BCQyxjQUFjLEVBQUU7SUFDbEI7RUFBRSxnQkFFRnZCLE1BQUEsQ0FBQWEsT0FBQSxDQUFBQyxhQUFBO0lBQ0VDLEtBQUssRUFBRTtNQUNMQyxLQUFLLEVBQUVKLFNBQVM7TUFDaEJLLE1BQU0sRUFBRUwsU0FBUztNQUNqQk0sWUFBWSxFQUFFLEtBQUs7TUFDbkJDLGVBQWUsRUFBRSxTQUFTO01BQzFCRSxPQUFPLEVBQUUsTUFBTTtNQUNmRyxhQUFhLEVBQUUsUUFBUTtNQUN2QkYsVUFBVSxFQUFFLFFBQVE7TUFDcEJDLGNBQWMsRUFBRSxRQUFRO01BQ3hCRSxVQUFVLEVBQUUsR0FBRztNQUNmQyxVQUFVLEVBQUU7SUFDZDtFQUFFLGdCQUdGMUIsTUFBQSxDQUFBYSxPQUFBLENBQUFDLGFBQUE7SUFDRUUsS0FBSyxFQUFFSixTQUFTLEdBQUcsSUFBSztJQUN4QkssTUFBTSxFQUFFTCxTQUFTLEdBQUcsR0FBSTtJQUN4QmUsT0FBTyxFQUFDLFdBQVc7SUFDbkJDLElBQUksRUFBRXJCO0VBQU0sZ0JBRVpQLE1BQUEsQ0FBQWEsT0FBQSxDQUFBQyxhQUFBO0lBQU1lLENBQUMsRUFBQztFQUE4QixDQUFFLENBQ3JDLENBQUMsZUFHTjdCLE1BQUEsQ0FBQWEsT0FBQSxDQUFBQyxhQUFBO0lBQ0VDLEtBQUssRUFBRTtNQUNMZSxTQUFTLEVBQUUsQ0FBQztNQUNaQyxRQUFRLEVBQUVuQixTQUFTLEdBQUc7SUFDeEI7RUFBRSxHQUVEUCxLQUNFLENBQ0YsQ0FDRixDQUFDO0FBRVYsQ0FBQztBQUFDMkIsT0FBQSxDQUFBN0IsYUFBQSxHQUFBQSxhQUFBO0FBQUEsSUFBQThCLFFBQUEsR0FDYTlCLGFBQWE7QUFBQTZCLE9BQUEsQ0FBQW5CLE9BQUEsR0FBQW9CLFFBQUEifQ==
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
var _KandoModal = _interopRequireDefault(require("../KandoModal"));
|
|
15
|
-
var _SeasonalInsights = _interopRequireDefault(require("../SeasonalInsights/SeasonalInsights"));
|
|
16
|
-
var _i18next = _interopRequireDefault(require("i18next"));
|
|
17
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
var LOCAL_STORAGE_KEY_BASE = 'TopBannerDismissed';
|
|
20
|
-
var buildDismissKey = function buildDismissKey(data) {
|
|
21
|
-
var _data$insight_info, _data$insight_info2;
|
|
22
|
-
var id = data === null || data === void 0 ? void 0 : data.id;
|
|
23
|
-
var start = data === null || data === void 0 ? void 0 : (_data$insight_info = data.insight_info) === null || _data$insight_info === void 0 ? void 0 : _data$insight_info.start_time;
|
|
24
|
-
var end = data === null || data === void 0 ? void 0 : (_data$insight_info2 = data.insight_info) === null || _data$insight_info2 === void 0 ? void 0 : _data$insight_info2.end_time;
|
|
25
|
-
if (id && start && end) return "".concat(LOCAL_STORAGE_KEY_BASE, ":").concat(id, ":").concat(start, ":").concat(end);
|
|
26
|
-
return LOCAL_STORAGE_KEY_BASE;
|
|
27
|
-
};
|
|
28
|
-
var TopBanner = function TopBanner(_ref) {
|
|
29
|
-
var _ref$backgroundColor = _ref.backgroundColor,
|
|
30
|
-
backgroundColor = _ref$backgroundColor === void 0 ? '#f5b7c5' : _ref$backgroundColor,
|
|
31
|
-
_ref$text = _ref.text,
|
|
32
|
-
text = _ref$text === void 0 ? '' : _ref$text,
|
|
33
|
-
onVisibilityChange = _ref.onVisibilityChange,
|
|
34
|
-
apiEndpoint = _ref.apiEndpoint;
|
|
35
|
-
var _useState = (0, _react.useState)(true),
|
|
36
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
37
|
-
visible = _useState2[0],
|
|
38
|
-
setVisible = _useState2[1];
|
|
39
|
-
var _useState3 = (0, _react.useState)(null),
|
|
40
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
41
|
-
headerText = _useState4[0],
|
|
42
|
-
setHeaderText = _useState4[1];
|
|
43
|
-
var _useState5 = (0, _react.useState)(false),
|
|
44
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
45
|
-
showModal = _useState6[0],
|
|
46
|
-
setShowModal = _useState6[1];
|
|
47
|
-
var _useState7 = (0, _react.useState)(null),
|
|
48
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
49
|
-
insightData = _useState8[0],
|
|
50
|
-
setInsightData = _useState8[1];
|
|
51
|
-
var dismissKey = buildDismissKey(insightData);
|
|
52
|
-
var bannerHeight = 30; // px
|
|
53
|
-
var dir = _i18next.default.dir();
|
|
54
|
-
|
|
55
|
-
// const hasInsightDetails = useMemo(() => {
|
|
56
|
-
// const risks = insightData?.insight_info?.risks;
|
|
57
|
-
// if (!risks) return false;
|
|
58
|
-
// return Object.values(risks).some(r => (r?.risk_summary && r.risk_summary.length > 0) || (r?.detailed_risks && r.detailed_risks.length > 0));
|
|
59
|
-
// }, [insightData]);
|
|
60
|
-
|
|
61
|
-
// On mount or when dismissKey changes, check localStorage for dismissal
|
|
62
|
-
(0, _react.useEffect)(function () {
|
|
63
|
-
try {
|
|
64
|
-
var dismissed = localStorage.getItem(dismissKey) === 'true';
|
|
65
|
-
setVisible(!dismissed);
|
|
66
|
-
if (onVisibilityChange) onVisibilityChange(!dismissed);
|
|
67
|
-
} catch (_unused) {
|
|
68
|
-
setVisible(true);
|
|
69
|
-
if (onVisibilityChange) onVisibilityChange(true);
|
|
70
|
-
}
|
|
71
|
-
}, [dismissKey]);
|
|
72
|
-
|
|
73
|
-
// Fetch data from API if endpoint is provided, robustly
|
|
74
|
-
(0, _react.useEffect)(function () {
|
|
75
|
-
if (!apiEndpoint) return;
|
|
76
|
-
var controller = new AbortController();
|
|
77
|
-
fetch(apiEndpoint, {
|
|
78
|
-
signal: controller.signal
|
|
79
|
-
}).then( /*#__PURE__*/function () {
|
|
80
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {
|
|
81
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
82
|
-
while (1) {
|
|
83
|
-
switch (_context.prev = _context.next) {
|
|
84
|
-
case 0:
|
|
85
|
-
if (!(res.status === 404)) {
|
|
86
|
-
_context.next = 2;
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
return _context.abrupt("return", {
|
|
90
|
-
error: 'not_found'
|
|
91
|
-
});
|
|
92
|
-
case 2:
|
|
93
|
-
if (res.ok) {
|
|
94
|
-
_context.next = 4;
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
throw new Error("Request failed (".concat(res.status, ")"));
|
|
98
|
-
case 4:
|
|
99
|
-
_context.next = 6;
|
|
100
|
-
return res.json();
|
|
101
|
-
case 6:
|
|
102
|
-
return _context.abrupt("return", _context.sent);
|
|
103
|
-
case 7:
|
|
104
|
-
case "end":
|
|
105
|
-
return _context.stop();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}, _callee);
|
|
109
|
-
}));
|
|
110
|
-
return function (_x) {
|
|
111
|
-
return _ref2.apply(this, arguments);
|
|
112
|
-
};
|
|
113
|
-
}()).then(function (data) {
|
|
114
|
-
// When the API says not_found, do not show the banner.
|
|
115
|
-
if ((data === null || data === void 0 ? void 0 : data.error) === 'not_found') {
|
|
116
|
-
setInsightData(null);
|
|
117
|
-
setHeaderText(null);
|
|
118
|
-
setVisible(false);
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
setInsightData(data);
|
|
122
|
-
setHeaderText(_i18next.default.t('seasonal_insights.title'));
|
|
123
|
-
setVisible(!!data);
|
|
124
|
-
}).catch(function (err) {});
|
|
125
|
-
return function () {
|
|
126
|
-
return controller.abort();
|
|
127
|
-
};
|
|
128
|
-
}, [apiEndpoint, text]);
|
|
129
|
-
|
|
130
|
-
// Notify parent on visibility change
|
|
131
|
-
(0, _react.useEffect)(function () {
|
|
132
|
-
if (onVisibilityChange) onVisibilityChange(visible);
|
|
133
|
-
}, [visible]);
|
|
134
|
-
|
|
135
|
-
// When dismissed, persist in localStorage
|
|
136
|
-
var handleDismiss = function handleDismiss() {
|
|
137
|
-
setVisible(false);
|
|
138
|
-
try {
|
|
139
|
-
localStorage.setItem(dismissKey, 'true');
|
|
140
|
-
} catch (_unused2) {}
|
|
141
|
-
};
|
|
142
|
-
var openModal = function openModal() {
|
|
143
|
-
setShowModal(true);
|
|
144
|
-
};
|
|
145
|
-
var closeModal = function closeModal() {
|
|
146
|
-
setShowModal(false);
|
|
147
|
-
};
|
|
148
|
-
var modal = (0, _react.useMemo)(function () {
|
|
149
|
-
if (!showModal) return null;
|
|
150
|
-
var dir = _i18next.default.dir();
|
|
151
|
-
return /*#__PURE__*/_react.default.createElement(_KandoModal.default, {
|
|
152
|
-
isOpen: showModal,
|
|
153
|
-
onClose: closeModal,
|
|
154
|
-
dir: dir
|
|
155
|
-
}, /*#__PURE__*/_react.default.createElement(_SeasonalInsights.default, {
|
|
156
|
-
data: insightData
|
|
157
|
-
}));
|
|
158
|
-
}, [showModal]);
|
|
159
|
-
var bannerContent = headerText || text;
|
|
160
|
-
if (!visible || !bannerContent) {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
164
|
-
style: {
|
|
165
|
-
width: '100%',
|
|
166
|
-
background: backgroundColor,
|
|
167
|
-
padding: '8px',
|
|
168
|
-
textAlign: 'center',
|
|
169
|
-
position: 'relative',
|
|
170
|
-
// position: 'fixed',
|
|
171
|
-
// top: 0,
|
|
172
|
-
// left: 0,
|
|
173
|
-
boxSizing: 'border-box',
|
|
174
|
-
minHeight: "".concat(bannerHeight, "px"),
|
|
175
|
-
height: "".concat(bannerHeight, "px"),
|
|
176
|
-
display: 'flex',
|
|
177
|
-
alignItems: 'center',
|
|
178
|
-
justifyContent: 'center',
|
|
179
|
-
// zIndex: 9999,
|
|
180
|
-
fontSize: '14px'
|
|
181
|
-
}
|
|
182
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
183
|
-
style: {
|
|
184
|
-
cursor: apiEndpoint ? 'pointer' : 'default'
|
|
185
|
-
},
|
|
186
|
-
onClick: apiEndpoint ? openModal : undefined
|
|
187
|
-
}, bannerContent), /*#__PURE__*/_react.default.createElement("button", {
|
|
188
|
-
onClick: handleDismiss,
|
|
189
|
-
style: (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
190
|
-
position: 'absolute'
|
|
191
|
-
}, dir === 'rtl' ? {
|
|
192
|
-
left: 8,
|
|
193
|
-
right: 'auto'
|
|
194
|
-
} : {
|
|
195
|
-
right: 8
|
|
196
|
-
}), {}, {
|
|
197
|
-
// top: 8,
|
|
198
|
-
background: 'transparent',
|
|
199
|
-
border: 'none',
|
|
200
|
-
fontSize: '18px',
|
|
201
|
-
cursor: 'pointer'
|
|
202
|
-
}),
|
|
203
|
-
"aria-label": "Dismiss banner"
|
|
204
|
-
}, "\xD7")), modal);
|
|
205
|
-
};
|
|
206
|
-
var _default = TopBanner;
|
|
207
|
-
exports.default = _default;
|
|
208
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfS2FuZG9Nb2RhbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfU2Vhc29uYWxJbnNpZ2h0cyIsIl9pMThuZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMT0NBTF9TVE9SQUdFX0tFWV9CQVNFIiwiYnVpbGREaXNtaXNzS2V5IiwiZGF0YSIsIl9kYXRhJGluc2lnaHRfaW5mbyIsIl9kYXRhJGluc2lnaHRfaW5mbzIiLCJpZCIsInN0YXJ0IiwiaW5zaWdodF9pbmZvIiwic3RhcnRfdGltZSIsImVuZCIsImVuZF90aW1lIiwiY29uY2F0IiwiVG9wQmFubmVyIiwiX3JlZiIsIl9yZWYkYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwiX3JlZiR0ZXh0IiwidGV4dCIsIm9uVmlzaWJpbGl0eUNoYW5nZSIsImFwaUVuZHBvaW50IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImhlYWRlclRleHQiLCJzZXRIZWFkZXJUZXh0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93TW9kYWwiLCJzZXRTaG93TW9kYWwiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImluc2lnaHREYXRhIiwic2V0SW5zaWdodERhdGEiLCJkaXNtaXNzS2V5IiwiYmFubmVySGVpZ2h0IiwiZGlyIiwiaTE4bmV4dCIsInVzZUVmZmVjdCIsImRpc21pc3NlZCIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJfdW51c2VkIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImZldGNoIiwic2lnbmFsIiwidGhlbiIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJyZXMiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic3RhdHVzIiwiYWJydXB0IiwiZXJyb3IiLCJvayIsIkVycm9yIiwianNvbiIsInNlbnQiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsInQiLCJjYXRjaCIsImVyciIsImFib3J0IiwiaGFuZGxlRGlzbWlzcyIsInNldEl0ZW0iLCJfdW51c2VkMiIsIm9wZW5Nb2RhbCIsImNsb3NlTW9kYWwiLCJtb2RhbCIsInVzZU1lbW8iLCJjcmVhdGVFbGVtZW50IiwiaXNPcGVuIiwib25DbG9zZSIsImJhbm5lckNvbnRlbnQiLCJGcmFnbWVudCIsInN0eWxlIiwid2lkdGgiLCJiYWNrZ3JvdW5kIiwicGFkZGluZyIsInRleHRBbGlnbiIsInBvc2l0aW9uIiwiYm94U2l6aW5nIiwibWluSGVpZ2h0IiwiaGVpZ2h0IiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImZvbnRTaXplIiwiY3Vyc29yIiwib25DbGljayIsInVuZGVmaW5lZCIsIl9vYmplY3RTcHJlYWQyIiwibGVmdCIsInJpZ2h0IiwiYm9yZGVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVG9wQmFubmVyL1RvcEJhbm5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgS2FuZG9Nb2RhbCBmcm9tICcuLi9LYW5kb01vZGFsJztcbmltcG9ydCBTZWFzb25hbEluc2lnaHRzLCB7XG4gIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlLFxufSBmcm9tICcuLi9TZWFzb25hbEluc2lnaHRzL1NlYXNvbmFsSW5zaWdodHMnO1xuaW1wb3J0IGkxOG5leHQgZnJvbSAnaTE4bmV4dCc7XG5cbmludGVyZmFjZSBUb3BCYW5uZXJQcm9wcyB7XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgdGV4dD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgb25WaXNpYmlsaXR5Q2hhbmdlPzogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGFwaUVuZHBvaW50Pzogc3RyaW5nOyAvLyBBZGQgdGhpcyBwcm9wIGZvciBBUEkgZW5kcG9pbnRcbn1cblxuY29uc3QgTE9DQUxfU1RPUkFHRV9LRVlfQkFTRSA9ICdUb3BCYW5uZXJEaXNtaXNzZWQnO1xuXG5jb25zdCBidWlsZERpc21pc3NLZXkgPSAoZGF0YT86IFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbCkgPT4ge1xuICBjb25zdCBpZCA9IGRhdGE/LmlkO1xuICBjb25zdCBzdGFydCA9IGRhdGE/Lmluc2lnaHRfaW5mbz8uc3RhcnRfdGltZTtcbiAgY29uc3QgZW5kID0gZGF0YT8uaW5zaWdodF9pbmZvPy5lbmRfdGltZTtcbiAgaWYgKGlkICYmIHN0YXJ0ICYmIGVuZClcbiAgICByZXR1cm4gYCR7TE9DQUxfU1RPUkFHRV9LRVlfQkFTRX06JHtpZH06JHtzdGFydH06JHtlbmR9YDtcbiAgcmV0dXJuIExPQ0FMX1NUT1JBR0VfS0VZX0JBU0U7XG59O1xuXG5jb25zdCBUb3BCYW5uZXI6IFJlYWN0LkZDPFRvcEJhbm5lclByb3BzPiA9ICh7XG4gIGJhY2tncm91bmRDb2xvciA9ICcjZjViN2M1JyxcbiAgdGV4dCA9ICcnLFxuICBvblZpc2liaWxpdHlDaGFuZ2UsXG4gIGFwaUVuZHBvaW50LFxufSkgPT4ge1xuICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2hlYWRlclRleHQsIHNldEhlYWRlclRleHRdID0gdXNlU3RhdGU8UmVhY3QuUmVhY3ROb2RlPihudWxsKTtcbiAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2luc2lnaHREYXRhLCBzZXRJbnNpZ2h0RGF0YV0gPVxuICAgIHVzZVN0YXRlPFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgZGlzbWlzc0tleSA9IGJ1aWxkRGlzbWlzc0tleShpbnNpZ2h0RGF0YSk7XG4gIGNvbnN0IGJhbm5lckhlaWdodCA9IDMwOyAvLyBweFxuICBjb25zdCBkaXIgPSBpMThuZXh0LmRpcigpO1xuXG4gIC8vIGNvbnN0IGhhc0luc2lnaHREZXRhaWxzID0gdXNlTWVtbygoKSA9PiB7XG4gIC8vICAgICBjb25zdCByaXNrcyA9IGluc2lnaHREYXRhPy5pbnNpZ2h0X2luZm8/LnJpc2tzO1xuICAvLyAgICAgaWYgKCFyaXNrcykgcmV0dXJuIGZhbHNlO1xuICAvLyAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMocmlza3MpLnNvbWUociA9PiAocj8ucmlza19zdW1tYXJ5ICYmIHIucmlza19zdW1tYXJ5Lmxlbmd0aCA+IDApIHx8IChyPy5kZXRhaWxlZF9yaXNrcyAmJiByLmRldGFpbGVkX3Jpc2tzLmxlbmd0aCA+IDApKTtcbiAgLy8gfSwgW2luc2lnaHREYXRhXSk7XG5cbiAgLy8gT24gbW91bnQgb3Igd2hlbiBkaXNtaXNzS2V5IGNoYW5nZXMsIGNoZWNrIGxvY2FsU3RvcmFnZSBmb3IgZGlzbWlzc2FsXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRpc21pc3NlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGRpc21pc3NLZXkpID09PSAndHJ1ZSc7XG4gICAgICBzZXRWaXNpYmxlKCFkaXNtaXNzZWQpO1xuICAgICAgaWYgKG9uVmlzaWJpbGl0eUNoYW5nZSkgb25WaXNpYmlsaXR5Q2hhbmdlKCFkaXNtaXNzZWQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgc2V0VmlzaWJsZSh0cnVlKTtcbiAgICAgIGlmIChvblZpc2liaWxpdHlDaGFuZ2UpIG9uVmlzaWJpbGl0eUNoYW5nZSh0cnVlKTtcbiAgICB9XG4gIH0sIFtkaXNtaXNzS2V5XSk7XG5cbiAgLy8gRmV0Y2ggZGF0YSBmcm9tIEFQSSBpZiBlbmRwb2ludCBpcyBwcm92aWRlZCwgcm9idXN0bHlcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFwaUVuZHBvaW50KSByZXR1cm47XG5cbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgZmV0Y2goYXBpRW5kcG9pbnQsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KVxuICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgLy8gQVBJIGV4cGxpY2l0bHkgc2F5cyB0aGVyZSBpcyBubyBzZWFzb25hbCBpbnNpZ2h0LlxuICAgICAgICAgIHJldHVybiB7IGVycm9yOiAnbm90X2ZvdW5kJyB9IGFzIHVua25vd24gYXMgU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkICgke3Jlcy5zdGF0dXN9KWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgLy8gV2hlbiB0aGUgQVBJIHNheXMgbm90X2ZvdW5kLCBkbyBub3Qgc2hvdyB0aGUgYmFubmVyLlxuICAgICAgICBpZiAoKGRhdGEgYXMgYW55KT8uZXJyb3IgPT09ICdub3RfZm91bmQnKSB7XG4gICAgICAgICAgc2V0SW5zaWdodERhdGEobnVsbCk7XG4gICAgICAgICAgc2V0SGVhZGVyVGV4dChudWxsKTtcbiAgICAgICAgICBzZXRWaXNpYmxlKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0SW5zaWdodERhdGEoZGF0YSk7XG5cbiAgICAgICAgc2V0SGVhZGVyVGV4dChpMThuZXh0LnQoJ3NlYXNvbmFsX2luc2lnaHRzLnRpdGxlJykpO1xuXG4gICAgICAgIHNldFZpc2libGUoISFkYXRhKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge30pO1xuXG4gICAgcmV0dXJuICgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfSwgW2FwaUVuZHBvaW50LCB0ZXh0XSk7XG5cbiAgLy8gTm90aWZ5IHBhcmVudCBvbiB2aXNpYmlsaXR5IGNoYW5nZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvblZpc2liaWxpdHlDaGFuZ2UpIG9uVmlzaWJpbGl0eUNoYW5nZSh2aXNpYmxlKTtcbiAgfSwgW3Zpc2libGVdKTtcblxuICAvLyBXaGVuIGRpc21pc3NlZCwgcGVyc2lzdCBpbiBsb2NhbFN0b3JhZ2VcbiAgY29uc3QgaGFuZGxlRGlzbWlzcyA9ICgpID0+IHtcbiAgICBzZXRWaXNpYmxlKGZhbHNlKTtcbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oZGlzbWlzc0tleSwgJ3RydWUnKTtcbiAgICB9IGNhdGNoIHt9XG4gIH07XG5cbiAgY29uc3Qgb3Blbk1vZGFsID0gKCkgPT4ge1xuICAgIHNldFNob3dNb2RhbCh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldFNob3dNb2RhbChmYWxzZSk7XG4gIH07XG5cbiAgY29uc3QgbW9kYWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXNob3dNb2RhbCkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgZGlyID0gaTE4bmV4dC5kaXIoKTtcbiAgICByZXR1cm4gKFxuICAgICAgPEthbmRvTW9kYWwgaXNPcGVuPXtzaG93TW9kYWx9IG9uQ2xvc2U9e2Nsb3NlTW9kYWx9IGRpcj17ZGlyfT5cbiAgICAgICAgPFNlYXNvbmFsSW5zaWdodHMgZGF0YT17aW5zaWdodERhdGF9IC8+XG4gICAgICA8L0thbmRvTW9kYWw+XG4gICAgKTtcbiAgfSwgW3Nob3dNb2RhbF0pO1xuXG4gIGNvbnN0IGJhbm5lckNvbnRlbnQgPSBoZWFkZXJUZXh0IHx8IHRleHQ7XG4gIGlmICghdmlzaWJsZSB8fCAhYmFubmVyQ29udGVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgYmFja2dyb3VuZDogYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgIHBhZGRpbmc6ICc4cHgnLFxuICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgLy8gcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgLy8gdG9wOiAwLFxuICAgICAgICAgIC8vIGxlZnQ6IDAsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgbWluSGVpZ2h0OiBgJHtiYW5uZXJIZWlnaHR9cHhgLFxuICAgICAgICAgIGhlaWdodDogYCR7YmFubmVySGVpZ2h0fXB4YCxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIC8vIHpJbmRleDogOTk5OSxcbiAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogYXBpRW5kcG9pbnQgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcgfX1cbiAgICAgICAgICBvbkNsaWNrPXthcGlFbmRwb2ludCA/IG9wZW5Nb2RhbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtiYW5uZXJDb250ZW50fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVEaXNtaXNzfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIC4uLihkaXIgPT09ICdydGwnXG4gICAgICAgICAgICAgID8geyBsZWZ0OiA4LCByaWdodDogJ2F1dG8nIGFzIGNvbnN0IH1cbiAgICAgICAgICAgICAgOiB7IHJpZ2h0OiA4IH0pLFxuICAgICAgICAgICAgLy8gdG9wOiA4LFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgZm9udFNpemU6ICcxOHB4JyxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkRpc21pc3MgYmFubmVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIMOXXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7bW9kYWx9XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUb3BCYW5uZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtB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
|