@devgateway/dvz-ui-react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/README.md +172 -0
  2. package/dist/cjs/api/commons.js +1 -0
  3. package/dist/cjs/common.css +1 -0
  4. package/dist/cjs/conf/config.json.js +1 -0
  5. package/dist/cjs/conf/index.js +1 -0
  6. package/dist/cjs/embeddable/agree-and-download/index.js +1 -0
  7. package/dist/cjs/embeddable/big-number/index.js +1 -0
  8. package/dist/cjs/embeddable/big-number-trend/index.js +1 -0
  9. package/dist/cjs/embeddable/body/Background.js +1 -0
  10. package/dist/cjs/embeddable/body/Blood.js +1 -0
  11. package/dist/cjs/embeddable/body/Bounds.js +1 -0
  12. package/dist/cjs/embeddable/body/Brain.js +1 -0
  13. package/dist/cjs/embeddable/body/Ectopic.js +1 -0
  14. package/dist/cjs/embeddable/body/Erectile.js +1 -0
  15. package/dist/cjs/embeddable/body/Eyes.js +1 -0
  16. package/dist/cjs/embeddable/body/Head.js +1 -0
  17. package/dist/cjs/embeddable/body/Heart.js +1 -0
  18. package/dist/cjs/embeddable/body/Liver.js +1 -0
  19. package/dist/cjs/embeddable/body/Lungs.js +1 -0
  20. package/dist/cjs/embeddable/body/Stomach.js +1 -0
  21. package/dist/cjs/embeddable/body/index.js +1 -0
  22. package/dist/cjs/embeddable/chart/Bar.js +1 -0
  23. package/dist/cjs/embeddable/chart/CSVDataFrame.js +1 -0
  24. package/dist/cjs/embeddable/chart/Legends.js +1 -0
  25. package/dist/cjs/embeddable/chart/Line.js +1 -0
  26. package/dist/cjs/embeddable/chart/LineLayer.js +1 -0
  27. package/dist/cjs/embeddable/chart/Messages.js +11 -0
  28. package/dist/cjs/embeddable/chart/Pie.js +1 -0
  29. package/dist/cjs/embeddable/chart/Radar.js +1 -0
  30. package/dist/cjs/embeddable/chart/Tooltip.js +1 -0
  31. package/dist/cjs/embeddable/chart/colors/CategoricalColors.js +1 -0
  32. package/dist/cjs/embeddable/chart/colors/ColorProvider.js +1 -0
  33. package/dist/cjs/embeddable/chart/colors/Colors.js +1 -0
  34. package/dist/cjs/embeddable/chart/colors/ManualColors.js +1 -0
  35. package/dist/cjs/embeddable/chart/colors/PlainColor.js +1 -0
  36. package/dist/cjs/embeddable/chart/colors/SequentialColors.js +1 -0
  37. package/dist/cjs/embeddable/chart/colors/SystemColors.js +1 -0
  38. package/dist/cjs/embeddable/chart/data/Bar.js +1 -0
  39. package/dist/cjs/embeddable/chart/data/Line.js +1 -0
  40. package/dist/cjs/embeddable/chart/data/Pie.js +1 -0
  41. package/dist/cjs/embeddable/chart/data/Utils.js +1 -0
  42. package/dist/cjs/embeddable/chart/data/index.js +1 -0
  43. package/dist/cjs/embeddable/chart/index.js +1 -0
  44. package/dist/cjs/embeddable/child-page-menu/index.js +1 -0
  45. package/dist/cjs/embeddable/common/ChartTooltip.js +1 -0
  46. package/dist/cjs/embeddable/common/MapTooltip.js +1 -0
  47. package/dist/cjs/embeddable/common/Messages.js +11 -0
  48. package/dist/cjs/embeddable/common/colors/CategoricalColors.js +1 -0
  49. package/dist/cjs/embeddable/common/colors/ColorProvider.js +1 -0
  50. package/dist/cjs/embeddable/common/colors/Colors.js +1 -0
  51. package/dist/cjs/embeddable/common/colors/ManualColors.js +1 -0
  52. package/dist/cjs/embeddable/common/colors/PlainColor.js +1 -0
  53. package/dist/cjs/embeddable/common/colors/SequentialColors.js +1 -0
  54. package/dist/cjs/embeddable/common/colors/SystemColors.js +1 -0
  55. package/dist/cjs/embeddable/connected-templates/PostContent.js +1 -0
  56. package/dist/cjs/embeddable/connected-templates/PostIntro.js +1 -0
  57. package/dist/cjs/embeddable/d3Map/BaseLayer.js +1 -0
  58. package/dist/cjs/embeddable/d3Map/BreaksStyles.js +1 -0
  59. package/dist/cjs/embeddable/d3Map/DataLayer.js +1 -0
  60. package/dist/cjs/embeddable/d3Map/FlowLayer.js +1 -0
  61. package/dist/cjs/embeddable/d3Map/LatLongLayer.js +1 -0
  62. package/dist/cjs/embeddable/d3Map/Layer.js +1 -0
  63. package/dist/cjs/embeddable/d3Map/Legends.js +1 -0
  64. package/dist/cjs/embeddable/d3Map/Map.js +1 -0
  65. package/dist/cjs/embeddable/d3Map/ProjectedContainer.js +1 -0
  66. package/dist/cjs/embeddable/d3Map/Tooltip.js +1 -0
  67. package/dist/cjs/embeddable/d3Map/ZoomControl.js +1 -0
  68. package/dist/cjs/embeddable/d3Map/index.js +1 -0
  69. package/dist/cjs/embeddable/data/CategoriesConsumer.js +1 -0
  70. package/dist/cjs/embeddable/data/CategoriesProvider.js +1 -0
  71. package/dist/cjs/embeddable/data/DataConsumer.js +1 -0
  72. package/dist/cjs/embeddable/data/DataContext.js +1 -0
  73. package/dist/cjs/embeddable/data/DataProvider.js +1 -0
  74. package/dist/cjs/embeddable/datalabel/index.js +1 -0
  75. package/dist/cjs/embeddable/download/dom-to-image.js +2 -0
  76. package/dist/cjs/embeddable/download/index.js +5 -0
  77. package/dist/cjs/embeddable/downloadPDF/index.js +1 -0
  78. package/dist/cjs/embeddable/featuredtabs/index.js +1 -0
  79. package/dist/cjs/embeddable/filter/index.js +1 -0
  80. package/dist/cjs/embeddable/filter-reset-button/index.js +1 -0
  81. package/dist/cjs/embeddable/filters-apply-button/index.js +1 -0
  82. package/dist/cjs/embeddable/index.js +1 -0
  83. package/dist/cjs/embeddable/inlinelist/index.js +1 -0
  84. package/dist/cjs/embeddable/map/MapCSVDataFrame.js +1 -0
  85. package/dist/cjs/embeddable/map/MapDataFrame.js +1 -0
  86. package/dist/cjs/embeddable/map/index.js +2 -0
  87. package/dist/cjs/embeddable/map/legend.js +1 -0
  88. package/dist/cjs/embeddable/map/map.js +4 -0
  89. package/dist/cjs/embeddable/measures/index.js +1 -0
  90. package/dist/cjs/embeddable/menu/index.js +3 -0
  91. package/dist/cjs/embeddable/new-time-line/index.js +1 -0
  92. package/dist/cjs/embeddable/new-time-line/timeline.js +1 -0
  93. package/dist/cjs/embeddable/newsletter/index.js +1 -0
  94. package/dist/cjs/embeddable/pagegallery/index.js +1 -0
  95. package/dist/cjs/embeddable/pagemodules/FloatingNavigator.js +1 -0
  96. package/dist/cjs/embeddable/pagemodules/index.js +1 -0
  97. package/dist/cjs/embeddable/parallax/index.js +1 -0
  98. package/dist/cjs/embeddable/postscarousel/index.js +1 -0
  99. package/dist/cjs/embeddable/reducers/data-api.js +1 -0
  100. package/dist/cjs/embeddable/reducers/data.js +1 -0
  101. package/dist/cjs/embeddable/reducers/embeddable-api.js +1 -0
  102. package/dist/cjs/embeddable/reducers/embeddable.js +1 -0
  103. package/dist/cjs/embeddable/references/Reference.js +1 -0
  104. package/dist/cjs/embeddable/references/ReferencesList.js +1 -0
  105. package/dist/cjs/embeddable/sankeychart/Sankey.js +1 -0
  106. package/dist/cjs/embeddable/sankeychart/index.js +1 -0
  107. package/dist/cjs/embeddable/showcase/index.js +1 -0
  108. package/dist/cjs/embeddable/superset-chart/index.js +1 -0
  109. package/dist/cjs/embeddable/superset-dashboard/index.js +1 -0
  110. package/dist/cjs/embeddable/tabbedposts/index.js +1 -0
  111. package/dist/cjs/embeddable/time-line/desktop.js +1 -0
  112. package/dist/cjs/embeddable/time-line/index.js +1 -0
  113. package/dist/cjs/embeddable/time-line/mobile.js +1 -0
  114. package/dist/cjs/embeddable/tooltip/index.js +1 -0
  115. package/dist/cjs/embeddable/utils/common.js +1 -0
  116. package/dist/cjs/embeddable/utils/parseUtils.js +1 -0
  117. package/dist/cjs/embeddable/vertical-featuredtabs/index.js +2 -0
  118. package/dist/cjs/embeddable/wrapped/index.js +1 -0
  119. package/dist/cjs/index.js +1 -0
  120. package/dist/cjs/layout/CustomSemanticSearch.js +1 -0
  121. package/dist/cjs/layout/Customizer.js +1 -0
  122. package/dist/cjs/layout/FlexWrapDetector.js +1 -0
  123. package/dist/cjs/layout/Footer.js +1 -0
  124. package/dist/cjs/layout/Header.js +3 -0
  125. package/dist/cjs/layout/LangSwitcher.js +1 -0
  126. package/dist/cjs/layout/ResponsiveContainer.js +1 -0
  127. package/dist/cjs/layout/ScrollTop.js +1 -0
  128. package/dist/cjs/layout/SearchControl.js +1 -0
  129. package/dist/cjs/layout/TopNavigator.js +1 -0
  130. package/dist/cjs/layout/containers/PreviewPageContainer.js +1 -0
  131. package/dist/cjs/layout/containers/PreviewTypeContainer.js +1 -0
  132. package/dist/cjs/layout/containers/SlugContainer.js +1 -0
  133. package/dist/cjs/layout/containers/SlugPostContainer.js +1 -0
  134. package/dist/cjs/layout/index.js +1 -0
  135. package/dist/cjs/lib/hooks/window-dimensions.js +1 -0
  136. package/dist/cjs/lib/react-intl-redux/index.js +1 -0
  137. package/dist/cjs/lib/react-intl-redux/providers/IntlProvider.js +1 -0
  138. package/dist/cjs/lib/react-intl-redux/providers/Provider.js +1 -0
  139. package/dist/cjs/lib/redux-immutable/index.js +1 -0
  140. package/dist/cjs/lib/redux-immutable/utils/getStateName.js +1 -0
  141. package/dist/cjs/lib/redux-immutable/utils/getUnexpectedInvocationParameterMessage.js +1 -0
  142. package/dist/cjs/node_modules/.pnpm/semantic-ui-react@3.0.0-beta.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/semantic-ui-react/src/lib/classNameBuilders.js +1 -0
  143. package/dist/cjs/node_modules/.pnpm/semantic-ui-react@3.0.0-beta.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/semantic-ui-react/src/lib/getUnhandledProps.js +1 -0
  144. package/dist/cjs/redux/hooks.js +1 -0
  145. package/dist/cjs/redux/reducer.js +1 -0
  146. package/dist/cjs/redux/store.js +1 -0
  147. package/dist/cjs/styles.css +1 -0
  148. package/dist/cjs/tracker/index.js +1 -0
  149. package/dist/cjs/tracker/withGoogleAnalytics.js +1 -0
  150. package/dist/cjs/translations/af.json.js +1 -0
  151. package/dist/cjs/translations/en.json.js +1 -0
  152. package/dist/cjs/translations/fr.json.js +1 -0
  153. package/dist/cjs/utils/AppMedia.js +1 -0
  154. package/dist/cjs/utils/countries.js +1 -0
  155. package/dist/cjs/utils/deviceType.js +1 -0
  156. package/dist/cjs/utils/semanticUtils.js +1 -0
  157. package/dist/esm/api/commons.js +36 -0
  158. package/dist/esm/common.css +1 -0
  159. package/dist/esm/conf/config.json.js +7 -0
  160. package/dist/esm/conf/index.js +9 -0
  161. package/dist/esm/embeddable/agree-and-download/index.js +103 -0
  162. package/dist/esm/embeddable/big-number/index.js +121 -0
  163. package/dist/esm/embeddable/big-number-trend/index.js +130 -0
  164. package/dist/esm/embeddable/body/Background.js +409 -0
  165. package/dist/esm/embeddable/body/Blood.js +2325 -0
  166. package/dist/esm/embeddable/body/Bounds.js +3506 -0
  167. package/dist/esm/embeddable/body/Brain.js +546 -0
  168. package/dist/esm/embeddable/body/Ectopic.js +96 -0
  169. package/dist/esm/embeddable/body/Erectile.js +421 -0
  170. package/dist/esm/embeddable/body/Eyes.js +365 -0
  171. package/dist/esm/embeddable/body/Head.js +418 -0
  172. package/dist/esm/embeddable/body/Heart.js +467 -0
  173. package/dist/esm/embeddable/body/Liver.js +266 -0
  174. package/dist/esm/embeddable/body/Lungs.js +1036 -0
  175. package/dist/esm/embeddable/body/Stomach.js +1875 -0
  176. package/dist/esm/embeddable/body/index.js +510 -0
  177. package/dist/esm/embeddable/chart/Bar.js +788 -0
  178. package/dist/esm/embeddable/chart/CSVDataFrame.js +77 -0
  179. package/dist/esm/embeddable/chart/Legends.js +86 -0
  180. package/dist/esm/embeddable/chart/Line.js +412 -0
  181. package/dist/esm/embeddable/chart/LineLayer.js +76 -0
  182. package/dist/esm/embeddable/chart/Messages.js +44 -0
  183. package/dist/esm/embeddable/chart/Pie.js +250 -0
  184. package/dist/esm/embeddable/chart/Radar.js +231 -0
  185. package/dist/esm/embeddable/chart/Tooltip.js +53 -0
  186. package/dist/esm/embeddable/chart/colors/CategoricalColors.js +27 -0
  187. package/dist/esm/embeddable/chart/colors/ColorProvider.js +75 -0
  188. package/dist/esm/embeddable/chart/colors/Colors.js +44 -0
  189. package/dist/esm/embeddable/chart/colors/ManualColors.js +45 -0
  190. package/dist/esm/embeddable/chart/colors/PlainColor.js +18 -0
  191. package/dist/esm/embeddable/chart/colors/SequentialColors.js +33 -0
  192. package/dist/esm/embeddable/chart/colors/SystemColors.js +25 -0
  193. package/dist/esm/embeddable/chart/data/Bar.js +205 -0
  194. package/dist/esm/embeddable/chart/data/Line.js +212 -0
  195. package/dist/esm/embeddable/chart/data/Pie.js +94 -0
  196. package/dist/esm/embeddable/chart/data/Utils.js +30 -0
  197. package/dist/esm/embeddable/chart/data/index.js +7 -0
  198. package/dist/esm/embeddable/chart/index.js +593 -0
  199. package/dist/esm/embeddable/child-page-menu/index.js +108 -0
  200. package/dist/esm/embeddable/common/ChartTooltip.js +34 -0
  201. package/dist/esm/embeddable/common/MapTooltip.js +59 -0
  202. package/dist/esm/embeddable/common/Messages.js +39 -0
  203. package/dist/esm/embeddable/common/colors/CategoricalColors.js +27 -0
  204. package/dist/esm/embeddable/common/colors/ColorProvider.js +29 -0
  205. package/dist/esm/embeddable/common/colors/Colors.js +44 -0
  206. package/dist/esm/embeddable/common/colors/ManualColors.js +50 -0
  207. package/dist/esm/embeddable/common/colors/PlainColor.js +18 -0
  208. package/dist/esm/embeddable/common/colors/SequentialColors.js +33 -0
  209. package/dist/esm/embeddable/common/colors/SystemColors.js +25 -0
  210. package/dist/esm/embeddable/connected-templates/PostContent.js +11 -0
  211. package/dist/esm/embeddable/connected-templates/PostIntro.js +11 -0
  212. package/dist/esm/embeddable/d3Map/BaseLayer.js +66 -0
  213. package/dist/esm/embeddable/d3Map/BreaksStyles.js +18 -0
  214. package/dist/esm/embeddable/d3Map/DataLayer.js +248 -0
  215. package/dist/esm/embeddable/d3Map/FlowLayer.js +186 -0
  216. package/dist/esm/embeddable/d3Map/LatLongLayer.js +146 -0
  217. package/dist/esm/embeddable/d3Map/Layer.js +59 -0
  218. package/dist/esm/embeddable/d3Map/Legends.js +234 -0
  219. package/dist/esm/embeddable/d3Map/Map.js +49 -0
  220. package/dist/esm/embeddable/d3Map/ProjectedContainer.js +50 -0
  221. package/dist/esm/embeddable/d3Map/Tooltip.js +28 -0
  222. package/dist/esm/embeddable/d3Map/ZoomControl.js +86 -0
  223. package/dist/esm/embeddable/d3Map/index.js +123 -0
  224. package/dist/esm/embeddable/data/CategoriesConsumer.js +7 -0
  225. package/dist/esm/embeddable/data/CategoriesProvider.js +35 -0
  226. package/dist/esm/embeddable/data/DataConsumer.js +10 -0
  227. package/dist/esm/embeddable/data/DataContext.js +7 -0
  228. package/dist/esm/embeddable/data/DataProvider.js +83 -0
  229. package/dist/esm/embeddable/datalabel/index.js +106 -0
  230. package/dist/esm/embeddable/download/dom-to-image.js +470 -0
  231. package/dist/esm/embeddable/download/index.js +141 -0
  232. package/dist/esm/embeddable/downloadPDF/index.js +24 -0
  233. package/dist/esm/embeddable/featuredtabs/index.js +207 -0
  234. package/dist/esm/embeddable/filter/index.js +430 -0
  235. package/dist/esm/embeddable/filter-reset-button/index.js +41 -0
  236. package/dist/esm/embeddable/filters-apply-button/index.js +52 -0
  237. package/dist/esm/embeddable/index.js +76 -0
  238. package/dist/esm/embeddable/inlinelist/index.js +106 -0
  239. package/dist/esm/embeddable/map/MapCSVDataFrame.js +78 -0
  240. package/dist/esm/embeddable/map/MapDataFrame.js +28 -0
  241. package/dist/esm/embeddable/map/index.js +207 -0
  242. package/dist/esm/embeddable/map/legend.js +101 -0
  243. package/dist/esm/embeddable/map/map.js +965 -0
  244. package/dist/esm/embeddable/measures/index.js +46 -0
  245. package/dist/esm/embeddable/menu/index.js +46 -0
  246. package/dist/esm/embeddable/new-time-line/index.js +84 -0
  247. package/dist/esm/embeddable/new-time-line/timeline.js +68 -0
  248. package/dist/esm/embeddable/newsletter/index.js +51 -0
  249. package/dist/esm/embeddable/pagegallery/index.js +36 -0
  250. package/dist/esm/embeddable/pagemodules/FloatingNavigator.js +30 -0
  251. package/dist/esm/embeddable/pagemodules/index.js +129 -0
  252. package/dist/esm/embeddable/parallax/index.js +52 -0
  253. package/dist/esm/embeddable/postscarousel/index.js +52 -0
  254. package/dist/esm/embeddable/reducers/data-api.js +17 -0
  255. package/dist/esm/embeddable/reducers/data.js +116 -0
  256. package/dist/esm/embeddable/reducers/embeddable-api.js +13 -0
  257. package/dist/esm/embeddable/reducers/embeddable.js +54 -0
  258. package/dist/esm/embeddable/references/Reference.js +33 -0
  259. package/dist/esm/embeddable/references/ReferencesList.js +65 -0
  260. package/dist/esm/embeddable/sankeychart/Sankey.js +205 -0
  261. package/dist/esm/embeddable/sankeychart/index.js +238 -0
  262. package/dist/esm/embeddable/showcase/index.js +247 -0
  263. package/dist/esm/embeddable/superset-chart/index.js +29 -0
  264. package/dist/esm/embeddable/superset-dashboard/index.js +29 -0
  265. package/dist/esm/embeddable/tabbedposts/index.js +265 -0
  266. package/dist/esm/embeddable/time-line/desktop.js +240 -0
  267. package/dist/esm/embeddable/time-line/index.js +16 -0
  268. package/dist/esm/embeddable/time-line/mobile.js +272 -0
  269. package/dist/esm/embeddable/tooltip/index.js +16 -0
  270. package/dist/esm/embeddable/utils/common.js +8 -0
  271. package/dist/esm/embeddable/utils/parseUtils.js +13 -0
  272. package/dist/esm/embeddable/vertical-featuredtabs/index.js +293 -0
  273. package/dist/esm/embeddable/wrapped/index.js +18 -0
  274. package/dist/esm/index.js +31 -0
  275. package/dist/esm/layout/CustomSemanticSearch.js +113 -0
  276. package/dist/esm/layout/Customizer.js +23 -0
  277. package/dist/esm/layout/FlexWrapDetector.js +37 -0
  278. package/dist/esm/layout/Footer.js +17 -0
  279. package/dist/esm/layout/Header.js +248 -0
  280. package/dist/esm/layout/LangSwitcher.js +93 -0
  281. package/dist/esm/layout/ResponsiveContainer.js +24 -0
  282. package/dist/esm/layout/ScrollTop.js +13 -0
  283. package/dist/esm/layout/SearchControl.js +239 -0
  284. package/dist/esm/layout/TopNavigator.js +21 -0
  285. package/dist/esm/layout/containers/PreviewPageContainer.js +21 -0
  286. package/dist/esm/layout/containers/PreviewTypeContainer.js +23 -0
  287. package/dist/esm/layout/containers/SlugContainer.js +19 -0
  288. package/dist/esm/layout/containers/SlugPostContainer.js +19 -0
  289. package/dist/esm/layout/index.js +16 -0
  290. package/dist/esm/lib/hooks/window-dimensions.js +25 -0
  291. package/dist/esm/lib/react-intl-redux/index.js +20 -0
  292. package/dist/esm/lib/react-intl-redux/providers/IntlProvider.js +13 -0
  293. package/dist/esm/lib/react-intl-redux/providers/Provider.js +11 -0
  294. package/dist/esm/lib/redux-immutable/index.js +27 -0
  295. package/dist/esm/lib/redux-immutable/utils/getStateName.js +4 -0
  296. package/dist/esm/lib/redux-immutable/utils/getUnexpectedInvocationParameterMessage.js +21 -0
  297. package/dist/esm/node_modules/.pnpm/semantic-ui-react@3.0.0-beta.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/semantic-ui-react/src/lib/classNameBuilders.js +5 -0
  298. package/dist/esm/node_modules/.pnpm/semantic-ui-react@3.0.0-beta.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/semantic-ui-react/src/lib/getUnhandledProps.js +7 -0
  299. package/dist/esm/redux/hooks.js +6 -0
  300. package/dist/esm/redux/reducer.js +13 -0
  301. package/dist/esm/redux/store.js +14 -0
  302. package/dist/esm/styles.css +1 -0
  303. package/dist/esm/tracker/index.js +4 -0
  304. package/dist/esm/tracker/withGoogleAnalytics.js +21 -0
  305. package/dist/esm/translations/af.json.js +4 -0
  306. package/dist/esm/translations/en.json.js +49 -0
  307. package/dist/esm/translations/fr.json.js +46 -0
  308. package/dist/esm/utils/AppMedia.js +16 -0
  309. package/dist/esm/utils/countries.js +650 -0
  310. package/dist/esm/utils/deviceType.js +7 -0
  311. package/dist/esm/utils/semanticUtils.js +84 -0
  312. package/dist/types/api/commons.d.ts +4 -0
  313. package/dist/types/conf/config.json.d.ts +5 -0
  314. package/dist/types/conf/index.d.ts +6 -0
  315. package/dist/types/embeddable/Dummy.d.ts +3 -0
  316. package/dist/types/embeddable/agree-and-download/index.d.ts +3 -0
  317. package/dist/types/embeddable/big-number/index.d.ts +5 -0
  318. package/dist/types/embeddable/big-number-trend/index.d.ts +5 -0
  319. package/dist/types/embeddable/body/Background.d.ts +5 -0
  320. package/dist/types/embeddable/body/Blood.d.ts +5 -0
  321. package/dist/types/embeddable/body/Bounds.d.ts +5 -0
  322. package/dist/types/embeddable/body/Brain.d.ts +5 -0
  323. package/dist/types/embeddable/body/Ectopic.d.ts +5 -0
  324. package/dist/types/embeddable/body/Erectile.d.ts +5 -0
  325. package/dist/types/embeddable/body/Eyes.d.ts +5 -0
  326. package/dist/types/embeddable/body/Head.d.ts +5 -0
  327. package/dist/types/embeddable/body/Heart.d.ts +5 -0
  328. package/dist/types/embeddable/body/Larynx.d.ts +5 -0
  329. package/dist/types/embeddable/body/Liver.d.ts +5 -0
  330. package/dist/types/embeddable/body/Lungs.d.ts +5 -0
  331. package/dist/types/embeddable/body/Stomach.d.ts +5 -0
  332. package/dist/types/embeddable/body/index.d.ts +5 -0
  333. package/dist/types/embeddable/chart/Bar.d.ts +69 -0
  334. package/dist/types/embeddable/chart/Bump.d.ts +35 -0
  335. package/dist/types/embeddable/chart/CSVDataFrame.d.ts +9 -0
  336. package/dist/types/embeddable/chart/DelayedRender.d.ts +15 -0
  337. package/dist/types/embeddable/chart/Diverging.d.ts +15 -0
  338. package/dist/types/embeddable/chart/Legends.d.ts +5 -0
  339. package/dist/types/embeddable/chart/Line.d.ts +115 -0
  340. package/dist/types/embeddable/chart/LineLayer.d.ts +5 -0
  341. package/dist/types/embeddable/chart/Messages.d.ts +14 -0
  342. package/dist/types/embeddable/chart/Pie.d.ts +77 -0
  343. package/dist/types/embeddable/chart/Radar.d.ts +67 -0
  344. package/dist/types/embeddable/chart/Radar2.d.ts +5 -0
  345. package/dist/types/embeddable/chart/Sunburst.d.ts +15 -0
  346. package/dist/types/embeddable/chart/Tooltip.d.ts +9 -0
  347. package/dist/types/embeddable/chart/UserMeasures.d.ts +10 -0
  348. package/dist/types/embeddable/chart/colors/CategoricalColors.d.ts +10 -0
  349. package/dist/types/embeddable/chart/colors/ColorProvider.d.ts +6 -0
  350. package/dist/types/embeddable/chart/colors/Colors.d.ts +24 -0
  351. package/dist/types/embeddable/chart/colors/ManualColors.d.ts +8 -0
  352. package/dist/types/embeddable/chart/colors/PlainColor.d.ts +8 -0
  353. package/dist/types/embeddable/chart/colors/SequentialColors.d.ts +9 -0
  354. package/dist/types/embeddable/chart/colors/SystemColors.d.ts +9 -0
  355. package/dist/types/embeddable/chart/data/Bar.d.ts +3 -0
  356. package/dist/types/embeddable/chart/data/Line.d.ts +3 -0
  357. package/dist/types/embeddable/chart/data/Pie.d.ts +2 -0
  358. package/dist/types/embeddable/chart/data/Utils.d.ts +17 -0
  359. package/dist/types/embeddable/chart/data/index.d.ts +9 -0
  360. package/dist/types/embeddable/chart/index.d.ts +5 -0
  361. package/dist/types/embeddable/chart/prevalenceBuilder.d.ts +19 -0
  362. package/dist/types/embeddable/child-page-menu/index.d.ts +5 -0
  363. package/dist/types/embeddable/common/ChartTooltip.d.ts +9 -0
  364. package/dist/types/embeddable/common/MapTooltip.d.ts +8 -0
  365. package/dist/types/embeddable/common/Messages.d.ts +14 -0
  366. package/dist/types/embeddable/common/colors/CategoricalColors.d.ts +10 -0
  367. package/dist/types/embeddable/common/colors/ColorProvider.d.ts +21 -0
  368. package/dist/types/embeddable/common/colors/Colors.d.ts +24 -0
  369. package/dist/types/embeddable/common/colors/ManualColors.d.ts +8 -0
  370. package/dist/types/embeddable/common/colors/PlainColor.d.ts +8 -0
  371. package/dist/types/embeddable/common/colors/SequentialColors.d.ts +9 -0
  372. package/dist/types/embeddable/common/colors/SystemColors.d.ts +9 -0
  373. package/dist/types/embeddable/connected-templates/PostContent.d.ts +5 -0
  374. package/dist/types/embeddable/connected-templates/PostIntro.d.ts +5 -0
  375. package/dist/types/embeddable/d3Map/BaseLayer.d.ts +9 -0
  376. package/dist/types/embeddable/d3Map/BreaksStyles.d.ts +15 -0
  377. package/dist/types/embeddable/d3Map/DataLayer.d.ts +5 -0
  378. package/dist/types/embeddable/d3Map/FlowLayer.d.ts +5 -0
  379. package/dist/types/embeddable/d3Map/LatLongLayer.d.ts +5 -0
  380. package/dist/types/embeddable/d3Map/Layer.d.ts +17 -0
  381. package/dist/types/embeddable/d3Map/Legends.d.ts +3 -0
  382. package/dist/types/embeddable/d3Map/Map.d.ts +10 -0
  383. package/dist/types/embeddable/d3Map/ProjectedContainer.d.ts +15 -0
  384. package/dist/types/embeddable/d3Map/Tooltip.d.ts +8 -0
  385. package/dist/types/embeddable/d3Map/ZoomControl.d.ts +23 -0
  386. package/dist/types/embeddable/d3Map/index.d.ts +5 -0
  387. package/dist/types/embeddable/data/CategoriesConsumer.d.ts +3 -0
  388. package/dist/types/embeddable/data/CategoriesProvider.d.ts +3 -0
  389. package/dist/types/embeddable/data/DataConsumer.d.ts +3 -0
  390. package/dist/types/embeddable/data/DataConsumerMap.d.ts +3 -0
  391. package/dist/types/embeddable/data/DataContext.d.ts +4 -0
  392. package/dist/types/embeddable/data/DataProvider.d.ts +7 -0
  393. package/dist/types/embeddable/datalabel/index.d.ts +5 -0
  394. package/dist/types/embeddable/download/dom-to-image.d.ts +129 -0
  395. package/dist/types/embeddable/download/index.d.ts +14 -0
  396. package/dist/types/embeddable/downloadPDF/index.d.ts +3 -0
  397. package/dist/types/embeddable/featuredtabs/index.d.ts +22 -0
  398. package/dist/types/embeddable/filter/_@deprecated_Components.d.ts +33 -0
  399. package/dist/types/embeddable/filter/index.d.ts +27 -0
  400. package/dist/types/embeddable/filter-reset-button/index.d.ts +5 -0
  401. package/dist/types/embeddable/filters-apply-button/index.d.ts +5 -0
  402. package/dist/types/embeddable/index.d.ts +161 -0
  403. package/dist/types/embeddable/inlinelist/index.d.ts +26 -0
  404. package/dist/types/embeddable/map/MapCSVDataFrame.d.ts +2 -0
  405. package/dist/types/embeddable/map/MapDataFrame.d.ts +7 -0
  406. package/dist/types/embeddable/map/index.d.ts +5 -0
  407. package/dist/types/embeddable/map/legend.d.ts +6 -0
  408. package/dist/types/embeddable/map/map.d.ts +5 -0
  409. package/dist/types/embeddable/measures/index.d.ts +12 -0
  410. package/dist/types/embeddable/menu/index.d.ts +13 -0
  411. package/dist/types/embeddable/new-time-line/index.d.ts +3 -0
  412. package/dist/types/embeddable/new-time-line/timeline.d.ts +21 -0
  413. package/dist/types/embeddable/newsletter/index.d.ts +5 -0
  414. package/dist/types/embeddable/pagegallery/index.d.ts +20 -0
  415. package/dist/types/embeddable/pagemodules/FloatingNavigator.d.ts +3 -0
  416. package/dist/types/embeddable/pagemodules/index.d.ts +42 -0
  417. package/dist/types/embeddable/parallax/index.d.ts +18 -0
  418. package/dist/types/embeddable/postscarousel/index.d.ts +15 -0
  419. package/dist/types/embeddable/reducers/data-api.d.ts +18 -0
  420. package/dist/types/embeddable/reducers/data.d.ts +54 -0
  421. package/dist/types/embeddable/reducers/embeddable-api.d.ts +2 -0
  422. package/dist/types/embeddable/reducers/embeddable.d.ts +8 -0
  423. package/dist/types/embeddable/references/Reference.d.ts +9 -0
  424. package/dist/types/embeddable/references/ReferencesList.d.ts +10 -0
  425. package/dist/types/embeddable/references/index.d.ts +3 -0
  426. package/dist/types/embeddable/sankeychart/Sankey.d.ts +5 -0
  427. package/dist/types/embeddable/sankeychart/index.d.ts +5 -0
  428. package/dist/types/embeddable/showcase/index.d.ts +5 -0
  429. package/dist/types/embeddable/superset-chart/index.d.ts +5 -0
  430. package/dist/types/embeddable/superset-dashboard/index-sdk.d.ts +5 -0
  431. package/dist/types/embeddable/superset-dashboard/index.d.ts +5 -0
  432. package/dist/types/embeddable/tabbedposts/index.d.ts +7 -0
  433. package/dist/types/embeddable/time-line/desktop.d.ts +3 -0
  434. package/dist/types/embeddable/time-line/index.d.ts +13 -0
  435. package/dist/types/embeddable/time-line/mobile.d.ts +3 -0
  436. package/dist/types/embeddable/tooltip/index.d.ts +5 -0
  437. package/dist/types/embeddable/utils/common.d.ts +3 -0
  438. package/dist/types/embeddable/utils/parseUtils.d.ts +9 -0
  439. package/dist/types/embeddable/vertical-featuredtabs/index.d.ts +21 -0
  440. package/dist/types/embeddable/wrapped/index.d.ts +3 -0
  441. package/dist/types/index.d.ts +5 -0
  442. package/dist/types/layout/ClassicHeader.d.ts +11 -0
  443. package/dist/types/layout/CustomSemanticSearch.d.ts +3 -0
  444. package/dist/types/layout/Customizer.d.ts +1 -0
  445. package/dist/types/layout/FavIcon.d.ts +2 -0
  446. package/dist/types/layout/FlexWrapDetector.d.ts +7 -0
  447. package/dist/types/layout/FloatingMenuHeader.d.ts +5 -0
  448. package/dist/types/layout/Footer.d.ts +5 -0
  449. package/dist/types/layout/Header.d.ts +11 -0
  450. package/dist/types/layout/LangSwitcher.d.ts +2 -0
  451. package/dist/types/layout/ResponsiveContainer.d.ts +16 -0
  452. package/dist/types/layout/ScrollTop.d.ts +2 -0
  453. package/dist/types/layout/SearchControl.d.ts +5 -0
  454. package/dist/types/layout/TopNavigator.d.ts +3 -0
  455. package/dist/types/layout/containers/PreviewPageContainer.d.ts +3 -0
  456. package/dist/types/layout/containers/PreviewTypeContainer.d.ts +3 -0
  457. package/dist/types/layout/containers/SlugContainer.d.ts +3 -0
  458. package/dist/types/layout/containers/SlugPostContainer.d.ts +3 -0
  459. package/dist/types/layout/containers/index.d.ts +5 -0
  460. package/dist/types/layout/index.d.ts +6 -0
  461. package/dist/types/lib/hooks/window-dimensions.d.ts +21 -0
  462. package/dist/types/lib/index.d.ts +2 -0
  463. package/dist/types/lib/react-intl-redux/index.d.ts +23 -0
  464. package/dist/types/lib/react-intl-redux/providers/IntlProvider.d.ts +2 -0
  465. package/dist/types/lib/react-intl-redux/providers/Provider.d.ts +11 -0
  466. package/dist/types/lib/redux-immutable/index.d.ts +3 -0
  467. package/dist/types/lib/redux-immutable/types.d.ts +2 -0
  468. package/dist/types/lib/redux-immutable/utils/getStateName.d.ts +2 -0
  469. package/dist/types/lib/redux-immutable/utils/getUnexpectedInvocationParameterMessage.d.ts +3 -0
  470. package/dist/types/lib/redux-immutable/utils/index.d.ts +3 -0
  471. package/dist/types/lib/redux-immutable/utils/validateNextState.d.ts +2 -0
  472. package/dist/types/redux/hooks.d.ts +4 -0
  473. package/dist/types/redux/index.d.ts +2 -0
  474. package/dist/types/redux/reducer.d.ts +3 -0
  475. package/dist/types/redux/store.d.ts +9 -0
  476. package/dist/types/tools/serviceWorker.d.ts +2 -0
  477. package/dist/types/tracker/index.d.ts +1 -0
  478. package/dist/types/tracker/withGoogleAnalytics.d.ts +6 -0
  479. package/dist/types/translations/af.json.d.ts +4 -0
  480. package/dist/types/translations/en.json.d.ts +42 -0
  481. package/dist/types/translations/fr.json.d.ts +39 -0
  482. package/dist/types/translations/index.d.ts +4 -0
  483. package/dist/types/utils/AppMedia.d.ts +4 -0
  484. package/dist/types/utils/countries.d.ts +7 -0
  485. package/dist/types/utils/deviceType.d.ts +2 -0
  486. package/dist/types/utils/semanticUtils.d.ts +16 -0
  487. package/package.json +158 -0
