├── .gitignore ├── README.md ├── node_modules ├── .bin │ ├── uuid │ ├── uuid.cmd │ └── uuid.ps1 ├── .package-lock.json ├── react-icons │ ├── LICENSE │ ├── README.md │ ├── ai │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── bi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── bs │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── cg │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── ci │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── di │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fa │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fa6 │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fc │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── fi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── gi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── go │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── gr │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── hi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── hi2 │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── im │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── index.d.ts │ ├── index.js │ ├── index.mjs │ ├── io │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── io5 │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── lia │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── lib │ │ ├── iconBase.d.ts │ │ ├── iconBase.js │ │ ├── iconBase.mjs │ │ ├── iconContext.d.ts │ │ ├── iconContext.js │ │ ├── iconContext.mjs │ │ ├── iconsManifest.d.ts │ │ ├── iconsManifest.js │ │ ├── iconsManifest.mjs │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── lu │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── package.json │ ├── pi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── ri │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── rx │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── si │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── sl │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── tb │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── tfi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── ti │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ ├── vsc │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json │ └── wi │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ └── package.json ├── react │ ├── LICENSE │ ├── README.md │ ├── cjs │ │ ├── react-compiler-runtime.development.js │ │ ├── react-compiler-runtime.production.js │ │ ├── react-compiler-runtime.profiling.js │ │ ├── react-jsx-dev-runtime.development.js │ │ ├── react-jsx-dev-runtime.production.js │ │ ├── react-jsx-dev-runtime.profiling.js │ │ ├── react-jsx-dev-runtime.react-server.development.js │ │ ├── react-jsx-dev-runtime.react-server.production.js │ │ ├── react-jsx-runtime.development.js │ │ ├── react-jsx-runtime.production.js │ │ ├── react-jsx-runtime.profiling.js │ │ ├── react-jsx-runtime.react-server.development.js │ │ ├── react-jsx-runtime.react-server.production.js │ │ ├── react.development.js │ │ ├── react.production.js │ │ ├── react.react-server.development.js │ │ └── react.react-server.production.js │ ├── compiler-runtime.js │ ├── index.js │ ├── jsx-dev-runtime.js │ ├── jsx-dev-runtime.react-server.js │ ├── jsx-runtime.js │ ├── jsx-runtime.react-server.js │ ├── package.json │ └── react.react-server.js └── uuid │ ├── LICENSE.md │ ├── README.md │ ├── dist │ ├── cjs-browser │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── package.json │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ ├── cjs │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── package.json │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ ├── esm-browser │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ └── esm │ │ ├── bin │ │ └── uuid │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── max.d.ts │ │ ├── max.js │ │ ├── md5.d.ts │ │ ├── md5.js │ │ ├── native.d.ts │ │ ├── native.js │ │ ├── nil.d.ts │ │ ├── nil.js │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── regex.d.ts │ │ ├── regex.js │ │ ├── rng.d.ts │ │ ├── rng.js │ │ ├── sha1.d.ts │ │ ├── sha1.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── uuid-bin.d.ts │ │ ├── uuid-bin.js │ │ ├── v1.d.ts │ │ ├── v1.js │ │ ├── v1ToV6.d.ts │ │ ├── v1ToV6.js │ │ ├── v3.d.ts │ │ ├── v3.js │ │ ├── v35.d.ts │ │ ├── v35.js │ │ ├── v4.d.ts │ │ ├── v4.js │ │ ├── v5.d.ts │ │ ├── v5.js │ │ ├── v6.d.ts │ │ ├── v6.js │ │ ├── v6ToV1.d.ts │ │ ├── v6ToV1.js │ │ ├── v7.d.ts │ │ ├── v7.js │ │ ├── validate.d.ts │ │ ├── validate.js │ │ ├── version.d.ts │ │ └── version.js │ └── package.json ├── package-lock.json ├── package.json ├── public └── doraemon.png ├── resume-app ├── .gitignore ├── README.md ├── eslint.config.js ├── index.html ├── package-lock.json ├── package.json ├── public │ ├── doraemon.png │ ├── image-note.txt │ └── vite.svg ├── src │ ├── App.css │ ├── App.js │ ├── App.jsx │ ├── assets │ │ └── react.svg │ ├── components │ │ ├── ComponentEditor │ │ │ ├── ContentEditors │ │ │ │ ├── AchievementsEditor.jsx │ │ │ │ ├── EducationEditor.jsx │ │ │ │ ├── ExperienceEditor.jsx │ │ │ │ ├── HobbiesEditor.jsx │ │ │ │ ├── ImageEditor.jsx │ │ │ │ ├── PersonalInfoEditor.jsx │ │ │ │ ├── PortfolioEditor.jsx │ │ │ │ ├── PortfolioItemStyleEditor.jsx │ │ │ │ ├── SkillsEditor.jsx │ │ │ │ ├── SummaryEditor.jsx │ │ │ │ └── index.jsx │ │ │ ├── StyleEditor.jsx │ │ │ └── index.jsx │ │ ├── ComponentSelector.jsx │ │ ├── EditorPanel.jsx │ │ ├── NumberInput.jsx │ │ ├── Resume.jsx │ │ ├── ResumeComponents │ │ │ ├── Image.css │ │ │ ├── Image.jsx │ │ │ ├── PersonalInfo.jsx │ │ │ ├── Portfolio.css │ │ │ ├── Portfolio.jsx │ │ │ └── PortfolioWithHeight.jsx │ │ ├── ResumeEditor.jsx │ │ └── ResumeSettings.jsx │ ├── index.css │ ├── index.js │ └── main.jsx ├── tailwind.config.js └── vite.config.js ├── screenshots ├── editor.png ├── export.png ├── home.png └── 图片.txt ├── 启动.txt └── 简历模板.json /.gitignore: -------------------------------------------------------------------------------- 1 | # 依赖包 2 | node_modules/ 3 | /.pnp 4 | .pnp.js 5 | 6 | # 测试覆盖 7 | /coverage 8 | 9 | # 构建输出 10 | /build 11 | /dist 12 | 13 | # 环境变量 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | # 日志 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | # 编辑器配置 26 | .idea/ 27 | .vscode/ 28 | *.swp 29 | *.swo 30 | 31 | # 操作系统 32 | .DS_Store 33 | Thumbs.db -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 📝 简历生成器 2 | 3 |
一个功能强大的React简历制作工具,帮助求职者快速创建专业、个性化的简历。
14 | 15 | ## ✨ 功能特点 16 | 17 | - **📋 组件化设计** - 个人信息、技能、教育背景、工作经验等模块自由组合和定制 18 | - **🖱️ 拖拽式布局** - 通过直观的拖拽操作调整组件位置和大小 19 | - **🎨 丰富样式选项** - 自定义主题色、字体、边框和阴影效果,打造个性化简历 20 | - **💾 专业导出** - 一键生成高质量PDF格式简历,随时打印或在线投递 21 | - **📱 响应式设计** - 完美适配A4纸张规格,确保打印效果专业美观 22 | - **💡 用户友好** - 简洁直观的界面设计,操作便捷,上手容易 23 | - **📄 模板导入** - 支持通过导入`简历模板.json`文件快速套用已有模板,进行调整修改 24 | 25 | ## 📸 应用截图 26 | 27 | 28 | 29 |  30 | *首页展示了所有可用的简历模板和主要功能* 31 | 32 |  33 | *强大的编辑界面,支持拖拽、样式调整和实时预览* 34 | 35 |  36 | *导出效果预览,确保简历格式规范专业* 37 | 38 | ## 🛠️ 技术栈 39 | 40 | - **前端框架**: [React 18](https://reactjs.org/) - 用于构建用户界面的JavaScript库 41 | - **样式解决方案**: [Tailwind CSS 3](https://tailwindcss.com/) - 实用优先的CSS框架 42 | - **构建工具**: [Vite 4](https://vitejs.dev/) - 快速的前端构建工具 43 | - **PDF生成**: [HTML2PDF.js](https://html2pdf.js.org/) - 高质量HTML到PDF的转换 44 | - **图标库**: [React Icons](https://react-icons.github.io/react-icons/) - 流行的图标集合 45 | - **UI组件**: 自定义的拖拽、编辑和预览组件 46 | 47 | ## 🚀 快速开始 48 | 49 | ### 前置要求 50 | 51 | - Node.js (版本 14.0 或更高) 52 | - npm 或 yarn 53 | 54 | ### 安装步骤 55 | 56 | 1. **克隆仓库** 57 | ```bash 58 | git clone https://github.com/Abyxs/ResuBlocks.git 59 | cd ResuBlocks 60 | ``` 61 | 62 | 2. **安装依赖** 63 | ```bash 64 | # 主项目依赖 65 | npm install 66 | 67 | # 进入应用目录安装依赖 68 | cd resume-app 69 | npm install 70 | ``` 71 | 72 | 3. **启动开发服务器** 73 | ```bash 74 | npm run dev 75 | # 或 76 | yarn dev 77 | ``` 78 | 79 | 4. **打开浏览器访问** 80 | 81 | [http://localhost:5173](http://localhost:5173) 82 | 83 | ## 💻 使用指南 84 | 85 | ### 基础使用流程 86 | 87 | 1. **选择组件** - 从左侧组件库中选择需要的模块 88 | 2. **编辑布局** - 拖拽调整组件位置和大小 89 | 3. **填写内容** - 在右侧编辑面板中填写个人信息和经历 90 | 4. **调整样式** - 自定义颜色、字体、间距等样式选项 91 | 5. **预览效果** - 实时查看简历的最终呈现效果 92 | 6. **导出PDF** - 点击"导出PDF"按钮生成可打印的简历文件 93 | 7. **导入模板** - 支持导入`简历模板.json`文件,快速套用已有模板并进行个性化修改 94 | 95 | ### 高级技巧 96 | 97 | - **模板保存** - 可以保存当前编辑的简历模板以便将来使用 98 | - **多主题切换** - 提供多种预设主题,一键切换简历风格 99 | - **自定义字体** - 支持选择不同字体和字号,适应不同行业需求 100 | - **响应式设计** - 简历在不同显示设备上都能保持美观 101 | 102 | ## 🤝 贡献指南 103 | 104 | 欢迎为项目做出贡献!以下是参与方式: 105 | 106 | 1. Fork 项目仓库 107 | 2. 创建您的功能分支 (`git checkout -b feature/AmazingFeature`) 108 | 3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`) 109 | 4. 推送到分支 (`git push origin feature/AmazingFeature`) 110 | 5. 开启 Pull Request 111 | 112 | ## 📝 许可证 113 | 114 | [MIT](LICENSE) - 见 LICENSE 文件了解详情 115 | -------------------------------------------------------------------------------- /node_modules/.bin/uuid: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../uuid/dist/esm/bin/uuid" "$@" 14 | else 15 | exec node "$basedir/../uuid/dist/esm/bin/uuid" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /node_modules/.bin/uuid.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\uuid\dist\esm\bin\uuid" %* 18 | -------------------------------------------------------------------------------- /node_modules/.bin/uuid.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 23 | } else { 24 | & "node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /node_modules/.package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "简历", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "node_modules/react": { 7 | "version": "19.1.0", 8 | "license": "MIT", 9 | "peer": true, 10 | "engines": { 11 | "node": ">=0.10.0" 12 | } 13 | }, 14 | "node_modules/react-icons": { 15 | "version": "5.5.0", 16 | "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", 17 | "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", 18 | "license": "MIT", 19 | "peerDependencies": { 20 | "react": "*" 21 | } 22 | }, 23 | "node_modules/uuid": { 24 | "version": "11.1.0", 25 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", 26 | "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", 27 | "funding": [ 28 | "https://github.com/sponsors/broofa", 29 | "https://github.com/sponsors/ctavan" 30 | ], 31 | "license": "MIT", 32 | "bin": { 33 | "uuid": "dist/esm/bin/uuid" 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /node_modules/react-icons/ai/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/bi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/bs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/cg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/ci/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/di/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fa/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fa6/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/fi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/gi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/go/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/gr/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/hi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/hi2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/im/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/index.d.ts: -------------------------------------------------------------------------------- 1 | // THIS FILE IS AUTO GENERATED 2 | export * from './lib/index'; -------------------------------------------------------------------------------- /node_modules/react-icons/index.js: -------------------------------------------------------------------------------- 1 | // THIS FILE IS AUTO GENERATED 2 | module.exports = require('./lib/index.js'); -------------------------------------------------------------------------------- /node_modules/react-icons/index.mjs: -------------------------------------------------------------------------------- 1 | // THIS FILE IS AUTO GENERATED 2 | export * from './lib/index.mjs'; -------------------------------------------------------------------------------- /node_modules/react-icons/io/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/io5/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/lia/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "sideEffects": false, 3 | "module": "./index.mjs" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/react-icons/lib/iconBase.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | export interface IconTree { 3 | tag: string; 4 | attr: { 5 | [key: string]: string; 6 | }; 7 | child: IconTree[]; 8 | } 9 | export declare function GenIcon(data: IconTree): (props: IconBaseProps) => React.JSX.Element; 10 | export interface IconBaseProps extends React.SVGAttributes未知组件类型: {component.type}
55 |64 | {image.description} 65 |
66 | )} 67 |100 | {item.description} 101 |
102 | 103 | {item.link && ( 104 | 116 |