@hisptz/dhis2-analytics 1.0.5 → 1.0.6

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 (293) hide show
  1. package/build/cjs/components/ChartAnalytics/ChartAnalytics.stories.js +253 -0
  2. package/build/cjs/components/ChartAnalytics/ChartAnalytics.test.js +51 -0
  3. package/build/cjs/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +48 -0
  4. package/build/cjs/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +34 -0
  5. package/build/cjs/components/ChartAnalytics/components/DownloadMenu/index.js +67 -0
  6. package/build/cjs/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +1 -0
  7. package/{src → build/cjs}/components/ChartAnalytics/data/column-data.json +0 -0
  8. package/{src → build/cjs}/components/ChartAnalytics/data/complex-multi-series-data.json +0 -0
  9. package/{src → build/cjs}/components/ChartAnalytics/data/multi-series-data.json +0 -0
  10. package/{src → build/cjs}/components/ChartAnalytics/data/pie-data.json +0 -0
  11. package/{src → build/cjs}/components/ChartAnalytics/data/stacked-chart-data.json +0 -0
  12. package/build/cjs/components/ChartAnalytics/hooks/useChart.js +38 -0
  13. package/build/cjs/components/ChartAnalytics/index.js +69 -0
  14. package/build/cjs/components/ChartAnalytics/models/column.js +53 -0
  15. package/build/cjs/components/ChartAnalytics/models/index.js +102 -0
  16. package/build/cjs/components/ChartAnalytics/models/line.js +35 -0
  17. package/build/cjs/components/ChartAnalytics/models/multi-series.js +111 -0
  18. package/build/cjs/components/ChartAnalytics/models/pie.js +53 -0
  19. package/build/cjs/components/ChartAnalytics/services/export.js +50 -0
  20. package/{src → build/cjs}/components/ChartAnalytics/styles/custom-highchart.css +0 -0
  21. package/build/cjs/components/ChartAnalytics/types/props.js +1 -0
  22. package/build/cjs/components/ChartAnalytics/utils/chart.js +133 -0
  23. package/build/cjs/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +45 -0
  24. package/build/cjs/components/CircularProgressDashboard/CircularProgressIndicator.test.js +13 -0
  25. package/build/cjs/components/CircularProgressDashboard/index.js +49 -0
  26. package/build/cjs/components/CircularProgressDashboard/types/props.js +1 -0
  27. package/build/cjs/components/Map/Map.stories.js +352 -0
  28. package/build/cjs/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +32 -0
  29. package/build/cjs/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +40 -0
  30. package/build/cjs/components/Map/components/EarthEngineLayerConfiguration/index.js +458 -0
  31. package/build/cjs/components/Map/components/MapArea/index.js +101 -0
  32. package/build/cjs/components/Map/components/MapArea/interfaces/index.js +1 -0
  33. package/build/cjs/components/Map/components/MapControls/components/CustomControl/index.js +32 -0
  34. package/build/cjs/components/Map/components/MapControls/components/DownloadControl/index.js +25 -0
  35. package/build/cjs/components/Map/components/MapControls/components/FullscreenControl/index.js +13 -0
  36. package/build/cjs/components/Map/components/MapControls/index.js +42 -0
  37. package/build/cjs/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +13 -0
  38. package/build/cjs/components/Map/components/MapLayer/components/BoundaryLayer/index.js +51 -0
  39. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +106 -0
  40. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +379 -0
  41. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +36 -0
  42. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +200 -0
  43. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +1 -0
  44. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +10 -0
  45. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +412 -0
  46. package/build/cjs/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +124 -0
  47. package/{src → build/cjs}/components/Map/components/MapLayer/components/LegendArea/LegendArea.module.css +0 -0
  48. package/build/cjs/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +26 -0
  49. package/build/cjs/components/Map/components/MapLayer/components/LegendArea/index.js +181 -0
  50. package/build/cjs/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +86 -0
  51. package/build/cjs/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +14 -0
  52. package/build/cjs/components/Map/components/MapLayer/components/PointLayer/index.js +46 -0
  53. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +57 -0
  54. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +145 -0
  55. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +43 -0
  56. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +56 -0
  57. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +61 -0
  58. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +43 -0
  59. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +35 -0
  60. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +15 -0
  61. package/build/cjs/components/Map/components/MapLayer/components/ThematicLayer/index.js +57 -0
  62. package/{src → build/cjs}/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +0 -0
  63. package/build/cjs/components/Map/components/MapLayer/index.js +40 -0
  64. package/build/cjs/components/Map/components/MapLayer/interfaces/index.js +8 -0
  65. package/build/cjs/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +389 -0
  66. package/build/cjs/components/Map/components/MapProvider/components/MapLayerProvider/index.js +116 -0
  67. package/build/cjs/components/Map/components/MapProvider/hooks/index.js +19 -0
  68. package/build/cjs/components/Map/components/MapProvider/index.js +121 -0
  69. package/build/cjs/components/Map/components/MapUpdater/index.js +24 -0
  70. package/build/cjs/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +32 -0
  71. package/build/cjs/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +40 -0
  72. package/build/cjs/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +40 -0
  73. package/build/cjs/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +428 -0
  74. package/build/cjs/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +63 -0
  75. package/{src → build/cjs}/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScale.module.css +0 -0
  76. package/{src → build/cjs}/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScaleSelect.module.css +0 -0
  77. package/build/cjs/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +72 -0
  78. package/build/cjs/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +71 -0
  79. package/build/cjs/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +47 -0
  80. package/build/cjs/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +79 -0
  81. package/build/cjs/components/Map/components/ThematicLayerConfiguration/index.js +265 -0
  82. package/build/cjs/components/Map/constants/colors.js +428 -0
  83. package/build/cjs/components/Map/constants/legendSet.js +22 -0
  84. package/build/cjs/components/Map/hooks/map.js +52 -0
  85. package/build/cjs/components/Map/index.js +108 -0
  86. package/build/cjs/components/Map/interfaces/index.js +1 -0
  87. package/build/cjs/components/Map/state/index.js +23 -0
  88. package/build/cjs/components/Map/utils/colors.js +78 -0
  89. package/build/cjs/components/Map/utils/helpers.js +25 -0
  90. package/build/cjs/components/Map/utils/map.js +161 -0
  91. package/build/cjs/components/SingleValueContainer/SingleValueContainer.stories.js +127 -0
  92. package/build/cjs/components/SingleValueContainer/SingleValueContainer.test.js +23 -0
  93. package/build/cjs/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +54 -0
  94. package/build/cjs/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +24 -0
  95. package/build/cjs/components/SingleValueContainer/index.js +43 -0
  96. package/{src → build/cjs}/components/SingleValueContainer/styles/SingleValueContainer.module.css +0 -0
  97. package/build/cjs/components/SingleValueContainer/types/props.js +1 -0
  98. package/{src → build/cjs}/data/map.json +0 -0
  99. package/build/cjs/dataProviders/map.js +31 -0
  100. package/build/cjs/index.js +49 -0
  101. package/build/cjs/index.test.js +7 -0
  102. package/build/cjs/locales/en/translations.json +128 -0
  103. package/build/cjs/locales/index.js +22 -0
  104. package/build/es/components/ChartAnalytics/ChartAnalytics.stories.js +235 -0
  105. package/build/es/components/ChartAnalytics/ChartAnalytics.test.js +46 -0
  106. package/build/es/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +41 -0
  107. package/build/es/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +26 -0
  108. package/build/es/components/ChartAnalytics/components/DownloadMenu/index.js +58 -0
  109. package/build/es/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +1 -0
  110. package/build/es/components/ChartAnalytics/data/column-data.json +210 -0
  111. package/build/es/components/ChartAnalytics/data/complex-multi-series-data.json +124 -0
  112. package/build/es/components/ChartAnalytics/data/multi-series-data.json +536 -0
  113. package/build/es/components/ChartAnalytics/data/pie-data.json +115 -0
  114. package/build/es/components/ChartAnalytics/data/stacked-chart-data.json +415 -0
  115. package/build/es/components/ChartAnalytics/hooks/useChart.js +32 -0
  116. package/build/es/components/ChartAnalytics/index.js +40 -0
  117. package/build/es/components/ChartAnalytics/models/column.js +45 -0
  118. package/build/es/components/ChartAnalytics/models/index.js +95 -0
  119. package/build/es/components/ChartAnalytics/models/line.js +28 -0
  120. package/build/es/components/ChartAnalytics/models/multi-series.js +104 -0
  121. package/build/es/components/ChartAnalytics/models/pie.js +46 -0
  122. package/build/es/components/ChartAnalytics/services/export.js +36 -0
  123. package/build/es/components/ChartAnalytics/styles/custom-highchart.css +48 -0
  124. package/build/es/components/ChartAnalytics/types/props.js +1 -0
  125. package/build/es/components/ChartAnalytics/utils/chart.js +122 -0
  126. package/{src/components/CircularProgressDashboard/CircularProgressIndicator.stories.tsx → build/es/components/CircularProgressDashboard/CircularProgressIndicator.stories.js} +9 -16
  127. package/build/es/components/CircularProgressDashboard/CircularProgressIndicator.test.js +10 -0
  128. package/build/es/components/CircularProgressDashboard/index.js +41 -0
  129. package/build/es/components/CircularProgressDashboard/types/props.js +1 -0
  130. package/build/es/components/Map/Map.stories.js +334 -0
  131. package/build/es/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +23 -0
  132. package/build/es/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +31 -0
  133. package/build/es/components/Map/components/EarthEngineLayerConfiguration/index.js +448 -0
  134. package/build/es/components/Map/components/MapArea/index.js +91 -0
  135. package/build/es/components/Map/components/MapArea/interfaces/index.js +1 -0
  136. package/build/es/components/Map/components/MapControls/components/CustomControl/index.js +25 -0
  137. package/build/es/components/Map/components/MapControls/components/DownloadControl/index.js +18 -0
  138. package/build/es/components/Map/components/MapControls/components/FullscreenControl/index.js +6 -0
  139. package/build/es/components/Map/components/MapControls/index.js +35 -0
  140. package/build/es/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +7 -0
  141. package/build/es/components/Map/components/MapLayer/components/BoundaryLayer/index.js +41 -0
  142. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +95 -0
  143. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +369 -0
  144. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +29 -0
  145. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +191 -0
  146. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +1 -0
  147. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +10 -0
  148. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +403 -0
  149. package/build/es/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +111 -0
  150. package/build/es/components/Map/components/MapLayer/components/LegendArea/LegendArea.module.css +12 -0
  151. package/build/es/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +19 -0
  152. package/build/es/components/Map/components/MapLayer/components/LegendArea/index.js +172 -0
  153. package/build/es/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +76 -0
  154. package/build/es/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +8 -0
  155. package/build/es/components/Map/components/MapLayer/components/PointLayer/index.js +39 -0
  156. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +49 -0
  157. package/{src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.tsx → build/es/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js} +57 -74
  158. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +33 -0
  159. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +47 -0
  160. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +50 -0
  161. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +36 -0
  162. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +28 -0
  163. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +9 -0
  164. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/index.js +50 -0
  165. package/build/es/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +62 -0
  166. package/build/es/components/Map/components/MapLayer/index.js +33 -0
  167. package/build/es/components/Map/components/MapLayer/interfaces/index.js +1 -0
  168. package/build/es/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +381 -0
  169. package/build/es/components/Map/components/MapProvider/components/MapLayerProvider/index.js +107 -0
  170. package/{src/components/Map/components/MapProvider/hooks/index.ts → build/es/components/Map/components/MapProvider/hooks/index.js} +3 -6
  171. package/build/es/components/Map/components/MapProvider/index.js +112 -0
  172. package/build/es/components/Map/components/MapUpdater/index.js +17 -0
  173. package/build/es/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +23 -0
  174. package/build/es/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +31 -0
  175. package/build/es/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +33 -0
  176. package/{src/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.ts → build/es/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js} +46 -59
  177. package/build/es/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +53 -0
  178. package/build/es/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScale.module.css +15 -0
  179. package/build/es/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScaleSelect.module.css +12 -0
  180. package/build/es/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +56 -0
  181. package/build/es/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +64 -0
  182. package/build/es/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +38 -0
  183. package/build/es/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +70 -0
  184. package/build/es/components/Map/components/ThematicLayerConfiguration/index.js +254 -0
  185. package/{src/components/Map/constants/colors.ts → build/es/components/Map/constants/colors.js} +46 -59
  186. package/build/es/components/Map/constants/legendSet.js +15 -0
  187. package/build/es/components/Map/hooks/map.js +44 -0
  188. package/build/es/components/Map/index.js +51 -0
  189. package/build/es/components/Map/interfaces/index.js +1 -0
  190. package/build/es/components/Map/state/index.js +14 -0
  191. package/build/es/components/Map/utils/colors.js +61 -0
  192. package/build/es/components/Map/utils/helpers.js +14 -0
  193. package/build/es/components/Map/utils/map.js +147 -0
  194. package/build/es/components/SingleValueContainer/SingleValueContainer.stories.js +115 -0
  195. package/build/es/components/SingleValueContainer/SingleValueContainer.test.js +20 -0
  196. package/build/es/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +47 -0
  197. package/build/es/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +17 -0
  198. package/build/es/components/SingleValueContainer/index.js +29 -0
  199. package/build/es/components/SingleValueContainer/styles/SingleValueContainer.module.css +39 -0
  200. package/build/es/components/SingleValueContainer/types/props.js +1 -0
  201. package/build/es/data/map.json +5984 -0
  202. package/build/es/dataProviders/map.js +24 -0
  203. package/{src/index.ts → build/es/index.js} +1 -0
  204. package/build/es/index.test.js +6 -0
  205. package/build/es/locales/en/translations.json +128 -0
  206. package/build/es/locales/index.js +13 -0
  207. package/package.json +21 -4
  208. package/d2.config.js +0 -8
  209. package/i18n/en.pot +0 -409
  210. package/src/components/ChartAnalytics/ChartAnalytics.stories.tsx +0 -250
  211. package/src/components/ChartAnalytics/ChartAnalytics.test.tsx +0 -51
  212. package/src/components/ChartAnalytics/components/DownloadMenu/components/Menu.tsx +0 -48
  213. package/src/components/ChartAnalytics/components/DownloadMenu/constants/menu.ts +0 -38
  214. package/src/components/ChartAnalytics/components/DownloadMenu/index.tsx +0 -67
  215. package/src/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.ts +0 -1
  216. package/src/components/ChartAnalytics/hooks/useChart.ts +0 -35
  217. package/src/components/ChartAnalytics/index.tsx +0 -23
  218. package/src/components/ChartAnalytics/models/column.ts +0 -50
  219. package/src/components/ChartAnalytics/models/index.ts +0 -78
  220. package/src/components/ChartAnalytics/models/line.ts +0 -31
  221. package/src/components/ChartAnalytics/models/multi-series.ts +0 -115
  222. package/src/components/ChartAnalytics/models/pie.ts +0 -54
  223. package/src/components/ChartAnalytics/services/export.ts +0 -38
  224. package/src/components/ChartAnalytics/types/props.tsx +0 -48
  225. package/src/components/ChartAnalytics/utils/chart.ts +0 -123
  226. package/src/components/CircularProgressDashboard/CircularProgressIndicator.test.tsx +0 -9
  227. package/src/components/CircularProgressDashboard/index.tsx +0 -35
  228. package/src/components/CircularProgressDashboard/types/props.tsx +0 -17
  229. package/src/components/Map/Map.stories.tsx +0 -339
  230. package/src/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.tsx +0 -28
  231. package/src/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.tsx +0 -34
  232. package/src/components/Map/components/EarthEngineLayerConfiguration/index.tsx +0 -412
  233. package/src/components/Map/components/MapArea/index.tsx +0 -83
  234. package/src/components/Map/components/MapArea/interfaces/index.ts +0 -39
  235. package/src/components/Map/components/MapControls/components/CustomControl/index.tsx +0 -24
  236. package/src/components/Map/components/MapControls/components/DownloadControl/index.tsx +0 -10
  237. package/src/components/Map/components/MapControls/components/FullscreenControl/index.tsx +0 -7
  238. package/src/components/Map/components/MapControls/index.tsx +0 -24
  239. package/src/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.ts +0 -7
  240. package/src/components/Map/components/MapLayer/components/BoundaryLayer/index.tsx +0 -55
  241. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.tsx +0 -76
  242. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.ts +0 -430
  243. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.ts +0 -34
  244. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/index.tsx +0 -185
  245. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.ts +0 -56
  246. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +0 -34233
  247. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts +0 -431
  248. package/src/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.ts +0 -105
  249. package/src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx +0 -17
  250. package/src/components/Map/components/MapLayer/components/LegendArea/index.tsx +0 -168
  251. package/src/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.tsx +0 -44
  252. package/src/components/Map/components/MapLayer/components/PointLayer/hooks/index.ts +0 -8
  253. package/src/components/Map/components/MapLayer/components/PointLayer/index.tsx +0 -36
  254. package/src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.tsx +0 -48
  255. package/src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.tsx +0 -39
  256. package/src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.tsx +0 -57
  257. package/src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx +0 -43
  258. package/src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.tsx +0 -38
  259. package/src/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.tsx +0 -26
  260. package/src/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.ts +0 -10
  261. package/src/components/Map/components/MapLayer/components/ThematicLayer/index.tsx +0 -46
  262. package/src/components/Map/components/MapLayer/index.tsx +0 -32
  263. package/src/components/Map/components/MapLayer/interfaces/index.ts +0 -139
  264. package/src/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.tsx +0 -359
  265. package/src/components/Map/components/MapProvider/components/MapLayerProvider/index.tsx +0 -105
  266. package/src/components/Map/components/MapProvider/index.tsx +0 -93
  267. package/src/components/Map/components/MapUpdater/index.tsx +0 -8
  268. package/src/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.tsx +0 -28
  269. package/src/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.tsx +0 -34
  270. package/src/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.tsx +0 -24
  271. package/src/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.tsx +0 -50
  272. package/src/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.ts +0 -91
  273. package/src/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.tsx +0 -45
  274. package/src/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.tsx +0 -47
  275. package/src/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.tsx +0 -57
  276. package/src/components/Map/components/ThematicLayerConfiguration/index.tsx +0 -248
  277. package/src/components/Map/constants/legendSet.ts +0 -19
  278. package/src/components/Map/hooks/map.ts +0 -47
  279. package/src/components/Map/index.tsx +0 -65
  280. package/src/components/Map/interfaces/index.ts +0 -57
  281. package/src/components/Map/state/index.tsx +0 -31
  282. package/src/components/Map/utils/colors.ts +0 -95
  283. package/src/components/Map/utils/helpers.ts +0 -15
  284. package/src/components/Map/utils/map.ts +0 -150
  285. package/src/components/SingleValueContainer/SingleValueContainer.stories.tsx +0 -146
  286. package/src/components/SingleValueContainer/SingleValueContainer.test.tsx +0 -24
  287. package/src/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.tsx +0 -46
  288. package/src/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.tsx +0 -12
  289. package/src/components/SingleValueContainer/index.tsx +0 -30
  290. package/src/components/SingleValueContainer/types/props.tsx +0 -16
  291. package/src/dataProviders/map.tsx +0 -24
  292. package/src/index.test.ts +0 -7
  293. package/tsconfig.json +0 -45
