@kando-env/kando-ui 1.2.228-alpha.29 → 1.2.228-alpha.3

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 (569) hide show
  1. package/lib/Router.js +106 -38
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +46 -14
  3. package/lib/Widgets/EventsRow/EventsRow.js +46 -17
  4. package/lib/Widgets/Map/GraphUtils.js +5 -2
  5. package/lib/Widgets/Map/Map.js +88 -59
  6. package/lib/Widgets/Map/MapUtils.js +57 -6
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +31 -9
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +25 -10
  9. package/lib/Widgets/Map/edges/Edge.js +34 -11
  10. package/lib/Widgets/Map/edges/Edges.js +24 -13
  11. package/lib/Widgets/Map/edges/arrows/Arrows.js +24 -9
  12. package/lib/Widgets/Map/events/Event.js +27 -9
  13. package/lib/Widgets/Map/events/EventIndicator.js +46 -21
  14. package/lib/Widgets/Map/events/EventPath.js +24 -7
  15. package/lib/Widgets/Map/events/EventUtils.js +55 -5
  16. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +23 -7
  17. package/lib/Widgets/Map/events/PointOfEvent.js +38 -7
  18. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +17 -5
  19. package/lib/Widgets/Map/events/Snail.js +23 -9
  20. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +58 -17
  21. package/lib/Widgets/Map/map/FloatingGraph.js +20 -4
  22. package/lib/Widgets/Map/map/GraphDateButton.js +10 -4
  23. package/lib/Widgets/Map/matchGraph/MatchGraph.js +11 -5
  24. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +11 -5
  25. package/lib/Widgets/Map/points/PointIcon.js +23 -7
  26. package/lib/Widgets/Map/points/PointMarker.js +25 -15
  27. package/lib/Widgets/Map/points/PointMarkers.js +26 -18
  28. package/lib/Widgets/Map/points/PointUtils.js +95 -12
  29. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +53 -17
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +23 -6
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +17 -3
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -2
  33. package/lib/Widgets/MostPolluting/Areas/Areas.js +57 -21
  34. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
  35. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  36. package/lib/Widgets/MostPolluting/Areas/styles.js +8 -2
  37. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +12 -4
  38. package/lib/Widgets/MostPolluting/Factories/Factories.js +68 -32
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +22 -5
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +11 -2
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +18 -5
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +8 -4
  43. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
  44. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +8 -2
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +21 -6
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -14
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +10 -3
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -2
  50. package/lib/Widgets/MostPolluting/assets/index.js +29 -18
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +17 -2
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +27 -16
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +27 -5
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +34 -26
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +21 -5
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +44 -30
  57. package/lib/Widgets/MostPolluting/models.js +1 -1
  58. package/lib/Widgets/MostPolluting/styles.js +8 -2
  59. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +10 -3
  60. package/lib/Widgets/PotentialImpactSummary/Icon.js +12 -2
  61. package/lib/Widgets/PotentialImpactSummary/index.js +31 -9
  62. package/lib/Widgets/PotentialImpactSummary/index.test.js +37 -18
  63. package/lib/Widgets/PotentialImpactSummary/styles.js +16 -3
  64. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  65. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +11 -5
  66. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -8
  67. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +30 -20
  68. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +25 -16
  69. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +25 -9
  70. package/lib/Widgets/QualitySummary/QualitySummary.js +25 -9
  71. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
  72. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  73. package/lib/Widgets/QualitySummary/styles.js +16 -3
  74. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +24 -11
  75. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +38 -11
  76. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +19 -10
  77. package/lib/Widgets/UtilityInformation/UtilityInformation.js +51 -26
  78. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  79. package/lib/Widgets/UtilityInformation/styles.js +26 -4
  80. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
  81. package/lib/assets/icons/index.js +8 -5
  82. package/lib/assets/icons/kandoStepper/index.js +14 -9
  83. package/lib/components/ApplyButton/ApplyButton.js +12 -6
  84. package/lib/components/ApplyButton/index.js +5 -2
  85. package/lib/components/Backdrop/Backdrop.js +9 -3
  86. package/lib/components/ContentLoader/ContentLoader.js +13 -8
  87. package/lib/components/ContentLoader/index.js +2 -1
  88. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +15 -8
  89. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -3
  90. package/lib/components/CustomInputs/DoubleTabs/styles.js +11 -3
  91. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +22 -7
  92. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -2
  93. package/lib/components/CustomInputs/Search/Search.js +42 -15
  94. package/lib/components/CustomInputs/Search/index.js +5 -2
  95. package/lib/components/CustomInputs/Select/Select.js +35 -15
  96. package/lib/components/CustomInputs/Select/Select.stories.js +9 -3
  97. package/lib/components/DamageType/DamageType.js +80 -39
  98. package/lib/components/DamageType/index.js +5 -2
  99. package/lib/components/DataLoaderError/DataLoaderError.js +11 -5
  100. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +17 -7
  101. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +38 -18
  102. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +41 -14
  103. package/lib/components/DischargeHeatmap/HighchartsOptions.js +11 -7
  104. package/lib/components/DischargeHeatmap/index.js +5 -2
  105. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  106. package/lib/components/DischargeHeatmap/popupText.js +17 -2
  107. package/lib/components/DischargeHeatmap/titles.js +9 -2
  108. package/lib/components/DischargeHeatmap/types.js +1 -1
  109. package/lib/components/ErrorBoundary.js +16 -4
  110. package/lib/components/Events/Events.js +34 -7
  111. package/lib/components/Events/index.js +5 -2
  112. package/lib/components/Graph/Graph.js +80 -35
  113. package/lib/components/Graph/index.js +5 -2
  114. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +8 -2
  115. package/lib/components/Header/Breadcrumbs/index.js +5 -2
  116. package/lib/components/Header/DoubleTabs/DoubleTabs.js +34 -16
  117. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -3
  118. package/lib/components/Header/DoubleTabs/styles.js +11 -3
  119. package/lib/components/Header/Header.js +8 -2
  120. package/lib/components/Header/Header.stories.js +9 -3
  121. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +12 -2
  122. package/lib/components/Header/InfoBar/InfoBar.js +34 -6
  123. package/lib/components/Header/InfoBar/Search/Control.js +14 -3
  124. package/lib/components/Header/InfoBar/Search/GroupLabel.js +13 -2
  125. package/lib/components/Header/InfoBar/Search/Search.js +30 -7
  126. package/lib/components/Header/InfoBar/Search/SearchContainer.js +25 -6
  127. package/lib/components/Header/InfoBar/Search/index.js +5 -2
  128. package/lib/components/Header/InfoBar/Search/searchStyle.js +5 -2
  129. package/lib/components/Header/KandoNavbar/KandoNavbar.js +95 -48
  130. package/lib/components/Header/KandoNavbar/index.js +5 -2
  131. package/lib/components/Header/Slideshow/Slideshow.js +71 -33
  132. package/lib/components/Header/Slideshow/index.js +5 -2
  133. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +8 -2
  134. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +16 -3
  135. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +16 -2
  136. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +25 -8
  137. package/lib/components/Header/Toolbar/Toolbar.js +89 -49
  138. package/lib/components/InfoBar/InfoBar.js +27 -10
  139. package/lib/components/InfoBar/InfoBar.stories.js +9 -3
  140. package/lib/components/KandoModal/KandoModal.js +46 -21
  141. package/lib/components/KandoModal/index.js +5 -2
  142. package/lib/components/Link.js +12 -3
  143. package/lib/components/Links/CustomRedirect/CustomRedirect.js +13 -4
  144. package/lib/components/Links/StyledLink/StyledLink.js +17 -7
  145. package/lib/components/Links/StyledNavLink/StyledNavLink.js +15 -5
  146. package/lib/components/LiveEvents/CarouselSlide.js +12 -6
  147. package/lib/components/LiveEvents/LiveEvents.js +11 -2
  148. package/lib/components/LiveEvents/index.js +5 -2
  149. package/lib/components/LoaderByPercent/LoaderByPercent.js +24 -14
  150. package/lib/components/Map/Map.js +30 -14
  151. package/lib/components/Map/index.js +5 -2
  152. package/lib/components/Modal/Modal.js +11 -4
  153. package/lib/components/NarrowHeader.js +13 -2
  154. package/lib/components/PointInfo/PointInfo.js +23 -11
  155. package/lib/components/PointInfo/index.js +5 -2
  156. package/lib/components/PopupModal/PopupModal.js +18 -7
  157. package/lib/components/PopupModal/PopupModal.stories.js +12 -3
  158. package/lib/components/Sector/Sector.js +14 -5
  159. package/lib/components/Sector/Sector.test.js +9 -4
  160. package/lib/components/Sector/index.js +5 -2
  161. package/lib/components/Sector/sectorIcons.js +28 -2
  162. package/lib/components/SevereEvent/Eta/Eta.js +43 -16
  163. package/lib/components/SevereEvent/Eta/styles.js +6 -2
  164. package/lib/components/SevereEvent/SevereEvent.js +40 -17
  165. package/lib/components/Spinner/Spinner.js +11 -6
  166. package/lib/components/Spinner/Spinner.stories.js +9 -3
  167. package/lib/components/Spinner/index.js +5 -2
  168. package/lib/components/Spinner/styles.js +10 -2
  169. package/lib/components/Tabs/Tabs.js +29 -7
  170. package/lib/components/Tabs/Tabs.stories.js +9 -3
  171. package/lib/components/Tabs/assets/index.js +6 -1
  172. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +16 -4
  173. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +47 -14
  174. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +40 -14
  175. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +5 -2
  176. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +30 -10
  177. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +10 -5
  178. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +5 -2
  179. package/lib/components/TimeRangeSelector/TimeRangeList.js +17 -6
  180. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +28 -13
  181. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +40 -13
  182. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +11 -3
  183. package/lib/components/TimeRangeSelector/constants.js +2 -2
  184. package/lib/components/TimeRangeSelector/index.js +5 -2
  185. package/lib/components/Toggle/Toggle.js +25 -9
  186. package/lib/components/Toggle/index.js +5 -2
  187. package/lib/components/TrendGraph/TrendGraph.js +54 -19
  188. package/lib/components/TrendGraph/index.js +5 -2
  189. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +39 -12
  190. package/lib/components/TrendGraphNVL/index.js +5 -2
  191. package/lib/development-environment/index.js +14 -2
  192. package/lib/development-environment/mock/browser.js +9 -2
  193. package/lib/development-environment/mock/get.js +5 -1
  194. package/lib/development-environment/mock/handlers.js +26 -1
  195. package/lib/development-environment/mock/mockBus.js +7 -2
  196. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
  197. package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
  198. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
  199. package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
  200. package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
  201. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
  202. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
  203. package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
  204. package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
  205. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
  206. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
  207. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
  208. package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
  209. package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
  210. package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
  211. package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
  212. package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
  213. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
  214. package/lib/development-environment/togly/ToglyDashboard.js +26 -6
  215. package/lib/development-environment/togly/ToglyItem.js +29 -7
  216. package/lib/development-environment/togly/flags.js +1 -1
  217. package/lib/development-environment/togly/init.js +7 -2
  218. package/lib/development-environment/togly/macro.js +9 -7
  219. package/lib/development-environment/togly/useDoubleKeyDown.js +8 -1
  220. package/lib/development-environment/togly/useLocalStorage.js +20 -13
  221. package/lib/hooks/useApi.js +59 -38
  222. package/lib/hooks/useApiWithDashboardQuery.js +31 -11
  223. package/lib/hooks/useClickOutside.js +5 -1
  224. package/lib/hooks/useInitializeHeaders.js +8 -2
  225. package/lib/hooks/useKandoFetch.js +28 -14
  226. package/lib/hooks/useMap.js +38 -11
  227. package/lib/hooks/useNavContext.js +23 -14
  228. package/lib/hooks/useQueryURL.js +4 -1
  229. package/lib/hooks/useRemoveExistingLayers.js +7 -2
  230. package/lib/hooks/useUpdateEventBodyTail.js +10 -1
  231. package/lib/hooks/useUserTimeZone.js +9 -1
  232. package/lib/hooks/useUserTimeZone.test.js +13 -3
  233. package/lib/hooks/useWindowSize.js +20 -15
  234. package/lib/index.js +30 -14
  235. package/lib/macros/getVersion.js +3 -2
  236. package/lib/models/IAction.js +1 -1
  237. package/lib/models/IAppState.js +1 -1
  238. package/lib/pages/AreaPage/AreaPage.js +64 -31
  239. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +20 -7
  240. package/lib/pages/AreaPage/Dashboard/Dashboard.js +27 -4
  241. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +39 -13
  242. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +9 -7
  243. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +68 -30
  244. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +11 -2
  245. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +16 -4
  246. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +8 -4
  247. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  248. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
  249. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +11 -3
  250. package/lib/pages/AssessmentPage/AssessmentPage.js +34 -7
  251. package/lib/pages/CannyWidget/Feedback.js +29 -12
  252. package/lib/pages/CovidPage/CovidPage.js +18 -3
  253. package/lib/pages/CovidPage/components/Body.js +37 -11
  254. package/lib/pages/CovidPage/components/Map.js +42 -22
  255. package/lib/pages/CovidPage/components/Sidebar.js +22 -6
  256. package/lib/pages/CovidPage/components/Summary.js +33 -10
  257. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +39 -12
  258. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +5 -2
  259. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +45 -15
  260. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +5 -2
  261. package/lib/pages/CovidPage/components/areas/Area.js +37 -8
  262. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +49 -6
  263. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +22 -7
  264. package/lib/pages/CovidPage/components/areas/AreasList.js +37 -16
  265. package/lib/pages/CovidPage/components/areas/Sort.js +23 -7
  266. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -2
  267. package/lib/pages/EventsPage/Body/Body.js +23 -4
  268. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +32 -13
  269. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +32 -12
  270. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +12 -5
  271. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +12 -4
  272. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +11 -6
  273. package/lib/pages/EventsPage/DragAndDropArea/index.js +5 -2
  274. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +37 -9
  275. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +22 -3
  276. package/lib/pages/EventsPage/EventsPage.js +17 -3
  277. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +37 -12
  278. package/lib/pages/EventsPage/events/MoreInfo.js +23 -3
  279. package/lib/pages/EventsPage/events/Sidebar.js +22 -7
  280. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +33 -7
  281. package/lib/pages/EventsPage/events/event_info/EventDetails.js +33 -9
  282. package/lib/pages/EventsPage/events/event_info/EventInfo.js +45 -14
  283. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +15 -3
  284. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +44 -12
  285. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +13 -2
  286. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +34 -10
  287. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -2
  288. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +31 -9
  289. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +11 -3
  290. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +25 -7
  291. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +27 -6
  292. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +26 -6
  293. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +37 -8
  294. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +16 -4
  295. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +11 -3
  296. package/lib/pages/EventsPage/events/event_info/sources/Source.js +32 -9
  297. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +24 -6
  298. package/lib/pages/EventsPage/events/events_list/EventItem.js +28 -5
  299. package/lib/pages/EventsPage/events/events_list/EventUtils.js +14 -3
  300. package/lib/pages/EventsPage/events/events_list/EventsList.js +107 -41
  301. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +36 -13
  302. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +100 -33
  303. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +59 -12
  304. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +21 -7
  305. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +42 -17
  306. package/lib/pages/EventsPage/events/events_list/Sort.js +27 -6
  307. package/lib/pages/ImportFileWizard/FileUploadRespones.js +20 -5
  308. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +10 -4
  309. package/lib/pages/ImportFileWizard/ImportFile.js +33 -12
  310. package/lib/pages/ImportFileWizard/ResponseBody.js +13 -4
  311. package/lib/pages/ImportFileWizard/ValidationForm.js +28 -8
  312. package/lib/pages/ImportFileWizard/ValidationResponse.js +35 -9
  313. package/lib/pages/ImportFileWizard/importFileUtils.js +6 -5
  314. package/lib/pages/ImportFileWizard/index.js +5 -2
  315. package/lib/pages/ImportGisPage/ImportGisContainer.js +31 -9
  316. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +28 -11
  317. package/lib/pages/ImportGisPage/importGisUtils.js +18 -6
  318. package/lib/pages/ImportGisProcess/index.js +19 -5
  319. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +23 -7
  320. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +11 -4
  321. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +9 -2
  322. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +62 -27
  323. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +9 -3
  324. package/lib/pages/NotificationsPage/Notification/Notification.js +17 -9
  325. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  326. package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
  327. package/lib/pages/NotificationsPage/Notifications.stories.js +11 -3
  328. package/lib/pages/NotificationsPage/NotificationsPage.js +40 -14
  329. package/lib/pages/NotificationsPage/assets/index.js +24 -15
  330. package/lib/pages/NotificationsPageV2/NotificationsPage.js +87 -37
  331. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +25 -5
  332. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +44 -17
  333. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +53 -20
  334. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +48 -5
  335. package/lib/pages/NotificationsPageV2/notificationUtils.js +30 -3
  336. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  337. package/lib/pages/OldSitePage/OldSitePage.js +132 -65
  338. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +17 -4
  339. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -3
  340. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +10 -5
  341. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +13 -6
  342. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +13 -3
  343. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +27 -9
  344. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +21 -7
  345. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +11 -5
  346. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +13 -3
  347. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +28 -11
  348. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +13 -5
  349. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +63 -30
  350. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  351. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +11 -13
  352. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +22 -5
  353. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +19 -4
  354. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +17 -9
  355. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +18 -3
  356. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  357. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +11 -3
  358. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +8 -3
  359. package/lib/pages/ProfilePage/Container.js +6 -2
  360. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +47 -18
  361. package/lib/pages/ProfilePage/ProfilePage.js +92 -41
  362. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +36 -11
  363. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +18 -8
  364. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +18 -5
  365. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +111 -69
  366. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +25 -6
  367. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +16 -8
  368. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +30 -9
  369. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +26 -7
  370. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +22 -10
  371. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +14 -2
  372. package/lib/pages/SamplingsPage/DesktopActions/index.js +5 -2
  373. package/lib/pages/SamplingsPage/NavigationDropdown.js +22 -4
  374. package/lib/pages/SamplingsPage/NewSamplingAction.js +79 -29
  375. package/lib/pages/SamplingsPage/SamplingMobileModal.js +66 -13
  376. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +20 -6
  377. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +14 -3
  378. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +60 -24
  379. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +24 -6
  380. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +15 -2
  381. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +192 -113
  382. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +46 -13
  383. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +51 -16
  384. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +53 -17
  385. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +25 -7
  386. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +9 -3
  387. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +12 -2
  388. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +40 -9
  389. package/lib/pages/SamplingsPage/SamplingsMobileList.js +38 -12
  390. package/lib/pages/SamplingsPage/SamplingsPage.js +43 -16
  391. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +52 -16
  392. package/lib/pages/SamplingsPage/index.js +3 -1
  393. package/lib/pages/SamplingsPage/samplingsPageUtils.js +31 -8
  394. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +11 -3
  395. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -3
  396. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +18 -4
  397. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +12 -7
  398. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -16
  399. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +17 -8
  400. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +28 -19
  401. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +13 -3
  402. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +30 -11
  403. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +21 -7
  404. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +11 -5
  405. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +13 -3
  406. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +28 -11
  407. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +13 -5
  408. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +72 -34
  409. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  410. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +11 -13
  411. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +23 -6
  412. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +19 -4
  413. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +39 -18
  414. package/lib/pages/SitePage/SamplingParameters/dataParser.js +31 -15
  415. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +7 -3
  416. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  417. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +11 -3
  418. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +9 -3
  419. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +13 -6
  420. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -2
  421. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +16 -6
  422. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +52 -19
  423. package/lib/pages/SitePage/SiteInformation/style.js +9 -3
  424. package/lib/pages/SitePage/SitePage.js +79 -36
  425. package/lib/pages/UploadLabResult/index.js +9 -2
  426. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +42 -12
  427. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +10 -3
  428. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +17 -3
  429. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -3
  430. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +39 -11
  431. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +6 -2
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +8 -2
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +11 -2
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +17 -8
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  436. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +11 -2
  437. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +6 -2
  438. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +29 -5
  439. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +20 -14
  440. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +20 -7
  441. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +24 -7
  442. package/lib/pages/WbeDashboard/ExpandableComponent.js +15 -3
  443. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -7
  444. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +23 -8
  445. package/lib/pages/WbeDashboard/SearchInput.js +26 -6
  446. package/lib/pages/WbeDashboard/SummaryGraph.js +69 -34
  447. package/lib/pages/WbeDashboard/SummaryGraphModal.js +14 -2
  448. package/lib/pages/WbeDashboard/Tabs.js +10 -4
  449. package/lib/pages/WbeDashboard/WbeDashboardPage.js +116 -27
  450. package/lib/pages/WbeDashboard/WbeSummaryBar.js +46 -10
  451. package/lib/providers/Slideshow/SlideshowContext.js +5 -3
  452. package/lib/providers/Slideshow/SlideshowProvider.js +35 -18
  453. package/lib/providers/Slideshow/SlideshowRunner.js +17 -7
  454. package/lib/providers/UrlHistory/UrlHistoryContext.js +8 -4
  455. package/lib/providers/UrlHistory/UrlHistoryProvider.js +16 -2
  456. package/lib/providers/UrlHistory/index.js +9 -6
  457. package/lib/providers/UrlHistory/useLastVisited.js +7 -1
  458. package/lib/react-app-env.d.js +1 -1
  459. package/lib/store/ImportGis/action.js +1 -1
  460. package/lib/store/ImportGis/actionTypes.js +6 -5
  461. package/lib/store/ImportGis/actionsCreator.js +17 -7
  462. package/lib/store/ImportGis/models/gisImports.js +1 -1
  463. package/lib/store/ImportGis/reducer.js +19 -3
  464. package/lib/store/WBE/actionTypes.js +1 -1
  465. package/lib/store/WBE/actions.js +3 -1
  466. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  467. package/lib/store/WBE/models/IWBE.js +1 -1
  468. package/lib/store/WBE/models/IWBEState.js +1 -1
  469. package/lib/store/WBE/reducer.js +10 -3
  470. package/lib/store/areas/actionTypes.js +2 -2
  471. package/lib/store/areas/actions.js +12 -3
  472. package/lib/store/areas/models/IArea.js +1 -1
  473. package/lib/store/areas/models/IAreasState.js +1 -1
  474. package/lib/store/areas/reducer.js +9 -1
  475. package/lib/store/context/actionTypes.js +2 -2
  476. package/lib/store/context/actions.js +6 -2
  477. package/lib/store/context/contextMiddlewares.js +9 -1
  478. package/lib/store/context/models/INavContext.js +1 -1
  479. package/lib/store/context/models/INavContextState.js +1 -1
  480. package/lib/store/context/reducer.js +10 -3
  481. package/lib/store/dashboard/dashboardSlice.js +3 -1
  482. package/lib/store/dashboard/periodType.js +1 -1
  483. package/lib/store/edges/actionTypes.js +2 -2
  484. package/lib/store/edges/actions.js +9 -3
  485. package/lib/store/edges/models/IEdge.js +1 -1
  486. package/lib/store/edges/models/IEdgesState.js +1 -1
  487. package/lib/store/edges/reducer.js +17 -3
  488. package/lib/store/events/actionTypes.js +2 -2
  489. package/lib/store/events/actions.js +28 -10
  490. package/lib/store/events/models/IEvent.js +1 -1
  491. package/lib/store/events/models/IEventsState.js +1 -1
  492. package/lib/store/events/models/ISource.js +1 -1
  493. package/lib/store/events/reducer.js +42 -4
  494. package/lib/store/filters/IFilter.js +1 -1
  495. package/lib/store/filters/IFilterItem.js +1 -1
  496. package/lib/store/global/actionTypes.js +2 -2
  497. package/lib/store/global/actions.js +20 -8
  498. package/lib/store/global/models/IGlobalState.js +1 -1
  499. package/lib/store/global/reducer.js +19 -3
  500. package/lib/store/permissions/permissionsSlice.js +6 -1
  501. package/lib/store/points/actionTypes.js +2 -2
  502. package/lib/store/points/actions.js +5 -1
  503. package/lib/store/points/models/IGroup.js +1 -1
  504. package/lib/store/points/models/IPoint.js +1 -1
  505. package/lib/store/points/models/IPointsState.js +1 -1
  506. package/lib/store/points/reducer.js +7 -1
  507. package/lib/store/rootActionTypes.js +1 -1
  508. package/lib/store/rootActions.js +3 -1
  509. package/lib/store/rootReducer.js +24 -5
  510. package/lib/store/rootStore.js +13 -5
  511. package/lib/store/samplings/action.js +1 -1
  512. package/lib/store/samplings/actionTypes.js +6 -5
  513. package/lib/store/samplings/actionsCreator.js +5 -2
  514. package/lib/store/samplings/models/Samplings.js +1 -1
  515. package/lib/store/samplings/reducer.js +10 -2
  516. package/lib/styles/StylesLayout.js +8 -2
  517. package/lib/styles/theme/theme.js +4 -2
  518. package/lib/test/mocks/browser.js +8 -4
  519. package/lib/test/test-utils.js +22 -12
  520. package/lib/ui-kit/Button/Button.js +24 -16
  521. package/lib/ui-kit/Button/Button.test.js +30 -8
  522. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  523. package/lib/ui-kit/Checkbox/Checkbox.js +22 -8
  524. package/lib/ui-kit/DropDown/DropDown.js +17 -6
  525. package/lib/ui-kit/DropDown/DropDown.test.js +13 -7
  526. package/lib/ui-kit/DropDown/DropDownItem.js +14 -6
  527. package/lib/ui-kit/DropDown/DropdownToggle.js +14 -3
  528. package/lib/ui-kit/IconAction/IconAction.js +10 -4
  529. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +54 -19
  530. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +28 -17
  531. package/lib/ui-kit/KandoList/KandoList.js +19 -6
  532. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  533. package/lib/ui-kit/KandoTable/KandoTable.js +39 -23
  534. package/lib/ui-kit/KandoTable/KandoTable.test.js +17 -2
  535. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  536. package/lib/ui-kit/Layout/Layout.js +9 -2
  537. package/lib/ui-kit/MobileInput/MobileInput.js +34 -19
  538. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +15 -9
  539. package/lib/ui-kit/ModalConfirmation/index.js +3 -1
  540. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -6
  541. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +12 -4
  542. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +11 -4
  543. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +15 -6
  544. package/lib/ui-kit/Tooltip/Tooltip.js +9 -4
  545. package/lib/ui-kit/index.js +15 -1
  546. package/lib/ui-kit/kandoStepper/KandoStepper.js +8 -3
  547. package/lib/utilities/ActionUtility.js +2 -1
  548. package/lib/utilities/Alert.js +11 -3
  549. package/lib/utilities/Analytics.js +13 -2
  550. package/lib/utilities/Array.js +6 -2
  551. package/lib/utilities/Enum.js +39 -22
  552. package/lib/utilities/ErrorBoundary.js +19 -4
  553. package/lib/utilities/File.js +66 -43
  554. package/lib/utilities/GetDir.js +9 -5
  555. package/lib/utilities/KandoDate.js +8 -2
  556. package/lib/utilities/KandoModal.js +26 -9
  557. package/lib/utilities/LocalStorage.js +13 -2
  558. package/lib/utilities/ThousandsToK.js +3 -1
  559. package/lib/utilities/TimeFormat.js +23 -8
  560. package/lib/utilities/Truncate.js +31 -9
  561. package/lib/utilities/edgesMath.js +28 -9
  562. package/lib/utilities/i18n.js +15 -2
  563. package/lib/utilities/kql.js +10 -3
  564. package/lib/utilities/map/icons.js +19 -2
  565. package/lib/utilities/scoreToColor.js +8 -1
  566. package/lib/utilities/time.js +10 -3
  567. package/lib/utilities/uploadToS3.js +10 -2
  568. package/lib/utilities/urls.js +13 -5
  569. package/package.json +2 -4
