@363045841yyt/klinechart-core 0.8.6 → 0.8.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 (490) hide show
  1. package/dist/config/chartSettings.d.ts +21 -2
  2. package/dist/config/chartSettings.d.ts.map +1 -1
  3. package/dist/config/chartSettings.js +9 -1
  4. package/dist/config/chartSettings.js.map +1 -1
  5. package/dist/controllers/createChartController.d.ts.map +1 -1
  6. package/dist/controllers/createChartController.js +49 -2
  7. package/dist/controllers/createChartController.js.map +1 -1
  8. package/dist/controllers/types.d.ts +34 -23
  9. package/dist/controllers/types.d.ts.map +1 -1
  10. package/dist/data-fetchers/baostock.d.ts +0 -3
  11. package/dist/data-fetchers/baostock.d.ts.map +1 -1
  12. package/dist/data-fetchers/baostock.js +0 -1
  13. package/dist/data-fetchers/baostock.js.map +1 -1
  14. package/dist/data-fetchers/dataBuffer.d.ts +13 -2
  15. package/dist/data-fetchers/dataBuffer.d.ts.map +1 -1
  16. package/dist/data-fetchers/dataBuffer.js +41 -7
  17. package/dist/data-fetchers/dataBuffer.js.map +1 -1
  18. package/dist/data-fetchers/dataBufferTypes.d.ts +11 -0
  19. package/dist/data-fetchers/dataBufferTypes.d.ts.map +1 -0
  20. package/dist/data-fetchers/dataBufferTypes.js +2 -0
  21. package/dist/data-fetchers/dataBufferTypes.js.map +1 -0
  22. package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts +4 -3
  23. package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts.map +1 -1
  24. package/dist/data-fetchers/fetcherDefinitionRegistry.js +9 -2
  25. package/dist/data-fetchers/fetcherDefinitionRegistry.js.map +1 -1
  26. package/dist/data-fetchers/gotdx/gotdx.d.ts +7 -0
  27. package/dist/data-fetchers/gotdx/gotdx.d.ts.map +1 -0
  28. package/dist/data-fetchers/gotdx/gotdx.js +7 -0
  29. package/dist/data-fetchers/gotdx/gotdx.js.map +1 -0
  30. package/dist/data-fetchers/gotdx.d.ts +0 -8
  31. package/dist/data-fetchers/gotdx.d.ts.map +1 -1
  32. package/dist/data-fetchers/gotdx.js +40 -3
  33. package/dist/data-fetchers/gotdx.js.map +1 -1
  34. package/dist/data-fetchers/hundred-mock.d.ts +0 -3
  35. package/dist/data-fetchers/hundred-mock.d.ts.map +1 -1
  36. package/dist/data-fetchers/hundred-mock.js +0 -1
  37. package/dist/data-fetchers/hundred-mock.js.map +1 -1
  38. package/dist/data-fetchers/index.d.ts +10 -8
  39. package/dist/data-fetchers/index.d.ts.map +1 -1
  40. package/dist/data-fetchers/index.js +8 -7
  41. package/dist/data-fetchers/index.js.map +1 -1
  42. package/dist/data-fetchers/router.d.ts +2 -0
  43. package/dist/data-fetchers/router.d.ts.map +1 -1
  44. package/dist/data-fetchers/router.js +8 -1
  45. package/dist/data-fetchers/router.js.map +1 -1
  46. package/dist/data-fetchers/thousand-mock.d.ts +0 -3
  47. package/dist/data-fetchers/thousand-mock.d.ts.map +1 -1
  48. package/dist/data-fetchers/thousand-mock.js +0 -1
  49. package/dist/data-fetchers/thousand-mock.js.map +1 -1
  50. package/dist/data-fetchers/timeShareBuffer.d.ts +27 -0
  51. package/dist/data-fetchers/timeShareBuffer.d.ts.map +1 -0
  52. package/dist/data-fetchers/timeShareBuffer.js +79 -0
  53. package/dist/data-fetchers/timeShareBuffer.js.map +1 -0
  54. package/dist/data-fetchers/tradingview.d.ts +0 -8
  55. package/dist/data-fetchers/tradingview.d.ts.map +1 -1
  56. package/dist/data-fetchers/tradingview.js +1 -2
  57. package/dist/data-fetchers/tradingview.js.map +1 -1
  58. package/dist/data-fetchers/types.d.ts +9 -1
  59. package/dist/data-fetchers/types.d.ts.map +1 -1
  60. package/dist/engine/chart.d.ts +29 -1
  61. package/dist/engine/chart.d.ts.map +1 -1
  62. package/dist/engine/chart.js +140 -5
  63. package/dist/engine/chart.js.map +1 -1
  64. package/dist/engine/chartTypes.d.ts +3 -0
  65. package/dist/engine/chartTypes.d.ts.map +1 -1
  66. package/dist/engine/controller/interaction.d.ts +6 -1
  67. package/dist/engine/controller/interaction.d.ts.map +1 -1
  68. package/dist/engine/controller/interaction.js +76 -28
  69. package/dist/engine/controller/interaction.js.map +1 -1
  70. package/dist/engine/data/chartDataManager.d.ts +38 -11
  71. package/dist/engine/data/chartDataManager.d.ts.map +1 -1
  72. package/dist/engine/data/chartDataManager.js +491 -188
  73. package/dist/engine/data/chartDataManager.js.map +1 -1
  74. package/dist/engine/draw/pixelAlign.d.ts +0 -27
  75. package/dist/engine/draw/pixelAlign.d.ts.map +1 -1
  76. package/dist/engine/draw/pixelAlign.js +1 -1
  77. package/dist/engine/draw/pixelAlign.js.map +1 -1
  78. package/dist/engine/indicators/calculators.d.ts +0 -104
  79. package/dist/engine/indicators/calculators.d.ts.map +1 -1
  80. package/dist/engine/indicators/calculators.js +57 -168
  81. package/dist/engine/indicators/calculators.js.map +1 -1
  82. package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
  83. package/dist/engine/indicators/chartIndicatorManager.js +3 -2
  84. package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
  85. package/dist/engine/indicators/macdState.d.ts +0 -5
  86. package/dist/engine/indicators/macdState.d.ts.map +1 -1
  87. package/dist/engine/indicators/macdState.js +1 -1
  88. package/dist/engine/indicators/macdState.js.map +1 -1
  89. package/dist/engine/indicators/registerBuiltins.d.ts.map +1 -1
  90. package/dist/engine/indicators/registerBuiltins.js +1 -0
  91. package/dist/engine/indicators/registerBuiltins.js.map +1 -1
  92. package/dist/engine/indicators/rsiState.d.ts +0 -4
  93. package/dist/engine/indicators/rsiState.d.ts.map +1 -1
  94. package/dist/engine/indicators/rsiState.js +1 -1
  95. package/dist/engine/indicators/rsiState.js.map +1 -1
  96. package/dist/engine/indicators/scheduler.d.ts.map +1 -1
  97. package/dist/engine/indicators/scheduler.js +1 -7
  98. package/dist/engine/indicators/scheduler.js.map +1 -1
  99. package/dist/engine/layout/chartPaneLayout.d.ts +2 -0
  100. package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
  101. package/dist/engine/layout/chartPaneLayout.js +24 -6
  102. package/dist/engine/layout/chartPaneLayout.js.map +1 -1
  103. package/dist/engine/modes/kLineMode.d.ts +37 -0
  104. package/dist/engine/modes/kLineMode.d.ts.map +1 -0
  105. package/dist/engine/modes/kLineMode.js +22 -0
  106. package/dist/engine/modes/kLineMode.js.map +1 -0
  107. package/dist/engine/modes/timeShareMode.d.ts +37 -0
  108. package/dist/engine/modes/timeShareMode.d.ts.map +1 -0
  109. package/dist/engine/modes/timeShareMode.js +59 -0
  110. package/dist/engine/modes/timeShareMode.js.map +1 -0
  111. package/dist/engine/modes/types.d.ts +47 -0
  112. package/dist/engine/modes/types.d.ts.map +1 -0
  113. package/dist/engine/modes/types.js +2 -0
  114. package/dist/engine/modes/types.js.map +1 -0
  115. package/dist/engine/paneRenderer.d.ts +4 -0
  116. package/dist/engine/paneRenderer.d.ts.map +1 -1
  117. package/dist/engine/paneRenderer.js +27 -40
  118. package/dist/engine/paneRenderer.js.map +1 -1
  119. package/dist/engine/render/chartRenderer.d.ts +4 -23
  120. package/dist/engine/render/chartRenderer.d.ts.map +1 -1
  121. package/dist/engine/render/chartRenderer.js +87 -17
  122. package/dist/engine/render/chartRenderer.js.map +1 -1
  123. package/dist/engine/renderers/Indicator/atr.d.ts +1 -18
  124. package/dist/engine/renderers/Indicator/atr.d.ts.map +1 -1
  125. package/dist/engine/renderers/Indicator/atr.js +3 -22
  126. package/dist/engine/renderers/Indicator/atr.js.map +1 -1
  127. package/dist/engine/renderers/Indicator/boll.d.ts +1 -4
  128. package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
  129. package/dist/engine/renderers/Indicator/boll.js +3 -18
  130. package/dist/engine/renderers/Indicator/boll.js.map +1 -1
  131. package/dist/engine/renderers/Indicator/cci.d.ts +1 -22
  132. package/dist/engine/renderers/Indicator/cci.d.ts.map +1 -1
  133. package/dist/engine/renderers/Indicator/cci.js +8 -20
  134. package/dist/engine/renderers/Indicator/cci.js.map +1 -1
  135. package/dist/engine/renderers/Indicator/chaikinVol.d.ts +1 -7
  136. package/dist/engine/renderers/Indicator/chaikinVol.d.ts.map +1 -1
  137. package/dist/engine/renderers/Indicator/chaikinVol.js +3 -16
  138. package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
  139. package/dist/engine/renderers/Indicator/cmf.d.ts +1 -7
  140. package/dist/engine/renderers/Indicator/cmf.d.ts.map +1 -1
  141. package/dist/engine/renderers/Indicator/cmf.js +3 -15
  142. package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
  143. package/dist/engine/renderers/Indicator/dema.d.ts +1 -7
  144. package/dist/engine/renderers/Indicator/dema.d.ts.map +1 -1
  145. package/dist/engine/renderers/Indicator/dema.js +3 -17
  146. package/dist/engine/renderers/Indicator/dema.js.map +1 -1
  147. package/dist/engine/renderers/Indicator/donchian.d.ts +1 -8
  148. package/dist/engine/renderers/Indicator/donchian.d.ts.map +1 -1
  149. package/dist/engine/renderers/Indicator/donchian.js +2 -2
  150. package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
  151. package/dist/engine/renderers/Indicator/ene.d.ts +1 -12
  152. package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
  153. package/dist/engine/renderers/Indicator/ene.js +3 -18
  154. package/dist/engine/renderers/Indicator/ene.js.map +1 -1
  155. package/dist/engine/renderers/Indicator/expma.d.ts +1 -4
  156. package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
  157. package/dist/engine/renderers/Indicator/expma.js +2 -2
  158. package/dist/engine/renderers/Indicator/expma.js.map +1 -1
  159. package/dist/engine/renderers/Indicator/fastk.d.ts +1 -22
  160. package/dist/engine/renderers/Indicator/fastk.d.ts.map +1 -1
  161. package/dist/engine/renderers/Indicator/fastk.js +11 -64
  162. package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
  163. package/dist/engine/renderers/Indicator/fib.d.ts +1 -6
  164. package/dist/engine/renderers/Indicator/fib.d.ts.map +1 -1
  165. package/dist/engine/renderers/Indicator/fib.js +2 -2
  166. package/dist/engine/renderers/Indicator/fib.js.map +1 -1
  167. package/dist/engine/renderers/Indicator/hma.d.ts +1 -7
  168. package/dist/engine/renderers/Indicator/hma.d.ts.map +1 -1
  169. package/dist/engine/renderers/Indicator/hma.js +3 -17
  170. package/dist/engine/renderers/Indicator/hma.js.map +1 -1
  171. package/dist/engine/renderers/Indicator/hv.d.ts +1 -7
  172. package/dist/engine/renderers/Indicator/hv.d.ts.map +1 -1
  173. package/dist/engine/renderers/Indicator/hv.js +3 -16
  174. package/dist/engine/renderers/Indicator/hv.js.map +1 -1
  175. package/dist/engine/renderers/Indicator/ichimoku.d.ts +1 -8
  176. package/dist/engine/renderers/Indicator/ichimoku.d.ts.map +1 -1
  177. package/dist/engine/renderers/Indicator/ichimoku.js +2 -2
  178. package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
  179. package/dist/engine/renderers/Indicator/kama.d.ts +1 -7
  180. package/dist/engine/renderers/Indicator/kama.d.ts.map +1 -1
  181. package/dist/engine/renderers/Indicator/kama.js +3 -17
  182. package/dist/engine/renderers/Indicator/kama.js.map +1 -1
  183. package/dist/engine/renderers/Indicator/keltner.d.ts +1 -8
  184. package/dist/engine/renderers/Indicator/keltner.d.ts.map +1 -1
  185. package/dist/engine/renderers/Indicator/keltner.js +2 -2
  186. package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
  187. package/dist/engine/renderers/Indicator/kst.d.ts +1 -22
  188. package/dist/engine/renderers/Indicator/kst.d.ts.map +1 -1
  189. package/dist/engine/renderers/Indicator/kst.js +2 -2
  190. package/dist/engine/renderers/Indicator/kst.js.map +1 -1
  191. package/dist/engine/renderers/Indicator/ma.d.ts +1 -4
  192. package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
  193. package/dist/engine/renderers/Indicator/ma.js +1 -1
  194. package/dist/engine/renderers/Indicator/ma.js.map +1 -1
  195. package/dist/engine/renderers/Indicator/macd.d.ts +1 -49
  196. package/dist/engine/renderers/Indicator/macd.d.ts.map +1 -1
  197. package/dist/engine/renderers/Indicator/macd.js +2 -12
  198. package/dist/engine/renderers/Indicator/macd.js.map +1 -1
  199. package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
  200. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +114 -1
  201. package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
  202. package/dist/engine/renderers/Indicator/mfi.d.ts +1 -7
  203. package/dist/engine/renderers/Indicator/mfi.d.ts.map +1 -1
  204. package/dist/engine/renderers/Indicator/mfi.js +3 -15
  205. package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
  206. package/dist/engine/renderers/Indicator/mom.d.ts +1 -22
  207. package/dist/engine/renderers/Indicator/mom.d.ts.map +1 -1
  208. package/dist/engine/renderers/Indicator/mom.js +8 -23
  209. package/dist/engine/renderers/Indicator/mom.js.map +1 -1
  210. package/dist/engine/renderers/Indicator/obv.d.ts +1 -7
  211. package/dist/engine/renderers/Indicator/obv.d.ts.map +1 -1
  212. package/dist/engine/renderers/Indicator/obv.js +3 -14
  213. package/dist/engine/renderers/Indicator/obv.js.map +1 -1
  214. package/dist/engine/renderers/Indicator/parkinson.d.ts +1 -7
  215. package/dist/engine/renderers/Indicator/parkinson.d.ts.map +1 -1
  216. package/dist/engine/renderers/Indicator/parkinson.js +3 -16
  217. package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
  218. package/dist/engine/renderers/Indicator/pivot.d.ts +1 -6
  219. package/dist/engine/renderers/Indicator/pivot.d.ts.map +1 -1
  220. package/dist/engine/renderers/Indicator/pivot.js +2 -2
  221. package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
  222. package/dist/engine/renderers/Indicator/pvt.d.ts +1 -7
  223. package/dist/engine/renderers/Indicator/pvt.d.ts.map +1 -1
  224. package/dist/engine/renderers/Indicator/pvt.js +3 -14
  225. package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
  226. package/dist/engine/renderers/Indicator/roc.d.ts +1 -8
  227. package/dist/engine/renderers/Indicator/roc.d.ts.map +1 -1
  228. package/dist/engine/renderers/Indicator/roc.js +3 -15
  229. package/dist/engine/renderers/Indicator/roc.js.map +1 -1
  230. package/dist/engine/renderers/Indicator/rsi.d.ts +0 -32
  231. package/dist/engine/renderers/Indicator/rsi.d.ts.map +1 -1
  232. package/dist/engine/renderers/Indicator/rsi.js +3 -3
  233. package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
  234. package/dist/engine/renderers/Indicator/sar.d.ts +1 -8
  235. package/dist/engine/renderers/Indicator/sar.d.ts.map +1 -1
  236. package/dist/engine/renderers/Indicator/sar.js +2 -2
  237. package/dist/engine/renderers/Indicator/sar.js.map +1 -1
  238. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts +2 -0
  239. package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
  240. package/dist/engine/renderers/Indicator/scale/indicator_scale.js +10 -6
  241. package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
  242. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts +4 -0
  243. package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts.map +1 -0
  244. package/dist/engine/renderers/Indicator/shared/dashedLines.js +50 -0
  245. package/dist/engine/renderers/Indicator/shared/dashedLines.js.map +1 -0
  246. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts +14 -0
  247. package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts.map +1 -0
  248. package/dist/engine/renderers/Indicator/shared/titleInfo.js +25 -0
  249. package/dist/engine/renderers/Indicator/shared/titleInfo.js.map +1 -0
  250. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts +5 -0
  251. package/dist/engine/renderers/Indicator/shared/webglBand.d.ts.map +1 -0
  252. package/dist/engine/renderers/Indicator/shared/webglBand.js +17 -0
  253. package/dist/engine/renderers/Indicator/shared/webglBand.js.map +1 -0
  254. package/dist/engine/renderers/Indicator/stoch.d.ts +1 -22
  255. package/dist/engine/renderers/Indicator/stoch.d.ts.map +1 -1
  256. package/dist/engine/renderers/Indicator/stoch.js +5 -46
  257. package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
  258. package/dist/engine/renderers/Indicator/structure.d.ts +1 -7
  259. package/dist/engine/renderers/Indicator/structure.d.ts.map +1 -1
  260. package/dist/engine/renderers/Indicator/structure.js +2 -2
  261. package/dist/engine/renderers/Indicator/structure.js.map +1 -1
  262. package/dist/engine/renderers/Indicator/supertrend.d.ts +1 -8
  263. package/dist/engine/renderers/Indicator/supertrend.d.ts.map +1 -1
  264. package/dist/engine/renderers/Indicator/supertrend.js +2 -2
  265. package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
  266. package/dist/engine/renderers/Indicator/tema.d.ts +1 -7
  267. package/dist/engine/renderers/Indicator/tema.d.ts.map +1 -1
  268. package/dist/engine/renderers/Indicator/tema.js +3 -17
  269. package/dist/engine/renderers/Indicator/tema.js.map +1 -1
  270. package/dist/engine/renderers/Indicator/trix.d.ts +1 -8
  271. package/dist/engine/renderers/Indicator/trix.d.ts.map +1 -1
  272. package/dist/engine/renderers/Indicator/trix.js +2 -2
  273. package/dist/engine/renderers/Indicator/trix.js.map +1 -1
  274. package/dist/engine/renderers/Indicator/vma.d.ts +1 -7
  275. package/dist/engine/renderers/Indicator/vma.d.ts.map +1 -1
  276. package/dist/engine/renderers/Indicator/vma.js +3 -15
  277. package/dist/engine/renderers/Indicator/vma.js.map +1 -1
  278. package/dist/engine/renderers/Indicator/volumeProfile.d.ts +1 -7
  279. package/dist/engine/renderers/Indicator/volumeProfile.d.ts.map +1 -1
  280. package/dist/engine/renderers/Indicator/volumeProfile.js +2 -2
  281. package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
  282. package/dist/engine/renderers/Indicator/vwap.d.ts +1 -7
  283. package/dist/engine/renderers/Indicator/vwap.d.ts.map +1 -1
  284. package/dist/engine/renderers/Indicator/vwap.js +3 -14
  285. package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
  286. package/dist/engine/renderers/Indicator/wma.d.ts +1 -7
  287. package/dist/engine/renderers/Indicator/wma.d.ts.map +1 -1
  288. package/dist/engine/renderers/Indicator/wma.js +3 -17
  289. package/dist/engine/renderers/Indicator/wma.js.map +1 -1
  290. package/dist/engine/renderers/Indicator/wmsr.d.ts +1 -22
  291. package/dist/engine/renderers/Indicator/wmsr.d.ts.map +1 -1
  292. package/dist/engine/renderers/Indicator/wmsr.js +8 -23
  293. package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
  294. package/dist/engine/renderers/Indicator/zones.d.ts +1 -6
  295. package/dist/engine/renderers/Indicator/zones.d.ts.map +1 -1
  296. package/dist/engine/renderers/Indicator/zones.js +2 -2
  297. package/dist/engine/renderers/Indicator/zones.js.map +1 -1
  298. package/dist/engine/renderers/candle.d.ts +0 -16
  299. package/dist/engine/renderers/candle.d.ts.map +1 -1
  300. package/dist/engine/renderers/candle.js +1 -1
  301. package/dist/engine/renderers/candle.js.map +1 -1
  302. package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
  303. package/dist/engine/renderers/comparisonLine.js +2 -0
  304. package/dist/engine/renderers/comparisonLine.js.map +1 -1
  305. package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
  306. package/dist/engine/renderers/extremaMarkers.js +2 -0
  307. package/dist/engine/renderers/extremaMarkers.js.map +1 -1
  308. package/dist/engine/renderers/lastPrice.d.ts.map +1 -1
  309. package/dist/engine/renderers/lastPrice.js +7 -2
  310. package/dist/engine/renderers/lastPrice.js.map +1 -1
  311. package/dist/engine/renderers/leftYAxis.d.ts +11 -0
  312. package/dist/engine/renderers/leftYAxis.d.ts.map +1 -0
  313. package/dist/engine/renderers/leftYAxis.js +67 -0
  314. package/dist/engine/renderers/leftYAxis.js.map +1 -0
  315. package/dist/engine/renderers/subVolume.d.ts +1 -13
  316. package/dist/engine/renderers/subVolume.d.ts.map +1 -1
  317. package/dist/engine/renderers/subVolume.js +1 -1
  318. package/dist/engine/renderers/subVolume.js.map +1 -1
  319. package/dist/engine/renderers/timeAxis.d.ts +0 -2
  320. package/dist/engine/renderers/timeAxis.d.ts.map +1 -1
  321. package/dist/engine/renderers/timeAxis.js +4 -1
  322. package/dist/engine/renderers/timeAxis.js.map +1 -1
  323. package/dist/engine/renderers/timeShare.d.ts +3 -0
  324. package/dist/engine/renderers/timeShare.d.ts.map +1 -0
  325. package/dist/engine/renderers/timeShare.js +260 -0
  326. package/dist/engine/renderers/timeShare.js.map +1 -0
  327. package/dist/engine/renderers/yAxis.d.ts.map +1 -1
  328. package/dist/engine/renderers/yAxis.js +9 -1
  329. package/dist/engine/renderers/yAxis.js.map +1 -1
  330. package/dist/engine/scale/price.d.ts +0 -7
  331. package/dist/engine/scale/price.d.ts.map +1 -1
  332. package/dist/engine/scale/price.js +3 -2
  333. package/dist/engine/scale/price.js.map +1 -1
  334. package/dist/engine/theme/fonts.d.ts +0 -2
  335. package/dist/engine/theme/fonts.d.ts.map +1 -1
  336. package/dist/engine/theme/fonts.js +1 -1
  337. package/dist/engine/theme/fonts.js.map +1 -1
  338. package/dist/engine/utils/klineConfig.d.ts.map +1 -1
  339. package/dist/engine/utils/klineConfig.js +1 -5
  340. package/dist/engine/utils/klineConfig.js.map +1 -1
  341. package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
  342. package/dist/engine/viewport/chartViewportManager.js +6 -5
  343. package/dist/engine/viewport/chartViewportManager.js.map +1 -1
  344. package/dist/plugin/types.d.ts +1 -0
  345. package/dist/plugin/types.d.ts.map +1 -1
  346. package/dist/plugin/types.js.map +1 -1
  347. package/dist/semantic/types.d.ts +1 -1
  348. package/dist/semantic/types.d.ts.map +1 -1
  349. package/dist/tokens/theme-base.d.ts +5 -0
  350. package/dist/tokens/theme-base.d.ts.map +1 -0
  351. package/dist/tokens/theme-base.js +31 -0
  352. package/dist/tokens/theme-base.js.map +1 -0
  353. package/dist/tokens/theme-china.d.ts.map +1 -1
  354. package/dist/tokens/theme-china.js +3 -0
  355. package/dist/tokens/theme-china.js.map +1 -1
  356. package/dist/tokens/theme-dark.d.ts.map +1 -1
  357. package/dist/tokens/theme-dark.js +11 -30
  358. package/dist/tokens/theme-dark.js.map +1 -1
  359. package/dist/tokens/theme-light.d.ts.map +1 -1
  360. package/dist/tokens/theme-light.js +11 -30
  361. package/dist/tokens/theme-light.js.map +1 -1
  362. package/dist/tokens/types.d.ts +7 -0
  363. package/dist/tokens/types.d.ts.map +1 -1
  364. package/dist/types/price.d.ts +8 -0
  365. package/dist/types/price.d.ts.map +1 -1
  366. package/dist/types/price.js +4 -0
  367. package/dist/types/price.js.map +1 -1
  368. package/dist/utils/dateFormat.d.ts +5 -42
  369. package/dist/utils/dateFormat.d.ts.map +1 -1
  370. package/dist/utils/dateFormat.js +24 -4
  371. package/dist/utils/dateFormat.js.map +1 -1
  372. package/dist/utils/kLineDraw/axis.d.ts +9 -28
  373. package/dist/utils/kLineDraw/axis.d.ts.map +1 -1
  374. package/dist/utils/kLineDraw/axis.js +33 -58
  375. package/dist/utils/kLineDraw/axis.js.map +1 -1
  376. package/dist/utils/volumePrice.d.ts +0 -40
  377. package/dist/utils/volumePrice.d.ts.map +1 -1
  378. package/dist/utils/volumePrice.js +2 -2
  379. package/dist/utils/volumePrice.js.map +1 -1
  380. package/dist/version.d.ts +1 -1
  381. package/dist/version.js +1 -1
  382. package/package.json +1 -1
  383. package/src/config/chartSettings.ts +9 -1
  384. package/src/controllers/createChartController.ts +52 -2
  385. package/src/controllers/types.ts +36 -17
  386. package/src/data-fetchers/__tests__/dataBuffer.test.ts +39 -5
  387. package/src/data-fetchers/baostock.ts +1 -1
  388. package/src/data-fetchers/dataBuffer.ts +48 -11
  389. package/src/data-fetchers/dataBufferTypes.ts +11 -0
  390. package/src/data-fetchers/fetcherDefinitionRegistry.ts +14 -4
  391. package/src/data-fetchers/gotdx/gotdx.ts +6 -0
  392. package/src/data-fetchers/gotdx.ts +45 -7
  393. package/src/data-fetchers/hundred-mock.ts +1 -1
  394. package/src/data-fetchers/index.ts +10 -20
  395. package/src/data-fetchers/router.ts +12 -1
  396. package/src/data-fetchers/thousand-mock.ts +1 -1
  397. package/src/data-fetchers/timeShareBuffer.ts +92 -0
  398. package/src/data-fetchers/tradingview.ts +2 -2
  399. package/src/data-fetchers/types.ts +15 -2
  400. package/src/engine/__tests__/chart.dpr.test.ts +1 -0
  401. package/src/engine/chart.ts +157 -7
  402. package/src/engine/chartTypes.ts +3 -0
  403. package/src/engine/controller/__tests__/interaction.dpr.test.ts +2 -0
  404. package/src/engine/controller/interaction.ts +80 -28
  405. package/src/engine/data/chartDataManager.ts +557 -214
  406. package/src/engine/draw/pixelAlign.ts +1 -1
  407. package/src/engine/indicators/__tests__/_propertyAssertions.ts +2 -2
  408. package/src/engine/indicators/__tests__/registerBuiltins.test.ts +1 -1
  409. package/src/engine/indicators/calculators.ts +83 -233
  410. package/src/engine/indicators/chartIndicatorManager.ts +3 -2
  411. package/src/engine/indicators/macdState.ts +1 -1
  412. package/src/engine/indicators/registerBuiltins.ts +1 -0
  413. package/src/engine/indicators/rsiState.ts +1 -1
  414. package/src/engine/indicators/scheduler.ts +1 -7
  415. package/src/engine/layout/chartPaneLayout.ts +26 -6
  416. package/src/engine/modes/kLineMode.ts +57 -0
  417. package/src/engine/modes/timeShareMode.ts +95 -0
  418. package/src/engine/modes/types.ts +63 -0
  419. package/src/engine/paneRenderer.ts +37 -46
  420. package/src/engine/render/chartRenderer.ts +93 -20
  421. package/src/engine/renderers/Indicator/atr.ts +4 -29
  422. package/src/engine/renderers/Indicator/boll.ts +3 -24
  423. package/src/engine/renderers/Indicator/cci.ts +9 -27
  424. package/src/engine/renderers/Indicator/chaikinVol.ts +3 -23
  425. package/src/engine/renderers/Indicator/cmf.ts +3 -22
  426. package/src/engine/renderers/Indicator/dema.ts +5 -26
  427. package/src/engine/renderers/Indicator/donchian.ts +3 -3
  428. package/src/engine/renderers/Indicator/ene.ts +3 -24
  429. package/src/engine/renderers/Indicator/expma.ts +2 -2
  430. package/src/engine/renderers/Indicator/fastk.ts +12 -95
  431. package/src/engine/renderers/Indicator/fib.ts +2 -2
  432. package/src/engine/renderers/Indicator/hma.ts +5 -26
  433. package/src/engine/renderers/Indicator/hv.ts +3 -23
  434. package/src/engine/renderers/Indicator/ichimoku.ts +3 -3
  435. package/src/engine/renderers/Indicator/kama.ts +5 -26
  436. package/src/engine/renderers/Indicator/keltner.ts +3 -3
  437. package/src/engine/renderers/Indicator/kst.ts +3 -3
  438. package/src/engine/renderers/Indicator/ma.ts +1 -1
  439. package/src/engine/renderers/Indicator/macd.ts +4 -21
  440. package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +127 -2
  441. package/src/engine/renderers/Indicator/mfi.ts +3 -22
  442. package/src/engine/renderers/Indicator/mom.ts +9 -30
  443. package/src/engine/renderers/Indicator/obv.ts +3 -21
  444. package/src/engine/renderers/Indicator/parkinson.ts +3 -23
  445. package/src/engine/renderers/Indicator/pivot.ts +2 -2
  446. package/src/engine/renderers/Indicator/pvt.ts +3 -21
  447. package/src/engine/renderers/Indicator/roc.ts +4 -23
  448. package/src/engine/renderers/Indicator/rsi.ts +4 -4
  449. package/src/engine/renderers/Indicator/sar.ts +3 -3
  450. package/src/engine/renderers/Indicator/scale/indicator_scale.ts +11 -4
  451. package/src/engine/renderers/Indicator/shared/dashedLines.ts +81 -0
  452. package/src/engine/renderers/Indicator/shared/titleInfo.ts +52 -0
  453. package/src/engine/renderers/Indicator/shared/webglBand.ts +23 -0
  454. package/src/engine/renderers/Indicator/stoch.ts +6 -71
  455. package/src/engine/renderers/Indicator/structure.ts +2 -2
  456. package/src/engine/renderers/Indicator/supertrend.ts +3 -3
  457. package/src/engine/renderers/Indicator/tema.ts +5 -26
  458. package/src/engine/renderers/Indicator/trix.ts +3 -3
  459. package/src/engine/renderers/Indicator/vma.ts +3 -22
  460. package/src/engine/renderers/Indicator/volumeProfile.ts +2 -2
  461. package/src/engine/renderers/Indicator/vwap.ts +3 -21
  462. package/src/engine/renderers/Indicator/wma.ts +5 -26
  463. package/src/engine/renderers/Indicator/wmsr.ts +9 -30
  464. package/src/engine/renderers/Indicator/zones.ts +2 -2
  465. package/src/engine/renderers/candle.ts +1 -1
  466. package/src/engine/renderers/comparisonLine.ts +1 -0
  467. package/src/engine/renderers/extremaMarkers.ts +1 -0
  468. package/src/engine/renderers/lastPrice.ts +5 -2
  469. package/src/engine/renderers/leftYAxis.ts +77 -0
  470. package/src/engine/renderers/subVolume.ts +3 -3
  471. package/src/engine/renderers/timeAxis.ts +16 -13
  472. package/src/engine/renderers/timeShare.ts +271 -0
  473. package/src/engine/renderers/yAxis.ts +9 -1
  474. package/src/engine/scale/price.ts +2 -2
  475. package/src/engine/theme/fonts.ts +1 -1
  476. package/src/engine/utils/klineConfig.ts +1 -5
  477. package/src/engine/viewport/chartViewportManager.ts +6 -5
  478. package/src/plugin/types.ts +1 -0
  479. package/src/semantic/types.ts +1 -1
  480. package/src/tokens/__tests__/__snapshots__/baseline.test.ts.snap +14 -0
  481. package/src/tokens/theme-base.ts +36 -0
  482. package/src/tokens/theme-china.ts +4 -0
  483. package/src/tokens/theme-dark.ts +12 -32
  484. package/src/tokens/theme-light.ts +13 -33
  485. package/src/tokens/types.ts +9 -0
  486. package/src/types/price.ts +13 -0
  487. package/src/utils/dateFormat.ts +27 -4
  488. package/src/utils/kLineDraw/axis.ts +40 -107
  489. package/src/utils/volumePrice.ts +2 -2
  490. package/src/version.ts +1 -1
