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

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 (616) hide show
  1. package/dist/components/ChartAnalytics/ChartAnalytics.stories.js +20 -43
  2. package/dist/components/ChartAnalytics/DHIS2Chart.js +17 -43
  3. package/dist/components/ChartAnalytics/DHIS2Chart.js.map +1 -1
  4. package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +14 -16
  5. package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -1
  6. package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +8 -14
  7. package/dist/components/ChartAnalytics/components/DownloadMenu/index.js +19 -21
  8. package/dist/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -1
  9. package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +0 -1
  10. package/dist/components/ChartAnalytics/hooks/useChart.js +11 -13
  11. package/dist/components/ChartAnalytics/hooks/useChart.js.map +1 -1
  12. package/dist/components/ChartAnalytics/index.js +1 -12
  13. package/dist/components/ChartAnalytics/index.js.map +1 -1
  14. package/dist/components/ChartAnalytics/models/bar.js +3 -6
  15. package/dist/components/ChartAnalytics/models/bar.js.map +1 -1
  16. package/dist/components/ChartAnalytics/models/column.js +6 -9
  17. package/dist/components/ChartAnalytics/models/column.js.map +1 -1
  18. package/dist/components/ChartAnalytics/models/index.js +1 -6
  19. package/dist/components/ChartAnalytics/models/index.js.map +1 -1
  20. package/dist/components/ChartAnalytics/models/line.js +6 -8
  21. package/dist/components/ChartAnalytics/models/line.js.map +1 -1
  22. package/dist/components/ChartAnalytics/models/multi-series.js +26 -15
  23. package/dist/components/ChartAnalytics/models/multi-series.js.map +1 -1
  24. package/dist/components/ChartAnalytics/models/pie.js +8 -8
  25. package/dist/components/ChartAnalytics/models/pie.js.map +1 -1
  26. package/dist/components/ChartAnalytics/services/export.js +7 -20
  27. package/dist/components/ChartAnalytics/services/export.js.map +1 -1
  28. package/dist/components/ChartAnalytics/styles/custom-highchart.css +40 -0
  29. package/dist/components/ChartAnalytics/styles/custom-highchart.css.map +1 -0
  30. package/dist/components/ChartAnalytics/types/props.js +0 -1
  31. package/dist/components/ChartAnalytics/utils/chart.js +24 -31
  32. package/dist/components/ChartAnalytics/utils/chart.js.map +1 -1
  33. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js +14 -23
  34. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -1
  35. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +3 -10
  36. package/dist/components/CircularProgressDashboard/index.js +2 -19
  37. package/dist/components/CircularProgressDashboard/index.js.map +1 -1
  38. package/dist/components/CircularProgressDashboard/types/props.js +0 -1
  39. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js +13 -15
  40. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -1
  41. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +5 -14
  42. package/dist/components/DHIS2PivotTable/components/Table/index.js +4 -6
  43. package/dist/components/DHIS2PivotTable/components/TableBody/index.js +30 -36
  44. package/dist/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -1
  45. package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js +27 -33
  46. package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -1
  47. package/dist/components/DHIS2PivotTable/index.js +2 -19
  48. package/dist/components/DHIS2PivotTable/index.js.map +1 -1
  49. package/dist/components/DHIS2PivotTable/interfaces/index.js +0 -1
  50. package/dist/components/DHIS2PivotTable/services/engine.js +10 -18
  51. package/dist/components/DHIS2PivotTable/services/engine.js.map +1 -1
  52. package/dist/components/DHIS2PivotTable/state/engine.js +6 -9
  53. package/dist/components/DHIS2PivotTable/state/engine.js.map +1 -1
  54. package/dist/components/Map/DHIS2Map.js +13 -20
  55. package/dist/components/Map/DHIS2Map.js.map +1 -1
  56. package/dist/components/Map/DHIS2Map.stories.js +3 -17
  57. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +15 -21
  58. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -1
  59. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +10 -15
  60. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +16 -18
  61. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -1
  62. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +7 -12
  63. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +24 -30
  64. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -1
  65. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +42 -49
  66. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -1
  67. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +16 -22
  68. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -1
  69. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +26 -32
  70. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -1
  71. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +10 -16
  72. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -1
  73. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +21 -27
  74. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -1
  75. package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +16 -19
  76. package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -1
  77. package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js +2 -19
  78. package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js.map +1 -1
  79. package/dist/components/Map/components/MapArea/index.js +60 -54
  80. package/dist/components/Map/components/MapArea/index.js.map +1 -1
  81. package/dist/components/Map/components/MapArea/interfaces/index.js +0 -1
  82. package/dist/components/Map/components/MapControls/components/CustomControl/index.js +3 -5
  83. package/dist/components/Map/components/MapControls/components/DownloadControl/index.js +8 -14
  84. package/dist/components/Map/components/MapControls/components/FullscreenControl/index.js +7 -9
  85. package/dist/components/Map/components/MapControls/index.js +22 -17
  86. package/dist/components/Map/components/MapControls/index.js.map +1 -1
  87. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +3 -5
  88. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -1
  89. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js +21 -31
  90. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -1
  91. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +59 -34
  92. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -1
  93. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +99 -89
  94. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -1
  95. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +9 -14
  96. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -1
  97. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +62 -69
  98. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -1
  99. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +0 -1
  100. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +31466 -0
  101. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -0
  102. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +43 -43
  103. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
  104. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +34 -31
  105. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -1
  106. package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +6 -8
  107. package/dist/components/Map/components/MapLayer/components/LegendArea/index.js +46 -57
  108. package/dist/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -1
  109. package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +38 -30
  110. package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -1
  111. package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +5 -7
  112. package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -1
  113. package/dist/components/Map/components/MapLayer/components/PointLayer/index.js +21 -28
  114. package/dist/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -1
  115. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +39 -13
  116. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -1
  117. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +40 -32
  118. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
  119. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +13 -20
  120. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -1
  121. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +17 -23
  122. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -1
  123. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +30 -25
  124. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
  125. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +17 -20
  126. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -1
  127. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +15 -21
  128. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -1
  129. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +6 -8
  130. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -1
  131. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js +16 -24
  132. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -1
  133. package/dist/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +56 -0
  134. package/dist/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map +1 -0
  135. package/dist/components/Map/components/MapLayer/index.js +10 -18
  136. package/dist/components/Map/components/MapLayer/index.js.map +1 -1
  137. package/dist/components/Map/components/MapLayer/interfaces/index.js +7 -4
  138. package/dist/components/Map/components/MapLayer/interfaces/index.js.map +1 -1
  139. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +59 -63
  140. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -1
  141. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js +30 -36
  142. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -1
  143. package/dist/components/Map/components/MapProvider/hooks/index.js +6 -10
  144. package/dist/components/Map/components/MapProvider/hooks/index.js.map +1 -1
  145. package/dist/components/Map/components/MapProvider/index.js +25 -31
  146. package/dist/components/Map/components/MapProvider/index.js.map +1 -1
  147. package/dist/components/Map/components/MapUpdater/index.js +5 -7
  148. package/dist/components/Map/components/MapUpdater/index.js.map +1 -1
  149. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +15 -21
  150. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -1
  151. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +5 -10
  152. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +53 -60
  153. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -1
  154. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +7 -12
  155. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +21 -15
  156. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -1
  157. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +1 -4
  158. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +22 -30
  159. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -1
  160. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +18 -21
  161. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -1
  162. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +23 -30
  163. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -1
  164. package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +16 -22
  165. package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +16 -22
  166. package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +16 -22
  167. package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +18 -24
  168. package/dist/components/Map/components/ThematicLayerConfiguration/index.js +3 -26
  169. package/dist/components/Map/components/ThematicLayerConfiguration/index.js.map +1 -1
  170. package/dist/components/Map/components/ThematicLayerConfiguration/types/index.js +0 -1
  171. package/dist/components/Map/constants/colors.js +1 -4
  172. package/dist/components/Map/constants/legendSet.js +1 -3
  173. package/dist/components/Map/hooks/map.js +17 -21
  174. package/dist/components/Map/hooks/map.js.map +1 -1
  175. package/dist/components/Map/index.js +5 -40
  176. package/dist/components/Map/index.js.map +1 -1
  177. package/dist/components/Map/interfaces/index.js +0 -1
  178. package/dist/components/Map/state/index.js +5 -9
  179. package/dist/components/Map/state/index.js.map +1 -1
  180. package/dist/components/Map/utils/colors.js +18 -22
  181. package/dist/components/Map/utils/colors.js.map +1 -1
  182. package/dist/components/Map/utils/helpers.js +3 -11
  183. package/dist/components/Map/utils/map.js +25 -24
  184. package/dist/components/Map/utils/map.js.map +1 -1
  185. package/dist/components/SingleValueContainer/SingleValueContainer.stories.js +3 -11
  186. package/dist/components/SingleValueContainer/SingleValueVisualizer.js +17 -35
  187. package/dist/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -1
  188. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +14 -21
  189. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -1
  190. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +7 -13
  191. package/dist/components/SingleValueContainer/index.js +3 -19
  192. package/dist/components/SingleValueContainer/index.js.map +1 -1
  193. package/dist/components/SingleValueContainer/types/props.js +0 -1
  194. package/dist/components/Visualization/components/AnalyticsDataProvider/index.js +50 -26
  195. package/dist/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -1
  196. package/dist/components/Visualization/components/DimensionsProvider/index.js +13 -18
  197. package/dist/components/Visualization/components/LayoutProvider/index.js +11 -14
  198. package/dist/components/Visualization/components/LayoutProvider/index.js.map +1 -1
  199. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js +30 -36
  200. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  201. package/dist/components/Visualization/components/VisualizationProvider/index.js +14 -10
  202. package/dist/components/Visualization/components/VisualizationProvider/index.js.map +1 -1
  203. package/dist/components/Visualization/components/VisualizationSelector/index.js +46 -57
  204. package/dist/components/Visualization/components/VisualizationSelector/index.js.map +1 -1
  205. package/dist/components/Visualization/components/VisualizationTypeProvider/index.js +16 -19
  206. package/dist/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -1
  207. package/dist/components/Visualization/components/VisualizationTypeSelector/index.js +37 -27
  208. package/dist/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -1
  209. package/dist/components/Visualization/index.js +27 -33
  210. package/dist/components/Visualization/index.js.map +1 -1
  211. package/dist/index.js +6 -47
  212. package/dist/index.js.map +1 -1
  213. package/dist/types/components/ChartAnalytics/DHIS2Chart.d.ts +4 -4
  214. package/dist/types/components/ChartAnalytics/DHIS2Chart.d.ts.map +1 -1
  215. package/dist/types/components/ChartAnalytics/components/DownloadMenu/components/Menu.d.ts +2 -2
  216. package/dist/types/components/ChartAnalytics/components/DownloadMenu/components/Menu.d.ts.map +1 -1
  217. package/dist/types/components/ChartAnalytics/components/DownloadMenu/index.d.ts +2 -2
  218. package/dist/types/components/ChartAnalytics/components/DownloadMenu/index.d.ts.map +1 -1
  219. package/dist/types/components/ChartAnalytics/hooks/useChart.d.ts +1 -1
  220. package/dist/types/components/ChartAnalytics/hooks/useChart.d.ts.map +1 -1
  221. package/dist/types/components/ChartAnalytics/index.d.ts +1 -1
  222. package/dist/types/components/ChartAnalytics/index.d.ts.map +1 -1
  223. package/dist/types/components/ChartAnalytics/models/bar.d.ts +1 -1
  224. package/dist/types/components/ChartAnalytics/models/bar.d.ts.map +1 -1
  225. package/dist/types/components/ChartAnalytics/models/column.d.ts +1 -1
  226. package/dist/types/components/ChartAnalytics/models/column.d.ts.map +1 -1
  227. package/dist/types/components/ChartAnalytics/models/index.d.ts +1 -1
  228. package/dist/types/components/ChartAnalytics/models/index.d.ts.map +1 -1
  229. package/dist/types/components/ChartAnalytics/models/line.d.ts +1 -1
  230. package/dist/types/components/ChartAnalytics/models/line.d.ts.map +1 -1
  231. package/dist/types/components/ChartAnalytics/models/multi-series.d.ts +1 -1
  232. package/dist/types/components/ChartAnalytics/models/multi-series.d.ts.map +1 -1
  233. package/dist/types/components/ChartAnalytics/models/pie.d.ts +1 -1
  234. package/dist/types/components/ChartAnalytics/models/pie.d.ts.map +1 -1
  235. package/dist/types/components/ChartAnalytics/services/export.d.ts.map +1 -1
  236. package/dist/types/components/ChartAnalytics/utils/chart.d.ts +2 -2
  237. package/dist/types/components/ChartAnalytics/utils/chart.d.ts.map +1 -1
  238. package/dist/types/components/CircularProgressDashboard/CircularProgressIndicator.d.ts +2 -2
  239. package/dist/types/components/CircularProgressDashboard/CircularProgressIndicator.d.ts.map +1 -1
  240. package/dist/types/components/CircularProgressDashboard/index.d.ts +2 -2
  241. package/dist/types/components/CircularProgressDashboard/index.d.ts.map +1 -1
  242. package/dist/types/components/DHIS2PivotTable/DHIS2PivotTable.d.ts +2 -2
  243. package/dist/types/components/DHIS2PivotTable/DHIS2PivotTable.d.ts.map +1 -1
  244. package/dist/types/components/DHIS2PivotTable/components/TableHeaders/index.d.ts +1 -1
  245. package/dist/types/components/DHIS2PivotTable/components/TableHeaders/index.d.ts.map +1 -1
  246. package/dist/types/components/DHIS2PivotTable/index.d.ts +2 -2
  247. package/dist/types/components/DHIS2PivotTable/index.d.ts.map +1 -1
  248. package/dist/types/components/DHIS2PivotTable/services/engine.d.ts +1 -1
  249. package/dist/types/components/DHIS2PivotTable/services/engine.d.ts.map +1 -1
  250. package/dist/types/components/DHIS2PivotTable/state/engine.d.ts +2 -2
  251. package/dist/types/components/DHIS2PivotTable/state/engine.d.ts.map +1 -1
  252. package/dist/types/components/Map/DHIS2Map.d.ts +1 -1
  253. package/dist/types/components/Map/DHIS2Map.d.ts.map +1 -1
  254. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.d.ts +2 -2
  255. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.d.ts.map +1 -1
  256. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.d.ts +1 -1
  257. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.d.ts.map +1 -1
  258. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.d.ts +1 -1
  259. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.d.ts.map +1 -1
  260. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/Name.d.ts +1 -1
  261. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/Name.d.ts.map +1 -1
  262. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.d.ts +1 -1
  263. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.d.ts.map +1 -1
  264. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.d.ts +1 -1
  265. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.d.ts.map +1 -1
  266. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.d.ts +1 -1
  267. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.d.ts.map +1 -1
  268. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/hooks/data.d.ts +1 -1
  269. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/hooks/data.d.ts.map +1 -1
  270. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/index.d.ts +2 -2
  271. package/dist/types/components/Map/components/EarthEngineLayerConfiguration/index.d.ts.map +1 -1
  272. package/dist/types/components/Map/components/MapArea/index.d.ts +1 -1
  273. package/dist/types/components/Map/components/MapArea/index.d.ts.map +1 -1
  274. package/dist/types/components/Map/components/MapControls/index.d.ts +2 -2
  275. package/dist/types/components/Map/components/MapControls/index.d.ts.map +1 -1
  276. package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.d.ts +1 -1
  277. package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.d.ts.map +1 -1
  278. package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/index.d.ts +2 -2
  279. package/dist/types/components/Map/components/MapLayer/components/BoundaryLayer/index.d.ts.map +1 -1
  280. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.d.ts +2 -2
  281. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.d.ts.map +1 -1
  282. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.d.ts +1 -1
  283. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.d.ts.map +1 -1
  284. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.d.ts +2 -2
  285. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.d.ts.map +1 -1
  286. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/index.d.ts +1 -1
  287. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/index.d.ts.map +1 -1
  288. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.d.ts +1 -1
  289. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.d.ts.map +1 -1
  290. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.d.ts +2 -2
  291. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.d.ts.map +1 -1
  292. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.d.ts +2 -2
  293. package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.d.ts.map +1 -1
  294. package/dist/types/components/Map/components/MapLayer/components/LegendArea/index.d.ts +3 -3
  295. package/dist/types/components/Map/components/MapLayer/components/LegendArea/index.d.ts.map +1 -1
  296. package/dist/types/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.d.ts.map +1 -1
  297. package/dist/types/components/Map/components/MapLayer/components/PointLayer/hooks/index.d.ts +1 -1
  298. package/dist/types/components/Map/components/MapLayer/components/PointLayer/hooks/index.d.ts.map +1 -1
  299. package/dist/types/components/Map/components/MapLayer/components/PointLayer/index.d.ts +1 -1
  300. package/dist/types/components/Map/components/MapLayer/components/PointLayer/index.d.ts.map +1 -1
  301. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.d.ts +1 -1
  302. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.d.ts.map +1 -1
  303. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.d.ts +2 -2
  304. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.d.ts.map +1 -1
  305. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.d.ts +1 -1
  306. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.d.ts.map +1 -1
  307. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.d.ts +2 -2
  308. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.d.ts.map +1 -1
  309. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts +1 -1
  310. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts.map +1 -1
  311. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.d.ts +4 -4
  312. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.d.ts.map +1 -1
  313. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.d.ts +2 -2
  314. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.d.ts.map +1 -1
  315. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.d.ts +1 -1
  316. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.d.ts.map +1 -1
  317. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/index.d.ts +1 -1
  318. package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/index.d.ts.map +1 -1
  319. package/dist/types/components/Map/components/MapLayer/index.d.ts +2 -2
  320. package/dist/types/components/Map/components/MapLayer/index.d.ts.map +1 -1
  321. package/dist/types/components/Map/components/MapLayer/interfaces/index.d.ts +4 -4
  322. package/dist/types/components/Map/components/MapLayer/interfaces/index.d.ts.map +1 -1
  323. package/dist/types/components/Map/components/MapProvider/components/MapLayerProvider/index.d.ts +2 -2
  324. package/dist/types/components/Map/components/MapProvider/components/MapLayerProvider/index.d.ts.map +1 -1
  325. package/dist/types/components/Map/components/MapProvider/hooks/index.d.ts +3 -3
  326. package/dist/types/components/Map/components/MapProvider/index.d.ts +2 -2
  327. package/dist/types/components/Map/components/MapProvider/index.d.ts.map +1 -1
  328. package/dist/types/components/Map/components/MapUpdater/index.d.ts +1 -1
  329. package/dist/types/components/Map/components/MapUpdater/index.d.ts.map +1 -1
  330. package/dist/types/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.d.ts +2 -2
  331. package/dist/types/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.d.ts.map +1 -1
  332. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.d.ts +1 -1
  333. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.d.ts.map +1 -1
  334. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.d.ts +1 -1
  335. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.d.ts.map +1 -1
  336. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.d.ts +1 -1
  337. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.d.ts.map +1 -1
  338. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.d.ts +1 -1
  339. package/dist/types/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.d.ts.map +1 -1
  340. package/dist/types/components/Map/components/ThematicLayerConfiguration/index.d.ts +3 -3
  341. package/dist/types/components/Map/components/ThematicLayerConfiguration/index.d.ts.map +1 -1
  342. package/dist/types/components/Map/hooks/map.d.ts.map +1 -1
  343. package/dist/types/components/Map/index.d.ts +5 -5
  344. package/dist/types/components/Map/index.d.ts.map +1 -1
  345. package/dist/types/components/Map/interfaces/index.d.ts +2 -2
  346. package/dist/types/components/Map/interfaces/index.d.ts.map +1 -1
  347. package/dist/types/components/Map/state/index.d.ts +2 -2
  348. package/dist/types/components/Map/state/index.d.ts.map +1 -1
  349. package/dist/types/components/Map/utils/colors.d.ts +1 -1
  350. package/dist/types/components/Map/utils/colors.d.ts.map +1 -1
  351. package/dist/types/components/Map/utils/map.d.ts.map +1 -1
  352. package/dist/types/components/SingleValueContainer/SingleValueVisualizer.d.ts +3 -3
  353. package/dist/types/components/SingleValueContainer/SingleValueVisualizer.d.ts.map +1 -1
  354. package/dist/types/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.d.ts +1 -1
  355. package/dist/types/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.d.ts.map +1 -1
  356. package/dist/types/components/SingleValueContainer/index.d.ts +3 -2
  357. package/dist/types/components/SingleValueContainer/index.d.ts.map +1 -1
  358. package/dist/types/components/Visualization/components/AnalyticsDataProvider/index.d.ts +1 -1
  359. package/dist/types/components/Visualization/components/AnalyticsDataProvider/index.d.ts.map +1 -1
  360. package/dist/types/components/Visualization/components/LayoutProvider/index.d.ts +2 -2
  361. package/dist/types/components/Visualization/components/LayoutProvider/index.d.ts.map +1 -1
  362. package/dist/types/components/Visualization/components/VisualizationDimensionSelector/index.d.ts +1 -1
  363. package/dist/types/components/Visualization/components/VisualizationDimensionSelector/index.d.ts.map +1 -1
  364. package/dist/types/components/Visualization/components/VisualizationProvider/index.d.ts +4 -4
  365. package/dist/types/components/Visualization/components/VisualizationProvider/index.d.ts.map +1 -1
  366. package/dist/types/components/Visualization/components/VisualizationSelector/index.d.ts +10 -10
  367. package/dist/types/components/Visualization/components/VisualizationSelector/index.d.ts.map +1 -1
  368. package/dist/types/components/Visualization/components/VisualizationTypeProvider/index.d.ts +2 -2
  369. package/dist/types/components/Visualization/components/VisualizationTypeProvider/index.d.ts.map +1 -1
  370. package/dist/types/components/Visualization/components/VisualizationTypeSelector/index.d.ts +1 -1
  371. package/dist/types/components/Visualization/components/VisualizationTypeSelector/index.d.ts.map +1 -1
  372. package/dist/types/components/Visualization/index.d.ts +6 -6
  373. package/dist/types/components/Visualization/index.d.ts.map +1 -1
  374. package/dist/types/index.d.ts +6 -6
  375. package/dist/types/index.d.ts.map +1 -1
  376. package/package.json +5 -4
  377. package/dist/components/ChartAnalytics/ChartAnalytics.stories.mjs +0 -254
  378. package/dist/components/ChartAnalytics/ChartAnalytics.stories.mjs.map +0 -1
  379. package/dist/components/ChartAnalytics/DHIS2Chart.mjs +0 -36
  380. package/dist/components/ChartAnalytics/DHIS2Chart.mjs.map +0 -1
  381. package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.mjs +0 -52
  382. package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.mjs.map +0 -1
  383. package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.mjs +0 -42
  384. package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.mjs.map +0 -1
  385. package/dist/components/ChartAnalytics/components/DownloadMenu/index.mjs +0 -65
  386. package/dist/components/ChartAnalytics/components/DownloadMenu/index.mjs.map +0 -1
  387. package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.mjs +0 -3
  388. package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.mjs.map +0 -1
  389. package/dist/components/ChartAnalytics/hooks/useChart.mjs +0 -43
  390. package/dist/components/ChartAnalytics/hooks/useChart.mjs.map +0 -1
  391. package/dist/components/ChartAnalytics/index.mjs +0 -3
  392. package/dist/components/ChartAnalytics/index.mjs.map +0 -1
  393. package/dist/components/ChartAnalytics/models/bar.mjs +0 -21
  394. package/dist/components/ChartAnalytics/models/bar.mjs.map +0 -1
  395. package/dist/components/ChartAnalytics/models/column.mjs +0 -48
  396. package/dist/components/ChartAnalytics/models/column.mjs.map +0 -1
  397. package/dist/components/ChartAnalytics/models/index.mjs +0 -117
  398. package/dist/components/ChartAnalytics/models/index.mjs.map +0 -1
  399. package/dist/components/ChartAnalytics/models/line.mjs +0 -31
  400. package/dist/components/ChartAnalytics/models/line.mjs.map +0 -1
  401. package/dist/components/ChartAnalytics/models/multi-series.mjs +0 -99
  402. package/dist/components/ChartAnalytics/models/multi-series.mjs.map +0 -1
  403. package/dist/components/ChartAnalytics/models/pie.mjs +0 -51
  404. package/dist/components/ChartAnalytics/models/pie.mjs.map +0 -1
  405. package/dist/components/ChartAnalytics/services/export.mjs +0 -35
  406. package/dist/components/ChartAnalytics/services/export.mjs.map +0 -1
  407. package/dist/components/ChartAnalytics/types/props.mjs +0 -3
  408. package/dist/components/ChartAnalytics/types/props.mjs.map +0 -1
  409. package/dist/components/ChartAnalytics/utils/chart.mjs +0 -130
  410. package/dist/components/ChartAnalytics/utils/chart.mjs.map +0 -1
  411. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.mjs +0 -66
  412. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.mjs.map +0 -1
  413. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.mjs +0 -42
  414. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.mjs.map +0 -1
  415. package/dist/components/CircularProgressDashboard/index.mjs +0 -4
  416. package/dist/components/CircularProgressDashboard/index.mjs.map +0 -1
  417. package/dist/components/CircularProgressDashboard/types/props.mjs +0 -3
  418. package/dist/components/CircularProgressDashboard/types/props.mjs.map +0 -1
  419. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.mjs +0 -26
  420. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.mjs.map +0 -1
  421. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.mjs +0 -30
  422. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.mjs.map +0 -1
  423. package/dist/components/DHIS2PivotTable/components/Table/index.mjs +0 -10
  424. package/dist/components/DHIS2PivotTable/components/Table/index.mjs.map +0 -1
  425. package/dist/components/DHIS2PivotTable/components/TableBody/index.mjs +0 -106
  426. package/dist/components/DHIS2PivotTable/components/TableBody/index.mjs.map +0 -1
  427. package/dist/components/DHIS2PivotTable/components/TableHeaders/index.mjs +0 -94
  428. package/dist/components/DHIS2PivotTable/components/TableHeaders/index.mjs.map +0 -1
  429. package/dist/components/DHIS2PivotTable/index.mjs +0 -4
  430. package/dist/components/DHIS2PivotTable/index.mjs.map +0 -1
  431. package/dist/components/DHIS2PivotTable/interfaces/index.mjs +0 -3
  432. package/dist/components/DHIS2PivotTable/interfaces/index.mjs.map +0 -1
  433. package/dist/components/DHIS2PivotTable/services/engine.mjs +0 -93
  434. package/dist/components/DHIS2PivotTable/services/engine.mjs.map +0 -1
  435. package/dist/components/DHIS2PivotTable/state/engine.mjs +0 -17
  436. package/dist/components/DHIS2PivotTable/state/engine.mjs.map +0 -1
  437. package/dist/components/Map/DHIS2Map.mjs +0 -65
  438. package/dist/components/Map/DHIS2Map.mjs.map +0 -1
  439. package/dist/components/Map/DHIS2Map.stories.mjs +0 -366
  440. package/dist/components/Map/DHIS2Map.stories.mjs.map +0 -1
  441. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.mjs +0 -41
  442. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.mjs.map +0 -1
  443. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.mjs +0 -34
  444. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.mjs.map +0 -1
  445. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.mjs +0 -26
  446. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.mjs.map +0 -1
  447. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.mjs +0 -21
  448. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.mjs.map +0 -1
  449. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.mjs +0 -67
  450. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.mjs.map +0 -1
  451. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.mjs +0 -134
  452. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.mjs.map +0 -1
  453. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.mjs +0 -44
  454. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.mjs.map +0 -1
  455. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.mjs +0 -67
  456. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.mjs.map +0 -1
  457. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.mjs +0 -24
  458. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.mjs.map +0 -1
  459. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.mjs +0 -67
  460. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.mjs.map +0 -1
  461. package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.mjs +0 -45
  462. package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.mjs.map +0 -1
  463. package/dist/components/Map/components/EarthEngineLayerConfiguration/index.mjs +0 -4
  464. package/dist/components/Map/components/EarthEngineLayerConfiguration/index.mjs.map +0 -1
  465. package/dist/components/Map/components/MapArea/index.mjs +0 -85
  466. package/dist/components/Map/components/MapArea/index.mjs.map +0 -1
  467. package/dist/components/Map/components/MapArea/interfaces/index.mjs +0 -3
  468. package/dist/components/Map/components/MapArea/interfaces/index.mjs.map +0 -1
  469. package/dist/components/Map/components/MapControls/components/CustomControl/index.mjs +0 -16
  470. package/dist/components/Map/components/MapControls/components/CustomControl/index.mjs.map +0 -1
  471. package/dist/components/Map/components/MapControls/components/DownloadControl/index.mjs +0 -15
  472. package/dist/components/Map/components/MapControls/components/DownloadControl/index.mjs.map +0 -1
  473. package/dist/components/Map/components/MapControls/components/FullscreenControl/index.mjs +0 -13
  474. package/dist/components/Map/components/MapControls/components/FullscreenControl/index.mjs.map +0 -1
  475. package/dist/components/Map/components/MapControls/index.mjs +0 -23
  476. package/dist/components/Map/components/MapControls/index.mjs.map +0 -1
  477. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.mjs +0 -10
  478. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.mjs.map +0 -1
  479. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.mjs +0 -52
  480. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.mjs.map +0 -1
  481. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.mjs +0 -65
  482. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.mjs.map +0 -1
  483. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.mjs +0 -439
  484. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.mjs.map +0 -1
  485. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.mjs +0 -32
  486. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.mjs.map +0 -1
  487. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.mjs +0 -197
  488. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.mjs.map +0 -1
  489. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.mjs +0 -3
  490. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.mjs.map +0 -1
  491. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.mjs +0 -359
  492. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.mjs.map +0 -1
  493. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.mjs +0 -82
  494. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.mjs.map +0 -1
  495. package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.mjs +0 -17
  496. package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.mjs.map +0 -1
  497. package/dist/components/Map/components/MapLayer/components/LegendArea/index.mjs +0 -179
  498. package/dist/components/Map/components/MapLayer/components/LegendArea/index.mjs.map +0 -1
  499. package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.mjs +0 -78
  500. package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.mjs.map +0 -1
  501. package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.mjs +0 -11
  502. package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.mjs.map +0 -1
  503. package/dist/components/Map/components/MapLayer/components/PointLayer/index.mjs +0 -48
  504. package/dist/components/Map/components/MapLayer/components/PointLayer/index.mjs.map +0 -1
  505. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.mjs +0 -36
  506. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.mjs.map +0 -1
  507. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.mjs +0 -111
  508. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.mjs.map +0 -1
  509. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.mjs +0 -41
  510. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.mjs.map +0 -1
  511. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.mjs +0 -50
  512. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.mjs.map +0 -1
  513. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.mjs +0 -42
  514. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.mjs.map +0 -1
  515. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.mjs +0 -37
  516. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.mjs.map +0 -1
  517. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.mjs +0 -40
  518. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.mjs.map +0 -1
  519. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.mjs +0 -12
  520. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.mjs.map +0 -1
  521. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.mjs +0 -55
  522. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.mjs.map +0 -1
  523. package/dist/components/Map/components/MapLayer/index.mjs +0 -32
  524. package/dist/components/Map/components/MapLayer/index.mjs.map +0 -1
  525. package/dist/components/Map/components/MapLayer/interfaces/index.mjs +0 -5
  526. package/dist/components/Map/components/MapLayer/interfaces/index.mjs.map +0 -1
  527. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.mjs +0 -405
  528. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.mjs.map +0 -1
  529. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.mjs +0 -115
  530. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.mjs.map +0 -1
  531. package/dist/components/Map/components/MapProvider/hooks/index.mjs +0 -16
  532. package/dist/components/Map/components/MapProvider/hooks/index.mjs.map +0 -1
  533. package/dist/components/Map/components/MapProvider/index.mjs +0 -95
  534. package/dist/components/Map/components/MapProvider/index.mjs.map +0 -1
  535. package/dist/components/Map/components/MapUpdater/index.mjs +0 -11
  536. package/dist/components/Map/components/MapUpdater/index.mjs.map +0 -1
  537. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.mjs +0 -41
  538. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.mjs.map +0 -1
  539. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.mjs +0 -24
  540. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.mjs.map +0 -1
  541. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.mjs +0 -174
  542. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.mjs.map +0 -1
  543. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.mjs +0 -21
  544. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.mjs.map +0 -1
  545. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.mjs +0 -24
  546. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.mjs.map +0 -1
  547. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.mjs +0 -436
  548. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.mjs.map +0 -1
  549. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.mjs +0 -71
  550. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.mjs.map +0 -1
  551. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.mjs +0 -74
  552. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.mjs.map +0 -1
  553. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.mjs +0 -57
  554. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.mjs.map +0 -1
  555. package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.mjs +0 -44
  556. package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.mjs.map +0 -1
  557. package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.mjs +0 -60
  558. package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.mjs.map +0 -1
  559. package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.mjs +0 -54
  560. package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.mjs.map +0 -1
  561. package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.mjs +0 -63
  562. package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.mjs.map +0 -1
  563. package/dist/components/Map/components/ThematicLayerConfiguration/index.mjs +0 -5
  564. package/dist/components/Map/components/ThematicLayerConfiguration/index.mjs.map +0 -1
  565. package/dist/components/Map/components/ThematicLayerConfiguration/types/index.mjs +0 -3
  566. package/dist/components/Map/components/ThematicLayerConfiguration/types/index.mjs.map +0 -1
  567. package/dist/components/Map/constants/colors.mjs +0 -436
  568. package/dist/components/Map/constants/colors.mjs.map +0 -1
  569. package/dist/components/Map/constants/legendSet.mjs +0 -23
  570. package/dist/components/Map/constants/legendSet.mjs.map +0 -1
  571. package/dist/components/Map/hooks/map.mjs +0 -44
  572. package/dist/components/Map/hooks/map.mjs.map +0 -1
  573. package/dist/components/Map/index.mjs +0 -7
  574. package/dist/components/Map/index.mjs.map +0 -1
  575. package/dist/components/Map/interfaces/index.mjs +0 -3
  576. package/dist/components/Map/interfaces/index.mjs.map +0 -1
  577. package/dist/components/Map/state/index.mjs +0 -18
  578. package/dist/components/Map/state/index.mjs.map +0 -1
  579. package/dist/components/Map/utils/colors.mjs +0 -77
  580. package/dist/components/Map/utils/colors.mjs.map +0 -1
  581. package/dist/components/Map/utils/helpers.mjs +0 -18
  582. package/dist/components/Map/utils/helpers.mjs.map +0 -1
  583. package/dist/components/Map/utils/map.mjs +0 -127
  584. package/dist/components/Map/utils/map.mjs.map +0 -1
  585. package/dist/components/SingleValueContainer/SingleValueContainer.stories.mjs +0 -145
  586. package/dist/components/SingleValueContainer/SingleValueContainer.stories.mjs.map +0 -1
  587. package/dist/components/SingleValueContainer/SingleValueVisualizer.mjs +0 -44
  588. package/dist/components/SingleValueContainer/SingleValueVisualizer.mjs.map +0 -1
  589. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.mjs +0 -49
  590. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.mjs.map +0 -1
  591. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.mjs +0 -22
  592. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.mjs.map +0 -1
  593. package/dist/components/SingleValueContainer/index.mjs +0 -4
  594. package/dist/components/SingleValueContainer/index.mjs.map +0 -1
  595. package/dist/components/SingleValueContainer/types/props.mjs +0 -3
  596. package/dist/components/SingleValueContainer/types/props.mjs.map +0 -1
  597. package/dist/components/Visualization/components/AnalyticsDataProvider/index.mjs +0 -67
  598. package/dist/components/Visualization/components/AnalyticsDataProvider/index.mjs.map +0 -1
  599. package/dist/components/Visualization/components/DimensionsProvider/index.mjs +0 -35
  600. package/dist/components/Visualization/components/DimensionsProvider/index.mjs.map +0 -1
  601. package/dist/components/Visualization/components/LayoutProvider/index.mjs +0 -17
  602. package/dist/components/Visualization/components/LayoutProvider/index.mjs.map +0 -1
  603. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.mjs +0 -85
  604. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.mjs.map +0 -1
  605. package/dist/components/Visualization/components/VisualizationProvider/index.mjs +0 -13
  606. package/dist/components/Visualization/components/VisualizationProvider/index.mjs.map +0 -1
  607. package/dist/components/Visualization/components/VisualizationSelector/index.mjs +0 -167
  608. package/dist/components/Visualization/components/VisualizationSelector/index.mjs.map +0 -1
  609. package/dist/components/Visualization/components/VisualizationTypeProvider/index.mjs +0 -23
  610. package/dist/components/Visualization/components/VisualizationTypeProvider/index.mjs.map +0 -1
  611. package/dist/components/Visualization/components/VisualizationTypeSelector/index.mjs +0 -39
  612. package/dist/components/Visualization/components/VisualizationTypeSelector/index.mjs.map +0 -1
  613. package/dist/components/Visualization/index.mjs +0 -113
  614. package/dist/components/Visualization/index.mjs.map +0 -1
  615. package/dist/index.mjs +0 -8
  616. package/dist/index.mjs.map +0 -1
