teechart.js 4.0.5 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/3D-COMPATIBILITY.md +45 -0
  2. package/README.md +463 -27
  3. package/dist/chunks/chart-p639xVyw.js +16 -0
  4. package/dist/chunks/chart-p639xVyw.js.map +1 -0
  5. package/dist/chunks/palette-series-DfyYptK1.js +16 -0
  6. package/dist/chunks/palette-series-DfyYptK1.js.map +1 -0
  7. package/dist/chunks/series-DeozLXIv.js +16 -0
  8. package/dist/chunks/series-DeozLXIv.js.map +1 -0
  9. package/dist/teechart.3d.esm.js +27 -0
  10. package/dist/teechart.3d.esm.js.map +1 -0
  11. package/dist/teechart.auto.esm.js +16 -0
  12. package/dist/teechart.auto.esm.js.map +1 -0
  13. package/dist/teechart.core.esm.js +16 -0
  14. package/dist/teechart.core.esm.js.map +1 -0
  15. package/dist/teechart.esm.js +3 -3
  16. package/dist/teechart.esm.js.map +1 -1
  17. package/dist/teechart.js +14 -3
  18. package/dist/teechart.js.map +1 -1
  19. package/dist/teechart.maps.esm.js +16 -0
  20. package/dist/teechart.maps.esm.js.map +1 -0
  21. package/dist/types/accessibility.d.ts +29 -0
  22. package/dist/types/accessibility.d.ts.map +1 -0
  23. package/dist/types/auto.d.ts +4 -0
  24. package/dist/types/auto.d.ts.map +1 -0
  25. package/dist/types/chart-options.d.ts +826 -0
  26. package/dist/types/chart-options.d.ts.map +1 -0
  27. package/dist/types/chart.d.ts +252 -0
  28. package/dist/types/chart.d.ts.map +1 -0
  29. package/dist/types/checkbox.d.ts +12 -0
  30. package/dist/types/checkbox.d.ts.map +1 -0
  31. package/dist/types/core/elements/axes.d.ts +17 -0
  32. package/dist/types/core/elements/axes.d.ts.map +1 -0
  33. package/dist/types/core/elements/axis-grid.d.ts +20 -0
  34. package/dist/types/core/elements/axis-grid.d.ts.map +1 -0
  35. package/dist/types/core/elements/axis-labels.d.ts +54 -0
  36. package/dist/types/core/elements/axis-labels.d.ts.map +1 -0
  37. package/dist/types/core/elements/axis-ticks.d.ts +19 -0
  38. package/dist/types/core/elements/axis-ticks.d.ts.map +1 -0
  39. package/dist/types/core/elements/axis-title.d.ts +16 -0
  40. package/dist/types/core/elements/axis-title.d.ts.map +1 -0
  41. package/dist/types/core/elements/axis.d.ts +125 -0
  42. package/dist/types/core/elements/axis.d.ts.map +1 -0
  43. package/dist/types/core/elements/chart-image.d.ts +13 -0
  44. package/dist/types/core/elements/chart-image.d.ts.map +1 -0
  45. package/dist/types/core/elements/font.d.ts +28 -0
  46. package/dist/types/core/elements/font.d.ts.map +1 -0
  47. package/dist/types/core/elements/format.d.ts +125 -0
  48. package/dist/types/core/elements/format.d.ts.map +1 -0
  49. package/dist/types/core/elements/gradient.d.ts +23 -0
  50. package/dist/types/core/elements/gradient.d.ts.map +1 -0
  51. package/dist/types/core/elements/legend-symbol.d.ts +49 -0
  52. package/dist/types/core/elements/legend-symbol.d.ts.map +1 -0
  53. package/dist/types/core/elements/legend.d.ts +131 -0
  54. package/dist/types/core/elements/legend.d.ts.map +1 -0
  55. package/dist/types/core/elements/margins.d.ts +9 -0
  56. package/dist/types/core/elements/margins.d.ts.map +1 -0
  57. package/dist/types/core/elements/panel.d.ts +13 -0
  58. package/dist/types/core/elements/panel.d.ts.map +1 -0
  59. package/dist/types/core/elements/scroll.d.ts +14 -0
  60. package/dist/types/core/elements/scroll.d.ts.map +1 -0
  61. package/dist/types/core/elements/shadow.d.ts +14 -0
  62. package/dist/types/core/elements/shadow.d.ts.map +1 -0
  63. package/dist/types/core/elements/stroke.d.ts +19 -0
  64. package/dist/types/core/elements/stroke.d.ts.map +1 -0
  65. package/dist/types/core/elements/wall.d.ts +13 -0
  66. package/dist/types/core/elements/wall.d.ts.map +1 -0
  67. package/dist/types/core/elements/zoom.d.ts +33 -0
  68. package/dist/types/core/elements/zoom.d.ts.map +1 -0
  69. package/dist/types/core/primitives.d.ts +33 -0
  70. package/dist/types/core/primitives.d.ts.map +1 -0
  71. package/dist/types/core.d.ts +96 -0
  72. package/dist/types/core.d.ts.map +1 -0
  73. package/dist/types/data/data-engine.d.ts +245 -0
  74. package/dist/types/data/data-engine.d.ts.map +1 -0
  75. package/dist/types/date.format.d.ts +5 -0
  76. package/dist/types/date.format.d.ts.map +1 -0
  77. package/dist/types/declarative-tools.d.ts +6 -0
  78. package/dist/types/declarative-tools.d.ts.map +1 -0
  79. package/dist/types/do-http-request.d.ts +2 -0
  80. package/dist/types/do-http-request.d.ts.map +1 -0
  81. package/dist/types/dom-tip.d.ts +41 -0
  82. package/dist/types/dom-tip.d.ts.map +1 -0
  83. package/dist/types/events.d.ts +82 -0
  84. package/dist/types/events.d.ts.map +1 -0
  85. package/dist/types/extras.d.ts +18 -0
  86. package/dist/types/extras.d.ts.map +1 -0
  87. package/dist/types/index.d.ts +5 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/interaction.d.ts +67 -0
  90. package/dist/types/interaction.d.ts.map +1 -0
  91. package/dist/types/map-series-definition.d.ts +5 -0
  92. package/dist/types/map-series-definition.d.ts.map +1 -0
  93. package/dist/types/maps/africa-map.d.ts +10 -0
  94. package/dist/types/maps/africa-map.d.ts.map +1 -0
  95. package/dist/types/maps/asia-map.d.ts +10 -0
  96. package/dist/types/maps/asia-map.d.ts.map +1 -0
  97. package/dist/types/maps/australia-map.d.ts +10 -0
  98. package/dist/types/maps/australia-map.d.ts.map +1 -0
  99. package/dist/types/maps/europe-map.d.ts +10 -0
  100. package/dist/types/maps/europe-map.d.ts.map +1 -0
  101. package/dist/types/maps/europe27-map.d.ts +10 -0
  102. package/dist/types/maps/europe27-map.d.ts.map +1 -0
  103. package/dist/types/maps/layout-map.d.ts +51 -0
  104. package/dist/types/maps/layout-map.d.ts.map +1 -0
  105. package/dist/types/maps/map-types.d.ts +19 -0
  106. package/dist/types/maps/map-types.d.ts.map +1 -0
  107. package/dist/types/maps/south-america-map.d.ts +10 -0
  108. package/dist/types/maps/south-america-map.d.ts.map +1 -0
  109. package/dist/types/maps/spain-map.d.ts +11 -0
  110. package/dist/types/maps/spain-map.d.ts.map +1 -0
  111. package/dist/types/maps/svg-map.d.ts +37 -0
  112. package/dist/types/maps/svg-map.d.ts.map +1 -0
  113. package/dist/types/maps/usa-map.d.ts +12 -0
  114. package/dist/types/maps/usa-map.d.ts.map +1 -0
  115. package/dist/types/maps/world-map.d.ts +14 -0
  116. package/dist/types/maps/world-map.d.ts.map +1 -0
  117. package/dist/types/maps.d.ts +15 -0
  118. package/dist/types/maps.d.ts.map +1 -0
  119. package/dist/types/marks-animation.d.ts +16 -0
  120. package/dist/types/marks-animation.d.ts.map +1 -0
  121. package/dist/types/modern-theme.d.ts +14 -0
  122. package/dist/types/modern-theme.d.ts.map +1 -0
  123. package/dist/types/optional-options.d.ts +6 -0
  124. package/dist/types/optional-options.d.ts.map +1 -0
  125. package/dist/types/palette.d.ts +11 -0
  126. package/dist/types/palette.d.ts.map +1 -0
  127. package/dist/types/platform.d.ts +27 -0
  128. package/dist/types/platform.d.ts.map +1 -0
  129. package/dist/types/plugin.d.ts +80 -0
  130. package/dist/types/plugin.d.ts.map +1 -0
  131. package/dist/types/quadrants-plugin.d.ts +45 -0
  132. package/dist/types/quadrants-plugin.d.ts.map +1 -0
  133. package/dist/types/register-all.d.ts +3 -0
  134. package/dist/types/register-all.d.ts.map +1 -0
  135. package/dist/types/rendering/canvas-graphics.d.ts +65 -0
  136. package/dist/types/rendering/canvas-graphics.d.ts.map +1 -0
  137. package/dist/types/rendering/graphics.d.ts +59 -0
  138. package/dist/types/rendering/graphics.d.ts.map +1 -0
  139. package/dist/types/rendering/renderer.d.ts +58 -0
  140. package/dist/types/rendering/renderer.d.ts.map +1 -0
  141. package/dist/types/rendering/three-graphics.d.ts +22 -0
  142. package/dist/types/rendering/three-graphics.d.ts.map +1 -0
  143. package/dist/types/responsive.d.ts +8 -0
  144. package/dist/types/responsive.d.ts.map +1 -0
  145. package/dist/types/series/activity-gauge.d.ts +18 -0
  146. package/dist/types/series/activity-gauge.d.ts.map +1 -0
  147. package/dist/types/series/arc-gauge.d.ts +74 -0
  148. package/dist/types/series/arc-gauge.d.ts.map +1 -0
  149. package/dist/types/series/area.d.ts +24 -0
  150. package/dist/types/series/area.d.ts.map +1 -0
  151. package/dist/types/series/bar.d.ts +17 -0
  152. package/dist/types/series/bar.d.ts.map +1 -0
  153. package/dist/types/series/box-plot.d.ts +140 -0
  154. package/dist/types/series/box-plot.d.ts.map +1 -0
  155. package/dist/types/series/bubble.d.ts +25 -0
  156. package/dist/types/series/bubble.d.ts.map +1 -0
  157. package/dist/types/series/bullet.d.ts +86 -0
  158. package/dist/types/series/bullet.d.ts.map +1 -0
  159. package/dist/types/series/candle.d.ts +27 -0
  160. package/dist/types/series/candle.d.ts.map +1 -0
  161. package/dist/types/series/circular-gauge.d.ts +100 -0
  162. package/dist/types/series/circular-gauge.d.ts.map +1 -0
  163. package/dist/types/series/color-series.d.ts +59 -0
  164. package/dist/types/series/color-series.d.ts.map +1 -0
  165. package/dist/types/series/composed-series.d.ts +76 -0
  166. package/dist/types/series/composed-series.d.ts.map +1 -0
  167. package/dist/types/series/custom-bar.d.ts +63 -0
  168. package/dist/types/series/custom-bar.d.ts.map +1 -0
  169. package/dist/types/series/custom-series.d.ts +74 -0
  170. package/dist/types/series/custom-series.d.ts.map +1 -0
  171. package/dist/types/series/donut.d.ts +17 -0
  172. package/dist/types/series/donut.d.ts.map +1 -0
  173. package/dist/types/series/gantt.d.ts +47 -0
  174. package/dist/types/series/gantt.d.ts.map +1 -0
  175. package/dist/types/series/high-low-bar.d.ts +24 -0
  176. package/dist/types/series/high-low-bar.d.ts.map +1 -0
  177. package/dist/types/series/histogram.d.ts +36 -0
  178. package/dist/types/series/histogram.d.ts.map +1 -0
  179. package/dist/types/series/horiz-area.d.ts +11 -0
  180. package/dist/types/series/horiz-area.d.ts.map +1 -0
  181. package/dist/types/series/horiz-bar.d.ts +23 -0
  182. package/dist/types/series/horiz-bar.d.ts.map +1 -0
  183. package/dist/types/series/line.d.ts +22 -0
  184. package/dist/types/series/line.d.ts.map +1 -0
  185. package/dist/types/series/linear-gauge.d.ts +73 -0
  186. package/dist/types/series/linear-gauge.d.ts.map +1 -0
  187. package/dist/types/series/map-series.d.ts +82 -0
  188. package/dist/types/series/map-series.d.ts.map +1 -0
  189. package/dist/types/series/numeric-gauge.d.ts +96 -0
  190. package/dist/types/series/numeric-gauge.d.ts.map +1 -0
  191. package/dist/types/series/palette-series.d.ts +39 -0
  192. package/dist/types/series/palette-series.d.ts.map +1 -0
  193. package/dist/types/series/pie.d.ts +81 -0
  194. package/dist/types/series/pie.d.ts.map +1 -0
  195. package/dist/types/series/point-xy.d.ts +13 -0
  196. package/dist/types/series/point-xy.d.ts.map +1 -0
  197. package/dist/types/series/polar.d.ts +37 -0
  198. package/dist/types/series/polar.d.ts.map +1 -0
  199. package/dist/types/series/sankey.d.ts +90 -0
  200. package/dist/types/series/sankey.d.ts.map +1 -0
  201. package/dist/types/series/series-list.d.ts +127 -0
  202. package/dist/types/series/series-list.d.ts.map +1 -0
  203. package/dist/types/series/series-list.types.d.ts +43 -0
  204. package/dist/types/series/series-list.types.d.ts.map +1 -0
  205. package/dist/types/series/sliced.d.ts +13 -0
  206. package/dist/types/series/sliced.d.ts.map +1 -0
  207. package/dist/types/series/surface.d.ts +24 -0
  208. package/dist/types/series/surface.d.ts.map +1 -0
  209. package/dist/types/series/treemap.d.ts +107 -0
  210. package/dist/types/series/treemap.d.ts.map +1 -0
  211. package/dist/types/series/violin.d.ts +105 -0
  212. package/dist/types/series/violin.d.ts.map +1 -0
  213. package/dist/types/series/volume.d.ts +11 -0
  214. package/dist/types/series/volume.d.ts.map +1 -0
  215. package/dist/types/series-definitions.d.ts +30 -0
  216. package/dist/types/series-definitions.d.ts.map +1 -0
  217. package/dist/types/series-registry.d.ts +37 -0
  218. package/dist/types/series-registry.d.ts.map +1 -0
  219. package/dist/types/series-utils.d.ts +29 -0
  220. package/dist/types/series-utils.d.ts.map +1 -0
  221. package/dist/types/series.d.ts +342 -0
  222. package/dist/types/series.d.ts.map +1 -0
  223. package/dist/types/slider.d.ts +49 -0
  224. package/dist/types/slider.d.ts.map +1 -0
  225. package/dist/types/spline.d.ts +2 -0
  226. package/dist/types/spline.d.ts.map +1 -0
  227. package/dist/types/table/chart-table.d.ts +27 -0
  228. package/dist/types/table/chart-table.d.ts.map +1 -0
  229. package/dist/types/teechart-3d.d.ts +4 -0
  230. package/dist/types/teechart-3d.d.ts.map +1 -0
  231. package/dist/types/theme.d.ts +41 -0
  232. package/dist/types/theme.d.ts.map +1 -0
  233. package/dist/types/three/chart-3d.d.ts +77 -0
  234. package/dist/types/three/chart-3d.d.ts.map +1 -0
  235. package/dist/types/three/chart-options-3d.d.ts +5 -0
  236. package/dist/types/three/chart-options-3d.d.ts.map +1 -0
  237. package/dist/types/three/teechart-3d.d.ts +25 -0
  238. package/dist/types/three/teechart-3d.d.ts.map +1 -0
  239. package/dist/types/three-context.d.ts +184 -0
  240. package/dist/types/three-context.d.ts.map +1 -0
  241. package/dist/types/three-context.types.d.ts +177 -0
  242. package/dist/types/three-context.types.d.ts.map +1 -0
  243. package/dist/types/three-parametric-geometry.d.ts +7 -0
  244. package/dist/types/three-parametric-geometry.d.ts.map +1 -0
  245. package/dist/types/three.d.ts +6 -0
  246. package/dist/types/three.d.ts.map +1 -0
  247. package/dist/types/tools/animate-hover.d.ts +13 -0
  248. package/dist/types/tools/animate-hover.d.ts.map +1 -0
  249. package/dist/types/tools/annotation.d.ts +169 -0
  250. package/dist/types/tools/annotation.d.ts.map +1 -0
  251. package/dist/types/tools/base-animation.d.ts +83 -0
  252. package/dist/types/tools/base-animation.d.ts.map +1 -0
  253. package/dist/types/tools/cursor-tool.d.ts +51 -0
  254. package/dist/types/tools/cursor-tool.d.ts.map +1 -0
  255. package/dist/types/tools/drag-tool.d.ts +28 -0
  256. package/dist/types/tools/drag-tool.d.ts.map +1 -0
  257. package/dist/types/tools/index.d.ts +8 -0
  258. package/dist/types/tools/index.d.ts.map +1 -0
  259. package/dist/types/tools/tool.d.ts +27 -0
  260. package/dist/types/tools/tool.d.ts.map +1 -0
  261. package/dist/types/tools/tools.d.ts +33 -0
  262. package/dist/types/tools/tools.d.ts.map +1 -0
  263. package/dist/types/utils.d.ts +23 -0
  264. package/dist/types/utils.d.ts.map +1 -0
  265. package/dist/types/worker.d.ts +92 -0
  266. package/dist/types/worker.d.ts.map +1 -0
  267. package/package.json +73 -26
  268. package/dist/Tween.js +0 -13
  269. package/dist/date.format.js +0 -145
  270. package/dist/excanvas/canvas.text.js +0 -489
  271. package/dist/excanvas/excanvas.compiled.js +0 -35
  272. package/dist/excanvas/excanvas.js +0 -924
  273. package/dist/excanvas/excanvas_text.js +0 -1416
  274. package/dist/three.js +0 -990
