@kando-env/kando-ui 1.2.371-alpha.9 → 1.2.372

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 (586) 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 +83 -124
  6. package/lib/Widgets/Map/MapUtils.js +70 -99
  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 +31 -35
  12. package/lib/Widgets/Map/edges/Edges.js +19 -23
  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 +145 -84
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +30 -48
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +29 -10
  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 +22 -28
  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 -37
  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 +70 -89
  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 +90 -108
  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/i18n/en.json +0 -5
  210. package/lib/i18n/he.json +0 -1
  211. package/lib/index.js +11 -12
  212. package/lib/macros/getVersion.js +3 -3
  213. package/lib/pages/AreaPage/AreaPage.js +34 -67
  214. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
  215. package/lib/pages/AreaPage/Dashboard/Dashboard.js +28 -29
  216. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  217. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  219. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
  220. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  221. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  222. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  223. package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
  224. package/lib/pages/CannyWidget/Feedback.js +13 -13
  225. package/lib/pages/CovidPage/CovidPage.js +8 -13
  226. package/lib/pages/CovidPage/components/Body.js +25 -27
  227. package/lib/pages/CovidPage/components/Map.js +29 -39
  228. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  229. package/lib/pages/CovidPage/components/Summary.js +20 -27
  230. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  231. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  232. package/lib/pages/CovidPage/components/areas/Area.js +29 -40
  233. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
  234. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  235. package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
  236. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  237. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  238. package/lib/pages/DashboardMap/AreaCard.js +28 -28
  239. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
  240. package/lib/pages/DashboardMap/Capacity.js +31 -80
  241. package/lib/pages/DashboardMap/FactoryCard.js +31 -26
  242. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  243. package/lib/pages/DashboardMap/List.js +72 -113
  244. package/lib/pages/DashboardMap/ListContext.js +15 -19
  245. package/lib/pages/DashboardMap/Loader.js +2 -2
  246. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  247. package/lib/pages/DashboardMap/WWTPMap.js +74 -93
  248. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  249. package/lib/pages/DashboardMap/Widget.js +54 -71
  250. package/lib/pages/DashboardMap/utils.js +48 -65
  251. package/lib/pages/EventsPage/Body/Body.js +20 -15
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  253. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  254. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  255. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  256. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  257. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
  258. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
  259. package/lib/pages/EventsPage/EventsPage.js +7 -10
  260. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
  261. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  262. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  263. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  264. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  265. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  266. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
  267. package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -42
  268. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  269. package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
  270. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  271. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
  272. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  273. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
  274. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
  275. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  276. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  277. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +10 -10
  278. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +7 -9
  279. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  280. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  281. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  282. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  283. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
  284. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
  285. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  294. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  295. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  296. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  297. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  298. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  299. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  300. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  301. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  302. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  303. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  304. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  305. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  306. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
  307. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  308. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  309. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  310. package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
  311. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
  312. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  313. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
  314. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  315. package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
  316. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
  317. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
  318. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
  319. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  320. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  321. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  322. package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
  323. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  324. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  325. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  326. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
  327. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  328. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  329. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  330. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  331. package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
  332. package/lib/pages/ImportGisProcess/index.js +12 -15
  333. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  334. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  335. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  336. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
  337. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  338. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  339. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  340. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  341. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  342. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  343. package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
  344. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
  345. package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +14 -16
  346. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +18 -16
  347. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +17 -21
  348. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +17 -21
  349. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +18 -22
  350. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +83 -69
  351. package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +18 -22
  352. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -74
  353. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +97 -95
  354. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
  355. package/lib/pages/OldSitePage/OldSitePage.js +57 -132
  356. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  357. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  358. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  359. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  360. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  361. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  362. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  363. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  364. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  365. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  366. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  367. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  368. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  369. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  370. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  371. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  372. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
  373. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
  374. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  375. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
  376. package/lib/pages/ProfilePage/Container.js +2 -2
  377. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
  378. package/lib/pages/ProfilePage/ProfilePage.js +120 -237
  379. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  380. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
  381. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
  382. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
  383. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  384. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  385. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
  386. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  387. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  388. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  389. package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
  390. package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
  391. package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
  392. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  393. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  394. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
  395. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  396. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
  397. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
  398. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
  399. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
  400. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
  401. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  402. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  403. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  404. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
  405. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  406. package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
  407. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
  408. package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
  409. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  410. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  411. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  412. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  413. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  414. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  415. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  416. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  417. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  418. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  419. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  420. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  421. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  422. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  423. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  424. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  425. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  426. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  427. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  428. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  429. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
  430. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  431. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  432. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  433. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
  434. package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
  435. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  436. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  437. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
  438. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  439. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -32
  440. package/lib/pages/SitePage/SitePage.js +40 -79
  441. package/lib/pages/UploadLabResult/index.js +13 -13
  442. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  443. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  444. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  445. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  446. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
  447. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  448. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
  449. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  450. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
  451. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  452. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  453. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  454. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +18 -26
  455. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  456. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -18
  457. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  458. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
  459. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  460. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
  461. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  462. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  463. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  464. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  465. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  466. package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
  467. package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
  468. package/lib/pages/WwtpPage/DashboardCard.js +26 -23
  469. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  470. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
  471. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  472. package/lib/pages/WwtpPage/Map.js +5 -3
  473. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  474. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  475. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
  476. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  477. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  478. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  479. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  480. package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
  481. package/lib/pages/WwtpPage/WwtpPage.js +8 -8
  482. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  483. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  484. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  485. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  486. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  487. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  488. package/lib/providers/UrlHistory/index.js +2 -2
  489. package/lib/providers/UrlHistory/useLastVisited.js +5 -5
  490. package/lib/store/ImportGis/actionTypes.js +1 -1
  491. package/lib/store/ImportGis/actionsCreator.js +7 -5
  492. package/lib/store/ImportGis/reducer.js +40 -29
  493. package/lib/store/WBE/actionTypes.js +2 -2
  494. package/lib/store/WBE/reducer.js +13 -9
  495. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  496. package/lib/store/areas/actionTypes.js +4 -4
  497. package/lib/store/areas/actions.js +7 -13
  498. package/lib/store/areas/reducer.js +8 -6
  499. package/lib/store/context/actionTypes.js +3 -3
  500. package/lib/store/context/actions.js +3 -3
  501. package/lib/store/context/contextMiddlewares.js +14 -16
  502. package/lib/store/context/reducer.js +13 -9
  503. package/lib/store/dashboard/dashboardSlice.js +18 -10
  504. package/lib/store/edges/actionTypes.js +5 -5
  505. package/lib/store/edges/actions.js +4 -8
  506. package/lib/store/edges/reducer.js +13 -17
  507. package/lib/store/events/actionTypes.js +17 -17
  508. package/lib/store/events/actions.js +3 -7
  509. package/lib/store/events/reducer.js +42 -49
  510. package/lib/store/global/actionTypes.js +11 -11
  511. package/lib/store/global/actions.js +8 -6
  512. package/lib/store/global/reducer.js +11 -10
  513. package/lib/store/permissions/permissionsSlice.js +12 -8
  514. package/lib/store/points/actionTypes.js +3 -3
  515. package/lib/store/points/actions.js +4 -8
  516. package/lib/store/points/reducer.js +7 -5
  517. package/lib/store/rootActionTypes.js +2 -2
  518. package/lib/store/rootReducer.js +17 -12
  519. package/lib/store/rootStore.js +5 -5
  520. package/lib/store/samplings/actionTypes.js +1 -1
  521. package/lib/store/samplings/reducer.js +16 -14
  522. package/lib/styles/StylesLayout.js +5 -3
  523. package/lib/styles/theme/theme.js +27 -28
  524. package/lib/test/mocks/browser.js +2 -4
  525. package/lib/test/test-utils.js +17 -15
  526. package/lib/ui-kit/Button/Button.js +128 -80
  527. package/lib/ui-kit/Button/Button.test.js +24 -29
  528. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  529. package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
  530. package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
  531. package/lib/ui-kit/DropDown/DropDown.js +23 -24
  532. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  533. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  534. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  535. package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
  536. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  537. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
  538. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
  539. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  540. package/lib/ui-kit/InletsPie/options.js +6 -6
  541. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  542. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  543. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  544. package/lib/ui-kit/Layout/Layout.js +6 -4
  545. package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
  546. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  547. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
  548. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  549. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  550. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  551. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  552. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  553. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  554. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
  555. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  556. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  557. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  558. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  559. package/lib/ui-kit/index.js +8 -8
  560. package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
  561. package/lib/ui-kit/siteName/SiteName.js +11 -8
  562. package/lib/utilities/ActionUtility.js +7 -7
  563. package/lib/utilities/Alert.js +21 -17
  564. package/lib/utilities/Analytics.js +11 -11
  565. package/lib/utilities/Array.js +4 -5
  566. package/lib/utilities/Enum.js +15 -51
  567. package/lib/utilities/ErrorBoundary.js +27 -41
  568. package/lib/utilities/File.js +40 -69
  569. package/lib/utilities/GetDir.js +8 -7
  570. package/lib/utilities/KandoDate.js +7 -15
  571. package/lib/utilities/KandoModal.js +16 -26
  572. package/lib/utilities/LocalStorage.js +8 -10
  573. package/lib/utilities/ThousandsToK.js +3 -3
  574. package/lib/utilities/TimeFormat.js +21 -20
  575. package/lib/utilities/Truncate.js +17 -25
  576. package/lib/utilities/edgesMath.js +14 -15
  577. package/lib/utilities/i18n.js +3 -3
  578. package/lib/utilities/kql.js +12 -14
  579. package/lib/utilities/map/icons.js +3 -3
  580. package/lib/utilities/polylinedecorator.js +87 -112
  581. package/lib/utilities/scoreToData.js +17 -17
  582. package/lib/utilities/scoreToData.test.js +5 -5
  583. package/lib/utilities/time.js +8 -8
  584. package/lib/utilities/uploadToS3.js +11 -11
  585. package/lib/utilities/urls.js +61 -59
  586. 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,106 +21,101 @@ 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 searchQuery = (0, _useQueryURL.default)();