@@ -1,22 +1,30 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.default = exports.Default = void 0;
8
+ exports.Default = exports.default = void 0;
9
+
8
10
  var _msw = require("msw");
11
+
9
12
  var _react = _interopRequireDefault(require("react"));
13
+
10
14
  var _NotificationsPage = require("./NotificationsPage");
15
+
11
16
  var _Notifications = require("./Notifications.mock");
17
+
12
18
  var _default = {
13
19
  title: 'UI/Widgets/Notifications',
14
20
  component: _NotificationsPage.NotificationsPage
15
21
  };
16
22
  exports.default = _default;
23
+
17
24
  var Template = function Template(args) {
18
25
  return /*#__PURE__*/_react.default.createElement(_NotificationsPage.NotificationsPage, args);
19
26
  };
27
+
20
28
  var Default = Template.bind({});
21
29
  exports.Default = Default;
22
30
  Default.args = {
@@ -27,4 +35,4 @@ Default.parameters = {
27
35
  return res(ctx.json(_Notifications.notifications));
28
36
  })]
29
37
  };
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbXN3IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTm90aWZpY2F0aW9uc1BhZ2UiLCJfTm90aWZpY2F0aW9ucyIsIl9kZWZhdWx0IiwidGl0bGUiLCJjb21wb25lbnQiLCJOb3RpZmljYXRpb25zUGFnZSIsImV4cG9ydHMiLCJkZWZhdWx0IiwiVGVtcGxhdGUiLCJhcmdzIiwiY3JlYXRlRWxlbWVudCIsIkRlZmF1bHQiLCJiaW5kIiwiYWN0aXZlIiwicGFyYW1ldGVycyIsIm1zdyIsInJlc3QiLCJnZXQiLCJyZXEiLCJyZXMiLCJjdHgiLCJqc29uIiwibm90aWZpY2F0aW9ucyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZS9Ob3RpZmljYXRpb25zLnN0b3JpZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGEsIFN0b3J5IH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdCc7XG5pbXBvcnQgeyByZXN0IH0gZnJvbSAnbXN3JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zUGFnZSB9IGZyb20gJy4vTm90aWZpY2F0aW9uc1BhZ2UnO1xuaW1wb3J0IHsgbm90aWZpY2F0aW9ucyB9IGZyb20gJy4vTm90aWZpY2F0aW9ucy5tb2NrJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICB0aXRsZTogJ1VJL1dpZGdldHMvTm90aWZpY2F0aW9ucycsXG4gIGNvbXBvbmVudDogTm90aWZpY2F0aW9uc1BhZ2UsXG59IGFzIE1ldGE7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcHMge31cbmNvbnN0IFRlbXBsYXRlOiBTdG9yeTxQcm9wcz4gPSAoYXJncykgPT4gPE5vdGlmaWNhdGlvbnNQYWdlIHsuLi5hcmdzfSAvPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHQgPSBUZW1wbGF0ZS5iaW5kKHt9KTtcbkRlZmF1bHQuYXJncyA9IHtcbiAgYWN0aXZlOiB0cnVlLFxufTtcblxuRGVmYXVsdC5wYXJhbWV0ZXJzID0ge1xuICBtc3c6IFtcbiAgICByZXN0LmdldCgnL25vdGlmaWNhdGlvbnMnLCAocmVxLCByZXMsIGN0eCkgPT4ge1xuICAgICAgcmV0dXJuIHJlcyhjdHguanNvbihub3RpZmljYXRpb25zKSk7XG4gICAgfSksXG4gIF0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUosT0FBQTtBQUFxRCxJQUFBSyxRQUFBLEdBRXRDO0VBQ2JDLEtBQUssRUFBRSwwQkFBMEI7RUFDakNDLFNBQVMsRUFBRUM7QUFDYixDQUFDO0FBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUFBTCxRQUFBO0FBR0QsSUFBTU0sUUFBc0IsR0FBRyxTQUF6QkEsUUFBc0JBLENBQUlDLElBQUk7RUFBQSxvQkFBS1gsTUFBQSxDQUFBUyxPQUFBLENBQUFHLGFBQUEsQ0FBQ1Ysa0JBQUEsQ0FBQUssaUJBQWlCLEVBQUtJLElBQU8sQ0FBQztBQUFBO0FBRWpFLElBQU1FLE9BQU8sR0FBR0gsUUFBUSxDQUFDSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFBQ04sT0FBQSxDQUFBSyxPQUFBLEdBQUFBLE9BQUE7QUFDekNBLE9BQU8sQ0FBQ0YsSUFBSSxHQUFHO0VBQ2JJLE1BQU0sRUFBRTtBQUNWLENBQUM7QUFFREYsT0FBTyxDQUFDRyxVQUFVLEdBQUc7RUFDbkJDLEdBQUcsRUFBRSxDQUNIQyxTQUFJLENBQUNDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsR0FBRyxFQUFLO0lBQzVDLE9BQU9ELEdBQUcsQ0FBQ0MsR0FBRyxDQUFDQyxJQUFJLENBQUNDLDRCQUFhLENBQUMsQ0FBQztFQUNyQyxDQUFDLENBQUM7QUFFTixDQUFDIn0=
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZS9Ob3RpZmljYXRpb25zLnN0b3JpZXMudHN4Il0sIm5hbWVzIjpbInRpdGxlIiwiY29tcG9uZW50IiwiTm90aWZpY2F0aW9uc1BhZ2UiLCJUZW1wbGF0ZSIsImFyZ3MiLCJEZWZhdWx0IiwiYmluZCIsImFjdGl2ZSIsInBhcmFtZXRlcnMiLCJtc3ciLCJyZXN0IiwiZ2V0IiwicmVxIiwicmVzIiwiY3R4IiwianNvbiIsIm5vdGlmaWNhdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztlQUVlO0FBQ2JBLEVBQUFBLEtBQUssRUFBRSwwQkFETTtBQUViQyxFQUFBQSxTQUFTLEVBQUVDO0FBRkUsQzs7O0FBTWYsSUFBTUMsUUFBc0IsR0FBRyxTQUF6QkEsUUFBeUIsQ0FBQ0MsSUFBRDtBQUFBLHNCQUFVLDZCQUFDLG9DQUFELEVBQXVCQSxJQUF2QixDQUFWO0FBQUEsQ0FBL0I7O0FBRU8sSUFBTUMsT0FBTyxHQUFHRixRQUFRLENBQUNHLElBQVQsQ0FBYyxFQUFkLENBQWhCOztBQUNQRCxPQUFPLENBQUNELElBQVIsR0FBZTtBQUNiRyxFQUFBQSxNQUFNLEVBQUU7QUFESyxDQUFmO0FBSUFGLE9BQU8sQ0FBQ0csVUFBUixHQUFxQjtBQUNuQkMsRUFBQUEsR0FBRyxFQUFFLENBQ0hDLFVBQUtDLEdBQUwsQ0FBUyxnQkFBVCxFQUEyQixVQUFDQyxHQUFELEVBQU1DLEdBQU4sRUFBV0MsR0FBWCxFQUFtQjtBQUM1QyxXQUFPRCxHQUFHLENBQUNDLEdBQUcsQ0FBQ0MsSUFBSixDQUFTQyw0QkFBVCxDQUFELENBQVY7QUFDRCxHQUZELENBREc7QUFEYyxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGEsIFN0b3J5IH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdCc7XG5pbXBvcnQgeyByZXN0IH0gZnJvbSAnbXN3JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zUGFnZSB9IGZyb20gJy4vTm90aWZpY2F0aW9uc1BhZ2UnO1xuaW1wb3J0IHsgbm90aWZpY2F0aW9ucyB9IGZyb20gJy4vTm90aWZpY2F0aW9ucy5tb2NrJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICB0aXRsZTogJ1VJL1dpZGdldHMvTm90aWZpY2F0aW9ucycsXG4gIGNvbXBvbmVudDogTm90aWZpY2F0aW9uc1BhZ2UsXG59IGFzIE1ldGE7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcHMge31cbmNvbnN0IFRlbXBsYXRlOiBTdG9yeTxQcm9wcz4gPSAoYXJncykgPT4gPE5vdGlmaWNhdGlvbnNQYWdlIHsuLi5hcmdzfSAvPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHQgPSBUZW1wbGF0ZS5iaW5kKHt9KTtcbkRlZmF1bHQuYXJncyA9IHtcbiAgYWN0aXZlOiB0cnVlLFxufTtcblxuRGVmYXVsdC5wYXJhbWV0ZXJzID0ge1xuICBtc3c6IFtcbiAgICByZXN0LmdldCgnL25vdGlmaWNhdGlvbnMnLCAocmVxLCByZXMsIGN0eCkgPT4ge1xuICAgICAgcmV0dXJuIHJlcyhjdHguanNvbihub3RpZmljYXRpb25zKSk7XG4gICAgfSksXG4gIF0sXG59O1xuIl19
@@ -1,31 +1,50 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.NotificationsPage = void 0;
11
+
9
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
+
10
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
11
16
  var _react = _interopRequireWildcard(require("react"));