@@ -0,0 +1,83 @@
1
+ import type { Chart } from "../chart.js";
2
+ import type { Axis } from "../core/elements/axis.js";
3
+ import type { Series } from "../series.js";
4
+ import { Tool } from "./tool.js";
5
+ type AnimationStep = (fraction: number) => void;
6
+ type FadeState = Partial<Record<"legend" | "walls" | "series" | "marks" | "title" | "axes" | "panel", boolean>>;
7
+ /**
8
+ * @constructor
9
+ * @augments Tool
10
+ * @class Base abstract class to perform Animations.
11
+ * @property {Number} [duration=500] Duration in milliseconds of the animation.
12
+ * @property {boolean} [loop=false] When true, the animation never stops (starts again when finished).
13
+ * @property {boolean} [running=false] Read-only, returns if the animation is currently running.
14
+ * @property {BaseAnimation[]} items Sub-animations that are executed in parallel with self.
15
+ * @property {boolean} [autoDraw=true] When true, the animation repaints the chart at every step.
16
+ */
17
+ export declare class BaseAnimation extends Tool {
18
+ duration: number;
19
+ mode: string;
20
+ items: BaseAnimation[];
21
+ autoDraw: boolean;
22
+ loop: boolean;
23
+ running: boolean;
24
+ onstart: (() => void) | null;
25
+ onstop: ((animation: BaseAnimation) => void) | null;
26
+ init: number;
27
+ private _onStep;
28
+ private _frameHandle;
29
+ private _fallbackFrameHandle;
30
+ private _chartForCleanup;
31
+ private _attachChart;
32
+ private _detachChart;
33
+ private _scheduleStep;
34
+ step: () => void;
35
+ constructor(target?: Chart | BaseAnimation | object, onStep?: AnimationStep);
36
+ private initializeAnimation;
37
+ private startAnimation;
38
+ animate(chart?: Chart): void;
39
+ cancel(): void;
40
+ destroy(): void;
41
+ start(): void;
42
+ stop(): void;
43
+ doStep(fraction: number): void;
44
+ }
45
+ /**
46
+ * @constructor
47
+ * @augments Tee.BaseAnimation
48
+ * @class Fades in/out chart elements.
49
+ */
50
+ export declare class FadeAnimation extends BaseAnimation {
51
+ fade: FadeState;
52
+ private _fadeState;
53
+ kind: "in" | "out";
54
+ constructor(target?: Chart | BaseAnimation);
55
+ setTransp(value: number): void;
56
+ start(): void;
57
+ stop(): void;
58
+ doStep(fraction: number): void;
59
+ }
60
+ /**
61
+ * @constructor
62
+ * @augments Tee.BaseAnimation
63
+ * @class Animates series data
64
+ * @property {Tee.Series} series Optional Tee.Series object to animate. When null, all series and axes are animated.
65
+ * @property {String} [kind="axis"] Animation style. Can be: axis, left, top, right, bottom, x, y, each, all, zoomin, zoomout.
66
+ */
67
+ export declare class SeriesAnimation extends BaseAnimation {
68
+ series: Series | null;
69
+ oldmin: number;
70
+ oldmax: number;
71
+ oldauto: boolean;
72
+ kind: string;
73
+ _scaling: number;
74
+ constructor(target?: Chart | BaseAnimation | Series);
75
+ changeAxis(axis: Axis, amount: number): void;
76
+ getAxis(): Axis | null;
77
+ getOtherAxis(): Axis | null;
78
+ doStep(fraction: number): void;
79
+ stop(): void;
80
+ start(): void;
81
+ }
82
+ export {};
83
+ //# sourceMappingURL=base-animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-animation.d.ts","sourceRoot":"","sources":["../../../src/tools/base-animation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,KAAK,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AAC/C,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAY/G;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACtC,QAAQ,SAAM;IACd,IAAI,SAAW;IACf,KAAK,EAAE,aAAa,EAAE,CAAK;IAC3B,QAAQ,UAAO;IACf,IAAI,UAAQ;IACZ,OAAO,UAAQ;IACf,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAO;IACnC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAC1D,IAAI,SAAI;IACR,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,oBAAoB,CAA6C;IACzE,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,IAAI,EAAE,MAAM,IAAI,CAAW;gBAEf,MAAM,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa;IAK3E,OAAO,CAAC,mBAAmB;IAqF3B,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAU5B,MAAM,IAAI,IAAI;IAUd,OAAO,IAAI,IAAI;IAKf,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;IAKZ,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG9B;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC/C,IAAI,EAAE,SAAS,CAAK;IACpB,OAAO,CAAC,UAAU,CAAuB;IACzC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAO;gBACb,MAAM,CAAC,EAAE,KAAK,GAAG,aAAa;IAO1C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA0B9B,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;IAIZ,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG9B;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IACjD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAO;IAC5B,MAAM,SAAI;IACV,MAAM,SAAI;IACV,OAAO,UAAO;IACd,IAAI,SAAS;IACb,QAAQ,SAAI;gBAEA,MAAM,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,MAAM;IAenD,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5C,OAAO,IAAI,IAAI,GAAG,IAAI;IAKtB,YAAY,IAAI,IAAI,GAAG,IAAI;IAU3B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAyC9B,IAAI,IAAI,IAAI;IA2BZ,KAAK,IAAI,IAAI;CA2Eb"}
@@ -0,0 +1,51 @@
1
+ import { Format } from "../core/elements/format.js";
2
+ import { Point } from "../core/primitives.js";
3
+ import type { Axis } from "../core/elements/axis.js";
4
+ import type { Chart } from "../chart.js";
5
+ import { Tool } from "./tool.js";
6
+ type CursorDirection = "both" | "vertical" | "horizontal";
7
+ type CursorRender = "full" | "copy" | "layer";
8
+ type CursorSymbol = "circle" | "square" | "diamond" | "none";
9
+ /**
10
+ * @constructor
11
+ * @augments Tool
12
+ * @class Draws mouse draggable horizontal and / or vertical lines inside axes
13
+ * @param {Tee.Chart} chart The parent chart this cursor tool belongs to.
14
+ * @property {String} direction Determines if the cursor will be displayed as "vertical", "horizontal" or "both".
15
+ * @property {Format} format Properties to control the cursor lines stroke appearance.
16
+ * @property {Point} size The size of cursor, {x:0, y:0} means lines will cover full axes bounds.
17
+ * @property {boolean} followMouse When true the cursor follows mouse movement over the chart.
18
+ */
19
+ export declare class CursorTool extends Tool {
20
+ direction: CursorDirection;
21
+ size: Point;
22
+ followMouse: boolean;
23
+ dragging: number;
24
+ format: Format;
25
+ horizAxis: Axis | null;
26
+ vertAxis: Axis | null;
27
+ render: CursorRender;
28
+ symbol: CursorSymbol;
29
+ symbolSize: number;
30
+ private _pp;
31
+ private _canvasCopy;
32
+ private _ctxCopy;
33
+ private _hitEpsilon;
34
+ private _old;
35
+ private _rect;
36
+ onchange: ((point: Point) => void) | undefined;
37
+ constructor(chart: Chart);
38
+ getHitTarget(point: Point): number;
39
+ calculateBounds(): void;
40
+ mousedown(event: Event): boolean;
41
+ clicked(): boolean;
42
+ mousemove(point: Point): void;
43
+ setRender(render: CursorRender): void;
44
+ private restoreCopy;
45
+ private copyBitmap;
46
+ resetCopy(): void;
47
+ draw(): void;
48
+ drawCursor(context: CanvasRenderingContext2D | null): void;
49
+ }
50
+ export {};
51
+ //# sourceMappingURL=cursor-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/cursor-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,KAAK,EAAa,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,KAAK,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAA;AACzD,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAC7C,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5D;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,IAAI;IACnC,SAAS,EAAE,eAAe,CAAA;IAC1B,IAAI,EAAE,KAAK,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,KAAK,CAAW;IACxB,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;gBAElC,KAAK,EAAE,KAAK;IAsBxB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAgBlC,eAAe,IAAI,IAAI;IAavB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAMhC,OAAO,IAAI,OAAO;IAKlB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA2C7B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASrC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAYlB,SAAS,IAAI,IAAI;IAqBjB,IAAI,IAAI,IAAI;IAsBZ,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,IAAI;CAsD1D"}
@@ -0,0 +1,28 @@
1
+ import { Point } from "../core/primitives.js";
2
+ import type { Series } from "../series.js";
3
+ import type { Chart } from "../chart.js";
4
+ import { Tool } from "./tool.js";
5
+ interface DragTarget {
6
+ series: Series | null;
7
+ index: number;
8
+ }
9
+ /**
10
+ * @constructor
11
+ * @augments Tool
12
+ * @class Allows dragging series data by mouse or touch
13
+ * @param {Tee.Chart} chart The parent chart this tool belongs to.
14
+ * @property {Tee.Series} [series=null] A series to be dragged, or null to drag all.
15
+ */
16
+ export declare class DragTool extends Tool {
17
+ series: Series | null;
18
+ target: DragTarget;
19
+ point: Point;
20
+ onchanging: ((tool: DragTool, value: number) => number) | undefined;
21
+ onchanged: ((tool: DragTool, value: number) => void) | undefined;
22
+ constructor(chart: Chart);
23
+ clicked(): boolean;
24
+ mousedown(event: Event): boolean;
25
+ mousemove(point: Point): void;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=drag-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/drag-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,UAAU,UAAU;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,IAAI;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IACnE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;gBAEpD,KAAK,EAAE,KAAK;IAOxB,OAAO,IAAI,OAAO;IAMlB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IA2BhC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAe7B"}
@@ -0,0 +1,8 @@
1
+ import { AnimateHover } from "./animate-hover.js";
2
+ import { Annotation, Marks, Title, ToolTip } from "./annotation.js";
3
+ import { BaseAnimation, FadeAnimation, SeriesAnimation } from "./base-animation.js";
4
+ import { CursorTool } from "./cursor-tool.js";
5
+ import { DragTool } from "./drag-tool.js";
6
+ import { Tool } from "./tool.js";
7
+ export { AnimateHover, Annotation, BaseAnimation, CursorTool, DragTool, FadeAnimation, Marks, SeriesAnimation, Title, Tool, ToolTip };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EACN,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,QAAQ,EACR,aAAa,EACb,KAAK,EACL,eAAe,EACf,KAAK,EACL,IAAI,EACJ,OAAO,EACP,CAAA"}
@@ -0,0 +1,27 @@
1
+ import type { Chart } from "../chart.js";
2
+ import { Emitter, type EventListener, type ToolEventMap } from "../events.js";
3
+ export type ToolChart = Chart;
4
+ export declare class Tool {
5
+ chart: ToolChart;
6
+ active: boolean;
7
+ destroyed: boolean;
8
+ _events?: Emitter<ToolEventMap>;
9
+ constructor(chart: ToolChart);
10
+ /** Subscribes `listener` to tool events and returns a function that removes it. */
11
+ on<K extends keyof ToolEventMap>(name: K, listener: EventListener<ToolEventMap[K]>): () => void;
12
+ /** Like `on`, but the listener runs once. */
13
+ once<K extends keyof ToolEventMap>(name: K, listener: EventListener<ToolEventMap[K]>): () => void;
14
+ /** Removes `listener`, or every listener of `name` when it is omitted. */
15
+ off<K extends keyof ToolEventMap>(name: K, listener?: EventListener<ToolEventMap[K]>): void;
16
+ /** @internal */
17
+ _hasListeners(name: keyof ToolEventMap): boolean;
18
+ /** @internal */
19
+ _emit<K extends keyof ToolEventMap>(name: K, ...args: ToolEventMap[K]): void;
20
+ mousedown(_event: unknown): boolean;
21
+ mousemove(_point: unknown): void;
22
+ mouseout(): void;
23
+ clicked(_point?: unknown): boolean;
24
+ draw(): void;
25
+ destroy(): void;
26
+ }
27
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAE7E,MAAM,MAAM,SAAS,GAAG,KAAK,CAAA;AAE7B,qBAAa,IAAI;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,UAAO;IACb,SAAS,UAAQ;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;gBAEnB,KAAK,EAAE,SAAS;IAI5B,mFAAmF;IACnF,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAI/F,6CAA6C;IAC7C,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAIjG,0EAA0E;IAC1E,GAAG,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3F,gBAAgB;IAChB,aAAa,CAAC,IAAI,EAAE,MAAM,YAAY,GAAG,OAAO;IAIhD,gBAAgB;IAChB,KAAK,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAI5E,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IAGnC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAChC,QAAQ,IAAI,IAAI;IAChB,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAGlC,IAAI,IAAI,IAAI;IACZ,OAAO,IAAI,IAAI;CAKf"}
@@ -0,0 +1,33 @@
1
+ import type { Chart } from "../chart.js";
2
+ import { Tool } from "./tool.js";
3
+ interface ChartPoint {
4
+ x: number;
5
+ y: number;
6
+ }
7
+ /**
8
+ * @memberOf Tee.Chart
9
+ * @constructor
10
+ * @class Contains a list with all "tools"
11
+ * @param {Tee.Chart} chart The parent chart this tool list belongs to.
12
+ * @property {Tool[]} items Array of Tool objects.
13
+ */
14
+ export declare class Tools {
15
+ chart: Chart;
16
+ items: Tool[];
17
+ constructor(chart: Chart);
18
+ draw(): void;
19
+ mousemove(p: ChartPoint): void;
20
+ mousedown(event: MouseEvent): boolean;
21
+ mouseout(): void;
22
+ clicked(p: ChartPoint): boolean;
23
+ /**
24
+ * @returns {Tool} Returns the tool parameter.
25
+ */
26
+ add(tool: Tool): Tool;
27
+ remove(tool: Tool, destroy?: boolean): boolean;
28
+ clear(destroy?: boolean): this;
29
+ destroy(): void;
30
+ private forEachActive;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,UAAU,UAAU;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACT;AAMD;;;;;;GAMG;AACH,qBAAa,KAAK;IACjB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,IAAI,EAAE,CAAA;gBAED,KAAK,EAAE,KAAK;IAKxB,IAAI,IAAI,IAAI;IASZ,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAO9B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IASrC,QAAQ,IAAI,IAAI;IAIhB,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAgB/B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAYrB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,UAAQ,GAAG,OAAO;IAQ5C,KAAK,CAAC,OAAO,UAAQ,GAAG,IAAI;IAM5B,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,aAAa;CAKrB"}
@@ -0,0 +1,23 @@
1
+ export interface PointLike {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ export interface ChartLike {
6
+ canvas: HTMLCanvasElement;
7
+ destroyed?: boolean;
8
+ zoom: {
9
+ reset(): void;
10
+ };
11
+ draw(): void;
12
+ _doubleTapCleanup?: (() => void) | null;
13
+ _eventCleanups?: Array<() => void>;
14
+ }
15
+ export declare function pointInLine(p: PointLike, p1: PointLike, p2: PointLike, tolerance: number): boolean;
16
+ export declare function dashedLine(ctx: CanvasRenderingContext2D, x: number, y: number, x2: number, y2: number, da?: number[]): void;
17
+ export declare function doubleTap(chart: ChartLike): void;
18
+ export declare function trunc(value: number): number;
19
+ export declare function toRadians(angle: number): number;
20
+ export declare function copyOwnProperties(target: object, source: object): void;
21
+ export declare function colorToRgba(color: string | number[], alpha: number): string;
22
+ export declare function getTableCellText(cell: HTMLTableCellElement): string;
23
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACT;AAED,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,iBAAiB,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE;QAAE,KAAK,IAAI,IAAI,CAAA;KAAE,CAAA;IACvB,IAAI,IAAI,IAAI,CAAA;IACZ,iBAAiB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA;IACvC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;CAClC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAuBlG;AAED,wBAAgB,UAAU,CACzB,GAAG,EAAE,wBAAwB,EAC7B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,WAAU,GACV,IAAI,CAmBN;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAoBhD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKtE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAEnE"}
@@ -0,0 +1,92 @@
1
+ import { Chart } from "./chart.js";
2
+ import type { ChartOptions } from "./chart-options.js";
3
+ import type { ChartPointerEvent, ChartPointerEventKind } from "./interaction.js";
4
+ /** The part of a `Worker` or of the worker global scope that is used to exchange messages. */
5
+ export interface ChartMessagePort {
6
+ postMessage(message: unknown, transfer?: Transferable[]): void;
7
+ addEventListener(type: "message", listener: (event: {
8
+ data: unknown;
9
+ }) => void): void;
10
+ removeEventListener?(type: "message", listener: (event: {
11
+ data: unknown;
12
+ }) => void): void;
13
+ }
14
+ /** Messages sent by the page to the worker. */
15
+ export type ChartWorkerRequest = {
16
+ type: "teechart:init";
17
+ canvas: OffscreenCanvas;
18
+ options: ChartOptions;
19
+ width: number;
20
+ height: number;
21
+ pixelRatio: number;
22
+ } | {
23
+ type: "teechart:options";
24
+ options: ChartOptions;
25
+ } | {
26
+ type: "teechart:resize";
27
+ width: number;
28
+ height: number;
29
+ pixelRatio: number;
30
+ } | {
31
+ type: "teechart:pointer";
32
+ kind: ChartPointerEventKind;
33
+ event: ChartPointerEvent;
34
+ } | {
35
+ type: "teechart:blob";
36
+ id: number;
37
+ format?: string;
38
+ quality?: number;
39
+ } | {
40
+ type: "teechart:destroy";
41
+ };
42
+ /** Messages sent by the worker to the page. */
43
+ export type ChartWorkerResponse = {
44
+ type: "teechart:ready";
45
+ } | {
46
+ type: "teechart:cursor";
47
+ cursor: string;
48
+ } | {
49
+ type: "teechart:blob";
50
+ id: number;
51
+ blob: Blob | null;
52
+ error?: string;
53
+ } | {
54
+ type: "teechart:error";
55
+ message: string;
56
+ };
57
+ export interface ChartWorkerHostOptions {
58
+ /** The port to listen on and answer through; the global scope of the worker by default. */
59
+ port?: ChartMessagePort;
60
+ /** Creates the chart for the transferred canvas; use it to run code before the first draw. */
61
+ createChart?: (canvas: OffscreenCanvas, options: ChartOptions) => Chart;
62
+ }
63
+ /**
64
+ * Runs inside a Worker. It creates the chart when the page sends its canvas and keeps it in sync with the
65
+ * options, size and pointer events that the page forwards. Returns a function that stops it.
66
+ */
67
+ export declare function startChartWorker(host?: ChartWorkerHostOptions): () => void;
68
+ /** The page side handle of a chart drawn in a worker. */
69
+ export interface WorkerChart {
70
+ /** Resolves when the worker has created and drawn the chart, and rejects when it reports an error. */
71
+ readonly ready: Promise<void>;
72
+ /** Applies a declarative options patch in the worker (see `Chart.setOptions`). */
73
+ setOptions(options: ChartOptions): void;
74
+ /** Resizes the chart; by default the size of the canvas element is followed automatically. */
75
+ resize(width: number, height: number): void;
76
+ /** Encodes the chart image in the worker; rejects if encoding fails or the chart is destroyed. */
77
+ toBlob(format?: string, quality?: number): Promise<Blob>;
78
+ /** Stops forwarding events, destroys the chart in the worker and leaves the canvas to the garbage collector. */
79
+ destroy(): void;
80
+ }
81
+ export interface WorkerChartOptions {
82
+ /** Device pixels per CSS pixel. Defaults to `window.devicePixelRatio`. */
83
+ pixelRatio?: number;
84
+ /** Prevents the page from scrolling when the wheel is used over the chart, which zoom needs. */
85
+ captureWheel?: boolean;
86
+ }
87
+ /**
88
+ * Runs in the page. Hands `canvas` to `worker`, which must call `startChartWorker`, and forwards pointer
89
+ * events and size changes. The canvas can only be transferred once and should be sized with CSS.
90
+ */
91
+ export declare function createWorkerChart(canvas: HTMLCanvasElement, worker: ChartMessagePort, options: ChartOptions, init?: WorkerChartOptions): WorkerChart;
92
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAYhF,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAChC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC9D,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IACrF,mBAAmB,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAA;CACzF;AAED,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAC3B;IACA,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACjB,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAA;AAE/B,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAC5B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAW9C,MAAM,WAAW,sBAAsB;IACtC,2FAA2F;IAC3F,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,KAAK,KAAK,CAAA;CACvE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,sBAA2B,GAAG,MAAM,IAAI,CAqE9E;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC3B,sGAAsG;IACtG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,kFAAkF;IAClF,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;IACvC,8FAA8F;IAC9F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,kGAAkG;IAClG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,gHAAgH;IAChH,OAAO,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAA;CACtB;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,kBAAuB,GAC3B,WAAW,CAgIb"}
package/package.json CHANGED
@@ -1,28 +1,52 @@
1
1
  {
2
2
  "name": "teechart.js",
3
3
  "description": "Charting module using TeeChart for JavaScript",
4
- "version": "4.0.5",
4
+ "version": "5.0.0-beta.1",
5
5
  "type": "module",
6
- "workspaces": ["demos"],
7
- "tags": ["javascript", "html5", "canvas", "chart", "graph", "plot", "visualization"],
8
- "scripts": {
9
- "lint": "biome check",
10
- "lint:error": "biome check --diagnostic-level=error",
11
- "format": "biome format --write",
12
- "build:js": "rollup -c",
13
- "build:js-demos": "bun run build:js && bun scripts/copy-dist-to-demos.mjs",
14
- "build:types": "tsc -p tsconfig.build.json",
15
- "bundle": "bun run build:js && bun run build:types",
16
- "demos:dev": "cd demos && bun run dev",
17
- "demos:build": "cd demos && bun run build",
18
- "publish": "node scripts/publish-npm.mjs"
6
+ "main": "./dist/teechart.esm.js",
7
+ "module": "./dist/teechart.esm.js",
8
+ "types": "./dist/types/index.d.ts",
9
+ "sideEffects": false,
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/types/index.d.ts",
13
+ "import": "./dist/teechart.esm.js",
14
+ "default": "./dist/teechart.esm.js"
15
+ },
16
+ "./core": {
17
+ "types": "./dist/types/core.d.ts",
18
+ "import": "./dist/teechart.core.esm.js",
19
+ "default": "./dist/teechart.core.esm.js"
20
+ },
21
+ "./maps": {
22
+ "types": "./dist/types/maps.d.ts",
23
+ "import": "./dist/teechart.maps.esm.js",
24
+ "default": "./dist/teechart.maps.esm.js"
25
+ },
26
+ "./3d": {
27
+ "types": "./dist/types/three.d.ts",
28
+ "import": "./dist/teechart.3d.esm.js",
29
+ "default": "./dist/teechart.3d.esm.js"
30
+ }
19
31
  },
32
+ "tags": [
33
+ "javascript",
34
+ "html5",
35
+ "canvas",
36
+ "chart",
37
+ "graph",
38
+ "plot",
39
+ "visualization"
40
+ ],
20
41
  "directories": {
21
42
  "lib": "lib"
22
43
  },
23
- "files": ["dist"],
44
+ "files": [
45
+ "dist",
46
+ "3D-COMPATIBILITY.md"
47
+ ],
24
48
  "author": "David Berneda <david@steema.com> (https://www.steema.com)",
25
- "license": "ISC",
49
+ "license": "SEE LICENSE IN LICENSE.md",
26
50
  "homepage": "https://www.steema.com/product/js",
27
51
  "maintainers": [
28
52
  {
@@ -57,21 +81,44 @@
57
81
  "2d",
58
82
  "javascript"
59
83
  ],
60
- "licenses": [
61
- {
62
- "type": "CC",
63
- "url": "https://gitlab.com/steema/teechartjs/-/blob/main/LICENSE.md"
64
- }
65
- ],
66
84
  "dependencies": {
67
- "@fontsource-variable/open-sans": "^5.0.29"
85
+ "@fontsource-variable/open-sans": "^5.0.29",
86
+ "@types/three": "^0.185.1",
87
+ "three": "0.185.1"
68
88
  },
69
89
  "devDependencies": {
70
- "@biomejs/biome": "2.4.9",
90
+ "@rollup/plugin-json": "^6.1.0",
91
+ "@rollup/plugin-node-resolve": "^16.0.3",
71
92
  "@rollup/plugin-terser": "^0.4.4",
72
93
  "@rollup/plugin-typescript": "^11.1.6",
94
+ "@types/node": "^22.20.5",
95
+ "@vitest/coverage-v8": "^4.1.10",
73
96
  "rollup": "^4.18.0",
74
97
  "ts-standard": "^12.0.2",
75
- "typescript": "^5.4.5"
98
+ "typescript": "6.0.2",
99
+ "vitest": "4.1.10"
100
+ },
101
+ "scripts": {
102
+ "build:js": "node scripts/clean-js-chunks.ts && rollup -c",
103
+ "measure:bundle": "node scripts/measure-bundle.ts",
104
+ "benchmark:data": "node scripts/benchmark-data-calculations.ts",
105
+ "build:types": "tsc -p tsconfig.build.json",
106
+ "build:js-demos": "pnpm run build:js && node scripts/copy-dist-to-demos.ts",
107
+ "watch:js-demos": "node scripts/watch-js-demos.ts",
108
+ "watch:js": "node scripts/watch-js-demos.ts --skip-build",
109
+ "bundle": "pnpm run build:js && pnpm run build:types",
110
+ "check:types": "tsc -p tsconfig.json",
111
+ "check:scripts": "tsc -p scripts/tsconfig.json",
112
+ "check:public-types": "pnpm run build:types && pnpm run check:public-types:built",
113
+ "check:public-types:built": "tsc -p tsconfig.public-types.json",
114
+ "check:package": "node scripts/check-package-entry.ts",
115
+ "lint:package": "pnpm dlx publint && pnpm dlx @arethetypeswrong/cli --pack . --profile esm-only",
116
+ "check:built": "pnpm run check:scripts && pnpm run check:public-types:built && pnpm test && pnpm run check:package",
117
+ "test": "vitest run",
118
+ "test:watch": "vitest",
119
+ "test:coverage": "vitest run --coverage",
120
+ "release:check": "pnpm run bundle && pnpm run check:built",
121
+ "release:prepare": "node scripts/publish-npm.ts --prepare",
122
+ "release:npm": "node scripts/publish-npm.ts"
76
123
  }
77
- }
124
+ }
package/dist/Tween.js DELETED
@@ -1,13 +0,0 @@
1
- // tween.js r5 - http://github.com/sole/tween.js
2
- var TWEEN=TWEEN||function(){var a,e,c=60,b=false,h=[],i;return{setFPS:function(f){c=f||60},start:function(f){arguments.length!=0&&this.setFPS(f);e=setInterval(this.update,1E3/c)},stop:function(){clearInterval(e)},setAutostart:function(f){(b=f)&&!e&&this.start()},add:function(f){h.push(f);b&&!e&&this.start()},getAll:function(){return h},removeAll:function(){h=[]},remove:function(f){a=h.indexOf(f);a!==-1&&h.splice(a,1)},update:function(f){a=0;i=h.length;for(f=f||Date.now();a<i;)if(h[a].update(f))a++;
3
- else{h.splice(a,1);i--}i==0&&b==true&&this.stop()}}}();
4
- TWEEN.Tween=function(a){var e={},c={},b={},h=1E3,i=0,f=null,n=TWEEN.Easing.Linear.EaseNone,k=null,l=null,m=null;this.to=function(d,g){if(g!==null)h=g;for(var j in d)if(a[j]!==null)b[j]=d[j];return this};this.start=function(d){TWEEN.add(this);f=d?d+i:Date.now()+i;for(var g in b)if(a[g]!==null){e[g]=a[g];c[g]=b[g]-a[g]}return this};this.stop=function(){TWEEN.remove(this);return this};this.delay=function(d){i=d;return this};this.easing=function(d){n=d;return this};this.chain=function(d){k=d};this.onUpdate=
5
- function(d){l=d;return this};this.onComplete=function(d){m=d;return this};this.update=function(d){var g,j;if(d<f)return true;d=(d-f)/h;d=d>1?1:d;j=n(d);for(g in c)a[g]=e[g]+c[g]*j;l!==null&&l.call(a,j);if(d==1){m!==null&&m.call(a);k!==null&&k.start();return false}return true}};TWEEN.Easing={Linear:{},Quadratic:{},Cubic:{},Quartic:{},Quintic:{},Sinusoidal:{},Exponential:{},Circular:{},Elastic:{},Back:{},Bounce:{}};TWEEN.Easing.Linear.EaseNone=function(a){return a};
6
- TWEEN.Easing.Quadratic.EaseIn=function(a){return a*a};TWEEN.Easing.Quadratic.EaseOut=function(a){return-a*(a-2)};TWEEN.Easing.Quadratic.EaseInOut=function(a){if((a*=2)<1)return 0.5*a*a;return-0.5*(--a*(a-2)-1)};TWEEN.Easing.Cubic.EaseIn=function(a){return a*a*a};TWEEN.Easing.Cubic.EaseOut=function(a){return--a*a*a+1};TWEEN.Easing.Cubic.EaseInOut=function(a){if((a*=2)<1)return 0.5*a*a*a;return 0.5*((a-=2)*a*a+2)};TWEEN.Easing.Quartic.EaseIn=function(a){return a*a*a*a};
7
- TWEEN.Easing.Quartic.EaseOut=function(a){return-(--a*a*a*a-1)};TWEEN.Easing.Quartic.EaseInOut=function(a){if((a*=2)<1)return 0.5*a*a*a*a;return-0.5*((a-=2)*a*a*a-2)};TWEEN.Easing.Quintic.EaseIn=function(a){return a*a*a*a*a};TWEEN.Easing.Quintic.EaseOut=function(a){return(a-=1)*a*a*a*a+1};TWEEN.Easing.Quintic.EaseInOut=function(a){if((a*=2)<1)return 0.5*a*a*a*a*a;return 0.5*((a-=2)*a*a*a*a+2)};TWEEN.Easing.Sinusoidal.EaseIn=function(a){return-Math.cos(a*Math.PI/2)+1};
8
- TWEEN.Easing.Sinusoidal.EaseOut=function(a){return Math.sin(a*Math.PI/2)};TWEEN.Easing.Sinusoidal.EaseInOut=function(a){return-0.5*(Math.cos(Math.PI*a)-1)};TWEEN.Easing.Exponential.EaseIn=function(a){return a==0?0:Math.pow(2,10*(a-1))};TWEEN.Easing.Exponential.EaseOut=function(a){return a==1?1:-Math.pow(2,-10*a)+1};TWEEN.Easing.Exponential.EaseInOut=function(a){if(a==0)return 0;if(a==1)return 1;if((a*=2)<1)return 0.5*Math.pow(2,10*(a-1));return 0.5*(-Math.pow(2,-10*(a-1))+2)};
9
- TWEEN.Easing.Circular.EaseIn=function(a){return-(Math.sqrt(1-a*a)-1)};TWEEN.Easing.Circular.EaseOut=function(a){return Math.sqrt(1- --a*a)};TWEEN.Easing.Circular.EaseInOut=function(a){if((a/=0.5)<1)return-0.5*(Math.sqrt(1-a*a)-1);return 0.5*(Math.sqrt(1-(a-=2)*a)+1)};TWEEN.Easing.Elastic.EaseIn=function(a){var e,c=0.1,b=0.4;if(a==0)return 0;if(a==1)return 1;b||(b=0.3);if(!c||c<1){c=1;e=b/4}else e=b/(2*Math.PI)*Math.asin(1/c);return-(c*Math.pow(2,10*(a-=1))*Math.sin((a-e)*2*Math.PI/b))};
10
- TWEEN.Easing.Elastic.EaseOut=function(a){var e,c=0.1,b=0.4;if(a==0)return 0;if(a==1)return 1;b||(b=0.3);if(!c||c<1){c=1;e=b/4}else e=b/(2*Math.PI)*Math.asin(1/c);return c*Math.pow(2,-10*a)*Math.sin((a-e)*2*Math.PI/b)+1};
11
- TWEEN.Easing.Elastic.EaseInOut=function(a){var e,c=0.1,b=0.4;if(a==0)return 0;if(a==1)return 1;b||(b=0.3);if(!c||c<1){c=1;e=b/4}else e=b/(2*Math.PI)*Math.asin(1/c);if((a*=2)<1)return-0.5*c*Math.pow(2,10*(a-=1))*Math.sin((a-e)*2*Math.PI/b);return c*Math.pow(2,-10*(a-=1))*Math.sin((a-e)*2*Math.PI/b)*0.5+1};TWEEN.Easing.Back.EaseIn=function(a){return a*a*(2.70158*a-1.70158)};TWEEN.Easing.Back.EaseOut=function(a){return(a-=1)*a*(2.70158*a+1.70158)+1};
12
- TWEEN.Easing.Back.EaseInOut=function(a){if((a*=2)<1)return 0.5*a*a*(3.5949095*a-2.5949095);return 0.5*((a-=2)*a*(3.5949095*a+2.5949095)+2)};TWEEN.Easing.Bounce.EaseIn=function(a){return 1-TWEEN.Easing.Bounce.EaseOut(1-a)};TWEEN.Easing.Bounce.EaseOut=function(a){return(a/=1)<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+0.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+0.9375:7.5625*(a-=2.625/2.75)*a+0.984375};
13
- TWEEN.Easing.Bounce.EaseInOut=function(a){if(a<0.5)return TWEEN.Easing.Bounce.EaseIn(a*2)*0.5;return TWEEN.Easing.Bounce.EaseOut(a*2-1)*0.5+0.5};