@unovis/ts 1.1.1-beta.7 → 1.1.1-beta.9

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 (710) hide show
  1. package/components/area/config.d.ts +25 -0
  2. package/components/area/config.js +16 -0
  3. package/components/area/config.js.map +1 -0
  4. package/components/area/index.d.ts +19 -0
  5. package/components/area/index.js +102 -0
  6. package/components/area/index.js.map +1 -0
  7. package/components/area/style.d.ts +3 -0
  8. package/{src/components/area/style.ts → components/area/style.js} +10 -9
  9. package/components/area/style.js.map +1 -0
  10. package/components/area/types.d.ts +6 -0
  11. package/components/axis/config.d.ts +71 -0
  12. package/components/axis/config.js +32 -0
  13. package/components/axis/config.js.map +1 -0
  14. package/components/axis/index.d.ts +44 -0
  15. package/components/axis/index.js +305 -0
  16. package/components/axis/index.js.map +1 -0
  17. package/components/axis/style.d.ts +9 -0
  18. package/{src/components/axis/style.ts → components/axis/style.js} +22 -27
  19. package/components/axis/style.js.map +1 -0
  20. package/components/axis/types.d.ts +4 -0
  21. package/components/axis/types.js +8 -0
  22. package/components/axis/types.js.map +1 -0
  23. package/components/brush/config.d.ts +42 -0
  24. package/components/brush/config.js +24 -0
  25. package/components/brush/config.js.map +1 -0
  26. package/components/brush/index.d.ts +28 -0
  27. package/components/brush/index.js +199 -0
  28. package/components/brush/index.js.map +1 -0
  29. package/components/brush/style.d.ts +5 -0
  30. package/{src/components/brush/style.ts → components/brush/style.js} +14 -15
  31. package/components/brush/style.js.map +1 -0
  32. package/components/brush/types.d.ts +7 -0
  33. package/components/brush/types.js +8 -0
  34. package/components/brush/types.js.map +1 -0
  35. package/components/bullet-legend/config.d.ts +34 -0
  36. package/components/bullet-legend/config.js +16 -0
  37. package/components/bullet-legend/config.js.map +1 -0
  38. package/components/bullet-legend/index.d.ts +19 -0
  39. package/components/bullet-legend/index.js +79 -0
  40. package/components/bullet-legend/index.js.map +1 -0
  41. package/components/bullet-legend/style.d.ts +6 -0
  42. package/{src/components/bullet-legend/style.ts → components/bullet-legend/style.js} +16 -18
  43. package/components/bullet-legend/style.js.map +1 -0
  44. package/components/bullet-legend/types.d.ts +7 -0
  45. package/components/bullet-legend/types.js +2 -0
  46. package/components/bullet-legend/types.js.map +1 -0
  47. package/components/chord-diagram/config.d.ts +44 -0
  48. package/components/chord-diagram/config.js +25 -0
  49. package/components/chord-diagram/config.js.map +1 -0
  50. package/components/chord-diagram/index.d.ts +42 -0
  51. package/components/chord-diagram/index.js +305 -0
  52. package/components/chord-diagram/index.js.map +1 -0
  53. package/components/chord-diagram/modules/label.d.ts +8 -0
  54. package/components/chord-diagram/modules/label.js +115 -0
  55. package/components/chord-diagram/modules/label.js.map +1 -0
  56. package/components/chord-diagram/modules/link.d.ts +21 -0
  57. package/components/chord-diagram/modules/link.js +63 -0
  58. package/components/chord-diagram/modules/link.js.map +1 -0
  59. package/components/chord-diagram/modules/node.d.ts +17 -0
  60. package/components/chord-diagram/modules/node.js +52 -0
  61. package/components/chord-diagram/modules/node.js.map +1 -0
  62. package/components/chord-diagram/style.d.ts +13 -0
  63. package/{src/components/chord-diagram/style.ts → components/chord-diagram/style.js} +30 -39
  64. package/components/chord-diagram/style.js.map +1 -0
  65. package/components/chord-diagram/types.d.ts +58 -0
  66. package/components/chord-diagram/types.js +8 -0
  67. package/components/chord-diagram/types.js.map +1 -0
  68. package/components/crosshair/config.d.ts +43 -0
  69. package/components/crosshair/config.js +19 -0
  70. package/components/crosshair/config.js.map +1 -0
  71. package/components/crosshair/index.d.ts +35 -0
  72. package/components/crosshair/index.js +183 -0
  73. package/components/crosshair/index.js.map +1 -0
  74. package/components/crosshair/style.d.ts +4 -0
  75. package/{src/components/crosshair/style.ts → components/crosshair/style.js} +12 -12
  76. package/components/crosshair/style.js.map +1 -0
  77. package/components/crosshair/types.d.ts +13 -0
  78. package/components/crosshair/types.js +2 -0
  79. package/components/crosshair/types.js.map +1 -0
  80. package/components/donut/config.d.ts +59 -0
  81. package/components/donut/config.js +28 -0
  82. package/components/donut/config.js.map +1 -0
  83. package/components/donut/index.d.ts +21 -0
  84. package/components/donut/index.js +107 -0
  85. package/components/donut/index.js.map +1 -0
  86. package/components/donut/modules/arc.d.ts +10 -0
  87. package/components/donut/modules/arc.js +59 -0
  88. package/components/donut/modules/arc.js.map +1 -0
  89. package/components/donut/style.d.ts +7 -0
  90. package/{src/components/donut/style.ts → components/donut/style.js} +18 -20
  91. package/components/donut/style.js.map +1 -0
  92. package/components/donut/types.d.ts +20 -0
  93. package/components/flow-legend/config.d.ts +29 -0
  94. package/components/flow-legend/config.js +18 -0
  95. package/components/flow-legend/config.js.map +1 -0
  96. package/components/flow-legend/index.d.ts +16 -0
  97. package/components/flow-legend/index.js +75 -0
  98. package/components/flow-legend/index.js.map +1 -0
  99. package/components/flow-legend/style.d.ts +8 -0
  100. package/{src/components/flow-legend/style.ts → components/flow-legend/style.js} +21 -25
  101. package/components/flow-legend/style.js.map +1 -0
  102. package/components/flow-legend/types.d.ts +9 -0
  103. package/components/flow-legend/types.js +8 -0
  104. package/components/flow-legend/types.js.map +1 -0
  105. package/components/free-brush/config.d.ts +45 -0
  106. package/components/free-brush/config.js +24 -0
  107. package/components/free-brush/config.js.map +1 -0
  108. package/components/free-brush/index.d.ts +20 -0
  109. package/components/free-brush/index.js +192 -0
  110. package/components/free-brush/index.js.map +1 -0
  111. package/components/free-brush/style.d.ts +4 -0
  112. package/{src/components/free-brush/style.ts → components/free-brush/style.js} +12 -12
  113. package/components/free-brush/style.js.map +1 -0
  114. package/components/free-brush/types.d.ts +7 -0
  115. package/components/free-brush/types.js +9 -0
  116. package/components/free-brush/types.js.map +1 -0
  117. package/components/graph/config.d.ts +238 -0
  118. package/components/graph/config.js +84 -0
  119. package/components/graph/config.js.map +1 -0
  120. package/components/graph/index.d.ts +126 -0
  121. package/components/graph/index.js +656 -0
  122. package/components/graph/index.js.map +1 -0
  123. package/components/graph/modules/layout-helpers.d.ts +21 -0
  124. package/components/graph/modules/layout-helpers.js +69 -0
  125. package/components/graph/modules/layout-helpers.js.map +1 -0
  126. package/components/graph/modules/layout.d.ts +10 -0
  127. package/components/graph/modules/layout.js +399 -0
  128. package/components/graph/modules/layout.js.map +1 -0
  129. package/components/graph/modules/link/helper.d.ts +25 -0
  130. package/components/graph/modules/link/helper.js +74 -0
  131. package/components/graph/modules/link/helper.js.map +1 -0
  132. package/components/graph/modules/link/index.d.ts +11 -0
  133. package/components/graph/modules/link/index.js +212 -0
  134. package/components/graph/modules/link/index.js.map +1 -0
  135. package/components/graph/modules/link/style.d.ts +15 -0
  136. package/{src/components/graph/modules/link/style.ts → components/graph/modules/link/style.js} +34 -45
  137. package/components/graph/modules/link/style.js.map +1 -0
  138. package/components/graph/modules/node/helper.d.ts +21 -0
  139. package/components/graph/modules/node/helper.js +126 -0
  140. package/components/graph/modules/node/helper.js.map +1 -0
  141. package/components/graph/modules/node/index.d.ts +11 -0
  142. package/components/graph/modules/node/index.js +252 -0
  143. package/components/graph/modules/node/index.js.map +1 -0
  144. package/components/graph/modules/node/style.d.ts +24 -0
  145. package/{src/components/graph/modules/node/style.ts → components/graph/modules/node/style.js} +52 -72
  146. package/components/graph/modules/node/style.js.map +1 -0
  147. package/components/graph/modules/panel/helper.d.ts +18 -0
  148. package/components/graph/modules/panel/helper.js +111 -0
  149. package/components/graph/modules/panel/helper.js.map +1 -0
  150. package/components/graph/modules/panel/index.d.ts +7 -0
  151. package/components/graph/modules/panel/index.js +98 -0
  152. package/components/graph/modules/panel/index.js.map +1 -0
  153. package/components/graph/modules/panel/style.d.ts +14 -0
  154. package/{src/components/graph/modules/panel/style.ts → components/graph/modules/panel/style.js} +32 -42
  155. package/components/graph/modules/panel/style.js.map +1 -0
  156. package/components/graph/modules/shape.d.ts +6 -0
  157. package/components/graph/modules/shape.js +80 -0
  158. package/components/graph/modules/shape.js.map +1 -0
  159. package/components/graph/modules/zoom-levels.d.ts +6 -0
  160. package/components/graph/modules/zoom-levels.js +10 -0
  161. package/components/graph/modules/zoom-levels.js.map +1 -0
  162. package/components/graph/style.d.ts +6 -0
  163. package/components/graph/style.js +66 -0
  164. package/components/graph/style.js.map +1 -0
  165. package/components/graph/types.d.ts +125 -0
  166. package/components/graph/types.js +30 -0
  167. package/components/graph/types.js.map +1 -0
  168. package/components/grouped-bar/config.d.ts +36 -0
  169. package/components/grouped-bar/config.js +20 -0
  170. package/components/grouped-bar/config.js.map +1 -0
  171. package/components/grouped-bar/index.d.ts +32 -0
  172. package/components/grouped-bar/index.js +249 -0
  173. package/components/grouped-bar/index.js.map +1 -0
  174. package/components/grouped-bar/style.d.ts +5 -0
  175. package/{src/components/grouped-bar/style.ts → components/grouped-bar/style.js} +14 -15
  176. package/components/grouped-bar/style.js.map +1 -0
  177. package/components/leaflet-flow-map/config.d.ts +46 -0
  178. package/components/leaflet-flow-map/config.js +25 -0
  179. package/components/leaflet-flow-map/config.js.map +1 -0
  180. package/components/leaflet-flow-map/index.d.ts +52 -0
  181. package/components/leaflet-flow-map/index.js +220 -0
  182. package/components/leaflet-flow-map/index.js.map +1 -0
  183. package/components/leaflet-flow-map/renderer-utils.d.ts +5 -0
  184. package/components/leaflet-flow-map/renderer-utils.js +15 -0
  185. package/components/leaflet-flow-map/renderer-utils.js.map +1 -0
  186. package/components/leaflet-flow-map/renderer.d.ts +26 -0
  187. package/components/leaflet-flow-map/renderer.js +117 -0
  188. package/components/leaflet-flow-map/renderer.js.map +1 -0
  189. package/components/leaflet-flow-map/shaders.d.ts +2 -0
  190. package/{src/components/leaflet-flow-map/shaders.ts → components/leaflet-flow-map/shaders.js} +7 -4
  191. package/components/leaflet-flow-map/shaders.js.map +1 -0
  192. package/components/leaflet-flow-map/types.d.ts +23 -0
  193. package/components/leaflet-map/config.d.ts +193 -0
  194. package/components/leaflet-map/config.js +71 -0
  195. package/components/leaflet-map/config.js.map +1 -0
  196. package/components/leaflet-map/index.d.ts +130 -0
  197. package/components/leaflet-map/index.js +690 -0
  198. package/components/leaflet-map/index.js.map +1 -0
  199. package/components/leaflet-map/leaflet.css.js +5 -0
  200. package/components/leaflet-map/leaflet.css.js.map +1 -0
  201. package/components/leaflet-map/modules/clusterBackground.d.ts +5 -0
  202. package/components/leaflet-map/modules/clusterBackground.js +27 -0
  203. package/components/leaflet-map/modules/clusterBackground.js.map +1 -0
  204. package/components/leaflet-map/modules/donut.d.ts +3 -0
  205. package/components/leaflet-map/modules/donut.js +25 -0
  206. package/components/leaflet-map/modules/donut.js.map +1 -0
  207. package/components/leaflet-map/modules/map.d.ts +14 -0
  208. package/components/leaflet-map/modules/map.js +154 -0
  209. package/components/leaflet-map/modules/map.js.map +1 -0
  210. package/components/leaflet-map/modules/node.d.ts +9 -0
  211. package/components/leaflet-map/modules/node.js +162 -0
  212. package/components/leaflet-map/modules/node.js.map +1 -0
  213. package/components/leaflet-map/modules/selectionRing.d.ts +7 -0
  214. package/components/leaflet-map/modules/selectionRing.js +41 -0
  215. package/components/leaflet-map/modules/selectionRing.js.map +1 -0
  216. package/components/leaflet-map/modules/utils.d.ts +50 -0
  217. package/components/leaflet-map/modules/utils.js +210 -0
  218. package/components/leaflet-map/modules/utils.js.map +1 -0
  219. package/{src/components → components}/leaflet-map/renderer/leaflet-maplibre-gl.js +78 -76
  220. package/components/leaflet-map/renderer/leaflet-maplibre-gl.js.map +1 -0
  221. package/components/leaflet-map/renderer/map-style.d.ts +4 -0
  222. package/components/leaflet-map/renderer/map-style.js +15 -0
  223. package/components/leaflet-map/renderer/map-style.js.map +1 -0
  224. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +40 -0
  225. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js.map +1 -0
  226. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +40 -0
  227. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js.map +1 -0
  228. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +4981 -0
  229. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js.map +1 -0
  230. package/components/leaflet-map/renderer/mapboxgl-layer.d.ts +8 -0
  231. package/components/leaflet-map/renderer/mapboxgl-layer.js +27 -0
  232. package/components/leaflet-map/renderer/mapboxgl-layer.js.map +1 -0
  233. package/components/leaflet-map/renderer/mapboxgl-utils.d.ts +4 -0
  234. package/components/leaflet-map/renderer/mapboxgl-utils.js +39 -0
  235. package/components/leaflet-map/renderer/mapboxgl-utils.js.map +1 -0
  236. package/{src/components → components}/leaflet-map/renderer/maplibre-gl.css.js +4 -2
  237. package/components/leaflet-map/renderer/maplibre-gl.css.js.map +1 -0
  238. package/components/leaflet-map/style.d.ts +52 -0
  239. package/components/leaflet-map/style.js +183 -0
  240. package/components/leaflet-map/style.js.map +1 -0
  241. package/components/leaflet-map/types.d.ts +75 -0
  242. package/components/leaflet-map/types.js +15 -0
  243. package/components/leaflet-map/types.js.map +1 -0
  244. package/components/line/config.d.ts +30 -0
  245. package/components/line/config.js +17 -0
  246. package/components/line/config.js.map +1 -0
  247. package/components/line/index.d.ts +27 -0
  248. package/components/line/index.js +152 -0
  249. package/components/line/index.js.map +1 -0
  250. package/components/line/style.d.ts +6 -0
  251. package/{src/components/line/style.ts → components/line/style.js} +16 -18
  252. package/components/line/style.js.map +1 -0
  253. package/components/line/types.d.ts +12 -0
  254. package/components/nested-donut/config.d.ts +59 -0
  255. package/components/nested-donut/config.js +19 -0
  256. package/components/nested-donut/config.js.map +1 -0
  257. package/components/nested-donut/index.d.ts +38 -0
  258. package/components/nested-donut/index.js +133 -0
  259. package/components/nested-donut/index.js.map +1 -0
  260. package/components/nested-donut/modules/arc.d.ts +17 -0
  261. package/components/nested-donut/modules/arc.js +50 -0
  262. package/components/nested-donut/modules/arc.js.map +1 -0
  263. package/components/nested-donut/modules/label.d.ts +7 -0
  264. package/components/nested-donut/modules/label.js +34 -0
  265. package/components/nested-donut/modules/label.js.map +1 -0
  266. package/components/nested-donut/style.d.ts +26 -0
  267. package/components/nested-donut/style.js +70 -0
  268. package/components/nested-donut/style.js.map +1 -0
  269. package/components/nested-donut/types.d.ts +24 -0
  270. package/components/nested-donut/types.js +11 -0
  271. package/components/nested-donut/types.js.map +1 -0
  272. package/components/sankey/config.d.ts +162 -0
  273. package/components/sankey/config.js +65 -0
  274. package/components/sankey/config.js.map +1 -0
  275. package/components/sankey/index.d.ts +59 -0
  276. package/components/sankey/index.js +306 -0
  277. package/components/sankey/index.js.map +1 -0
  278. package/components/sankey/modules/label.d.ts +23 -0
  279. package/components/sankey/modules/label.js +168 -0
  280. package/components/sankey/modules/label.js.map +1 -0
  281. package/components/sankey/modules/link.d.ts +14 -0
  282. package/components/sankey/modules/link.js +108 -0
  283. package/components/sankey/modules/link.js.map +1 -0
  284. package/components/sankey/modules/node.d.ts +10 -0
  285. package/components/sankey/modules/node.js +156 -0
  286. package/components/sankey/modules/node.js.map +1 -0
  287. package/components/sankey/style.d.ts +20 -0
  288. package/{src/components/sankey/style.ts → components/sankey/style.js} +44 -60
  289. package/components/sankey/style.js.map +1 -0
  290. package/components/sankey/types.d.ts +84 -0
  291. package/components/sankey/types.js +34 -0
  292. package/components/sankey/types.js.map +1 -0
  293. package/components/scatter/config.d.ts +44 -0
  294. package/components/scatter/config.js +23 -0
  295. package/components/scatter/config.js.map +1 -0
  296. package/components/scatter/index.d.ts +28 -0
  297. package/components/scatter/index.js +167 -0
  298. package/components/scatter/index.js.map +1 -0
  299. package/components/scatter/modules/point.d.ts +7 -0
  300. package/components/scatter/modules/point.js +86 -0
  301. package/components/scatter/modules/point.js.map +1 -0
  302. package/components/scatter/modules/utils.d.ts +11 -0
  303. package/components/scatter/modules/utils.js +112 -0
  304. package/components/scatter/modules/utils.js.map +1 -0
  305. package/components/scatter/style.d.ts +5 -0
  306. package/{src/components/scatter/style.ts → components/scatter/style.js} +14 -15
  307. package/components/scatter/style.js.map +1 -0
  308. package/components/scatter/types.d.ts +19 -0
  309. package/components/stacked-bar/config.d.ts +38 -0
  310. package/components/stacked-bar/config.js +20 -0
  311. package/components/stacked-bar/config.js.map +1 -0
  312. package/components/stacked-bar/index.d.ts +28 -0
  313. package/components/stacked-bar/index.js +208 -0
  314. package/components/stacked-bar/index.js.map +1 -0
  315. package/components/stacked-bar/style.d.ts +5 -0
  316. package/{src/components/stacked-bar/style.ts → components/stacked-bar/style.js} +14 -15
  317. package/components/stacked-bar/style.js.map +1 -0
  318. package/components/stacked-bar/types.d.ts +5 -0
  319. package/components/timeline/config.d.ts +43 -0
  320. package/components/timeline/config.js +24 -0
  321. package/components/timeline/config.js.map +1 -0
  322. package/components/timeline/index.d.ts +41 -0
  323. package/components/timeline/index.js +244 -0
  324. package/components/timeline/index.js.map +1 -0
  325. package/components/timeline/style.d.ts +13 -0
  326. package/{src/components/timeline/style.ts → components/timeline/style.js} +30 -39
  327. package/components/timeline/style.js.map +1 -0
  328. package/components/tooltip/config.d.ts +68 -0
  329. package/components/tooltip/config.js +20 -0
  330. package/components/tooltip/config.js.map +1 -0
  331. package/components/tooltip/index.d.ts +36 -0
  332. package/components/tooltip/index.js +184 -0
  333. package/components/tooltip/index.js.map +1 -0
  334. package/{src/components → components}/tooltip/style.js +14 -11
  335. package/components/tooltip/style.js.map +1 -0
  336. package/components/topojson-map/config.d.ts +99 -0
  337. package/components/topojson-map/config.js +42 -0
  338. package/components/topojson-map/config.js.map +1 -0
  339. package/components/topojson-map/index.d.ts +52 -0
  340. package/components/topojson-map/index.js +355 -0
  341. package/components/topojson-map/index.js.map +1 -0
  342. package/components/topojson-map/style.d.ts +11 -0
  343. package/{src/components/topojson-map/style.ts → components/topojson-map/style.js} +26 -33
  344. package/components/topojson-map/style.js.map +1 -0
  345. package/components/topojson-map/types.d.ts +78 -0
  346. package/components/topojson-map/types.js +80 -0
  347. package/components/topojson-map/types.js.map +1 -0
  348. package/components/topojson-map/utils.d.ts +3 -0
  349. package/components/topojson-map/utils.js +30 -0
  350. package/components/topojson-map/utils.js.map +1 -0
  351. package/components/vis-controls/config.d.ts +12 -0
  352. package/components/vis-controls/config.js +13 -0
  353. package/components/vis-controls/config.js.map +1 -0
  354. package/components/vis-controls/index.d.ts +14 -0
  355. package/components/vis-controls/index.js +52 -0
  356. package/components/vis-controls/index.js.map +1 -0
  357. package/components/vis-controls/style.d.ts +11 -0
  358. package/{src/components/vis-controls/style.ts → components/vis-controls/style.js} +27 -34
  359. package/components/vis-controls/style.js.map +1 -0
  360. package/components/vis-controls/types.d.ts +13 -0
  361. package/components/vis-controls/types.js +8 -0
  362. package/components/vis-controls/types.js.map +1 -0
  363. package/components/xy-labels/config.d.ts +48 -0
  364. package/components/xy-labels/config.js +25 -0
  365. package/components/xy-labels/config.js.map +1 -0
  366. package/components/xy-labels/index.d.ts +15 -0
  367. package/components/xy-labels/index.js +87 -0
  368. package/components/xy-labels/index.js.map +1 -0
  369. package/components/xy-labels/modules/label.d.ts +9 -0
  370. package/components/xy-labels/modules/label.js +107 -0
  371. package/components/xy-labels/modules/label.js.map +1 -0
  372. package/components/xy-labels/style.d.ts +5 -0
  373. package/{src/components/xy-labels/style.ts → components/xy-labels/style.js} +14 -15
  374. package/components/xy-labels/style.js.map +1 -0
  375. package/components/xy-labels/types.d.ts +23 -0
  376. package/components/xy-labels/types.js +9 -0
  377. package/components/xy-labels/types.js.map +1 -0
  378. package/components.d.ts +51 -0
  379. package/components.js +29 -0
  380. package/components.js.map +1 -0
  381. package/containers/single-container/config.d.ts +12 -0
  382. package/containers/single-container/config.js +12 -0
  383. package/containers/single-container/config.js.map +1 -0
  384. package/containers/single-container/index.d.ts +19 -0
  385. package/containers/single-container/index.js +128 -0
  386. package/containers/single-container/index.js.map +1 -0
  387. package/containers/xy-container/config.d.ts +99 -0
  388. package/containers/xy-container/config.js +30 -0
  389. package/containers/xy-container/config.js.map +1 -0
  390. package/containers/xy-container/index.d.ts +34 -0
  391. package/containers/xy-container/index.js +330 -0
  392. package/containers/xy-container/index.js.map +1 -0
  393. package/containers.d.ts +6 -0
  394. package/containers.js +4 -0
  395. package/containers.js.map +1 -0
  396. package/core/component/config.d.ts +58 -0
  397. package/core/component/config.js +14 -0
  398. package/core/component/config.js.map +1 -0
  399. package/core/component/index.d.ts +43 -0
  400. package/core/component/index.js +118 -0
  401. package/core/component/index.js.map +1 -0
  402. package/core/component/types.d.ts +2 -0
  403. package/core/component/types.js +2 -0
  404. package/core/component/types.js.map +1 -0
  405. package/core/config/index.d.ts +3 -0
  406. package/core/config/index.js +16 -0
  407. package/core/config/index.js.map +1 -0
  408. package/core/container/config.d.ts +48 -0
  409. package/core/container/config.js +29 -0
  410. package/core/container/config.js.map +1 -0
  411. package/core/container/index.d.ts +26 -0
  412. package/core/container/index.js +106 -0
  413. package/core/container/index.js.map +1 -0
  414. package/core/xy-component/config.d.ts +38 -0
  415. package/core/xy-component/config.js +20 -0
  416. package/core/xy-component/config.js.map +1 -0
  417. package/core/xy-component/index.d.ts +27 -0
  418. package/core/xy-component/index.js +74 -0
  419. package/core/xy-component/index.js.map +1 -0
  420. package/data-models/core.d.ts +6 -0
  421. package/data-models/core.js +14 -0
  422. package/data-models/core.js.map +1 -0
  423. package/data-models/graph.d.ts +24 -0
  424. package/data-models/graph.js +107 -0
  425. package/data-models/graph.js.map +1 -0
  426. package/data-models/map-graph.d.ts +21 -0
  427. package/data-models/map-graph.js +62 -0
  428. package/data-models/map-graph.js.map +1 -0
  429. package/data-models/map.d.ts +5 -0
  430. package/data-models/map.js +12 -0
  431. package/data-models/map.js.map +1 -0
  432. package/data-models/series.d.ts +6 -0
  433. package/data-models/series.js +19 -0
  434. package/data-models/series.js.map +1 -0
  435. package/index.d.ts +7 -0
  436. package/index.js +55 -0
  437. package/index.js.map +1 -0
  438. package/maps/china-provinces.json.js +140373 -0
  439. package/maps/fr-regions.json.js +14162 -0
  440. package/maps/germany-regions.json.js +35760 -0
  441. package/maps/ind-regions.json.js +290584 -0
  442. package/maps/uk-regions.json.js +96233 -0
  443. package/maps/us-counties.json.js +206318 -0
  444. package/maps/us-states.json.js +16345 -0
  445. package/maps/world-110m-alpha.json.js +251366 -0
  446. package/maps/world-simple.json.js +89428 -0
  447. package/maps/world-simplest.json.js +28175 -0
  448. package/maps.d.ts +60 -0
  449. package/maps.js +23 -0
  450. package/package.json +1 -1
  451. package/styles/colors.d.ts +7 -0
  452. package/styles/colors.js +24 -0
  453. package/styles/colors.js.map +1 -0
  454. package/styles/index.d.ts +7 -0
  455. package/styles/index.js +38 -0
  456. package/styles/index.js.map +1 -0
  457. package/styles/sizes.d.ts +2 -0
  458. package/{src/styles/sizes.ts → styles/sizes.js} +8 -6
  459. package/styles/sizes.js.map +1 -0
  460. package/types/accessor.d.ts +5 -0
  461. package/types/accessor.js +2 -0
  462. package/types/accessor.js.map +1 -0
  463. package/types/component.d.ts +13 -0
  464. package/types/component.js +14 -0
  465. package/types/component.js.map +1 -0
  466. package/types/curve.d.ts +40 -0
  467. package/types/curve.js +46 -0
  468. package/types/curve.js.map +1 -0
  469. package/types/data.d.ts +7 -0
  470. package/types/data.js +2 -0
  471. package/types/data.js.map +1 -0
  472. package/types/direction.d.ts +6 -0
  473. package/types/direction.js +10 -0
  474. package/types/direction.js.map +1 -0
  475. package/types/graph.d.ts +35 -0
  476. package/types/graph.js +2 -0
  477. package/types/graph.js.map +1 -0
  478. package/types/map.d.ts +4 -0
  479. package/types/map.js +2 -0
  480. package/types/map.js.map +1 -0
  481. package/types/misc.d.ts +8 -0
  482. package/types/position.d.ts +20 -0
  483. package/types/position.js +27 -0
  484. package/types/position.js.map +1 -0
  485. package/types/scale.d.ts +23 -0
  486. package/types/scale.js +27 -0
  487. package/types/scale.js.map +1 -0
  488. package/types/shape.d.ts +7 -0
  489. package/types/shape.js +11 -0
  490. package/types/shape.js.map +1 -0
  491. package/types/spacing.d.ts +6 -0
  492. package/types/spacing.js +2 -0
  493. package/types/spacing.js.map +1 -0
  494. package/types/svg.d.ts +18 -0
  495. package/types/svg.js +22 -0
  496. package/types/svg.js.map +1 -0
  497. package/types/symbol.d.ts +18 -0
  498. package/types/symbol.js +24 -0
  499. package/types/symbol.js.map +1 -0
  500. package/types/text.d.ts +47 -0
  501. package/types/text.js +26 -0
  502. package/types/text.js.map +1 -0
  503. package/types.d.ts +27 -0
  504. package/types.js +30 -0
  505. package/types.js.map +1 -0
  506. package/utils/color.d.ts +10 -0
  507. package/utils/color.js +32 -0
  508. package/utils/color.js.map +1 -0
  509. package/utils/d3.d.ts +3 -0
  510. package/utils/d3.js +16 -0
  511. package/utils/d3.js.map +1 -0
  512. package/utils/data.d.ts +45 -0
  513. package/utils/data.js +274 -0
  514. package/utils/data.js.map +1 -0
  515. package/utils/html.d.ts +1 -0
  516. package/utils/html.js +16 -0
  517. package/utils/html.js.map +1 -0
  518. package/utils/map.d.ts +2 -0
  519. package/utils/map.js +20 -0
  520. package/utils/map.js.map +1 -0
  521. package/utils/misc.d.ts +9 -0
  522. package/utils/misc.js +47 -0
  523. package/utils/misc.js.map +1 -0
  524. package/utils/path.d.ts +23 -0
  525. package/utils/path.js +144 -0
  526. package/utils/path.js.map +1 -0
  527. package/utils/scale.d.ts +1 -0
  528. package/utils/style.d.ts +6 -0
  529. package/utils/style.js +24 -0
  530. package/utils/style.js.map +1 -0
  531. package/utils/svg.d.ts +3 -0
  532. package/utils/text.d.ts +139 -0
  533. package/utils/text.js +443 -0
  534. package/utils/text.js.map +1 -0
  535. package/utils/type.d.ts +5 -0
  536. package/declaration.d.ts +0 -1
  537. package/index.ts +0 -1
  538. package/licences.txt +0 -43
  539. package/maps.ts +0 -1
  540. package/rollup.config.js +0 -71
  541. package/rules/ts-getter-setter.js +0 -35
  542. package/src/components/area/config.ts +0 -29
  543. package/src/components/area/index.ts +0 -133
  544. package/src/components/area/types.ts +0 -2
  545. package/src/components/axis/config.ts +0 -76
  546. package/src/components/axis/index.ts +0 -363
  547. package/src/components/axis/types.ts +0 -4
  548. package/src/components/brush/config.ts +0 -51
  549. package/src/components/brush/index.ts +0 -233
  550. package/src/components/brush/types.ts +0 -8
  551. package/src/components/bullet-legend/config.ts +0 -38
  552. package/src/components/bullet-legend/index.ts +0 -104
  553. package/src/components/bullet-legend/types.ts +0 -7
  554. package/src/components/chord-diagram/config.ts +0 -53
  555. package/src/components/chord-diagram/index.ts +0 -401
  556. package/src/components/chord-diagram/modules/label.ts +0 -155
  557. package/src/components/chord-diagram/modules/link.ts +0 -91
  558. package/src/components/chord-diagram/modules/node.ts +0 -80
  559. package/src/components/chord-diagram/types.ts +0 -68
  560. package/src/components/crosshair/config.ts +0 -48
  561. package/src/components/crosshair/index.ts +0 -220
  562. package/src/components/crosshair/types.ts +0 -15
  563. package/src/components/donut/config.ts +0 -65
  564. package/src/components/donut/index.ts +0 -148
  565. package/src/components/donut/modules/arc.ts +0 -86
  566. package/src/components/donut/types.ts +0 -17
  567. package/src/components/flow-legend/config.ts +0 -31
  568. package/src/components/flow-legend/index.ts +0 -103
  569. package/src/components/flow-legend/types.ts +0 -10
  570. package/src/components/free-brush/config.ts +0 -54
  571. package/src/components/free-brush/index.ts +0 -207
  572. package/src/components/free-brush/types.ts +0 -8
  573. package/src/components/graph/config.ts +0 -280
  574. package/src/components/graph/index.ts +0 -809
  575. package/src/components/graph/modules/layout-helpers.ts +0 -96
  576. package/src/components/graph/modules/layout.ts +0 -502
  577. package/src/components/graph/modules/link/helper.ts +0 -105
  578. package/src/components/graph/modules/link/index.ts +0 -302
  579. package/src/components/graph/modules/node/helper.ts +0 -162
  580. package/src/components/graph/modules/node/index.ts +0 -343
  581. package/src/components/graph/modules/panel/helper.ts +0 -160
  582. package/src/components/graph/modules/panel/index.ts +0 -137
  583. package/src/components/graph/modules/shape.ts +0 -108
  584. package/src/components/graph/modules/zoom-levels.ts +0 -6
  585. package/src/components/graph/style.ts +0 -72
  586. package/src/components/graph/types.ts +0 -152
  587. package/src/components/grouped-bar/config.ts +0 -40
  588. package/src/components/grouped-bar/index.ts +0 -325
  589. package/src/components/leaflet-flow-map/config.ts +0 -60
  590. package/src/components/leaflet-flow-map/index.ts +0 -279
  591. package/src/components/leaflet-flow-map/renderer-utils.ts +0 -14
  592. package/src/components/leaflet-flow-map/renderer.ts +0 -146
  593. package/src/components/leaflet-flow-map/types.ts +0 -18
  594. package/src/components/leaflet-map/config.ts +0 -234
  595. package/src/components/leaflet-map/index.ts +0 -808
  596. package/src/components/leaflet-map/leaflet.css +0 -625
  597. package/src/components/leaflet-map/modules/clusterBackground.ts +0 -34
  598. package/src/components/leaflet-map/modules/donut.ts +0 -37
  599. package/src/components/leaflet-map/modules/map.ts +0 -178
  600. package/src/components/leaflet-map/modules/node.ts +0 -208
  601. package/src/components/leaflet-map/modules/selectionRing.ts +0 -63
  602. package/src/components/leaflet-map/modules/utils.ts +0 -290
  603. package/src/components/leaflet-map/renderer/map-style.ts +0 -24
  604. package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json +0 -35
  605. package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json +0 -35
  606. package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json +0 -2185
  607. package/src/components/leaflet-map/renderer/mapboxgl-layer.ts +0 -43
  608. package/src/components/leaflet-map/renderer/mapboxgl-utils.ts +0 -40
  609. package/src/components/leaflet-map/style.ts +0 -217
  610. package/src/components/leaflet-map/types.ts +0 -75
  611. package/src/components/line/config.ts +0 -34
  612. package/src/components/line/index.ts +0 -188
  613. package/src/components/line/types.ts +0 -3
  614. package/src/components/nested-donut/config.ts +0 -75
  615. package/src/components/nested-donut/index.ts +0 -176
  616. package/src/components/nested-donut/modules/arc.ts +0 -78
  617. package/src/components/nested-donut/modules/label.ts +0 -63
  618. package/src/components/nested-donut/style.ts +0 -82
  619. package/src/components/nested-donut/types.ts +0 -29
  620. package/src/components/sankey/config.ts +0 -195
  621. package/src/components/sankey/index.ts +0 -387
  622. package/src/components/sankey/modules/label.ts +0 -228
  623. package/src/components/sankey/modules/link.ts +0 -141
  624. package/src/components/sankey/modules/node.ts +0 -221
  625. package/src/components/sankey/types.ts +0 -95
  626. package/src/components/scatter/config.ts +0 -49
  627. package/src/components/scatter/index.ts +0 -220
  628. package/src/components/scatter/modules/point.ts +0 -123
  629. package/src/components/scatter/modules/utils.ts +0 -150
  630. package/src/components/scatter/types.ts +0 -21
  631. package/src/components/stacked-bar/config.ts +0 -42
  632. package/src/components/stacked-bar/index.ts +0 -267
  633. package/src/components/stacked-bar/types.ts +0 -5
  634. package/src/components/timeline/config.ts +0 -49
  635. package/src/components/timeline/index.ts +0 -302
  636. package/src/components/tooltip/config.ts +0 -69
  637. package/src/components/tooltip/index.ts +0 -220
  638. package/src/components/topojson-map/config.ts +0 -124
  639. package/src/components/topojson-map/index.ts +0 -436
  640. package/src/components/topojson-map/types.ts +0 -123
  641. package/src/components/topojson-map/utils.ts +0 -29
  642. package/src/components/vis-controls/config.ts +0 -16
  643. package/src/components/vis-controls/index.ts +0 -68
  644. package/src/components/vis-controls/types.ts +0 -14
  645. package/src/components/xy-labels/config.ts +0 -56
  646. package/src/components/xy-labels/index.ts +0 -109
  647. package/src/components/xy-labels/modules/label.ts +0 -140
  648. package/src/components/xy-labels/types.ts +0 -26
  649. package/src/components.ts +0 -56
  650. package/src/containers/single-container/config.ts +0 -15
  651. package/src/containers/single-container/index.ts +0 -150
  652. package/src/containers/xy-container/config.ts +0 -112
  653. package/src/containers/xy-container/index.ts +0 -407
  654. package/src/containers.ts +0 -6
  655. package/src/core/component/config.ts +0 -61
  656. package/src/core/component/index.ts +0 -154
  657. package/src/core/component/types.ts +0 -9
  658. package/src/core/config/index.ts +0 -12
  659. package/src/core/container/config.ts +0 -56
  660. package/src/core/container/index.ts +0 -136
  661. package/src/core/xy-component/config.ts +0 -46
  662. package/src/core/xy-component/index.ts +0 -90
  663. package/src/data-models/core.ts +0 -15
  664. package/src/data-models/graph.ts +0 -138
  665. package/src/data-models/map-graph.ts +0 -72
  666. package/src/data-models/map.ts +0 -18
  667. package/src/data-models/series.ts +0 -16
  668. package/src/index.ts +0 -7
  669. package/src/maps/china-provinces.json +0 -1
  670. package/src/maps/fr-regions.json +0 -1
  671. package/src/maps/germany-regions.json +0 -1
  672. package/src/maps/ind-regions.json +0 -1
  673. package/src/maps/uk-regions.json +0 -1
  674. package/src/maps/us-counties.json +0 -1
  675. package/src/maps/us-states.json +0 -1
  676. package/src/maps/world-110m-alpha.json +0 -1
  677. package/src/maps/world-simple.json +0 -1
  678. package/src/maps/world-simplest.json +0 -1
  679. package/src/maps.ts +0 -34
  680. package/src/styles/colors.ts +0 -28
  681. package/src/styles/index.ts +0 -38
  682. package/src/types/accessor.ts +0 -5
  683. package/src/types/component.ts +0 -15
  684. package/src/types/curve.ts +0 -62
  685. package/src/types/data.ts +0 -5
  686. package/src/types/direction.ts +0 -6
  687. package/src/types/graph.ts +0 -40
  688. package/src/types/map.ts +0 -5
  689. package/src/types/misc.ts +0 -10
  690. package/src/types/position.ts +0 -23
  691. package/src/types/scale.ts +0 -47
  692. package/src/types/shape.ts +0 -7
  693. package/src/types/spacing.ts +0 -6
  694. package/src/types/svg.ts +0 -32
  695. package/src/types/symbol.ts +0 -21
  696. package/src/types/text.ts +0 -71
  697. package/src/types.ts +0 -31
  698. package/src/utils/color.ts +0 -41
  699. package/src/utils/d3.ts +0 -15
  700. package/src/utils/data.ts +0 -328
  701. package/src/utils/html.ts +0 -13
  702. package/src/utils/map.ts +0 -29
  703. package/src/utils/misc.ts +0 -54
  704. package/src/utils/path.ts +0 -196
  705. package/src/utils/scale.ts +0 -1
  706. package/src/utils/style.ts +0 -37
  707. package/src/utils/svg.ts +0 -49
  708. package/src/utils/text.ts +0 -529
  709. package/src/utils/type.ts +0 -9
  710. package/tsconfig.json +0 -29
