Trae Assistant commited on
Commit
76127be
·
0 Parent(s):

initial commit: clean history and remove node_modules

Browse files
Files changed (17) hide show
  1. .gitattributes +35 -0
  2. .gitignore +18 -0
  3. Dockerfile +29 -0
  4. README.md +61 -0
  5. index.html +13 -0
  6. nginx.conf +15 -0
  7. package-lock.json +2777 -0
  8. package.json +30 -0
  9. postcss.config.js +6 -0
  10. src/App.tsx +326 -0
  11. src/index.css +53 -0
  12. src/main.tsx +10 -0
  13. src/vite-env.d.ts +1 -0
  14. tailwind.config.js +11 -0
  15. tsconfig.json +21 -0
  16. tsconfig.node.json +9 -0
  17. vite.config.ts +10 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ node_modules/
2
+ dist/
3
+ .vite/
4
+ .DS_Store
5
+ *.local
6
+ .env
7
+ .env.*
8
+ !.env.example
9
+ npm-debug.log*
10
+ yarn-debug.log*
11
+ yarn-error.log*
12
+ pnpm-debug.log*
13
+ coverage/
14
+ .vscode/
15
+ .idea/
16
+ .next/
17
+ out/
18
+ build/
Dockerfile ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用 Node.js 作为构建阶段
2
+ FROM node:20-slim AS builder
3
+
4
+ WORKDIR /app
5
+
6
+ # 复制 package.json 和 lock 文件
7
+ COPY package*.json ./
8
+
9
+ # 安装依赖
10
+ RUN npm install
11
+
12
+ # 复制项目代码
13
+ COPY . .
14
+
15
+ # 构建项目
16
+ RUN npm run build
17
+
18
+ # 使用 Nginx 作为生产阶段
19
+ FROM nginx:alpine
20
+
21
+ # 复制 Nginx 配置
22
+ COPY nginx.conf /etc/nginx/conf.d/default.conf
23
+
24
+ # 复制构建产物到 Nginx
25
+ COPY --from=builder /app/dist /usr/share/nginx/html
26
+
27
+ EXPOSE 7860
28
+
29
+ CMD ["nginx", "-g", "daemon off;"]
README.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: 可视化低代码平台
3
+ emoji: 🎨
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: docker
7
+ pinned: false
8
+ short_description: 这是一个基于 React 和 Tailwind CSS 构建的极简可视化低代码设计平台,支持组件拖放、属性实时编辑及移动端适配预览。
9
+ ---
10
+
11
+ # 极简可视化低代码平台 (Visual Low-Code Platform)
12
+
13
+ 本项目是一个功能齐全的低代码可视化编辑器,旨在展示如何快速构建一个具备主流平台特性的可视化工具。
14
+
15
+ ## ✨ 特性
16
+
17
+ - 🚀 **可视化设计**: 通过简单的点击操作即可在画布上添加和排列组件。
18
+ - 📱 **多端适配**: 一键切换桌面端和移动端预览,确保布局在不同设备上表现正常。
19
+ - 🛠️ **实时编辑**: 右侧属性面板支持实时修改组件内容、样式、字号、颜色等。
20
+ - 📦 **组件库**: 预设文本、按钮、输入框、卡片和复选框等常用组件。
21
+ - 🎨 **现代 UI**: 基于 Tailwind CSS 和 Lucide Icons 打造,界面美观、交互流畅。
22
+ - 🐳 **Docker 支持**: 已配置 Dockerfile,可轻松部署至 Hugging Face Spaces 或任何容器环境。
23
+
24
+ ## 🛠️ 技术栈
25
+
26
+ - **Frontend**: React 18, TypeScript, Vite
27
+ - **Styling**: Tailwind CSS
28
+ - **Icons**: Lucide React
29
+ - **Animations**: Framer Motion
30
+ - **Deployment**: Docker + Nginx
31
+
32
+ ## 🚀 快速开始
33
+
34
+ ### 本地开发
35
+
36
+ 1. 安装依赖:
37
+ ```bash
38
+ npm install
39
+ ```
40
+
41
+ 2. 启动开发服务器:
42
+ ```bash
43
+ npm run dev
44
+ ```
45
+
46
+ 3. 访问 `http://localhost:3000` 即可开始设计。
47
+
48
+ ### Docker 部署
49
+
50
+ ```bash
51
+ docker build -t visual-lowcode .
52
+ docker run -p 8080:80 visual-lowcode
53
+ ```
54
+
55
+ ## 📝 开发说明
56
+
57
+ 本项目完全采用中文显示和代码注释,方便中文开发者学习和扩展。核心代码位于 `src/App.tsx`,包含了所有的逻辑处理和组件渲染。
58
+
59
+ ## 📜 许可证
60
+
61
+ MIT
index.html ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>可视化低代码平台</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
nginx.conf ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ server {
2
+ listen 7860;
3
+ server_name localhost;
4
+
5
+ location / {
6
+ root /usr/share/nginx/html;
7
+ index index.html index.htm;
8
+ try_files $uri $uri/ /index.html;
9
+ }
10
+
11
+ error_page 500 502 503 504 /50x.html;
12
+ location = /50x.html {
13
+ root /usr/share/nginx/html;
14
+ }
15
+ }
package-lock.json ADDED
@@ -0,0 +1,2777 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "visual-lowcode-chinese",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "visual-lowcode-chinese",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "clsx": "^2.1.1",
12
+ "framer-motion": "^11.5.4",
13
+ "lucide-react": "^0.446.0",
14
+ "react": "^18.3.1",
15
+ "react-dom": "^18.3.1",
16
+ "tailwind-merge": "^2.5.2",
17
+ "uuid": "^10.0.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/react": "^18.3.5",
21
+ "@types/react-dom": "^18.3.0",
22
+ "@types/uuid": "^10.0.0",
23
+ "@vitejs/plugin-react": "^4.3.1",
24
+ "autoprefixer": "^10.4.20",
25
+ "postcss": "^8.4.47",
26
+ "tailwindcss": "^3.4.13",
27
+ "typescript": "^5.5.3",
28
+ "vite": "^5.4.8"
29
+ }
30
+ },
31
+ "node_modules/@alloc/quick-lru": {
32
+ "version": "5.2.0",
33
+ "resolved": "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
34
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
35
+ "dev": true,
36
+ "license": "MIT",
37
+ "engines": {
38
+ "node": ">=10"
39
+ },
40
+ "funding": {
41
+ "url": "https://github.com/sponsors/sindresorhus"
42
+ }
43
+ },
44
+ "node_modules/@babel/code-frame": {
45
+ "version": "7.29.0",
46
+ "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.0.tgz",
47
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
48
+ "dev": true,
49
+ "license": "MIT",
50
+ "dependencies": {
51
+ "@babel/helper-validator-identifier": "^7.28.5",
52
+ "js-tokens": "^4.0.0",
53
+ "picocolors": "^1.1.1"
54
+ },
55
+ "engines": {
56
+ "node": ">=6.9.0"
57
+ }
58
+ },
59
+ "node_modules/@babel/compat-data": {
60
+ "version": "7.29.0",
61
+ "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.29.0.tgz",
62
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
63
+ "dev": true,
64
+ "license": "MIT",
65
+ "engines": {
66
+ "node": ">=6.9.0"
67
+ }
68
+ },
69
+ "node_modules/@babel/core": {
70
+ "version": "7.29.0",
71
+ "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.29.0.tgz",
72
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
73
+ "dev": true,
74
+ "license": "MIT",
75
+ "peer": true,
76
+ "dependencies": {
77
+ "@babel/code-frame": "^7.29.0",
78
+ "@babel/generator": "^7.29.0",
79
+ "@babel/helper-compilation-targets": "^7.28.6",
80
+ "@babel/helper-module-transforms": "^7.28.6",
81
+ "@babel/helpers": "^7.28.6",
82
+ "@babel/parser": "^7.29.0",
83
+ "@babel/template": "^7.28.6",
84
+ "@babel/traverse": "^7.29.0",
85
+ "@babel/types": "^7.29.0",
86
+ "@jridgewell/remapping": "^2.3.5",
87
+ "convert-source-map": "^2.0.0",
88
+ "debug": "^4.1.0",
89
+ "gensync": "^1.0.0-beta.2",
90
+ "json5": "^2.2.3",
91
+ "semver": "^6.3.1"
92
+ },
93
+ "engines": {
94
+ "node": ">=6.9.0"
95
+ },
96
+ "funding": {
97
+ "type": "opencollective",
98
+ "url": "https://opencollective.com/babel"
99
+ }
100
+ },
101
+ "node_modules/@babel/generator": {
102
+ "version": "7.29.1",
103
+ "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.29.1.tgz",
104
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
105
+ "dev": true,
106
+ "license": "MIT",
107
+ "dependencies": {
108
+ "@babel/parser": "^7.29.0",
109
+ "@babel/types": "^7.29.0",
110
+ "@jridgewell/gen-mapping": "^0.3.12",
111
+ "@jridgewell/trace-mapping": "^0.3.28",
112
+ "jsesc": "^3.0.2"
113
+ },
114
+ "engines": {
115
+ "node": ">=6.9.0"
116
+ }
117
+ },
118
+ "node_modules/@babel/helper-compilation-targets": {
119
+ "version": "7.28.6",
120
+ "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
121
+ "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
122
+ "dev": true,
123
+ "license": "MIT",
124
+ "dependencies": {
125
+ "@babel/compat-data": "^7.28.6",
126
+ "@babel/helper-validator-option": "^7.27.1",
127
+ "browserslist": "^4.24.0",
128
+ "lru-cache": "^5.1.1",
129
+ "semver": "^6.3.1"
130
+ },
131
+ "engines": {
132
+ "node": ">=6.9.0"
133
+ }
134
+ },
135
+ "node_modules/@babel/helper-globals": {
136
+ "version": "7.28.0",
137
+ "resolved": "https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
138
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
139
+ "dev": true,
140
+ "license": "MIT",
141
+ "engines": {
142
+ "node": ">=6.9.0"
143
+ }
144
+ },
145
+ "node_modules/@babel/helper-module-imports": {
146
+ "version": "7.28.6",
147
+ "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
148
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
149
+ "dev": true,
150
+ "license": "MIT",
151
+ "dependencies": {
152
+ "@babel/traverse": "^7.28.6",
153
+ "@babel/types": "^7.28.6"
154
+ },
155
+ "engines": {
156
+ "node": ">=6.9.0"
157
+ }
158
+ },
159
+ "node_modules/@babel/helper-module-transforms": {
160
+ "version": "7.28.6",
161
+ "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
162
+ "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
163
+ "dev": true,
164
+ "license": "MIT",
165
+ "dependencies": {
166
+ "@babel/helper-module-imports": "^7.28.6",
167
+ "@babel/helper-validator-identifier": "^7.28.5",
168
+ "@babel/traverse": "^7.28.6"
169
+ },
170
+ "engines": {
171
+ "node": ">=6.9.0"
172
+ },
173
+ "peerDependencies": {
174
+ "@babel/core": "^7.0.0"
175
+ }
176
+ },
177
+ "node_modules/@babel/helper-plugin-utils": {
178
+ "version": "7.28.6",
179
+ "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
180
+ "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
181
+ "dev": true,
182
+ "license": "MIT",
183
+ "engines": {
184
+ "node": ">=6.9.0"
185
+ }
186
+ },
187
+ "node_modules/@babel/helper-string-parser": {
188
+ "version": "7.27.1",
189
+ "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
190
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
191
+ "dev": true,
192
+ "license": "MIT",
193
+ "engines": {
194
+ "node": ">=6.9.0"
195
+ }
196
+ },
197
+ "node_modules/@babel/helper-validator-identifier": {
198
+ "version": "7.28.5",
199
+ "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
200
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
201
+ "dev": true,
202
+ "license": "MIT",
203
+ "engines": {
204
+ "node": ">=6.9.0"
205
+ }
206
+ },
207
+ "node_modules/@babel/helper-validator-option": {
208
+ "version": "7.27.1",
209
+ "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
210
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
211
+ "dev": true,
212
+ "license": "MIT",
213
+ "engines": {
214
+ "node": ">=6.9.0"
215
+ }
216
+ },
217
+ "node_modules/@babel/helpers": {
218
+ "version": "7.28.6",
219
+ "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.28.6.tgz",
220
+ "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
221
+ "dev": true,
222
+ "license": "MIT",
223
+ "dependencies": {
224
+ "@babel/template": "^7.28.6",
225
+ "@babel/types": "^7.28.6"
226
+ },
227
+ "engines": {
228
+ "node": ">=6.9.0"
229
+ }
230
+ },
231
+ "node_modules/@babel/parser": {
232
+ "version": "7.29.0",
233
+ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.0.tgz",
234
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
235
+ "dev": true,
236
+ "license": "MIT",
237
+ "dependencies": {
238
+ "@babel/types": "^7.29.0"
239
+ },
240
+ "bin": {
241
+ "parser": "bin/babel-parser.js"
242
+ },
243
+ "engines": {
244
+ "node": ">=6.0.0"
245
+ }
246
+ },
247
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
248
+ "version": "7.27.1",
249
+ "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
250
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
251
+ "dev": true,
252
+ "license": "MIT",
253
+ "dependencies": {
254
+ "@babel/helper-plugin-utils": "^7.27.1"
255
+ },
256
+ "engines": {
257
+ "node": ">=6.9.0"
258
+ },
259
+ "peerDependencies": {
260
+ "@babel/core": "^7.0.0-0"
261
+ }
262
+ },
263
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
264
+ "version": "7.27.1",
265
+ "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
266
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
267
+ "dev": true,
268
+ "license": "MIT",
269
+ "dependencies": {
270
+ "@babel/helper-plugin-utils": "^7.27.1"
271
+ },
272
+ "engines": {
273
+ "node": ">=6.9.0"
274
+ },
275
+ "peerDependencies": {
276
+ "@babel/core": "^7.0.0-0"
277
+ }
278
+ },
279
+ "node_modules/@babel/template": {
280
+ "version": "7.28.6",
281
+ "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.28.6.tgz",
282
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
283
+ "dev": true,
284
+ "license": "MIT",
285
+ "dependencies": {
286
+ "@babel/code-frame": "^7.28.6",
287
+ "@babel/parser": "^7.28.6",
288
+ "@babel/types": "^7.28.6"
289
+ },
290
+ "engines": {
291
+ "node": ">=6.9.0"
292
+ }
293
+ },
294
+ "node_modules/@babel/traverse": {
295
+ "version": "7.29.0",
296
+ "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.0.tgz",
297
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
298
+ "dev": true,
299
+ "license": "MIT",
300
+ "dependencies": {
301
+ "@babel/code-frame": "^7.29.0",
302
+ "@babel/generator": "^7.29.0",
303
+ "@babel/helper-globals": "^7.28.0",
304
+ "@babel/parser": "^7.29.0",
305
+ "@babel/template": "^7.28.6",
306
+ "@babel/types": "^7.29.0",
307
+ "debug": "^4.3.1"
308
+ },
309
+ "engines": {
310
+ "node": ">=6.9.0"
311
+ }
312
+ },
313
+ "node_modules/@babel/types": {
314
+ "version": "7.29.0",
315
+ "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz",
316
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
317
+ "dev": true,
318
+ "license": "MIT",
319
+ "dependencies": {
320
+ "@babel/helper-string-parser": "^7.27.1",
321
+ "@babel/helper-validator-identifier": "^7.28.5"
322
+ },
323
+ "engines": {
324
+ "node": ">=6.9.0"
325
+ }
326
+ },
327
+ "node_modules/@esbuild/aix-ppc64": {
328
+ "version": "0.21.5",
329
+ "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
330
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
331
+ "cpu": [
332
+ "ppc64"
333
+ ],
334
+ "dev": true,
335
+ "license": "MIT",
336
+ "optional": true,
337
+ "os": [
338
+ "aix"
339
+ ],
340
+ "engines": {
341
+ "node": ">=12"
342
+ }
343
+ },
344
+ "node_modules/@esbuild/android-arm": {
345
+ "version": "0.21.5",
346
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
347
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
348
+ "cpu": [
349
+ "arm"
350
+ ],
351
+ "dev": true,
352
+ "license": "MIT",
353
+ "optional": true,
354
+ "os": [
355
+ "android"
356
+ ],
357
+ "engines": {
358
+ "node": ">=12"
359
+ }
360
+ },
361
+ "node_modules/@esbuild/android-arm64": {
362
+ "version": "0.21.5",
363
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
364
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
365
+ "cpu": [
366
+ "arm64"
367
+ ],
368
+ "dev": true,
369
+ "license": "MIT",
370
+ "optional": true,
371
+ "os": [
372
+ "android"
373
+ ],
374
+ "engines": {
375
+ "node": ">=12"
376
+ }
377
+ },
378
+ "node_modules/@esbuild/android-x64": {
379
+ "version": "0.21.5",
380
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
381
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
382
+ "cpu": [
383
+ "x64"
384
+ ],
385
+ "dev": true,
386
+ "license": "MIT",
387
+ "optional": true,
388
+ "os": [
389
+ "android"
390
+ ],
391
+ "engines": {
392
+ "node": ">=12"
393
+ }
394
+ },
395
+ "node_modules/@esbuild/darwin-arm64": {
396
+ "version": "0.21.5",
397
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
398
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
399
+ "cpu": [
400
+ "arm64"
401
+ ],
402
+ "dev": true,
403
+ "license": "MIT",
404
+ "optional": true,
405
+ "os": [
406
+ "darwin"
407
+ ],
408
+ "engines": {
409
+ "node": ">=12"
410
+ }
411
+ },
412
+ "node_modules/@esbuild/darwin-x64": {
413
+ "version": "0.21.5",
414
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
415
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
416
+ "cpu": [
417
+ "x64"
418
+ ],
419
+ "dev": true,
420
+ "license": "MIT",
421
+ "optional": true,
422
+ "os": [
423
+ "darwin"
424
+ ],
425
+ "engines": {
426
+ "node": ">=12"
427
+ }
428
+ },
429
+ "node_modules/@esbuild/freebsd-arm64": {
430
+ "version": "0.21.5",
431
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
432
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
433
+ "cpu": [
434
+ "arm64"
435
+ ],
436
+ "dev": true,
437
+ "license": "MIT",
438
+ "optional": true,
439
+ "os": [
440
+ "freebsd"
441
+ ],
442
+ "engines": {
443
+ "node": ">=12"
444
+ }
445
+ },
446
+ "node_modules/@esbuild/freebsd-x64": {
447
+ "version": "0.21.5",
448
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
449
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
450
+ "cpu": [
451
+ "x64"
452
+ ],
453
+ "dev": true,
454
+ "license": "MIT",
455
+ "optional": true,
456
+ "os": [
457
+ "freebsd"
458
+ ],
459
+ "engines": {
460
+ "node": ">=12"
461
+ }
462
+ },
463
+ "node_modules/@esbuild/linux-arm": {
464
+ "version": "0.21.5",
465
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
466
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
467
+ "cpu": [
468
+ "arm"
469
+ ],
470
+ "dev": true,
471
+ "license": "MIT",
472
+ "optional": true,
473
+ "os": [
474
+ "linux"
475
+ ],
476
+ "engines": {
477
+ "node": ">=12"
478
+ }
479
+ },
480
+ "node_modules/@esbuild/linux-arm64": {
481
+ "version": "0.21.5",
482
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
483
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
484
+ "cpu": [
485
+ "arm64"
486
+ ],
487
+ "dev": true,
488
+ "license": "MIT",
489
+ "optional": true,
490
+ "os": [
491
+ "linux"
492
+ ],
493
+ "engines": {
494
+ "node": ">=12"
495
+ }
496
+ },
497
+ "node_modules/@esbuild/linux-ia32": {
498
+ "version": "0.21.5",
499
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
500
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
501
+ "cpu": [
502
+ "ia32"
503
+ ],
504
+ "dev": true,
505
+ "license": "MIT",
506
+ "optional": true,
507
+ "os": [
508
+ "linux"
509
+ ],
510
+ "engines": {
511
+ "node": ">=12"
512
+ }
513
+ },
514
+ "node_modules/@esbuild/linux-loong64": {
515
+ "version": "0.21.5",
516
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
517
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
518
+ "cpu": [
519
+ "loong64"
520
+ ],
521
+ "dev": true,
522
+ "license": "MIT",
523
+ "optional": true,
524
+ "os": [
525
+ "linux"
526
+ ],
527
+ "engines": {
528
+ "node": ">=12"
529
+ }
530
+ },
531
+ "node_modules/@esbuild/linux-mips64el": {
532
+ "version": "0.21.5",
533
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
534
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
535
+ "cpu": [
536
+ "mips64el"
537
+ ],
538
+ "dev": true,
539
+ "license": "MIT",
540
+ "optional": true,
541
+ "os": [
542
+ "linux"
543
+ ],
544
+ "engines": {
545
+ "node": ">=12"
546
+ }
547
+ },
548
+ "node_modules/@esbuild/linux-ppc64": {
549
+ "version": "0.21.5",
550
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
551
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
552
+ "cpu": [
553
+ "ppc64"
554
+ ],
555
+ "dev": true,
556
+ "license": "MIT",
557
+ "optional": true,
558
+ "os": [
559
+ "linux"
560
+ ],
561
+ "engines": {
562
+ "node": ">=12"
563
+ }
564
+ },
565
+ "node_modules/@esbuild/linux-riscv64": {
566
+ "version": "0.21.5",
567
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
568
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
569
+ "cpu": [
570
+ "riscv64"
571
+ ],
572
+ "dev": true,
573
+ "license": "MIT",
574
+ "optional": true,
575
+ "os": [
576
+ "linux"
577
+ ],
578
+ "engines": {
579
+ "node": ">=12"
580
+ }
581
+ },
582
+ "node_modules/@esbuild/linux-s390x": {
583
+ "version": "0.21.5",
584
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
585
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
586
+ "cpu": [
587
+ "s390x"
588
+ ],
589
+ "dev": true,
590
+ "license": "MIT",
591
+ "optional": true,
592
+ "os": [
593
+ "linux"
594
+ ],
595
+ "engines": {
596
+ "node": ">=12"
597
+ }
598
+ },
599
+ "node_modules/@esbuild/linux-x64": {
600
+ "version": "0.21.5",
601
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
602
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
603
+ "cpu": [
604
+ "x64"
605
+ ],
606
+ "dev": true,
607
+ "license": "MIT",
608
+ "optional": true,
609
+ "os": [
610
+ "linux"
611
+ ],
612
+ "engines": {
613
+ "node": ">=12"
614
+ }
615
+ },
616
+ "node_modules/@esbuild/netbsd-x64": {
617
+ "version": "0.21.5",
618
+ "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
619
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
620
+ "cpu": [
621
+ "x64"
622
+ ],
623
+ "dev": true,
624
+ "license": "MIT",
625
+ "optional": true,
626
+ "os": [
627
+ "netbsd"
628
+ ],
629
+ "engines": {
630
+ "node": ">=12"
631
+ }
632
+ },
633
+ "node_modules/@esbuild/openbsd-x64": {
634
+ "version": "0.21.5",
635
+ "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
636
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
637
+ "cpu": [
638
+ "x64"
639
+ ],
640
+ "dev": true,
641
+ "license": "MIT",
642
+ "optional": true,
643
+ "os": [
644
+ "openbsd"
645
+ ],
646
+ "engines": {
647
+ "node": ">=12"
648
+ }
649
+ },
650
+ "node_modules/@esbuild/sunos-x64": {
651
+ "version": "0.21.5",
652
+ "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
653
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
654
+ "cpu": [
655
+ "x64"
656
+ ],
657
+ "dev": true,
658
+ "license": "MIT",
659
+ "optional": true,
660
+ "os": [
661
+ "sunos"
662
+ ],
663
+ "engines": {
664
+ "node": ">=12"
665
+ }
666
+ },
667
+ "node_modules/@esbuild/win32-arm64": {
668
+ "version": "0.21.5",
669
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
670
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
671
+ "cpu": [
672
+ "arm64"
673
+ ],
674
+ "dev": true,
675
+ "license": "MIT",
676
+ "optional": true,
677
+ "os": [
678
+ "win32"
679
+ ],
680
+ "engines": {
681
+ "node": ">=12"
682
+ }
683
+ },
684
+ "node_modules/@esbuild/win32-ia32": {
685
+ "version": "0.21.5",
686
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
687
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
688
+ "cpu": [
689
+ "ia32"
690
+ ],
691
+ "dev": true,
692
+ "license": "MIT",
693
+ "optional": true,
694
+ "os": [
695
+ "win32"
696
+ ],
697
+ "engines": {
698
+ "node": ">=12"
699
+ }
700
+ },
701
+ "node_modules/@esbuild/win32-x64": {
702
+ "version": "0.21.5",
703
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
704
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
705
+ "cpu": [
706
+ "x64"
707
+ ],
708
+ "dev": true,
709
+ "license": "MIT",
710
+ "optional": true,
711
+ "os": [
712
+ "win32"
713
+ ],
714
+ "engines": {
715
+ "node": ">=12"
716
+ }
717
+ },
718
+ "node_modules/@jridgewell/gen-mapping": {
719
+ "version": "0.3.13",
720
+ "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
721
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
722
+ "dev": true,
723
+ "license": "MIT",
724
+ "dependencies": {
725
+ "@jridgewell/sourcemap-codec": "^1.5.0",
726
+ "@jridgewell/trace-mapping": "^0.3.24"
727
+ }
728
+ },
729
+ "node_modules/@jridgewell/remapping": {
730
+ "version": "2.3.5",
731
+ "resolved": "https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz",
732
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
733
+ "dev": true,
734
+ "license": "MIT",
735
+ "dependencies": {
736
+ "@jridgewell/gen-mapping": "^0.3.5",
737
+ "@jridgewell/trace-mapping": "^0.3.24"
738
+ }
739
+ },
740
+ "node_modules/@jridgewell/resolve-uri": {
741
+ "version": "3.1.2",
742
+ "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
743
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
744
+ "dev": true,
745
+ "license": "MIT",
746
+ "engines": {
747
+ "node": ">=6.0.0"
748
+ }
749
+ },
750
+ "node_modules/@jridgewell/sourcemap-codec": {
751
+ "version": "1.5.5",
752
+ "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
753
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
754
+ "dev": true,
755
+ "license": "MIT"
756
+ },
757
+ "node_modules/@jridgewell/trace-mapping": {
758
+ "version": "0.3.31",
759
+ "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
760
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
761
+ "dev": true,
762
+ "license": "MIT",
763
+ "dependencies": {
764
+ "@jridgewell/resolve-uri": "^3.1.0",
765
+ "@jridgewell/sourcemap-codec": "^1.4.14"
766
+ }
767
+ },
768
+ "node_modules/@nodelib/fs.scandir": {
769
+ "version": "2.1.5",
770
+ "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
771
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
772
+ "dev": true,
773
+ "license": "MIT",
774
+ "dependencies": {
775
+ "@nodelib/fs.stat": "2.0.5",
776
+ "run-parallel": "^1.1.9"
777
+ },
778
+ "engines": {
779
+ "node": ">= 8"
780
+ }
781
+ },
782
+ "node_modules/@nodelib/fs.stat": {
783
+ "version": "2.0.5",
784
+ "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
785
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
786
+ "dev": true,
787
+ "license": "MIT",
788
+ "engines": {
789
+ "node": ">= 8"
790
+ }
791
+ },
792
+ "node_modules/@nodelib/fs.walk": {
793
+ "version": "1.2.8",
794
+ "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
795
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
796
+ "dev": true,
797
+ "license": "MIT",
798
+ "dependencies": {
799
+ "@nodelib/fs.scandir": "2.1.5",
800
+ "fastq": "^1.6.0"
801
+ },
802
+ "engines": {
803
+ "node": ">= 8"
804
+ }
805
+ },
806
+ "node_modules/@rolldown/pluginutils": {
807
+ "version": "1.0.0-beta.27",
808
+ "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
809
+ "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==",
810
+ "dev": true,
811
+ "license": "MIT"
812
+ },
813
+ "node_modules/@rollup/rollup-android-arm-eabi": {
814
+ "version": "4.59.0",
815
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz",
816
+ "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==",
817
+ "cpu": [
818
+ "arm"
819
+ ],
820
+ "dev": true,
821
+ "license": "MIT",
822
+ "optional": true,
823
+ "os": [
824
+ "android"
825
+ ]
826
+ },
827
+ "node_modules/@rollup/rollup-android-arm64": {
828
+ "version": "4.59.0",
829
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz",
830
+ "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==",
831
+ "cpu": [
832
+ "arm64"
833
+ ],
834
+ "dev": true,
835
+ "license": "MIT",
836
+ "optional": true,
837
+ "os": [
838
+ "android"
839
+ ]
840
+ },
841
+ "node_modules/@rollup/rollup-darwin-arm64": {
842
+ "version": "4.59.0",
843
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz",
844
+ "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==",
845
+ "cpu": [
846
+ "arm64"
847
+ ],
848
+ "dev": true,
849
+ "license": "MIT",
850
+ "optional": true,
851
+ "os": [
852
+ "darwin"
853
+ ]
854
+ },
855
+ "node_modules/@rollup/rollup-darwin-x64": {
856
+ "version": "4.59.0",
857
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz",
858
+ "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==",
859
+ "cpu": [
860
+ "x64"
861
+ ],
862
+ "dev": true,
863
+ "license": "MIT",
864
+ "optional": true,
865
+ "os": [
866
+ "darwin"
867
+ ]
868
+ },
869
+ "node_modules/@rollup/rollup-freebsd-arm64": {
870
+ "version": "4.59.0",
871
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz",
872
+ "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==",
873
+ "cpu": [
874
+ "arm64"
875
+ ],
876
+ "dev": true,
877
+ "license": "MIT",
878
+ "optional": true,
879
+ "os": [
880
+ "freebsd"
881
+ ]
882
+ },
883
+ "node_modules/@rollup/rollup-freebsd-x64": {
884
+ "version": "4.59.0",
885
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz",
886
+ "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==",
887
+ "cpu": [
888
+ "x64"
889
+ ],
890
+ "dev": true,
891
+ "license": "MIT",
892
+ "optional": true,
893
+ "os": [
894
+ "freebsd"
895
+ ]
896
+ },
897
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
898
+ "version": "4.59.0",
899
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz",
900
+ "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==",
901
+ "cpu": [
902
+ "arm"
903
+ ],
904
+ "dev": true,
905
+ "license": "MIT",
906
+ "optional": true,
907
+ "os": [
908
+ "linux"
909
+ ]
910
+ },
911
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
912
+ "version": "4.59.0",
913
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz",
914
+ "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==",
915
+ "cpu": [
916
+ "arm"
917
+ ],
918
+ "dev": true,
919
+ "license": "MIT",
920
+ "optional": true,
921
+ "os": [
922
+ "linux"
923
+ ]
924
+ },
925
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
926
+ "version": "4.59.0",
927
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz",
928
+ "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==",
929
+ "cpu": [
930
+ "arm64"
931
+ ],
932
+ "dev": true,
933
+ "license": "MIT",
934
+ "optional": true,
935
+ "os": [
936
+ "linux"
937
+ ]
938
+ },
939
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
940
+ "version": "4.59.0",
941
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz",
942
+ "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==",
943
+ "cpu": [
944
+ "arm64"
945
+ ],
946
+ "dev": true,
947
+ "license": "MIT",
948
+ "optional": true,
949
+ "os": [
950
+ "linux"
951
+ ]
952
+ },
953
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
954
+ "version": "4.59.0",
955
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz",
956
+ "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==",
957
+ "cpu": [
958
+ "loong64"
959
+ ],
960
+ "dev": true,
961
+ "license": "MIT",
962
+ "optional": true,
963
+ "os": [
964
+ "linux"
965
+ ]
966
+ },
967
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
968
+ "version": "4.59.0",
969
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz",
970
+ "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==",
971
+ "cpu": [
972
+ "loong64"
973
+ ],
974
+ "dev": true,
975
+ "license": "MIT",
976
+ "optional": true,
977
+ "os": [
978
+ "linux"
979
+ ]
980
+ },
981
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
982
+ "version": "4.59.0",
983
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz",
984
+ "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==",
985
+ "cpu": [
986
+ "ppc64"
987
+ ],
988
+ "dev": true,
989
+ "license": "MIT",
990
+ "optional": true,
991
+ "os": [
992
+ "linux"
993
+ ]
994
+ },
995
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
996
+ "version": "4.59.0",
997
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz",
998
+ "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==",
999
+ "cpu": [
1000
+ "ppc64"
1001
+ ],
1002
+ "dev": true,
1003
+ "license": "MIT",
1004
+ "optional": true,
1005
+ "os": [
1006
+ "linux"
1007
+ ]
1008
+ },
1009
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1010
+ "version": "4.59.0",
1011
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz",
1012
+ "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==",
1013
+ "cpu": [
1014
+ "riscv64"
1015
+ ],
1016
+ "dev": true,
1017
+ "license": "MIT",
1018
+ "optional": true,
1019
+ "os": [
1020
+ "linux"
1021
+ ]
1022
+ },
1023
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
1024
+ "version": "4.59.0",
1025
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz",
1026
+ "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==",
1027
+ "cpu": [
1028
+ "riscv64"
1029
+ ],
1030
+ "dev": true,
1031
+ "license": "MIT",
1032
+ "optional": true,
1033
+ "os": [
1034
+ "linux"
1035
+ ]
1036
+ },
1037
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
1038
+ "version": "4.59.0",
1039
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz",
1040
+ "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==",
1041
+ "cpu": [
1042
+ "s390x"
1043
+ ],
1044
+ "dev": true,
1045
+ "license": "MIT",
1046
+ "optional": true,
1047
+ "os": [
1048
+ "linux"
1049
+ ]
1050
+ },
1051
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
1052
+ "version": "4.59.0",
1053
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz",
1054
+ "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==",
1055
+ "cpu": [
1056
+ "x64"
1057
+ ],
1058
+ "dev": true,
1059
+ "license": "MIT",
1060
+ "optional": true,
1061
+ "os": [
1062
+ "linux"
1063
+ ]
1064
+ },
1065
+ "node_modules/@rollup/rollup-linux-x64-musl": {
1066
+ "version": "4.59.0",
1067
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz",
1068
+ "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==",
1069
+ "cpu": [
1070
+ "x64"
1071
+ ],
1072
+ "dev": true,
1073
+ "license": "MIT",
1074
+ "optional": true,
1075
+ "os": [
1076
+ "linux"
1077
+ ]
1078
+ },
1079
+ "node_modules/@rollup/rollup-openbsd-x64": {
1080
+ "version": "4.59.0",
1081
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz",
1082
+ "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==",
1083
+ "cpu": [
1084
+ "x64"
1085
+ ],
1086
+ "dev": true,
1087
+ "license": "MIT",
1088
+ "optional": true,
1089
+ "os": [
1090
+ "openbsd"
1091
+ ]
1092
+ },
1093
+ "node_modules/@rollup/rollup-openharmony-arm64": {
1094
+ "version": "4.59.0",
1095
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz",
1096
+ "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==",
1097
+ "cpu": [
1098
+ "arm64"
1099
+ ],
1100
+ "dev": true,
1101
+ "license": "MIT",
1102
+ "optional": true,
1103
+ "os": [
1104
+ "openharmony"
1105
+ ]
1106
+ },
1107
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
1108
+ "version": "4.59.0",
1109
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz",
1110
+ "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==",
1111
+ "cpu": [
1112
+ "arm64"
1113
+ ],
1114
+ "dev": true,
1115
+ "license": "MIT",
1116
+ "optional": true,
1117
+ "os": [
1118
+ "win32"
1119
+ ]
1120
+ },
1121
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
1122
+ "version": "4.59.0",
1123
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz",
1124
+ "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==",
1125
+ "cpu": [
1126
+ "ia32"
1127
+ ],
1128
+ "dev": true,
1129
+ "license": "MIT",
1130
+ "optional": true,
1131
+ "os": [
1132
+ "win32"
1133
+ ]
1134
+ },
1135
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
1136
+ "version": "4.59.0",
1137
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz",
1138
+ "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==",
1139
+ "cpu": [
1140
+ "x64"
1141
+ ],
1142
+ "dev": true,
1143
+ "license": "MIT",
1144
+ "optional": true,
1145
+ "os": [
1146
+ "win32"
1147
+ ]
1148
+ },
1149
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
1150
+ "version": "4.59.0",
1151
+ "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz",
1152
+ "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==",
1153
+ "cpu": [
1154
+ "x64"
1155
+ ],
1156
+ "dev": true,
1157
+ "license": "MIT",
1158
+ "optional": true,
1159
+ "os": [
1160
+ "win32"
1161
+ ]
1162
+ },
1163
+ "node_modules/@types/babel__core": {
1164
+ "version": "7.20.5",
1165
+ "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz",
1166
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1167
+ "dev": true,
1168
+ "license": "MIT",
1169
+ "dependencies": {
1170
+ "@babel/parser": "^7.20.7",
1171
+ "@babel/types": "^7.20.7",
1172
+ "@types/babel__generator": "*",
1173
+ "@types/babel__template": "*",
1174
+ "@types/babel__traverse": "*"
1175
+ }
1176
+ },
1177
+ "node_modules/@types/babel__generator": {
1178
+ "version": "7.27.0",
1179
+ "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.27.0.tgz",
1180
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
1181
+ "dev": true,
1182
+ "license": "MIT",
1183
+ "dependencies": {
1184
+ "@babel/types": "^7.0.0"
1185
+ }
1186
+ },
1187
+ "node_modules/@types/babel__template": {
1188
+ "version": "7.4.4",
1189
+ "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz",
1190
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1191
+ "dev": true,
1192
+ "license": "MIT",
1193
+ "dependencies": {
1194
+ "@babel/parser": "^7.1.0",
1195
+ "@babel/types": "^7.0.0"
1196
+ }
1197
+ },
1198
+ "node_modules/@types/babel__traverse": {
1199
+ "version": "7.28.0",
1200
+ "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
1201
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
1202
+ "dev": true,
1203
+ "license": "MIT",
1204
+ "dependencies": {
1205
+ "@babel/types": "^7.28.2"
1206
+ }
1207
+ },
1208
+ "node_modules/@types/estree": {
1209
+ "version": "1.0.8",
1210
+ "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz",
1211
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1212
+ "dev": true,
1213
+ "license": "MIT"
1214
+ },
1215
+ "node_modules/@types/prop-types": {
1216
+ "version": "15.7.15",
1217
+ "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.15.tgz",
1218
+ "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
1219
+ "dev": true,
1220
+ "license": "MIT"
1221
+ },
1222
+ "node_modules/@types/react": {
1223
+ "version": "18.3.28",
1224
+ "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.28.tgz",
1225
+ "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
1226
+ "dev": true,
1227
+ "license": "MIT",
1228
+ "peer": true,
1229
+ "dependencies": {
1230
+ "@types/prop-types": "*",
1231
+ "csstype": "^3.2.2"
1232
+ }
1233
+ },
1234
+ "node_modules/@types/react-dom": {
1235
+ "version": "18.3.7",
1236
+ "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.7.tgz",
1237
+ "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
1238
+ "dev": true,
1239
+ "license": "MIT",
1240
+ "peerDependencies": {
1241
+ "@types/react": "^18.0.0"
1242
+ }
1243
+ },
1244
+ "node_modules/@types/uuid": {
1245
+ "version": "10.0.0",
1246
+ "resolved": "https://registry.npmmirror.com/@types/uuid/-/uuid-10.0.0.tgz",
1247
+ "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==",
1248
+ "dev": true,
1249
+ "license": "MIT"
1250
+ },
1251
+ "node_modules/@vitejs/plugin-react": {
1252
+ "version": "4.7.0",
1253
+ "resolved": "https://registry.npmmirror.com/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
1254
+ "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
1255
+ "dev": true,
1256
+ "license": "MIT",
1257
+ "dependencies": {
1258
+ "@babel/core": "^7.28.0",
1259
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
1260
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
1261
+ "@rolldown/pluginutils": "1.0.0-beta.27",
1262
+ "@types/babel__core": "^7.20.5",
1263
+ "react-refresh": "^0.17.0"
1264
+ },
1265
+ "engines": {
1266
+ "node": "^14.18.0 || >=16.0.0"
1267
+ },
1268
+ "peerDependencies": {
1269
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
1270
+ }
1271
+ },
1272
+ "node_modules/any-promise": {
1273
+ "version": "1.3.0",
1274
+ "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz",
1275
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
1276
+ "dev": true,
1277
+ "license": "MIT"
1278
+ },
1279
+ "node_modules/anymatch": {
1280
+ "version": "3.1.3",
1281
+ "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
1282
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
1283
+ "dev": true,
1284
+ "license": "ISC",
1285
+ "dependencies": {
1286
+ "normalize-path": "^3.0.0",
1287
+ "picomatch": "^2.0.4"
1288
+ },
1289
+ "engines": {
1290
+ "node": ">= 8"
1291
+ }
1292
+ },
1293
+ "node_modules/arg": {
1294
+ "version": "5.0.2",
1295
+ "resolved": "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz",
1296
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
1297
+ "dev": true,
1298
+ "license": "MIT"
1299
+ },
1300
+ "node_modules/autoprefixer": {
1301
+ "version": "10.4.27",
1302
+ "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.27.tgz",
1303
+ "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==",
1304
+ "dev": true,
1305
+ "funding": [
1306
+ {
1307
+ "type": "opencollective",
1308
+ "url": "https://opencollective.com/postcss/"
1309
+ },
1310
+ {
1311
+ "type": "tidelift",
1312
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
1313
+ },
1314
+ {
1315
+ "type": "github",
1316
+ "url": "https://github.com/sponsors/ai"
1317
+ }
1318
+ ],
1319
+ "license": "MIT",
1320
+ "dependencies": {
1321
+ "browserslist": "^4.28.1",
1322
+ "caniuse-lite": "^1.0.30001774",
1323
+ "fraction.js": "^5.3.4",
1324
+ "picocolors": "^1.1.1",
1325
+ "postcss-value-parser": "^4.2.0"
1326
+ },
1327
+ "bin": {
1328
+ "autoprefixer": "bin/autoprefixer"
1329
+ },
1330
+ "engines": {
1331
+ "node": "^10 || ^12 || >=14"
1332
+ },
1333
+ "peerDependencies": {
1334
+ "postcss": "^8.1.0"
1335
+ }
1336
+ },
1337
+ "node_modules/baseline-browser-mapping": {
1338
+ "version": "2.10.0",
1339
+ "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz",
1340
+ "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==",
1341
+ "dev": true,
1342
+ "license": "Apache-2.0",
1343
+ "bin": {
1344
+ "baseline-browser-mapping": "dist/cli.cjs"
1345
+ },
1346
+ "engines": {
1347
+ "node": ">=6.0.0"
1348
+ }
1349
+ },
1350
+ "node_modules/binary-extensions": {
1351
+ "version": "2.3.0",
1352
+ "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
1353
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
1354
+ "dev": true,
1355
+ "license": "MIT",
1356
+ "engines": {
1357
+ "node": ">=8"
1358
+ },
1359
+ "funding": {
1360
+ "url": "https://github.com/sponsors/sindresorhus"
1361
+ }
1362
+ },
1363
+ "node_modules/braces": {
1364
+ "version": "3.0.3",
1365
+ "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
1366
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
1367
+ "dev": true,
1368
+ "license": "MIT",
1369
+ "dependencies": {
1370
+ "fill-range": "^7.1.1"
1371
+ },
1372
+ "engines": {
1373
+ "node": ">=8"
1374
+ }
1375
+ },
1376
+ "node_modules/browserslist": {
1377
+ "version": "4.28.1",
1378
+ "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.28.1.tgz",
1379
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
1380
+ "dev": true,
1381
+ "funding": [
1382
+ {
1383
+ "type": "opencollective",
1384
+ "url": "https://opencollective.com/browserslist"
1385
+ },
1386
+ {
1387
+ "type": "tidelift",
1388
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
1389
+ },
1390
+ {
1391
+ "type": "github",
1392
+ "url": "https://github.com/sponsors/ai"
1393
+ }
1394
+ ],
1395
+ "license": "MIT",
1396
+ "peer": true,
1397
+ "dependencies": {
1398
+ "baseline-browser-mapping": "^2.9.0",
1399
+ "caniuse-lite": "^1.0.30001759",
1400
+ "electron-to-chromium": "^1.5.263",
1401
+ "node-releases": "^2.0.27",
1402
+ "update-browserslist-db": "^1.2.0"
1403
+ },
1404
+ "bin": {
1405
+ "browserslist": "cli.js"
1406
+ },
1407
+ "engines": {
1408
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1409
+ }
1410
+ },
1411
+ "node_modules/camelcase-css": {
1412
+ "version": "2.0.1",
1413
+ "resolved": "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz",
1414
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
1415
+ "dev": true,
1416
+ "license": "MIT",
1417
+ "engines": {
1418
+ "node": ">= 6"
1419
+ }
1420
+ },
1421
+ "node_modules/caniuse-lite": {
1422
+ "version": "1.0.30001777",
1423
+ "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz",
1424
+ "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==",
1425
+ "dev": true,
1426
+ "funding": [
1427
+ {
1428
+ "type": "opencollective",
1429
+ "url": "https://opencollective.com/browserslist"
1430
+ },
1431
+ {
1432
+ "type": "tidelift",
1433
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1434
+ },
1435
+ {
1436
+ "type": "github",
1437
+ "url": "https://github.com/sponsors/ai"
1438
+ }
1439
+ ],
1440
+ "license": "CC-BY-4.0"
1441
+ },
1442
+ "node_modules/chokidar": {
1443
+ "version": "3.6.0",
1444
+ "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
1445
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
1446
+ "dev": true,
1447
+ "license": "MIT",
1448
+ "dependencies": {
1449
+ "anymatch": "~3.1.2",
1450
+ "braces": "~3.0.2",
1451
+ "glob-parent": "~5.1.2",
1452
+ "is-binary-path": "~2.1.0",
1453
+ "is-glob": "~4.0.1",
1454
+ "normalize-path": "~3.0.0",
1455
+ "readdirp": "~3.6.0"
1456
+ },
1457
+ "engines": {
1458
+ "node": ">= 8.10.0"
1459
+ },
1460
+ "funding": {
1461
+ "url": "https://paulmillr.com/funding/"
1462
+ },
1463
+ "optionalDependencies": {
1464
+ "fsevents": "~2.3.2"
1465
+ }
1466
+ },
1467
+ "node_modules/chokidar/node_modules/glob-parent": {
1468
+ "version": "5.1.2",
1469
+ "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
1470
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1471
+ "dev": true,
1472
+ "license": "ISC",
1473
+ "dependencies": {
1474
+ "is-glob": "^4.0.1"
1475
+ },
1476
+ "engines": {
1477
+ "node": ">= 6"
1478
+ }
1479
+ },
1480
+ "node_modules/clsx": {
1481
+ "version": "2.1.1",
1482
+ "resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz",
1483
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
1484
+ "license": "MIT",
1485
+ "engines": {
1486
+ "node": ">=6"
1487
+ }
1488
+ },
1489
+ "node_modules/commander": {
1490
+ "version": "4.1.1",
1491
+ "resolved": "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz",
1492
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
1493
+ "dev": true,
1494
+ "license": "MIT",
1495
+ "engines": {
1496
+ "node": ">= 6"
1497
+ }
1498
+ },
1499
+ "node_modules/convert-source-map": {
1500
+ "version": "2.0.0",
1501
+ "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz",
1502
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1503
+ "dev": true,
1504
+ "license": "MIT"
1505
+ },
1506
+ "node_modules/cssesc": {
1507
+ "version": "3.0.0",
1508
+ "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz",
1509
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1510
+ "dev": true,
1511
+ "license": "MIT",
1512
+ "bin": {
1513
+ "cssesc": "bin/cssesc"
1514
+ },
1515
+ "engines": {
1516
+ "node": ">=4"
1517
+ }
1518
+ },
1519
+ "node_modules/csstype": {
1520
+ "version": "3.2.3",
1521
+ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz",
1522
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
1523
+ "dev": true,
1524
+ "license": "MIT"
1525
+ },
1526
+ "node_modules/debug": {
1527
+ "version": "4.4.3",
1528
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
1529
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1530
+ "dev": true,
1531
+ "license": "MIT",
1532
+ "dependencies": {
1533
+ "ms": "^2.1.3"
1534
+ },
1535
+ "engines": {
1536
+ "node": ">=6.0"
1537
+ },
1538
+ "peerDependenciesMeta": {
1539
+ "supports-color": {
1540
+ "optional": true
1541
+ }
1542
+ }
1543
+ },
1544
+ "node_modules/didyoumean": {
1545
+ "version": "1.2.2",
1546
+ "resolved": "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz",
1547
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
1548
+ "dev": true,
1549
+ "license": "Apache-2.0"
1550
+ },
1551
+ "node_modules/dlv": {
1552
+ "version": "1.1.3",
1553
+ "resolved": "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz",
1554
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
1555
+ "dev": true,
1556
+ "license": "MIT"
1557
+ },
1558
+ "node_modules/electron-to-chromium": {
1559
+ "version": "1.5.307",
1560
+ "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz",
1561
+ "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==",
1562
+ "dev": true,
1563
+ "license": "ISC"
1564
+ },
1565
+ "node_modules/esbuild": {
1566
+ "version": "0.21.5",
1567
+ "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz",
1568
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
1569
+ "dev": true,
1570
+ "hasInstallScript": true,
1571
+ "license": "MIT",
1572
+ "bin": {
1573
+ "esbuild": "bin/esbuild"
1574
+ },
1575
+ "engines": {
1576
+ "node": ">=12"
1577
+ },
1578
+ "optionalDependencies": {
1579
+ "@esbuild/aix-ppc64": "0.21.5",
1580
+ "@esbuild/android-arm": "0.21.5",
1581
+ "@esbuild/android-arm64": "0.21.5",
1582
+ "@esbuild/android-x64": "0.21.5",
1583
+ "@esbuild/darwin-arm64": "0.21.5",
1584
+ "@esbuild/darwin-x64": "0.21.5",
1585
+ "@esbuild/freebsd-arm64": "0.21.5",
1586
+ "@esbuild/freebsd-x64": "0.21.5",
1587
+ "@esbuild/linux-arm": "0.21.5",
1588
+ "@esbuild/linux-arm64": "0.21.5",
1589
+ "@esbuild/linux-ia32": "0.21.5",
1590
+ "@esbuild/linux-loong64": "0.21.5",
1591
+ "@esbuild/linux-mips64el": "0.21.5",
1592
+ "@esbuild/linux-ppc64": "0.21.5",
1593
+ "@esbuild/linux-riscv64": "0.21.5",
1594
+ "@esbuild/linux-s390x": "0.21.5",
1595
+ "@esbuild/linux-x64": "0.21.5",
1596
+ "@esbuild/netbsd-x64": "0.21.5",
1597
+ "@esbuild/openbsd-x64": "0.21.5",
1598
+ "@esbuild/sunos-x64": "0.21.5",
1599
+ "@esbuild/win32-arm64": "0.21.5",
1600
+ "@esbuild/win32-ia32": "0.21.5",
1601
+ "@esbuild/win32-x64": "0.21.5"
1602
+ }
1603
+ },
1604
+ "node_modules/escalade": {
1605
+ "version": "3.2.0",
1606
+ "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz",
1607
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1608
+ "dev": true,
1609
+ "license": "MIT",
1610
+ "engines": {
1611
+ "node": ">=6"
1612
+ }
1613
+ },
1614
+ "node_modules/fast-glob": {
1615
+ "version": "3.3.3",
1616
+ "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz",
1617
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
1618
+ "dev": true,
1619
+ "license": "MIT",
1620
+ "dependencies": {
1621
+ "@nodelib/fs.stat": "^2.0.2",
1622
+ "@nodelib/fs.walk": "^1.2.3",
1623
+ "glob-parent": "^5.1.2",
1624
+ "merge2": "^1.3.0",
1625
+ "micromatch": "^4.0.8"
1626
+ },
1627
+ "engines": {
1628
+ "node": ">=8.6.0"
1629
+ }
1630
+ },
1631
+ "node_modules/fast-glob/node_modules/glob-parent": {
1632
+ "version": "5.1.2",
1633
+ "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
1634
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1635
+ "dev": true,
1636
+ "license": "ISC",
1637
+ "dependencies": {
1638
+ "is-glob": "^4.0.1"
1639
+ },
1640
+ "engines": {
1641
+ "node": ">= 6"
1642
+ }
1643
+ },
1644
+ "node_modules/fastq": {
1645
+ "version": "1.20.1",
1646
+ "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz",
1647
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
1648
+ "dev": true,
1649
+ "license": "ISC",
1650
+ "dependencies": {
1651
+ "reusify": "^1.0.4"
1652
+ }
1653
+ },
1654
+ "node_modules/fill-range": {
1655
+ "version": "7.1.1",
1656
+ "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
1657
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
1658
+ "dev": true,
1659
+ "license": "MIT",
1660
+ "dependencies": {
1661
+ "to-regex-range": "^5.0.1"
1662
+ },
1663
+ "engines": {
1664
+ "node": ">=8"
1665
+ }
1666
+ },
1667
+ "node_modules/fraction.js": {
1668
+ "version": "5.3.4",
1669
+ "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-5.3.4.tgz",
1670
+ "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
1671
+ "dev": true,
1672
+ "license": "MIT",
1673
+ "engines": {
1674
+ "node": "*"
1675
+ },
1676
+ "funding": {
1677
+ "type": "github",
1678
+ "url": "https://github.com/sponsors/rawify"
1679
+ }
1680
+ },
1681
+ "node_modules/framer-motion": {
1682
+ "version": "11.18.2",
1683
+ "resolved": "https://registry.npmmirror.com/framer-motion/-/framer-motion-11.18.2.tgz",
1684
+ "integrity": "sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w==",
1685
+ "license": "MIT",
1686
+ "dependencies": {
1687
+ "motion-dom": "^11.18.1",
1688
+ "motion-utils": "^11.18.1",
1689
+ "tslib": "^2.4.0"
1690
+ },
1691
+ "peerDependencies": {
1692
+ "@emotion/is-prop-valid": "*",
1693
+ "react": "^18.0.0 || ^19.0.0",
1694
+ "react-dom": "^18.0.0 || ^19.0.0"
1695
+ },
1696
+ "peerDependenciesMeta": {
1697
+ "@emotion/is-prop-valid": {
1698
+ "optional": true
1699
+ },
1700
+ "react": {
1701
+ "optional": true
1702
+ },
1703
+ "react-dom": {
1704
+ "optional": true
1705
+ }
1706
+ }
1707
+ },
1708
+ "node_modules/fsevents": {
1709
+ "version": "2.3.3",
1710
+ "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
1711
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1712
+ "dev": true,
1713
+ "hasInstallScript": true,
1714
+ "license": "MIT",
1715
+ "optional": true,
1716
+ "os": [
1717
+ "darwin"
1718
+ ],
1719
+ "engines": {
1720
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1721
+ }
1722
+ },
1723
+ "node_modules/function-bind": {
1724
+ "version": "1.1.2",
1725
+ "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
1726
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1727
+ "dev": true,
1728
+ "license": "MIT",
1729
+ "funding": {
1730
+ "url": "https://github.com/sponsors/ljharb"
1731
+ }
1732
+ },
1733
+ "node_modules/gensync": {
1734
+ "version": "1.0.0-beta.2",
1735
+ "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
1736
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1737
+ "dev": true,
1738
+ "license": "MIT",
1739
+ "engines": {
1740
+ "node": ">=6.9.0"
1741
+ }
1742
+ },
1743
+ "node_modules/glob-parent": {
1744
+ "version": "6.0.2",
1745
+ "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz",
1746
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1747
+ "dev": true,
1748
+ "license": "ISC",
1749
+ "dependencies": {
1750
+ "is-glob": "^4.0.3"
1751
+ },
1752
+ "engines": {
1753
+ "node": ">=10.13.0"
1754
+ }
1755
+ },
1756
+ "node_modules/hasown": {
1757
+ "version": "2.0.2",
1758
+ "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
1759
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1760
+ "dev": true,
1761
+ "license": "MIT",
1762
+ "dependencies": {
1763
+ "function-bind": "^1.1.2"
1764
+ },
1765
+ "engines": {
1766
+ "node": ">= 0.4"
1767
+ }
1768
+ },
1769
+ "node_modules/is-binary-path": {
1770
+ "version": "2.1.0",
1771
+ "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
1772
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1773
+ "dev": true,
1774
+ "license": "MIT",
1775
+ "dependencies": {
1776
+ "binary-extensions": "^2.0.0"
1777
+ },
1778
+ "engines": {
1779
+ "node": ">=8"
1780
+ }
1781
+ },
1782
+ "node_modules/is-core-module": {
1783
+ "version": "2.16.1",
1784
+ "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz",
1785
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
1786
+ "dev": true,
1787
+ "license": "MIT",
1788
+ "dependencies": {
1789
+ "hasown": "^2.0.2"
1790
+ },
1791
+ "engines": {
1792
+ "node": ">= 0.4"
1793
+ },
1794
+ "funding": {
1795
+ "url": "https://github.com/sponsors/ljharb"
1796
+ }
1797
+ },
1798
+ "node_modules/is-extglob": {
1799
+ "version": "2.1.1",
1800
+ "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
1801
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1802
+ "dev": true,
1803
+ "license": "MIT",
1804
+ "engines": {
1805
+ "node": ">=0.10.0"
1806
+ }
1807
+ },
1808
+ "node_modules/is-glob": {
1809
+ "version": "4.0.3",
1810
+ "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
1811
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1812
+ "dev": true,
1813
+ "license": "MIT",
1814
+ "dependencies": {
1815
+ "is-extglob": "^2.1.1"
1816
+ },
1817
+ "engines": {
1818
+ "node": ">=0.10.0"
1819
+ }
1820
+ },
1821
+ "node_modules/is-number": {
1822
+ "version": "7.0.0",
1823
+ "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
1824
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1825
+ "dev": true,
1826
+ "license": "MIT",
1827
+ "engines": {
1828
+ "node": ">=0.12.0"
1829
+ }
1830
+ },
1831
+ "node_modules/jiti": {
1832
+ "version": "1.21.7",
1833
+ "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.7.tgz",
1834
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
1835
+ "dev": true,
1836
+ "license": "MIT",
1837
+ "peer": true,
1838
+ "bin": {
1839
+ "jiti": "bin/jiti.js"
1840
+ }
1841
+ },
1842
+ "node_modules/js-tokens": {
1843
+ "version": "4.0.0",
1844
+ "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
1845
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1846
+ "license": "MIT"
1847
+ },
1848
+ "node_modules/jsesc": {
1849
+ "version": "3.1.0",
1850
+ "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz",
1851
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
1852
+ "dev": true,
1853
+ "license": "MIT",
1854
+ "bin": {
1855
+ "jsesc": "bin/jsesc"
1856
+ },
1857
+ "engines": {
1858
+ "node": ">=6"
1859
+ }
1860
+ },
1861
+ "node_modules/json5": {
1862
+ "version": "2.2.3",
1863
+ "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
1864
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1865
+ "dev": true,
1866
+ "license": "MIT",
1867
+ "bin": {
1868
+ "json5": "lib/cli.js"
1869
+ },
1870
+ "engines": {
1871
+ "node": ">=6"
1872
+ }
1873
+ },
1874
+ "node_modules/lilconfig": {
1875
+ "version": "3.1.3",
1876
+ "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.3.tgz",
1877
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
1878
+ "dev": true,
1879
+ "license": "MIT",
1880
+ "engines": {
1881
+ "node": ">=14"
1882
+ },
1883
+ "funding": {
1884
+ "url": "https://github.com/sponsors/antonk52"
1885
+ }
1886
+ },
1887
+ "node_modules/lines-and-columns": {
1888
+ "version": "1.2.4",
1889
+ "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
1890
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
1891
+ "dev": true,
1892
+ "license": "MIT"
1893
+ },
1894
+ "node_modules/loose-envify": {
1895
+ "version": "1.4.0",
1896
+ "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz",
1897
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1898
+ "license": "MIT",
1899
+ "dependencies": {
1900
+ "js-tokens": "^3.0.0 || ^4.0.0"
1901
+ },
1902
+ "bin": {
1903
+ "loose-envify": "cli.js"
1904
+ }
1905
+ },
1906
+ "node_modules/lru-cache": {
1907
+ "version": "5.1.1",
1908
+ "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
1909
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1910
+ "dev": true,
1911
+ "license": "ISC",
1912
+ "dependencies": {
1913
+ "yallist": "^3.0.2"
1914
+ }
1915
+ },
1916
+ "node_modules/lucide-react": {
1917
+ "version": "0.446.0",
1918
+ "resolved": "https://registry.npmmirror.com/lucide-react/-/lucide-react-0.446.0.tgz",
1919
+ "integrity": "sha512-BU7gy8MfBMqvEdDPH79VhOXSEgyG8TSPOKWaExWGCQVqnGH7wGgDngPbofu+KdtVjPQBWbEmnfMTq90CTiiDRg==",
1920
+ "license": "ISC",
1921
+ "peerDependencies": {
1922
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
1923
+ }
1924
+ },
1925
+ "node_modules/merge2": {
1926
+ "version": "1.4.1",
1927
+ "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz",
1928
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1929
+ "dev": true,
1930
+ "license": "MIT",
1931
+ "engines": {
1932
+ "node": ">= 8"
1933
+ }
1934
+ },
1935
+ "node_modules/micromatch": {
1936
+ "version": "4.0.8",
1937
+ "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
1938
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
1939
+ "dev": true,
1940
+ "license": "MIT",
1941
+ "dependencies": {
1942
+ "braces": "^3.0.3",
1943
+ "picomatch": "^2.3.1"
1944
+ },
1945
+ "engines": {
1946
+ "node": ">=8.6"
1947
+ }
1948
+ },
1949
+ "node_modules/motion-dom": {
1950
+ "version": "11.18.1",
1951
+ "resolved": "https://registry.npmmirror.com/motion-dom/-/motion-dom-11.18.1.tgz",
1952
+ "integrity": "sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw==",
1953
+ "license": "MIT",
1954
+ "dependencies": {
1955
+ "motion-utils": "^11.18.1"
1956
+ }
1957
+ },
1958
+ "node_modules/motion-utils": {
1959
+ "version": "11.18.1",
1960
+ "resolved": "https://registry.npmmirror.com/motion-utils/-/motion-utils-11.18.1.tgz",
1961
+ "integrity": "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==",
1962
+ "license": "MIT"
1963
+ },
1964
+ "node_modules/ms": {
1965
+ "version": "2.1.3",
1966
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
1967
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1968
+ "dev": true,
1969
+ "license": "MIT"
1970
+ },
1971
+ "node_modules/mz": {
1972
+ "version": "2.7.0",
1973
+ "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz",
1974
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
1975
+ "dev": true,
1976
+ "license": "MIT",
1977
+ "dependencies": {
1978
+ "any-promise": "^1.0.0",
1979
+ "object-assign": "^4.0.1",
1980
+ "thenify-all": "^1.0.0"
1981
+ }
1982
+ },
1983
+ "node_modules/nanoid": {
1984
+ "version": "3.3.11",
1985
+ "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz",
1986
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1987
+ "dev": true,
1988
+ "funding": [
1989
+ {
1990
+ "type": "github",
1991
+ "url": "https://github.com/sponsors/ai"
1992
+ }
1993
+ ],
1994
+ "license": "MIT",
1995
+ "bin": {
1996
+ "nanoid": "bin/nanoid.cjs"
1997
+ },
1998
+ "engines": {
1999
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
2000
+ }
2001
+ },
2002
+ "node_modules/node-releases": {
2003
+ "version": "2.0.36",
2004
+ "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.36.tgz",
2005
+ "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==",
2006
+ "dev": true,
2007
+ "license": "MIT"
2008
+ },
2009
+ "node_modules/normalize-path": {
2010
+ "version": "3.0.0",
2011
+ "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
2012
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2013
+ "dev": true,
2014
+ "license": "MIT",
2015
+ "engines": {
2016
+ "node": ">=0.10.0"
2017
+ }
2018
+ },
2019
+ "node_modules/object-assign": {
2020
+ "version": "4.1.1",
2021
+ "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz",
2022
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
2023
+ "dev": true,
2024
+ "license": "MIT",
2025
+ "engines": {
2026
+ "node": ">=0.10.0"
2027
+ }
2028
+ },
2029
+ "node_modules/object-hash": {
2030
+ "version": "3.0.0",
2031
+ "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz",
2032
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
2033
+ "dev": true,
2034
+ "license": "MIT",
2035
+ "engines": {
2036
+ "node": ">= 6"
2037
+ }
2038
+ },
2039
+ "node_modules/path-parse": {
2040
+ "version": "1.0.7",
2041
+ "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz",
2042
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2043
+ "dev": true,
2044
+ "license": "MIT"
2045
+ },
2046
+ "node_modules/picocolors": {
2047
+ "version": "1.1.1",
2048
+ "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
2049
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2050
+ "dev": true,
2051
+ "license": "ISC"
2052
+ },
2053
+ "node_modules/picomatch": {
2054
+ "version": "2.3.1",
2055
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
2056
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
2057
+ "dev": true,
2058
+ "license": "MIT",
2059
+ "engines": {
2060
+ "node": ">=8.6"
2061
+ },
2062
+ "funding": {
2063
+ "url": "https://github.com/sponsors/jonschlinkert"
2064
+ }
2065
+ },
2066
+ "node_modules/pify": {
2067
+ "version": "2.3.0",
2068
+ "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz",
2069
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
2070
+ "dev": true,
2071
+ "license": "MIT",
2072
+ "engines": {
2073
+ "node": ">=0.10.0"
2074
+ }
2075
+ },
2076
+ "node_modules/pirates": {
2077
+ "version": "4.0.7",
2078
+ "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.7.tgz",
2079
+ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
2080
+ "dev": true,
2081
+ "license": "MIT",
2082
+ "engines": {
2083
+ "node": ">= 6"
2084
+ }
2085
+ },
2086
+ "node_modules/postcss": {
2087
+ "version": "8.5.8",
2088
+ "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.8.tgz",
2089
+ "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
2090
+ "dev": true,
2091
+ "funding": [
2092
+ {
2093
+ "type": "opencollective",
2094
+ "url": "https://opencollective.com/postcss/"
2095
+ },
2096
+ {
2097
+ "type": "tidelift",
2098
+ "url": "https://tidelift.com/funding/github/npm/postcss"
2099
+ },
2100
+ {
2101
+ "type": "github",
2102
+ "url": "https://github.com/sponsors/ai"
2103
+ }
2104
+ ],
2105
+ "license": "MIT",
2106
+ "peer": true,
2107
+ "dependencies": {
2108
+ "nanoid": "^3.3.11",
2109
+ "picocolors": "^1.1.1",
2110
+ "source-map-js": "^1.2.1"
2111
+ },
2112
+ "engines": {
2113
+ "node": "^10 || ^12 || >=14"
2114
+ }
2115
+ },
2116
+ "node_modules/postcss-import": {
2117
+ "version": "15.1.0",
2118
+ "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-15.1.0.tgz",
2119
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
2120
+ "dev": true,
2121
+ "license": "MIT",
2122
+ "dependencies": {
2123
+ "postcss-value-parser": "^4.0.0",
2124
+ "read-cache": "^1.0.0",
2125
+ "resolve": "^1.1.7"
2126
+ },
2127
+ "engines": {
2128
+ "node": ">=14.0.0"
2129
+ },
2130
+ "peerDependencies": {
2131
+ "postcss": "^8.0.0"
2132
+ }
2133
+ },
2134
+ "node_modules/postcss-js": {
2135
+ "version": "4.1.0",
2136
+ "resolved": "https://registry.npmmirror.com/postcss-js/-/postcss-js-4.1.0.tgz",
2137
+ "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==",
2138
+ "dev": true,
2139
+ "funding": [
2140
+ {
2141
+ "type": "opencollective",
2142
+ "url": "https://opencollective.com/postcss/"
2143
+ },
2144
+ {
2145
+ "type": "github",
2146
+ "url": "https://github.com/sponsors/ai"
2147
+ }
2148
+ ],
2149
+ "license": "MIT",
2150
+ "dependencies": {
2151
+ "camelcase-css": "^2.0.1"
2152
+ },
2153
+ "engines": {
2154
+ "node": "^12 || ^14 || >= 16"
2155
+ },
2156
+ "peerDependencies": {
2157
+ "postcss": "^8.4.21"
2158
+ }
2159
+ },
2160
+ "node_modules/postcss-load-config": {
2161
+ "version": "6.0.1",
2162
+ "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-6.0.1.tgz",
2163
+ "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==",
2164
+ "dev": true,
2165
+ "funding": [
2166
+ {
2167
+ "type": "opencollective",
2168
+ "url": "https://opencollective.com/postcss/"
2169
+ },
2170
+ {
2171
+ "type": "github",
2172
+ "url": "https://github.com/sponsors/ai"
2173
+ }
2174
+ ],
2175
+ "license": "MIT",
2176
+ "dependencies": {
2177
+ "lilconfig": "^3.1.1"
2178
+ },
2179
+ "engines": {
2180
+ "node": ">= 18"
2181
+ },
2182
+ "peerDependencies": {
2183
+ "jiti": ">=1.21.0",
2184
+ "postcss": ">=8.0.9",
2185
+ "tsx": "^4.8.1",
2186
+ "yaml": "^2.4.2"
2187
+ },
2188
+ "peerDependenciesMeta": {
2189
+ "jiti": {
2190
+ "optional": true
2191
+ },
2192
+ "postcss": {
2193
+ "optional": true
2194
+ },
2195
+ "tsx": {
2196
+ "optional": true
2197
+ },
2198
+ "yaml": {
2199
+ "optional": true
2200
+ }
2201
+ }
2202
+ },
2203
+ "node_modules/postcss-nested": {
2204
+ "version": "6.2.0",
2205
+ "resolved": "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.2.0.tgz",
2206
+ "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
2207
+ "dev": true,
2208
+ "funding": [
2209
+ {
2210
+ "type": "opencollective",
2211
+ "url": "https://opencollective.com/postcss/"
2212
+ },
2213
+ {
2214
+ "type": "github",
2215
+ "url": "https://github.com/sponsors/ai"
2216
+ }
2217
+ ],
2218
+ "license": "MIT",
2219
+ "dependencies": {
2220
+ "postcss-selector-parser": "^6.1.1"
2221
+ },
2222
+ "engines": {
2223
+ "node": ">=12.0"
2224
+ },
2225
+ "peerDependencies": {
2226
+ "postcss": "^8.2.14"
2227
+ }
2228
+ },
2229
+ "node_modules/postcss-selector-parser": {
2230
+ "version": "6.1.2",
2231
+ "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
2232
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
2233
+ "dev": true,
2234
+ "license": "MIT",
2235
+ "dependencies": {
2236
+ "cssesc": "^3.0.0",
2237
+ "util-deprecate": "^1.0.2"
2238
+ },
2239
+ "engines": {
2240
+ "node": ">=4"
2241
+ }
2242
+ },
2243
+ "node_modules/postcss-value-parser": {
2244
+ "version": "4.2.0",
2245
+ "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
2246
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
2247
+ "dev": true,
2248
+ "license": "MIT"
2249
+ },
2250
+ "node_modules/queue-microtask": {
2251
+ "version": "1.2.3",
2252
+ "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz",
2253
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2254
+ "dev": true,
2255
+ "funding": [
2256
+ {
2257
+ "type": "github",
2258
+ "url": "https://github.com/sponsors/feross"
2259
+ },
2260
+ {
2261
+ "type": "patreon",
2262
+ "url": "https://www.patreon.com/feross"
2263
+ },
2264
+ {
2265
+ "type": "consulting",
2266
+ "url": "https://feross.org/support"
2267
+ }
2268
+ ],
2269
+ "license": "MIT"
2270
+ },
2271
+ "node_modules/react": {
2272
+ "version": "18.3.1",
2273
+ "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz",
2274
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
2275
+ "license": "MIT",
2276
+ "peer": true,
2277
+ "dependencies": {
2278
+ "loose-envify": "^1.1.0"
2279
+ },
2280
+ "engines": {
2281
+ "node": ">=0.10.0"
2282
+ }
2283
+ },
2284
+ "node_modules/react-dom": {
2285
+ "version": "18.3.1",
2286
+ "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz",
2287
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
2288
+ "license": "MIT",
2289
+ "peer": true,
2290
+ "dependencies": {
2291
+ "loose-envify": "^1.1.0",
2292
+ "scheduler": "^0.23.2"
2293
+ },
2294
+ "peerDependencies": {
2295
+ "react": "^18.3.1"
2296
+ }
2297
+ },
2298
+ "node_modules/react-refresh": {
2299
+ "version": "0.17.0",
2300
+ "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.17.0.tgz",
2301
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
2302
+ "dev": true,
2303
+ "license": "MIT",
2304
+ "engines": {
2305
+ "node": ">=0.10.0"
2306
+ }
2307
+ },
2308
+ "node_modules/read-cache": {
2309
+ "version": "1.0.0",
2310
+ "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz",
2311
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
2312
+ "dev": true,
2313
+ "license": "MIT",
2314
+ "dependencies": {
2315
+ "pify": "^2.3.0"
2316
+ }
2317
+ },
2318
+ "node_modules/readdirp": {
2319
+ "version": "3.6.0",
2320
+ "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
2321
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
2322
+ "dev": true,
2323
+ "license": "MIT",
2324
+ "dependencies": {
2325
+ "picomatch": "^2.2.1"
2326
+ },
2327
+ "engines": {
2328
+ "node": ">=8.10.0"
2329
+ }
2330
+ },
2331
+ "node_modules/resolve": {
2332
+ "version": "1.22.11",
2333
+ "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.11.tgz",
2334
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
2335
+ "dev": true,
2336
+ "license": "MIT",
2337
+ "dependencies": {
2338
+ "is-core-module": "^2.16.1",
2339
+ "path-parse": "^1.0.7",
2340
+ "supports-preserve-symlinks-flag": "^1.0.0"
2341
+ },
2342
+ "bin": {
2343
+ "resolve": "bin/resolve"
2344
+ },
2345
+ "engines": {
2346
+ "node": ">= 0.4"
2347
+ },
2348
+ "funding": {
2349
+ "url": "https://github.com/sponsors/ljharb"
2350
+ }
2351
+ },
2352
+ "node_modules/reusify": {
2353
+ "version": "1.1.0",
2354
+ "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz",
2355
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
2356
+ "dev": true,
2357
+ "license": "MIT",
2358
+ "engines": {
2359
+ "iojs": ">=1.0.0",
2360
+ "node": ">=0.10.0"
2361
+ }
2362
+ },
2363
+ "node_modules/rollup": {
2364
+ "version": "4.59.0",
2365
+ "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.59.0.tgz",
2366
+ "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==",
2367
+ "dev": true,
2368
+ "license": "MIT",
2369
+ "dependencies": {
2370
+ "@types/estree": "1.0.8"
2371
+ },
2372
+ "bin": {
2373
+ "rollup": "dist/bin/rollup"
2374
+ },
2375
+ "engines": {
2376
+ "node": ">=18.0.0",
2377
+ "npm": ">=8.0.0"
2378
+ },
2379
+ "optionalDependencies": {
2380
+ "@rollup/rollup-android-arm-eabi": "4.59.0",
2381
+ "@rollup/rollup-android-arm64": "4.59.0",
2382
+ "@rollup/rollup-darwin-arm64": "4.59.0",
2383
+ "@rollup/rollup-darwin-x64": "4.59.0",
2384
+ "@rollup/rollup-freebsd-arm64": "4.59.0",
2385
+ "@rollup/rollup-freebsd-x64": "4.59.0",
2386
+ "@rollup/rollup-linux-arm-gnueabihf": "4.59.0",
2387
+ "@rollup/rollup-linux-arm-musleabihf": "4.59.0",
2388
+ "@rollup/rollup-linux-arm64-gnu": "4.59.0",
2389
+ "@rollup/rollup-linux-arm64-musl": "4.59.0",
2390
+ "@rollup/rollup-linux-loong64-gnu": "4.59.0",
2391
+ "@rollup/rollup-linux-loong64-musl": "4.59.0",
2392
+ "@rollup/rollup-linux-ppc64-gnu": "4.59.0",
2393
+ "@rollup/rollup-linux-ppc64-musl": "4.59.0",
2394
+ "@rollup/rollup-linux-riscv64-gnu": "4.59.0",
2395
+ "@rollup/rollup-linux-riscv64-musl": "4.59.0",
2396
+ "@rollup/rollup-linux-s390x-gnu": "4.59.0",
2397
+ "@rollup/rollup-linux-x64-gnu": "4.59.0",
2398
+ "@rollup/rollup-linux-x64-musl": "4.59.0",
2399
+ "@rollup/rollup-openbsd-x64": "4.59.0",
2400
+ "@rollup/rollup-openharmony-arm64": "4.59.0",
2401
+ "@rollup/rollup-win32-arm64-msvc": "4.59.0",
2402
+ "@rollup/rollup-win32-ia32-msvc": "4.59.0",
2403
+ "@rollup/rollup-win32-x64-gnu": "4.59.0",
2404
+ "@rollup/rollup-win32-x64-msvc": "4.59.0",
2405
+ "fsevents": "~2.3.2"
2406
+ }
2407
+ },
2408
+ "node_modules/run-parallel": {
2409
+ "version": "1.2.0",
2410
+ "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz",
2411
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2412
+ "dev": true,
2413
+ "funding": [
2414
+ {
2415
+ "type": "github",
2416
+ "url": "https://github.com/sponsors/feross"
2417
+ },
2418
+ {
2419
+ "type": "patreon",
2420
+ "url": "https://www.patreon.com/feross"
2421
+ },
2422
+ {
2423
+ "type": "consulting",
2424
+ "url": "https://feross.org/support"
2425
+ }
2426
+ ],
2427
+ "license": "MIT",
2428
+ "dependencies": {
2429
+ "queue-microtask": "^1.2.2"
2430
+ }
2431
+ },
2432
+ "node_modules/scheduler": {
2433
+ "version": "0.23.2",
2434
+ "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz",
2435
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
2436
+ "license": "MIT",
2437
+ "dependencies": {
2438
+ "loose-envify": "^1.1.0"
2439
+ }
2440
+ },
2441
+ "node_modules/semver": {
2442
+ "version": "6.3.1",
2443
+ "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
2444
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
2445
+ "dev": true,
2446
+ "license": "ISC",
2447
+ "bin": {
2448
+ "semver": "bin/semver.js"
2449
+ }
2450
+ },
2451
+ "node_modules/source-map-js": {
2452
+ "version": "1.2.1",
2453
+ "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz",
2454
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2455
+ "dev": true,
2456
+ "license": "BSD-3-Clause",
2457
+ "engines": {
2458
+ "node": ">=0.10.0"
2459
+ }
2460
+ },
2461
+ "node_modules/sucrase": {
2462
+ "version": "3.35.1",
2463
+ "resolved": "https://registry.npmmirror.com/sucrase/-/sucrase-3.35.1.tgz",
2464
+ "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==",
2465
+ "dev": true,
2466
+ "license": "MIT",
2467
+ "dependencies": {
2468
+ "@jridgewell/gen-mapping": "^0.3.2",
2469
+ "commander": "^4.0.0",
2470
+ "lines-and-columns": "^1.1.6",
2471
+ "mz": "^2.7.0",
2472
+ "pirates": "^4.0.1",
2473
+ "tinyglobby": "^0.2.11",
2474
+ "ts-interface-checker": "^0.1.9"
2475
+ },
2476
+ "bin": {
2477
+ "sucrase": "bin/sucrase",
2478
+ "sucrase-node": "bin/sucrase-node"
2479
+ },
2480
+ "engines": {
2481
+ "node": ">=16 || 14 >=14.17"
2482
+ }
2483
+ },
2484
+ "node_modules/supports-preserve-symlinks-flag": {
2485
+ "version": "1.0.0",
2486
+ "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2487
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2488
+ "dev": true,
2489
+ "license": "MIT",
2490
+ "engines": {
2491
+ "node": ">= 0.4"
2492
+ },
2493
+ "funding": {
2494
+ "url": "https://github.com/sponsors/ljharb"
2495
+ }
2496
+ },
2497
+ "node_modules/tailwind-merge": {
2498
+ "version": "2.6.1",
2499
+ "resolved": "https://registry.npmmirror.com/tailwind-merge/-/tailwind-merge-2.6.1.tgz",
2500
+ "integrity": "sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==",
2501
+ "license": "MIT",
2502
+ "funding": {
2503
+ "type": "github",
2504
+ "url": "https://github.com/sponsors/dcastil"
2505
+ }
2506
+ },
2507
+ "node_modules/tailwindcss": {
2508
+ "version": "3.4.19",
2509
+ "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.19.tgz",
2510
+ "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==",
2511
+ "dev": true,
2512
+ "license": "MIT",
2513
+ "dependencies": {
2514
+ "@alloc/quick-lru": "^5.2.0",
2515
+ "arg": "^5.0.2",
2516
+ "chokidar": "^3.6.0",
2517
+ "didyoumean": "^1.2.2",
2518
+ "dlv": "^1.1.3",
2519
+ "fast-glob": "^3.3.2",
2520
+ "glob-parent": "^6.0.2",
2521
+ "is-glob": "^4.0.3",
2522
+ "jiti": "^1.21.7",
2523
+ "lilconfig": "^3.1.3",
2524
+ "micromatch": "^4.0.8",
2525
+ "normalize-path": "^3.0.0",
2526
+ "object-hash": "^3.0.0",
2527
+ "picocolors": "^1.1.1",
2528
+ "postcss": "^8.4.47",
2529
+ "postcss-import": "^15.1.0",
2530
+ "postcss-js": "^4.0.1",
2531
+ "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0",
2532
+ "postcss-nested": "^6.2.0",
2533
+ "postcss-selector-parser": "^6.1.2",
2534
+ "resolve": "^1.22.8",
2535
+ "sucrase": "^3.35.0"
2536
+ },
2537
+ "bin": {
2538
+ "tailwind": "lib/cli.js",
2539
+ "tailwindcss": "lib/cli.js"
2540
+ },
2541
+ "engines": {
2542
+ "node": ">=14.0.0"
2543
+ }
2544
+ },
2545
+ "node_modules/thenify": {
2546
+ "version": "3.3.1",
2547
+ "resolved": "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz",
2548
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
2549
+ "dev": true,
2550
+ "license": "MIT",
2551
+ "dependencies": {
2552
+ "any-promise": "^1.0.0"
2553
+ }
2554
+ },
2555
+ "node_modules/thenify-all": {
2556
+ "version": "1.6.0",
2557
+ "resolved": "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz",
2558
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
2559
+ "dev": true,
2560
+ "license": "MIT",
2561
+ "dependencies": {
2562
+ "thenify": ">= 3.1.0 < 4"
2563
+ },
2564
+ "engines": {
2565
+ "node": ">=0.8"
2566
+ }
2567
+ },
2568
+ "node_modules/tinyglobby": {
2569
+ "version": "0.2.15",
2570
+ "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.15.tgz",
2571
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
2572
+ "dev": true,
2573
+ "license": "MIT",
2574
+ "dependencies": {
2575
+ "fdir": "^6.5.0",
2576
+ "picomatch": "^4.0.3"
2577
+ },
2578
+ "engines": {
2579
+ "node": ">=12.0.0"
2580
+ },
2581
+ "funding": {
2582
+ "url": "https://github.com/sponsors/SuperchupuDev"
2583
+ }
2584
+ },
2585
+ "node_modules/tinyglobby/node_modules/fdir": {
2586
+ "version": "6.5.0",
2587
+ "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz",
2588
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
2589
+ "dev": true,
2590
+ "license": "MIT",
2591
+ "engines": {
2592
+ "node": ">=12.0.0"
2593
+ },
2594
+ "peerDependencies": {
2595
+ "picomatch": "^3 || ^4"
2596
+ },
2597
+ "peerDependenciesMeta": {
2598
+ "picomatch": {
2599
+ "optional": true
2600
+ }
2601
+ }
2602
+ },
2603
+ "node_modules/tinyglobby/node_modules/picomatch": {
2604
+ "version": "4.0.3",
2605
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz",
2606
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
2607
+ "dev": true,
2608
+ "license": "MIT",
2609
+ "peer": true,
2610
+ "engines": {
2611
+ "node": ">=12"
2612
+ },
2613
+ "funding": {
2614
+ "url": "https://github.com/sponsors/jonschlinkert"
2615
+ }
2616
+ },
2617
+ "node_modules/to-regex-range": {
2618
+ "version": "5.0.1",
2619
+ "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
2620
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2621
+ "dev": true,
2622
+ "license": "MIT",
2623
+ "dependencies": {
2624
+ "is-number": "^7.0.0"
2625
+ },
2626
+ "engines": {
2627
+ "node": ">=8.0"
2628
+ }
2629
+ },
2630
+ "node_modules/ts-interface-checker": {
2631
+ "version": "0.1.13",
2632
+ "resolved": "https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
2633
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
2634
+ "dev": true,
2635
+ "license": "Apache-2.0"
2636
+ },
2637
+ "node_modules/tslib": {
2638
+ "version": "2.8.1",
2639
+ "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz",
2640
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
2641
+ "license": "0BSD"
2642
+ },
2643
+ "node_modules/typescript": {
2644
+ "version": "5.9.3",
2645
+ "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz",
2646
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
2647
+ "dev": true,
2648
+ "license": "Apache-2.0",
2649
+ "bin": {
2650
+ "tsc": "bin/tsc",
2651
+ "tsserver": "bin/tsserver"
2652
+ },
2653
+ "engines": {
2654
+ "node": ">=14.17"
2655
+ }
2656
+ },
2657
+ "node_modules/update-browserslist-db": {
2658
+ "version": "1.2.3",
2659
+ "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
2660
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
2661
+ "dev": true,
2662
+ "funding": [
2663
+ {
2664
+ "type": "opencollective",
2665
+ "url": "https://opencollective.com/browserslist"
2666
+ },
2667
+ {
2668
+ "type": "tidelift",
2669
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
2670
+ },
2671
+ {
2672
+ "type": "github",
2673
+ "url": "https://github.com/sponsors/ai"
2674
+ }
2675
+ ],
2676
+ "license": "MIT",
2677
+ "dependencies": {
2678
+ "escalade": "^3.2.0",
2679
+ "picocolors": "^1.1.1"
2680
+ },
2681
+ "bin": {
2682
+ "update-browserslist-db": "cli.js"
2683
+ },
2684
+ "peerDependencies": {
2685
+ "browserslist": ">= 4.21.0"
2686
+ }
2687
+ },
2688
+ "node_modules/util-deprecate": {
2689
+ "version": "1.0.2",
2690
+ "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
2691
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2692
+ "dev": true,
2693
+ "license": "MIT"
2694
+ },
2695
+ "node_modules/uuid": {
2696
+ "version": "10.0.0",
2697
+ "resolved": "https://registry.npmmirror.com/uuid/-/uuid-10.0.0.tgz",
2698
+ "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
2699
+ "funding": [
2700
+ "https://github.com/sponsors/broofa",
2701
+ "https://github.com/sponsors/ctavan"
2702
+ ],
2703
+ "license": "MIT",
2704
+ "bin": {
2705
+ "uuid": "dist/bin/uuid"
2706
+ }
2707
+ },
2708
+ "node_modules/vite": {
2709
+ "version": "5.4.21",
2710
+ "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.21.tgz",
2711
+ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
2712
+ "dev": true,
2713
+ "license": "MIT",
2714
+ "peer": true,
2715
+ "dependencies": {
2716
+ "esbuild": "^0.21.3",
2717
+ "postcss": "^8.4.43",
2718
+ "rollup": "^4.20.0"
2719
+ },
2720
+ "bin": {
2721
+ "vite": "bin/vite.js"
2722
+ },
2723
+ "engines": {
2724
+ "node": "^18.0.0 || >=20.0.0"
2725
+ },
2726
+ "funding": {
2727
+ "url": "https://github.com/vitejs/vite?sponsor=1"
2728
+ },
2729
+ "optionalDependencies": {
2730
+ "fsevents": "~2.3.3"
2731
+ },
2732
+ "peerDependencies": {
2733
+ "@types/node": "^18.0.0 || >=20.0.0",
2734
+ "less": "*",
2735
+ "lightningcss": "^1.21.0",
2736
+ "sass": "*",
2737
+ "sass-embedded": "*",
2738
+ "stylus": "*",
2739
+ "sugarss": "*",
2740
+ "terser": "^5.4.0"
2741
+ },
2742
+ "peerDependenciesMeta": {
2743
+ "@types/node": {
2744
+ "optional": true
2745
+ },
2746
+ "less": {
2747
+ "optional": true
2748
+ },
2749
+ "lightningcss": {
2750
+ "optional": true
2751
+ },
2752
+ "sass": {
2753
+ "optional": true
2754
+ },
2755
+ "sass-embedded": {
2756
+ "optional": true
2757
+ },
2758
+ "stylus": {
2759
+ "optional": true
2760
+ },
2761
+ "sugarss": {
2762
+ "optional": true
2763
+ },
2764
+ "terser": {
2765
+ "optional": true
2766
+ }
2767
+ }
2768
+ },
2769
+ "node_modules/yallist": {
2770
+ "version": "3.1.1",
2771
+ "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
2772
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2773
+ "dev": true,
2774
+ "license": "ISC"
2775
+ }
2776
+ }
2777
+ }
package.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "visual-lowcode-chinese",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "vite",
7
+ "build": "tsc && vite build",
8
+ "preview": "vite preview"
9
+ },
10
+ "dependencies": {
11
+ "clsx": "^2.1.1",
12
+ "framer-motion": "^11.5.4",
13
+ "lucide-react": "^0.446.0",
14
+ "react": "^18.3.1",
15
+ "react-dom": "^18.3.1",
16
+ "tailwind-merge": "^2.5.2",
17
+ "uuid": "^10.0.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/react": "^18.3.5",
21
+ "@types/react-dom": "^18.3.0",
22
+ "@types/uuid": "^10.0.0",
23
+ "@vitejs/plugin-react": "^4.3.1",
24
+ "autoprefixer": "^10.4.20",
25
+ "postcss": "^8.4.47",
26
+ "tailwindcss": "^3.4.13",
27
+ "typescript": "^5.5.3",
28
+ "vite": "^5.4.8"
29
+ }
30
+ }
postcss.config.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
src/App.tsx ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useState, useMemo } from 'react';
2
+ import {
3
+ Plus,
4
+ Trash2,
5
+ Settings2,
6
+ Layout,
7
+ Type,
8
+ Square,
9
+ CheckSquare,
10
+ Smartphone,
11
+ Monitor,
12
+ Eye,
13
+ Code,
14
+ Save,
15
+ Download
16
+ } from 'lucide-react';
17
+ import { v4 as uuidv4 } from 'uuid';
18
+ import { clsx, type ClassValue } from 'clsx';
19
+ import { twMerge } from 'tailwind-merge';
20
+
21
+ // 样式合并工具函数
22
+ function cn(...inputs: ClassValue[]) {
23
+ return twMerge(clsx(inputs));
24
+ }
25
+
26
+ // 组件类型定义
27
+ type ComponentType = 'text' | 'button' | 'input' | 'card' | 'checkbox';
28
+
29
+ interface VisualComponent {
30
+ id: string;
31
+ type: ComponentType;
32
+ props: Record<string, any>;
33
+ }
34
+
35
+ // 可选组件库
36
+ const COMPONENT_LIBRARY = [
37
+ { type: 'text' as const, label: '文本', icon: Type, defaultProps: { text: '点击编辑文本', fontSize: '16px', color: '#000000' } },
38
+ { type: 'button' as const, label: '按钮', icon: Square, defaultProps: { label: '点击按钮', variant: 'primary', width: 'auto' } },
39
+ { type: 'input' as const, label: '输入框', icon: Type, defaultProps: { placeholder: '请输入内容...', label: '表单字段' } },
40
+ { type: 'card' as const, label: '卡片容器', icon: Layout, defaultProps: { title: '卡片标题', content: '这里是卡片内容区域' } },
41
+ { type: 'checkbox' as const, label: '复选框', icon: CheckSquare, defaultProps: { label: '选项名称', checked: false } },
42
+ ];
43
+
44
+ /**
45
+ * 极简可视化低代码平台 - 核心入口组件
46
+ * 支持组件库拖拽、画布渲染、属性实时编辑及多端预览
47
+ */
48
+ export default function App() {
49
+ // --- 状态管理 ---
50
+ const [components, setComponents] = useState<VisualComponent[]>([]); // 画布上的组件列表
51
+ const [selectedId, setSelectedId] = useState<string | null>(null); // 当前选中的组件 ID
52
+ const [viewMode, setViewMode] = useState<'desktop' | 'mobile'>('desktop'); // 预览模式:桌面/移动端
53
+ const [isPreview, setIsPreview] = useState(false); // 是否处于预览模式
54
+
55
+ // 获取当前选中的组件对象
56
+ const selectedComponent = useMemo(() =>
57
+ components.find(c => c.id === selectedId),
58
+ [components, selectedId]
59
+ );
60
+
61
+ // 添加新组件到画布
62
+ const addComponent = (type: ComponentType, defaultProps: any) => {
63
+ const newComp: VisualComponent = {
64
+ id: uuidv4(),
65
+ type,
66
+ props: { ...defaultProps }
67
+ };
68
+ setComponents([...components, newComp]);
69
+ setSelectedId(newComp.id);
70
+ };
71
+
72
+ // 从画布中移除组件
73
+ const removeComponent = (id: string) => {
74
+ setComponents(components.filter(c => c.id !== id));
75
+ if (selectedId === id) setSelectedId(null);
76
+ };
77
+
78
+ // 更新选中组件的属性
79
+ const updateProps = (id: string, newProps: any) => {
80
+ setComponents(components.map(c =>
81
+ c.id === id ? { ...c, props: { ...c.props, ...newProps } } : c
82
+ ));
83
+ };
84
+
85
+ // 渲染单个可视化组件
86
+ const renderComponent = (comp: VisualComponent, index: number) => {
87
+ const isSelected = selectedId === comp.id;
88
+
89
+ const wrapperClass = cn(
90
+ "relative group cursor-pointer border-2 border-transparent transition-all",
91
+ !isPreview && isSelected && "border-blue-500 rounded-lg",
92
+ !isPreview && !isSelected && "hover:border-dashed hover:border-gray-300 rounded-lg"
93
+ );
94
+
95
+ const commonProps = {
96
+ onClick: (e: React.MouseEvent) => {
97
+ if (isPreview) return;
98
+ e.stopPropagation();
99
+ setSelectedId(comp.id);
100
+ }
101
+ };
102
+
103
+ let element;
104
+ switch (comp.type) {
105
+ case 'text':
106
+ element = (
107
+ <div style={{ fontSize: comp.props.fontSize, color: comp.props.color }}>
108
+ {comp.props.text}
109
+ </div>
110
+ );
111
+ break;
112
+ case 'button':
113
+ element = (
114
+ <button className={cn(
115
+ "px-4 py-2 rounded font-medium transition-colors",
116
+ comp.props.variant === 'primary' ? "bg-blue-600 text-white" : "bg-gray-200 text-gray-800",
117
+ comp.props.width === 'full' ? "w-full" : "w-auto"
118
+ )}>
119
+ {comp.props.label}
120
+ </button>
121
+ );
122
+ break;
123
+ case 'input':
124
+ element = (
125
+ <div className="flex flex-col gap-1">
126
+ <label className="text-sm font-medium text-gray-700">{comp.props.label}</label>
127
+ <input
128
+ type="text"
129
+ placeholder={comp.props.placeholder}
130
+ className="px-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-blue-500 outline-none"
131
+ disabled={!isPreview}
132
+ />
133
+ </div>
134
+ );
135
+ break;
136
+ case 'card':
137
+ element = (
138
+ <div className="bg-white p-4 rounded-xl shadow-sm border border-gray-100">
139
+ <h3 className="text-lg font-bold mb-2">{comp.props.title}</h3>
140
+ <p className="text-gray-600">{comp.props.content}</p>
141
+ </div>
142
+ );
143
+ break;
144
+ case 'checkbox':
145
+ element = (
146
+ <label className="flex items-center gap-2 cursor-pointer">
147
+ <input type="checkbox" checked={comp.props.checked} readOnly={!isPreview} className="w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
148
+ <span className="text-gray-700">{comp.props.label}</span>
149
+ </label>
150
+ );
151
+ break;
152
+ }
153
+
154
+ return (
155
+ <div key={comp.id} className={wrapperClass} {...commonProps}>
156
+ {element}
157
+ {!isPreview && isSelected && (
158
+ <button
159
+ onClick={(e) => { e.stopPropagation(); removeComponent(comp.id); }}
160
+ className="absolute -top-3 -right-3 bg-red-500 text-white p-1 rounded-full shadow-lg opacity-0 group-hover:opacity-100 transition-opacity"
161
+ >
162
+ <Trash2 size={14} />
163
+ </button>
164
+ )}
165
+ </div>
166
+ );
167
+ };
168
+
169
+ return (
170
+ <div className="flex h-screen bg-gray-50 text-gray-900 font-sans overflow-hidden">
171
+ {/* 顶部工具栏 */}
172
+ <div className="absolute top-0 left-0 right-0 h-14 bg-white border-b border-gray-200 flex items-center justify-between px-6 z-50 shadow-sm">
173
+ <div className="flex items-center gap-2">
174
+ <div className="bg-blue-600 p-1.5 rounded-lg">
175
+ <Code className="text-white" size={20} />
176
+ </div>
177
+ <span className="font-bold text-lg tracking-tight">极简低代码平台</span>
178
+ </div>
179
+
180
+ <div className="flex items-center gap-4 bg-gray-100 p-1 rounded-lg">
181
+ <button
182
+ onClick={() => setViewMode('desktop')}
183
+ className={cn("p-1.5 rounded-md transition-all", viewMode === 'desktop' ? "bg-white shadow-sm text-blue-600" : "text-gray-500")}
184
+ >
185
+ <Monitor size={18} />
186
+ </button>
187
+ <button
188
+ onClick={() => setViewMode('mobile')}
189
+ className={cn("p-1.5 rounded-md transition-all", viewMode === 'mobile' ? "bg-white shadow-sm text-blue-600" : "text-gray-500")}
190
+ >
191
+ <Smartphone size={18} />
192
+ </button>
193
+ </div>
194
+
195
+ <div className="flex items-center gap-3">
196
+ <button
197
+ onClick={() => setIsPreview(!isPreview)}
198
+ className={cn(
199
+ "flex items-center gap-2 px-4 py-1.5 rounded-lg font-medium transition-all",
200
+ isPreview ? "bg-orange-100 text-orange-600" : "bg-blue-50 text-blue-600 hover:bg-blue-100"
201
+ )}
202
+ >
203
+ {isPreview ? <Save size={18} /> : <Eye size={18} />}
204
+ {isPreview ? "退出预览" : "预览"}
205
+ </button>
206
+ <button className="bg-blue-600 text-white px-4 py-1.5 rounded-lg font-medium hover:bg-blue-700 transition-all flex items-center gap-2">
207
+ <Download size={18} />
208
+ 发布
209
+ </button>
210
+ </div>
211
+ </div>
212
+
213
+ {/* 左侧组件库 */}
214
+ {!isPreview && (
215
+ <aside className="w-72 bg-white border-r border-gray-200 mt-14 flex flex-col z-40">
216
+ <div className="p-4 border-b border-gray-100">
217
+ <h2 className="text-sm font-semibold text-gray-400 uppercase tracking-wider">组件库</h2>
218
+ </div>
219
+ <div className="flex-1 overflow-y-auto p-4 space-y-3">
220
+ {COMPONENT_LIBRARY.map((item) => (
221
+ <button
222
+ key={item.type}
223
+ onClick={() => addComponent(item.type, item.defaultProps)}
224
+ className="w-full flex items-center gap-3 p-3 bg-gray-50 hover:bg-blue-50 border border-gray-100 hover:border-blue-200 rounded-xl transition-all group text-left"
225
+ >
226
+ <div className="p-2 bg-white rounded-lg shadow-sm group-hover:text-blue-600 transition-colors">
227
+ <item.icon size={18} />
228
+ </div>
229
+ <span className="font-medium text-gray-700 group-hover:text-blue-600">{item.label}</span>
230
+ <Plus size={16} className="ml-auto text-gray-300 group-hover:text-blue-400" />
231
+ </button>
232
+ ))}
233
+ </div>
234
+ </aside>
235
+ )}
236
+
237
+ {/* 中间画布 */}
238
+ <main className={cn(
239
+ "flex-1 mt-14 overflow-auto p-8 flex justify-center transition-all duration-300 bg-gray-50",
240
+ isPreview && "p-0 bg-white"
241
+ )}>
242
+ <div
243
+ className={cn(
244
+ "bg-white shadow-2xl transition-all duration-300 border border-gray-200 min-h-full",
245
+ viewMode === 'mobile' ? "w-[375px] rounded-[40px] border-[12px] border-gray-800 p-8 my-4" : "w-full max-w-4xl rounded-xl p-10",
246
+ isPreview && viewMode === 'desktop' && "max-w-none w-full border-none shadow-none rounded-none",
247
+ isPreview && viewMode === 'mobile' && "my-8"
248
+ )}
249
+ onClick={() => setSelectedId(null)}
250
+ >
251
+ {components.length === 0 ? (
252
+ <div className="h-full flex flex-col items-center justify-center text-gray-400 gap-4 mt-20">
253
+ <div className="bg-gray-100 p-6 rounded-full">
254
+ <Layout size={48} />
255
+ </div>
256
+ <p className="text-lg">从左侧拖拽或点击组件开始设计</p>
257
+ </div>
258
+ ) : (
259
+ <div className="space-y-6">
260
+ {components.map((comp, index) => renderComponent(comp, index))}
261
+ </div>
262
+ )}
263
+ </div>
264
+ </main>
265
+
266
+ {/* 右侧属性面板 */}
267
+ {!isPreview && (
268
+ <aside className="w-80 bg-white border-l border-gray-200 mt-14 flex flex-col z-40">
269
+ <div className="p-4 border-b border-gray-100 flex items-center gap-2">
270
+ <Settings2 size={18} className="text-blue-600" />
271
+ <h2 className="text-sm font-semibold text-gray-700">属性配置</h2>
272
+ </div>
273
+ <div className="flex-1 overflow-y-auto p-5">
274
+ {selectedComponent ? (
275
+ <div className="space-y-6">
276
+ <div className="bg-blue-50 p-3 rounded-lg border border-blue-100">
277
+ <span className="text-xs font-bold text-blue-600 uppercase">当前组件: {selectedComponent.type}</span>
278
+ </div>
279
+
280
+ {/* 根据组件类型显示不同的编辑项 */}
281
+ <div className="space-y-4">
282
+ {Object.entries(selectedComponent.props).map(([key, value]) => (
283
+ <div key={key} className="space-y-1.5">
284
+ <label className="text-xs font-medium text-gray-500 uppercase">{key === 'text' ? '文本内容' : key === 'label' ? '标签' : key === 'fontSize' ? '字号' : key === 'color' ? '颜色' : key === 'placeholder' ? '提示词' : key === 'title' ? '标题' : key === 'content' ? '正文' : key === 'variant' ? '样式' : key === 'width' ? '宽度' : key}</label>
285
+ {typeof value === 'string' && (key !== 'variant' && key !== 'width') ? (
286
+ <input
287
+ type={key === 'color' ? 'color' : 'text'}
288
+ value={value}
289
+ onChange={(e) => updateProps(selectedComponent.id, { [key]: e.target.value })}
290
+ className="w-full px-3 py-2 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 outline-none text-sm"
291
+ />
292
+ ) : key === 'variant' ? (
293
+ <select
294
+ value={value}
295
+ onChange={(e) => updateProps(selectedComponent.id, { [key]: e.target.value })}
296
+ className="w-full px-3 py-2 bg-gray-50 border border-gray-200 rounded-lg outline-none text-sm"
297
+ >
298
+ <option value="primary">主按钮</option>
299
+ <option value="secondary">次按钮</option>
300
+ </select>
301
+ ) : key === 'width' ? (
302
+ <select
303
+ value={value}
304
+ onChange={(e) => updateProps(selectedComponent.id, { [key]: e.target.value })}
305
+ className="w-full px-3 py-2 bg-gray-50 border border-gray-200 rounded-lg outline-none text-sm"
306
+ >
307
+ <option value="auto">自适应</option>
308
+ <option value="full">撑满</option>
309
+ </select>
310
+ ) : null}
311
+ </div>
312
+ ))}
313
+ </div>
314
+ </div>
315
+ ) : (
316
+ <div className="h-full flex flex-col items-center justify-center text-gray-400 text-sm gap-2">
317
+ <Smartphone size={32} strokeWidth={1.5} />
318
+ <p>选中画布上的组件进行编辑</p>
319
+ </div>
320
+ )}
321
+ </div>
322
+ </aside>
323
+ )}
324
+ </div>
325
+ );
326
+ }
src/index.css ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ :root {
6
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
7
+ line-height: 1.5;
8
+ font-weight: 400;
9
+
10
+ color-scheme: light dark;
11
+ color: rgba(255, 255, 255, 0.87);
12
+ background-color: #242424;
13
+
14
+ font-synthesis: none;
15
+ text-rendering: optimizeLegibility;
16
+ -webkit-font-smoothing: antialiased;
17
+ -moz-osx-font-smoothing: grayscale;
18
+ }
19
+
20
+ a {
21
+ font-weight: 500;
22
+ color: #646cff;
23
+ text-decoration: inherit;
24
+ }
25
+ a:hover {
26
+ color: #535bf2;
27
+ }
28
+
29
+ body {
30
+ margin: 0;
31
+ display: flex;
32
+ place-items: center;
33
+ min-width: 320px;
34
+ min-height: 100vh;
35
+ }
36
+
37
+ #root {
38
+ width: 100%;
39
+ height: 100%;
40
+ }
41
+
42
+ @media (prefers-color-scheme: light) {
43
+ :root {
44
+ color: #213547;
45
+ background-color: #ffffff;
46
+ }
47
+ a:hover {
48
+ color: #747bff;
49
+ }
50
+ button {
51
+ background-color: #f9f9f9;
52
+ }
53
+ }
src/main.tsx ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom/client'
3
+ import App from './App'
4
+ import './index.css'
5
+
6
+ ReactDOM.createRoot(document.getElementById('root')!).render(
7
+ <React.StrictMode>
8
+ <App />
9
+ </React.StrictMode>,
10
+ )
src/vite-env.d.ts ADDED
@@ -0,0 +1 @@
 
 
1
+ /// <reference types="vite/client" />
tailwind.config.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('tailwindcss').Config} */
2
+ export default {
3
+ content: [
4
+ "./index.html",
5
+ "./src/**/*.{js,ts,jsx,tsx}",
6
+ ],
7
+ theme: {
8
+ extend: {},
9
+ },
10
+ plugins: [],
11
+ }
tsconfig.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
6
+ "allowJs": false,
7
+ "skipLibCheck": true,
8
+ "esModuleInterop": false,
9
+ "allowSyntheticDefaultImports": true,
10
+ "strict": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "module": "ESNext",
13
+ "moduleResolution": "Node",
14
+ "resolveJsonModule": true,
15
+ "isolatedModules": true,
16
+ "noEmit": true,
17
+ "jsx": "react-jsx"
18
+ },
19
+ "include": ["src"],
20
+ "references": [{ "path": "./tsconfig.node.json" }]
21
+ }
tsconfig.node.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "module": "ESNext",
5
+ "moduleResolution": "Node",
6
+ "allowSyntheticDefaultImports": true
7
+ },
8
+ "include": ["vite.config.ts"]
9
+ }
vite.config.ts ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ server: {
7
+ port: 3000,
8
+ host: true
9
+ }
10
+ })