@kando-env/kando-ui 1.2.377 → 1.2.379

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/lib/Router.js +36 -73
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
  3. package/lib/Widgets/EventsRow/EventsRow.js +27 -39
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +130 -117
  6. package/lib/Widgets/Map/MapUtils.js +116 -67
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
  9. package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +39 -38
  12. package/lib/Widgets/Map/edges/Edges.js +24 -24
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +65 -60
  16. package/lib/Widgets/Map/events/EventPath.js +24 -22
  17. package/lib/Widgets/Map/events/EventUtils.js +60 -80
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
  19. package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
  21. package/lib/Widgets/Map/events/Snail.js +19 -20
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
  23. package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
  24. package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
  27. package/lib/Widgets/Map/points/PointIcon.js +22 -15
  28. package/lib/Widgets/Map/points/PointMarker.js +71 -87
  29. package/lib/Widgets/Map/points/PointMarkers.js +45 -66
  30. package/lib/Widgets/Map/points/PointUtils.js +146 -83
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +31 -47
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -28
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +32 -29
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
  60. package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +23 -15
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +30 -47
  75. package/lib/Widgets/UtilityInformation/styles.js +34 -25
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +9 -9
  83. package/lib/components/Backdrop/Backdrop.js +6 -4
  84. package/lib/components/ContentLoader/ContentLoader.js +11 -9
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
  91. package/lib/components/CustomInputs/Search/Search.js +42 -63
  92. package/lib/components/CustomInputs/Select/Select.js +45 -58
  93. package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
  94. package/lib/components/DamageType/DamageType.js +35 -57
  95. package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +10 -10
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +27 -41
  104. package/lib/components/Events/Events.js +41 -58
  105. package/lib/components/Graph/Graph.js +77 -96
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +3 -5
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +96 -205
  113. package/lib/components/Header/InfoBar/InfoBar.js +74 -103
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
  116. package/lib/components/Header/InfoBar/Search/Search.js +16 -21
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -33
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
  119. package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
  121. package/lib/components/Header/Slideshow/Slideshow.js +68 -90
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
  126. package/lib/components/Header/Toolbar/Toolbar.js +55 -74
  127. package/lib/components/InfoBar/InfoBar.js +10 -23
  128. package/lib/components/InfoBar/InfoBar.stories.js +3 -5
  129. package/lib/components/KandoModal/KandoModal.js +27 -41
  130. package/lib/components/Link.js +8 -7
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
  134. package/lib/components/LiveEvents/CarouselSlide.js +9 -7
  135. package/lib/components/LiveEvents/LiveEvents.js +5 -3
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
  137. package/lib/components/Map/Map.js +20 -23
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +17 -31
  140. package/lib/components/PointInfo/PointInfo.js +19 -17
  141. package/lib/components/PopupModal/PopupModal.js +12 -16
  142. package/lib/components/PopupModal/PopupModal.stories.js +15 -19
  143. package/lib/components/Sector/Sector.js +8 -6
  144. package/lib/components/Sector/Sector.test.js +19 -20
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +49 -52
  147. package/lib/components/SevereEvent/Eta/styles.js +10 -6
  148. package/lib/components/SevereEvent/SevereEvent.js +30 -37
  149. package/lib/components/Spinner/Spinner.js +8 -8
  150. package/lib/components/Spinner/Spinner.stories.js +4 -6
  151. package/lib/components/Spinner/styles.js +22 -14
  152. package/lib/components/Tabs/Tabs.js +21 -29
  153. package/lib/components/Tabs/Tabs.stories.js +4 -6
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +12 -17
  166. package/lib/components/TrendGraph/TrendGraph.js +23 -39
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  168. package/lib/development-environment/index.js +8 -12
  169. package/lib/development-environment/mock/browser.js +2 -4
  170. package/lib/development-environment/mock/get.js +8 -10
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +13 -22
  192. package/lib/development-environment/togly/ToglyItem.js +36 -31
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +14 -10
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
  196. package/lib/development-environment/togly/useLocalStorage.js +13 -18
  197. package/lib/hooks/useApi.js +19 -55
  198. package/lib/hooks/useApiWithDashboardQuery.js +30 -49
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +16 -29
  202. package/lib/hooks/useMap.js +22 -34
  203. package/lib/hooks/useNavContext.js +22 -26
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +13 -17
  206. package/lib/hooks/useUserTimeZone.js +33 -30
  207. package/lib/hooks/useUserTimeZone.test.js +19 -22
  208. package/lib/hooks/useWindowSize.js +7 -14
  209. package/lib/index.js +11 -12
  210. package/lib/macros/getVersion.js +3 -3
  211. package/lib/pages/AreaPage/AreaPage.js +34 -67
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +33 -30
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  219. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  220. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  221. package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +8 -13
  224. package/lib/pages/CovidPage/components/Body.js +25 -27
  225. package/lib/pages/CovidPage/components/Map.js +29 -39
  226. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  227. package/lib/pages/CovidPage/components/Summary.js +20 -27
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  230. package/lib/pages/CovidPage/components/areas/Area.js +29 -40
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
  234. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +28 -28
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
  238. package/lib/pages/DashboardMap/Capacity.js +31 -80
  239. package/lib/pages/DashboardMap/FactoryCard.js +34 -28
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  241. package/lib/pages/DashboardMap/List.js +81 -103
  242. package/lib/pages/DashboardMap/ListContext.js +15 -19
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  245. package/lib/pages/DashboardMap/WWTPMap.js +91 -90
  246. package/lib/pages/DashboardMap/WaterDischarge.js +10 -10
  247. package/lib/pages/DashboardMap/Widget.js +54 -71
  248. package/lib/pages/DashboardMap/utils.js +48 -65
  249. package/lib/pages/EventsPage/Body/Body.js +20 -15
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
  257. package/lib/pages/EventsPage/EventsPage.js +7 -10
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
  259. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  260. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -42
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  275. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +10 -10
  276. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +7 -9
  277. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  280. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  281. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
  282. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
  283. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  294. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  295. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  296. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  297. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  298. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  299. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  301. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  302. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  303. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  304. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
  305. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  306. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  307. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  308. package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
  309. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
  310. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  311. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
  312. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  313. package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
  314. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
  315. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
  316. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
  317. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  318. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  319. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  320. package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
  321. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  322. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  323. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  324. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
  325. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  326. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  327. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  328. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  329. package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
  330. package/lib/pages/ImportGisProcess/index.js +12 -15
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  332. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  333. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  334. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
  335. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  336. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  337. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  338. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  339. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  340. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  341. package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
  342. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
  343. package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +14 -16
  344. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +18 -16
  345. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +17 -21
  346. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +17 -21
  347. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +18 -22
  348. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +83 -69
  349. package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +18 -22
  350. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -74
  351. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +97 -95
  352. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
  353. package/lib/pages/OldSitePage/OldSitePage.js +57 -132
  354. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  355. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  356. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  357. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  358. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  359. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  360. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  361. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  362. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  363. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  364. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  365. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  366. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  367. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  368. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  369. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  370. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
  371. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
  372. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  373. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
  374. package/lib/pages/ProfilePage/Container.js +2 -2
  375. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
  376. package/lib/pages/ProfilePage/ProfilePage.js +121 -214
  377. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  378. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
  379. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
  380. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
  381. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  382. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  383. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
  384. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  385. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  386. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  387. package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
  388. package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
  389. package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
  390. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  391. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  392. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
  393. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  394. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
  395. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
  396. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
  397. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
  398. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
  399. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  400. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  401. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  402. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
  403. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  404. package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
  405. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
  406. package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
  407. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  408. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  409. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  410. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  411. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  412. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  413. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  414. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  415. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  416. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  417. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  418. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  419. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  420. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  421. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  422. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  423. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  424. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  425. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  426. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  427. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
  428. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  429. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  430. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  431. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
  432. package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
  433. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  434. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  435. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
  436. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  437. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +49 -41
  438. package/lib/pages/SitePage/SitePage.js +45 -80
  439. package/lib/pages/UploadLabResult/index.js +13 -13
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  441. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  442. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  443. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  444. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
  445. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  446. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
  447. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  448. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
  449. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  450. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  451. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  452. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +30 -31
  453. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  454. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -18
  455. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  456. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
  457. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  458. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
  459. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  460. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  461. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  462. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  463. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  464. package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
  465. package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
  466. package/lib/pages/WwtpPage/DashboardCard.js +26 -23
  467. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  468. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
  469. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  470. package/lib/pages/WwtpPage/Map.js +5 -3
  471. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  472. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  473. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
  474. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  475. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  476. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  477. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  478. package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
  479. package/lib/pages/WwtpPage/WwtpPage.js +8 -8
  480. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  481. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  482. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  483. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  484. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  485. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  486. package/lib/providers/UrlHistory/index.js +2 -2
  487. package/lib/providers/UrlHistory/useLastVisited.js +5 -5
  488. package/lib/store/ImportGis/actionTypes.js +1 -1
  489. package/lib/store/ImportGis/actionsCreator.js +7 -5
  490. package/lib/store/ImportGis/reducer.js +40 -29
  491. package/lib/store/WBE/actionTypes.js +2 -2
  492. package/lib/store/WBE/reducer.js +13 -9
  493. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  494. package/lib/store/areas/actionTypes.js +4 -4
  495. package/lib/store/areas/actions.js +7 -13
  496. package/lib/store/areas/reducer.js +8 -6
  497. package/lib/store/context/actionTypes.js +3 -3
  498. package/lib/store/context/actions.js +3 -3
  499. package/lib/store/context/contextMiddlewares.js +14 -16
  500. package/lib/store/context/reducer.js +13 -9
  501. package/lib/store/dashboard/dashboardSlice.js +18 -10
  502. package/lib/store/edges/actionTypes.js +5 -5
  503. package/lib/store/edges/actions.js +4 -8
  504. package/lib/store/edges/reducer.js +13 -17
  505. package/lib/store/events/actionTypes.js +17 -17
  506. package/lib/store/events/actions.js +3 -7
  507. package/lib/store/events/reducer.js +42 -49
  508. package/lib/store/global/actionTypes.js +11 -11
  509. package/lib/store/global/actions.js +8 -6
  510. package/lib/store/global/reducer.js +11 -10
  511. package/lib/store/permissions/permissionsSlice.js +12 -8
  512. package/lib/store/points/actionTypes.js +3 -3
  513. package/lib/store/points/actions.js +4 -8
  514. package/lib/store/points/reducer.js +7 -5
  515. package/lib/store/rootActionTypes.js +2 -2
  516. package/lib/store/rootReducer.js +17 -12
  517. package/lib/store/rootStore.js +5 -5
  518. package/lib/store/samplings/actionTypes.js +1 -1
  519. package/lib/store/samplings/reducer.js +16 -14
  520. package/lib/styles/StylesLayout.js +5 -3
  521. package/lib/styles/theme/theme.js +26 -27
  522. package/lib/test/mocks/browser.js +2 -4
  523. package/lib/test/test-utils.js +17 -15
  524. package/lib/ui-kit/Button/Button.js +128 -80
  525. package/lib/ui-kit/Button/Button.test.js +24 -29
  526. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  527. package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
  528. package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
  529. package/lib/ui-kit/DropDown/DropDown.js +23 -24
  530. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  531. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  532. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  533. package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
  534. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  535. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
  536. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
  537. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  538. package/lib/ui-kit/InletsPie/options.js +6 -6
  539. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  540. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  541. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  542. package/lib/ui-kit/Layout/Layout.js +6 -4
  543. package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
  544. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  545. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
  546. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  547. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  548. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  549. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  550. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  551. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  552. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
  553. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  554. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  555. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  556. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  557. package/lib/ui-kit/index.js +8 -8
  558. package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
  559. package/lib/ui-kit/siteName/SiteName.js +11 -8
  560. package/lib/utilities/ActionUtility.js +7 -7
  561. package/lib/utilities/Alert.js +21 -17
  562. package/lib/utilities/Analytics.js +11 -11
  563. package/lib/utilities/Array.js +4 -5
  564. package/lib/utilities/Enum.js +15 -51
  565. package/lib/utilities/ErrorBoundary.js +27 -41
  566. package/lib/utilities/File.js +40 -69
  567. package/lib/utilities/GetDir.js +8 -7
  568. package/lib/utilities/KandoDate.js +7 -15
  569. package/lib/utilities/KandoModal.js +16 -26
  570. package/lib/utilities/LocalStorage.js +8 -10
  571. package/lib/utilities/ThousandsToK.js +3 -3
  572. package/lib/utilities/TimeFormat.js +21 -20
  573. package/lib/utilities/Truncate.js +17 -25
  574. package/lib/utilities/edgesMath.js +14 -15
  575. package/lib/utilities/i18n.js +3 -3
  576. package/lib/utilities/kql.js +12 -14
  577. package/lib/utilities/map/icons.js +3 -3
  578. package/lib/utilities/polylinedecorator.js +87 -112
  579. package/lib/utilities/scoreToData.js +17 -17
  580. package/lib/utilities/scoreToData.test.js +5 -5
  581. package/lib/utilities/time.js +8 -8
  582. package/lib/utilities/uploadToS3.js +11 -11
  583. package/lib/utilities/urls.js +61 -59
  584. package/package.json +1 -1
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Tab = exports.DisabledTab = exports.Container = void 0;
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
- var Container = _styledComponents.default.button.withConfig({
9
+ const Container = _styledComponents.default.button.withConfig({
10
10
  displayName: "styles__Container",
11
11
  componentId: "sc-1u5zy7c-0"
12
12
  })(["background-color:#f6004f;border-radius:17px;padding:1px;width:250px;display:flex;align-items:center;border:none;&.disabled{pointer-events:none;opacity:0.3;border:2px solid transparent;border-radius:17px;.active{color:#716f6f;}}&.left-active,&.right-active{position:relative;border:2px solid transparent;&::after{position:absolute;transition:left 0.3s ease-in-out,width 0.3s ease-in-out;content:'';width:50%;border-radius:17px;z-index:0;top:0px;left:0px;height:100%;background-color:white;}}&.right-active{&::after{width:50%;left:50%;}}[dir='rtl'] &{&.left-active,&.right-active{&::after{transition:unset;transition:right 0.3s ease-in-out,width 0.3s ease-in-out;left:unset;right:0px;}}&.right-active{&::after{left:unset;right:50%;}}}"]);
13
13
  exports.Container = Container;
14
- var Tab = _styledComponents.default.div.withConfig({
14
+ const Tab = _styledComponents.default.div.withConfig({
15
15
  displayName: "styles__Tab",
16
16
  componentId: "sc-1u5zy7c-1"
17
17
  })(["padding:8px 10px;font-family:Gilroy,Arial;font-size:14px;width:50%;color:#ffffff;cursor:pointer;position:relative;text-align:center;transition:color 0.4s ease-in-out;z-index:1;&.active{color:#f82e6f;pointer-events:none;}text-align:center;"]);
18
18
  exports.Tab = Tab;
19
- var DisabledTab = _styledComponents.default.div.withConfig({
19
+ const DisabledTab = _styledComponents.default.div.withConfig({
20
20
  displayName: "styles__DisabledTab",
21
21
  componentId: "sc-1u5zy7c-2"
22
22
  })(["padding:8px 10px;font-family:Gilroy,Arial;font-size:14px;border-radius:0.25rem;color:#b2b2b2;width:50%;&.active{background-color:white;color:#f82e6f;pointer-events:none;}"]);
23
23
  exports.DisabledTab = DisabledTab;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJidXR0b24iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImV4cG9ydHMiLCJUYWIiLCJkaXYiLCJEaXNhYmxlZFRhYiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9Eb3VibGVUYWJzL3N0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuYnV0dG9uPHsgbGVmdD86IHN0cmluZzsgcmlnaHQ/OiBzdHJpbmcgfT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNjAwNGY7XG4gIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gIHBhZGRpbmc6IDFweDtcbiAgd2lkdGg6IDI1MHB4O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gICAgLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzcxNmY2ZjtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQtYWN0aXZlLFxuICAmLnJpZ2h0LWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiAxN3B4O1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodC1hY3RpdmUge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgJi5sZWZ0LWFjdGl2ZSxcbiAgICAmLnJpZ2h0LWFjdGl2ZSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHVuc2V0O1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0LWFjdGl2ZSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFRhYiA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBmb250LWZhbWlseTogR2lscm95LCBBcmlhbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aWR0aDogNTAlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC40cyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMTtcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZjgyZTZmO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IERpc2FibGVkVGFiID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBHaWxyb3ksIEFyaWFsO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGNvbG9yOiAjYjJiMmIyO1xuICB3aWR0aDogNTAlO1xuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICNmODJlNmY7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRU8sSUFBTUEsU0FBUyxHQUFHQyx5QkFBTSxDQUFDQyxNQUFNLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb3VCQWdFckM7QUFBQ0MsT0FBQSxDQUFBTixTQUFBLEdBQUFBLFNBQUE7QUFFSyxJQUFNTyxHQUFHLEdBQUdOLHlCQUFNLENBQUNPLEdBQUcsQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzUEFpQjVCO0FBQUNDLE9BQUEsQ0FBQUMsR0FBQSxHQUFBQSxHQUFBO0FBRUssSUFBTUUsV0FBVyxHQUFHUix5QkFBTSxDQUFDTyxHQUFHLENBQUFMLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa0xBWXBDO0FBQUNDLE9BQUEsQ0FBQUcsV0FBQSxHQUFBQSxXQUFBIn0=
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJidXR0b24iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImV4cG9ydHMiLCJUYWIiLCJkaXYiLCJEaXNhYmxlZFRhYiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9Eb3VibGVUYWJzL3N0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuYnV0dG9uPHsgbGVmdD86IHN0cmluZzsgcmlnaHQ/OiBzdHJpbmcgfT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNjAwNGY7XG4gIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gIHBhZGRpbmc6IDFweDtcbiAgd2lkdGg6IDI1MHB4O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gICAgLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzcxNmY2ZjtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQtYWN0aXZlLFxuICAmLnJpZ2h0LWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiAxN3B4O1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodC1hY3RpdmUge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgJi5sZWZ0LWFjdGl2ZSxcbiAgICAmLnJpZ2h0LWFjdGl2ZSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHVuc2V0O1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0LWFjdGl2ZSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFRhYiA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBmb250LWZhbWlseTogR2lscm95LCBBcmlhbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aWR0aDogNTAlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC40cyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMTtcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZjgyZTZmO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IERpc2FibGVkVGFiID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBHaWxyb3ksIEFyaWFsO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGNvbG9yOiAjYjJiMmIyO1xuICB3aWR0aDogNTAlO1xuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICNmODJlNmY7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRU8sTUFBTUEsU0FBUyxHQUFHQyx5QkFBTSxDQUFDQyxNQUFNLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb3VCQWdFckM7QUFBQ0MsT0FBQSxDQUFBTixTQUFBLEdBQUFBLFNBQUE7QUFFSyxNQUFNTyxHQUFHLEdBQUdOLHlCQUFNLENBQUNPLEdBQUcsQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzUEFpQjVCO0FBQUNDLE9BQUEsQ0FBQUMsR0FBQSxHQUFBQSxHQUFBO0FBRUssTUFBTUUsV0FBVyxHQUFHUix5QkFBTSxDQUFDTyxHQUFHLENBQUFMLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa0xBWXBDO0FBQUNDLE9BQUEsQ0FBQUcsV0FBQSxHQUFBQSxXQUFBIn0=
@@ -8,10 +8,10 @@ exports.Header = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _InfoBar = require("./InfoBar/InfoBar");
10
10
  var _Toolbar = require("./Toolbar/Toolbar");
11
- var Header = function Header() {
11
+ const Header = () => {
12
12
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Toolbar.Toolbar, null), /*#__PURE__*/_react.default.createElement(_InfoBar.InfoBar, {
13
13
  parts: []
14
14
  }));
15
15
  };
16
16
  exports.Header = Header;
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9JbmZvQmFyIiwiX1Rvb2xiYXIiLCJIZWFkZXIiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiVG9vbGJhciIsIkluZm9CYXIiLCJwYXJ0cyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IZWFkZXIvSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSW5mb0JhciB9IGZyb20gJy4vSW5mb0Jhci9JbmZvQmFyJztcbmltcG9ydCB7IFRvb2xiYXIgfSBmcm9tICcuL1Rvb2xiYXIvVG9vbGJhcic7XG5leHBvcnQgY29uc3QgSGVhZGVyID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8VG9vbGJhcj48L1Rvb2xiYXI+XG4gICAgICA8SW5mb0JhciBwYXJ0cz17W119IC8+XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBQ08sSUFBTUcsTUFBTSxHQUFHLFNBQVRBLE1BQU1BLENBQUEsRUFBUztFQUMxQixvQkFDRUwsTUFBQSxDQUFBTSxPQUFBLENBQUFDLGFBQUEsQ0FBQVAsTUFBQSxDQUFBTSxPQUFBLENBQUFFLFFBQUEscUJBQ0VSLE1BQUEsQ0FBQU0sT0FBQSxDQUFBQyxhQUFBLENBQUNILFFBQUEsQ0FBQUssT0FBTyxNQUFVLENBQUMsZUFDbkJULE1BQUEsQ0FBQU0sT0FBQSxDQUFBQyxhQUFBLENBQUNKLFFBQUEsQ0FBQU8sT0FBTztJQUFDQyxLQUFLLEVBQUU7RUFBRyxDQUFFLENBQ3JCLENBQUM7QUFFUCxDQUFDO0FBQUNDLE9BQUEsQ0FBQVAsTUFBQSxHQUFBQSxNQUFBIn0=
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9JbmZvQmFyIiwiX1Rvb2xiYXIiLCJIZWFkZXIiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiVG9vbGJhciIsIkluZm9CYXIiLCJwYXJ0cyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IZWFkZXIvSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSW5mb0JhciB9IGZyb20gJy4vSW5mb0Jhci9JbmZvQmFyJztcbmltcG9ydCB7IFRvb2xiYXIgfSBmcm9tICcuL1Rvb2xiYXIvVG9vbGJhcic7XG5leHBvcnQgY29uc3QgSGVhZGVyID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8VG9vbGJhcj48L1Rvb2xiYXI+XG4gICAgICA8SW5mb0JhciBwYXJ0cz17W119IC8+XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBQ08sTUFBTUcsTUFBTSxHQUFHQSxDQUFBLEtBQU07RUFDMUIsb0JBQ0VMLE1BQUEsQ0FBQU0sT0FBQSxDQUFBQyxhQUFBLENBQUFQLE1BQUEsQ0FBQU0sT0FBQSxDQUFBRSxRQUFBLHFCQUNFUixNQUFBLENBQUFNLE9BQUEsQ0FBQUMsYUFBQSxDQUFDSCxRQUFBLENBQUFLLE9BQU8sTUFBVSxDQUFDLGVBQ25CVCxNQUFBLENBQUFNLE9BQUEsQ0FBQUMsYUFBQSxDQUFDSixRQUFBLENBQUFPLE9BQU87SUFBQ0MsS0FBSyxFQUFFO0VBQUcsQ0FBRSxDQUNyQixDQUFDO0FBRVAsQ0FBQztBQUFDQyxPQUFBLENBQUFQLE1BQUEsR0FBQUEsTUFBQSJ9
@@ -12,12 +12,10 @@ var _default = {
12
12
  component: _Header.Header
13
13
  };
14
14
  exports.default = _default;
15
- var Template = function Template(args) {
16
- return /*#__PURE__*/_react.default.createElement(_Header.Header, args);
17
- };
18
- var Default = Template.bind({});
15
+ const Template = args => /*#__PURE__*/_react.default.createElement(_Header.Header, args);
16
+ const Default = Template.bind({});
19
17
  exports.Default = Default;
20
18
  Default.args = {
21
19
  active: true
22
20
  };
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9IZWFkZXIiLCJfZGVmYXVsdCIsInRpdGxlIiwiY29tcG9uZW50IiwiSGVhZGVyIiwiZXhwb3J0cyIsImRlZmF1bHQiLCJUZW1wbGF0ZSIsImFyZ3MiLCJjcmVhdGVFbGVtZW50IiwiRGVmYXVsdCIsImJpbmQiLCJhY3RpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IZWFkZXIvSGVhZGVyLnN0b3JpZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGEsIFN0b3J5IH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSAnLi9IZWFkZXInO1xuZXhwb3J0IGRlZmF1bHQge1xuICB0aXRsZTogJ1VJL2NvbXBvbmVudHMvSGVhZGVyJyxcbiAgY29tcG9uZW50OiBIZWFkZXIsXG59IGFzIE1ldGE7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcHMge31cbmNvbnN0IFRlbXBsYXRlOiBTdG9yeTxQcm9wcz4gPSAoYXJncykgPT4gPEhlYWRlciB7Li4uYXJnc30gLz47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0ID0gVGVtcGxhdGUuYmluZCh7fSk7XG5EZWZhdWx0LmFyZ3MgPSB7XG4gIGFjdGl2ZTogdHJ1ZSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFBa0MsSUFBQUUsUUFBQSxHQUNuQjtFQUNiQyxLQUFLLEVBQUUsc0JBQXNCO0VBQzdCQyxTQUFTLEVBQUVDO0FBQ2IsQ0FBQztBQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FBQUwsUUFBQTtBQUdELElBQU1NLFFBQXNCLEdBQUcsU0FBekJBLFFBQXNCQSxDQUFJQyxJQUFJO0VBQUEsb0JBQUtYLE1BQUEsQ0FBQVMsT0FBQSxDQUFBRyxhQUFBLENBQUNULE9BQUEsQ0FBQUksTUFBTSxFQUFLSSxJQUFPLENBQUM7QUFBQTtBQUV0RCxJQUFNRSxPQUFPLEdBQUdILFFBQVEsQ0FBQ0ksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQUNOLE9BQUEsQ0FBQUssT0FBQSxHQUFBQSxPQUFBO0FBQ3pDQSxPQUFPLENBQUNGLElBQUksR0FBRztFQUNiSSxNQUFNLEVBQUU7QUFDVixDQUFDIn0=
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9IZWFkZXIiLCJfZGVmYXVsdCIsInRpdGxlIiwiY29tcG9uZW50IiwiSGVhZGVyIiwiZXhwb3J0cyIsImRlZmF1bHQiLCJUZW1wbGF0ZSIsImFyZ3MiLCJjcmVhdGVFbGVtZW50IiwiRGVmYXVsdCIsImJpbmQiLCJhY3RpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IZWFkZXIvSGVhZGVyLnN0b3JpZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGEsIFN0b3J5IH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSAnLi9IZWFkZXInO1xuZXhwb3J0IGRlZmF1bHQge1xuICB0aXRsZTogJ1VJL2NvbXBvbmVudHMvSGVhZGVyJyxcbiAgY29tcG9uZW50OiBIZWFkZXIsXG59IGFzIE1ldGE7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcHMge31cbmNvbnN0IFRlbXBsYXRlOiBTdG9yeTxQcm9wcz4gPSAoYXJncykgPT4gPEhlYWRlciB7Li4uYXJnc30gLz47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0ID0gVGVtcGxhdGUuYmluZCh7fSk7XG5EZWZhdWx0LmFyZ3MgPSB7XG4gIGFjdGl2ZTogdHJ1ZSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFBa0MsSUFBQUUsUUFBQSxHQUNuQjtFQUNiQyxLQUFLLEVBQUUsc0JBQXNCO0VBQzdCQyxTQUFTLEVBQUVDO0FBQ2IsQ0FBQztBQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FBQUwsUUFBQTtBQUdELE1BQU1NLFFBQXNCLEdBQUlDLElBQUksaUJBQUtYLE1BQUEsQ0FBQVMsT0FBQSxDQUFBRyxhQUFBLENBQUNULE9BQUEsQ0FBQUksTUFBTSxFQUFLSSxJQUFPLENBQUM7QUFFdEQsTUFBTUUsT0FBTyxHQUFHSCxRQUFRLENBQUNJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUFDTixPQUFBLENBQUFLLE9BQUEsR0FBQUEsT0FBQTtBQUN6Q0EsT0FBTyxDQUFDRixJQUFJLEdBQUc7RUFDYkksTUFBTSxFQUFFO0FBQ1YsQ0FBQyJ9
@@ -5,222 +5,113 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.Breadcrumbs = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
9
  var _react = _interopRequireDefault(require("react"));
12
10
  var _StyledLink = require("components/Links/StyledLink/StyledLink");
13
11
  var _rightArrowLight = require("@svgr/webpack?-svgo!./right-arrow-light.svg");
14
12
  var _Analytics = require("utilities/Analytics");
15
- var _WWTPDashboardSlice = require("store/WWTPDashboard/WWTPDashboardSlice");
16
- var _reactRedux = require("react-redux");
17
- var _Widget = require("pages/DashboardMap/Widget");
18
- var Breadcrumbs = function Breadcrumbs(_ref) {
19
- var parts = _ref.parts;
20
- var cleanEmptyCrumbs = function cleanEmptyCrumbs(parts) {
21
- return parts.filter(function (el) {
22
- return el && (typeof el === 'string' || el['name'] !== undefined);
23
- });
24
- };
25
- var dispatch = (0, _reactRedux.useDispatch)();
26
- var _useSelector = (0, _reactRedux.useSelector)(function (state) {
27
- return state.global_data;
28
- }),
29
- waterAuthorityId = _useSelector.waterAuthorityId;
30
- var locale = (0, _reactRedux.useSelector)(function (state) {
31
- return state.nav_context_data.navContext.locale;
32
- });
33
- var points = (0, _reactRedux.useSelector)(function (state) {
34
- return state.points_data.items;
35
- });
36
- var areas = (0, _reactRedux.useSelector)(function (state) {
37
- return state.areas_data.newAreas;
38
- });
39
- var updateFocusedArea = /*#__PURE__*/function () {
40
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(part) {
41
- return _regenerator.default.wrap(function _callee$(_context) {
42
- while (1) {
43
- switch (_context.prev = _context.next) {
44
- case 0:
45
- if (!part.point_id) {
46
- _context.next = 5;
47
- break;
48
- }
49
- _context.next = 3;
50
- return changeFocusedPoint(part.point_id);
51
- case 3:
52
- _context.next = 8;
53
- break;
54
- case 5:
55
- if (!part.area_id) {
56
- _context.next = 8;
57
- break;
58
- }
59
- _context.next = 8;
60
- return changeFocusedArea({
61
- id: part.area_id,
62
- is_virtual: part.link.includes('varea')
63
- });
64
- case 8:
65
- case "end":
66
- return _context.stop();
67
- }
68
- }
69
- }, _callee);
70
- }));
71
- return function updateFocusedArea(_x) {
72
- return _ref2.apply(this, arguments);
73
- };
74
- }();
75
- var changeFocusedPoint = /*#__PURE__*/function () {
76
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(selectedPointId) {
77
- var point, listItems, focusedPoint;
78
- return _regenerator.default.wrap(function _callee2$(_context2) {
79
- while (1) {
80
- switch (_context2.prev = _context2.next) {
81
- case 0:
82
- point = points.find(function (point) {
83
- return point.id === selectedPointId;
84
- });
85
- if (point) {
86
- _context2.next = 3;
87
- break;
88
- }
89
- return _context2.abrupt("return");
90
- case 3:
91
- _context2.next = 5;
92
- return loadData({
93
- url: "site/".concat(point === null || point === void 0 ? void 0 : point.id),
94
- type: 'point',
95
- item: point
96
- });
97
- case 5:
98
- listItems = _context2.sent;
99
- focusedPoint = (0, _Widget.updatePoint)({
100
- point: point,
101
- listItems: listItems,
102
- areas: areas,
103
- points: points
104
- });
105
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedPoint));
106
- case 8:
107
- case "end":
108
- return _context2.stop();
109
- }
110
- }
111
- }, _callee2);
112
- }));
113
- return function changeFocusedPoint(_x2) {
114
- return _ref3.apply(this, arguments);
115
- };
116
- }();
117
- var changeFocusedArea = /*#__PURE__*/function () {
118
- var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_ref4) {
119
- var id, is_virtual, area;
120
- return _regenerator.default.wrap(function _callee3$(_context3) {
121
- while (1) {
122
- switch (_context3.prev = _context3.next) {
123
- case 0:
124
- id = _ref4.id, is_virtual = _ref4.is_virtual;
125
- area = areas.find(function (area) {
126
- return area.area_id === id && area.is_virtual === is_virtual;
127
- });
128
- if (area) {
129
- _context3.next = 4;
130
- break;
131
- }
132
- return _context3.abrupt("return");
133
- case 4:
134
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(area));
135
- case 5:
136
- case "end":
137
- return _context3.stop();
138
- }
139
- }
140
- }, _callee3);
141
- }));
142
- return function changeFocusedArea(_x3) {
143
- return _ref5.apply(this, arguments);
144
- };
145
- }();
146
- var loadData = /*#__PURE__*/function () {
147
- var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(_ref6) {
148
- var url, type, item, response, listItems;
149
- return _regenerator.default.wrap(function _callee4$(_context4) {
150
- while (1) {
151
- switch (_context4.prev = _context4.next) {
152
- case 0:
153
- url = _ref6.url, type = _ref6.type, item = _ref6.item;
154
- _context4.next = 3;
155
- return fetch("/api_ui/wwtp_page/".concat(url, "/capacity?locale=").concat(locale, "&water_authority_id=").concat(waterAuthorityId));
156
- case 3:
157
- response = _context4.sent;
158
- listItems = {
159
- data: []
160
- };
161
- if (!response.ok) {
162
- _context4.next = 11;
163
- break;
164
- }
165
- _context4.next = 8;
166
- return response.json();
167
- case 8:
168
- listItems = _context4.sent;
169
- _context4.next = 12;
170
- break;
171
- case 11:
172
- console.warn("HTTP error! for ".concat(type, ": ").concat(item, ", status: "), response.status);
173
- case 12:
174
- return _context4.abrupt("return", listItems.data);
175
- case 13:
176
- case "end":
177
- return _context4.stop();
178
- }
179
- }
180
- }, _callee4);
181
- }));
182
- return function loadData(_x4) {
183
- return _ref7.apply(this, arguments);
184
- };
185
- }();
186
- parts = cleanEmptyCrumbs(parts);
13
+ // import { setFocusedArea } from 'src/store/WWTPDashboard/WWTPDashboardSlice';
14
+ // import { useSelector } from 'react-redux';
15
+ // import { updatePoint } from 'src/pages/DashboardMap/Widget';
16
+
17
+ const Breadcrumbs = _ref => {
18
+ let {
19
+ parts
20
+ } = _ref;
21
+ // const cleanEmptyCrumbs = (parts) => {
22
+ // return parts.filter((el) => {
23
+ // return el && (typeof el === 'string' || el['name'] !== undefined);
24
+ // });
25
+ // };
26
+
27
+ // const dispatch = useDispatch();
28
+ // const { waterAuthorityId } = useSelector((state) => state.global_data);
29
+ // const locale = useSelector(
30
+ // (state) => state.nav_context_data.navContext.locale,
31
+ // );
32
+ // const points = useSelector((state) => state.points_data.items);
33
+ // const areas = useSelector((state) => state.areas_data.newAreas);
34
+ // const updateFocusedArea = async (part: LinkedPart) => {
35
+ // if (part.point_id) {
36
+ // await changeFocusedPoint(part.point_id);
37
+ // } else if (part.area_id) {
38
+ // await changeFocusedArea({
39
+ // id: part.area_id,
40
+ // is_virtual: part.link.includes('varea'),
41
+ // });
42
+ // }
43
+ // };
44
+ // const changeFocusedPoint = async (selectedPointId) => {
45
+ // const point = points.find((point) => point.id === selectedPointId);
46
+ // if (!point) return;
47
+
48
+ // let listItems = await loadData({
49
+ // url: `site/${point?.id}`,
50
+ // type: 'point',
51
+ // item: point,
52
+ // });
53
+
54
+ // const focusedPoint = updatePoint({
55
+ // point,
56
+ // listItems,
57
+ // areas,
58
+ // points,
59
+ // });
60
+ // //dispatch(setFocusedArea(focusedPoint));
61
+ // };
62
+
63
+ // const changeFocusedArea = async ({ id, is_virtual }) => {
64
+ // const area = areas.find(
65
+ // (area) => area.area_id === id && area.is_virtual === is_virtual,
66
+ // );
67
+ // if (!area) return;
68
+
69
+ // //dispatch(setFocusedArea(area));
70
+ // };
71
+
72
+ // const loadData = async ({ url, type, item }) => {
73
+ // const response = await fetch(
74
+ // `/api_ui/wwtp_page/${url}/capacity?locale=${locale}&water_authority_id=${waterAuthorityId}`,
75
+ // );
76
+ // let listItems = { data: [] };
77
+ // if (response.ok) {
78
+ // listItems = await response.json();
79
+ // } else {
80
+ // console.warn(
81
+ // `HTTP error! for ${type}: ${item}, status: `,
82
+ // response.status,
83
+ // );
84
+ // }
85
+
86
+ // return listItems.data;
87
+ // };
88
+
89
+ // parts = cleanEmptyCrumbs(parts);
90
+
187
91
  return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement("div", {
188
92
  className: "tab"
189
93
  }, parts[0] && (typeof parts[0] === 'string' ? parts[0] : /*#__PURE__*/_react.default.createElement(_StyledLink.Link, {
190
94
  to: parts[0].link || '/'
191
- }, parts[0].name))), parts.slice(1).map(function (part, index) {
192
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_rightArrowLight.ReactComponent, {
193
- key: index,
194
- className: "arrow",
195
- height: "9px",
196
- width: "6px"
197
- }), /*#__PURE__*/_react.default.createElement("div", {
198
- className: "tab".concat(index === parts.length - 2 ? ' last' : '')
199
- }, typeof part === 'string' ? part : /*#__PURE__*/_react.default.createElement(_StyledLink.Link, {
200
- to: part.link,
201
- onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
202
- return _regenerator.default.wrap(function _callee5$(_context5) {
203
- while (1) {
204
- switch (_context5.prev = _context5.next) {
205
- case 0:
206
- (0, _Analytics.analyticsTrack)('Breadcrumbs clicked', {
207
- name: part.name
208
- });
209
- _context5.next = 3;
210
- return updateFocusedArea(part);
211
- case 3:
212
- case "end":
213
- return _context5.stop();
214
- }
215
- }
216
- }, _callee5);
217
- }))
218
- }, part.name)));
219
- }));
95
+ }, parts[0].name))), parts.slice(1).map((part, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_rightArrowLight.ReactComponent, {
96
+ key: index,
97
+ className: "arrow",
98
+ height: "9px",
99
+ width: "6px"
100
+ }), /*#__PURE__*/_react.default.createElement("div", {
101
+ className: `tab${index === parts.length - 2 ? ' last' : ''}`
102
+ }, typeof part === 'string' ? part : /*#__PURE__*/_react.default.createElement(_StyledLink.Link, {
103
+ to: part.link,
104
+ onClick: async () => {
105
+ (0, _Analytics.analyticsTrack)('Breadcrumbs clicked', {
106
+ name: part.name
107
+ });
108
+ // await updateFocusedArea(part);
109
+ }
110
+ }, part.name)))));
220
111
  };
