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

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/declaration.d.ts +1 -0
  2. package/index.ts +1 -0
  3. package/licences.txt +43 -0
  4. package/maps.ts +1 -0
  5. package/package.json +1 -1
  6. package/rollup.config.js +71 -0
  7. package/rules/ts-getter-setter.js +35 -0
  8. package/src/components/area/config.ts +29 -0
  9. package/src/components/area/index.ts +133 -0
  10. package/{components/area/style.js → src/components/area/style.ts} +9 -10
  11. package/src/components/area/types.ts +2 -0
  12. package/src/components/axis/config.ts +76 -0
  13. package/src/components/axis/index.ts +363 -0
  14. package/{components/axis/style.js → src/components/axis/style.ts} +27 -22
  15. package/src/components/axis/types.ts +4 -0
  16. package/src/components/brush/config.ts +51 -0
  17. package/src/components/brush/index.ts +233 -0
  18. package/{components/brush/style.js → src/components/brush/style.ts} +15 -14
  19. package/src/components/brush/types.ts +8 -0
  20. package/src/components/bullet-legend/config.ts +38 -0
  21. package/src/components/bullet-legend/index.ts +104 -0
  22. package/{components/bullet-legend/style.js → src/components/bullet-legend/style.ts} +18 -16
  23. package/src/components/bullet-legend/types.ts +7 -0
  24. package/src/components/chord-diagram/config.ts +53 -0
  25. package/src/components/chord-diagram/index.ts +401 -0
  26. package/src/components/chord-diagram/modules/label.ts +155 -0
  27. package/src/components/chord-diagram/modules/link.ts +91 -0
  28. package/src/components/chord-diagram/modules/node.ts +80 -0
  29. package/{components/chord-diagram/style.js → src/components/chord-diagram/style.ts} +39 -30
  30. package/src/components/chord-diagram/types.ts +68 -0
  31. package/src/components/crosshair/config.ts +48 -0
  32. package/src/components/crosshair/index.ts +220 -0
  33. package/{components/crosshair/style.js → src/components/crosshair/style.ts} +12 -12
  34. package/src/components/crosshair/types.ts +15 -0
  35. package/src/components/donut/config.ts +65 -0
  36. package/src/components/donut/index.ts +148 -0
  37. package/src/components/donut/modules/arc.ts +86 -0
  38. package/{components/donut/style.js → src/components/donut/style.ts} +20 -18
  39. package/src/components/donut/types.ts +17 -0
  40. package/src/components/flow-legend/config.ts +31 -0
  41. package/src/components/flow-legend/index.ts +103 -0
  42. package/{components/flow-legend/style.js → src/components/flow-legend/style.ts} +25 -21
  43. package/src/components/flow-legend/types.ts +10 -0
  44. package/src/components/free-brush/config.ts +54 -0
  45. package/src/components/free-brush/index.ts +207 -0
  46. package/{components/free-brush/style.js → src/components/free-brush/style.ts} +12 -12
  47. package/src/components/free-brush/types.ts +8 -0
  48. package/src/components/graph/config.ts +280 -0
  49. package/src/components/graph/index.ts +809 -0
  50. package/src/components/graph/modules/layout-helpers.ts +96 -0
  51. package/src/components/graph/modules/layout.ts +502 -0
  52. package/src/components/graph/modules/link/helper.ts +105 -0
  53. package/src/components/graph/modules/link/index.ts +302 -0
  54. package/{components/graph/modules/link/style.js → src/components/graph/modules/link/style.ts} +45 -34
  55. package/src/components/graph/modules/node/helper.ts +162 -0
  56. package/src/components/graph/modules/node/index.ts +343 -0
  57. package/{components/graph/modules/node/style.js → src/components/graph/modules/node/style.ts} +72 -52
  58. package/src/components/graph/modules/panel/helper.ts +160 -0
  59. package/src/components/graph/modules/panel/index.ts +137 -0
  60. package/{components/graph/modules/panel/style.js → src/components/graph/modules/panel/style.ts} +42 -32
  61. package/src/components/graph/modules/shape.ts +108 -0
  62. package/src/components/graph/modules/zoom-levels.ts +6 -0
  63. package/src/components/graph/style.ts +72 -0
  64. package/src/components/graph/types.ts +152 -0
  65. package/src/components/grouped-bar/config.ts +40 -0
  66. package/src/components/grouped-bar/index.ts +325 -0
  67. package/{components/grouped-bar/style.js → src/components/grouped-bar/style.ts} +15 -14
  68. package/src/components/leaflet-flow-map/config.ts +60 -0
  69. package/src/components/leaflet-flow-map/index.ts +279 -0
  70. package/src/components/leaflet-flow-map/renderer-utils.ts +14 -0
  71. package/src/components/leaflet-flow-map/renderer.ts +146 -0
  72. package/{components/leaflet-flow-map/shaders.js → src/components/leaflet-flow-map/shaders.ts} +4 -7
  73. package/src/components/leaflet-flow-map/types.ts +18 -0
  74. package/src/components/leaflet-map/config.ts +234 -0
  75. package/src/components/leaflet-map/index.ts +808 -0
  76. package/src/components/leaflet-map/leaflet.css +625 -0
  77. package/src/components/leaflet-map/modules/clusterBackground.ts +34 -0
  78. package/src/components/leaflet-map/modules/donut.ts +37 -0
  79. package/src/components/leaflet-map/modules/map.ts +178 -0
  80. package/src/components/leaflet-map/modules/node.ts +208 -0
  81. package/src/components/leaflet-map/modules/selectionRing.ts +63 -0
  82. package/src/components/leaflet-map/modules/utils.ts +290 -0
  83. package/{components → src/components}/leaflet-map/renderer/leaflet-maplibre-gl.js +76 -78
  84. package/src/components/leaflet-map/renderer/map-style.ts +24 -0
  85. package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json +35 -0
  86. package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json +35 -0
  87. package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json +2185 -0
  88. package/src/components/leaflet-map/renderer/mapboxgl-layer.ts +43 -0
  89. package/src/components/leaflet-map/renderer/mapboxgl-utils.ts +40 -0
  90. package/{components → src/components}/leaflet-map/renderer/maplibre-gl.css.js +2 -4
  91. package/src/components/leaflet-map/style.ts +217 -0
  92. package/src/components/leaflet-map/types.ts +75 -0
  93. package/src/components/line/config.ts +34 -0
  94. package/src/components/line/index.ts +188 -0
  95. package/{components/line/style.js → src/components/line/style.ts} +18 -16
  96. package/src/components/line/types.ts +3 -0
  97. package/src/components/nested-donut/config.ts +75 -0
  98. package/src/components/nested-donut/index.ts +176 -0
  99. package/src/components/nested-donut/modules/arc.ts +78 -0
  100. package/src/components/nested-donut/modules/label.ts +63 -0
  101. package/src/components/nested-donut/style.ts +82 -0
  102. package/src/components/nested-donut/types.ts +29 -0
  103. package/src/components/sankey/config.ts +195 -0
  104. package/src/components/sankey/index.ts +387 -0
  105. package/src/components/sankey/modules/label.ts +228 -0
  106. package/src/components/sankey/modules/link.ts +141 -0
  107. package/src/components/sankey/modules/node.ts +221 -0
  108. package/{components/sankey/style.js → src/components/sankey/style.ts} +60 -44
  109. package/src/components/sankey/types.ts +95 -0
  110. package/src/components/scatter/config.ts +49 -0
  111. package/src/components/scatter/index.ts +220 -0
  112. package/src/components/scatter/modules/point.ts +123 -0
  113. package/src/components/scatter/modules/utils.ts +150 -0
  114. package/{components/scatter/style.js → src/components/scatter/style.ts} +15 -14
  115. package/src/components/scatter/types.ts +21 -0
  116. package/src/components/stacked-bar/config.ts +42 -0
  117. package/src/components/stacked-bar/index.ts +267 -0
  118. package/{components/stacked-bar/style.js → src/components/stacked-bar/style.ts} +15 -14
  119. package/src/components/stacked-bar/types.ts +5 -0
  120. package/src/components/timeline/config.ts +49 -0
  121. package/src/components/timeline/index.ts +302 -0
  122. package/{components/timeline/style.js → src/components/timeline/style.ts} +39 -30
  123. package/src/components/tooltip/config.ts +69 -0
  124. package/src/components/tooltip/index.ts +220 -0
  125. package/{components → src/components}/tooltip/style.js +11 -14
  126. package/src/components/topojson-map/config.ts +124 -0
  127. package/src/components/topojson-map/index.ts +436 -0
  128. package/{components/topojson-map/style.js → src/components/topojson-map/style.ts} +33 -26
  129. package/src/components/topojson-map/types.ts +123 -0
  130. package/src/components/topojson-map/utils.ts +29 -0
  131. package/src/components/vis-controls/config.ts +16 -0
  132. package/src/components/vis-controls/index.ts +68 -0
  133. package/{components/vis-controls/style.js → src/components/vis-controls/style.ts} +34 -27
  134. package/src/components/vis-controls/types.ts +14 -0
  135. package/src/components/xy-labels/config.ts +56 -0
  136. package/src/components/xy-labels/index.ts +109 -0
  137. package/src/components/xy-labels/modules/label.ts +140 -0
  138. package/{components/xy-labels/style.js → src/components/xy-labels/style.ts} +15 -14
  139. package/src/components/xy-labels/types.ts +26 -0
  140. package/src/components.ts +56 -0
  141. package/src/containers/single-container/config.ts +15 -0
  142. package/src/containers/single-container/index.ts +150 -0
  143. package/src/containers/xy-container/config.ts +112 -0
  144. package/src/containers/xy-container/index.ts +407 -0
  145. package/src/containers.ts +6 -0
  146. package/src/core/component/config.ts +61 -0
  147. package/src/core/component/index.ts +154 -0
  148. package/src/core/component/types.ts +9 -0
  149. package/src/core/config/index.ts +12 -0
  150. package/src/core/container/config.ts +56 -0
  151. package/src/core/container/index.ts +136 -0
  152. package/src/core/xy-component/config.ts +46 -0
  153. package/src/core/xy-component/index.ts +90 -0
  154. package/src/data-models/core.ts +15 -0
  155. package/src/data-models/graph.ts +138 -0
  156. package/src/data-models/map-graph.ts +72 -0
  157. package/src/data-models/map.ts +18 -0
  158. package/src/data-models/series.ts +16 -0
  159. package/src/index.ts +7 -0
  160. package/src/maps/china-provinces.json +1 -0
  161. package/src/maps/fr-regions.json +1 -0
  162. package/src/maps/germany-regions.json +1 -0
  163. package/src/maps/ind-regions.json +1 -0
  164. package/src/maps/uk-regions.json +1 -0
  165. package/src/maps/us-counties.json +1 -0
  166. package/src/maps/us-states.json +1 -0
  167. package/src/maps/world-110m-alpha.json +1 -0
  168. package/src/maps/world-simple.json +1 -0
  169. package/src/maps/world-simplest.json +1 -0
  170. package/src/maps.ts +34 -0
  171. package/src/styles/colors.ts +28 -0
  172. package/src/styles/index.ts +38 -0
  173. package/{styles/sizes.js → src/styles/sizes.ts} +6 -8
  174. package/src/types/accessor.ts +5 -0
  175. package/src/types/component.ts +15 -0
  176. package/src/types/curve.ts +62 -0
  177. package/src/types/data.ts +5 -0
  178. package/src/types/direction.ts +6 -0
  179. package/src/types/graph.ts +40 -0
  180. package/src/types/map.ts +5 -0
  181. package/src/types/misc.ts +10 -0
  182. package/src/types/position.ts +23 -0
  183. package/src/types/scale.ts +47 -0
  184. package/src/types/shape.ts +7 -0
  185. package/src/types/spacing.ts +6 -0
  186. package/src/types/svg.ts +32 -0
  187. package/src/types/symbol.ts +21 -0
  188. package/src/types/text.ts +71 -0
  189. package/src/types.ts +31 -0
  190. package/src/utils/color.ts +41 -0
  191. package/src/utils/d3.ts +15 -0
  192. package/src/utils/data.ts +328 -0
  193. package/src/utils/html.ts +13 -0
  194. package/src/utils/map.ts +29 -0
  195. package/src/utils/misc.ts +54 -0
  196. package/src/utils/path.ts +196 -0
  197. package/src/utils/scale.ts +1 -0
  198. package/src/utils/style.ts +37 -0
  199. package/src/utils/svg.ts +49 -0
  200. package/src/utils/text.ts +529 -0
  201. package/src/utils/type.ts +9 -0
  202. package/tsconfig.json +29 -0
  203. package/components/area/config.d.ts +0 -25
  204. package/components/area/config.js +0 -16
  205. package/components/area/config.js.map +0 -1
  206. package/components/area/index.d.ts +0 -19
  207. package/components/area/index.js +0 -102
  208. package/components/area/index.js.map +0 -1
  209. package/components/area/style.d.ts +0 -3
  210. package/components/area/style.js.map +0 -1
  211. package/components/area/types.d.ts +0 -6
  212. package/components/axis/config.d.ts +0 -71
  213. package/components/axis/config.js +0 -32
  214. package/components/axis/config.js.map +0 -1
  215. package/components/axis/index.d.ts +0 -44
  216. package/components/axis/index.js +0 -305
  217. package/components/axis/index.js.map +0 -1
  218. package/components/axis/style.d.ts +0 -9
  219. package/components/axis/style.js.map +0 -1
  220. package/components/axis/types.d.ts +0 -4
  221. package/components/axis/types.js +0 -8
  222. package/components/axis/types.js.map +0 -1
  223. package/components/brush/config.d.ts +0 -42
  224. package/components/brush/config.js +0 -24
  225. package/components/brush/config.js.map +0 -1
  226. package/components/brush/index.d.ts +0 -28
  227. package/components/brush/index.js +0 -199
  228. package/components/brush/index.js.map +0 -1
  229. package/components/brush/style.d.ts +0 -5
  230. package/components/brush/style.js.map +0 -1
  231. package/components/brush/types.d.ts +0 -7
  232. package/components/brush/types.js +0 -8
  233. package/components/brush/types.js.map +0 -1
  234. package/components/bullet-legend/config.d.ts +0 -34
  235. package/components/bullet-legend/config.js +0 -16
  236. package/components/bullet-legend/config.js.map +0 -1
  237. package/components/bullet-legend/index.d.ts +0 -19
  238. package/components/bullet-legend/index.js +0 -79
  239. package/components/bullet-legend/index.js.map +0 -1
  240. package/components/bullet-legend/style.d.ts +0 -6
  241. package/components/bullet-legend/style.js.map +0 -1
  242. package/components/bullet-legend/types.d.ts +0 -7
  243. package/components/bullet-legend/types.js +0 -2
  244. package/components/bullet-legend/types.js.map +0 -1
  245. package/components/chord-diagram/config.d.ts +0 -44
  246. package/components/chord-diagram/config.js +0 -25
  247. package/components/chord-diagram/config.js.map +0 -1
  248. package/components/chord-diagram/index.d.ts +0 -42
  249. package/components/chord-diagram/index.js +0 -305
  250. package/components/chord-diagram/index.js.map +0 -1
  251. package/components/chord-diagram/modules/label.d.ts +0 -8
  252. package/components/chord-diagram/modules/label.js +0 -115
  253. package/components/chord-diagram/modules/label.js.map +0 -1
  254. package/components/chord-diagram/modules/link.d.ts +0 -21
  255. package/components/chord-diagram/modules/link.js +0 -63
  256. package/components/chord-diagram/modules/link.js.map +0 -1
  257. package/components/chord-diagram/modules/node.d.ts +0 -17
  258. package/components/chord-diagram/modules/node.js +0 -52
  259. package/components/chord-diagram/modules/node.js.map +0 -1
  260. package/components/chord-diagram/style.d.ts +0 -13
  261. package/components/chord-diagram/style.js.map +0 -1
  262. package/components/chord-diagram/types.d.ts +0 -58
  263. package/components/chord-diagram/types.js +0 -8
  264. package/components/chord-diagram/types.js.map +0 -1
  265. package/components/crosshair/config.d.ts +0 -43
  266. package/components/crosshair/config.js +0 -19
  267. package/components/crosshair/config.js.map +0 -1
  268. package/components/crosshair/index.d.ts +0 -35
  269. package/components/crosshair/index.js +0 -183
  270. package/components/crosshair/index.js.map +0 -1
  271. package/components/crosshair/style.d.ts +0 -4
  272. package/components/crosshair/style.js.map +0 -1
  273. package/components/crosshair/types.d.ts +0 -13
  274. package/components/crosshair/types.js +0 -2
  275. package/components/crosshair/types.js.map +0 -1
  276. package/components/donut/config.d.ts +0 -59
  277. package/components/donut/config.js +0 -28
  278. package/components/donut/config.js.map +0 -1
  279. package/components/donut/index.d.ts +0 -21
  280. package/components/donut/index.js +0 -107
  281. package/components/donut/index.js.map +0 -1
  282. package/components/donut/modules/arc.d.ts +0 -10
  283. package/components/donut/modules/arc.js +0 -59
  284. package/components/donut/modules/arc.js.map +0 -1
  285. package/components/donut/style.d.ts +0 -7
  286. package/components/donut/style.js.map +0 -1
  287. package/components/donut/types.d.ts +0 -20
  288. package/components/flow-legend/config.d.ts +0 -29
  289. package/components/flow-legend/config.js +0 -18
  290. package/components/flow-legend/config.js.map +0 -1
  291. package/components/flow-legend/index.d.ts +0 -16
  292. package/components/flow-legend/index.js +0 -75
  293. package/components/flow-legend/index.js.map +0 -1
  294. package/components/flow-legend/style.d.ts +0 -8
  295. package/components/flow-legend/style.js.map +0 -1
  296. package/components/flow-legend/types.d.ts +0 -9
  297. package/components/flow-legend/types.js +0 -8
  298. package/components/flow-legend/types.js.map +0 -1
  299. package/components/free-brush/config.d.ts +0 -45
  300. package/components/free-brush/config.js +0 -24
  301. package/components/free-brush/config.js.map +0 -1
  302. package/components/free-brush/index.d.ts +0 -20
  303. package/components/free-brush/index.js +0 -192
  304. package/components/free-brush/index.js.map +0 -1
  305. package/components/free-brush/style.d.ts +0 -4
  306. package/components/free-brush/style.js.map +0 -1
  307. package/components/free-brush/types.d.ts +0 -7
  308. package/components/free-brush/types.js +0 -9
  309. package/components/free-brush/types.js.map +0 -1
  310. package/components/graph/config.d.ts +0 -238
  311. package/components/graph/config.js +0 -84
  312. package/components/graph/config.js.map +0 -1
  313. package/components/graph/index.d.ts +0 -126
  314. package/components/graph/index.js +0 -656
  315. package/components/graph/index.js.map +0 -1
  316. package/components/graph/modules/layout-helpers.d.ts +0 -21
  317. package/components/graph/modules/layout-helpers.js +0 -69
  318. package/components/graph/modules/layout-helpers.js.map +0 -1
  319. package/components/graph/modules/layout.d.ts +0 -10
  320. package/components/graph/modules/layout.js +0 -399
  321. package/components/graph/modules/layout.js.map +0 -1
  322. package/components/graph/modules/link/helper.d.ts +0 -25
  323. package/components/graph/modules/link/helper.js +0 -74
  324. package/components/graph/modules/link/helper.js.map +0 -1
  325. package/components/graph/modules/link/index.d.ts +0 -11
  326. package/components/graph/modules/link/index.js +0 -212
  327. package/components/graph/modules/link/index.js.map +0 -1
  328. package/components/graph/modules/link/style.d.ts +0 -15
  329. package/components/graph/modules/link/style.js.map +0 -1
  330. package/components/graph/modules/node/helper.d.ts +0 -21
  331. package/components/graph/modules/node/helper.js +0 -126
  332. package/components/graph/modules/node/helper.js.map +0 -1
  333. package/components/graph/modules/node/index.d.ts +0 -11
  334. package/components/graph/modules/node/index.js +0 -252
  335. package/components/graph/modules/node/index.js.map +0 -1
  336. package/components/graph/modules/node/style.d.ts +0 -24
  337. package/components/graph/modules/node/style.js.map +0 -1
  338. package/components/graph/modules/panel/helper.d.ts +0 -18
  339. package/components/graph/modules/panel/helper.js +0 -111
  340. package/components/graph/modules/panel/helper.js.map +0 -1
  341. package/components/graph/modules/panel/index.d.ts +0 -7
  342. package/components/graph/modules/panel/index.js +0 -98
  343. package/components/graph/modules/panel/index.js.map +0 -1
  344. package/components/graph/modules/panel/style.d.ts +0 -14
  345. package/components/graph/modules/panel/style.js.map +0 -1
  346. package/components/graph/modules/shape.d.ts +0 -6
  347. package/components/graph/modules/shape.js +0 -80
  348. package/components/graph/modules/shape.js.map +0 -1
  349. package/components/graph/modules/zoom-levels.d.ts +0 -6
  350. package/components/graph/modules/zoom-levels.js +0 -10
  351. package/components/graph/modules/zoom-levels.js.map +0 -1
  352. package/components/graph/style.d.ts +0 -6
  353. package/components/graph/style.js +0 -66
  354. package/components/graph/style.js.map +0 -1
  355. package/components/graph/types.d.ts +0 -125
  356. package/components/graph/types.js +0 -30
  357. package/components/graph/types.js.map +0 -1
  358. package/components/grouped-bar/config.d.ts +0 -36
  359. package/components/grouped-bar/config.js +0 -20
  360. package/components/grouped-bar/config.js.map +0 -1
  361. package/components/grouped-bar/index.d.ts +0 -32
  362. package/components/grouped-bar/index.js +0 -249
  363. package/components/grouped-bar/index.js.map +0 -1
  364. package/components/grouped-bar/style.d.ts +0 -5
  365. package/components/grouped-bar/style.js.map +0 -1
  366. package/components/leaflet-flow-map/config.d.ts +0 -46
  367. package/components/leaflet-flow-map/config.js +0 -25
  368. package/components/leaflet-flow-map/config.js.map +0 -1
  369. package/components/leaflet-flow-map/index.d.ts +0 -52
  370. package/components/leaflet-flow-map/index.js +0 -220
  371. package/components/leaflet-flow-map/index.js.map +0 -1
  372. package/components/leaflet-flow-map/renderer-utils.d.ts +0 -5
  373. package/components/leaflet-flow-map/renderer-utils.js +0 -15
  374. package/components/leaflet-flow-map/renderer-utils.js.map +0 -1
  375. package/components/leaflet-flow-map/renderer.d.ts +0 -26
  376. package/components/leaflet-flow-map/renderer.js +0 -117
  377. package/components/leaflet-flow-map/renderer.js.map +0 -1
  378. package/components/leaflet-flow-map/shaders.d.ts +0 -2
  379. package/components/leaflet-flow-map/shaders.js.map +0 -1
  380. package/components/leaflet-flow-map/types.d.ts +0 -23
  381. package/components/leaflet-map/config.d.ts +0 -193
  382. package/components/leaflet-map/config.js +0 -71
  383. package/components/leaflet-map/config.js.map +0 -1
  384. package/components/leaflet-map/index.d.ts +0 -130
  385. package/components/leaflet-map/index.js +0 -690
  386. package/components/leaflet-map/index.js.map +0 -1
  387. package/components/leaflet-map/leaflet.css.js +0 -5
  388. package/components/leaflet-map/leaflet.css.js.map +0 -1
  389. package/components/leaflet-map/modules/clusterBackground.d.ts +0 -5
  390. package/components/leaflet-map/modules/clusterBackground.js +0 -27
  391. package/components/leaflet-map/modules/clusterBackground.js.map +0 -1
  392. package/components/leaflet-map/modules/donut.d.ts +0 -3
  393. package/components/leaflet-map/modules/donut.js +0 -25
  394. package/components/leaflet-map/modules/donut.js.map +0 -1
  395. package/components/leaflet-map/modules/map.d.ts +0 -14
  396. package/components/leaflet-map/modules/map.js +0 -154
  397. package/components/leaflet-map/modules/map.js.map +0 -1
  398. package/components/leaflet-map/modules/node.d.ts +0 -9
  399. package/components/leaflet-map/modules/node.js +0 -162
  400. package/components/leaflet-map/modules/node.js.map +0 -1
  401. package/components/leaflet-map/modules/selectionRing.d.ts +0 -7
  402. package/components/leaflet-map/modules/selectionRing.js +0 -41
  403. package/components/leaflet-map/modules/selectionRing.js.map +0 -1
  404. package/components/leaflet-map/modules/utils.d.ts +0 -50
  405. package/components/leaflet-map/modules/utils.js +0 -210
  406. package/components/leaflet-map/modules/utils.js.map +0 -1
  407. package/components/leaflet-map/renderer/leaflet-maplibre-gl.js.map +0 -1
  408. package/components/leaflet-map/renderer/map-style.d.ts +0 -4
  409. package/components/leaflet-map/renderer/map-style.js +0 -15
  410. package/components/leaflet-map/renderer/map-style.js.map +0 -1
  411. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +0 -40
  412. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js.map +0 -1
  413. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +0 -40
  414. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js.map +0 -1
  415. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +0 -4981
  416. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js.map +0 -1
  417. package/components/leaflet-map/renderer/mapboxgl-layer.d.ts +0 -8
  418. package/components/leaflet-map/renderer/mapboxgl-layer.js +0 -27
  419. package/components/leaflet-map/renderer/mapboxgl-layer.js.map +0 -1
  420. package/components/leaflet-map/renderer/mapboxgl-utils.d.ts +0 -4
  421. package/components/leaflet-map/renderer/mapboxgl-utils.js +0 -39
  422. package/components/leaflet-map/renderer/mapboxgl-utils.js.map +0 -1
  423. package/components/leaflet-map/renderer/maplibre-gl.css.js.map +0 -1
  424. package/components/leaflet-map/style.d.ts +0 -52
  425. package/components/leaflet-map/style.js +0 -183
  426. package/components/leaflet-map/style.js.map +0 -1
  427. package/components/leaflet-map/types.d.ts +0 -75
  428. package/components/leaflet-map/types.js +0 -15
  429. package/components/leaflet-map/types.js.map +0 -1
  430. package/components/line/config.d.ts +0 -30
  431. package/components/line/config.js +0 -17
  432. package/components/line/config.js.map +0 -1
  433. package/components/line/index.d.ts +0 -27
  434. package/components/line/index.js +0 -152
  435. package/components/line/index.js.map +0 -1
  436. package/components/line/style.d.ts +0 -6
  437. package/components/line/style.js.map +0 -1
  438. package/components/line/types.d.ts +0 -12
  439. package/components/nested-donut/config.d.ts +0 -59
  440. package/components/nested-donut/config.js +0 -19
  441. package/components/nested-donut/config.js.map +0 -1
  442. package/components/nested-donut/index.d.ts +0 -38
  443. package/components/nested-donut/index.js +0 -133
  444. package/components/nested-donut/index.js.map +0 -1
  445. package/components/nested-donut/modules/arc.d.ts +0 -17
  446. package/components/nested-donut/modules/arc.js +0 -50
  447. package/components/nested-donut/modules/arc.js.map +0 -1
  448. package/components/nested-donut/modules/label.d.ts +0 -7
  449. package/components/nested-donut/modules/label.js +0 -34
  450. package/components/nested-donut/modules/label.js.map +0 -1
  451. package/components/nested-donut/style.d.ts +0 -26
  452. package/components/nested-donut/style.js +0 -70
  453. package/components/nested-donut/style.js.map +0 -1
  454. package/components/nested-donut/types.d.ts +0 -24
  455. package/components/nested-donut/types.js +0 -11
  456. package/components/nested-donut/types.js.map +0 -1
  457. package/components/sankey/config.d.ts +0 -162
  458. package/components/sankey/config.js +0 -65
  459. package/components/sankey/config.js.map +0 -1
  460. package/components/sankey/index.d.ts +0 -59
  461. package/components/sankey/index.js +0 -306
  462. package/components/sankey/index.js.map +0 -1
  463. package/components/sankey/modules/label.d.ts +0 -23
  464. package/components/sankey/modules/label.js +0 -168
  465. package/components/sankey/modules/label.js.map +0 -1
  466. package/components/sankey/modules/link.d.ts +0 -14
  467. package/components/sankey/modules/link.js +0 -108
  468. package/components/sankey/modules/link.js.map +0 -1
  469. package/components/sankey/modules/node.d.ts +0 -10
  470. package/components/sankey/modules/node.js +0 -156
  471. package/components/sankey/modules/node.js.map +0 -1
  472. package/components/sankey/style.d.ts +0 -20
  473. package/components/sankey/style.js.map +0 -1
  474. package/components/sankey/types.d.ts +0 -84
  475. package/components/sankey/types.js +0 -34
  476. package/components/sankey/types.js.map +0 -1
  477. package/components/scatter/config.d.ts +0 -44
  478. package/components/scatter/config.js +0 -23
  479. package/components/scatter/config.js.map +0 -1
  480. package/components/scatter/index.d.ts +0 -28
  481. package/components/scatter/index.js +0 -167
  482. package/components/scatter/index.js.map +0 -1
  483. package/components/scatter/modules/point.d.ts +0 -7
  484. package/components/scatter/modules/point.js +0 -86
  485. package/components/scatter/modules/point.js.map +0 -1
  486. package/components/scatter/modules/utils.d.ts +0 -11
  487. package/components/scatter/modules/utils.js +0 -112
  488. package/components/scatter/modules/utils.js.map +0 -1
  489. package/components/scatter/style.d.ts +0 -5
  490. package/components/scatter/style.js.map +0 -1
  491. package/components/scatter/types.d.ts +0 -19
  492. package/components/stacked-bar/config.d.ts +0 -38
  493. package/components/stacked-bar/config.js +0 -20
  494. package/components/stacked-bar/config.js.map +0 -1
  495. package/components/stacked-bar/index.d.ts +0 -28
  496. package/components/stacked-bar/index.js +0 -208
  497. package/components/stacked-bar/index.js.map +0 -1
  498. package/components/stacked-bar/style.d.ts +0 -5
  499. package/components/stacked-bar/style.js.map +0 -1
  500. package/components/stacked-bar/types.d.ts +0 -5
  501. package/components/timeline/config.d.ts +0 -43
  502. package/components/timeline/config.js +0 -24
  503. package/components/timeline/config.js.map +0 -1
  504. package/components/timeline/index.d.ts +0 -41
  505. package/components/timeline/index.js +0 -244
  506. package/components/timeline/index.js.map +0 -1
  507. package/components/timeline/style.d.ts +0 -13
  508. package/components/timeline/style.js.map +0 -1
  509. package/components/tooltip/config.d.ts +0 -68
  510. package/components/tooltip/config.js +0 -20
  511. package/components/tooltip/config.js.map +0 -1
  512. package/components/tooltip/index.d.ts +0 -36
  513. package/components/tooltip/index.js +0 -184
  514. package/components/tooltip/index.js.map +0 -1
  515. package/components/tooltip/style.js.map +0 -1
  516. package/components/topojson-map/config.d.ts +0 -99
  517. package/components/topojson-map/config.js +0 -42
  518. package/components/topojson-map/config.js.map +0 -1
  519. package/components/topojson-map/index.d.ts +0 -52
  520. package/components/topojson-map/index.js +0 -355
  521. package/components/topojson-map/index.js.map +0 -1
  522. package/components/topojson-map/style.d.ts +0 -11
  523. package/components/topojson-map/style.js.map +0 -1
  524. package/components/topojson-map/types.d.ts +0 -78
  525. package/components/topojson-map/types.js +0 -80
  526. package/components/topojson-map/types.js.map +0 -1
  527. package/components/topojson-map/utils.d.ts +0 -3
  528. package/components/topojson-map/utils.js +0 -30
  529. package/components/topojson-map/utils.js.map +0 -1
  530. package/components/vis-controls/config.d.ts +0 -12
  531. package/components/vis-controls/config.js +0 -13
  532. package/components/vis-controls/config.js.map +0 -1
  533. package/components/vis-controls/index.d.ts +0 -14
  534. package/components/vis-controls/index.js +0 -52
  535. package/components/vis-controls/index.js.map +0 -1
  536. package/components/vis-controls/style.d.ts +0 -11
  537. package/components/vis-controls/style.js.map +0 -1
  538. package/components/vis-controls/types.d.ts +0 -13
  539. package/components/vis-controls/types.js +0 -8
  540. package/components/vis-controls/types.js.map +0 -1
  541. package/components/xy-labels/config.d.ts +0 -48
  542. package/components/xy-labels/config.js +0 -25
  543. package/components/xy-labels/config.js.map +0 -1
  544. package/components/xy-labels/index.d.ts +0 -15
  545. package/components/xy-labels/index.js +0 -87
  546. package/components/xy-labels/index.js.map +0 -1
  547. package/components/xy-labels/modules/label.d.ts +0 -9
  548. package/components/xy-labels/modules/label.js +0 -107
  549. package/components/xy-labels/modules/label.js.map +0 -1
  550. package/components/xy-labels/style.d.ts +0 -5
  551. package/components/xy-labels/style.js.map +0 -1
  552. package/components/xy-labels/types.d.ts +0 -23
  553. package/components/xy-labels/types.js +0 -9
  554. package/components/xy-labels/types.js.map +0 -1
  555. package/components.d.ts +0 -51
  556. package/components.js +0 -29
  557. package/components.js.map +0 -1
  558. package/containers/single-container/config.d.ts +0 -12
  559. package/containers/single-container/config.js +0 -12
  560. package/containers/single-container/config.js.map +0 -1
  561. package/containers/single-container/index.d.ts +0 -19
  562. package/containers/single-container/index.js +0 -128
  563. package/containers/single-container/index.js.map +0 -1
  564. package/containers/xy-container/config.d.ts +0 -99
  565. package/containers/xy-container/config.js +0 -30
  566. package/containers/xy-container/config.js.map +0 -1
  567. package/containers/xy-container/index.d.ts +0 -34
  568. package/containers/xy-container/index.js +0 -330
  569. package/containers/xy-container/index.js.map +0 -1
  570. package/containers.d.ts +0 -6
  571. package/containers.js +0 -4
  572. package/containers.js.map +0 -1
  573. package/core/component/config.d.ts +0 -58
  574. package/core/component/config.js +0 -14
  575. package/core/component/config.js.map +0 -1
  576. package/core/component/index.d.ts +0 -43
  577. package/core/component/index.js +0 -118
  578. package/core/component/index.js.map +0 -1
  579. package/core/component/types.d.ts +0 -2
  580. package/core/component/types.js +0 -2
  581. package/core/component/types.js.map +0 -1
  582. package/core/config/index.d.ts +0 -3
  583. package/core/config/index.js +0 -16
  584. package/core/config/index.js.map +0 -1
  585. package/core/container/config.d.ts +0 -48
  586. package/core/container/config.js +0 -29
  587. package/core/container/config.js.map +0 -1
  588. package/core/container/index.d.ts +0 -26
  589. package/core/container/index.js +0 -105
  590. package/core/container/index.js.map +0 -1
  591. package/core/xy-component/config.d.ts +0 -38
  592. package/core/xy-component/config.js +0 -20
  593. package/core/xy-component/config.js.map +0 -1
  594. package/core/xy-component/index.d.ts +0 -27
  595. package/core/xy-component/index.js +0 -74
  596. package/core/xy-component/index.js.map +0 -1
  597. package/data-models/core.d.ts +0 -6
  598. package/data-models/core.js +0 -14
  599. package/data-models/core.js.map +0 -1
  600. package/data-models/graph.d.ts +0 -24
  601. package/data-models/graph.js +0 -107
  602. package/data-models/graph.js.map +0 -1
  603. package/data-models/map-graph.d.ts +0 -21
  604. package/data-models/map-graph.js +0 -62
  605. package/data-models/map-graph.js.map +0 -1
  606. package/data-models/map.d.ts +0 -5
  607. package/data-models/map.js +0 -12
  608. package/data-models/map.js.map +0 -1
  609. package/data-models/series.d.ts +0 -6
  610. package/data-models/series.js +0 -19
  611. package/data-models/series.js.map +0 -1
  612. package/index.d.ts +0 -7
  613. package/index.js +0 -55
  614. package/index.js.map +0 -1
  615. package/maps/china-provinces.json.js +0 -140373
  616. package/maps/fr-regions.json.js +0 -14162
  617. package/maps/germany-regions.json.js +0 -35760
  618. package/maps/ind-regions.json.js +0 -290584
  619. package/maps/uk-regions.json.js +0 -96233
  620. package/maps/us-counties.json.js +0 -206318
  621. package/maps/us-states.json.js +0 -16345
  622. package/maps/world-110m-alpha.json.js +0 -251366
  623. package/maps/world-simple.json.js +0 -89428
  624. package/maps/world-simplest.json.js +0 -28175
  625. package/maps.d.ts +0 -60
  626. package/maps.js +0 -23
  627. package/styles/colors.d.ts +0 -7
  628. package/styles/colors.js +0 -24
  629. package/styles/colors.js.map +0 -1
  630. package/styles/index.d.ts +0 -7
  631. package/styles/index.js +0 -38
  632. package/styles/index.js.map +0 -1
  633. package/styles/sizes.d.ts +0 -2
  634. package/styles/sizes.js.map +0 -1
  635. package/types/accessor.d.ts +0 -5
  636. package/types/accessor.js +0 -2
  637. package/types/accessor.js.map +0 -1
  638. package/types/component.d.ts +0 -13
  639. package/types/component.js +0 -14
  640. package/types/component.js.map +0 -1
  641. package/types/curve.d.ts +0 -40
  642. package/types/curve.js +0 -46
  643. package/types/curve.js.map +0 -1
  644. package/types/data.d.ts +0 -7
  645. package/types/data.js +0 -2
  646. package/types/data.js.map +0 -1
  647. package/types/direction.d.ts +0 -6
  648. package/types/direction.js +0 -10
  649. package/types/direction.js.map +0 -1
  650. package/types/graph.d.ts +0 -35
  651. package/types/graph.js +0 -2
  652. package/types/graph.js.map +0 -1
  653. package/types/map.d.ts +0 -4
  654. package/types/map.js +0 -2
  655. package/types/map.js.map +0 -1
  656. package/types/misc.d.ts +0 -8
  657. package/types/position.d.ts +0 -20
  658. package/types/position.js +0 -27
  659. package/types/position.js.map +0 -1
  660. package/types/scale.d.ts +0 -23
  661. package/types/scale.js +0 -27
  662. package/types/scale.js.map +0 -1
  663. package/types/shape.d.ts +0 -7
  664. package/types/shape.js +0 -11
  665. package/types/shape.js.map +0 -1
  666. package/types/spacing.d.ts +0 -6
  667. package/types/spacing.js +0 -2
  668. package/types/spacing.js.map +0 -1
  669. package/types/svg.d.ts +0 -18
  670. package/types/svg.js +0 -22
  671. package/types/svg.js.map +0 -1
  672. package/types/symbol.d.ts +0 -18
  673. package/types/symbol.js +0 -24
  674. package/types/symbol.js.map +0 -1
  675. package/types/text.d.ts +0 -46
  676. package/types/text.js +0 -26
  677. package/types/text.js.map +0 -1
  678. package/types.d.ts +0 -27
  679. package/types.js +0 -30
  680. package/types.js.map +0 -1
  681. package/utils/color.d.ts +0 -10
  682. package/utils/color.js +0 -32
  683. package/utils/color.js.map +0 -1
  684. package/utils/d3.d.ts +0 -3
  685. package/utils/d3.js +0 -16
  686. package/utils/d3.js.map +0 -1
  687. package/utils/data.d.ts +0 -45
  688. package/utils/data.js +0 -274
  689. package/utils/data.js.map +0 -1
  690. package/utils/html.d.ts +0 -1
  691. package/utils/html.js +0 -16
  692. package/utils/html.js.map +0 -1
  693. package/utils/map.d.ts +0 -2
  694. package/utils/map.js +0 -20
  695. package/utils/map.js.map +0 -1
  696. package/utils/misc.d.ts +0 -9
  697. package/utils/misc.js +0 -47
  698. package/utils/misc.js.map +0 -1
  699. package/utils/path.d.ts +0 -23
  700. package/utils/path.js +0 -144
  701. package/utils/path.js.map +0 -1
  702. package/utils/scale.d.ts +0 -1
  703. package/utils/style.d.ts +0 -6
  704. package/utils/style.js +0 -24
  705. package/utils/style.js.map +0 -1
  706. package/utils/svg.d.ts +0 -3
  707. package/utils/text.d.ts +0 -139
  708. package/utils/text.js +0 -417
  709. package/utils/text.js.map +0 -1
  710. package/utils/type.d.ts +0 -5
