@mathwiz/ui-components 0.1.3 → 0.1.5

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 (2) hide show
  1. package/README.md +637 -67
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,69 +1,639 @@
1
- # React + TypeScript + Vite
2
-
3
- This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
-
5
- Currently, two official plugins are available:
6
-
7
- - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
8
- - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
-
10
- ## Expanding the ESLint configuration
11
-
12
- If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
13
-
14
- ```js
15
- export default tseslint.config([
16
- globalIgnores(['dist']),
17
- {
18
- files: ['**/*.{ts,tsx}'],
19
- extends: [
20
- // Other configs...
21
-
22
- // Remove tseslint.configs.recommended and replace with this
23
- ...tseslint.configs.recommendedTypeChecked,
24
- // Alternatively, use this for stricter rules
25
- ...tseslint.configs.strictTypeChecked,
26
- // Optionally, add this for stylistic rules
27
- ...tseslint.configs.stylisticTypeChecked,
28
-
29
- // Other configs...
30
- ],
31
- languageOptions: {
32
- parserOptions: {
33
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
34
- tsconfigRootDir: import.meta.dirname,
35
- },
36
- // other options...
37
- },
38
- },
39
- ])
40
- ```
41
-
42
- You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
43
-
44
- ```js
45
- // eslint.config.js
46
- import reactX from 'eslint-plugin-react-x'
47
- import reactDom from 'eslint-plugin-react-dom'
48
-
49
- export default tseslint.config([
50
- globalIgnores(['dist']),
51
- {
52
- files: ['**/*.{ts,tsx}'],
53
- extends: [
54
- // Other configs...
55
- // Enable lint rules for React
56
- reactX.configs['recommended-typescript'],
57
- // Enable lint rules for React DOM
58
- reactDom.configs.recommended,
59
- ],
60
- languageOptions: {
61
- parserOptions: {
62
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
63
- tsconfigRootDir: import.meta.dirname,
64
- },
65
- // other options...
66
- },
1
+ # @mathwiz/ui-components
2
+
3
+ 一个基于 React + TypeScript + Vite + Storybook 构建的小学数学益智教育网站 UI 组件库。专注于开发高质量、可复用的 UI 组件,支持小学数学教育平台的快速开发。
4
+
5
+ ## 📦 组件库信息
6
+
7
+ - **包名**: `@mathwiz/ui-components`
8
+ - **版本**: 0.1.4
9
+ - **描述**: A collection of reusable UI components for React applications within the mathwiz ecosystem.
10
+ - **GitHub**: [https://github.com/moleusher/mathwiz-UI](https://github.com/moleusher/mathwiz-UI)
11
+ - **Storybook**: [本地开发地址](http://localhost:6006)
12
+
13
+ ## 🚀 环境配置
14
+
15
+ ### 安装依赖
16
+ ```bash
17
+ npm install
18
+ ```
19
+
20
+ ### 开发命令
21
+ ```bash
22
+ # 启动开发服务器
23
+ npm run dev # 端口 5173
24
+
25
+ # 启动 Storybook
26
+ npm run storybook # 端口 6006
27
+
28
+ # 运行测试
29
+ npm test # 运行所有测试
30
+ npm run test:watch # 监听模式运行测试
31
+ npm run test:coverage # 生成测试覆盖率报告
32
+
33
+ # 构建项目
34
+ npm run build # 构建生产版本
35
+ npm run build-storybook # 构建 Storybook
36
+ ```
37
+
38
+ ### 端口检查
39
+ ```bash
40
+ # 检查端口占用
41
+ netstat -ano | findstr :6007
42
+ netstat -ano | findstr :6006
43
+
44
+ # 强制结束进程
45
+ taskkill //F //PID <PID>
46
+ ```
47
+
48
+ ## 📚 导出的组件
49
+
50
+ ### 基础 UI 组件
51
+ - **Button** - 按钮组件
52
+ - **ContentAccordion** - 内容折叠面板
53
+ - **Sidebar** - 侧边栏组件
54
+ - **MathWizHeader** - 网站头部组件
55
+ - **Submenu** - 下拉菜单组件
56
+ - **UserProfile** - 用户资料组件
57
+
58
+ ### 雷达能力评估组件
59
+ - **RadarChart** - 雷达图组件
60
+ - **AbilityAssessmentDashboard** - 能力评估仪表板
61
+ - **AbilityProgressBar** - 能力进度条
62
+ - **PersonalizedAdvicePanel** - 个性化建议面板
63
+ - **RecommendationCard** - 推荐卡片
64
+
65
+ ### 页面级组件
66
+ - **GradeUnitBrowserPage** - 年级单元浏览页面
67
+ - **GradeUnitBrowserProvider** - 年级单元浏览上下文
68
+
69
+ ### 数据与工具
70
+ - **数据类型** - 完整的 TypeScript 类型定义
71
+ - **工具函数** - 几何计算等工具函数
72
+ - **数据配置** - 课程数据、用户进度等
73
+
74
+ ## 🎨 样式参数化配置
75
+
76
+ ### MathWizHeader 参数化样式
77
+
78
+ #### 变体 (variant)
79
+ - `primary` - 主色渐变
80
+ - `secondary` - 副色渐变
81
+ - `gradient` - 自定义渐变
82
+ - `solid` - 纯色背景
83
+ - `bordered` - 边框样式
84
+
85
+ #### 颜色主题 (color)
86
+ - `default` - 默认主题
87
+ - `primary` - 主色主题
88
+ - `success` - 成功色主题
89
+ - `warning` - 警告色主题
90
+ - `danger` - 危险色主题
91
+
92
+ #### Logo 尺寸 (logoSize)
93
+ - `sm` - 小号
94
+ - `md` - 中号 (默认)
95
+ - `lg` - 大号
96
+ - `xl` - 超大号
97
+
98
+ #### 探索按钮变体 (exploreButtonVariant)
99
+ - `solid` - 实心按钮
100
+ - `bordered` - 边框按钮
101
+ - `light` - 轻量按钮
102
+ - `flat` - 扁平按钮
103
+ - `faded` - 淡化按钮
104
+ - `shadow` - 阴影按钮
105
+
106
+ ### 使用示例
107
+
108
+ ```typescript
109
+ import { MathWizHeader } from '@mathwiz/ui-components';
110
+
111
+ // 基本使用
112
+ <MathWizHeader
113
+ variant="primary"
114
+ color="success"
115
+ logoText="MathWiz"
116
+ />
117
+
118
+ // 自定义渐变
119
+ <MathWizHeader
120
+ variant="gradient"
121
+ gradientFrom="#8b5cf6"
122
+ gradientTo="#06b6d4"
123
+ gradientVia="#3b82f6"
124
+ height={80}
125
+ exploreButtonVariant="shadow"
126
+ exploreButtonColor="primary"
127
+ />
128
+
129
+ // 纯色主题
130
+ <MathWizHeader
131
+ variant="solid"
132
+ background="#f4f4f5"
133
+ logoColor="#18181b"
134
+ exploreButtonVariant="bordered"
135
+ exploreButtonColor="primary"
136
+ />
137
+ ```
138
+
139
+ ## 🚀 在实际项目中使用
140
+
141
+ ### 安装依赖
142
+
143
+ ```bash
144
+ # 安装组件库
145
+ npm install @mathwiz/ui-components
146
+
147
+ # 安装必需的第三方依赖
148
+ npm install @heroui/react@^2.8.4
149
+ npm install lucide-react@^0.541.0
150
+ npm install zustand@^5.0.8
151
+ ```
152
+
153
+ ### 必需依赖说明
154
+
155
+ #### HeroUI 依赖
156
+ - **版本**: `@heroui/react@^2.8.4`
157
+ - **作用**: 提供基础 UI 组件和样式系统
158
+ - **必需**: 所有组件都依赖 HeroUI 的样式和主题系统
159
+
160
+ #### 其他依赖
161
+ - `lucide-react@^0.541.0` - 图标库
162
+ - `zustand@^5.0.8` - 状态管理
163
+
164
+ ### HeroUIProvider 配置
165
+
166
+ **必须**在项目根组件中使用 `<HeroUIProvider>` 包装,因为组件库的所有组件都依赖 HeroUI 的样式系统:
167
+
168
+ ```typescript
169
+ import React from 'react';
170
+ import { HeroUIProvider } from '@heroui/react';
171
+ import { MathWizHeader, GradeUnitBrowserPage, GradeUnitBrowserProvider } from '@mathwiz/ui-components';
172
+
173
+ function App() {
174
+ return (
175
+ <HeroUIProvider>
176
+ {/* 使用组件库组件 */}
177
+ <MathWizHeader
178
+ logoText="MathWiz"
179
+ variant="gradient"
180
+ exploreItems={[
181
+ { id: 'grade-1', label: '一年级', status: 'new' },
182
+ { id: 'grade-2', label: '二年级', status: '10%' }
183
+ ]}
184
+ userData={{
185
+ id: 'user-123',
186
+ name: '学生用户',
187
+ avatar: '/avatars/student.png',
188
+ level: 5,
189
+ badges: ['math-beginner']
190
+ }}
191
+ />
192
+
193
+ <GradeUnitBrowserProvider>
194
+ <GradeUnitBrowserPage
195
+ gradeId="g5"
196
+ userId="student-123"
197
+ onLearnAction={(item) => console.log('学习:', item)}
198
+ />
199
+ </GradeUnitBrowserProvider>
200
+ </HeroUIProvider>
201
+ );
202
+ }
203
+
204
+ export default App;
205
+ ```
206
+
207
+ ### 完整使用示例
208
+
209
+ #### 1. 基础页面布局
210
+
211
+ ```typescript
212
+ import React from 'react';
213
+ import { HeroUIProvider } from '@heroui/react';
214
+ import {
215
+ MathWizHeader,
216
+ Sidebar,
217
+ GradeUnitBrowserPage,
218
+ GradeUnitBrowserProvider
219
+ } from '@mathwiz/ui-components';
220
+
221
+ function MathLearningApp() {
222
+ return (
223
+ <HeroUIProvider>
224
+ <div className="app-layout">
225
+ <MathWizHeader
226
+ logoText="MathWiz"
227
+ variant="gradient"
228
+ userData={{
229
+ id: 'user-123',
230
+ name: '小明同学',
231
+ avatar: '/avatars/xiaoming.png',
232
+ level: 5,
233
+ badges: ['math-beginner', 'quick-learner']
234
+ }}
235
+ />
236
+
237
+ <div className="main-content">
238
+ <Sidebar />
239
+ <div className="content-area">
240
+ <GradeUnitBrowserProvider>
241
+ <GradeUnitBrowserPage
242
+ gradeId="g5"
243
+ userId="user-123"
244
+ onLearnAction={(item) => {
245
+ // 处理学习动作
246
+ console.log('开始学习:', item.title);
247
+ }}
248
+ />
249
+ </GradeUnitBrowserProvider>
250
+ </div>
251
+ </div>
252
+ </div>
253
+ </HeroUIProvider>
254
+ );
255
+ }
256
+ ```
257
+
258
+ #### 2. 雷达能力评估页面
259
+
260
+ ```typescript
261
+ import React from 'react';
262
+ import { HeroUIProvider } from '@heroui/react';
263
+ import {
264
+ MathWizHeader,
265
+ AbilityAssessmentDashboard,
266
+ RadarChart,
267
+ PersonalizedAdvicePanel
268
+ } from '@mathwiz/ui-components';
269
+
270
+ function AbilityAssessmentPage() {
271
+ const abilityData = {
272
+ math: 85,
273
+ logic: 70,
274
+ geometry: 90,
275
+ algebra: 65,
276
+ statistics: 75
277
+ };
278
+
279
+ return (
280
+ <HeroUIProvider>
281
+ <MathWizHeader
282
+ variant="solid"
283
+ background="#f8fafc"
284
+ logoColor="#1e293b"
285
+ exploreButtonVariant="bordered"
286
+ />
287
+
288
+ <div className="assessment-container">
289
+ <AbilityAssessmentDashboard
290
+ studentName="小明"
291
+ gradeLevel={5}
292
+ overallScore={77}
293
+ />
294
+
295
+ <div className="charts-section">
296
+ <RadarChart
297
+ data={abilityData}
298
+ title="能力雷达图"
299
+ size={300}
300
+ />
301
+
302
+ <PersonalizedAdvicePanel
303
+ strengths={['几何', '数学基础']}
304
+ weaknesses={['代数', '逻辑推理']}
305
+ recommendations={[
306
+ '建议加强代数基础练习',
307
+ '多做逻辑推理题目',
308
+ '保持几何学习的优势'
309
+ ]}
310
+ />
311
+ </div>
312
+ </div>
313
+ </HeroUIProvider>
314
+ );
315
+ }
316
+ ```
317
+
318
+ #### 3. 自定义主题配置
319
+
320
+ ```typescript
321
+ import React from 'react';
322
+ import { HeroUIProvider, createTheme } from '@heroui/react';
323
+ import { MathWizHeader } from '@mathwiz/ui-components';
324
+
325
+ // 自定义主题
326
+ const customTheme = createTheme({
327
+ type: "light",
328
+ theme: {
329
+ colors: {
330
+ primary: '#8b5cf6',
331
+ secondary: '#06b6d4',
332
+ success: '#10b981',
333
+ warning: '#f59e0b',
334
+ danger: '#ef4444'
335
+ }
336
+ }
337
+ });
338
+
339
+ function CustomThemeApp() {
340
+ return (
341
+ <HeroUIProvider theme={customTheme}>
342
+ <MathWizHeader
343
+ variant="primary"
344
+ color="primary"
345
+ logoText="MathWiz"
346
+ exploreButtonVariant="solid"
347
+ exploreButtonColor="primary"
348
+ />
349
+ {/* 其他组件 */}
350
+ </HeroUIProvider>
351
+ );
352
+ }
353
+ ```
354
+
355
+ ### 样式导入说明
356
+
357
+ 组件库自带完整的样式系统,无需额外导入 CSS 文件:
358
+
359
+ ```typescript
360
+ // 正确 - 无需额外导入样式
361
+ import { MathWizHeader } from '@mathwiz/ui-components';
362
+
363
+ // 错误 - 不需要导入外部 CSS
364
+ // import '@mathwiz/ui-components/dist/styles.css'; // 不需要
365
+ ```
366
+
367
+ ### 数据集成
368
+
369
+ 组件库支持多种数据集成方式:
370
+
371
+ #### 1. 直接传入数据
372
+ ```typescript
373
+ <MathWizHeader
374
+ userData={{
375
+ id: 'user-123',
376
+ name: '学生用户',
377
+ avatar: '/avatars/student.png',
378
+ level: 5
379
+ }}
380
+ exploreItems={[
381
+ { id: 'grade-1', label: '一年级', status: 'new' },
382
+ { id: 'grade-2', label: '二年级', status: '10%' }
383
+ ]}
384
+ />
385
+ ```
386
+
387
+ #### 2. 使用模拟数据
388
+ ```typescript
389
+ import { mockUserData, mockExploreItems } from '@mathwiz/ui-components';
390
+
391
+ <MathWizHeader
392
+ userData={mockUserData}
393
+ exploreItems={mockExploreItems}
394
+ />
395
+ ```
396
+
397
+ #### 3. API 集成
398
+ ```typescript
399
+ import { useEffect, useState } from 'react';
400
+ import { MathWizHeader, UserData, ExploreItem } from '@mathwiz/ui-components';
401
+
402
+ function App() {
403
+ const [userData, setUserData] = useState<UserData>();
404
+ const [exploreItems, setExploreItems] = useState<ExploreItem[]>([]);
405
+
406
+ useEffect(() => {
407
+ // 从 API 获取数据
408
+ fetch('/api/user/profile')
409
+ .then(res => res.json())
410
+ .then(setUserData);
411
+
412
+ fetch('/api/explore/items')
413
+ .then(res => res.json())
414
+ .then(data => setExploreItems(data.items));
415
+ }, []);
416
+
417
+ return (
418
+ <HeroUIProvider>
419
+ <MathWizHeader
420
+ userData={userData}
421
+ exploreItems={exploreItems}
422
+ isLoading={!userData}
423
+ />
424
+ </HeroUIProvider>
425
+ );
426
+ }
427
+ ```
428
+
429
+ ### 注意事项
430
+
431
+ 1. **必需包装**: 所有组件必须在 `<HeroUIProvider>` 内部使用
432
+ 2. **版本兼容**: 确保 HeroUI 版本为 `^2.8.4`
433
+ 3. **样式继承**: 组件库继承 HeroUI 的主题系统,支持自定义主题
434
+ 4. **类型安全**: 完整的 TypeScript 类型定义
435
+ 5. **无障碍访问**: 所有组件都支持键盘导航和屏幕阅读器
436
+
437
+ ### 故障排除
438
+
439
+ #### 样式不显示
440
+ - 检查是否使用了 `<HeroUIProvider>`
441
+ - 确认 HeroUI 版本正确
442
+ - 检查浏览器控制台是否有错误
443
+
444
+ #### 组件不渲染
445
+ - 检查 props 类型是否正确
446
+ - 确认数据格式符合类型定义
447
+ - 查看 Storybook 中的使用示例
448
+
449
+ ## 📖 组件故事
450
+
451
+ ### Storybook 故事结构
452
+ - **默认状态** - 基础组件展示
453
+ - **交互状态** - 悬停、点击等交互效果
454
+ - **参数化样式** - 各种样式变体展示
455
+ - **响应式布局** - 移动端适配
456
+ - **无障碍访问** - 键盘导航和屏幕阅读器支持
457
+
458
+ ### 主要故事分类
459
+ - **基础组件** - Button, ContentAccordion 等
460
+ - **复合组件** - MathWizHeader, Sidebar 等
461
+ - **数据展示** - RadarChart, AbilityProgressBar 等
462
+ - **页面组件** - GradeUnitBrowserPage 等
463
+
464
+ ## 🔧 模拟数据与 API
465
+
466
+ ### 数据契约
467
+
468
+ #### 用户数据类型
469
+ ```typescript
470
+ interface UserData {
471
+ id: string;
472
+ name: string;
473
+ avatar: string;
474
+ level: number;
475
+ badges: string[];
476
+ token?: string;
477
+ progress?: {
478
+ overall: number;
479
+ byUnit: Record<string, number>;
480
+ };
481
+ }
482
+ ```
483
+
484
+ #### 探索菜单项类型
485
+ ```typescript
486
+ interface ExploreItem {
487
+ id: string;
488
+ label: string;
489
+ status?: string;
490
+ href?: string;
491
+ target?: string;
492
+ onClick?: (item: ExploreItem) => void;
493
+ }
494
+ ```
495
+
496
+ #### 课程单元类型
497
+ ```typescript
498
+ interface CourseUnit {
499
+ id: string;
500
+ title: string;
501
+ english: string;
502
+ category: string;
503
+ unitNumber: number;
504
+ progress: number;
505
+ skills: string[];
506
+ children: Lesson[];
507
+ lessonsCount: number;
508
+ estimatedDuration: string;
509
+ }
510
+ ```
511
+
512
+ ### API 契约
513
+
514
+ #### 用户相关 API
515
+ - `GET /api/user/profile` - 获取用户资料
516
+ - `GET /api/user/grade/units/nav` - 获取年级单元导航
517
+
518
+ #### 课程相关 API
519
+ - `GET /api/curriculum/grade-5` - 获取五年级课程数据
520
+ - `POST /api/units/:unitId/progress` - 更新单元进度
521
+ - `POST /api/lessons/:lessonId/toggle` - 切换课程完成状态
522
+
523
+ #### 探索菜单 API
524
+ - `GET /api/explore/items` - 获取探索菜单项
525
+
526
+ ### 模拟数据源
527
+
528
+ #### 用户数据
529
+ ```typescript
530
+ const mockUserData = {
531
+ id: 'user-123',
532
+ name: '学生用户',
533
+ avatar: '/avatars/student.png',
534
+ level: 5,
535
+ badges: ['math-beginner', 'quick-learner']
536
+ };
537
+ ```
538
+
539
+ #### 探索菜单数据
540
+ ```typescript
541
+ const mockExploreItems = [
542
+ { id: 'grade-1', label: '一年级', status: 'new' },
543
+ { id: 'grade-2', label: '二年级', status: '10%' },
544
+ { id: 'grade-3', label: '三年级', status: '25%' },
545
+ { id: 'grade-4', label: '四年级', status: '50%' },
546
+ { id: 'grade-5', label: '五年级', status: '75%' },
547
+ { id: 'grade-6', label: '六年级', status: 'completed' }
548
+ ];
549
+ ```
550
+
551
+ #### 课程数据
552
+ 基于可汗学院五年级数学课程结构,包含:
553
+ - 小数乘法
554
+ - 位置(坐标与位置)
555
+ - 小数除法
556
+ - 可能性
557
+ - 简易方程
558
+ - 多边形面积
559
+ - 植树问题
560
+
561
+ ### MSW 模拟配置
562
+
563
+ 组件库集成了 MSW (Mock Service Worker) 用于 API 模拟:
564
+
565
+ ```typescript
566
+ // 在 Storybook 中自动启用 MSW
567
+ import { initialize, mswLoader } from 'msw-storybook-addon';
568
+ initialize();
569
+
570
+ const preview: Preview = {
571
+ parameters: {
572
+ msw: { handlers: [] }
67
573
  },
68
- ])
574
+ loaders: [mswLoader]
575
+ };
576
+ ```
577
+
578
+ ## 🏗️ 技术架构
579
+
580
+ ### 核心依赖
581
+ - **React**: ^18.3.1
582
+ - **TypeScript**: ~5.8.3
583
+ - **Vite**: ^7.1.2
584
+ - **Storybook**: ^9.1.3
585
+ - **Zustand**: ^5.0.8 (状态管理)
586
+ - **HeroUI**: ^2.8.4 (UI 组件库)
587
+ - **Lucide React**: ^0.541.0 (图标库)
588
+
589
+ ### 开发工具
590
+ - **Vitest**: ^3.2.4 (单元测试)
591
+ - **Testing Library**: ^16.3.0 (测试工具)
592
+ - **Playwright**: ^1.55.0 (E2E 测试)
593
+ - **MSW**: ^2.11.1 (API 模拟)
594
+ - **ESLint**: ^9.33.0 (代码检查)
595
+ - **Tailwind CSS**: ^4.1.12 (样式框架)
596
+
597
+ ### Storybook Addons
598
+ - @chromatic-com/storybook: ^4.1.1
599
+ - @storybook/addon-docs: ^9.1.3
600
+ - @storybook/addon-a11y: ^9.1.3
601
+ - @storybook/addon-vitest: ^9.1.3
602
+ - msw-storybook-addon: ^2.0.5
603
+
604
+ ## 📁 项目结构
605
+
606
+ ```
607
+ react-storybook-mcp/
608
+ ├── src/
609
+ │ ├── components/ # UI 组件
610
+ │ │ ├── gradeNavigate/ # 年级导航相关组件
611
+ │ │ ├── radarAbility/ # 雷达能力评估组件
612
+ │ │ ├── common/ # 通用基础组件
613
+ │ │ └── layout/ # 布局组件
614
+ │ ├── data/ # 数据文件
615
+ │ ├── store/ # Zustand 状态管理
616
+ │ ├── types/ # TypeScript 类型定义
617
+ │ ├── hooks/ # 自定义 Hooks
618
+ │ └── utils/ # 工具函数
619
+ ├── .storybook/ # Storybook 配置
620
+ ├── docs/ # 开发文档
621
+ ├── tests/ # 测试文件
622
+ └── public/ # 静态资源
69
623
  ```
624
+
625
+ ## 🔒 安全说明
626
+
627
+ 本组件库仅用于防御性安全任务,不包含任何恶意代码。所有组件都经过严格的安全审查,确保不会用于凭证发现、爬取敏感信息或其他恶意用途。
628
+
629
+ ## 🤝 贡献指南
630
+
631
+ 欢迎提交 Issue 和 Pull Request!请确保:
632
+ - 遵循 TDD 开发模式
633
+ - 编写完整的 Storybook 故事
634
+ - 通过所有测试
635
+ - 更新相关文档
636
+
637
+ ## 📄 许可证
638
+
639
+ MIT License
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mathwiz/ui-components",
3
3
  "private": false,
4
- "version": "0.1.3",
4
+ "version": "0.1.5",
5
5
  "description": "A collection of reusable UI components for React applications within the mathwiz ecosystem.",
6
6
  "main": "dist/index.cjs",
7
7
  "module": "dist/index.mjs",