# @xiping/react-components - React 组件库 ## 项目概述 这是一个功能丰富的 React 组件库,提供了 20+ 个现代化的 UI 组件,涵盖了动画效果、交互组件、数据可视化、文本处理等多个领域。所有组件都基于 React 19+ 构建,支持 TypeScript,并提供了完整的 Storybook 文档。 ## 核心特性 - 🎨 **现代化设计**: 基于 HeroUI 和 Tailwind CSS 的现代 UI 设计 - ⚡ **高性能**: 使用 React 19+ 和优化的动画库 - 🎯 **TypeScript**: 完整的 TypeScript 支持 - 📱 **响应式**: 所有组件都支持响应式设计 - 🎭 **动画丰富**: 集成 Framer Motion 和多种动画效果 - 📚 **完整文档**: 提供 Storybook 文档和详细的使用示例 - 🔧 **高度可定制**: 支持主题、样式和行为的深度定制 ## 组件列表 ### 1. 动画组件 #### ConfettiButton - **功能**: 带有烟花效果的按钮组件 - **特性**: 基于 canvas-confetti,支持自定义烟花配置 - **使用场景**: 庆祝按钮、成功反馈、特殊交互 #### ShimmerButton - **功能**: 带有闪烁效果的按钮组件 - **特性**: 流光动画效果,现代化设计 - **使用场景**: 主要操作按钮、吸引注意力的交互 #### ShinyButton - **功能**: 带有光泽效果的按钮组件 - **特性**: 金属质感,光泽动画 - **使用场景**: 特殊按钮、装饰性元素 ### 2. 文本组件 #### TypingAnimation - **功能**: 打字机动画效果组件 - **特性**: 模拟打字效果,可控制速度 - **使用场景**: 欢迎页面、介绍文字、动态内容 #### TextAnimate - **功能**: 文本动画组件 - **特性**: 多种文本动画效果 - **使用场景**: 标题动画、强调文字 #### FlipText - **功能**: 翻转文字动画组件 - **特性**: 3D 翻转效果 - **使用场景**: 状态切换、动态显示 #### ComicText - **功能**: 漫画风格文字组件 - **特性**: 漫画气泡效果 - **使用场景**: 对话界面、游戏界面 #### SparklesText - **功能**: 闪烁文字组件 - **特性**: 星星闪烁效果 - **使用场景**: 特殊标题、装饰文字 #### MorphingText - **功能**: 文字变形动画组件 - **特性**: 文字形状变化动画 - **使用场景**: 创意标题、动态文字 #### HyperText - **功能**: 超文本组件 - **特性**: 支持链接和格式化 - **使用场景**: 富文本显示、文档展示 ### 3. 媒体组件 #### ImageViewer - **功能**: 图片查看器组件 - **特性**: 支持缩放、旋转、缩略图、下载 - **使用场景**: 图片画廊、产品展示、媒体查看 #### ImageCompare - **功能**: 图片对比组件 - **特性**: 滑块对比、并排显示 - **使用场景**: 产品对比、效果展示 #### VideoDialog - **功能**: 视频对话框组件 - **特性**: 模态框播放、控制栏 - **使用场景**: 视频播放、媒体展示 ### 4. 交互组件 #### PinchContent - **功能**: 支持捏合缩放的容器组件 - **特性**: 触摸手势支持、缩放控制 - **使用场景**: 图片查看、地图交互 #### ScratchToReveal - **功能**: 刮刮卡效果组件 - **特性**: 刮擦显示内容 - **使用场景**: 游戏、抽奖、隐藏内容 #### Pointer - **功能**: 自定义指针组件 - **特性**: 自定义鼠标指针效果 - **使用场景**: 特殊交互、游戏界面 #### Dock - **功能**: 停靠栏组件 - **特性**: macOS 风格的停靠栏 - **使用场景**: 应用启动器、快捷方式 ### 5. 数据可视化 #### ForceGraph3D - **功能**: 3D 力导向图组件 - **特性**: 基于 Three.js,支持节点拖拽、缩放、旋转 - **使用场景**: 网络关系图、数据可视化、知识图谱 ### 6. 文本处理 #### TxtReader - **功能**: 文本阅读器组件 - **特性**: 支持大文件、分页显示、阅读进度 - **使用场景**: 文档阅读、小说阅读器 #### TxtEditor - **功能**: 文本编辑器组件 - **特性**: 基于 Monaco Editor,语法高亮、代码编辑 - **使用场景**: 代码编辑、文本编辑、配置编辑 ### 7. 工具组件 #### QRCode - **功能**: 二维码生成组件 - **特性**: 支持自定义颜色、大小、错误纠正级别 - **使用场景**: 分享链接、支付码、信息展示 #### Message - **功能**: 消息提示组件 - **特性**: 多种消息类型、自动消失 - **使用场景**: 用户反馈、状态提示 #### Toast - **功能**: 轻提示组件 - **特性**: 非阻塞式提示 - **使用场景**: 操作反馈、临时信息 ### 8. 特效组件 #### BlurFade - **功能**: 模糊淡入淡出组件 - **特性**: 背景模糊效果 - **使用场景**: 模态框、焦点效果 ## 技术栈 ### 核心依赖 - **React**: 19.1.0 - 核心框架 - **TypeScript**: 5.8.3 - 类型支持 - **Vite**: 7.0.6 - 构建工具 ### UI 框架 - **HeroUI**: 2.8.1 - UI 组件库 - **Tailwind CSS**: 3.4.17 - 样式框架 - **Lucide React**: 0.525.0 - 图标库 ### 动画库 - **Framer Motion**: 12.23.9 - 动画库 - **React Spring**: 10.0.1 - 物理动画 - **Canvas Confetti**: 1.9.3 - 烟花效果 ### 编辑器 - **Monaco Editor**: 4.7.0 - 代码编辑器 - **React Markdown**: 10.1.0 - Markdown 渲染 ### 可视化 - **React Force Graph 3D**: 1.28.0 - 3D 图表 - **Three.js** - 3D 渲染 ### 工具库 - **Axios**: 1.11.0 - HTTP 客户端 - **Day.js**: 1.11.13 - 日期处理 - **Lodash-es**: 4.17.21 - 工具函数 - **Zustand**: 5.0.6 - 状态管理 ## 安装和使用 ### 安装 ```bash npm install @xiping/react-components ``` ### 基本使用 ```tsx import { ConfettiButton, ImageViewer } from '@xiping/react-components'; function App() { return (