@@ -1,76 +0,0 @@
1
- import React, {forwardRef} from "react";
2
- import LegendCardHeader from "../../LegendArea/components/LegendCardHeader";
3
- import {CustomGoogleEngineLayer} from "../../../interfaces";
4
- import {Divider} from "@dhis2/ui";
5
- import i18n from "@dhis2/d2-i18n";
6
- import {isEmpty} from "lodash";
7
-
8
- export function LegendItem({ legend }: { legend: { min: number; max: number; color: string; name?: string } }) {
9
- return (
10
- <div className="legend-item">
11
- <div className="legend-item-color" style={{ backgroundColor: legend.color }} />
12
- {legend.name ? <div className="legend-item-label">{`${legend.name}`}</div> : <div className="legend-item-label">{`${legend.min} - ${legend.max}`}</div>}
13
- </div>
14
- );
15
- }
16
-
17
- function getLegendsFromParams(params?: { min: number; max: number; palette: string | string[] }) {
18
- if (!params) return [];
19
-
20
- const { palette, min, max } = params;
21
- console.log(params);
22
- const sanitizedPalette = Array.isArray(palette) ? palette : palette.split(",");
23
- const classes = sanitizedPalette.length;
24
- const difference = max - min;
25
- const interval = Math.round(difference / classes);
26
- const legends = [];
27
- console.log(10 / 9);
28
- for (let i = 0; i < classes; i++) {
29
- const min = i * interval;
30
- const max = min + interval;
31
-
32
- const name = i === classes - 1 ? `> ${min}` : undefined;
33
-
34
- legends.push({
35
- id: sanitizedPalette[i],
36
- color: sanitizedPalette[i],
37
- min,
38
- max,
39
- name,
40
- });
41
- }
42
-
43
- return legends;
44
- }
45
-
46
- function EarthEngineLegend(
47
- { layer, collapsible, onCollapse, name }: { layer: CustomGoogleEngineLayer; collapsible?: boolean; onCollapse?: () => void; name: string },
48
- ref: React.LegacyRef<HTMLDivElement>
49
- ) {
50
- const { options } = layer;
51
- const legends = options?.legend?.items ?? getLegendsFromParams(options?.params);
52
-
53
- return (
54
- <div style={{ maxWidth: 200, alignItems: "start", gap: 8 }} className="legend-card" ref={ref}>
55
- <LegendCardHeader title={name} collapsible={collapsible} onCollapse={onCollapse} />
56
- <Divider margin={"0"} />
57
- <p style={{ margin: 0 }}>{options?.description ?? ""}</p>
58
- {!isEmpty(legends) && <b>{options?.unit ?? ""}</b>}
59
- <div className="legend-list">
60
- {legends?.map((legend: any) => (
61
- <LegendItem key={`${legend?.color}-legend-list`} legend={legend} />
62
- ))}
63
- </div>
64
- {options?.source && (
65
- <div className="row gap-8">
66
- {i18n.t("Source")}:
67
- <a className="source-url" target="_blank" referrerPolicy="no-referrer" href={options?.sourceUrl}>
68
- {options?.source ?? ""}
69
- </a>
70
- </div>
71
- )}
72
- </div>
73
- );
74
- }
75
-
76
- export default forwardRef(EarthEngineLegend);
@@ -1,430 +0,0 @@
1
- import i18n from "@dhis2/d2-i18n";
2
- import {EarthEngineOptions} from "../interfaces";
3
-
4
- export const EARTH_ENGINE_LAYER = "earthEngine";
5
-
6
- export const EARTH_ENGINE_LAYERS: EarthEngineOptions[] = [
7
- {
8
- layer: EARTH_ENGINE_LAYER,
9
- id: "population",
10
- datasetId: "WorldPop/GP/100m/pop",
11
- type: "ImageCollection",
12
- name: i18n.t("Population"),
13
- unit: i18n.t("people per hectare"),
14
- description: i18n.t("Estimated number of people living in an area."),
15
- source: "WorldPop / Google Earth Engine",
16
- sourceUrl: "https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop",
17
- img: "images/population.png",
18
- defaultAggregations: ["sum", "mean"],
19
- tokenType: "Bearer",
20
- periodType: "Yearly",
21
- filters: ["period"],
22
- mosaic: true,
23
- params: {
24
- min: 0,
25
- max: 10,
26
- palette: "#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15", // Reds
27
- },
28
- opacity: 0.9,
29
- },
30
- {
31
- layer: EARTH_ENGINE_LAYER,
32
- type: "ImageCollection",
33
- tokenType: "Bearer",
34
- id: "populationAgeGroups",
35
- datasetId: "WorldPop/GP/100m/pop_age_sex_cons_unadj",
36
- name: i18n.t("Population age groups"),
37
- unit: i18n.t("people per hectare"),
38
- description: i18n.t("Estimated number of people living in an area, grouped by age and gender."),
39
- source: "WorldPop / Google Earth Engine",
40
- sourceUrl: "https://developers.google.com/earth-engine/datasets/catalog/WorldPop_GP_100m_pop_age_sex_cons_unadj",
41
- img: "images/population.png",
42
- periodType: "Yearly",
43
- defaultAggregations: ["sum", "mean"],
44
- bands: [
45
- {
46
- id: "M_0",
47
- name: i18n.t("Male 0 - 1 years"),
48
- },
49
- {
50
- id: "M_1",
51
- name: i18n.t("Male 1 - 4 years"),
52
- },
53
- {
54
- id: "M_5",
55
- name: i18n.t("Male 5 - 9 years"),
56
- },
57
- {
58
- id: "M_10",
59
- name: i18n.t("Male 10 - 14 years"),
60
- },
61
- {
62
- id: "M_15",
63
- name: i18n.t("Male 15 - 19 years"),
64
- },
65
- {
66
- id: "M_20",
67
- name: i18n.t("Male 20 - 24 years"),
68
- },
69
- {
70
- id: "M_25",
71
- name: i18n.t("Male 25 - 29 years"),
72
- },
73
- {
74
- id: "M_30",
75
- name: i18n.t("Male 30 - 34 years"),
76
- },
77
- {
78
- id: "M_35",
79
- name: i18n.t("Male 35 - 39 years"),
80
- },
81
- {
82
- id: "M_40",
83
- name: i18n.t("Male 40 - 44 years"),
84
- },
85
- {
86
- id: "M_45",
87
- name: i18n.t("Male 45 - 49 years"),
88
- },
89
- {
90
- id: "M_50",
91
- name: i18n.t("Male 50 - 54 years"),
92
- },
93
- {
94
- id: "M_55",
95
- name: i18n.t("Male 55 - 59 years"),
96
- },
97
- {
98
- id: "M_60",
99
- name: i18n.t("Male 60 - 64 years"),
100
- },
101
- {
102
- id: "M_65",
103
- name: i18n.t("Male 65 - 69 years"),
104
- },
105
- {
106
- id: "M_70",
107
- name: i18n.t("Male 70 - 74 years"),
108
- },
109
- {
110
- id: "M_75",
111
- name: i18n.t("Male 75 - 79 years"),
112
- },
113
- {
114
- id: "M_80",
115
- name: i18n.t("Male 80 years and above"),
116
- },
117
- {
118
- id: "F_0",
119
- name: i18n.t("Female 0 - 1 years"),
120
- },
121
- {
122
- id: "F_1",
123
- name: i18n.t("Female 1 - 4 years"),
124
- },
125
- {
126
- id: "F_5",
127
- name: i18n.t("Female 5 - 9 years"),
128
- },
129
- {
130
- id: "F_10",
131
- name: i18n.t("Female 10 - 14 years"),
132
- },
133
- {
134
- id: "F_15",
135
- name: i18n.t("Female 15 - 19 years"),
136
- },
137
- {
138
- id: "F_20",
139
- name: i18n.t("Female 20 - 24 years"),
140
- },
141
- {
142
- id: "F_25",
143
- name: i18n.t("Female 25 - 29 years"),
144
- },
145
- {
146
- id: "F_30",
147
- name: i18n.t("Female 30 - 34 years"),
148
- },
149
- {
150
- id: "F_35",
151
- name: i18n.t("Female 35 - 39 years"),
152
- },
153
- {
154
- id: "F_40",
155
- name: i18n.t("Female 40 - 44 years"),
156
- },
157
- {
158
- id: "F_45",
159
- name: i18n.t("Female 45 - 49 years"),
160
- },
161
- {
162
- id: "F_50",
163
- name: i18n.t("Female 50 - 54 years"),
164
- },
165
- {
166
- id: "F_55",
167
- name: i18n.t("Female 55 - 59 years"),
168
- },
169
- {
170
- id: "F_60",
171
- name: i18n.t("Female 60 - 64 years"),
172
- },
173
- {
174
- id: "F_65",
175
- name: i18n.t("Female 65 - 69 years"),
176
- },
177
- {
178
- id: "F_70",
179
- name: i18n.t("Female 70 - 74 years"),
180
- multiple: true,
181
- },
182
- {
183
- id: "F_75",
184
- name: i18n.t("Female 75 - 79 years"),
185
- },
186
- {
187
- id: "F_80",
188
- name: i18n.t("Female 80 years and above"),
189
- },
190
- ],
191
- filters: ["period"],
192
- mosaic: true,
193
- params: {
194
- min: 0,
195
- max: 10,
196
- palette: "#fee5d9,#fcbba1,#fc9272,#fb6a4a,#de2d26,#a50f15", // Reds
197
- },
198
- opacity: 0.9,
199
- tileScale: 4,
200
- },
201
- {
202
- layer: EARTH_ENGINE_LAYER,
203
- id: "footprints",
204
- datasetId: "GOOGLE/Research/open-buildings/v1/polygons",
205
- type: "FeatureCollection",
206
- name: i18n.t("Building footprints"),
207
- unit: i18n.t("Number of buildings"),
208
- description: i18n.t("The outlines of buildings derived from high-resolution satellite imagery. Only for the continent of Africa."),
209
- notice: i18n.t("Building counts are only available for smaller organisation unit areas."),
210
- error: i18n.t("Select a smaller area or single organization unit to see the count of buildings."),
211
- source: "NASA / USGS / JPL-Caltech / Google Earth Engine",
212
- sourceUrl: "https://sites.research.google/open-buildings/",
213
- img: "images/buildings.png",
214
- aggregations: ["count"],
215
- defaultAggregations: ["count"],
216
- opacity: 0.9,
217
- tokenType: "Bearer",
218
- },
219
- {
220
- layer: EARTH_ENGINE_LAYER,
221
- id: "elevation",
222
- type: "Image",
223
- tokenType: "Bearer",
224
- datasetId: "USGS/SRTMGL1_003",
225
- name: i18n.t("Elevation"),
226
- unit: i18n.t("meters"),
227
- description: i18n.t("Elevation above sea-level."),
228
- source: "NASA / USGS / JPL-Caltech / Google Earth Engine",
229
- sourceUrl: "https://explorer.earthengine.google.com/#detail/USGS%2FSRTMGL1_003",
230
- img: "images/elevation.png",
231
- aggregations: ["min", "max", "mean", "median", "stdDev", "variance"],
232
- defaultAggregations: ["mean", "min", "max"],
233
- selectedBands: ["elevation"],
234
- params: {
235
- min: 0,
236
- max: 1500,
237
- palette: "#ffffd4,#fee391,#fec44f,#fe9929,#d95f0e,#993404", // YlOrBr
238
- },
239
- opacity: 0.9,
240
- },
241
- {
242
- layer: EARTH_ENGINE_LAYER,
243
- datasetId: "UCSB-CHG/CHIRPS/PENTAD",
244
- id: "precipitation",
245
- type: "ImageCollection",
246
- tokenType: "Bearer",
247
- name: i18n.t("Precipitation"),
248
- unit: i18n.t("millimeter"),
249
- description: i18n.t(
250
- "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."
251
- ),
252
- source: "UCSB / CHG / Google Earth Engine",
253
- sourceUrl: "https://explorer.earthengine.google.com/#detail/UCSB-CHG%2FCHIRPS%2FPENTAD",
254
- periodType: "Custom",
255
- selectedBands: ["precipitation"],
256
- aggregations: ["min", "max", "mean", "median", "stdDev", "variance"],
257
- defaultAggregations: ["mean", "min", "max"],
258
- mask: true,
259
- img: "images/precipitation.png",
260
- params: {
261
- min: 0,
262
- max: 100,
263
- palette: "#eff3ff,#c6dbef,#9ecae1,#6baed6,#3182bd,#08519c", // Blues
264
- },
265
- opacity: 0.9,
266
- },
267
- {
268
- layer: EARTH_ENGINE_LAYER,
269
- datasetId: "MODIS/006/MOD11A2",
270
- id: "temperature",
271
- type: "ImageCollection",
272
- tokenType: "Bearer",
273
- name: i18n.t("Temperature"),
274
- unit: i18n.t("°C during daytime"),
275
- description: i18n.t("Land surface temperatures collected from satellite. Blank spots will appear in areas with a persistent cloud cover."),
276
- source: "NASA LP DAAC / Google Earth Engine",
277
- sourceUrl: "https://explorer.earthengine.google.com/#detail/MODIS%2FMOD11A2",
278
- img: "images/temperature.png",
279
- aggregations: ["min", "max", "mean", "median", "stdDev", "variance"],
280
- defaultAggregations: ["mean", "min", "max"],
281
- periodType: "Custom",
282
- selectedBands: ["LST_Day_1km"],
283
- mask: true,
284
- methods: {
285
- toFloat: [],
286
- multiply: [0.02],
287
- subtract: [273.15],
288
- },
289
- params: {
290
- min: 0,
291
- max: 40,
292
- palette: "#fff5f0,#fee0d2,#fcbba1,#fc9272,#fb6a4a,#ef3b2c,#cb181d,#a50f15,#67000d", // Reds
293
- },
294
- opacity: 0.9,
295
- },
296
- {
297
- layer: EARTH_ENGINE_LAYER,
298
- type: "ImageCollection",
299
- tokenType: "Bearer",
300
- id: "landCover",
301
- datasetId: "MODIS/006/MCD12Q1", // No longer in use: 'MODIS/051/MCD12Q1',
302
- name: i18n.t("Landcover"),
303
- description: i18n.t("Distinct landcover types collected from satellites."),
304
- source: "NASA LP DAAC / Google Earth Engine",
305
- sourceUrl: "https://developers.google.com/earth-engine/datasets/catalog/MODIS_006_MCD12Q1",
306
- periodType: "Yearly",
307
- filters: ["period"],
308
- selectedBands: ["LC_Type1"],
309
- defaultAggregations: ["percentage", "hectares", "acres"],
310
- maxAggregations: 1,
311
- legend: {
312
- items: [
313
- // http://www.eomf.ou.edu/static/IGBP.pdf
314
- {
315
- id: 1,
316
- name: i18n.t("Evergreen Needleleaf forest"),
317
- color: "#162103",
318
- },
319
- {
320
- id: 2,
321
- name: i18n.t("Evergreen Broadleaf forest"),
322
- color: "#235123",
323
- },
324
- {
325
- id: 3,
326
- name: i18n.t("Deciduous Needleleaf forest"),
327
- color: "#399b38",
328
- },
329
- {
330
- id: 4,
331
- name: i18n.t("Deciduous Broadleaf forest"),
332
- color: "#38eb38",
333
- },
334
- {
335
- id: 5,
336
- name: i18n.t("Mixed forest"),
337
- color: "#39723b",
338
- },
339
- {
340
- id: 6,
341
- name: i18n.t("Closed shrublands"),
342
- color: "#6a2424",
343
- },
344
- {
345
- id: 7,
346
- name: i18n.t("Open shrublands"),
347
- color: "#c3a55f",
348
- },
349
- {
350
- id: 8,
351
- name: i18n.t("Woody savannas"),
352
- color: "#b76124",
353
- },
354
- {
355
- id: 9,
356
- name: i18n.t("Savannas"),
357
- color: "#d99125",
358
- },
359
- {
360
- id: 10,
361
- name: i18n.t("Grasslands"),
362
- color: "#92af1f",
363
- },
364
- {
365
- id: 11,
366
- name: i18n.t("Permanent wetlands"),
367
- color: "#10104c",
368
- },
369
- {
370
- id: 12,
371
- name: i18n.t("Croplands"),
372
- color: "#cdb400",
373
- },
374
- {
375
- id: 13,
376
- name: i18n.t("Urban and built-up"),
377
- color: "#cc0202",
378
- },
379
- {
380
- id: 14,
381
- name: i18n.t("Cropland/Natural vegetation mosaic"),
382
- color: "#332808",
383
- },
384
- {
385
- id: 15,
386
- name: i18n.t("Snow and ice"),
387
- color: "#d7cdcc",
388
- },
389
- {
390
- id: 16,
391
- name: i18n.t("Barren or sparsely vegetated"),
392
- color: "#f7e174",
393
- },
394
- {
395
- id: 17,
396
- name: i18n.t("Water"),
397
- color: "#aec3d6",
398
- },
399
- ],
400
- },
401
- mask: false,
402
- img: "images/landcover.png",
403
- opacity: 0.9,
404
- },
405
- {
406
- layer: EARTH_ENGINE_LAYER,
407
- id: "nightLights",
408
- type: "ImageCollection",
409
- tokenType: "Bearer",
410
- legacy: true, // Kept for backward compability
411
- datasetId: "NOAA/DMSP-OLS/NIGHTTIME_LIGHTS",
412
- name: i18n.t("Nighttime lights"),
413
- unit: i18n.t("light intensity"),
414
- description: i18n.t("Light intensity from cities, towns, and other sites with persistent lighting, including gas flares."),
415
- source: "NOAA / Google Earth Engine",
416
- sourceUrl: "https://explorer.earthengine.google.com/#detail/NOAA%2FDMSP-OLS%2FNIGHTTIME_LIGHTS",
417
- periodType: "Yearly",
418
- selectedBands: ["stable_lights"],
419
- mask: true,
420
- img: "images/nighttime.png",
421
- params: {
422
- min: 0,
423
- max: 63,
424
- palette: "#ffffd4,#fee391,#fec44f,#fe9929,#ec7014,#cc4c02,#8c2d04", // YlOrBr
425
- },
426
- opacity: 0.9,
427
- },
428
- ];
429
-
430
- export const SUPPORTED_EARTH_ENGINE_LAYERS = ["population", "landCover", "footprints"];
@@ -1,34 +0,0 @@
1
- import {useDataEngine} from "@dhis2/app-runtime";
2
- import {find} from "lodash";
3
- import {useMapLayers} from "../../../../MapProvider/hooks";
4
- import {CustomGoogleEngineLayer} from "../../../interfaces";
5
- import {EarthEngineToken} from "../interfaces";
6
- import {useState} from "react";
7
-
8
- const googleEngineKeyQuery = {
9
- token: {
10
- resource: "tokens/google",
11
- },
12
- };
13
-
14
- export function useGoogleEngineToken() {
15
- const engine = useDataEngine();
16
- const [loading, setLoading] = useState(false);
17
-
18
- const getToken = async () => {
19
- setLoading(true);
20
- const token = await engine.query(googleEngineKeyQuery);
21
- setLoading(false);
22
- return token;
23
- };
24
-
25
- return {
26
- refresh: getToken as unknown as () => Promise<{ token: EarthEngineToken }>,
27
- loading,
28
- };
29
- }
30
-
31
- export default function useGoogleEngineLayer(layerId: string): CustomGoogleEngineLayer | undefined {
32
- const { layers } = useMapLayers();
33
- return find(layers as CustomGoogleEngineLayer[], ["id", layerId]);
34
- }