@@ -0,0 +1,690 @@
1
+ import { select } from 'd3-selection';
2
+ import { packSiblings } from 'd3-hierarchy';
3
+ import { ResizeObserver } from '@juggle/resize-observer';
4
+ import { ComponentCore } from '../../core/component/index.js';
5
+ import { MapDataModel } from '../../data-models/map.js';
6
+ import { ComponentType } from '../../types/component.js';
7
+ import { isString, getNumber, isNil, getString, clamp } from '../../utils/data.js';
8
+ import { constraintMapViewThrottled } from './renderer/mapboxgl-utils.js';
9
+ import { calculateClusterIndex, projectPoint, findPointAndClusterByPointId, getNodeRelativePosition, bBoxMerge, shouldClusterExpand, getNextZoomLevelOnClusterClick, getPointRadius, getClusterRadius, getClustersAndPoints, geoJsonPointToScreenPoint } from './modules/utils.js';
10
+ import { LeafletMapRenderer } from './types.js';
11
+ import { LeafletMapConfig } from './config.js';
12
+ import * as style from './style.js';
13
+ import { root, map, svgOverlay, backgroundRect, points, clusterBackground, pointSelectionRing, point, variables } from './style.js';
14
+ import { setupMap, initialMapCenter, initialMapZoom, updateTopoJson } from './modules/map.js';
15
+ import { removeNodes, createNodes, updateNodes, collideLabels } from './modules/node.js';
16
+ import { createNodeSelectionRing, updateNodeSelectionRing } from './modules/selectionRing.js';
17
+ import { createBackgroundNode, updateBackgroundNode } from './modules/clusterBackground.js';
18
+
19
+ class LeafletMap extends ComponentCore {
20
+ constructor(container, config, data) {
21
+ super(ComponentType.HTML);
22
+ this.type = ComponentType.HTML;
23
+ this.config = new LeafletMapConfig();
24
+ this.datamodel = new MapDataModel();
25
+ this._expandedCluster = null;
26
+ this._cancelBackgroundClick = false;
27
+ this._hasBeenMoved = false;
28
+ this._hasBeenZoomed = false;
29
+ this._isMoving = false;
30
+ this._isZooming = false;
31
+ this._eventInitiatedByComponent = false;
32
+ this._triggerBackgroundClick = false;
33
+ this._externallySelectedPoint = null;
34
+ this._zoomingToExternallySelectedPoint = false;
35
+ this._forceExpandCluster = false;
36
+ this._clusterBackgroundRadius = 0;
37
+ this._selectedPoint = null;
38
+ this._currentZoomLevel = null;
39
+ this._firstRender = true;
40
+ this._isDarkThemeActive = false;
41
+ this._renderDataAnimationFrameId = null;
42
+ this._flyToBoundsAnimationFrameId = null;
43
+ this.events = {
44
+ [LeafletMap.selectors.point]: {
45
+ mouseup: this._onPointMouseUp.bind(this),
46
+ mousedown: this._onPointMouseDown.bind(this),
47
+ click: this._onPointClick.bind(this),
48
+ },
49
+ };
50
+ this._container = container;
51
+ this._containerSelection = select(this._container);
52
+ this._container.appendChild(this.element);
53
+ this.g.attr('class', root);
54
+ if (config)
55
+ this.setConfig(config);
56
+ if (!this._container.clientWidth) {
57
+ console.warn('Unovis | Leaflet Map: The width of the container is not set. Setting to 100%.');
58
+ this._containerSelection.style('width', '100%');
59
+ }
60
+ if (!this._container.clientHeight) {
61
+ console.warn(`Unovis | Leaflet Map: The height of the container is not set. Setting to ${LeafletMap.DEFAULT_CONTAINER_HEIGHT}px.`);
62
+ this._containerSelection.style('height', `${LeafletMap.DEFAULT_CONTAINER_HEIGHT}px`);
63
+ }
64
+ // Initialize map asynchronously
65
+ this._leafletInitializationPromise = new Promise((resolve) => {
66
+ setupMap(this.element, this.config).then(map$1 => {
67
+ var _a, _b;
68
+ // Apply the `s.map` class to `tilePane` to allow tooltip interactions
69
+ select(map$1.leaflet.getPanes().tilePane).classed(map, true);
70
+ if (config)
71
+ this.setConfig(config);
72
+ this._map = map$1;
73
+ this._map.leaflet.on('drag', this._onMapDragLeaflet.bind(this));
74
+ this._map.leaflet.on('move', this._onMapMove.bind(this));
75
+ this._map.leaflet.on('movestart', this._onMapMoveStart.bind(this));
76
+ this._map.leaflet.on('moveend', this._onMapMoveEnd.bind(this));
77
+ this._map.leaflet.on('zoom', this._onMapZoom.bind(this));
78
+ this._map.leaflet.on('zoomstart', this._onMapZoomStart.bind(this));
79
+ this._map.leaflet.on('zoomend', this._onMapZoomEnd.bind(this));
80
+ // We need to handle background click in a special way to deal
81
+ // with d3 svg overlay that might have smaller size than the map itself
82
+ // (see this._onNodeMouseDown() and this this._onNodeMouseDown())
83
+ this._map.leaflet.on('mousedown', () => {
84
+ if (!this._cancelBackgroundClick)
85
+ this._triggerBackgroundClick = true;
86
+ });
87
+ this._map.leaflet.on('mouseup', (e) => {
88
+ if (this._triggerBackgroundClick) {
89
+ this._triggerBackgroundClick = false;
90
+ const originalEvent = e.originalEvent;
91
+ this._onBackgroundClick(originalEvent.target, originalEvent);
92
+ }
93
+ });
94
+ this._map.svgOverlay
95
+ .attr('class', svgOverlay)
96
+ .insert('rect', ':first-child')
97
+ .attr('class', backgroundRect)
98
+ .attr('width', '100%')
99
+ .attr('height', '100%');
100
+ this._pointGroup = this._map.svgGroup.append('g').attr('class', points);
101
+ this._clusterBackground = this._pointGroup.append('g')
102
+ .attr('class', clusterBackground)
103
+ .call(createBackgroundNode);
104
+ this._pointSelectionRing = this._pointGroup.append('g')
105
+ .attr('class', pointSelectionRing)
106
+ .call(createNodeSelectionRing);
107
+ this._map.leaflet.setView(initialMapCenter, initialMapZoom);
108
+ if (document.body.classList.contains('theme-dark') && config.styleDarkTheme) {
109
+ this._isDarkThemeActive = true;
110
+ this.setTheme(config.styleDarkTheme);
111
+ }
112
+ (_b = (_a = this.config).onMapInitialized) === null || _b === void 0 ? void 0 : _b.call(_a);
113
+ resolve(this._map.leaflet);
114
+ });
115
+ });
116
+ // Set data and render the map when it's ready
117
+ this.setData(data !== null && data !== void 0 ? data : []);
118
+ // When the container size changes we have to initiate map resize in order to update its dimensions
119
+ this.resizeObserver = new ResizeObserver(() => {
120
+ var _a, _b, _c;
121
+ (_b = (_a = this._map) === null || _a === void 0 ? void 0 : _a.leaflet) === null || _b === void 0 ? void 0 : _b.invalidateSize();
122
+ (_c = this.config.tooltip) === null || _c === void 0 ? void 0 : _c.hide();
123
+ });
124
+ this.resizeObserver.observe(container);
125
+ // If dark theme is enabled, update map's style when document body's class list changes
126
+ if (this.config.styleDarkTheme) {
127
+ this.themeObserver = new MutationObserver((mutations) => {
128
+ mutations.forEach(change => {
129
+ if (change.attributeName === 'class') {
130
+ const isDarkTheme = change.target.classList.contains('theme-dark');
131
+ if (this._isDarkThemeActive !== isDarkTheme) {
132
+ this.setTheme(isDarkTheme ? this.config.styleDarkTheme : this.config.style);
133
+ this._isDarkThemeActive = isDarkTheme;
134
+ }
135
+ }
136
+ });
137
+ });
138
+ this.themeObserver.observe(document.body, { attributes: true });
139
+ }
140
+ }
141
+ setConfig(config) {
142
+ this.config = new LeafletMapConfig().init(config);
143
+ if (config.width)
144
+ this._containerSelection.style('width', isString(config.width) ? config.width : `${config.width}px`);
145
+ if (config.height)
146
+ this._containerSelection.style('height', isString(config.height) ? config.height : `${config.height}px`);
147
+ if (this._map && config.renderer === LeafletMapRenderer.MapLibre) {
148
+ const layer = this._map.layer; // Using any because the typings are not full
149
+ const maplibreMap = layer.getMaplibreMap();
150
+ if (maplibreMap.isStyleLoaded())
151
+ updateTopoJson(maplibreMap, this.config);
152
+ }
153
+ if (this.config.tooltip) {
154
+ this.config.tooltip.setContainer(this._container);
155
+ this.config.tooltip.setComponents([this]);
156
+ this.config.tooltip.update();
157
+ }
158
+ }
159
+ setData(data) {
160
+ const { config, datamodel } = this;
161
+ const dataValid = data.filter(d => {
162
+ const lat = getNumber(d, config.pointLatitude);
163
+ const lon = getNumber(d, config.pointLongitude);
164
+ const valid = isFinite(lat) && isFinite(lon);
165
+ if (!valid)
166
+ console.warn('Unovis | Leaflet Map: Invalid point coordinates', d);
167
+ return valid;
168
+ });
169
+ datamodel.data = dataValid;
170
+ // We use Supercluster for real-time node clustering
171
+ this._clusterIndex = calculateClusterIndex(dataValid, this.config);
172
+ // If there was an expanded cluster, try to find its successor and expand it too
173
+ if (this._expandedCluster && this._map.leaflet) {
174
+ // Reset expanded cluster before calling `_getPointData()` to get data with all clusters collapsed
175
+ const expandedCluster = this._expandedCluster;
176
+ this._resetExpandedCluster();
177
+ const pointData = this._getPointData();
178
+ const expandedClusterCenterPx = projectPoint(expandedCluster.cluster, this._map.leaflet);
179
+ const expandedClusterRadiusPx = expandedCluster.cluster.radius;
180
+ const cluster = pointData.find((c) => {
181
+ if (!c.isCluster)
182
+ return false;
183
+ const pos = projectPoint(c, this._map.leaflet);
184
+ const r = c.radius;
185
+ const distance = Math.sqrt(Math.pow((expandedClusterCenterPx.x - pos.x), 2) + Math.pow((expandedClusterCenterPx.y - pos.y), 2));
186
+ return distance < (expandedClusterRadiusPx + r);
187
+ });
188
+ if (cluster)
189
+ this._expandCluster(cluster, true);
190
+ }
191
+ // Render
192
+ this._leafletInitializationPromise.then(() => {
193
+ this.render();
194
+ });
195
+ }
196
+ setTheme(theme) {
197
+ var _a;
198
+ const layer = this._map.layer; // Using any because the typings are not full
199
+ if (this.config.renderer === LeafletMapRenderer.MapLibre) {
200
+ const maplibreMap = layer.getMaplibreMap();
201
+ (_a = maplibreMap.setStyle) === null || _a === void 0 ? void 0 : _a.call(maplibreMap, theme);
202
+ updateTopoJson(maplibreMap, this.config);
203
+ }
204
+ else {
205
+ if (typeof theme !== 'string') {
206
+ console.warn('Unovis | Leaflet Map: Invalid style. Provide a URL string for raster rendering mode.');
207
+ return;
208
+ }
209
+ layer.setUrl(theme);
210
+ }
211
+ }
212
+ // We redefine the ComponentCore render function to bind event to newly created elements in this._renderData(),
213
+ // which is being called after almost every map interaction
214
+ render() {
215
+ const { config } = this;
216
+ if (!this._map)
217
+ return;
218
+ this._renderData();
219
+ if (this._firstRender) {
220
+ if (config.initialBounds)
221
+ this.fitToBounds(config.initialBounds);
222
+ else if (config.fitViewOnInit)
223
+ this.fitToPoints(0, config.fitViewPadding);
224
+ }
225
+ else {
226
+ if (config.fitViewOnUpdate)
227
+ this.fitToPoints(0, config.fitViewPadding);
228
+ else if (config.fitBoundsOnUpdate)
229
+ this.fitToBounds(config.fitBoundsOnUpdate);
230
+ }
231
+ this._firstRender = false;
232
+ }
233
+ getLeafletInstancePromise() {
234
+ return this._leafletInitializationPromise;
235
+ }
236
+ fitToPoints(duration = this.config.flyToDuration, padding = this.config.fitViewPadding) {
237
+ const { config, datamodel, datamodel: { data } } = this;
238
+ if (!this._map || !this._map.leaflet)
239
+ return;
240
+ if (!(data === null || data === void 0 ? void 0 : data.length))
241
+ return;
242
+ const bounds = datamodel.getDataLatLngBounds(config.pointLatitude, config.pointLongitude);
243
+ this._flyToBoundsAnimationFrameId = requestAnimationFrame(() => this._flyToBounds(bounds, duration, padding));
244
+ }
245
+ fitToBounds(bounds, duration = this.config.flyToDuration, padding = this.config.fitViewPadding) {
246
+ const { northEast, southWest } = bounds;
247
+ if (isNil(northEast) || isNil(southWest))
248
+ return;
249
+ if (isNil(northEast.lat) || isNil(northEast.lng))
250
+ return;
251
+ if (isNil(southWest.lat) || isNil(southWest.lng))
252
+ return;
253
+ if (!this._map || !this._map.leaflet)
254
+ return;
255
+ this._flyToBoundsAnimationFrameId = requestAnimationFrame(() => this._flyToBounds([
256
+ [northEast.lat, southWest.lng],
257
+ [southWest.lat, northEast.lng],
258
+ ], duration, padding));
259
+ }
260
+ /* Select a point by id and optionally center the map view.
261
+ * This method was designed to be used mainly with the `[LeafletMap.selectors.point]` click events
262
+ * (when the user actually clicks on a point) and the specified point is inside one of the collapsed
263
+ * clusters it won't be selected. You can use the `zoomToPointById` method to achieve that.
264
+ */
265
+ selectPointById(id, centerView = false) {
266
+ var _a, _b, _c;
267
+ const { config } = this;
268
+ const pointData = this._getPointData();
269
+ const foundPoint = pointData.find(d => d.properties.id === id);
270
+ if (!foundPoint) {
271
+ console.warn(`Unovis | Leaflet Map: Node with id ${id} can not be found`);
272
+ return;
273
+ }
274
+ if ((_a = foundPoint.properties) === null || _a === void 0 ? void 0 : _a.cluster) {
275
+ console.warn('Unovis | Leaflet Map: Cluster can\'t be selected');
276
+ return;
277
+ }
278
+ this._selectedPoint = foundPoint;
279
+ const isPointInsideExpandedCluster = (_c = (_b = this._expandedCluster) === null || _b === void 0 ? void 0 : _b.points) === null || _c === void 0 ? void 0 : _c.find(d => getString(d.properties, config.pointId) === id);
280
+ if (!isPointInsideExpandedCluster)
281
+ this._resetExpandedCluster();
282
+ if (centerView) {
283
+ const coordinates = {
284
+ lng: getNumber(foundPoint.properties, config.pointLongitude),
285
+ lat: getNumber(foundPoint.properties, config.pointLatitude),
286
+ };
287
+ const zoomLevel = this._map.leaflet.getZoom();
288
+ this._eventInitiatedByComponent = true;
289
+ this._map.leaflet.flyTo(coordinates, zoomLevel, { duration: 0 });
290
+ }
291
+ else {
292
+ this._renderData();
293
+ }
294
+ }
295
+ /* Get the id of the selected point */
296
+ getSelectedPointId() {
297
+ var _a;
298
+ return (_a = this._selectedPoint) === null || _a === void 0 ? void 0 : _a.id;
299
+ }
300
+ /* Unselect point if it was selected before */
301
+ unselectPoint() {
302
+ this._selectedPoint = null;
303
+ this._externallySelectedPoint = null;
304
+ this.render();
305
+ }
306
+ /* Zoom to a point by id and optionally select it.
307
+ * If the point is inside a cluster, it'll be automatically expanded to show the enclosed point.
308
+ * You can also force set the zoom level by providing the `customZoomLevel` argument.
309
+ */
310
+ zoomToPointById(id, selectPoint = false, customZoomLevel) {
311
+ var _a, _b, _c;
312
+ const { config, datamodel } = this;
313
+ if (!datamodel.data.length) {
314
+ console.warn('Unovis | Leaflet Map: There are no points on the map');
315
+ return;
316
+ }
317
+ const dataBoundsAll = datamodel.getDataLatLngBounds(config.pointLatitude, config.pointLongitude);
318
+ const bounds = [dataBoundsAll[0][1], dataBoundsAll[1][0], dataBoundsAll[1][1], dataBoundsAll[0][0]];
319
+ const pointDataAll = this._getPointData(bounds);
320
+ let foundPoint = pointDataAll
321
+ .find((d) => getString(d.properties, config.pointId) === id);
322
+ // If point was found and it's a cluster -> do nothing
323
+ if ((_a = foundPoint === null || foundPoint === void 0 ? void 0 : foundPoint.properties) === null || _a === void 0 ? void 0 : _a.cluster) {
324
+ console.warn('Unovis | Leaflet Map: Cluster can\'t be zoomed in');
325
+ return;
326
+ }
327
+ // If point was not found -> search for it in all collapsed clusters
328
+ if (!foundPoint) {
329
+ const { point } = findPointAndClusterByPointId(pointDataAll, id, config.pointId);
330
+ foundPoint = point;
331
+ }
332
+ if (foundPoint) {
333
+ // If point was found and it's inside an expanded cluster -> simply select it
334
+ const isPointInsideExpandedCluster = (_c = (_b = this._expandedCluster) === null || _b === void 0 ? void 0 : _b.points) === null || _c === void 0 ? void 0 : _c.find(d => getString(d.properties, config.pointId) === id);
335
+ if (isPointInsideExpandedCluster && selectPoint) {
336
+ this._selectedPoint = foundPoint;
337
+ this._renderData();
338
+ return;
339
+ }
340
+ // Else - trigger zoom
341
+ this._externallySelectedPoint = foundPoint;
342
+ this._zoomingToExternallySelectedPoint = true;
343
+ this._forceExpandCluster = !isNil(customZoomLevel);
344
+ if (selectPoint)
345
+ this._selectedPoint = foundPoint;
346
+ const zoomLevel = isNil(customZoomLevel) ? this._map.leaflet.getZoom() : customZoomLevel;
347
+ const pointDatum = foundPoint.properties;
348
+ const coordinates = {
349
+ lng: getNumber(pointDatum, config.pointLongitude),
350
+ lat: getNumber(pointDatum, config.pointLatitude),
351
+ };
352
+ this._eventInitiatedByComponent = true;
353
+ this._map.leaflet.flyTo(coordinates, zoomLevel, { duration: 0 });
354
+ }
355
+ else {
356
+ console.warn(`Unovis | Leaflet Map: Node with id ${id} can not be found`);
357
+ }
358
+ }
359
+ getNodeRelativePosition(node) {
360
+ return getNodeRelativePosition(node, this._map.leaflet);
361
+ }
362
+ hasBeenZoomed() {
363
+ return this._hasBeenZoomed;
364
+ }
365
+ hasBeenMoved() {
366
+ return this._hasBeenMoved;
367
+ }
368
+ isZooming() {
369
+ return this._isZooming;
370
+ }
371
+ isMoving() {
372
+ return this._isMoving;
373
+ }
374
+ _flyToBounds(bounds, durationMs, paddingPx) {
375
+ this._eventInitiatedByComponent = true;
376
+ const duration = durationMs / 1000;
377
+ const padding = paddingPx ? [
378
+ paddingPx[0] < this._container.clientWidth / 2 ? paddingPx[0] : this._container.clientWidth / 2,
379
+ paddingPx[1] < this._container.clientHeight / 2 ? paddingPx[1] : this._container.clientHeight / 2,
380
+ ] : undefined;
381
+ if (duration) {
382
+ this._map.leaflet.flyToBounds(bounds, { duration, padding });
383
+ }
384
+ else {
385
+ this._map.leaflet.fitBounds(bounds, { padding });
386
+ }
387
+ }
388
+ _renderData(mapMoveZoomUpdateOnly = false) {
389
+ var _a;
390
+ const { config } = this;
391
+ const pointData = this._getPointData();
392
+ const contentBBox = pointData.length ? bBoxMerge(pointData.map(d => d.bbox)) : { x: 0, y: 0, width: 0, height: 0 };
393
+ // Set SVG size to match Leaflet transform
394
+ const svgExtraPadding = 40 + this._clusterBackgroundRadius; // We need it to fit point labels and expanded cluster background circle
395
+ const dx = contentBBox.x - svgExtraPadding;
396
+ const dy = contentBBox.y - svgExtraPadding;
397
+ this._map.svgOverlay
398
+ .attr('width', contentBBox.width + 2 * svgExtraPadding)
399
+ .attr('height', contentBBox.height + 2 * svgExtraPadding)
400
+ .style('left', `${dx}px`)
401
+ .style('top', `${dy}px`);
402
+ this._map.svgGroup
403
+ .attr('transform', `translate(${-dx},${-dy})`);
404
+ // Render content
405
+ const points = this._pointGroup.selectAll(`.${point}:not(.exit)`)
406
+ .data(pointData, (d, i) => `${d.id || d.geometry.coordinates.join('')}`);
407
+ points.exit().classed('exit', true).call(removeNodes);
408
+ const pointsEnter = points.enter().append('g').attr('class', point)
409
+ .call(createNodes);
410
+ const pointsMerged = points.merge(pointsEnter);
411
+ pointsEnter.call(updateNodes, config, this._map.leaflet);
412
+ points.call(updateNodes, config, this._map.leaflet, mapMoveZoomUpdateOnly);
413
+ pointsMerged.call(collideLabels, this._map.leaflet);
414
+ this._clusterBackground.call(updateBackgroundNode, this._expandedCluster, config, this._map.leaflet, this._clusterBackgroundRadius);
415
+ if (this._expandedCluster && config.clusterBackground) {
416
+ pointData.forEach((d, i) => { var _a; d._zIndex = ((_a = d.properties) === null || _a === void 0 ? void 0 : _a.expandedClusterPoint) ? 2 : 0; });
417
+ this._pointGroup
418
+ .selectAll(`.${point}, .${clusterBackground}, .${pointSelectionRing}`)
419
+ .sort((a, b) => a._zIndex - b._zIndex);
420
+ }
421
+ // Show selection border and hide it when the node
422
+ // is out of visible box
423
+ if (config.selectedPointId) {
424
+ const foundPoint = pointData.find(d => getString(d.properties, config.pointId) === config.selectedPointId);
425
+ const { cluster } = findPointAndClusterByPointId(pointData, config.selectedPointId, config.pointId);
426
+ if (foundPoint)
427
+ this._selectedPoint = foundPoint;
428
+ else
429
+ this._selectedPoint = cluster;
430
+ }
431
+ this._pointSelectionRing.call(updateNodeSelectionRing, this._selectedPoint, pointData, config, this._map.leaflet);
432
+ // Set up events and attributes for the rendered points
433
+ this._setUpComponentEventsThrottled();
434
+ this._setCustomAttributesThrottled();
435
+ // Tooltip
436
+ (_a = config.tooltip) === null || _a === void 0 ? void 0 : _a.update();
437
+ }
438
+ _zoomToExternallySelectedPoint() {
439
+ const { config } = this;
440
+ if (!this._externallySelectedPoint)
441
+ return;
442
+ const externallySelectedPointDatum = this._externallySelectedPoint.properties;
443
+ const externallySelectedPointId = getString(externallySelectedPointDatum, config.pointId);
444
+ const pointData = this._getPointData();
445
+ const foundPoint = pointData.find(d => getString(d.properties, config.pointId) === externallySelectedPointId);
446
+ if (foundPoint) {
447
+ this._zoomingToExternallySelectedPoint = false;
448
+ this._currentZoomLevel = null;
449
+ }
450
+ else {
451
+ const { cluster } = findPointAndClusterByPointId(pointData, externallySelectedPointId, config.pointId);
452
+ if (!cluster)
453
+ return;
454
+ const zoomLevel = this._map.leaflet.getZoom();
455
+ // Expand cluster or fly further
456
+ if (this._forceExpandCluster || shouldClusterExpand(cluster, zoomLevel, 8, 13)) {
457
+ this._expandCluster(cluster);
458
+ }
459
+ else {
460
+ const newZoomLevel = getNextZoomLevelOnClusterClick(zoomLevel);
461
+ const coordinates = {
462
+ lng: getNumber(externallySelectedPointDatum, config.pointLongitude),
463
+ lat: getNumber(externallySelectedPointDatum, config.pointLatitude),
464
+ };
465
+ if (this._currentZoomLevel !== newZoomLevel) {
466
+ this._currentZoomLevel = newZoomLevel;
467
+ this._eventInitiatedByComponent = true;
468
+ this._map.leaflet.flyTo(coordinates, newZoomLevel, { duration: 0 });
469
+ }
470
+ }
471
+ }
472
+ }
473
+ _expandCluster(clusterPoint, preventRender) {
474
+ var _a;
475
+ const { config, config: { clusterBackground } } = this;
476
+ const padding = 1;
477
+ (_a = config.tooltip) === null || _a === void 0 ? void 0 : _a.hide();
478
+ this._forceExpandCluster = false;
479
+ if (clusterPoint) {
480
+ const points = clusterPoint.clusterIndex.getLeaves(clusterPoint.properties.cluster_id, Infinity);
481
+ const packPoints = points.map(p => ({
482
+ x: null,
483
+ y: null,
484
+ r: getPointRadius(p, config.pointRadius, this._map.leaflet.getZoom()) + padding,
485
+ }));
486
+ packSiblings(packPoints);
487
+ points.forEach((p, i) => {
488
+ p.properties.expandedClusterPoint = clusterPoint;
489
+ p.properties.r = packPoints[i].r;
490
+ p.properties.dx = packPoints[i].x;
491
+ p.properties.dy = packPoints[i].y;
492
+ });
493
+ this._resetExpandedCluster();
494
+ this._expandedCluster = {
495
+ cluster: clusterPoint,
496
+ points,
497
+ };
498
+ if (clusterBackground)
499
+ this._clusterBackgroundRadius = getClusterRadius(this._expandedCluster);
500
+ if (!preventRender)
501
+ this._renderData();
502
+ }
503
+ this._zoomingToExternallySelectedPoint = false;
504
+ }
505
+ _resetExpandedCluster() {
506
+ var _a, _b;
507
+ (_b = (_a = this._expandedCluster) === null || _a === void 0 ? void 0 : _a.points) === null || _b === void 0 ? void 0 : _b.forEach(d => { delete d.properties.expandedClusterPoint; });
508
+ this._expandedCluster = null;
509
+ }
510
+ _getPointData(customBounds) {
511
+ const { config, datamodel: { data } } = this;
512
+ if (!data || !this._clusterIndex)
513
+ return [];
514
+ let geoJSONPoints = getClustersAndPoints(this._clusterIndex, this._map.leaflet, customBounds);
515
+ if (this._expandedCluster) {
516
+ // Remove expanded cluster from the data
517
+ geoJSONPoints = geoJSONPoints.filter(c => c.properties.cluster_id !== this._expandedCluster.cluster.properties.cluster_id);
518
+ // Add points from the expanded cluster
519
+ geoJSONPoints = geoJSONPoints.concat(this._expandedCluster.points);
520
+ }
521
+ const pointData = geoJSONPoints
522
+ // Todo: Remove explicitly set ClusterFeature<LeafletMapPointDatum<Datum>> type
523
+ .map((d, i) => {
524
+ return geoJsonPointToScreenPoint(d, i, this._map.leaflet, config);
525
+ });
526
+ // .sort((a, b) => getPointDisplayOrder(a, config.pointStatus, config.colorMap) - getPointDisplayOrder(b, config.pointStatus, config.colorMap))
527
+ return pointData;
528
+ }
529
+ _getMapZoomState() {
530
+ const leafletBounds = this._map.leaflet.getBounds();
531
+ const southWest = leafletBounds.getSouthWest();
532
+ const northEast = leafletBounds.getNorthEast();
533
+ return {
534
+ mapCenter: this._map.leaflet.getCenter(),
535
+ zoomLevel: this._map.leaflet.getZoom(),
536
+ bounds: { southWest, northEast },
537
+ userDriven: !this._eventInitiatedByComponent,
538
+ };
539
+ }
540
+ _onMapDragLeaflet() {
541
+ this._cancelBackgroundClick = true;
542
+ }
543
+ _onMapMove() {
544
+ var _a;
545
+ const { config } = this;
546
+ if (!this._map)
547
+ return;
548
+ this._hasBeenMoved = true;
549
+ this._renderDataAnimationFrameId = requestAnimationFrame(() => {
550
+ this._renderData(true);
551
+ });
552
+ (_a = config.onMapMoveZoom) === null || _a === void 0 ? void 0 : _a.call(config, this._getMapZoomState());
553
+ }
554
+ _onMapMoveStart() {
555
+ var _a;
556
+ const { config } = this;
557
+ if (!this._map)
558
+ return;
559
+ this._isMoving = true;
560
+ (_a = config.onMapMoveStart) === null || _a === void 0 ? void 0 : _a.call(config, this._getMapZoomState());
561
+ }
562
+ _onMapMoveEnd() {
563
+ var _a, _b;
564
+ const { config } = this;
565
+ if (!this._map)
566
+ return;
567
+ (_a = this._onMapMoveEndInternal) === null || _a === void 0 ? void 0 : _a.call(this, this._map.leaflet);
568
+ (_b = config.onMapMoveEnd) === null || _b === void 0 ? void 0 : _b.call(config, this._getMapZoomState());
569
+ constraintMapViewThrottled(this._map.leaflet);
570
+ const events = this._map.layer.getEvents();
571
+ if (events.zoomend) {
572
+ const zoomEndEvent = events.zoomend.bind(this._map.layer);
573
+ zoomEndEvent(null);
574
+ }
575
+ if (this._externallySelectedPoint || this._zoomingToExternallySelectedPoint) {
576
+ this._zoomToExternallySelectedPoint();
577
+ }
578
+ this._isMoving = false;
579
+ this._eventInitiatedByComponent = false;
580
+ }
581
+ _onMapZoomStart() {
582
+ var _a;
583
+ const { config } = this;
584
+ if (!this._map)
585
+ return;
586
+ this._isZooming = true;
587
+ (_a = config.onMapZoomStart) === null || _a === void 0 ? void 0 : _a.call(config, this._getMapZoomState());
588
+ }
589
+ _onMapZoomEnd() {
590
+ var _a;
591
+ const { config } = this;
592
+ if (!this._map)
593
+ return;
594
+ (_a = config.onMapZoomEnd) === null || _a === void 0 ? void 0 : _a.call(config, this._getMapZoomState());
595
+ this._isZooming = false;
596
+ if (!this._isMoving)
597
+ this._eventInitiatedByComponent = false;
598
+ }
599
+ _onMapZoom() {
600
+ var _a, _b;
601
+ const { config } = this;
602
+ if (!this._map)
603
+ return;
604
+ this._hasBeenZoomed = true;
605
+ if (!this._externallySelectedPoint)
606
+ this._resetExpandedCluster();
607
+ else if (!this._zoomingToExternallySelectedPoint) {
608
+ this._externallySelectedPoint = null;
609
+ }
610
+ (_a = config.tooltip) === null || _a === void 0 ? void 0 : _a.hide();
611
+ (_b = config.onMapMoveZoom) === null || _b === void 0 ? void 0 : _b.call(config, this._getMapZoomState());
612
+ }
613
+ _onBackgroundClick(el, event) {
614
+ var _a;
615
+ const { config } = this;
616
+ if (this._cancelBackgroundClick) {
617
+ this._cancelBackgroundClick = false;
618
+ return;
619
+ }
620
+ this._externallySelectedPoint = null;
621
+ this._resetExpandedCluster();
622
+ this._renderData();
623
+ (_a = config.onMapClick) === null || _a === void 0 ? void 0 : _a.call(config, this._getMapZoomState());
624
+ }
625
+ _onPointClick(d, event) {
626
+ const { config: { flyToDuration, clusterExpandOnClick } } = this;
627
+ this._externallySelectedPoint = null;
628
+ event.stopPropagation();
629
+ if (d.properties.cluster) {
630
+ const zoomLevel = this._map.leaflet.getZoom();
631
+ const coordinates = { lng: d.geometry.coordinates[0], lat: d.geometry.coordinates[1] };
632
+ if (clusterExpandOnClick && shouldClusterExpand(d, zoomLevel))
633
+ this._expandCluster(d);
634
+ else {
635
+ const newZoomLevel = getNextZoomLevelOnClusterClick(zoomLevel);
636
+ this._eventInitiatedByComponent = true;
637
+ this._map.leaflet.flyTo(coordinates, newZoomLevel, { duration: flyToDuration / 1000 });
638
+ }
639
+ }
640
+ }
641
+ _onPointMouseDown(d, event) {
642
+ this._cancelBackgroundClick = true;
643
+ }
644
+ _onPointMouseUp(d, event) {
645
+ this._cancelBackgroundClick = false;
646
+ }
647
+ zoomIn(increment = 1) {
648
+ var _a;
649
+ if (!((_a = this._map) === null || _a === void 0 ? void 0 : _a.leaflet))
650
+ return;
651
+ this.setZoom(this._map.leaflet.getZoom() + increment);
652
+ }
653
+ zoomOut(increment = 1) {
654
+ var _a;
655
+ if (!((_a = this._map) === null || _a === void 0 ? void 0 : _a.leaflet))
656
+ return;
657
+ this.setZoom(this._map.leaflet.getZoom() - increment);
658
+ }
659
+ setZoom(zoomLevel) {
660
+ var _a;
661
+ const leaflet = (_a = this._map) === null || _a === void 0 ? void 0 : _a.leaflet;
662
+ if (!leaflet)
663
+ return;
664
+ this._eventInitiatedByComponent = true;
665
+ leaflet.flyTo(leaflet.getCenter(), clamp(zoomLevel, leaflet.getMinZoom(), leaflet.getMaxZoom()), { duration: this.config.zoomDuration / 1000 });
666
+ }
667
+ fitView() {
668
+ this.fitToPoints();
669
+ }
670
+ destroy() {
671
+ var _a, _b;
672
+ constraintMapViewThrottled.cancel();
673
+ cancelAnimationFrame(this._renderDataAnimationFrameId);
674
+ cancelAnimationFrame(this._flyToBoundsAnimationFrameId);
675
+ const map = (_a = this._map) === null || _a === void 0 ? void 0 : _a.leaflet;
676
+ this._map = undefined;
677
+ map === null || map === void 0 ? void 0 : map.stop();
678
+ map === null || map === void 0 ? void 0 : map.remove();
679
+ this.g.remove();
680
+ this.resizeObserver.disconnect();
681
+ (_b = this.themeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
682
+ }
683
+ }
684
+ LeafletMap.selectors = style;
685
+ LeafletMap.cssVariables = variables;
686
+ // eslint-disable-next-line @typescript-eslint/naming-convention
687
+ LeafletMap.DEFAULT_CONTAINER_HEIGHT = 600;
688
+
689
+ export { LeafletMap };
690
+ //# sourceMappingURL=index.js.map