17
+
12
18
  var _PrimaryButton = require("components/CustomInputs/PrimaryButton/PrimaryButton");
19
+
13
20
  var _Notification = require("./Notification/Notification");
21
+
14
22
  var _useApi3 = require("hooks/useApi");
23
+
15
24
  var _EditNotificationModal = require("./EditNotificationModal/EditNotificationModal");
25
+
16
26
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
27
+
17
28
  var _Analytics = require("../../utilities/Analytics");
29
+
18
30
  var _reactRedux = require("react-redux");
31
+
32
+ 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); }
33
+
34
+ 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; }
35
+
19
36
  var NotificationsPage = function NotificationsPage() {
20
37
  var _useApi = (0, _useApi3.useApi)('/notifications'),
21
- _useApi2 = (0, _slicedToArray2.default)(_useApi, 3),
22
- response = _useApi2[0],
23
- isLoading = _useApi2[1],
24
- Error = _useApi2[2];
38
+ _useApi2 = (0, _slicedToArray2.default)(_useApi, 3),
39
+ response = _useApi2[0],
40
+ isLoading = _useApi2[1],
41
+ Error = _useApi2[2];
42
+
25
43
  var _useState = (0, _react.useState)([]),
26
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
27
- notificationsArray = _useState2[0],
28
- setNotificationsArray = _useState2[1];
44
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
+ notificationsArray = _useState2[0],
46
+ setNotificationsArray = _useState2[1];
47
+
29
48
  var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
30
49
  return state.global_data.waterAuthorityName;
31
50
  });
