@kando-env/kando-ui 1.2.466-alpha.7 → 1.2.466-alpha.9
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 +81 -40
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -24
- package/lib/Widgets/EventsRow/EventsRow.js +39 -26
- package/lib/Widgets/Map/GraphUtils.js +6 -4
- package/lib/Widgets/Map/Map.js +139 -100
- package/lib/Widgets/Map/MapUtils.js +102 -83
- package/lib/Widgets/Map/areas/AreaPolygon.js +84 -57
- package/lib/Widgets/Map/areas/AreaPolygons.js +25 -23
- 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 +41 -32
- package/lib/Widgets/Map/edges/Edges.js +24 -19
- package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
- package/lib/Widgets/Map/events/Event.js +14 -15
- package/lib/Widgets/Map/events/EventIndicator.js +63 -66
- package/lib/Widgets/Map/events/EventPath.js +34 -33
- package/lib/Widgets/Map/events/EventUtils.js +78 -54
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
- package/lib/Widgets/Map/events/PointOfEvent.js +36 -27
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +39 -29
- package/lib/Widgets/Map/events/Snail.js +11 -10
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +79 -77
- package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
- package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
- package/lib/Widgets/Map/points/PointIcon.js +22 -23
- package/lib/Widgets/Map/points/PointMarker.js +88 -68
- package/lib/Widgets/Map/points/PointMarkers.js +36 -30
- package/lib/Widgets/Map/points/PointUtils.js +90 -76
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +43 -25
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +14 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Areas/Areas.js +60 -28
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
- package/lib/Widgets/MostPolluting/Factories/Factories.js +65 -33
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +20 -15
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +20 -15
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -9
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
- package/lib/Widgets/MostPolluting/MostPolluting.js +34 -23
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
- package/lib/Widgets/MostPolluting/assets/index.js +12 -12
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +54 -49
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +40 -44
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +49 -53
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +6 -4
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
- package/lib/Widgets/PotentialImpactSummary/Icon.js +39 -30
- package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
- package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
- package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +31 -34
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -28
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
- package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +21 -24
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +21 -26
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +36 -23
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +31 -30
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
- 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 +11 -10
- package/lib/components/ApplyButton/index.js +4 -3
- package/lib/components/Backdrop/Backdrop.js +5 -7
- package/lib/components/ContentLoader/ContentLoader.js +10 -12
- 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 +9 -5
- package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -12
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
- package/lib/components/CustomInputs/Search/Search.js +60 -37
- package/lib/components/CustomInputs/Search/index.js +4 -3
- package/lib/components/CustomInputs/Select/Select.js +55 -38
- package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
- package/lib/components/DamageType/DamageType.js +60 -35
- package/lib/components/DamageType/index.js +4 -3
- package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +73 -72
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -25
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
- package/lib/components/DischargeHeatmap/index.js +4 -3
- package/lib/components/DischargeHeatmap/mocks/handlers.js +6 -5
- package/lib/components/DischargeHeatmap/popupText.js +12 -11
- package/lib/components/DischargeHeatmap/titles.js +6 -4
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +42 -27
- package/lib/components/Events/Events.js +48 -29
- package/lib/components/Events/index.js +4 -3
- package/lib/components/Graph/Graph.js +95 -74
- package/lib/components/Graph/index.js +4 -3
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
- package/lib/components/Header/Breadcrumbs/index.js +4 -3
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +28 -18
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
- package/lib/components/Header/DoubleTabs/styles.js +8 -5
- package/lib/components/Header/Header.js +3 -3
- package/lib/components/Header/Header.stories.js +9 -5
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +36 -24
- package/lib/components/Header/InfoBar/InfoBar.js +102 -69
- package/lib/components/Header/InfoBar/Search/Control.js +10 -11
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -8
- package/lib/components/Header/InfoBar/Search/Search.js +24 -17
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +35 -21
- package/lib/components/Header/InfoBar/Search/index.js +4 -3
- package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -36
- package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
- package/lib/components/Header/InfoBar/types.js +1 -1
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +93 -66
- package/lib/components/Header/KandoNavbar/index.js +4 -3
- package/lib/components/Header/Slideshow/Slideshow.js +91 -67
- package/lib/components/Header/Slideshow/index.js +4 -3
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +17 -17
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +42 -36
- package/lib/components/Header/Toolbar/Toolbar.js +76 -58
- package/lib/components/InfoBar/InfoBar.js +24 -10
- package/lib/components/InfoBar/InfoBar.stories.js +9 -5
- package/lib/components/KandoModal/KandoModal.js +62 -26
- package/lib/components/KandoModal/index.js +4 -3
- package/lib/components/Link.js +8 -9
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +7 -10
- package/lib/components/Links/StyledLink/StyledLink.js +20 -17
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -12
- package/lib/components/LiveEvents/CarouselSlide.js +10 -11
- package/lib/components/LiveEvents/LiveEvents.js +6 -7
- package/lib/components/LiveEvents/index.js +4 -3
- package/lib/components/LoaderByPercent/LoaderByPercent.js +30 -37
- package/lib/components/Map/Map.js +25 -20
- package/lib/components/Map/index.js +4 -3
- package/lib/components/Modal/Modal.js +10 -10
- package/lib/components/NarrowHeader.js +32 -18
- package/lib/components/PointInfo/PointInfo.js +19 -20
- package/lib/components/PointInfo/index.js +4 -3
- package/lib/components/PopupModal/PopupModal.js +17 -13
- package/lib/components/PopupModal/PopupModal.stories.js +24 -17
- package/lib/components/SeasonalInsights/SeasonalInsights.js +147 -0
- package/lib/components/Sector/Sector.js +40 -34
- package/lib/components/Sector/Sector.test.js +24 -24
- package/lib/components/Sector/SectorIconsNew.js +19 -26
- package/lib/components/Sector/index.js +4 -3
- package/lib/components/Sector/sectorIcons.js +5 -4
- package/lib/components/SevereEvent/Eta/Eta.js +54 -49
- package/lib/components/SevereEvent/Eta/styles.js +8 -11
- package/lib/components/SevereEvent/SevereEvent.js +52 -28
- package/lib/components/SevereEvent/SevereEvent.scss +24 -0
- package/lib/components/SevereEvent/UpstreamBadge.js +60 -0
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +11 -6
- package/lib/components/Spinner/index.js +4 -3
- package/lib/components/Spinner/styles.js +16 -21
- package/lib/components/Tabs/Tabs.js +31 -18
- package/lib/components/Tabs/Tabs.stories.js +10 -6
- package/lib/components/Tabs/assets/index.js +6 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +45 -32
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +22 -17
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +14 -13
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +27 -17
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -26
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
- package/lib/components/TimeRangeSelector/constants.js +5 -3
- package/lib/components/TimeRangeSelector/index.js +4 -3
- package/lib/components/Toggle/Toggle.js +18 -11
- package/lib/components/Toggle/index.js +4 -3
- package/lib/components/TopBanner/TopBanner.js +235 -0
- package/lib/components/TopBanner/insightsDismissalStorage.js +36 -0
- package/lib/components/TrendGraph/TrendGraph.js +42 -24
- package/lib/components/TrendGraph/index.js +4 -3
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/components/TrendGraphNVL/index.js +4 -3
- package/lib/development-environment/index.js +13 -9
- package/lib/development-environment/mock/browser.js +5 -2
- package/lib/development-environment/mock/get.js +10 -8
- package/lib/development-environment/mock/handlers.js +3 -2
- package/lib/development-environment/mock/mockBus.js +5 -4
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
- package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
- package/lib/development-environment/togly/ToglyDashboard.js +23 -13
- package/lib/development-environment/togly/ToglyItem.js +31 -24
- 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 +9 -13
- package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
- package/lib/development-environment/togly/useLocalStorage.js +18 -13
- package/lib/hooks/useApi.js +56 -20
- package/lib/hooks/useApiWithDashboardQuery.js +43 -23
- package/lib/hooks/useClickOutside.js +5 -4
- package/lib/hooks/useInitializeHeaders.js +6 -6
- package/lib/hooks/useKandoFetch.js +31 -17
- package/lib/hooks/useMap.js +37 -25
- package/lib/hooks/useNavContext.js +26 -22
- package/lib/hooks/useQueryURL.js +3 -2
- package/lib/hooks/useRemoveExistingLayers.js +8 -7
- package/lib/hooks/useUpdateEventBodyTail.js +19 -14
- package/lib/hooks/useUserTimeZone.js +31 -34
- package/lib/hooks/useUserTimeZone.test.js +23 -19
- package/lib/hooks/useWindowSize.js +14 -7
- package/lib/i18n/en.json +15 -3
- package/lib/i18n/fr.json +4 -0
- package/lib/i18n/he.json +12 -1
- package/lib/i18n/it.json +4 -0
- package/lib/index.js +13 -11
- 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 +68 -34
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -15
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +28 -26
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +23 -14
- 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 +6 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
- package/lib/pages/AssessmentPage/AssessmentPage.js +46 -38
- package/lib/pages/CannyWidget/Feedback.js +16 -14
- package/lib/pages/CovidPage/CovidPage.js +16 -9
- package/lib/pages/CovidPage/components/Body.js +30 -26
- package/lib/pages/CovidPage/components/Map.js +40 -28
- package/lib/pages/CovidPage/components/Sidebar.js +16 -15
- package/lib/pages/CovidPage/components/Summary.js +29 -20
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
- package/lib/pages/CovidPage/components/areas/Area.js +36 -24
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -45
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
- package/lib/pages/CovidPage/components/areas/AreasList.js +42 -29
- package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +27 -27
- package/lib/pages/DashboardMap/AssessmentIcon.js +7 -8
- package/lib/pages/DashboardMap/Capacity.js +77 -28
- package/lib/pages/DashboardMap/FactoryCard.js +24 -28
- package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
- package/lib/pages/DashboardMap/List.js +65 -55
- package/lib/pages/DashboardMap/ListContext.js +19 -14
- package/lib/pages/DashboardMap/Loader.js +3 -3
- package/lib/pages/DashboardMap/SeverityBadge.js +24 -16
- package/lib/pages/DashboardMap/WWTPMap.js +71 -57
- package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
- package/lib/pages/DashboardMap/Widget.js +67 -48
- package/lib/pages/DashboardMap/index.js +4 -3
- package/lib/pages/DashboardMap/utils.js +60 -41
- package/lib/pages/EventsPage/Body/Body.js +12 -15
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -16
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
- package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +38 -30
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -14
- package/lib/pages/EventsPage/EventsPage.js +17 -10
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +40 -26
- package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
- package/lib/pages/EventsPage/events/Sidebar.js +11 -14
- package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +10 -9
- package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +24 -19
- package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +33 -35
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +60 -50
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
- package/lib/pages/EventsPage/events/event_info/EventSection.js +21 -18
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +23 -29
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +50 -39
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +35 -30
- package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +7 -6
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +15 -14
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +12 -9
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +22 -13
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +6 -7
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -13
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +28 -22
- package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +10 -13
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +9 -8
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +9 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +5 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +14 -11
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +19 -18
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +12 -13
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +19 -23
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +11 -12
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +7 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +40 -25
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -27
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +27 -22
- package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
- package/lib/pages/EventsPage/events/events_list/EventItem.js +21 -18
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
- package/lib/pages/EventsPage/events/events_list/EventsList.js +142 -111
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +58 -41
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +135 -90
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +76 -54
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +41 -32
- package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +21 -19
- package/lib/pages/EventsPage/events/events_list/Sort.js +39 -28
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +22 -14
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
- package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
- package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
- package/lib/pages/ImportFileWizard/ValidationForm.js +23 -23
- package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
- package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
- package/lib/pages/ImportFileWizard/index.js +4 -3
- package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +44 -38
- package/lib/pages/ImportGisPage/importGisUtils.js +52 -43
- package/lib/pages/ImportGisProcess/index.js +18 -14
- package/lib/pages/ImportSiteProcess/index.js +18 -14
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +60 -28
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
- package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
- package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
- package/lib/pages/NotificationsPage/assets/index.js +10 -10
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +101 -72
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +65 -95
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +15 -13
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +17 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +22 -18
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +22 -18
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +23 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +71 -82
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +23 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -71
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +94 -80
- package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -40
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +132 -56
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +19 -16
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +23 -27
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +30 -28
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/OperationsPage/LeftPanel.js +55 -35
- package/lib/pages/OperationsPage/Map/Map.js +12 -12
- package/lib/pages/OperationsPage/Map/useMap.js +64 -52
- package/lib/pages/OperationsPage/OperationsContainerPage.js +59 -32
- package/lib/pages/OperationsPage/OperationsFilePage.js +12 -10
- package/lib/pages/OperationsPage/OperationsUtilityPage.js +6 -5
- package/lib/pages/OperationsPage/RightPanel.js +25 -22
- package/lib/pages/OperationsPage/index.js +4 -4
- package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +60 -27
- package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +25 -19
- package/lib/pages/PollutionRiskAssessment/FilterButton.js +10 -11
- package/lib/pages/PollutionRiskAssessment/Map.js +42 -38
- package/lib/pages/PollutionRiskAssessment/SearchButton.js +10 -11
- package/lib/pages/PollutionRiskAssessment/SearchField.js +40 -26
- package/lib/pages/PollutionRiskAssessment/TotalSavings.js +16 -16
- package/lib/pages/PollutionRiskAssessment/UseCases.js +34 -32
- package/lib/pages/PollutionRiskAssessment/index.js +136 -76
- package/lib/pages/PollutionRiskAssessment/useMap.js +50 -34
- package/lib/pages/PollutionRiskAssessment/utils.js +7 -7
- package/lib/pages/ProfilePage/Container.js +4 -3
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +40 -23
- package/lib/pages/ProfilePage/ProfilePage.js +205 -106
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +30 -27
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +119 -57
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +45 -40
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +24 -25
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
- package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
- package/lib/pages/SamplingsPage/NavigationDropdown.js +31 -43
- package/lib/pages/SamplingsPage/NewSamplingAction.js +102 -75
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +98 -124
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +61 -36
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -10
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +193 -108
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +54 -47
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +28 -21
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +53 -51
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
- package/lib/pages/SamplingsPage/SamplingsPage.js +33 -25
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -49
- package/lib/pages/SamplingsPage/index.js +3 -2
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +83 -52
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -7
- package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +16 -12
- package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/index.js +4 -3
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -12
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -10
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
- package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +41 -32
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
- package/lib/pages/SitePage/SitePage.js +77 -37
- package/lib/pages/UploadLabResult/index.js +16 -15
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +50 -47
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +5 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +8 -8
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +30 -20
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -15
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -7
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +31 -26
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
- package/lib/pages/WbeDashboard/GraphWrapper.js +35 -28
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
- package/lib/pages/WbeDashboard/SearchInput.js +21 -15
- package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +210 -147
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -39
- package/lib/pages/WwtpPage/DashboardCard.js +21 -25
- package/lib/pages/WwtpPage/DischargePatternCard.js +25 -14
- 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 +4 -3
- package/lib/pages/WwtpPage/Map.js +6 -6
- package/lib/pages/WwtpPage/OrganicCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +7 -8
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
- package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
- package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
- package/lib/pages/WwtpPage/PredictionCard.js +5 -4
- package/lib/pages/WwtpPage/TrendCard.js +22 -20
- package/lib/pages/WwtpPage/UpgradeBox.js +5 -4
- package/lib/pages/WwtpPage/WwtpPage.js +8 -9
- package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
- package/lib/pages/WwtpPage/index.js +4 -3
- package/lib/providers/Slideshow/SlideshowContext.js +10 -11
- package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
- package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
- package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
- package/lib/providers/UrlHistory/index.js +4 -4
- package/lib/providers/UrlHistory/useLastVisited.js +6 -5
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +5 -4
- package/lib/store/ImportGis/actionsCreator.js +5 -7
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +7 -9
- package/lib/store/WBE/actionTypes.js +3 -2
- 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 +8 -10
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
- package/lib/store/WWTPDashboard/types.js +1 -1
- package/lib/store/areas/actionTypes.js +7 -4
- package/lib/store/areas/actions.js +13 -7
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +6 -8
- package/lib/store/context/actionTypes.js +5 -3
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +18 -15
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +8 -10
- package/lib/store/dashboard/dashboardSlice.js +11 -18
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +9 -5
- package/lib/store/edges/actions.js +8 -4
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +17 -13
- package/lib/store/events/actionTypes.js +33 -17
- package/lib/store/events/actions.js +7 -3
- 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 +39 -28
- package/lib/store/filters/IFilter.js +1 -1
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/store/global/actionTypes.js +21 -11
- package/lib/store/global/actions.js +6 -8
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +7 -9
- package/lib/store/permissions/permissionsSlice.js +9 -12
- package/lib/store/points/actionTypes.js +5 -3
- package/lib/store/points/actions.js +10 -6
- 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 +5 -7
- package/lib/store/rootActionTypes.js +3 -2
- package/lib/store/rootActions.js +1 -1
- package/lib/store/rootReducer.js +10 -12
- package/lib/store/rootStore.js +6 -6
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +5 -4
- 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 +6 -7
- package/lib/styles/theme/theme.js +26 -23
- package/lib/test/mocks/browser.js +5 -2
- package/lib/test/test-utils.js +9 -12
- package/lib/ui-kit/Alert/KandoAlert.js +6 -8
- package/lib/ui-kit/Button/Button.js +83 -129
- package/lib/ui-kit/Button/Button.test.js +33 -27
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +27 -34
- package/lib/ui-kit/ContentCard/ContentCard.js +20 -16
- package/lib/ui-kit/Dashboard/Dashboard.js +28 -29
- package/lib/ui-kit/Dashboard/index.js +4 -3
- package/lib/ui-kit/DropDown/DropDown.js +22 -23
- package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
- package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
- package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
- package/lib/ui-kit/EmptyState/EmptyState.js +6 -7
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +81 -69
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +167 -89
- package/lib/ui-kit/HierarchyGraph/LeafSign.js +7 -7
- package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +19 -17
- package/lib/ui-kit/HierarchyGraph/NodeIcon.js +8 -9
- package/lib/ui-kit/HierarchyGraph/NodeLayout.js +25 -22
- package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +10 -11
- package/lib/ui-kit/HierarchyGraph/ScoreNode.js +9 -10
- package/lib/ui-kit/HierarchyGraph/index.js +4 -3
- package/lib/ui-kit/HierarchyGraph/utils.js +67 -57
- package/lib/ui-kit/IconAction/IconAction.js +8 -9
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -47
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +49 -58
- package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
- package/lib/ui-kit/InletsPie/index.js +4 -3
- package/lib/ui-kit/InletsPie/options.js +9 -7
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +38 -29
- package/lib/ui-kit/KandoFilter/KandoFilter.js +11 -10
- package/lib/ui-kit/KandoList/KandoList.js +12 -13
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
- package/lib/ui-kit/KandoTable/KandoTable.test.js +27 -21
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +7 -8
- package/lib/ui-kit/MobileInput/MobileInput.js +50 -56
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
- package/lib/ui-kit/ModalConfirmation/index.js +3 -2
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -9
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +22 -26
- package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
- package/lib/ui-kit/OrganicEvents/index.js +4 -3
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +21 -17
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +24 -21
- package/lib/ui-kit/ScoreGauge/constant.js +4 -3
- package/lib/ui-kit/ScoreGauge/index.js +4 -3
- package/lib/ui-kit/TimeLineChart/TrendChart.js +28 -25
- package/lib/ui-kit/TimeLineChart/index.js +4 -3
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
- package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +14 -13
- package/lib/ui-kit/siteName/SiteName.js +11 -13
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +20 -23
- package/lib/utilities/Analytics.js +19 -19
- package/lib/utilities/Array.js +5 -4
- package/lib/utilities/Enum.js +51 -15
- package/lib/utilities/ErrorBoundary.js +42 -27
- package/lib/utilities/File.js +73 -45
- package/lib/utilities/GetDir.js +10 -10
- package/lib/utilities/KandoDate.js +15 -7
- package/lib/utilities/KandoModal.js +28 -16
- package/lib/utilities/LocalStorage.js +7 -5
- package/lib/utilities/ThousandsToK.js +2 -2
- package/lib/utilities/TimeFormat.js +23 -22
- package/lib/utilities/Truncate.js +27 -17
- package/lib/utilities/edgesMath.js +16 -15
- package/lib/utilities/i18n.js +6 -5
- package/lib/utilities/kql.js +12 -10
- package/lib/utilities/map/icons.js +18 -18
- package/lib/utilities/polylinedecorator.js +113 -88
- package/lib/utilities/scoreToData.js +26 -20
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +10 -9
- package/lib/utilities/uploadToS3.js +12 -12
- package/lib/utilities/urls.js +16 -19
- package/package.json +9 -12
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -8,16 +8,14 @@ exports.DropdownToggle = exports.CustomToggle = void 0;
|
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _reactBootstrap = require("react-bootstrap");
|
|
11
|
-
|
|
11
|
+
var CustomToggleHolder = _styledComponents.default.div.withConfig({
|
|
12
12
|
displayName: "DropdownToggle__CustomToggleHolder",
|
|
13
13
|
componentId: "sc-1c9wqqk-0"
|
|
14
14
|
})(["cursor:pointer;"]);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} = _ref;
|
|
20
|
-
const handleClick = e => {
|
|
15
|
+
var CustomToggle = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
16
|
+
var children = _ref.children,
|
|
17
|
+
onClick = _ref.onClick;
|
|
18
|
+
var handleClick = function handleClick(e) {
|
|
21
19
|
e.preventDefault();
|
|
22
20
|
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
23
21
|
};
|
|
@@ -26,13 +24,12 @@ const CustomToggle = exports.CustomToggle = /*#__PURE__*/_react.default.forwardR
|
|
|
26
24
|
onClick: handleClick
|
|
27
25
|
}, children));
|
|
28
26
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
} = _ref2;
|
|
27
|
+
exports.CustomToggle = CustomToggle;
|
|
28
|
+
var DropdownToggle = function DropdownToggle(_ref2) {
|
|
29
|
+
var toggleComponent = _ref2.toggleComponent;
|
|
33
30
|
return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Toggle, {
|
|
34
31
|
as: CustomToggle
|
|
35
32
|
}, toggleComponent);
|
|
36
33
|
};
|
|
37
34
|
exports.DropdownToggle = DropdownToggle;
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEJvb3RzdHJhcCIsIkN1c3RvbVRvZ2dsZUhvbGRlciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiQ3VzdG9tVG9nZ2xlIiwiUmVhY3QiLCJmb3J3YXJkUmVmIiwiX3JlZiIsInJlZiIsImNoaWxkcmVuIiwib25DbGljayIsImhhbmRsZUNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0IiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJleHBvcnRzIiwiRHJvcGRvd25Ub2dnbGUiLCJfcmVmMiIsInRvZ2dsZUNvbXBvbmVudCIsIkRyb3Bkb3duIiwiVG9nZ2xlIiwiYXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0Ryb3BEb3duL0Ryb3Bkb3duVG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxuaW50ZXJmYWNlIEN1c3RvbVRvZ2dsZVByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIG9uQ2xpY2s/OiAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7fTtcbn1cbmludGVyZmFjZSBEcm9wZG93blRvZ2dsZVByb3BzIHtcbiAgdG9nZ2xlQ29tcG9uZW50OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmNvbnN0IEN1c3RvbVRvZ2dsZUhvbGRlciA9IHN0eWxlZC5kaXZgXG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBDdXN0b21Ub2dnbGUgPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxEaXZFbGVtZW50LCBDdXN0b21Ub2dnbGVQcm9wcz4oXG4gICh7IGNoaWxkcmVuLCBvbkNsaWNrIH0sIHJlZjogUmVhY3QuUmVmPEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvbkNsaWNrPy4oZSk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPEN1c3RvbVRvZ2dsZUhvbGRlcj5cbiAgICAgICAgPGRpdiByZWY9e3JlZn0gb25DbGljaz17aGFuZGxlQ2xpY2t9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0N1c3RvbVRvZ2dsZUhvbGRlcj5cbiAgICApO1xuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IERyb3Bkb3duVG9nZ2xlOiBGQzxEcm9wZG93blRvZ2dsZVByb3BzPiA9ICh7XG4gIHRvZ2dsZUNvbXBvbmVudCxcbn0pID0+IHtcbiAgcmV0dXJuIDxEcm9wZG93bi5Ub2dnbGUgYXM9e0N1c3RvbVRvZ2dsZX0+e3RvZ2dsZUNvbXBvbmVudH08L0Ryb3Bkb3duLlRvZ2dsZT47XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQVdBLElBQU1FLGtCQUFrQixHQUFHQyx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdUJBRXBDO0FBRU0sSUFBTUMsWUFBWSxnQkFBR0MsY0FBSyxDQUFDQyxVQUFVLENBQzFDLFVBQUFDLElBQUEsRUFBd0JDLEdBQThCLEVBQUs7RUFBQSxJQUF4REMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFBRUMsT0FBTyxHQUFBSCxJQUFBLENBQVBHLE9BQU87RUFDbEIsSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLENBQStDLEVBQUs7SUFDdkVBLENBQUMsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7SUFDbEJILE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFHRSxDQUFDLENBQUM7RUFDZCxDQUFDO0VBQ0Qsb0JBQ0VsQixNQUFBLENBQUFvQixPQUFBLENBQUFDLGFBQUEsQ0FBQ2pCLGtCQUFrQixxQkFDakJKLE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQUMsYUFBQTtJQUFLUCxHQUFHLEVBQUVBLEdBQUk7SUFBQ0UsT0FBTyxFQUFFQztFQUFZLEdBQ2pDRixRQUNFLENBQ2EsQ0FBQztBQUV6QixDQUNGLENBQUM7QUFBQ08sT0FBQSxDQUFBWixZQUFBLEdBQUFBLFlBQUE7QUFFSyxJQUFNYSxjQUF1QyxHQUFHLFNBQTFDQSxjQUF1Q0EsQ0FBQUMsS0FBQSxFQUU5QztFQUFBLElBREpDLGVBQWUsR0FBQUQsS0FBQSxDQUFmQyxlQUFlO0VBRWYsb0JBQU96QixNQUFBLENBQUFvQixPQUFBLENBQUFDLGFBQUEsQ0FBQ2xCLGVBQUEsQ0FBQXVCLFFBQVEsQ0FBQ0MsTUFBTTtJQUFDQyxFQUFFLEVBQUVsQjtFQUFhLEdBQUVlLGVBQWlDLENBQUM7QUFDL0UsQ0FBQztBQUFDSCxPQUFBLENBQUFDLGNBQUEsR0FBQUEsY0FBQSJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -8,10 +8,8 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _icons = require("assets/icons");
|
|
10
10
|
var _reactI18next = require("react-i18next");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
title_key
|
|
14
|
-
} = _ref;
|
|
11
|
+
var EmptyState = function EmptyState(_ref) {
|
|
12
|
+
var title_key = _ref.title_key;
|
|
15
13
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
16
14
|
className: 'd-flex flex-column align-items-center mx-3 m-auto'
|
|
17
15
|
}, /*#__PURE__*/_react.default.createElement(_icons.NoResultSvg, {
|
|
@@ -28,5 +26,6 @@ const EmptyState = _ref => {
|
|
|
28
26
|
i18nKey: "wwtpPage.upcoming_contact"
|
|
29
27
|
})));
|
|
30
28
|
};
|
|
31
|
-
var _default =
|
|
32
|
-
|
|
29
|
+
var _default = EmptyState;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pY29ucyIsIl9yZWFjdEkxOG5leHQiLCJFbXB0eVN0YXRlIiwiX3JlZiIsInRpdGxlX2tleSIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiTm9SZXN1bHRTdmciLCJ3aWR0aCIsImhlaWdodCIsIlRyYW5zIiwiaTE4bktleSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvRW1wdHlTdGF0ZS9FbXB0eVN0YXRlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTm9SZXN1bHRTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zJztcbmltcG9ydCB7IFRyYW5zIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmNvbnN0IEVtcHR5U3RhdGUgPSAoeyB0aXRsZV9rZXkgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBteC0zIG0tYXV0byd9PlxuICAgICAgPE5vUmVzdWx0U3ZnIHdpZHRoPXs0MH0gaGVpZ2h0PXs0MH0gY2xhc3NOYW1lPXsnbWItMyd9IC8+XG4gICAgICA8aDUgY2xhc3NOYW1lPXsnbmF0dXJhbC10ZXh0LWRlZmF1bHQgdGV4dC1jZW50ZXInfT5cbiAgICAgICAgPFRyYW5zIGkxOG5LZXk9e3RpdGxlX2tleX0gLz5cbiAgICAgIDwvaDU+XG4gICAgICA8cCBjbGFzc05hbWU9eydtdC0yIHRleHQtbXV0ZWQgdGV4dC1jZW50ZXInfT5cbiAgICAgICAgPFRyYW5zIGkxOG5LZXk9e2B3d3RwUGFnZS51cGNvbWluZ19jb250YWN0YH0gLz5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBFbXB0eVN0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBTUcsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUFDLElBQUEsRUFBc0I7RUFBQSxJQUFoQkMsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7RUFDN0Isb0JBQ0VQLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBO0lBQUtDLFNBQVMsRUFBRTtFQUFvRCxnQkFDbEVWLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBLENBQUNOLE1BQUEsQ0FBQVEsV0FBVztJQUFDQyxLQUFLLEVBQUUsRUFBRztJQUFDQyxNQUFNLEVBQUUsRUFBRztJQUFDSCxTQUFTLEVBQUU7RUFBTyxDQUFFLENBQUMsZUFDekRWLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBO0lBQUlDLFNBQVMsRUFBRTtFQUFtQyxnQkFDaERWLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBLENBQUNMLGFBQUEsQ0FBQVUsS0FBSztJQUFDQyxPQUFPLEVBQUVSO0VBQVUsQ0FBRSxDQUMxQixDQUFDLGVBQ0xQLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBO0lBQUdDLFNBQVMsRUFBRTtFQUE4QixnQkFDMUNWLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBLENBQUNMLGFBQUEsQ0FBQVUsS0FBSztJQUFDQyxPQUFPO0VBQThCLENBQUUsQ0FDN0MsQ0FDQSxDQUFDO0FBRVYsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FDYVgsVUFBVTtBQUFBWSxPQUFBLENBQUFULE9BQUEsR0FBQVEsUUFBQSJ9
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
4
|
-
var
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = AutoFitTree;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
10
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _reactD3Tree = _interopRequireDefault(require("react-d3-tree"));
|
|
@@ -14,110 +15,121 @@ var _PollutionContributorNode = _interopRequireDefault(require("./PollutionContr
|
|
|
14
15
|
var _utils = require("./utils");
|
|
15
16
|
var _reactRedux = require("react-redux");
|
|
16
17
|
var _reactRouterDom = require("react-router-dom");
|
|
17
|
-
|
|
18
|
+
var _excluded = ["data", "orientation", "initialDepth", "treeKey", "selectedFilters", "exceededSiteIds"];
|
|
19
|
+
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); }
|
|
20
|
+
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; }
|
|
18
21
|
function countDepthAndBreadth(root) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
var maxDepth = 0;
|
|
23
|
+
var breadthByDepth = [];
|
|
24
|
+
var dfs = function dfs(n) {
|
|
22
25
|
var _n$children;
|
|
23
|
-
|
|
26
|
+
var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
24
27
|
maxDepth = Math.max(maxDepth, d);
|
|
25
28
|
breadthByDepth[d] = (breadthByDepth[d] || 0) + 1;
|
|
26
|
-
(_n$children = n.children) === null || _n$children === void 0 ? void 0 : _n$children.forEach(
|
|
29
|
+
(_n$children = n.children) === null || _n$children === void 0 ? void 0 : _n$children.forEach(function (c) {
|
|
30
|
+
return dfs(c, d + 1);
|
|
31
|
+
});
|
|
27
32
|
};
|
|
28
33
|
dfs(root);
|
|
29
|
-
|
|
34
|
+
var maxBreadth = Math.max.apply(Math, breadthByDepth);
|
|
30
35
|
return {
|
|
31
|
-
maxDepth,
|
|
32
|
-
maxBreadth
|
|
36
|
+
maxDepth: maxDepth,
|
|
37
|
+
maxBreadth: maxBreadth
|
|
33
38
|
};
|
|
34
39
|
}
|
|
35
40
|
function AutoFitTree(_ref) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
var data = _ref.data,
|
|
42
|
+
_ref$orientation = _ref.orientation,
|
|
43
|
+
orientation = _ref$orientation === void 0 ? 'vertical' : _ref$orientation,
|
|
44
|
+
initialDepth = _ref.initialDepth,
|
|
45
|
+
treeKey = _ref.treeKey,
|
|
46
|
+
_ref$selectedFilters = _ref.selectedFilters,
|
|
47
|
+
selectedFilters = _ref$selectedFilters === void 0 ? {} : _ref$selectedFilters,
|
|
48
|
+
_ref$exceededSiteIds = _ref.exceededSiteIds,
|
|
49
|
+
exceededSiteIds = _ref$exceededSiteIds === void 0 ? [] : _ref$exceededSiteIds,
|
|
44
50
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
var PADDING = 42; // screen padding in px
|
|
52
|
+
var wrapperRef = (0, _react.useRef)(null);
|
|
53
|
+
var nodeSize = {
|
|
48
54
|
x: 270,
|
|
49
55
|
y: 270
|
|
50
56
|
}; // how much space each node occupies
|
|
51
|
-
|
|
57
|
+
var separation = {
|
|
52
58
|
siblings: 0.8,
|
|
53
59
|
nonSiblings: 0.9
|
|
54
60
|
}; // node spacing
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
var _useState = (0, _react.useState)({
|
|
62
|
+
width: 500,
|
|
63
|
+
height: 100
|
|
64
|
+
}),
|
|
65
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
66
|
+
dims = _useState2[0],
|
|
67
|
+
setDims = _useState2[1];
|
|
68
|
+
var early_adopter = (0, _reactRedux.useSelector)(function (state) {
|
|
69
|
+
return state.permissions.early_adopter;
|
|
58
70
|
});
|
|
59
|
-
const early_adopter = (0, _reactRedux.useSelector)(state => state.permissions.early_adopter);
|
|
60
71
|
|
|
61
72
|
// keep wrapper sized to the viewport
|
|
62
|
-
(0, _react.useEffect)(()
|
|
73
|
+
(0, _react.useEffect)(function () {
|
|
63
74
|
if (!wrapperRef.current) return;
|
|
64
|
-
|
|
65
|
-
|
|
75
|
+
var ro = new ResizeObserver(function () {
|
|
76
|
+
var r = wrapperRef.current.getBoundingClientRect();
|
|
66
77
|
setDims({
|
|
67
78
|
width: r.width,
|
|
68
79
|
height: r.height
|
|
69
80
|
});
|
|
70
81
|
});
|
|
71
82
|
ro.observe(wrapperRef.current);
|
|
72
|
-
return ()
|
|
83
|
+
return function () {
|
|
84
|
+
return ro.disconnect();
|
|
85
|
+
};
|
|
73
86
|
}, []);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const {
|
|
79
|
-
maxDepth,
|
|
80
|
-
maxBreadth
|
|
81
|
-
} = countDepthAndBreadth(data);
|
|
87
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
|
88
|
+
var _countDepthAndBreadth = countDepthAndBreadth(data),
|
|
89
|
+
maxDepth = _countDepthAndBreadth.maxDepth,
|
|
90
|
+
maxBreadth = _countDepthAndBreadth.maxBreadth;
|
|
82
91
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
// approximate required pixel size of the laid-out tree
|
|
93
|
+
var reqW = maxBreadth * nodeSize.x * separation.siblings;
|
|
94
|
+
var reqH = (maxDepth + 1) * nodeSize.y;
|
|
95
|
+
var availW = Math.max(1, dims.width - PADDING * 2);
|
|
96
|
+
var availH = Math.max(1, dims.height - PADDING * 2);
|
|
97
|
+
var fitZoom = 0.7 * Math.min(availW / reqW, availH / reqH);
|
|
98
|
+
var z = isFinite(fitZoom) && fitZoom > 0 ? fitZoom : 1.2;
|
|
99
|
+
return {
|
|
100
|
+
zoom: z,
|
|
101
|
+
translate: {
|
|
102
|
+
x: dims.width / 2,
|
|
103
|
+
y: PADDING
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}, [data, nodeSize.x, nodeSize.y, separation.siblings, dims.width, dims.height]),
|
|
107
|
+
translate = _useMemo.translate,
|
|
108
|
+
zoom = _useMemo.zoom;
|
|
98
109
|
function setCollapsedByDepth(node, maxDepth) {
|
|
99
110
|
var _node$children;
|
|
100
|
-
|
|
111
|
+
var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
101
112
|
node.collapsed = d >= maxDepth;
|
|
102
|
-
(_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.forEach(
|
|
113
|
+
(_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.forEach(function (c) {
|
|
114
|
+
return setCollapsedByDepth(c, maxDepth, d + 1);
|
|
115
|
+
});
|
|
103
116
|
return node;
|
|
104
117
|
}
|
|
105
|
-
|
|
118
|
+
var viewData = (0, _react.useMemo)(function () {
|
|
106
119
|
if (!data) return null;
|
|
107
|
-
|
|
120
|
+
var clone = JSON.parse(JSON.stringify(data));
|
|
108
121
|
return setCollapsedByDepth(clone, initialDepth);
|
|
109
122
|
}, [data, initialDepth]);
|
|
110
|
-
|
|
111
|
-
siteID,
|
|
112
|
-
areaID
|
|
113
|
-
|
|
114
|
-
const renderCustomNodeElement = rd3tProps => {
|
|
123
|
+
var _useParams = (0, _reactRouterDom.useParams)(),
|
|
124
|
+
siteID = _useParams.siteID,
|
|
125
|
+
areaID = _useParams.areaID;
|
|
126
|
+
var renderCustomNodeElement = function renderCustomNodeElement(rd3tProps) {
|
|
115
127
|
var _selectedFilters$Samp, _selectedFilters$Insi, _rd3tProps$nodeDatum$, _rd3tProps$nodeDatum$2, _rd3tProps$nodeDatum$3, _rd3tProps$nodeDatum$4, _rd3tProps$nodeDatum$5;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
128
|
+
var isRoot = rd3tProps.nodeDatum.__rd3t.depth === 0;
|
|
129
|
+
var showSamplers = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Samp = selectedFilters.SamplerFilterItem) === null || _selectedFilters$Samp === void 0 ? void 0 : _selectedFilters$Samp.toString()) === 'with' || false;
|
|
130
|
+
var insightData = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Insi = selectedFilters.InsightDataFilterItem) === null || _selectedFilters$Insi === void 0 ? void 0 : _selectedFilters$Insi.toString()) || 'score';
|
|
131
|
+
var isHighlight = siteID && siteID === ((_rd3tProps$nodeDatum$ = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$ === void 0 ? void 0 : (_rd3tProps$nodeDatum$2 = _rd3tProps$nodeDatum$.point_id) === null || _rd3tProps$nodeDatum$2 === void 0 ? void 0 : _rd3tProps$nodeDatum$2.toString()) || areaID && areaID === ((_rd3tProps$nodeDatum$3 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$3 === void 0 ? void 0 : (_rd3tProps$nodeDatum$4 = _rd3tProps$nodeDatum$3.area_id) === null || _rd3tProps$nodeDatum$4 === void 0 ? void 0 : _rd3tProps$nodeDatum$4.toString());
|
|
132
|
+
var isExceeded = exceededSiteIds.includes((_rd3tProps$nodeDatum$5 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$5 === void 0 ? void 0 : _rd3tProps$nodeDatum$5.point_id);
|
|
121
133
|
return !isRoot && (0, _utils.shouldFilterOut)(rd3tProps, selectedFilters) ? /*#__PURE__*/_react.default.createElement("div", null) : insightData === 'score' ? /*#__PURE__*/_react.default.createElement(_ScoreNode.default, Object.assign({}, rd3tProps, {
|
|
122
134
|
isHighlight: isHighlight,
|
|
123
135
|
isExceeded: isExceeded,
|
|
@@ -158,4 +170,4 @@ function AutoFitTree(_ref) {
|
|
|
158
170
|
initialDepth: initialDepth
|
|
159
171
|
}, rest)));
|
|
160
172
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Njb3JlTm9kZSIsIl9Qb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfdXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9leGNsdWRlZCIsImNvdW50RGVwdGhBbmRCcmVhZHRoIiwicm9vdCIsIm1heERlcHRoIiwiYnJlYWR0aEJ5RGVwdGgiLCJkZnMiLCJuIiwiX24kY2hpbGRyZW4iLCJkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiTWF0aCIsIm1heCIsImNoaWxkcmVuIiwiZm9yRWFjaCIsImMiLCJtYXhCcmVhZHRoIiwiQXV0b0ZpdFRyZWUiLCJfcmVmIiwiZGF0YSIsIm9yaWVudGF0aW9uIiwiaW5pdGlhbERlcHRoIiwidHJlZUtleSIsInNlbGVjdGVkRmlsdGVycyIsImV4Y2VlZGVkU2l0ZUlkcyIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiZGVmYXVsdCIsIlBBRERJTkciLCJ3cmFwcGVyUmVmIiwidXNlUmVmIiwibm9kZVNpemUiLCJ4IiwieSIsInNlcGFyYXRpb24iLCJzaWJsaW5ncyIsIm5vblNpYmxpbmdzIiwiZGltcyIsInNldERpbXMiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZWFybHlfYWRvcHRlciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJybyIsIlJlc2l6ZU9ic2VydmVyIiwiciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwidHJhbnNsYXRlIiwiem9vbSIsInVzZU1lbW8iLCJyZXFXIiwicmVxSCIsImF2YWlsVyIsImF2YWlsSCIsImZpdFpvb20iLCJtaW4iLCJ6IiwiaXNGaW5pdGUiLCJzZXRDb2xsYXBzZWRCeURlcHRoIiwibm9kZSIsIl9ub2RlJGNoaWxkcmVuIiwiY29sbGFwc2VkIiwidmlld0RhdGEiLCJjbG9uZSIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsInNpdGVJRCIsImFyZWFJRCIsInVzZVBhcmFtcyIsInJlbmRlckN1c3RvbU5vZGVFbGVtZW50IiwicmQzdFByb3BzIiwiX3NlbGVjdGVkRmlsdGVycyRTYW1wIiwiX3NlbGVjdGVkRmlsdGVycyRJbnNpIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kMiIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDMiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQ0IiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kNSIsImlzUm9vdCIsIm5vZGVEYXR1bSIsIl9fcmQzdCIsImRlcHRoIiwic2hvd1NhbXBsZXJzIiwiU2FtcGxlckZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsImluc2lnaHREYXRhIiwiSW5zaWdodERhdGFGaWx0ZXJJdGVtIiwiaXNIaWdobGlnaHQiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJhcmVhX2lkIiwiaXNFeGNlZWRlZCIsImluY2x1ZGVzIiwic2hvdWxkRmlsdGVyT3V0IiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsIm9uTm9kZUNsaWNrIiwiZWFybHlBZG9wdGVyIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsImtleSIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFNjb3JlTm9kZSBmcm9tICcuL1Njb3JlTm9kZSc7XG5pbXBvcnQgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlIGZyb20gJy4vUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlJztcbmltcG9ydCB7IEluc2lnaHREYXRhLCBzaG91bGRGaWx0ZXJPdXQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbnR5cGUgU2VwID0geyBzaWJsaW5nczogbnVtYmVyOyBub25TaWJsaW5nczogbnVtYmVyIH07XG5cbmZ1bmN0aW9uIGNvdW50RGVwdGhBbmRCcmVhZHRoKHJvb3Q6IFJhd05vZGVEYXR1bSkge1xuICBsZXQgbWF4RGVwdGggPSAwO1xuICBjb25zdCBicmVhZHRoQnlEZXB0aDogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgZGZzID0gKG46IFJhd05vZGVEYXR1bSwgZCA9IDApID0+IHtcbiAgICBtYXhEZXB0aCA9IE1hdGgubWF4KG1heERlcHRoLCBkKTtcbiAgICBicmVhZHRoQnlEZXB0aFtkXSA9IChicmVhZHRoQnlEZXB0aFtkXSB8fCAwKSArIDE7XG4gICAgbi5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gZGZzKGMsIGQgKyAxKSk7XG4gIH07XG4gIGRmcyhyb290KTtcbiAgY29uc3QgbWF4QnJlYWR0aCA9IE1hdGgubWF4KC4uLmJyZWFkdGhCeURlcHRoKTtcbiAgcmV0dXJuIHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEF1dG9GaXRUcmVlKHtcbiAgZGF0YSxcbiAgb3JpZW50YXRpb24gPSAndmVydGljYWwnLFxuICBpbml0aWFsRGVwdGgsXG4gIHRyZWVLZXksXG4gIHNlbGVjdGVkRmlsdGVycyA9IHt9LFxuICBleGNlZWRlZFNpdGVJZHMgPSBbXSxcbiAgLi4ucmVzdFxufToge1xuICBkYXRhOiBhbnk7XG4gIG9yaWVudGF0aW9uPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcbiAgaW5pdGlhbERlcHRoOiBudW1iZXI7XG4gIG9uTm9kZUNsaWNrPzogKG5vZGVEYXRhOiBhbnkpID0+IHZvaWQ7XG4gIHRyZWVLZXk6IG51bWJlcjtcbiAgc2VsZWN0ZWRGaWx0ZXJzPzogYW55O1xuICBleGNlZWRlZFNpdGVJZHM/OiBudW1iZXJbXTtcbn0pIHtcbiAgY29uc3QgUEFERElORyA9IDQyOyAvLyBzY3JlZW4gcGFkZGluZyBpbiBweFxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgbm9kZVNpemUgPSB7IHg6IDI3MCwgeTogMjcwIH07IC8vIGhvdyBtdWNoIHNwYWNlIGVhY2ggbm9kZSBvY2N1cGllc1xuICBjb25zdCBzZXBhcmF0aW9uOiBTZXAgPSB7IHNpYmxpbmdzOiAwLjgsIG5vblNpYmxpbmdzOiAwLjkgfTsgLy8gbm9kZSBzcGFjaW5nXG4gIGNvbnN0IFtkaW1zLCBzZXREaW1zXSA9IHVzZVN0YXRlKHsgd2lkdGg6IDUwMCwgaGVpZ2h0OiAxMDAgfSk7XG4gIGNvbnN0IGVhcmx5X2Fkb3B0ZXIgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IGFueSkgPT4gc3RhdGUucGVybWlzc2lvbnMuZWFybHlfYWRvcHRlcixcbiAgKTtcblxuICAvLyBrZWVwIHdyYXBwZXIgc2l6ZWQgdG8gdGhlIHZpZXdwb3J0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF3cmFwcGVyUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBjb25zdCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICBjb25zdCByID0gd3JhcHBlclJlZi5jdXJyZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHNldERpbXMoeyB3aWR0aDogci53aWR0aCwgaGVpZ2h0OiByLmhlaWdodCB9KTtcbiAgICB9KTtcbiAgICByby5vYnNlcnZlKHdyYXBwZXJSZWYuY3VycmVudCk7XG4gICAgcmV0dXJuICgpID0+IHJvLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHsgdHJhbnNsYXRlLCB6b29tIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB7IG1heERlcHRoLCBtYXhCcmVhZHRoIH0gPSBjb3VudERlcHRoQW5kQnJlYWR0aChkYXRhKTtcblxuICAgIC8vIGFwcHJveGltYXRlIHJlcXVpcmVkIHBpeGVsIHNpemUgb2YgdGhlIGxhaWQtb3V0IHRyZWVcbiAgICBjb25zdCByZXFXID0gbWF4QnJlYWR0aCAqIG5vZGVTaXplLnggKiBzZXBhcmF0aW9uLnNpYmxpbmdzO1xuICAgIGNvbnN0IHJlcUggPSAobWF4RGVwdGggKyAxKSAqIG5vZGVTaXplLnk7XG5cbiAgICBjb25zdCBhdmFpbFcgPSBNYXRoLm1heCgxLCBkaW1zLndpZHRoIC0gUEFERElORyAqIDIpO1xuICAgIGNvbnN0IGF2YWlsSCA9IE1hdGgubWF4KDEsIGRpbXMuaGVpZ2h0IC0gUEFERElORyAqIDIpO1xuXG4gICAgY29uc3QgZml0Wm9vbSA9IDAuNyAqIE1hdGgubWluKGF2YWlsVyAvIHJlcVcsIGF2YWlsSCAvIHJlcUgpO1xuICAgIGNvbnN0IHogPSBpc0Zpbml0ZShmaXRab29tKSAmJiBmaXRab29tID4gMCA/IGZpdFpvb20gOiAxLjI7XG5cbiAgICByZXR1cm4geyB6b29tOiB6LCB0cmFuc2xhdGU6IHsgeDogZGltcy53aWR0aCAvIDIsIHk6IFBBRERJTkcgfSB9O1xuICB9LCBbXG4gICAgZGF0YSxcbiAgICBub2RlU2l6ZS54LFxuICAgIG5vZGVTaXplLnksXG4gICAgc2VwYXJhdGlvbi5zaWJsaW5ncyxcbiAgICBkaW1zLndpZHRoLFxuICAgIGRpbXMuaGVpZ2h0LFxuICBdKTtcblxuICBmdW5jdGlvbiBzZXRDb2xsYXBzZWRCeURlcHRoKG5vZGU6IGFueSwgbWF4RGVwdGg6IG51bWJlciwgZCA9IDApIHtcbiAgICBub2RlLmNvbGxhcHNlZCA9IGQgPj0gbWF4RGVwdGg7XG4gICAgbm9kZS5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gc2V0Q29sbGFwc2VkQnlEZXB0aChjLCBtYXhEZXB0aCwgZCArIDEpKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnN0IHZpZXdEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBjbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHJldHVybiBzZXRDb2xsYXBzZWRCeURlcHRoKGNsb25lLCBpbml0aWFsRGVwdGgpO1xuICB9LCBbZGF0YSwgaW5pdGlhbERlcHRoXSk7XG5cbiAgY29uc3QgeyBzaXRlSUQsIGFyZWFJRCB9ID0gdXNlUGFyYW1zKCk7XG5cbiAgY29uc3QgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQgPSAocmQzdFByb3BzKSA9PiB7XG4gICAgY29uc3QgaXNSb290ID0gcmQzdFByb3BzLm5vZGVEYXR1bS5fX3JkM3QuZGVwdGggPT09IDA7XG4gICAgY29uc3Qgc2hvd1NhbXBsZXJzID1cbiAgICAgIHNlbGVjdGVkRmlsdGVycz8uU2FtcGxlckZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgPT09ICd3aXRoJyB8fCBmYWxzZTtcbiAgICBjb25zdCBpbnNpZ2h0RGF0YSA9XG4gICAgICAoc2VsZWN0ZWRGaWx0ZXJzPy5JbnNpZ2h0RGF0YUZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgYXMgSW5zaWdodERhdGEpIHx8XG4gICAgICAnc2NvcmUnO1xuICAgIGNvbnN0IGlzSGlnaGxpZ2h0ID1cbiAgICAgIChzaXRlSUQgJiZcbiAgICAgICAgc2l0ZUlEID09PSByZDN0UHJvcHMubm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkPy50b1N0cmluZygpKSB8fFxuICAgICAgKGFyZWFJRCAmJlxuICAgICAgICBhcmVhSUQgPT09IHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8uYXJlYV9pZD8udG9TdHJpbmcoKSk7XG4gICAgY29uc3QgaXNFeGNlZWRlZCA9IGV4Y2VlZGVkU2l0ZUlkcy5pbmNsdWRlcyhcbiAgICAgIHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQsXG4gICAgKTtcbiAgICByZXR1cm4gIWlzUm9vdCAmJiBzaG91bGRGaWx0ZXJPdXQocmQzdFByb3BzLCBzZWxlY3RlZEZpbHRlcnMpID8gKFxuICAgICAgPGRpdj48L2Rpdj5cbiAgICApIDogaW5zaWdodERhdGEgPT09ICdzY29yZScgPyAoXG4gICAgICA8U2NvcmVOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICA8UG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzRXhjZWVkZWQ9e2lzRXhjZWVkZWR9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICBzdHlsZT17eyB3aWR0aDogJzEwMHZ3JywgaGVpZ2h0OiAnMTAwdmgnLCBvdmVyZmxvdzogJ2hpZGRlbicgfX1cbiAgICA+XG4gICAgICA8VHJlZVxuICAgICAgICBrZXk9e3RyZWVLZXl9XG4gICAgICAgIGRhdGE9e3ZpZXdEYXRhfVxuICAgICAgICBvcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICAgIHBhdGhGdW5jPVwic3RlcFwiXG4gICAgICAgIG5vZGVTaXplPXtub2RlU2l6ZX1cbiAgICAgICAgc2VwYXJhdGlvbj17c2VwYXJhdGlvbn1cbiAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgIHpvb209e3pvb219XG4gICAgICAgIHpvb21hYmxlXG4gICAgICAgIHNjYWxlRXh0ZW50PXt7IG1pbjogMC4xLCBtYXg6IDIgfX1cbiAgICAgICAgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQ9e3JlbmRlckN1c3RvbU5vZGVFbGVtZW50fVxuICAgICAgICBjb2xsYXBzaWJsZVxuICAgICAgICBpbml0aWFsRGVwdGg9e2luaXRpYWxEZXB0aH1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSx5QkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBUCxPQUFBO0FBQTZDLE1BQUFRLFNBQUE7QUFJN0MsU0FBU0Msb0JBQW9CQSxDQUFDQyxJQUFrQixFQUFFO0VBQ2hELElBQUlDLFFBQVEsR0FBRyxDQUFDO0VBQ2hCLE1BQU1DLGNBQXdCLEdBQUcsRUFBRTtFQUNuQyxNQUFNQyxHQUFHLEdBQUcsU0FBQUEsQ0FBQ0MsQ0FBZSxFQUFZO0lBQUEsSUFBQUMsV0FBQTtJQUFBLElBQVZDLENB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
|
|
173
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Njb3JlTm9kZSIsIl9Qb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfdXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY291bnREZXB0aEFuZEJyZWFkdGgiLCJyb290IiwibWF4RGVwdGgiLCJicmVhZHRoQnlEZXB0aCIsImRmcyIsIm4iLCJfbiRjaGlsZHJlbiIsImQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJNYXRoIiwibWF4IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiYyIsIm1heEJyZWFkdGgiLCJhcHBseSIsIkF1dG9GaXRUcmVlIiwiX3JlZiIsImRhdGEiLCJfcmVmJG9yaWVudGF0aW9uIiwib3JpZW50YXRpb24iLCJpbml0aWFsRGVwdGgiLCJ0cmVlS2V5IiwiX3JlZiRzZWxlY3RlZEZpbHRlcnMiLCJzZWxlY3RlZEZpbHRlcnMiLCJfcmVmJGV4Y2VlZGVkU2l0ZUlkcyIsImV4Y2VlZGVkU2l0ZUlkcyIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiUEFERElORyIsIndyYXBwZXJSZWYiLCJ1c2VSZWYiLCJub2RlU2l6ZSIsIngiLCJ5Iiwic2VwYXJhdGlvbiIsInNpYmxpbmdzIiwibm9uU2libGluZ3MiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRpbXMiLCJzZXREaW1zIiwiZWFybHlfYWRvcHRlciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJybyIsIlJlc2l6ZU9ic2VydmVyIiwiciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwiX2NvdW50RGVwdGhBbmRCcmVhZHRoIiwicmVxVyIsInJlcUgiLCJhdmFpbFciLCJhdmFpbEgiLCJmaXRab29tIiwibWluIiwieiIsImlzRmluaXRlIiwiem9vbSIsInRyYW5zbGF0ZSIsInNldENvbGxhcHNlZEJ5RGVwdGgiLCJub2RlIiwiX25vZGUkY2hpbGRyZW4iLCJjb2xsYXBzZWQiLCJ2aWV3RGF0YSIsImNsb25lIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsInNpdGVJRCIsImFyZWFJRCIsInJlbmRlckN1c3RvbU5vZGVFbGVtZW50IiwicmQzdFByb3BzIiwiX3NlbGVjdGVkRmlsdGVycyRTYW1wIiwiX3NlbGVjdGVkRmlsdGVycyRJbnNpIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kMiIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDMiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQ0IiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kNSIsImlzUm9vdCIsIm5vZGVEYXR1bSIsIl9fcmQzdCIsImRlcHRoIiwic2hvd1NhbXBsZXJzIiwiU2FtcGxlckZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsImluc2lnaHREYXRhIiwiSW5zaWdodERhdGFGaWx0ZXJJdGVtIiwiaXNIaWdobGlnaHQiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJhcmVhX2lkIiwiaXNFeGNlZWRlZCIsImluY2x1ZGVzIiwic2hvdWxkRmlsdGVyT3V0IiwiY3JlYXRlRWxlbWVudCIsImFzc2lnbiIsIm9uTm9kZUNsaWNrIiwiZWFybHlBZG9wdGVyIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFNjb3JlTm9kZSBmcm9tICcuL1Njb3JlTm9kZSc7XG5pbXBvcnQgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlIGZyb20gJy4vUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlJztcbmltcG9ydCB7IEluc2lnaHREYXRhLCBzaG91bGRGaWx0ZXJPdXQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbnR5cGUgU2VwID0geyBzaWJsaW5nczogbnVtYmVyOyBub25TaWJsaW5nczogbnVtYmVyIH07XG5cbmZ1bmN0aW9uIGNvdW50RGVwdGhBbmRCcmVhZHRoKHJvb3Q6IFJhd05vZGVEYXR1bSkge1xuICBsZXQgbWF4RGVwdGggPSAwO1xuICBjb25zdCBicmVhZHRoQnlEZXB0aDogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgZGZzID0gKG46IFJhd05vZGVEYXR1bSwgZCA9IDApID0+IHtcbiAgICBtYXhEZXB0aCA9IE1hdGgubWF4KG1heERlcHRoLCBkKTtcbiAgICBicmVhZHRoQnlEZXB0aFtkXSA9IChicmVhZHRoQnlEZXB0aFtkXSB8fCAwKSArIDE7XG4gICAgbi5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gZGZzKGMsIGQgKyAxKSk7XG4gIH07XG4gIGRmcyhyb290KTtcbiAgY29uc3QgbWF4QnJlYWR0aCA9IE1hdGgubWF4KC4uLmJyZWFkdGhCeURlcHRoKTtcbiAgcmV0dXJuIHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEF1dG9GaXRUcmVlKHtcbiAgZGF0YSxcbiAgb3JpZW50YXRpb24gPSAndmVydGljYWwnLFxuICBpbml0aWFsRGVwdGgsXG4gIHRyZWVLZXksXG4gIHNlbGVjdGVkRmlsdGVycyA9IHt9LFxuICBleGNlZWRlZFNpdGVJZHMgPSBbXSxcbiAgLi4ucmVzdFxufToge1xuICBkYXRhOiBhbnk7XG4gIG9yaWVudGF0aW9uPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcbiAgaW5pdGlhbERlcHRoOiBudW1iZXI7XG4gIG9uTm9kZUNsaWNrPzogKG5vZGVEYXRhOiBhbnkpID0+IHZvaWQ7XG4gIHRyZWVLZXk6IG51bWJlcjtcbiAgc2VsZWN0ZWRGaWx0ZXJzPzogYW55O1xuICBleGNlZWRlZFNpdGVJZHM/OiBudW1iZXJbXTtcbn0pIHtcbiAgY29uc3QgUEFERElORyA9IDQyOyAvLyBzY3JlZW4gcGFkZGluZyBpbiBweFxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgbm9kZVNpemUgPSB7IHg6IDI3MCwgeTogMjcwIH07IC8vIGhvdyBtdWNoIHNwYWNlIGVhY2ggbm9kZSBvY2N1cGllc1xuICBjb25zdCBzZXBhcmF0aW9uOiBTZXAgPSB7IHNpYmxpbmdzOiAwLjgsIG5vblNpYmxpbmdzOiAwLjkgfTsgLy8gbm9kZSBzcGFjaW5nXG4gIGNvbnN0IFtkaW1zLCBzZXREaW1zXSA9IHVzZVN0YXRlKHsgd2lkdGg6IDUwMCwgaGVpZ2h0OiAxMDAgfSk7XG4gIGNvbnN0IGVhcmx5X2Fkb3B0ZXIgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IGFueSkgPT4gc3RhdGUucGVybWlzc2lvbnMuZWFybHlfYWRvcHRlcixcbiAgKTtcblxuICAvLyBrZWVwIHdyYXBwZXIgc2l6ZWQgdG8gdGhlIHZpZXdwb3J0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF3cmFwcGVyUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBjb25zdCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICBjb25zdCByID0gd3JhcHBlclJlZi5jdXJyZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHNldERpbXMoeyB3aWR0aDogci53aWR0aCwgaGVpZ2h0OiByLmhlaWdodCB9KTtcbiAgICB9KTtcbiAgICByby5vYnNlcnZlKHdyYXBwZXJSZWYuY3VycmVudCk7XG4gICAgcmV0dXJuICgpID0+IHJvLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHsgdHJhbnNsYXRlLCB6b29tIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB7IG1heERlcHRoLCBtYXhCcmVhZHRoIH0gPSBjb3VudERlcHRoQW5kQnJlYWR0aChkYXRhKTtcblxuICAgIC8vIGFwcHJveGltYXRlIHJlcXVpcmVkIHBpeGVsIHNpemUgb2YgdGhlIGxhaWQtb3V0IHRyZWVcbiAgICBjb25zdCByZXFXID0gbWF4QnJlYWR0aCAqIG5vZGVTaXplLnggKiBzZXBhcmF0aW9uLnNpYmxpbmdzO1xuICAgIGNvbnN0IHJlcUggPSAobWF4RGVwdGggKyAxKSAqIG5vZGVTaXplLnk7XG5cbiAgICBjb25zdCBhdmFpbFcgPSBNYXRoLm1heCgxLCBkaW1zLndpZHRoIC0gUEFERElORyAqIDIpO1xuICAgIGNvbnN0IGF2YWlsSCA9IE1hdGgubWF4KDEsIGRpbXMuaGVpZ2h0IC0gUEFERElORyAqIDIpO1xuXG4gICAgY29uc3QgZml0Wm9vbSA9IDAuNyAqIE1hdGgubWluKGF2YWlsVyAvIHJlcVcsIGF2YWlsSCAvIHJlcUgpO1xuICAgIGNvbnN0IHogPSBpc0Zpbml0ZShmaXRab29tKSAmJiBmaXRab29tID4gMCA/IGZpdFpvb20gOiAxLjI7XG5cbiAgICByZXR1cm4geyB6b29tOiB6LCB0cmFuc2xhdGU6IHsgeDogZGltcy53aWR0aCAvIDIsIHk6IFBBRERJTkcgfSB9O1xuICB9LCBbXG4gICAgZGF0YSxcbiAgICBub2RlU2l6ZS54LFxuICAgIG5vZGVTaXplLnksXG4gICAgc2VwYXJhdGlvbi5zaWJsaW5ncyxcbiAgICBkaW1zLndpZHRoLFxuICAgIGRpbXMuaGVpZ2h0LFxuICBdKTtcblxuICBmdW5jdGlvbiBzZXRDb2xsYXBzZWRCeURlcHRoKG5vZGU6IGFueSwgbWF4RGVwdGg6IG51bWJlciwgZCA9IDApIHtcbiAgICBub2RlLmNvbGxhcHNlZCA9IGQgPj0gbWF4RGVwdGg7XG4gICAgbm9kZS5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gc2V0Q29sbGFwc2VkQnlEZXB0aChjLCBtYXhEZXB0aCwgZCArIDEpKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnN0IHZpZXdEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBjbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHJldHVybiBzZXRDb2xsYXBzZWRCeURlcHRoKGNsb25lLCBpbml0aWFsRGVwdGgpO1xuICB9LCBbZGF0YSwgaW5pdGlhbERlcHRoXSk7XG5cbiAgY29uc3QgeyBzaXRlSUQsIGFyZWFJRCB9ID0gdXNlUGFyYW1zKCk7XG5cbiAgY29uc3QgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQgPSAocmQzdFByb3BzKSA9PiB7XG4gICAgY29uc3QgaXNSb290ID0gcmQzdFByb3BzLm5vZGVEYXR1bS5fX3JkM3QuZGVwdGggPT09IDA7XG4gICAgY29uc3Qgc2hvd1NhbXBsZXJzID1cbiAgICAgIHNlbGVjdGVkRmlsdGVycz8uU2FtcGxlckZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgPT09ICd3aXRoJyB8fCBmYWxzZTtcbiAgICBjb25zdCBpbnNpZ2h0RGF0YSA9XG4gICAgICAoc2VsZWN0ZWRGaWx0ZXJzPy5JbnNpZ2h0RGF0YUZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgYXMgSW5zaWdodERhdGEpIHx8XG4gICAgICAnc2NvcmUnO1xuICAgIGNvbnN0IGlzSGlnaGxpZ2h0ID1cbiAgICAgIChzaXRlSUQgJiZcbiAgICAgICAgc2l0ZUlEID09PSByZDN0UHJvcHMubm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkPy50b1N0cmluZygpKSB8fFxuICAgICAgKGFyZWFJRCAmJlxuICAgICAgICBhcmVhSUQgPT09IHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8uYXJlYV9pZD8udG9TdHJpbmcoKSk7XG4gICAgY29uc3QgaXNFeGNlZWRlZCA9IGV4Y2VlZGVkU2l0ZUlkcy5pbmNsdWRlcyhcbiAgICAgIHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQsXG4gICAgKTtcbiAgICByZXR1cm4gIWlzUm9vdCAmJiBzaG91bGRGaWx0ZXJPdXQocmQzdFByb3BzLCBzZWxlY3RlZEZpbHRlcnMpID8gKFxuICAgICAgPGRpdj48L2Rpdj5cbiAgICApIDogaW5zaWdodERhdGEgPT09ICdzY29yZScgPyAoXG4gICAgICA8U2NvcmVOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICA8UG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzRXhjZWVkZWQ9e2lzRXhjZWVkZWR9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICBzdHlsZT17eyB3aWR0aDogJzEwMHZ3JywgaGVpZ2h0OiAnMTAwdmgnLCBvdmVyZmxvdzogJ2hpZGRlbicgfX1cbiAgICA+XG4gICAgICA8VHJlZVxuICAgICAgICBrZXk9e3RyZWVLZXl9XG4gICAgICAgIGRhdGE9e3ZpZXdEYXRhfVxuICAgICAgICBvcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICAgIHBhdGhGdW5jPVwic3RlcFwiXG4gICAgICAgIG5vZGVTaXplPXtub2RlU2l6ZX1cbiAgICAgICAgc2VwYXJhdGlvbj17c2VwYXJhdGlvbn1cbiAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgIHpvb209e3pvb219XG4gICAgICAgIHpvb21hYmxlXG4gICAgICAgIHNjYWxlRXh0ZW50PXt7IG1pbjogMC4xLCBtYXg6IDIgfX1cbiAgICAgICAgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQ9e3JlbmRlckN1c3RvbU5vZGVFbGVtZW50fVxuICAgICAgICBjb2xsYXBzaWJsZVxuICAgICAgICBpbml0aWFsRGVwdGg9e2luaXRpYWxEZXB0aH1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoi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
|