@kando-env/kando-ui 1.2.351 → 1.2.352

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 (576) hide show
  1. package/lib/Router.js +36 -73
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +23 -33
  3. package/lib/Widgets/EventsRow/EventsRow.js +25 -37
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +66 -83
  6. package/lib/Widgets/Map/MapUtils.js +40 -39
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +52 -76
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
  9. package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +24 -31
  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 +57 -52
  16. package/lib/Widgets/Map/events/EventPath.js +24 -22
  17. package/lib/Widgets/Map/events/EventUtils.js +55 -78
  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 +15 -13
  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 +69 -75
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +28 -45
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +10 -11
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +28 -57
  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 +33 -64
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +14 -17
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +7 -7
  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 +21 -27
  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 +34 -31
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -26
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +51 -47
  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 +25 -24
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -40
  75. package/lib/Widgets/UtilityInformation/styles.js +31 -22
  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 +8 -8
  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 +10 -9
  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 +12 -19
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
  91. package/lib/components/CustomInputs/Search/Search.js +39 -60
  92. package/lib/components/CustomInputs/Select/Select.js +42 -55
  93. package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
  94. package/lib/components/DamageType/DamageType.js +34 -56
  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 +9 -9
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +27 -41
  104. package/lib/components/Events/Events.js +28 -45
  105. package/lib/components/Graph/Graph.js +67 -86
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +18 -26
  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 +82 -197
  113. package/lib/components/Header/InfoBar/InfoBar.js +66 -95
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +6 -4
  116. package/lib/components/Header/InfoBar/Search/Search.js +14 -19
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +15 -27
  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 +62 -87
  121. package/lib/components/Header/Slideshow/Slideshow.js +67 -89
  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 +13 -13
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +35 -41
  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 +23 -37
  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 +36 -28
  137. package/lib/components/Map/Map.js +19 -22
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +17 -31
  140. package/lib/components/PointInfo/PointInfo.js +18 -16
  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 +48 -51
  147. package/lib/components/SevereEvent/Eta/styles.js +10 -6
  148. package/lib/components/SevereEvent/SevereEvent.js +27 -34
  149. package/lib/components/Spinner/Spinner.js +7 -7
  150. package/lib/components/Spinner/Spinner.stories.js +4 -6
  151. package/lib/components/Spinner/styles.js +20 -12
  152. package/lib/components/Tabs/Tabs.js +18 -27
  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 +34 -45
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +16 -21
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +11 -11
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +16 -24
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +28 -29
  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 +10 -15
  166. package/lib/components/TrendGraph/TrendGraph.js +22 -38
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +24 -30
  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 +25 -28
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +13 -9
  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 +15 -28
  202. package/lib/hooks/useMap.js +22 -34
  203. package/lib/hooks/useNavContext.js +22 -26
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +13 -17
  206. package/lib/hooks/useUserTimeZone.js +33 -30
  207. package/lib/hooks/useUserTimeZone.test.js +19 -22
  208. package/lib/hooks/useWindowSize.js +7 -14
  209. package/lib/index.js +11 -12
  210. package/lib/macros/getVersion.js +2 -2
  211. package/lib/pages/AreaPage/AreaPage.js +34 -67
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +15 -16
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +23 -24
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +7 -7
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +9 -9
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  219. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  220. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  221. package/lib/pages/AssessmentPage/AssessmentPage.js +37 -43
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +8 -13
  224. package/lib/pages/CovidPage/components/Body.js +25 -27
  225. package/lib/pages/CovidPage/components/Map.js +27 -37
  226. package/lib/pages/CovidPage/components/Sidebar.js +14 -13
  227. package/lib/pages/CovidPage/components/Summary.js +19 -26
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +24 -30
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  230. package/lib/pages/CovidPage/components/areas/Area.js +24 -35
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +44 -43
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +29 -41
  234. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +26 -26
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +7 -6
  238. package/lib/pages/DashboardMap/Capacity.js +34 -85
  239. package/lib/pages/DashboardMap/FactoryCard.js +28 -24
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  241. package/lib/pages/DashboardMap/List.js +68 -94
  242. package/lib/pages/DashboardMap/ListContext.js +15 -19
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  245. package/lib/pages/DashboardMap/WWTPMap.js +49 -59
  246. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  247. package/lib/pages/DashboardMap/Widget.js +53 -70
  248. package/lib/pages/DashboardMap/utils.js +41 -50
  249. package/lib/pages/EventsPage/Body/Body.js +20 -15
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +52 -63
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +17 -23
  257. package/lib/pages/EventsPage/EventsPage.js +7 -10
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +25 -37
  259. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  260. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -29
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +41 -40
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +16 -18
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +38 -46
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +28 -31
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +4 -4
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  275. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  276. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  277. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +21 -25
  280. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +11 -7
  281. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +6 -6
  282. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +5 -3
  283. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +6 -4
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  294. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  295. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  296. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  297. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  298. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  299. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  301. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  302. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +24 -37
  303. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  304. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  305. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  306. package/lib/pages/EventsPage/events/event_info/sources/Source.js +25 -28
  307. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +21 -24
  308. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  309. package/lib/pages/EventsPage/events/events_list/EventItem.js +17 -18
  310. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  311. package/lib/pages/EventsPage/events/events_list/EventsList.js +113 -134
  312. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +38 -53
  313. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +72 -108
  314. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +52 -69
  315. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  316. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  317. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  318. package/lib/pages/ImportFileWizard/FileUploadRespones.js +12 -19
  319. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  320. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  321. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  322. package/lib/pages/ImportFileWizard/ValidationForm.js +21 -20
  323. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  324. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  325. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  326. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  327. package/lib/pages/ImportGisPage/importGisUtils.js +12 -20
  328. package/lib/pages/ImportGisProcess/index.js +12 -15
  329. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  330. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  332. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +28 -57
  333. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  334. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  335. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  336. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  337. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  338. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  339. package/lib/pages/NotificationsPageV2/NotificationsPage.js +70 -93
  340. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +93 -62
  341. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +126 -137
  342. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +71 -71
  343. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +90 -87
  344. package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -33
  345. package/lib/pages/OldSitePage/OldSitePage.js +56 -131
  346. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  347. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  348. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  349. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  353. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -11
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  360. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  361. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +26 -22
  363. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +26 -28
  364. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  365. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +15 -9
  366. package/lib/pages/ProfilePage/Container.js +2 -2
  367. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +23 -39
  368. package/lib/pages/ProfilePage/ProfilePage.js +111 -199
  369. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  370. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +18 -15
  371. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +23 -25
  372. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +56 -116
  373. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  375. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +38 -40
  376. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  377. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  378. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  379. package/lib/pages/SamplingsPage/NavigationDropdown.js +42 -29
  380. package/lib/pages/SamplingsPage/NewSamplingAction.js +73 -97
  381. package/lib/pages/SamplingsPage/SamplingMobileModal.js +123 -97
  382. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  383. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +33 -56
  385. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  386. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +8 -6
  387. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +107 -191
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +47 -53
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +42 -38
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +42 -38
  391. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  392. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  393. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  394. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +51 -52
  395. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  396. package/lib/pages/SamplingsPage/SamplingsPage.js +25 -31
  397. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +49 -57
  398. package/lib/pages/SamplingsPage/samplingsPageUtils.js +67 -75
  399. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  400. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  401. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  402. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  403. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  404. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  405. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  406. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  411. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  412. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -11
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  416. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  417. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  419. package/lib/pages/SitePage/SamplingParameters/body/Body.js +8 -8
  420. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  421. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  422. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  423. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +53 -53
  424. package/lib/pages/SitePage/SamplingParameters/dataParser.js +29 -38
  425. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  426. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  427. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +15 -9
  428. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  429. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  430. package/lib/pages/SitePage/SitePage.js +34 -73
  431. package/lib/pages/UploadLabResult/index.js +13 -13
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +46 -47
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +2 -2
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -9
  441. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  442. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  443. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  444. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +16 -24
  445. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +15 -16
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  448. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +26 -30
  449. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  450. package/lib/pages/WbeDashboard/GraphWrapper.js +28 -34
  451. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  452. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  453. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  454. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  455. package/lib/pages/WbeDashboard/Tabs.js +10 -10
  456. package/lib/pages/WbeDashboard/WbeDashboardPage.js +144 -206
  457. package/lib/pages/WbeDashboard/WbeSummaryBar.js +39 -47
  458. package/lib/pages/WwtpPage/DashboardCard.js +23 -20
  459. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  460. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +25 -21
  461. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  462. package/lib/pages/WwtpPage/Map.js +5 -3
  463. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  464. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  465. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +6 -4
  466. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  467. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  468. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  469. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  470. package/lib/pages/WwtpPage/UpgradeBox.js +2 -2
  471. package/lib/pages/WwtpPage/WwtpPage.js +7 -7
  472. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  473. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  474. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  475. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  476. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  477. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  478. package/lib/providers/UrlHistory/index.js +2 -2
  479. package/lib/providers/UrlHistory/useLastVisited.js +4 -4
  480. package/lib/store/ImportGis/actionTypes.js +1 -1
  481. package/lib/store/ImportGis/actionsCreator.js +7 -5
  482. package/lib/store/ImportGis/reducer.js +40 -29
  483. package/lib/store/WBE/actionTypes.js +2 -2
  484. package/lib/store/WBE/reducer.js +13 -9
  485. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  486. package/lib/store/areas/actionTypes.js +4 -4
  487. package/lib/store/areas/actions.js +7 -13
  488. package/lib/store/areas/reducer.js +8 -6
  489. package/lib/store/context/actionTypes.js +3 -3
  490. package/lib/store/context/actions.js +3 -3
  491. package/lib/store/context/contextMiddlewares.js +14 -16
  492. package/lib/store/context/reducer.js +13 -9
  493. package/lib/store/dashboard/dashboardSlice.js +18 -10
  494. package/lib/store/edges/actionTypes.js +5 -5
  495. package/lib/store/edges/actions.js +4 -8
  496. package/lib/store/edges/reducer.js +13 -17
  497. package/lib/store/events/actionTypes.js +17 -17
  498. package/lib/store/events/actions.js +3 -7
  499. package/lib/store/events/reducer.js +42 -49
  500. package/lib/store/global/actionTypes.js +11 -11
  501. package/lib/store/global/actions.js +8 -6
  502. package/lib/store/global/reducer.js +11 -10
  503. package/lib/store/permissions/permissionsSlice.js +12 -8
  504. package/lib/store/points/actionTypes.js +3 -3
  505. package/lib/store/points/actions.js +3 -7
  506. package/lib/store/points/reducer.js +7 -5
  507. package/lib/store/rootActionTypes.js +2 -2
  508. package/lib/store/rootReducer.js +17 -12
  509. package/lib/store/rootStore.js +5 -5
  510. package/lib/store/samplings/actionTypes.js +1 -1
  511. package/lib/store/samplings/reducer.js +16 -14
  512. package/lib/styles/StylesLayout.js +5 -3
  513. package/lib/styles/theme/theme.js +26 -27
  514. package/lib/test/mocks/browser.js +2 -4
  515. package/lib/test/test-utils.js +17 -15
  516. package/lib/ui-kit/Button/Button.js +127 -79
  517. package/lib/ui-kit/Button/Button.test.js +24 -29
  518. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  519. package/lib/ui-kit/ContentCard/ContentCard.js +14 -17
  520. package/lib/ui-kit/Dashboard/Dashboard.js +22 -19
  521. package/lib/ui-kit/DropDown/DropDown.js +22 -23
  522. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  523. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  524. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  525. package/lib/ui-kit/EmptyState/EmptyState.js +5 -3
  526. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  527. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +46 -62
  528. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +57 -48
  529. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  530. package/lib/ui-kit/InletsPie/options.js +6 -6
  531. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  532. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  533. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  534. package/lib/ui-kit/Layout/Layout.js +6 -4
  535. package/lib/ui-kit/MobileInput/MobileInput.js +55 -49
  536. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  537. package/lib/ui-kit/OrganicEvents/GaugeChart.js +7 -5
  538. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  539. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  540. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  541. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  542. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  543. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  544. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +19 -19
  545. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  546. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  547. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  548. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  549. package/lib/ui-kit/index.js +8 -8
  550. package/lib/ui-kit/kandoStepper/KandoStepper.js +11 -11
  551. package/lib/ui-kit/siteName/SiteName.js +11 -8
  552. package/lib/utilities/ActionUtility.js +7 -7
  553. package/lib/utilities/Alert.js +21 -17
  554. package/lib/utilities/Analytics.js +11 -11
  555. package/lib/utilities/Array.js +4 -5
  556. package/lib/utilities/Enum.js +15 -51
  557. package/lib/utilities/ErrorBoundary.js +27 -41
  558. package/lib/utilities/File.js +40 -69
  559. package/lib/utilities/GetDir.js +8 -7
  560. package/lib/utilities/KandoDate.js +7 -15
  561. package/lib/utilities/KandoModal.js +16 -26
  562. package/lib/utilities/LocalStorage.js +5 -7
  563. package/lib/utilities/ThousandsToK.js +2 -2
  564. package/lib/utilities/TimeFormat.js +21 -20
  565. package/lib/utilities/Truncate.js +16 -24
  566. package/lib/utilities/edgesMath.js +14 -15
  567. package/lib/utilities/i18n.js +3 -3
  568. package/lib/utilities/kql.js +10 -12
  569. package/lib/utilities/map/icons.js +3 -3
  570. package/lib/utilities/polylinedecorator.js +87 -112
  571. package/lib/utilities/scoreToData.js +10 -10
  572. package/lib/utilities/scoreToData.test.js +5 -5
  573. package/lib/utilities/time.js +8 -8
  574. package/lib/utilities/uploadToS3.js +11 -11
  575. package/lib/utilities/urls.js +16 -14
  576. package/package.json +1 -1