30
- var isMapTab = searchQuery.get('view') === 'map';
31
- var _useParams = (0, _reactRouterDom.useParams)(),
32
- id = _useParams.id,
33
- areaID = _useParams.areaID,
34
- 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
+ var _ReduxState$wwtp_dash2;
28
+ const searchQuery = (0, _useQueryURL.default)();
29
+ const isMapTab = searchQuery.get('view') === 'map';
30
+ let {
31
+ id,
32
+ areaID,
33
+ siteID
34
+ } = (0, _reactRouterDom.useParams)();
35
35
  id = id || areaID || siteID;
36
- var ReduxState = (0, _reactRedux.useSelector)(function (state) {
37
- return state;
36
+ const ReduxState = (0, _reactRedux.useSelector)(state => state);
37
+ const dispatch = (0, _reactRedux.useDispatch)();
38
+ const {
39
+ areas_data,
40
+ global_data,
41
+ points_data,
42
+ edges_data,
43
+ wwtp_dashboard
44
+ } = ReduxState;
45
+ const [points, setPoints] = (0, _react.useState)(null);
46
+ const [areas, setAreas] = (0, _react.useState)(null);
47
+ const [WWTPInfo, setWWTPInfo] = (0, _react.useState)({
48
+ point: null,
49
+ area: null
38
50
  });
39
- var dispatch = (0, _reactRedux.useDispatch)();
40
- var areas_data = ReduxState.areas_data,
41
- global_data = ReduxState.global_data,
42
- points_data = ReduxState.points_data,
43
- edges_data = ReduxState.edges_data,
44
- wwtp_dashboard = ReduxState.wwtp_dashboard;
45
- var _useState = (0, _react.useState)(null),
46
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
47
- points = _useState2[0],
48
- setPoints = _useState2[1];
49
- var _useState3 = (0, _react.useState)(null),
50
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
51
- areas = _useState4[0],
52
- setAreas = _useState4[1];
53
- var _useState5 = (0, _react.useState)({
54
- point: null,
55
- area: null
56
- }),
57
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
58
- WWTPInfo = _useState6[0],
59
- setWWTPInfo = _useState6[1];
60
- var dataExists = function dataExists() {
51
+ let dataExists = () => {
61
52
  return areas_data.newAreas.length !== 0 || points_data.items.length !== 0 || edges_data.items.length !== 0;
62
53
  };
63
-
64
- // useEffect(() => {
65
- // if (global_data.waterAuthorityId) {
66
- // const period =
67
- // ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
68
- // dispatch(fetchPoints(global_data.waterAuthorityId, period));
69
- // dispatch(fetchEdges(global_data.waterAuthorityId));
70
- // dispatch(fetchAreas(global_data.waterAuthorityId, period, true));
71
- // }
72
- // }, [ReduxState.dashboard.period]);
73
-
74
- (0, _react.useEffect)(function () {
54
+ (0, _react.useEffect)(() => {
55
+ if (global_data.waterAuthorityId) {
56
+ const period = ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
57
+ dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
58
+ dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
59
+ dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
60
+ }
61
+ }, [ReduxState.dashboard.period]);
62
+ (0, _react.useEffect)(() => {
75
63
  (0, _utils.initializeWWTPData)({
76
- areas_data: areas_data,
77
- points_data: points_data,
78
- setPoints: setPoints,
79
- setAreas: setAreas,
80
- setWWTPInfo: setWWTPInfo,
81
- dataExists: dataExists,
82
- id: id
64
+ areas_data,
65
+ points_data,
66
+ setPoints,
67
+ setAreas,
68
+ setWWTPInfo,
69
+ dataExists,
70
+ id
83
71
  });
84
72
  }, [areas_data]);
85
-
86
- // useEffect(() => {
87
- // setWWTPInfo(calculateWWTPInfo({ id, points_data, areas_data }));
88
- // }, [id]);
73
+ (0, _react.useEffect)(() => {
74
+ setWWTPInfo((0, _utils.calculateWWTPInfo)({
75
+ id,
76
+ points_data,
77
+ areas_data
78
+ }));
79
+ }, [id]);
89
80
 
90
81
  // useEffect(() => {
91
82
  // focusMap(WWTPInfo.area || WWTPInfo.point, wwtp_dashboard.map);
92
83
  // }, [WWTPInfo]);
93
84
 
94
- (0, _react.useEffect)(function () {
85
+ (0, _react.useEffect)(() => {
95
86
  if (global_data.waterAuthorityId) {
96
- var period = ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
97
- dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
98
- dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
99
- dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
87
+ const period = ReduxState.dashboard.period['range'] || ReduxState.dashboard.period;
88
+ points_data.items.length === 0 && dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
89
+ edges_data.items.length === 0 && dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
90
+ areas_data.items.length === 0 && dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
100
91
  }
101
-
102
- // return function cleanup() {
103
- // setPoints(null);
104
- // setAreas(null);
105
- // setWWTPInfo({ point: null, area: null });
106
- // };
107
- }, [global_data.waterAuthorityId, ReduxState.dashboard.period]);
108
- (0, _react.useEffect)(function () {
109
- var object = WWTPInfo.area || WWTPInfo.point;
92
+ return function cleanup() {
93
+ setPoints(null);
94
+ setAreas(null);
95
+ setWWTPInfo({
96
+ point: null,
97
+ area: null
98
+ });
99
+ };
100
+ }, [global_data.waterAuthorityId, id]);
101
+ (0, _react.useEffect)(() => {
102
+ const object = WWTPInfo.area || WWTPInfo.point;
110
103
  if (isMapTab && object) {
111
104
  var _ReduxState$wwtp_dash;
112
- var type = WWTPInfo.area ? object.is_virtual === true ? 'varea' : 'area' : 'site';
113
- var validObject = type === 'site' ? object.id.toString() === id : object.area_id === parseInt(id);
114
- var showExtra = object.id === ((_ReduxState$wwtp_dash = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash === void 0 ? void 0 : _ReduxState$wwtp_dash.id);
105
+ const type = WWTPInfo.area ? object.is_virtual === true ? 'varea' : 'area' : 'site';
106
+ const validObject = type === 'site' ? object.id.toString() === id : object.area_id === parseInt(id);
107
+ const showExtra = object.id === ((_ReduxState$wwtp_dash = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash === void 0 ? void 0 : _ReduxState$wwtp_dash.id);
115
108
  if (validObject) {
116
- (0, _Capacity.fetchCapacity)(type, id, global_data.waterAuthorityId).then(function (response) {
109
+ (0, _Capacity.fetchCapacity)(type, id, global_data.waterAuthorityId).then(response => {
117
110
  (0, _Capacity.setFocusedItem)(object, response.data, points, areas, dispatch, _WWTPDashboardSlice.setFocusedArea, showExtra);
118
111
  });
119
112
  }
120
113
  } else {
121
- var utilityDirects = (0, _utils.sortAreas)(areas);
114
+ const utilityDirects = (0, _utils.sortAreas)(areas);
122
115
  (0, _Capacity.setFocusedItem)(undefined, null, points, utilityDirects, dispatch, _WWTPDashboardSlice.setFocusedArea, true);
123
116
  }
124
117
  // focusMap(object, wwtp_dashboard.map);
125
- }, [wwtp_dashboard.map]);
118
+ }, [wwtp_dashboard.map, id]);
126
119
 
127
120
  // useEffect(() => {
128
121
  // if (!ReduxState.wwtp_dashboard.focusedArea || !wwtp_dashboard.map) return;
@@ -130,18 +123,6 @@ var WWTPMap = function WWTPMap(props) {
130
123
  // //focusMap(ReduxState.wwtp_dashboard.focusedArea, wwtp_dashboard.map);
131
124
  // }, [ReduxState.wwtp_dashboard.focusedArea]);
132
125
 
133
- var getAreaToCenterBy = function getAreaToCenterBy() {
134
- var _ReduxState$wwtp_dash2, _ReduxState$wwtp_dash4, _ReduxState$wwtp_dash5;
135
- console.warn('focusedArea', ReduxState.wwtp_dashboard.focusedArea);
136
- console.warn('WWTPInfo', WWTPInfo);
137
- if ((_ReduxState$wwtp_dash2 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash2 === void 0 ? void 0 : _ReduxState$wwtp_dash2.shape_data) {
138
- var _ReduxState$wwtp_dash3;
139
- return (_ReduxState$wwtp_dash3 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash3 === void 0 ? void 0 : _ReduxState$wwtp_dash3.shape_data;
140
- }
141
- 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(function (area) {
142
- return area.shape_data;
143
- });
144
- };
145
126
  if (!isMapTab) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
146
127
  if (!dataExists() || !points || !areas) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
147
128
  return /*#__PURE__*/_react.default.createElement(_ListContext.SelectedItemProvider, null, /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
@@ -166,13 +147,13 @@ var WWTPMap = function WWTPMap(props) {
166
147
  includeUnmonitoredPoints: true,
167
148
  forEventsView: false,
168
149
  forWWTPDashboard: true,
169
- areaToCenterBy: getAreaToCenterBy()
150
+ areaToCenterBy: (_ReduxState$wwtp_dash2 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash2 === void 0 ? void 0 : _ReduxState$wwtp_dash2.shape_data
170
151
  })))));
171
152
  };
172
- var Container = _styledComponents.default.div.withConfig({
153
+ const Container = _styledComponents.default.div.withConfig({
173
154
  displayName: "WWTPMap__Container",
174
155
  componentId: "sc-19ltp4c-0"
175
156
  })(["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;}}}"]);
176
157
  var _default = WWTPMap;
177
158
  exports.default = _default;
178
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwidW5kZWZpbmVkIiwibWFwIiwiZ2V0QXJlYVRvQ2VudGVyQnkiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoNCIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDUiLCJjb25zb2xlIiwid2FybiIsInNoYXBlX2RhdGEiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gzIiwic3ViX2FyZWFzIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiTG9hZGVyIiwiU2VsZWN0ZWRJdGVtUHJvdmlkZXIiLCJDb250YWluZXIiLCJSb3ciLCJjbGFzc05hbWUiLCJDb2wiLCJ4cyIsInNtIiwiTGlzdCIsIk1hcCIsImVkZ2VzIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiZm9yRXZlbnRzVmlldyIsImZvcldXVFBEYXNoYm9hcmQiLCJhcmVhVG9DZW50ZXJCeSIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XV1RQTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgZmV0Y2hBcmVhcyB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoRWRnZXMgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuL0xpc3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZVdXVFBEYXRhLCBzb3J0QXJlYXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHksIHNldEZvY3VzZWRJdGVtIH0gZnJvbSAnLi9DYXBhY2l0eSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlNYXBDb250YWluZXJQcm9wcyB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBpc01hcFRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnbWFwJztcbiAgbGV0IHsgaWQsIGFyZWFJRCwgc2l0ZUlEIH0gPSB1c2VQYXJhbXMoKTtcbiAgaWQgPSBpZCB8fCBhcmVhSUQgfHwgc2l0ZUlEO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgLy8gICAgIGNvbnN0IHBlcmlvZCA9XG4gIC8vICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgLy8gICB9XG4gIC8vIH0sIFtSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVXV1RQRGF0YSh7XG4gICAgICBhcmVhc19kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBzZXRQb2ludHMsXG4gICAgICBzZXRBcmVhcyxcbiAgICAgIHNldFdXVFBJbmZvLFxuICAgICAgZGF0YUV4aXN0cyxcbiAgICAgIGlkLFxuICAgIH0pO1xuICB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICAvLyB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgIHNldFBvaW50cyhudWxsKTtcbiAgICAvLyAgIHNldEFyZWFzKG51bGwpO1xuICAgIC8vICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICAvLyB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIG51bGwsXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGZvY3VzTWFwKG9iamVjdCwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW3d3dHBfZGFzaGJvYXJkLm1hcF0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKCFSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhIHx8ICF3d3RwX2Rhc2hib2FyZC5tYXApIHJldHVybjtcblxuICAvLyAgIC8vZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgLy8gfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBjb25zdCBnZXRBcmVhVG9DZW50ZXJCeSA9ICgpID0+IHtcbiAgICBjb25zb2xlLndhcm4oJ2ZvY3VzZWRBcmVhJywgUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSk7XG4gICAgY29uc29sZS53YXJuKCdXV1RQSW5mbycsIFdXVFBJbmZvKTtcbiAgICBpZiAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YSkge1xuICAgICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGE7XG4gICAgfVxuICAgIHJldHVybiBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5zdWJfYXJlYXM/Lm1hcChcbiAgICAgIChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEsXG4gICAgKTtcbiAgfTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gPD48Lz47XG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzKSByZXR1cm4gPExvYWRlciAvPjtcbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICAgICA8Q29udGFpbmVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibm8tZ3V0dGVyc1wiPlxuICAgICAgICAgIDxDb2wgeHM9XCJhdXRvXCIgc209ezR9IGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWZsZXhcIj5cbiAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgV1dUUEluZm89e1dXVFBJbmZvfVxuICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17Z2V0QXJlYVRvQ2VudGVyQnkoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxZQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxlQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsU0FBQSxHQUFBaEIsT0FBQTtBQUEyRCxTQUFBaUIseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FB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
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIldXVFBNYXAiLCJwcm9wcyIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDIiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJpZCIsImFyZWFJRCIsInNpdGVJRCIsInVzZVBhcmFtcyIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZWRnZXNfZGF0YSIsInd3dHBfZGFzaGJvYXJkIiwicG9pbnRzIiwic2V0UG9pbnRzIiwidXNlU3RhdGUiLCJhcmVhcyIsInNldEFyZWFzIiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsInBvaW50IiwiYXJlYSIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJpbml0aWFsaXplV1dUUERhdGEiLCJjYWxjdWxhdGVXV1RQSW5mbyIsImNsZWFudXAiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwidW5kZWZpbmVkIiwibWFwIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiTG9hZGVyIiwiU2VsZWN0ZWRJdGVtUHJvdmlkZXIiLCJDb250YWluZXIiLCJSb3ciLCJjbGFzc05hbWUiLCJDb2wiLCJ4cyIsInNtIiwiTGlzdCIsIk1hcCIsImVkZ2VzIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiZm9yRXZlbnRzVmlldyIsImZvcldXVFBEYXNoYm9hcmQiLCJhcmVhVG9DZW50ZXJCeSIsInNoYXBlX2RhdGEiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9MaXN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGNhbGN1bGF0ZVdXVFBJbmZvLCBpbml0aWFsaXplV1dUUERhdGEsIHNvcnRBcmVhcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi9Mb2FkZXInO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1Qcm92aWRlciB9IGZyb20gJy4vTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSwgc2V0Rm9jdXNlZEl0ZW0gfSBmcm9tICcuL0NhcGFjaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBsZXQgeyBpZCwgYXJlYUlELCBzaXRlSUQgfSA9IHVzZVBhcmFtcygpO1xuICBpZCA9IGlkIHx8IGFyZWFJRCB8fCBzaXRlSUQ7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgd3d0cF9kYXNoYm9hcmQgfSA9XG4gICAgUmVkdXhTdGF0ZTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthcmVhcywgc2V0QXJlYXNdID0gdXNlU3RhdGU8SUFyZWFbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbV1dUUEluZm8sIHNldFdXVFBJbmZvXSA9IHVzZVN0YXRlPHtcbiAgICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgICBhcmVhOiBJQXJlYSB8IG51bGw7XG4gIH0+KHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gIGxldCBkYXRhRXhpc3RzID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgY29uc3QgcGVyaW9kID1cbiAgICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAgIH1cbiAgfSwgW1JlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFthcmVhc19kYXRhXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRXV1RQSW5mbyhjYWxjdWxhdGVXV1RQSW5mbyh7IGlkLCBwb2ludHNfZGF0YSwgYXJlYXNfZGF0YSB9KSk7XG4gIH0sIFtpZF0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgZm9jdXNNYXAoV1dUUEluZm8uYXJlYSB8fCBXV1RQSW5mby5wb2ludCwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgLy8gfSwgW1dXVFBJbmZvXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgY29uc3QgcGVyaW9kID1cbiAgICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgYXJlYXNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldFBvaW50cyhudWxsKTtcbiAgICAgIHNldEFyZWFzKG51bGwpO1xuICAgICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgaWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9iamVjdCA9IFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQ7XG5cbiAgICBpZiAoaXNNYXBUYWIgJiYgb2JqZWN0KSB7XG4gICAgICBjb25zdCB0eXBlID0gV1dUUEluZm8uYXJlYVxuICAgICAgICA/IG9iamVjdC5pc192aXJ0dWFsID09PSB0cnVlXG4gICAgICAgICAgPyAndmFyZWEnXG4gICAgICAgICAgOiAnYXJlYSdcbiAgICAgICAgOiAnc2l0ZSc7XG5cbiAgICAgIGNvbnN0IHZhbGlkT2JqZWN0ID1cbiAgICAgICAgdHlwZSA9PT0gJ3NpdGUnXG4gICAgICAgICAgPyBvYmplY3QuaWQudG9TdHJpbmcoKSA9PT0gaWRcbiAgICAgICAgICA6IG9iamVjdC5hcmVhX2lkID09PSBwYXJzZUludChpZCk7XG5cbiAgICAgIGNvbnN0IHNob3dFeHRyYSA9IG9iamVjdC5pZCA9PT0gUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uaWQ7XG5cbiAgICAgIGlmICh2YWxpZE9iamVjdCkge1xuICAgICAgICBmZXRjaENhcGFjaXR5KHR5cGUsIGlkLCBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKS50aGVuKFxuICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZEl0ZW0oXG4gICAgICAgICAgICAgIG9iamVjdCxcbiAgICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICAgICBhcmVhcyxcbiAgICAgICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgICAgIHNldEZvY3VzZWRBcmVhLFxuICAgICAgICAgICAgICBzaG93RXh0cmEsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHV0aWxpdHlEaXJlY3RzID0gc29ydEFyZWFzKGFyZWFzKTtcblxuICAgICAgc2V0Rm9jdXNlZEl0ZW0oXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgcG9pbnRzLFxuICAgICAgICB1dGlsaXR5RGlyZWN0cyxcbiAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgIHNldEZvY3VzZWRBcmVhLFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gZm9jdXNNYXAob2JqZWN0LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICB9LCBbd3d0cF9kYXNoYm9hcmQubWFwLCBpZF0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKCFSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhIHx8ICF3d3RwX2Rhc2hib2FyZC5tYXApIHJldHVybjtcblxuICAvLyAgIC8vZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgLy8gfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gPD48Lz47XG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzKSByZXR1cm4gPExvYWRlciAvPjtcblxuICByZXR1cm4gKFxuICAgIDxTZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgICAgIDxDb250YWluZXIgey4uLnByb3BzfT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJuby1ndXR0ZXJzXCI+XG4gICAgICAgICAgPENvbCB4cz1cImF1dG9cIiBzbT17NH0gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20tZmxleFwiPlxuICAgICAgICAgICAgPExpc3RcbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBXV1RQSW5mbz17V1dUUEluZm99XG4gICAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgeHM9ezEyfSBzbT17OH0+XG4gICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17dHJ1ZX1cbiAgICAgICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgICAgICAgIGZvcldXVFBEYXNoYm9hcmQ9e3RydWV9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXtSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5zaGFwZV9kYXRhfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1NlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMHZ3O1xuXG4gIC5tYXAtY29sdW1uIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmtkLW1hcC1jb250YWluZXIge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyNXB4KTtcbiAgICB9XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAqLFxuICAgICAgKjpmb2N1cyxcbiAgICAgICo6aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IHgtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBXV1RQTWFwO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEs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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,7 +27,7 @@ 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) {
30
+ const getFlowRate = (source, flowRateUnit) => {
31
31
  if (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"
@@ -35,8 +35,8 @@ var getFlowRate = function getFlowRate(source, 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+IHtcbiAgaWYgKHNvdXJjZS53YXRlcl9kaXNjaGFyZ2UgPiAwKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInB4LTJcIj5cbiAgICAgICAgICB7Y2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihmbG93UmF0ZVVuaXQsIHNvdXJjZS53YXRlcl9kaXNjaGFyZ2UpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt0cmFuc2xhdGVGbG93UmF0ZShmbG93UmF0ZVVuaXQpfTwvc3Bhbj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuICcgJyArIGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMudW5rbm93bicpO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFJQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBRU8sTUFBTU0sY0FBYyxHQUFHQyxJQUFBLElBQWdCO0VBQUEsSUFBZjtJQUFFQztFQUFPLENBQUMsR0FBQUQsSUFBQTtFQUN2QyxNQUFNRSxRQUFRLEdBQUcsSUFBQUMsdUJBQVcsRUFBRUMsS0FBSyxJQUFLQSxLQUFLLENBQUNDLFdBQVcsQ0FBQ0MsU0FBUyxDQUFDO0VBRXBFLG9CQUNFZixNQUFBLENBQUFnQixPQUFBLENBQUFDLGFBQUEsQ0FBQ0MsU0FBUztJQUFDQyxTQUFTLEVBQUM7RUFBc0MsZ0JBQ3pEbkIsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBQyxhQUFBO0lBQ0VHLEtBQUssRUFBRTtNQUNMQyxRQUFRLEVBQUVDLFlBQUssQ0FBQ0QsUUFBUSxDQUFDRSxFQUFFO01BQzNCQyxLQUFLLEVBQUVGLFlBQUssQ0FBQ0csT0FBTyxDQUFDQyxJQUFJLENBQUNDLEtBQUs7TUFDL0JDLFVBQVUsRUFBRU4sWUFBSyxDQUFDTSxVQUFVLENBQUNDO0lBQy9CO0VBQUUsR0FFREMsYUFBSSxDQUFDQyxDQUFDLENBQUMsOEJBQThCLENBQ2xDLENBQUMsRUFDTkMsV0FBVyxDQUFDdEIsTUFBTSxFQUFFQyxRQUFRLENBQUNzQixjQUFjLENBQ25DLENBQUM7QUFFaEIsQ0FBQztBQUFDQyxPQUFBLENBQUExQixjQUFBLEdBQUFBLGNBQUE7QUFFRixNQUFNd0IsV0FBVyxHQUFHQSxDQUFDdEIsTUFBTSxFQUFFeUIsWUFBb0IsS0FBSztFQUNwRCxJQUFJekIsTUFBTSxDQUFDMEIsZUFBZSxHQUFHLENBQUMsRUFBRTtJQUM5QixvQkFDRXBDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQSxDQUFBakIsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBcUIsUUFBQSxxQkFDRXJDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQTtNQUFNRSxTQUFTLEVBQUM7SUFBTSxHQUNuQixJQUFBbUIscUNBQXlCLEVBQUNILFlBQVksRUFBRXpCLE1BQU0sQ0FBQzBCLGVBQWUsQ0FDM0QsQ0FBQyxlQUNQcEMsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBQyxhQUFBLGVBQU8sSUFBQXNCLDZCQUFpQixFQUFDSixZQUFZLENBQVEsQ0FDN0MsQ0FBQztFQUVQO0VBQ0EsT0FBTyxHQUFHLEdBQUdMLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNYixTQUFTLEdBQUdzQix5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd0RBSTNCIn0=