kline-charts-react 0.0.2 → 0.0.4

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.
package/README.md CHANGED
@@ -82,12 +82,41 @@ function App() {
82
82
  ```tsx
83
83
  <KLineChart
84
84
  symbol="sh600519"
85
- period="weekly" // K 线
85
+ defaultPeriod="weekly" // 非受控模式下默认显示周 K
86
86
  />
87
87
  ```
88
88
 
89
89
  可选周期:`timeline` | `timeline5` | `1` | `5` | `15` | `30` | `60` | `daily` | `weekly` | `monthly`
90
90
 
91
+ ### 受控 / 非受控
92
+
93
+ `period`、`adjust`、`indicators` 支持受控模式;`defaultPeriod`、`defaultAdjust`、`defaultIndicators` 用于非受控默认值。
94
+
95
+ ```tsx
96
+ // 非受控
97
+ <KLineChart
98
+ symbol="sh600519"
99
+ defaultPeriod="daily"
100
+ defaultAdjust="qfq"
101
+ defaultIndicators={['ma', 'volume', 'macd']}
102
+ />
103
+ ```
104
+
105
+ ```tsx
106
+ // 受控
107
+ function App() {
108
+ const [period, setPeriod] = useState<PeriodType>('daily');
109
+
110
+ return (
111
+ <KLineChart
112
+ symbol="sh600519"
113
+ period={period}
114
+ onPeriodChange={setPeriod}
115
+ />
116
+ );
117
+ }
118
+ ```
119
+
91
120
  ### 配置技术指标
92
121
 
93
122
  ```tsx
@@ -211,6 +240,14 @@ function App() {
211
240
  }
212
241
  ```
213
242
 
243
+ ### `unstable` 二级导出
244
+
245
+ 主入口只保留稳定导出。如果你明确需要内部 hooks / 子组件,请从 `kline-charts-react/unstable` 引入:
246
+
247
+ ```tsx
248
+ import { useKlineData, Toolbar } from 'kline-charts-react/unstable';
249
+ ```
250
+
214
251
  ## API 文档
215
252
 
216
253
  ### KLineChartProps
@@ -219,12 +256,15 @@ function App() {
219
256
  |------|------|--------|------|
220
257
  | `symbol` | `string` | **必填** | 股票代码,如 `sh600519`、`sz000001` |
221
258
  | `market` | `'A' \| 'HK' \| 'US'` | `'A'` | 市场类型 |
222
- | `period` | `PeriodType` | `'daily'` | K 线周期 |
223
- | `adjust` | `'' \| 'qfq' \| 'hfq'` | `'qfq'` | 复权类型(前复权) |
259
+ | `period` | `PeriodType` | - | 当前 K 线周期(受控) |
260
+ | `defaultPeriod` | `PeriodType` | `'daily'` | 非受控模式下默认周期 |
261
+ | `adjust` | `'' \| 'qfq' \| 'hfq'` | - | 当前复权类型(受控) |
262
+ | `defaultAdjust` | `'' \| 'qfq' \| 'hfq'` | `'qfq'` | 非受控模式下默认复权 |
224
263
  | `height` | `number \| string` | `500` | 图表高度 |
225
264
  | `width` | `number \| string` | `'100%'` | 图表宽度 |
226
265
  | `theme` | `'light' \| 'dark' \| ThemeConfig` | `'light'` | 主题配置 |
227
- | `indicators` | `IndicatorType[]` | `['ma', 'volume', 'macd']` | 启用的技术指标 |
266
+ | `indicators` | `IndicatorType[]` | - | 当前启用的技术指标(受控) |
267
+ | `defaultIndicators` | `IndicatorType[]` | `['ma', 'volume', 'macd']` | 非受控模式下默认指标 |
228
268
  | `indicatorOptions` | `IndicatorOptions` | - | 指标参数配置 |
229
269
  | `showToolbar` | `boolean` | `true` | 是否显示工具栏 |
230
270
  | `showPeriodSelector` | `boolean` | `true` | 是否显示周期切换 |
@@ -236,8 +276,13 @@ function App() {
236
276
  | `requestOptions` | `RequestOptions` | - | 请求控制配置 |
237
277
  | `autoRefresh` | `boolean \| AutoRefreshOptions` | - | 自动刷新配置 |
238
278
  | `echartsOption` | `EChartsOption` | - | 自定义 ECharts 配置 |
279
+ | `echartsOptionMerge` | `EChartsOptionMergeOptions` | - | ECharts Option 合并策略 |
280
+ | `panes` | `PaneConfig[]` | - | 自定义面板布局,支持单副图多指标 |
239
281
  | `onDataLoad` | `(data: KlineData[]) => void` | - | 数据加载回调 |
240
282
  | `onPeriodChange` | `(period: PeriodType) => void` | - | 周期切换回调 |
283
+ | `onAdjustChange` | `(adjust: AdjustType) => void` | - | 复权切换回调 |
284
+ | `onIndicatorsChange` | `(indicators: IndicatorType[]) => void` | - | 指标切换回调 |
285
+ | `onVisibleRangeChange` | `({ start, end }) => void` | - | 当前 dataZoom 可见范围变化 |
241
286
  | `onError` | `(error: Error) => void` | - | 错误回调 |
242
287
 
243
288
  ### KLineChartRef
@@ -246,9 +291,11 @@ function App() {
246
291
  |------|------|
247
292
  | `refresh()` | 刷新数据 |
248
293
  | `setPeriod(period)` | 切换周期 |
294
+ | `setAdjust(adjust)` | 切换复权 |
249
295
  | `setIndicators(indicators)` | 切换指标 |
250
296
  | `zoomTo(start, end)` | 缩放到指定范围 |
251
297
  | `resetZoom()` | 重置缩放 |
298
+ | `getVisibleRange()` | 获取当前可见范围 `{ start, end }` |
252
299
  | `getEchartsInstance()` | 获取 ECharts 实例 |
253
300
  | `exportImage(type?)` | 导出图片(png/jpeg) |
254
301
  | `getData()` | 获取当前数据 |
@@ -410,16 +457,26 @@ yarn dev
410
457
  # 构建组件库
411
458
  yarn build
412
459
 
413
- # 构建 playground 生产版本(使用 npm 包)
460
+ # 构建 playground 生产版本
414
461
  yarn build:playground
415
462
 
416
463
  # 代码检查
417
464
  yarn lint
465
+
466
+ # 类型检查
467
+ yarn typecheck
468
+
469
+ # 单元测试
470
+ yarn test:run
471
+
472
+ # 打包校验
473
+ yarn pack:check
418
474
  ```
419
475
 
420
476
  **开发模式说明**:
421
477
  - `yarn dev` 会启动 playground,直接引用 `src/` 下的源码,修改源码后自动热更新
422
- - 生产构建时,playground 会使用 npm 上发布的 `kline-charts-react`
478
+ - `playground/` 通过本地 `file:..` 依赖引用当前仓库,避免和 npm 上的历史版本漂移
479
+ - CI 会执行 `lint`、`typecheck`、`test:run`、`build`、`build:playground` 和 `pack:check`
423
480
 
424
481
  ## 已知限制
425
482