@@ -1,13 +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.updatePoint = exports.Widget = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
8
  var _react = _interopRequireWildcard(require("react"));
12
9
  var _reactBootstrap = require("react-bootstrap");
13
10
  var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
@@ -15,85 +12,73 @@ var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
15
12
  var _InletsPie = _interopRequireDefault(require("../../ui-kit/InletsPie"));
16
13
  var _utils = require("./utils");
17
14
  var _Capacity = require("./Capacity");
18
- 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); }
19
- 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; }
20
- var updatePoint = function updatePoint(_ref) {
21
- var point = _ref.point,
22
- listItems = _ref.listItems,
23
- areas = _ref.areas,
24
- points = _ref.points;
25
- var areaIds = listItems.map(function (item) {
26
- return item.id;
27
- });
28
- var subAreas = getAreas(areaIds, areas);
29
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, point), {}, {
15
+ 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); }
16
+ 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; }
17
+ const updatePoint = _ref => {
18
+ let {
19
+ point,
20
+ listItems,
21
+ areas,
22
+ points
23
+ } = _ref;
24
+ const areaIds = listItems.map(item => item.id);
25
+ const subAreas = getAreas(areaIds, areas);
26
+ return {
27
+ ...point,
30
28
  factories: subAreas.length > 0 ? [] : getPoints(listItems, points),
31
29
  sub_areas: subAreas,
32
30
  shape_data: [[point.latitude, point.longitude]]
33
- });
31
+ };
34
32
  };
35
33
  exports.updatePoint = updatePoint;
