@hisptz/dhis2-analytics 2.0.0-alpha.1 → 2.0.0

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 (380) hide show
  1. package/dist/components/ChartAnalytics/ChartAnalytics.stories.js +43 -20
  2. package/dist/components/ChartAnalytics/DHIS2Chart.js +43 -17
  3. package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +16 -14
  4. package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +14 -8
  5. package/dist/components/ChartAnalytics/components/DownloadMenu/index.js +21 -19
  6. package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +1 -0
  7. package/dist/components/ChartAnalytics/hooks/useChart.js +12 -10
  8. package/dist/components/ChartAnalytics/index.js +12 -1
  9. package/dist/components/ChartAnalytics/models/bar.js +6 -3
  10. package/dist/components/ChartAnalytics/models/column.js +9 -6
  11. package/dist/components/ChartAnalytics/models/index.js +3 -1
  12. package/dist/components/ChartAnalytics/models/line.js +8 -6
  13. package/dist/components/ChartAnalytics/models/multi-series.js +14 -12
  14. package/dist/components/ChartAnalytics/models/pie.js +7 -5
  15. package/dist/components/ChartAnalytics/services/export.js +20 -7
  16. package/dist/components/ChartAnalytics/types/props.js +1 -0
  17. package/dist/components/ChartAnalytics/utils/chart.js +31 -24
  18. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js +23 -14
  19. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +10 -3
  20. package/dist/components/CircularProgressDashboard/index.js +19 -2
  21. package/dist/components/CircularProgressDashboard/types/props.js +1 -0
  22. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js +15 -13
  23. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +14 -5
  24. package/dist/components/DHIS2PivotTable/components/Table/index.js +6 -4
  25. package/dist/components/DHIS2PivotTable/components/TableBody/index.js +31 -25
  26. package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js +30 -24
  27. package/dist/components/DHIS2PivotTable/index.js +19 -2
  28. package/dist/components/DHIS2PivotTable/interfaces/index.js +1 -0
  29. package/dist/components/DHIS2PivotTable/services/engine.js +12 -10
  30. package/dist/components/DHIS2PivotTable/state/engine.js +9 -6
  31. package/dist/components/Map/DHIS2Map.js +20 -13
  32. package/dist/components/Map/DHIS2Map.stories.js +17 -3
  33. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +21 -15
  34. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +15 -10
  35. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +18 -16
  36. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +12 -7
  37. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +30 -24
  38. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +49 -42
  39. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +22 -16
  40. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +32 -26
  41. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +16 -10
  42. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +27 -21
  43. package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +18 -15
  44. package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js +19 -2
  45. package/dist/components/Map/components/MapArea/index.js +41 -32
  46. package/dist/components/Map/components/MapArea/interfaces/index.js +1 -0
  47. package/dist/components/Map/components/MapControls/components/CustomControl/index.js +5 -3
  48. package/dist/components/Map/components/MapControls/components/DownloadControl/index.js +14 -8
  49. package/dist/components/Map/components/MapControls/components/FullscreenControl/index.js +9 -7
  50. package/dist/components/Map/components/MapControls/index.js +17 -10
  51. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +5 -3
  52. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js +31 -21
  53. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +31 -21
  54. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +88 -80
  55. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +14 -9
  56. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +69 -62
  57. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +1 -0
  58. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +3 -1
  59. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +41 -19
  60. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +9 -1
  61. package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +8 -6
  62. package/dist/components/Map/components/MapLayer/components/LegendArea/index.js +57 -46
  63. package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +31 -25
  64. package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +7 -5
  65. package/dist/components/Map/components/MapLayer/components/PointLayer/index.js +28 -21
  66. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +12 -10
  67. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +32 -21
  68. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +20 -13
  69. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +23 -17
  70. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +27 -18
  71. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +19 -13
  72. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +21 -15
  73. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +8 -6
  74. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js +24 -16
  75. package/dist/components/Map/components/MapLayer/index.js +18 -10
  76. package/dist/components/Map/components/MapLayer/interfaces/index.js +3 -1
  77. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +63 -59
  78. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js +36 -30
  79. package/dist/components/Map/components/MapProvider/hooks/index.js +10 -6
  80. package/dist/components/Map/components/MapProvider/index.js +31 -25
  81. package/dist/components/Map/components/MapUpdater/index.js +7 -5
  82. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +21 -15
  83. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +10 -5
  84. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +60 -53
  85. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +12 -7
  86. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +15 -9
  87. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +4 -1
  88. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +30 -22
  89. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +18 -7
  90. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +30 -23
  91. package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +22 -16
  92. package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +22 -16
  93. package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +22 -16
  94. package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +24 -18
  95. package/dist/components/Map/components/ThematicLayerConfiguration/index.js +26 -3
  96. package/dist/components/Map/components/ThematicLayerConfiguration/types/index.js +1 -0
  97. package/dist/components/Map/constants/colors.js +4 -1
  98. package/dist/components/Map/constants/legendSet.js +3 -1
  99. package/dist/components/Map/hooks/map.js +21 -17
  100. package/dist/components/Map/index.js +40 -5
  101. package/dist/components/Map/interfaces/index.js +1 -0
  102. package/dist/components/Map/state/index.js +9 -5
  103. package/dist/components/Map/utils/colors.js +19 -7
  104. package/dist/components/Map/utils/helpers.js +11 -3
  105. package/dist/components/Map/utils/map.js +23 -13
  106. package/dist/components/SingleValueContainer/SingleValueContainer.stories.js +11 -3
  107. package/dist/components/SingleValueContainer/SingleValueVisualizer.js +35 -17
  108. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +21 -14
  109. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +13 -7
  110. package/dist/components/SingleValueContainer/index.js +26 -3
  111. package/dist/components/SingleValueContainer/types/props.js +1 -0
  112. package/dist/components/Visualization/components/AnalyticsDataProvider/index.js +23 -20
  113. package/dist/components/Visualization/components/DimensionsProvider/index.js +18 -13
  114. package/dist/components/Visualization/components/LayoutProvider/index.js +11 -7
  115. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js +36 -30
  116. package/dist/components/Visualization/components/VisualizationProvider/index.js +9 -7
  117. package/dist/components/Visualization/components/VisualizationSelector/index.js +57 -46
  118. package/dist/components/Visualization/components/VisualizationTypeProvider/index.js +18 -11
  119. package/dist/components/Visualization/components/VisualizationTypeSelector/index.js +27 -21
  120. package/dist/components/Visualization/index.js +33 -27
  121. package/dist/esm/components/ChartAnalytics/ChartAnalytics.stories.js +254 -0
  122. package/dist/esm/components/ChartAnalytics/ChartAnalytics.stories.js.map +1 -0
  123. package/dist/esm/components/ChartAnalytics/DHIS2Chart.js +36 -0
  124. package/dist/esm/components/ChartAnalytics/DHIS2Chart.js.map +1 -0
  125. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +52 -0
  126. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -0
  127. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +42 -0
  128. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js.map +1 -0
  129. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js +65 -0
  130. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -0
  131. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +3 -0
  132. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js.map +1 -0
  133. package/dist/esm/components/ChartAnalytics/hooks/useChart.js +43 -0
  134. package/dist/esm/components/ChartAnalytics/hooks/useChart.js.map +1 -0
  135. package/dist/esm/components/ChartAnalytics/index.js +3 -0
  136. package/dist/esm/components/ChartAnalytics/index.js.map +1 -0
  137. package/dist/esm/components/ChartAnalytics/models/bar.js +21 -0
  138. package/dist/esm/components/ChartAnalytics/models/bar.js.map +1 -0
  139. package/dist/esm/components/ChartAnalytics/models/column.js +48 -0
  140. package/dist/esm/components/ChartAnalytics/models/column.js.map +1 -0
  141. package/dist/esm/components/ChartAnalytics/models/index.js +114 -0
  142. package/dist/esm/components/ChartAnalytics/models/index.js.map +1 -0
  143. package/dist/esm/components/ChartAnalytics/models/line.js +31 -0
  144. package/dist/esm/components/ChartAnalytics/models/line.js.map +1 -0
  145. package/dist/esm/components/ChartAnalytics/models/multi-series.js +112 -0
  146. package/dist/esm/components/ChartAnalytics/models/multi-series.js.map +1 -0
  147. package/dist/esm/components/ChartAnalytics/models/pie.js +53 -0
  148. package/dist/esm/components/ChartAnalytics/models/pie.js.map +1 -0
  149. package/dist/esm/components/ChartAnalytics/services/export.js +35 -0
  150. package/dist/esm/components/ChartAnalytics/services/export.js.map +1 -0
  151. package/dist/esm/components/ChartAnalytics/styles/custom-highchart.css +40 -0
  152. package/dist/esm/components/ChartAnalytics/styles/custom-highchart.css.map +1 -0
  153. package/dist/esm/components/ChartAnalytics/types/props.js +3 -0
  154. package/dist/esm/components/ChartAnalytics/types/props.js.map +1 -0
  155. package/dist/esm/components/ChartAnalytics/utils/chart.js +130 -0
  156. package/dist/esm/components/ChartAnalytics/utils/chart.js.map +1 -0
  157. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js +66 -0
  158. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -0
  159. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +42 -0
  160. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.stories.js.map +1 -0
  161. package/dist/esm/components/CircularProgressDashboard/index.js +4 -0
  162. package/dist/esm/components/CircularProgressDashboard/index.js.map +1 -0
  163. package/dist/esm/components/CircularProgressDashboard/types/props.js +3 -0
  164. package/dist/esm/components/CircularProgressDashboard/types/props.js.map +1 -0
  165. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js +26 -0
  166. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -0
  167. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +30 -0
  168. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.stories.js.map +1 -0
  169. package/dist/esm/components/DHIS2PivotTable/components/Table/index.js +10 -0
  170. package/dist/esm/components/DHIS2PivotTable/components/Table/index.js.map +1 -0
  171. package/dist/esm/components/DHIS2PivotTable/components/TableBody/TableBody.module.css +11 -0
  172. package/dist/esm/components/DHIS2PivotTable/components/TableBody/TableBody.module.css.map +1 -0
  173. package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js +106 -0
  174. package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -0
  175. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/TableHeaders.module.css +10 -0
  176. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/TableHeaders.module.css.map +1 -0
  177. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js +94 -0
  178. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -0
  179. package/dist/esm/components/DHIS2PivotTable/index.js +4 -0
  180. package/dist/esm/components/DHIS2PivotTable/index.js.map +1 -0
  181. package/dist/esm/components/DHIS2PivotTable/interfaces/index.js +3 -0
  182. package/dist/esm/components/DHIS2PivotTable/interfaces/index.js.map +1 -0
  183. package/dist/esm/components/DHIS2PivotTable/services/engine.js +87 -0
  184. package/dist/esm/components/DHIS2PivotTable/services/engine.js.map +1 -0
  185. package/dist/esm/components/DHIS2PivotTable/state/engine.js +17 -0
  186. package/dist/esm/components/DHIS2PivotTable/state/engine.js.map +1 -0
  187. package/dist/esm/components/Map/DHIS2Map.js +65 -0
  188. package/dist/esm/components/Map/DHIS2Map.js.map +1 -0
  189. package/dist/esm/components/Map/DHIS2Map.stories.js +366 -0
  190. package/dist/esm/components/Map/DHIS2Map.stories.js.map +1 -0
  191. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +41 -0
  192. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -0
  193. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +34 -0
  194. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js.map +1 -0
  195. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +26 -0
  196. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -0
  197. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +21 -0
  198. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js.map +1 -0
  199. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +67 -0
  200. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -0
  201. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +134 -0
  202. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -0
  203. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +44 -0
  204. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -0
  205. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +67 -0
  206. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -0
  207. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +24 -0
  208. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -0
  209. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +67 -0
  210. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -0
  211. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +45 -0
  212. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -0
  213. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/index.js +4 -0
  214. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/index.js.map +1 -0
  215. package/dist/esm/components/Map/components/MapArea/index.js +100 -0
  216. package/dist/esm/components/Map/components/MapArea/index.js.map +1 -0
  217. package/dist/esm/components/Map/components/MapArea/interfaces/index.js +3 -0
  218. package/dist/esm/components/Map/components/MapArea/interfaces/index.js.map +1 -0
  219. package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js +16 -0
  220. package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js.map +1 -0
  221. package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js +15 -0
  222. package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js.map +1 -0
  223. package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js +13 -0
  224. package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js.map +1 -0
  225. package/dist/esm/components/Map/components/MapControls/index.js +35 -0
  226. package/dist/esm/components/Map/components/MapControls/index.js.map +1 -0
  227. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +10 -0
  228. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -0
  229. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js +52 -0
  230. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -0
  231. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +100 -0
  232. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -0
  233. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +457 -0
  234. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -0
  235. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +32 -0
  236. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -0
  237. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +197 -0
  238. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -0
  239. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +3 -0
  240. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js.map +1 -0
  241. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +31466 -0
  242. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -0
  243. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +365 -0
  244. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -0
  245. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +93 -0
  246. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -0
  247. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/LegendArea.module.css +10 -0
  248. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/LegendArea.module.css.map +1 -0
  249. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +17 -0
  250. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -0
  251. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js +179 -0
  252. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -0
  253. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +92 -0
  254. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -0
  255. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +11 -0
  256. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -0
  257. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js +48 -0
  258. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -0
  259. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +64 -0
  260. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -0
  261. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +130 -0
  262. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -0
  263. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +41 -0
  264. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -0
  265. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +50 -0
  266. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -0
  267. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +56 -0
  268. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -0
  269. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +40 -0
  270. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -0
  271. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +40 -0
  272. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -0
  273. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +12 -0
  274. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -0
  275. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js +55 -0
  276. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -0
  277. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +56 -0
  278. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map +1 -0
  279. package/dist/esm/components/Map/components/MapLayer/index.js +32 -0
  280. package/dist/esm/components/Map/components/MapLayer/index.js.map +1 -0
  281. package/dist/esm/components/Map/components/MapLayer/interfaces/index.js +10 -0
  282. package/dist/esm/components/Map/components/MapLayer/interfaces/index.js.map +1 -0
  283. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +405 -0
  284. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -0
  285. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js +115 -0
  286. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -0
  287. package/dist/esm/components/Map/components/MapProvider/hooks/index.js +16 -0
  288. package/dist/esm/components/Map/components/MapProvider/hooks/index.js.map +1 -0
  289. package/dist/esm/components/Map/components/MapProvider/index.js +95 -0
  290. package/dist/esm/components/Map/components/MapProvider/index.js.map +1 -0
  291. package/dist/esm/components/Map/components/MapUpdater/index.js +11 -0
  292. package/dist/esm/components/Map/components/MapUpdater/index.js.map +1 -0
  293. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +41 -0
  294. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -0
  295. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +24 -0
  296. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js.map +1 -0
  297. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +174 -0
  298. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -0
  299. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +21 -0
  300. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js.map +1 -0
  301. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +36 -0
  302. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -0
  303. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +436 -0
  304. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -0
  305. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +71 -0
  306. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -0
  307. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScale.module.css +15 -0
  308. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScale.module.css.map +1 -0
  309. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScaleSelect.module.css +12 -0
  310. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScaleSelect.module.css.map +1 -0
  311. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +82 -0
  312. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -0
  313. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +57 -0
  314. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -0
  315. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +44 -0
  316. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -0
  317. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +60 -0
  318. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -0
  319. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +54 -0
  320. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -0
  321. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +63 -0
  322. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -0
  323. package/dist/esm/components/Map/components/ThematicLayerConfiguration/index.js +5 -0
  324. package/dist/esm/components/Map/components/ThematicLayerConfiguration/index.js.map +1 -0
  325. package/dist/esm/components/Map/components/ThematicLayerConfiguration/types/index.js +3 -0
  326. package/dist/esm/components/Map/components/ThematicLayerConfiguration/types/index.js.map +1 -0
  327. package/dist/esm/components/Map/constants/colors.js +436 -0
  328. package/dist/esm/components/Map/constants/colors.js.map +1 -0
  329. package/dist/esm/components/Map/constants/legendSet.js +23 -0
  330. package/dist/esm/components/Map/constants/legendSet.js.map +1 -0
  331. package/dist/esm/components/Map/hooks/map.js +44 -0
  332. package/dist/esm/components/Map/hooks/map.js.map +1 -0
  333. package/dist/esm/components/Map/index.js +7 -0
  334. package/dist/esm/components/Map/index.js.map +1 -0
  335. package/dist/esm/components/Map/interfaces/index.js +3 -0
  336. package/dist/esm/components/Map/interfaces/index.js.map +1 -0
  337. package/dist/esm/components/Map/state/index.js +18 -0
  338. package/dist/esm/components/Map/state/index.js.map +1 -0
  339. package/dist/esm/components/Map/utils/colors.js +85 -0
  340. package/dist/esm/components/Map/utils/colors.js.map +1 -0
  341. package/dist/esm/components/Map/utils/helpers.js +18 -0
  342. package/dist/esm/components/Map/utils/helpers.js.map +1 -0
  343. package/dist/esm/components/Map/utils/map.js +138 -0
  344. package/dist/esm/components/Map/utils/map.js.map +1 -0
  345. package/dist/esm/components/SingleValueContainer/SingleValueContainer.stories.js +145 -0
  346. package/dist/esm/components/SingleValueContainer/SingleValueContainer.stories.js.map +1 -0
  347. package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js +44 -0
  348. package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -0
  349. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +49 -0
  350. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -0
  351. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +22 -0
  352. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -0
  353. package/dist/esm/components/SingleValueContainer/index.js +5 -0
  354. package/dist/esm/components/SingleValueContainer/index.js.map +1 -0
  355. package/dist/esm/components/SingleValueContainer/styles/SingleValueContainer.module.css +32 -0
  356. package/dist/esm/components/SingleValueContainer/styles/SingleValueContainer.module.css.map +1 -0
  357. package/dist/esm/components/SingleValueContainer/types/props.js +3 -0
  358. package/dist/esm/components/SingleValueContainer/types/props.js.map +1 -0
  359. package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js +94 -0
  360. package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -0
  361. package/dist/esm/components/Visualization/components/DimensionsProvider/index.js +35 -0
  362. package/dist/esm/components/Visualization/components/DimensionsProvider/index.js.map +1 -0
  363. package/dist/esm/components/Visualization/components/LayoutProvider/index.js +18 -0
  364. package/dist/esm/components/Visualization/components/LayoutProvider/index.js.map +1 -0
  365. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js +85 -0
  366. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -0
  367. package/dist/esm/components/Visualization/components/VisualizationProvider/index.js +19 -0
  368. package/dist/esm/components/Visualization/components/VisualizationProvider/index.js.map +1 -0
  369. package/dist/esm/components/Visualization/components/VisualizationSelector/index.js +167 -0
  370. package/dist/esm/components/Visualization/components/VisualizationSelector/index.js.map +1 -0
  371. package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js +27 -0
  372. package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -0
  373. package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js +55 -0
  374. package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -0
  375. package/dist/esm/components/Visualization/index.js +113 -0
  376. package/dist/esm/components/Visualization/index.js.map +1 -0
  377. package/dist/esm/index.js +8 -0
  378. package/dist/esm/index.js.map +1 -0
  379. package/dist/index.js +47 -6
  380. package/package.json +5 -6
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.ts"],"names":[],"mappings":"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","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { EarthEngineOptions } from \"../interfaces/index.js\";\n\nexport const EARTH_ENGINE_LAYER = \"earthEngine\";\n\nexport const EARTH_ENGINE_LAYERS: EarthEngineOptions[] = [\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"population\",\n\t\tdatasetId: \"WorldPop/GP/100m/pop\",\n\t\ttype: \"ImageCollection\",\n\t\tname: i18n.t(\"Population\"),\n\t\tunit: i18n.t(\"people per hectare\"),\n\t\tdescription: i18n.t(\"Estimated number of people living in an area.\"),\n\t\tsource: \"WorldPop / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop\",\n\t\timg: \"images/population.png\",\n\t\tdefaultAggregations: [\"sum\", \"mean\"],\n\t\ttokenType: \"Bearer\",\n\t\tperiodType: \"Yearly\",\n\t\tfilters: [\"period\"],\n\t\tmosaic: true,\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tpalette: \"#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tid: \"populationAgeGroups\",\n\t\tdatasetId: \"WorldPop/GP/100m/pop_age_sex_cons_unadj\",\n\t\tname: i18n.t(\"Population age groups\"),\n\t\tunit: i18n.t(\"people per hectare\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Estimated number of people living in an area, grouped by age and gender.\",\n\t\t),\n\t\tsource: \"WorldPop / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop_age_sex_cons_unadj\",\n\t\timg: \"images/population.png\",\n\t\tperiodType: \"Yearly\",\n\t\tdefaultAggregations: [\"sum\", \"mean\"],\n\t\tbands: [\n\t\t\t{\n\t\t\t\tid: \"M_0\",\n\t\t\t\tname: i18n.t(\"Male 0 - 1 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_1\",\n\t\t\t\tname: i18n.t(\"Male 1 - 4 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_5\",\n\t\t\t\tname: i18n.t(\"Male 5 - 9 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_10\",\n\t\t\t\tname: i18n.t(\"Male 10 - 14 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_15\",\n\t\t\t\tname: i18n.t(\"Male 15 - 19 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_20\",\n\t\t\t\tname: i18n.t(\"Male 20 - 24 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_25\",\n\t\t\t\tname: i18n.t(\"Male 25 - 29 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_30\",\n\t\t\t\tname: i18n.t(\"Male 30 - 34 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_35\",\n\t\t\t\tname: i18n.t(\"Male 35 - 39 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_40\",\n\t\t\t\tname: i18n.t(\"Male 40 - 44 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_45\",\n\t\t\t\tname: i18n.t(\"Male 45 - 49 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_50\",\n\t\t\t\tname: i18n.t(\"Male 50 - 54 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_55\",\n\t\t\t\tname: i18n.t(\"Male 55 - 59 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_60\",\n\t\t\t\tname: i18n.t(\"Male 60 - 64 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_65\",\n\t\t\t\tname: i18n.t(\"Male 65 - 69 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_70\",\n\t\t\t\tname: i18n.t(\"Male 70 - 74 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_75\",\n\t\t\t\tname: i18n.t(\"Male 75 - 79 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"M_80\",\n\t\t\t\tname: i18n.t(\"Male 80 years and above\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_0\",\n\t\t\t\tname: i18n.t(\"Female 0 - 1 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_1\",\n\t\t\t\tname: i18n.t(\"Female 1 - 4 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_5\",\n\t\t\t\tname: i18n.t(\"Female 5 - 9 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_10\",\n\t\t\t\tname: i18n.t(\"Female 10 - 14 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_15\",\n\t\t\t\tname: i18n.t(\"Female 15 - 19 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_20\",\n\t\t\t\tname: i18n.t(\"Female 20 - 24 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_25\",\n\t\t\t\tname: i18n.t(\"Female 25 - 29 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_30\",\n\t\t\t\tname: i18n.t(\"Female 30 - 34 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_35\",\n\t\t\t\tname: i18n.t(\"Female 35 - 39 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_40\",\n\t\t\t\tname: i18n.t(\"Female 40 - 44 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_45\",\n\t\t\t\tname: i18n.t(\"Female 45 - 49 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_50\",\n\t\t\t\tname: i18n.t(\"Female 50 - 54 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_55\",\n\t\t\t\tname: i18n.t(\"Female 55 - 59 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_60\",\n\t\t\t\tname: i18n.t(\"Female 60 - 64 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_65\",\n\t\t\t\tname: i18n.t(\"Female 65 - 69 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_70\",\n\t\t\t\tname: i18n.t(\"Female 70 - 74 years\"),\n\t\t\t\tmultiple: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_75\",\n\t\t\t\tname: i18n.t(\"Female 75 - 79 years\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"F_80\",\n\t\t\t\tname: i18n.t(\"Female 80 years and above\"),\n\t\t\t},\n\t\t],\n\t\tfilters: [\"period\"],\n\t\tmosaic: true,\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tpalette: \"#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t\ttileScale: 4,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"footprints\",\n\t\tdatasetId: \"GOOGLE/Research/open-buildings/v1/polygons\",\n\t\ttype: \"FeatureCollection\",\n\t\tname: i18n.t(\"Building footprints\"),\n\t\tunit: i18n.t(\"Number of buildings\"),\n\t\tdescription: i18n.t(\n\t\t\t\"The outlines of buildings derived from high-resolution satellite imagery. Only for the continent of Africa.\",\n\t\t),\n\t\tnotice: i18n.t(\n\t\t\t\"Building counts are only available for smaller organisation unit areas.\",\n\t\t),\n\t\terror: i18n.t(\n\t\t\t\"Select a smaller area or single organization unit to see the count of buildings.\",\n\t\t),\n\t\tsource: \"NASA / USGS / JPL-Caltech / Google Earth Engine\",\n\t\tsourceUrl: \"https://sites.research.google/open-buildings/\",\n\t\timg: \"images/buildings.png\",\n\t\taggregations: [\"count\"],\n\t\tdefaultAggregations: [\"count\"],\n\t\topacity: 0.9,\n\t\ttokenType: \"Bearer\",\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"elevation\",\n\t\ttype: \"Image\",\n\t\ttokenType: \"Bearer\",\n\t\tdatasetId: \"USGS/SRTMGL1_003\",\n\t\tname: i18n.t(\"Elevation\"),\n\t\tunit: i18n.t(\"meters\"),\n\t\tdescription: i18n.t(\"Elevation above sea-level.\"),\n\t\tsource: \"NASA / USGS / JPL-Caltech / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/USGS%2FSRTMGL1_003\",\n\t\timg: \"images/elevation.png\",\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tselectedBands: [\"elevation\"],\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 1500,\n\t\t\tpalette: \"#ffffd4,#fee391,#fec44f,#fe9929,#d95f0e,#993404\", // YlOrBr\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tdatasetId: \"UCSB-CHG/CHIRPS/PENTAD\",\n\t\tid: \"precipitation\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tname: i18n.t(\"Precipitation\"),\n\t\tunit: i18n.t(\"millimeter\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Precipitation collected from satellite and weather stations on the ground. The values are in millimeters within 5 days periods. Updated monthly, during the 3rd week of the following month.\",\n\t\t),\n\t\tsource: \"UCSB / CHG / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/UCSB-CHG%2FCHIRPS%2FPENTAD\",\n\t\tperiodType: \"Custom\",\n\t\tselectedBands: [\"precipitation\"],\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tmask: true,\n\t\timg: \"images/precipitation.png\",\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 100,\n\t\t\tpalette: \"#eff3ff,#c6dbef,#9ecae1,#6baed6,#3182bd,#08519c\", // Blues\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tdatasetId: \"MODIS/006/MOD11A2\",\n\t\tid: \"temperature\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tname: i18n.t(\"Temperature\"),\n\t\tunit: i18n.t(\"°C during daytime\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Land surface temperatures collected from satellite. Blank spots will appear in areas with a persistent cloud cover.\",\n\t\t),\n\t\tsource: \"NASA LP DAAC / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/MODIS%2FMOD11A2\",\n\t\timg: \"images/temperature.png\",\n\t\taggregations: [\"min\", \"max\", \"mean\", \"median\", \"stdDev\", \"variance\"],\n\t\tdefaultAggregations: [\"mean\", \"min\", \"max\"],\n\t\tperiodType: \"Custom\",\n\t\tselectedBands: [\"LST_Day_1km\"],\n\t\tmask: true,\n\t\tmethods: {\n\t\t\ttoFloat: [],\n\t\t\tmultiply: [0.02],\n\t\t\tsubtract: [273.15],\n\t\t},\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 40,\n\t\t\tpalette:\n\t\t\t\t\"#fff5f0,#fee0d2,#fcbba1,#fc9272,#fb6a4a,#ef3b2c,#cb181d,#a50f15,#67000d\", // Reds\n\t\t},\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tid: \"landCover\",\n\t\tdatasetId: \"MODIS/006/MCD12Q1\", // No longer in use: 'MODIS/051/MCD12Q1',\n\t\tname: i18n.t(\"Landcover\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Distinct landcover types collected from satellites.\",\n\t\t),\n\t\tsource: \"NASA LP DAAC / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://developers.google.com/earth-engine/datasets/catalog/MODIS_006_MCD12Q1\",\n\t\tperiodType: \"Yearly\",\n\t\tfilters: [\"period\"],\n\t\tselectedBands: [\"LC_Type1\"],\n\t\tdefaultAggregations: [\"percentage\", \"hectares\", \"acres\"],\n\t\tmaxAggregations: 1,\n\t\tlegend: {\n\t\t\titems: [\n\t\t\t\t// http://www.eomf.ou.edu/static/IGBP.pdf\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\tname: i18n.t(\"Evergreen Needleleaf forest\"),\n\t\t\t\t\tcolor: \"#162103\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 2,\n\t\t\t\t\tname: i18n.t(\"Evergreen Broadleaf forest\"),\n\t\t\t\t\tcolor: \"#235123\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 3,\n\t\t\t\t\tname: i18n.t(\"Deciduous Needleleaf forest\"),\n\t\t\t\t\tcolor: \"#399b38\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 4,\n\t\t\t\t\tname: i18n.t(\"Deciduous Broadleaf forest\"),\n\t\t\t\t\tcolor: \"#38eb38\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 5,\n\t\t\t\t\tname: i18n.t(\"Mixed forest\"),\n\t\t\t\t\tcolor: \"#39723b\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 6,\n\t\t\t\t\tname: i18n.t(\"Closed shrublands\"),\n\t\t\t\t\tcolor: \"#6a2424\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 7,\n\t\t\t\t\tname: i18n.t(\"Open shrublands\"),\n\t\t\t\t\tcolor: \"#c3a55f\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 8,\n\t\t\t\t\tname: i18n.t(\"Woody savannas\"),\n\t\t\t\t\tcolor: \"#b76124\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 9,\n\t\t\t\t\tname: i18n.t(\"Savannas\"),\n\t\t\t\t\tcolor: \"#d99125\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 10,\n\t\t\t\t\tname: i18n.t(\"Grasslands\"),\n\t\t\t\t\tcolor: \"#92af1f\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 11,\n\t\t\t\t\tname: i18n.t(\"Permanent wetlands\"),\n\t\t\t\t\tcolor: \"#10104c\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 12,\n\t\t\t\t\tname: i18n.t(\"Croplands\"),\n\t\t\t\t\tcolor: \"#cdb400\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 13,\n\t\t\t\t\tname: i18n.t(\"Urban and built-up\"),\n\t\t\t\t\tcolor: \"#cc0202\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 14,\n\t\t\t\t\tname: i18n.t(\"Cropland/Natural vegetation mosaic\"),\n\t\t\t\t\tcolor: \"#332808\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 15,\n\t\t\t\t\tname: i18n.t(\"Snow and ice\"),\n\t\t\t\t\tcolor: \"#d7cdcc\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 16,\n\t\t\t\t\tname: i18n.t(\"Barren or sparsely vegetated\"),\n\t\t\t\t\tcolor: \"#f7e174\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 17,\n\t\t\t\t\tname: i18n.t(\"Water\"),\n\t\t\t\t\tcolor: \"#aec3d6\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tmask: false,\n\t\timg: \"images/landcover.png\",\n\t\topacity: 0.9,\n\t},\n\t{\n\t\tlayer: EARTH_ENGINE_LAYER,\n\t\tid: \"nightLights\",\n\t\ttype: \"ImageCollection\",\n\t\ttokenType: \"Bearer\",\n\t\tlegacy: true, // Kept for backward compability\n\t\tdatasetId: \"NOAA/DMSP-OLS/NIGHTTIME_LIGHTS\",\n\t\tname: i18n.t(\"Nighttime lights\"),\n\t\tunit: i18n.t(\"light intensity\"),\n\t\tdescription: i18n.t(\n\t\t\t\"Light intensity from cities, towns, and other sites with persistent lighting, including gas flares.\",\n\t\t),\n\t\tsource: \"NOAA / Google Earth Engine\",\n\t\tsourceUrl:\n\t\t\t\"https://explorer.earthengine.google.com/#detail/NOAA%2FDMSP-OLS%2FNIGHTTIME_LIGHTS\",\n\t\tperiodType: \"Yearly\",\n\t\tselectedBands: [\"stable_lights\"],\n\t\tmask: true,\n\t\timg: \"images/nighttime.png\",\n\t\tparams: {\n\t\t\tmin: 0,\n\t\t\tmax: 63,\n\t\t\tpalette: \"#ffffd4,#fee391,#fec44f,#fe9929,#ec7014,#cc4c02,#8c2d04\", // YlOrBr\n\t\t},\n\t\topacity: 0.9,\n\t},\n];\n\nexport const SUPPORTED_EARTH_ENGINE_LAYERS = [\n\t\"population\",\n\t\"landCover\",\n\t\"footprints\",\n];\n"]}
@@ -0,0 +1,32 @@
1
+ import { useDataEngine } from '@dhis2/app-runtime';
2
+ import { find } from 'lodash';
3
+ import { useMapLayers } from '../../../../MapProvider/hooks/index.js';
4
+ import { useState } from 'react';
5
+
6
+ const googleEngineKeyQuery = {
7
+ token: {
8
+ resource: "tokens/google"
9
+ }
10
+ };
11
+ function useGoogleEngineToken() {
12
+ const engine = useDataEngine();
13
+ const [loading, setLoading] = useState(false);
14
+ const getToken = async () => {
15
+ setLoading(true);
16
+ const token = await engine.query(googleEngineKeyQuery);
17
+ setLoading(false);
18
+ return token;
19
+ };
20
+ return {
21
+ refresh: getToken,
22
+ loading
23
+ };
24
+ }
25
+ function useGoogleEngineLayer(layerId) {
26
+ const { layers } = useMapLayers();
27
+ return find(layers, ["id", layerId]);
28
+ }
29
+
30
+ export { useGoogleEngineLayer as default, useGoogleEngineToken };
31
+ //# sourceMappingURL=out.js.map
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.ts"],"names":[],"mappings":"AAAA,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAG7B,SAAS,gBAAgB;AAEzB,MAAM,uBAAuB;AAAA,EAC5B,OAAO;AAAA,IACN,UAAU;AAAA,EACX;AACD;AAEO,SAAS,uBAAuB;AACtC,QAAM,SAAS,cAAc;AAC7B,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,QAAM,WAAW,YAAY;AAC5B,eAAW,IAAI;AACf,UAAM,QAAQ,MAAM,OAAO,MAAM,oBAAoB;AACrD,eAAW,KAAK;AAChB,WAAO;AAAA,EACR;AAEA,SAAO;AAAA,IACN,SAAS;AAAA,IAGT;AAAA,EACD;AACD;AAEe,SAAR,qBACN,SACsC;AACtC,QAAM,EAAE,OAAO,IAAI,aAAa;AAChC,SAAO,KAAK,QAAqC,CAAC,MAAM,OAAO,CAAC;AACjE","sourcesContent":["import { useDataEngine } from \"@dhis2/app-runtime\";\nimport { find } from \"lodash\";\nimport { useMapLayers } from \"../../../../MapProvider/hooks/index.js\";\nimport { CustomGoogleEngineLayer } from \"../../../interfaces/index.js\";\nimport { EarthEngineToken } from \"../interfaces/index.js\";\nimport { useState } from \"react\";\n\nconst googleEngineKeyQuery = {\n\ttoken: {\n\t\tresource: \"tokens/google\",\n\t},\n};\n\nexport function useGoogleEngineToken() {\n\tconst engine = useDataEngine();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst getToken = async () => {\n\t\tsetLoading(true);\n\t\tconst token = await engine.query(googleEngineKeyQuery);\n\t\tsetLoading(false);\n\t\treturn token;\n\t};\n\n\treturn {\n\t\trefresh: getToken as unknown as () => Promise<{\n\t\t\ttoken: EarthEngineToken;\n\t\t}>,\n\t\tloading,\n\t};\n}\n\nexport default function useGoogleEngineLayer(\n\tlayerId: string,\n): CustomGoogleEngineLayer | undefined {\n\tconst { layers } = useMapLayers();\n\treturn find(layers as CustomGoogleEngineLayer[], [\"id\", layerId]);\n}\n"]}
@@ -0,0 +1,197 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { capitalize, head, isEmpty, sortBy, find } from 'lodash';
3
+ import { useRef, useMemo } from 'react';
4
+ import { LayersControl, LayerGroup, TileLayer, GeoJSON, Tooltip, Popup } from 'react-leaflet';
5
+ import { useBoundaryData } from '../BoundaryLayer/hooks/useBoundaryData.js';
6
+ import useGoogleEngineLayer from './hooks/index.js';
7
+ import { highlightFeature, resetHighlight } from '../../../../utils/map.js';
8
+ import { highlightStyle, defaultStyle } from '../BoundaryLayer/index.js';
9
+ import { useQuery } from 'react-query';
10
+ import { Center, CircularLoader, Divider } from '@dhis2/ui';
11
+ import i18n from '@dhis2/d2-i18n';
12
+
13
+ function formatValues(value) {
14
+ return Intl.NumberFormat("en-GB", { maximumFractionDigits: 2 }).format(
15
+ value
16
+ );
17
+ }
18
+ function getUnit(unit) {
19
+ if (unit === "percentage") {
20
+ return "%";
21
+ }
22
+ }
23
+ function Legend({
24
+ header,
25
+ legends,
26
+ value,
27
+ unit
28
+ }) {
29
+ const legend = find(legends, ["id", header]);
30
+ return /* @__PURE__ */ jsxs("div", { className: "row gap-8 space-between", children: [
31
+ /* @__PURE__ */ jsxs("div", { className: "row gap-8", children: [
32
+ /* @__PURE__ */ jsx(
33
+ "div",
34
+ {
35
+ className: "legend-item-color",
36
+ style: { backgroundColor: legend?.color }
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx("div", { children: legend?.name })
40
+ ] }),
41
+ /* @__PURE__ */ jsxs("span", { children: [
42
+ formatValues(value),
43
+ getUnit(unit)
44
+ ] })
45
+ ] });
46
+ }
47
+ function AggregationView({ header, value }) {
48
+ return /* @__PURE__ */ jsxs("div", { className: "row space-between", children: [
49
+ /* @__PURE__ */ jsx("span", { children: capitalize(header.toString()) }),
50
+ /* @__PURE__ */ jsx("span", { children: formatValues(value) })
51
+ ] });
52
+ }
53
+ function EarthEnginePopup({
54
+ layer,
55
+ orgUnit,
56
+ loading,
57
+ error
58
+ }) {
59
+ const engine = layer?.engine;
60
+ const legends = layer?.engine?.options?.legend?.items;
61
+ const data = engine?.getAggregation(orgUnit)?.data;
62
+ const unit = layer?.engine?.options?.unit ?? head(layer?.engine?.options.aggregations);
63
+ const aggregations = useMemo(() => {
64
+ if (!isEmpty(legends)) {
65
+ return sortBy(
66
+ Object.keys(data ?? {}).map((key) => {
67
+ return {
68
+ id: parseInt(key),
69
+ value: data[key]
70
+ };
71
+ }),
72
+ ["value"]
73
+ ).reverse();
74
+ }
75
+ return data ?? {};
76
+ }, [data]);
77
+ if (loading) {
78
+ return /* @__PURE__ */ jsx("div", { style: { width: 200, height: 200 }, children: /* @__PURE__ */ jsx(Center, { children: /* @__PURE__ */ jsx(CircularLoader, { extrasmall: true }) }) });
79
+ }
80
+ if (error) {
81
+ return /* @__PURE__ */ jsxs("div", { children: [
82
+ /* @__PURE__ */ jsx("h3", { style: { margin: "0" }, children: orgUnit.name }),
83
+ /* @__PURE__ */ jsx(Divider, { margin: "0" }),
84
+ /* @__PURE__ */ jsxs("div", { className: "column gap-8", children: [
85
+ /* @__PURE__ */ jsxs("div", { className: "column", children: [
86
+ /* @__PURE__ */ jsx("b", { children: layer?.options?.name }),
87
+ /* @__PURE__ */ jsx("div", { children: layer?.options?.unit })
88
+ ] }),
89
+ /* @__PURE__ */ jsxs("div", { className: "column", children: [
90
+ /* @__PURE__ */ jsx("p", { children: i18n.t("Could not get aggregate data") }),
91
+ /* @__PURE__ */ jsx("p", { children: error })
92
+ ] })
93
+ ] })
94
+ ] });
95
+ }
96
+ return /* @__PURE__ */ jsxs("div", { children: [
97
+ /* @__PURE__ */ jsx("h3", { style: { margin: "0" }, children: orgUnit.name }),
98
+ /* @__PURE__ */ jsx(Divider, { margin: "0" }),
99
+ /* @__PURE__ */ jsxs("div", { className: "column gap-8", children: [
100
+ /* @__PURE__ */ jsxs("div", { className: "column", children: [
101
+ /* @__PURE__ */ jsx("b", { children: layer?.options?.name }),
102
+ /* @__PURE__ */ jsx("div", { children: layer?.options?.unit ?? unit })
103
+ ] }),
104
+ data && /* @__PURE__ */ jsx("div", { className: "column", children: Array.isArray(aggregations) ? aggregations?.map(({ id, value }) => /* @__PURE__ */ jsx(
105
+ Legend,
106
+ {
107
+ legends: legends ?? [],
108
+ value,
109
+ header: id,
110
+ unit
111
+ },
112
+ `${orgUnit.id}-legend-details-${id}`
113
+ )) : Object.keys(aggregations)?.map((key) => /* @__PURE__ */ jsx(
114
+ AggregationView,
115
+ {
116
+ header: key,
117
+ value: aggregations[key]
118
+ },
119
+ `${orgUnit.id}-aggregate-details-${key}`
120
+ )) })
121
+ ] })
122
+ ] });
123
+ }
124
+ function EarthEngineArea({
125
+ area,
126
+ layer,
127
+ loading,
128
+ error
129
+ }) {
130
+ const ref = useRef();
131
+ return /* @__PURE__ */ jsxs(
132
+ GeoJSON,
133
+ {
134
+ ref,
135
+ data: area.geoJSON,
136
+ interactive: true,
137
+ eventHandlers: {
138
+ mouseover: (e) => highlightFeature(e, highlightStyle),
139
+ mouseout: (e) => resetHighlight(e, defaultStyle)
140
+ },
141
+ pathOptions: defaultStyle,
142
+ children: [
143
+ /* @__PURE__ */ jsx(Tooltip, { children: area.name }),
144
+ /* @__PURE__ */ jsx(Popup, { minWidth: 100, children: /* @__PURE__ */ jsx(
145
+ EarthEnginePopup,
146
+ {
147
+ error,
148
+ layer,
149
+ orgUnit: area,
150
+ loading
151
+ }
152
+ ) })
153
+ ]
154
+ },
155
+ `${area.id}-polygon`
156
+ );
157
+ }
158
+ function GoogleEngineLayer({ layerId }) {
159
+ const layer = useGoogleEngineLayer(layerId);
160
+ const { name, type, enabled, url, options, engine } = layer ?? {};
161
+ const { isLoading: loadingAggregateData, error } = useQuery(
162
+ [engine],
163
+ async () => engine?.getAggregations(),
164
+ {
165
+ suspense: false
166
+ }
167
+ );
168
+ const orgUnits = useBoundaryData();
169
+ if (!url)
170
+ return null;
171
+ return /* @__PURE__ */ jsx(
172
+ LayersControl.Overlay,
173
+ {
174
+ checked: enabled,
175
+ name: name ?? capitalize(type),
176
+ children: /* @__PURE__ */ jsxs(LayerGroup, { children: [
177
+ /* @__PURE__ */ jsx(TileLayer, { id: options?.id, url }),
178
+ orgUnits?.map((area) => {
179
+ return /* @__PURE__ */ jsx(
180
+ EarthEngineArea,
181
+ {
182
+ error: error?.toString(),
183
+ loading: loadingAggregateData,
184
+ area,
185
+ layer
186
+ },
187
+ `${area.id}-polygon`
188
+ );
189
+ })
190
+ ] })
191
+ }
192
+ );
193
+ }
194
+
195
+ export { GoogleEngineLayer as default };
196
+ //# sourceMappingURL=out.js.map
197
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { capitalize, find, head, isEmpty, sortBy } from \"lodash\";\nimport React, { useMemo, useRef } from \"react\";\nimport {\n\tGeoJSON,\n\tLayerGroup,\n\tLayersControl,\n\tPopup,\n\tTileLayer,\n\tTooltip,\n} from \"react-leaflet\";\nimport { useBoundaryData } from \"../BoundaryLayer/hooks/useBoundaryData.js\";\nimport useGoogleEngineLayer from \"./hooks/index.js\";\nimport { MapOrgUnit } from \"../../../../interfaces/index.js\";\nimport { highlightFeature, resetHighlight } from \"../../../../utils/map.js\";\nimport { defaultStyle, highlightStyle } from \"../BoundaryLayer/index.js\";\nimport { useQuery } from \"react-query\";\nimport { Center, CircularLoader, Divider } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { CustomGoogleEngineLayer } from \"../../interfaces/index.js\";\n\nfunction formatValues(value: number): string {\n\treturn Intl.NumberFormat(\"en-GB\", { maximumFractionDigits: 2 }).format(\n\t\tvalue,\n\t);\n}\n\nfunction getUnit(unit?: string) {\n\tif (unit === \"percentage\") {\n\t\treturn \"%\";\n\t}\n}\n\nfunction Legend({\n\theader,\n\tlegends,\n\tvalue,\n\tunit,\n}: {\n\theader: number;\n\tlegends: { id: number | string; color: string; name: string }[];\n\tvalue: number;\n\tunit?: string;\n}) {\n\tconst legend = find(legends, [\"id\", header]);\n\n\treturn (\n\t\t<div className=\"row gap-8 space-between\">\n\t\t\t<div className=\"row gap-8\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"legend-item-color\"\n\t\t\t\t\tstyle={{ backgroundColor: legend?.color }}\n\t\t\t\t/>\n\t\t\t\t<div>{legend?.name}</div>\n\t\t\t</div>\n\t\t\t<span>\n\t\t\t\t{formatValues(value)}\n\t\t\t\t{getUnit(unit)}\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nfunction AggregationView({ header, value }: { header: string; value: number }) {\n\treturn (\n\t\t<div className=\"row space-between\">\n\t\t\t<span>{capitalize(header.toString())}</span>\n\t\t\t<span>{formatValues(value)}</span>\n\t\t</div>\n\t);\n}\n\nfunction EarthEnginePopup({\n\tlayer,\n\torgUnit,\n\tloading,\n\terror,\n}: {\n\tlayer?: CustomGoogleEngineLayer;\n\torgUnit: MapOrgUnit;\n\tloading: boolean;\n\terror?: string;\n}) {\n\tconst engine = layer?.engine;\n\tconst legends = layer?.engine?.options?.legend?.items;\n\tconst data = engine?.getAggregation(orgUnit)?.data;\n\tconst unit =\n\t\tlayer?.engine?.options?.unit ??\n\t\thead(layer?.engine?.options.aggregations);\n\n\tconst aggregations = useMemo(() => {\n\t\tif (!isEmpty(legends)) {\n\t\t\treturn sortBy(\n\t\t\t\tObject.keys(data ?? {}).map((key) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: parseInt(key),\n\t\t\t\t\t\tvalue: data[key],\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\t[\"value\"],\n\t\t\t).reverse();\n\t\t}\n\t\treturn data ?? {};\n\t}, [data]);\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div style={{ width: 200, height: 200 }}>\n\t\t\t\t<Center>\n\t\t\t\t\t<CircularLoader extrasmall />\n\t\t\t\t</Center>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<h3 style={{ margin: \"0\" }}>{orgUnit.name}</h3>\n\t\t\t\t<Divider margin={\"0\"} />\n\t\t\t\t<div className=\"column gap-8\">\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t<b>{layer?.options?.name}</b>\n\t\t\t\t\t\t<div>{layer?.options?.unit}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t<p>{i18n.t(\"Could not get aggregate data\")}</p>\n\t\t\t\t\t\t<p>{error}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<h3 style={{ margin: \"0\" }}>{orgUnit.name}</h3>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<div className=\"column gap-8\">\n\t\t\t\t<div className=\"column\">\n\t\t\t\t\t<b>{layer?.options?.name}</b>\n\t\t\t\t\t<div>{layer?.options?.unit ?? unit}</div>\n\t\t\t\t</div>\n\t\t\t\t{data && (\n\t\t\t\t\t<div className=\"column\">\n\t\t\t\t\t\t{Array.isArray(aggregations)\n\t\t\t\t\t\t\t? aggregations?.map(({ id, value }) => (\n\t\t\t\t\t\t\t\t\t<Legend\n\t\t\t\t\t\t\t\t\t\tkey={`${orgUnit.id}-legend-details-${id}`}\n\t\t\t\t\t\t\t\t\t\tlegends={legends ?? []}\n\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\theader={id}\n\t\t\t\t\t\t\t\t\t\tunit={unit}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t: Object.keys(aggregations)?.map((key) => (\n\t\t\t\t\t\t\t\t\t<AggregationView\n\t\t\t\t\t\t\t\t\t\tkey={`${orgUnit.id}-aggregate-details-${key}`}\n\t\t\t\t\t\t\t\t\t\theader={key}\n\t\t\t\t\t\t\t\t\t\tvalue={aggregations[key]}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction EarthEngineArea({\n\tarea,\n\tlayer,\n\tloading,\n\terror,\n}: {\n\tarea: MapOrgUnit;\n\tlayer?: CustomGoogleEngineLayer;\n\tloading: boolean;\n\terror?: string;\n}) {\n\tconst ref = useRef<any>();\n\n\treturn (\n\t\t<GeoJSON\n\t\t\tref={ref}\n\t\t\tdata={area.geoJSON}\n\t\t\tinteractive\n\t\t\teventHandlers={{\n\t\t\t\tmouseover: (e) => highlightFeature(e, highlightStyle),\n\t\t\t\tmouseout: (e) => resetHighlight(e, defaultStyle),\n\t\t\t}}\n\t\t\tkey={`${area.id}-polygon`}\n\t\t\tpathOptions={defaultStyle}\n\t\t>\n\t\t\t<Tooltip>{area.name}</Tooltip>\n\t\t\t<Popup minWidth={100}>\n\t\t\t\t<EarthEnginePopup\n\t\t\t\t\terror={error}\n\t\t\t\t\tlayer={layer}\n\t\t\t\t\torgUnit={area}\n\t\t\t\t\tloading={loading}\n\t\t\t\t/>\n\t\t\t</Popup>\n\t\t</GeoJSON>\n\t);\n}\n\nexport default function GoogleEngineLayer({ layerId }: { layerId: string }) {\n\tconst layer = useGoogleEngineLayer(layerId);\n\tconst { name, type, enabled, url, options, engine } = layer ?? {};\n\tconst { isLoading: loadingAggregateData, error } = useQuery(\n\t\t[engine],\n\t\tasync () => engine?.getAggregations(),\n\t\t{\n\t\t\tsuspense: false,\n\t\t},\n\t);\n\tconst orgUnits = useBoundaryData();\n\n\tif (!url) return null;\n\n\treturn (\n\t\t<LayersControl.Overlay\n\t\t\tchecked={enabled}\n\t\t\tname={name ?? capitalize(type)}\n\t\t>\n\t\t\t<LayerGroup>\n\t\t\t\t<TileLayer id={options?.id} url={url} />\n\t\t\t\t{orgUnits?.map((area: MapOrgUnit) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<EarthEngineArea\n\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t(error as any)?.toString() as string | undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tloading={loadingAggregateData}\n\t\t\t\t\t\t\tkey={`${area.id}-polygon`}\n\t\t\t\t\t\t\tarea={area}\n\t\t\t\t\t\t\tlayer={layer}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</LayerGroup>\n\t\t</LayersControl.Overlay>\n\t);\n}\n"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=out.js.map
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}