@363045841yyt/klinechart 0.7.1 → 0.7.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +10 -6
  2. package/dist/components/DrawingStyleToolbar.vue.d.ts +28 -0
  3. package/dist/components/DrawingStyleToolbar.vue.d.ts.map +1 -0
  4. package/dist/{src/components → components}/IndicatorParams.vue.d.ts +3 -3
  5. package/dist/components/IndicatorParams.vue.d.ts.map +1 -0
  6. package/dist/{src/components → components}/IndicatorSelector.vue.d.ts +4 -4
  7. package/dist/components/IndicatorSelector.vue.d.ts.map +1 -0
  8. package/dist/components/KLineChart.vue.d.ts +63 -0
  9. package/dist/components/KLineChart.vue.d.ts.map +1 -0
  10. package/dist/components/KLineTooltip.vue.d.ts +30 -0
  11. package/dist/components/KLineTooltip.vue.d.ts.map +1 -0
  12. package/dist/{src/components → components}/LeftToolbar.vue.d.ts +3 -2
  13. package/dist/components/LeftToolbar.vue.d.ts.map +1 -0
  14. package/dist/components/MarkerTooltip.vue.d.ts +26 -0
  15. package/dist/components/MarkerTooltip.vue.d.ts.map +1 -0
  16. package/dist/components/index.d.ts +8 -0
  17. package/dist/components/index.d.ts.map +1 -0
  18. package/dist/{src/composables → composables}/useFullscreenTeleportTarget.d.ts +1 -0
  19. package/dist/composables/useFullscreenTeleportTarget.d.ts.map +1 -0
  20. package/dist/{src/debug → debug}/canvasProfiler.d.ts +1 -0
  21. package/dist/debug/canvasProfiler.d.ts.map +1 -0
  22. package/dist/index.cjs +2 -49
  23. package/dist/index.d.cts +124 -0
  24. package/dist/index.d.ts +124 -2
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +1390 -23809
  27. package/dist/klinechart.css +1 -1
  28. package/dist/version.d.ts +3 -0
  29. package/dist/version.d.ts.map +1 -0
  30. package/package.json +49 -85
  31. package/src/__tests__/_mockController.ts +192 -0
  32. package/src/__tests__/contract.test.ts +132 -0
  33. package/src/components/DrawingStyleToolbar.vue +199 -0
  34. package/src/components/IndicatorParams.vue +570 -0
  35. package/src/components/IndicatorSelector.vue +1042 -0
  36. package/src/components/KLineChart.vue +1570 -0
  37. package/src/components/KLineTooltip.vue +200 -0
  38. package/src/components/LeftToolbar.vue +844 -0
  39. package/src/components/MarkerTooltip.vue +155 -0
  40. package/src/components/index.ts +7 -0
  41. package/src/composables/useFullscreenTeleportTarget.ts +18 -0
  42. package/src/debug/canvasProfiler.ts +296 -0
  43. package/src/index.ts +402 -0
  44. package/src/version.ts +3 -0
  45. package/dist/favicon.ico +0 -0
  46. package/dist/mock-stock-data.json +0 -1
  47. package/dist/schema-CzmPW09E.cjs +0 -1
  48. package/dist/schema-DBMGp6Af.js +0 -437
  49. package/dist/src/App.vue.d.ts +0 -4
  50. package/dist/src/api/data/baostock.d.ts +0 -90
  51. package/dist/src/api/data/baostock.integration.test.d.ts +0 -1
  52. package/dist/src/api/data/index.d.ts +0 -26
  53. package/dist/src/api/data/kLine.d.ts +0 -11
  54. package/dist/src/api/data/types.d.ts +0 -33
  55. package/dist/src/api/data/unified.d.ts +0 -37
  56. package/dist/src/components/DrawingStyleToolbar.vue.d.ts +0 -12
  57. package/dist/src/components/KLineChart.vue.d.ts +0 -100
  58. package/dist/src/components/KLineTooltip.vue.d.ts +0 -17
  59. package/dist/src/components/MarkerTooltip.vue.d.ts +0 -13
  60. package/dist/src/components/index.d.ts +0 -2
  61. package/dist/src/config/chartSettings.d.ts +0 -69
  62. package/dist/src/core/chart-store.d.ts +0 -74
  63. package/dist/src/core/chart.d.ts +0 -617
  64. package/dist/src/core/controller/interaction.d.ts +0 -167
  65. package/dist/src/core/controller/markerInteraction.d.ts +0 -28
  66. package/dist/src/core/controller/pinchTracker.d.ts +0 -18
  67. package/dist/src/core/controller/tooltipPosition.d.ts +0 -21
  68. package/dist/src/core/draw/pixelAlign.d.ts +0 -114
  69. package/dist/src/core/drawing/index.d.ts +0 -47
  70. package/dist/src/core/drawing/interaction.d.ts +0 -75
  71. package/dist/src/core/drawing/plugin.d.ts +0 -27
  72. package/dist/src/core/indicators/atrState.d.ts +0 -16
  73. package/dist/src/core/indicators/bollState.d.ts +0 -34
  74. package/dist/src/core/indicators/calculators.d.ts +0 -465
  75. package/dist/src/core/indicators/cciState.d.ts +0 -15
  76. package/dist/src/core/indicators/chaikinVolState.d.ts +0 -18
  77. package/dist/src/core/indicators/cmfState.d.ts +0 -16
  78. package/dist/src/core/indicators/demaState.d.ts +0 -16
  79. package/dist/src/core/indicators/donchianState.d.ts +0 -23
  80. package/dist/src/core/indicators/eneState.d.ts +0 -30
  81. package/dist/src/core/indicators/expmaState.d.ts +0 -30
  82. package/dist/src/core/indicators/fastkState.d.ts +0 -15
  83. package/dist/src/core/indicators/fibState.d.ts +0 -26
  84. package/dist/src/core/indicators/hmaState.d.ts +0 -16
  85. package/dist/src/core/indicators/hvState.d.ts +0 -18
  86. package/dist/src/core/indicators/ichimokuState.d.ts +0 -44
  87. package/dist/src/core/indicators/indicator.worker.d.ts +0 -5
  88. package/dist/src/core/indicators/indicatorDefinitionRegistry.d.ts +0 -30
  89. package/dist/src/core/indicators/indicatorMetadata.d.ts +0 -81
  90. package/dist/src/core/indicators/indicatorRegistry.d.ts +0 -57
  91. package/dist/src/core/indicators/indicatorRuntime.d.ts +0 -126
  92. package/dist/src/core/indicators/kamaState.d.ts +0 -20
  93. package/dist/src/core/indicators/keltnerState.d.ts +0 -27
  94. package/dist/src/core/indicators/kstState.d.ts +0 -21
  95. package/dist/src/core/indicators/maState.d.ts +0 -26
  96. package/dist/src/core/indicators/macdState.d.ts +0 -58
  97. package/dist/src/core/indicators/mfiState.d.ts +0 -16
  98. package/dist/src/core/indicators/momState.d.ts +0 -15
  99. package/dist/src/core/indicators/obvState.d.ts +0 -14
  100. package/dist/src/core/indicators/parkinsonState.d.ts +0 -18
  101. package/dist/src/core/indicators/pivotState.d.ts +0 -29
  102. package/dist/src/core/indicators/pvtState.d.ts +0 -14
  103. package/dist/src/core/indicators/rocState.d.ts +0 -16
  104. package/dist/src/core/indicators/rsiState.d.ts +0 -43
  105. package/dist/src/core/indicators/sarState.d.ts +0 -26
  106. package/dist/src/core/indicators/scheduler.d.ts +0 -262
  107. package/dist/src/core/indicators/soa.d.ts +0 -115
  108. package/dist/src/core/indicators/stateComposer.d.ts +0 -146
  109. package/dist/src/core/indicators/stochState.d.ts +0 -18
  110. package/dist/src/core/indicators/structureState.d.ts +0 -43
  111. package/dist/src/core/indicators/supertrendState.d.ts +0 -22
  112. package/dist/src/core/indicators/temaState.d.ts +0 -16
  113. package/dist/src/core/indicators/trixState.d.ts +0 -20
  114. package/dist/src/core/indicators/vmaState.d.ts +0 -16
  115. package/dist/src/core/indicators/volumeProfileState.d.ts +0 -34
  116. package/dist/src/core/indicators/vwapState.d.ts +0 -16
  117. package/dist/src/core/indicators/wmaState.d.ts +0 -16
  118. package/dist/src/core/indicators/wmsrState.d.ts +0 -15
  119. package/dist/src/core/indicators/workerProtocol.d.ts +0 -496
  120. package/dist/src/core/indicators/zonesState.d.ts +0 -26
  121. package/dist/src/core/layout/pane.d.ts +0 -103
  122. package/dist/src/core/marker/registry.d.ts +0 -174
  123. package/dist/src/core/paneRenderer.d.ts +0 -45
  124. package/dist/src/core/renderers/Indicator/atr.d.ts +0 -17
  125. package/dist/src/core/renderers/Indicator/boll.d.ts +0 -2
  126. package/dist/src/core/renderers/Indicator/cci.d.ts +0 -22
  127. package/dist/src/core/renderers/Indicator/chaikinVol.d.ts +0 -4
  128. package/dist/src/core/renderers/Indicator/cmf.d.ts +0 -4
  129. package/dist/src/core/renderers/Indicator/dema.d.ts +0 -5
  130. package/dist/src/core/renderers/Indicator/donchian.d.ts +0 -5
  131. package/dist/src/core/renderers/Indicator/ene.d.ts +0 -2
  132. package/dist/src/core/renderers/Indicator/expma.d.ts +0 -2
  133. package/dist/src/core/renderers/Indicator/fastk.d.ts +0 -22
  134. package/dist/src/core/renderers/Indicator/fib.d.ts +0 -4
  135. package/dist/src/core/renderers/Indicator/hma.d.ts +0 -5
  136. package/dist/src/core/renderers/Indicator/hv.d.ts +0 -4
  137. package/dist/src/core/renderers/Indicator/ichimoku.d.ts +0 -5
  138. package/dist/src/core/renderers/Indicator/index.d.ts +0 -59
  139. package/dist/src/core/renderers/Indicator/indicatorData.d.ts +0 -13
  140. package/dist/src/core/renderers/Indicator/kama.d.ts +0 -5
  141. package/dist/src/core/renderers/Indicator/keltner.d.ts +0 -5
  142. package/dist/src/core/renderers/Indicator/kst.d.ts +0 -22
  143. package/dist/src/core/renderers/Indicator/ma.d.ts +0 -3
  144. package/dist/src/core/renderers/Indicator/macd.d.ts +0 -50
  145. package/dist/src/core/renderers/Indicator/macdLegend.d.ts +0 -12
  146. package/dist/src/core/renderers/Indicator/mainIndicatorLegend.d.ts +0 -10
  147. package/dist/src/core/renderers/Indicator/mfi.d.ts +0 -4
  148. package/dist/src/core/renderers/Indicator/mom.d.ts +0 -22
  149. package/dist/src/core/renderers/Indicator/obv.d.ts +0 -4
  150. package/dist/src/core/renderers/Indicator/parkinson.d.ts +0 -4
  151. package/dist/src/core/renderers/Indicator/pivot.d.ts +0 -4
  152. package/dist/src/core/renderers/Indicator/pvt.d.ts +0 -4
  153. package/dist/src/core/renderers/Indicator/roc.d.ts +0 -5
  154. package/dist/src/core/renderers/Indicator/rsi.d.ts +0 -33
  155. package/dist/src/core/renderers/Indicator/sar.d.ts +0 -5
  156. package/dist/src/core/renderers/Indicator/scale/atr_scale.d.ts +0 -11
  157. package/dist/src/core/renderers/Indicator/scale/cci_scale.d.ts +0 -11
  158. package/dist/src/core/renderers/Indicator/scale/fastk_scale.d.ts +0 -11
  159. package/dist/src/core/renderers/Indicator/scale/indicator_scale.d.ts +0 -38
  160. package/dist/src/core/renderers/Indicator/scale/kst_scale.d.ts +0 -11
  161. package/dist/src/core/renderers/Indicator/scale/macd_scale.d.ts +0 -14
  162. package/dist/src/core/renderers/Indicator/scale/mom_scale.d.ts +0 -11
  163. package/dist/src/core/renderers/Indicator/scale/rsi_scale.d.ts +0 -11
  164. package/dist/src/core/renderers/Indicator/scale/stoch_scale.d.ts +0 -11
  165. package/dist/src/core/renderers/Indicator/scale/volume_scale.d.ts +0 -14
  166. package/dist/src/core/renderers/Indicator/scale/wmsr_scale.d.ts +0 -11
  167. package/dist/src/core/renderers/Indicator/stoch.d.ts +0 -22
  168. package/dist/src/core/renderers/Indicator/structure.d.ts +0 -4
  169. package/dist/src/core/renderers/Indicator/subPaneConfig.d.ts +0 -9
  170. package/dist/src/core/renderers/Indicator/supertrend.d.ts +0 -5
  171. package/dist/src/core/renderers/Indicator/tema.d.ts +0 -5
  172. package/dist/src/core/renderers/Indicator/trix.d.ts +0 -5
  173. package/dist/src/core/renderers/Indicator/vma.d.ts +0 -4
  174. package/dist/src/core/renderers/Indicator/volumeProfile.d.ts +0 -4
  175. package/dist/src/core/renderers/Indicator/vwap.d.ts +0 -4
  176. package/dist/src/core/renderers/Indicator/wma.d.ts +0 -5
  177. package/dist/src/core/renderers/Indicator/wmsr.d.ts +0 -22
  178. package/dist/src/core/renderers/Indicator/zones.d.ts +0 -4
  179. package/dist/src/core/renderers/candle.d.ts +0 -21
  180. package/dist/src/core/renderers/crosshair.d.ts +0 -17
  181. package/dist/src/core/renderers/customMarkers.d.ts +0 -6
  182. package/dist/src/core/renderers/extremaMarkers.d.ts +0 -5
  183. package/dist/src/core/renderers/gridLines.d.ts +0 -7
  184. package/dist/src/core/renderers/lastPrice.d.ts +0 -9
  185. package/dist/src/core/renderers/paneTitle.d.ts +0 -40
  186. package/dist/src/core/renderers/subVolume.d.ts +0 -13
  187. package/dist/src/core/renderers/timeAxis.d.ts +0 -14
  188. package/dist/src/core/renderers/webgl/candleSurface.d.ts +0 -80
  189. package/dist/src/core/renderers/webgl/sharedWebGLSurface.d.ts +0 -33
  190. package/dist/src/core/renderers/yAxis.d.ts +0 -14
  191. package/dist/src/core/scale/logFormula.d.ts +0 -66
  192. package/dist/src/core/scale/price.d.ts +0 -11
  193. package/dist/src/core/scale/priceScale.d.ts +0 -87
  194. package/dist/src/core/subPaneManager.d.ts +0 -22
  195. package/dist/src/core/theme/colors.d.ts +0 -222
  196. package/dist/src/core/theme/fonts.d.ts +0 -12
  197. package/dist/src/core/utils/klineConfig.d.ts +0 -28
  198. package/dist/src/core/utils/tickCount.d.ts +0 -8
  199. package/dist/src/core/utils/tickPosition.d.ts +0 -24
  200. package/dist/src/core/utils/zoom.d.ts +0 -30
  201. package/dist/src/core/viewport/viewport.d.ts +0 -31
  202. package/dist/src/index.d.ts +0 -8
  203. package/dist/src/main.d.ts +0 -0
  204. package/dist/src/plugin/ConfigManager.d.ts +0 -31
  205. package/dist/src/plugin/EventBus.d.ts +0 -34
  206. package/dist/src/plugin/HookSystem.d.ts +0 -28
  207. package/dist/src/plugin/PluginHost.d.ts +0 -57
  208. package/dist/src/plugin/PluginRegistry.d.ts +0 -40
  209. package/dist/src/plugin/StateStore.d.ts +0 -37
  210. package/dist/src/plugin/index.d.ts +0 -11
  211. package/dist/src/plugin/rendererPluginManager.d.ts +0 -77
  212. package/dist/src/plugin/stateKeys.d.ts +0 -6
  213. package/dist/src/plugin/types.d.ts +0 -445
  214. package/dist/src/semantic/controller.d.ts +0 -35
  215. package/dist/src/semantic/drawShape.d.ts +0 -14
  216. package/dist/src/semantic/index.d.ts +0 -8
  217. package/dist/src/semantic/types.d.ts +0 -298
  218. package/dist/src/semantic/validator.d.ts +0 -43
  219. package/dist/src/test-setup.d.ts +0 -6
  220. package/dist/src/types/kLine.d.ts +0 -3
  221. package/dist/src/types/price.d.ts +0 -31
  222. package/dist/src/types/volumePrice.d.ts +0 -26
  223. package/dist/src/utils/cache.d.ts +0 -33
  224. package/dist/src/utils/dateFormat.d.ts +0 -83
  225. package/dist/src/utils/http.d.ts +0 -14
  226. package/dist/src/utils/kLineDraw/MA.d.ts +0 -7
  227. package/dist/src/utils/kLineDraw/axis.d.ts +0 -150
  228. package/dist/src/utils/kLineDraw/grid.d.ts +0 -30
  229. package/dist/src/utils/kLineDraw/kLine.d.ts +0 -15
  230. package/dist/src/utils/kline/format.d.ts +0 -11
  231. package/dist/src/utils/kline/viewport.d.ts +0 -10
  232. package/dist/src/utils/logger.d.ts +0 -5
  233. package/dist/src/utils/mock/genRandomPriceData.d.ts +0 -3
  234. package/dist/src/utils/priceToY.d.ts +0 -7
  235. package/dist/src/utils/volumePrice.d.ts +0 -54