@@ -33,20 +52,25 @@ var NotificationsPage = function NotificationsPage() {
33
52
  (0, _Analytics.analyticsTrack)('Viewed Notification Page', {
34
53
  utility_name: waterAuthorityName
35
54
  });
36
- if (!isLoading && !Error && response !== null && response !== void 0 && response.data) {
55
+
56
+ if (!isLoading && !Error && (response === null || response === void 0 ? void 0 : response.data)) {
37
57
  setNotificationsArray(response.data);
38
58
  }
39
59
  }, [response, isLoading]);
60
+
40
61
  var _useState3 = (0, _react.useState)(undefined),
41
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
42
- notificationToEdit = _useState4[0],
43
- setNotificationToEdit = _useState4[1];
62
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
63
+ notificationToEdit = _useState4[0],
64
+ setNotificationToEdit = _useState4[1];
65
+
44
66
  var closeModal = function closeModal() {
45
67
  setNotificationToEdit(undefined);
46
68
  };
69
+
47
70
  var updateNotification = function updateNotification() {
48
71
  closeModal();
49
72
  };
73
+
50
74
  return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement("div", {
51
75
  className: "top"
52
76
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -75,9 +99,11 @@ var NotificationsPage = function NotificationsPage() {
75
99
  show: notificationToEdit !== undefined
76
100
  }));
77
101
  };
102
+
78
103
  exports.NotificationsPage = NotificationsPage;
104
+
79
105
  var Container = _styledComponents.default.div.withConfig({
80
106
  displayName: "NotificationsPage__Container",
81
107
  componentId: "sc-5istr7-0"
82
108
  })(["color:#1d1d1d;padding:60px 33px;> .top{> .title{font-size:36px;font-weight:700;line-height:0.61;}> .subtitle{padding-top:19px;font-family:Gilroy;font-size:18px;line-height:1.22;}}> .bottom{margin-top:-20px;> .add-btn{margin-left:auto;display:block;}> .notifications-table{padding-top:34px;}}@media (max-width:1200px){> .bottom{margin-top:20px;}}"]);
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUHJpbWFyeUJ1dHRvbiIsIl9Ob3RpZmljYXRpb24iLCJfdXNlQXBpMyIsIl9FZGl0Tm90aWZpY2F0aW9uTW9kYWwiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJOb3RpZmljYXRpb25zUGFnZSIsIl91c2VBcGkiLCJ1c2VBcGkiLCJfdXNlQXBpMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJyZXNwb25zZSIsImlzTG9hZGluZyIsIkVycm9yIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwibm90aWZpY2F0aW9uc0FycmF5Iiwic2V0Tm90aWZpY2F0aW9uc0FycmF5Iiwid2F0ZXJBdXRob3JpdHlOYW1lIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwidXNlRWZmZWN0IiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJkYXRhIiwiX3VzZVN0YXRlMyIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZTQiLCJub3RpZmljYXRpb25Ub0VkaXQiLCJzZXROb3RpZmljYXRpb25Ub0VkaXQiLCJjbG9zZU1vZGFsIiwidXBkYXRlTm90aWZpY2F0aW9uIiwiY3JlYXRlRWxlbWVudCIsIkNvbnRhaW5lciIsImNsYXNzTmFtZSIsImkxOG4iLCJ0IiwiUHJpbWFyeUJ1dHRvbiIsImZvbnRTaXplIiwibWFwIiwibm90aWZpY2F0aW9uIiwiaW5kZXgiLCJOb3RpZmljYXRpb24iLCJvbkNsaWNrIiwia2V5IiwiRWRpdE5vdGlmaWNhdGlvbk1vZGFsIiwic2F2ZSIsInNob3ciLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2UvTm90aWZpY2F0aW9uc1BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJpbWFyeUJ1dHRvbiB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0N1c3RvbUlucHV0cy9QcmltYXJ5QnV0dG9uL1ByaW1hcnlCdXR0b24nO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb24nO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuL05vdGlmaWNhdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IHVzZUFwaSB9IGZyb20gJ3NyYy9ob29rcy91c2VBcGknO1xuaW1wb3J0IHsgRWRpdE5vdGlmaWNhdGlvbk1vZGFsIH0gZnJvbSAnLi9FZGl0Tm90aWZpY2F0aW9uTW9kYWwvRWRpdE5vdGlmaWNhdGlvbk1vZGFsJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb25zUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgW3Jlc3BvbnNlLCBpc0xvYWRpbmcsIEVycm9yXSA9XG4gICAgdXNlQXBpPE5vdGlmaWNhdGlvbk1vZGVsW10+KCcvbm90aWZpY2F0aW9ucycpO1xuICBjb25zdCBbbm90aWZpY2F0aW9uc0FycmF5LCBzZXROb3RpZmljYXRpb25zQXJyYXldID0gdXNlU3RhdGU8XG4gICAgTm90aWZpY2F0aW9uTW9kZWxbXVxuICA+KFtdKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBOb3RpZmljYXRpb24gUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGlmICghaXNMb2FkaW5nICYmICFFcnJvciAmJiByZXNwb25zZT8uZGF0YSkge1xuICAgICAgc2V0Tm90aWZpY2F0aW9uc0FycmF5KHJlc3BvbnNlLmRhdGEpO1xuICAgIH1cbiAgfSwgW3Jlc3BvbnNlLCBpc0xvYWRpbmddKTtcblxuICBjb25zdCBbbm90aWZpY2F0aW9uVG9FZGl0LCBzZXROb3RpZmljYXRpb25Ub0VkaXRdID0gdXNlU3RhdGU8XG4gICAgTm90aWZpY2F0aW9uTW9kZWwgfCB1bmRlZmluZWRcbiAgPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0IGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0Tm90aWZpY2F0aW9uVG9FZGl0KHVuZGVmaW5lZCk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlTm90aWZpY2F0aW9uID0gKCkgPT4ge1xuICAgIGNsb3NlTW9kYWwoKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnRpdGxlJyl9PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3VidGl0bGVcIj57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uuc3VidGl0bGUnKX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3R0b21cIj5cbiAgICAgICAgPFByaW1hcnlCdXR0b24gY2xhc3NOYW1lPVwiYWRkLWJ0blwiIGZvbnRTaXplPVwiMThweFwiPlxuICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5hZGRfbmV3Jyl9XG4gICAgICAgIDwvUHJpbWFyeUJ1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJub3RpZmljYXRpb25zLXRhYmxlXCI+XG4gICAgICAgICAge25vdGlmaWNhdGlvbnNBcnJheS5tYXAoKG5vdGlmaWNhdGlvbiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Tm90aWZpY2F0aW9uVG9FZGl0KG5vdGlmaWNhdGlvbil9XG4gICAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPEVkaXROb3RpZmljYXRpb25Nb2RhbFxuICAgICAgICBjbG9zZU1vZGFsPXtjbG9zZU1vZGFsfVxuICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvblRvRWRpdH1cbiAgICAgICAgc2F2ZT17dXBkYXRlTm90aWZpY2F0aW9ufVxuICAgICAgICBzaG93PXtub3RpZmljYXRpb25Ub0VkaXQgIT09IHVuZGVmaW5lZH1cbiAgICAgIC8+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogIzFkMWQxZDtcbiAgcGFkZGluZzogNjBweCAzM3B4O1xuICA+IC50b3Age1xuICAgID4gLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMC42MTtcbiAgICB9XG5cbiAgICA+IC5zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTlweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBHaWxyb3k7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yMjtcbiAgICB9XG4gIH1cblxuICA+IC5ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgID4gLmFkZC1idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICA+IC5ub3RpZmljYXRpb25zLXRhYmxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICA+IC5ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxzQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBQyxzQkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBRU8sSUFBTVMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQSxFQUFTO0VBQ3JDLElBQUFDLE9BQUEsR0FDRSxJQUFBQyxlQUFNLEVBQXNCLGdCQUFnQixDQUFDO0lBQUFDLFFBQUEsT0FBQUMsZUFBQSxDQUFBQyxPQUFBLEVBQUFKLE9BQUE7SUFEeENLLFFBQVEsR0FBQUgsUUFBQTtJQUFFSSxTQUFTLEdBQUFKLFFBQUE7SUFBRUssS0FBSyxHQUFBTCxRQUFBO0VBRWpDLElBQUFNLFNBQUEsR0FBb0QsSUFBQUMsZUFBUSxFQUUxRCxFQUFFLENBQUM7SUFBQUMs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
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZS9Ob3RpZmljYXRpb25zUGFnZS50c3giXSwibmFtZXMiOlsiTm90aWZpY2F0aW9uc1BhZ2UiLCJyZXNwb25zZSIsImlzTG9hZGluZyIsIkVycm9yIiwibm90aWZpY2F0aW9uc0FycmF5Iiwic2V0Tm90aWZpY2F0aW9uc0FycmF5Iiwid2F0ZXJBdXRob3JpdHlOYW1lIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsInV0aWxpdHlfbmFtZSIsImRhdGEiLCJ1bmRlZmluZWQiLCJub3RpZmljYXRpb25Ub0VkaXQiLCJzZXROb3RpZmljYXRpb25Ub0VkaXQiLCJjbG9zZU1vZGFsIiwidXBkYXRlTm90aWZpY2F0aW9uIiwiaTE4biIsInQiLCJtYXAiLCJub3RpZmljYXRpb24iLCJpbmRleCIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVPLElBQU1BLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsR0FBTTtBQUNyQyxnQkFDRSxxQkFBNEIsZ0JBQTVCLENBREY7QUFBQTtBQUFBLE1BQU9DLFFBQVA7QUFBQSxNQUFpQkMsU0FBakI7QUFBQSxNQUE0QkMsS0FBNUI7O0FBRUEsa0JBQW9ELHFCQUVsRCxFQUZrRCxDQUFwRDtBQUFBO0FBQUEsTUFBT0Msa0JBQVA7QUFBQSxNQUEyQkMscUJBQTNCOztBQUdBLE1BQU1DLGtCQUFrQixHQUFHLDZCQUN6QixVQUFDQyxLQUFEO0FBQUEsV0FBV0EsS0FBSyxDQUFDQyxXQUFOLENBQWtCRixrQkFBN0I7QUFBQSxHQUR5QixDQUEzQjtBQUdBLHdCQUFVLFlBQU07QUFDZCxtQ0FBZSwwQkFBZixFQUEyQztBQUN6Q0csTUFBQUEsWUFBWSxFQUFFSDtBQUQyQixLQUEzQzs7QUFHQSxRQUFJLENBQUNKLFNBQUQsSUFBYyxDQUFDQyxLQUFmLEtBQXdCRixRQUF4QixhQUF3QkEsUUFBeEIsdUJBQXdCQSxRQUFRLENBQUVTLElBQWxDLENBQUosRUFBNEM7QUFDMUNMLE1BQUFBLHFCQUFxQixDQUFDSixRQUFRLENBQUNTLElBQVYsQ0FBckI7QUFDRDtBQUNGLEdBUEQsRUFPRyxDQUFDVCxRQUFELEVBQVdDLFNBQVgsQ0FQSDs7QUFTQSxtQkFBb0QscUJBRWxEUyxTQUZrRCxDQUFwRDtBQUFBO0FBQUEsTUFBT0Msa0JBQVA7QUFBQSxNQUEyQkMscUJBQTNCOztBQUlBLE1BQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFhLEdBQU07QUFDdkJELElBQUFBLHFCQUFxQixDQUFDRixTQUFELENBQXJCO0FBQ0QsR0FGRDs7QUFJQSxNQUFNSSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLEdBQU07QUFDL0JELElBQUFBLFVBQVU7QUFDWCxHQUZEOztBQUlBLHNCQUNFLDZCQUFDLFNBQUQscUJBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUF3QkUsY0FBS0MsQ0FBTCxDQUFPLDBCQUFQLENBQXhCLENBREYsZUFFRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FBMkJELGNBQUtDLENBQUwsQ0FBTyw2QkFBUCxDQUEzQixDQUZGLENBREYsZUFLRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0UsNkJBQUMsNEJBQUQ7QUFBZSxJQUFBLFNBQVMsRUFBQyxTQUF6QjtBQUFtQyxJQUFBLFFBQVEsRUFBQztBQUE1QyxLQUNHRCxjQUFLQyxDQUFMLENBQU8sNEJBQVAsQ0FESCxDQURGLGVBSUU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0diLGtCQUFrQixDQUFDYyxHQUFuQixDQUF1QixVQUFDQyxZQUFELEVBQWVDLEtBQWY7QUFBQSx3QkFDdEIsNkJBQUMsMEJBQUQ7QUFDRSxNQUFBLE9BQU8sRUFBRTtBQUFBLGVBQU1QLHFCQUFxQixDQUFDTSxZQUFELENBQTNCO0FBQUEsT0FEWDtBQUVFLE1BQUEsWUFBWSxFQUFFQSxZQUZoQjtBQUdFLE1BQUEsR0FBRyxFQUFFQztBQUhQLE1BRHNCO0FBQUEsR0FBdkIsQ0FESCxDQUpGLENBTEYsZUFvQkUsNkJBQUMsNENBQUQ7QUFDRSxJQUFBLFVBQVUsRUFBRU4sVUFEZDtBQUVFLElBQUEsWUFBWSxFQUFFRixrQkFGaEI7QUFHRSxJQUFBLElBQUksRUFBRUcsa0JBSFI7QUFJRSxJQUFBLElBQUksRUFBRUgsa0JBQWtCLEtBQUtEO0FBSi9CLElBcEJGLENBREY7QUE2QkQsQ0EzRE07Ozs7QUE2RFAsSUFBTVUsU0FBUyxHQUFHQywwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxpV0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJpbWFyeUJ1dHRvbiB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0N1c3RvbUlucHV0cy9QcmltYXJ5QnV0dG9uL1ByaW1hcnlCdXR0b24nO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb24nO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuL05vdGlmaWNhdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IHVzZUFwaSB9IGZyb20gJ3NyYy9ob29rcy91c2VBcGknO1xuaW1wb3J0IHsgRWRpdE5vdGlmaWNhdGlvbk1vZGFsIH0gZnJvbSAnLi9FZGl0Tm90aWZpY2F0aW9uTW9kYWwvRWRpdE5vdGlmaWNhdGlvbk1vZGFsJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb25zUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgW3Jlc3BvbnNlLCBpc0xvYWRpbmcsIEVycm9yXSA9XG4gICAgdXNlQXBpPE5vdGlmaWNhdGlvbk1vZGVsW10+KCcvbm90aWZpY2F0aW9ucycpO1xuICBjb25zdCBbbm90aWZpY2F0aW9uc0FycmF5LCBzZXROb3RpZmljYXRpb25zQXJyYXldID0gdXNlU3RhdGU8XG4gICAgTm90aWZpY2F0aW9uTW9kZWxbXVxuICA+KFtdKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBOb3RpZmljYXRpb24gUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGlmICghaXNMb2FkaW5nICYmICFFcnJvciAmJiByZXNwb25zZT8uZGF0YSkge1xuICAgICAgc2V0Tm90aWZpY2F0aW9uc0FycmF5KHJlc3BvbnNlLmRhdGEpO1xuICAgIH1cbiAgfSwgW3Jlc3BvbnNlLCBpc0xvYWRpbmddKTtcblxuICBjb25zdCBbbm90aWZpY2F0aW9uVG9FZGl0LCBzZXROb3RpZmljYXRpb25Ub0VkaXRdID0gdXNlU3RhdGU8XG4gICAgTm90aWZpY2F0aW9uTW9kZWwgfCB1bmRlZmluZWRcbiAgPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0IGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0Tm90aWZpY2F0aW9uVG9FZGl0KHVuZGVmaW5lZCk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlTm90aWZpY2F0aW9uID0gKCkgPT4ge1xuICAgIGNsb3NlTW9kYWwoKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnRpdGxlJyl9PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3VidGl0bGVcIj57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uuc3VidGl0bGUnKX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3R0b21cIj5cbiAgICAgICAgPFByaW1hcnlCdXR0b24gY2xhc3NOYW1lPVwiYWRkLWJ0blwiIGZvbnRTaXplPVwiMThweFwiPlxuICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5hZGRfbmV3Jyl9XG4gICAgICAgIDwvUHJpbWFyeUJ1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJub3RpZmljYXRpb25zLXRhYmxlXCI+XG4gICAgICAgICAge25vdGlmaWNhdGlvbnNBcnJheS5tYXAoKG5vdGlmaWNhdGlvbiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Tm90aWZpY2F0aW9uVG9FZGl0KG5vdGlmaWNhdGlvbil9XG4gICAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPEVkaXROb3RpZmljYXRpb25Nb2RhbFxuICAgICAgICBjbG9zZU1vZGFsPXtjbG9zZU1vZGFsfVxuICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvblRvRWRpdH1cbiAgICAgICAgc2F2ZT17dXBkYXRlTm90aWZpY2F0aW9ufVxuICAgICAgICBzaG93PXtub3RpZmljYXRpb25Ub0VkaXQgIT09IHVuZGVmaW5lZH1cbiAgICAgIC8+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogIzFkMWQxZDtcbiAgcGFkZGluZzogNjBweCAzM3B4O1xuICA+IC50b3Age1xuICAgID4gLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMC42MTtcbiAgICB9XG5cbiAgICA+IC5zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTlweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBHaWxyb3k7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yMjtcbiAgICB9XG4gIH1cblxuICA+IC5ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgID4gLmFkZC1idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICA+IC5ub3RpZmljYXRpb25zLXRhYmxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICA+IC5ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbmA7XG4iXX0=
@@ -3,24 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "AlertSvg", {
7
- enumerable: true,
8
- get: function get() {
9
- return _alert.ReactComponent;
10
- }
11
- });
12
6
  Object.defineProperty(exports, "ChatSvg", {
13
7
  enumerable: true,
14
8
  get: function get() {
15
9
  return _chat.ReactComponent;
16
10
  }
17
11
  });
