@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
@@ -0,0 +1,199 @@
1
+ <template>
2
+ <div
3
+ class="drawing-style-toolbar"
4
+ @pointerdown.stop
5
+ @pointermove.stop
6
+ @pointerup.stop
7
+ >
8
+ <div class="toolbar-item color-item" title="颜色">
9
+ <span class="color-swatch" :style="{ background: drawing.style.stroke ?? '#2962ff' }"></span>
10
+ <input
11
+ type="color"
12
+ class="color-input"
13
+ :value="drawing.style.stroke ?? '#2962ff'"
14
+ @input="onColorChange(($event.target as HTMLInputElement).value)"
15
+ />
16
+ </div>
17
+
18
+ <select
19
+ class="toolbar-select"
20
+ :value="drawing.style.strokeWidth ?? 1"
21
+ @change="onWidthChange(Number(($event.target as HTMLSelectElement).value))"
22
+ title="线宽"
23
+ >
24
+ <option :value="1">1px</option>
25
+ <option :value="2">2px</option>
26
+ <option :value="3">3px</option>
27
+ <option :value="4">4px</option>
28
+ </select>
29
+
30
+ <select
31
+ class="toolbar-select"
32
+ :value="drawing.style.strokeStyle ?? 'solid'"
33
+ @change="onLineStyleChange(($event.target as HTMLSelectElement).value as 'solid' | 'dashed' | 'dotted')"
34
+ title="线型"
35
+ >
36
+ <option value="solid">实线</option>
37
+ <option value="dashed">虚线</option>
38
+ <option value="dotted">点线</option>
39
+ </select>
40
+
41
+ <button type="button" class="toolbar-btn delete-btn" title="删除" @click="$emit('delete')">
42
+ <svg class="delete-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
43
+ <path d="M3 6h18" />
44
+ <path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" />
45
+ <path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" />
46
+ </svg>
47
+ </button>
48
+ </div>
49
+ </template>
50
+
51
+ <script setup lang="ts">
52
+ import { onMounted, onUnmounted } from 'vue'
53
+
54
+ export interface DrawingStyle {
55
+ stroke?: string
56
+ strokeWidth?: number
57
+ strokeStyle?: 'solid' | 'dashed' | 'dotted'
58
+ fill?: string
59
+ }
60
+
61
+ export interface DrawingObject {
62
+ id: string
63
+ type: string
64
+ points: { x: number; y: number }[]
65
+ style: DrawingStyle
66
+ }
67
+
68
+ const props = defineProps<{
69
+ drawing: DrawingObject
70
+ }>()
71
+
72
+ const emit = defineEmits<{
73
+ (e: 'updateStyle', style: Partial<DrawingStyle>): void
74
+ (e: 'delete'): void
75
+ }>()
76
+
77
+ function onKeyDown(e: KeyboardEvent) {
78
+ if (e.key === 'Delete') {
79
+ e.preventDefault()
80
+ emit('delete')
81
+ }
82
+ }
83
+
84
+ onMounted(() => document.addEventListener('keydown', onKeyDown))
85
+ onUnmounted(() => document.removeEventListener('keydown', onKeyDown))
86
+
87
+ function onColorChange(color: string) {
88
+ emit('updateStyle', { stroke: color })
89
+ }
90
+
91
+ function onWidthChange(width: number) {
92
+ emit('updateStyle', { strokeWidth: width })
93
+ }
94
+
95
+ function onLineStyleChange(style: 'solid' | 'dashed' | 'dotted') {
96
+ emit('updateStyle', { strokeStyle: style })
97
+ }
98
+ </script>
99
+
100
+ <style scoped>
101
+ .drawing-style-toolbar {
102
+ position: absolute;
103
+ left: 50%;
104
+ top: 8px;
105
+ transform: translateX(-50%);
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 6px;
109
+ padding: 4px 8px;
110
+ height: 32px;
111
+ background: rgba(250, 251, 252, 0.88);
112
+ backdrop-filter: blur(8px);
113
+ -webkit-backdrop-filter: blur(8px);
114
+ border: 1px solid #e5e7eb;
115
+ border-radius: 6px;
116
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
117
+ z-index: 100;
118
+ user-select: none;
119
+ pointer-events: auto;
120
+ }
121
+
122
+ .toolbar-item {
123
+ display: inline-flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ }
127
+
128
+ .color-item {
129
+ position: relative;
130
+ width: 24px;
131
+ height: 24px;
132
+ }
133
+
134
+ .color-swatch {
135
+ display: block;
136
+ width: 100%;
137
+ height: 100%;
138
+ border: 1px solid #d1d5db;
139
+ border-radius: 4px;
140
+ cursor: pointer;
141
+ }
142
+
143
+ .color-input {
144
+ position: absolute;
145
+ inset: 0;
146
+ opacity: 0;
147
+ cursor: pointer;
148
+ width: 100%;
149
+ height: 100%;
150
+ }
151
+
152
+ .toolbar-select {
153
+ height: 24px;
154
+ padding: 0 4px;
155
+ border: 1px solid #d1d5db;
156
+ border-radius: 4px;
157
+ background: #fff;
158
+ color: #374151;
159
+ font-size: 12px;
160
+ cursor: pointer;
161
+ outline: none;
162
+ }
163
+
164
+ .toolbar-select:hover {
165
+ border-color: #9ca3af;
166
+ }
167
+
168
+ .toolbar-btn {
169
+ display: inline-flex;
170
+ align-items: center;
171
+ justify-content: center;
172
+ width: 24px;
173
+ height: 24px;
174
+ padding: 0;
175
+ border: 1px solid transparent;
176
+ border-radius: 4px;
177
+ background: transparent;
178
+ color: #6b7280;
179
+ cursor: pointer;
180
+ transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
181
+ }
182
+
183
+ .toolbar-btn:hover {
184
+ border-color: #d1d5db;
185
+ background: #f3f4f6;
186
+ color: #374151;
187
+ }
188
+
189
+ .delete-btn:hover {
190
+ color: #dc2626;
191
+ border-color: #fca5a5;
192
+ background: #fef2f2;
193
+ }
194
+
195
+ .delete-icon {
196
+ width: 14px;
197
+ height: 14px;
198
+ }
199
+ </style>