@hisptz/dhis2-analytics 2.0.0-alpha.1 → 2.0.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 (380) hide show
  1. package/dist/components/ChartAnalytics/ChartAnalytics.stories.js +43 -20
  2. package/dist/components/ChartAnalytics/DHIS2Chart.js +43 -17
  3. package/dist/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +16 -14
  4. package/dist/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +14 -8
  5. package/dist/components/ChartAnalytics/components/DownloadMenu/index.js +21 -19
  6. package/dist/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +1 -0
  7. package/dist/components/ChartAnalytics/hooks/useChart.js +12 -10
  8. package/dist/components/ChartAnalytics/index.js +12 -1
  9. package/dist/components/ChartAnalytics/models/bar.js +6 -3
  10. package/dist/components/ChartAnalytics/models/column.js +9 -6
  11. package/dist/components/ChartAnalytics/models/index.js +3 -1
  12. package/dist/components/ChartAnalytics/models/line.js +8 -6
  13. package/dist/components/ChartAnalytics/models/multi-series.js +14 -12
  14. package/dist/components/ChartAnalytics/models/pie.js +7 -5
  15. package/dist/components/ChartAnalytics/services/export.js +20 -7
  16. package/dist/components/ChartAnalytics/types/props.js +1 -0
  17. package/dist/components/ChartAnalytics/utils/chart.js +31 -24
  18. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.js +23 -14
  19. package/dist/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +10 -3
  20. package/dist/components/CircularProgressDashboard/index.js +19 -2
  21. package/dist/components/CircularProgressDashboard/types/props.js +1 -0
  22. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.js +15 -13
  23. package/dist/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +14 -5
  24. package/dist/components/DHIS2PivotTable/components/Table/index.js +6 -4
  25. package/dist/components/DHIS2PivotTable/components/TableBody/index.js +31 -25
  26. package/dist/components/DHIS2PivotTable/components/TableHeaders/index.js +30 -24
  27. package/dist/components/DHIS2PivotTable/index.js +19 -2
  28. package/dist/components/DHIS2PivotTable/interfaces/index.js +1 -0
  29. package/dist/components/DHIS2PivotTable/services/engine.js +12 -10
  30. package/dist/components/DHIS2PivotTable/state/engine.js +9 -6
  31. package/dist/components/Map/DHIS2Map.js +20 -13
  32. package/dist/components/Map/DHIS2Map.stories.js +17 -3
  33. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +21 -15
  34. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +15 -10
  35. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +18 -16
  36. package/dist/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +12 -7
  37. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +30 -24
  38. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +49 -42
  39. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +22 -16
  40. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +32 -26
  41. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +16 -10
  42. package/dist/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +27 -21
  43. package/dist/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +18 -15
  44. package/dist/components/Map/components/EarthEngineLayerConfiguration/index.js +19 -2
  45. package/dist/components/Map/components/MapArea/index.js +41 -32
  46. package/dist/components/Map/components/MapArea/interfaces/index.js +1 -0
  47. package/dist/components/Map/components/MapControls/components/CustomControl/index.js +5 -3
  48. package/dist/components/Map/components/MapControls/components/DownloadControl/index.js +14 -8
  49. package/dist/components/Map/components/MapControls/components/FullscreenControl/index.js +9 -7
  50. package/dist/components/Map/components/MapControls/index.js +17 -10
  51. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +5 -3
  52. package/dist/components/Map/components/MapLayer/components/BoundaryLayer/index.js +31 -21
  53. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +31 -21
  54. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +88 -80
  55. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +14 -9
  56. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +69 -62
  57. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +1 -0
  58. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +3 -1
  59. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +41 -19
  60. package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +9 -1
  61. package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +8 -6
  62. package/dist/components/Map/components/MapLayer/components/LegendArea/index.js +57 -46
  63. package/dist/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +31 -25
  64. package/dist/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +7 -5
  65. package/dist/components/Map/components/MapLayer/components/PointLayer/index.js +28 -21
  66. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +12 -10
  67. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +32 -21
  68. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +20 -13
  69. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +23 -17
  70. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +27 -18
  71. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +19 -13
  72. package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +21 -15
  73. package/dist/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +8 -6
  74. package/dist/components/Map/components/MapLayer/components/ThematicLayer/index.js +24 -16
  75. package/dist/components/Map/components/MapLayer/index.js +18 -10
  76. package/dist/components/Map/components/MapLayer/interfaces/index.js +3 -1
  77. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +63 -59
  78. package/dist/components/Map/components/MapProvider/components/MapLayerProvider/index.js +36 -30
  79. package/dist/components/Map/components/MapProvider/hooks/index.js +10 -6
  80. package/dist/components/Map/components/MapProvider/index.js +31 -25
  81. package/dist/components/Map/components/MapUpdater/index.js +7 -5
  82. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +21 -15
  83. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +10 -5
  84. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +60 -53
  85. package/dist/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +12 -7
  86. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +15 -9
  87. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +4 -1
  88. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +30 -22
  89. package/dist/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +18 -7
  90. package/dist/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +30 -23
  91. package/dist/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +22 -16
  92. package/dist/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +22 -16
  93. package/dist/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +22 -16
  94. package/dist/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +24 -18
  95. package/dist/components/Map/components/ThematicLayerConfiguration/index.js +26 -3
  96. package/dist/components/Map/components/ThematicLayerConfiguration/types/index.js +1 -0
  97. package/dist/components/Map/constants/colors.js +4 -1
  98. package/dist/components/Map/constants/legendSet.js +3 -1
  99. package/dist/components/Map/hooks/map.js +21 -17
  100. package/dist/components/Map/index.js +40 -5
  101. package/dist/components/Map/interfaces/index.js +1 -0
  102. package/dist/components/Map/state/index.js +9 -5
  103. package/dist/components/Map/utils/colors.js +19 -7
  104. package/dist/components/Map/utils/helpers.js +11 -3
  105. package/dist/components/Map/utils/map.js +23 -13
  106. package/dist/components/SingleValueContainer/SingleValueContainer.stories.js +11 -3
  107. package/dist/components/SingleValueContainer/SingleValueVisualizer.js +35 -17
  108. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +21 -14
  109. package/dist/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +13 -7
  110. package/dist/components/SingleValueContainer/index.js +26 -3
  111. package/dist/components/SingleValueContainer/types/props.js +1 -0
  112. package/dist/components/Visualization/components/AnalyticsDataProvider/index.js +23 -20
  113. package/dist/components/Visualization/components/DimensionsProvider/index.js +18 -13
  114. package/dist/components/Visualization/components/LayoutProvider/index.js +11 -7
  115. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js +36 -30
  116. package/dist/components/Visualization/components/VisualizationProvider/index.js +9 -7
  117. package/dist/components/Visualization/components/VisualizationSelector/index.js +57 -46
  118. package/dist/components/Visualization/components/VisualizationTypeProvider/index.js +18 -11
  119. package/dist/components/Visualization/components/VisualizationTypeSelector/index.js +27 -21
  120. package/dist/components/Visualization/index.js +33 -27
  121. package/dist/esm/components/ChartAnalytics/ChartAnalytics.stories.js +254 -0
  122. package/dist/esm/components/ChartAnalytics/ChartAnalytics.stories.js.map +1 -0
  123. package/dist/esm/components/ChartAnalytics/DHIS2Chart.js +36 -0
  124. package/dist/esm/components/ChartAnalytics/DHIS2Chart.js.map +1 -0
  125. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js +52 -0
  126. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/components/Menu.js.map +1 -0
  127. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js +42 -0
  128. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/constants/menu.js.map +1 -0
  129. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js +65 -0
  130. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/index.js.map +1 -0
  131. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js +3 -0
  132. package/dist/esm/components/ChartAnalytics/components/DownloadMenu/interfaces/menu.js.map +1 -0
  133. package/dist/esm/components/ChartAnalytics/hooks/useChart.js +43 -0
  134. package/dist/esm/components/ChartAnalytics/hooks/useChart.js.map +1 -0
  135. package/dist/esm/components/ChartAnalytics/index.js +3 -0
  136. package/dist/esm/components/ChartAnalytics/index.js.map +1 -0
  137. package/dist/esm/components/ChartAnalytics/models/bar.js +21 -0
  138. package/dist/esm/components/ChartAnalytics/models/bar.js.map +1 -0
  139. package/dist/esm/components/ChartAnalytics/models/column.js +48 -0
  140. package/dist/esm/components/ChartAnalytics/models/column.js.map +1 -0
  141. package/dist/esm/components/ChartAnalytics/models/index.js +114 -0
  142. package/dist/esm/components/ChartAnalytics/models/index.js.map +1 -0
  143. package/dist/esm/components/ChartAnalytics/models/line.js +31 -0
  144. package/dist/esm/components/ChartAnalytics/models/line.js.map +1 -0
  145. package/dist/esm/components/ChartAnalytics/models/multi-series.js +112 -0
  146. package/dist/esm/components/ChartAnalytics/models/multi-series.js.map +1 -0
  147. package/dist/esm/components/ChartAnalytics/models/pie.js +53 -0
  148. package/dist/esm/components/ChartAnalytics/models/pie.js.map +1 -0
  149. package/dist/esm/components/ChartAnalytics/services/export.js +35 -0
  150. package/dist/esm/components/ChartAnalytics/services/export.js.map +1 -0
  151. package/dist/esm/components/ChartAnalytics/styles/custom-highchart.css +40 -0
  152. package/dist/esm/components/ChartAnalytics/styles/custom-highchart.css.map +1 -0
  153. package/dist/esm/components/ChartAnalytics/types/props.js +3 -0
  154. package/dist/esm/components/ChartAnalytics/types/props.js.map +1 -0
  155. package/dist/esm/components/ChartAnalytics/utils/chart.js +130 -0
  156. package/dist/esm/components/ChartAnalytics/utils/chart.js.map +1 -0
  157. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js +66 -0
  158. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.js.map +1 -0
  159. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +42 -0
  160. package/dist/esm/components/CircularProgressDashboard/CircularProgressIndicator.stories.js.map +1 -0
  161. package/dist/esm/components/CircularProgressDashboard/index.js +4 -0
  162. package/dist/esm/components/CircularProgressDashboard/index.js.map +1 -0
  163. package/dist/esm/components/CircularProgressDashboard/types/props.js +3 -0
  164. package/dist/esm/components/CircularProgressDashboard/types/props.js.map +1 -0
  165. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js +26 -0
  166. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.js.map +1 -0
  167. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.stories.js +30 -0
  168. package/dist/esm/components/DHIS2PivotTable/DHIS2PivotTable.stories.js.map +1 -0
  169. package/dist/esm/components/DHIS2PivotTable/components/Table/index.js +10 -0
  170. package/dist/esm/components/DHIS2PivotTable/components/Table/index.js.map +1 -0
  171. package/dist/esm/components/DHIS2PivotTable/components/TableBody/TableBody.module.css +11 -0
  172. package/dist/esm/components/DHIS2PivotTable/components/TableBody/TableBody.module.css.map +1 -0
  173. package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js +106 -0
  174. package/dist/esm/components/DHIS2PivotTable/components/TableBody/index.js.map +1 -0
  175. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/TableHeaders.module.css +10 -0
  176. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/TableHeaders.module.css.map +1 -0
  177. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js +94 -0
  178. package/dist/esm/components/DHIS2PivotTable/components/TableHeaders/index.js.map +1 -0
  179. package/dist/esm/components/DHIS2PivotTable/index.js +4 -0
  180. package/dist/esm/components/DHIS2PivotTable/index.js.map +1 -0
  181. package/dist/esm/components/DHIS2PivotTable/interfaces/index.js +3 -0
  182. package/dist/esm/components/DHIS2PivotTable/interfaces/index.js.map +1 -0
  183. package/dist/esm/components/DHIS2PivotTable/services/engine.js +87 -0
  184. package/dist/esm/components/DHIS2PivotTable/services/engine.js.map +1 -0
  185. package/dist/esm/components/DHIS2PivotTable/state/engine.js +17 -0
  186. package/dist/esm/components/DHIS2PivotTable/state/engine.js.map +1 -0
  187. package/dist/esm/components/Map/DHIS2Map.js +65 -0
  188. package/dist/esm/components/Map/DHIS2Map.js.map +1 -0
  189. package/dist/esm/components/Map/DHIS2Map.stories.js +366 -0
  190. package/dist/esm/components/Map/DHIS2Map.stories.js.map +1 -0
  191. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js +41 -0
  192. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.js.map +1 -0
  193. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +34 -0
  194. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js.map +1 -0
  195. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js +26 -0
  196. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js.map +1 -0
  197. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +21 -0
  198. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js.map +1 -0
  199. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js +67 -0
  200. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/AggregationSelector.js.map +1 -0
  201. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js +134 -0
  202. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/ColorConfig.js.map +1 -0
  203. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js +44 -0
  204. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/Name.js.map +1 -0
  205. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js +67 -0
  206. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/PeriodSelector.js.map +1 -0
  207. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js +24 -0
  208. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/StylesConfig.js.map +1 -0
  209. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js +67 -0
  210. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/components/TypeField.js.map +1 -0
  211. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js +45 -0
  212. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/hooks/data.js.map +1 -0
  213. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/index.js +4 -0
  214. package/dist/esm/components/Map/components/EarthEngineLayerConfiguration/index.js.map +1 -0
  215. package/dist/esm/components/Map/components/MapArea/index.js +100 -0
  216. package/dist/esm/components/Map/components/MapArea/index.js.map +1 -0
  217. package/dist/esm/components/Map/components/MapArea/interfaces/index.js +3 -0
  218. package/dist/esm/components/Map/components/MapArea/interfaces/index.js.map +1 -0
  219. package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js +16 -0
  220. package/dist/esm/components/Map/components/MapControls/components/CustomControl/index.js.map +1 -0
  221. package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js +15 -0
  222. package/dist/esm/components/Map/components/MapControls/components/DownloadControl/index.js.map +1 -0
  223. package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js +13 -0
  224. package/dist/esm/components/Map/components/MapControls/components/FullscreenControl/index.js.map +1 -0
  225. package/dist/esm/components/Map/components/MapControls/index.js +35 -0
  226. package/dist/esm/components/Map/components/MapControls/index.js.map +1 -0
  227. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js +10 -0
  228. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.js.map +1 -0
  229. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js +52 -0
  230. package/dist/esm/components/Map/components/MapLayer/components/BoundaryLayer/index.js.map +1 -0
  231. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js +100 -0
  232. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.js.map +1 -0
  233. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js +457 -0
  234. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.js.map +1 -0
  235. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js +32 -0
  236. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.js.map +1 -0
  237. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js +197 -0
  238. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/index.js.map +1 -0
  239. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js +3 -0
  240. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.js.map +1 -0
  241. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +31466 -0
  242. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -0
  243. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +365 -0
  244. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -0
  245. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js +93 -0
  246. package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.js.map +1 -0
  247. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/LegendArea.module.css +10 -0
  248. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/LegendArea.module.css.map +1 -0
  249. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +17 -0
  250. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -0
  251. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js +179 -0
  252. package/dist/esm/components/Map/components/MapLayer/components/LegendArea/index.js.map +1 -0
  253. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js +92 -0
  254. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.js.map +1 -0
  255. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js +11 -0
  256. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/hooks/index.js.map +1 -0
  257. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js +48 -0
  258. package/dist/esm/components/Map/components/MapLayer/components/PointLayer/index.js.map +1 -0
  259. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js +64 -0
  260. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.js.map +1 -0
  261. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +130 -0
  262. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -0
  263. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js +41 -0
  264. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.js.map +1 -0
  265. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js +50 -0
  266. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.js.map +1 -0
  267. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +56 -0
  268. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -0
  269. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js +40 -0
  270. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.js.map +1 -0
  271. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js +40 -0
  272. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.js.map +1 -0
  273. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js +12 -0
  274. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/hooks/config.js.map +1 -0
  275. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js +55 -0
  276. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/index.js.map +1 -0
  277. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +56 -0
  278. package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map +1 -0
  279. package/dist/esm/components/Map/components/MapLayer/index.js +32 -0
  280. package/dist/esm/components/Map/components/MapLayer/index.js.map +1 -0
  281. package/dist/esm/components/Map/components/MapLayer/interfaces/index.js +10 -0
  282. package/dist/esm/components/Map/components/MapLayer/interfaces/index.js.map +1 -0
  283. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +405 -0
  284. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js.map +1 -0
  285. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js +115 -0
  286. package/dist/esm/components/Map/components/MapProvider/components/MapLayerProvider/index.js.map +1 -0
  287. package/dist/esm/components/Map/components/MapProvider/hooks/index.js +16 -0
  288. package/dist/esm/components/Map/components/MapProvider/hooks/index.js.map +1 -0
  289. package/dist/esm/components/Map/components/MapProvider/index.js +95 -0
  290. package/dist/esm/components/Map/components/MapProvider/index.js.map +1 -0
  291. package/dist/esm/components/Map/components/MapUpdater/index.js +11 -0
  292. package/dist/esm/components/Map/components/MapUpdater/index.js.map +1 -0
  293. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js +41 -0
  294. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.js.map +1 -0
  295. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +24 -0
  296. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js.map +1 -0
  297. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js +174 -0
  298. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.js.map +1 -0
  299. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +21 -0
  300. package/dist/esm/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js.map +1 -0
  301. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js +36 -0
  302. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.js.map +1 -0
  303. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js +436 -0
  304. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.js.map +1 -0
  305. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js +71 -0
  306. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.js.map +1 -0
  307. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScale.module.css +15 -0
  308. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScale.module.css.map +1 -0
  309. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScaleSelect.module.css +12 -0
  310. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/styles/ColorScaleSelect.module.css.map +1 -0
  311. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js +82 -0
  312. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.js.map +1 -0
  313. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js +57 -0
  314. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.js.map +1 -0
  315. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js +44 -0
  316. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.js.map +1 -0
  317. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js +60 -0
  318. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.js.map +1 -0
  319. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js +54 -0
  320. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/RadiusField.js.map +1 -0
  321. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js +63 -0
  322. package/dist/esm/components/Map/components/ThematicLayerConfiguration/components/TypeField.js.map +1 -0
  323. package/dist/esm/components/Map/components/ThematicLayerConfiguration/index.js +5 -0
  324. package/dist/esm/components/Map/components/ThematicLayerConfiguration/index.js.map +1 -0
  325. package/dist/esm/components/Map/components/ThematicLayerConfiguration/types/index.js +3 -0
  326. package/dist/esm/components/Map/components/ThematicLayerConfiguration/types/index.js.map +1 -0
  327. package/dist/esm/components/Map/constants/colors.js +436 -0
  328. package/dist/esm/components/Map/constants/colors.js.map +1 -0
  329. package/dist/esm/components/Map/constants/legendSet.js +23 -0
  330. package/dist/esm/components/Map/constants/legendSet.js.map +1 -0
  331. package/dist/esm/components/Map/hooks/map.js +44 -0
  332. package/dist/esm/components/Map/hooks/map.js.map +1 -0
  333. package/dist/esm/components/Map/index.js +7 -0
  334. package/dist/esm/components/Map/index.js.map +1 -0
  335. package/dist/esm/components/Map/interfaces/index.js +3 -0
  336. package/dist/esm/components/Map/interfaces/index.js.map +1 -0
  337. package/dist/esm/components/Map/state/index.js +18 -0
  338. package/dist/esm/components/Map/state/index.js.map +1 -0
  339. package/dist/esm/components/Map/utils/colors.js +85 -0
  340. package/dist/esm/components/Map/utils/colors.js.map +1 -0
  341. package/dist/esm/components/Map/utils/helpers.js +18 -0
  342. package/dist/esm/components/Map/utils/helpers.js.map +1 -0
  343. package/dist/esm/components/Map/utils/map.js +138 -0
  344. package/dist/esm/components/Map/utils/map.js.map +1 -0
  345. package/dist/esm/components/SingleValueContainer/SingleValueContainer.stories.js +145 -0
  346. package/dist/esm/components/SingleValueContainer/SingleValueContainer.stories.js.map +1 -0
  347. package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js +44 -0
  348. package/dist/esm/components/SingleValueContainer/SingleValueVisualizer.js.map +1 -0
  349. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js +49 -0
  350. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValueItem.js.map +1 -0
  351. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js +22 -0
  352. package/dist/esm/components/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.js.map +1 -0
  353. package/dist/esm/components/SingleValueContainer/index.js +5 -0
  354. package/dist/esm/components/SingleValueContainer/index.js.map +1 -0
  355. package/dist/esm/components/SingleValueContainer/styles/SingleValueContainer.module.css +32 -0
  356. package/dist/esm/components/SingleValueContainer/styles/SingleValueContainer.module.css.map +1 -0
  357. package/dist/esm/components/SingleValueContainer/types/props.js +3 -0
  358. package/dist/esm/components/SingleValueContainer/types/props.js.map +1 -0
  359. package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js +94 -0
  360. package/dist/esm/components/Visualization/components/AnalyticsDataProvider/index.js.map +1 -0
  361. package/dist/esm/components/Visualization/components/DimensionsProvider/index.js +35 -0
  362. package/dist/esm/components/Visualization/components/DimensionsProvider/index.js.map +1 -0
  363. package/dist/esm/components/Visualization/components/LayoutProvider/index.js +18 -0
  364. package/dist/esm/components/Visualization/components/LayoutProvider/index.js.map +1 -0
  365. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js +85 -0
  366. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -0
  367. package/dist/esm/components/Visualization/components/VisualizationProvider/index.js +19 -0
  368. package/dist/esm/components/Visualization/components/VisualizationProvider/index.js.map +1 -0
  369. package/dist/esm/components/Visualization/components/VisualizationSelector/index.js +167 -0
  370. package/dist/esm/components/Visualization/components/VisualizationSelector/index.js.map +1 -0
  371. package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js +27 -0
  372. package/dist/esm/components/Visualization/components/VisualizationTypeProvider/index.js.map +1 -0
  373. package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js +55 -0
  374. package/dist/esm/components/Visualization/components/VisualizationTypeSelector/index.js.map +1 -0
  375. package/dist/esm/components/Visualization/index.js +113 -0
  376. package/dist/esm/components/Visualization/index.js.map +1 -0
  377. package/dist/esm/index.js +8 -0
  378. package/dist/esm/index.js.map +1 -0
  379. package/dist/index.js +47 -6
  380. package/package.json +5 -6
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Map/constants/colors.ts"],"names":[],"mappings":"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","sourcesContent":["export const COLOR_PALETTES = {\n YlGn: {\n 3: [\"#f7fcb9\", \"#addd8e\", \"#31a354\"],\n 4: [\"#ffffcc\", \"#c2e699\", \"#78c679\", \"#238443\"],\n 5: [\"#ffffcc\", \"#c2e699\", \"#78c679\", \"#31a354\", \"#006837\"],\n 6: [\"#ffffcc\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#31a354\", \"#006837\"],\n 7: [\"#ffffcc\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#005a32\"],\n 8: [\"#ffffe5\", \"#f7fcb9\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#005a32\"],\n 9: [\"#ffffe5\", \"#f7fcb9\", \"#d9f0a3\", \"#addd8e\", \"#78c679\", \"#41ab5d\", \"#238443\", \"#006837\", \"#004529\"],\n },\n YlGnBu: {\n 3: [\"#edf8b1\", \"#7fcdbb\", \"#2c7fb8\"],\n 4: [\"#ffffcc\", \"#a1dab4\", \"#41b6c4\", \"#225ea8\"],\n 5: [\"#ffffcc\", \"#a1dab4\", \"#41b6c4\", \"#2c7fb8\", \"#253494\"],\n 6: [\"#ffffcc\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#2c7fb8\", \"#253494\"],\n 7: [\"#ffffcc\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#0c2c84\"],\n 8: [\"#ffffd9\", \"#edf8b1\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#0c2c84\"],\n 9: [\"#ffffd9\", \"#edf8b1\", \"#c7e9b4\", \"#7fcdbb\", \"#41b6c4\", \"#1d91c0\", \"#225ea8\", \"#253494\", \"#081d58\"],\n },\n GnBu: {\n 3: [\"#e0f3db\", \"#a8ddb5\", \"#43a2ca\"],\n 4: [\"#f0f9e8\", \"#bae4bc\", \"#7bccc4\", \"#2b8cbe\"],\n 5: [\"#f0f9e8\", \"#bae4bc\", \"#7bccc4\", \"#43a2ca\", \"#0868ac\"],\n 6: [\"#f0f9e8\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#43a2ca\", \"#0868ac\"],\n 7: [\"#f0f9e8\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#08589e\"],\n 8: [\"#f7fcf0\", \"#e0f3db\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#08589e\"],\n 9: [\"#f7fcf0\", \"#e0f3db\", \"#ccebc5\", \"#a8ddb5\", \"#7bccc4\", \"#4eb3d3\", \"#2b8cbe\", \"#0868ac\", \"#084081\"],\n },\n BuGn: {\n 3: [\"#e5f5f9\", \"#99d8c9\", \"#2ca25f\"],\n 4: [\"#edf8fb\", \"#b2e2e2\", \"#66c2a4\", \"#238b45\"],\n 5: [\"#edf8fb\", \"#b2e2e2\", \"#66c2a4\", \"#2ca25f\", \"#006d2c\"],\n 6: [\"#edf8fb\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#2ca25f\", \"#006d2c\"],\n 7: [\"#edf8fb\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#005824\"],\n 8: [\"#f7fcfd\", \"#e5f5f9\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#005824\"],\n 9: [\"#f7fcfd\", \"#e5f5f9\", \"#ccece6\", \"#99d8c9\", \"#66c2a4\", \"#41ae76\", \"#238b45\", \"#006d2c\", \"#00441b\"],\n },\n PuBuGn: {\n 3: [\"#ece2f0\", \"#a6bddb\", \"#1c9099\"],\n 4: [\"#f6eff7\", \"#bdc9e1\", \"#67a9cf\", \"#02818a\"],\n 5: [\"#f6eff7\", \"#bdc9e1\", \"#67a9cf\", \"#1c9099\", \"#016c59\"],\n 6: [\"#f6eff7\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#1c9099\", \"#016c59\"],\n 7: [\"#f6eff7\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016450\"],\n 8: [\"#fff7fb\", \"#ece2f0\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016450\"],\n 9: [\"#fff7fb\", \"#ece2f0\", \"#d0d1e6\", \"#a6bddb\", \"#67a9cf\", \"#3690c0\", \"#02818a\", \"#016c59\", \"#014636\"],\n },\n PuBu: {\n 3: [\"#ece7f2\", \"#a6bddb\", \"#2b8cbe\"],\n 4: [\"#f1eef6\", \"#bdc9e1\", \"#74a9cf\", \"#0570b0\"],\n 5: [\"#f1eef6\", \"#bdc9e1\", \"#74a9cf\", \"#2b8cbe\", \"#045a8d\"],\n 6: [\"#f1eef6\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#2b8cbe\", \"#045a8d\"],\n 7: [\"#f1eef6\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#034e7b\"],\n 8: [\"#fff7fb\", \"#ece7f2\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#034e7b\"],\n 9: [\"#fff7fb\", \"#ece7f2\", \"#d0d1e6\", \"#a6bddb\", \"#74a9cf\", \"#3690c0\", \"#0570b0\", \"#045a8d\", \"#023858\"],\n },\n BuPu: {\n 3: [\"#e0ecf4\", \"#9ebcda\", \"#8856a7\"],\n 4: [\"#edf8fb\", \"#b3cde3\", \"#8c96c6\", \"#88419d\"],\n 5: [\"#edf8fb\", \"#b3cde3\", \"#8c96c6\", \"#8856a7\", \"#810f7c\"],\n 6: [\"#edf8fb\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8856a7\", \"#810f7c\"],\n 7: [\"#edf8fb\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#6e016b\"],\n 8: [\"#f7fcfd\", \"#e0ecf4\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#6e016b\"],\n 9: [\"#f7fcfd\", \"#e0ecf4\", \"#bfd3e6\", \"#9ebcda\", \"#8c96c6\", \"#8c6bb1\", \"#88419d\", \"#810f7c\", \"#4d004b\"],\n },\n RdPu: {\n 3: [\"#fde0dd\", \"#fa9fb5\", \"#c51b8a\"],\n 4: [\"#feebe2\", \"#fbb4b9\", \"#f768a1\", \"#ae017e\"],\n 5: [\"#feebe2\", \"#fbb4b9\", \"#f768a1\", \"#c51b8a\", \"#7a0177\"],\n 6: [\"#feebe2\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#c51b8a\", \"#7a0177\"],\n 7: [\"#feebe2\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\"],\n 8: [\"#fff7f3\", \"#fde0dd\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\"],\n 9: [\"#fff7f3\", \"#fde0dd\", \"#fcc5c0\", \"#fa9fb5\", \"#f768a1\", \"#dd3497\", \"#ae017e\", \"#7a0177\", \"#49006a\"],\n },\n PuRd: {\n 3: [\"#e7e1ef\", \"#c994c7\", \"#dd1c77\"],\n 4: [\"#f1eef6\", \"#d7b5d8\", \"#df65b0\", \"#ce1256\"],\n 5: [\"#f1eef6\", \"#d7b5d8\", \"#df65b0\", \"#dd1c77\", \"#980043\"],\n 6: [\"#f1eef6\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#dd1c77\", \"#980043\"],\n 7: [\"#f1eef6\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#91003f\"],\n 8: [\"#f7f4f9\", \"#e7e1ef\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#91003f\"],\n 9: [\"#f7f4f9\", \"#e7e1ef\", \"#d4b9da\", \"#c994c7\", \"#df65b0\", \"#e7298a\", \"#ce1256\", \"#980043\", \"#67001f\"],\n },\n OrRd: {\n 3: [\"#fee8c8\", \"#fdbb84\", \"#e34a33\"],\n 4: [\"#fef0d9\", \"#fdcc8a\", \"#fc8d59\", \"#d7301f\"],\n 5: [\"#fef0d9\", \"#fdcc8a\", \"#fc8d59\", \"#e34a33\", \"#b30000\"],\n 6: [\"#fef0d9\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#e34a33\", \"#b30000\"],\n 7: [\"#fef0d9\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#990000\"],\n 8: [\"#fff7ec\", \"#fee8c8\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#990000\"],\n 9: [\"#fff7ec\", \"#fee8c8\", \"#fdd49e\", \"#fdbb84\", \"#fc8d59\", \"#ef6548\", \"#d7301f\", \"#b30000\", \"#7f0000\"],\n },\n YlOrRd: {\n 3: [\"#ffeda0\", \"#feb24c\", \"#f03b20\"],\n 4: [\"#ffffb2\", \"#fecc5c\", \"#fd8d3c\", \"#e31a1c\"],\n 5: [\"#ffffb2\", \"#fecc5c\", \"#fd8d3c\", \"#f03b20\", \"#bd0026\"],\n 6: [\"#ffffb2\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#f03b20\", \"#bd0026\"],\n 7: [\"#ffffb2\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#b10026\"],\n 8: [\"#ffffcc\", \"#ffeda0\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#b10026\"],\n 9: [\"#ffffcc\", \"#ffeda0\", \"#fed976\", \"#feb24c\", \"#fd8d3c\", \"#fc4e2a\", \"#e31a1c\", \"#bd0026\", \"#800026\"],\n },\n YlOrBr: {\n 3: [\"#fff7bc\", \"#fec44f\", \"#d95f0e\"],\n 4: [\"#ffffd4\", \"#fed98e\", \"#fe9929\", \"#cc4c02\"],\n 5: [\"#ffffd4\", \"#fed98e\", \"#fe9929\", \"#d95f0e\", \"#993404\"],\n 6: [\"#ffffd4\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#d95f0e\", \"#993404\"],\n 7: [\"#ffffd4\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#8c2d04\"],\n 8: [\"#ffffe5\", \"#fff7bc\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#8c2d04\"],\n 9: [\"#ffffe5\", \"#fff7bc\", \"#fee391\", \"#fec44f\", \"#fe9929\", \"#ec7014\", \"#cc4c02\", \"#993404\", \"#662506\"],\n },\n Purples: {\n 3: [\"#efedf5\", \"#bcbddc\", \"#756bb1\"],\n 4: [\"#f2f0f7\", \"#cbc9e2\", \"#9e9ac8\", \"#6a51a3\"],\n 5: [\"#f2f0f7\", \"#cbc9e2\", \"#9e9ac8\", \"#756bb1\", \"#54278f\"],\n 6: [\"#f2f0f7\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#756bb1\", \"#54278f\"],\n 7: [\"#f2f0f7\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#4a1486\"],\n 8: [\"#fcfbfd\", \"#efedf5\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#4a1486\"],\n 9: [\"#fcfbfd\", \"#efedf5\", \"#dadaeb\", \"#bcbddc\", \"#9e9ac8\", \"#807dba\", \"#6a51a3\", \"#54278f\", \"#3f007d\"],\n },\n Blues: {\n 3: [\"#deebf7\", \"#9ecae1\", \"#3182bd\"],\n 4: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#2171b5\"],\n 5: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#3182bd\", \"#08519c\"],\n 6: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#3182bd\", \"#08519c\"],\n 7: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"],\n 8: [\"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"],\n 9: [\"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#08519c\", \"#08306b\"],\n },\n Greens: {\n 3: [\"#e5f5e0\", \"#a1d99b\", \"#31a354\"],\n 4: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#238b45\"],\n 5: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#31a354\", \"#006d2c\"],\n 6: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#31a354\", \"#006d2c\"],\n 7: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"],\n 8: [\"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"],\n 9: [\"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#006d2c\", \"#00441b\"],\n },\n Oranges: {\n 3: [\"#fee6ce\", \"#fdae6b\", \"#e6550d\"],\n 4: [\"#feedde\", \"#fdbe85\", \"#fd8d3c\", \"#d94701\"],\n 5: [\"#feedde\", \"#fdbe85\", \"#fd8d3c\", \"#e6550d\", \"#a63603\"],\n 6: [\"#feedde\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#e6550d\", \"#a63603\"],\n 7: [\"#feedde\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#8c2d04\"],\n 8: [\"#fff5eb\", \"#fee6ce\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#8c2d04\"],\n 9: [\"#fff5eb\", \"#fee6ce\", \"#fdd0a2\", \"#fdae6b\", \"#fd8d3c\", \"#f16913\", \"#d94801\", \"#a63603\", \"#7f2704\"],\n },\n Reds: {\n 3: [\"#fee0d2\", \"#fc9272\", \"#de2d26\"],\n 4: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#cb181d\"],\n 5: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"],\n 6: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"],\n 7: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"],\n 8: [\"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"],\n 9: [\"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#a50f15\", \"#67000d\"],\n },\n Greys: {\n 3: [\"#f0f0f0\", \"#bdbdbd\", \"#636363\"],\n 4: [\"#f7f7f7\", \"#cccccc\", \"#969696\", \"#525252\"],\n 5: [\"#f7f7f7\", \"#cccccc\", \"#969696\", \"#636363\", \"#252525\"],\n 6: [\"#f7f7f7\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#636363\", \"#252525\"],\n 7: [\"#f7f7f7\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\"],\n 8: [\"#ffffff\", \"#f0f0f0\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\"],\n 9: [\"#ffffff\", \"#f0f0f0\", \"#d9d9d9\", \"#bdbdbd\", \"#969696\", \"#737373\", \"#525252\", \"#252525\", \"#000000\"],\n },\n PuOr: {\n 3: [\"#f1a340\", \"#f7f7f7\", \"#998ec3\"],\n 4: [\"#e66101\", \"#fdb863\", \"#b2abd2\", \"#5e3c99\"],\n 5: [\"#e66101\", \"#fdb863\", \"#f7f7f7\", \"#b2abd2\", \"#5e3c99\"],\n 6: [\"#b35806\", \"#f1a340\", \"#fee0b6\", \"#d8daeb\", \"#998ec3\", \"#542788\"],\n 7: [\"#b35806\", \"#f1a340\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#998ec3\", \"#542788\"],\n 8: [\"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\"],\n 9: [\"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\"],\n 10: [\"#7f3b08\", \"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\", \"#2d004b\"],\n 11: [\"#7f3b08\", \"#b35806\", \"#e08214\", \"#fdb863\", \"#fee0b6\", \"#f7f7f7\", \"#d8daeb\", \"#b2abd2\", \"#8073ac\", \"#542788\", \"#2d004b\"],\n },\n BrBG: {\n 3: [\"#d8b365\", \"#f5f5f5\", \"#5ab4ac\"],\n 4: [\"#a6611a\", \"#dfc27d\", \"#80cdc1\", \"#018571\"],\n 5: [\"#a6611a\", \"#dfc27d\", \"#f5f5f5\", \"#80cdc1\", \"#018571\"],\n 6: [\"#8c510a\", \"#d8b365\", \"#f6e8c3\", \"#c7eae5\", \"#5ab4ac\", \"#01665e\"],\n 7: [\"#8c510a\", \"#d8b365\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#5ab4ac\", \"#01665e\"],\n 8: [\"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\"],\n 9: [\"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\"],\n 10: [\"#543005\", \"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\", \"#003c30\"],\n 11: [\"#543005\", \"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\", \"#003c30\"],\n },\n PRGn: {\n 3: [\"#af8dc3\", \"#f7f7f7\", \"#7fbf7b\"],\n 4: [\"#7b3294\", \"#c2a5cf\", \"#a6dba0\", \"#008837\"],\n 5: [\"#7b3294\", \"#c2a5cf\", \"#f7f7f7\", \"#a6dba0\", \"#008837\"],\n 6: [\"#762a83\", \"#af8dc3\", \"#e7d4e8\", \"#d9f0d3\", \"#7fbf7b\", \"#1b7837\"],\n 7: [\"#762a83\", \"#af8dc3\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#7fbf7b\", \"#1b7837\"],\n 8: [\"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\"],\n 9: [\"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\"],\n 10: [\"#40004b\", \"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\", \"#00441b\"],\n 11: [\"#40004b\", \"#762a83\", \"#9970ab\", \"#c2a5cf\", \"#e7d4e8\", \"#f7f7f7\", \"#d9f0d3\", \"#a6dba0\", \"#5aae61\", \"#1b7837\", \"#00441b\"],\n },\n PiYG: {\n 3: [\"#e9a3c9\", \"#f7f7f7\", \"#a1d76a\"],\n 4: [\"#d01c8b\", \"#f1b6da\", \"#b8e186\", \"#4dac26\"],\n 5: [\"#d01c8b\", \"#f1b6da\", \"#f7f7f7\", \"#b8e186\", \"#4dac26\"],\n 6: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"],\n 7: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"],\n 8: [\"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\"],\n 9: [\"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\"],\n 10: [\"#8e0152\", \"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\", \"#276419\"],\n 11: [\"#8e0152\", \"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\", \"#276419\"],\n },\n RdBu: {\n 3: [\"#ef8a62\", \"#f7f7f7\", \"#67a9cf\"],\n 4: [\"#ca0020\", \"#f4a582\", \"#92c5de\", \"#0571b0\"],\n 5: [\"#ca0020\", \"#f4a582\", \"#f7f7f7\", \"#92c5de\", \"#0571b0\"],\n 6: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"],\n 7: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"],\n 8: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\"],\n 9: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\"],\n 10: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\", \"#053061\"],\n 11: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\", \"#053061\"],\n },\n RdGy: {\n 3: [\"#ef8a62\", \"#ffffff\", \"#999999\"],\n 4: [\"#ca0020\", \"#f4a582\", \"#bababa\", \"#404040\"],\n 5: [\"#ca0020\", \"#f4a582\", \"#ffffff\", \"#bababa\", \"#404040\"],\n 6: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#e0e0e0\", \"#999999\", \"#4d4d4d\"],\n 7: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#999999\", \"#4d4d4d\"],\n 8: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\"],\n 9: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\"],\n 10: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\", \"#1a1a1a\"],\n 11: [\"#67001f\", \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#ffffff\", \"#e0e0e0\", \"#bababa\", \"#878787\", \"#4d4d4d\", \"#1a1a1a\"],\n },\n RdYlBu: {\n 3: [\"#fc8d59\", \"#ffffbf\", \"#91bfdb\"],\n 4: [\"#d7191c\", \"#fdae61\", \"#abd9e9\", \"#2c7bb6\"],\n 5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abd9e9\", \"#2c7bb6\"],\n 6: [\"#d73027\", \"#fc8d59\", \"#fee090\", \"#e0f3f8\", \"#91bfdb\", \"#4575b4\"],\n 7: [\"#d73027\", \"#fc8d59\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#91bfdb\", \"#4575b4\"],\n 8: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\"],\n 9: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\"],\n 10: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\", \"#313695\"],\n 11: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\", \"#313695\"],\n },\n Spectral: {\n 3: [\"#fc8d59\", \"#ffffbf\", \"#99d594\"],\n 4: [\"#d7191c\", \"#fdae61\", \"#abdda4\", \"#2b83ba\"],\n 5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#abdda4\", \"#2b83ba\"],\n 6: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n 7: [\"#d53e4f\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#99d594\", \"#3288bd\"],\n 8: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n 9: [\"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\"],\n 10: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"],\n 11: [\"#9e0142\", \"#d53e4f\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#e6f598\", \"#abdda4\", \"#66c2a5\", \"#3288bd\", \"#5e4fa2\"],\n },\n RdYlGn: {\n 3: [\"#fc8d59\", \"#ffffbf\", \"#91cf60\"],\n 4: [\"#d7191c\", \"#fdae61\", \"#a6d96a\", \"#1a9641\"],\n 5: [\"#d7191c\", \"#fdae61\", \"#ffffbf\", \"#a6d96a\", \"#1a9641\"],\n 6: [\"#d73027\", \"#fc8d59\", \"#fee08b\", \"#d9ef8b\", \"#91cf60\", \"#1a9850\"],\n 7: [\"#d73027\", \"#fc8d59\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#91cf60\", \"#1a9850\"],\n 8: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\"],\n 9: [\"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\"],\n 10: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\", \"#006837\"],\n 11: [\"#a50026\", \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee08b\", \"#ffffbf\", \"#d9ef8b\", \"#a6d96a\", \"#66bd63\", \"#1a9850\", \"#006837\"],\n },\n Accent: {\n 3: [\"#7fc97f\", \"#beaed4\", \"#fdc086\"],\n 4: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\"],\n 5: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\"],\n 6: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\"],\n 7: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\", \"#bf5b17\"],\n 8: [\"#7fc97f\", \"#beaed4\", \"#fdc086\", \"#ffff99\", \"#386cb0\", \"#f0027f\", \"#bf5b17\", \"#666666\"],\n },\n Dark2: {\n 3: [\"#1b9e77\", \"#d95f02\", \"#7570b3\"],\n 4: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\"],\n 5: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\"],\n 6: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\"],\n 7: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\"],\n 8: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\", \"#666666\"],\n },\n Paired: {\n 3: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\"],\n 4: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\"],\n 5: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\"],\n 6: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\"],\n 7: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\"],\n 8: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\"],\n 9: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\"],\n 10: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\"],\n 11: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\", \"#ffff99\"],\n 12: [\"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31a1c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\", \"#6a3d9a\", \"#ffff99\", \"#b15928\"],\n },\n Pastel1: {\n 3: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\"],\n 4: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\"],\n 5: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\"],\n 6: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\"],\n 7: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\"],\n 8: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\"],\n 9: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\", \"#f2f2f2\"],\n },\n Pastel2: {\n 3: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\"],\n 4: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\"],\n 5: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\"],\n 6: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\"],\n 7: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\", \"#f1e2cc\"],\n 8: [\"#b3e2cd\", \"#fdcdac\", \"#cbd5e8\", \"#f4cae4\", \"#e6f5c9\", \"#fff2ae\", \"#f1e2cc\", \"#cccccc\"],\n },\n Set1: {\n 3: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\"],\n 4: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\"],\n 5: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\"],\n 6: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\"],\n 7: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\"],\n 8: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\"],\n 9: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\", \"#999999\"],\n },\n Set2: {\n 3: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\"],\n 4: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\"],\n 5: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\"],\n 6: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\"],\n 7: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\", \"#e5c494\"],\n 8: [\"#66c2a5\", \"#fc8d62\", \"#8da0cb\", \"#e78ac3\", \"#a6d854\", \"#ffd92f\", \"#e5c494\", \"#b3b3b3\"],\n },\n Set3: {\n 3: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\"],\n 4: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\"],\n 5: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\"],\n 6: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\"],\n 7: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\"],\n 8: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\"],\n 9: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\"],\n 10: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\"],\n 11: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\", \"#ccebc5\"],\n 12: [\"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#d9d9d9\", \"#bc80bd\", \"#ccebc5\", \"#ffed6f\"],\n },\n YlOrBr_reverse: {\n 3: [\"#d95f0e\", \"#fec44f\", \"#fff7bc\"],\n 4: [\"#cc4c02\", \"#fe9929\", \"#fed98e\", \"#ffffd4\"],\n 5: [\"#993404\", \"#d95f0e\", \"#fe9929\", \"#fed98e\", \"#ffffd4\"],\n 6: [\"#993404\", \"#d95f0e\", \"#fe9929\", \"#fec44f\", \"#fee391\", \"#ffffd4\"],\n 7: [\"#8c2d04\", \"#cc4c02\", \"#ec7014\", \"#fe9929\", \"#fec44f\", \"#fee391\", \"#ffffd4\"],\n 8: [\"#8c2d04\", \"#cc4c02\", \"#ec7014\", \"#fe9929\", \"#fec44f\", \"#fee391\", \"#fff7bc\", \"#ffffe5\"],\n 9: [\"#662506\", \"#993404\", \"#cc4c02\", \"#ec7014\", \"#fe9929\", \"#fec44f\", \"#fee391\", \"#fff7bc\", \"#ffffe5\"],\n },\n Reds_reverse: {\n 3: [\"#de2d26\", \"#fc9272\", \"#fee0d2\"],\n 4: [\"#cb181d\", \"#fb6a4a\", \"#fcae91\", \"#fee5d9\"],\n 5: [\"#a50f15\", \"#de2d26\", \"#fb6a4a\", \"#fcae91\", \"#fee5d9\"],\n 6: [\"#a50f15\", \"#de2d26\", \"#fb6a4a\", \"#fc9272\", \"#fcbba1\", \"#fee5d9\"],\n 7: [\"#99000d\", \"#cb181d\", \"#ef3b2c\", \"#fb6a4a\", \"#fc9272\", \"#fcbba1\", \"#fee5d9\"],\n 8: [\"#99000d\", \"#cb181d\", \"#ef3b2c\", \"#fb6a4a\", \"#fc9272\", \"#fcbba1\", \"#fee0d2\", \"#fff5f0\"],\n 9: [\"#67000d\", \"#a50f15\", \"#cb181d\", \"#ef3b2c\", \"#fb6a4a\", \"#fc9272\", \"#fcbba1\", \"#fee0d2\", \"#fff5f0\"],\n },\n YlGn_reverse: {\n 3: [\"#31a354\", \"#addd8e\", \"#f7fcb9\"],\n 4: [\"#238443\", \"#78c679\", \"#c2e699\", \"#ffffcc\"],\n 5: [\"#006837\", \"#31a354\", \"#78c679\", \"#c2e699\", \"#ffffcc\"],\n 6: [\"#006837\", \"#31a354\", \"#78c679\", \"#addd8e\", \"#d9f0a3\", \"#ffffcc\"],\n 7: [\"#005a32\", \"#238443\", \"#41ab5d\", \"#78c679\", \"#addd8e\", \"#d9f0a3\", \"#ffffcc\"],\n 8: [\"#005a32\", \"#238443\", \"#41ab5d\", \"#78c679\", \"#addd8e\", \"#d9f0a3\", \"#f7fcb9\", \"#ffffe5\"],\n 9: [\"#004529\", \"#006837\", \"#238443\", \"#41ab5d\", \"#78c679\", \"#addd8e\", \"#d9f0a3\", \"#f7fcb9\", \"#ffffe5\"],\n },\n Greens_reverse: {\n 3: [\"#31a354\", \"#a1d99b\", \"#e5f5e0\"],\n 4: [\"#238b45\", \"#74c476\", \"#bae4b3\", \"#edf8e9\"],\n 5: [\"#006d2c\", \"#31a354\", \"#74c476\", \"#bae4b3\", \"#edf8e9\"],\n 6: [\"#006d2c\", \"#31a354\", \"#74c476\", \"#a1d99b\", \"#c7e9c0\", \"#edf8e9\"],\n 7: [\"#005a32\", \"#238b45\", \"#41ab5d\", \"#74c476\", \"#a1d99b\", \"#c7e9c0\", \"#edf8e9\"],\n 8: [\"#005a32\", \"#238b45\", \"#41ab5d\", \"#74c476\", \"#a1d99b\", \"#c7e9c0\", \"#e5f5e0\", \"#f7fcf5\"],\n 9: [\"#00441b\", \"#006d2c\", \"#238b45\", \"#41ab5d\", \"#74c476\", \"#a1d99b\", \"#c7e9c0\", \"#e5f5e0\", \"#f7fcf5\"],\n },\n Blues_reverse: {\n 3: [\"#3182bd\", \"#9ecae1\", \"#deebf7\"],\n 4: [\"#2171b5\", \"#6baed6\", \"#bdd7e7\", \"#eff3ff\"],\n 5: [\"#08519c\", \"#3182bd\", \"#6baed6\", \"#bdd7e7\", \"#eff3ff\"],\n 6: [\"#08519c\", \"#3182bd\", \"#6baed6\", \"#9ecae1\", \"#c6dbef\", \"#eff3ff\"],\n 7: [\"#084594\", \"#2171b5\", \"#4292c6\", \"#6baed6\", \"#9ecae1\", \"#c6dbef\", \"#eff3ff\"],\n 8: [\"#084594\", \"#2171b5\", \"#4292c6\", \"#6baed6\", \"#9ecae1\", \"#c6dbef\", \"#deebf7\", \"#f7fbff\"],\n 9: [\"#08306b\", \"#08519c\", \"#2171b5\", \"#4292c6\", \"#6baed6\", \"#9ecae1\", \"#c6dbef\", \"#deebf7\", \"#f7fbff\"],\n },\n BuPu_reverse: {\n 3: [\"#8856a7\", \"#9ebcda\", \"#e0ecf4\"],\n 4: [\"#88419d\", \"#8c96c6\", \"#b3cde3\", \"#edf8fb\"],\n 5: [\"#810f7c\", \"#8856a7\", \"#8c96c6\", \"#b3cde3\", \"#edf8fb\"],\n 6: [\"#810f7c\", \"#8856a7\", \"#8c96c6\", \"#9ebcda\", \"#bfd3e6\", \"#edf8fb\"],\n 7: [\"#6e016b\", \"#88419d\", \"#8c6bb1\", \"#8c96c6\", \"#9ebcda\", \"#bfd3e6\", \"#edf8fb\"],\n 8: [\"#6e016b\", \"#88419d\", \"#8c6bb1\", \"#8c96c6\", \"#9ebcda\", \"#bfd3e6\", \"#e0ecf4\", \"#f7fcfd\"],\n 9: [\"#4d004b\", \"#810f7c\", \"#88419d\", \"#8c6bb1\", \"#8c96c6\", \"#9ebcda\", \"#bfd3e6\", \"#e0ecf4\", \"#f7fcfd\"],\n },\n RdPu_reverse: {\n 3: [\"#c51b8a\", \"#fa9fb5\", \"#fde0dd\"],\n 4: [\"#ae017e\", \"#f768a1\", \"#fbb4b9\", \"#feebe2\"],\n 5: [\"#7a0177\", \"#c51b8a\", \"#f768a1\", \"#fbb4b9\", \"#feebe2\"],\n 6: [\"#7a0177\", \"#c51b8a\", \"#f768a1\", \"#fa9fb5\", \"#fcc5c0\", \"#feebe2\"],\n 7: [\"#7a0177\", \"#ae017e\", \"#dd3497\", \"#f768a1\", \"#fa9fb5\", \"#fcc5c0\", \"#feebe2\"],\n 8: [\"#7a0177\", \"#ae017e\", \"#dd3497\", \"#f768a1\", \"#fa9fb5\", \"#fcc5c0\", \"#fde0dd\", \"#fff7f3\"],\n 9: [\"#49006a\", \"#7a0177\", \"#ae017e\", \"#dd3497\", \"#f768a1\", \"#fa9fb5\", \"#fcc5c0\", \"#fde0dd\", \"#fff7f3\"],\n },\n PuRd_reverse: {\n 3: [\"#dd1c77\", \"#c994c7\", \"#e7e1ef\"],\n 4: [\"#ce1256\", \"#df65b0\", \"#d7b5d8\", \"#f1eef6\"],\n 5: [\"#980043\", \"#dd1c77\", \"#df65b0\", \"#d7b5d8\", \"#f1eef6\"],\n 6: [\"#980043\", \"#dd1c77\", \"#df65b0\", \"#c994c7\", \"#d4b9da\", \"#f1eef6\"],\n 7: [\"#91003f\", \"#ce1256\", \"#e7298a\", \"#df65b0\", \"#c994c7\", \"#d4b9da\", \"#f1eef6\"],\n 8: [\"#91003f\", \"#ce1256\", \"#e7298a\", \"#df65b0\", \"#c994c7\", \"#d4b9da\", \"#e7e1ef\", \"#f7f4f9\"],\n 9: [\"#67001f\", \"#980043\", \"#ce1256\", \"#e7298a\", \"#df65b0\", \"#c994c7\", \"#d4b9da\", \"#e7e1ef\", \"#f7f4f9\"],\n },\n Greys_reverse: {\n 3: [\"#636363\", \"#bdbdbd\", \"#f0f0f0\"],\n 4: [\"#525252\", \"#969696\", \"#cccccc\", \"#f7f7f7\"],\n 5: [\"#252525\", \"#636363\", \"#969696\", \"#cccccc\", \"#f7f7f7\"],\n 6: [\"#252525\", \"#636363\", \"#969696\", \"#bdbdbd\", \"#d9d9d9\", \"#f7f7f7\"],\n 7: [\"#252525\", \"#525252\", \"#737373\", \"#969696\", \"#bdbdbd\", \"#d9d9d9\", \"#f7f7f7\"],\n 8: [\"#252525\", \"#525252\", \"#737373\", \"#969696\", \"#bdbdbd\", \"#d9d9d9\", \"#f0f0f0\", \"#ffffff\"],\n 9: [\"#000000\", \"#252525\", \"#525252\", \"#737373\", \"#969696\", \"#bdbdbd\", \"#d9d9d9\", \"#f0f0f0\", \"#ffffff\"],\n },\n};\n\n// Qualitative colors From ColorBrewer (reordered 12-class)\nexport const qualitativeColors = [\n \"#1f78b4\",\n \"#ff7f00\",\n \"#33a02c\",\n \"#a6cee3\",\n \"#b2df8a\",\n \"#fb9a99\",\n \"#fdbf6f\",\n \"#cab2d6\",\n \"#ffff99\",\n \"#b15928\",\n \"#6a3d9a\",\n \"#e31a1c\",\n];\n"]}
@@ -0,0 +1,23 @@
1
+ const defaultLegendSet = {
2
+ legends: [
3
+ {
4
+ startValue: 0,
5
+ endValue: 33,
6
+ color: "#ff0000"
7
+ },
8
+ {
9
+ startValue: 33,
10
+ endValue: 66,
11
+ color: "#ffff27"
12
+ },
13
+ {
14
+ startValue: 66,
15
+ endValue: 100,
16
+ color: "#00ff00"
17
+ }
18
+ ]
19
+ };
20
+
21
+ export { defaultLegendSet };
22
+ //# sourceMappingURL=out.js.map
23
+ //# sourceMappingURL=legendSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Map/constants/legendSet.ts"],"names":[],"mappings":"AAAO,MAAM,mBAAmB;AAAA,EAC9B,SAAS;AAAA,IACP;AAAA,MACE,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,EACF;AACF","sourcesContent":["export const defaultLegendSet = {\n legends: [\n {\n startValue: 0,\n endValue: 33,\n color: \"#ff0000\",\n },\n {\n startValue: 33,\n endValue: 66,\n color: \"#ffff27\",\n },\n {\n startValue: 66,\n endValue: 100,\n color: \"#00ff00\",\n },\n ],\n};\n"]}
@@ -0,0 +1,44 @@
1
+ import { geoJSON } from 'leaflet';
2
+ import { useMemo, useEffect } from 'react';
3
+ import { useMapOrganisationUnit } from '../components/MapProvider/hooks/index.js';
4
+ import { useElementSize, useMediaQuery } from 'usehooks-ts';
5
+ import { isEmpty } from 'lodash';
6
+ import { useMap } from 'react-leaflet';
7
+
8
+ function useMapBounds() {
9
+ const { orgUnits } = useMapOrganisationUnit();
10
+ const geoJSONObject = useMemo(
11
+ () => geoJSON({
12
+ type: "FeatureCollection",
13
+ features: orgUnits?.map((orgUnit) => orgUnit.geoJSON)
14
+ }),
15
+ [orgUnits]
16
+ );
17
+ const center = useMemo(() => {
18
+ return geoJSONObject.getBounds().getCenter();
19
+ }, [orgUnits]);
20
+ const bounds = useMemo(() => {
21
+ return geoJSONObject.getBounds();
22
+ }, [orgUnits]);
23
+ return {
24
+ center,
25
+ bounds
26
+ };
27
+ }
28
+ function useCenterMap({ bounds }) {
29
+ const map = useMap();
30
+ const [ref, { width, height }] = useElementSize();
31
+ useEffect(() => {
32
+ if (!isEmpty(bounds)) {
33
+ map.fitBounds(bounds);
34
+ }
35
+ }, [width, height]);
36
+ return ref;
37
+ }
38
+ function usePrintMedia() {
39
+ return useMediaQuery("@media print");
40
+ }
41
+
42
+ export { useCenterMap, useMapBounds, usePrintMedia };
43
+ //# sourceMappingURL=out.js.map
44
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Map/hooks/map.ts"],"names":[],"mappings":"AAAA,SAAS,eAA4B;AACrC,SAAS,WAAW,eAAe;AACnC,SAAS,8BAA8B;AACvC,SAAS,gBAAgB,qBAAqB;AAC9C,SAAS,eAAe;AACxB,SAAS,cAAc;AAEhB,SAAS,eAAe;AAC9B,QAAM,EAAE,SAAS,IAAI,uBAAuB;AAC5C,QAAM,gBAAgB;AAAA,IACrB,MACC,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,UAAU,UAAU,IAAI,CAAC,YAAY,QAAQ,OAAO;AAAA,IACrD,CAAQ;AAAA,IACT,CAAC,QAAQ;AAAA,EACV;AAEA,QAAM,SAAS,QAAQ,MAAM;AAC5B,WAAO,cAAc,UAAU,EAAE,UAAU;AAAA,EAC5C,GAAG,CAAC,QAAQ,CAAC;AACb,QAAM,SAAc,QAAQ,MAAM;AACjC,WAAO,cAAc,UAAU;AAAA,EAChC,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,aAAa,EAAE,OAAO,GAA8B;AACnE,QAAM,MAAM,OAAO;AACnB,QAAM,CAAC,KAAK,EAAE,OAAO,OAAO,CAAC,IAAI,eAAe;AAEhD,YAAU,MAAM;AACf,QAAI,CAAC,QAAQ,MAAM,GAAG;AACrB,UAAI,UAAU,MAAM;AAAA,IACrB;AAAA,EACD,GAAG,CAAC,OAAO,MAAM,CAAC;AAElB,SAAO;AACR;AAEO,SAAS,gBAAgB;AAC/B,SAAO,cAAc,cAAc;AACpC","sourcesContent":["import { geoJSON, LatLngTuple } from \"leaflet\";\nimport { useEffect, useMemo } from \"react\";\nimport { useMapOrganisationUnit } from \"../components/MapProvider/hooks/index.js\";\nimport { useElementSize, useMediaQuery } from \"usehooks-ts\";\nimport { isEmpty } from \"lodash\";\nimport { useMap } from \"react-leaflet\";\n\nexport function useMapBounds() {\n\tconst { orgUnits } = useMapOrganisationUnit();\n\tconst geoJSONObject = useMemo(\n\t\t() =>\n\t\t\tgeoJSON({\n\t\t\t\ttype: \"FeatureCollection\",\n\t\t\t\tfeatures: orgUnits?.map((orgUnit) => orgUnit.geoJSON),\n\t\t\t} as any),\n\t\t[orgUnits],\n\t);\n\n\tconst center = useMemo(() => {\n\t\treturn geoJSONObject.getBounds().getCenter();\n\t}, [orgUnits]);\n\tconst bounds: any = useMemo(() => {\n\t\treturn geoJSONObject.getBounds();\n\t}, [orgUnits]);\n\n\treturn {\n\t\tcenter,\n\t\tbounds,\n\t};\n}\n\nexport function useCenterMap({ bounds }: { bounds: LatLngTuple[] }) {\n\tconst map = useMap();\n\tconst [ref, { width, height }] = useElementSize();\n\n\tuseEffect(() => {\n\t\tif (!isEmpty(bounds)) {\n\t\t\tmap.fitBounds(bounds);\n\t\t}\n\t}, [width, height]);\n\n\treturn ref;\n}\n\nexport function usePrintMedia() {\n\treturn useMediaQuery(\"@media print\");\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export * from './DHIS2Map.js';
2
+ export * from './interfaces/index.js';
3
+ export * from './components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js';
4
+ export * from './components/ThematicLayerConfiguration/ThematicLayerConfiguration.js';
5
+ export * from './constants/colors.js';
6
+ //# sourceMappingURL=out.js.map
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Map/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","sourcesContent":["export * from \"./DHIS2Map.js\";\nexport * from \"./interfaces/index.js\";\nexport * from \"./components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.js\";\nexport * from \"./components/ThematicLayerConfiguration/ThematicLayerConfiguration.js\";\nexport * from \"./constants/colors.js\";\n"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=out.js.map
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { createContext } from 'react';
2
+
3
+ const MapOrgUnitContext = createContext({
4
+ orgUnitSelection: { orgUnits: [] },
5
+ orgUnits: []
6
+ });
7
+ const MapPeriodContext = createContext({
8
+ periods: []
9
+ });
10
+ const MapLayersContext = createContext({
11
+ layers: [],
12
+ updateLayer: () => {
13
+ }
14
+ });
15
+
16
+ export { MapLayersContext, MapOrgUnitContext, MapPeriodContext };
17
+ //# sourceMappingURL=out.js.map
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Map/state/index.tsx"],"names":[],"mappings":"AAEA,SAAS,qBAAqB;AAIvB,MAAM,oBAAoB,cAG9B;AAAA,EACF,kBAAkB,EAAE,UAAU,CAAC,EAAE;AAAA,EACjC,UAAU,CAAC;AACZ,CAAC;AAEM,MAAM,mBAAmB,cAM9B;AAAA,EACD,SAAS,CAAC;AACX,CAAC;AAEM,MAAM,mBAAmB,cAG7B;AAAA,EACF,QAAQ,CAAC;AAAA,EACT,aAAa,MAAM;AAAA,EAAC;AACrB,CAAC","sourcesContent":["import type { OrgUnitSelection } from \"@hisptz/dhis2-utils\";\nimport { BasePeriod } from \"@hisptz/dhis2-utils\";\nimport { createContext } from \"react\";\nimport { CustomMapLayer } from \"../components/MapLayer/interfaces/index.js\";\nimport { MapOrgUnit } from \"../interfaces/index.js\";\n\nexport const MapOrgUnitContext = createContext<{\n\torgUnitSelection: OrgUnitSelection;\n\torgUnits?: MapOrgUnit[];\n}>({\n\torgUnitSelection: { orgUnits: [] },\n\torgUnits: [],\n});\n\nexport const MapPeriodContext = createContext<\n\t| {\n\t\t\tperiods?: BasePeriod[];\n\t\t\trange?: { start: Date; end: Date };\n\t }\n\t| undefined\n>({\n\tperiods: [],\n});\n\nexport const MapLayersContext = createContext<{\n\tlayers: CustomMapLayer[];\n\tupdateLayer: (id: string, updatedLayer: CustomMapLayer) => void;\n}>({\n\tlayers: [],\n\tupdateLayer: () => {},\n});\n"]}
@@ -0,0 +1,85 @@
1
+ import { hcl } from 'd3-color';
2
+ import { isString } from 'lodash';
3
+ import { COLOR_PALETTES } from '../constants/colors.js';
4
+
5
+ const colorbrewer = COLOR_PALETTES;
6
+ const getColorPalette = (scale, classes) => {
7
+ return colorbrewer?.[scale]?.[classes];
8
+ };
9
+ const getColorClasses = (palette) => {
10
+ return palette?.split(",")?.length;
11
+ };
12
+ const getColorScale = (palette) => {
13
+ const classes = palette.split(",").length;
14
+ return colorScales.find(
15
+ (name) => colorbrewer[name][classes]?.join(",") === palette
16
+ );
17
+ };
18
+ const defaultColorScaleName = "YlOrBr";
19
+ const defaultClasses = 5;
20
+ const defaultColorScale = getColorPalette(
21
+ defaultColorScaleName,
22
+ defaultClasses
23
+ );
24
+ const cssColor = (color) => {
25
+ if (!isString(color)) {
26
+ return color;
27
+ } else if (color === "##normal") {
28
+ return null;
29
+ }
30
+ return (/(^[0-9A-F]{6}$)|(^[0-9A-F]{3}$)/i.test(color) ? "#" : "") + color;
31
+ };
32
+ const getUniqueColor = (defaultColors) => {
33
+ const colors = [...defaultColors];
34
+ function randomColor() {
35
+ const color = "#000000".replace(
36
+ /0/g,
37
+ () => (~~(Math.random() * 16)).toString(16)
38
+ );
39
+ if (colors.includes(color)) {
40
+ return randomColor();
41
+ }
42
+ colors.push(color);
43
+ return color;
44
+ }
45
+ return (index) => colors[index] || randomColor();
46
+ };
47
+ const isDarkColor = (color) => hcl(color).l < 70;
48
+ const getContrastColor = (color) => isDarkColor(color) ? "#fff" : "#000";
49
+ const colorScales = [
50
+ "YlOrBr",
51
+ "Reds",
52
+ "YlGn",
53
+ "Greens",
54
+ "Blues",
55
+ "BuPu",
56
+ "RdPu",
57
+ "PuRd",
58
+ "Greys",
59
+ "YlOrBr_reverse",
60
+ "Reds_reverse",
61
+ "YlGn_reverse",
62
+ "Greens_reverse",
63
+ "Blues_reverse",
64
+ "BuPu_reverse",
65
+ "RdPu_reverse",
66
+ "PuRd_reverse",
67
+ "Greys_reverse",
68
+ "PuOr",
69
+ "BrBG",
70
+ "PRGn",
71
+ "PiYG",
72
+ "RdBu",
73
+ "RdGy",
74
+ "RdYlBu",
75
+ "Spectral",
76
+ "RdYlGn",
77
+ "Paired",
78
+ "Pastel1",
79
+ "Set1",
80
+ "Set3"
81
+ ];
82
+
83
+ export { colorScales, cssColor, defaultClasses, defaultColorScale, defaultColorScaleName, getColorClasses, getColorPalette, getColorScale, getContrastColor, getUniqueColor, isDarkColor };
84
+ //# sourceMappingURL=out.js.map
85
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Map/utils/colors.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW;AACpB,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAE/B,MAAM,cAAmC;AAGlC,MAAM,kBAAkB,CAAC,OAAe,YAAoB;AAClE,SAAO,cAAc,KAAK,IAAI,OAAO;AACtC;AAEO,MAAM,kBAAkB,CAAC,YAAoB;AACnD,SAAO,SAAS,MAAM,GAAG,GAAG;AAC7B;AAGO,MAAM,gBAAgB,CAAC,YAAoB;AACjD,QAAM,UAAU,QAAQ,MAAM,GAAG,EAAE;AACnC,SAAO,YAAY;AAAA,IAClB,CAAC,SAAS,YAAY,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM;AAAA,EACrD;AACD;AAEO,MAAM,wBAAwB;AAC9B,MAAM,iBAAiB;AACvB,MAAM,oBAAoB;AAAA,EAChC;AAAA,EACA;AACD;AAGO,MAAM,WAAW,CAAC,UAAe;AACvC,MAAI,CAAC,SAAS,KAAK,GAAG;AACrB,WAAO;AAAA,EACR,WAAW,UAAU,YAAY;AAEhC,WAAO;AAAA,EACR;AACA,UAAQ,mCAAmC,KAAK,KAAK,IAAI,MAAM,MAAM;AACtE;AAGO,MAAM,iBAAiB,CAAC,kBAAuB;AACrD,QAAM,SAAS,CAAC,GAAG,aAAa;AAEhC,WAAS,cAAsB;AAC9B,UAAM,QAAQ,UAAU;AAAA,MAAQ;AAAA,MAAM,OACpC,CAAC,EAAE,KAAK,OAAO,IAAI,KAAK,SAAS,EAAE;AAAA,IACrC;AAGA,QAAI,OAAO,SAAS,KAAK,GAAG;AAC3B,aAAO,YAAY;AAAA,IACpB;AAEA,WAAO,KAAK,KAAK;AAEjB,WAAO;AAAA,EACR;AAEA,SAAO,CAAC,UAAkB,OAAO,KAAK,KAAK,YAAY;AACxD;AAGO,MAAM,cAAc,CAAC,UAAkB,IAAI,KAAK,EAAE,IAAI;AAGtD,MAAM,mBAAmB,CAAC,UAChC,YAAY,KAAK,IAAI,SAAS;AAExB,MAAM,cAAc;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD","sourcesContent":["import { hcl } from \"d3-color\";\nimport { isString } from \"lodash\";\nimport { COLOR_PALETTES } from \"../constants/colors.js\";\n\nconst colorbrewer: Record<string, any> = COLOR_PALETTES;\n\n// Returns a color brewer scale for a number of classes\nexport const getColorPalette = (scale: string, classes: number) => {\n\treturn colorbrewer?.[scale]?.[classes];\n};\n\nexport const getColorClasses = (palette: string) => {\n\treturn palette?.split(\",\")?.length;\n};\n\n// Returns color scale name for a palette\nexport const getColorScale = (palette: string) => {\n\tconst classes = palette.split(\",\").length;\n\treturn colorScales.find(\n\t\t(name) => colorbrewer[name][classes]?.join(\",\") === palette,\n\t);\n};\n\nexport const defaultColorScaleName = \"YlOrBr\";\nexport const defaultClasses = 5;\nexport const defaultColorScale = getColorPalette(\n\tdefaultColorScaleName,\n\tdefaultClasses,\n);\n\n// Correct colors not adhering to the css standard (add missing #)\nexport const cssColor = (color: any) => {\n\tif (!isString(color)) {\n\t\treturn color;\n\t} else if (color === \"##normal\") {\n\t\t// ##normal is used in old map favorites\n\t\treturn null; // Will apply default color\n\t}\n\treturn (/(^[0-9A-F]{6}$)|(^[0-9A-F]{3}$)/i.test(color) ? \"#\" : \"\") + color;\n};\n\n// Returns an unique color (first from an array, then random but still unique)\nexport const getUniqueColor = (defaultColors: any) => {\n\tconst colors = [...defaultColors];\n\n\tfunction randomColor(): string {\n\t\tconst color = \"#000000\".replace(/0/g, () =>\n\t\t\t(~~(Math.random() * 16)).toString(16),\n\t\t);\n\n\t\t// Recursive until color is unique\n\t\tif (colors.includes(color)) {\n\t\t\treturn randomColor();\n\t\t}\n\n\t\tcolors.push(color);\n\n\t\treturn color;\n\t}\n\n\treturn (index: number) => colors[index] || randomColor();\n};\n\n// Returns true if a color is dark\nexport const isDarkColor = (color: string) => hcl(color).l < 70;\n\n// Returns constrasting color\nexport const getContrastColor = (color: string) =>\n\tisDarkColor(color) ? \"#fff\" : \"#000\";\nexport type LegendColorScale = (typeof colorScales)[number];\nexport const colorScales = [\n\t\"YlOrBr\",\n\t\"Reds\",\n\t\"YlGn\",\n\t\"Greens\",\n\t\"Blues\",\n\t\"BuPu\",\n\t\"RdPu\",\n\t\"PuRd\",\n\t\"Greys\",\n\t\"YlOrBr_reverse\",\n\t\"Reds_reverse\",\n\t\"YlGn_reverse\",\n\t\"Greens_reverse\",\n\t\"Blues_reverse\",\n\t\"BuPu_reverse\",\n\t\"RdPu_reverse\",\n\t\"PuRd_reverse\",\n\t\"Greys_reverse\",\n\t\"PuOr\",\n\t\"BrBG\",\n\t\"PRGn\",\n\t\"PiYG\",\n\t\"RdBu\",\n\t\"RdGy\",\n\t\"RdYlBu\",\n\t\"Spectral\",\n\t\"RdYlGn\",\n\t\"Paired\",\n\t\"Pastel1\",\n\t\"Set1\",\n\t\"Set3\",\n];\n"]}
@@ -0,0 +1,18 @@
1
+ import L from 'leaflet';
2
+
3
+ const getLongestTextLength = (array, key) => array.reduce(
4
+ (text, curr) => curr[key] && String(curr[key]).length > text.length ? String(curr[key]) : text,
5
+ ""
6
+ ).length;
7
+ function getIconUrl(icon, { baseUrl }) {
8
+ return `${baseUrl}/images/orgunitgroup/${icon ?? "01.png"}`;
9
+ }
10
+ function getIcon(url) {
11
+ return new L.Icon({
12
+ iconUrl: url
13
+ });
14
+ }
15
+
16
+ export { getIcon, getIconUrl, getLongestTextLength };
17
+ //# sourceMappingURL=out.js.map
18
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Map/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,OAAO;AAEP,MAAM,uBAAuB,CAAC,OAAmB,QACvD,MAAM;AAAA,EACL,CAAC,MAAM,SACN,KAAK,GAAG,KAAK,OAAO,KAAK,GAAG,CAAC,EAAE,SAAS,KAAK,SAC1C,OAAO,KAAK,GAAG,CAAC,IAChB;AAAA,EACJ;AACD,EAAE;AAEI,SAAS,WAAW,MAAc,EAAE,QAAQ,GAAwB;AACzE,SAAO,GAAG,OAAO,wBAAwB,QAAQ,QAAQ;AAC3D;AAEO,SAAS,QAAQ,KAAiC;AACvD,SAAO,IAAI,EAAE,KAAK;AAAA,IAChB,SAAS;AAAA,EACX,CAAC;AACH","sourcesContent":["// Get the longest text length from an object property in an array\nimport L from \"leaflet\";\n\nexport const getLongestTextLength = (array: Array<any>, key: string | number) =>\n\tarray.reduce(\n\t\t(text, curr) =>\n\t\t\tcurr[key] && String(curr[key]).length > text.length\n\t\t\t\t? String(curr[key])\n\t\t\t\t: text,\n\t\t\"\",\n\t).length;\n\nexport function getIconUrl(icon: string, { baseUrl }: { baseUrl: string }) {\n return `${baseUrl}/images/orgunitgroup/${icon ?? \"01.png\"}`;\n}\n\nexport function getIcon(url: string): L.Icon | undefined {\n return new L.Icon({\n iconUrl: url,\n });\n}\n"]}
@@ -0,0 +1,138 @@
1
+ import { find, filter, isEmpty, forEach, sortBy, isString, compact } from 'lodash';
2
+ import { getColorPalette, defaultClasses, defaultColorScaleName } from './colors.js';
3
+
4
+ function highlightFeature(e, style) {
5
+ const layer = e.target;
6
+ layer.setStyle(style);
7
+ }
8
+ function resetHighlight(e, defaultStyle) {
9
+ const layer = e.target;
10
+ layer.setStyle(defaultStyle);
11
+ }
12
+ function getColorFromLegendSet(legends, value) {
13
+ if (!value) {
14
+ return "";
15
+ }
16
+ const legend = find(
17
+ legends ?? [],
18
+ (legend2) => legend2?.startValue <= value && legend2?.endValue >= value
19
+ ) ?? {};
20
+ return legend.color ? legend.color : "transparent";
21
+ }
22
+ function getLegendCount(legend, data) {
23
+ const { startValue, endValue } = legend;
24
+ return filter(data, (d) => d.data >= startValue && d.data <= endValue).length;
25
+ }
26
+ function getOrgUnitsSelection(orgUnitSelection) {
27
+ const orgUnits = [];
28
+ if (orgUnitSelection.userOrgUnit) {
29
+ orgUnits.push("USER_ORGUNIT");
30
+ }
31
+ if (orgUnitSelection.userSubUnit) {
32
+ orgUnits.push("USER_ORGUNIT_CHILDREN");
33
+ }
34
+ if (orgUnitSelection.userSubX2Unit) {
35
+ orgUnits.push("USER_ORGUNIT_GRANDCHILDREN");
36
+ }
37
+ if (!isEmpty(orgUnitSelection.levels)) {
38
+ forEach(
39
+ orgUnitSelection.levels,
40
+ (level) => orgUnits.push(`LEVEL-${level}`)
41
+ );
42
+ }
43
+ return [
44
+ ...orgUnits,
45
+ ...orgUnitSelection?.orgUnits?.map(
46
+ (ou) => `${ou.id}`
47
+ ) ?? []
48
+ ];
49
+ }
50
+ function sanitizeOrgUnits(metaData) {
51
+ if (metaData) {
52
+ return metaData?.dimensions?.ou?.map((ouId) => ({
53
+ id: ouId,
54
+ name: metaData?.items[ouId]?.name,
55
+ path: metaData?.ouHierarchy?.[ouId]
56
+ }));
57
+ }
58
+ return [];
59
+ }
60
+ function toGeoJson(organisationUnits) {
61
+ return sortBy(organisationUnits, "le").map((ou) => {
62
+ try {
63
+ const coord = JSON.parse(ou.co);
64
+ let gpid = "";
65
+ let gppg = "";
66
+ let type = "Point";
67
+ if (ou.ty === 2) {
68
+ type = "Polygon";
69
+ if (ou.co.substring(0, 4) === "[[[[") {
70
+ type = "MultiPolygon";
71
+ }
72
+ }
73
+ if (isString(ou.pg) && ou.pg.length) {
74
+ const ids = compact(ou.pg.split("/"));
75
+ if (ids.length >= 2) {
76
+ gpid = ids[ids.length - 2];
77
+ }
78
+ if (ids.length > 2) {
79
+ gppg = "/" + ids.slice(0, ids.length - 2).join("/");
80
+ }
81
+ }
82
+ return {
83
+ type: "Feature",
84
+ id: ou.id,
85
+ geometry: {
86
+ type,
87
+ coordinates: coord
88
+ },
89
+ properties: {
90
+ type,
91
+ id: ou.id,
92
+ name: ou.na,
93
+ hasCoordinatesDown: ou.hcd,
94
+ hasCoordinatesUp: ou.hcu,
95
+ level: ou.le,
96
+ grandParentParentGraph: gppg,
97
+ grandParentId: gpid,
98
+ parentGraph: ou.pg,
99
+ parentId: ou.pi,
100
+ parentName: ou.pn,
101
+ dimensions: ou.dimensions
102
+ }
103
+ };
104
+ } catch (e) {
105
+ return {};
106
+ }
107
+ });
108
+ }
109
+ function sanitizeDate(startDate) {
110
+ if (startDate?.split("-")?.[0]?.length < 4) {
111
+ return startDate?.split("-")?.reverse()?.join("-");
112
+ }
113
+ return startDate;
114
+ }
115
+ function generateLegends(maxValue, minValue, { classesCount, colorClass }) {
116
+ const count = classesCount ?? defaultClasses;
117
+ const color = colorClass ?? defaultColorScaleName;
118
+ const colorScale = [...getColorPalette(color, count)].reverse();
119
+ const maxLegendValue = 5 * Math.ceil(maxValue / 5);
120
+ const range = maxLegendValue / count;
121
+ const values = [];
122
+ let legendColorsIterator = colorScale.length - 1;
123
+ for (let i = 0; i < maxLegendValue; i += range) {
124
+ const id = colorScale[legendColorsIterator];
125
+ values.push({
126
+ startValue: Math.floor(i),
127
+ endValue: Math.floor(i + range),
128
+ id,
129
+ color: id
130
+ });
131
+ legendColorsIterator--;
132
+ }
133
+ return values.reverse();
134
+ }
135
+
136
+ export { generateLegends, getColorFromLegendSet, getLegendCount, getOrgUnitsSelection, highlightFeature, resetHighlight, sanitizeDate, sanitizeOrgUnits, toGeoJson };
137
+ //# sourceMappingURL=out.js.map
138
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Map/utils/map.ts"],"names":["legend"],"mappings":"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","sourcesContent":["import type {\n\tLegend,\n\tOrganisationUnit,\n\tOrgUnitSelection,\n} from \"@hisptz/dhis2-utils\";\nimport { LeafletMouseEvent } from \"leaflet\";\nimport {\n\tcompact,\n\tfilter,\n\tfind,\n\tforEach,\n\tisEmpty,\n\tisString,\n\tsortBy,\n} from \"lodash\";\nimport {\n\tdefaultClasses,\n\tdefaultColorScaleName,\n\tgetColorPalette,\n} from \"./colors.js\";\n\nexport function highlightFeature(e: LeafletMouseEvent, style: any) {\n\tconst layer = e.target;\n\tlayer.setStyle(style);\n\t// layer.bringToFront();\n}\n\nexport function resetHighlight(e: LeafletMouseEvent, defaultStyle: any) {\n\tconst layer = e.target;\n\tlayer.setStyle(defaultStyle);\n\t// layer.bringToBack();\n}\n\nexport function getColorFromLegendSet(\n\tlegends: Legend[],\n\tvalue?: number,\n): string {\n\tif (!value) {\n\t\treturn \"\";\n\t}\n\tconst legend: any =\n\t\tfind(\n\t\t\tlegends ?? [],\n\t\t\t(legend: any) =>\n\t\t\t\tlegend?.startValue <= value && legend?.endValue >= value,\n\t\t) ?? {};\n\treturn legend.color ? legend.color : \"transparent\";\n}\n\nexport function getLegendCount(legend: any, data: any) {\n\tconst { startValue, endValue } = legend;\n\treturn filter(data, (d: any) => d.data >= startValue && d.data <= endValue)\n\t\t.length;\n}\n\nexport function getOrgUnitsSelection(orgUnitSelection: OrgUnitSelection) {\n\tconst orgUnits = [];\n\tif (orgUnitSelection.userOrgUnit) {\n\t\torgUnits.push(\"USER_ORGUNIT\");\n\t}\n\n\tif (orgUnitSelection.userSubUnit) {\n\t\torgUnits.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\n\tif (orgUnitSelection.userSubX2Unit) {\n\t\torgUnits.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\tif (!isEmpty(orgUnitSelection.levels)) {\n\t\tforEach(orgUnitSelection.levels, (level) =>\n\t\t\torgUnits.push(`LEVEL-${level}`),\n\t\t);\n\t}\n\n\treturn [\n\t\t...orgUnits,\n\t\t...(orgUnitSelection?.orgUnits?.map(\n\t\t\t(ou: OrganisationUnit) => `${ou.id}`,\n\t\t) ?? []),\n\t];\n}\n\nexport function sanitizeOrgUnits(metaData: any) {\n\tif (metaData) {\n\t\treturn metaData?.dimensions?.ou?.map((ouId: string) => ({\n\t\t\tid: ouId,\n\t\t\tname: metaData?.items[ouId]?.name,\n\t\t\tpath: metaData?.ouHierarchy?.[ouId],\n\t\t}));\n\t}\n\treturn [];\n}\n\nexport function toGeoJson(organisationUnits: any) {\n\treturn sortBy(organisationUnits, \"le\").map((ou: any) => {\n\t\ttry {\n\t\t\tconst coord = JSON.parse(ou.co);\n\t\t\tlet gpid = \"\";\n\t\t\tlet gppg = \"\";\n\t\t\tlet type = \"Point\";\n\n\t\t\tif (ou.ty === 2) {\n\t\t\t\ttype = \"Polygon\";\n\t\t\t\tif (ou.co.substring(0, 4) === \"[[[[\") {\n\t\t\t\t\ttype = \"MultiPolygon\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Grand parent\n\t\t\tif (isString(ou.pg) && ou.pg.length) {\n\t\t\t\tconst ids = compact(ou.pg.split(\"/\"));\n\n\t\t\t\t// Grand parent id\n\t\t\t\tif (ids.length >= 2) {\n\t\t\t\t\tgpid = ids[ids.length - 2] as string;\n\t\t\t\t}\n\n\t\t\t\t// Grand parent parent graph\n\t\t\t\tif (ids.length > 2) {\n\t\t\t\t\tgppg = \"/\" + ids.slice(0, ids.length - 2).join(\"/\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttype: \"Feature\",\n\t\t\t\tid: ou.id,\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype,\n\t\t\t\t\tcoordinates: coord,\n\t\t\t\t},\n\t\t\t\tproperties: {\n\t\t\t\t\ttype,\n\t\t\t\t\tid: ou.id,\n\t\t\t\t\tname: ou.na,\n\t\t\t\t\thasCoordinatesDown: ou.hcd,\n\t\t\t\t\thasCoordinatesUp: ou.hcu,\n\t\t\t\t\tlevel: ou.le,\n\t\t\t\t\tgrandParentParentGraph: gppg,\n\t\t\t\t\tgrandParentId: gpid,\n\t\t\t\t\tparentGraph: ou.pg,\n\t\t\t\t\tparentId: ou.pi,\n\t\t\t\t\tparentName: ou.pn,\n\t\t\t\t\tdimensions: ou.dimensions,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (e) {\n\t\t\treturn {};\n\t\t}\n\t});\n}\n\nexport function sanitizeDate(startDate: string): string {\n\tif (startDate?.split(\"-\")?.[0]?.length < 4) {\n\t\treturn startDate?.split(\"-\")?.reverse()?.join(\"-\");\n\t}\n\treturn startDate;\n}\n\nexport function generateLegends(\n\tmaxValue: number,\n\tminValue: number,\n\t{ classesCount, colorClass }: { classesCount: number; colorClass: string },\n): Array<Legend> {\n\tconst count: number = classesCount ?? defaultClasses;\n\tconst color = colorClass ?? defaultColorScaleName;\n\n\tconst colorScale = [...getColorPalette(color, count)].reverse();\n\n\tconst maxLegendValue = 5 * Math.ceil(maxValue / 5);\n\tconst range = maxLegendValue / count;\n\n\tconst values = [];\n\tlet legendColorsIterator = colorScale.length - 1;\n\tfor (let i = 0; i < maxLegendValue; i += range) {\n\t\tconst id = colorScale[legendColorsIterator];\n\t\tvalues.push({\n\t\t\tstartValue: Math.floor(i),\n\t\t\tendValue: Math.floor(i + range),\n\t\t\tid,\n\t\t\tcolor: id,\n\t\t});\n\t\tlegendColorsIterator--;\n\t}\n\n\treturn values.reverse();\n}\n"]}