@@ -1,14 +0,0 @@
1
- import { RendererPlugin } from '../../plugin';
2
- /**
3
- * 创建 Y 轴渲染器插件
4
- * 按 pane capability 决定是否绘制刻度与价格标签
5
- */
6
- export declare function createYAxisRendererPlugin(options: {
7
- axisWidth: number;
8
- yPaddingPx: number;
9
- getCrosshair?: () => {
10
- y: number;
11
- price: number;
12
- activePaneId: string | null;
13
- } | null;
14
- }): RendererPlugin;
@@ -1,66 +0,0 @@
1
- import { PriceRange } from './price';
2
- /**
3
- * LogFormula 接口
4
- * 用于对数变换的动态偏移,保证极小值下的精度
5
- *
6
- * - logicalOffset: 逻辑偏移,使输出值落在合理范围
7
- * - coordOffset: 坐标偏移,避免 log10(0) 并提升精度
8
- */
9
- export interface LogFormula {
10
- logicalOffset: number;
11
- coordOffset: number;
12
- }
13
- /**
14
- * 真实价格 → log 逻辑空间
15
- * 公式: sign(price) * (log10(|price| + coordOffset) + logicalOffset)
16
- *
17
- * @param price 真实价格(可为负数)
18
- * @param f LogFormula
19
- * @returns log 逻辑空间值
20
- */
21
- export declare function toLog(price: number, f: LogFormula): number;
22
- /**
23
- * log 逻辑空间 → 真实价格
24
- * 公式: sign(logical) * (10^(|logical| - logicalOffset) - coordOffset)
25
- *
26
- * @param logical log 逻辑空间值
27
- * @param f LogFormula
28
- * @returns 真实价格
29
- */
30
- export declare function fromLog(logical: number, f: LogFormula): number;
31
- /**
32
- * 根据价格范围动态计算 LogFormula
33
- *
34
- * 对于常规价格范围 (diff >= 1),使用默认值。
35
- * 对于极小价格范围 (diff < 1),自动增大 logicalOffset 以维持精度。
36
- *
37
- * @param range 价格范围,可为 null
38
- * @returns 最优的 LogFormula
39
- */
40
- export declare function logFormulaForPriceRange(range: PriceRange | null): LogFormula;
41
- /**
42
- * 范围转 log 空间
43
- * 将价格的 min/max 都转换到 log 空间
44
- *
45
- * @param range 真实价格范围
46
- * @param f LogFormula
47
- * @returns log 空间的价格范围
48
- */
49
- export declare function convertPriceRangeToLog(range: PriceRange, f: LogFormula): PriceRange;
50
- /**
51
- * 范围从 log 空间转回
52
- * 将 log 空间的 min/max 转换回真实价格
53
- *
54
- * @param range log 空间的价格范围
55
- * @param f LogFormula
56
- * @returns 真实价格范围
57
- */
58
- export declare function convertPriceRangeFromLog(range: PriceRange, f: LogFormula): PriceRange;
59
- /**
60
- * 判断两个 LogFormula 是否相同
61
- *
62
- * @param a LogFormula A
63
- * @param b LogFormula B
64
- * @returns 是否相同
65
- */
66
- export declare function logFormulasAreSame(a: LogFormula, b: LogFormula): boolean;
@@ -1,11 +0,0 @@
1
- export type PriceRange = {
2
- maxPrice: number;
3
- minPrice: number;
4
- };
5
- export declare function priceToY(price: number, maxPrice: number, minPrice: number, canvasHeight: number, paddingTop: number, paddingBottom: number): number;
6
- /**
7
- * 将逻辑像素 y 反算回价格
8
- * - y 是相对于绘图区顶部的逻辑像素坐标(不含额外 translate)
9
- * - paddingTop/paddingBottom 需与 priceToY 使用一致
10
- */
11
- export declare function yToPrice(y: number, maxPrice: number, minPrice: number, canvasHeight: number, paddingTop: number, paddingBottom: number): number;
@@ -1,87 +0,0 @@
1
- import { PriceRange } from './price';
2
- import { ScaleType } from '../utils/tickPosition';
3
- /**
4
- * Pane 级别的价格坐标系(价格 -> pane 内 Y)
5
- * - y=0 在 pane 顶部,y=height 在 pane 底部
6
- */
7
- export declare class PriceScale {
8
- private range;
9
- private height;
10
- private paddingTop;
11
- private paddingBottom;
12
- /** 价格偏移量(用于上下拖动平移价格轴)
13
- * 在对数模式下,此偏移量为 log 空间偏移 */
14
- private priceOffset;
15
- /** 垂直缩放系数(1=默认,>1 放大,<1 缩小) */
16
- private verticalScale;
17
- /** 刻度类型:线性或对数 */
18
- private scaleType;
19
- /** 对数变换公式(动态计算,适配极小价格) */
20
- private logFormula;
21
- setRange(r: PriceRange): void;
22
- setHeight(h: number): void;
23
- setPadding(top: number, bottom: number): void;
24
- getRange(): PriceRange;
25
- getPaddingTop(): number;
26
- getPaddingBottom(): number;
27
- /**
28
- * 设置价格偏移量
29
- * @param offset 价格偏移
30
- * - 线性模式:真实价格的线性偏移
31
- * - 对数模式:log 空间的偏移量
32
- */
33
- setPriceOffset(offset: number): void;
34
- /**
35
- * 获取当前价格偏移量
36
- */
37
- getPriceOffset(): number;
38
- /**
39
- * 重置价格偏移量
40
- */
41
- resetPriceOffset(): void;
42
- /**
43
- * 根据当前 range 和 verticalScale 对 priceOffset 进行 clamp,
44
- * 防止视口完全离开数据范围。
45
- */
46
- private clampOffset;
47
- /**
48
- * 按拖拽位移缩放 Y 轴(deltaY < 0 放大,deltaY > 0 缩小)
49
- */
50
- scaleByDelta(deltaY: number): void;
51
- getVerticalScale(): number;
52
- /**
53
- * 设置刻度类型
54
- * 切换时会自动转换 priceOffset 以保持视口位置
55
- */
56
- setScaleType(type: ScaleType): void;
57
- /**
58
- * 获取当前刻度类型
59
- */
60
- getScaleType(): ScaleType;
61
- /**
62
- * 获取显示范围(考虑 priceOffset 和 verticalScale)
63
- *
64
- * 对数模式下:
65
- * - 内部计算在 log 空间进行
66
- * - 返回的价格为真实价格
67
- */
68
- getDisplayRange(baseRange?: PriceRange): PriceRange;
69
- /**
70
- * 价格 → Y 坐标
71
- * 统一使用 getDisplayRange 的结果进行映射
72
- */
73
- priceToY(price: number): number;
74
- /**
75
- * Y 坐标 → 价格
76
- * 统一使用 getDisplayRange 的结果进行映射
77
- */
78
- yToPrice(y: number): number;
79
- /**
80
- * 根据像素偏移计算价格偏移
81
- * @param deltaY Y轴像素偏移(正数向下拖动)
82
- * @returns 对应的价格偏移量
83
- * - 线性模式:真实价格的偏移
84
- * - 对数模式:log 空间的偏移
85
- */
86
- deltaYToPriceOffset(deltaY: number): number;
87
- }
@@ -1,22 +0,0 @@
1
- import { Chart } from './chart';
2
- import { SubIndicatorType } from './renderers/Indicator';
3
- export interface SubPaneEntry {
4
- paneId: string;
5
- indicatorId: SubIndicatorType;
6
- params: Record<string, unknown>;
7
- rendererName: string;
8
- scaleRendererName: string;
9
- }
10
- export declare class SubPaneManager {
11
- private entries;
12
- create(chart: Chart, paneId: string, indicatorId: SubIndicatorType, params: Record<string, unknown>): boolean;
13
- remove(chart: Chart, paneId: string): void;
14
- replaceIndicator(chart: Chart, paneId: string, newIndicatorId: SubIndicatorType, newParams: Record<string, unknown>): void;
15
- updateParams(chart: Chart, paneId: string, params: Record<string, unknown>): void;
16
- getByPaneId(paneId: string): SubPaneEntry | undefined;
17
- getAll(): SubPaneEntry[];
18
- getPaneIds(): string[];
19
- clear(chart: Chart): void;
20
- private syncSchedulerConfig;
21
- private mountScaleRenderer;
22
- }
@@ -1,222 +0,0 @@
1
- /**
2
- * 主题感知颜色配置
3
- * 所有颜色通过 getColors(theme) 获取,支持 light/dark 双主题
4
- */
5
- /** 主题类型 */
6
- export type ChartTheme = 'light' | 'dark';
7
- /** 文本颜色 */
8
- export interface TextColors {
9
- PRIMARY: string;
10
- SECONDARY: string;
11
- TERTIARY: string;
12
- WEAK: string;
13
- WHITE: string;
14
- }
15
- /** 涨跌价格颜色 */
16
- export interface PriceColors {
17
- UP: string;
18
- UP_LIGHT: string;
19
- UP_TICK: string;
20
- DOWN: string;
21
- DOWN_LIGHT: string;
22
- DOWN_TICK: string;
23
- NEUTRAL: string;
24
- LAST_PRICE: string;
25
- }
26
- /** 标签背景颜色 */
27
- export interface TagBgColors {
28
- WHITE: string;
29
- LIGHT_GRAY: string;
30
- PURE_WHITE: string;
31
- TRANSPARENT: string;
32
- ACTIVE: string;
33
- ACTIVE_HOVER: string;
34
- HOVER: string;
35
- }
36
- /** 边框颜色 */
37
- export interface BorderColors {
38
- DARK: string;
39
- MEDIUM: string;
40
- LIGHT: string;
41
- SEPARATOR: string;
42
- BUTTON: string;
43
- }
44
- /** 网格线颜色 */
45
- export interface GridColors {
46
- HORIZONTAL: string;
47
- VERTICAL: string;
48
- }
49
- /** 十字线颜色 */
50
- export interface CrosshairColors {
51
- LINE: string;
52
- LABEL_BG: string;
53
- LABEL_TEXT: string;
54
- }
55
- /** 均线颜色 */
56
- export interface MAColors {
57
- MA5: string;
58
- MA10: string;
59
- MA20: string;
60
- MA30: string;
61
- MA60: string;
62
- }
63
- /** 布林带颜色 */
64
- export interface BOLLColors {
65
- UPPER: string;
66
- MIDDLE: string;
67
- LOWER: string;
68
- BAND_FILL: string;
69
- }
70
- /** MACD 颜色 */
71
- export interface MACDColors {
72
- DIF: string;
73
- DEA: string;
74
- BAR_UP: string;
75
- BAR_UP_LIGHT: string;
76
- BAR_DOWN: string;
77
- BAR_DOWN_LIGHT: string;
78
- }
79
- /** 成交量颜色 */
80
- export interface VolumeColors {
81
- UP: string;
82
- DOWN: string;
83
- NEUTRAL: string;
84
- }
85
- /** RSI 颜色 */
86
- export interface RSIColors {
87
- RSI1: string;
88
- RSI2: string;
89
- RSI3: string;
90
- }
91
- /** CCI 颜色 */
92
- export interface CCIColors {
93
- CCI: string;
94
- OVERBOUGHT: string;
95
- OVERSOLD: string;
96
- }
97
- /** KDJ/STOCH 颜色 */
98
- export interface KDJColors {
99
- K: string;
100
- D: string;
101
- J: string;
102
- }
103
- /** MOM 颜色 */
104
- export interface MOMColors {
105
- MOM: string;
106
- ZERO: string;
107
- }
108
- /** WMSR 颜色 */
109
- export interface WMSRColors {
110
- WMSR: string;
111
- OVERBOUGHT: string;
112
- OVERSOLD: string;
113
- }
114
- /** KST 颜色 */
115
- export interface KSTColors {
116
- KST: string;
117
- SIGNAL: string;
118
- }
119
- /** EXPMA 颜色 */
120
- export interface EXPMAColors {
121
- FAST: string;
122
- SLOW: string;
123
- }
124
- /** ENE 颜色 */
125
- export interface ENEColors {
126
- UPPER: string;
127
- MIDDLE: string;
128
- LOWER: string;
129
- BAND_FILL: string;
130
- }
131
- /** 标签专用颜色(收敛硬编码) */
132
- export interface LabelColors {
133
- BG: string;
134
- TEXT: string;
135
- }
136
- /** 最新价标签颜色 */
137
- export interface LastPriceLabelColors {
138
- BG: string;
139
- }
140
- /** 成交量价格标记颜色 */
141
- export interface VolumePriceColors {
142
- RISE_WITH: string;
143
- RISE_WITHOUT: string;
144
- FALL_WITH: string;
145
- FALL_WITHOUT: string;
146
- }
147
- /** Structure 指标颜色 */
148
- export interface StructureColors {
149
- HH: string;
150
- HL: string;
151
- LH: string;
152
- LL: string;
153
- CHOCH: string;
154
- BOS: string;
155
- }
156
- /** Zones 指标颜色 */
157
- export interface ZonesColors {
158
- FVG_BULL_FILL: string;
159
- FVG_BEAR_FILL: string;
160
- FVG_BULL_BORDER: string;
161
- FVG_BEAR_BORDER: string;
162
- OB_BULL_FILL: string;
163
- OB_BEAR_FILL: string;
164
- }
165
- /** 主题色值集合 */
166
- export interface ThemeColors {
167
- TEXT: TextColors;
168
- PRICE: PriceColors;
169
- TAG_BG: TagBgColors;
170
- BORDER: BorderColors;
171
- GRID: GridColors;
172
- CROSSHAIR: CrosshairColors;
173
- MA: MAColors;
174
- BOLL: BOLLColors;
175
- MACD: MACDColors;
176
- VOLUME: VolumeColors;
177
- RSI: RSIColors;
178
- CCI: CCIColors;
179
- KDJ: KDJColors;
180
- MOM: MOMColors;
181
- WMSR: WMSRColors;
182
- KST: KSTColors;
183
- EXPMA: EXPMAColors;
184
- ENE: ENEColors;
185
- /** 收敛的硬编码色值 */
186
- LABEL: LabelColors;
187
- LAST_PRICE_LABEL: LastPriceLabelColors;
188
- VOLUME_PRICE: VolumePriceColors;
189
- STRUCTURE: StructureColors;
190
- ZONES: ZonesColors;
191
- WMSR_GRID: string;
192
- }
193
- /**
194
- * 根据主题获取颜色配置
195
- * @param theme - 主题类型 'light' | 'dark'
196
- * @returns 主题色值集合
197
- */
198
- export declare function getColors(theme: ChartTheme): ThemeColors;
199
- /**
200
- * 日志颜色(与主题无关,保留常量导出)
201
- */
202
- export declare const LOG_COLORS: {
203
- readonly INFO: "background:#164586;color:#fff;";
204
- readonly SUCCESS: "background:#389e0d;color:#fff;";
205
- readonly WARN: "background:#d46b08;color:#fff;";
206
- readonly ERROR: "background:#cf1322;color:#fff;";
207
- readonly CONSOLE: "#666";
208
- };
209
- /**
210
- * 工具函数:根据涨跌返回颜色
211
- * @param type - 涨跌类型
212
- * @param theme - 主题类型
213
- * @returns 对应颜色
214
- */
215
- export declare function getPriceColor(type: 'up' | 'down' | 'neutral', theme?: ChartTheme): string;
216
- /**
217
- * 工具函数:根据涨跌百分比返回颜色
218
- * @param changePercent - 涨跌百分比
219
- * @param theme - 主题类型
220
- * @returns 对应颜色
221
- */
222
- export declare function getTickColor(changePercent: number, theme?: ChartTheme): string;
@@ -1,12 +0,0 @@
1
- /**
2
- * 图表字体配置
3
- * 字体栈:Trebuchet MS (Windows系统字体) -> Roboto -> Ubuntu -> 通用无衬线字体
4
- * 通过 Google Fonts CDN 加载 Roboto 和 Ubuntu
5
- */
6
- /** 数字和文本的标准字体栈 */
7
- export declare const FONT_FAMILY = "\"Trebuchet MS\", Roboto, Ubuntu, sans-serif";
8
- /** 获取指定字号的字体字符串,用于 Canvas ctx.font */
9
- export declare function getFont(size: number, options?: {
10
- bold?: boolean;
11
- }): string;
12
- export declare function setCanvasFont(ctx: CanvasRenderingContext2D, font: string): void;
@@ -1,28 +0,0 @@
1
- /**
2
- * K 线物理像素配置工具函数
3
- * 用于统一渲染、交互、视口计算的坐标系统
4
- */
5
- /**
6
- * 计算奇数化后的 K 线宽度(物理像素),确保影线能完美居中显示
7
- * @param kWidth K 线宽度(逻辑像素)
8
- * @param dpr 设备像素比
9
- * @returns 奇数化后的物理像素宽度
10
- */
11
- export declare function calcKWidthPx(kWidth: number, dpr: number): number;
12
- /**
13
- * 获取图表渲染使用的物理像素配置
14
- * @param kWidth K 线宽度(逻辑像素)
15
- * @param kGap K 线间隙(逻辑像素)
16
- * @param dpr 设备像素比
17
- * @returns 物理像素和逻辑像素的配置对象
18
- */
19
- export declare function getPhysicalKLineConfig(kWidth: number, kGap: number, dpr: number): {
20
- kWidthPx: number;
21
- kGapPx: number;
22
- unitPx: number;
23
- startXPx: number;
24
- kWidthLogical: number;
25
- kGapLogical: number;
26
- unitLogical: number;
27
- startXLogical: number;
28
- };
@@ -1,8 +0,0 @@
1
- /**
2
- * 根据面板高度计算网格线/价格标签数量
3
- * 刻度间距固定约 60px
4
- * @param height 面板高度(逻辑像素)
5
- * @param isMain 是否为主图面板(暂未使用,保留参数兼容)
6
- * @returns tick 数量
7
- */
8
- export declare function calculateTickCount(height: number, isMain?: boolean): number;
@@ -1,24 +0,0 @@
1
- export interface TickPosition {
2
- index: number;
3
- t: number;
4
- y: number;
5
- }
6
- export type ScaleType = 'linear' | 'log';
7
- export interface CalculateTickPositionsOptions {
8
- height: number;
9
- paddingTop: number;
10
- paddingBottom: number;
11
- isMain?: boolean;
12
- hideEdgeTicks?: boolean;
13
- scaleType?: ScaleType;
14
- }
15
- export declare function calculateTickPositions(options: CalculateTickPositionsOptions): TickPosition[];
16
- export interface TickPositionWithValue extends TickPosition {
17
- value: number;
18
- }
19
- export interface CalculateValueTickPositionsOptions extends CalculateTickPositionsOptions {
20
- valueMin: number;
21
- valueMax: number;
22
- logBase?: number;
23
- }
24
- export declare function calculateValueTickPositions(options: CalculateValueTickPositionsOptions): TickPositionWithValue[];
@@ -1,30 +0,0 @@
1
- /**
2
- * 缩放计算纯函数
3
- * 无副作用、无 DOM 访问,供 Vue 层直接调用
4
- */
5
- export interface ZoomConfig {
6
- minKWidth: number;
7
- maxKWidth: number;
8
- zoomLevelCount: number;
9
- dpr: number;
10
- }
11
- export interface ZoomResult {
12
- targetLevel: number;
13
- newKWidth: number;
14
- newKGap: number;
15
- newScrollLeft: number;
16
- }
17
- /** 将缩放级别转换为 K 线宽度(逻辑像素) */
18
- export declare function zoomLevelToKWidth(level: number, config: ZoomConfig): number;
19
- /** 根据K线宽度和DPR推导间隙(逻辑像素),K线越窄间距越小 */
20
- export declare function kGapFromKWidth(kWidth: number, dpr: number): number;
21
- /**
22
- * 缩放一级(+1 放大 / -1 缩小)
23
- * 返回新状态或 null(已达边界)
24
- */
25
- export declare function computeZoom(delta: number, mouseX: number, scrollLeft: number, currentLevel: number, currentKWidth: number, currentKGap: number, config: ZoomConfig): ZoomResult | null;
26
- /**
27
- * 缩放到指定级别
28
- * 返回新状态或 null(级别不变或无效)
29
- */
30
- export declare function computeZoomToLevel(targetLevel: number, anchorX: number, scrollLeft: number, currentLevel: number, currentKWidth: number, currentKGap: number, config: ZoomConfig): ZoomResult | null;
@@ -1,31 +0,0 @@
1
- import { KLineData } from '../../types/price';
2
- import { PriceRange } from '../scale/price';
3
- /**
4
- * 计算当前视口可见的 K 线索引范围(使用物理像素对齐)。
5
- *
6
- * - 所有计算在物理像素空间进行,确保与 calcKLinePositions 一致
7
- * - 会额外在左右各扩展 1 根(start-1/end+1),用于避免边缘裁剪带来的”断线/缺一根”观感
8
- *
9
- * @param scrollLeft 容器当前横向滚动量(逻辑像素)
10
- * @param viewWidth 绘图区域宽度(plotWidth,逻辑像素,不含右侧 yAxis)
11
- * @param kWidth 单根 K 线宽度(逻辑像素)
12
- * @param kGap K 线间距(逻辑像素)
13
- * @param totalDataCount 数据总条数
14
- * @param dpr 设备像素比
15
- */
16
- export declare function getVisibleRange(scrollLeft: number, viewWidth: number, kWidth: number, kGap: number, totalDataCount: number, dpr?: number): {
17
- start: number;
18
- end: number;
19
- };
20
- /**
21
- * 计算指定索引区间内的价格范围(max/min)。
22
- *
23
- * 主要用途:
24
- * - 为 pane 的 y 轴缩放与刻度提供 priceRange
25
- * - 为渲染器(网格线、极值标注等)提供可视区参考范围
26
- *
27
- * 注意:
28
- * - `endIndex` 为开区间(不包含)
29
- * - 若区间内无有效数据,会返回兜底范围 `{ maxPrice: 100, minPrice: 0 }`
30
- */
31
- export declare function getVisiblePriceRange(data: KLineData[], startIndex: number, endIndex: number): PriceRange;
@@ -1,8 +0,0 @@
1
- import { App } from 'vue';
2
- import { KLineChart } from './components';
3
- export * from './plugin';
4
- export { KLineChart };
5
- export type { KLineData } from './types/price';
6
- export declare const KMapPlugin: {
7
- install(app: App): void;
8
- };
File without changes
@@ -1,31 +0,0 @@
1
- /**
2
- * 配置管理器
3
- */
4
- export declare class ConfigManager {
5
- private configs;
6
- private defaults;
7
- /**
8
- * 注册插件的默认配置
9
- */
10
- registerDefaults(pluginName: string, defaults: Record<string, unknown>): void;
11
- /**
12
- * 获取配置
13
- */
14
- get<K = unknown>(pluginName: string, key: string, defaultValue?: K): K;
15
- /**
16
- * 设置配置
17
- */
18
- set(pluginName: string, key: string, value: unknown): void;
19
- /**
20
- * 批量设置配置
21
- */
22
- setAll(pluginName: string, config: Record<string, unknown>): void;
23
- /**
24
- * 获取插件所有配置
25
- */
26
- getAll(pluginName: string): Record<string, unknown>;
27
- /**
28
- * 清除插件配置
29
- */
30
- clear(pluginName?: string): void;
31
- }
@@ -1,34 +0,0 @@
1
- import { EventHandler } from './types';
2
- export declare class EventBus {
3
- private listeners;
4
- /**
5
- * 订阅事件
6
- */
7
- on<T = unknown>(event: string, handler: EventHandler<T>): void;
8
- /**
9
- * 取消订阅
10
- */
11
- off<T = unknown>(event: string, handler: EventHandler<T>): void;
12
- /**
13
- * 发布事件
14
- */
15
- emit<T = unknown>(event: string, data: T): void;
16
- /**
17
- * 订阅一次性事件
18
- *
19
- * 注册一个仅在事件首次触发时执行的回调。回调执行后会自动从监听队列中移除,
20
- * 确保后续相同事件的 emit 不会再触发该逻辑。
21
- *
22
- * @param event - 事件名称
23
- * @param handler - 待执行的回调函数
24
- */
25
- once<T = unknown>(event: string, handler: EventHandler<T>): void;
26
- /**
27
- * 清除所有事件监听
28
- */
29
- clear(): void;
30
- /**
31
- * 获取事件的监听器数量
32
- */
33
- listenerCount(event: string): number;
34
- }
@@ -1,28 +0,0 @@
1
- import { HookCallOptions, HookFn } from './types';
2
- export declare class HookSystem {
3
- private hooks;
4
- /**
5
- * 注册钩子
6
- */
7
- tap<T = unknown, R = unknown>(hookName: string, fn: HookFn<T, R>, priority?: number): void;
8
- /**
9
- * 移除钩子
10
- */
11
- untap(hookName: string, fn: HookFn): void;
12
- /**
13
- * 触发钩子(异步)
14
- */
15
- call<T = unknown, R = unknown>(hookName: string, context: T, options?: HookCallOptions): Promise<R[]>;
16
- /**
17
- * 触发钩子(同步)
18
- */
19
- callSync<T = unknown, R = unknown>(hookName: string, context: T, options?: HookCallOptions): R[];
20
- /**
21
- * 清除所有钩子
22
- */
23
- clear(): void;
24
- /**
25
- * 获取钩子数量
26
- */
27
- hookCount(hookName: string): number;
28
- }