@@ -1,29 +1,14 @@
1
- 'use strict';
1
+ import { getInfo, getScale, getFeatureCollectionProperties, getHistogramStatistics, hasClasses, combineReducers } from '../utils/index.js';
2
+ import { head, isEmpty, find } from 'lodash';
3
+ import * as EE from './api.js';
2
4
 
3
- var utils = require('../utils');
4
- var lodash = require('lodash');
5
- var EE = require('./api');
6
-
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var EE__default = /*#__PURE__*/_interopDefault(EE);
10
-
11
- const ee = EE__default.default;
5
+ const ee = EE;
12
6
  window.ee = ee;
13
7
  const FEATURE_STYLE = { color: "FFA500", strokeWidth: 2 };
14
8
  const DEFAULT_TILE_SCALE = 1;
15
9
  class EarthEngine {
16
- token;
17
- options;
18
- refresh;
19
- orgUnits;
20
- initialized = false;
21
- period;
22
- instance;
23
- scale;
24
- image;
25
- aggregationData;
26
10
  constructor({ options }) {
11
+ this.initialized = false;
27
12
  this.options = options;
28
13
  this.initialized = true;
29
14
  this.getInstance();
@@ -90,7 +75,7 @@ class EarthEngine {
90
75
  }
91
76
  const imageCollection = this.instance.distinct("system:time_start").sort("system:time_start", false);
92
77
  const featureCollection = ee.FeatureCollection(imageCollection).select(["system:time_start", "system:time_end"], null, false);
93
- return utils.getInfo(featureCollection);
78
+ return getInfo(featureCollection);
94
79
  }
95
80
  async info() {
96
81
  return new Promise((resolve) => {
@@ -102,10 +87,10 @@ class EarthEngine {
102
87
  const { type } = this.options;
103
88
  switch (type) {
104
89
  case "ImageCollection":
105
- this.scale = await utils.getScale(this.instance.first());
90
+ this.scale = await getScale(this.instance.first());
106
91
  break;
107
92
  default:
108
- this.scale = await utils.getScale(this.getImage());
93
+ this.scale = await getScale(this.getImage());
109
94
  }
110
95
  } catch (e) {
111
96
  }
@@ -119,20 +104,20 @@ class EarthEngine {
119
104
  const count = dataset.filterBounds(feature.geometry()).size();
120
105
  return feature.set("count", count);
121
106
  }).select(["count"], null, false);
122
- return utils.getInfo(aggFeatures).then(utils.getFeatureCollectionProperties);
107
+ return getInfo(aggFeatures).then(getFeatureCollectionProperties);
123
108
  }
124
109
  async getHistogramAggregations() {
125
110
  try {
126
- const aggregation = lodash.head(this.options.aggregations) ?? "";
111
+ const aggregation = head(this.options.aggregations) ?? "";
127
112
  const reducer = ee.Reducer.frequencyHistogram();
128
113
  const collection = this.getFeatureCollection();
129
114
  const legend = this.options.legend?.items;
130
115
  const scale = this.scale;
131
116
  const tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;
132
- const scaleValue = await utils.getInfo(scale);
117
+ const scaleValue = await getInfo(scale);
133
118
  const image = this.getImage();
134
119
  const features = Object.values(
135
- await utils.getInfo(
120
+ await getInfo(
136
121
  image.reduceRegions({
137
122
  collection,
138
123
  reducer,
@@ -140,7 +125,7 @@ class EarthEngine {
140
125
  tileScale
141
126
  }).select(["histogram"], null, false)
142
127
  ).then(
143
- (data) => utils.getHistogramStatistics({
128
+ (data) => getHistogramStatistics({
144
129
  data,
145
130
  scale: scaleValue,
146
131
  aggregationType: aggregation,
@@ -170,11 +155,11 @@ class EarthEngine {
170
155
  const aggregations = this.options.aggregations;
171
156
  if (!aggregations)
172
157
  return;
173
- if (utils.hasClasses(lodash.head(aggregations) ?? "")) {
158
+ if (hasClasses(head(aggregations) ?? "")) {
174
159
  this.aggregationData = await this.getHistogramAggregations();
175
160
  return;
176
161
  }
177
- const reducer = utils.combineReducers(ee)(aggregations);
162
+ const reducer = combineReducers(ee)(aggregations);
178
163
  const collection = this.getFeatureCollection();
179
164
  const image = this.getImage();
180
165
  const scale = this.scale;
@@ -185,21 +170,28 @@ class EarthEngine {
185
170
  scale,
186
171
  tileScale
187
172
  }).select(aggregations, null, false);
188
- const features = Object.values(utils.getFeatureCollectionProperties(await utils.getInfo(aggregatedFeatures)));
189
- if (!lodash.isEmpty(features) && features.length === this.orgUnits?.length) {
190
- this.aggregationData = features.map((feature, index) => {
191
- return {
192
- orgUnit: this.orgUnits?.[index],
193
- data: feature
194
- };
195
- });
173
+ const features = Object.values(
174
+ getFeatureCollectionProperties(await getInfo(aggregatedFeatures))
175
+ );
176
+ if (!isEmpty(features) && features.length === this.orgUnits?.length) {
177
+ this.aggregationData = features.map(
178
+ (feature, index) => {
179
+ return {
180
+ orgUnit: this.orgUnits?.[index],
181
+ data: feature
182
+ };
183
+ }
184
+ );
196
185
  }
197
186
  }
198
187
  getAggregation(orgUnit) {
199
- if (lodash.isEmpty(this.aggregationData)) {
188
+ if (isEmpty(this.aggregationData)) {
200
189
  return;
201
190
  }
202
- return lodash.find(this.aggregationData, (aggregation) => aggregation.orgUnit.id === orgUnit.id);
191
+ return find(
192
+ this.aggregationData,
193
+ (aggregation) => aggregation.orgUnit.id === orgUnit.id
194
+ );
203
195
  }
204
196
  async url() {
205
197
  if (!this.initialized)
@@ -240,12 +232,20 @@ class EarthEngine {
240
232
  case "Feature":
241
233
  return ee.Feature(geometry);
242
234
  case "FeatureCollection":
243
- return ee.FeatureCollection([...features.map((feature) => ee.Feature(this.getGeometryByType(feature)))]);
235
+ return ee.FeatureCollection([
236
+ ...features.map(
237
+ (feature) => ee.Feature(this.getGeometryByType(feature))
238
+ )
239
+ ]);
244
240
  }
245
241
  }
246
242
  getFeatureCollection() {
247
243
  if (this.orgUnits) {
248
- return ee.FeatureCollection(this.orgUnits.map((orgUnit) => this.getFeatureByType(orgUnit.geoJSON)));
244
+ return ee.FeatureCollection(
245
+ this.orgUnits.map(
246
+ (orgUnit) => this.getFeatureByType(orgUnit.geoJSON)
247
+ )
248
+ );
249
249
  } else {
250
250
  throw "You need to set org units first";
251
251
  }
@@ -360,6 +360,6 @@ class EarthEngine {
360
360
  }
361
361
  }
362
362
 
363
- exports.EarthEngine = EarthEngine;
363
+ export { EarthEngine };
364
364
  //# sourceMappingURL=out.js.map
365
365
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":["token"],"mappings":"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","sourcesContent":["import { MapOrgUnit } from \"../../../../../interfaces\";\nimport {\n\tEarthEngineOptions,\n\tEarthEngineToken,\n\tRefreshToken,\n} from \"../interfaces\";\nimport {\n\tcombineReducers,\n\tgetFeatureCollectionProperties,\n\tgetHistogramStatistics,\n\tgetInfo,\n\tgetScale,\n\thasClasses,\n} from \"../utils\";\nimport { find, head, isEmpty } from \"lodash\";\n\n// async function importEEModule(): Promise<any> {\n// // @ts-ignore\n// if (import.meta.env.STORYBOOK_BUILD === \"true\") {\n// return await import(\"@google/earthengine\");\n// }\n// return await import(\"./api\");\n// }\n// const EE = await importEEModule();\n//@ts-ignore\nimport EE from \"./api\";\n// @ts-ignore\nconst ee = EE as any;\n// @ts-ignore\nwindow.ee = ee;\n\nconst FEATURE_STYLE = {color: \"FFA500\", strokeWidth: 2};\nconst DEFAULT_TILE_SCALE = 1;\n\nexport class EarthEngine {\n token?: EarthEngineToken;\n options: EarthEngineOptions;\n refresh?: RefreshToken;\n orgUnits?: MapOrgUnit[];\n initialized = false;\n period?: string | string[];\n instance: any;\n scale?: any;\n image: any;\n aggregationData: any;\n\n constructor({options}: { options: EarthEngineOptions }) {\n this.options = options;\n this.initialized = true;\n this.getInstance();\n }\n\n static async setToken(token: EarthEngineToken, refresh: RefreshToken): Promise<void> {\n const tokenType = \"Bearer\";\n\n function refreshToken(authArgs: { scope: any }, callback: (props: any) => void) {\n refresh().then(({token}: { token: EarthEngineToken }) => {\n callback({\n ...token,\n token_type: tokenType ?? \"Bearer\",\n state: authArgs?.scope,\n });\n });\n }\n\n await new Promise((resolve, reject) => {\n if (ee.data.getAuthToken()) {\n ee.initialize(null, null, resolve, reject);\n }\n if (token) {\n const {access_token, client_id, expires_in} = token;\n ee.data.setAuthToken(\n client_id,\n tokenType ?? \"Bearer\",\n access_token,\n expires_in,\n null,\n () => {\n ee.initialize(null, null, resolve, reject);\n },\n false\n );\n ee.data.setAuthTokenRefresher(refreshToken);\n }\n resolve(\"Token not found\");\n });\n }\n\n setOrgUnits(orgUnits: MapOrgUnit[]): EarthEngine {\n this.orgUnits = orgUnits;\n return this;\n }\n\n setPeriod(period: string) {\n this.period = period;\n }\n\n async getValue(geoJSON: any, type: string) {\n return new Promise((resolve, reject) => {\n const point = this.getGeometryByType(geoJSON);\n const reducer = this.getReducerByType(type);\n const image = this.getImage();\n\n const reducedImage = image.reduceRegion(reducer, point, 1);\n\n reducedImage.evaluate((data: unknown, error: any) => {\n if (error) {\n reject(error);\n } else {\n resolve(data);\n }\n });\n });\n }\n\n async getPeriod() {\n const {type} = this.options;\n if (type !== \"ImageCollection\") {\n return;\n }\n\n const imageCollection = this.instance.distinct(\"system:time_start\").sort(\"system:time_start\", false);\n const featureCollection = ee.FeatureCollection(imageCollection).select([\"system:time_start\", \"system:time_end\"], null, false);\n\n return getInfo(featureCollection);\n }\n\n async info() {\n return new Promise((resolve) => {\n this.instance.getInfo(resolve);\n });\n }\n\n async getScale() {\n try {\n const {type} = this.options;\n switch (type) {\n case \"ImageCollection\":\n this.scale = await getScale(this.instance.first());\n break;\n default:\n this.scale = await getScale(this.getImage());\n }\n } catch (e) {\n }\n }\n\n async getFeatureCollectionAggregation() {\n const {datasetId} = this.options;\n const dataset = ee.FeatureCollection(datasetId);\n const collection = this.getFeatureCollection() as any;\n const aggFeatures = collection\n ?.map((feature: any) => {\n feature = ee.Feature(feature);\n const count = dataset.filterBounds(feature.geometry()).size();\n\n return feature.set(\"count\", count);\n })\n .select([\"count\"], null, false);\n\n return getInfo(aggFeatures).then(getFeatureCollectionProperties);\n }\n\n async getHistogramAggregations() {\n try {\n const aggregation = head(this.options.aggregations) ?? \"\";\n const reducer = ee.Reducer.frequencyHistogram();\n const collection = this.getFeatureCollection();\n const legend = this.options.legend?.items;\n const scale = this.scale;\n const tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n const scaleValue = await getInfo(scale);\n\n const image = this.getImage();\n const features = Object.values(\n await getInfo(\n image\n .reduceRegions({\n collection,\n reducer,\n scale,\n tileScale,\n })\n .select([\"histogram\"], null, false)\n ).then((data) =>\n getHistogramStatistics({\n data,\n scale: scaleValue,\n aggregationType: aggregation,\n legend,\n })\n )\n );\n\n return features.map((feature: any, index: number) => {\n return {\n orgUnit: this.orgUnits?.[index],\n data: feature,\n };\n });\n } catch (e: any) {\n throw Error(\"Could not get histogram\", {\n cause: e,\n });\n }\n }\n\n async getAggregations() {\n await this.getScale();\n const {type} = this.options;\n if (type === \"FeatureCollection\") {\n this.aggregationData = await this.getFeatureCollectionAggregation();\n return;\n }\n const aggregations = this.options.aggregations;\n if (!aggregations) return;\n\n if (hasClasses(head(aggregations) ?? \"\")) {\n this.aggregationData = await this.getHistogramAggregations();\n return;\n }\n\n const reducer = combineReducers(ee)(aggregations);\n const collection = this.getFeatureCollection();\n const image = this.getImage();\n const scale = this.scale;\n const tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n const aggregatedFeatures = image\n .reduceRegions({\n collection,\n reducer,\n scale,\n tileScale,\n })\n .select(aggregations, null, false);\n\n const features = Object.values(getFeatureCollectionProperties(await getInfo(aggregatedFeatures))) as any[];\n if (!isEmpty(features) && features.length === this.orgUnits?.length) {\n //Mapping features to orgUnits using index.\n this.aggregationData = features.map((feature: any, index: number) => {\n return {\n orgUnit: this.orgUnits?.[index],\n data: feature,\n };\n });\n }\n }\n\n getAggregation(orgUnit: MapOrgUnit) {\n if (isEmpty(this.aggregationData)) {\n return;\n }\n return find(this.aggregationData, (aggregation) => aggregation.orgUnit.id === orgUnit.id);\n }\n\n async url(): Promise<string> {\n if (!this.initialized) throw \"You need to call init() first\";\n return this.visualize(this.getImage());\n }\n\n protected applyPeriod(imageCollection: any) {\n const period = this.period;\n if (period) {\n return imageCollection.filterDate(period);\n }\n }\n\n protected applyMask(image: any) {\n if (this.options.mask) {\n return image.updateMask(image.gt(0));\n } else {\n return image;\n }\n }\n\n protected applyBand(imageCollection: any) {\n if (this.options.selectedBands) {\n return imageCollection.select(this.options.selectedBands);\n } else {\n return imageCollection;\n }\n }\n\n protected getReducerByType(type: string) {\n return ee.Reducer[type].call();\n }\n\n protected getGeometryByType(geoJSON: any) {\n return ee.Geometry(geoJSON?.geometry);\n }\n\n protected getFeatureByType(geoJSON: any) {\n const featureType = geoJSON.type;\n const features = geoJSON.features ?? [];\n const geometry = this.getGeometryByType(geoJSON);\n switch (featureType) {\n case \"Feature\":\n return ee.Feature(geometry);\n case \"FeatureCollection\":\n return ee.FeatureCollection([...features.map((feature: any) => ee.Feature(this.getGeometryByType(feature)))]);\n }\n }\n\n protected getFeatureCollection(): unknown {\n if (this.orgUnits) {\n return ee.FeatureCollection(this.orgUnits.map((orgUnit: MapOrgUnit) => this.getFeatureByType(orgUnit.geoJSON)));\n } else {\n throw \"You need to set org units first\";\n }\n }\n\n protected getParamsFromLegend() {\n if (!this.options.legend) return;\n const legend = this.options.legend.items;\n const keys = legend.map((l) => l.id);\n const min = Math.min(...keys);\n const max = Math.max(...keys);\n const palette = legend.map((l) => l.color).join(\",\");\n return {min, max, palette};\n }\n\n protected async visualize(image: any): Promise<string> {\n const {min, max, palette} = this.getParamsFromLegend() ??\n this.options.params ?? {\n min: null,\n max: null,\n palette: null,\n };\n return (\n (await new Promise((resolve, reject) => {\n image.getMap({min, max, palette}, resolve);\n })) as any\n )?.urlFormat;\n }\n\n protected getImageCollectionInstance() {\n const {datasetId} = this.options;\n let imageCollection = ee.ImageCollection(datasetId);\n if (this.period) {\n imageCollection = this.applyPeriod(imageCollection);\n }\n imageCollection = this.applyBand(imageCollection);\n return imageCollection;\n }\n\n protected getImageFromImageCollection() {\n const {mosaic} = this.options;\n const imageCollection = this.instance;\n return mosaic\n ? imageCollection.mosaic().clipToCollection(this.getFeatureCollection())\n : ee.Image(imageCollection.first()).clipToCollection(this.getFeatureCollection());\n }\n\n protected getImageInstance() {\n const {datasetId} = this.options;\n return ee.Image(datasetId).clipToCollection(this.getFeatureCollection());\n }\n\n protected getImageFromImage() {\n return this.instance;\n }\n\n protected getFeatureInstance() {\n const {datasetId} = this.options;\n const feature = ee.Feature(datasetId);\n this.instance = feature;\n return feature;\n }\n\n protected getImageFromFeature() {\n return this.instance;\n }\n\n protected getFeatureCollectionInstance() {\n const {datasetId} = this.options;\n let featureCollection = ee.FeatureCollection(datasetId);\n if (this.period) {\n featureCollection = this.applyPeriod(featureCollection);\n }\n return featureCollection;\n }\n\n protected getImageFromFeatureCollection() {\n let featureCollection = this.instance;\n return featureCollection.draw(FEATURE_STYLE).clipToCollection(this.getFeatureCollection());\n }\n\n protected getInstance() {\n const {type} = this.options;\n switch (type) {\n case \"Feature\":\n this.instance = this.getFeatureInstance();\n break;\n case \"FeatureCollection\":\n this.instance = this.getFeatureCollectionInstance();\n break;\n case \"Image\":\n this.instance = this.getImageInstance();\n break;\n case \"ImageCollection\":\n this.instance = this.getImageCollectionInstance();\n break;\n default:\n this.instance = this.getImageFromImage();\n }\n }\n\n protected getImage(): any {\n if (this.image) {\n return this.image;\n }\n const {type} = this.options;\n let image;\n switch (type) {\n case \"Feature\":\n image = this.getImageFromFeature();\n break;\n case \"FeatureCollection\":\n image = this.getImageFromFeatureCollection();\n break;\n case \"Image\":\n image = this.getImageFromImage();\n break;\n case \"ImageCollection\":\n image = this.getImageFromImageCollection();\n break;\n default:\n image = this.getImageFromImage();\n }\n image = this.applyMask(image);\n image = this.applyBand(image);\n this.image = image;\n return image;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":["token"],"mappings":"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","sourcesContent":["import { MapOrgUnit } from \"../../../../../interfaces/index.js\";\nimport {\n\tEarthEngineOptions,\n\tEarthEngineToken,\n\tRefreshToken,\n} from \"../interfaces/index.js\";\nimport {\n\tcombineReducers,\n\tgetFeatureCollectionProperties,\n\tgetHistogramStatistics,\n\tgetInfo,\n\tgetScale,\n\thasClasses,\n} from \"../utils/index.js\";\nimport { find, head, isEmpty } from \"lodash\";\n\n// async function importEEModule(): Promise<any> {\n// // @ts-ignore\n// if (import.meta.env.STORYBOOK_BUILD === \"true\") {\n// return await import(\"@google/earthengine\");\n// }\n// return await import(\"./api\");\n// }\n// const EE = await importEEModule();\n//@ts-ignore\nimport * as EE from \"./api.js\";\n// @ts-ignore\nconst ee = EE as any;\n// @ts-ignore\nwindow.ee = ee;\n\nconst FEATURE_STYLE = { color: \"FFA500\", strokeWidth: 2 };\nconst DEFAULT_TILE_SCALE = 1;\n\nexport class EarthEngine {\n\ttoken?: EarthEngineToken;\n\toptions: EarthEngineOptions;\n\trefresh?: RefreshToken;\n\torgUnits?: MapOrgUnit[];\n\tinitialized = false;\n\tperiod?: string | string[];\n\tinstance: any;\n\tscale?: any;\n\timage: any;\n\taggregationData: any;\n\n\tconstructor({ options }: { options: EarthEngineOptions }) {\n\t\tthis.options = options;\n\t\tthis.initialized = true;\n\t\tthis.getInstance();\n\t}\n\n\tstatic async setToken(\n\t\ttoken: EarthEngineToken,\n\t\trefresh: RefreshToken,\n\t): Promise<void> {\n\t\tconst tokenType = \"Bearer\";\n\n\t\tfunction refreshToken(\n\t\t\tauthArgs: { scope: any },\n\t\t\tcallback: (props: any) => void,\n\t\t) {\n\t\t\trefresh().then(({ token }: { token: EarthEngineToken }) => {\n\t\t\t\tcallback({\n\t\t\t\t\t...token,\n\t\t\t\t\ttoken_type: tokenType ?? \"Bearer\",\n\t\t\t\t\tstate: authArgs?.scope,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tawait new Promise((resolve, reject) => {\n\t\t\tif (ee.data.getAuthToken()) {\n\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t}\n\t\t\tif (token) {\n\t\t\t\tconst { access_token, client_id, expires_in } = token;\n\t\t\t\tee.data.setAuthToken(\n\t\t\t\t\tclient_id,\n\t\t\t\t\ttokenType ?? \"Bearer\",\n\t\t\t\t\taccess_token,\n\t\t\t\t\texpires_in,\n\t\t\t\t\tnull,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t\tee.data.setAuthTokenRefresher(refreshToken);\n\t\t\t}\n\t\t\tresolve(\"Token not found\");\n\t\t});\n\t}\n\n\tsetOrgUnits(orgUnits: MapOrgUnit[]): EarthEngine {\n\t\tthis.orgUnits = orgUnits;\n\t\treturn this;\n\t}\n\n\tsetPeriod(period: string) {\n\t\tthis.period = period;\n\t}\n\n\tasync getValue(geoJSON: any, type: string) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst point = this.getGeometryByType(geoJSON);\n\t\t\tconst reducer = this.getReducerByType(type);\n\t\t\tconst image = this.getImage();\n\n\t\t\tconst reducedImage = image.reduceRegion(reducer, point, 1);\n\n\t\t\treducedImage.evaluate((data: unknown, error: any) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tasync getPeriod() {\n\t\tconst { type } = this.options;\n\t\tif (type !== \"ImageCollection\") {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageCollection = this.instance\n\t\t\t.distinct(\"system:time_start\")\n\t\t\t.sort(\"system:time_start\", false);\n\t\tconst featureCollection = ee\n\t\t\t.FeatureCollection(imageCollection)\n\t\t\t.select([\"system:time_start\", \"system:time_end\"], null, false);\n\n\t\treturn getInfo(featureCollection);\n\t}\n\n\tasync info() {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.instance.getInfo(resolve);\n\t\t});\n\t}\n\n\tasync getScale() {\n\t\ttry {\n\t\t\tconst { type } = this.options;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"ImageCollection\":\n\t\t\t\t\tthis.scale = await getScale(this.instance.first());\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.scale = await getScale(this.getImage());\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\tasync getFeatureCollectionAggregation() {\n\t\tconst { datasetId } = this.options;\n\t\tconst dataset = ee.FeatureCollection(datasetId);\n\t\tconst collection = this.getFeatureCollection() as any;\n\t\tconst aggFeatures = collection\n\t\t\t?.map((feature: any) => {\n\t\t\t\tfeature = ee.Feature(feature);\n\t\t\t\tconst count = dataset.filterBounds(feature.geometry()).size();\n\n\t\t\t\treturn feature.set(\"count\", count);\n\t\t\t})\n\t\t\t.select([\"count\"], null, false);\n\n\t\treturn getInfo(aggFeatures).then(getFeatureCollectionProperties);\n\t}\n\n\tasync getHistogramAggregations() {\n\t\ttry {\n\t\t\tconst aggregation = head(this.options.aggregations) ?? \"\";\n\t\t\tconst reducer = ee.Reducer.frequencyHistogram();\n\t\t\tconst collection = this.getFeatureCollection();\n\t\t\tconst legend = this.options.legend?.items;\n\t\t\tconst scale = this.scale;\n\t\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\t\tconst scaleValue = await getInfo(scale);\n\n\t\t\tconst image = this.getImage();\n\t\t\tconst features = Object.values(\n\t\t\t\tawait getInfo(\n\t\t\t\t\timage\n\t\t\t\t\t\t.reduceRegions({\n\t\t\t\t\t\t\tcollection,\n\t\t\t\t\t\t\treducer,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\ttileScale,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.select([\"histogram\"], null, false),\n\t\t\t\t).then((data) =>\n\t\t\t\t\tgetHistogramStatistics({\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tscale: scaleValue,\n\t\t\t\t\t\taggregationType: aggregation,\n\t\t\t\t\t\tlegend,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\treturn features.map((feature: any, index: number) => {\n\t\t\t\treturn {\n\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\tdata: feature,\n\t\t\t\t};\n\t\t\t});\n\t\t} catch (e: any) {\n\t\t\tthrow Error(\"Could not get histogram\", {\n\t\t\t\tcause: e,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync getAggregations() {\n\t\tawait this.getScale();\n\t\tconst { type } = this.options;\n\t\tif (type === \"FeatureCollection\") {\n\t\t\tthis.aggregationData = await this.getFeatureCollectionAggregation();\n\t\t\treturn;\n\t\t}\n\t\tconst aggregations = this.options.aggregations;\n\t\tif (!aggregations) return;\n\n\t\tif (hasClasses(head(aggregations) ?? \"\")) {\n\t\t\tthis.aggregationData = await this.getHistogramAggregations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst reducer = combineReducers(ee)(aggregations);\n\t\tconst collection = this.getFeatureCollection();\n\t\tconst image = this.getImage();\n\t\tconst scale = this.scale;\n\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\tconst aggregatedFeatures = image\n\t\t\t.reduceRegions({\n\t\t\t\tcollection,\n\t\t\t\treducer,\n\t\t\t\tscale,\n\t\t\t\ttileScale,\n\t\t\t})\n\t\t\t.select(aggregations, null, false);\n\n\t\tconst features = Object.values(\n\t\t\tgetFeatureCollectionProperties(await getInfo(aggregatedFeatures)),\n\t\t) as any[];\n\t\tif (!isEmpty(features) && features.length === this.orgUnits?.length) {\n\t\t\t//Mapping features to orgUnits using index.\n\t\t\tthis.aggregationData = features.map(\n\t\t\t\t(feature: any, index: number) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\t\tdata: feature,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\tgetAggregation(orgUnit: MapOrgUnit) {\n\t\tif (isEmpty(this.aggregationData)) {\n\t\t\treturn;\n\t\t}\n\t\treturn find(\n\t\t\tthis.aggregationData,\n\t\t\t(aggregation) => aggregation.orgUnit.id === orgUnit.id,\n\t\t);\n\t}\n\n\tasync url(): Promise<string> {\n\t\tif (!this.initialized) throw \"You need to call init() first\";\n\t\treturn this.visualize(this.getImage());\n\t}\n\n\tprotected applyPeriod(imageCollection: any) {\n\t\tconst period = this.period;\n\t\tif (period) {\n\t\t\treturn imageCollection.filterDate(period);\n\t\t}\n\t}\n\n\tprotected applyMask(image: any) {\n\t\tif (this.options.mask) {\n\t\t\treturn image.updateMask(image.gt(0));\n\t\t} else {\n\t\t\treturn image;\n\t\t}\n\t}\n\n\tprotected applyBand(imageCollection: any) {\n\t\tif (this.options.selectedBands) {\n\t\t\treturn imageCollection.select(this.options.selectedBands);\n\t\t} else {\n\t\t\treturn imageCollection;\n\t\t}\n\t}\n\n\tprotected getReducerByType(type: string) {\n\t\treturn ee.Reducer[type].call();\n\t}\n\n\tprotected getGeometryByType(geoJSON: any) {\n\t\treturn ee.Geometry(geoJSON?.geometry);\n\t}\n\n\tprotected getFeatureByType(geoJSON: any) {\n\t\tconst featureType = geoJSON.type;\n\t\tconst features = geoJSON.features ?? [];\n\t\tconst geometry = this.getGeometryByType(geoJSON);\n\t\tswitch (featureType) {\n\t\t\tcase \"Feature\":\n\t\t\t\treturn ee.Feature(geometry);\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\treturn ee.FeatureCollection([\n\t\t\t\t\t...features.map((feature: any) =>\n\t\t\t\t\t\tee.Feature(this.getGeometryByType(feature)),\n\t\t\t\t\t),\n\t\t\t\t]);\n\t\t}\n\t}\n\n\tprotected getFeatureCollection(): unknown {\n\t\tif (this.orgUnits) {\n\t\t\treturn ee.FeatureCollection(\n\t\t\t\tthis.orgUnits.map((orgUnit: MapOrgUnit) =>\n\t\t\t\t\tthis.getFeatureByType(orgUnit.geoJSON),\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tthrow \"You need to set org units first\";\n\t\t}\n\t}\n\n\tprotected getParamsFromLegend() {\n\t\tif (!this.options.legend) return;\n\t\tconst legend = this.options.legend.items;\n\t\tconst keys = legend.map((l) => l.id);\n\t\tconst min = Math.min(...keys);\n\t\tconst max = Math.max(...keys);\n\t\tconst palette = legend.map((l) => l.color).join(\",\");\n\t\treturn { min, max, palette };\n\t}\n\n\tprotected async visualize(image: any): Promise<string> {\n\t\tconst { min, max, palette } = this.getParamsFromLegend() ??\n\t\t\tthis.options.params ?? {\n\t\t\t\tmin: null,\n\t\t\t\tmax: null,\n\t\t\t\tpalette: null,\n\t\t\t};\n\t\treturn (\n\t\t\t(await new Promise((resolve, reject) => {\n\t\t\t\timage.getMap({ min, max, palette }, resolve);\n\t\t\t})) as any\n\t\t)?.urlFormat;\n\t}\n\n\tprotected getImageCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet imageCollection = ee.ImageCollection(datasetId);\n\t\tif (this.period) {\n\t\t\timageCollection = this.applyPeriod(imageCollection);\n\t\t}\n\t\timageCollection = this.applyBand(imageCollection);\n\t\treturn imageCollection;\n\t}\n\n\tprotected getImageFromImageCollection() {\n\t\tconst { mosaic } = this.options;\n\t\tconst imageCollection = this.instance;\n\t\treturn mosaic\n\t\t\t? imageCollection\n\t\t\t\t\t.mosaic()\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection())\n\t\t\t: ee\n\t\t\t\t\t.Image(imageCollection.first())\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageInstance() {\n\t\tconst { datasetId } = this.options;\n\t\treturn ee\n\t\t\t.Image(datasetId)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageFromImage() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tconst feature = ee.Feature(datasetId);\n\t\tthis.instance = feature;\n\t\treturn feature;\n\t}\n\n\tprotected getImageFromFeature() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet featureCollection = ee.FeatureCollection(datasetId);\n\t\tif (this.period) {\n\t\t\tfeatureCollection = this.applyPeriod(featureCollection);\n\t\t}\n\t\treturn featureCollection;\n\t}\n\n\tprotected getImageFromFeatureCollection() {\n\t\tlet featureCollection = this.instance;\n\t\treturn featureCollection\n\t\t\t.draw(FEATURE_STYLE)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getInstance() {\n\t\tconst { type } = this.options;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\tthis.instance = this.getFeatureInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\tthis.instance = this.getFeatureCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\tthis.instance = this.getImageInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\tthis.instance = this.getImageCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.instance = this.getImageFromImage();\n\t\t}\n\t}\n\n\tprotected getImage(): any {\n\t\tif (this.image) {\n\t\t\treturn this.image;\n\t\t}\n\t\tconst { type } = this.options;\n\t\tlet image;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\timage = this.getImageFromFeature();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\timage = this.getImageFromFeatureCollection();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\timage = this.getImageFromImage();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\timage = this.getImageFromImageCollection();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\timage = this.getImageFromImage();\n\t\t}\n\t\timage = this.applyMask(image);\n\t\timage = this.applyBand(image);\n\t\tthis.image = image;\n\t\treturn image;\n\t}\n}\n"]}
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  const combineReducers = (ee) => (types) => types.reduce(
4
2
  (r, t, i) => i === 0 ? r[t]() : r.combine({
5
3
  reducer2: ee.Reducer[t](),
@@ -56,35 +54,40 @@ const squareMetersToHectares = (value) => value / 1e4;
56
54
  const squareMetersToAcres = (value) => value / 4046.8564224;
57
55
  const classAggregation = ["percentage", "hectares", "acres"];
58
56
  const hasClasses = (type) => classAggregation.includes(type);
59
- const getHistogramStatistics = ({ data, scale, aggregationType, legend }) => data.features.reduce((obj, { id, properties }) => {
60
- const { histogram } = properties;
61
- const sum = Object.values(histogram).reduce((a, b) => a + b, 0);
62
- obj[id] = legend.reduce((values, { id: id2 }) => {
63
- const count = histogram[id2] || 0;
64
- const sqMeters = count * (scale * scale);
65
- let value;
66
- switch (aggregationType) {
67
- case "hectares":
68
- value = Math.round(squareMetersToHectares(sqMeters));
69
- break;
70
- case "acres":
71
- value = Math.round(squareMetersToAcres(sqMeters));
72
- break;
73
- default:
74
- value = count / sum * 100;
75
- }
76
- values[id2] = value;
77
- return values;
78
- }, {});
79
- return obj;
80
- }, {});
57
+ const getHistogramStatistics = ({
58
+ data,
59
+ scale,
60
+ aggregationType,
61
+ legend
62
+ }) => data.features.reduce(
63
+ (obj, { id, properties }) => {
64
+ const { histogram } = properties;
65
+ const sum = Object.values(histogram).reduce(
66
+ (a, b) => a + b,
67
+ 0
68
+ );
69
+ obj[id] = legend.reduce((values, { id: id2 }) => {
70
+ const count = histogram[id2] || 0;
71
+ const sqMeters = count * (scale * scale);
72
+ let value;
73
+ switch (aggregationType) {
74
+ case "hectares":
75
+ value = Math.round(squareMetersToHectares(sqMeters));
76
+ break;
77
+ case "acres":
78
+ value = Math.round(squareMetersToAcres(sqMeters));
79
+ break;
80
+ default:
81
+ value = count / sum * 100;
82
+ }
83
+ values[id2] = value;
84
+ return values;
85
+ }, {});
86
+ return obj;
87
+ },
88
+ {}
89
+ );
81
90
 
82
- exports.combineReducers = combineReducers;
83
- exports.getClassifiedImage = getClassifiedImage;
84
- exports.getFeatureCollectionProperties = getFeatureCollectionProperties;
85
- exports.getHistogramStatistics = getHistogramStatistics;
86
- exports.getInfo = getInfo;
87
- exports.getScale = getScale;
88
- exports.hasClasses = hasClasses;
91
+ export { combineReducers, getClassifiedImage, getFeatureCollectionProperties, getHistogramStatistics, getInfo, getScale, hasClasses };
89
92
  //# sourceMappingURL=out.js.map
90
93
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.ts"],"names":["id"],"mappings":"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","sourcesContent":["import { EarthEngineOptions } from \"../interfaces\";\n\nexport const combineReducers = (ee: any) => (types: string[]) =>\n\ttypes.reduce(\n\t\t(r: any, t: any, i: any) =>\n\t\t\ti === 0\n\t\t\t\t? r[t]()\n\t\t\t\t: r.combine({\n\t\t\t\t\t\treducer2: ee.Reducer[t](),\n\t\t\t\t\t\tsharedInputs: true,\n\t\t\t\t\t}),\n\t\tee.Reducer,\n\t);\n\nexport const getInfo = (instance: any) =>\n new Promise((resolve, reject) =>\n instance.evaluate((data: any, error: Error) => {\n if (error) {\n reject(error);\n } else {\n resolve(data);\n }\n })\n );\n\nexport const getFeatureCollectionProperties = (data: any) =>\n data.features.reduce(\n (obj: any, f: any) => ({\n ...obj,\n [f.id]: f.properties,\n }),\n {}\n );\n\nexport const getScale = async (image: any) => {\n return image.select(0).projection().nominalScale();\n};\n\nconst getParamsFromLegend = (legend: any[]) => {\n const keys = legend.map((l) => l.id);\n const min = Math.min(...keys);\n const max = Math.max(...keys);\n const palette = legend.map((l) => l.color).join(\",\");\n\n return { min, max, palette };\n};\n\nexport const getClassifiedImage = (eeImage: any, { legend: legends, params }: EarthEngineOptions) => {\n const legend = legends?.items ?? [];\n if (!params) {\n // Image has classes (e.g. landcover)\n return { eeImage, params: getParamsFromLegend(legend) };\n }\n\n const min = 0;\n const max = legend.length - 1;\n const { palette } = params;\n let zones;\n\n for (let i = min, item; i < max; i++) {\n item = legend[i] as any;\n\n if (!zones) {\n zones = eeImage.gt(item.to);\n } else {\n zones = zones.add(eeImage.gt(item.to));\n }\n }\n\n return { eeImage: zones, params: { min, max, palette } };\n};\n\nconst squareMetersToHectares = (value: number) => value / 10000;\n\nconst squareMetersToAcres = (value: number) => value / 4046.8564224;\n\nconst classAggregation = [\"percentage\", \"hectares\", \"acres\"];\n\nexport const hasClasses = (type: string) => classAggregation.includes(type);\n\nexport const getHistogramStatistics = ({ data, scale, aggregationType, legend }: { data: any; scale: any; aggregationType: string; legend: any }) =>\n data.features.reduce((obj: Record<any, any>, { id, properties }: { id: string; properties: any }) => {\n const { histogram } = properties;\n const sum: number = Object.values(histogram).reduce((a: any, b: any) => a + b, 0) as number;\n obj[id] = legend.reduce((values: any, { id }: { id: string }) => {\n const count = histogram[id] || 0;\n const sqMeters = count * (scale * scale);\n let value;\n switch (aggregationType) {\n case \"hectares\":\n value = Math.round(squareMetersToHectares(sqMeters));\n break;\n case \"acres\":\n value = Math.round(squareMetersToAcres(sqMeters));\n break;\n default:\n value = (count / sum) * 100; // percentage\n }\n\n values[id] = value;\n\n return values;\n }, {});\n return obj;\n }, {});\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.ts"],"names":["id"],"mappings":"AAEO,MAAM,kBAAkB,CAAC,OAAY,CAAC,UAC5C,MAAM;AAAA,EACL,CAAC,GAAQ,GAAQ,MAChB,MAAM,IACH,EAAE,CAAC,EAAE,IACL,EAAE,QAAQ;AAAA,IACV,UAAU,GAAG,QAAQ,CAAC,EAAE;AAAA,IACxB,cAAc;AAAA,EACf,CAAC;AAAA,EACJ,GAAG;AACJ;AAEM,MAAM,UAAU,CAAC,aACvB,IAAI;AAAA,EAAQ,CAAC,SAAS,WACrB,SAAS,SAAS,CAAC,MAAW,UAAiB;AAC9C,QAAI,OAAO;AACV,aAAO,KAAK;AAAA,IACb,OAAO;AACN,cAAQ,IAAI;AAAA,IACb;AAAA,EACD,CAAC;AACF;AAEM,MAAM,iCAAiC,CAAC,SAC9C,KAAK,SAAS;AAAA,EACb,CAAC,KAAU,OAAY;AAAA,IACtB,GAAG;AAAA,IACH,CAAC,EAAE,EAAE,GAAG,EAAE;AAAA,EACX;AAAA,EACA,CAAC;AACF;AAEM,MAAM,WAAW,OAAO,UAAe;AAC7C,SAAO,MAAM,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa;AAClD;AAEA,MAAM,sBAAsB,CAAC,WAAkB;AAC9C,QAAM,OAAO,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE;AACnC,QAAM,MAAM,KAAK,IAAI,GAAG,IAAI;AAC5B,QAAM,MAAM,KAAK,IAAI,GAAG,IAAI;AAC5B,QAAM,UAAU,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG;AAEnD,SAAO,EAAE,KAAK,KAAK,QAAQ;AAC5B;AAEO,MAAM,qBAAqB,CACjC,SACA,EAAE,QAAQ,SAAS,OAAO,MACtB;AACJ,QAAM,SAAS,SAAS,SAAS,CAAC;AAClC,MAAI,CAAC,QAAQ;AAEZ,WAAO,EAAE,SAAS,QAAQ,oBAAoB,MAAM,EAAE;AAAA,EACvD;AAEA,QAAM,MAAM;AACZ,QAAM,MAAM,OAAO,SAAS;AAC5B,QAAM,EAAE,QAAQ,IAAI;AACpB,MAAI;AAEJ,WAAS,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK;AACrC,WAAO,OAAO,CAAC;AAEf,QAAI,CAAC,OAAO;AACX,cAAQ,QAAQ,GAAG,KAAK,EAAE;AAAA,IAC3B,OAAO;AACN,cAAQ,MAAM,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;AAAA,IACtC;AAAA,EACD;AAEA,SAAO,EAAE,SAAS,OAAO,QAAQ,EAAE,KAAK,KAAK,QAAQ,EAAE;AACxD;AAEA,MAAM,yBAAyB,CAAC,UAAkB,QAAQ;AAE1D,MAAM,sBAAsB,CAAC,UAAkB,QAAQ;AAEvD,MAAM,mBAAmB,CAAC,cAAc,YAAY,OAAO;AAEpD,MAAM,aAAa,CAAC,SAAiB,iBAAiB,SAAS,IAAI;AAEnE,MAAM,yBAAyB,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAMC,KAAK,SAAS;AAAA,EACb,CACC,KACA,EAAE,IAAI,WAAW,MACb;AACJ,UAAM,EAAE,UAAU,IAAI;AACtB,UAAM,MAAc,OAAO,OAAO,SAAS,EAAE;AAAA,MAC5C,CAAC,GAAQ,MAAW,IAAI;AAAA,MACxB;AAAA,IACD;AACA,QAAI,EAAE,IAAI,OAAO,OAAO,CAAC,QAAa,EAAE,IAAAA,IAAG,MAAsB;AAChE,YAAM,QAAQ,UAAUA,GAAE,KAAK;AAC/B,YAAM,WAAW,SAAS,QAAQ;AAClC,UAAI;AACJ,cAAQ,iBAAiB;AAAA,QACxB,KAAK;AACJ,kBAAQ,KAAK,MAAM,uBAAuB,QAAQ,CAAC;AACnD;AAAA,QACD,KAAK;AACJ,kBAAQ,KAAK,MAAM,oBAAoB,QAAQ,CAAC;AAChD;AAAA,QACD;AACC,kBAAS,QAAQ,MAAO;AAAA,MAC1B;AAEA,aAAOA,GAAE,IAAI;AAEb,aAAO;AAAA,IACR,GAAG,CAAC,CAAC;AACL,WAAO;AAAA,EACR;AAAA,EACA,CAAC;AACF","sourcesContent":["import { EarthEngineOptions } from \"../interfaces/index.js\";\n\nexport const combineReducers = (ee: any) => (types: string[]) =>\n\ttypes.reduce(\n\t\t(r: any, t: any, i: any) =>\n\t\t\ti === 0\n\t\t\t\t? r[t]()\n\t\t\t\t: r.combine({\n\t\t\t\t\t\treducer2: ee.Reducer[t](),\n\t\t\t\t\t\tsharedInputs: true,\n\t\t\t\t\t}),\n\t\tee.Reducer,\n\t);\n\nexport const getInfo = (instance: any) =>\n\tnew Promise((resolve, reject) =>\n\t\tinstance.evaluate((data: any, error: Error) => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\t\t\t} else {\n\t\t\t\tresolve(data);\n\t\t\t}\n\t\t}),\n\t);\n\nexport const getFeatureCollectionProperties = (data: any) =>\n\tdata.features.reduce(\n\t\t(obj: any, f: any) => ({\n\t\t\t...obj,\n\t\t\t[f.id]: f.properties,\n\t\t}),\n\t\t{},\n\t);\n\nexport const getScale = async (image: any) => {\n\treturn image.select(0).projection().nominalScale();\n};\n\nconst getParamsFromLegend = (legend: any[]) => {\n\tconst keys = legend.map((l) => l.id);\n\tconst min = Math.min(...keys);\n\tconst max = Math.max(...keys);\n\tconst palette = legend.map((l) => l.color).join(\",\");\n\n\treturn { min, max, palette };\n};\n\nexport const getClassifiedImage = (\n\teeImage: any,\n\t{ legend: legends, params }: EarthEngineOptions,\n) => {\n\tconst legend = legends?.items ?? [];\n\tif (!params) {\n\t\t// Image has classes (e.g. landcover)\n\t\treturn { eeImage, params: getParamsFromLegend(legend) };\n\t}\n\n\tconst min = 0;\n\tconst max = legend.length - 1;\n\tconst { palette } = params;\n\tlet zones;\n\n\tfor (let i = min, item; i < max; i++) {\n\t\titem = legend[i] as any;\n\n\t\tif (!zones) {\n\t\t\tzones = eeImage.gt(item.to);\n\t\t} else {\n\t\t\tzones = zones.add(eeImage.gt(item.to));\n\t\t}\n\t}\n\n\treturn { eeImage: zones, params: { min, max, palette } };\n};\n\nconst squareMetersToHectares = (value: number) => value / 10000;\n\nconst squareMetersToAcres = (value: number) => value / 4046.8564224;\n\nconst classAggregation = [\"percentage\", \"hectares\", \"acres\"];\n\nexport const hasClasses = (type: string) => classAggregation.includes(type);\n\nexport const getHistogramStatistics = ({\n\tdata,\n\tscale,\n\taggregationType,\n\tlegend,\n}: {\n\tdata: any;\n\tscale: any;\n\taggregationType: string;\n\tlegend: any;\n}) =>\n\tdata.features.reduce(\n\t\t(\n\t\t\tobj: Record<any, any>,\n\t\t\t{ id, properties }: { id: string; properties: any },\n\t\t) => {\n\t\t\tconst { histogram } = properties;\n\t\t\tconst sum: number = Object.values(histogram).reduce(\n\t\t\t\t(a: any, b: any) => a + b,\n\t\t\t\t0,\n\t\t\t) as number;\n\t\t\tobj[id] = legend.reduce((values: any, { id }: { id: string }) => {\n\t\t\t\tconst count = histogram[id] || 0;\n\t\t\t\tconst sqMeters = count * (scale * scale);\n\t\t\t\tlet value;\n\t\t\t\tswitch (aggregationType) {\n\t\t\t\t\tcase \"hectares\":\n\t\t\t\t\t\tvalue = Math.round(squareMetersToHectares(sqMeters));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"acres\":\n\t\t\t\t\t\tvalue = Math.round(squareMetersToAcres(sqMeters));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = (count / sum) * 100; // percentage\n\t\t\t\t}\n\n\t\t\t\tvalues[id] = value;\n\n\t\t\t\treturn values;\n\t\t\t}, {});\n\t\t\treturn obj;\n\t\t},\n\t\t{},\n\t);\n"]}
@@ -1,19 +1,17 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var ui = require('@dhis2/ui');
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { IconLaunch16 } from '@dhis2/ui';
5
3
 
6
4
  function LegendCardHeader({
7
5
  title,
8
6
  collapsible,
9
7
  onCollapse
10
8
  }) {
11
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "row w-100 space-between align-items-center", children: [
12
- /* @__PURE__ */ jsxRuntime.jsx("h4", { style: { margin: 0 }, className: "legend-header", children: title }),
13
- collapsible && /* @__PURE__ */ jsxRuntime.jsx("div", { onClick: onCollapse, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconLaunch16, {}) })
9
+ return /* @__PURE__ */ jsxs("div", { className: "row w-100 space-between align-items-center", children: [
10
+ /* @__PURE__ */ jsx("h4", { style: { margin: 0 }, className: "legend-header", children: title }),
11
+ collapsible && /* @__PURE__ */ jsx("div", { onClick: onCollapse, children: /* @__PURE__ */ jsx(IconLaunch16, {}) })
14
12
  ] });
15
13
  }
16
14
 
17
- module.exports = LegendCardHeader;
15
+ export { LegendCardHeader as default };
18
16
  //# sourceMappingURL=out.js.map
19
17
  //# sourceMappingURL=index.js.map
@@ -1,35 +1,24 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var ui = require('@dhis2/ui');
5
- var lodash = require('lodash');
6
- var React = require('react');
7
- var CustomControl = require('../../../MapControls/components/CustomControl');
8
- var interfaces = require('../../interfaces');
9
- var PointLegend = require('../PointLayer/components/PointLegend');
10
- var BubbleLegend = require('../ThematicLayer/components/Bubble/components/BubbleLegend');
11
- var ChoroplethLegend = require('../ThematicLayer/components/Choropleth/components/ChoroplethLegend');
12
- var EarthEngineLegend = require('../GoogleEngineLayer/components/EarthEngineLegend');
13
- var classes = require('./LegendArea.module.css');
14
- var map = require('../../../../hooks/map');
15
-
16
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
-
18
- var React__default = /*#__PURE__*/_interopDefault(React);
19
- var PointLegend__default = /*#__PURE__*/_interopDefault(PointLegend);
20
- var BubbleLegend__default = /*#__PURE__*/_interopDefault(BubbleLegend);
21
- var ChoroplethLegend__default = /*#__PURE__*/_interopDefault(ChoroplethLegend);
22
- var EarthEngineLegend__default = /*#__PURE__*/_interopDefault(EarthEngineLegend);
23
- var classes__default = /*#__PURE__*/_interopDefault(classes);
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { IconLegend24, Portal, Popper, colors } from '@dhis2/ui';
3
+ import { compact, head } from 'lodash';
4
+ import React, { useState, useRef, useEffect } from 'react';
5
+ import { CustomControl } from '../../../MapControls/components/CustomControl/index.js';
6
+ import { SUPPORTED_EARTH_ENGINE_LAYERS } from '../../interfaces/index.js';
7
+ import PointLegend from '../PointLayer/components/PointLegend/index.js';
8
+ import BubbleLegend from '../ThematicLayer/components/Bubble/components/BubbleLegend/index.js';
9
+ import ChoroplethLegend from '../ThematicLayer/components/Choropleth/components/ChoroplethLegend.js';
10
+ import EarthEngineLegend from '../GoogleEngineLayer/components/EarthEngineLegend.js';
11
+ import classes from './LegendArea.module.css';
12
+ import { usePrintMedia } from '../../../../hooks/map.js';
24
13
 
25
14
  const TOOLTIP_OFFSET = 4;
26
15
  function getLegendComponent(layer) {
27
16
  if (layer.type === "point") {
28
- return /* @__PURE__ */ jsxRuntime.jsx(PointLegend__default.default, { name: layer.label });
17
+ return /* @__PURE__ */ jsx(PointLegend, { name: layer.label });
29
18
  }
30
- if (interfaces.SUPPORTED_EARTH_ENGINE_LAYERS.includes(layer.type)) {
31
- return /* @__PURE__ */ jsxRuntime.jsx(
32
- EarthEngineLegend__default.default,
19
+ if (SUPPORTED_EARTH_ENGINE_LAYERS.includes(layer.type)) {
20
+ return /* @__PURE__ */ jsx(
21
+ EarthEngineLegend,
33
22
  {
34
23
  name: layer.name ?? "",
35
24
  layer
@@ -42,8 +31,8 @@ function getLegendComponent(layer) {
42
31
  }
43
32
  switch (type) {
44
33
  case "bubble":
45
- return /* @__PURE__ */ jsxRuntime.jsx(
46
- BubbleLegend__default.default,
34
+ return /* @__PURE__ */ jsx(
35
+ BubbleLegend,
47
36
  {
48
37
  radius: layer?.radius ?? {
49
38
  min: 0,
@@ -52,17 +41,17 @@ function getLegendComponent(layer) {
52
41
  legends: legends ?? [],
53
42
  name: name ?? dataItem.displayName,
54
43
  data,
55
- dataItem: lodash.head(data)?.dataItem ?? dataItem
44
+ dataItem: head(data)?.dataItem ?? dataItem
56
45
  }
57
46
  );
58
47
  case "choropleth":
59
- return /* @__PURE__ */ jsxRuntime.jsx(
60
- ChoroplethLegend__default.default,
48
+ return /* @__PURE__ */ jsx(
49
+ ChoroplethLegend,
61
50
  {
62
51
  legends: legends ?? [],
63
52
  name: name ?? dataItem.displayName,
64
53
  data,
65
- dataItem: lodash.head(data)?.dataItem ?? dataItem
54
+ dataItem: head(data)?.dataItem ?? dataItem
66
55
  }
67
56
  );
68
57
  }
@@ -73,10 +62,10 @@ function CollapsedLegendIcon({
73
62
  }) {
74
63
  const openDelay = 200;
75
64
  const closeDelay = 200;
76
- const [openTooltip, setOpenTooltip] = React.useState(false);
77
- const openTimerRef = React.useRef(null);
78
- const closeTimerRef = React.useRef(null);
79
- const ref = React.useRef(null);
65
+ const [openTooltip, setOpenTooltip] = useState(false);
66
+ const openTimerRef = useRef(null);
67
+ const closeTimerRef = useRef(null);
68
+ const ref = useRef(null);
80
69
  const hideModifier = { name: "hide" };
81
70
  const offsetModifier = {
82
71
  name: "offset",
@@ -100,14 +89,14 @@ function CollapsedLegendIcon({
100
89
  setOpenTooltip(false);
101
90
  }, closeDelay);
102
91
  };
103
- React.useEffect(
92
+ useEffect(
104
93
  () => () => {
105
94
  clearTimeout(openTimerRef.current);
106
95
  clearTimeout(closeTimerRef.current);
107
96
  },
108
97
  []
109
98
  );
110
- return /* @__PURE__ */ jsxRuntime.jsxs(
99
+ return /* @__PURE__ */ jsxs(
111
100
  "div",
112
101
  {
113
102
  ref,
@@ -117,24 +106,24 @@ function CollapsedLegendIcon({
117
106
  style: { width: 28, height: 28 },
118
107
  className: "legend-card collapsed",
119
108
  children: [
120
- /* @__PURE__ */ jsxRuntime.jsx(ui.IconLegend24, {}),
121
- openTooltip && /* @__PURE__ */ jsxRuntime.jsx(
122
- ui.Portal,
109
+ /* @__PURE__ */ jsx(IconLegend24, {}),
110
+ openTooltip && /* @__PURE__ */ jsx(
111
+ Portal,
123
112
  {
124
- className: classes__default.default["map-tooltip"],
125
- children: /* @__PURE__ */ jsxRuntime.jsx(
126
- ui.Popper,
113
+ className: classes["map-tooltip"],
114
+ children: /* @__PURE__ */ jsx(
115
+ Popper,
127
116
  {
128
- className: classes__default.default["map-tooltip"],
117
+ className: classes["map-tooltip"],
129
118
  reference: ref,
130
119
  modifiers: [offsetModifier, flipModifier, hideModifier],
131
- children: /* @__PURE__ */ jsxRuntime.jsx(
120
+ children: /* @__PURE__ */ jsx(
132
121
  "div",
133
122
  {
134
123
  style: {
135
- backgroundColor: `${ui.colors.grey900}`,
124
+ backgroundColor: `${colors.grey900}`,
136
125
  borderRadius: 3,
137
- color: `${ui.colors.white}`,
126
+ color: `${colors.white}`,
138
127
  padding: "4px 6px"
139
128
  },
140
129
  "data-test": `content`,
@@ -153,29 +142,29 @@ function Legend({
153
142
  children,
154
143
  collapsible
155
144
  }) {
156
- const [collapsed, setCollapsed] = React.useState(collapsible);
157
- const inPrintMode = map.usePrintMedia();
145
+ const [collapsed, setCollapsed] = useState(collapsible);
146
+ const inPrintMode = usePrintMedia();
158
147
  const onCollapse = () => {
159
148
  if (collapsible) {
160
149
  setCollapsed((prevState) => !prevState);
161
150
  }
162
151
  };
163
- const name = lodash.head(React__default.default.Children.toArray(children))?.props.name;
152
+ const name = head(React.Children.toArray(children))?.props.name;
164
153
  const shouldCollapse = collapsed && !inPrintMode;
165
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-100", children: shouldCollapse ? /* @__PURE__ */ jsxRuntime.jsx(CollapsedLegendIcon, { name, onCollapse }) : React__default.default.Children.map(
154
+ return /* @__PURE__ */ jsx("div", { className: "w-100", children: shouldCollapse ? /* @__PURE__ */ jsx(CollapsedLegendIcon, { name, onCollapse }) : React.Children.map(
166
155
  children,
167
- (child) => React__default.default.cloneElement(child, { collapsible, onCollapse })
156
+ (child) => React.cloneElement(child, { collapsible, onCollapse })
168
157
  ) });
169
158
  }
170
159
  function LegendArea({
171
160
  layers,
172
161
  legends: legendConfig
173
162
  }) {
174
- const legends = lodash.compact(
163
+ const legends = compact(
175
164
  layers.filter((layer) => layer.enabled).map(getLegendComponent)
176
165
  );
177
166
  const { position, collapsible } = legendConfig ?? {};
178
- return /* @__PURE__ */ jsxRuntime.jsx(CustomControl.CustomControl, { position, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "column gap-16 align-items-end", children: legends?.map((legend, index) => /* @__PURE__ */ jsxRuntime.jsx(
167
+ return /* @__PURE__ */ jsx(CustomControl, { position, children: /* @__PURE__ */ jsx("div", { className: "column gap-16 align-items-end", children: legends?.map((legend, index) => /* @__PURE__ */ jsx(
179
168
  Legend,
180
169
  {
181
170
  collapsible: collapsible ?? true,
@@ -185,6 +174,6 @@ function LegendArea({
185
174
  )) }) });
186
175
  }
187
176
 
188
- module.exports = LegendArea;
177
+ export { LegendArea as default };
189
178
  //# sourceMappingURL=out.js.map
190
179
  //# sourceMappingURL=index.js.map