@@ -0,0 +1,965 @@
1
+ var $ = Object.defineProperty;
2
+ var J = (T, I, e) => I in T ? $(T, I, { enumerable: !0, configurable: !0, writable: !0, value: e }) : T[I] = e;
3
+ var _ = (T, I, e) => J(T, typeof I != "symbol" ? I + "" : I, e);
4
+ import { jsx as b, jsxs as w, Fragment as X } from "react/jsx-runtime";
5
+ import { injectIntl as Y, FormattedMessage as q } from "react-intl";
6
+ import * as m from "d3";
7
+ import { Container as R, Segment as K, Dimmer as Q, Loader as ee, Message as N, Icon as E, Popup as te, Grid as O } from "semantic-ui-react";
8
+ import H from "react";
9
+ import * as se from "topojson-client";
10
+ import ie from "./legend.js";
11
+ import { formatContent as k } from "../common/MapTooltip.js";
12
+ import F from "../../utils/deviceType.js";
13
+ import oe from "geostats";
14
+ import { Config as re } from "../../conf/index.js";
15
+ const ae = "_Color_", U = "location", S = "showAll", j = "ifUnitHasData", le = 10, ne = {
16
+ mobile: 4,
17
+ tablet: 4,
18
+ midTablet: 2,
19
+ laptop: 2,
20
+ desktop: 2,
21
+ wide: 2
22
+ }, ce = {
23
+ mobile: 330,
24
+ tablet: 250,
25
+ midTablet: 250,
26
+ laptop: 200,
27
+ desktop: 100,
28
+ wide: 100
29
+ }, V = {
30
+ mobile: 250,
31
+ tablet: 250,
32
+ midTablet: 250,
33
+ laptop: 0,
34
+ desktop: 0,
35
+ wide: 0
36
+ }, pe = {
37
+ greens: [
38
+ "#ccffdd",
39
+ "#b3ffcc",
40
+ "#99ffbb",
41
+ "#80ffaa",
42
+ "#66ff99",
43
+ "#4dff88",
44
+ "#33ff77",
45
+ "#1aff66",
46
+ "#00ff55",
47
+ "#00e64d"
48
+ ],
49
+ greys: [
50
+ "#f2f2f2",
51
+ "#e6e6e6",
52
+ "#d9d9d9",
53
+ "#cccccc",
54
+ "#bfbfbf",
55
+ "#b3b3b3",
56
+ "#a6a6a6",
57
+ "#999999",
58
+ "#8c8c8c",
59
+ "#808080"
60
+ ],
61
+ oranges: [
62
+ "#fff0e6",
63
+ "#ffe0cc",
64
+ "#ffd1b3",
65
+ "#ffc299",
66
+ "#ffb380",
67
+ "#ffa366",
68
+ "#ff944d",
69
+ "#ff8533",
70
+ "#ff751a",
71
+ "#ff6600"
72
+ ],
73
+ purples: [
74
+ "#ffe6ff",
75
+ "#ffccff",
76
+ "#ffb3ff",
77
+ "#ff99ff",
78
+ "#ff80ff",
79
+ "#ff66ff",
80
+ "#ff4dff",
81
+ "#ff33ff",
82
+ "#ff1aff",
83
+ "#ff00ff"
84
+ ],
85
+ reds: [
86
+ "#ffe6e6",
87
+ "#ffcccc",
88
+ "#ffb3b3",
89
+ "#ff9999",
90
+ "#ff8080",
91
+ "#ff6666",
92
+ "#ff4d4d",
93
+ "#ff3333",
94
+ "#ff1a1a",
95
+ "#ff0000"
96
+ ],
97
+ blues: [
98
+ "#e6eeff",
99
+ "#ccddff",
100
+ "#b3ccff",
101
+ "#99bbff",
102
+ "#80aaff",
103
+ "#6699ff",
104
+ "#4d88ff",
105
+ "#3377ff",
106
+ "#1a66ff",
107
+ "#0055ff"
108
+ ]
109
+ }, he = ["mobile", "tablet", "midTablet"].includes(F()), G = ["mobile", "tablet"].includes(F());
110
+ class de extends H.Component {
111
+ constructor(e) {
112
+ super(e);
113
+ _(this, "handleScroll", () => {
114
+ let e = null;
115
+ clearTimeout(e), e = setTimeout(() => {
116
+ m.select(this.getMapId()).selectAll(".map-labels-container").size() > 0 || this.updateFeatures(this.getFeatures(), !1);
117
+ }, 300);
118
+ });
119
+ this.mapContainer = H.createRef(), this.state = { mainLayer: null, layers: null }, this.classColor = this.classColor.bind(this), this.featuresZoom = this.featuresZoom.bind(this), this.fullView = this.fullView.bind(this), this.onZoomIn = this.onZoomIn.bind(this), this.onZoomOut = this.onZoomOut.bind(this), this.onReset = this.onReset.bind(this), this.onClick = this.onClick.bind(this), this.showTooltip = this.showTooltip.bind(this), this.mousemove = this.mousemove.bind(this), this.mouseout = this.mouseout.bind(this), this.updateFeatures = this.updateFeatures.bind(this), this.d3Map = this.d3Map.bind(this), this.getFeatures = this.getFeatures.bind(this), this.boundingExtent = this.boundingExtent.bind(this), this.getMapId = this.getMapId.bind(this), this.zoomed = this.zoomed.bind(this), this.zoomEnd = this.zoomEnd.bind(this), this.drawPoints = this.drawPoints.bind(this), this.extractFeatures = this.extractFeatures.bind(this), this.getLayers = this.getLayers.bind(this), this.onPointClick = this.onPointClick.bind(this), this.onPolygonClick = this.onPolygonClick.bind(this), this.getCenter = this.getCenter.bind(this), this.mapPosition = null, this.zooming = !1, this.translateValue = ne[F()], this.projection = m.geoMercator().scale(e.scale).center(e.center).translate([this.getWidth() / this.translateValue, this.getHeight() / 2]), this.path = m.geoPath().projection(this.projection), this.zoom = m.zoom().scaleExtent([1, 16]).on("zoom", this.zoomed).on("end", this.zoomEnd), this.centered = null, this.state = {
120
+ selectedMeasure: e.transformedData && e.transformedData.measures && e.transformedData.measures.length > 1 ? e.transformedData.measures[0] : null,
121
+ generatedBreaks: [],
122
+ selectedPolygon: null,
123
+ layersLoading: !1
124
+ };
125
+ }
126
+ componentDidMount() {
127
+ window.addEventListener("scroll", this.handleScroll, { passive: !0 }), window.addEventListener("touchmove", this.handleScroll, { passive: !0 }), this.loadLayers(), this.tooltip = m.select("body").append("div").style("position", "absolute").style("visibility", "hidden");
128
+ }
129
+ componentDidCatch(e, t) {
130
+ console.log(e);
131
+ }
132
+ componentWillUnmount() {
133
+ window.removeEventListener("scroll", this.handleScroll);
134
+ }
135
+ loadLayers() {
136
+ const { source: e, mainLayerId: t, enabledLayers: i } = this.props;
137
+ if (this.setState({
138
+ layers: [],
139
+ layersLoading: !0
140
+ }), i && i.length > 0) {
141
+ const o = [];
142
+ i.forEach((s) => {
143
+ o.push(
144
+ new Promise((l, c) => {
145
+ m.json(re.REACT_APP_WP_API + "/wp/v2/media/" + s.id).then((r) => {
146
+ l({ id: s.id, url: r.source_url, index: s.index });
147
+ }).catch(function(r) {
148
+ l({ id: s.id, url: null, index: s.index });
149
+ });
150
+ })
151
+ );
152
+ }), Promise.all(o).then((s) => {
153
+ const l = [];
154
+ s.forEach((c) => {
155
+ c.url && l.push(
156
+ new Promise((r, a) => {
157
+ m.json(c.url).then((h) => {
158
+ r({ id: c.id, data: h, index: c.index });
159
+ });
160
+ })
161
+ );
162
+ }), Promise.all(l).then((c) => {
163
+ this.setState({
164
+ layers: c,
165
+ layersLoading: !1
166
+ });
167
+ });
168
+ });
169
+ } else
170
+ m.json(e).then((o) => {
171
+ this.setState({
172
+ layers: [{ id: null, url: e, data: o, index: 0 }],
173
+ layersLoading: !1
174
+ });
175
+ });
176
+ }
177
+ getMainLayer() {
178
+ const e = this.getLayers(), { mainLayerId: t, enabledLayers: i } = this.props;
179
+ let o;
180
+ return e && (o = e.filter(
181
+ (s) => s.id == t || s.id == null
182
+ )[0] || e[0]), o ? o.data : null;
183
+ }
184
+ componentDidUpdate(e, t, i) {
185
+ const { selectedMeasure: o, layers: s, selectedPolygon: l } = this.state, c = this.getMainLayer(), { transformedData: r, intl: a, zoomOnFilterField: h, appliedFilters: n } = this.props, { appliedFilters: u } = e;
186
+ if (h) {
187
+ const L = [], p = [];
188
+ u && Object.keys(u).forEach((d) => {
189
+ u[d] != null && u[d] instanceof Array && L.push(
190
+ ...u[d].filter(
191
+ (v) => v != Number.MIN_SAFE_INTEGER
192
+ )
193
+ );
194
+ }), n && Object.keys(n).forEach((d) => {
195
+ n[d] != null && n[d] instanceof Array && p.push(
196
+ ...n[d].filter((v) => v != Number.MIN_SAFE_INTEGER)
197
+ );
198
+ }), L.length > 0 && p.length == 0 && this.onReset();
199
+ }
200
+ this.tooltip.style("visibility", "hidden"), e.enabledLayers.length != this.props.enabledLayers.length && this.loadLayers();
201
+ const f = this.getFeatures();
202
+ e.center !== this.props.center && (this.mapPosition = null, this.projection.scale(this.props.scale).center(this.props.center).translate([this.getWidth() / 2, this.getHeight() / 2]));
203
+ const g = this.filterUpdated(e, t);
204
+ this.d3Map(f, g), s && r && (r != e.transformedData || s != t.layers || o != t.selectedMeasure || l != t.selectedPolygon || c != t.mainLayer || e.mainLayerId !== this.props.mainLayerId || JSON.stringify(e.enabledLayers) != JSON.stringify(this.props.enabledLayers)) && this.updateFeatures(this.getFeatures(), g);
205
+ }
206
+ getHeight() {
207
+ return this.props.height;
208
+ }
209
+ getWidth() {
210
+ return this.mapContainer.current ? this.mapContainer.current.offsetWidth : this.props.width;
211
+ }
212
+ boundingExtent(e) {
213
+ let t, i, o, s;
214
+ for (const l in e) {
215
+ const [[c, r], [a, h]] = this.path.bounds(e[l]);
216
+ (c < t || t == null) && (t = c), (a > i || i == null) && (i = a), (r < o || o == null) && (o = r), (h > s || s == null) && (s = h);
217
+ }
218
+ return [
219
+ [t, o],
220
+ [i, s]
221
+ ];
222
+ }
223
+ onReset() {
224
+ this.mapPosition = null, this.tooltip.style("visibility", "hidden"), this.fullView();
225
+ }
226
+ resizeLabels(e) {
227
+ const { labelFontSize: t, mapLabelField: i } = this.props;
228
+ m.select(this.getMapId()).selectAll(".map-labels-container").each((o, s, l) => {
229
+ const c = m.select(l[s]), r = c.select("div"), a = e.k > 1 ? e.k : 1, h = t / a;
230
+ r.style("font-size", `${h}px`);
231
+ const n = this.getLabelPosition(o), u = this.getLabelBoxWidth(o) / a, f = n[0] - u / 2, g = e.k > 1 ? 10 / e.k : 10, L = n[1] - g;
232
+ c.attr("x", f).attr("y", L).attr("width", this.getLabelBoxWidth(o) / a).attr("height", this.getLabelBoxHeight(o) / a);
233
+ });
234
+ }
235
+ resizePointLabels(e) {
236
+ const { labelFontSize: t } = this.props;
237
+ m.select(this.getMapId()).selectAll(".point-labels-container").each((i, o, s) => {
238
+ const l = m.select(s[o]), c = l.select("div"), r = e.k > 1 ? e.k : 1, a = t / r;
239
+ c.style("font-size", `${a}px`);
240
+ const h = this.projection([
241
+ i.geometry.coordinates[1],
242
+ i.geometry.coordinates[0]
243
+ ]), n = (this.getLabelBoxWidth(i) + 20) / r, u = this.getLabelBoxHeight(i) / r, f = h[0] - n / 2, g = h[1] - u / 2;
244
+ l.attr("x", f).attr("y", g).attr("width", n).attr("height", u);
245
+ });
246
+ }
247
+ resizeCircles(e) {
248
+ m.select(this.getMapId()).select("svg").selectAll("circle").attr("r", e.k > 1 ? 6 / e.k : 6);
249
+ }
250
+ zoomed(e) {
251
+ this.tooltip.style("visibility", "hidden");
252
+ const t = e.transform;
253
+ m.select(this.getMapId()).select("svg").select("g").attr("transform", t), this.resizeCircles(t), this.resizeLabels(t), this.resizePointLabels(t);
254
+ }
255
+ zoomEnd(e) {
256
+ const { editing: t } = this.props, i = e.transform;
257
+ this.mapPosition = { k: i.k, x: i.x, y: i.y }, t && window.parent.postMessage(
258
+ { type: "map", value: JSON.stringify(this.mapPosition) },
259
+ "*"
260
+ );
261
+ }
262
+ classColor(e) {
263
+ let { zoomEnabled: t } = this.props;
264
+ return t || (t = !!["mobile", "tablet", "midTablet"].includes(
265
+ F()
266
+ )), t ? "active zoom-enabled" : "active";
267
+ }
268
+ generateBreaks(e) {
269
+ const { autoGenerateBreaks: t, numberOfBreaks: i, colorScheme: o } = this.props, s = [];
270
+ if (t && e && e.length > 0) {
271
+ const l = e.filter((a) => a.properties && a.properties.value != null).map((a) => a.properties.value.toFixed(2)), c = [];
272
+ l.forEach((a) => {
273
+ if (a > 0) {
274
+ const h = a * 0.99, n = a * 1.01;
275
+ c.indexOf(h) === -1 && c.push(h), c.indexOf(n) === -1 && c.push(n);
276
+ }
277
+ });
278
+ const r = pe[o];
279
+ if (c.length > 0) {
280
+ const a = new oe(c);
281
+ a.setPrecision(2);
282
+ const h = c.length > 1 ? c.length - 1 : c.length;
283
+ return a.getJenks(Math.min(i, h)), a.ranges.forEach((n, u) => {
284
+ const f = {};
285
+ f.min = parseFloat(n.substr(0, n.indexOf("-") - 1)) + (u > 0 ? 0.01 : 0), f.max = parseFloat(
286
+ n.substr(n.indexOf("-") + 2, n.length)
287
+ ), f.color = r[u], s.push(f);
288
+ }), s;
289
+ }
290
+ }
291
+ return s;
292
+ }
293
+ getBreaks() {
294
+ const { legendBreaks: e, autoGenerateBreaks: t } = this.props;
295
+ if (t) {
296
+ const i = this.getFeatures();
297
+ return this.generateBreaks(i);
298
+ } else {
299
+ let i = e;
300
+ return this.getSelectedMeasure() && (i = e.filter((o) => o.measure === this.getSelectedMeasure()).filter((o) => {
301
+ if (o.filters && o.filters.length > 0 && this.props.appliedFilters && JSON.stringify(this.props.appliedFilters) !== "{}") {
302
+ const l = Object.keys(this.props.appliedFilters);
303
+ return o.filters.filter((r) => {
304
+ if (l.indexOf(r.field) != -1) {
305
+ const a = this.props.appliedFilters[r.field], h = r.values;
306
+ return a.join(",").indexOf(h) != -1;
307
+ }
308
+ return !1;
309
+ }).length > 0;
310
+ }
311
+ return !0;
312
+ })), i;
313
+ }
314
+ }
315
+ fillColor(e, t) {
316
+ const { mapNoDataColor: i, mainLayerId: o } = this.props;
317
+ let s;
318
+ if (e.properties && e.properties.variables && this.state.selectedMeasure && e.properties.value != null) {
319
+ const c = ae + this.state.selectedMeasure;
320
+ if (s = e.properties.variables[c.trim()], s)
321
+ return s;
322
+ }
323
+ if (e.properties.value != null && (o && e.properties.layerId === o || !o)) {
324
+ const c = t.find((r) => {
325
+ if (r.min != null && r.max != null)
326
+ return e.properties.value >= r.min && e.properties.value <= r.max;
327
+ if (r.min != null)
328
+ return e.properties.value >= r.min;
329
+ if (r.max != null)
330
+ return e.properties.value <= r.max;
331
+ });
332
+ return c && c.color ? c.color : i;
333
+ }
334
+ const l = this.props.enabledLayers.filter(
335
+ (c) => c.id === e.properties.layerId
336
+ )[0];
337
+ return l && l.bgColor && l.bgColor != "undefined" ? l.bgColor : i;
338
+ }
339
+ setValues() {
340
+ const e = this.getFeatures();
341
+ m.select(this.getMapId()).select("svg").select("g").selectAll("path").data(e).join("path").attr("d", this.path);
342
+ }
343
+ getLabelPosition(e) {
344
+ return e.properties.LABEL_LATITUDE && e.properties.LABEL_LONGITUDE ? this.projection([
345
+ e.properties.LABEL_LONGITUDE,
346
+ e.properties.LABEL_LATITUDE
347
+ ]) : this.path.centroid(e);
348
+ }
349
+ updateFeatures(e, t) {
350
+ const { mapLabelField: i, symbols: o, highlightedLocation: s } = this.props, l = [
351
+ ...e.filter((c) => s != c.properties[i]),
352
+ ...e.filter((c) => s == c.properties[i])
353
+ ];
354
+ this.drawPolygons(l), this.drawLabels(l), this.drawPoints(l, t), o.length > 0 && this.addSymbols(o, l);
355
+ }
356
+ drawLabels(e) {
357
+ const {
358
+ mapLabelField: t,
359
+ mapLabelShowValue: i,
360
+ intl: o,
361
+ valueFormat: s,
362
+ showNoDataLabel: l,
363
+ labelFontColor: c,
364
+ labelFontWeight: r,
365
+ labelFontSize: a,
366
+ showAdminUnitLabel: h,
367
+ mapType: n,
368
+ noDataText: u,
369
+ labelsExclusionList: f
370
+ } = this.props, g = m.select(this.getMapId()).select("svg").select("g");
371
+ if (g.selectAll(".map-labels-container").size() > 0) {
372
+ console.log("Labels already exist, skipping redraw...");
373
+ return;
374
+ }
375
+ g.selectAll(".map-labels").data(
376
+ e.filter((p) => f && f.length > 0 ? !f.includes(p.properties[t]) : !0)
377
+ ).enter().append("foreignObject").attr("class", "map-labels-container").attr("x", (p) => {
378
+ const d = this.getLabelPosition(p);
379
+ if (p.properties[t]) {
380
+ const v = this.getLabelBoxWidth(p);
381
+ return d[0] - v / 2;
382
+ }
383
+ return d[0];
384
+ }).attr("y", (p) => this.getLabelPosition(p)[1] - 10).attr("width", (p) => this.getLabelBoxWidth(p)).attr("height", (p) => this.getLabelBoxHeight(p)).attr("font-size", (p, d) => `${a}px`).attr("overflow", "visible").attr("opacity", 1).style("display", (p) => h === S || h === j && p.properties.hasDataRow ? "block" : "none").attr("pointer-events", n == "POINTS_MAP" ? "none" : "all").on("mouseover", this.showTooltip).on("mousemove", this.mousemove).on("mouseout", this.mouseout).append("xhtml:div").style("font-size", (p) => `${a}px`).style("color", (p, d) => c).style("font-weight", (p) => r).style("background-color", (p) => p.properties.hasDataRow && i && (p.properties.value != null || p.properties.value == null && l) ? "#fff6e1" : "none").style("border-radius", (p) => "4px").style("line-height", "95%").style("text-align", "center").html((p, d) => this.createLabel(p));
385
+ }
386
+ createLabel(e) {
387
+ const {
388
+ mapLabelField: t,
389
+ mapLabelShowValue: i,
390
+ intl: o,
391
+ valueFormat: s,
392
+ showNoDataLabel: l,
393
+ showAdminUnitLabel: c,
394
+ noDataText: r
395
+ } = this.props;
396
+ let a = "";
397
+ if (c == S || c == j && e.properties.hasDataRow) {
398
+ a = e.properties[t];
399
+ const h = e.properties.abbrev;
400
+ if (a && a.length > le && h && (a = h), i)
401
+ if (e.properties.value != null) {
402
+ const n = e.properties.variables || {};
403
+ a += "<br><span class='map-label-value'>" + k(
404
+ s,
405
+ {
406
+ value: e.properties.value,
407
+ measure: this.getSelectedMeasure(),
408
+ ...n
409
+ },
410
+ o
411
+ ) + "</span>";
412
+ } else
413
+ l == !0 && e.properties.value == null && e.properties.hasDataRow && (a += "<br><span class='map-label-value'>" + r + "</span>");
414
+ }
415
+ return a;
416
+ }
417
+ drawPolygons(e) {
418
+ const {
419
+ mapLabelField: t,
420
+ mapBoundaryColor: i,
421
+ mapFocusBoundaryColor: o,
422
+ highlightedLocation: s
423
+ } = this.props, l = this.getBreaks(), c = m.select(this.getMapId()).select("svg").select("g"), r = e.filter(
424
+ (a) => a.geometry && a.geometry && (a.geometry.type == "Polygon" || a.geometry.type == "MultiPolygon")
425
+ );
426
+ r.length > 0 && c.selectAll("path").data(r).join("path").attr("d", this.path).attr("fill", (a) => this.fillColor(a, l)).attr("stroke-width", (a) => s == a.properties[t] ? 1.2 : 0.4).attr("stroke", (a) => s == a.properties[t] ? o : i).on("click", this.onPolygonClick);
427
+ }
428
+ drawPoints(e, t) {
429
+ const {
430
+ intl: i,
431
+ pointLabelColor: o,
432
+ pointLabelFormat: s,
433
+ transformedData: l,
434
+ defaultPointColor: c,
435
+ appliedFilters: r,
436
+ zoomOnFilterField: a,
437
+ noDataText: h,
438
+ showShadingLayerLabels: n
439
+ } = this.props, u = m.select(this.getMapId()).select("svg").select("g");
440
+ let f = [];
441
+ if (l.pointsData) {
442
+ let p = this.state.selectedPolygon;
443
+ t && r && r[a] && (p = r[a]), f = l.pointsData.filter((d) => d.lat && d.lng && d.label == p).map((d) => ({
444
+ properties: {
445
+ label: d.label,
446
+ lat: d.lat,
447
+ lng: d.lng,
448
+ value: d.value,
449
+ variables: d.variables
450
+ }
451
+ })), u.selectAll(".circle").data(f).enter().append("circle").attr("id", (d, v) => "circle" + v).attr("cx", (d) => this.projection([
452
+ d.properties.lng,
453
+ d.properties.lat
454
+ ])[0]).attr("cy", (d) => this.projection([
455
+ d.properties.lng,
456
+ d.properties.lat
457
+ ])[1]).attr("r", (d, v) => 2).style("stroke-width", 0.5).style("fill", (d, v) => c).on("mouseover", (d, v) => this.onPointClick(d, v)).on("mouseout", this.mouseout);
458
+ }
459
+ const g = this.getBreaks();
460
+ let L = [];
461
+ n == S ? L = e.filter(
462
+ (p) => p.geometry && p.geometry.type == "Point"
463
+ ) : n == j && (L = e.filter(
464
+ (p) => p.geometry && p.geometry.type == "Point" && p.properties.hasDataRow
465
+ )), L.length > 0 && u.selectAll(".point-labels").data(L).enter().append("foreignObject").attr("id", (p, d) => "point-label" + d).attr("class", "point-labels-container").attr("x", (p) => {
466
+ const d = this.getLabelBoxWidth(p) + 20;
467
+ return this.projection([
468
+ p.geometry.coordinates[1],
469
+ p.geometry.coordinates[0]
470
+ ])[0] - d / 2;
471
+ }).attr("y", (p) => this.projection([
472
+ p.geometry.coordinates[1],
473
+ p.geometry.coordinates[0]
474
+ ])[1] - this.getLabelBoxHeight(p) / 2).attr("width", (p) => this.getLabelBoxWidth(p) + 20).attr("height", (p) => "1px").attr("overflow", "visible").attr("font-size", "12px").style("opacity", 1).append("xhtml:div").style("color", (p, d) => o).style("font-weight", (p) => "bold").style("background-color", (p) => this.fillColor(p, g)).style("padding", (p) => "5px 3px 5px 3px").style("border-radius", (p) => "4px").style("line-height", "100%").style("text-align", "center").html((p, d) => k(
475
+ s,
476
+ {
477
+ value: p.properties.value,
478
+ locationName: p.properties[this.props.mapLabelField]
479
+ },
480
+ i
481
+ )).on("mouseover", (p, d, v) => {
482
+ m.select(this.getMapId()).select("svg").select("g").select("#point-label" + v).raise(), this.showTooltip(p, d);
483
+ }).on("mousemove", this.mousemove).on("mouseout", this.mouseout);
484
+ }
485
+ addSymbols(e, t) {
486
+ const { mappingField: i } = this.props, o = m.select(this.getMapId()).select("svg").select("g");
487
+ e.forEach((s) => {
488
+ if (s.field && s.image && s.values) {
489
+ const l = t.filter((r) => {
490
+ const a = U == s.field ? i : "value", h = (r.properties[a] || (r.properties.variables ? r.properties.variables[a] : "")) + "", u = (s.values + "").split(",");
491
+ return r.properties.LATITUDE && r.properties.LONGITUDE && u.filter(
492
+ (f) => f.trim().toLowerCase() == h.trim().toLowerCase()
493
+ ).length > 0;
494
+ }), c = t.filter((r) => {
495
+ const a = U == s.field ? i : "value", h = (r.properties[a] || (r.properties.variables ? r.properties.variables[a] : "")) + "", u = (s.values + "").split(",");
496
+ return !r.properties.LATITUDE && !r.properties.LONGITUDE && u.filter(
497
+ (f) => f.trim().toLowerCase() == h.trim().toLowerCase()
498
+ ).length > 0;
499
+ });
500
+ o.selectAll("image").data(l).enter().append("image").attr("width", 40).attr("height", 40).attr("class", "map-symbol").attr("xlink:href", "/" + s.image).attr("transform", (r) => "translate(" + this.projection([r.properties.LONGITUDE, r.properties.LATITUDE]) + ")").on("mouseover", this.showTooltip).on("mousemove", this.mousemove).on("mouseout", this.mouseout), o.selectAll("image").data(c).enter().append("image").attr("width", 40).attr("height", 40).attr("class", "map-symbol").attr("xlink:href", "/" + s.image).attr("x", (r) => this.path.centroid(r)[0] - 20).attr("y", (r) => this.path.centroid(r)[1]).on("mouseover", this.showTooltip).on("mousemove", this.mousemove).on("mouseout", this.mouseout);
501
+ }
502
+ });
503
+ }
504
+ getLabelBoxHeight() {
505
+ const { mapLabelShowValue: e } = this.props;
506
+ return e ? 30 : 25;
507
+ }
508
+ getLabelBoxWidth(e) {
509
+ const { mapLabelField: t } = this.props, i = 80;
510
+ if (e.properties[t]) {
511
+ const o = e.properties[t].length;
512
+ return o < 10 ? i : o * 8;
513
+ }
514
+ return 0;
515
+ }
516
+ featuresZoom(e, t, i) {
517
+ const o = m.select(this.getMapId()).select("svg"), s = this.boundingExtent(e), [[l, c], [r, a]] = s, h = this.getWidth(), n = this.getHeight(), u = Math.min(
518
+ 8,
519
+ 0.9 / Math.max((r - l) / h, (a - c) / n)
520
+ ), f = [h / 2 - (l + r) / 2, n / 2 - (c + a) / 2];
521
+ t ? o.call(
522
+ this.zoom.transform,
523
+ m.zoomIdentity.translate(f[0], f[1]).scale(u)
524
+ ) : o.transition().duration(450).call(
525
+ this.zoom.transform,
526
+ m.zoomIdentity.translate(f[0], f[1]).scale(u)
527
+ ).on("end", i);
528
+ }
529
+ fullView() {
530
+ const { mapPosition: e, editing: t } = this.props, i = m.select(this.getMapId()).select("svg");
531
+ i.select("g").selectAll(".active").attr("class", function() {
532
+ return m.select(this).attr("class").replace(/background/gi, "");
533
+ });
534
+ let s = m.zoomIdentity;
535
+ e && !t ? s = s.translate(e.x, e.y).scale(e.k) : s = s.translate(0, 0).scale(1), i.transition().duration(300).call(this.zoom.transform, s);
536
+ }
537
+ showTooltip(e, t) {
538
+ let {
539
+ showTooltip: i,
540
+ zoomEnabled: o,
541
+ tooltipTheme: s,
542
+ customTooltips: l,
543
+ tooltipFontSize: c,
544
+ tooltipFormat: r,
545
+ intl: a,
546
+ mappingField: h,
547
+ showNoDataTooltip: n,
548
+ fields: u,
549
+ mapType: f,
550
+ noDataText: g
551
+ } = this.props;
552
+ if (o = !!["mobile", "tablet", "midTablet"].includes(
553
+ F()
554
+ ), i && t.properties.value != null || i && n) {
555
+ m.select(this.getMapId()).select("svg").select("g").selectAll(".active").attr("class", (z) => z.properties[h] === t.properties[h] ? "focus" + (o ? " zoom-enabled" : "") : "active" + (o ? " zoom-enabled" : ""));
556
+ const d = r || `{locationName} %({value},2)
557
+ {label}: %({value},2)`, v = t.properties.variables || {}, M = {
558
+ ...t.properties,
559
+ value: t.properties.value,
560
+ measure: this.getSelectedMeasure(),
561
+ measureLabel: t.properties.measureLabel,
562
+ locationName: t.properties[h],
563
+ ...v
564
+ };
565
+ this.tooltip.attr("class", s).style("position", "absolute").style("visibility", "hidden").style("visibility", "visible").html((z) => {
566
+ let y = `<div style='font-size:${c}px;' class='tooltip-content' >`;
567
+ if (t.properties.value != null) {
568
+ const x = d.split(`
569
+ `), A = x[0], B = x.length > 1 ? x[1] : null;
570
+ let D = 1, P;
571
+ u.length > 1 && f != "POINTS_MAP" ? (D = x.length > 2 ? 2 : 1, P = x[D]) : P = null, A && (y += k(A, M, a)), B && (y.endsWith("<hr>") || (y += "<hr>"), y += k(B, M, a)), P && t.properties.children && t.properties.children.forEach((C, W) => {
572
+ const Z = {
573
+ value: C.value,
574
+ label: C.label,
575
+ measure: this.getSelectedMeasure(),
576
+ measureLabel: t.properties.measureLabel,
577
+ ...v
578
+ };
579
+ y.endsWith("<hr>") || (y += "<hr>"), y += k(
580
+ P,
581
+ Z,
582
+ a
583
+ );
584
+ }), x.length > D + 1 && (y.endsWith("<hr>") || (y += "<hr>"), x.forEach((C, W) => {
585
+ W > D && (y.endsWith("<hr>") || (y += "<hr>"), y += k(C, M, a));
586
+ })), l.filter(
587
+ (C) => C.location === t.properties[h]
588
+ ).forEach((C) => {
589
+ y.endsWith("<hr>") || (y += "<hr>"), y += C.tooltip;
590
+ });
591
+ } else {
592
+ const x = r || `{locationName} %({value},2)
593
+ {label}: %({value},2)`, A = {
594
+ value: null,
595
+ measure: this.getSelectedMeasure(),
596
+ measureLabel: t.properties.measureLabel,
597
+ locationName: t.properties[h],
598
+ ...v
599
+ };
600
+ y += k(x, A, a), y += "</div>";
601
+ }
602
+ return y;
603
+ });
604
+ }
605
+ }
606
+ mousemove(e, t) {
607
+ this.tooltip.style("top", e.pageY + "px").style("left", e.pageX + 5 + "px");
608
+ }
609
+ mouseout(e, t) {
610
+ const { showTooltip: i } = this.props;
611
+ i && (m.select(this.getMapId()).select("svg").select("g").selectAll(".focus").attr("class", "active"), this.tooltip.style("visibility", "hidden"));
612
+ }
613
+ onClick(e, t) {
614
+ t.properties && this.tooltip.style("visibility", "visible").style("top", e.pageY + "px").style("left", e.pageX + 5 + "px"), e.stopPropagation(), e.preventDefault();
615
+ }
616
+ onPointClick(e, t, i) {
617
+ this.showTooltip(e, t), this.tooltip.style("visibility", "visible").style("top", e.pageY + "px").style("left", e.pageX + 5 + "px");
618
+ const o = m.select(this.getMapId()).select("svg").select("g");
619
+ o.selectAll("circle").style("fill", this.props.defaultPointColor).style("stroke", "none"), o.select("#circle" + i).raise().style("fill", "#fff");
620
+ }
621
+ onPolygonClick(e, t) {
622
+ const { mappingField: i } = this.props;
623
+ this.state.selectedPolygon !== t.properties[i] && t.properties.value !== null && this.setState({ selectedPolygon: t.properties[i] });
624
+ }
625
+ onZoomIn(e) {
626
+ m.select(this.getMapId()).select("svg").transition().call(this.zoom.scaleBy, 1.5);
627
+ }
628
+ onZoomOut() {
629
+ m.select(this.getMapId()).select("svg").transition().call(this.zoom.scaleBy, 0.6667);
630
+ }
631
+ getSelectedMeasure() {
632
+ let e = this.state.selectedMeasure;
633
+ return !e && this.props.transformedData && this.props.transformedData.measures && this.props.transformedData.measures.length > 1 && (e = this.props.transformedData.measures[0]), e;
634
+ }
635
+ getCollectionField(e) {
636
+ const { topoJSONField: t } = this.props;
637
+ if (e && e.objects) {
638
+ const i = Object.keys(e.objects);
639
+ for (const o in i) {
640
+ const s = i[o];
641
+ if (e.objects[s].type == "GeometryCollection")
642
+ return s;
643
+ }
644
+ }
645
+ return t;
646
+ }
647
+ extractFeatures(e) {
648
+ const t = this.getCollectionField(e);
649
+ return e && e.objects && e.objects[t] ? se.feature(e, e.objects[t]).features : e && e.features ? e.features : [];
650
+ }
651
+ getLayers() {
652
+ const { layers: e } = this.state, { enabledLayers: t } = this.props;
653
+ return e && e.length > 0 ? e.map((o) => {
654
+ const s = t.find((l) => l.id == o.id);
655
+ return o.index = s ? s.index : 0, o;
656
+ }).sort((o, s) => parseInt(o.index) < parseInt(s.index) ? 1 : parseInt(o.index) > parseInt(s.index) ? -1 : 0) : [];
657
+ }
658
+ getFeatures() {
659
+ const e = this.getMainLayer(), t = this.getLayers();
660
+ if (e) {
661
+ const { transformedData: i, mappingField: o, app: s, mainLayerId: l, enabledLayers: c } = this.props;
662
+ let r = [];
663
+ try {
664
+ r = this.extractFeatures(e), r.map((n) => (n.properties.layerId = l, n)), t && t.forEach((n) => {
665
+ if (n.id != l) {
666
+ let u = this.extractFeatures(n.data);
667
+ u = u.map((f) => (f.properties.layerId = n.id, f)), r = [...u, ...r];
668
+ }
669
+ });
670
+ } catch (n) {
671
+ console.log("error updating features .." + n);
672
+ }
673
+ const a = r.filter((n) => n.properties != null);
674
+ let h = i.locationsData;
675
+ return i.measures && i.measures.length > 1 && (h = i.locationsData.filter(
676
+ (n) => n.measure === this.getSelectedMeasure()
677
+ )), a.map((n) => {
678
+ if (h) {
679
+ const u = h.find((f) => {
680
+ const g = f.label ? ("" + f.label).toLowerCase() : "", L = n.properties[o] ? n.properties[o].toLowerCase() : "";
681
+ return g === L;
682
+ });
683
+ if (u) {
684
+ let f = u.measure;
685
+ i.measureLabelMap && u.measure && i.measureLabelMap[u.measure] && (f = i.measureLabelMap[u.measure]), n.properties.value = u.value, n.properties.measure = u.measure, n.properties.measureLabel = f, n.properties.children = u.children, n.properties.variables = u.variables, n.properties.hasDataRow = !0, Object.keys(u).forEach((g) => {
686
+ n.properties[g] = u[g];
687
+ });
688
+ } else
689
+ n.properties.value = null, n.properties.measure = null, n.properties.children = null, n.properties.measureLabel = null, n.properties.hasDataRow = !1;
690
+ }
691
+ }), a;
692
+ }
693
+ return [];
694
+ }
695
+ getMapId() {
696
+ const { unique: e } = this.props;
697
+ return ".map.wrapper." + e;
698
+ }
699
+ filterUpdated(e, t) {
700
+ const { zoomOnFilterField: i } = this.props, o = e && e.appliedFilters || {}, s = this.props.appliedFilters || {};
701
+ let l = !1;
702
+ return o[i] != s[i] && (l = !0), l;
703
+ }
704
+ getCenter(e, t) {
705
+ const { zoomOnFilter: i, zoomOnFilterField: o, mappingField: s, appliedFilters: l } = this.props;
706
+ let c = null;
707
+ if (i && o) {
708
+ let r = this.state.selectedPolygon;
709
+ t && l && l[o] && (r = l[o]);
710
+ const a = e.filter(
711
+ (h) => h.properties != null && h.properties[s] == r
712
+ )[0];
713
+ a && a.properties != null && a.properties.value && (c = a);
714
+ }
715
+ return c;
716
+ }
717
+ area(e) {
718
+ let t = 0;
719
+ const i = e.coordinates.length > 1 ? e.coordinates[0][0] : e.coordinates[0];
720
+ for (let o = 0; o < i.length - 1; o++)
721
+ t += i[o][0] * i[o + 1][1] - i[o + 1][0] * i[o][1];
722
+ return 0.5 * t;
723
+ }
724
+ centroid(e) {
725
+ const t = [0, 0], i = e.coordinates.length > 1 ? e.coordinates[0][0] : e.coordinates[0];
726
+ for (let s = 0; s < i.length - 1; s++)
727
+ t[0] += (i[s][0] + i[s + 1][0]) * (i[s][0] * i[s + 1][1] - i[s + 1][0] * i[s][1]), t[1] += (i[s][1] + i[s + 1][1]) * (i[s][0] * i[s + 1][1] - i[s + 1][0] * i[s][1]);
728
+ const o = this.area(e);
729
+ return t[0] /= o * 6, t[1] /= o * 6, t;
730
+ }
731
+ d3Map(e, t) {
732
+ let { zoomEnabled: i, mapContainerBgColor: o, mapPosition: s, editing: l, mapType: c } = this.props;
733
+ i || (i = !!["mobile", "tablet"].includes(F()));
734
+ const r = this.getBreaks(), a = m.select(this.getMapId());
735
+ let h = a.select("svg"), n = this.getWidth();
736
+ n === 0 ? n = window.innerWidth + V[F()] : n += V[F()];
737
+ const u = this.getHeight() - 100;
738
+ if (h.empty() ? h = a.append("svg") : h.selectAll("*").remove(), h.attr("style", `background-color:${o};`).attr("viewBox", `0 0 ${n} ${u}`).attr("preserveAspectRatio", "xMidYMid meet"), h.append("g").selectAll("path").data(e).enter().append("path").attr("fill", (g) => this.fillColor(g, r)).attr("d", m.geoPath().projection(this.projection)).attr("class", (g) => this.classColor(g)).on("mouseover", c !== "POINTS_MAP" ? this.showTooltip : null).on("mousemove", c !== "POINTS_MAP" ? this.mousemove : null).on("mouseout", c !== "POINTS_MAP" ? this.mouseout : null), this.mapPosition && h.transition().duration(300).call(
739
+ this.zoom.transform,
740
+ m.zoomIdentity.translate(this.mapPosition.x, this.mapPosition.y).scale(this.mapPosition.k)
741
+ ), !this.mapPosition && s && s.x && s.y && s.k && (h.transition().duration(300).call(
742
+ this.zoom.transform,
743
+ m.zoomIdentity.translate(s.x, s.y).scale(s.k)
744
+ ), c === "POINTS_MAP")) {
745
+ const L = {
746
+ mobile: 100,
747
+ tablet: 0,
748
+ midTablet: 0,
749
+ desktop: 0,
750
+ laptop: 0,
751
+ wide: 0
752
+ }[F()];
753
+ h.transition().duration(300).call(
754
+ this.zoom.transform,
755
+ m.zoomIdentity.translate(s.x + L, s.y).scale(s.k)
756
+ );
757
+ }
758
+ i || l ? h.call(this.zoom) : h.on("dblclick.zoom", null);
759
+ const f = this.getCenter(e, t);
760
+ if (f) {
761
+ const g = this.path.bounds(f), L = [
762
+ (g[0][0] + g[1][0]) / 2,
763
+ (g[0][1] + g[1][1]) / 2
764
+ ];
765
+ h.transition().duration(750).call(
766
+ this.zoom.transform,
767
+ m.zoomIdentity.translate(n / 2, u / 2).scale(12).translate(-L[0], -L[1])
768
+ );
769
+ }
770
+ }
771
+ getAvg() {
772
+ const { transformedData: e } = this.props;
773
+ return e.nationalData.value;
774
+ }
775
+ selectedMeasureChanged(e) {
776
+ this.state.selectedMeasure != e && this.setState({ selectedMeasure: e });
777
+ }
778
+ getFilters() {
779
+ const { appliedFilters: e } = this.props, t = {};
780
+ return e && Object.keys(e).forEach((o) => {
781
+ const s = e[o];
782
+ s && (t[o] = Array.isArray(s) ? s.join(" ,") : s);
783
+ }), t;
784
+ }
785
+ getHighlightedLocationData() {
786
+ const { highlightedLocation: e, transformedData: t } = this.props;
787
+ let i = t.locationsData;
788
+ return t.measures && t.measures.length > 1 && (i = t.locationsData.filter(
789
+ (s) => s.measure === this.getSelectedMeasure()
790
+ )), i.find(
791
+ (s) => s.label === e
792
+ );
793
+ }
794
+ getHighlightedLocationColor(e) {
795
+ const t = this.getBreaks(), { mapNoDataColor: i } = this.props, o = e ? e.value : null;
796
+ if (o != null) {
797
+ const s = t.find((l) => {
798
+ if (l.min != null && l.max != null)
799
+ return o >= l.min && o <= l.max;
800
+ if (l.min != null)
801
+ return o >= l.min;
802
+ if (l.max != null)
803
+ return o <= l.max;
804
+ });
805
+ return s && s.color ? s.color : i;
806
+ }
807
+ return i;
808
+ }
809
+ renderLoader() {
810
+ return /* @__PURE__ */ b(R, { className: "loading", children: /* @__PURE__ */ b(
811
+ K,
812
+ {
813
+ basic: !0,
814
+ padded: !0,
815
+ textAlign: "center",
816
+ style: { margin: "30px" },
817
+ children: /* @__PURE__ */ b(Q, { active: !0, inverted: !0, children: /* @__PURE__ */ b(ee, { size: "medium" }) })
818
+ }
819
+ ) });
820
+ }
821
+ noMapSelected() {
822
+ return /* @__PURE__ */ w(N, { icon: !0, warning: !0, children: [
823
+ /* @__PURE__ */ b(E, { name: "map outline" }),
824
+ /* @__PURE__ */ w(N.Content, { children: [
825
+ /* @__PURE__ */ b(N.Header, { children: "No map selected" }),
826
+ "Pick one from the list in the ",
827
+ /* @__PURE__ */ b("strong", { children: "Map Layers" }),
828
+ " section."
829
+ ] })
830
+ ] });
831
+ }
832
+ render() {
833
+ let {
834
+ app: e,
835
+ legendTitle: t,
836
+ nationalAverageLabel: i,
837
+ intl: o,
838
+ zoomEnabled: s,
839
+ transformedData: l,
840
+ measureSelectorLabel: c,
841
+ valueFormat: r,
842
+ showOverallValue: a,
843
+ unique: h,
844
+ highlightedLocation: n,
845
+ labelFontColor: u,
846
+ legendFontSize: f,
847
+ editing: g,
848
+ highlightedLocLabelFormat: L,
849
+ noDataText: p
850
+ } = this.props;
851
+ s || (s = !!["mobile", "tablet", "midTablet"].includes(
852
+ F()
853
+ ));
854
+ const d = this.getAvg(), v = this.getFilters(), M = this.getHighlightedLocationData(), z = {
855
+ backgroundColor: this.getHighlightedLocationColor(M),
856
+ color: u,
857
+ fontSize: f + "px"
858
+ };
859
+ g && (z.marginTop = "25px");
860
+ const y = () => /* @__PURE__ */ w(R, { fluid: !0, className: "footnote ", children: [
861
+ /* @__PURE__ */ w(O, { columns: 2, children: [
862
+ e !== "csv" && a && /* @__PURE__ */ b(O.Column, { textAlign: "left", width: 4, children: /* @__PURE__ */ w("div", { className: "national-average-div", children: [
863
+ /* @__PURE__ */ b("span", { className: "national-avg-label", children: i }),
864
+ /* @__PURE__ */ b("span", { className: "national-avg-value", children: k(
865
+ r,
866
+ { value: d },
867
+ o
868
+ ) })
869
+ ] }) }),
870
+ /* @__PURE__ */ b(
871
+ O.Column,
872
+ {
873
+ textAlign: "right",
874
+ width: e !== "csv" && a ? 12 : 16,
875
+ children: /* @__PURE__ */ b(
876
+ ie,
877
+ {
878
+ filteredBreaks: this.getBreaks(),
879
+ formattedLegendTitle: k(
880
+ t,
881
+ { ...v },
882
+ o
883
+ ),
884
+ selectedMeasure: this.state.selectedMeasure,
885
+ ...this.props
886
+ }
887
+ )
888
+ }
889
+ )
890
+ ] }),
891
+ /* @__PURE__ */ b("div", { className: "measure-selector", children: /* @__PURE__ */ w("ul", { children: [
892
+ c && /* @__PURE__ */ b("li", { children: /* @__PURE__ */ b("span", { className: "label", children: c }) }),
893
+ l && l.measures && l.measures.length > 1 && l.measures.map((x) => /* @__PURE__ */ w("li", { onClick: this.selectedMeasureChanged.bind(this, x), children: [
894
+ /* @__PURE__ */ b(
895
+ "input",
896
+ {
897
+ checked: this.getSelectedMeasure() === x,
898
+ type: "radio",
899
+ value: x
900
+ }
901
+ ),
902
+ /* @__PURE__ */ b("label", { children: l.measureLabelMap[x] || x })
903
+ ] }))
904
+ ] }) })
905
+ ] });
906
+ return /* @__PURE__ */ w("div", { className: "map component wp-data-viz-map", ref: this.mapContainer, children: [
907
+ this.state.layersLoading && (g ? this.noMapSelected() : this.renderLoader()),
908
+ !this.state.layersLoading && /* @__PURE__ */ w(X, { children: [
909
+ !G && /* @__PURE__ */ b(y, {}),
910
+ /* @__PURE__ */ w(
911
+ "div",
912
+ {
913
+ className: "map wrapper scaling-svg-container " + h,
914
+ style: {
915
+ height: this.props.height - ce[F()] + "px"
916
+ },
917
+ children: [
918
+ M && M.value && /* @__PURE__ */ b(
919
+ "div",
920
+ {
921
+ className: "highlighted-loc-info",
922
+ style: z,
923
+ children: /* @__PURE__ */ w("span", { children: [
924
+ " ",
925
+ k(
926
+ L,
927
+ {
928
+ value: M.value,
929
+ locationName: M.label,
930
+ measureName: M.measure
931
+ },
932
+ o
933
+ )
934
+ ] })
935
+ }
936
+ ),
937
+ (g || s) && !he && /* @__PURE__ */ w("div", { className: "control panel ignore", children: [
938
+ /* @__PURE__ */ b("div", { className: "zoom plus", onClick: this.onZoomIn, children: /* @__PURE__ */ b(E, { name: "plus", size: "large" }) }),
939
+ /* @__PURE__ */ b("div", { className: "zoom minus", onClick: this.onZoomOut, children: /* @__PURE__ */ b(E, { name: "minus", size: "large" }) }),
940
+ /* @__PURE__ */ b(
941
+ te,
942
+ {
943
+ content: /* @__PURE__ */ b(
944
+ q,
945
+ {
946
+ id: "map.reset.tooltip",
947
+ defaultMessage: "Reset zoom"
948
+ }
949
+ ),
950
+ trigger: /* @__PURE__ */ b("div", { className: "reset", onClick: this.onReset, children: /* @__PURE__ */ b(E, { name: "repeat", size: "large" }) })
951
+ }
952
+ )
953
+ ] })
954
+ ]
955
+ }
956
+ ),
957
+ G && /* @__PURE__ */ b(y, {})
958
+ ] })
959
+ ] });
960
+ }
961
+ }
962
+ const Me = Y(de);
963
+ export {
964
+ Me as default
965
+ };