@kando-env/kando-ui 1.2.377 → 1.2.379

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.
Files changed (584) hide show
  1. package/lib/Router.js +36 -73
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
  3. package/lib/Widgets/EventsRow/EventsRow.js +27 -39
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +130 -117
  6. package/lib/Widgets/Map/MapUtils.js +116 -67
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
  9. package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +39 -38
  12. package/lib/Widgets/Map/edges/Edges.js +24 -24
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +65 -60
  16. package/lib/Widgets/Map/events/EventPath.js +24 -22
  17. package/lib/Widgets/Map/events/EventUtils.js +60 -80
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
  19. package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
  21. package/lib/Widgets/Map/events/Snail.js +19 -20
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
  23. package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
  24. package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
  27. package/lib/Widgets/Map/points/PointIcon.js +22 -15
  28. package/lib/Widgets/Map/points/PointMarker.js +71 -87
  29. package/lib/Widgets/Map/points/PointMarkers.js +45 -66
  30. package/lib/Widgets/Map/points/PointUtils.js +146 -83
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +31 -47
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -28
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +32 -29
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
  60. package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +23 -15
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +30 -47
  75. package/lib/Widgets/UtilityInformation/styles.js +34 -25
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +9 -9
  83. package/lib/components/Backdrop/Backdrop.js +6 -4
  84. package/lib/components/ContentLoader/ContentLoader.js +11 -9
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
  91. package/lib/components/CustomInputs/Search/Search.js +42 -63
  92. package/lib/components/CustomInputs/Select/Select.js +45 -58
  93. package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
  94. package/lib/components/DamageType/DamageType.js +35 -57
  95. package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +10 -10
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +27 -41
  104. package/lib/components/Events/Events.js +41 -58
  105. package/lib/components/Graph/Graph.js +77 -96
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +3 -5
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +96 -205
  113. package/lib/components/Header/InfoBar/InfoBar.js +74 -103
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
  116. package/lib/components/Header/InfoBar/Search/Search.js +16 -21
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -33
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
  119. package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
  121. package/lib/components/Header/Slideshow/Slideshow.js +68 -90
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
  126. package/lib/components/Header/Toolbar/Toolbar.js +55 -74
  127. package/lib/components/InfoBar/InfoBar.js +10 -23
  128. package/lib/components/InfoBar/InfoBar.stories.js +3 -5
  129. package/lib/components/KandoModal/KandoModal.js +27 -41
  130. package/lib/components/Link.js +8 -7
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
  134. package/lib/components/LiveEvents/CarouselSlide.js +9 -7
  135. package/lib/components/LiveEvents/LiveEvents.js +5 -3
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
  137. package/lib/components/Map/Map.js +20 -23
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +17 -31
  140. package/lib/components/PointInfo/PointInfo.js +19 -17
  141. package/lib/components/PopupModal/PopupModal.js +12 -16
  142. package/lib/components/PopupModal/PopupModal.stories.js +15 -19
  143. package/lib/components/Sector/Sector.js +8 -6
  144. package/lib/components/Sector/Sector.test.js +19 -20
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +49 -52
  147. package/lib/components/SevereEvent/Eta/styles.js +10 -6
  148. package/lib/components/SevereEvent/SevereEvent.js +30 -37
  149. package/lib/components/Spinner/Spinner.js +8 -8
  150. package/lib/components/Spinner/Spinner.stories.js +4 -6
  151. package/lib/components/Spinner/styles.js +22 -14
  152. package/lib/components/Tabs/Tabs.js +21 -29
  153. package/lib/components/Tabs/Tabs.stories.js +4 -6
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +12 -17
  166. package/lib/components/TrendGraph/TrendGraph.js +23 -39
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  168. package/lib/development-environment/index.js +8 -12
  169. package/lib/development-environment/mock/browser.js +2 -4
  170. package/lib/development-environment/mock/get.js +8 -10
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +13 -22
  192. package/lib/development-environment/togly/ToglyItem.js +36 -31
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +14 -10
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
  196. package/lib/development-environment/togly/useLocalStorage.js +13 -18
  197. package/lib/hooks/useApi.js +19 -55
  198. package/lib/hooks/useApiWithDashboardQuery.js +30 -49
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +16 -29
  202. package/lib/hooks/useMap.js +22 -34
  203. package/lib/hooks/useNavContext.js +22 -26
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +13 -17
  206. package/lib/hooks/useUserTimeZone.js +33 -30
  207. package/lib/hooks/useUserTimeZone.test.js +19 -22
  208. package/lib/hooks/useWindowSize.js +7 -14
  209. package/lib/index.js +11 -12
  210. package/lib/macros/getVersion.js +3 -3
  211. package/lib/pages/AreaPage/AreaPage.js +34 -67
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +33 -30
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  219. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  220. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  221. package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +8 -13
  224. package/lib/pages/CovidPage/components/Body.js +25 -27
  225. package/lib/pages/CovidPage/components/Map.js +29 -39
  226. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  227. package/lib/pages/CovidPage/components/Summary.js +20 -27
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  230. package/lib/pages/CovidPage/components/areas/Area.js +29 -40
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
  234. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +28 -28
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
  238. package/lib/pages/DashboardMap/Capacity.js +31 -80
  239. package/lib/pages/DashboardMap/FactoryCard.js +34 -28
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  241. package/lib/pages/DashboardMap/List.js +81 -103
  242. package/lib/pages/DashboardMap/ListContext.js +15 -19
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  245. package/lib/pages/DashboardMap/WWTPMap.js +91 -90
  246. package/lib/pages/DashboardMap/WaterDischarge.js +10 -10
  247. package/lib/pages/DashboardMap/Widget.js +54 -71
  248. package/lib/pages/DashboardMap/utils.js +48 -65
  249. package/lib/pages/EventsPage/Body/Body.js +20 -15
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
  257. package/lib/pages/EventsPage/EventsPage.js +7 -10
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
  259. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  260. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -42
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  275. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +10 -10
  276. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +7 -9
  277. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  280. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  281. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
  282. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
  283. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  294. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  295. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  296. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  297. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  298. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  299. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  301. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  302. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  303. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  304. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
  305. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  306. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  307. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  308. package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
  309. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
  310. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  311. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
  312. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  313. package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
  314. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
  315. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
  316. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
  317. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  318. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  319. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  320. package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
  321. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  322. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  323. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  324. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
  325. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  326. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  327. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  328. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  329. package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
  330. package/lib/pages/ImportGisProcess/index.js +12 -15
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  332. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  333. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  334. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
  335. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  336. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  337. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  338. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  339. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  340. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  341. package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
  342. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
  343. package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +14 -16
  344. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +18 -16
  345. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +17 -21
  346. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +17 -21
  347. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +18 -22
  348. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +83 -69
  349. package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +18 -22
  350. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -74
  351. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +97 -95
  352. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
  353. package/lib/pages/OldSitePage/OldSitePage.js +57 -132
  354. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  355. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  356. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  357. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  358. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  359. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  360. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  361. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  362. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  363. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  364. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  365. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  366. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  367. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  368. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  369. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  370. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
  371. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
  372. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  373. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
  374. package/lib/pages/ProfilePage/Container.js +2 -2
  375. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
  376. package/lib/pages/ProfilePage/ProfilePage.js +121 -214
  377. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  378. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
  379. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
  380. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
  381. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  382. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  383. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
  384. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  385. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  386. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  387. package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
  388. package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
  389. package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
  390. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  391. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  392. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
  393. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  394. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
  395. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
  396. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
  397. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
  398. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
  399. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  400. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  401. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  402. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
  403. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  404. package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
  405. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
  406. package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
  407. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  408. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  409. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  410. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  411. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  412. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  413. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  414. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  415. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  416. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  417. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  418. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  419. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  420. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  421. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  422. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  423. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  424. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  425. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  426. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  427. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
  428. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  429. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  430. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  431. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
  432. package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
  433. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  434. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  435. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
  436. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  437. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +49 -41
  438. package/lib/pages/SitePage/SitePage.js +45 -80
  439. package/lib/pages/UploadLabResult/index.js +13 -13
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  441. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  442. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  443. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  444. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
  445. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  446. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
  447. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  448. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
  449. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  450. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  451. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  452. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +30 -31
  453. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  454. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -18
  455. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  456. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
  457. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  458. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
  459. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  460. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  461. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  462. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  463. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  464. package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
  465. package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
  466. package/lib/pages/WwtpPage/DashboardCard.js +26 -23
  467. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  468. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
  469. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  470. package/lib/pages/WwtpPage/Map.js +5 -3
  471. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  472. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  473. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
  474. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  475. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  476. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  477. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  478. package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
  479. package/lib/pages/WwtpPage/WwtpPage.js +8 -8
  480. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  481. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  482. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  483. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  484. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  485. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  486. package/lib/providers/UrlHistory/index.js +2 -2
  487. package/lib/providers/UrlHistory/useLastVisited.js +5 -5
  488. package/lib/store/ImportGis/actionTypes.js +1 -1
  489. package/lib/store/ImportGis/actionsCreator.js +7 -5
  490. package/lib/store/ImportGis/reducer.js +40 -29
  491. package/lib/store/WBE/actionTypes.js +2 -2
  492. package/lib/store/WBE/reducer.js +13 -9
  493. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  494. package/lib/store/areas/actionTypes.js +4 -4
  495. package/lib/store/areas/actions.js +7 -13
  496. package/lib/store/areas/reducer.js +8 -6
  497. package/lib/store/context/actionTypes.js +3 -3
  498. package/lib/store/context/actions.js +3 -3
  499. package/lib/store/context/contextMiddlewares.js +14 -16
  500. package/lib/store/context/reducer.js +13 -9
  501. package/lib/store/dashboard/dashboardSlice.js +18 -10
  502. package/lib/store/edges/actionTypes.js +5 -5
  503. package/lib/store/edges/actions.js +4 -8
  504. package/lib/store/edges/reducer.js +13 -17
  505. package/lib/store/events/actionTypes.js +17 -17
  506. package/lib/store/events/actions.js +3 -7
  507. package/lib/store/events/reducer.js +42 -49
  508. package/lib/store/global/actionTypes.js +11 -11
  509. package/lib/store/global/actions.js +8 -6
  510. package/lib/store/global/reducer.js +11 -10
  511. package/lib/store/permissions/permissionsSlice.js +12 -8
  512. package/lib/store/points/actionTypes.js +3 -3
  513. package/lib/store/points/actions.js +4 -8
  514. package/lib/store/points/reducer.js +7 -5
  515. package/lib/store/rootActionTypes.js +2 -2
  516. package/lib/store/rootReducer.js +17 -12
  517. package/lib/store/rootStore.js +5 -5
  518. package/lib/store/samplings/actionTypes.js +1 -1
  519. package/lib/store/samplings/reducer.js +16 -14
  520. package/lib/styles/StylesLayout.js +5 -3
  521. package/lib/styles/theme/theme.js +26 -27
  522. package/lib/test/mocks/browser.js +2 -4
  523. package/lib/test/test-utils.js +17 -15
  524. package/lib/ui-kit/Button/Button.js +128 -80
  525. package/lib/ui-kit/Button/Button.test.js +24 -29
  526. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  527. package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
  528. package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
  529. package/lib/ui-kit/DropDown/DropDown.js +23 -24
  530. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  531. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  532. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  533. package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
  534. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  535. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
  536. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
  537. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  538. package/lib/ui-kit/InletsPie/options.js +6 -6
  539. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  540. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  541. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  542. package/lib/ui-kit/Layout/Layout.js +6 -4
  543. package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
  544. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  545. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
  546. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  547. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  548. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  549. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  550. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  551. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  552. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
  553. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  554. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  555. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  556. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  557. package/lib/ui-kit/index.js +8 -8
  558. package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
  559. package/lib/ui-kit/siteName/SiteName.js +11 -8
  560. package/lib/utilities/ActionUtility.js +7 -7
  561. package/lib/utilities/Alert.js +21 -17
  562. package/lib/utilities/Analytics.js +11 -11
  563. package/lib/utilities/Array.js +4 -5
  564. package/lib/utilities/Enum.js +15 -51
  565. package/lib/utilities/ErrorBoundary.js +27 -41
  566. package/lib/utilities/File.js +40 -69
  567. package/lib/utilities/GetDir.js +8 -7
  568. package/lib/utilities/KandoDate.js +7 -15
  569. package/lib/utilities/KandoModal.js +16 -26
  570. package/lib/utilities/LocalStorage.js +8 -10
  571. package/lib/utilities/ThousandsToK.js +3 -3
  572. package/lib/utilities/TimeFormat.js +21 -20
  573. package/lib/utilities/Truncate.js +17 -25
  574. package/lib/utilities/edgesMath.js +14 -15
  575. package/lib/utilities/i18n.js +3 -3
  576. package/lib/utilities/kql.js +12 -14
  577. package/lib/utilities/map/icons.js +3 -3
  578. package/lib/utilities/polylinedecorator.js +87 -112
  579. package/lib/utilities/scoreToData.js +17 -17
  580. package/lib/utilities/scoreToData.test.js +5 -5
  581. package/lib/utilities/time.js +8 -8
  582. package/lib/utilities/uploadToS3.js +11 -11
  583. package/lib/utilities/urls.js +61 -59
  584. package/package.json +1 -1
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
9
  var _reactRedux = require("react-redux");