36
- var getAreas = function getAreas(areaIds, areas) {
34
+ const getAreas = (areaIds, areas) => {
37
35
  if (areaIds.length === 0 || areas === undefined || areas === null || areas.length === 0) return [];
38
- var returnedAreas = areaIds.map(function (id) {
39
- var correspondingArea = areas.find(function (area) {
40
- return area.area_id === id;
41
- });
36
+ const returnedAreas = areaIds.map(id => {
37
+ const correspondingArea = areas.find(area => area.area_id === id);
42
38
  return correspondingArea;
43
39
  });
44
40
  return returnedAreas;
45
41
  };
46
- var getPoints = function getPoints(listItems, points) {
42
+ const getPoints = (listItems, points) => {
47
43
  if (listItems === null || points === undefined || points.length === 0) return [];
48
- var returnedPoints = listItems.map(function (item) {
49
- var correspondingPoint = points.find(function (point) {
50
- return point.id === item.id;
51
- });
44
+ const returnedPoints = listItems.map(item => {
45
+ const correspondingPoint = points.find(point => point.id === item.id);
52
46
  return correspondingPoint;
53
47
  });
54
48
  return returnedPoints;
55
49
  };
56
- var Widget = function Widget(props) {
57
- var object = props.object,
58
- dispatch = props.dispatch,
59
- points = props.points,
60
- areas = props.areas,
61
- map = props.map,
62
- global_data = props.global_data,
63
- listData = props.listData,
64
- history = props.history;
65
- var _useState = (0, _react.useState)(null),
66
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
67
- area = _useState2[0],
68
- setArea = _useState2[1];
69
- var _useState3 = (0, _react.useState)(null),
70
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
71
- point = _useState4[0],
72
- setPoint = _useState4[1];
73
- var _useState5 = (0, _react.useState)(''),
74
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
75
- buttonName = _useState6[0],
76
- setButtonName = _useState6[1];
77
- var _useState7 = (0, _react.useState)([]),
78
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
79
- listItems = _useState8[0],
80
- setListItems = _useState8[1];
81
- var handleClick = function handleClick() {
50
+ const Widget = props => {
51
+ const {
52
+ object,
53
+ dispatch,
54
+ points,
55
+ areas,
56
+ map,
57
+ global_data,
58
+ listData,
59
+ history
60
+ } = props;
61
+ const [area, setArea] = (0, _react.useState)(null);
62
+ const [point, setPoint] = (0, _react.useState)(null);
63
+ const [buttonName, setButtonName] = (0, _react.useState)('');
64
+ const [listItems, setListItems] = (0, _react.useState)([]);
65
+ const handleClick = () => {
82
66
  map.closePopup();
83
- var clickedObject = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, object), {}, {
67
+ const clickedObject = {
68
+ ...object,
84
69
  clicked: true
85
- });
70
+ };
86
71
  (0, _utils.updateHistory)(clickedObject, history);
87
72
  (0, _Capacity.setFocusedItem)(clickedObject, listItems, points, areas, dispatch, _WWTPDashboardSlice.setFocusedArea, true);
88
73
  sendButtonClickedAnalytics();
89
74
  };
90
- var sendButtonClickedAnalytics = function sendButtonClickedAnalytics() {
75
+ const sendButtonClickedAnalytics = () => {
91
76
  (0, _utils.sendAnalyticsEvent)('Map view - Popup drilldown clicked', buttonName, {
92
77
  utility_name: global_data.waterAuthorityName
93
78
  });
94
79
  };
95
- var getButtonType = function getButtonType(type) {
96
- var rc;
80
+ const getButtonType = type => {
81
+ let rc;
97
82
  switch (type.toLowerCase()) {
98
83
  case 'area':
99
84
  case 'varea':
@@ -107,8 +92,8 @@ var Widget = function Widget(props) {
107
92
  }
108
93
  return rc;
109
94
  };
110
- var title = function title() {
111
- var payload = '';
95
+ const title = () => {
96
+ let payload = '';
112
97
  if (point) {
113
98
  payload = point.name;
114
99
  } else {
@@ -118,32 +103,30 @@ var Widget = function Widget(props) {
118
103
  }
119
104
  return payload;
120
105
  };
121
- var buttonTitle = function buttonTitle() {
106
+ const buttonTitle = () => {
122
107
  if (buttonName === '') return '';
123
108
  return _i18n.default.t("wwtpPage.".concat(buttonName));
124
109
  };
125
- (0, _react.useEffect)(function () {
126
- var isAPoint = object.forWWTPMap !== undefined;
110
+ (0, _react.useEffect)(() => {
111
+ let isAPoint = object.forWWTPMap !== undefined;
127
112
  if (isAPoint) {
128
113
  setPoint(object);
129
114
  } else {
130
115
  setArea(object);
131
116
  }
132
117
  }, [object]);
133
- (0, _react.useEffect)(function () {
118
+ (0, _react.useEffect)(() => {
134
119
  if (listData === undefined) return;
135
120
  setListItems(listData === null || listData === void 0 ? void 0 : listData.data);
136
121
  if (listData.data.length > 0) {
137
122
  setButtonName(getButtonType(listData.data[0].type));
138
123
  }
139
124
  }, [listData]);
140
- var widgetContent = function widgetContent() {
141
- var data = listData === null || listData === void 0 ? void 0 : listData.data;
142
- var showButton = (data === null || data === void 0 ? void 0 : data.length) > 0;
125
+ const widgetContent = () => {
126
+ const data = listData === null || listData === void 0 ? void 0 : listData.data;
127
+ const showButton = (data === null || data === void 0 ? void 0 : data.length) > 0;
143
128
  return /*#__PURE__*/_react.default.createElement("div", null, showButton && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
144
- onClick: function onClick() {
145
- return handleClick();
146
- },
129
+ onClick: () => handleClick(),
147
130
  className: 'childrenButton rounded-pill btn-light'
148
131
  }, buttonTitle()), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
149
132
  inlets: listItems
@@ -154,4 +137,4 @@ var Widget = function Widget(props) {
154
137
  }, widgetContent()));
155
138
  };
156
139
  exports.Widget = Widget;
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9DYXBhY2l0eSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwidXBkYXRlUG9pbnQiLCJfcmVmIiwicG9pbnQiLCJsaXN0SXRlbXMiLCJhcmVhcyIsInBvaW50cyIsImFyZWFJZHMiLCJtYXAiLCJpdGVtIiwiaWQiLCJzdWJBcmVhcyIsImdldEFyZWFzIiwiX29iamVjdFNwcmVhZDIiLCJmYWN0b3JpZXMiLCJsZW5ndGgiLCJnZXRQb2ludHMiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJleHBvcnRzIiwidW5kZWZpbmVkIiwicmV0dXJuZWRBcmVhcyIsImNvcnJlc3BvbmRpbmdBcmVhIiwiZmluZCIsImFyZWEiLCJhcmVhX2lkIiwicmV0dXJuZWRQb2ludHMiLCJjb3JyZXNwb25kaW5nUG9pbnQiLCJXaWRnZXQiLCJwcm9wcyIsIm9iamVjdCIsImRpc3BhdGNoIiwiZ2xvYmFsX2RhdGEiLCJsaXN0RGF0YSIsImhpc3RvcnkiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZXRBcmVhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZXRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYnV0dG9uTmFtZSIsInNldEJ1dHRvbk5hbWUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNldExpc3RJdGVtcyIsImhhbmRsZUNsaWNrIiwiY2xvc2VQb3B1cCIsImNsaWNrZWRPYmplY3QiLCJjbGlja2VkIiwidXBkYXRlSGlzdG9yeSIsInNldEZvY3VzZWRJdGVtIiwic2V0Rm9jdXNlZEFyZWEiLCJzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyIsInNlbmRBbmFseXRpY3NFdmVudCIsInV0aWxpdHlfbmFtZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImdldEJ1dHRvblR5cGUiLCJ0eXBlIiwicmMiLCJ0b0xvd2VyQ2FzZSIsInRpdGxlIiwicGF5bG9hZCIsIm5hbWUiLCJhcmVhX25hbWUiLCJidXR0b25UaXRsZSIsImkxOG4iLCJ0IiwiY29uY2F0IiwidXNlRWZmZWN0IiwiaXNBUG9pbnQiLCJmb3JXV1RQTWFwIiwiZGF0YSIsIndpZGdldENvbnRlbnQiLCJzaG93QnV0dG9uIiwiY3JlYXRlRWxlbWVudCIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJjbGFzc05hbWUiLCJpbmxldHMiLCJGcmFnbWVudCIsIkNhcmQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50LCB1cGRhdGVIaXN0b3J5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkSXRlbSB9IGZyb20gJy4vQ2FwYWNpdHknO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgb2JqZWN0OiBhbnk7XG4gIGRpc3BhdGNoOiBhbnk7XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBhcmVhcz86IElBcmVhW107XG4gIG1hcDtcbiAgZ2xvYmFsX2RhdGE7XG4gIGxpc3REYXRhOiBhbnk7XG4gIGhpc3Rvcnk6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVQb2ludCA9ICh7IHBvaW50LCBsaXN0SXRlbXMsIGFyZWFzLCBwb2ludHMgfSkgPT4ge1xuICBjb25zdCBhcmVhSWRzID0gbGlzdEl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCk7XG4gIGNvbnN0IHN1YkFyZWFzID0gZ2V0QXJlYXMoYXJlYUlkcywgYXJlYXMpO1xuICByZXR1cm4ge1xuICAgIC4uLnBvaW50LFxuICAgIGZhY3Rvcmllczogc3ViQXJlYXMubGVuZ3RoID4gMCA/IFtdIDogZ2V0UG9pbnRzKGxpc3RJdGVtcywgcG9pbnRzKSxcbiAgICBzdWJfYXJlYXM6IHN1YkFyZWFzLFxuICAgIHNoYXBlX2RhdGE6IFtbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV1dLFxuICB9O1xufTtcblxuY29uc3QgZ2V0QXJlYXMgPSAoYXJlYUlkczogYW55W10sIGFyZWFzKSA9PiB7XG4gIGlmIChcbiAgICBhcmVhSWRzLmxlbmd0aCA9PT0gMCB8fFxuICAgIGFyZWFzID09PSB1bmRlZmluZWQgfHxcbiAgICBhcmVhcyA9PT0gbnVsbCB8fFxuICAgIGFyZWFzLmxlbmd0aCA9PT0gMFxuICApXG4gICAgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IHJldHVybmVkQXJlYXMgPSBhcmVhSWRzLm1hcCgoaWQpID0+IHtcbiAgICBjb25zdCBjb3JyZXNwb25kaW5nQXJlYSA9IGFyZWFzLmZpbmQoKGFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gaWQpO1xuICAgIHJldHVybiBjb3JyZXNwb25kaW5nQXJlYTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJldHVybmVkQXJlYXM7XG59O1xuXG5jb25zdCBnZXRQb2ludHMgPSAobGlzdEl0ZW1zLCBwb2ludHMpID0+IHtcbiAgaWYgKGxpc3RJdGVtcyA9PT0gbnVsbCB8fCBwb2ludHMgPT09IHVuZGVmaW5lZCB8fCBwb2ludHMubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBbXTtcblxuICBjb25zdCByZXR1cm5lZFBvaW50cyA9IGxpc3RJdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICBjb25zdCBjb3JyZXNwb25kaW5nUG9pbnQgPSBwb2ludHMuZmluZCgocG9pbnQpID0+IHBvaW50LmlkID09PSBpdGVtLmlkKTtcbiAgICByZXR1cm4gY29ycmVzcG9uZGluZ1BvaW50O1xuICB9KTtcblxuICByZXR1cm4gcmV0dXJuZWRQb2ludHM7XG59O1xuZXhwb3J0IGNvbnN0IFdpZGdldDogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgb2JqZWN0LFxuICAgIGRpc3BhdGNoLFxuICAgIHBvaW50cyxcbiAgICBhcmVhcyxcbiAgICBtYXAsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgbGlzdERhdGEsXG4gICAgaGlzdG9yeSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbYXJlYSwgc2V0QXJlYV0gPSB1c2VTdGF0ZTxJQXJlYSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcG9pbnQsIHNldFBvaW50XSA9IHVzZVN0YXRlPElQb2ludCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYnV0dG9uTmFtZSwgc2V0QnV0dG9uTmFtZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW2xpc3RJdGVtcywgc2V0TGlzdEl0ZW1zXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgICBjb25zdCBjbGlja2VkT2JqZWN0ID0geyAuLi5vYmplY3QsIGNsaWNrZWQ6IHRydWUgfTtcbiAgICB1cGRhdGVIaXN0b3J5KGNsaWNrZWRPYmplY3QsIGhpc3RvcnkpO1xuICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgY2xpY2tlZE9iamVjdCxcbiAgICAgIGxpc3RJdGVtcyxcbiAgICAgIHBvaW50cyxcbiAgICAgIGFyZWFzLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgIHRydWUsXG4gICAgKTtcbiAgICBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcygpO1xuICB9O1xuXG4gIGNvbnN0IHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIHZpZXcgLSBQb3B1cCBkcmlsbGRvd24gY2xpY2tlZCcsIGJ1dHRvbk5hbWUsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGdldEJ1dHRvblR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHJjO1xuXG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2FyZWEnOlxuICAgICAgY2FzZSAndmFyZWEnOlxuICAgICAgICByYyA9ICd2aWV3X3N1Yl9hcmVhcyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmFjdG9yeSc6XG4gICAgICAgIHJjID0gJ3ZpZXdfZmFjdG9yaWVzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByYyA9ICd2aWV3X2lubGV0cyc7XG4gICAgfVxuICAgIHJldHVybiByYztcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9ICcnO1xuICAgIGlmIChwb2ludCkge1xuICAgICAgcGF5bG9hZCA9IHBvaW50Lm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhcmVhKSB7XG4gICAgICAgIHBheWxvYWQgPSBhcmVhLmFyZWFfbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgYnV0dG9uVGl0bGUgPSAoKSA9PiB7XG4gICAgaWYgKGJ1dHRvbk5hbWUgPT09ICcnKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGkxOG4udChgd3d0cFBhZ2UuJHtidXR0b25OYW1lfWApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGlzQVBvaW50ID0gb2JqZWN0LmZvcldXVFBNYXAgIT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc0FQb2ludCkge1xuICAgICAgc2V0UG9pbnQob2JqZWN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QXJlYShvYmplY3QpO1xuICAgIH1cbiAgfSwgW29iamVjdF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3REYXRhID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIHNldExpc3RJdGVtcyhsaXN0RGF0YT8uZGF0YSk7XG4gICAgaWYgKGxpc3REYXRhLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgc2V0QnV0dG9uTmFtZShnZXRCdXR0b25UeXBlKGxpc3REYXRhLmRhdGFbMF0udHlwZSkpO1xuICAgIH1cbiAgfSwgW2xpc3REYXRhXSk7XG5cbiAgY29uc3Qgd2lkZ2V0Q29udGVudCA9ICgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gbGlzdERhdGE/LmRhdGE7XG4gICAgY29uc3Qgc2hvd0J1dHRvbiA9IGRhdGE/Lmxlbmd0aCA+IDA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAge3Nob3dCdXR0b24gJiYgKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKCl9XG4gICAgICAgICAgICBjbGFzc05hbWU9eydjaGlsZHJlbkJ1dHRvbiByb3VuZGVkLXBpbGwgYnRuLWxpZ2h0J31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YnV0dG9uVGl0bGUoKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPElubGV0c1BpZSBpbmxldHM9e2xpc3RJdGVtc30gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGgzPnt0aXRsZSgpfTwvaDM+XG4gICAgICA8Q2FyZCBjbGFzc05hbWU9XCJiZy13aGl0ZSB3aWRnZXQtY29udGFpbmVyXCI+e3dpZGdldENvbnRlbnQoKX08L0NhcmQ+XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFLLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUE0QyxTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEs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
140
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9DYXBhY2l0eSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJ1cGRhdGVQb2ludCIsIl9yZWYiLCJwb2ludCIsImxpc3RJdGVtcyIsImFyZWFzIiwicG9pbnRzIiwiYXJlYUlkcyIsIm1hcCIsIml0ZW0iLCJpZCIsInN1YkFyZWFzIiwiZ2V0QXJlYXMiLCJmYWN0b3JpZXMiLCJsZW5ndGgiLCJnZXRQb2ludHMiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJleHBvcnRzIiwidW5kZWZpbmVkIiwicmV0dXJuZWRBcmVhcyIsImNvcnJlc3BvbmRpbmdBcmVhIiwiZmluZCIsImFyZWEiLCJhcmVhX2lkIiwicmV0dXJuZWRQb2ludHMiLCJjb3JyZXNwb25kaW5nUG9pbnQiLCJXaWRnZXQiLCJwcm9wcyIsIm9iamVjdCIsImRpc3BhdGNoIiwiZ2xvYmFsX2RhdGEiLCJsaXN0RGF0YSIsImhpc3RvcnkiLCJzZXRBcmVhIiwidXNlU3RhdGUiLCJzZXRQb2ludCIsImJ1dHRvbk5hbWUiLCJzZXRCdXR0b25OYW1lIiwic2V0TGlzdEl0ZW1zIiwiaGFuZGxlQ2xpY2siLCJjbG9zZVBvcHVwIiwiY2xpY2tlZE9iamVjdCIsImNsaWNrZWQiLCJ1cGRhdGVIaXN0b3J5Iiwic2V0Rm9jdXNlZEl0ZW0iLCJzZXRGb2N1c2VkQXJlYSIsInNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzIiwic2VuZEFuYWx5dGljc0V2ZW50IiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2V0QnV0dG9uVHlwZSIsInR5cGUiLCJyYyIsInRvTG93ZXJDYXNlIiwidGl0bGUiLCJwYXlsb2FkIiwibmFtZSIsImFyZWFfbmFtZSIsImJ1dHRvblRpdGxlIiwiaTE4biIsInQiLCJjb25jYXQiLCJ1c2VFZmZlY3QiLCJpc0FQb2ludCIsImZvcldXVFBNYXAiLCJkYXRhIiwid2lkZ2V0Q29udGVudCIsInNob3dCdXR0b24iLCJjcmVhdGVFbGVtZW50IiwiQnV0dG9uIiwib25DbGljayIsImNsYXNzTmFtZSIsImlubGV0cyIsIkZyYWdtZW50IiwiQ2FyZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiwgQ2FyZCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCBJbmxldHNQaWUgZnJvbSAnLi4vLi4vdWkta2l0L0lubGV0c1BpZSc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQsIHVwZGF0ZUhpc3RvcnkgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHNldEZvY3VzZWRJdGVtIH0gZnJvbSAnLi9DYXBhY2l0eSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBvYmplY3Q6IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGFyZWFzPzogSUFyZWFbXTtcbiAgbWFwO1xuICBnbG9iYWxfZGF0YTtcbiAgbGlzdERhdGE6IGFueTtcbiAgaGlzdG9yeTogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVBvaW50ID0gKHsgcG9pbnQsIGxpc3RJdGVtcywgYXJlYXMsIHBvaW50cyB9KSA9PiB7XG4gIGNvbnN0IGFyZWFJZHMgPSBsaXN0SXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKTtcbiAgY29uc3Qgc3ViQXJlYXMgPSBnZXRBcmVhcyhhcmVhSWRzLCBhcmVhcyk7XG4gIHJldHVybiB7XG4gICAgLi4ucG9pbnQsXG4gICAgZmFjdG9yaWVzOiBzdWJBcmVhcy5sZW5ndGggPiAwID8gW10gOiBnZXRQb2ludHMobGlzdEl0ZW1zLCBwb2ludHMpLFxuICAgIHN1Yl9hcmVhczogc3ViQXJlYXMsXG4gICAgc2hhcGVfZGF0YTogW1twb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXV0sXG4gIH07XG59O1xuXG5jb25zdCBnZXRBcmVhcyA9IChhcmVhSWRzOiBhbnlbXSwgYXJlYXMpID0+IHtcbiAgaWYgKFxuICAgIGFyZWFJZHMubGVuZ3RoID09PSAwIHx8XG4gICAgYXJlYXMgPT09IHVuZGVmaW5lZCB8fFxuICAgIGFyZWFzID09PSBudWxsIHx8XG4gICAgYXJlYXMubGVuZ3RoID09PSAwXG4gIClcbiAgICByZXR1cm4gW107XG5cbiAgY29uc3QgcmV0dXJuZWRBcmVhcyA9IGFyZWFJZHMubWFwKChpZCkgPT4ge1xuICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdBcmVhID0gYXJlYXMuZmluZCgoYXJlYSkgPT4gYXJlYS5hcmVhX2lkID09PSBpZCk7XG4gICAgcmV0dXJuIGNvcnJlc3BvbmRpbmdBcmVhO1xuICB9KTtcblxuICByZXR1cm4gcmV0dXJuZWRBcmVhcztcbn07XG5cbmNvbnN0IGdldFBvaW50cyA9IChsaXN0SXRlbXMsIHBvaW50cykgPT4ge1xuICBpZiAobGlzdEl0ZW1zID09PSBudWxsIHx8IHBvaW50cyA9PT0gdW5kZWZpbmVkIHx8IHBvaW50cy5sZW5ndGggPT09IDApXG4gICAgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IHJldHVybmVkUG9pbnRzID0gbGlzdEl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdQb2ludCA9IHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IGl0ZW0uaWQpO1xuICAgIHJldHVybiBjb3JyZXNwb25kaW5nUG9pbnQ7XG4gIH0pO1xuXG4gIHJldHVybiByZXR1cm5lZFBvaW50cztcbn07XG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBvYmplY3QsXG4gICAgZGlzcGF0Y2gsXG4gICAgcG9pbnRzLFxuICAgIGFyZWFzLFxuICAgIG1hcCxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBsaXN0RGF0YSxcbiAgICBoaXN0b3J5LFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFthcmVhLCBzZXRBcmVhXSA9IHVzZVN0YXRlPElBcmVhIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb2ludCwgc2V0UG9pbnRdID0gdXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtidXR0b25OYW1lLCBzZXRCdXR0b25OYW1lXSA9IHVzZVN0YXRlPHN0cmluZz4oJycpO1xuICBjb25zdCBbbGlzdEl0ZW1zLCBzZXRMaXN0SXRlbXNdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcblxuICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgIGNvbnN0IGNsaWNrZWRPYmplY3QgPSB7IC4uLm9iamVjdCwgY2xpY2tlZDogdHJ1ZSB9O1xuICAgIHVwZGF0ZUhpc3RvcnkoY2xpY2tlZE9iamVjdCwgaGlzdG9yeSk7XG4gICAgc2V0Rm9jdXNlZEl0ZW0oXG4gICAgICBjbGlja2VkT2JqZWN0LFxuICAgICAgbGlzdEl0ZW1zLFxuICAgICAgcG9pbnRzLFxuICAgICAgYXJlYXMsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIHNldEZvY3VzZWRBcmVhLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuICAgIHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzKCk7XG4gIH07XG5cbiAgY29uc3Qgc2VuZEJ1dHRvbkNsaWNrZWRBbmFseXRpY3MgPSAoKSA9PiB7XG4gICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgdmlldyAtIFBvcHVwIGRyaWxsZG93biBjbGlja2VkJywgYnV0dG9uTmFtZSwge1xuICAgICAgdXRpbGl0eV9uYW1lOiBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZ2V0QnV0dG9uVHlwZSA9ICh0eXBlOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgcmM7XG5cbiAgICBzd2l0Y2ggKHR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAnYXJlYSc6XG4gICAgICBjYXNlICd2YXJlYSc6XG4gICAgICAgIHJjID0gJ3ZpZXdfc3ViX2FyZWFzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmYWN0b3J5JzpcbiAgICAgICAgcmMgPSAndmlld19mYWN0b3JpZXMnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJjID0gJ3ZpZXdfaW5sZXRzJztcbiAgICB9XG4gICAgcmV0dXJuIHJjO1xuICB9O1xuXG4gIGNvbnN0IHRpdGxlID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gJyc7XG4gICAgaWYgKHBvaW50KSB7XG4gICAgICBwYXlsb2FkID0gcG9pbnQubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFyZWEpIHtcbiAgICAgICAgcGF5bG9hZCA9IGFyZWEuYXJlYV9uYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBidXR0b25UaXRsZSA9ICgpID0+IHtcbiAgICBpZiAoYnV0dG9uTmFtZSA9PT0gJycpIHJldHVybiAnJztcbiAgICByZXR1cm4gaTE4bi50KGB3d3RwUGFnZS4ke2J1dHRvbk5hbWV9YCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobGlzdERhdGEgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgc2V0TGlzdEl0ZW1zKGxpc3REYXRhPy5kYXRhKTtcbiAgICBpZiAobGlzdERhdGEuZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBzZXRCdXR0b25OYW1lKGdldEJ1dHRvblR5cGUobGlzdERhdGEuZGF0YVswXS50eXBlKSk7XG4gICAgfVxuICB9LCBbbGlzdERhdGFdKTtcblxuICBjb25zdCB3aWRnZXRDb250ZW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBsaXN0RGF0YT8uZGF0YTtcbiAgICBjb25zdCBzaG93QnV0dG9uID0gZGF0YT8ubGVuZ3RoID4gMDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICB7c2hvd0J1dHRvbiAmJiAoXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2soKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2NoaWxkcmVuQnV0dG9uIHJvdW5kZWQtcGlsbCBidG4tbGlnaHQnfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtidXR0b25UaXRsZSgpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICA8SW5sZXRzUGllIGlubGV0cz17bGlzdEl0ZW1zfSAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDM+e3RpdGxlKCl9PC9oMz5cbiAgICAgIDxDYXJkIGNsYXNzTmFtZT1cImJnLXdoaXRlIHdpZGdldC1jb250YWluZXJcIj57d2lkZ2V0Q29udGVudCgpfTwvQ2FyZD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBUCxPQUFBO0FBQTRDLFNBQUFRLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFWLHdCQUFBYyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsb0JBQUFBLEdBQUEsd0JBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBRyxLQUFBLEdBQUFSLHdCQUFBLENBQUFDLFdBQUEsT0FBQU8sS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUosR0FBQSxZQUFBRyxLQUFBLENBQUFFLEdBQUEsQ0FBQUwsR0FBQSxTQUFBTSxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVgsR0FBQSxRQUFBVyxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFkLEdBQUEsRUFBQVcsR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVYsR0FBQSxFQUFBVyxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFYLEdBQUEsQ0FBQVcsR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUYsR0FBQSxNQUFBRyxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBaEIsR0FBQSxFQUFBTSxNQUFBLFlBQUFBLE1BQUE7QUFhckMsTUFBTVcsV0FBVyxHQUFHQyxJQUFBLElBQXlDO0VBQUEsSUFBeEM7SUFBRUMsS0FBSztJQUFFQyxTQUFTO0lBQUVDLEtBQUs7SUFBRUM7RUFBTyxDQUFDLEdBQUFKLElBQUE7RUFDN0QsTUFBTUssT0FBTyxHQUFHSCxTQUFTLENBQUNJLEdBQUcsQ0FBRUMsSUFBSSxJQUFLQSxJQUFJLENBQUNDLEVBQUUsQ0FBQztFQUNoRCxNQUFNQyxRQUFRLEdBQUdDLFFBQVEsQ0FBQ0wsT0FBTyxFQUFFRixLQUFLLENBQUM7RUFDekMsT0FBTztJQUNMLEdBQUdGLEtBQUs7SUFDUlUsU0FBUyxFQUFFRixRQUFRLENBQUNHLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHQyxTQUFTLENBQUNYLFNBQVMsRUFBRUUsTUFBTSxDQUFDO0lBQ2xFVSxTQUFTLEVBQUVMLFFBQVE7SUFDbkJNLFVBQVUsRUFBRSxDQUFDLENBQUNkLEtBQUssQ0FBQ2UsUUFBUSxFQUFFZixLQUFLLENBQUNnQixTQUFTLENBQUM7RUFDaEQsQ0FBQztBQUNILENBQUM7QUFBQ0MsT0FBQSxDQUFBbkIsV0FBQSxHQUFBQSxXQUFBO0FBRUYsTUFBTVcsUUFBUSxHQUFHQSxDQUFDTCxPQUFjLEVBQUVGLEtBQUssS0FBSztFQUMxQyxJQUNFRSxPQUFPLENBQUNPLE1BQU0sS0FBSyxDQUFDLElBQ3BCVCxLQUFLLEtBQUtnQixTQUFTLElBQ25CaEIsS0FBSyxLQUFLLElBQUksSUFDZEEsS0FBSyxDQUFDUyxNQUFNLEtBQUssQ0FBQyxFQUVsQixPQUFPLEVBQUU7RUFFWCxNQUFNUSxhQUFhLEdBQUdmLE9BQU8sQ0FBQ0MsR0FBRyxDQUFFRSxFQUFFLElBQUs7SUFDeEMsTUFBTWEsaUJBQWlCLEdBQUdsQixLQUFLLENBQUNtQixJQUFJLENBQUVDLElBQUksSUFBS0EsSUFBSSxDQUFDQyxPQUFPLEtBQUtoQixFQUFFLENBQUM7SUFDbkUsT0FBT2EsaUJBQWlCO0VBQzFCLENBQUMsQ0FBQztFQUVGLE9BQU9ELGFBQWE7QUFDdEIsQ0FBQztBQUVELE1BQU1QLFNBQVMsR0FBR0EsQ0FBQ1gsU0FBUyxFQUFFRSxNQUFNLEtBQUs7RUFDdkMsSUFBSUYsU0FBUyxLQUFLLElBQUksSUFBSUUsTUFBTSxLQUFLZSxTQUFTLElBQUlmLE1BQU0sQ0FBQ1EsTUFBTSxLQUFLLENBQUMsRUFDbkUsT0FBTyxFQUFFO0VBRVgsTUFBTWEsY0FBYyxHQUFHdkIsU0FBUyxDQUFDSSxHQUFHLENBQUVDLElBQUksSUFBSztJQUM3QyxNQUFNbUIsa0JBQWtCLEdBQUd0QixNQUFNLENBQUNrQixJQUFJLENBQUVyQixLQUFLLElBQUtBLEtBQUssQ0FBQ08sRUFBRSxLQUFLRCxJQUFJLENBQUNDLEVBQUUsQ0FBQztJQUN2RSxPQUFPa0Isa0JBQWtCO0VBQzNCLENBQUMsQ0FBQztFQUVGLE9BQU9ELGNBQWM7QUFDdkIsQ0FBQztBQUNNLE1BQU1FLE1BQXdCLEdBQUlDLEtBQUssSUFBSztFQUNqRCxNQUFNO0lBQ0pDLE1BQU07SUFDTkMsUUFBUTtJQUNSMUIsTUFBTTtJQUNORCxLQUFLO0lBQ0xHLEdBQUc7SUFDSHlCLFdBQVc7SUFDWEMsUUFBUTtJQUNSQztFQUNGLENBQUMsR0FBR0wsS0FBSztFQUNULE1BQU0sQ0FBQ0wsSUFBSSxFQUFFVyxPQUFPLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBQWUsSUFBSSxDQUFDO0VBQ3BELE1BQU0sQ0FBQ2xDLEtBQUssRUFBRW1DLFFBQVEsQ0FBQyxHQUFHLElBQUFELGVBQVEsRUFBZ0IsSUFBSSxDQUFDO0VBQ3ZELE1BQU0sQ0FBQ0UsVUFBVSxFQUFFQyxhQUFhLENBQUMsR0FBRyxJQUFBSCxlQUFRLEVBQVMsRUFBRSxDQUFDO0VBQ3hELE1BQU0sQ0FBQ2pDLFNBQVMsRUFBRXFDLFlBQVksQ0FBQyxHQUFHLElBQUFKLGVBQVEsRUFBUSxFQUFFLENBQUM7RUFFckQsTUFBTUssV0FBVyxHQUFHQSxDQUFBLEtBQU07SUFDeEJsQyxHQUFHLENBQUNtQyxVQUFVLENBQUMsQ0FBQztJQUNoQixNQUFNQyxhQUFhLEdBQUc7TUFBRSxHQUFHYixNQUFNO01BQUVjLE9BQU8sRUFBRTtJQUFLLENBQUM7SUFDbEQsSUFBQUMsb0JBQWEsRUFBQ0YsYUFBYSxFQUFFVCxPQUFPLENBQUM7SUFDckMsSUFBQVksd0JBQWMsRUFDWkgsYUFBYSxFQUNieEMsU0FBUyxFQUNURSxNQUFNLEVBQ05ELEtBQUssRUFDTDJCLFFBQVEsRUFDUmdCLGtDQUFjLEVBQ2QsSUFDRixDQUFDO0lBQ0RDLDBCQUEwQixDQUFDLENBQUM7RUFDOUIsQ0FBQztFQUVELE1BQU1BLDBCQUEwQixHQUFHQSxDQUFBLEtBQU07SUFDdkMsSUFBQUMseUJBQWtCLEVBQUMsb0NBQW9DLEVBQUVYLFVBQVUsRUFBRTtNQUNuRVksWUFBWSxFQUFFbEIsV0FBVyxDQUFDbUI7SUFDNUIsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUVELE1BQU1DLGFBQWEsR0FBSUMsSUFBWSxJQUFLO0lBQ3RDLElBQUlDLEVBQUU7SUFFTixRQUFRRCxJQUFJLENBQUNFLFdBQVcsQ0FBQyxDQUFDO01BQ3hCLEtBQUssTUFBTTtNQUNYLEtBQUssT0FBTztRQUNWRCxFQUFFLEdBQUcsZ0JBQWdCO1FBQ3JCO01BQ0YsS0FBSyxTQUFTO1FBQ1pBLEVBQUUsR0FBRyxnQkFBZ0I7UUFDckI7TUFDRjtRQUNFQSxFQUFFLEdBQUcsYUFBYTtJQUN0QjtJQUNBLE9BQU9BLEVBQUU7RUFDWCxDQUFDO0VBRUQsTUFBTUUsS0FBSyxHQUFHQSxDQUFBLEtBQU07SUFDbEIsSUFBSUMsT0FBTyxHQUFHLEVBQUU7SUFDaEIsSUFBSXZELEtBQUssRUFBRTtNQUNUdUQsT0FBTyxHQUFHdkQsS0FBSyxDQUFDd0QsSUFBSTtJQUN0QixDQUFDLE1BQU07TUFDTCxJQUFJbEMsSUFBSSxFQUFFO1FBQ1JpQyxPQUFPLEdBQUdqQyxJQUFJLENBQUNtQyxTQUFTO01BQzFCO0lBQ0Y7SUFDQSxPQUFPRixPQUFPO0VBQ2hCLENBQUM7RUFFRCxNQUFNRyxXQUFXLEdBQUdBLENBQUEsS0FBTTtJQUN4QixJQUFJdEIsVUFBVSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUU7SUFDaEMsT0FBT3VCLGFBQUksQ0FBQ0MsQ0FBQyxhQUFBQyxNQUFBLENBQWF6QixVQUFVLENBQUUsQ0FBQztFQUN6QyxDQUFDO0VBRUQsSUFBQTBCLGdCQUFTLEVBQUMsTUFBTTtJQUNkLElBQUlDLFFBQVEsR0FBR25DLE1BQU0sQ0FBQ29DLFVBQVUsS0FBSzlDLFNBQVM7SUFFOUMsSUFBSTZDLFFBQVEsRUFBRTtNQUNaNUIsUUFBUSxDQUFDUCxNQUFNLENBQUM7SUFDbEIsQ0FBQyxNQUFNO01BQ0xLLE9BQU8sQ0FBQ0wsTUFBTSxDQUFDO0lBQ2pCO0VBQ0YsQ0FBQyxFQUFFLENBQUNBLE1BQU0sQ0FBQyxDQUFDO0VBRVosSUFBQWtDLGdCQUFTLEVBQUMsTUFBTTtJQUNkLElBQUkvQixRQUFRLEtBQUtiLFNBQVMsRUFBRTtJQUU1Qm9CLFlBQVksQ0FBQ1AsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUVrQyxJQUFJLENBQUM7SUFDNUIsSUFBSWxDLFFBQVEsQ0FBQ2tDLElBQUksQ0FBQ3RELE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDNUIwQixhQUFhLENBQUNhLGFBQWEsQ0FBQ25CLFFBQVEsQ0FBQ2tDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ2QsSUFBSSxDQUFDLENBQUM7SUFDckQ7RUFDRixDQUFDLEVBQUUsQ0FBQ3BCLFFBQVEsQ0FBQyxDQUFDO0VBRWQsTUFBTW1DLGFBQWEsR0FBR0EsQ0FBQSxLQUFNO0lBQzFCLE1BQU1ELElBQUksR0FBR2xDLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFa0MsSUFBSTtJQUMzQixNQUFNRSxVQUFVLEdBQUcsQ0FBQUYsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUV0RCxNQUFNLElBQUcsQ0FBQztJQUVuQyxvQkFDRTdDLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQXFGLGFBQUEsY0FDR0QsVUFBVSxpQkFDVHJHLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQXFGLGFBQUEsQ0FBQ25HLGVBQUEsQ0FBQW9HLE1BQU07TUFDTEMsT0FBTyxFQUFFQSxDQUFBLEtBQU0vQixXQUFXLENBQUMsQ0FBRTtNQUM3QmdDLFNBQVMsRUFBRTtJQUF3QyxHQUVsRGIsV0FBVyxDQUFDLENBQ1AsQ0FDVCxlQUNENUYsTUFBQSxDQUFBaUIsT0FBQSxDQUFBcUYsYUFBQSxDQUFDL0YsVUFBQSxDQUFBVSxPQUFTO01BQUN5RixNQUFNLEVBQUV2RTtJQUFVLENBQUUsQ0FDNUIsQ0FBQztFQUVWLENBQUM7RUFFRCxvQkFDRW5DLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQXFGLGFBQUEsQ0FBQXRHLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQTBGLFFBQUEscUJBQ0UzRyxNQUFBLENBQUFpQixPQUFBLENBQUFxRixhQUFBLGFBQUtkLEtBQUssQ0FBQyxDQUFNLENBQUMsZUFDbEJ4RixNQUFBLENBQUFpQixPQUFBLENBQUFxRixhQUFBLENBQUNuRyxlQUFBLENBQUF5RyxJQUFJO0lBQUNILFNBQVMsRUFBQztFQUEyQixHQUFFTCxhQUFhLENBQUMsQ0FBUSxDQUNuRSxDQUFDO0FBRVAsQ0FBQztBQUFDakQsT0FBQSxDQUFBUyxNQUFBLEdBQUFBLE1BQUEifQ==
@@ -5,66 +5,56 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.updateHistory = exports.sortAreas = exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.focusMap = exports.createPopupForObject = exports.calculateWWTPInfo = exports.CardContainer = void 0;
8
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
11
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
12
9
  var _jquery = _interopRequireDefault(require("jquery"));
13
10
  var _Analytics = require("utilities/Analytics");
14
- var initializeWWTPData = function initializeWWTPData(payload) {
11
+ const initializeWWTPData = payload => {
15
12
  if (payload.dataExists()) {
16
- var wwtpInfp = calculateWWTPInfo(payload);
13
+ const wwtpInfp = calculateWWTPInfo(payload);
17
14
  payload.setWWTPInfo(wwtpInfp);
18
15
  payload.setPoints(payload.points_data.items);
19
16
  payload.setAreas(payload.areas_data.newAreas);
20
17
  }
21
18
  };
22
19
  exports.initializeWWTPData = initializeWWTPData;
23
- var sortAreas = function sortAreas(areas) {
20
+ const sortAreas = areas => {
24
21
  if (!areas) return areas;
25
- var temp = (0, _toConsumableArray2.default)(areas);
26
- var sortedAreas = temp.sort(function (a, b) {
27
- return a.is_assessment === b.is_assessment ? 0 : a.is_assessment ? -1 : 1;
28
- }).sort(function (a, b) {
29
- return b.area_score - a.area_score;
30
- });
22
+ const temp = [...areas];
23
+ const sortedAreas = temp.sort((a, b) => a.is_assessment === b.is_assessment ? 0 : a.is_assessment ? -1 : 1).sort((a, b) => b.area_score - a.area_score);
31
24
  return sortedAreas;
32
25
  };
33
26
  exports.sortAreas = sortAreas;
34
- var updateHistory = function updateHistory(object, history) {
35
- var area = object.area_id ? object : null;
36
- var point = object.id ? object : null;
27
+ const updateHistory = (object, history) => {
28
+ const area = object.area_id ? object : null;
29
+ const point = object.id ? object : null;
37
30
  if (point) {
38
- var type = point.group.type === 'Groups::WastewaterTreatmentPlant' ? 'wwtp' : 'site';
31
+ const type = point.group.type === 'Groups::WastewaterTreatmentPlant' ? 'wwtp' : 'site';
39
32
  history.push("/dashboard_v2/".concat(type, "/").concat(point.id).concat(history.location.search));
40
33
  } else {
41
34
  if (area) {
42
- var _type = area.is_virtual ? 'varea' : 'area';
43
- history.push("/dashboard_v2/".concat(_type, "/").concat(area.area_id).concat(history.location.search));
35
+ const type = area.is_virtual ? 'varea' : 'area';
36
+ history.push("/dashboard_v2/".concat(type, "/").concat(area.area_id).concat(history.location.search));
44
37
  }
45
38
  }
46
39
  };
47
40
  exports.updateHistory = updateHistory;
48
- var calculateWWTPInfo = function calculateWWTPInfo(_ref) {
49
- var id = _ref.id,
50
- points_data = _ref.points_data,
51
- areas_data = _ref.areas_data;
52
- var WWTP = points_data.items.find(function (point) {
53
- return point.id === parseInt(id);
54
- });
41
+ const calculateWWTPInfo = _ref => {
42
+ let {
43
+ id,
44
+ points_data,
45
+ areas_data
46
+ } = _ref;
47
+ let WWTP = points_data.items.find(point => point.id === parseInt(id));
55
48
  if (WWTP === undefined) {
56
49
  var _points_data$items;
57
- WWTP = (_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.find(function (point) {
58
- return point.group.area_id === parseInt(id);
59
- });
50
+ WWTP = (_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.find(point => point.group.area_id === parseInt(id));
60
51
  }
61
- var WWTPArea = areas_data.newAreas.find(function (area) {
62
- return parseInt(id) === area.area_id;
63
- });
52
+ let WWTPArea = areas_data.newAreas.find(area => parseInt(id) === area.area_id);
64
53
  if (WWTP !== undefined) {
65
- WWTP = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, WWTP), {}, {
54
+ WWTP = {
55
+ ...WWTP,
66
56
  forWWTPMap: true
67
- });
57
+ };
68
58
  }
69
59
  return {
70
60
  point: WWTP,
@@ -72,7 +62,7 @@ var calculateWWTPInfo = function calculateWWTPInfo(_ref) {
72
62
  };
73
63
  };
74
64
  exports.calculateWWTPInfo = calculateWWTPInfo;
75
- var createPopupForObject = function createPopupForObject(args) {
65
+ const createPopupForObject = args => {
76
66
  args.marker.bindPopup("<div class=\"widget-container\"></div>", {
77
67
  maxWidth: 400,
78
68
  minWidth: 400,
@@ -80,7 +70,7 @@ var createPopupForObject = function createPopupForObject(args) {
80
70
  minHeight: 400
81
71
  });
82
72
  args.marker.on('popupopen', function () {
83
- setTimeout(function () {
73
+ setTimeout(() => {
84
74
  if ((0, _jquery.default)('.widget-container').contents().length <= 0) {
85
75
  (0, _jquery.default)('.widget-container').append(args.renderedElement);
86
76
  }
@@ -91,32 +81,32 @@ var createPopupForObject = function createPopupForObject(args) {
91
81
  });
92
82
  };
93
83
  exports.createPopupForObject = createPopupForObject;
94
- var focusMap = function focusMap(object, map) {
84
+ const focusMap = (object, map) => {
95
85
  if (object === null || map === null) return;
96
- var latlngs = [];
86
+ let latlngs = [];
97
87
  if (object === undefined) {
98
- for (var property in map._layers) {
88
+ for (const property in map._layers) {
99
89
  if (map._layers[property].kando_object === 'Area' || map._layers[property].kando_object === 'Point') {
100
90
  latlngs.push(map._layers[property]._bounds);
101
91
  }
102
92
  }
103
93
  } else {
104
94
  if (object.sub_areas && object.sub_areas.length > 0) {
105
- object.sub_areas.forEach(function (sub_area) {
95
+ object.sub_areas.forEach(sub_area => {
106
96
  if ((sub_area === null || sub_area === void 0 ? void 0 : sub_area.shape_data) !== undefined) {
107
- sub_area.shape_data.forEach(function (latlng) {
97
+ sub_area.shape_data.forEach(latlng => {
108
98
  latlngs.push(latlng);
109
99
  });
110
100
  }
111
101
  });
112
102
  } else {
113
103
  if (object.inlets && object.inlets.length > 0) {
114
- object.inlets.forEach(function (inlet) {
104
+ object.inlets.forEach(inlet => {
115
105
  latlngs.push([inlet.latitude, inlet.longitude]);
116
106
  });
117
107
  } else {
118
108
  if ((object === null || object === void 0 ? void 0 : object.shape_data) !== undefined) {
119
- object.shape_data.forEach(function (latlng) {
109
+ object.shape_data.forEach(latlng => {
120
110
  latlngs.push(latlng);
121
111
  });
122
112
  } else {
@@ -125,10 +115,10 @@ var focusMap = function focusMap(object, map) {
125
115
  }
126
116
  }
127
117
  }
128
- latlngs.length > 0 && map !== null && (0, _typeof2.default)(map._layers) === 'object' && map._layers.length === undefined && map.fitBounds(latlngs);
118
+ latlngs.length > 0 && map !== null && typeof map._layers === 'object' && map._layers.length === undefined && map.fitBounds(latlngs);
129
119
  };
130
120
  exports.focusMap = focusMap;
131
- var simpleTruncate = function simpleTruncate(str, length) {
121
+ const simpleTruncate = (str, length) => {
132
122
  if (typeof str !== 'string' || typeof length !== 'number') {
133
123
  throw new Error('Invalid arguments. Please provide a string and a number.');
134
124
  }
@@ -139,7 +129,7 @@ var simpleTruncate = function simpleTruncate(str, length) {
139
129
  }
140
130
  };
141
131
  exports.simpleTruncate = simpleTruncate;
142
- var CardContainer = _styledComponents.default.div.withConfig({
132
+ const CardContainer = _styledComponents.default.div.withConfig({
143
133
  displayName: "utils__CardContainer",
144
134
  componentId: "sc-zfjea1-0"
145
135
  })([".card{transition:0.1s ease-in-out;box-shadow:0px 1px 3px rgba(0,0,0,0.2);&:hover{transition:0.2s ease-in-out;box-shadow:0px 3px 10px rgba(0,0,0,0.2);cursor:pointer;}}"]);
@@ -149,12 +139,13 @@ var CardContainer = _styledComponents.default.div.withConfig({
149
139
  // selection is the object that was selected
150
140
  // specificFields is an object with event fields to send which are combined with the rest of the fields
151
141
  exports.CardContainer = CardContainer;
152
- var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFields) {
153
- var data = (0, _objectSpread2.default)({
142
+ const sendAnalyticsEvent = (subject, selection, eventFields) => {
143
+ const data = {
154
144
  selection: selection,
155
- page_name: window.location.pathname
156
- }, eventFields);
145
+ page_name: window.location.pathname,
146
+ ...eventFields
147
+ };
157
148
  (0, _Analytics.analyticsTrack)(subject, data);
158
149
  };
159
150
  exports.sendAnalyticsEvent = sendAnalyticsEvent;
160
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJ3d3RwSW5mcCIsImNhbGN1bGF0ZVdXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJzZXRQb2ludHMiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwic2V0QXJlYXMiLCJhcmVhc19kYXRhIiwibmV3QXJlYXMiLCJleHBvcnRzIiwic29ydEFyZWFzIiwiYXJlYXMiLCJ0ZW1wIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsImRlZmF1bHQiLCJzb3J0ZWRBcmVhcyIsInNvcnQiLCJhIiwiYiIsImlzX2Fzc2Vzc21lbnQiLCJhcmVhX3Njb3JlIiwidXBkYXRlSGlzdG9yeSIsIm9iamVjdCIsImhpc3RvcnkiLCJhcmVhIiwiYXJlYV9pZCIsInBvaW50IiwiaWQiLCJ0eXBlIiwiZ3JvdXAiLCJwdXNoIiwiY29uY2F0IiwibG9jYXRpb24iLCJzZWFyY2giLCJpc192aXJ0dWFsIiwiX3JlZiIsIldXVFAiLCJmaW5kIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJfcG9pbnRzX2RhdGEkaXRlbXMiLCJXV1RQQXJlYSIsIl9vYmplY3RTcHJlYWQyIiwiZm9yV1dUUE1hcCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwiYXJncyIsIm1hcmtlciIsImJpbmRQb3B1cCIsIm1heFdpZHRoIiwibWluV2lkdGgiLCJtYXhIZWlnaHQiLCJtaW5IZWlnaHQiLCJvbiIsInNldFRpbWVvdXQiLCIkIiwiY29udGVudHMiLCJsZW5ndGgiLCJhcHBlbmQiLCJyZW5kZXJlZEVsZW1lbnQiLCJ1bmJpbmRQb3B1cCIsImZvY3VzTWFwIiwibWFwIiwibGF0bG5ncyIsInByb3BlcnR5IiwiX2xheWVycyIsImthbmRvX29iamVjdCIsIl9ib3VuZHMiLCJzdWJfYXJlYXMiLCJmb3JFYWNoIiwic3ViX2FyZWEiLCJzaGFwZV9kYXRhIiwibGF0bG5nIiwiaW5sZXRzIiwiaW5sZXQiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsIl90eXBlb2YyIiwiZml0Qm91bmRzIiwic2ltcGxlVHJ1bmNhdGUiLCJzdHIiLCJFcnJvciIsInN1YnN0cmluZyIsIkNhcmRDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsInNlbmRBbmFseXRpY3NFdmVudCIsInN1YmplY3QiLCJzZWxlY3Rpb24iLCJldmVudEZpZWxkcyIsImRhdGEiLCJwYWdlX25hbWUiLCJ3aW5kb3ciLCJwYXRobmFtZSIsImFuYWx5dGljc1RyYWNrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVXV1RQRGF0YSA9IChwYXlsb2FkKSA9PiB7XG4gIGlmIChwYXlsb2FkLmRhdGFFeGlzdHMoKSkge1xuICAgIGNvbnN0IHd3dHBJbmZwID0gY2FsY3VsYXRlV1dUUEluZm8ocGF5bG9hZCk7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh3d3RwSW5mcCk7XG4gICAgcGF5bG9hZC5zZXRQb2ludHMocGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcyk7XG4gICAgcGF5bG9hZC5zZXRBcmVhcyhwYXlsb2FkLmFyZWFzX2RhdGEubmV3QXJlYXMpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydEFyZWFzID0gKGFyZWFzKSA9PiB7XG4gIGlmICghYXJlYXMpIHJldHVybiBhcmVhcztcblxuICBjb25zdCB0ZW1wID0gWy4uLmFyZWFzXTtcbiAgY29uc3Qgc29ydGVkQXJlYXMgPSB0ZW1wXG4gICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICBhLmlzX2Fzc2Vzc21lbnQgPT09IGIuaXNfYXNzZXNzbWVudCA/IDAgOiBhLmlzX2Fzc2Vzc21lbnQgPyAtMSA6IDEsXG4gICAgKVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLmFyZWFfc2NvcmUgLSBhLmFyZWFfc2NvcmUpO1xuXG4gIHJldHVybiBzb3J0ZWRBcmVhcztcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVIaXN0b3J5ID0gKG9iamVjdCwgaGlzdG9yeSkgPT4ge1xuICBjb25zdCBhcmVhID0gb2JqZWN0LmFyZWFfaWQgPyBvYmplY3QgOiBudWxsO1xuICBjb25zdCBwb2ludCA9IG9iamVjdC5pZCA/IG9iamVjdCA6IG51bGw7XG5cbiAgaWYgKHBvaW50KSB7XG4gICAgY29uc3QgdHlwZSA9XG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnID8gJ3d3dHAnIDogJ3NpdGUnO1xuICAgIGhpc3RvcnkucHVzaChgL2Rhc2hib2FyZF92Mi8ke3R5cGV9LyR7cG9pbnQuaWR9JHtoaXN0b3J5LmxvY2F0aW9uLnNlYXJjaH1gKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoYXJlYSkge1xuICAgICAgY29uc3QgdHlwZSA9IGFyZWEuaXNfdmlydHVhbCA/ICd2YXJlYScgOiAnYXJlYSc7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIGAvZGFzaGJvYXJkX3YyLyR7dHlwZX0vJHthcmVhLmFyZWFfaWR9JHtoaXN0b3J5LmxvY2F0aW9uLnNlYXJjaH1gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVXV1RQSW5mbyA9ICh7IGlkLCBwb2ludHNfZGF0YSwgYXJlYXNfZGF0YSB9KSA9PiB7XG4gIGxldCBXV1RQOiBJUG9pbnQgPSBwb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gcGFyc2VJbnQoaWQpLFxuICApO1xuXG4gIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHtcbiAgICBXV1RQID0gcG9pbnRzX2RhdGEuaXRlbXM/LmZpbmQoXG4gICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuZ3JvdXAuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpLFxuICAgICk7XG4gIH1cblxuICBsZXQgV1dUUEFyZWE6IElBcmVhID0gYXJlYXNfZGF0YS5uZXdBcmVhcy5maW5kKFxuICAgIChhcmVhOiBJQXJlYSkgPT4gcGFyc2VJbnQoaWQpID09PSBhcmVhLmFyZWFfaWQsXG4gICk7XG5cbiAgaWYgKFdXVFAgIT09IHVuZGVmaW5lZCkge1xuICAgIFdXVFAgPSB7XG4gICAgICAuLi5XV1RQLFxuICAgICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHsgcG9pbnQ6IFdXVFAsIGFyZWE6IFdXVFBBcmVhIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9wdXBGb3JPYmplY3QgPSAoYXJncykgPT4ge1xuICBhcmdzLm1hcmtlci5iaW5kUG9wdXAoYDxkaXYgY2xhc3M9XCJ3aWRnZXQtY29udGFpbmVyXCI+PC9kaXY+YCwge1xuICAgIG1heFdpZHRoOiA0MDAsXG4gICAgbWluV2lkdGg6IDQwMCxcbiAgICBtYXhIZWlnaHQ6IDQwMCxcbiAgICBtaW5IZWlnaHQ6IDQwMCxcbiAgfSk7XG5cbiAgYXJncy5tYXJrZXIub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uICgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICgkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmNvbnRlbnRzKCkubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgJCgnLndpZGdldC1jb250YWluZXInKS5hcHBlbmQoYXJncy5yZW5kZXJlZEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0sIDIwMCk7XG4gIH0pO1xuXG4gIGFyZ3MubWFya2VyLm9uKCdwb3B1cGNsb3NlJywgZnVuY3Rpb24gKCkge1xuICAgIGFyZ3MubWFya2VyLnVuYmluZFBvcHVwKCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvY3VzTWFwID0gKG9iamVjdCwgbWFwKSA9PiB7XG4gIGlmIChvYmplY3QgPT09IG51bGwgfHwgbWFwID09PSBudWxsKSByZXR1cm47XG5cbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBpZiAob2JqZWN0ID09PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJyB8fFxuICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnXG4gICAgICApIHtcbiAgICAgICAgbGF0bG5ncy5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5fYm91bmRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKG9iamVjdC5zdWJfYXJlYXMgJiYgb2JqZWN0LnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmplY3Quc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJfYXJlYT8uc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3ViX2FyZWEuc2hhcGVfZGF0YS5mb3JFYWNoKChsYXRsbmcpID0+IHtcbiAgICAgICAgICAgIGxhdGxuZ3MucHVzaChsYXRsbmcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG9iamVjdC5pbmxldHMgJiYgb2JqZWN0LmlubGV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iamVjdC5pbmxldHMuZm9yRWFjaCgoaW5sZXQpID0+IHtcbiAgICAgICAgICBsYXRsbmdzLnB1c2goW2lubGV0LmxhdGl0dWRlLCBpbmxldC5sb25naXR1ZGVdKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAob2JqZWN0Py5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBvYmplY3Quc2hhcGVfZGF0YS5mb3JFYWNoKChsYXRsbmcpID0+IHtcbiAgICAgICAgICAgIGxhdGxuZ3MucHVzaChsYXRsbmcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxhdGxuZ3MucHVzaChbb2JqZWN0LmxhdGl0dWRlLCBvYmplY3QubG9uZ2l0dWRlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGF0bG5ncy5sZW5ndGggPiAwICYmXG4gICAgbWFwICE9PSBudWxsICYmXG4gICAgdHlwZW9mIG1hcC5fbGF5ZXJzID09PSAnb2JqZWN0JyAmJlxuICAgIG1hcC5fbGF5ZXJzLmxlbmd0aCA9PT0gdW5kZWZpbmVkICYmXG4gICAgbWFwLmZpdEJvdW5kcyhsYXRsbmdzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaW1wbGVUcnVuY2F0ZSA9IChzdHIsIGxlbmd0aCkgPT4ge1xuICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJndW1lbnRzLiBQbGVhc2UgcHJvdmlkZSBhIHN0cmluZyBhbmQgYSBudW1iZXIuJyk7XG4gIH1cblxuICBpZiAoc3RyLmxlbmd0aCA8PSBsZW5ndGgpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdHIuc3Vic3RyaW5nKDAsIGxlbmd0aCkgKyAnLi4uJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENhcmRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAuY2FyZCB7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcblxuLy8gU2VuZCBhbmFseXRpY3MgZXZlbnRzIGZyb20gc2V2ZXJhbCBwbGFjZXMgaW4gd3d0cG1hcC5cbi8vIHN1YmplY3QgaXMgdGhlIG5hbWUgb2YgdGhlIGV2ZW50XG4vLyBzZWxlY3Rpb24gaXMgdGhlIG9iamVjdCB0aGF0IHdhcyBzZWxlY3RlZFxuLy8gc3BlY2lmaWNGaWVsZHMgaXMgYW4gb2JqZWN0IHdpdGggZXZlbnQgZmllbGRzIHRvIHNlbmQgd2hpY2ggYXJlIGNvbWJpbmVkIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGZpZWxkc1xuZXhwb3J0IGNvbnN0IHNlbmRBbmFseXRpY3NFdmVudCA9IChcbiAgc3ViamVjdDogc3RyaW5nLFxuICBzZWxlY3Rpb246IHN0cmluZyxcbiAgZXZlbnRGaWVsZHM6IE9iamVjdCxcbikgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIHNlbGVjdGlvbjogc2VsZWN0aW9uLFxuICAgIHBhZ2VfbmFtZTogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLFxuICAgIC4uLmV2ZW50RmllbGRzLFxuICB9O1xuICBhbmFseXRpY3NUcmFjayhzdWJqZWN0LCBkYXRhKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFB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
151
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJ3d3RwSW5mcCIsImNhbGN1bGF0ZVdXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJzZXRQb2ludHMiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwic2V0QXJlYXMiLCJhcmVhc19kYXRhIiwibmV3QXJlYXMiLCJleHBvcnRzIiwic29ydEFyZWFzIiwiYXJlYXMiLCJ0ZW1wIiwic29ydGVkQXJlYXMiLCJzb3J0IiwiYSIsImIiLCJpc19hc3Nlc3NtZW50IiwiYXJlYV9zY29yZSIsInVwZGF0ZUhpc3RvcnkiLCJvYmplY3QiLCJoaXN0b3J5IiwiYXJlYSIsImFyZWFfaWQiLCJwb2ludCIsImlkIiwidHlwZSIsImdyb3VwIiwicHVzaCIsImNvbmNhdCIsImxvY2F0aW9uIiwic2VhcmNoIiwiaXNfdmlydHVhbCIsIl9yZWYiLCJXV1RQIiwiZmluZCIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwiX3BvaW50c19kYXRhJGl0ZW1zIiwiV1dUUEFyZWEiLCJmb3JXV1RQTWFwIiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJhcmdzIiwibWFya2VyIiwiYmluZFBvcHVwIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsIm1heEhlaWdodCIsIm1pbkhlaWdodCIsIm9uIiwic2V0VGltZW91dCIsIiQiLCJjb250ZW50cyIsImxlbmd0aCIsImFwcGVuZCIsInJlbmRlcmVkRWxlbWVudCIsInVuYmluZFBvcHVwIiwiZm9jdXNNYXAiLCJtYXAiLCJsYXRsbmdzIiwicHJvcGVydHkiLCJfbGF5ZXJzIiwia2FuZG9fb2JqZWN0IiwiX2JvdW5kcyIsInN1Yl9hcmVhcyIsImZvckVhY2giLCJzdWJfYXJlYSIsInNoYXBlX2RhdGEiLCJsYXRsbmciLCJpbmxldHMiLCJpbmxldCIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiZml0Qm91bmRzIiwic2ltcGxlVHJ1bmNhdGUiLCJzdHIiLCJFcnJvciIsInN1YnN0cmluZyIsIkNhcmRDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsInNlbmRBbmFseXRpY3NFdmVudCIsInN1YmplY3QiLCJzZWxlY3Rpb24iLCJldmVudEZpZWxkcyIsImRhdGEiLCJwYWdlX25hbWUiLCJ3aW5kb3ciLCJwYXRobmFtZSIsImFuYWx5dGljc1RyYWNrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVXV1RQRGF0YSA9IChwYXlsb2FkKSA9PiB7XG4gIGlmIChwYXlsb2FkLmRhdGFFeGlzdHMoKSkge1xuICAgIGNvbnN0IHd3dHBJbmZwID0gY2FsY3VsYXRlV1dUUEluZm8ocGF5bG9hZCk7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh3d3RwSW5mcCk7XG4gICAgcGF5bG9hZC5zZXRQb2ludHMocGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcyk7XG4gICAgcGF5bG9hZC5zZXRBcmVhcyhwYXlsb2FkLmFyZWFzX2RhdGEubmV3QXJlYXMpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydEFyZWFzID0gKGFyZWFzKSA9PiB7XG4gIGlmICghYXJlYXMpIHJldHVybiBhcmVhcztcblxuICBjb25zdCB0ZW1wID0gWy4uLmFyZWFzXTtcbiAgY29uc3Qgc29ydGVkQXJlYXMgPSB0ZW1wXG4gICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICBhLmlzX2Fzc2Vzc21lbnQgPT09IGIuaXNfYXNzZXNzbWVudCA/IDAgOiBhLmlzX2Fzc2Vzc21lbnQgPyAtMSA6IDEsXG4gICAgKVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLmFyZWFfc2NvcmUgLSBhLmFyZWFfc2NvcmUpO1xuXG4gIHJldHVybiBzb3J0ZWRBcmVhcztcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVIaXN0b3J5ID0gKG9iamVjdCwgaGlzdG9yeSkgPT4ge1xuICBjb25zdCBhcmVhID0gb2JqZWN0LmFyZWFfaWQgPyBvYmplY3QgOiBudWxsO1xuICBjb25zdCBwb2ludCA9IG9iamVjdC5pZCA/IG9iamVjdCA6IG51bGw7XG5cbiAgaWYgKHBvaW50KSB7XG4gICAgY29uc3QgdHlwZSA9XG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnID8gJ3d3dHAnIDogJ3NpdGUnO1xuICAgIGhpc3RvcnkucHVzaChgL2Rhc2hib2FyZF92Mi8ke3R5cGV9LyR7cG9pbnQuaWR9JHtoaXN0b3J5LmxvY2F0aW9uLnNlYXJjaH1gKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoYXJlYSkge1xuICAgICAgY29uc3QgdHlwZSA9IGFyZWEuaXNfdmlydHVhbCA/ICd2YXJlYScgOiAnYXJlYSc7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIGAvZGFzaGJvYXJkX3YyLyR7dHlwZX0vJHthcmVhLmFyZWFfaWR9JHtoaXN0b3J5LmxvY2F0aW9uLnNlYXJjaH1gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVXV1RQSW5mbyA9ICh7IGlkLCBwb2ludHNfZGF0YSwgYXJlYXNfZGF0YSB9KSA9PiB7XG4gIGxldCBXV1RQOiBJUG9pbnQgPSBwb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gcGFyc2VJbnQoaWQpLFxuICApO1xuXG4gIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHtcbiAgICBXV1RQID0gcG9pbnRzX2RhdGEuaXRlbXM/LmZpbmQoXG4gICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuZ3JvdXAuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpLFxuICAgICk7XG4gIH1cblxuICBsZXQgV1dUUEFyZWE6IElBcmVhID0gYXJlYXNfZGF0YS5uZXdBcmVhcy5maW5kKFxuICAgIChhcmVhOiBJQXJlYSkgPT4gcGFyc2VJbnQoaWQpID09PSBhcmVhLmFyZWFfaWQsXG4gICk7XG5cbiAgaWYgKFdXVFAgIT09IHVuZGVmaW5lZCkge1xuICAgIFdXVFAgPSB7XG4gICAgICAuLi5XV1RQLFxuICAgICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHsgcG9pbnQ6IFdXVFAsIGFyZWE6IFdXVFBBcmVhIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9wdXBGb3JPYmplY3QgPSAoYXJncykgPT4ge1xuICBhcmdzLm1hcmtlci5iaW5kUG9wdXAoYDxkaXYgY2xhc3M9XCJ3aWRnZXQtY29udGFpbmVyXCI+PC9kaXY+YCwge1xuICAgIG1heFdpZHRoOiA0MDAsXG4gICAgbWluV2lkdGg6IDQwMCxcbiAgICBtYXhIZWlnaHQ6IDQwMCxcbiAgICBtaW5IZWlnaHQ6IDQwMCxcbiAgfSk7XG5cbiAgYXJncy5tYXJrZXIub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uICgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICgkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmNvbnRlbnRzKCkubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgJCgnLndpZGdldC1jb250YWluZXInKS5hcHBlbmQoYXJncy5yZW5kZXJlZEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0sIDIwMCk7XG4gIH0pO1xuXG4gIGFyZ3MubWFya2VyLm9uKCdwb3B1cGNsb3NlJywgZnVuY3Rpb24gKCkge1xuICAgIGFyZ3MubWFya2VyLnVuYmluZFBvcHVwKCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvY3VzTWFwID0gKG9iamVjdCwgbWFwKSA9PiB7XG4gIGlmIChvYmplY3QgPT09IG51bGwgfHwgbWFwID09PSBudWxsKSByZXR1cm47XG5cbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBpZiAob2JqZWN0ID09PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJyB8fFxuICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnXG4gICAgICApIHtcbiAgICAgICAgbGF0bG5ncy5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5fYm91bmRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKG9iamVjdC5zdWJfYXJlYXMgJiYgb2JqZWN0LnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmplY3Quc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJfYXJlYT8uc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3ViX2FyZWEuc2hhcGVfZGF0YS5mb3JFYWNoKChsYXRsbmcpID0+IHtcbiAgICAgICAgICAgIGxhdGxuZ3MucHVzaChsYXRsbmcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG9iamVjdC5pbmxldHMgJiYgb2JqZWN0LmlubGV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iamVjdC5pbmxldHMuZm9yRWFjaCgoaW5sZXQpID0+IHtcbiAgICAgICAgICBsYXRsbmdzLnB1c2goW2lubGV0LmxhdGl0dWRlLCBpbmxldC5sb25naXR1ZGVdKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAob2JqZWN0Py5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBvYmplY3Quc2hhcGVfZGF0YS5mb3JFYWNoKChsYXRsbmcpID0+IHtcbiAgICAgICAgICAgIGxhdGxuZ3MucHVzaChsYXRsbmcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxhdGxuZ3MucHVzaChbb2JqZWN0LmxhdGl0dWRlLCBvYmplY3QubG9uZ2l0dWRlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGF0bG5ncy5sZW5ndGggPiAwICYmXG4gICAgbWFwICE9PSBudWxsICYmXG4gICAgdHlwZW9mIG1hcC5fbGF5ZXJzID09PSAnb2JqZWN0JyAmJlxuICAgIG1hcC5fbGF5ZXJzLmxlbmd0aCA9PT0gdW5kZWZpbmVkICYmXG4gICAgbWFwLmZpdEJvdW5kcyhsYXRsbmdzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaW1wbGVUcnVuY2F0ZSA9IChzdHIsIGxlbmd0aCkgPT4ge1xuICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJndW1lbnRzLiBQbGVhc2UgcHJvdmlkZSBhIHN0cmluZyBhbmQgYSBudW1iZXIuJyk7XG4gIH1cblxuICBpZiAoc3RyLmxlbmd0aCA8PSBsZW5ndGgpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdHIuc3Vic3RyaW5nKDAsIGxlbmd0aCkgKyAnLi4uJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENhcmRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAuY2FyZCB7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcblxuLy8gU2VuZCBhbmFseXRpY3MgZXZlbnRzIGZyb20gc2V2ZXJhbCBwbGFjZXMgaW4gd3d0cG1hcC5cbi8vIHN1YmplY3QgaXMgdGhlIG5hbWUgb2YgdGhlIGV2ZW50XG4vLyBzZWxlY3Rpb24gaXMgdGhlIG9iamVjdCB0aGF0IHdhcyBzZWxlY3RlZFxuLy8gc3BlY2lmaWNGaWVsZHMgaXMgYW4gb2JqZWN0IHdpdGggZXZlbnQgZmllbGRzIHRvIHNlbmQgd2hpY2ggYXJlIGNvbWJpbmVkIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGZpZWxkc1xuZXhwb3J0IGNvbnN0IHNlbmRBbmFseXRpY3NFdmVudCA9IChcbiAgc3ViamVjdDogc3RyaW5nLFxuICBzZWxlY3Rpb246IHN0cmluZyxcbiAgZXZlbnRGaWVsZHM6IE9iamVjdCxcbikgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIHNlbGVjdGlvbjogc2VsZWN0aW9uLFxuICAgIHBhZ2VfbmFtZTogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLFxuICAgIC4uLmV2ZW50RmllbGRzLFxuICB9O1xuICBhbmFseXRpY3NUcmFjayhzdWJqZWN0LCBkYXRhKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRU8sTUFBTUUsa0JBQWtCLEdBQUlDLE9BQU8sSUFBSztFQUM3QyxJQUFJQSxPQUFPLENBQUND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
@@ -1,7 +1,6 @@
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
  });
@@ -14,21 +13,27 @@ var _actions = require("store/global/actions");
14
13
  var _rootActions = require("store/rootActions");
15
14
  var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
16
15
  var _Sidebar = _interopRequireDefault(require("../events/Sidebar"));
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ 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); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
18
  function mapStateToProps(state) {
20
- var events_data = state.events_data,
21
- global_data = state.global_data;
19
+ const {
20
+ events_data,
21
+ global_data
22
+ } = state;
22
23
  return {
23
- events_data: events_data,
24
- global_data: global_data
24
+ events_data,
25
+ global_data
25
26
  };
26
27
  }
27
- var Body = function Body(props) {
28
- var global_data = props.global_data;
29
- var focusedEvent = props.events_data.focusedEvent;
30
- var dispatch = (0, _reactRedux.useDispatch)();
31
- (0, _react.useEffect)(function () {
28
+ const Body = props => {
29
+ const {
30
+ global_data
31
+ } = props;
32
+ const {
33
+ focusedEvent
34
+ } = props.events_data;
35
+ const dispatch = (0, _reactRedux.useDispatch)();
36
+ (0, _react.useEffect)(() => {
32
37
  dispatch((0, _actions.moreInfo)(false, {}));
33
38
  dispatch((0, _actions.setCurrentTime)(Date.now() / 1000 | 0));
34
39
  return function cleanup() {
@@ -36,7 +41,7 @@ var Body = function Body(props) {
36
41
  dispatch((0, _actions.setCurrentTime)(0));
37
42
  };
38
43
  }, [global_data.waterAuthorityId]);
39
- var eventAction = Boolean(focusedEvent);
44
+ const eventAction = Boolean(focusedEvent);
40
45
  return /*#__PURE__*/_react.default.createElement("div", {
41
46
  className: (0, _classnames.default)('events-view-page', {
42
47
  'hide-circle-numbers': eventAction
@@ -45,7 +50,7 @@ var Body = function Body(props) {
45
50
  showSecondMap: eventAction
46
51
  })));
47
52
  };
48
- var connector = (0, _reactRedux.connect)(mapStateToProps);
53
+ const connector = (0, _reactRedux.connect)(mapStateToProps);
49
54
  var _default = connector(Body);
50
55
  exports.default = _default;
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXIiLCJfYWN0aW9ucyIsIl9yb290QWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX1NpZGViYXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIkJvZHkiLCJwcm9wcyIsImZvY3VzZWRFdmVudCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJ1c2VFZmZlY3QiLCJtb3JlSW5mbyIsInNldEN1cnJlbnRUaW1lIiwiRGF0ZSIsIm5vdyIsImNsZWFudXAiLCJyZXNldFN0b3JlIiwid2F0ZXJBdXRob3JpdHlJZCIsImV2ZW50QWN0aW9uIiwiQm9vbGVhbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjeCIsIkV2ZW50c01hcENvbnRhaW5lciIsInNob3dTZWNvbmRNYXAiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvQm9keS9Cb2R5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3ggZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgRXZlbnRzTWFwQ29udGFpbmVyIH0gZnJvbSAnc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvRXZlbnRzTWFwQ29udGFpbmVyL0V2ZW50c01hcENvbnRhaW5lcic7XG5pbXBvcnQgeyBtb3JlSW5mbywgc2V0Q3VycmVudFRpbWUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgcmVzZXRTdG9yZSB9IGZyb20gJ3NyYy9zdG9yZS9yb290QWN0aW9ucyc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IFNpZGViYXIgZnJvbSAnLi4vZXZlbnRzL1NpZGViYXInO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBnbG9iYWxfZGF0YSB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHt9O1xuXG5jb25zdCBCb2R5OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEgfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRFdmVudCB9ID0gcHJvcHMuZXZlbnRzX2RhdGE7XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2gobW9yZUluZm8oZmFsc2UsIHt9KSk7XG4gICAgZGlzcGF0Y2goc2V0Q3VycmVudFRpbWUoKERhdGUubm93KCkgLyAxMDAwKSB8IDApKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGRpc3BhdGNoKHJlc2V0U3RvcmUoKSk7XG4gICAgICBkaXNwYXRjaChzZXRDdXJyZW50VGltZSgwKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBjb25zdCBldmVudEFjdGlvbiA9IEJvb2xlYW4oZm9jdXNlZEV2ZW50KTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2N4KCdldmVudHMtdmlldy1wYWdlJywge1xuICAgICAgICAnaGlkZS1jaXJjbGUtbnVtYmVycyc6IGV2ZW50QWN0aW9uLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgIDxTaWRlYmFyIC8+XG4gICAgICAgIDxFdmVudHNNYXBDb250YWluZXIgc2hvd1NlY29uZE1hcD17ZXZlbnRBY3Rpb259IC8+XG4gICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoQm9keSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksbUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQVIsc0JB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
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXIiLCJfYWN0aW9ucyIsIl9yb290QWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX1NpZGViYXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwibWFwU3RhdGVUb1Byb3BzIiwic3RhdGUiLCJldmVudHNfZGF0YSIsImdsb2JhbF9kYXRhIiwiQm9keSIsInByb3BzIiwiZm9jdXNlZEV2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInVzZUVmZmVjdCIsIm1vcmVJbmZvIiwic2V0Q3VycmVudFRpbWUiLCJEYXRlIiwibm93IiwiY2xlYW51cCIsInJlc2V0U3RvcmUiLCJ3YXRlckF1dGhvcml0eUlkIiwiZXZlbnRBY3Rpb24iLCJCb29sZWFuIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImN4IiwiRXZlbnRzTWFwQ29udGFpbmVyIiwic2hvd1NlY29uZE1hcCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9Cb2R5L0JvZHkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBFdmVudHNNYXBDb250YWluZXIgfSBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyJztcbmltcG9ydCB7IG1vcmVJbmZvLCBzZXRDdXJyZW50VGltZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyByZXNldFN0b3JlIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RBY3Rpb25zJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgU2lkZWJhciBmcm9tICcuLi9ldmVudHMvU2lkZWJhcic7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZXZlbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge307XG5cbmNvbnN0IEJvZHk6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZm9jdXNlZEV2ZW50IH0gPSBwcm9wcy5ldmVudHNfZGF0YTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChtb3JlSW5mbyhmYWxzZSwge30pKTtcbiAgICBkaXNwYXRjaChzZXRDdXJyZW50VGltZSgoRGF0ZS5ub3coKSAvIDEwMDApIHwgMCkpO1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgZGlzcGF0Y2gocmVzZXRTdG9yZSgpKTtcbiAgICAgIGRpc3BhdGNoKHNldEN1cnJlbnRUaW1lKDApKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIGNvbnN0IGV2ZW50QWN0aW9uID0gQm9vbGVhbihmb2N1c2VkRXZlbnQpO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y3goJ2V2ZW50cy12aWV3LXBhZ2UnLCB7XG4gICAgICAgICdoaWRlLWNpcmNsZS1udW1iZXJzJzogZXZlbnRBY3Rpb24sXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgPFNpZGViYXIgLz5cbiAgICAgICAgPEV2ZW50c01hcENvbnRhaW5lciBzaG93U2Vjb25kTWFwPXtldmVudEFjdGlvbn0gLz5cbiAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihCb2R5KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLG1CQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxjQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9B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