@basic-genomics/hivtrace-viz 1.0.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 (53) hide show
  1. package/README.md +161 -0
  2. package/dist/060b2710bdbbe3dfe48b.svg +288 -0
  3. package/dist/1815e00441357e01619e.ttf +0 -0
  4. package/dist/2463b90d9a316e4e5294.woff2 +0 -0
  5. package/dist/2582b0e4bcf85eceead0.ttf +0 -0
  6. package/dist/4692b9ec53fd5972caa2.ttf +0 -0
  7. package/dist/5be1347c682810f199c7.eot +0 -0
  8. package/dist/82b1212e45a2bc35dd73.woff +0 -0
  9. package/dist/89999bdf5d835c012025.woff2 +0 -0
  10. package/dist/914997e1bdfc990d0897.ttf +0 -0
  11. package/dist/be810be3a3e14c682a25.woff2 +0 -0
  12. package/dist/c210719e60948b211a12.woff2 +0 -0
  13. package/dist/da94ef451f4969af06e6.ttf +0 -0
  14. package/dist/ea8f94e1d22e0d35ccd4.woff2 +0 -0
  15. package/dist/embed/060b2710bdbbe3dfe48b.svg +288 -0
  16. package/dist/embed/1815e00441357e01619e.ttf +0 -0
  17. package/dist/embed/2463b90d9a316e4e5294.woff2 +0 -0
  18. package/dist/embed/2582b0e4bcf85eceead0.ttf +0 -0
  19. package/dist/embed/4692b9ec53fd5972caa2.ttf +0 -0
  20. package/dist/embed/5be1347c682810f199c7.eot +0 -0
  21. package/dist/embed/82b1212e45a2bc35dd73.woff +0 -0
  22. package/dist/embed/89999bdf5d835c012025.woff2 +0 -0
  23. package/dist/embed/914997e1bdfc990d0897.ttf +0 -0
  24. package/dist/embed/be810be3a3e14c682a25.woff2 +0 -0
  25. package/dist/embed/c210719e60948b211a12.woff2 +0 -0
  26. package/dist/embed/da94ef451f4969af06e6.ttf +0 -0
  27. package/dist/embed/ea8f94e1d22e0d35ccd4.woff2 +0 -0
  28. package/dist/embed/hivtrace.css +19152 -0
  29. package/dist/embed/hivtrace.css.map +1 -0
  30. package/dist/embed/hivtrace.js +3 -0
  31. package/dist/embed/hivtrace.js.LICENSE.txt +38 -0
  32. package/dist/embed/hivtrace.js.map +1 -0
  33. package/dist/embed/index.html +1318 -0
  34. package/dist/embed/locales/en-US.json +168 -0
  35. package/dist/embed/locales/zh-CN.json +168 -0
  36. package/dist/hivtrace.css +19152 -0
  37. package/dist/hivtrace.css.map +1 -0
  38. package/dist/hivtrace.js +3 -0
  39. package/dist/hivtrace.js.LICENSE.txt +38 -0
  40. package/dist/hivtrace.js.map +1 -0
  41. package/dist/react/HivtraceViz.d.ts +8 -0
  42. package/dist/react/HivtraceViz.d.ts.map +1 -0
  43. package/dist/react/HivtraceViz.js +169 -0
  44. package/dist/react/index.d.ts +3 -0
  45. package/dist/react/index.d.ts.map +1 -0
  46. package/dist/react/index.js +1 -0
  47. package/dist/react/types.d.ts +82 -0
  48. package/dist/react/types.d.ts.map +1 -0
  49. package/dist/react/types.js +5 -0
  50. package/dist/vite-plugin/index.d.ts +13 -0
  51. package/dist/vite-plugin/index.d.ts.map +1 -0
  52. package/dist/vite-plugin/index.js +83 -0
  53. package/package.json +106 -0
