@363045841yyt/klinechart 0.7.0 → 0.7.3-alpha.0

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 (233) 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 +1470 -16916
  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 +52 -81
  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/LICENSE +0 -21
  46. package/dist/favicon.ico +0 -0
  47. package/dist/mock-stock-data.json +0 -1
  48. package/dist/schema-CzmPW09E.cjs +0 -1
  49. package/dist/schema-DBMGp6Af.js +0 -437
  50. package/dist/src/App.vue.d.ts +0 -4
  51. package/dist/src/api/data/baostock.d.ts +0 -90
  52. package/dist/src/api/data/baostock.integration.test.d.ts +0 -1
  53. package/dist/src/api/data/index.d.ts +0 -26
  54. package/dist/src/api/data/kLine.d.ts +0 -11
  55. package/dist/src/api/data/types.d.ts +0 -33
  56. package/dist/src/api/data/unified.d.ts +0 -37
  57. package/dist/src/components/DrawingStyleToolbar.vue.d.ts +0 -12
  58. package/dist/src/components/KLineChart.vue.d.ts +0 -100
  59. package/dist/src/components/KLineTooltip.vue.d.ts +0 -17
  60. package/dist/src/components/MarkerTooltip.vue.d.ts +0 -13
  61. package/dist/src/components/index.d.ts +0 -2
  62. package/dist/src/config/chartSettings.d.ts +0 -69
  63. package/dist/src/core/chart-store.d.ts +0 -74
  64. package/dist/src/core/chart.d.ts +0 -420
  65. package/dist/src/core/controller/interaction.d.ts +0 -167
  66. package/dist/src/core/controller/markerInteraction.d.ts +0 -28
  67. package/dist/src/core/controller/pinchTracker.d.ts +0 -18
  68. package/dist/src/core/controller/tooltipPosition.d.ts +0 -21
  69. package/dist/src/core/draw/pixelAlign.d.ts +0 -114
  70. package/dist/src/core/drawing/index.d.ts +0 -47
  71. package/dist/src/core/drawing/interaction.d.ts +0 -75
  72. package/dist/src/core/drawing/plugin.d.ts +0 -27
  73. package/dist/src/core/indicators/atrState.d.ts +0 -16
  74. package/dist/src/core/indicators/bollState.d.ts +0 -34
  75. package/dist/src/core/indicators/calculators.d.ts +0 -465
  76. package/dist/src/core/indicators/cciState.d.ts +0 -15
  77. package/dist/src/core/indicators/chaikinVolState.d.ts +0 -18
  78. package/dist/src/core/indicators/cmfState.d.ts +0 -16
  79. package/dist/src/core/indicators/demaState.d.ts +0 -16
  80. package/dist/src/core/indicators/donchianState.d.ts +0 -23
  81. package/dist/src/core/indicators/eneState.d.ts +0 -30
  82. package/dist/src/core/indicators/expmaState.d.ts +0 -30
  83. package/dist/src/core/indicators/fastkState.d.ts +0 -15
  84. package/dist/src/core/indicators/fibState.d.ts +0 -26
  85. package/dist/src/core/indicators/hmaState.d.ts +0 -16
  86. package/dist/src/core/indicators/hvState.d.ts +0 -18
  87. package/dist/src/core/indicators/ichimokuState.d.ts +0 -44
  88. package/dist/src/core/indicators/indicator.worker.d.ts +0 -5
  89. package/dist/src/core/indicators/indicatorRuntime.d.ts +0 -126
  90. package/dist/src/core/indicators/kamaState.d.ts +0 -20
  91. package/dist/src/core/indicators/keltnerState.d.ts +0 -27
  92. package/dist/src/core/indicators/kstState.d.ts +0 -21
  93. package/dist/src/core/indicators/maState.d.ts +0 -26
  94. package/dist/src/core/indicators/macdState.d.ts +0 -58
  95. package/dist/src/core/indicators/mfiState.d.ts +0 -16
  96. package/dist/src/core/indicators/momState.d.ts +0 -15
  97. package/dist/src/core/indicators/obvState.d.ts +0 -14
  98. package/dist/src/core/indicators/parkinsonState.d.ts +0 -18
  99. package/dist/src/core/indicators/pivotState.d.ts +0 -29
  100. package/dist/src/core/indicators/pvtState.d.ts +0 -14
  101. package/dist/src/core/indicators/rocState.d.ts +0 -16
  102. package/dist/src/core/indicators/rsiState.d.ts +0 -39
  103. package/dist/src/core/indicators/sarState.d.ts +0 -26
  104. package/dist/src/core/indicators/scheduler.d.ts +0 -237
  105. package/dist/src/core/indicators/soa.d.ts +0 -115
  106. package/dist/src/core/indicators/stateComposer.d.ts +0 -146
  107. package/dist/src/core/indicators/stochState.d.ts +0 -18
  108. package/dist/src/core/indicators/structureState.d.ts +0 -43
  109. package/dist/src/core/indicators/supertrendState.d.ts +0 -22
  110. package/dist/src/core/indicators/temaState.d.ts +0 -16
  111. package/dist/src/core/indicators/trixState.d.ts +0 -20
  112. package/dist/src/core/indicators/vmaState.d.ts +0 -16
  113. package/dist/src/core/indicators/volumeProfileState.d.ts +0 -34
  114. package/dist/src/core/indicators/vwapState.d.ts +0 -16
  115. package/dist/src/core/indicators/wmaState.d.ts +0 -16
  116. package/dist/src/core/indicators/wmsrState.d.ts +0 -15
  117. package/dist/src/core/indicators/workerProtocol.d.ts +0 -496
  118. package/dist/src/core/indicators/zonesState.d.ts +0 -26
  119. package/dist/src/core/layout/pane.d.ts +0 -103
  120. package/dist/src/core/marker/registry.d.ts +0 -174
  121. package/dist/src/core/paneRenderer.d.ts +0 -45
  122. package/dist/src/core/renderers/Indicator/atr.d.ts +0 -17
  123. package/dist/src/core/renderers/Indicator/boll.d.ts +0 -2
  124. package/dist/src/core/renderers/Indicator/cci.d.ts +0 -21
  125. package/dist/src/core/renderers/Indicator/chaikinVol.d.ts +0 -4
  126. package/dist/src/core/renderers/Indicator/cmf.d.ts +0 -4
  127. package/dist/src/core/renderers/Indicator/dema.d.ts +0 -5
  128. package/dist/src/core/renderers/Indicator/donchian.d.ts +0 -5
  129. package/dist/src/core/renderers/Indicator/ene.d.ts +0 -10
  130. package/dist/src/core/renderers/Indicator/expma.d.ts +0 -2
  131. package/dist/src/core/renderers/Indicator/fastk.d.ts +0 -21
  132. package/dist/src/core/renderers/Indicator/fib.d.ts +0 -4
  133. package/dist/src/core/renderers/Indicator/hma.d.ts +0 -5
  134. package/dist/src/core/renderers/Indicator/hv.d.ts +0 -4
  135. package/dist/src/core/renderers/Indicator/ichimoku.d.ts +0 -5
  136. package/dist/src/core/renderers/Indicator/index.d.ts +0 -59
  137. package/dist/src/core/renderers/Indicator/indicatorData.d.ts +0 -13
  138. package/dist/src/core/renderers/Indicator/kama.d.ts +0 -5
  139. package/dist/src/core/renderers/Indicator/keltner.d.ts +0 -5
  140. package/dist/src/core/renderers/Indicator/kst.d.ts +0 -21
  141. package/dist/src/core/renderers/Indicator/ma.d.ts +0 -3
  142. package/dist/src/core/renderers/Indicator/macd.d.ts +0 -49
  143. package/dist/src/core/renderers/Indicator/macdLegend.d.ts +0 -12
  144. package/dist/src/core/renderers/Indicator/mainIndicatorLegend.d.ts +0 -10
  145. package/dist/src/core/renderers/Indicator/mfi.d.ts +0 -4
  146. package/dist/src/core/renderers/Indicator/mom.d.ts +0 -21
  147. package/dist/src/core/renderers/Indicator/obv.d.ts +0 -4
  148. package/dist/src/core/renderers/Indicator/parkinson.d.ts +0 -4
  149. package/dist/src/core/renderers/Indicator/pivot.d.ts +0 -4
  150. package/dist/src/core/renderers/Indicator/pvt.d.ts +0 -4
  151. package/dist/src/core/renderers/Indicator/roc.d.ts +0 -5
  152. package/dist/src/core/renderers/Indicator/rsi.d.ts +0 -32
  153. package/dist/src/core/renderers/Indicator/sar.d.ts +0 -5
  154. package/dist/src/core/renderers/Indicator/scale/atr_scale.d.ts +0 -11
  155. package/dist/src/core/renderers/Indicator/scale/cci_scale.d.ts +0 -11
  156. package/dist/src/core/renderers/Indicator/scale/fastk_scale.d.ts +0 -11
  157. package/dist/src/core/renderers/Indicator/scale/indicator_scale.d.ts +0 -35
  158. package/dist/src/core/renderers/Indicator/scale/kst_scale.d.ts +0 -11
  159. package/dist/src/core/renderers/Indicator/scale/macd_scale.d.ts +0 -14
  160. package/dist/src/core/renderers/Indicator/scale/mom_scale.d.ts +0 -11
  161. package/dist/src/core/renderers/Indicator/scale/rsi_scale.d.ts +0 -11
  162. package/dist/src/core/renderers/Indicator/scale/stoch_scale.d.ts +0 -11
  163. package/dist/src/core/renderers/Indicator/scale/volume_scale.d.ts +0 -14
  164. package/dist/src/core/renderers/Indicator/scale/wmsr_scale.d.ts +0 -11
  165. package/dist/src/core/renderers/Indicator/stoch.d.ts +0 -21
  166. package/dist/src/core/renderers/Indicator/structure.d.ts +0 -4
  167. package/dist/src/core/renderers/Indicator/subPaneConfig.d.ts +0 -9
  168. package/dist/src/core/renderers/Indicator/supertrend.d.ts +0 -5
  169. package/dist/src/core/renderers/Indicator/tema.d.ts +0 -5
  170. package/dist/src/core/renderers/Indicator/trix.d.ts +0 -5
  171. package/dist/src/core/renderers/Indicator/vma.d.ts +0 -4
  172. package/dist/src/core/renderers/Indicator/volumeProfile.d.ts +0 -4
  173. package/dist/src/core/renderers/Indicator/vwap.d.ts +0 -4
  174. package/dist/src/core/renderers/Indicator/wma.d.ts +0 -5
  175. package/dist/src/core/renderers/Indicator/wmsr.d.ts +0 -21
  176. package/dist/src/core/renderers/Indicator/zones.d.ts +0 -4
  177. package/dist/src/core/renderers/candle.d.ts +0 -20
  178. package/dist/src/core/renderers/crosshair.d.ts +0 -17
  179. package/dist/src/core/renderers/customMarkers.d.ts +0 -6
  180. package/dist/src/core/renderers/extremaMarkers.d.ts +0 -5
  181. package/dist/src/core/renderers/gridLines.d.ts +0 -7
  182. package/dist/src/core/renderers/lastPrice.d.ts +0 -9
  183. package/dist/src/core/renderers/paneTitle.d.ts +0 -40
  184. package/dist/src/core/renderers/subVolume.d.ts +0 -13
  185. package/dist/src/core/renderers/timeAxis.d.ts +0 -14
  186. package/dist/src/core/renderers/webgl/candleSurface.d.ts +0 -80
  187. package/dist/src/core/renderers/webgl/sharedWebGLSurface.d.ts +0 -33
  188. package/dist/src/core/renderers/yAxis.d.ts +0 -14
  189. package/dist/src/core/scale/logFormula.d.ts +0 -66
  190. package/dist/src/core/scale/price.d.ts +0 -11
  191. package/dist/src/core/scale/priceScale.d.ts +0 -87
  192. package/dist/src/core/subPaneManager.d.ts +0 -22
  193. package/dist/src/core/theme/colors.d.ts +0 -243
  194. package/dist/src/core/theme/fonts.d.ts +0 -12
  195. package/dist/src/core/utils/klineConfig.d.ts +0 -28
  196. package/dist/src/core/utils/tickCount.d.ts +0 -8
  197. package/dist/src/core/utils/tickPosition.d.ts +0 -24
  198. package/dist/src/core/utils/zoom.d.ts +0 -30
  199. package/dist/src/core/viewport/viewport.d.ts +0 -31
  200. package/dist/src/index.d.ts +0 -8
  201. package/dist/src/main.d.ts +0 -0
  202. package/dist/src/plugin/ConfigManager.d.ts +0 -31
  203. package/dist/src/plugin/EventBus.d.ts +0 -34
  204. package/dist/src/plugin/HookSystem.d.ts +0 -28
  205. package/dist/src/plugin/PluginHost.d.ts +0 -54
  206. package/dist/src/plugin/PluginRegistry.d.ts +0 -40
  207. package/dist/src/plugin/StateStore.d.ts +0 -37
  208. package/dist/src/plugin/index.d.ts +0 -11
  209. package/dist/src/plugin/rendererPluginManager.d.ts +0 -77
  210. package/dist/src/plugin/stateKeys.d.ts +0 -6
  211. package/dist/src/plugin/types.d.ts +0 -439
  212. package/dist/src/semantic/controller.d.ts +0 -35
  213. package/dist/src/semantic/drawShape.d.ts +0 -14
  214. package/dist/src/semantic/index.d.ts +0 -8
  215. package/dist/src/semantic/types.d.ts +0 -298
  216. package/dist/src/semantic/validator.d.ts +0 -43
  217. package/dist/src/test-setup.d.ts +0 -6
  218. package/dist/src/types/kLine.d.ts +0 -3
  219. package/dist/src/types/price.d.ts +0 -31
  220. package/dist/src/types/volumePrice.d.ts +0 -26
  221. package/dist/src/utils/cache.d.ts +0 -33
  222. package/dist/src/utils/dateFormat.d.ts +0 -83
  223. package/dist/src/utils/http.d.ts +0 -14
  224. package/dist/src/utils/kLineDraw/MA.d.ts +0 -12
  225. package/dist/src/utils/kLineDraw/axis.d.ts +0 -150
  226. package/dist/src/utils/kLineDraw/grid.d.ts +0 -30
  227. package/dist/src/utils/kLineDraw/kLine.d.ts +0 -15
  228. package/dist/src/utils/kline/format.d.ts +0 -14
  229. package/dist/src/utils/kline/viewport.d.ts +0 -10
  230. package/dist/src/utils/logger.d.ts +0 -5
  231. package/dist/src/utils/mock/genRandomPriceData.d.ts +0 -3
  232. package/dist/src/utils/priceToY.d.ts +0 -7
  233. package/dist/src/utils/volumePrice.d.ts +0 -54