18
- Object.defineProperty(exports, "CloseSvg", {
19
- enumerable: true,
20
- get: function get() {
21
- return _close.ReactComponent;
22
- }
23
- });
24
12
  Object.defineProperty(exports, "MailSvg", {
25
13
  enumerable: true,
26
14
  get: function get() {
@@ -33,6 +21,12 @@ Object.defineProperty(exports, "MonitorSvg", {
33
21
  return _monitor.ReactComponent;
34
22
  }
35
23
  });
24
+ Object.defineProperty(exports, "TelegramSvg", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _telegram.ReactComponent;
28
+ }
29
+ });
36
30
  Object.defineProperty(exports, "RightSvg", {
37
31
  enumerable: true,
38
32
  get: function get() {
@@ -45,10 +39,16 @@ Object.defineProperty(exports, "SpillSvg", {
45
39
  return _spill.ReactComponent;
46
40
  }
47
41
  });
48
- Object.defineProperty(exports, "TelegramSvg", {
42
+ Object.defineProperty(exports, "AlertSvg", {
49
43
  enumerable: true,
50
44
  get: function get() {
51
- return _telegram.ReactComponent;
45
+ return _alert.ReactComponent;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "CloseSvg", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _close.ReactComponent;
52
52
  }
53
53
  });
54
54
  Object.defineProperty(exports, "TrashSvg", {
@@ -57,13 +57,22 @@ Object.defineProperty(exports, "TrashSvg", {
57
57
  return _trashDel.ReactComponent;
58
58
  }
59
59
  });
60
+
60
61
  var _chat = require("@svgr/webpack?-svgo!./chat.svg");
62
+
61
63
  var _mail = require("@svgr/webpack?-svgo!./mail.svg");
64
+
62
65
  var _monitor = require("@svgr/webpack?-svgo!./monitor.svg");
66
+
63
67
  var _telegram = require("@svgr/webpack?-svgo!./telegram.svg");
68
+
64
69
  var _right = require("@svgr/webpack?-svgo!./right.svg");
70
+
65
71
  var _spill = require("@svgr/webpack?-svgo!./spill1.svg");
72
+
66
73
  var _alert = require("@svgr/webpack?-svgo!./alert1.svg");
74
+
67
75
  var _close = require("@svgr/webpack?-svgo!./close.svg");
76
+
68
77
  var _trashDel = require("@svgr/webpack?-svgo!./trash-del.svg");
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlL2Fzc2V0cy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDaGF0U3ZnIH0gZnJvbSAnLi9jaGF0LnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBNYWlsU3ZnIH0gZnJvbSAnLi9tYWlsLnN2Zyc7XG5cbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIE1vbml0b3JTdmcgfSBmcm9tICcuL21vbml0b3Iuc3ZnJztcbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFRlbGVncmFtU3ZnIH0gZnJvbSAnLi90ZWxlZ3JhbS5zdmcnO1xuZXhwb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgUmlnaHRTdmcgfSBmcm9tICcuL3JpZ2h0LnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBTcGlsbFN2ZyB9IGZyb20gJy4vc3BpbGwxLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBBbGVydFN2ZyB9IGZyb20gJy4vYWxlcnQxLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9zZVN2ZyB9IGZyb20gJy4vY2xvc2Uuc3ZnJztcbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFRyYXNoU3ZnIH0gZnJvbSAnLi90cmFzaC1kZWwuc3ZnJztcbiJdLCJtYXBwaW5ncyI6IiJ9
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1,82 +1,119 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- exports.default = exports.NotificationsPageStyle = void 0;
10
+ exports.NotificationsPageStyle = exports.default = void 0;
11
+
9
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
+
10
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
11
16
  var _react = _interopRequireWildcard(require("react"));
17
+
12
18
  var _Button = _interopRequireWildcard(require("ui-kit/Button/Button"));
19
+
13
20
  var _Layout = _interopRequireDefault(require("ui-kit/Layout/Layout"));
21
+
14
22
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
23
+
15
24
  var _styledBreakpoints = require("styled-breakpoints");
25
+
16
26
  var _NotificationsCard = _interopRequireDefault(require("./components/NotificationsCard"));
27
+
17
28
  var _NotificationsSidebar = _interopRequireDefault(require("./components/NotificationsSidebar"));
29
+
18
30
  var _notificationUtils = require("./notificationUtils");
31
+
19
32
  var _axios = _interopRequireDefault(require("axios"));
33
+
20
34
  var _Spinner = require("../../components/Spinner/Spinner");
35
+
21
36
  var _urls = require("../../utilities/urls");
37
+
22
38
  var _reactDeviceDetect = require("react-device-detect");
39
+
23
40
  var _useInitializeHeaders = require("../../hooks/useInitializeHeaders");
41
+
24
42
  var _useQueryURL = _interopRequireDefault(require("../../hooks/useQueryURL"));
43
+
44
+ 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); }
45
+
46
+ 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; }
47
+
25
48
  var NotificationsPage = function NotificationsPage() {
26
49
  var _useState = (0, _react.useState)(false),
27
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
28
- isSidebarOpen = _useState2[0],
29
- setIsSidebarOpen = _useState2[1];
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ isSidebarOpen = _useState2[0],
52
+ setIsSidebarOpen = _useState2[1];
53
+
30
54
  var _useState3 = (0, _react.useState)([]),
31
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
32
- data = _useState4[0],
33
- setData = _useState4[1];
55
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
56
+ data = _useState4[0],
57
+ setData = _useState4[1];
58
+
34
59
  var _useState5 = (0, _react.useState)([]),
35
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
36
- waterAuthorities = _useState6[0],
37
- setWaterAuthorities = _useState6[1];
60
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
61
+ waterAuthorities = _useState6[0],
62
+ setWaterAuthorities = _useState6[1];
63
+
38
64
  var _useState7 = (0, _react.useState)(false),
39
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
40
- hasTelegram = _useState8[0],
41
- setHasTelegram = _useState8[1];
65
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
66
+ hasTelegram = _useState8[0],
67
+ setHasTelegram = _useState8[1];
68
+
42
69
  var _useState9 = (0, _react.useState)(false),
43
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
44
- hasPhone = _useState10[0],
45
- setHasPhone = _useState10[1];
70
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
71
+ hasPhone = _useState10[0],
72
+ setHasPhone = _useState10[1];
73
+
46
74
  var _useState11 = (0, _react.useState)([]),
47
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
48
- points = _useState12[0],
49
- setPoints = _useState12[1];
75
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
76
+ points = _useState12[0],
77
+ setPoints = _useState12[1];
78
+
50
79
  var _useState13 = (0, _react.useState)([]),
51
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
52
- tags = _useState14[0],
53
- setTags = _useState14[1];
80
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
81
+ tags = _useState14[0],
82
+ setTags = _useState14[1];
83
+
54
84
  var _useState15 = (0, _react.useState)([]),
55
- _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
56
- sensors = _useState16[0],
57
- setSensors = _useState16[1];
85
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
86
+ sensors = _useState16[0],
87
+ setSensors = _useState16[1];
88
+
58
89
  var _useState17 = (0, _react.useState)([]),
59
- _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
60
- allowedNotifications = _useState18[0],
61
- setAllowedNotifications = _useState18[1];
90
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
91
+ allowedNotifications = _useState18[0],
92
+ setAllowedNotifications = _useState18[1];
93
+
62
94
  var _useState19 = (0, _react.useState)(true),
63
- _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
64
- isFetching = _useState20[0],
65
- setIsFetching = _useState20[1];
95
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
96
+ isFetching = _useState20[0],
97
+ setIsFetching = _useState20[1];
98
+
66
99
  var _useState21 = (0, _react.useState)((0, _notificationUtils.getEmptyNotification)()),
67
- _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
68
- currentNotification = _useState22[0],
69
- setNotification = _useState22[1];
100
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
101
+ currentNotification = _useState22[0],
102
+ setNotification = _useState22[1];
103
+
70
104
  (0, _useInitializeHeaders.useInitializeHeaders)();
71
105
  (0, _react.useEffect)(function () {
72
106
  fetchNotificationsData();
73
107
  }, []);
74
108
  var query = (0, _useQueryURL.default)();
109
+
75
110
  var getWAId = function getWAId() {
76
111
  return query.get('water_authority_id');
77
112
  };
113
+
78
114
  var fetchNotificationsData = function fetchNotificationsData() {
79
115
  setIsFetching(true);
116
+
80
117
  _axios.default.get((0, _urls.urls)({
81
118
  waterAuthorityId: getWAId()
82
119
  }).notificationsPage.getNotifications.url).then(function (res) {
@@ -93,24 +130,30 @@ var NotificationsPage = function NotificationsPage() {
93
130
  setIsFetching(false);
94
131
  });
95
132
  };
133
+
96
134
  var deleteNotification = function deleteNotification(notification) {
97
135
  setIsFetching(true);
136
+
98
137
  _axios.default.post((0, _urls.urls)().notificationsPage.deleteNotification.url, {
99
138
  alert_id: notification.id
100
139
  }).then(function () {
101
140
  fetchNotificationsData();
102
141
  });
103
142
  };
143
+
104
144
  var updateNotifications = function updateNotifications(notification) {
105
145
  setIsFetching(true);
146
+
106
147
  _axios.default.patch((0, _urls.urls)().notificationsPage.updateNotifications.url, notification).then(function () {
107
148
  fetchNotificationsData();
108
149
  });
109
150
  };
151
+
110
152
  var toggleSidebar = function toggleSidebar(notification) {
111
153
  setNotification(notification);
112
154
  setIsSidebarOpen(true);
113
155
  };
156
+
114
157
  return /*#__PURE__*/_react.default.createElement(_Layout.default, null, /*#__PURE__*/_react.default.createElement(NotificationsPageStyle, null, isSidebarOpen && /*#__PURE__*/_react.default.createElement(ScreenStyle, null), /*#__PURE__*/_react.default.createElement(NotificationsListHeadStyle, null, isFetching && /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null), /*#__PURE__*/_react.default.createElement("h1", null, _i18n.default.t('notifications_page.title')), /*#__PURE__*/_react.default.createElement(NotificationsListHeadContentStyle, null, /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('notifications_page.subtitle')), /*#__PURE__*/_react.default.createElement(_Button.default, {
115
158
  variant: _Button.variant.PRIMARY,
116
159
  type: "submit",
@@ -139,13 +182,17 @@ var NotificationsPage = function NotificationsPage() {
139
182
  updateNotifications: updateNotifications
140
183
  })));
141
184
  };
185
+
142
186
  var _default = NotificationsPage;
143
187
  exports.default = _default;
188
+
144
189
  var NotificationsPageStyle = _styledComponents.default.div.withConfig({
145
190
  displayName: "NotificationsPage__NotificationsPageStyle",
146
191
  componentId: "sc-1trznik-0"
147
192
  })(["position:relative;height:max-content;"]);
193
+
148
194
  exports.NotificationsPageStyle = NotificationsPageStyle;
195
+
149
196
  var NotificationsListHeadStyle = _styledComponents.default.div.withConfig({
150
197
  displayName: "NotificationsPage__NotificationsListHeadStyle",
151
198
  componentId: "sc-1trznik-1"
@@ -156,6 +203,7 @@ var NotificationsListHeadStyle = _styledComponents.default.div.withConfig({
156
203
  var theme = _ref2.theme;
157
204
  return theme.fontSize.xl;
158
205
  });
206
+
159
207
  var NotificationsListHeadContentStyle = _styledComponents.default.div.withConfig({
160
208
  displayName: "NotificationsPage__NotificationsListHeadContentStyle",
161
209
  componentId: "sc-1trznik-2"
@@ -172,10 +220,12 @@ var NotificationsListHeadContentStyle = _styledComponents.default.div.withConfig
172
220
  var theme = _ref6.theme;
173
221
  return theme.fontSize.xs;
174
222
  }, (0, _styledBreakpoints.down)('md'));
223
+
175
224
  var NotificationsListStyle = _styledComponents.default.div.withConfig({
176
225
  displayName: "NotificationsPage__NotificationsListStyle",
177
226
  componentId: "sc-1trznik-3"
178
227
  })(["width:100%;display:flex;flex-direction:column;gap:14px;"]);
228
+
179
229
  var ScreenStyle = _styledComponents.default.div.withConfig({
180
230
  displayName: "NotificationsPage__ScreenStyle",
181
231
  componentId: "sc-1trznik-4"
@@ -186,4 +236,4 @@ var ScreenStyle = _styledComponents.default.div.withConfig({
186
236
  var theme = _ref8.theme;
187
237
  return theme.colorScheme.natural.n80;
188
238
  });
189
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQnV0dG9uIiwiX0xheW91dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaTE4biIsIl9zdHlsZWRCcmVha3BvaW50cyIsIl9Ob3RpZmljYXRpb25zQ2FyZCIsIl9Ob3RpZmljYXRpb25zU2lkZWJhciIsIl9ub3RpZmljYXRpb25VdGlscyIsIl9heGlvcyIsIl9TcGlubmVyIiwiX3VybHMiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfdXNlSW5pdGlhbGl6ZUhlYWRlcnMiLCJfdXNlUXVlcnlVUkwiLCJOb3RpZmljYXRpb25zUGFnZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJpc1NpZGViYXJPcGVuIiwic2V0SXNTaWRlYmFyT3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZGF0YSIsInNldERhdGEiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIndhdGVyQXV0aG9yaXRpZXMiLCJzZXRXYXRlckF1dGhvcml0aWVzIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJoYXNUZWxlZ3JhbSIsInNldEhhc1RlbGVncmFtIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiaGFzUGhvbmUiLCJzZXRIYXNQaG9uZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJwb2ludHMiLCJzZXRQb2ludHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwidGFncyIsInNldFRhZ3MiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2Iiwic2Vuc29ycyIsInNldFNlbnNvcnMiLCJfdXNlU3RhdGUxNyIsIl91c2VTdGF0ZTE4IiwiYWxsb3dlZE5vdGlmaWNhdGlvbnMiLCJzZXRBbGxvd2VkTm90aWZpY2F0aW9ucyIsIl91c2VTdGF0ZTE5IiwiX3VzZVN0YXRlMjAiLCJpc0ZldGNoaW5nIiwic2V0SXNGZXRjaGluZyIsIl91c2VTdGF0ZTIxIiwiZ2V0RW1wdHlOb3RpZmljYXRpb24iLCJfdXNlU3RhdGUyMiIsImN1cnJlbnROb3RpZmljYXRpb24iLCJzZXROb3RpZmljYXRpb24iLCJ1c2VJbml0aWFsaXplSGVhZGVycyIsInVzZUVmZmVjdCIsImZldGNoTm90aWZpY2F0aW9uc0RhdGEiLCJxdWVyeSIsInVzZVF1ZXJ5VVJMIiwiZ2V0V0FJZCIsImdldCIsImF4aW9zIiwidXJscyIsIndhdGVyQXV0aG9yaXR5SWQiLCJub3RpZmljYXRpb25zUGFnZSIsImdldE5vdGlmaWNhdGlvbnMiLCJ1cmwiLCJ0aGVuIiwicmVzIiwibm90aWZpY2F0aW9ucyIsIndhdGVyX2F1dGhvcml0aWVzIiwiYWxsb3dlZF9hbGVydHMiLCJ1c2VyX2hhc190ZWxlZ3JhbSIsInVzZXJfaGFzX3Bob25lIiwiY2F0Y2giLCJkZWxldGVOb3RpZmljYXRpb24iLCJub3RpZmljYXRpb24iLCJwb3N0IiwiYWxlcnRfaWQiLCJpZCIsInVwZGF0ZU5vdGlmaWNhdGlvbnMiLCJwYXRjaCIsInRvZ2dsZVNpZGViYXIiLCJjcmVhdGVFbGVtZW50IiwiTm90aWZpY2F0aW9uc1BhZ2VTdHlsZSIsIlNjcmVlblN0eWxlIiwiTm90aWZpY2F0aW9uc0xpc3RIZWFkU3R5bGUiLCJTcGlubmVyIiwiaTE4biIsInQiLCJOb3RpZmljYXRpb25zTGlzdEhlYWRDb250ZW50U3R5bGUiLCJ2YXJpYW50IiwiUFJJTUFSWSIsInR5cGUiLCJzaXplIiwib25DbGljayIsIk5vdGlmaWNhdGlvbnNMaXN0U3R5bGUiLCJsZW5ndGgiLCJtYXAiLCJpbmRleCIsImtleSIsImNhcmROdW1iZXIiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImlzTW9iaWxlIiwiX3JlZiIsInRoZW1lIiwiZm9udFNpemUiLCJ4eGwiLCJkb3duIiwiX3JlZjIiLCJ4bCIsIl9yZWYzIiwic20iLCJfcmVmNCIsIl9yZWY1IiwieHMiLCJfcmVmNiIsIl9yZWY3IiwiekluZGV4ZXMiLCJtb2RhbCIsIl9yZWY4IiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjgwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvTm90aWZpY2F0aW9uc1BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEJ1dHRvbiwgeyB2YXJpYW50IH0gZnJvbSAnc3JjL3VpLWtpdC9CdXR0b24vQnV0dG9uJztcbmltcG9ydCBMYXlvdXQgZnJvbSAnc3JjL3VpLWtpdC9MYXlvdXQvTGF5b3V0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IGRvd24gfSBmcm9tICdzdHlsZWQtYnJlYWtwb2ludHMnO1xuaW1wb3J0IE5vdGlmaWNhdGlvbnNDYXJkIGZyb20gJy4vY29tcG9uZW50cy9Ob3RpZmljYXRpb25zQ2FyZCc7XG5pbXBvcnQgTm90aWZpY2F0aW9uc1NpZGViYXIgZnJvbSAnLi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNTaWRlYmFyJztcbmltcG9ydCB7XG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxuICBnZXRFbXB0eU5vdGlmaWNhdGlvbixcbiAgTm90aWZpY2F0aW9uLFxufSBmcm9tICcuL25vdGlmaWNhdGlvblV0aWxzJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyB1c2VJbml0aWFsaXplSGVhZGVycyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUluaXRpYWxpemVIZWFkZXJzJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgW2lzU2lkZWJhck9wZW4sIHNldElzU2lkZWJhck9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZTxOb3RpZmljYXRpb25bXT4oW10pO1xuICBjb25zdCBbd2F0ZXJBdXRob3JpdGllcywgc2V0V2F0ZXJBdXRob3JpdGllc10gPSB1c2VTdGF0ZTxBZHZhbmNlZFNlbGVjdGlvbltdPihcbiAgICBbXSxcbiAgKTtcbiAgY29uc3QgW2hhc1RlbGVncmFtLCBzZXRIYXNUZWxlZ3JhbV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtoYXNQaG9uZSwgc2V0SGFzUGhvbmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbcG9pbnRzLCBzZXRQb2ludHNdID0gdXNlU3RhdGU8QWR2YW5jZWRTZWxlY3Rpb25bXT4oW10pO1xuICBjb25zdCBbdGFncywgc2V0VGFnc10gPSB1c2VTdGF0ZTxBZHZhbmNlZFNlbGVjdGlvbltdPihbXSk7XG4gIGNvbnN0IFtzZW5zb3JzLCBzZXRTZW5zb3JzXSA9IHVzZVN0YXRlPEFkdmFuY2VkU2VsZWN0aW9uW10+KFtdKTtcbiAgY29uc3QgW2FsbG93ZWROb3RpZmljYXRpb25zLCBzZXRBbGxvd2VkTm90aWZpY2F0aW9uc10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oXG4gICAgW10sXG4gICk7XG4gIGNvbnN0IFtpc0ZldGNoaW5nLCBzZXRJc0ZldGNoaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbY3VycmVudE5vdGlmaWNhdGlvbiwgc2V0Tm90aWZpY2F0aW9uXSA9IHVzZVN0YXRlPE5vdGlmaWNhdGlvbj4oXG4gICAgZ2V0RW1wdHlOb3RpZmljYXRpb24oKSxcbiAgKTtcblxuICB1c2VJbml0aWFsaXplSGVhZGVycygpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoTm90aWZpY2F0aW9uc0RhdGEoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgZ2V0V0FJZCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaE5vdGlmaWNhdGlvbnNEYXRhID0gKCkgPT4ge1xuICAgIHNldElzRmV0Y2hpbmcodHJ1ZSk7XG4gICAgYXhpb3NcbiAgICAgIC5nZXQoXG4gICAgICAgIHVybHMoeyB3YXRlckF1dGhvcml0eUlkOiBnZXRXQUlkKCkgfSkubm90aWZpY2F0aW9uc1BhZ2UuZ2V0Tm90aWZpY2F0aW9uc1xuICAgICAgICAgIC51cmwsXG4gICAgICApXG4gICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgIHNldERhdGEocmVzLmRhdGEubm90aWZpY2F0aW9ucyk7XG4gICAgICAgIHNldFdhdGVyQXV0aG9yaXRpZXMocmVzLmRhdGEud2F0ZXJfYXV0aG9yaXRpZXMpO1xuICAgICAgICBzZXRQb2ludHMocmVzLmRhdGEucG9pbnRzKTtcbiAgICAgICAgc2V0VGFncyhyZXMuZGF0YS50YWdzKTtcbiAgICAgICAgc2V0U2Vuc29ycyhyZXMuZGF0YS5zZW5zb3JzKTtcbiAgICAgICAgc2V0QWxsb3dlZE5vdGlmaWNhdGlvbnMocmVzLmRhdGEuYWxsb3dlZF9hbGVydHMpO1xuICAgICAgICBzZXRIYXNUZWxlZ3JhbShyZXMuZGF0YS51c2VyX2hhc190ZWxlZ3JhbSk7XG4gICAgICAgIHNldEhhc1Bob25lKHJlcy5kYXRhLnVzZXJfaGFzX3Bob25lKTtcbiAgICAgICAgc2V0SXNGZXRjaGluZyhmYWxzZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgc2V0SXNGZXRjaGluZyhmYWxzZSk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCBkZWxldGVOb3RpZmljYXRpb24gPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gICAgc2V0SXNGZXRjaGluZyh0cnVlKTtcblxuICAgIGF4aW9zXG4gICAgICAucG9zdCh1cmxzKCkubm90aWZpY2F0aW9uc1BhZ2UuZGVsZXRlTm90aWZpY2F0aW9uLnVybCwge1xuICAgICAgICBhbGVydF9pZDogbm90aWZpY2F0aW9uLmlkLFxuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZmV0Y2hOb3RpZmljYXRpb25zRGF0YSgpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlTm90aWZpY2F0aW9ucyA9IChub3RpZmljYXRpb24pID0+IHtcbiAgICBzZXRJc0ZldGNoaW5nKHRydWUpO1xuXG4gICAgYXhpb3NcbiAgICAgIC5wYXRjaCh1cmxzKCkubm90aWZpY2F0aW9uc1BhZ2UudXBkYXRlTm90aWZpY2F0aW9ucy51cmwsIG5vdGlmaWNhdGlvbilcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZmV0Y2hOb3RpZmljYXRpb25zRGF0YSgpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlU2lkZWJhciA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICAgIHNldE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pO1xuICAgIHNldElzU2lkZWJhck9wZW4odHJ1ZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8TGF5b3V0PlxuICAgICAgPE5vdGlmaWNhdGlvbnNQYWdlU3R5bGU+XG4gICAgICAgIHtpc1NpZGViYXJPcGVuICYmIDxTY3JlZW5TdHlsZSAvPn1cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0SGVhZFN0eWxlPlxuICAgICAgICAgIHtpc0ZldGNoaW5nICYmIDxTcGlubmVyIC8+fVxuICAgICAgICAgIDxoMT57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGl0bGUnKX08L2gxPlxuICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdEhlYWRDb250ZW50U3R5bGU+XG4gICAgICAgICAgICA8cD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uuc3VidGl0bGUnKX08L3A+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e3ZhcmlhbnQuUFJJTUFSWX1cbiAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIHNpemU9XCJtZFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRvZ2dsZVNpZGViYXIoZ2V0RW1wdHlOb3RpZmljYXRpb24oKSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5hZGRfbmV3Jyl9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L05vdGlmaWNhdGlvbnNMaXN0SGVhZENvbnRlbnRTdHlsZT5cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zTGlzdEhlYWRTdHlsZT5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0U3R5bGU+XG4gICAgICAgICAge2RhdGEgJiYgZGF0YS5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGRhdGEubWFwKChub3RpZmljYXRpb24sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDYXJkXG4gICAgICAgICAgICAgICAgICBrZXk9e25vdGlmaWNhdGlvbi5pZH1cbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgY2FyZE51bWJlcj17aW5kZXggKyAxfVxuICAgICAgICAgICAgICAgICAgdG9nZ2xlU2lkZWJhcj17dG9nZ2xlU2lkZWJhcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgOiAhaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm5vX25vdGlmaWNhdGlvbicpfTwvcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zTGlzdFN0eWxlPlxuICAgICAgICB7aXNTaWRlYmFyT3BlbiAmJiAoXG4gICAgICAgICAgPE5vdGlmaWNhdGlvbnNTaWRlYmFyXG4gICAgICAgICAgICBub3RpZmljYXRpb249e2N1cnJlbnROb3RpZmljYXRpb259XG4gICAgICAgICAgICBzZXRJc1NpZGViYXJPcGVuPXtzZXRJc1NpZGViYXJPcGVufVxuICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICB0YWdzPXt0YWdzfVxuICAgICAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgICAgIGhhc1RlbGVncmFtPXtoYXNUZWxlZ3JhbX1cbiAgICAgICAgICAgIGhhc1Bob25lPXtoYXNQaG9uZX1cbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXRpZXM9e3dhdGVyQXV0aG9yaXRpZXN9XG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnN9XG4gICAgICAgICAgICBkZWxldGVOb3RpZmljYXRpb249e2RlbGV0ZU5vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgIHVwZGF0ZU5vdGlmaWNhdGlvbnM9e3VwZGF0ZU5vdGlmaWNhdGlvbnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvTm90aWZpY2F0aW9uc1BhZ2VTdHlsZT5cbiAgICA8L0xheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNQYWdlO1xuXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uc1BhZ2VTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBtYXgtY29udGVudDtcbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNMaXN0SGVhZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDIwcHggMCAyMHB4IDA7XG4gIC5zcGlubmVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgJHtpc01vYmlsZSA/ICd0b3A6IC00N3B4OycgOiAndG9wOiAtM3B4Oyd9XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIH1cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS54eGx9O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIH1cbiAgJHtkb3duKCdtZCcpfSB7XG4gICAgaDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnhsfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25zTGlzdEhlYWRDb250ZW50U3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogNS41cHggMjZweDtcbiAgfVxuICAke2Rvd24oJ3hsJyl9IHtcbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS5zbX07XG4gICAgfVxuICAgIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnNtfTtcbiAgICB9XG4gIH1cbiAgJHtkb3duKCdsZycpfSB7XG4gICAgLmJ0biB7XG4gICAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUueHN9O1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS54c307XG4gICAgfVxuICB9XG4gICR7ZG93bignbWQnKX0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIHAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25zTGlzdFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTRweDtcbmA7XG5cbmNvbnN0IFNjcmVlblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgKyAyMHB4KTtcbiAgdG9wOiAwO1xuICByaWdodDogLTIwcHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICBvcGFjaXR5OiAwLjU7XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUks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
239
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL05vdGlmaWNhdGlvbnNQYWdlLnRzeCJdLCJuYW1lcyI6WyJOb3RpZmljYXRpb25zUGFnZSIsImlzU2lkZWJhck9wZW4iLCJzZXRJc1NpZGViYXJPcGVuIiwiZGF0YSIsInNldERhdGEiLCJ3YXRlckF1dGhvcml0aWVzIiwic2V0V2F0ZXJBdXRob3JpdGllcyIsImhhc1RlbGVncmFtIiwic2V0SGFzVGVsZWdyYW0iLCJoYXNQaG9uZSIsInNldEhhc1Bob25lIiwicG9pbnRzIiwic2V0UG9pbnRzIiwidGFncyIsInNldFRhZ3MiLCJzZW5zb3JzIiwic2V0U2Vuc29ycyIsImFsbG93ZWROb3RpZmljYXRpb25zIiwic2V0QWxsb3dlZE5vdGlmaWNhdGlvbnMiLCJpc0ZldGNoaW5nIiwic2V0SXNGZXRjaGluZyIsImN1cnJlbnROb3RpZmljYXRpb24iLCJzZXROb3RpZmljYXRpb24iLCJmZXRjaE5vdGlmaWNhdGlvbnNEYXRhIiwicXVlcnkiLCJnZXRXQUlkIiwiZ2V0IiwiYXhpb3MiLCJ3YXRlckF1dGhvcml0eUlkIiwibm90aWZpY2F0aW9uc1BhZ2UiLCJnZXROb3RpZmljYXRpb25zIiwidXJsIiwidGhlbiIsInJlcyIsIm5vdGlmaWNhdGlvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsImFsbG93ZWRfYWxlcnRzIiwidXNlcl9oYXNfdGVsZWdyYW0iLCJ1c2VyX2hhc19waG9uZSIsImNhdGNoIiwiZGVsZXRlTm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uIiwicG9zdCIsImFsZXJ0X2lkIiwiaWQiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwicGF0Y2giLCJ0b2dnbGVTaWRlYmFyIiwiaTE4biIsInQiLCJ2YXJpYW50IiwiUFJJTUFSWSIsImxlbmd0aCIsIm1hcCIsImluZGV4IiwiTm90aWZpY2F0aW9uc1BhZ2VTdHlsZSIsInN0eWxlZCIsImRpdiIsIk5vdGlmaWNhdGlvbnNMaXN0SGVhZFN0eWxlIiwiaXNNb2JpbGUiLCJ0aGVtZSIsImZvbnRTaXplIiwieHhsIiwieGwiLCJOb3RpZmljYXRpb25zTGlzdEhlYWRDb250ZW50U3R5bGUiLCJzbSIsInhzIiwiTm90aWZpY2F0aW9uc0xpc3RTdHlsZSIsIlNjcmVlblN0eWxlIiwiekluZGV4ZXMiLCJtb2RhbCIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm44MCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGlCQUEyQixHQUFHLFNBQTlCQSxpQkFBOEIsR0FBTTtBQUN4QyxrQkFBMEMscUJBQVMsS0FBVCxDQUExQztBQUFBO0FBQUEsTUFBT0MsYUFBUDtBQUFBLE1BQXNCQyxnQkFBdEI7O0FBQ0EsbUJBQXdCLHFCQUF5QixFQUF6QixDQUF4QjtBQUFBO0FBQUEsTUFBT0MsSUFBUDtBQUFBLE1BQWFDLE9BQWI7O0FBQ0EsbUJBQWdELHFCQUM5QyxFQUQ4QyxDQUFoRDtBQUFBO0FBQUEsTUFBT0MsZ0JBQVA7QUFBQSxNQUF5QkMsbUJBQXpCOztBQUdBLG1CQUFzQyxxQkFBa0IsS0FBbEIsQ0FBdEM7QUFBQTtBQUFBLE1BQU9DLFdBQVA7QUFBQSxNQUFvQkMsY0FBcEI7O0FBQ0EsbUJBQWdDLHFCQUFrQixLQUFsQixDQUFoQztBQUFBO0FBQUEsTUFBT0MsUUFBUDtBQUFBLE1BQWlCQyxXQUFqQjs7QUFDQSxvQkFBNEIscUJBQThCLEVBQTlCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFDQSxvQkFBd0IscUJBQThCLEVBQTlCLENBQXhCO0FBQUE7QUFBQSxNQUFPQyxJQUFQO0FBQUEsTUFBYUMsT0FBYjs7QUFDQSxvQkFBOEIscUJBQThCLEVBQTlCLENBQTlCO0FBQUE7QUFBQSxNQUFPQyxPQUFQO0FBQUEsTUFBZ0JDLFVBQWhC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O0FBQUEsQ0FqQm9CLEVBb0JuQyw2QkFBSyxJQUFMLENBcEJtQyxFQXNCcEI7QUFBQSxNQUFHTCxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFFBQU4sQ0FBZUssRUFBOUI7QUFBQSxDQXRCb0IsRUF5QnBCO0FBQUEsTUFBR04sS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxRQUFOLENBQWVLLEVBQTlCO0FBQUEsQ0F6Qm9CLEVBNEJuQyw2QkFBSyxJQUFMLENBNUJtQyxDQUF2Qzs7QUFxQ0EsSUFBTUMsc0JBQXNCLEdBQUdYLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLCtEQUE1Qjs7QUFPQSxJQUFNVyxXQUFXLEdBQUdaLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHlIQUVKO0FBQUEsTUFBR0csS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDUyxRQUFOLENBQWVDLEtBQTlCO0FBQUEsQ0FGSSxFQU9EO0FBQUEsTUFBR1YsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDVyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkMsR0FBekM7QUFBQSxDQVBDLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQnV0dG9uLCB7IHZhcmlhbnQgfSBmcm9tICdzcmMvdWkta2l0L0J1dHRvbi9CdXR0b24nO1xuaW1wb3J0IExheW91dCBmcm9tICdzcmMvdWkta2l0L0xheW91dC9MYXlvdXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgZG93biB9IGZyb20gJ3N0eWxlZC1icmVha3BvaW50cyc7XG5pbXBvcnQgTm90aWZpY2F0aW9uc0NhcmQgZnJvbSAnLi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNDYXJkJztcbmltcG9ydCBOb3RpZmljYXRpb25zU2lkZWJhciBmcm9tICcuL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1NpZGViYXInO1xuaW1wb3J0IHtcbiAgQWR2YW5jZWRTZWxlY3Rpb24sXG4gIGdldEVtcHR5Tm90aWZpY2F0aW9uLFxuICBOb3RpZmljYXRpb24sXG59IGZyb20gJy4vbm90aWZpY2F0aW9uVXRpbHMnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZUluaXRpYWxpemVIZWFkZXJzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlSW5pdGlhbGl6ZUhlYWRlcnMnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcblxuY29uc3QgTm90aWZpY2F0aW9uc1BhZ2U6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBbaXNTaWRlYmFyT3Blbiwgc2V0SXNTaWRlYmFyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPE5vdGlmaWNhdGlvbltdPihbXSk7XG4gIGNvbnN0IFt3YXRlckF1dGhvcml0aWVzLCBzZXRXYXRlckF1dGhvcml0aWVzXSA9IHVzZVN0YXRlPEFkdmFuY2VkU2VsZWN0aW9uW10+KFxuICAgIFtdLFxuICApO1xuICBjb25zdCBbaGFzVGVsZWdyYW0sIHNldEhhc1RlbGVncmFtXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW2hhc1Bob25lLCBzZXRIYXNQaG9uZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxBZHZhbmNlZFNlbGVjdGlvbltdPihbXSk7XG4gIGNvbnN0IFt0YWdzLCBzZXRUYWdzXSA9IHVzZVN0YXRlPEFkdmFuY2VkU2VsZWN0aW9uW10+KFtdKTtcbiAgY29uc3QgW3NlbnNvcnMsIHNldFNlbnNvcnNdID0gdXNlU3RhdGU8QWR2YW5jZWRTZWxlY3Rpb25bXT4oW10pO1xuICBjb25zdCBbYWxsb3dlZE5vdGlmaWNhdGlvbnMsIHNldEFsbG93ZWROb3RpZmljYXRpb25zXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihcbiAgICBbXSxcbiAgKTtcbiAgY29uc3QgW2lzRmV0Y2hpbmcsIHNldElzRmV0Y2hpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtjdXJyZW50Tm90aWZpY2F0aW9uLCBzZXROb3RpZmljYXRpb25dID0gdXNlU3RhdGU8Tm90aWZpY2F0aW9uPihcbiAgICBnZXRFbXB0eU5vdGlmaWNhdGlvbigpLFxuICApO1xuXG4gIHVzZUluaXRpYWxpemVIZWFkZXJzKCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hOb3RpZmljYXRpb25zRGF0YSgpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoTm90aWZpY2F0aW9uc0RhdGEgPSAoKSA9PiB7XG4gICAgc2V0SXNGZXRjaGluZyh0cnVlKTtcbiAgICBheGlvc1xuICAgICAgLmdldChcbiAgICAgICAgdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQ6IGdldFdBSWQoKSB9KS5ub3RpZmljYXRpb25zUGFnZS5nZXROb3RpZmljYXRpb25zXG4gICAgICAgICAgLnVybCxcbiAgICAgIClcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgc2V0RGF0YShyZXMuZGF0YS5ub3RpZmljYXRpb25zKTtcbiAgICAgICAgc2V0V2F0ZXJBdXRob3JpdGllcyhyZXMuZGF0YS53YXRlcl9hdXRob3JpdGllcyk7XG4gICAgICAgIHNldFBvaW50cyhyZXMuZGF0YS5wb2ludHMpO1xuICAgICAgICBzZXRUYWdzKHJlcy5kYXRhLnRhZ3MpO1xuICAgICAgICBzZXRTZW5zb3JzKHJlcy5kYXRhLnNlbnNvcnMpO1xuICAgICAgICBzZXRBbGxvd2VkTm90aWZpY2F0aW9ucyhyZXMuZGF0YS5hbGxvd2VkX2FsZXJ0cyk7XG4gICAgICAgIHNldEhhc1RlbGVncmFtKHJlcy5kYXRhLnVzZXJfaGFzX3RlbGVncmFtKTtcbiAgICAgICAgc2V0SGFzUGhvbmUocmVzLmRhdGEudXNlcl9oYXNfcGhvbmUpO1xuICAgICAgICBzZXRJc0ZldGNoaW5nKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICBzZXRJc0ZldGNoaW5nKGZhbHNlKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGRlbGV0ZU5vdGlmaWNhdGlvbiA9IChub3RpZmljYXRpb24pID0+IHtcbiAgICBzZXRJc0ZldGNoaW5nKHRydWUpO1xuXG4gICAgYXhpb3NcbiAgICAgIC5wb3N0KHVybHMoKS5ub3RpZmljYXRpb25zUGFnZS5kZWxldGVOb3RpZmljYXRpb24udXJsLCB7XG4gICAgICAgIGFsZXJ0X2lkOiBub3RpZmljYXRpb24uaWQsXG4gICAgICB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBmZXRjaE5vdGlmaWNhdGlvbnNEYXRhKCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVOb3RpZmljYXRpb25zID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAgIHNldElzRmV0Y2hpbmcodHJ1ZSk7XG5cbiAgICBheGlvc1xuICAgICAgLnBhdGNoKHVybHMoKS5ub3RpZmljYXRpb25zUGFnZS51cGRhdGVOb3RpZmljYXRpb25zLnVybCwgbm90aWZpY2F0aW9uKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBmZXRjaE5vdGlmaWNhdGlvbnNEYXRhKCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTaWRlYmFyID0gKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgc2V0Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbik7XG4gICAgc2V0SXNTaWRlYmFyT3Blbih0cnVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXQ+XG4gICAgICA8Tm90aWZpY2F0aW9uc1BhZ2VTdHlsZT5cbiAgICAgICAge2lzU2lkZWJhck9wZW4gJiYgPFNjcmVlblN0eWxlIC8+fVxuICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3RIZWFkU3R5bGU+XG4gICAgICAgICAge2lzRmV0Y2hpbmcgJiYgPFNwaW5uZXIgLz59XG4gICAgICAgICAgPGgxPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS50aXRsZScpfTwvaDE+XG4gICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0SGVhZENvbnRlbnRTdHlsZT5cbiAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zdWJ0aXRsZScpfTwvcD5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgdmFyaWFudD17dmFyaWFudC5QUklNQVJZfVxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdG9nZ2xlU2lkZWJhcihnZXRFbXB0eU5vdGlmaWNhdGlvbigpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmFkZF9uZXcnKX1cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvTm90aWZpY2F0aW9uc0xpc3RIZWFkQ29udGVudFN0eWxlPlxuICAgICAgICA8L05vdGlmaWNhdGlvbnNMaXN0SGVhZFN0eWxlPlxuICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3RTdHlsZT5cbiAgICAgICAgICB7ZGF0YSAmJiBkYXRhLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gZGF0YS5tYXAoKG5vdGlmaWNhdGlvbiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NhcmRcbiAgICAgICAgICAgICAgICAgIGtleT17bm90aWZpY2F0aW9uLmlkfVxuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uPXtub3RpZmljYXRpb259XG4gICAgICAgICAgICAgICAgICBjYXJkTnVtYmVyPXtpbmRleCArIDF9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVTaWRlYmFyPXt0b2dnbGVTaWRlYmFyfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkpXG4gICAgICAgICAgICA6ICFpc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uubm9fbm90aWZpY2F0aW9uJyl9PC9wPlxuICAgICAgICAgICAgICApfVxuICAgICAgICA8L05vdGlmaWNhdGlvbnNMaXN0U3R5bGU+XG4gICAgICAgIHtpc1NpZGViYXJPcGVuICYmIChcbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc1NpZGViYXJcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17Y3VycmVudE5vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgIHNldElzU2lkZWJhck9wZW49e3NldElzU2lkZWJhck9wZW59XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgIHRhZ3M9e3RhZ3N9XG4gICAgICAgICAgICBzZW5zb3JzPXtzZW5zb3JzfVxuICAgICAgICAgICAgaGFzVGVsZWdyYW09e2hhc1RlbGVncmFtfVxuICAgICAgICAgICAgaGFzUGhvbmU9e2hhc1Bob25lfVxuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdGllcz17d2F0ZXJBdXRob3JpdGllc31cbiAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zPXthbGxvd2VkTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAgIGRlbGV0ZU5vdGlmaWNhdGlvbj17ZGVsZXRlTm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgdXBkYXRlTm90aWZpY2F0aW9ucz17dXBkYXRlTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9Ob3RpZmljYXRpb25zUGFnZVN0eWxlPlxuICAgIDwvTGF5b3V0PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTm90aWZpY2F0aW9uc1BhZ2U7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb25zUGFnZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uc0xpc3RIZWFkU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMjBweCAwIDIwcHggMDtcbiAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAke2lzTW9iaWxlID8gJ3RvcDogLTQ3cHg7JyA6ICd0b3A6IC0zcHg7J31cbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbiAgfVxuICBoMSB7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnh4bH07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICAke2Rvd24oJ21kJyl9IHtcbiAgICBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUueGx9O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNMaXN0SGVhZENvbnRlbnRTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuYnRuIHtcbiAgICBwYWRkaW5nOiA1LjVweCAyNnB4O1xuICB9XG4gICR7ZG93bigneGwnKX0ge1xuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnNtfTtcbiAgICB9XG4gICAgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUuc219O1xuICAgIH1cbiAgfVxuICAke2Rvd24oJ2xnJyl9IHtcbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS54c307XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnhzfTtcbiAgICB9XG4gIH1cbiAgJHtkb3duKCdtZCcpfSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG4gICAgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNMaXN0U3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNHB4O1xuYDtcblxuY29uc3QgU2NyZWVuU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogY2FsYygxMDB2dyArIDIwcHgpO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMjBweDtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm44MH07XG4gIG9wYWNpdHk6IDAuNTtcbmA7XG4iXX0=