12
10
  var _react = _interopRequireWildcard(require("react"));
@@ -23,109 +21,100 @@ var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice"
23
21
  var _ListContext = require("./ListContext");
24
22
  var _reactBootstrap = require("react-bootstrap");
25
23
  var _Capacity = require("./Capacity");
26
- 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); }
27
- 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; }
28
- var WWTPMap = function WWTPMap(props) {
29
- var _ReduxState$wwtp_dash2;
30
- var searchQuery = (0, _useQueryURL.default)();
31
- var isMapTab = searchQuery.get('view') === 'map';
32
- var _useParams = (0, _reactRouterDom.useParams)(),
33
- id = _useParams.id,
34
- areaID = _useParams.areaID,
35
- siteID = _useParams.siteID;
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ 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; }
26
+ const WWTPMap = props => {
27
+ const searchQuery = (0, _useQueryURL.default)();
28
+ const isMapTab = searchQuery.get('view') === 'map';
29
+ let {
30
+ id,
31
+ areaID,
32
+ siteID
33
+ } = (0, _reactRouterDom.useParams)();
36
34
  id = id || areaID || siteID;
37
- var ReduxState = (0, _reactRedux.useSelector)(function (state) {
38
- return state;
35
+ const ReduxState = (0, _reactRedux.useSelector)(state => state);
36
+ const dispatch = (0, _reactRedux.useDispatch)();
37
+ const {
38
+ areas_data,
39
+ global_data,
40
+ points_data,
41
+ edges_data,
42
+ wwtp_dashboard
43
+ } = ReduxState;
44
+ const [points, setPoints] = (0, _react.useState)(null);
45
+ const [areas, setAreas] = (0, _react.useState)(null);
46
+ const [WWTPInfo, setWWTPInfo] = (0, _react.useState)({
47
+ point: null,
48
+ area: null
39
49
  });
40
- var dispatch = (0, _reactRedux.useDispatch)();
41
- var areas_data = ReduxState.areas_data,
42
- global_data = ReduxState.global_data,
43
- points_data = ReduxState.points_data,
44
- edges_data = ReduxState.edges_data,
45
- wwtp_dashboard = ReduxState.wwtp_dashboard;
46
- var _useState = (0, _react.useState)(null),
47
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
48
- points = _useState2[0],
49
- setPoints = _useState2[1];
50
- var _useState3 = (0, _react.useState)(null),
51
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
52
- areas = _useState4[0],
53
- setAreas = _useState4[1];
54
- var _useState5 = (0, _react.useState)({
55
- point: null,
56
- area: null
57
- }),
58
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
59
- WWTPInfo = _useState6[0],
60
- setWWTPInfo = _useState6[1];
61
- var dataExists = function dataExists() {
50
+ let dataExists = () => {
62
51
  return areas_data.newAreas.length !== 0 || points_data.items.length !== 0 || edges_data.items.length !== 0;
63
52
  };
64
- (0, _react.useEffect)(function () {
65
- if (global_data.waterAuthorityId) {
66
- var period = ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
67
- dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
68
- dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
69
- dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
70
- }
71
- }, [ReduxState.dashboard.period]);
72
- (0, _react.useEffect)(function () {
53
+
54
+ // useEffect(() => {
55
+ // if (global_data.waterAuthorityId) {
56
+ // const period =
57
+ // ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
58
+ // dispatch(fetchPoints(global_data.waterAuthorityId, period));
59
+ // dispatch(fetchEdges(global_data.waterAuthorityId));
60
+ // dispatch(fetchAreas(global_data.waterAuthorityId, period, true));
61
+ // }
62
+ // }, [ReduxState.dashboard.period]);
63
+
64
+ (0, _react.useEffect)(() => {
73
65
  (0, _utils.initializeWWTPData)({
74
- areas_data: areas_data,
75
- points_data: points_data,
76
- setPoints: setPoints,
77
- setAreas: setAreas,
78
- setWWTPInfo: setWWTPInfo,
79
- dataExists: dataExists,
80
- id: id
66
+ areas_data,
67
+ points_data,
68
+ setPoints,
69
+ setAreas,
70
+ setWWTPInfo,
71
+ dataExists,
72
+ id
81
73
  });
82
74
  }, [areas_data]);
83
- (0, _react.useEffect)(function () {
84
- setWWTPInfo((0, _utils.calculateWWTPInfo)({
85
- id: id,
86
- points_data: points_data,
87
- areas_data: areas_data
88
- }));
89
- }, [id]);
75
+
76
+ // useEffect(() => {
77
+ // setWWTPInfo(calculateWWTPInfo({ id, points_data, areas_data }));
78
+ // }, [id]);
90
79
 
91
80
  // useEffect(() => {
92
81
  // focusMap(WWTPInfo.area || WWTPInfo.point, wwtp_dashboard.map);
93
82
  // }, [WWTPInfo]);
94
83
 
95
- (0, _react.useEffect)(function () {
84
+ (0, _react.useEffect)(() => {
96
85
  if (global_data.waterAuthorityId) {
97
- var period = ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
98
- points_data.items.length === 0 && dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
99
- edges_data.items.length === 0 && dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
100
- areas_data.items.length === 0 && dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
86
+ const period = ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
87
+ dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
88
+ dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
89
+ dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
101
90
  }
102
- return function cleanup() {
103
- setPoints(null);
104
- setAreas(null);
105
- setWWTPInfo({
106
- point: null,
107
- area: null
108
- });
109
- };
110
- }, [global_data.waterAuthorityId, id]);
111
- (0, _react.useEffect)(function () {
112
- var object = WWTPInfo.area || WWTPInfo.point;
91
+
92
+ // return function cleanup() {
93
+ // setPoints(null);
94
+ // setAreas(null);
95
+ // setWWTPInfo({ point: null, area: null });
96
+ // };
97
+ }, [global_data.waterAuthorityId, ReduxState.dashboard.period]);
98
+ (0, _react.useEffect)(() => {
99
+ const object = WWTPInfo.area || WWTPInfo.point;
113
100
  if (isMapTab && object) {
114
101
  var _ReduxState$wwtp_dash;
115
- var type = WWTPInfo.area ? object.is_virtual === true ? 'varea' : 'area' : 'site';
116
- var validObject = type === 'site' ? object.id.toString() === id : object.area_id === parseInt(id);
117
- var showExtra = object.id === ((_ReduxState$wwtp_dash = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash === void 0 ? void 0 : _ReduxState$wwtp_dash.id);
102
+ const type = WWTPInfo.area ? object.is_virtual === true ? 'varea' : 'area' : 'site';
103
+ const validObject = type === 'site' ? object.id.toString() === id : object.area_id === parseInt(id);
104
+ const showExtra = object.id === ((_ReduxState$wwtp_dash = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash === void 0 ? void 0 : _ReduxState$wwtp_dash.id);
118
105
  if (validObject) {
119
- (0, _Capacity.fetchCapacity)(type, id, global_data.waterAuthorityId).then(function (response) {
106
+ (0, _Capacity.fetchCapacity)(type, id, global_data.waterAuthorityId).then(response => {
120
107
  (0, _Capacity.setFocusedItem)(object, response.data, points, areas, dispatch, _WWTPDashboardSlice.setFocusedArea, showExtra);
121
108
  });
122
109
  }
123
110
  } else {
124
- var utilityDirects = (0, _utils.sortAreas)(areas);
125
- (0, _Capacity.setFocusedItem)(undefined, null, points, utilityDirects, dispatch, _WWTPDashboardSlice.setFocusedArea, true);
111
+ const utilityDirects = (0, _utils.sortAreas)(areas);
112
+ setTimeout(() => {
113
+ (0, _Capacity.setFocusedItem)(undefined, null, points, utilityDirects, dispatch, _WWTPDashboardSlice.setFocusedArea, true);
114
+ }, 0);
126
115
  }
127
116
  // focusMap(object, wwtp_dashboard.map);
128
- }, [wwtp_dashboard.map, id]);
117
+ }, [wwtp_dashboard.map, WWTPInfo]);
129
118
 
130
119
  // useEffect(() => {
131
120
  // if (!ReduxState.wwtp_dashboard.focusedArea || !wwtp_dashboard.map) return;
@@ -133,6 +122,22 @@ var WWTPMap = function WWTPMap(props) {
133
122
  // //focusMap(ReduxState.wwtp_dashboard.focusedArea, wwtp_dashboard.map);
134
123
  // }, [ReduxState.wwtp_dashboard.focusedArea]);
135
124
 
125
+ const getAreaToCenterBy = () => {
126
+ var _ReduxState$wwtp_dash2, _ReduxState$wwtp_dash4, _ReduxState$wwtp_dash5;
127
+ if ((_ReduxState$wwtp_dash2 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash2 === void 0 ? void 0 : _ReduxState$wwtp_dash2.shape_data) {
128
+ var _ReduxState$wwtp_dash3;
129
+ return (_ReduxState$wwtp_dash3 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash3 === void 0 ? void 0 : _ReduxState$wwtp_dash3.shape_data;
130
+ }
131
+ return (_ReduxState$wwtp_dash4 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash4 === void 0 ? void 0 : (_ReduxState$wwtp_dash5 = _ReduxState$wwtp_dash4.sub_areas) === null || _ReduxState$wwtp_dash5 === void 0 ? void 0 : _ReduxState$wwtp_dash5.map(area => area.shape_data);
132
+ };
133
+ const showList = (0, _react.useMemo)(() => {
134
+ if (areas_data.isFetching || points_data.isFetching) return null;
135
+ return /*#__PURE__*/_react.default.createElement(_List.List, {
136
+ global_data: global_data,
137
+ WWTPInfo: WWTPInfo,
138
+ dispatch: dispatch
139
+ });
140
+ }, [areas_data, points_data, WWTPInfo]);
136
141
  if (!isMapTab) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
137
142
  if (!dataExists() || !points || !areas) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
138
143
  return /*#__PURE__*/_react.default.createElement(_ListContext.SelectedItemProvider, null, /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
@@ -141,11 +146,7 @@ var WWTPMap = function WWTPMap(props) {
141
146
  xs: "auto",
142
147
  sm: 4,
143
148
  className: "d-none d-sm-flex"
144
- }, /*#__PURE__*/_react.default.createElement(_List.List, {
145
- global_data: global_data,
146
- WWTPInfo: WWTPInfo,
147
- dispatch: dispatch
148
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
149
+ }, showList), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
149
150
  className: "map-column",
150
151
  xs: 12,
151
152
  sm: 8
@@ -157,13 +158,13 @@ var WWTPMap = function WWTPMap(props) {
157
158
  includeUnmonitoredPoints: true,
158
159
  forEventsView: false,
159
160
  forWWTPDashboard: true,
160
- areaToCenterBy: (_ReduxState$wwtp_dash2 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash2 === void 0 ? void 0 : _ReduxState$wwtp_dash2.shape_data
161
+ areaToCenterBy: getAreaToCenterBy()
161
162
  })))));
162
163
  };
163
- var Container = _styledComponents.default.div.withConfig({
164
+ const Container = _styledComponents.default.div.withConfig({
164
165
  displayName: "WWTPMap__Container",
165
166
  componentId: "sc-19ltp4c-0"
166
167
  })(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}.leaflet-popup-close-button{font-size:x-large;}}}"]);
167
168
  var _default = WWTPMap;
168
169
  exports.default = _default;
169
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwic2VhcmNoUXVlcnkiLCJ1c2VRdWVyeVVSTCIsImlzTWFwVGFiIiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsImlkIiwiYXJlYUlEIiwic2l0ZUlEIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiYXJlYXNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid3d0cF9kYXNoYm9hcmQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwb2ludHMiLCJzZXRQb2ludHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFyZWFzIiwic2V0QXJlYXMiLCJfdXNlU3RhdGU1IiwicG9pbnQiLCJhcmVhIiwiX3VzZVN0YXRlNiIsIldXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJkYXRhRXhpc3RzIiwibmV3QXJlYXMiLCJsZW5ndGgiLCJpdGVtcyIsInVzZUVmZmVjdCIsIndhdGVyQXV0aG9yaXR5SWQiLCJwZXJpb2QiLCJkYXNoYm9hcmQiLCJmZXRjaFBvaW50cyIsImZldGNoRWRnZXMiLCJmZXRjaEFyZWFzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwiY2FsY3VsYXRlV1dUUEluZm8iLCJjbGVhbnVwIiwib2JqZWN0IiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoIiwidHlwZSIsImlzX3ZpcnR1YWwiLCJ2YWxpZE9iamVjdCIsInRvU3RyaW5nIiwiYXJlYV9pZCIsInBhcnNlSW50Iiwic2hvd0V4dHJhIiwiZm9jdXNlZEFyZWEiLCJmZXRjaENhcGFjaXR5IiwidGhlbiIsInJlc3BvbnNlIiwic2V0Rm9jdXNlZEl0ZW0iLCJkYXRhIiwic2V0Rm9jdXNlZEFyZWEiLCJ1dGlsaXR5RGlyZWN0cyIsInNvcnRBcmVhcyIsInVuZGVmaW5lZCIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIkxvYWRlciIsIlNlbGVjdGVkSXRlbVByb3ZpZGVyIiwiQ29udGFpbmVyIiwiUm93IiwiY2xhc3NOYW1lIiwiQ29sIiwieHMiLCJzbSIsIkxpc3QiLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzaGFwZV9kYXRhIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dXVFBNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vTGlzdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBjYWxjdWxhdGVXV1RQSW5mbywgaW5pdGlhbGl6ZVdXVFBEYXRhLCBzb3J0QXJlYXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHksIHNldEZvY3VzZWRJdGVtIH0gZnJvbSAnLi9DYXBhY2l0eSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlNYXBDb250YWluZXJQcm9wcyB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBpc01hcFRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnbWFwJztcbiAgbGV0IHsgaWQsIGFyZWFJRCwgc2l0ZUlEIH0gPSB1c2VQYXJhbXMoKTtcbiAgaWQgPSBpZCB8fCBhcmVhSUQgfHwgc2l0ZUlEO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG4gIH0sIFtSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVXV1RQRGF0YSh7XG4gICAgICBhcmVhc19kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBzZXRQb2ludHMsXG4gICAgICBzZXRBcmVhcyxcbiAgICAgIHNldFdXVFBJbmZvLFxuICAgICAgZGF0YUV4aXN0cyxcbiAgICAgIGlkLFxuICAgIH0pO1xuICB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGFyZWFzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kLCB0cnVlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBzZXRQb2ludHMobnVsbCk7XG4gICAgICBzZXRBcmVhcyhudWxsKTtcbiAgICAgIHNldFdXVFBJbmZvKHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIG51bGwsXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGZvY3VzTWFwKG9iamVjdCwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW3d3dHBfZGFzaGJvYXJkLm1hcCwgaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmICghUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSB8fCAhd3d0cF9kYXNoYm9hcmQubWFwKSByZXR1cm47XG5cbiAgLy8gICAvL2ZvY3VzTWFwKFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhXSk7XG5cbiAgaWYgKCFpc01hcFRhYikgcmV0dXJuIDw+PC8+O1xuICBpZiAoIWRhdGFFeGlzdHMoKSB8fCAhcG9pbnRzIHx8ICFhcmVhcykgcmV0dXJuIDxMb2FkZXIgLz47XG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICAgICA8Q29udGFpbmVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibm8tZ3V0dGVyc1wiPlxuICAgICAgICAgIDxDb2wgeHM9XCJhdXRvXCIgc209ezR9IGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWZsZXhcIj5cbiAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgV1dUUEluZm89e1dXVFBJbmZvfVxuICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17UmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1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
170
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIldXVFBNYXAiLCJwcm9wcyIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJpc01hcFRhYiIsImlkIiwiYXJlYUlEIiwic2l0ZUlEIiwidXNlUGFyYW1zIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiYXJlYXNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid3d0cF9kYXNoYm9hcmQiLCJwb2ludHMiLCJzZXRQb2ludHMiLCJ1c2VTdGF0ZSIsImFyZWFzIiwic2V0QXJlYXMiLCJXV1RQSW5mbyIsInNldFdXVFBJbmZvIiwicG9pbnQiLCJhcmVhIiwiZGF0YUV4aXN0cyIsIm5ld0FyZWFzIiwibGVuZ3RoIiwiaXRlbXMiLCJ1c2VFZmZlY3QiLCJpbml0aWFsaXplV1dUUERhdGEiLCJ3YXRlckF1dGhvcml0eUlkIiwicGVyaW9kIiwiZGFzaGJvYXJkIiwiZmV0Y2hQb2ludHMiLCJmZXRjaEVkZ2VzIiwiZmV0Y2hBcmVhcyIsIm9iamVjdCIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaCIsInR5cGUiLCJpc192aXJ0dWFsIiwidmFsaWRPYmplY3QiLCJ0b1N0cmluZyIsImFyZWFfaWQiLCJwYXJzZUludCIsInNob3dFeHRyYSIsImZvY3VzZWRBcmVhIiwiZmV0Y2hDYXBhY2l0eSIsInRoZW4iLCJyZXNwb25zZSIsInNldEZvY3VzZWRJdGVtIiwiZGF0YSIsInNldEZvY3VzZWRBcmVhIiwidXRpbGl0eURpcmVjdHMiLCJzb3J0QXJlYXMiLCJzZXRUaW1lb3V0IiwidW5kZWZpbmVkIiwibWFwIiwiZ2V0QXJlYVRvQ2VudGVyQnkiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoNCIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDUiLCJzaGFwZV9kYXRhIiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoMyIsInN1Yl9hcmVhcyIsInNob3dMaXN0IiwidXNlTWVtbyIsImlzRmV0Y2hpbmciLCJjcmVhdGVFbGVtZW50IiwiTGlzdCIsIkZyYWdtZW50IiwiTG9hZGVyIiwiU2VsZWN0ZWRJdGVtUHJvdmlkZXIiLCJDb250YWluZXIiLCJSb3ciLCJjbGFzc05hbWUiLCJDb2wiLCJ4cyIsInNtIiwiTWFwIiwiZWRnZXMiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJmb3JFdmVudHNWaWV3IiwiZm9yV1dUUERhc2hib2FyZCIsImFyZWFUb0NlbnRlckJ5Iiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dXVFBNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vTGlzdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBpbml0aWFsaXplV1dUUERhdGEsIHNvcnRBcmVhcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi9Mb2FkZXInO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1Qcm92aWRlciB9IGZyb20gJy4vTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSwgc2V0Rm9jdXNlZEl0ZW0gfSBmcm9tICcuL0NhcGFjaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBsZXQgeyBpZCwgYXJlYUlELCBzaXRlSUQgfSA9IHVzZVBhcmFtcygpO1xuICBpZCA9IGlkIHx8IGFyZWFJRCB8fCBzaXRlSUQ7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgd3d0cF9kYXNoYm9hcmQgfSA9XG4gICAgUmVkdXhTdGF0ZTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthcmVhcywgc2V0QXJlYXNdID0gdXNlU3RhdGU8SUFyZWFbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbV1dUUEluZm8sIHNldFdXVFBJbmZvXSA9IHVzZVN0YXRlPHtcbiAgICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgICBhcmVhOiBJQXJlYSB8IG51bGw7XG4gIH0+KHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gIGxldCBkYXRhRXhpc3RzID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAvLyAgICAgY29uc3QgcGVyaW9kID1cbiAgLy8gICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAvLyAgIH1cbiAgLy8gfSwgW1JlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFthcmVhc19kYXRhXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBzZXRXV1RQSW5mbyhjYWxjdWxhdGVXV1RQSW5mbyh7IGlkLCBwb2ludHNfZGF0YSwgYXJlYXNfZGF0YSB9KSk7XG4gIC8vIH0sIFtpZF0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgZm9jdXNNYXAoV1dUUEluZm8uYXJlYSB8fCBXV1RQSW5mby5wb2ludCwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgLy8gfSwgW1dXVFBJbmZvXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgY29uc3QgcGVyaW9kID1cbiAgICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAgIH1cblxuICAgIC8vIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIC8vICAgc2V0UG9pbnRzKG51bGwpO1xuICAgIC8vICAgc2V0QXJlYXMobnVsbCk7XG4gICAgLy8gICBzZXRXV1RQSW5mbyh7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICAgIC8vIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9iamVjdCA9IFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQ7XG5cbiAgICBpZiAoaXNNYXBUYWIgJiYgb2JqZWN0KSB7XG4gICAgICBjb25zdCB0eXBlID0gV1dUUEluZm8uYXJlYVxuICAgICAgICA/IG9iamVjdC5pc192aXJ0dWFsID09PSB0cnVlXG4gICAgICAgICAgPyAndmFyZWEnXG4gICAgICAgICAgOiAnYXJlYSdcbiAgICAgICAgOiAnc2l0ZSc7XG5cbiAgICAgIGNvbnN0IHZhbGlkT2JqZWN0ID1cbiAgICAgICAgdHlwZSA9PT0gJ3NpdGUnXG4gICAgICAgICAgPyBvYmplY3QuaWQudG9TdHJpbmcoKSA9PT0gaWRcbiAgICAgICAgICA6IG9iamVjdC5hcmVhX2lkID09PSBwYXJzZUludChpZCk7XG5cbiAgICAgIGNvbnN0IHNob3dFeHRyYSA9IG9iamVjdC5pZCA9PT0gUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uaWQ7XG5cbiAgICAgIGlmICh2YWxpZE9iamVjdCkge1xuICAgICAgICBmZXRjaENhcGFjaXR5KHR5cGUsIGlkLCBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKS50aGVuKFxuICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZEl0ZW0oXG4gICAgICAgICAgICAgIG9iamVjdCxcbiAgICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICAgICBhcmVhcyxcbiAgICAgICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgICAgIHNldEZvY3VzZWRBcmVhLFxuICAgICAgICAgICAgICBzaG93RXh0cmEsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHV0aWxpdHlEaXJlY3RzID0gc29ydEFyZWFzKGFyZWFzKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICB1dGlsaXR5RGlyZWN0cyxcbiAgICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICAgIC8vIGZvY3VzTWFwKG9iamVjdCwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW3d3dHBfZGFzaGJvYXJkLm1hcCwgV1dUUEluZm9dKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmICghUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSB8fCAhd3d0cF9kYXNoYm9hcmQubWFwKSByZXR1cm47XG5cbiAgLy8gICAvL2ZvY3VzTWFwKFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhXSk7XG5cbiAgY29uc3QgZ2V0QXJlYVRvQ2VudGVyQnkgPSAoKSA9PiB7XG4gICAgaWYgKFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGEpIHtcbiAgICAgIHJldHVybiBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5zaGFwZV9kYXRhO1xuICAgIH1cbiAgICByZXR1cm4gUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc3ViX2FyZWFzPy5tYXAoXG4gICAgICAoYXJlYSkgPT4gYXJlYS5zaGFwZV9kYXRhLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgc2hvd0xpc3QgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoYXJlYXNfZGF0YS5pc0ZldGNoaW5nIHx8IHBvaW50c19kYXRhLmlzRmV0Y2hpbmcpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMaXN0IGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX0gV1dUUEluZm89e1dXVFBJbmZvfSBkaXNwYXRjaD17ZGlzcGF0Y2h9IC8+XG4gICAgKTtcbiAgfSwgW2FyZWFzX2RhdGEsIHBvaW50c19kYXRhLCBXV1RQSW5mb10pO1xuXG4gIGlmICghaXNNYXBUYWIpIHJldHVybiA8PjwvPjtcbiAgaWYgKCFkYXRhRXhpc3RzKCkgfHwgIXBvaW50cyB8fCAhYXJlYXMpIHJldHVybiA8TG9hZGVyIC8+O1xuICByZXR1cm4gKFxuICAgIDxTZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgICAgIDxDb250YWluZXIgey4uLnByb3BzfT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJuby1ndXR0ZXJzXCI+XG4gICAgICAgICAgPENvbCB4cz1cImF1dG9cIiBzbT17NH0gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20tZmxleFwiPlxuICAgICAgICAgICAge3Nob3dMaXN0fVxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17Z2V0QXJlYVRvQ2VudGVyQnkoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxJQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxLQUFBLEdBQUFQLE9BQUE7QUFHQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxPQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxZQUFBLEdBQUFDLHNCQUFBLENBQUFaLE9BQUE7QUFDQSxJQUFBYSxtQkFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsWUFBQSxHQUFBZCxPQUFBO0FBQ0EsSUFBQWUsZUFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLFNBQUEsR0FBQWhCLE9BQUE7QUFBMkQsU0FBQWlCLHlCQUFBQyxXQUFBLGVBQUFD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
@@ -11,11 +11,11 @@ var _PointUtils = require("Widgets/Map/points/PointUtils");
11
11
  var _reactRedux = require("react-redux");
12
12
  var _theme = require("styles/theme/theme");
13
13
  var _styledComponents = _interopRequireDefault(require("styled-components"));
14
- var WaterDischarge = function WaterDischarge(_ref) {
15
- var source = _ref.source;
16
- var userInfo = (0, _reactRedux.useSelector)(function (state) {
17
- return state.permissions.user_info;
18
- });
14
+ const WaterDischarge = _ref => {
15
+ let {
16
+ source
17
+ } = _ref;
18
+ const userInfo = (0, _reactRedux.useSelector)(state => state.permissions.user_info);
19
19
  return /*#__PURE__*/_react.default.createElement(Container, {
20
20
  className: "pt-1 pb-1 rounded-pill bg-white px-3"
21
21
  }, /*#__PURE__*/_react.default.createElement("span", {
@@ -27,16 +27,16 @@ var WaterDischarge = function WaterDischarge(_ref) {
27
27
  }, _i18n.default.t('event_info.water_consumption')), getFlowRate(source, userInfo.flow_rate_unit));
28
28
  };
29
29
  exports.WaterDischarge = WaterDischarge;
30
- var getFlowRate = function getFlowRate(source, flowRateUnit) {
31
- if (source.water_discharge > 0) {
30
+ const getFlowRate = (source, flowRateUnit) => {
31
+ if ((source === null || source === void 0 ? void 0 : source.water_discharge) > 0) {
32
32
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
33
33
  className: "px-2"
34
- }, (0, _PointUtils.calculateWaterConsumption)(flowRateUnit, source.water_discharge)), /*#__PURE__*/_react.default.createElement("span", null, (0, _PointUtils.translateFlowRate)(flowRateUnit)));
34
+ }, (0, _PointUtils.calculateWaterConsumption)(flowRateUnit, source === null || source === void 0 ? void 0 : source.water_discharge)), /*#__PURE__*/_react.default.createElement("span", null, (0, _PointUtils.translateFlowRate)(flowRateUnit)));
35
35
  }
36
36
  return ' ' + _i18n.default.t('events_overview.severities.unknown');
37
37
  };
38
- var Container = _styledComponents.default.div.withConfig({
38
+ const Container = _styledComponents.default.div.withConfig({
39
39
  displayName: "WaterDischarge__Container",
40
40
  componentId: "sc-psdo55-0"
41
41
  })(["font-size:18px;line-height:28px;font-weight:600;"]);
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pMThuIiwiX1BvaW50VXRpbHMiLCJfcmVhY3RSZWR1eCIsIl90aGVtZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiV2F0ZXJEaXNjaGFyZ2UiLCJfcmVmIiwic291cmNlIiwidXNlckluZm8iLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicGVybWlzc2lvbnMiLCJ1c2VyX2luZm8iLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkNvbnRhaW5lciIsImNsYXNzTmFtZSIsInN0eWxlIiwiZm9udFNpemUiLCJ0aGVtZSIsInNtIiwiY29sb3IiLCJuYXR1cmFsIiwidGV4dCIsIm11dGVkIiwiZm9udFdlaWdodCIsInc0MDAiLCJpMThuIiwidCIsImdldEZsb3dSYXRlIiwiZmxvd19yYXRlX3VuaXQiLCJleHBvcnRzIiwiZmxvd1JhdGVVbml0Iiwid2F0ZXJfZGlzY2hhcmdlIiwiRnJhZ21lbnQiLCJjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2F0ZXJEaXNjaGFyZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHtcbiAgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbixcbiAgdHJhbnNsYXRlRmxvd1JhdGUsXG59IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuZXhwb3J0IGNvbnN0IFdhdGVyRGlzY2hhcmdlID0gKHsgc291cmNlIH0pID0+IHtcbiAgY29uc3QgdXNlckluZm8gPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBlcm1pc3Npb25zLnVzZXJfaW5mbyk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInB0LTEgcGItMSByb3VuZGVkLXBpbGwgYmctd2hpdGUgcHgtM1wiPlxuICAgICAgPHNwYW5cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmb250U2l6ZTogdGhlbWUuZm9udFNpemUuc20sXG4gICAgICAgICAgY29sb3I6IHRoZW1lLm5hdHVyYWwudGV4dC5tdXRlZCxcbiAgICAgICAgICBmb250V2VpZ2h0OiB0aGVtZS5mb250V2VpZ2h0Lnc0MDAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtpMThuLnQoJ2V2ZW50X2luZm8ud2F0ZXJfY29uc3VtcHRpb24nKX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHtnZXRGbG93UmF0ZShzb3VyY2UsIHVzZXJJbmZvLmZsb3dfcmF0ZV91bml0KX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmNvbnN0IGdldEZsb3dSYXRlID0gKHNvdXJjZSwgZmxvd1JhdGVVbml0OiBzdHJpbmcpID0+IHtcbiAgaWYgKHNvdXJjZS53YXRlcl9kaXNjaGFyZ2UgPiAwKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInB4LTJcIj5cbiAgICAgICAgICB7Y2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihmbG93UmF0ZVVuaXQsIHNvdXJjZS53YXRlcl9kaXNjaGFyZ2UpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt0cmFuc2xhdGVGbG93UmF0ZShmbG93UmF0ZVVuaXQpfTwvc3Bhbj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuICcgJyArIGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMudW5rbm93bicpO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFJQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBRU8sSUFBTU0sY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFBQyxJQUFBLEVBQW1CO0VBQUEsSUFBYkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07RUFDckMsSUFBTUMsUUFBUSxHQUFHLElBQUFDLHVCQUFXLEVBQUMsVUFBQ0MsS0FBSztJQUFBLE9BQUtBLEtBQUssQ0FBQ0MsV0FBVyxDQUFDQyxTQUFTO0VBQUEsRUFBQztFQUVwRSxvQkFDRWYsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBQyxhQUFBLENBQUNDLFNBQVM7SUFBQ0MsU0FBUyxFQUFDO0VBQXNDLGdCQUN6RG5CLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQTtJQUNFRyxLQUFLLEVBQUU7TUFDTEMsUUFBUSxFQUFFQyxZQUFLLENBQUNELFFBQVEsQ0FBQ0UsRUFBRTtNQUMzQkMsS0FBSyxFQUFFRixZQUFLLENBQUNHLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLO01BQy9CQyxVQUFVLEVBQUVOLFlBQUssQ0FBQ00sVUFBVSxDQUFDQztJQUMvQjtFQUFFLEdBRURDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDhCQUE4QixDQUNsQyxDQUFDLEVBQ05DLFdBQVcsQ0FBQ3RCLE1BQU0sRUFBRUMsUUFBUSxDQUFDc0IsY0FBYyxDQUNuQyxDQUFDO0FBRWhCLENBQUM7QUFBQ0MsT0FBQSxDQUFBMUIsY0FBQSxHQUFBQSxjQUFBO0FBRUYsSUFBTXdCLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJdEIsTUFBTSxFQUFFeUIsWUFBb0IsRUFBSztFQUNwRCxJQUFJekIsTUFBTSxDQUFDMEIsZUFBZSxHQUFHLENBQUMsRUFBRTtJQUM5QixvQkFDRXBDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQSxDQUFBakIsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBcUIsUUFBQSxxQkFDRXJDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQTtNQUFNRSxTQUFTLEVBQUM7SUFBTSxHQUNuQixJQUFBbUIscUNBQXlCLEVBQUNILFlBQVksRUFBRXpCLE1BQU0sQ0FBQzBCLGVBQWUsQ0FDM0QsQ0FBQyxlQUNQcEMsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBQyxhQUFBLGVBQU8sSUFBQXNCLDZCQUFpQixFQUFDSixZQUFZLENBQVEsQ0FDN0MsQ0FBQztFQUVQO0VBQ0EsT0FBTyxHQUFHLEdBQUdMLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDO0FBQzNELENBQUM7QUFFRCxJQUFNYixTQUFTLEdBQUdzQix5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd0RBSTNCIn0=
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pMThuIiwiX1BvaW50VXRpbHMiLCJfcmVhY3RSZWR1eCIsIl90aGVtZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiV2F0ZXJEaXNjaGFyZ2UiLCJfcmVmIiwic291cmNlIiwidXNlckluZm8iLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicGVybWlzc2lvbnMiLCJ1c2VyX2luZm8iLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkNvbnRhaW5lciIsImNsYXNzTmFtZSIsInN0eWxlIiwiZm9udFNpemUiLCJ0aGVtZSIsInNtIiwiY29sb3IiLCJuYXR1cmFsIiwidGV4dCIsIm11dGVkIiwiZm9udFdlaWdodCIsInc0MDAiLCJpMThuIiwidCIsImdldEZsb3dSYXRlIiwiZmxvd19yYXRlX3VuaXQiLCJleHBvcnRzIiwiZmxvd1JhdGVVbml0Iiwid2F0ZXJfZGlzY2hhcmdlIiwiRnJhZ21lbnQiLCJjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2F0ZXJEaXNjaGFyZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHtcbiAgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbixcbiAgdHJhbnNsYXRlRmxvd1JhdGUsXG59IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuZXhwb3J0IGNvbnN0IFdhdGVyRGlzY2hhcmdlID0gKHsgc291cmNlIH0pID0+IHtcbiAgY29uc3QgdXNlckluZm8gPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBlcm1pc3Npb25zLnVzZXJfaW5mbyk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGNsYXNzTmFtZT1cInB0LTEgcGItMSByb3VuZGVkLXBpbGwgYmctd2hpdGUgcHgtM1wiPlxuICAgICAgPHNwYW5cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmb250U2l6ZTogdGhlbWUuZm9udFNpemUuc20sXG4gICAgICAgICAgY29sb3I6IHRoZW1lLm5hdHVyYWwudGV4dC5tdXRlZCxcbiAgICAgICAgICBmb250V2VpZ2h0OiB0aGVtZS5mb250V2VpZ2h0Lnc0MDAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtpMThuLnQoJ2V2ZW50X2luZm8ud2F0ZXJfY29uc3VtcHRpb24nKX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHtnZXRGbG93UmF0ZShzb3VyY2UsIHVzZXJJbmZvLmZsb3dfcmF0ZV91bml0KX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmNvbnN0IGdldEZsb3dSYXRlID0gKHNvdXJjZSwgZmxvd1JhdGVVbml0OiBzdHJpbmcpID0+IHtcbiAgaWYgKHNvdXJjZT8ud2F0ZXJfZGlzY2hhcmdlID4gMCkge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJweC0yXCI+XG4gICAgICAgICAge2NhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24oZmxvd1JhdGVVbml0LCBzb3VyY2U/LndhdGVyX2Rpc2NoYXJnZSl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3RyYW5zbGF0ZUZsb3dSYXRlKGZsb3dSYXRlVW5pdCl9PC9zcGFuPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gJyAnICsgaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy51bmtub3duJyk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGlCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFFTyxNQUFNTSxjQUFjLEdBQUdDLElBQUEsSUFBZ0I7RUFBQSxJQUFmO0lBQUVDO0VBQU8sQ0FBQyxHQUFBRCxJQUFBO0VBQ3ZDLE1BQU1FLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFFQyxLQUFLLElBQUtBLEtBQUssQ0FBQ0MsV0FBVyxDQUFDQyxTQUFTLENBQUM7RUFFcEUsb0JBQ0VmLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQSxDQUFDQyxTQUFTO0lBQUNDLFNBQVMsRUFBQztFQUFzQyxnQkFDekRuQixNQUFBLENBQUFnQixPQUFBLENBQUFDLGFBQUE7SUFDRUcsS0FBSyxFQUFFO01BQ0xDLFFBQVEsRUFBRUMsWUFBSyxDQUFDRCxRQUFRLENBQUNFLEVBQUU7TUFDM0JDLEtBQUssRUFBRUYsWUFBSyxDQUFDRyxPQUFPLENBQUNDLElBQUksQ0FBQ0MsS0FBSztNQUMvQkMsVUFBVSxFQUFFTixZQUFLLENBQUNNLFVBQVUsQ0FBQ0M7SUFDL0I7RUFBRSxHQUVEQyxhQUFJLENBQUNDLENBQUMsQ0FBQyw4QkFBOEIsQ0FDbEMsQ0FBQyxFQUNOQyxXQUFXLENBQUN0QixNQUFNLEVBQUVDLFFBQVEsQ0FBQ3NCLGNBQWMsQ0FDbkMsQ0FBQztBQUVoQixDQUFDO0FBQUNDLE9BQUEsQ0FBQTFCLGNBQUEsR0FBQUEsY0FBQTtBQUVGLE1BQU13QixXQUFXLEdBQUdBLENBQUN0QixNQUFNLEVBQUV5QixZQUFvQixLQUFLO0VBQ3BELElBQUksQ0FBQXpCLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFMEIsZUFBZSxJQUFHLENBQUMsRUFBRTtJQUMvQixvQkFDRXBDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQSxDQUFBakIsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBcUIsUUFBQSxxQkFDRXJDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQTtNQUFNRSxTQUFTLEVBQUM7SUFBTSxHQUNuQixJQUFBbUIscUNBQXlCLEVBQUNILFlBQVksRUFBRXpCLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFMEIsZUFBZSxDQUM1RCxDQUFDLGVBQ1BwQyxNQUFBLENBQUFnQixPQUFBLENBQUFDLGFBQUEsZUFBTyxJQUFBc0IsNkJBQWlCLEVBQUNKLFlBQVksQ0FBUSxDQUM3QyxDQUFDO0VBRVA7RUFDQSxPQUFPLEdBQUcsR0FBR0wsYUFBSSxDQUFDQyxDQUFDLENBQUMsb0NBQW9DLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU1iLFNBQVMsR0FBR3NCLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3REFJM0IifQ==