@@ -0,0 +1,79 @@
1
+ import { createSignal } from '../reactivity/signal';
2
+ import { routerTimeShareFetcher } from './router';
3
+ export class TimeShareBuffer {
4
+ _data = [];
5
+ _dataSignal = createSignal([]);
6
+ _loadingSignal = createSignal(false);
7
+ _fetcher = null;
8
+ _queryDate = 0;
9
+ _requestSeq = 0;
10
+ _disposed = false;
11
+ get data() {
12
+ return this._dataSignal;
13
+ }
14
+ get loading() {
15
+ return this._loadingSignal;
16
+ }
17
+ get loadedWindow() {
18
+ if (this._data.length === 0)
19
+ return null;
20
+ return {
21
+ earliestTs: this._data[0].timestamp,
22
+ latestTs: this._data[this._data.length - 1].timestamp,
23
+ };
24
+ }
25
+ getRawData() {
26
+ return this._data;
27
+ }
28
+ setFetcher(fetcher) {
29
+ this._fetcher = fetcher;
30
+ }
31
+ setQueryDate(date) {
32
+ this._queryDate = date;
33
+ }
34
+ getFetcher() {
35
+ return this._fetcher;
36
+ }
37
+ getQueryDate() {
38
+ return this._queryDate;
39
+ }
40
+ async load(spec) {
41
+ if (this._disposed)
42
+ return;
43
+ const fetcher = this._fetcher ?? routerTimeShareFetcher;
44
+ const requestSeq = ++this._requestSeq;
45
+ this._loadingSignal.set(true);
46
+ try {
47
+ const data = await fetcher(spec.source ?? 'gotdx', {
48
+ symbol: spec.symbol,
49
+ exchange: spec.exchange,
50
+ date: this._queryDate || undefined,
51
+ });
52
+ this._queryDate = 0;
53
+ if (requestSeq !== this._requestSeq)
54
+ return;
55
+ if (this._disposed)
56
+ return;
57
+ this._data = [...data];
58
+ this._dataSignal.set([...data]);
59
+ }
60
+ finally {
61
+ if (requestSeq === this._requestSeq) {
62
+ this._loadingSignal.set(false);
63
+ }
64
+ }
65
+ }
66
+ setInlineData(data) {
67
+ if (this._disposed)
68
+ return;
69
+ this._data = data;
70
+ this._dataSignal.set([...data]);
71
+ }
72
+ dispose() {
73
+ this._disposed = true;
74
+ this._requestSeq++;
75
+ this._data = [];
76
+ this._loadingSignal.set(false);
77
+ }
78
+ }
79
+ //# sourceMappingURL=timeShareBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeShareBuffer.js","sourceRoot":"","sources":["../../src/data-fetchers/timeShareBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,2 @@
1
- import type { KLineData } from '../controllers/types';
2
- import type { FetchConfig } from './types';
3
- declare function fetchTradingview(_source: string, config: FetchConfig): Promise<ReadonlyArray<KLineData>>;
4
- export declare class TradingviewFetcher {
5
- static fetcher: typeof fetchTradingview;
6
- }
7
- /** @deprecated Use `TradingviewFetcher.fetcher` directly or rely on routerDataFetcher. */
8
- export declare const tradingviewDataFetcher: typeof fetchTradingview;
9
1
  export {};
