@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
@@ -1 +1 @@
1
- {"version":3,"file":"axis.js","sourceRoot":"","sources":["../../../src/utils/kLineDraw/axis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axis.js","sourceRoot":"","sources":["../../../src/utils/kLineDraw/axis.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,6 @@
1
1
  import type { KLineData } from '../types/price';
2
2
  import { VolumePriceRelation, type VolumePriceConfig, DEFAULT_VOLUME_PRICE_CONFIG } from '../types/volumePrice';
3
3
  export { DEFAULT_VOLUME_PRICE_CONFIG };
4
- /**
5
- * 成交量前缀和计算器
6
- * 用于优化成交量移动平均的计算,避免重复遍历
7
- */
8
- export declare class VolumePrefixSum {
9
- private prefixSum;
10
- private dataLength;
11
- /**
12
- * 构建前缀和数组
13
- * @param data - K线数据数组
14
- */
15
- build(data: KLineData[]): void;
16
- /**
17
- * 查询区间 [start, end] 的成交量之和
18
- * @param start - 起始索引(包含)
19
- * @param end - 结束索引(包含)
20
- * @returns 区间成交量之和
21
- */
22
- query(start: number, end: number): number;
23
- /**
24
- * 计算成交量移动平均
25
- * @param index - 当前K线索引
26
- * @param period - 计算周期
27
- * @returns 成交量移动平均值
28
- */
29
- getVolumeMA(index: number, period: number): number;
30
- /**
31
- * 获取数据长度
32
- */
33
- get length(): number;
34
- }
35
- /**
36
- * 计算量价关系
37
- *
38
- * @param data - K线数据数组
39
- * @param index - 要分析的K线索引
40
- * @param config - 量价关系计算配置
41
- * @returns 量价关系类型
42
- */
43
- export declare function analyzeVolumePriceRelation(data: KLineData[], index: number, config: VolumePriceConfig): VolumePriceRelation;
44
4
  /**
45
5
  * 批量计算量价关系(推荐用于渲染器中)
46
6
  * 显式传入前缀和实例,避免重复构建
@@ -1 +1 @@
1
- {"version":3,"file":"volumePrice.d.ts","sourceRoot":"","sources":["../../src/utils/volumePrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAG/G,OAAO,EAAE,2BAA2B,EAAE,CAAA;AAEtC;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAY;IAE9B;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAiB9B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAOzC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAOlD;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF;AAoBD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,SAAS,EAAE,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,iBAAiB,GACxB,mBAAmB,CA4CrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,SAAS,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,iBAA+C,GACtD,mBAAmB,EAAE,CA0CvB"}
1
+ {"version":3,"file":"volumePrice.d.ts","sourceRoot":"","sources":["../../src/utils/volumePrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAG/G,OAAO,EAAE,2BAA2B,EAAE,CAAA;AA6ItC;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,SAAS,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,iBAA+C,GACtD,mBAAmB,EAAE,CA0CvB"}
@@ -5,7 +5,7 @@ export { DEFAULT_VOLUME_PRICE_CONFIG };
5
5
  * 成交量前缀和计算器
6
6
  * 用于优化成交量移动平均的计算,避免重复遍历
7
7
  */
8
- export class VolumePrefixSum {
8
+ class VolumePrefixSum {
9
9
  prefixSum = [];
10
10
  dataLength = 0;
11
11
  /**
@@ -80,7 +80,7 @@ function getPrefixSum(data) {
80
80
  * @param config - 量价关系计算配置
81
81
  * @returns 量价关系类型
82
82
  */
83
- export function analyzeVolumePriceRelation(data, index, config) {
83
+ function analyzeVolumePriceRelation(data, index, config) {
84
84
  const curVolume = data[index]?.volume;
85
85
  if (index < 1 || index >= data.length || !curVolume) {
86
86
  return VolumePriceRelation.OTHERS;
@@ -1 +1 @@
1
- {"version":3,"file":"volumePrice.js","sourceRoot":"","sources":["../../src/utils/volumePrice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"volumePrice.js","sourceRoot":"","sources":["../../src/utils/volumePrice.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.8.6";
1
+ export declare const VERSION = "0.8.7";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.8.6";
1
+ export const VERSION = "0.8.7";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@363045841yyt/klinechart-core",
3
- "version": "0.8.6",
3
+ "version": "0.8.7",
4
4
  "description": "Headless K-line chart engine + reactive controllers. Zero framework dependencies.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -51,12 +51,20 @@ export const DEFAULT_SETTINGS = [
51
51
  { key: 'showGridLines', label: '显示网格', type: 'boolean', default: true, group: 'main' },
52
52
  { key: 'showVolumePriceMarkers', label: '显示量价关系标记', type: 'boolean', default: false, group: 'main' },
53
53
  {
54
- key: 'axisType', label: '轴类型', type: 'select', default: 'linear', group: 'main', options: [
54
+ key: 'rightAxisType', label: '右轴类型', type: 'select', default: 'linear', group: 'main', options: [
55
+ { value: 'none', label: '不显示' },
55
56
  { value: 'linear', label: '常规轴' },
56
57
  { value: 'log', label: '对数轴' },
57
58
  { value: 'percent', label: '百分比轴' },
58
59
  ]
59
60
  },
61
+ {
62
+ key: 'leftAxisType', label: '左轴类型', type: 'select', default: 'none', group: 'main', options: [
63
+ { value: 'none', label: '不显示' },
64
+ { value: 'linear', label: '常规轴' },
65
+ { value: 'log', label: '对数轴' },
66
+ ]
67
+ },
60
68
  { key: 'disableMainPaneVerticalScroll', label: '主图纵轴刻度自适应调整', type: 'boolean', default: true, group: 'main' },
61
69
  { key: 'isAsiaMarket', label: '亚洲市场颜色(红涨绿跌)', type: 'boolean', default: false, group: 'style' },
62
70
  { key: 'enableWebGLRendering', label: '启用 WebGL 硬件加速渲染', type: 'boolean', default: ENABLE_WEBGL_DEFAULT, group: 'main' },
@@ -29,6 +29,7 @@ import type {
29
29
  PaneSpec,
30
30
  SymbolSpec,
31
31
  DataFetcher,
32
+ CustomDataSource,
32
33
  } from './types'
33
34
  import type { CustomMarkerEntity } from '../engine/marker/registry'
34
35
  import { Chart, type InteractionSnapshot as LegacyInteractionSnapshot } from '../engine/chart'
@@ -60,6 +61,7 @@ const DEFAULT_OPTS = {
60
61
  minKWidth: 1,
61
62
  maxKWidth: 50,
62
63
  rightAxisWidth: 0,
64
+ leftAxisWidth: 0,
63
65
  bottomAxisHeight: 24,
64
66
  priceLabelWidth: 60,
65
67
  zoomLevels: 20,
@@ -119,6 +121,7 @@ interface MountedDom {
119
121
  scrollContent?: HTMLDivElement
120
122
  canvasLayer: HTMLDivElement
121
123
  rightAxisLayer: HTMLDivElement
124
+ leftAxisLayer?: HTMLDivElement
122
125
  xAxisCanvas: HTMLCanvasElement
123
126
  cleanup: () => void
124
127
  }
@@ -264,10 +267,18 @@ function buildDom(container: HTMLElement): MountedDom {
264
267
  rightAxisLayer.style.right = '0'
265
268
  chartContainer.appendChild(rightAxisLayer)
266
269
 
270
+ const leftAxisLayer = ownerDoc.createElement('div')
271
+ leftAxisLayer.className = 'klc-left-axis-host'
272
+ leftAxisLayer.style.position = 'absolute'
273
+ leftAxisLayer.style.top = '0'
274
+ leftAxisLayer.style.left = '0'
275
+ chartContainer.appendChild(leftAxisLayer)
276
+
267
277
  const cleanup = (): void => {
268
278
  try {
269
279
  scrollContent.remove()
270
280
  rightAxisLayer.remove()
281
+ leftAxisLayer.remove()
271
282
  if (containerCreatedByUs) {
272
283
  chartContainer.remove()
273
284
  }
@@ -276,7 +287,7 @@ function buildDom(container: HTMLElement): MountedDom {
276
287
  }
277
288
  }
278
289
 
279
- return { container: chartContainer, scrollContent, canvasLayer, rightAxisLayer, xAxisCanvas, cleanup }
290
+ return { container: chartContainer, scrollContent, canvasLayer, rightAxisLayer, leftAxisLayer, xAxisCanvas, cleanup }
280
291
  }
281
292
 
282
293
  // ---------------------------------------------------------------------------
@@ -299,6 +310,7 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
299
310
  container: opts.container as HTMLDivElement,
300
311
  canvasLayer: opts.canvasLayer as HTMLDivElement,
301
312
  rightAxisLayer: opts.rightAxisLayer as HTMLDivElement,
313
+ leftAxisLayer: opts.leftAxisLayer as HTMLDivElement | undefined,
302
314
  xAxisCanvas: opts.xAxisCanvas!,
303
315
  cleanup: () => { /* DOM owned by caller */ },
304
316
  }
@@ -310,6 +322,7 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
310
322
  const chartOptions: ChartOptions = {
311
323
  yPaddingPx: opts.yPaddingPx ?? DEFAULT_OPTS.yPaddingPx,
312
324
  rightAxisWidth: opts.rightAxisWidth ?? DEFAULT_OPTS.rightAxisWidth,
325
+ leftAxisWidth: opts.leftAxisWidth ?? DEFAULT_OPTS.leftAxisWidth,
313
326
  bottomAxisHeight: opts.bottomAxisHeight ?? DEFAULT_OPTS.bottomAxisHeight,
314
327
  minKWidth: opts.minKWidth ?? DEFAULT_OPTS.minKWidth,
315
328
  maxKWidth: opts.maxKWidth ?? DEFAULT_OPTS.maxKWidth,
@@ -326,6 +339,7 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
326
339
  scrollContent: mounted.scrollContent,
327
340
  canvasLayer: mounted.canvasLayer,
328
341
  rightAxisLayer: mounted.rightAxisLayer,
342
+ leftAxisLayer: mounted.leftAxisLayer,
329
343
  xAxisCanvas: mounted.xAxisCanvas,
330
344
  },
331
345
  chartOptions,
@@ -428,7 +442,7 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
428
442
 
429
443
  // dataLoading
430
444
  unsubs.push(
431
- chart.dataBuffer.loading.subscribe(() => dataLoading.set(chart.dataBuffer.loading.peek())),
445
+ chart.loading.subscribe(() => dataLoading.set(chart.loading.peek())),
432
446
  )
433
447
 
434
448
  // theme
@@ -530,6 +544,31 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
530
544
  chart.removeComparisonSymbol(symbol)
531
545
  }
532
546
 
547
+ function setComparisonData(symbol: string, data: ReadonlyArray<KLineData>): void {
548
+ if (disposed) return
549
+ chart.setComparisonData(symbol, [...data])
550
+ }
551
+
552
+ function setCurrentSymbol(symbol: string): void {
553
+ if (disposed) return
554
+ chart.setCurrentSymbol(symbol)
555
+ }
556
+
557
+ function setCurrentPeriod(period: string): void {
558
+ if (disposed) return
559
+ chart.setCurrentPeriod(period)
560
+ }
561
+
562
+ function switchToTimeShareForDate(dateYYYYMMDD: number): void {
563
+ if (disposed) return
564
+ chart.switchToTimeShareForDate(dateYYYYMMDD)
565
+ }
566
+
567
+ function applyCustomData(source: CustomDataSource): void {
568
+ if (disposed) return
569
+ chart.applyCustomData(source)
570
+ }
571
+
533
572
  function setDataFetcher(fetcher: DataFetcher | null): void {
534
573
  if (disposed) return
535
574
  chart.setDataFetcher(fetcher)
@@ -679,6 +718,11 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
679
718
  chart.setDrawings(drawings)
680
719
  }
681
720
 
721
+ function getFullDrawings(): any[] {
722
+ if (disposed) return []
723
+ return chart.drawings() as any[]
724
+ }
725
+
682
726
  function setSelectedDrawingId(id: string | null): void {
683
727
  if (disposed) return
684
728
  chart.setSelectedDrawingId(id)
@@ -859,6 +903,11 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
859
903
  setSymbols,
860
904
  addComparisonSymbol,
861
905
  removeComparisonSymbol,
906
+ setComparisonData,
907
+ setCurrentSymbol,
908
+ setCurrentPeriod,
909
+ switchToTimeShareForDate,
910
+ applyCustomData,
862
911
  setDataFetcher,
863
912
  ensureDataRange,
864
913
  setData,
@@ -887,6 +936,7 @@ export async function createChartController(opts: ChartMountOptions): Promise<Ch
887
936
  clearDrawings,
888
937
  removeDrawing,
889
938
  setDrawings,
939
+ getFullDrawings,
890
940
  setSelectedDrawingId,
891
941
  getViewport,
892
942
  getKWidthKGap,
@@ -9,8 +9,9 @@
9
9
  */
10
10
 
11
11
  import type { Signal } from '../reactivity'
12
- import type { CustomMarkerEntity, MarkerEntity } from '../engine/marker/registry'
12
+ import type { CustomMarkerEntity } from '../engine/marker/registry'
13
13
  import type { PaneSpec } from '../engine/chartTypes'
14
+ import type { InteractionSnapshot } from '../engine/chart'
14
15
 
15
16
  // Controller-owned public surface. Legacy engine types may mirror these
16
17
  // shapes internally, but adapters depend only on core-defined contracts.
@@ -74,6 +75,14 @@ export interface KLineData {
74
75
  date?: string
75
76
  }
76
77
 
78
+ export interface TimeShareData {
79
+ timestamp: number
80
+ price: number
81
+ average: number
82
+ volume: number
83
+ amount: number
84
+ }
85
+
77
86
  export type { PaneSpec }
78
87
 
79
88
  // ---------------------------------------------------------------------------
@@ -102,6 +111,17 @@ export type DataFetcher = (
102
111
  },
103
112
  ) => Promise<ReadonlyArray<KLineData>>
104
113
 
114
+ /** User-provided K-line data bundle — bypasses the fetcher pipeline entirely */
115
+ export interface CustomDataSource {
116
+ symbol?: string
117
+ period?: string
118
+ adjust?: string
119
+ /** Main chart K-line data (required) */
120
+ data: ReadonlyArray<KLineData>
121
+ /** Comparison products keyed by symbol */
122
+ comparisons?: Record<string, ReadonlyArray<KLineData>>
123
+ }
124
+
105
125
  // ---------------------------------------------------------------------------
106
126
  // Indicator metadata
107
127
  // ---------------------------------------------------------------------------
@@ -130,22 +150,7 @@ export interface IndicatorDefinition {
130
150
  // Interaction state
131
151
  // ---------------------------------------------------------------------------
132
152
 
133
- export interface InteractionSnapshot {
134
- crosshairPos: { x: number; y: number } | null
135
- crosshairIndex: number | null
136
- crosshairPrice: number | null
137
- hoveredIndex: number | null
138
- activePaneId: string | null
139
- tooltipPos: { x: number; y: number }
140
- tooltipAnchorPlacement: 'right-bottom' | 'left-bottom'
141
- hoveredMarkerData: MarkerEntity | null
142
- hoveredCustomMarker: CustomMarkerEntity | null
143
- isDragging: boolean
144
- isResizingPaneBoundary: boolean
145
- isHoveringPaneBoundary: boolean
146
- hoveredPaneBoundaryId: string | null
147
- isHoveringRightAxis: boolean
148
- }
153
+ export type { InteractionSnapshot }
149
154
 
150
155
  // ---------------------------------------------------------------------------
151
156
  // Pane info (read-only pane metadata for DrawingChartAdapter)
@@ -170,6 +175,8 @@ export interface DrawingChartViewport {
170
175
  export interface DrawingChartAdapter {
171
176
  /** persist full drawing list to the chart engine */
172
177
  setDrawings(drawings: any[]): void
178
+ /** read the full drawing list (plugin-level DrawingObject) */
179
+ getFullDrawings(): any[]
173
180
  /** highlight a drawing by ID */
174
181
  setSelectedDrawingId(id: string | null): void
175
182
  /** current viewport (nullable if chart not ready) */
@@ -218,11 +225,13 @@ export interface ChartMountOptions {
218
225
  // Pre-existing DOM elements (skip buildDom when provided)
219
226
  canvasLayer?: HTMLElement
220
227
  rightAxisLayer?: HTMLElement
228
+ leftAxisLayer?: HTMLElement
221
229
  xAxisCanvas?: HTMLCanvasElement
222
230
 
223
231
  // Chart options overrides
224
232
  yPaddingPx?: number
225
233
  rightAxisWidth?: number
234
+ leftAxisWidth?: number
226
235
  bottomAxisHeight?: number
227
236
  priceLabelWidth?: number
228
237
  minKWidth?: number
@@ -262,6 +271,16 @@ export interface ChartController extends DrawingChartAdapter {
262
271
  setSymbols(next: ReadonlyArray<SymbolSpec>): void
263
272
  addComparisonSymbol(spec: SymbolSpec): void
264
273
  removeComparisonSymbol(symbol: string): void
274
+ /** Inject comparison product data directly (bypasses fetcher) */
275
+ setComparisonData(symbol: string, data: ReadonlyArray<KLineData>): void
276
+ /** Update the main symbol code without triggering a fetch */
277
+ setCurrentSymbol(symbol: string): void
278
+ /** Update the K-line period without triggering a fetch */
279
+ setCurrentPeriod(period: string): void
280
+ /** Switch to time-share view for a specific date (YYYYMMDD), e.g. after double-clicking a daily bar */
281
+ switchToTimeShareForDate(dateYYYYMMDD: number): void
282
+ /** Inject a complete custom data bundle (bypasses fetcher pipeline) */
283
+ applyCustomData(source: CustomDataSource): void
265
284
  setDataFetcher(fetcher: DataFetcher | null): void
266
285
  setData(next: ReadonlyArray<KLineData>): void
267
286
  appendData(next: ReadonlyArray<KLineData>): void
@@ -199,6 +199,38 @@ describe('DataBuffer', () => {
199
199
  expect(fetchCount).toBeGreaterThanOrEqual(2)
200
200
  })
201
201
 
202
+ it('deduplicates same-boundary ensureRange calls while request is pending', async () => {
203
+ const now = Date.now()
204
+ const oneYearAgo = now - 365 * MS_PER_DAY
205
+
206
+ const initialData = [makeKLine(oneYearAgo), makeKLine(now)]
207
+ let fetchCount = 0
208
+ const fetcher: DataFetcher = async () => {
209
+ fetchCount++
210
+ await new Promise((r) => setTimeout(r, 10))
211
+ if (fetchCount === 1) return initialData
212
+ return [makeKLine(oneYearAgo - 90 * MS_PER_DAY)]
213
+ }
214
+
215
+ buffer.setFetcher(fetcher)
216
+ buffer.setSymbol(defaultSpec)
217
+
218
+ await vi.waitFor(() => {
219
+ expect(buffer.loading()).toBe(false)
220
+ })
221
+
222
+ buffer.ensureRange(oneYearAgo - 30 * MS_PER_DAY, oneYearAgo)
223
+ buffer.ensureRange(oneYearAgo - 60 * MS_PER_DAY, oneYearAgo)
224
+
225
+ expect(fetchCount).toBe(2)
226
+
227
+ await vi.waitFor(() => {
228
+ expect(buffer.loading()).toBe(false)
229
+ })
230
+
231
+ expect(fetchCount).toBe(2)
232
+ })
233
+
202
234
  it('dispose prevents further fetches', async () => {
203
235
  const fetcher: DataFetcher = async () => {
204
236
  return [makeKLine(Date.now())]
@@ -285,7 +317,7 @@ describe('DataBuffer', () => {
285
317
  expect(prependCalls).toHaveLength(0)
286
318
  })
287
319
 
288
- it('ensureRange skips when same boundary was already attempted (empty fetch)', async () => {
320
+ it('ensureRange allows retry when previous fetch did not advance earliestTs', async () => {
289
321
  const now = Date.now()
290
322
  const oneYearAgo = now - 365 * MS_PER_DAY
291
323
  const initialData = [makeKLine(oneYearAgo), makeKLine(now)]
@@ -295,7 +327,7 @@ describe('DataBuffer', () => {
295
327
  fetchCount++
296
328
  if (fetchCount === 1) return initialData
297
329
  // Return data with same timestamps so mergeSortedData deduplicates them,
298
- // avoiding loadedWindow change while keeping boundary in _attemptedBoundaries
330
+ // avoiding loadedWindow change. The boundary should remain retryable.
299
331
  return initialData
300
332
  }
301
333
 
@@ -316,12 +348,14 @@ describe('DataBuffer', () => {
316
348
 
317
349
  expect(fetchCount).toBe(2)
318
350
 
319
- // same boundary should be skipped
351
+ // Same boundary but the previous fetch did not prepend data, so retry.
320
352
  buffer.ensureRange(oneYearAgo - 60 * MS_PER_DAY, oneYearAgo)
321
353
 
322
- await new Promise((r) => setTimeout(r, 50))
354
+ await vi.waitFor(() => {
355
+ expect(buffer.loading()).toBe(false)
356
+ })
323
357
 
324
- expect(fetchCount).toBe(2)
358
+ expect(fetchCount).toBe(3)
325
359
  })
326
360
 
327
361
  it('ensureRange allows retry when earliestTs moves after successful load', async () => {
@@ -58,7 +58,7 @@ async function fetchBaoStock(
58
58
  version: '1.0.0',
59
59
  capabilities: ['daily', 'weekly', 'monthly', '5min', '15min', '30min', '60min'],
60
60
  })
61
- export class BaoStockFetcher {
61
+ class BaoStockFetcher {
62
62
  static fetcher = fetchBaoStock
63
63
  }
64
64
 
@@ -1,5 +1,6 @@
1
1
  import { createSignal, type Signal } from '../reactivity/signal'
2
2
  import type { DataFetcher, KLineData, SymbolSpec } from '../controllers/types'
3
+ import type { DataBufferLike } from './dataBufferTypes'
3
4
 
4
5
  export interface DataWindow {
5
6
  earliestTs: number
@@ -35,7 +36,7 @@ function mergeSortedData(
35
36
  return merged
36
37
  }
37
38
 
38
- export class DataBuffer {
39
+ export class DataBuffer implements DataBufferLike {
39
40
  private _data: KLineData[] = []
40
41
  private _dataSignal: Signal<ReadonlyArray<KLineData>>
41
42
  private _loadingSignal: Signal<boolean>
@@ -54,8 +55,8 @@ export class DataBuffer {
54
55
  this._loadingSignal = createSignal<boolean>(false)
55
56
  }
56
57
 
57
- get data(): Signal<ReadonlyArray<KLineData>> {
58
- return this._dataSignal
58
+ get data(): Signal<ReadonlyArray<unknown>> {
59
+ return this._dataSignal as Signal<ReadonlyArray<unknown>>
59
60
  }
60
61
 
61
62
  get loading(): Signal<boolean> {
@@ -70,6 +71,10 @@ export class DataBuffer {
70
71
  return this._loadedWindow
71
72
  }
72
73
 
74
+ getRawData(): KLineData[] {
75
+ return this._data
76
+ }
77
+
73
78
  setFetcher(fetcher: DataFetcher | null): void {
74
79
  this._fetcher = fetcher
75
80
  }
@@ -159,17 +164,22 @@ export class DataBuffer {
159
164
  const oldLength = this._data.length
160
165
  const oldEarliestTs = oldLength > 0 ? this._data[0]!.timestamp : null
161
166
  const merged = mergeSortedData(this._data, [...incoming])
162
-
163
- if (oldLength > 0 && merged.length > oldLength && oldEarliestTs !== null) {
164
- const newEarliestTs = merged[0]!.timestamp
165
- if (newEarliestTs < oldEarliestTs) {
166
- const prependCount = merged.findIndex((d) => d.timestamp === oldEarliestTs)
167
- if (prependCount > 0) {
168
- this.onPrepend?.(prependCount)
169
- }
167
+ const newEarliestTs = merged[0]?.timestamp ?? null
168
+ const advancedEarliest = oldEarliestTs !== null
169
+ && newEarliestTs !== null
170
+ && newEarliestTs < oldEarliestTs
171
+
172
+ if (oldLength > 0 && merged.length > oldLength && advancedEarliest) {
173
+ const prependCount = merged.findIndex((d) => d.timestamp === oldEarliestTs)
174
+ if (prependCount > 0) {
175
+ this.onPrepend?.(prependCount)
170
176
  }
171
177
  }
172
178
 
179
+ if (oldLength > 0 && !advancedEarliest) {
180
+ this._attemptedBoundaries.delete(endTs)
181
+ }
182
+
173
183
  this._data = merged
174
184
  this._dataSignal.set([...merged])
175
185
 
@@ -217,6 +227,33 @@ export class DataBuffer {
217
227
  })
218
228
  }
219
229
 
230
+ /**
231
+ * Put the buffer in inline mode — use the provided data directly
232
+ * instead of fetching. Sets data signal and tracks loadedWindow.
233
+ */
234
+ setInlineData(data: unknown[]): void {
235
+ if (this._disposed) return
236
+ const kData = data as KLineData[]
237
+ this._data = [...kData]
238
+ this._dataSignal.set([...kData])
239
+ if (data.length > 0) {
240
+ this._loadedWindow = {
241
+ earliestTs: kData[0]!.timestamp,
242
+ latestTs: kData[kData.length - 1]!.timestamp,
243
+ }
244
+ } else {
245
+ this._loadedWindow = null
246
+ }
247
+ this._attemptedBoundaries.clear()
248
+ }
249
+
250
+ /**
251
+ * Update just the spec metadata without triggering any fetch.
252
+ */
253
+ setCurrentSpec(spec: SymbolSpec): void {
254
+ this._currentSpec = spec
255
+ }
256
+
220
257
  dispose(): void {
221
258
  this._disposed = true
222
259
  this._pendingFetch = null
@@ -0,0 +1,11 @@
1
+ import type { Signal } from '../reactivity/signal'
2
+ import type { DataWindow } from './dataBuffer'
3
+
4
+ export interface DataBufferLike {
5
+ readonly data: Signal<ReadonlyArray<unknown>>
6
+ readonly loading: Signal<boolean>
7
+ readonly loadedWindow: DataWindow | null
8
+ getRawData(): unknown[]
9
+ setInlineData(data: unknown[]): void
10
+ dispose(): void
11
+ }