package/README.md ADDED
@@ -0,0 +1,161 @@
1
+ # @basic-genomics/hivtrace-viz
2
+
3
+ HIV-TRACE 分子传播网络可视化组件,支持 React 集成和 Vite 开发服务器。
4
+
5
+ ## 功能特性
6
+
7
+ - 🔬 HIV 分子传播网络可视化
8
+ - ⚛️ React 组件封装
9
+ - 🔌 Vite 插件支持
10
+ - 🌐 国际化支持(中文/英文)
11
+ - 📦 支持 iframe 嵌入模式
12
+
13
+ ## 安装
14
+
15
+ ```bash
16
+ npm install @basic-genomics/hivtrace-viz
17
+ # 或
18
+ yarn add @basic-genomics/hivtrace-viz
19
+ ```
20
+
21
+ ## 使用方式
22
+
23
+ ### React 组件
24
+
25
+ ```tsx
26
+ import { HivtraceViz } from '@basic-genomics/hivtrace-viz/react';
27
+
28
+ function App() {
29
+ return (
30
+ <HivtraceViz
31
+ data={analysisData}
32
+ options={{
33
+ enableClusterTracking: true,
34
+ threshold: 0.015,
35
+ expand: ['cluster_1']
36
+ }}
37
+ onTrackCluster={(clusterInfo, networkInfo) => {
38
+ console.log('跟踪簇:', clusterInfo);
39
+ }}
40
+ onReady={() => console.log('可视化已就绪')}
41
+ error={fetchError?.message}
42
+ />
43
+ );
44
+ }
45
+ ```
46
+
47
+ ### Vite 插件
48
+
49
+ ```ts
50
+ // vite.config.ts
51
+ import { hivtraceVizPlugin } from '@basic-genomics/hivtrace-viz/vite';
52
+
53
+ export default defineConfig({
54
+ plugins: [
55
+ hivtraceVizPlugin({
56
+ base: '/hivtrace-viz' // 可选,默认 '/hivtrace-viz'
57
+ })
58
+ ]
59
+ });
60
+ ```
61
+
62
+ ### iframe 嵌入
63
+
64
+ ```html
65
+ <iframe
66
+ src="/hivtrace-viz/index.html"
67
+ style="width: 100%; height: 600px; border: none;">
68
+ </iframe>
69
+ ```
70
+
71
+ ## 开发指南
72
+
73
+ ### 环境要求
74
+
75
+ - Node.js >= 18
76
+ - Yarn 1.22+
77
+
78
+ ### 开发模式
79
+
80
+ ```bash
81
+ # 安装依赖
82
+ yarn install
83
+
84
+ # 启动开发服务器(热更新 + 预览页面)
85
+ yarn dev
86
+ ```
87
+
88
+ 开发服务器启动后:
89
+ - 自动打开 `http://localhost:8080/preview.html`
90
+ - 支持核心库热更新
91
+ - 支持 embed 模板热更新
92
+
93
+ ### 生产构建
94
+
95
+ ```bash
96
+ # 完整构建(推荐)
97
+ yarn build
98
+
99
+ # 分步构建
100
+ yarn build:core # 核心可视化库
101
+ yarn build:react # React 组件
102
+ yarn build:vite # Vite 插件
103
+ yarn build:embed # 嵌入资源
104
+ ```
105
+
106
+ ### 测试
107
+
108
+ 在宿主应用中测试:
109
+
110
+ ```bash
111
+ # 1. 在 hivtrace-viz 目录构建
112
+ yarn build
113
+
114
+ # 2. 在宿主应用目录
115
+ yarn add file:../hivtrace-viz-github
116
+
117
+ # 3. 启动宿主应用
118
+ yarn dev
119
+ ```
120
+
121
+ ## 项目结构
122
+
123
+ ```
124
+ hivtrace-viz/
125
+ ├── src/
126
+ │ ├── *.js # 核心可视化逻辑
127
+ │ ├── locales/ # 国际化文件
128
+ │ ├── react/ # React 组件
129
+ │ └── vite-plugin/ # Vite 插件
130
+ ├── template/
131
+ │ └── embed.html # 嵌入模板
132
+ ├── dist/ # 构建产物
133
+ │ ├── hivtrace.js # 核心库
134
+ │ ├── hivtrace.zh.js # 中文版本
135
+ │ ├── react/ # React 组件
136
+ │ ├── vite-plugin/ # Vite 插件
137
+ │ └── embed/ # 嵌入资源
138
+ └── preview.html # 开发预览
139
+ ```
140
+
141
+ ## Props API
142
+
143
+ | 属性 | 类型 | 说明 |
144
+ |------|------|------|
145
+ | `data` | `HivtraceVizData` | 分析数据 |
146
+ | `options` | `HivtraceVizOptions` | 配置选项 |
147
+ | `error` | `string` | 错误信息(API 错误时传入) |
148
+ | `loadingState` | `ReactNode \| null` | 自定义加载态,`null` 禁用 |
149
+ | `onTrackCluster` | `(info, data) => void` | 簇追踪回调 |
150
+ | `onReady` | `() => void` | 渲染完成回调 |
151
+
152
+ ## 国际化
153
+
154
+ 语言在构建时确定。默认生成中文版本。
155
+
156
+ - `zh-CN` - 简体中文(默认)
157
+ - `en-US` - English
158
+
159
+ ## License
160
+
161
+ MIT