10
2
  //# sourceMappingURL=tradingview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tradingview.d.ts","sourceRoot":"","sources":["../../src/data-fetchers/tradingview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAoB1C,iBAAe,gBAAgB,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAkCnC;AAED,qBAOa,kBAAkB;IAC7B,MAAM,CAAC,OAAO,0BAAmB;CAClC;AAED,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,yBAAmB,CAAA"}
1
+ {"version":3,"file":"tradingview.d.ts","sourceRoot":"","sources":["../../src/data-fetchers/tradingview.ts"],"names":[],"mappings":""}
@@ -110,7 +110,6 @@ let TradingviewFetcher = (() => {
110
110
  };
111
111
  return TradingviewFetcher = _classThis;
112
112
  })();
113
- export { TradingviewFetcher };
114
113
  /** @deprecated Use `TradingviewFetcher.fetcher` directly or rely on routerDataFetcher. */
115
- export const tradingviewDataFetcher = fetchTradingview;
114
+ const tradingviewDataFetcher = fetchTradingview;
116
115
  //# sourceMappingURL=tradingview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tradingview.js","sourceRoot":"","sources":["../../src/data-fetchers/tradingview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradingview.js","sourceRoot":"","sources":["../../src/data-fetchers/tradingview.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { KLineData } from '../controllers/types';