221
112
  exports.Breadcrumbs = Breadcrumbs;
222
- var Container = _styledComponents.default.div.withConfig({
113
+ const Container = _styledComponents.default.div.withConfig({
223
114
  displayName: "Breadcrumbs__Container",
224
115
  componentId: "sc-12kmapt-0"
225
116
  })(["display:flex;font-size:14px;font-weight:300;align-items:center;> .tab,.arrow{margin-right:10px;color:#1e1e1e;a{color:#1e1e1e;}&.last{font-weight:600;}}> .arrow{transform:rotate(-90deg);}[dir='rtl'] &{> .arrow{transform:rotate(90deg);}}"]);
226
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9TdHlsZWRMaW5rIiwiX3JpZ2h0QXJyb3dMaWdodCIsIl9BbmFseXRpY3MiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX3JlYWN0UmVkdXgiLCJfV2lkZ2V0IiwiQnJlYWRjcnVtYnMiLCJfcmVmIiwicGFydHMiLCJjbGVhbkVtcHR5Q3J1bWJzIiwiZmlsdGVyIiwiZWwiLCJ1bmRlZmluZWQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdG9yIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsImxvY2FsZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0IiwicG9pbnRzIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImFyZWFzIiwiYXJlYXNfZGF0YSIsIm5ld0FyZWFzIiwidXBkYXRlRm9jdXNlZEFyZWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsImRlZmF1bHQiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsInBhcnQiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwicG9pbnRfaWQiLCJjaGFuZ2VGb2N1c2VkUG9pbnQiLCJhcmVhX2lkIiwiY2hhbmdlRm9jdXNlZEFyZWEiLCJpZCIsImlzX3ZpcnR1YWwiLCJsaW5rIiwiaW5jbHVkZXMiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsIl9yZWYzIiwiX2NhbGxlZTIiLCJzZWxlY3RlZFBvaW50SWQiLCJwb2ludCIsImxpc3RJdGVtcyIsImZvY3VzZWRQb2ludCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImZpbmQiLCJhYnJ1cHQiLCJsb2FkRGF0YSIsInVybCIsImNvbmNhdCIsInR5cGUiLCJpdGVtIiwic2VudCIsInVwZGF0ZVBvaW50Iiwic2V0Rm9jdXNlZEFyZWEiLCJfeDIiLCJfcmVmNSIsIl9jYWxsZWUzIiwiX3JlZjQiLCJhcmVhIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiX3gzIiwiX3JlZjciLCJfY2FsbGVlNCIsIl9yZWY2IiwicmVzcG9uc2UiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJmZXRjaCIsImRhdGEiLCJvayIsImpzb24iLCJjb25zb2xlIiwid2FybiIsInN0YXR1cyIsIl94NCIsImNyZWF0ZUVsZW1lbnQiLCJDb250YWluZXIiLCJjbGFzc05hbWUiLCJMaW5rIiwidG8iLCJuYW1lIiwic2xpY2UiLCJtYXAiLCJpbmRleCIsIkZyYWdtZW50IiwiUmVhY3RDb21wb25lbnQiLCJrZXkiLCJoZWlnaHQiLCJ3aWR0aCIsImxlbmd0aCIsIm9uQ2xpY2siLCJfY2FsbGVlNSIsIl9jYWxsZWU1JCIsIl9jb250ZXh0NSIsImFuYWx5dGljc1RyYWNrIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSGVhZGVyL0luZm9CYXIvQnJlYWRjcnVtYnMvQnJlYWRjcnVtYnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTGlua3MvU3R5bGVkTGluay9TdHlsZWRMaW5rJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgUmlnaHRBcnJvdyB9IGZyb20gJy4vcmlnaHQtYXJyb3ctbGlnaHQuc3ZnJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICdzcmMvc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXBkYXRlUG9pbnQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQgeyBMaW5rZWRQYXJ0LCBQYXJ0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQnJlYWRjcnVtYnM6IFJlYWN0LkZDPHtcbiAgcGFydHM6IFBhcnRbXTtcbn0+ID0gKHsgcGFydHMgfSkgPT4ge1xuICBjb25zdCBjbGVhbkVtcHR5Q3J1bWJzID0gKHBhcnRzKSA9PiB7XG4gICAgcmV0dXJuIHBhcnRzLmZpbHRlcigoZWwpID0+IHtcbiAgICAgIHJldHVybiBlbCAmJiAodHlwZW9mIGVsID09PSAnc3RyaW5nJyB8fCBlbFsnbmFtZSddICE9PSB1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhKTtcbiAgY29uc3QgbG9jYWxlID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlLFxuICApO1xuICBjb25zdCBwb2ludHMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgY29uc3QgYXJlYXMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmFyZWFzX2RhdGEubmV3QXJlYXMpO1xuICBjb25zdCB1cGRhdGVGb2N1c2VkQXJlYSA9IGFzeW5jIChwYXJ0OiBMaW5rZWRQYXJ0KSA9PiB7XG4gICAgaWYgKHBhcnQucG9pbnRfaWQpIHtcbiAgICAgIGF3YWl0IGNoYW5nZUZvY3VzZWRQb2ludChwYXJ0LnBvaW50X2lkKTtcbiAgICB9IGVsc2UgaWYgKHBhcnQuYXJlYV9pZCkge1xuICAgICAgYXdhaXQgY2hhbmdlRm9jdXNlZEFyZWEoe1xuICAgICAgICBpZDogcGFydC5hcmVhX2lkLFxuICAgICAgICBpc192aXJ0dWFsOiBwYXJ0LmxpbmsuaW5jbHVkZXMoJ3ZhcmVhJyksXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG4gIGNvbnN0IGNoYW5nZUZvY3VzZWRQb2ludCA9IGFzeW5jIChzZWxlY3RlZFBvaW50SWQpID0+IHtcbiAgICBjb25zdCBwb2ludCA9IHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHNlbGVjdGVkUG9pbnRJZCk7XG4gICAgaWYgKCFwb2ludCkgcmV0dXJuO1xuXG4gICAgbGV0IGxpc3RJdGVtcyA9IGF3YWl0IGxvYWREYXRhKHtcbiAgICAgIHVybDogYHNpdGUvJHtwb2ludD8uaWR9YCxcbiAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgICBpdGVtOiBwb2ludCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGZvY3VzZWRQb2ludCA9IHVwZGF0ZVBvaW50KHtcbiAgICAgIHBvaW50LFxuICAgICAgbGlzdEl0ZW1zLFxuICAgICAgYXJlYXMsXG4gICAgICBwb2ludHMsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoZm9jdXNlZFBvaW50KSk7XG4gIH07XG5cbiAgY29uc3QgY2hhbmdlRm9jdXNlZEFyZWEgPSBhc3luYyAoeyBpZCwgaXNfdmlydHVhbCB9KSA9PiB7XG4gICAgY29uc3QgYXJlYSA9IGFyZWFzLmZpbmQoXG4gICAgICAoYXJlYSkgPT4gYXJlYS5hcmVhX2lkID09PSBpZCAmJiBhcmVhLmlzX3ZpcnR1YWwgPT09IGlzX3ZpcnR1YWwsXG4gICAgKTtcbiAgICBpZiAoIWFyZWEpIHJldHVybjtcblxuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGFyZWEpKTtcbiAgfTtcblxuICBjb25zdCBsb2FkRGF0YSA9IGFzeW5jICh7IHVybCwgdHlwZSwgaXRlbSB9KSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICAgIGAvYXBpX3VpL3d3dHBfcGFnZS8ke3VybH0vY2FwYWNpdHk/bG9jYWxlPSR7bG9jYWxlfSZ3YXRlcl9hdXRob3JpdHlfaWQ9JHt3YXRlckF1dGhvcml0eUlkfWAsXG4gICAgKTtcbiAgICBsZXQgbGlzdEl0ZW1zID0geyBkYXRhOiBbXSB9O1xuICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgbGlzdEl0ZW1zID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBIVFRQIGVycm9yISBmb3IgJHt0eXBlfTogJHtpdGVtfSwgc3RhdHVzOiBgLFxuICAgICAgICByZXNwb25zZS5zdGF0dXMsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBsaXN0SXRlbXMuZGF0YTtcbiAgfTtcblxuICBwYXJ0cyA9IGNsZWFuRW1wdHlDcnVtYnMocGFydHMpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFiXCI+XG4gICAgICAgIHtwYXJ0c1swXSAmJlxuICAgICAgICAgICh0eXBlb2YgcGFydHNbMF0gPT09ICdzdHJpbmcnID8gKFxuICAgICAgICAgICAgcGFydHNbMF1cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExpbmsgdG89e3BhcnRzWzBdLmxpbmsgfHwgJy8nfT57cGFydHNbMF0ubmFtZX08L0xpbms+XG4gICAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cblxuICAgICAge3BhcnRzLnNsaWNlKDEpLm1hcCgocGFydCwgaW5kZXgpID0+IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8UmlnaHRBcnJvdyBrZXk9e2luZGV4fSBjbGFzc05hbWU9XCJhcnJvd1wiIGhlaWdodD1cIjlweFwiIHdpZHRoPVwiNnB4XCIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YHRhYiR7aW5kZXggPT09IHBhcnRzLmxlbmd0aCAtIDIgPyAnIGxhc3QnIDogJyd9YH0+XG4gICAgICAgICAgICB7dHlwZW9mIHBhcnQgPT09ICdzdHJpbmcnID8gKFxuICAgICAgICAgICAgICBwYXJ0XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIHRvPXtwYXJ0Lmxpbmt9XG4gICAgICAgICAgICAgICAgb25DbGljaz17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgYW5hbHl0aWNzVHJhY2soJ0JyZWFkY3J1bWJzIGNsaWNrZWQnLCB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHBhcnQubmFtZSxcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRm9jdXNlZEFyZWEocGFydCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtwYXJ0Lm5hbWV9XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICAgKSl9XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICA+IC50YWIsXG4gIC5hcnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiAjMWUxZTFlO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzFlMWUxZTtcbiAgICB9XG4gICAgJi5sYXN0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgPiAuYXJyb3cge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cbiAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgPiAuYXJyb3cge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgfVxuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUFrRSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBR2xFLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG1CQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFHTyxJQUFNTyxXQUVYLEdBQUcsU0FGUUEsV0FFWEEsQ0FBQUMsSUFBQSxFQUFrQjtFQUFBLElBQVpDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0VBQ1gsSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUQsS0FBSyxFQUFLO0lBQ2xDLE9BQU9BLEtBQUssQ0FBQ0UsTUFBTSxDQUFDLFVBQUNDLEVBQUUsRUFBSztNQUMxQixPQUFPQSxFQUFFLEtBQUssT0FBT0EsRUFBRSxLQUFLLFFBQVEsSUFBSUEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLQyxTQUFTLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUVELElBQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsSUFBQUMsWUFBQSxHQUE2QixJQUFBQyx1QkFBVyxFQUFDLFVBQUNDLEtBQUs7TUFBQSxPQUFLQSxLQUFLLENBQUNDLFdBQVc7SUFBQSxFQUFDO0lBQTlEQyxnQkFBZ0IsR0FBQUosWUFBQSxDQUFoQkksZ0JBQWdCO0VBQ3hCLElBQU1DLE1BQU0sR0FBRyxJQUFBSix1QkFBVyxFQUN4QixVQUFDQyxLQUFLO0lBQUEsT0FBS0EsS0FBSyxDQUFDSSxnQkFBZ0IsQ0FBQ0MsVUFBVSxDQUFDRixNQUFNO0VBQUEsQ0FDckQs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
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9TdHlsZWRMaW5rIiwiX3JpZ2h0QXJyb3dMaWdodCIsIl9BbmFseXRpY3MiLCJCcmVhZGNydW1icyIsIl9yZWYiLCJwYXJ0cyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiTGluayIsInRvIiwibGluayIsIm5hbWUiLCJzbGljZSIsIm1hcCIsInBhcnQiLCJpbmRleCIsIkZyYWdtZW50IiwiUmVhY3RDb21wb25lbnQiLCJrZXkiLCJoZWlnaHQiLCJ3aWR0aCIsImxlbmd0aCIsIm9uQ2xpY2siLCJhbmFseXRpY3NUcmFjayIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9JbmZvQmFyL0JyZWFkY3J1bWJzL0JyZWFkY3J1bWJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFJpZ2h0QXJyb3cgfSBmcm9tICcuL3JpZ2h0LWFycm93LWxpZ2h0LnN2Zyc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbi8vIGltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbi8vIGltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuLy8gaW1wb3J0IHsgdXBkYXRlUG9pbnQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQgeyBQYXJ0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQnJlYWRjcnVtYnM6IFJlYWN0LkZDPHtcbiAgcGFydHM6IFBhcnRbXTtcbn0+ID0gKHsgcGFydHMgfSkgPT4ge1xuICAvLyBjb25zdCBjbGVhbkVtcHR5Q3J1bWJzID0gKHBhcnRzKSA9PiB7XG4gIC8vICAgcmV0dXJuIHBhcnRzLmZpbHRlcigoZWwpID0+IHtcbiAgLy8gICAgIHJldHVybiBlbCAmJiAodHlwZW9mIGVsID09PSAnc3RyaW5nJyB8fCBlbFsnbmFtZSddICE9PSB1bmRlZmluZWQpO1xuICAvLyAgIH0pO1xuICAvLyB9O1xuXG4gIC8vIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgLy8gY29uc3QgeyB3YXRlckF1dGhvcml0eUlkIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhKTtcbiAgLy8gY29uc3QgbG9jYWxlID0gdXNlU2VsZWN0b3IoXG4gIC8vICAgKHN0YXRlKSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlLFxuICAvLyApO1xuICAvLyBjb25zdCBwb2ludHMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgLy8gY29uc3QgYXJlYXMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmFyZWFzX2RhdGEubmV3QXJlYXMpO1xuICAvLyBjb25zdCB1cGRhdGVGb2N1c2VkQXJlYSA9IGFzeW5jIChwYXJ0OiBMaW5rZWRQYXJ0KSA9PiB7XG4gIC8vICAgaWYgKHBhcnQucG9pbnRfaWQpIHtcbiAgLy8gICAgIGF3YWl0IGNoYW5nZUZvY3VzZWRQb2ludChwYXJ0LnBvaW50X2lkKTtcbiAgLy8gICB9IGVsc2UgaWYgKHBhcnQuYXJlYV9pZCkge1xuICAvLyAgICAgYXdhaXQgY2hhbmdlRm9jdXNlZEFyZWEoe1xuICAvLyAgICAgICBpZDogcGFydC5hcmVhX2lkLFxuICAvLyAgICAgICBpc192aXJ0dWFsOiBwYXJ0LmxpbmsuaW5jbHVkZXMoJ3ZhcmVhJyksXG4gIC8vICAgICB9KTtcbiAgLy8gICB9XG4gIC8vIH07XG4gIC8vIGNvbnN0IGNoYW5nZUZvY3VzZWRQb2ludCA9IGFzeW5jIChzZWxlY3RlZFBvaW50SWQpID0+IHtcbiAgLy8gICBjb25zdCBwb2ludCA9IHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHNlbGVjdGVkUG9pbnRJZCk7XG4gIC8vICAgaWYgKCFwb2ludCkgcmV0dXJuO1xuXG4gIC8vICAgbGV0IGxpc3RJdGVtcyA9IGF3YWl0IGxvYWREYXRhKHtcbiAgLy8gICAgIHVybDogYHNpdGUvJHtwb2ludD8uaWR9YCxcbiAgLy8gICAgIHR5cGU6ICdwb2ludCcsXG4gIC8vICAgICBpdGVtOiBwb2ludCxcbiAgLy8gICB9KTtcblxuICAvLyAgIGNvbnN0IGZvY3VzZWRQb2ludCA9IHVwZGF0ZVBvaW50KHtcbiAgLy8gICAgIHBvaW50LFxuICAvLyAgICAgbGlzdEl0ZW1zLFxuICAvLyAgICAgYXJlYXMsXG4gIC8vICAgICBwb2ludHMsXG4gIC8vICAgfSk7XG4gIC8vICAgLy9kaXNwYXRjaChzZXRGb2N1c2VkQXJlYShmb2N1c2VkUG9pbnQpKTtcbiAgLy8gfTtcblxuICAvLyBjb25zdCBjaGFuZ2VGb2N1c2VkQXJlYSA9IGFzeW5jICh7IGlkLCBpc192aXJ0dWFsIH0pID0+IHtcbiAgLy8gICBjb25zdCBhcmVhID0gYXJlYXMuZmluZChcbiAgLy8gICAgIChhcmVhKSA9PiBhcmVhLmFyZWFfaWQgPT09IGlkICYmIGFyZWEuaXNfdmlydHVhbCA9PT0gaXNfdmlydHVhbCxcbiAgLy8gICApO1xuICAvLyAgIGlmICghYXJlYSkgcmV0dXJuO1xuXG4gIC8vICAgLy9kaXNwYXRjaChzZXRGb2N1c2VkQXJlYShhcmVhKSk7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgbG9hZERhdGEgPSBhc3luYyAoeyB1cmwsIHR5cGUsIGl0ZW0gfSkgPT4ge1xuICAvLyAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gIC8vICAgICBgL2FwaV91aS93d3RwX3BhZ2UvJHt1cmx9L2NhcGFjaXR5P2xvY2FsZT0ke2xvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH1gLFxuICAvLyAgICk7XG4gIC8vICAgbGV0IGxpc3RJdGVtcyA9IHsgZGF0YTogW10gfTtcbiAgLy8gICBpZiAocmVzcG9uc2Uub2spIHtcbiAgLy8gICAgIGxpc3RJdGVtcyA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgY29uc29sZS53YXJuKFxuICAvLyAgICAgICBgSFRUUCBlcnJvciEgZm9yICR7dHlwZX06ICR7aXRlbX0sIHN0YXR1czogYCxcbiAgLy8gICAgICAgcmVzcG9uc2Uuc3RhdHVzLFxuICAvLyAgICAgKTtcbiAgLy8gICB9XG5cbiAgLy8gICByZXR1cm4gbGlzdEl0ZW1zLmRhdGE7XG4gIC8vIH07XG5cbiAgLy8gcGFydHMgPSBjbGVhbkVtcHR5Q3J1bWJzKHBhcnRzKTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRhYlwiPlxuICAgICAgICB7cGFydHNbMF0gJiZcbiAgICAgICAgICAodHlwZW9mIHBhcnRzWzBdID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICAgIHBhcnRzWzBdXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMaW5rIHRvPXtwYXJ0c1swXS5saW5rIHx8ICcvJ30+e3BhcnRzWzBdLm5hbWV9PC9MaW5rPlxuICAgICAgICAgICkpfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtwYXJ0cy5zbGljZSgxKS5tYXAoKHBhcnQsIGluZGV4KSA9PiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFJpZ2h0QXJyb3cga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwiYXJyb3dcIiBoZWlnaHQ9XCI5cHhcIiB3aWR0aD1cIjZweFwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2B0YWIke2luZGV4ID09PSBwYXJ0cy5sZW5ndGggLSAyID8gJyBsYXN0JyA6ICcnfWB9PlxuICAgICAgICAgICAge3R5cGVvZiBwYXJ0ID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICAgICAgcGFydFxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICB0bz17cGFydC5saW5rfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2FzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGFuYWx5dGljc1RyYWNrKCdCcmVhZGNydW1icyBjbGlja2VkJywge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBwYXJ0Lm5hbWUsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIC8vIGF3YWl0IHVwZGF0ZUZvY3VzZWRBcmVhKHBhcnQpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cGFydC5uYW1lfVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8Lz5cbiAgICAgICkpfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcblxuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgPiAudGFiLFxuICAuYXJyb3cge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjb2xvcjogIzFlMWUxZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICMxZTFlMWU7XG4gICAgfVxuICAgICYubGFzdCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gID4gLmFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB9XG4gIFtkaXI9J3J0bCddICYge1xuICAgID4gLmFycm93IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQWtFLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFHbEUsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUdPLE1BQU1JLFdBRVgsR0FBR0MsSUFBQSxJQUFlO0VBQUEsSUFBZDtJQUFFQztFQUFNLENBQUMsR0FBQUQsSUFBQTtFQUNiO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7RUFFQTtFQUNBOztFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBO0VBQ0E7O0VBRUE7O0VBRUEsb0JBQ0VQLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNDLFNBQVMscUJBQ1JYLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBO0lBQUtFLFNBQVMsRUFBQztFQUFLLEdBQ2pCSixLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQ04sT0FBT0EsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsR0FDM0JBLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBRVJSLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNQLFdBQUEsQ0FBQVUsSUFBSTtJQUFDQyxFQUFFLEVBQUVOLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ08sSUFBSSxJQUFJO0VBQUksR0FBRVAsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDUSxJQUFXLENBQ3RELENBQ0EsQ0FBQyxFQUVMUixLQUFLLENBQUNTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLElBQUksRUFBRUMsS0FBSyxrQkFDOUJwQixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxDQUFBVixNQUFBLENBQUFTLE9BQUEsQ0FBQVksUUFBQSxxQkFDRXJCLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNOLGdCQUFBLENBQUFrQixjQUFVO0lBQUNDLEdBQUcsRUFBRUgsS0FBTTtJQUFDUixTQUFTLEVBQUMsT0FBTztJQUFDWSxNQUFNLEVBQUMsS0FBSztJQUFDQyxLQUFLLEVBQUM7RUFBSyxDQUFFLENBQUMsZUFDckV6QixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQTtJQUFLRSxTQUFTLEVBQUcsTUFBS1EsS0FBSyxLQUFLWixLQUFLLENBQUNrQixNQUFNLEdBQUcsQ0FBQyxHQUFHLE9BQU8sR0FBRyxFQUFHO0VBQUUsR0FDL0QsT0FBT1AsSUFBSSxLQUFLLFFBQVEsR0FDdkJBLElBQUksZ0JBRUpuQixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxDQUFDUCxXQUFBLENBQUFVLElBQUk7SUFDSEMsRUFBRSxFQUFFSyxJQUFJLENBQUNKLElBQUs7SUFDZFksT0FBTyxFQUFFLE1BQUFBLENBQUEsS0FBWTtNQUNuQixJQUFBQyx5QkFBYyxFQUFDLHFCQUFxQixFQUFFO1FBQ3BDWixJQUFJLEVBQUVHLElBQUksQ0FBQ0g7TUFDYixDQUFDLENBQUM7TUFDRjtJQUNGO0VBQUUsR0FFREcsSUFBSSxDQUFDSCxJQUNGLENBRUwsQ0FDTCxDQUNILENBQ1EsQ0FBQztBQUVoQixDQUFDO0FBQUNhLE9BQUEsQ0FBQXZCLFdBQUEsR0FBQUEsV0FBQTtBQUVGLE1BQU1LLFNBQVMsR0FBR21CLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtUEE0QjNCIn0=