@kando-env/kando-ui 1.2.376 → 1.2.378

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