@@ -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,243 +0,0 @@
1
- /**
2
- * 统一颜色配置
3
- * 所有文本颜色集中管理,确保视觉一致性
4
- */
5
- /**
6
- * 文本颜色标准
7
- */
8
- export declare const TEXT_COLORS: {
9
- /**
10
- * 主要文本:深石墨色
11
- * 对应你原来的 hsl(210, 9%, 31%),作为视觉重心
12
- */
13
- readonly PRIMARY: "hsl(210, 9%, 31%)";
14
- /**
15
- * 次要文本:灰蓝色调
16
- * 用于副标题、正文
17
- */
18
- readonly SECONDARY: "hsl(210, 9%, 35%)";
19
- /**
20
- * 辅助文本:用于标签、占位符
21
- */
22
- readonly TERTIARY: "hsl(210, 8%, 50%)";
23
- /**
24
- * 弱文本/禁用状态:用于页脚、失效信息
25
- */
26
- readonly WEAK: "hsl(210, 7%, 65%)";
27
- /**
28
- * 反白文字:92% 不透明度的纯白
29
- * 这种做法很好,避免了纯白刺眼
30
- */
31
- readonly WHITE: "rgba(255, 255, 255, 0.92)";
32
- };
33
- /**
34
- * 涨跌颜色(股票配色)
35
- */
36
- export declare const PRICE_COLORS: {
37
- /** 上涨颜色(红) */
38
- readonly UP: "rgba(214, 10, 34, 1)";
39
- readonly UP_LIGHT: "rgba(214, 10, 34, 0.92)";
40
- readonly UP_TICK: "hsl(0, 60%, 50%)";
41
- /** 下跌颜色(绿) */
42
- readonly DOWN: "rgba(3, 123, 102, 1)";
43
- readonly DOWN_LIGHT: "rgba(3, 123, 102, 0.92)";
44
- readonly DOWN_TICK: "hsl(150, 30%, 60%)";
45
- /** 中性颜色 */
46
- readonly NEUTRAL: "rgba(0, 0, 0, 0.78)";
47
- /** 最新价颜色 */
48
- readonly LAST_PRICE: "rgba(196, 74, 86, 0.95)";
49
- };
50
- /**
51
- * 十字线标签背景颜色
52
- */
53
- export declare const TAG_BG_COLORS: {
54
- /** 白色背景 */
55
- readonly WHITE: "rgb(255, 255, 255)";
56
- /** 浅灰背景 */
57
- readonly LIGHT_GRAY: "rgba(255, 255, 255, 0.92)";
58
- /** 纯白背景 */
59
- readonly PURE_WHITE: "#ffffff";
60
- /** 透明背景 */
61
- readonly TRANSPARENT: "transparent";
62
- /** 激活状态背景 */
63
- readonly ACTIVE: "#1890ff";
64
- readonly ACTIVE_HOVER: "#40a9ff";
65
- /** 悬停背景 */
66
- readonly HOVER: "#f0f0f0";
67
- };
68
- /**
69
- * 边框颜色
70
- */
71
- export declare const BORDER_COLORS: {
72
- /** 深色边框 */
73
- readonly DARK: "rgba(0, 0, 0, 0.12)";
74
- /** 中色边框 */
75
- readonly MEDIUM: "rgba(0, 0, 0, 0.10)";
76
- /** 浅色边框 */
77
- readonly LIGHT: "rgba(0, 0, 0, 0.08)";
78
- /** 分隔线 */
79
- readonly SEPARATOR: "rgba(0, 0, 0, 0.10)";
80
- /** 按钮边框 */
81
- readonly BUTTON: "#d0d0d0";
82
- };
83
- /**
84
- * 网格线颜色
85
- */
86
- export declare const GRID_COLORS: {
87
- /** 水平网格线 */
88
- readonly HORIZONTAL: "rgba(0, 0, 0, 0.06)";
89
- /** 垂直网格线 */
90
- readonly VERTICAL: "rgba(0, 0, 0, 0.12)";
91
- };
92
- /**
93
- * 均线颜色
94
- */
95
- export declare const MA_COLORS: {
96
- readonly MA5: "rgba(255, 193, 37, 1)";
97
- readonly MA10: "rgba(190, 131, 12, 1)";
98
- readonly MA20: "rgba(69, 112, 249, 1)";
99
- readonly MA30: "rgba(76, 175, 80, 1)";
100
- readonly MA60: "rgba(156, 39, 176, 1)";
101
- };
102
- /**
103
- * 布林带颜色
104
- */
105
- export declare const BOLL_COLORS: {
106
- /** 上轨颜色 */
107
- readonly UPPER: "rgba(178, 34, 34, 1)";
108
- /** 中轨颜色(与 MA20 相同) */
109
- readonly MIDDLE: "rgba(69, 112, 249, 1)";
110
- /** 下轨颜色 */
111
- readonly LOWER: "rgba(34, 139, 34, 1)";
112
- /** 带状区域填充 */
113
- readonly BAND_FILL: "rgba(100, 149, 237, 0.1)";
114
- };
115
- /**
116
- * MACD 颜色
117
- */
118
- export declare const MACD_COLORS: {
119
- /** DIF 线颜色(快线)- 与 MA20 相同 */
120
- readonly DIF: "rgba(69, 112, 249, 1)";
121
- /** DEA 线颜色(慢线)- 橙色 */
122
- readonly DEA: "rgba(255, 152, 0, 1)";
123
- /** MACD 柱红色(正值上升) */
124
- readonly BAR_UP: "#ff5252";
125
- /** MACD 柱淡红色(正值下降) */
126
- readonly BAR_UP_LIGHT: "#fccbcd";
127
- /** MACD 柱绿色(负值下降) */
128
- readonly BAR_DOWN: "#22ab94";
129
- /** MACD 柱淡绿色(负值上升) */
130
- readonly BAR_DOWN_LIGHT: "#ace5dc";
131
- };
132
- /**
133
- * 成交量颜色(与 MACD 柱子配色一致)
134
- */
135
- export declare const VOLUME_COLORS: {
136
- /** 上涨柱子(与 MACD BAR_UP 一致) */
137
- readonly UP: "#ff5252";
138
- /** 下跌柱子(与 MACD BAR_DOWN 一致) */
139
- readonly DOWN: "#22ab94";
140
- /** 中性/平盘柱子 */
141
- readonly NEUTRAL: "rgba(0, 0, 0, 0.78)";
142
- };
143
- /**
144
- * RSI 颜色
145
- */
146
- export declare const RSI_COLORS: {
147
- readonly RSI1: "rgba(69, 112, 249, 1)";
148
- readonly RSI2: "rgba(255, 152, 0, 1)";
149
- readonly RSI3: "rgba(156, 39, 176, 1)";
150
- };
151
- /**
152
- * CCI 颜色
153
- */
154
- export declare const CCI_COLORS: {
155
- readonly CCI: "rgba(69, 112, 249, 1)";
156
- /** 超买线 +100 */
157
- readonly OVERBOUGHT: "rgba(214, 10, 34, 0.5)";
158
- /** 超卖线 -100 */
159
- readonly OVERSOLD: "rgba(3, 123, 102, 0.5)";
160
- };
161
- /**
162
- * KDJ/STOCH 颜色
163
- */
164
- export declare const KDJ_COLORS: {
165
- readonly K: "rgba(69, 112, 249, 1)";
166
- readonly D: "rgba(255, 152, 0, 1)";
167
- readonly J: "rgba(156, 39, 176, 1)";
168
- };
169
- /**
170
- * MOM 颜色
171
- */
172
- export declare const MOM_COLORS: {
173
- readonly MOM: "rgba(69, 112, 249, 1)";
174
- readonly ZERO: "rgba(0, 0, 0, 0.2)";
175
- };
176
- /**
177
- * WMSR 颜色
178
- */
179
- export declare const WMSR_COLORS: {
180
- readonly WMSR: "rgba(69, 112, 249, 1)";
181
- /** 超买线 -20 */
182
- readonly OVERBOUGHT: "rgba(214, 10, 34, 0.5)";
183
- /** 超卖线 -80 */
184
- readonly OVERSOLD: "rgba(3, 123, 102, 0.5)";
185
- };
186
- /**
187
- * KST 颜色
188
- */
189
- export declare const KST_COLORS: {
190
- readonly KST: "rgba(69, 112, 249, 1)";
191
- readonly SIGNAL: "rgba(255, 152, 0, 1)";
192
- };
193
- /**
194
- * EXPMA 颜色
195
- */
196
- export declare const EXPMA_COLORS: {
197
- /** 快线颜色(橙色,参考 RSI2) */
198
- readonly FAST: "rgba(255, 152, 0, 1)";
199
- /** 慢线颜色(蓝色) */
200
- readonly SLOW: "rgba(69, 112, 249, 1)";
201
- };
202
- /**
203
- * ENE 轨道线颜色
204
- */
205
- export declare const ENE_COLORS: {
206
- /** 上轨颜色(红色) */
207
- readonly UPPER: "rgba(214, 10, 34, 1)";
208
- /** 中轨颜色(蓝色) */
209
- readonly MIDDLE: "rgba(69, 112, 249, 1)";
210
- /** 下轨颜色(绿色) */
211
- readonly LOWER: "rgba(3, 123, 102, 1)";
212
- /** 带状区域填充 */
213
- readonly BAND_FILL: "rgba(69, 112, 249, 0.08)";
214
- };
215
- /**
216
- * 十字线颜色
217
- */
218
- export declare const CROSSHAIR_COLORS: {
219
- /** 十字线颜色 */
220
- readonly LINE: "rgba(0, 0, 0, 0.28)";
221
- /** 十字线标签背景 */
222
- readonly LABEL_BG: "rgb(0, 0, 0)";
223
- /** 十字线标签文本 */
224
- readonly LABEL_TEXT: "rgba(255, 255, 255, 0.92)";
225
- };
226
- /**
227
- * 日志颜色
228
- */
229
- export declare const LOG_COLORS: {
230
- readonly INFO: "background:#164586;color:#fff;";
231
- readonly SUCCESS: "background:#389e0d;color:#fff;";
232
- readonly WARN: "background:#d46b08;color:#fff;";
233
- readonly ERROR: "background:#cf1322;color:#fff;";
234
- readonly CONSOLE: "#666";
235
- };
236
- /**
237
- * 工具函数:根据涨跌返回颜色
238
- */
239
- export declare function getPriceColor(type: 'up' | 'down' | 'neutral'): "rgba(214, 10, 34, 1)" | "rgba(3, 123, 102, 1)" | "rgba(0, 0, 0, 0.78)";
240
- /**
241
- * 工具函数:根据涨跌百分比返回颜色
242
- */
243
- export declare function getTickColor(changePercent: number): "hsl(0, 60%, 50%)" | "hsl(150, 30%, 60%)";
@@ -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
- }
@@ -1,54 +0,0 @@
1
- import { Plugin, PluginConfig, PluginHost, PluginState, BaseIndicatorState, PluginLogger, HookCallOptions } from './types';
2
- export declare class PluginHostImpl implements PluginHost {
3
- private registry;
4
- private eventBus;
5
- private hookSystem;
6
- private configManager;
7
- private stateStore;
8
- private isDestroyed;
9
- private logger;
10
- constructor(logger?: PluginLogger);
11
- readonly events: {
12
- on: <T = unknown>(event: string, handler: (data: T) => void) => void;
13
- off: <T = unknown>(event: string, handler: (data: T) => void) => void;
14
- emit: <T = unknown>(event: string, data: T) => void;
15
- once: <T = unknown>(event: string, handler: (data: T) => void) => void;
16
- };
17
- readonly hooks: {
18
- tap: <T = unknown, R = unknown>(hookName: string, fn: (context: T) => R | Promise<R>, priority?: number) => void;
19
- untap: (hookName: string, fn: (context: unknown) => unknown) => void;
20
- call: <T = unknown, R = unknown>(hookName: string, context: T, options?: HookCallOptions) => Promise<R[]>;
21
- callSync: <T = unknown, R = unknown>(hookName: string, context: T, options?: HookCallOptions) => R[];
22
- };
23
- getConfig<K = unknown>(pluginName: string, key: string, defaultValue?: K): K;
24
- setConfig(pluginName: string, key: string, value: unknown): void;
25
- getPlugin<T extends Plugin = Plugin>(name: string): T | undefined;
26
- log(level: 'info' | 'warn' | 'error', message: string, ...args: unknown[]): void;
27
- setSharedState<T extends BaseIndicatorState>(namespace: string, state: T, ownerId?: string): void;
28
- getSharedState<T extends BaseIndicatorState>(namespace: string): T | undefined;
29
- clearSharedState(namespace: string): void;
30
- registerStateOwner(ownerId: string, namespaces: string[]): void;
31
- clearByOwner(ownerId: string): void;
32
- /**
33
- * 安装插件
34
- */
35
- use(plugin: Plugin, config?: PluginConfig): Promise<void>;
36
- /**
37
- * 移除插件
38
- */
39
- remove(name: string): Promise<void>;
40
- /**
41
- * 获取所有插件
42
- */
43
- getPlugins(): import('./types').PluginDescriptor[];
44
- /**
45
- * 获取插件状态
46
- */
47
- getState(name: string): PluginState | undefined;
48
- /**
49
- * 销毁宿主
50
- */
51
- destroy(): Promise<void>;
52
- private ensureNotDestroyed;
53
- }
54
- export declare function createPluginHost(logger?: PluginLogger): PluginHostImpl;