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

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
@@ -1,363 +0,0 @@
1
- import { select, Selection } from 'd3-selection'
2
- import { interrupt } from 'd3-transition'
3
- import { Axis as D3Axis, axisBottom, axisLeft, axisRight, axisTop } from 'd3-axis'
4
-
5
- // Core
6
- import { XYComponentCore } from 'core/xy-component'
7
-
8
- // Types
9
- import { Position } from 'types/position'
10
- import { Spacing } from 'types/spacing'
11
- import { FitMode, TextAlign, UnovisText, UnovisTextOptions, VerticalAlign } from 'types/text'
12
-
13
- // Utils
14
- import { smartTransition } from 'utils/d3'
15
- import { renderTextToSvgTextElement, trimSVGText } from 'utils/text'
16
-
17
- // Local Types
18
- import { AxisType } from './types'
19
-
20
- // Config
21
- import { AxisConfig, AxisConfigInterface } from './config'
22
-
23
- // Styles
24
- import * as s from './style'
25
-
26
- export class Axis<Datum> extends XYComponentCore<Datum, AxisConfig<Datum>, AxisConfigInterface<Datum>> {
27
- static selectors = s
28
- config: AxisConfig<Datum> = new AxisConfig<Datum>()
29
- axisGroup: Selection<SVGGElement, unknown, SVGGElement, unknown>
30
- gridGroup: Selection<SVGGElement, unknown, SVGGElement, unknown>
31
-
32
- private _axisRawBBox: DOMRect
33
- private _axisSizeBBox: SVGRect
34
- private _requiredMargin: Spacing
35
- private _defaultNumTicks = 3
36
- private _minMaxTicksOnlyEnforceWidth = 250
37
-
38
- events = {}
39
-
40
- constructor (config?: AxisConfigInterface<Datum>) {
41
- super()
42
- if (config) this.config.init(config)
43
-
44
- this.axisGroup = this.g.append('g')
45
- this.gridGroup = this.g.append('g')
46
- .attr('class', s.grid)
47
- }
48
-
49
- /** Renders axis to an invisible grouped to calculate automatic chart margins */
50
- preRender (): void {
51
- const { config } = this
52
- const axisRenderHelperGroup = this.g.append('g').attr('opacity', 0)
53
-
54
- this._renderAxis(axisRenderHelperGroup, 0)
55
-
56
- // Store axis raw BBox (without the label) for further label positioning (see _renderAxisLabel)
57
- this._axisRawBBox = axisRenderHelperGroup.node().getBBox()
58
-
59
- // Align tick text
60
- if (config.tickTextAlign) this._alignTickLabels()
61
-
62
- // Render label and store total axis size and required margins
63
- this._renderAxisLabel(axisRenderHelperGroup)
64
- this._axisSizeBBox = this._getAxisSize(axisRenderHelperGroup)
65
- this._requiredMargin = this._getRequiredMargin(this._axisSizeBBox)
66
-
67
- axisRenderHelperGroup.remove()
68
- }
69
-
70
- getPosition (): Position {
71
- const { config: { type, position } } = this
72
- return (position ?? ((type === AxisType.X) ? Position.Bottom : Position.Left)) as Position
73
- }
74
-
75
- _getAxisSize (selection: Selection<SVGGElement, unknown, SVGGElement, undefined>): SVGRect {
76
- const bBox = selection.node().getBBox()
77
- return bBox
78
- }
79
-
80
- _getRequiredMargin (axisSize = this._axisSizeBBox): Spacing {
81
- const { config: { type, position } } = this
82
-
83
- switch (type) {
84
- case AxisType.X: {
85
- const tolerancePx = 1
86
- const xEnd = this._axisSizeBBox.x + this._axisSizeBBox.width
87
-
88
- const left = this._axisSizeBBox.x < 0 ? Math.abs(this._axisSizeBBox.x) : 0
89
- const right = (xEnd - this._width) > tolerancePx ? xEnd - this._width : 0
90
-
91
- switch (position) {
92
- case Position.Top: return { top: axisSize.height, left, right }
93
- case Position.Bottom: default: return { bottom: axisSize.height, left, right }
94
- }
95
- }
96
- case AxisType.Y: {
97
- const bleedY = axisSize.height > this._height ? (axisSize.height - this._height) / 2 : 0
98
- const top = bleedY
99
- const bottom = bleedY
100
-
101
- switch (position) {
102
- case Position.Right: return { right: axisSize.width, top, bottom }
103
- case Position.Left: default: return { left: axisSize.width, top, bottom }
104
- }
105
- }
106
- }
107
- }
108
-
109
- getRequiredMargin (): Spacing {
110
- return this._requiredMargin
111
- }
112
-
113
- /** Calculates axis transform:translate offset based on passed container margins */
114
- getOffset (containerMargin: Spacing): {left: number; top: number} {
115
- const { config: { type, position } } = this
116
-
117
- switch (type) {
118
- case AxisType.X:
119
- switch (position) {
120
- case Position.Top: return { top: containerMargin.top, left: containerMargin.left }
121
- case Position.Bottom: default: return { top: containerMargin.top + this._height, left: containerMargin.left }
122
- }
123
- case AxisType.Y:
124
- switch (position) {
125
- case Position.Right: return { top: containerMargin.top, left: containerMargin.left + this._width }
126
- case Position.Left: default: return { top: containerMargin.top, left: containerMargin.left }
127
- }
128
- }
129
- }
130
-
131
- _render (duration = this.config.duration, selection = this.axisGroup): void {
132
- const { config } = this
133
-
134
- this._renderAxis(selection, duration)
135
- this._renderAxisLabel(selection)
136
-
137
- if (config.gridLine) {
138
- const gridGen = this._buildGrid().tickFormat(() => '')
139
- gridGen.tickValues(this._getConfiguredTickValues())
140
- // Interrupting all active transitions first to prevent them from being stuck.
141
- // Somehow we see it happening in Angular apps.
142
- this.gridGroup.selectAll('*').interrupt()
143
- smartTransition(this.gridGroup, duration).call(gridGen).style('opacity', 1)
144
- } else {
145
- smartTransition(this.gridGroup, duration).style('opacity', 0)
146
- }
147
-
148
- if (config.tickTextAlign) this._alignTickLabels()
149
- }
150
-
151
- _buildAxis (): D3Axis<any> {
152
- const { config: { type, position, tickPadding } } = this
153
-
154
- const ticks = this._getNumTicks()
155
- switch (type) {
156
- case AxisType.X:
157
- switch (position) {
158
- case Position.Top: return axisTop(this.xScale).ticks(ticks).tickPadding(tickPadding)
159
- case Position.Bottom: default: return axisBottom(this.xScale).ticks(ticks).tickPadding(tickPadding)
160
- }
161
- case AxisType.Y:
162
- switch (position) {
163
- case Position.Right: return axisRight(this.yScale).ticks(ticks).tickPadding(tickPadding)
164
- case Position.Left: default: return axisLeft(this.yScale).ticks(ticks).tickPadding(tickPadding)
165
- }
166
- }
167
- }
168
-
169
- _buildGrid (): D3Axis<any> {
170
- const { config: { type, position } } = this
171
-
172
- const ticks = this._getNumTicks()
173
- switch (type) {
174
- case AxisType.X:
175
- switch (position) {
176
- case Position.Top: return axisTop(this.xScale).ticks(ticks * 2).tickSize(-this._height).tickSizeOuter(0)
177
- case Position.Bottom: default: return axisBottom(this.xScale).ticks(ticks * 2).tickSize(-this._height).tickSizeOuter(0)
178
- }
179
- case AxisType.Y:
180
- switch (position) {
181
- case Position.Right: return axisRight(this.yScale).ticks(ticks * 2).tickSize(-this._width).tickSizeOuter(0)
182
- case Position.Left: default: return axisLeft(this.yScale).ticks(ticks * 2).tickSize(-this._width).tickSizeOuter(0)
183
- }
184
- }
185
- }
186
-
187
- _renderAxis (selection = this.axisGroup, duration = this.config.duration): void {
188
- const { config } = this
189
-
190
- const axisGen = this._buildAxis()
191
- axisGen.tickValues(this._getConfiguredTickValues())
192
-
193
- // Interrupting all active transitions first to prevent them from being stuck.
194
- // Somehow we see it happening in Angular apps.
195
- selection.selectAll('*').interrupt()
196
- smartTransition(selection, duration).call(axisGen)
197
-
198
- const ticks = selection.selectAll<SVGGElement, number | Date>('g.tick')
199
- const tickValues = ticks.data()
200
-
201
- ticks
202
- .classed(s.tick, true)
203
- .style('font-size', config.tickTextFontSize)
204
-
205
- // We interrupt transition on tick Text to make it 'wrappable'
206
- const tickText = selection.selectAll<SVGTextElement, number | Date>('g.tick > text')
207
- tickText.nodes().forEach(node => interrupt(node))
208
-
209
- tickText.each((value, i, elements) => {
210
- const text = config.tickFormat?.(value, i, tickValues) ?? `${value}`
211
- const textElement = elements[i]
212
- const textMaxWidth = config.tickTextWidth || (config.type === AxisType.X ? this._containerWidth / (ticks.size() + 1) : this._containerWidth / 5)
213
- const styleDeclaration = getComputedStyle(textElement)
214
- const fontSize = Number.parseFloat(styleDeclaration.fontSize)
215
- const fontFamily = styleDeclaration.fontFamily
216
-
217
- if (config.tickTextFitMode === FitMode.Trim) {
218
- const textElementSelection = select(textElement).text(text)
219
- trimSVGText(textElementSelection, textMaxWidth, config.tickTextTrimType, true, fontSize, 0.58)
220
- } else {
221
- const textBlock: UnovisText = { text, fontFamily, fontSize }
222
- const textOptions: UnovisTextOptions = {
223
- verticalAlign: config.type === AxisType.X ? VerticalAlign.Top : VerticalAlign.Middle,
224
- width: textMaxWidth,
225
- }
226
- renderTextToSvgTextElement(textElement, textBlock, textOptions)
227
- }
228
- })
229
-
230
- selection
231
- .classed(s.axis, true)
232
- .classed(s.hideTickLine, !config.tickLine)
233
- .classed(s.hideDomain, !config.domainLine)
234
-
235
- if (config.fullSize) {
236
- const path = this._getFullDomainPath(0)
237
- smartTransition(selection.select('.domain'), duration).attr('d', path)
238
- }
239
- }
240
-
241
- _getNumTicks (): number {
242
- const { config: { type, numTicks } } = this
243
-
244
- if (numTicks) return numTicks
245
-
246
- if (type === AxisType.X) {
247
- const xRange = this.xScale.range() as [number, number]
248
- const width = xRange[1] - xRange[0]
249
- return Math.floor(width / 175)
250
- }
251
-
252
- if (type === AxisType.Y) {
253
- const yRange = this.yScale.range() as [number, number]
254
- const height = Math.abs(yRange[0] - yRange[1])
255
- return Math.pow(height, 0.85) / 25
256
- }
257
-
258
- return this._defaultNumTicks
259
- }
260
-
261
- _getConfiguredTickValues (): number[] | null {
262
- const { config: { tickValues, type, minMaxTicksOnly } } = this
263
- const scale = type === AxisType.X ? this.xScale : this.yScale
264
- const scaleDomain = scale?.domain()
265
-
266
- if (tickValues) {
267
- return tickValues.filter(v => (v >= scaleDomain[0]) && (v <= scaleDomain[1]))
268
- }
269
-
270
- if (minMaxTicksOnly || (type === AxisType.X && this._width < this._minMaxTicksOnlyEnforceWidth)) {
271
- return scaleDomain as number[]
272
- }
273
-
274
- return null
275
- }
276
-
277
- _getFullDomainPath (tickSize = 0): string {
278
- const { config: { type } } = this
279
- switch (type) {
280
- case AxisType.X: return `M0.5, ${tickSize} V0.5 H${this._width + 0.5} V${tickSize}`
281
- case AxisType.Y: return `M${-tickSize}, ${this._height + 0.5} H0.5 V0.5 H${-tickSize}`
282
- }
283
- }
284
-
285
- _renderAxisLabel (selection = this.axisGroup): void {
286
- const { type, label, labelMargin, labelFontSize } = this.config
287
-
288
- // Remove the old label first to calculate the axis size properly
289
- selection.selectAll(`.${s.label}`).remove()
290
-
291
- // Calculate label position and rotation
292
- const axisPosition = this.getPosition()
293
- // We always use this.axisRenderHelperGroup to calculate the size of the axis because
294
- // this.axisGroup will give us incorrect values due to animation
295
- const { width: axisWidth, height: axisHeight } = this._axisRawBBox ?? selection.node().getBBox()
296
-
297
- const offsetX = type === AxisType.X ? this._width / 2 : (-1) ** (+(axisPosition === Position.Left)) * axisWidth
298
- const offsetY = type === AxisType.X ? (-1) ** (+(axisPosition === Position.Top)) * axisHeight : this._height / 2
299
-
300
- const marginX = type === AxisType.X ? 0 : (-1) ** (+(axisPosition === Position.Left)) * labelMargin
301
- const marginY = type === AxisType.X ? (-1) ** (+(axisPosition === Position.Top)) * labelMargin : 0
302
-
303
- const rotation = type === AxisType.Y ? -90 : 0
304
-
305
- // Append new label
306
- selection
307
- .append('text')
308
- .attr('class', s.label)
309
- .text(label)
310
- .style('font-size', labelFontSize)
311
- .attr('dy', `${this._getLabelDY()}em`)
312
- .attr('transform', `translate(${offsetX + marginX},${offsetY + marginY}) rotate(${rotation})`)
313
- }
314
-
315
- _getLabelDY (): number {
316
- const { type, position } = this.config
317
- switch (type) {
318
- case AxisType.X:
319
- switch (position) {
320
- case Position.Top: return 0
321
- case Position.Bottom: default: return 0.75
322
- }
323
- case AxisType.Y:
324
- switch (position) {
325
- case Position.Right: return 0.75
326
- case Position.Left: default: return -0.25
327
- }
328
- }
329
- }
330
-
331
- _alignTickLabels (): void {
332
- const { config: { type, tickTextAlign, position } } = this
333
-
334
- const tickText = this.g.selectAll('g.tick > text')
335
- const textAnchor = this._getTickTextAnchor(tickTextAlign)
336
- const translateX = type === AxisType.X ? 0 : this._getYTickTextTranslate(tickTextAlign, position)
337
-
338
- tickText
339
- .attr('text-anchor', textAnchor)
340
- .attr('transform', `translate(${translateX},0)`)
341
- }
342
-
343
- _getTickTextAnchor (textAlign: TextAlign): string {
344
- switch (textAlign) {
345
- case TextAlign.Left: return 'start'
346
- case TextAlign.Right: return 'end'
347
- case TextAlign.Center: return 'middle'
348
- default: return null
349
- }
350
- }
351
-
352
- _getYTickTextTranslate (textAlign: TextAlign, axisPosition: Position = Position.Left): number {
353
- const defaultTickTextSpacingPx = 9 // Default in D3
354
- const width = this._axisRawBBox.width - defaultTickTextSpacingPx
355
-
356
- switch (textAlign) {
357
- case TextAlign.Left: return axisPosition === Position.Left ? width * -1 : 0
358
- case TextAlign.Right: return axisPosition === Position.Left ? 0 : width
359
- case TextAlign.Center: return axisPosition === Position.Left ? width * (-0.5) : width * 0.5
360
- default: return 0
361
- }
362
- }
363
- }
@@ -1,4 +0,0 @@
1
- export enum AxisType {
2
- X = 'x',
3
- Y = 'y',
4
- }
@@ -1,51 +0,0 @@
1
- import { D3BrushEvent } from 'd3-brush'
2
- import { XYComponentConfigInterface, XYComponentConfig } from 'core/xy-component/config'
3
-
4
- // Types
5
- import { Arrangement } from 'types/position'
6
-
7
- // We extend partial XY config interface because x and y properties are optional for Brush
8
- export interface BrushConfigInterface<Datum> extends Partial<XYComponentConfigInterface<Datum>> {
9
- /** Callback function to be called on any Brush event.
10
- * Default: `(selection: [number, number], event: D3BrushEvent<Datum>, userDriven: boolean): void => {}`
11
- */
12
- onBrush?: ((selection: [number, number] | undefined, event: D3BrushEvent<Datum>, userDriven: boolean) => void);
13
- /** Callback function to be called on the Brush start event.
14
- * Default: `(selection: [number, number], event: D3BrushEvent<Datum>, userDriven: boolean): void => {}`
15
- */
16
- onBrushStart?: ((selection: [number, number] | undefined, event: D3BrushEvent<Datum>, userDriven: boolean) => void);
17
- /** Callback function to be called on the Brush move event.
18
- * Default: `(selection: [number, number], event: D3BrushEvent<Datum>, userDriven: boolean): void => {}`
19
- */
20
- onBrushMove?: ((selection: [number, number] | undefined, event: D3BrushEvent<Datum>, userDriven: boolean) => void);
21
- /** Callback function to be called on the Brush end event.
22
- * Default: `(selection: [number, number], event: D3BrushEvent<Datum>, userDriven: boolean): void => {}`
23
- */
24
- onBrushEnd?: ((selection: [number, number] | undefined, event: D3BrushEvent<Datum>, userDriven: boolean) => void);
25
- /** Width of the Brush handle. Default: `1` */
26
- handleWidth?: number;
27
- /** Brush selection in the data space coordinates, can be used to control the selection. Default: `undefined` */
28
- selection?: [number, number] | null;
29
- /** Allow dragging the selected area as a whole in order to change the selected range. Default: `false` */
30
- draggable?: boolean;
31
- /** Position of the handle: `Arrangement.Inside` or `Arrangement.Outside`. Default: `Arrangement.Inside` */
32
- handlePosition?: Arrangement | string;
33
- /** Constraint Brush selection to a minimal length in data units. Default: `undefined` */
34
- selectionMinLength?: number;
35
- }
36
-
37
- export class BrushConfig<Datum> extends XYComponentConfig<Datum> implements BrushConfigInterface<Datum> {
38
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
39
- onBrush = (s: [number, number] | undefined, e: D3BrushEvent<Datum>, userDriven: boolean): void => {}
40
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
41
- onBrushStart = (s: [number, number] | undefined, e: D3BrushEvent<Datum>, userDriven: boolean): void => {}
42
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
43
- onBrushMove = (s: [number, number] | undefined, e: D3BrushEvent<Datum>, userDriven: boolean): void => {}
44
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
45
- onBrushEnd = (s: [number, number] | undefined, e: D3BrushEvent<Datum>, userDriven: boolean): void => {}
46
- handleWidth = 9
47
- selection = null
48
- draggable = false
49
- handlePosition: Arrangement | string = Arrangement.Inside
50
- selectionMinLength = undefined
51
- }
@@ -1,233 +0,0 @@
1
- import { BrushBehavior, brushX, D3BrushEvent } from 'd3-brush'
2
- import { Selection } from 'd3-selection'
3
-
4
- // Core
5
- import { XYComponentCore } from 'core/xy-component'
6
-
7
- // Utils
8
- import { isNumber, clamp } from 'utils/data'
9
- import { smartTransition } from 'utils/d3'
10
-
11
- // Types
12
- import { Arrangement } from 'types/position'
13
-
14
- // Config
15
- import { BrushConfig, BrushConfigInterface } from './config'
16
-
17
- // Local Types
18
- import { BrushDirection, BrushHandleType } from './types'
19
-
20
- // Styles
21
- import * as s from './style'
22
-
23
- export class Brush<Datum> extends XYComponentCore<Datum, BrushConfig<Datum>, BrushConfigInterface<Datum>> {
24
- static selectors = s
25
- clippable = false // Don't apply clipping path to this component. See XYContainer
26
- config: BrushConfig<Datum> = new BrushConfig()
27
- brush: Selection<SVGGElement, unknown, SVGGElement, unknown>
28
- unselectedRange: Selection<SVGRectElement, BrushHandleType, SVGGElement, unknown>
29
- handleLines: Selection<SVGLineElement, BrushHandleType, SVGGElement, unknown>
30
- brushBehaviour: BrushBehavior<unknown> = brushX()
31
- events = {
32
- [Brush.selectors.brush]: {},
33
- }
34
-
35
- private _selection: [number, number] | null = null
36
- private _firstRender = true
37
-
38
- constructor (config?: BrushConfigInterface<Datum>) {
39
- super()
40
- if (config) this.config.init(config)
41
-
42
- this.brush = this.g
43
- .append('g')
44
- .attr('class', s.brush)
45
-
46
- const directions: BrushHandleType[] = [{ type: BrushDirection.West }, { type: BrushDirection.East }]
47
- this.unselectedRange = this.g
48
- .selectAll(`.${s.unselected}`)
49
- .data(directions)
50
- .enter().append('rect')
51
- .attr('class', s.unselected)
52
-
53
- this.handleLines = this.g
54
- .selectAll(`.${s.handleLine}`)
55
- .data(directions)
56
- .enter().append('line')
57
- .attr('class', s.handleLine)
58
- }
59
-
60
- _render (customDuration?: number): void {
61
- const { brushBehaviour, config } = this
62
- const duration = isNumber(customDuration) ? customDuration : config.duration
63
- const xScale = this.xScale
64
-
65
- brushBehaviour
66
- .extent([[0, 0], [this._width, this._height]])
67
- .on('start', this._onBrushStart.bind(this))
68
- .on('brush', this._onBrushMove.bind(this))
69
- .on('end', this._onBrushEnd.bind(this))
70
-
71
- this.brush
72
- .call(brushBehaviour)
73
- .classed('non-draggable', !config.draggable)
74
-
75
- const yRange = [this._height, 0]
76
- const h = yRange[0] - yRange[1]
77
-
78
- this.g.selectAll('.handle')
79
- .attr('y', yRange[1])
80
- .attr('height', h)
81
-
82
- this.unselectedRange
83
- .attr('y', yRange[1])
84
- .attr('height', h)
85
-
86
- this.handleLines
87
- .attr('y1', yRange[1] + 10)
88
- .attr('y2', yRange[1] + h - 10)
89
-
90
- // We save the X scale range and set it to the available horizontal space to calculate the selection range in pixels correctly
91
- const xRange = [0, this._width]
92
- const xScaleRange = xScale.range()
93
- xScale.range(xRange)
94
- const selectionMin = clamp(xScale((config.selection || this._selection)?.[0]) ?? 0, xRange[0], xRange[1])
95
- const selectionMax = clamp(xScale((config.selection || this._selection)?.[1]) ?? 0, xRange[0], xRange[1])
96
- xScale.range(xScaleRange) // Restore the X scale range
97
-
98
- const selectionLength = selectionMax - selectionMin
99
- const brushRange = (selectionLength ? [selectionMin, selectionMax] : xRange) as [number, number]
100
- this._positionHandles(brushRange)
101
-
102
- smartTransition(this.brush, duration)
103
- .call(brushBehaviour.move, brushRange) // Sets up the brush and calls brush events
104
- .on('end interrupt', () => { this._firstRender = false })
105
- // We track the first render to not trigger user events on component initialization
106
- if (!duration) this._firstRender = false
107
- }
108
-
109
- _updateSelection (s: [number, number]): void {
110
- const xRange = [0, this._width]
111
- this.unselectedRange
112
- .attr('x', d => d.type === BrushDirection.West ? xRange[0] : s[1])
113
- .attr('width', d => {
114
- const length = d.type === BrushDirection.West ? s[0] - xRange[0] : xRange[1] - s[1]
115
- const lengthClamped = clamp(length, 0, xRange[1] - xRange[0])
116
- return lengthClamped
117
- })
118
-
119
- this._positionHandles(s)
120
-
121
- // D3 sets brush handle height to be too long, so we need to update it
122
- const yRange = [this._height, 0]
123
- const h = yRange[0] - yRange[1]
124
- this.g.selectAll('.handle')
125
- .attr('y', yRange[1])
126
- .attr('height', h)
127
- }
128
-
129
- private _positionHandles (s: [number, number]): void {
130
- const { config } = this
131
-
132
- this.brush.selectAll<SVGRectElement, BrushHandleType>('.handle')
133
- .attr('width', config.handleWidth)
134
- .attr('x', d => {
135
- if (!s) return 0
136
- const west = d.type === BrushDirection.West
137
- const inside = config.handlePosition === Arrangement.Inside
138
-
139
- if (west) return s[0] + (inside ? 0 : -config.handleWidth)
140
- else return s[1] + (inside ? -config.handleWidth : 0)
141
- })
142
-
143
- this.handleLines
144
- .attr('transform', d => {
145
- if (!s) return null
146
- const west = d.type === BrushDirection.West
147
- const inside = config.handlePosition === Arrangement.Inside
148
- return `translate(${west
149
- ? s[0] - (-1) ** Number(inside) * config.handleWidth / 2
150
- : s[1] + (-1) ** Number(inside) * config.handleWidth / 2},0)`
151
- })
152
- }
153
-
154
- _onBrush (event: D3BrushEvent<Datum>): void {
155
- const { config } = this
156
- const xScale = this.xScale
157
- const xRange = [0, this._width]
158
- const s = (event?.selection || xRange) as [number, number]
159
- const userDriven = !!event?.sourceEvent
160
- // Handle edge cases:
161
- // (event?.selection === null) happens when user clicks to reset the selection
162
- // (s?.[0] === s?.[1]) happens when user drags the selection out of range
163
- if (userDriven && (
164
- (event?.selection === null) || // happens when user clicks to reset the selection
165
- (s?.[0] === s?.[1]) || // happens when user drags the selection out of range
166
- (s?.[0] < xRange[0]) || //
167
- (s?.[0] > xRange[1]) || // happens when you drag the brush and the domain updates
168
- (s?.[1] < xRange[0]) || // to a smaller one and brush goes out of range
169
- (s?.[1] > xRange[1]) //
170
- )) {
171
- this.brush.call(this.brushBehaviour.move, xRange) // Will trigger the 'brush end' callback with `range`
172
- return
173
- }
174
-
175
- // When you reset selection by clicking on a non-selected brush area, D3 triggers the brush event twice.
176
- // The first call will have equal selection coordinates (e.g. [441, 441]), the second call will have the full range (e.g. [0, 700]).
177
- // To avoid unnecessary render from the first call we skip it
178
- if (s[0] !== s[1] && isNumber(s[0]) && isNumber(s[1])) {
179
- // We save the X scale range and set it to the available horizontal space to invert the selection correctly
180
- const xScaleRange = xScale.range()
181
- xScale.range(xRange)
182
- const selectedDomain = s.map(n => +xScale.invert(n)) as [number, number]
183
-
184
- if (userDriven) {
185
- // Constraint the selection if configured
186
- const xDomain = xScale.domain() as [number, number]
187
- const xDomainLength = Math.abs(xDomain[1] - xDomain[0])
188
- const selectionLength = Math.abs(selectedDomain[1] - selectedDomain[0])
189
-
190
- if (config.selectionMinLength >= xDomainLength) {
191
- console.warn('Unovis | Brush: Configured `selectionMinLength` is bigger than the brush domain')
192
- }
193
-
194
- if ((selectionLength < config.selectionMinLength) && (config.selectionMinLength < xDomainLength)) {
195
- const selection = config.selection ?? this._selection
196
- const range = [xScale(selection[0]), xScale(selection[1])] as [number, number]
197
- this.brush.call(this.brushBehaviour.move, range) // Will trigger the 'brush end' callback with `range`
198
- // Restore the X scale range
199
- xScale.range(xScaleRange)
200
- return
201
- } else {
202
- this._selection = selectedDomain
203
- // Restore the X scale range
204
- xScale.range(xScaleRange)
205
- }
206
- }
207
-
208
- this._updateSelection(s)
209
- if (!this._firstRender) config.onBrush(selectedDomain, event, userDriven)
210
- }
211
- }
212
-
213
- _onBrushStart (event: D3BrushEvent<Datum>): void {
214
- const { config } = this
215
-
216
- this._onBrush(event)
217
- if (!this._firstRender) config.onBrushStart(this._selection, event, !!event?.sourceEvent)
218
- }
219
-
220
- _onBrushMove (event: D3BrushEvent<Datum>): void {
221
- const { config } = this
222
-
223
- this._onBrush(event)
224
- if (!this._firstRender) config.onBrushMove(this._selection, event, !!event?.sourceEvent)
225
- }
226
-
227
- _onBrushEnd (event: D3BrushEvent<Datum>): void {
228
- const { config } = this
229
-
230
- this._onBrush(event)
231
- if (!this._firstRender) config.onBrushEnd(this._selection, event, !!event?.sourceEvent)
232
- }
233
- }
@@ -1,8 +0,0 @@
1
- export type BrushHandleType = {
2
- type: BrushDirection;
3
- }
4
-
5
- export enum BrushDirection {
6
- West = 'w', // D3 defines brush directions as 'w', 'e', ...
7
- East = 'e',
8
- }