1
+ import type { KLineData, TimeShareData } from '../controllers/types';
2
2
  export type FetchConfig = {
3
3
  symbol: string;
4
4
  startDate: string;
@@ -7,7 +7,14 @@ export type FetchConfig = {
7
7
  adjust: string;
8
8
  exchange?: string;
9
9
  };
10
+ export type TimeShareFetchConfig = {
11
+ symbol: string;
12
+ exchange?: string;
13
+ /** YYYYMMDD format query date, e.g. 20260618 */
14
+ date?: number;
15
+ };
10
16
  export type DataFetcherFn = (source: string, config: FetchConfig) => Promise<ReadonlyArray<KLineData>>;
17
+ export type TimeShareFetcherFn = (source: string, config: TimeShareFetchConfig) => Promise<ReadonlyArray<TimeShareData>>;
11
18
  export interface DataFetcherDefinitionConfig {
12
19
  name: string;
13
20
  displayName: string;
@@ -17,5 +24,6 @@ export interface DataFetcherDefinitionConfig {
17
24
  }
18
25
  export interface DataFetcherDefinition extends DataFetcherDefinitionConfig {
19
26
  fetcher: DataFetcherFn;
27
+ timeShareFetcher?: TimeShareFetcherFn;
20
28
  }
21
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/data-fetchers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;AAEtC,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,2BAA2B;IACxE,OAAO,EAAE,aAAa,CAAA;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/data-fetchers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;AAEtC,MAAM,MAAM,kBAAkB,GAAG,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,KACzB,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAA;AAE1C,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,2BAA2B;IACxE,OAAO,EAAE,aAAa,CAAA;IACtB,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC"}
@@ -1,7 +1,7 @@
1
1
  import type { KLineData } from '../types/price';
2
2
  import type { ChartSettings } from '../config/chartSettings';
3
3
  import { type Signal, type Computed } from '../reactivity/signal';
4
- import type { SymbolSpec } from '../controllers/types';
4
+ import type { SymbolSpec, CustomDataSource } from '../controllers/types';
5
5
  import { UpdateLevel } from './layout/pane';
6
6
  import { InteractionController, type InteractionSnapshot } from './controller/interaction';
7
7
  export type { InteractionSnapshot };
@@ -11,6 +11,7 @@ import type { MarkerManager, CustomMarkerEntity } from './marker/registry';
11
11
  import { getPhysicalKLineConfig } from './utils/klineConfig';
12
12
  import type { IndicatorScheduler } from './indicators/scheduler';
13
13
  import type { SubPaneEntry } from './subPaneManager';
14
+ import type { ChartModeHandler } from './modes/types';
14
15
  import { type PluginHostImpl, type RendererPlugin, type RendererPluginWithHost } from '../plugin';
15
16
  import type { SubIndicatorType } from './renderers/Indicator';
16
17
  export { getPhysicalKLineConfig };
@@ -39,6 +40,16 @@ export declare class Chart {
39
40
  private indicatorManager;
40
41
  /** 渲染器 */
41
42
  private renderer;
43
+ /** 当前活跃的模式处理器 */
44
+ private _activeMode;
45
+ private _kLineMode;
46
+ private _timeShareMode;
47
+ /** 模式切换时保存的渲染状态(退出分时时恢复) */
48
+ private _modeSavedKWidth;
49
+ private _modeSavedKGap;
50
+ private _modeSavedZoomLevel;
51
+ /** 分时模式激活前的 pane Y 轴刻度类型(退出分时时恢复) */
52
+ private _savedScaleTypes;
42
53
  /**
43
54
  * 启用主图指标
44
55
  * @param indicatorId 指标ID
@@ -64,9 +75,17 @@ export declare class Chart {
64
75
  */
65
76
  constructor(dom: ChartDom, opt: ChartOptions);
66
77
  getViewport(): Viewport | null;
78
+ /** 获取当前活跃的模式处理器 */
79
+ get activeMode(): ChartModeHandler;
80
+ /** 切换模式处理器 */
81
+ setActiveMode(mode: ChartModeHandler): void;
67
82
  getCurrentDpr(): number;
83
+ /** 获取当前周期 */
84
+ get currentPeriod(): string;
68
85
  /** 获取缓存的 scrollLeft(避免读取 DOM 触发强制回流) */
69
86
  getCachedScrollLeft(): number;
87
+ /** 同步程序性 scrollLeft 写入后的缓存,避免等待异步 scroll 事件 */
88
+ syncScrollLeft(scrollLeft: number): void;
70
89
  /** 获取逻辑 scrollLeft(减去左侧加载缓冲宽度,可为负值) */
71
90
  getLogicalScrollLeft(): number;
72
91
  /** 获取插件宿主 */
@@ -163,6 +182,8 @@ export declare class Chart {
163
182
  updateData(data: KLineData[]): void;
164
183
  /** 获取当前数据源(供 renderers 和 interaction 使用) */
165
184
  getData(): KLineData[];
185
+ /** 获取渲染数据源(分时图下为 TimeShareData,K线图为 KLineData) */
186
+ getRenderData(): unknown[];
166
187
  /** 获取指标调度器(供外部控制器更新指标配置) */
167
188
  getIndicatorScheduler(): IndicatorScheduler;
168
189
  getLogicalSlotCount(): number;
@@ -195,6 +216,8 @@ export declare class Chart {
195
216
  get viewport(): Signal<ViewportState>;
196
217
  /** 数据信号 */
197
218
  get data(): Signal<ReadonlyArray<KLineData>>;
219
+ /** 加载信号 */
220
+ get loading(): Signal<boolean>;
198
221
  /** 符号信号 */
199
222
  get symbols(): Signal<ReadonlyArray<SymbolSpec>>;
200
223
  /** 比较商品颜色信号 */
@@ -224,6 +247,11 @@ export declare class Chart {
224
247
  setSymbols(specs: ReadonlyArray<SymbolSpec>): void;
225
248
  addComparisonSymbol(spec: SymbolSpec): void;
226
249
  removeComparisonSymbol(symbol: string): void;
250
+ setComparisonData(symbol: string, data: KLineData[]): void;
251
+ setCurrentSymbol(symbol: string): void;
252
+ setCurrentPeriod(period: string): void;
253
+ switchToTimeShareForDate(dateYYYYMMDD: number): void;
254
+ applyCustomData(source: CustomDataSource): void;
227
255
  /**
228
256
  * 设置主题(高层 API)
229
257
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/engine/chart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/engine/chart.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ import { ChartZoomController } from './utils/chartZoomController';
9
9
  import { ChartViewportManager } from './viewport/chartViewportManager';
10
10
  import { ChartIndicatorManager } from './indicators/chartIndicatorManager';
11
11
  import { ChartRenderer } from './render/chartRenderer';
12
+ import { KLineMode } from './modes/kLineMode';
13
+ import { TimeShareMode } from './modes/timeShareMode';
12
14
  import { createPluginHost, RendererPluginManager, wrapPaneInfo, } from '../plugin';
13
15
  // 重新导出以保持向后兼容
14
16
  export { getPhysicalKLineConfig };
@@ -34,6 +36,16 @@ export class Chart {
34
36
  indicatorManager;
35
37
  /** 渲染器 */
36
38
  renderer;
39
+ /** 当前活跃的模式处理器 */
40
+ _activeMode;
41
+ _kLineMode = new KLineMode();
42
+ _timeShareMode = new TimeShareMode();
43
+ /** 模式切换时保存的渲染状态(退出分时时恢复) */
44
+ _modeSavedKWidth = 0;
45
+ _modeSavedKGap = 0;
46
+ _modeSavedZoomLevel = 0;
47
+ /** 分时模式激活前的 pane Y 轴刻度类型(退出分时时恢复) */
48
+ _savedScaleTypes;
37
49
  /**
38
50
  * 启用主图指标
39
51
  * @param indicatorId 指标ID
@@ -80,6 +92,7 @@ export class Chart {
80
92
  const { kWidth: _kWidth, kGap: _kGap, ...restOpt } = opt;
81
93
  // Chart 不持有业务 SSOT,kWidth/kGap/zoomLevel 由外部通过 applyRenderState() 传入
82
94
  this.opt = { ...restOpt, kWidth: _kWidth ?? 0, kGap: _kGap ?? 0 };
95
+ this._activeMode = this._kLineMode;
83
96
  this.interaction = new InteractionController(this);
84
97
  this.interaction.setOnInteractionChange((snapshot) => {
85
98
  this._interactionSignal.set(snapshot);
@@ -106,6 +119,7 @@ export class Chart {
106
119
  getDom: () => this.dom,
107
120
  getOption: () => ({
108
121
  rightAxisWidth: this.opt.rightAxisWidth,
122
+ leftAxisWidth: this.opt.leftAxisWidth,
109
123
  yPaddingPx: this.opt.yPaddingPx,
110
124
  priceLabelWidth: this.opt.priceLabelWidth,
111
125
  paneGap: this.opt.paneGap,
@@ -137,6 +151,21 @@ export class Chart {
137
151
  getIndicatorScheduler: () => this.indicatorManager.indicatorSchedulerAccessor,
138
152
  setPendingIndicatorDataUpdate: (v) => { this.dataManager.pendingIndicatorDataUpdate = v; },
139
153
  isPointerDown: () => this.interaction.isPointerDown(),
154
+ onTimeShareDataReady: (dataLength) => {
155
+ const vp = this.viewportManager.computeViewport();
156
+ if (!vp || vp.plotWidth <= 0)
157
+ return;
158
+ const result = this._activeMode.computeKWidth(dataLength, vp.plotWidth, vp.dpr);
159
+ if (result) {
160
+ this.applyRenderState(result.kWidth, result.kGap);
161
+ const container = this.dom.container;
162
+ if (container) {
163
+ const leftBuffer = this.dataManager.getLeftLoadBufferWidth();
164
+ this.viewportManager.setScrollLeft(leftBuffer);
165
+ this.viewportManager.applyPendingScrollLeft(container);
166
+ }
167
+ }
168
+ },
140
169
  });
141
170
  this.zoomController = new ChartZoomController({
142
171
  getLogicalScrollLeft: () => this.viewportManager.getLogicalScrollLeft(),
@@ -196,6 +225,7 @@ export class Chart {
196
225
  getViewportManager: () => this.viewportManager,
197
226
  getDataManager: () => this.dataManager,
198
227
  getIndicatorManager: () => this.indicatorManager,
228
+ getActiveMode: () => this._activeMode,
199
229
  });
200
230
  this.renderer.registerDrawingPlugins();
201
231
  this.renderer.initCoreRenderers();
@@ -204,13 +234,56 @@ export class Chart {
204
234
  getViewport() {
205
235
  return this.viewportManager.getViewport();
206
236
  }
237
+ /** 获取当前活跃的模式处理器 */
238
+ get activeMode() {
239
+ return this._activeMode;
240
+ }
241
+ /** 切换模式处理器 */
242
+ setActiveMode(mode) {
243
+ if (this._activeMode === mode)
244
+ return;
245
+ const prev = this._activeMode;
246
+ if (mode === this._timeShareMode) {
247
+ this._modeSavedKWidth = this.opt.kWidth;
248
+ this._modeSavedKGap = this.opt.kGap;
249
+ this._modeSavedZoomLevel = this.zoomController.currentZoomLevel;
250
+ this._savedScaleTypes = new Map();
251
+ for (const r of this.paneRenderers) {
252
+ this._savedScaleTypes.set(r.getPane().id, r.getPane().yAxis.getScaleType());
253
+ }
254
+ }
255
+ else if (prev === this._timeShareMode) {
256
+ for (const renderer of this.paneRenderers) {
257
+ const p = renderer.getPane();
258
+ const saved = this._savedScaleTypes?.get(p.id) ?? 'linear';
259
+ p.yAxis.setScaleType(saved);
260
+ p.yAxis.setBasePrice(null);
261
+ }
262
+ this._savedScaleTypes = undefined;
263
+ }
264
+ if (this._modeSavedKWidth > 0 && mode !== this._timeShareMode) {
265
+ this.applyRenderState(this._modeSavedKWidth, this._modeSavedKGap, this._modeSavedZoomLevel);
266
+ this._modeSavedKWidth = 0;
267
+ }
268
+ prev.onDeactivate({ enableMainIndicator: (id, p) => this.enableMainIndicator(id, p), disableMainIndicator: (id) => this.disableMainIndicator(id), setRendererEnabled: (n, e) => this.setRendererEnabled(n, e), dataManager: this.dataManager }, mode);
269
+ this._activeMode = mode;
270
+ this._activeMode.onActivate({ enableMainIndicator: (id, p) => this.enableMainIndicator(id, p), disableMainIndicator: (id) => this.disableMainIndicator(id), setRendererEnabled: (n, e) => this.setRendererEnabled(n, e), dataManager: this.dataManager, currentPeriod: this.dataManager.currentPeriod }, prev);
271
+ }
207
272
  getCurrentDpr() {
208
273
  return this.viewportManager.getEffectiveDpr();
209
274
  }
275
+ /** 获取当前周期 */
276
+ get currentPeriod() {
277
+ return this.dataManager.currentPeriod;
278
+ }
210
279
  /** 获取缓存的 scrollLeft(避免读取 DOM 触发强制回流) */
211
280
  getCachedScrollLeft() {
212
281
  return this.viewportManager.getCachedScrollLeft();
213
282
  }
283
+ /** 同步程序性 scrollLeft 写入后的缓存,避免等待异步 scroll 事件 */
284
+ syncScrollLeft(scrollLeft) {
285
+ this.viewportManager.setCachedScrollLeft(scrollLeft);
286
+ }
214
287
  /** 获取逻辑 scrollLeft(减去左侧加载缓冲宽度,可为负值) */
215
288
  getLogicalScrollLeft() {
216
289
  return this.viewportManager.getLogicalScrollLeft();
@@ -251,11 +324,10 @@ export class Chart {
251
324
  updateSettings(settings) {
252
325
  this.renderer.updateSettings(settings);
253
326
  this.interaction.updateSettings(settings);
254
- // 同步刻度类型设置到所有 pane(百分比仅用于主图)
255
- if ('axisType' in settings) {
256
- const axisType = settings.axisType ?? 'linear';
257
- const currentType = this.paneRenderers[0]?.getPane().yAxis.getScaleType();
258
- if (axisType !== currentType) {
327
+ // 同步右轴刻度类型设置到所有 pane(百分比仅用于主图)
328
+ if ('rightAxisType' in settings) {
329
+ const axisType = settings.rightAxisType;
330
+ if (axisType !== 'none') {
259
331
  for (const renderer of this.paneRenderers) {
260
332
  const pane = renderer.getPane();
261
333
  const scaleType = axisType === 'percent' && pane.role !== 'price' ? 'linear' : axisType;
@@ -519,6 +591,10 @@ export class Chart {
519
591
  getData() {
520
592
  return this.dataManager.getData();
521
593
  }
594
+ /** 获取渲染数据源(分时图下为 TimeShareData,K线图为 KLineData) */
595
+ getRenderData() {
596
+ return this.dataManager.getRenderData();
597
+ }
522
598
  /** 获取指标调度器(供外部控制器更新指标配置) */
523
599
  getIndicatorScheduler() {
524
600
  return this.indicatorManager.indicatorSchedulerAccessor;
@@ -547,6 +623,29 @@ export class Chart {
547
623
  }
548
624
  /** 容器尺寸变化时调用 */
549
625
  resize() {
626
+ if (this._activeMode.debugName === 'TimeShare') {
627
+ const tsData = this.dataManager.getTimeShareData();
628
+ const vp = this.viewportManager.computeViewport();
629
+ if (!vp || vp.plotWidth <= 0)
630
+ return;
631
+ if (tsData.length > 0) {
632
+ const result = this._activeMode.computeKWidth(tsData.length, vp.plotWidth, vp.dpr);
633
+ if (result) {
634
+ this.applyRenderState(result.kWidth, result.kGap);
635
+ const container = this.dom.container;
636
+ if (container) {
637
+ const leftBuffer = this.dataManager.getLeftLoadBufferWidth();
638
+ this.viewportManager.setScrollLeft(leftBuffer);
639
+ this.viewportManager.applyPendingScrollLeft(container);
640
+ }
641
+ }
642
+ }
643
+ this.renderer.clearCachedFrame();
644
+ this.layoutManager.layoutPanes();
645
+ this.viewportManager.updateViewportSignal();
646
+ this.scheduleDraw();
647
+ return;
648
+ }
550
649
  const vp = this.viewportManager.computeViewport();
551
650
  // 防御性检查:容器尺寸无效时跳过布局
552
651
  if (!vp || vp.viewWidth < 10 || vp.viewHeight < 10) {
@@ -607,6 +706,10 @@ export class Chart {
607
706
  get data() {
608
707
  return this.dataManager.data;
609
708
  }
709
+ /** 加载信号 */
710
+ get loading() {
711
+ return this.dataManager.loading;
712
+ }
610
713
  /** 符号信号 */
611
714
  get symbols() {
612
715
  return this.dataManager.symbols;
@@ -667,6 +770,10 @@ export class Chart {
667
770
  this.dataManager.checkVisibleRangeGap();
668
771
  }
669
772
  setSymbols(specs) {
773
+ const primaryPeriod = specs[0]?.period;
774
+ if (primaryPeriod) {
775
+ this.setActiveMode(primaryPeriod === 'timeshare' ? this._timeShareMode : this._kLineMode);
776
+ }
670
777
  this.dataManager.setSymbols(specs);
671
778
  }
672
779
  addComparisonSymbol(spec) {
@@ -675,6 +782,24 @@ export class Chart {
675
782
  removeComparisonSymbol(symbol) {
676
783
  this.dataManager.removeComparisonSymbol(symbol);
677
784
  }
785
+ setComparisonData(symbol, data) {
786
+ this.dataManager.setComparisonData(symbol, data);
787
+ }
788
+ setCurrentSymbol(symbol) {
789
+ this.dataManager.setCurrentSymbol(symbol);
790
+ }
791
+ setCurrentPeriod(period) {
792
+ this.setActiveMode(period === 'timeshare' ? this._timeShareMode : this._kLineMode);
793
+ this.dataManager.setCurrentPeriod(period);
794
+ }
795
+ switchToTimeShareForDate(dateYYYYMMDD) {
796
+ this.dataManager.setTimeShareQueryDate(dateYYYYMMDD);
797
+ this.setActiveMode(this._timeShareMode);
798
+ this.dataManager.setCurrentPeriod('timeshare');
799
+ }
800
+ applyCustomData(source) {
801
+ this.dataManager.applyCustomData(source);
802
+ }
678
803
  // ---------- Theme ----------
679
804
  /**
680
805
  * 设置主题(高层 API)
@@ -689,18 +814,24 @@ export class Chart {
689
814
  * 计算并应用新的 render state,更新 viewport signal
690
815
  */
691
816
  zoomToLevel(level, anchorX) {
817
+ if (!this._activeMode.allowZoom)
818
+ return;
692
819
  this.zoomController.zoomToLevel(level, anchorX);
693
820
  }
694
821
  /**
695
822
  * 放大(高层 API)
696
823
  */
697
824
  zoomIn(anchorX) {
825
+ if (!this._activeMode.allowZoom)
826
+ return;
698
827
  this.zoomController.zoomIn(anchorX);
699
828
  }
700
829
  /**
701
830
  * 缩小(高层 API)
702
831
  */
703
832
  zoomOut(anchorX) {
833
+ if (!this._activeMode.allowZoom)
834
+ return;
704
835
  this.zoomController.zoomOut(anchorX);
705
836
  }
706
837
  // ---------- Interaction (Zero-config unified entry) ----------
@@ -776,6 +907,8 @@ export class Chart {
776
907
  * 使用 computeZoom 计算精确的 scrollLeft,更新 viewport signal
777
908
  */
778
909
  handleWheelEvent(e) {
910
+ if (!this._activeMode.allowZoom)
911
+ return;
779
912
  const rect = this.dom.container.getBoundingClientRect();
780
913
  this.zoomController.handleWheel(e.deltaY, e.clientX - rect.left);
781
914
  }
@@ -794,6 +927,8 @@ export class Chart {
794
927
  * @param centerClientX 捏合中心在视口中的 X 坐标
795
928
  */
796
929
  handlePinchZoom(delta, centerClientX) {
930
+ if (!this._activeMode.allowZoom)
931
+ return;
797
932
  this.zoomController.handlePinch(delta, centerClientX);
798
933
  }
799
934
  /**