@@ -1,29 +0,0 @@
1
- import { Config } from "../../core/config";
2
- export interface FlowLegendConfigInterface {
3
- /** Custom width of the component. Default: `undefined` */
4
- customWidth?: number;
5
- /** Legend items array as string[]. Default: `[]` */
6
- items?: string[];
7
- /** Color of the flow line. Default: `undefined` */
8
- lineColor?: string;
9
- /** Color of the flow label. Default: `undefined` */
10
- labelColor?: string;
11
- /** Font size of flow labels in pixels. Default: `12` */
12
- labelFontSize?: number;
13
- /** Arrow symbol. Default: `'▶'` */
14
- arrowSymbol?: string;
15
- /** Color of the arrow. Default: `undefined` */
16
- arrowColor?: string;
17
- /** Callback function for the legend item click. Default: `undefined` */
18
- onLegendItemClick?: ((label?: string, i?: number) => void);
19
- }
20
- export declare class FlowLegendConfig extends Config implements FlowLegendConfigInterface {
21
- customWidth: any;
22
- items: any[];
23
- labelFontSize: number;
24
- lineColor: any;
25
- labelColor: any;
26
- arrowSymbol: string;
27
- arrowColor: any;
28
- onLegendItemClick: any;
29
- }
@@ -1,18 +0,0 @@
1
- import { Config } from '../../core/config/index.js';
2
-
3
- class FlowLegendConfig extends Config {
4
- constructor() {
5
- super(...arguments);
6
- this.customWidth = undefined;
7
- this.items = [];
8
- this.labelFontSize = 12;
9
- this.lineColor = undefined;
10
- this.labelColor = undefined;
11
- this.arrowSymbol = '▶';
12
- this.arrowColor = undefined;
13
- this.onLegendItemClick = undefined;
14
- }
15
- }
16
-
17
- export { FlowLegendConfig };
18
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sources":["../../../src/components/flow-legend/config.ts"],"sourcesContent":["import { Config } from 'core/config'\n\nexport interface FlowLegendConfigInterface {\n /** Custom width of the component. Default: `undefined` */\n customWidth?: number;\n /** Legend items array as string[]. Default: `[]` */\n items?: string[];\n /** Color of the flow line. Default: `undefined` */\n lineColor?: string;\n /** Color of the flow label. Default: `undefined` */\n labelColor?: string;\n /** Font size of flow labels in pixels. Default: `12` */\n labelFontSize?: number;\n /** Arrow symbol. Default: `'▶'` */\n arrowSymbol?: string;\n /** Color of the arrow. Default: `undefined` */\n arrowColor?: string;\n /** Callback function for the legend item click. Default: `undefined` */\n onLegendItemClick?: ((label?: string, i?: number) => void);\n}\n\nexport class FlowLegendConfig extends Config implements FlowLegendConfigInterface {\n customWidth = undefined\n items = []\n labelFontSize = 12\n lineColor = undefined\n labelColor = undefined\n arrowSymbol = '▶'\n arrowColor = undefined\n onLegendItemClick = undefined\n}\n"],"names":[],"mappings":";;AAqBM,MAAO,gBAAiB,SAAQ,MAAM,CAAA;AAA5C,IAAA,WAAA,GAAA;;QACE,IAAW,CAAA,WAAA,GAAG,SAAS,CAAA;QACvB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAA;QACV,IAAa,CAAA,aAAA,GAAG,EAAE,CAAA;QAClB,IAAS,CAAA,SAAA,GAAG,SAAS,CAAA;QACrB,IAAU,CAAA,UAAA,GAAG,SAAS,CAAA;QACtB,IAAW,CAAA,WAAA,GAAG,GAAG,CAAA;QACjB,IAAU,CAAA,UAAA,GAAG,SAAS,CAAA;QACtB,IAAiB,CAAA,iBAAA,GAAG,SAAS,CAAA;KAC9B;AAAA;;;;"}
@@ -1,16 +0,0 @@
1
- import { Selection } from 'd3-selection';
2
- import { FlowLegendConfig, FlowLegendConfigInterface } from './config';
3
- import { FlowLegendItem } from './types';
4
- export declare class FlowLegend {
5
- div: Selection<HTMLDivElement, unknown, null, undefined>;
6
- element: HTMLElement;
7
- line: Selection<HTMLDivElement, unknown, null, undefined>;
8
- labels: Selection<HTMLDivElement, unknown, null, undefined>;
9
- prevConfig: FlowLegendConfig;
10
- config: FlowLegendConfig;
11
- protected _container: HTMLElement;
12
- constructor(element: HTMLElement, config?: FlowLegendConfigInterface);
13
- update(config: FlowLegendConfigInterface): void;
14
- render(): void;
15
- _onItemClick(event: MouseEvent, d: FlowLegendItem): void;
16
- }
@@ -1,75 +0,0 @@
1
- import { select } from 'd3-selection';
2
- import { smartTransition } from '../../utils/d3.js';
3
- import { FlowLegendConfig } from './config.js';
4
- import { FlowLegendItemType } from './types.js';
5
- import { root, labels, item, arrow, label, clickable, line } from './style.js';
6
-
7
- class FlowLegend {
8
- constructor(element, config) {
9
- this._container = element;
10
- this.div = select(this._container).append('div').attr('class', root);
11
- this.element = this.div.node();
12
- this.line = this.div.append('div');
13
- this.labels = this.div.append('div').attr('class', labels);
14
- if (config)
15
- this.update(config);
16
- }
17
- update(config) {
18
- this.prevConfig = this.config;
19
- this.config = new FlowLegendConfig().init(config);
20
- this.render();
21
- }
22
- render() {
23
- const { config } = this;
24
- if (!config.items.length)
25
- return;
26
- if (config.customWidth)
27
- this.div.style('width', `${config.customWidth}px`);
28
- // Prepare Data
29
- const legendData = config.items.reduce((acc, label, i) => {
30
- acc.push({
31
- text: label,
32
- index: i,
33
- type: FlowLegendItemType.Label,
34
- });
35
- if (config.arrowSymbol && (acc.length !== config.items.length * 2 - 1)) {
36
- acc.push({
37
- text: config.arrowSymbol,
38
- index: i,
39
- type: FlowLegendItemType.Symbol,
40
- });
41
- }
42
- return acc;
43
- }, []);
44
- // Draw
45
- const legendItems = this.labels.selectAll(`.${item}`)
46
- .data(legendData);
47
- const legendItemsEnter = legendItems.enter()
48
- .append('div')
49
- .attr('class', item)
50
- .attr('opacity', 0);
51
- legendItemsEnter.filter(d => d.type === FlowLegendItemType.Label)
52
- .on('click', this._onItemClick.bind(this));
53
- legendItemsEnter.append('span')
54
- .attr('class', d => d.type === FlowLegendItemType.Symbol
55
- ? arrow(config.arrowColor)
56
- : label(config.labelFontSize, config.labelColor))
57
- .classed(clickable, d => d.type === FlowLegendItemType.Label && !!config.onLegendItemClick);
58
- const legendItemsMerged = legendItemsEnter.merge(legendItems);
59
- smartTransition(legendItemsMerged, 500)
60
- .attr('opacity', 1);
61
- legendItemsMerged.select('span').html(d => d.text);
62
- legendItems.exit().remove();
63
- this.line
64
- .attr('class', line(config.lineColor))
65
- .style('opacity', config.items.length > 1 ? 1 : 0);
66
- }
67
- _onItemClick(event, d) {
68
- const { config } = this;
69
- if (config.onLegendItemClick)
70
- config.onLegendItemClick(d.text, d.index);
71
- }
72
- }
73
-
74
- export { FlowLegend };
75
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/flow-legend/index.ts"],"sourcesContent":["import { select, Selection } from 'd3-selection'\n\n// Utils\nimport { smartTransition } from 'utils/d3'\n\n// Config\nimport { FlowLegendConfig, FlowLegendConfigInterface } from './config'\n\n// Local Types\nimport { FlowLegendItem, FlowLegendItemType } from './types'\n\n// Styles\nimport * as s from './style'\n\nexport class FlowLegend {\n div: Selection<HTMLDivElement, unknown, null, undefined>\n element: HTMLElement\n line: Selection<HTMLDivElement, unknown, null, undefined>\n labels: Selection<HTMLDivElement, unknown, null, undefined>\n prevConfig: FlowLegendConfig\n config: FlowLegendConfig\n protected _container: HTMLElement\n\n constructor (element: HTMLElement, config?: FlowLegendConfigInterface) {\n this._container = element\n\n this.div = select(this._container).append('div').attr('class', s.root)\n this.element = this.div.node()\n\n this.line = this.div.append('div')\n this.labels = this.div.append('div').attr('class', s.labels)\n\n if (config) this.update(config)\n }\n\n update (config: FlowLegendConfigInterface): void {\n this.prevConfig = this.config\n this.config = new FlowLegendConfig().init(config)\n this.render()\n }\n\n render (): void {\n const { config } = this\n if (!config.items.length) return\n\n if (config.customWidth) this.div.style('width', `${config.customWidth}px`)\n\n // Prepare Data\n const legendData: FlowLegendItem[] = config.items.reduce((acc, label, i) => {\n acc.push({\n text: label,\n index: i,\n type: FlowLegendItemType.Label,\n })\n\n if (config.arrowSymbol && (acc.length !== config.items.length * 2 - 1)) {\n acc.push({\n text: config.arrowSymbol,\n index: i,\n type: FlowLegendItemType.Symbol,\n })\n }\n return acc\n }, [])\n\n // Draw\n const legendItems = this.labels.selectAll<HTMLDivElement, FlowLegendItem>(`.${s.item}`)\n .data(legendData)\n\n const legendItemsEnter = legendItems.enter()\n .append('div')\n .attr('class', s.item)\n .attr('opacity', 0)\n\n legendItemsEnter.filter(d => d.type === FlowLegendItemType.Label)\n .on('click', this._onItemClick.bind(this))\n\n legendItemsEnter.append('span')\n .attr('class',\n d => d.type === FlowLegendItemType.Symbol\n ? s.arrow(config.arrowColor)\n : s.label(config.labelFontSize, config.labelColor)\n )\n .classed(s.clickable, d => d.type === FlowLegendItemType.Label && !!config.onLegendItemClick)\n\n const legendItemsMerged = legendItemsEnter.merge(legendItems)\n smartTransition(legendItemsMerged, 500)\n .attr('opacity', 1)\n legendItemsMerged.select('span').html(d => d.text)\n\n legendItems.exit().remove()\n\n this.line\n .attr('class', s.line(config.lineColor))\n .style('opacity', config.items.length > 1 ? 1 : 0)\n }\n\n _onItemClick (event: MouseEvent, d: FlowLegendItem): void {\n const { config } = this\n\n if (config.onLegendItemClick) config.onLegendItemClick(d.text, d.index)\n }\n}\n"],"names":["s.root","s.labels","s.item","s.arrow","s.label","s.clickable","s.line"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export declare const root: string;
2
- export declare const globalStyles: void;
3
- export declare const line: (lineColor: string) => string;
4
- export declare const labels: string;
5
- export declare const item: string;
6
- export declare const clickable: string;
7
- export declare const label: (labelFontSize: number, labelColor: string) => string;
8
- export declare const arrow: (arrowColor: string) => string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.js","sources":["../../../src/components/flow-legend/style.ts"],"sourcesContent":["import { css, injectGlobal } from '@emotion/css'\nimport { UNOVIS_ICON_FONT_FAMILY_DEFAULT } from 'styles/index'\n\nexport const root = css`\n label: flow-legend-component;\n\n position: relative;\n user-select: none;\n`\n\nexport const globalStyles = injectGlobal`\n :root {\n --vis-flow-legend-label-background: #ffffff;\n --vis-flow-legend-label-color: #71788a;\n --vis-flow-legend-link-color: #E5E9F7;\n --vis-flow-legend-arrow-color: #E5E9F7;\n --vis-flow-legend-label-padding: 5px 15px;\n --vis-flow-legend-arrow-padding: 0 10px;\n /* --vis-flow-legend-arrow-font-family: Undefined by default to allow proper fallback to var(DEFAULT_ICON_FONT_FAMILY)*/\n\n --vis-dark-flow-legend-label-background: #292b34;\n --vis-dark-flow-legend-label-color: #E5E9F7;\n --vis-dark-flow-legend-link-color: #71788a;\n --vis-dark-flow-legend-arrow-color: #71788a;\n }\n\n body.theme-dark ${`.${root}`} {\n --vis-flow-legend-label-background: var(--vis-dark-flow-legend-label-background);\n --vis-flow-legend-label-color: var(--vis-dark-flow-legend-label-color);\n --vis-flow-legend-link-color: var(--vis-dark-flow-legend-link-color);\n --vis-flow-legend-arrow-color: var(--vis-dark-flow-legend-arrow-color);\n }\n`\n\nexport const line = (lineColor: string): string => css`\n label: line;\n\n height: 2px;\n width: 100%;\n background-color: ${lineColor || 'var(--vis-flow-legend-link-color)'};\n position: absolute;\n top: 50%;\n`\n\nexport const labels = css`\n label: labels;\n\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`\n\nexport const item = css`\n label: item;\n\n position: relative;\n max-width: 50px;\n\n padding: 10px;\n`\n\nexport const clickable = css`\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n`\n\nexport const label = (labelFontSize: number, labelColor: string): string => css`\n label: label;\n\n transform: translate(-50%, 0%);\n margin-left: 7px;\n background-color: var(--vis-flow-legend-label-background);\n padding: var(--vis-flow-legend-label-padding);\n font-size: ${labelFontSize}px;\n color: ${labelColor || 'var(--vis-flow-legend-label-color)'};\n display: inline-table;\n text-align: center;\n`\n\nexport const arrow = (arrowColor: string): string => css`\n label: arrow;\n\n font-family: var(--vis-flow-legend-arrow-font-family, ${UNOVIS_ICON_FONT_FAMILY_DEFAULT});\n font-size: 9px;\n vertical-align: middle;\n color: ${arrowColor || 'var(--vis-flow-legend-arrow-color)'};\n background-color: var(--vis-flow-legend-label-background);\n padding: var(--vis-flow-legend-arrow-padding);\n transform: translate(-25%, 0%);\n display: inline-table;\n text-align: center;\n`\n"],"names":[],"mappings":";;;AAGO,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;;;;EAKtB;AAEM,MAAM,YAAY,GAAG,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;AAgBpB,kBAAA,EAAA,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,CAAA;;;;;;EAM7B;AAEY,MAAA,IAAI,GAAG,CAAC,SAAiB,KAAa,GAAG,CAAA,CAAA;;;;;AAKhC,oBAAA,EAAA,SAAS,IAAI,mCAAmC,CAAA;;;EAGrE;AAEM,MAAM,MAAM,GAAG,GAAG,CAAA,CAAA;;;;;;;;EAQxB;AAEM,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;;;;;;EAOtB;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;;;;;EAM3B;AAEM,MAAM,KAAK,GAAG,CAAC,aAAqB,EAAE,UAAkB,KAAa,GAAG,CAAA,CAAA;;;;;;;eAOhE,aAAa,CAAA;AACjB,SAAA,EAAA,UAAU,IAAI,oCAAoC,CAAA;;;EAG5D;AAEY,MAAA,KAAK,GAAG,CAAC,UAAkB,KAAa,GAAG,CAAA,CAAA;;;0DAGE,+BAA+B,CAAA;;;AAG9E,SAAA,EAAA,UAAU,IAAI,oCAAoC,CAAA;;;;;;;;;;"}
@@ -1,9 +0,0 @@
1
- export declare enum FlowLegendItemType {
2
- Label = "label",
3
- Symbol = "symbol"
4
- }
5
- export interface FlowLegendItem {
6
- text: string;
7
- type: FlowLegendItemType;
8
- index: number;
9
- }
@@ -1,8 +0,0 @@
1
- var FlowLegendItemType;
2
- (function (FlowLegendItemType) {
3
- FlowLegendItemType["Label"] = "label";
4
- FlowLegendItemType["Symbol"] = "symbol";
5
- })(FlowLegendItemType || (FlowLegendItemType = {}));
6
-
7
- export { FlowLegendItemType };
8
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../src/components/flow-legend/types.ts"],"sourcesContent":["export enum FlowLegendItemType {\n Label = 'label',\n Symbol = 'symbol',\n}\n\nexport interface FlowLegendItem {\n text: string;\n type: FlowLegendItemType;\n index: number;\n}\n"],"names":[],"mappings":"IAAY,mBAGX;AAHD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,GAG7B,EAAA,CAAA,CAAA;;;;"}
@@ -1,45 +0,0 @@
1
- import { D3BrushEvent } from 'd3-brush';
2
- import { XYComponentConfigInterface, XYComponentConfig } from "../../core/xy-component/config";
3
- import { FreeBrushMode, FreeBrushSelection } from './types';
4
- export interface FreeBrushConfigInterface<Datum> extends Partial<XYComponentConfigInterface<Datum>> {
5
- /** Brush selection mode. X - horizontal, Y - vertical, XY - both. Default: `FreeBrushMode.X` */
6
- mode?: FreeBrushMode;
7
- /** Callback function to be called on any Brush event.
8
- * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<Datum>, userDriven: boolean): void => {}`
9
- */
10
- onBrush?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);
11
- /** Callback function to be called on the Brush start event.
12
- * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<unknown>, userDriven: boolean): void => {}`
13
- */
14
- onBrushStart?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);
15
- /** Callback function to be called on the Brush move event.
16
- * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<unknown>, userDriven: boolean): void => {}`
17
- */
18
- onBrushMove?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);
19
- /** Callback function to be called on the Brush end event.
20
- * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<unknown>, userDriven: boolean)L void => {}`
21
- */
22
- onBrushEnd?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);
23
- /** Width of the Brush handle. Default: `1` */
24
- handleWidth?: number;
25
- /** Brush selection in data space, can be used to force set the selection from outside.
26
- * In case of two dimensional mode, the selection has the following format: `[[xMin, xMax], [yMin, yMax]]`.
27
- * This config property gets updated on internal brush events. Default: `undefined`
28
- */
29
- selection?: FreeBrushSelection | null | undefined;
30
- /** Constraint Brush selection to a minimal length in data units. Default: `undefined` */
31
- selectionMinLength?: number | [number, number];
32
- /** Automatically hide the brush after selection. Default: `true` */
33
- autoHide?: boolean;
34
- }
35
- export declare class FreeBrushConfig<Datum> extends XYComponentConfig<Datum> implements FreeBrushConfigInterface<Datum> {
36
- onBrush: (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean) => void;
37
- onBrushStart: (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean) => void;
38
- onBrushMove: (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean) => void;
39
- onBrushEnd: (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean) => void;
40
- handleWidth: number;
41
- selection: FreeBrushSelection | null | undefined;
42
- selectionMinLength: any;
43
- mode: FreeBrushMode;
44
- autoHide: boolean;
45
- }
@@ -1,24 +0,0 @@
1
- import { XYComponentConfig } from '../../core/xy-component/config.js';
2
- import { FreeBrushMode } from './types.js';
3
-
4
- class FreeBrushConfig extends XYComponentConfig {
5
- constructor() {
6
- super(...arguments);
7
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
8
- this.onBrush = (s, e, userDriven) => { };
9
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
10
- this.onBrushStart = (s, e, userDriven) => { };
11
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
12
- this.onBrushMove = (s, e, userDriven) => { };
13
- /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */
14
- this.onBrushEnd = (s, e, userDriven) => { };
15
- this.handleWidth = 1;
16
- this.selection = undefined;
17
- this.selectionMinLength = undefined;
18
- this.mode = FreeBrushMode.X;
19
- this.autoHide = true;
20
- }
21
- }
22
-
23
- export { FreeBrushConfig };
24
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sources":["../../../src/components/free-brush/config.ts"],"sourcesContent":["import { D3BrushEvent } from 'd3-brush'\nimport { XYComponentConfigInterface, XYComponentConfig } from 'core/xy-component/config'\n\n// Types\nimport { FreeBrushMode, FreeBrushSelection } from './types'\n\n// We extend partial XY config interface because x and y properties are optional for FreeBrush\nexport interface FreeBrushConfigInterface<Datum> extends Partial<XYComponentConfigInterface<Datum>> {\n /** Brush selection mode. X - horizontal, Y - vertical, XY - both. Default: `FreeBrushMode.X` */\n mode?: FreeBrushMode;\n /** Callback function to be called on any Brush event.\n * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<Datum>, userDriven: boolean): void => {}`\n */\n onBrush?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);\n /** Callback function to be called on the Brush start event.\n * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<unknown>, userDriven: boolean): void => {}`\n */\n onBrushStart?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);\n /** Callback function to be called on the Brush move event.\n * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<unknown>, userDriven: boolean): void => {}`\n */\n onBrushMove?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);\n /** Callback function to be called on the Brush end event.\n * Default: `(selection: FreeBrushSelection, event: D3BrushEvent<unknown>, userDriven: boolean)L void => {}`\n */\n onBrushEnd?: ((selection: FreeBrushSelection | undefined, event: D3BrushEvent<unknown>, userDriven: boolean) => void);\n /** Width of the Brush handle. Default: `1` */\n handleWidth?: number;\n /** Brush selection in data space, can be used to force set the selection from outside.\n * In case of two dimensional mode, the selection has the following format: `[[xMin, xMax], [yMin, yMax]]`.\n * This config property gets updated on internal brush events. Default: `undefined`\n */\n selection?: FreeBrushSelection | null | undefined;\n /** Constraint Brush selection to a minimal length in data units. Default: `undefined` */\n selectionMinLength?: number | [number, number];\n /** Automatically hide the brush after selection. Default: `true` */\n autoHide?: boolean;\n}\n\nexport class FreeBrushConfig<Datum> extends XYComponentConfig<Datum> implements FreeBrushConfigInterface<Datum> {\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */\n onBrush = (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean): void => {}\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */\n onBrushStart = (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean): void => {}\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */\n onBrushMove = (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean): void => {}\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function */\n onBrushEnd = (s: FreeBrushSelection | undefined, e: D3BrushEvent<unknown>, userDriven: boolean): void => {}\n handleWidth = 1\n selection: FreeBrushSelection | null | undefined = undefined\n selectionMinLength = undefined\n mode: FreeBrushMode = FreeBrushMode.X\n autoHide = true\n}\n"],"names":[],"mappings":";;;AAuCM,MAAO,eAAuB,SAAQ,iBAAwB,CAAA;AAApE,IAAA,WAAA,GAAA;;;QAEE,IAAO,CAAA,OAAA,GAAG,CAAC,CAAiC,EAAE,CAAwB,EAAE,UAAmB,KAAY,GAAC,CAAA;;QAExG,IAAY,CAAA,YAAA,GAAG,CAAC,CAAiC,EAAE,CAAwB,EAAE,UAAmB,KAAY,GAAC,CAAA;;QAE7G,IAAW,CAAA,WAAA,GAAG,CAAC,CAAiC,EAAE,CAAwB,EAAE,UAAmB,KAAY,GAAC,CAAA;;QAE5G,IAAU,CAAA,UAAA,GAAG,CAAC,CAAiC,EAAE,CAAwB,EAAE,UAAmB,KAAY,GAAC,CAAA;QAC3G,IAAW,CAAA,WAAA,GAAG,CAAC,CAAA;QACf,IAAS,CAAA,SAAA,GAA0C,SAAS,CAAA;QAC5D,IAAkB,CAAA,kBAAA,GAAG,SAAS,CAAA;AAC9B,QAAA,IAAA,CAAA,IAAI,GAAkB,aAAa,CAAC,CAAC,CAAA;QACrC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAA;KAChB;AAAA;;;;"}
@@ -1,20 +0,0 @@
1
- import { XYComponentCore } from "../../core/xy-component";
2
- import { FreeBrushConfig, FreeBrushConfigInterface } from './config';
3
- import * as s from './style';
4
- export declare class FreeBrush<Datum> extends XYComponentCore<Datum, FreeBrushConfig<Datum>, FreeBrushConfigInterface<Datum>> {
5
- static selectors: typeof s;
6
- config: FreeBrushConfig<Datum>;
7
- private brush;
8
- private brushBehaviour;
9
- private _firstRender;
10
- constructor(config: FreeBrushConfigInterface<Datum>);
11
- _render(customDuration?: number): void;
12
- private _onBrush;
13
- private _pixelRangeToDataRange;
14
- private _dataRangeToPixelRange;
15
- private _isSelectionValid;
16
- private _getBrushBehaviour;
17
- private _onBrushStart;
18
- private _onBrushMove;
19
- private _onBrushEnd;
20
- }
@@ -1,192 +0,0 @@
1
- import { brush as brush$1, brushY, brushX } from 'd3-brush';
2
- import { XYComponentCore } from '../../core/xy-component/index.js';
3
- import { isNumber, clamp } from '../../utils/data.js';
4
- import { smartTransition } from '../../utils/d3.js';
5
- import { FreeBrushMode } from './types.js';
6
- import { FreeBrushConfig } from './config.js';
7
- import * as style from './style.js';
8
- import { brush, hide } from './style.js';
9
-
10
- class FreeBrush extends XYComponentCore {
11
- constructor(config) {
12
- super();
13
- this.config = new FreeBrushConfig();
14
- this._firstRender = true;
15
- if (config)
16
- this.config.init(config);
17
- this.brush = this.g
18
- .append('g')
19
- .attr('class', brush);
20
- }
21
- _render(customDuration) {
22
- var _a, _b, _c, _d;
23
- const { config } = this;
24
- const xScale = this.xScale;
25
- const yScale = this.yScale;
26
- const duration = isNumber(customDuration) ? customDuration : config.duration;
27
- if (this._firstRender)
28
- this.brush.classed(hide, this._firstRender && config.autoHide);
29
- // Sometimes Brush stops emitting 'start' and 'end' events. Possible explanation:
30
- // "... mouseup will only fire when performed within the browser, which can lead to losing track of the button state."
31
- // https://stackoverflow.com/a/48970682
32
- //
33
- // D3 code related to the problem:
34
- // https://github.com/d3/d3-brush/blob/ec2bce6f15074a9ead7f9a84c61335be51c123a3/src/brush.js#L301
35
- //
36
- // We're clearing brush's event emitter state to force it to get re-initialized
37
- // Caveat of this solution: If you're doing a brush selection and a render happens
38
- // (e.g. due to a data or config update), it'll reset the brush.
39
- //
40
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
41
- // @ts-ignore
42
- if (this.brush.node().__brush)
43
- this.brush.node().__brush.emitter = undefined;
44
- this.brushBehaviour = this._getBrushBehaviour(config.mode);
45
- this.brushBehaviour
46
- .handleSize(config.handleWidth)
47
- .extent([[0, 0], [this._width, this._height]])
48
- .on('start', this._onBrushStart.bind(this))
49
- .on('brush', this._onBrushMove.bind(this))
50
- .on('end', this._onBrushEnd.bind(this));
51
- this.brush
52
- .call(this.brushBehaviour);
53
- // Calculate the brush range from configured selection and apply it
54
- let brushRange;
55
- switch (config.mode) {
56
- case FreeBrushMode.XY: {
57
- const xSelectionRange = this._dataRangeToPixelRange([(_a = config.selection) === null || _a === void 0 ? void 0 : _a[0][0], (_b = config.selection) === null || _b === void 0 ? void 0 : _b[0][1]], xScale);
58
- const ySelectionRange = this._dataRangeToPixelRange([(_c = config.selection) === null || _c === void 0 ? void 0 : _c[1][0], (_d = config.selection) === null || _d === void 0 ? void 0 : _d[1][1]], yScale, true);
59
- brushRange = (xSelectionRange && ySelectionRange) ? [[xSelectionRange[0], ySelectionRange[0]], [xSelectionRange[1], ySelectionRange[1]]] : null;
60
- break;
61
- }
62
- case FreeBrushMode.X:
63
- case FreeBrushMode.Y:
64
- default: {
65
- const scale = config.mode === FreeBrushMode.Y ? yScale : xScale;
66
- brushRange = this._dataRangeToPixelRange(config.selection, scale, config.mode === FreeBrushMode.Y);
67
- }
68
- }
69
- smartTransition(this.brush, duration)
70
- .call(this.brushBehaviour.move, brushRange) // Sets up the brush and calls brush events
71
- .on('end interrupt', () => { this._firstRender = false; });
72
- if (!duration)
73
- this._firstRender = false;
74
- }
75
- _onBrush(event) {
76
- var _a, _b, _c, _d;
77
- const { config } = this;
78
- const userDriven = !!(event === null || event === void 0 ? void 0 : event.sourceEvent);
79
- // Selection from the brush events is in Screen Space (pixels)
80
- // In case of two dimensional brush is comes as [ [xMinPx, yMinPx], [xMaxPx, yMaxPx] ],
81
- // while in the config we'll be storing it as [ [xMin, xMax], [yMin, yMax] ]
82
- const s = (event === null || event === void 0 ? void 0 : event.selection);
83
- if (!this._isSelectionValid(s)) {
84
- config.selection = null;
85
- return;
86
- }
87
- // Convert the raw brush selection from pixels to data units, store it in the config and trigger the onBrush callback
88
- let selectedDomain;
89
- switch (config.mode) {
90
- case FreeBrushMode.XY: {
91
- const xSelection = this._pixelRangeToDataRange([s[0][0], s[1][0]], this.xScale, (_b = (_a = config.selectionMinLength) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : config.selectionMinLength);
92
- const ySelection = this._pixelRangeToDataRange([s[0][1], s[1][1]], this.yScale, (_d = (_c = config.selectionMinLength) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : config.selectionMinLength, true);
93
- selectedDomain = (xSelection && ySelection) ? [
94
- [xSelection === null || xSelection === void 0 ? void 0 : xSelection[0], xSelection === null || xSelection === void 0 ? void 0 : xSelection[1]],
95
- [ySelection === null || ySelection === void 0 ? void 0 : ySelection[0], ySelection === null || ySelection === void 0 ? void 0 : ySelection[1]],
96
- ] : null;
97
- break;
98
- }
99
- case FreeBrushMode.Y: {
100
- selectedDomain = this._pixelRangeToDataRange(s, this.yScale, config.selectionMinLength, true);
101
- break;
102
- }
103
- case FreeBrushMode.X:
104
- default: {
105
- selectedDomain = this._pixelRangeToDataRange(s, this.xScale, config.selectionMinLength);
106
- break;
107
- }
108
- }
109
- if (selectedDomain === null || selectedDomain[0] === null || selectedDomain[1] === null) {
110
- this.brush.call(this.brushBehaviour.move, null);
111
- return;
112
- }
113
- config.selection = selectedDomain;
114
- if (!this._firstRender)
115
- config.onBrush(selectedDomain, event, userDriven);
116
- }
117
- _pixelRangeToDataRange(selectionInPixels, scale, constraint, reversed) {
118
- const selectedDomain = selectionInPixels.map(n => scale.invert(n));
119
- if (reversed)
120
- selectedDomain.reverse();
121
- const domain = scale.domain();
122
- const domainLength = Math.abs(domain[1] - domain[0]);
123
- const selectionLength = Math.abs(selectedDomain[1] - selectedDomain[0]);
124
- if (constraint >= domainLength) {
125
- console.warn('Unovis | FreeBrush: Configured domain constraint is bigger than the brush domain');
126
- }
127
- if ((selectionLength < constraint) && (constraint < domainLength))
128
- return null;
129
- else
130
- return selectedDomain;
131
- }
132
- _dataRangeToPixelRange(selectionInDataUnits, scale, reversed) {
133
- var _a, _b;
134
- if (!selectionInDataUnits)
135
- return null;
136
- const range = scale.range();
137
- const s = [...selectionInDataUnits];
138
- if (reversed) {
139
- range.reverse();
140
- s.reverse();
141
- }
142
- const selectionMin = clamp((_a = scale(s[0])) !== null && _a !== void 0 ? _a : 0, range[0], range[1]);
143
- const selectionMax = clamp((_b = scale(s[1])) !== null && _b !== void 0 ? _b : 0, range[0], range[1]);
144
- return (selectionMax - selectionMin) ? [selectionMin, selectionMax] : null;
145
- }
146
- _isSelectionValid(s) {
147
- const { config } = this;
148
- if (config.mode === FreeBrushMode.XY) {
149
- return s && Array.isArray(s[0]) && Array.isArray(s[1]);
150
- }
151
- else {
152
- return s && isNumber(s[0]) && isNumber(s[1]);
153
- }
154
- }
155
- _getBrushBehaviour(mode) {
156
- switch (mode) {
157
- case FreeBrushMode.X: return brushX();
158
- case FreeBrushMode.Y: return brushY();
159
- default: return brush$1();
160
- }
161
- }
162
- _onBrushStart(event) {
163
- var _a;
164
- const { config } = this;
165
- const userDriven = !!(event === null || event === void 0 ? void 0 : event.sourceEvent);
166
- this._onBrush(event);
167
- if (config.autoHide && userDriven)
168
- this.brush.classed(hide, false);
169
- if (!this._firstRender)
170
- (_a = config.onBrushStart) === null || _a === void 0 ? void 0 : _a.call(config, config.selection, event, userDriven);
171
- }
172
- _onBrushMove(event) {
173
- var _a;
174
- const { config } = this;
175
- this._onBrush(event);
176
- if (!this._firstRender)
177
- (_a = config.onBrushMove) === null || _a === void 0 ? void 0 : _a.call(config, config.selection, event, !!(event === null || event === void 0 ? void 0 : event.sourceEvent));
178
- }
179
- _onBrushEnd(event) {
180
- var _a;
181
- const { config } = this;
182
- this._onBrush(event);
183
- if (config.autoHide)
184
- this.brush.classed(hide, true);
185
- if (!this._firstRender)
186
- (_a = config.onBrushEnd) === null || _a === void 0 ? void 0 : _a.call(config, config.selection, event, !!(event === null || event === void 0 ? void 0 : event.sourceEvent));
187
- }
188
- }
189
- FreeBrush.selectors = style;
190
-
191
- export { FreeBrush };
192
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/free-brush/index.ts"],"sourcesContent":["import { Selection } from 'd3-selection'\nimport { brush, BrushBehavior, brushX, brushY, D3BrushEvent } from 'd3-brush'\nimport { XYComponentCore } from 'core/xy-component'\nimport { clamp, isNumber } from 'utils/data'\nimport { smartTransition } from 'utils/d3'\n\n// Types\nimport { ContinuousScale } from 'types/scale'\nimport { FreeBrushMode, FreeBrushSelection, FreeBrushSelectionInPixels } from './types'\n\n// Config\nimport { FreeBrushConfig, FreeBrushConfigInterface } from './config'\n\n// Styles\nimport * as s from './style'\n\nexport class FreeBrush<Datum> extends XYComponentCore<Datum, FreeBrushConfig<Datum>, FreeBrushConfigInterface<Datum>> {\n static selectors = s\n config: FreeBrushConfig<Datum> = new FreeBrushConfig()\n private brush: Selection<SVGGElement, unknown, SVGGElement, unknown>\n private brushBehaviour: BrushBehavior<unknown>\n private _firstRender = true\n\n constructor (config: FreeBrushConfigInterface<Datum>) {\n super()\n if (config) this.config.init(config)\n\n this.brush = this.g\n .append('g')\n .attr('class', s.brush)\n }\n\n _render (customDuration?: number): void {\n const { config } = this\n const xScale = this.xScale\n const yScale = this.yScale\n const duration = isNumber(customDuration) ? customDuration : config.duration\n\n if (this._firstRender) this.brush.classed(s.hide, this._firstRender && config.autoHide)\n\n // Sometimes Brush stops emitting 'start' and 'end' events. Possible explanation:\n // \"... mouseup will only fire when performed within the browser, which can lead to losing track of the button state.\"\n // https://stackoverflow.com/a/48970682\n //\n // D3 code related to the problem:\n // https://github.com/d3/d3-brush/blob/ec2bce6f15074a9ead7f9a84c61335be51c123a3/src/brush.js#L301\n //\n // We're clearing brush's event emitter state to force it to get re-initialized\n // Caveat of this solution: If you're doing a brush selection and a render happens\n // (e.g. due to a data or config update), it'll reset the brush.\n //\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (this.brush.node().__brush) this.brush.node().__brush.emitter = undefined\n\n this.brushBehaviour = this._getBrushBehaviour(config.mode)\n\n this.brushBehaviour\n .handleSize(config.handleWidth)\n .extent([[0, 0], [this._width, this._height]])\n .on('start', this._onBrushStart.bind(this))\n .on('brush', this._onBrushMove.bind(this))\n .on('end', this._onBrushEnd.bind(this))\n\n this.brush\n .call(this.brushBehaviour)\n\n // Calculate the brush range from configured selection and apply it\n let brushRange: FreeBrushSelectionInPixels\n switch (config.mode) {\n case FreeBrushMode.XY: {\n const xSelectionRange = this._dataRangeToPixelRange([config.selection?.[0][0], config.selection?.[0][1]], xScale)\n const ySelectionRange = this._dataRangeToPixelRange([config.selection?.[1][0], config.selection?.[1][1]], yScale, true)\n brushRange = (xSelectionRange && ySelectionRange) ? [[xSelectionRange[0], ySelectionRange[0]], [xSelectionRange[1], ySelectionRange[1]]] : null\n break\n }\n case FreeBrushMode.X:\n case FreeBrushMode.Y:\n default: {\n const scale = config.mode === FreeBrushMode.Y ? yScale : xScale\n brushRange = this._dataRangeToPixelRange(config.selection as [number, number], scale, config.mode === FreeBrushMode.Y)\n }\n }\n\n smartTransition(this.brush, duration)\n .call(this.brushBehaviour.move, brushRange) // Sets up the brush and calls brush events\n .on('end interrupt', () => { this._firstRender = false })\n\n if (!duration) this._firstRender = false\n }\n\n private _onBrush (event: D3BrushEvent<unknown>): void {\n const { config } = this\n const userDriven = !!event?.sourceEvent\n\n // Selection from the brush events is in Screen Space (pixels)\n // In case of two dimensional brush is comes as [ [xMinPx, yMinPx], [xMaxPx, yMaxPx] ],\n // while in the config we'll be storing it as [ [xMin, xMax], [yMin, yMax] ]\n const s = (event?.selection) as FreeBrushSelectionInPixels\n if (!this._isSelectionValid(s)) {\n config.selection = null\n return\n }\n\n // Convert the raw brush selection from pixels to data units, store it in the config and trigger the onBrush callback\n let selectedDomain: FreeBrushSelection\n switch (config.mode) {\n case FreeBrushMode.XY: {\n const xSelection = this._pixelRangeToDataRange([s[0][0], s[1][0]], this.xScale, config.selectionMinLength?.[0] ?? config.selectionMinLength)\n const ySelection = this._pixelRangeToDataRange([s[0][1], s[1][1]], this.yScale, config.selectionMinLength?.[1] ?? config.selectionMinLength, true)\n selectedDomain = (xSelection && ySelection) ? [\n [xSelection?.[0], xSelection?.[1]],\n [ySelection?.[0], ySelection?.[1]],\n ] : null\n break\n }\n case FreeBrushMode.Y: {\n selectedDomain = this._pixelRangeToDataRange(s as [number, number], this.yScale, config.selectionMinLength, true)\n break\n }\n case FreeBrushMode.X:\n default: {\n selectedDomain = this._pixelRangeToDataRange(s as [number, number], this.xScale, config.selectionMinLength)\n break\n }\n }\n\n if (selectedDomain === null || selectedDomain[0] === null || selectedDomain[1] === null) {\n this.brush.call(this.brushBehaviour.move, null)\n return\n }\n\n config.selection = selectedDomain\n if (!this._firstRender) config.onBrush(selectedDomain, event, userDriven)\n }\n\n private _pixelRangeToDataRange (selectionInPixels: [number, number], scale: ContinuousScale, constraint: number, reversed?: boolean): [number, number] | null {\n const selectedDomain = selectionInPixels.map(n => scale.invert(n)) as [number, number]\n if (reversed) selectedDomain.reverse()\n\n const domain = scale.domain() as [number, number]\n const domainLength = Math.abs(domain[1] - domain[0])\n const selectionLength = Math.abs(selectedDomain[1] - selectedDomain[0])\n\n if (constraint >= domainLength) {\n console.warn('Unovis | FreeBrush: Configured domain constraint is bigger than the brush domain')\n }\n\n if ((selectionLength < constraint) && (constraint < domainLength)) return null\n else return selectedDomain\n }\n\n private _dataRangeToPixelRange (selectionInDataUnits: [number, number], scale: ContinuousScale, reversed?: boolean): [number, number] | null {\n if (!selectionInDataUnits) return null\n\n const range = scale.range()\n const s = [...selectionInDataUnits]\n if (reversed) {\n range.reverse()\n s.reverse()\n }\n const selectionMin = clamp(scale(s[0]) ?? 0, range[0], range[1])\n const selectionMax = clamp(scale(s[1]) ?? 0, range[0], range[1])\n return (selectionMax - selectionMin) ? [selectionMin, selectionMax] : null\n }\n\n private _isSelectionValid (s: FreeBrushSelection | FreeBrushSelectionInPixels): boolean {\n const { config } = this\n\n if (config.mode === FreeBrushMode.XY) {\n return s && Array.isArray(s[0]) && Array.isArray(s[1])\n } else {\n return s && isNumber(s[0]) && isNumber(s[1])\n }\n }\n\n private _getBrushBehaviour (mode: FreeBrushMode): BrushBehavior<unknown> {\n switch (mode) {\n case FreeBrushMode.X: return brushX()\n case FreeBrushMode.Y: return brushY()\n default: return brush()\n }\n }\n\n private _onBrushStart (event: D3BrushEvent<unknown>): void {\n const { config } = this\n const userDriven = !!event?.sourceEvent\n this._onBrush(event)\n if (config.autoHide && userDriven) this.brush.classed(s.hide, false)\n if (!this._firstRender) config.onBrushStart?.(config.selection, event, userDriven)\n }\n\n private _onBrushMove (event: D3BrushEvent<unknown>): void {\n const { config } = this\n\n this._onBrush(event)\n if (!this._firstRender) config.onBrushMove?.(config.selection, event, !!event?.sourceEvent)\n }\n\n private _onBrushEnd (event: D3BrushEvent<unknown>): void {\n const { config } = this\n\n this._onBrush(event)\n if (config.autoHide) this.brush.classed(s.hide, true)\n if (!this._firstRender) config.onBrushEnd?.(config.selection, event, !!event?.sourceEvent)\n }\n}\n"],"names":["s.brush","s.hide","brush","s"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare const root: string;
2
- export declare const variables: void;
3
- export declare const brush: string;
4
- export declare const hide: string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.js","sources":["../../../src/components/free-brush/style.ts"],"sourcesContent":["import { css, injectGlobal } from '@emotion/css'\n\nexport const root = css`\n label: free-brush-component;\n`\n\nexport const variables = injectGlobal`\n :root {\n --vis-free-brush-selection-fill-color: #0b1640;\n --vis-free-brush-selection-fill-opacity: 0.4;\n --vis-free-brush-selection-stroke-color: #acb2b9;\n --vis-free-brush-handle-fill-color: #6d778c;\n --vis-free-brush-handle-stroke-color: none;\n\n --vis-dark-free-brush-selection-fill-color: #344174;\n --vis-dark-free-brush-selection-stroke-color: #0b1640;\n --vis-dark-free-brush-handle-fill-color: #6d778c;\n }\n\n body.theme-dark ${`.${root}`} {\n --vis-free-brush-selection-fill-color: var(--vis-dark-free-brush-selection-fill-color);\n --vis-free-brush-selection-stroke-color: var(--vis-dark-free-brush-selection-stroke-color);\n --vis-free-brush-handle-fill-color: var(--vis-dark-free-brush-selection-fill-color);\n }\n`\n\nexport const brush = css`\n label: brush;\n fill: none;\n stroke: none;\n\n .selection {\n fill: var(--vis-free-brush-selection-fill-color);\n fill-opacity: var(--vis-free-brush-selection-fill-opacity);\n stroke: var(--vis-free-brush-selection-stroke-color);\n stroke-width: 0;\n stroke-opacity: 0;\n }\n\n .handle {\n fill: var(--vis-free-brush-handle-fill-color);\n stroke: var(--vis-free-brush-handle-stroke-color);\n }\n`\n\nexport const hide = css`\n .selection, .handle {\n display: none;\n }\n`\n"],"names":[],"mappings":";;AAEO,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;EAEtB;AAEM,MAAM,SAAS,GAAG,YAAY,CAAA,CAAA;;;;;;;;;;;;;AAajB,kBAAA,EAAA,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,CAAA;;;;;EAK7B;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;;;;;;EAiBvB;AAEM,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;;;;;;;"}
@@ -1,7 +0,0 @@
1
- export declare type FreeBrushSelection = [number, number] | [[number, number], [number, number]];
2
- export declare type FreeBrushSelectionInPixels = FreeBrushSelection;
3
- export declare enum FreeBrushMode {
4
- X = "x",
5
- Y = "y",
6
- XY = "xy"
7
- }
@@ -1,9 +0,0 @@
1
- var FreeBrushMode;
2
- (function (FreeBrushMode) {
3
- FreeBrushMode["X"] = "x";
4
- FreeBrushMode["Y"] = "y";
5
- FreeBrushMode["XY"] = "xy";
6
- })(FreeBrushMode || (FreeBrushMode = {}));
7
-
8
- export { FreeBrushMode };
9
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../src/components/free-brush/types.ts"],"sourcesContent":["export type FreeBrushSelection = [number, number] | [[number, number], [number, number]];\nexport type FreeBrushSelectionInPixels = FreeBrushSelection\n\nexport enum FreeBrushMode {\n X = 'x',\n Y = 'y',\n XY = 'xy',\n}\n"],"names":[],"mappings":"IAGY,cAIX;AAJD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,aAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,aAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACX,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;;;;"}