diff --git a/.gitignore b/.gitignore
index df5a738e..40dee737 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,10 @@ node_modules/
web/.next/
web/out/
+# Playwright
+web/playwright-report/
+web/test-results/
+
# OpenNext (Cloudflare) build output
web/.open-next/
diff --git a/package-lock.json b/package-lock.json
index bb15deaf..00d9c4a1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -83,14 +83,14 @@
}
},
"node_modules/@ant-design/icons": {
- "version": "6.2.5",
- "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-6.2.5.tgz",
- "integrity": "sha512-0hKtoKqTjGFOndUyJLJmC9Cg6k4rEO7rLo6xmgbNJH+/ZX1C57RVals2v1j1knHl9n7Q+sBOveTvn931wLOCKw==",
+ "version": "6.3.2",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-6.3.2.tgz",
+ "integrity": "sha512-B6O5a5XJ4wjtNOfZejXYwHW5zvKV5gYkjGf11dHGLEbKn0ABDGndo41+gfIiXyTFhvESj4XTotuud33mUFid0g==",
"license": "MIT",
"peer": true,
"dependencies": {
"@ant-design/colors": "^8.0.1",
- "@ant-design/icons-svg": "^4.4.2",
+ "@ant-design/icons-svg": "^4.5.0",
"@rc-component/util": "^1.11.0",
"clsx": "^2.1.1"
},
@@ -103,9 +103,9 @@
}
},
"node_modules/@ant-design/icons-svg": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz",
- "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.5.0.tgz",
+ "integrity": "sha512-1BTUFyKPTBZ53MuTP8s0k5SFEXL7o3VHEOwLgzaoWKwnBeqIcqUtVshc4SKzhI6uACfqhJqBwBUE9FsWR3uULA==",
"license": "MIT",
"peer": true
},
@@ -1429,14 +1429,14 @@
}
},
"node_modules/@base-ui/react": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz",
- "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.6.0.tgz",
+ "integrity": "sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==",
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/runtime": "^7.29.2",
- "@base-ui/utils": "0.2.9",
+ "@base-ui/utils": "0.3.1",
"@floating-ui/react-dom": "^2.1.8",
"@floating-ui/utils": "^0.2.11",
"use-sync-external-store": "^1.6.0"
@@ -1468,15 +1468,15 @@
}
},
"node_modules/@base-ui/utils": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz",
- "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.3.1.tgz",
+ "integrity": "sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/runtime": "^7.29.2",
"@floating-ui/utils": "^0.2.11",
- "reselect": "^5.1.1",
+ "reselect": "^5.2.0",
"use-sync-external-store": "^1.6.0"
},
"peerDependencies": {
@@ -2436,35 +2436,35 @@
}
},
"node_modules/@floating-ui/core": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz",
- "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz",
+ "integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@floating-ui/utils": "^0.2.11"
+ "@floating-ui/utils": "^0.2.12"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.7.6",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz",
- "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz",
+ "integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@floating-ui/core": "^1.7.5",
- "@floating-ui/utils": "^0.2.11"
+ "@floating-ui/core": "^1.8.0",
+ "@floating-ui/utils": "^0.2.12"
}
},
"node_modules/@floating-ui/react": {
- "version": "0.27.19",
- "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.19.tgz",
- "integrity": "sha512-31B8h5mm8YxotlE7/AU/PhNAl8eWxAmjL/v2QOxroDNkTFLk3Uu82u63N3b6TXa4EGJeeZLVcd/9AlNlVqzeog==",
+ "version": "0.27.20",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.20.tgz",
+ "integrity": "sha512-CMqMy7OaXl9W0eq1Uy7L7i2Y/anPvHmFmESd2CEw0t5YvZhcVCeo4MBevAmswRllX7Y2dEidA4ozGPunLSTQpw==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@floating-ui/react-dom": "^2.1.8",
- "@floating-ui/utils": "^0.2.11",
+ "@floating-ui/react-dom": "^2.1.9",
+ "@floating-ui/utils": "^0.2.12",
"tabbable": "^6.0.0"
},
"peerDependencies": {
@@ -2473,13 +2473,13 @@
}
},
"node_modules/@floating-ui/react-dom": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz",
- "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==",
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.9.tgz",
+ "integrity": "sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@floating-ui/dom": "^1.7.6"
+ "@floating-ui/dom": "^1.8.0"
},
"peerDependencies": {
"react": ">=16.8.0",
@@ -2487,9 +2487,9 @@
}
},
"node_modules/@floating-ui/utils": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz",
- "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==",
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz",
+ "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==",
"license": "MIT",
"peer": true
},
@@ -2514,9 +2514,9 @@
"peer": true
},
"node_modules/@iconify/utils": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.3.tgz",
- "integrity": "sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.4.tgz",
+ "integrity": "sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -3189,14 +3189,14 @@
}
},
"node_modules/@lobehub/ui": {
- "version": "5.15.17",
- "resolved": "https://registry.npmjs.org/@lobehub/ui/-/ui-5.15.17.tgz",
- "integrity": "sha512-hhsrjQvNiS8rjRPwtqHGntzWgSH+30XjSvRmlnq6rhEv6tmdyZD1M9aR6wFp59xNLmApU5ZlTc1ujx5eEv6Z5Q==",
+ "version": "5.20.3",
+ "resolved": "https://registry.npmjs.org/@lobehub/ui/-/ui-5.20.3.tgz",
+ "integrity": "sha512-HToiJe/6MmNSrhlugkKFXSPbJhDxvsbIaI0iPCnjIVC+YOtAKBOp+W6m5+SF/7R8fTTd08PA7XBes82MENhKNA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@ant-design/cssinjs": "^2.1.2",
- "@base-ui/react": "1.5.0",
+ "@base-ui/react": "^1.6.0",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/sortable": "^10.0.0",
@@ -3334,13 +3334,13 @@
}
},
"node_modules/@mermaid-js/parser": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.1.1.tgz",
- "integrity": "sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.2.0.tgz",
+ "integrity": "sha512-oYPyv8A4As1yH5Bx+04iQEQxXuIQDe0GKCNSRgao6z8AM9jixXIfP0vsppRLvGf+nKIOb9/LdpWA4YuJiVvESA==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@chevrotain/types": "~11.1.1"
+ "@chevrotain/types": "~11.1.2"
}
},
"node_modules/@napi-rs/wasm-runtime": {
@@ -3362,15 +3362,15 @@
}
},
"node_modules/@next/env": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.7.tgz",
- "integrity": "sha512-tMJizPlj6ZYpBMMdK8S0LJufrP4QTdR6pcv9KQ/bVETPAmg0j1mlHE9G2c38UyGHxoBapgwuj7XjbGJ2RcDFOg==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.10.tgz",
+ "integrity": "sha512-zLPxg9M0MEHmygpj5OuxjQ+vHMiy/K7cSp74G8ecYolmgUWw0RwN02tF56npup/+qaI8JB97hQgS/r2Hb6QwVA==",
"license": "MIT"
},
"node_modules/@next/swc-darwin-arm64": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.7.tgz",
- "integrity": "sha512-vm1EDI/pVaBNNiychmxk3fft+OhQPVD9cIM/tReLZIQ3TfQ4kqI9DwKk00dzuS1ulC7icbrzCFrmRRlk9PfNdw==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.10.tgz",
+ "integrity": "sha512-v9IdJCa0H0mbo+8z5zwUpOk1Vj7RjkcI5uNYf5Ws1y6szf/p3Mzl9hLaST8SCt6L9h8NGnruZcd2+o0NTNwDhA==",
"cpu": [
"arm64"
],
@@ -3384,9 +3384,9 @@
}
},
"node_modules/@next/swc-darwin-x64": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.7.tgz",
- "integrity": "sha512-O3IRSv1ZBL1zs0WrIgefTEcTKFVn+ryxBNe54erJ6KsD+2f/Mmt7g2jOYh8PSBdUwPtKQJuCsTMlZ7tIu2AcsQ==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.10.tgz",
+ "integrity": "sha512-17IS0jJRViROGmA9uGdNR8VPJpfbnaVG7E9qhso5jDLkmyd0lSDORWxbcKINzcFqzZqGwGtMSnrFRxBpuUYjLQ==",
"cpu": [
"x64"
],
@@ -3400,9 +3400,9 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.7.tgz",
- "integrity": "sha512-Re6PZtjBDd0aMU+VcZcC/PrIvj4WhrjDYtMhhCVQamWN4L90EVP0pcEOBQD25prSlw7OzNw5QpHLWMilRLsRNw==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.10.tgz",
+ "integrity": "sha512-GRQRsRtuciNJvB54AvvuQTiq0oZtFwa1owQqtZD8wwnGpM2L39MV22kpI72YSXLKIyY40LC66EiLFv4PiicXxg==",
"cpu": [
"arm64"
],
@@ -3419,9 +3419,9 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.7.tgz",
- "integrity": "sha512-qyogG9QtBzWxgJfeGBvOEHI3851gTfCF3wLZ5RDLTBJGAmE9p1qDwKCOdrBrvBzRvYDT+gUDp72pzlSEfAXgNA==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.10.tgz",
+ "integrity": "sha512-zkN9MQYS7UQBro+FnISUq1itaQjXI9xqISzuQ+2bc921NcJ1x4yPCqrn77tVN6/dOOXaaWVX3k6/bR07pPwK+A==",
"cpu": [
"arm64"
],
@@ -3438,9 +3438,9 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.7.tgz",
- "integrity": "sha512-Vhe4ZDuBpmMogrGi5D4R2Kq4JAQlj6+wvgaFYy31zfES0zPmt6TLA+cuYpM/OLrPZjo2MYQTHVqNUSCR6+fDZQ==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.10.tgz",
+ "integrity": "sha512-iCVJnwvrPYECvA6WM/7+oo+OiTvedIKLxtCLAZP4xZR3nXa1zmzZyLPbYCmWvpd4CvMYF1EMTafd0ii3DygLvA==",
"cpu": [
"x64"
],
@@ -3457,9 +3457,9 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.7.tgz",
- "integrity": "sha512-srvian89JahFLw1YLBEuhvPJ0DO5lpUeJQMXy4xYo7g628ZlNgXdNkqoxSAv9OYrBfByh6vxISMwW/mRbzCY+g==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.10.tgz",
+ "integrity": "sha512-ov2g4H0dHY9bPoOU83m91hWT7Iq5qy13bUnyyshLU3HGR1Ownn0X9QpmDPc5iIUaahTp7f7LeGAhV4DSFtackw==",
"cpu": [
"x64"
],
@@ -3476,9 +3476,9 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.7.tgz",
- "integrity": "sha512-GX3wvLpULFuRFJzwHaKfm7QZJ18F4ZSuxlPJ96BoBglCzBmdSjyeBKF+ZhWhvL/ckxNfLnNa7bsObO2ipYpszw==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.10.tgz",
+ "integrity": "sha512-DwAnhLX76HQiFFQNgWlcK+JzlnD1rZ+UK/WY0ZMI/deXpvgnesjNYrqcfo1JzBuz4Kf7o3brIBL0glI1junatA==",
"cpu": [
"arm64"
],
@@ -3492,9 +3492,9 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.7.tgz",
- "integrity": "sha512-J4WlM72NMk076Qsg0jTdK3SNXatlSdnjW7L7oNGLst1tAGjHrJh/FYi+pw9wyIjEtGRKDNzD0zuiY16oWYWVaw==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.10.tgz",
+ "integrity": "sha512-0JXq3b85Jk9Jg4ntLUbXSPvoDw3gpZou7twuKdoFG2jOw635v7+IiXfTaa0TxVMyx78pUjnrVYwLgjKfX4e6/A==",
"cpu": [
"x64"
],
@@ -3827,9 +3827,9 @@
}
},
"node_modules/@opennextjs/cloudflare": {
- "version": "1.19.11",
- "resolved": "https://registry.npmjs.org/@opennextjs/cloudflare/-/cloudflare-1.19.11.tgz",
- "integrity": "sha512-spZ7YsZZW9q/OJStaZlJhuklYKei5e2tNQ7PMi3DDSJ7x7167m7EYYHQZfVN5gwJBDkMR2jUDW88oHjnGz4YYw==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/@opennextjs/cloudflare/-/cloudflare-1.20.1.tgz",
+ "integrity": "sha512-T7yRoEmIdDQada0itRQmQ3cb9o9tWVg1193MviPWRX7XJulOQ6adz45ZgrJuzEPiwi+kMGnj9kozlNBlRNQZcw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3849,7 +3849,13 @@
},
"peerDependencies": {
"next": ">=15.5.18 <16 || >=16.2.6",
+ "rclone.js": "^0.6.6",
"wrangler": "^4.86.0"
+ },
+ "peerDependenciesMeta": {
+ "rclone.js": {
+ "optional": true
+ }
}
},
"node_modules/@oxc-project/types": {
@@ -3986,6 +3992,22 @@
"vscode": "^1.0.0"
}
},
+ "node_modules/@playwright/test": {
+ "version": "1.61.1",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.61.1.tgz",
+ "integrity": "sha512-8nKv6+0RJSL9FE4jYOEGXnPeM/Hg12qZpmqzZjRh3qM0Y7c3z1mrOTfFLids72RDQYVh9WpLEfR5WdpNX4fkig==",
+ "devOptional": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "playwright": "1.61.1"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@poppinss/colors": {
"version": "4.1.6",
"resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz",
@@ -4071,9 +4093,9 @@
"license": "MIT"
},
"node_modules/@primer/octicons": {
- "version": "19.28.1",
- "resolved": "https://registry.npmjs.org/@primer/octicons/-/octicons-19.28.1.tgz",
- "integrity": "sha512-pwSilXmgNrbVF2bChkh4zZtUyb4Vr4niYhA9PhUdtjVz86A2iwA/YjjopHS0suT+I7niUZJEepEpmSC7kARKNQ==",
+ "version": "19.29.2",
+ "resolved": "https://registry.npmjs.org/@primer/octicons/-/octicons-19.29.2.tgz",
+ "integrity": "sha512-n7zuEgzTz70m5dmBqpYuE8zpeLKxgf73OeDudQWByNzIwWLb0I/UlxqdCLkk6Qb338O7em0aNuhVfExNBVCfTQ==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -4081,20 +4103,20 @@
}
},
"node_modules/@radix-ui/primitive": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.4.tgz",
- "integrity": "sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.5.tgz",
+ "integrity": "sha512-d86WIWFYNtGA0H/d8exstrTRTp7eWJYlYJbtNofxr/3ljupZYn6EFDG/Qgu/0Kc8v7yMUxySagqJsL1+PdYjWg==",
"license": "MIT",
"peer": true
},
"node_modules/@radix-ui/react-arrow": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.10.tgz",
- "integrity": "sha512-j2VTDz1vgCsmuG0k5lBfOcM8n5JPFqZBcMryasFjHYMhwxYL5SRUV5lMSUpRdNtw3D/Sv8pzJtrlAgkssYSsQQ==",
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.11.tgz",
+ "integrity": "sha512-Kdil9BB1rIFC/khmf4hC35bn8701AJcizTU7G7cUbEbk5XqqbjDuHW60uUfKqO5WojjZcbAW51Q7P0hRmMLw8A==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@radix-ui/react-primitive": "2.1.6"
+ "@radix-ui/react-primitive": "2.1.7"
},
"peerDependencies": {
"@types/react": "*",
@@ -4127,9 +4149,9 @@
}
},
"node_modules/@radix-ui/react-context": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.4.tgz",
- "integrity": "sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.2.0.tgz",
+ "integrity": "sha512-fOE+JtN9rygNZkCnHRBEP0TAvLldlhyOxMsbwFvTP4nAs+nBmfnna+o/Zski2wkmY1YMrFC0aSzsHoLY47iLrg==",
"license": "MIT",
"peer": true,
"peerDependencies": {
@@ -4143,17 +4165,17 @@
}
},
"node_modules/@radix-ui/react-dismissable-layer": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.13.tgz",
- "integrity": "sha512-2v+zNAWWe0ySxgC0D0yeXMPQ23xZVgXZTerTz+JKlmdRj6gfTqmCcR29jb6d290DezXPGgruHWDX/vYUebtErg==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.15.tgz",
+ "integrity": "sha512-b0XaRlzn2QKuo10XyNgi2DAJDf5XC9d1nD3FJcuvCjbR7+4Ad28zmZsLsqx+hvDEzMnRuZaZxZm9gYObV6RmRA==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@radix-ui/primitive": "1.1.4",
+ "@radix-ui/primitive": "1.1.5",
"@radix-ui/react-compose-refs": "1.1.3",
- "@radix-ui/react-primitive": "2.1.6",
+ "@radix-ui/react-primitive": "2.1.7",
"@radix-ui/react-use-callback-ref": "1.1.2",
- "@radix-ui/react-use-escape-keydown": "1.1.2"
+ "@radix-ui/react-use-effect-event": "0.0.3"
},
"peerDependencies": {
"@types/react": "*",
@@ -4190,17 +4212,17 @@
}
},
"node_modules/@radix-ui/react-popper": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.3.1.tgz",
- "integrity": "sha512-bhnq/0DEPTi2lsOD3J5rTL65qUKHbKbhqHsmN9TMiclSXpipi651ooUKPPp6G5lF/WiHBdn1s0Wuqsn+myVAvw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.3.3.tgz",
+ "integrity": "sha512-mS7dGpyjv6b+gsDjLF7e0ia1W4Im1B1hSCy2yuXlHuvnZxHKagfDaobt/KAKt27EpZMit2pss8eJBVyVjEWM+g==",
"license": "MIT",
"peer": true,
"dependencies": {
"@floating-ui/react-dom": "^2.0.0",
- "@radix-ui/react-arrow": "1.1.10",
+ "@radix-ui/react-arrow": "1.1.11",
"@radix-ui/react-compose-refs": "1.1.3",
- "@radix-ui/react-context": "1.1.4",
- "@radix-ui/react-primitive": "2.1.6",
+ "@radix-ui/react-context": "1.2.0",
+ "@radix-ui/react-primitive": "2.1.7",
"@radix-ui/react-use-callback-ref": "1.1.2",
"@radix-ui/react-use-layout-effect": "1.1.2",
"@radix-ui/react-use-rect": "1.1.2",
@@ -4223,13 +4245,13 @@
}
},
"node_modules/@radix-ui/react-portal": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.12.tgz",
- "integrity": "sha512-m309havGzsjLHHaIX50G5PlvRs3xkgPCsGk/5PTvYm8D5q33yG0J7w/712PTOhid7NTaFETtnSXjngHQavvhVw==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.13.tgz",
+ "integrity": "sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@radix-ui/react-primitive": "2.1.6",
+ "@radix-ui/react-primitive": "2.1.7",
"@radix-ui/react-use-layout-effect": "1.1.2"
},
"peerDependencies": {
@@ -4248,9 +4270,9 @@
}
},
"node_modules/@radix-ui/react-presence": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.6.tgz",
- "integrity": "sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.7.tgz",
+ "integrity": "sha512-zBZ4QM5XG3JRanDmqXYf3MD6th4AFXFmgU6KNMFzUaV6F3uw9I5/zjMUvFriSEn5ewo1nxuibvyxJdmLlDcslA==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -4272,9 +4294,9 @@
}
},
"node_modules/@radix-ui/react-primitive": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.6.tgz",
- "integrity": "sha512-wetd0QI77DbvrPpTAvH1SqOxsYF2wZe5TNxqwOd5Ty4XDpV3dpV0s8K/1MGMJBeY5o7lg8ub5VIt1Ub+yVen6g==",
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.7.tgz",
+ "integrity": "sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -4314,24 +4336,24 @@
}
},
"node_modules/@radix-ui/react-tooltip": {
- "version": "1.2.10",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.10.tgz",
- "integrity": "sha512-NlNe8D0dWEpVfXFli90IO6X07Josx/b1iu98tDnx9Xv0HT4wLIL+m2VOheMHhK7qbp2HoTBqALEFzGyZs/levw==",
+ "version": "1.2.12",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.12.tgz",
+ "integrity": "sha512-U3HoftgWnmla78vzQbLvKKb7bUYJxoiiqYFzp1wu/TBMyDqMZSuCl3aRICsD6EfVEwcJD2mumGDGUXLFVqQHKA==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@radix-ui/primitive": "1.1.4",
+ "@radix-ui/primitive": "1.1.5",
"@radix-ui/react-compose-refs": "1.1.3",
- "@radix-ui/react-context": "1.1.4",
- "@radix-ui/react-dismissable-layer": "1.1.13",
+ "@radix-ui/react-context": "1.2.0",
+ "@radix-ui/react-dismissable-layer": "1.1.15",
"@radix-ui/react-id": "1.1.2",
- "@radix-ui/react-popper": "1.3.1",
- "@radix-ui/react-portal": "1.1.12",
- "@radix-ui/react-presence": "1.1.6",
- "@radix-ui/react-primitive": "2.1.6",
+ "@radix-ui/react-popper": "1.3.3",
+ "@radix-ui/react-portal": "1.1.13",
+ "@radix-ui/react-presence": "1.1.7",
+ "@radix-ui/react-primitive": "2.1.7",
"@radix-ui/react-slot": "1.3.0",
"@radix-ui/react-use-controllable-state": "1.2.3",
- "@radix-ui/react-visually-hidden": "1.2.6"
+ "@radix-ui/react-visually-hidden": "1.2.7"
},
"peerDependencies": {
"@types/react": "*",
@@ -4403,25 +4425,6 @@
}
}
},
- "node_modules/@radix-ui/react-use-escape-keydown": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.2.tgz",
- "integrity": "sha512-2uVLvLjgO7NZCWw01/FdqRwmA42J0BcjPMUCA+koFEOAb+zjqIP7SiFz/7zWPrKnVmSqr76Omq2ALyCuX4dhLw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@radix-ui/react-use-callback-ref": "1.1.2"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-use-layout-effect": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.2.tgz",
@@ -4477,13 +4480,13 @@
}
},
"node_modules/@radix-ui/react-visually-hidden": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.6.tgz",
- "integrity": "sha512-jCE0WljWifTI4niIMCll06kGpsJTAPiZVU9H4WR1N6qW7At9ystHbN7dDB+we2xH535roFHj7qKS+RGj0FMDWQ==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.7.tgz",
+ "integrity": "sha512-1wNZBggTDK3GRuuQ6nP4k2yi7a6l7I5qbMPbZcRsrGsGVead/f/d5FhEzUvqFs0bcrDLx7n1zKQ3JvLR6whaaw==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@radix-ui/react-primitive": "2.1.6"
+ "@radix-ui/react-primitive": "2.1.7"
},
"peerDependencies": {
"@types/react": "*",
@@ -4521,13 +4524,13 @@
}
},
"node_modules/@rc-component/cascader": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/@rc-component/cascader/-/cascader-1.16.1.tgz",
- "integrity": "sha512-wxLopwM+EBed0zNNGdnGE4coYoqcO+XD42fHgn+pDvO+XzhNFbdgSlSNXdKocIYqccvqgWvoxDPNb0OVRdi59A==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/cascader/-/cascader-1.17.0.tgz",
+ "integrity": "sha512-3cVNG0zrQF1PoXq262L3wGCU+/YLEC1mGSVHDl577dQmA0ZKkXFbY6nwyXo+beCcM7buo49t24jkr+QZdL7O8w==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@rc-component/select": "~1.7.1",
+ "@rc-component/select": "~1.8.0",
"@rc-component/tree": "~1.3.2",
"@rc-component/util": "^1.11.1",
"clsx": "^2.1.1"
@@ -4600,13 +4603,13 @@
}
},
"node_modules/@rc-component/dialog": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@rc-component/dialog/-/dialog-1.9.0.tgz",
- "integrity": "sha512-zbAAogkg4kkKum79sLE6M+vq1jSAW25zdkafrahgcTP9t9S//SD634Znd1A4c8F2Gc12ZKnehGLsVaaOvZzD2A==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/dialog/-/dialog-1.10.0.tgz",
+ "integrity": "sha512-eDukNlz9vNszAGv7i3zKXdxEd3wgVmNxuJijYt8zvTh17QwTu8KK/bdURRd/lU4qaMzhO1HKKmMrwOnkaw0BvQ==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@rc-component/motion": "^1.1.3",
+ "@rc-component/motion": "^1.3.3",
"@rc-component/portal": "^2.1.0",
"@rc-component/util": "^1.9.0",
"clsx": "^2.1.1"
@@ -4634,14 +4637,14 @@
}
},
"node_modules/@rc-component/dropdown": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@rc-component/dropdown/-/dropdown-1.0.2.tgz",
- "integrity": "sha512-6PY2ecUSYhDPhkNHHb4wfeAya04WhpmUSKzdR60G+kMNVUCX2vjT/AgTS0Lz0I/K6xrPMJ3enQbwVpeN3sHCgg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@rc-component/dropdown/-/dropdown-1.0.3.tgz",
+ "integrity": "sha512-YTST/N6kpqpDz3IMuM/PSSZnrDpSOA6dgHv12gPA90ZTSLv2CoqkZ0+9NtwTY6BeO7dstPblSic2QJg7dSFy/g==",
"license": "MIT",
"peer": true,
"dependencies": {
"@rc-component/trigger": "^3.0.0",
- "@rc-component/util": "^1.2.1",
+ "@rc-component/util": "^1.11.1",
"clsx": "^2.1.1"
},
"peerDependencies": {
@@ -4718,14 +4721,14 @@
}
},
"node_modules/@rc-component/mentions": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@rc-component/mentions/-/mentions-1.9.0.tgz",
- "integrity": "sha512-WUwfFKDSOF5S9UPsNsXcLYtzjTxBGsftTXWRbZuxX6BYrsySISTnujfJNgaaQ6qVzaCDJ35QUkZKvsYxip1C5g==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/mentions/-/mentions-1.10.0.tgz",
+ "integrity": "sha512-CI1njYUVY0NjHtLhNoVmXlJyy568Sfep9Wsak6vmGjtT6uazx98djGYlCXz2xkHhEm73g91Y3MTvzUyE5avI7w==",
"license": "MIT",
"peer": true,
"dependencies": {
"@rc-component/input": "~1.3.0",
- "@rc-component/menu": "~1.3.0",
+ "@rc-component/menu": "~1.4.0",
"@rc-component/trigger": "^3.0.0",
"@rc-component/util": "^1.3.0",
"clsx": "^2.1.1"
@@ -4736,9 +4739,9 @@
}
},
"node_modules/@rc-component/menu": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@rc-component/menu/-/menu-1.3.1.tgz",
- "integrity": "sha512-pSZl9nBPgKgxN0aaW7NilIBEwWsc+43S+ulGdWAg9afak96dNOGWsGx0DLLBB1VQsAJvo6bQMTDzXoPlEHsBEw==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@rc-component/menu/-/menu-1.4.1.tgz",
+ "integrity": "sha512-3GsVRoQ4cnF/AoIQ4P+Z1haBfgfBPQfLT1RJY3Nu4DzOnheTslfCiGSPj7bv/cLj5sW5pHqN25dDXGP3JELAlQ==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -4835,9 +4838,9 @@
}
},
"node_modules/@rc-component/pagination": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@rc-component/pagination/-/pagination-1.3.0.tgz",
- "integrity": "sha512-12ahTY+HPITg1L2bjWKXUqBJe/oOnpA2QsChdCjthqLVf/e19StiCsv8OLKpWoHbc+8PFEkNjRqRqrLoRBHjFw==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/pagination/-/pagination-1.4.0.tgz",
+ "integrity": "sha512-CW1g7P9V8u+e8JQdUsl2RWg+GCsoee0mtJjZUCCxn/vb3jzOwDKm6hAdwddHCVBfWJ58eGUBZz3IvnU8rRktjw==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -4850,16 +4853,16 @@
}
},
"node_modules/@rc-component/picker": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/@rc-component/picker/-/picker-1.10.0.tgz",
- "integrity": "sha512-vVOXP2RVWozwpERGUFAehVH1Jz6o/uRrAb9qSZm1LC+iJs8rvEwFo1bzz2jlOYV+uWwu0dIuG86tnDui14Ea0w==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/picker/-/picker-1.11.0.tgz",
+ "integrity": "sha512-6qXGKtoJvO8sUd17m5cyNEbEJub0zflCHnaZTBBmj63DPRZYc0WEHN8rp6hFSl+yMCJS/dJY5G+1fQ8bLCuD7A==",
"license": "MIT",
"peer": true,
"dependencies": {
"@rc-component/overflow": "^1.0.0",
"@rc-component/resize-observer": "^1.0.0",
"@rc-component/trigger": "^3.6.15",
- "@rc-component/util": "^1.3.0",
+ "@rc-component/util": "^1.11.1",
"clsx": "^2.1.1"
},
"engines": {
@@ -4988,9 +4991,9 @@
}
},
"node_modules/@rc-component/select": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.7.1.tgz",
- "integrity": "sha512-GZ1cMJk2xQh0VHyOQjjG8drYL4iu24NcbkXioUcReQOCUr+ub/3fmRonZe6cRPEZhWMbJdeHsqnEltogDaZ5Tg==",
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.8.2.tgz",
+ "integrity": "sha512-HQ9zuYqjfZTlcEMWlU1GAPBajd2OHIMVHyjZSGVTCVARwkfCgvXZMTEn0cduy3L+ejAKkaZluOQvxovZoaJaQw==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -5009,9 +5012,9 @@
}
},
"node_modules/@rc-component/slider": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@rc-component/slider/-/slider-1.0.1.tgz",
- "integrity": "sha512-uDhEPU1z3WDfCJhaL9jfd2ha/Eqpdfxsn0Zb0Xcq1NGQAman0TWaR37OWp2vVXEOdV2y0njSILTMpTfPV1454g==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@rc-component/slider/-/slider-1.1.1.tgz",
+ "integrity": "sha512-LSzgWGYDgeCDgR4r1XlU29gbYws6HpLnvJd/uMhLeW/vQgxldeR+Wb4uzHDCHiYEbr1bnEHWdjkPxjJRHxuiig==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -5060,9 +5063,9 @@
}
},
"node_modules/@rc-component/table": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/@rc-component/table/-/table-1.10.2.tgz",
- "integrity": "sha512-b3PjqB9Gp25p5t/zq+9QrbXbodkptT8/zvLmwgd2FNPUUtaYyDnQqfxeD5a7ao8E8lpinLHsi2u2vdfPhyNvAw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/@rc-component/table/-/table-1.10.4.tgz",
+ "integrity": "sha512-HwoTnrwc29zeoXkXGhWqzJh8FIibGUxi1jM4LtoSzmR9d5Vv5osUQpZxnXKBP8iOCvyD6BQzZm1nXJRcnrxpAg==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -5081,14 +5084,14 @@
}
},
"node_modules/@rc-component/tabs": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/@rc-component/tabs/-/tabs-1.9.1.tgz",
- "integrity": "sha512-6mY08Fce6aNOHuGsxbzT+f2ekgL9mg1cGGHkittMlVGymjGg+kGupu5v90sRxcUd/paRU9jclLLXtF/PkK1FUA==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/tabs/-/tabs-1.11.0.tgz",
+ "integrity": "sha512-hA/drZYOVa/MMIb4M2fWf3yaTyTG4qVuIABmghvEhyfw2nBob5VTH69lMCDjSVKmgODjO6nWlCV+gVn3xBrj5Q==",
"license": "MIT",
"peer": true,
"dependencies": {
"@rc-component/dropdown": "~1.0.0",
- "@rc-component/menu": "~1.3.0",
+ "@rc-component/menu": "~1.4.0",
"@rc-component/motion": "^1.1.3",
"@rc-component/resize-observer": "^1.0.0",
"@rc-component/util": "^1.11.1",
@@ -5159,15 +5162,15 @@
}
},
"node_modules/@rc-component/tree-select": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/@rc-component/tree-select/-/tree-select-1.10.0.tgz",
- "integrity": "sha512-E1U4pn2LAbXEhLJdzIzid7WYbIuFbkTIctuFoeC6weppf8UbPR3+YYB6/ay0c0ksand4gXMRQpa1Z60Auo7VJA==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/tree-select/-/tree-select-1.11.0.tgz",
+ "integrity": "sha512-EhS0X0wtUhBfK4S5TlpSY3MR9ndPMGgujtt1PJW3Ej+ToAlnS/6ohYURtCoXBYGqazUwHmgQGVUDsfpVwhWPkg==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@rc-component/select": "~1.7.0",
- "@rc-component/tree": "~1.3.0",
- "@rc-component/util": "^1.4.0",
+ "@rc-component/select": "~1.8.0",
+ "@rc-component/tree": "~1.3.2",
+ "@rc-component/util": "^1.11.1",
"clsx": "^2.1.1"
},
"peerDependencies": {
@@ -5176,16 +5179,16 @@
}
},
"node_modules/@rc-component/trigger": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-3.9.1.tgz",
- "integrity": "sha512-LNsYvz60mrLJ/kRvKcHE7boUvcQfVMCfRqZ71x3Fo9AOiZ1KKIEqkzMA8DNvz2V3Bcvir/vwQNn7JF1NPODQ7Q==",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-3.10.0.tgz",
+ "integrity": "sha512-uC3QSG7Ax3qLOE5Q2jLqJCJc4iBtJEHzNTPhqGvlRvRcU8x8CT5moIavRVe24YSQKCp2/D1GSq7y76SCSheuVA==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@rc-component/motion": "^1.1.4",
- "@rc-component/portal": "^2.2.0",
- "@rc-component/resize-observer": "^1.1.1",
- "@rc-component/util": "^1.2.1",
+ "@rc-component/motion": "^1.3.3",
+ "@rc-component/portal": "^2.2.1",
+ "@rc-component/resize-observer": "^1.1.2",
+ "@rc-component/util": "^1.11.1",
"clsx": "^2.1.1"
},
"engines": {
@@ -5226,13 +5229,13 @@
}
},
"node_modules/@rc-component/virtual-list": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@rc-component/virtual-list/-/virtual-list-1.2.0.tgz",
- "integrity": "sha512-iavRm1Jo4GDbASQwdGa7jFyk93RvSOo9xHyBT4QL1pgFJj/Fdf1G+3RErH7/7BmAMvx2AkF62mjGYxDbXsK9TQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@rc-component/virtual-list/-/virtual-list-1.3.2.tgz",
+ "integrity": "sha512-/smuvWBFdP/Is9QuNDKynD0+T3XTXWFyNXXNKJ4sno8CE3bTOK8sfgYmQJtYwLUNX+lv0Ytd+PMshgpmdReq5g==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/runtime": "^7.20.0",
+ "@babel/runtime": "^8.0.0",
"@rc-component/resize-observer": "^1.0.1",
"@rc-component/util": "^1.4.0",
"clsx": "^2.1.1"
@@ -5245,6 +5248,13 @@
"react-dom": ">=18.0.0"
}
},
+ "node_modules/@rc-component/virtual-list/node_modules/@babel/runtime": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-8.0.0.tgz",
+ "integrity": "sha512-sL6cvO2IfkSu/iU+zs2S/w01B7A8V7suXSIKEN4hPFFdZoiPGxrj5pAG0lCaqLWiEIrjKzdznIWuaLcxPR53qw==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/@rolldown/binding-android-arm64": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz",
@@ -5608,13 +5618,13 @@
}
},
"node_modules/@shikijs/stream": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@shikijs/stream/-/stream-4.2.0.tgz",
- "integrity": "sha512-OaMUUStdIZ+l1GJad9uVACR3Xvgwo4y+RmEuDMU62cgFMMg1IBCaIFmvzAR2HiCpGtwoc/qPfpNnP+ivgrPXZg==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/stream/-/stream-4.3.1.tgz",
+ "integrity": "sha512-QsZDisEVgtvnEgLftu/Ng5JkZlPn37AJoJQY330RnFoNcRtszr0JV3ldRLjIpgvl+qPRKF4t6h1P7FQhjQj6Sw==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@shikijs/core": "4.2.0"
+ "@shikijs/core": "4.3.1"
},
"engines": {
"node": ">=20"
@@ -5622,6 +5632,7 @@
"peerDependencies": {
"react": "^19.0.0",
"solid-js": "^1.9.0",
+ "svelte": "^5.0.0-0",
"vue": "^3.2.0"
},
"peerDependenciesMeta": {
@@ -5631,11 +5642,60 @@
"solid-js": {
"optional": true
},
+ "svelte": {
+ "optional": true
+ },
"vue": {
"optional": true
}
}
},
+ "node_modules/@shikijs/stream/node_modules/@shikijs/core": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.3.1.tgz",
+ "integrity": "sha512-ANMDxuaPsNMdDC1m4vfvhlDmJweMwkE5XitTwrq2rWHx5jM+dlm4MmHt2PP6t0uejfR77SuhrhJ0zEijIF/uhA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@shikijs/primitive": "4.3.1",
+ "@shikijs/types": "4.3.1",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4",
+ "hast-util-to-html": "^9.0.5"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@shikijs/stream/node_modules/@shikijs/primitive": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.3.1.tgz",
+ "integrity": "sha512-CXQRQOYy1leqQ8ceTeJdmXv/bsUY++6QyLpXJ94LZAAYj5X2SKRdc5ipguv4NPyGVKItB2PPwUpRNe0Sjh5S1A==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@shikijs/types": "4.3.1",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@shikijs/stream/node_modules/@shikijs/types": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.3.1.tgz",
+ "integrity": "sha512-CHFxE0jztBIZRHH6gxXE7DXUCFXjReEGxZ/j0rfSLGKZuwp2xBYycEP14875DSa9KLL/6700oxIq6oO6ef9K2g==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
"node_modules/@shikijs/themes": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.2.0.tgz",
@@ -5649,14 +5709,60 @@
}
},
"node_modules/@shikijs/transformers": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-4.2.0.tgz",
- "integrity": "sha512-pKrYVNUr1oPjJvs76gkPPirDySx3GKG9O88P2Y3AQ+7AjSFws9Y+Ry/Q/6Yg6QpyigzjdQ6H5JAMNAvLXZ63dw==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-4.3.1.tgz",
+ "integrity": "sha512-z6ir0bGDgWcF2FduktEfPgIsdOtIlDiLAjFBgBzE42Q9xHbkkIXZtORHzlLVB71iZP9elEcqKg6keajvOUwE2A==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@shikijs/core": "4.2.0",
- "@shikijs/types": "4.2.0"
+ "@shikijs/core": "4.3.1",
+ "@shikijs/types": "4.3.1"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@shikijs/transformers/node_modules/@shikijs/core": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.3.1.tgz",
+ "integrity": "sha512-ANMDxuaPsNMdDC1m4vfvhlDmJweMwkE5XitTwrq2rWHx5jM+dlm4MmHt2PP6t0uejfR77SuhrhJ0zEijIF/uhA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@shikijs/primitive": "4.3.1",
+ "@shikijs/types": "4.3.1",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4",
+ "hast-util-to-html": "^9.0.5"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@shikijs/transformers/node_modules/@shikijs/primitive": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.3.1.tgz",
+ "integrity": "sha512-CXQRQOYy1leqQ8ceTeJdmXv/bsUY++6QyLpXJ94LZAAYj5X2SKRdc5ipguv4NPyGVKItB2PPwUpRNe0Sjh5S1A==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@shikijs/types": "4.3.1",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@shikijs/transformers/node_modules/@shikijs/types": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.3.1.tgz",
+ "integrity": "sha512-CHFxE0jztBIZRHH6gxXE7DXUCFXjReEGxZ/j0rfSLGKZuwp2xBYycEP14875DSa9KLL/6700oxIq6oO6ef9K2g==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
},
"engines": {
"node": ">=20"
@@ -6757,9 +6863,9 @@
"peer": true
},
"node_modules/@types/d3-random": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz",
- "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.4.tgz",
+ "integrity": "sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==",
"license": "MIT",
"peer": true
},
@@ -7227,9 +7333,9 @@
}
},
"node_modules/antd": {
- "version": "6.4.5",
- "resolved": "https://registry.npmjs.org/antd/-/antd-6.4.5.tgz",
- "integrity": "sha512-xyAgX/sqF/CRS1G95oM4ql0+3TBG+tE58aRJqdUPVv4yMZcQrnnkA4cU7Uc5Rny2yK2TrusDVargHzzXUrlJ1g==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/antd/-/antd-6.5.1.tgz",
+ "integrity": "sha512-VZVVF9zYI6S0NHqboVhCoY9Iiqj6dphW1NPB+sEaAf2HuIQ0haXWXj7ZvAXTRDzusktV6+cvvrSZEdRi4twATg==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -7237,43 +7343,43 @@
"@ant-design/cssinjs": "^2.1.2",
"@ant-design/cssinjs-utils": "^2.1.2",
"@ant-design/fast-color": "^3.0.1",
- "@ant-design/icons": "^6.2.5",
+ "@ant-design/icons": "^6.3.2",
"@ant-design/react-slick": "~2.0.0",
"@babel/runtime": "^7.29.2",
- "@rc-component/cascader": "~1.16.1",
+ "@rc-component/cascader": "~1.17.0",
"@rc-component/checkbox": "~2.0.0",
"@rc-component/collapse": "~1.2.0",
"@rc-component/color-picker": "~3.1.1",
- "@rc-component/dialog": "~1.9.0",
+ "@rc-component/dialog": "~1.10.0",
"@rc-component/drawer": "~1.4.2",
- "@rc-component/dropdown": "~1.0.2",
+ "@rc-component/dropdown": "~1.0.3",
"@rc-component/form": "~1.8.5",
"@rc-component/image": "~1.9.0",
"@rc-component/input": "~1.3.1",
"@rc-component/input-number": "~1.6.2",
- "@rc-component/mentions": "~1.9.0",
- "@rc-component/menu": "~1.3.1",
+ "@rc-component/mentions": "~1.10.0",
+ "@rc-component/menu": "~1.4.1",
"@rc-component/motion": "^1.3.3",
"@rc-component/mutate-observer": "^2.0.1",
"@rc-component/notification": "~2.0.7",
- "@rc-component/pagination": "~1.3.0",
- "@rc-component/picker": "~1.10.0",
+ "@rc-component/pagination": "~1.4.0",
+ "@rc-component/picker": "~1.11.0",
"@rc-component/progress": "~1.0.2",
"@rc-component/qrcode": "~2.0.0",
"@rc-component/rate": "~1.0.1",
"@rc-component/resize-observer": "^1.1.2",
"@rc-component/segmented": "~1.3.0",
- "@rc-component/select": "~1.7.1",
- "@rc-component/slider": "~1.0.1",
+ "@rc-component/select": "~1.8.2",
+ "@rc-component/slider": "~1.1.1",
"@rc-component/steps": "~1.2.2",
"@rc-component/switch": "~1.0.3",
- "@rc-component/table": "~1.10.2",
- "@rc-component/tabs": "~1.9.1",
+ "@rc-component/table": "~1.10.4",
+ "@rc-component/tabs": "~1.11.0",
"@rc-component/tooltip": "~1.4.0",
"@rc-component/tour": "~2.4.0",
"@rc-component/tree": "~1.3.2",
- "@rc-component/tree-select": "~1.10.0",
- "@rc-component/trigger": "^3.9.1",
+ "@rc-component/tree-select": "~1.11.0",
+ "@rc-component/trigger": "^3.10.0",
"@rc-component/upload": "~1.1.1",
"@rc-component/util": "^1.11.1",
"clsx": "^2.1.1",
@@ -9495,13 +9601,13 @@
}
},
"node_modules/framer-motion": {
- "version": "12.40.0",
- "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.40.0.tgz",
- "integrity": "sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==",
+ "version": "12.42.2",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.42.2.tgz",
+ "integrity": "sha512-5XY9luDiu0oHfHBjpDthFMh0ES+122w6p/papSJBweMkO8Sn+PW2QaEgRblQBpWFnuvZS5qvarpt/hO2pjGmnw==",
"license": "MIT",
"peer": true,
"dependencies": {
- "motion-dom": "^12.40.0",
+ "motion-dom": "^12.42.2",
"motion-utils": "^12.39.0",
"tslib": "^2.4.0"
},
@@ -10153,9 +10259,9 @@
}
},
"node_modules/immer": {
- "version": "11.1.8",
- "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.8.tgz",
- "integrity": "sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA==",
+ "version": "11.1.11",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.11.tgz",
+ "integrity": "sha512-qzXuyXAkPySAGYkfsAwodDPWT8Zm7/Uo5BNt4BjhMhG5WlWyZZ4wQqnWwdS8kjlQ1Cwu6gjw3A6+0gTQwlyYtw==",
"license": "MIT",
"peer": true,
"funding": {
@@ -11344,27 +11450,27 @@
}
},
"node_modules/mermaid": {
- "version": "11.15.0",
- "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.15.0.tgz",
- "integrity": "sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==",
+ "version": "11.16.0",
+ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.16.0.tgz",
+ "integrity": "sha512-Zvm3kbstgdpvIJPPItlL7fppIZ3kibvc1oZIGxdvk9t6UFz6flv+Jw7FtRGKwfcI8OckmH04LqG6LlS6X4B1pA==",
"license": "MIT",
"peer": true,
"dependencies": {
- "@braintree/sanitize-url": "^7.1.1",
+ "@braintree/sanitize-url": "^7.1.2",
"@iconify/utils": "^3.0.2",
- "@mermaid-js/parser": "^1.1.1",
+ "@mermaid-js/parser": "^1.2.0",
"@types/d3": "^7.4.3",
"@upsetjs/venn.js": "^2.0.0",
- "cytoscape": "^3.33.1",
+ "cytoscape": "^3.33.3",
"cytoscape-cose-bilkent": "^4.1.0",
"cytoscape-fcose": "^2.2.0",
"d3": "^7.9.0",
"d3-sankey": "^0.12.3",
"dagre-d3-es": "7.0.14",
- "dayjs": "^1.11.19",
- "dompurify": "^3.3.1",
+ "dayjs": "^1.11.20",
+ "dompurify": "^3.3.3",
"es-toolkit": "^1.45.1",
- "katex": "^0.16.25",
+ "katex": "^0.16.45",
"khroma": "^2.1.0",
"marked": "^16.3.0",
"roughjs": "^4.6.6",
@@ -12291,13 +12397,13 @@
}
},
"node_modules/motion": {
- "version": "12.40.0",
- "resolved": "https://registry.npmjs.org/motion/-/motion-12.40.0.tgz",
- "integrity": "sha512-yjrHUrBFW6kQvjJwRsoiPSAhC5tRwRqNGJWmiJ4CrGnbKp0V88AdzkhBmDoqIsIPfarOe0Uddd37Xq43/gIocA==",
+ "version": "12.42.2",
+ "resolved": "https://registry.npmjs.org/motion/-/motion-12.42.2.tgz",
+ "integrity": "sha512-Atvv11yUKIid41cVrRBDVX5m8tF8kNpExRSlbpt6APClhDjtwQssgFHhQzejxw7/7YYbjHSPKBVbHo05BuJT5Q==",
"license": "MIT",
"peer": true,
"dependencies": {
- "framer-motion": "^12.40.0",
+ "framer-motion": "^12.42.2",
"tslib": "^2.4.0"
},
"peerDependencies": {
@@ -12318,9 +12424,9 @@
}
},
"node_modules/motion-dom": {
- "version": "12.40.0",
- "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.40.0.tgz",
- "integrity": "sha512-HxU3ZaBwNPVQUBQf1xxgq+7JrPNZvjLVxgbpEZL7RrWJnsxOf0/OM+yrHG9ogLQ31Do/r57Oz2gQWPK+6q62mg==",
+ "version": "12.42.2",
+ "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.42.2.tgz",
+ "integrity": "sha512-5gIMWLp/PycBtJRJWRgjxke5n8dlvkSn2DrYW+tr3XcqAZY1xZh6BJyooJXCM8wdfM7wfMjkBJNLge1CKPUIRA==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -12369,12 +12475,12 @@
}
},
"node_modules/next": {
- "version": "16.2.7",
- "resolved": "https://registry.npmjs.org/next/-/next-16.2.7.tgz",
- "integrity": "sha512-eMJxgjRzBaj3olkP4cBamHDXL79A8FC6u1GcsO1D1Tsx8bw/LLXUJCaoajVxtnhD3A1IJqIT8IcRJjgBIPJq4w==",
+ "version": "16.2.10",
+ "resolved": "https://registry.npmjs.org/next/-/next-16.2.10.tgz",
+ "integrity": "sha512-2som5AVXb3kE6Yjine3/mNbBayYF58eguBWIVVUdr1y/L426xyVEgYxgBG+1QC34P2x5E+tcDup6XkuOAX3dCA==",
"license": "MIT",
"dependencies": {
- "@next/env": "16.2.7",
+ "@next/env": "16.2.10",
"@swc/helpers": "0.5.15",
"baseline-browser-mapping": "^2.9.19",
"caniuse-lite": "^1.0.30001579",
@@ -12388,14 +12494,14 @@
"node": ">=20.9.0"
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "16.2.7",
- "@next/swc-darwin-x64": "16.2.7",
- "@next/swc-linux-arm64-gnu": "16.2.7",
- "@next/swc-linux-arm64-musl": "16.2.7",
- "@next/swc-linux-x64-gnu": "16.2.7",
- "@next/swc-linux-x64-musl": "16.2.7",
- "@next/swc-win32-arm64-msvc": "16.2.7",
- "@next/swc-win32-x64-msvc": "16.2.7",
+ "@next/swc-darwin-arm64": "16.2.10",
+ "@next/swc-darwin-x64": "16.2.10",
+ "@next/swc-linux-arm64-gnu": "16.2.10",
+ "@next/swc-linux-arm64-musl": "16.2.10",
+ "@next/swc-linux-x64-gnu": "16.2.10",
+ "@next/swc-linux-x64-musl": "16.2.10",
+ "@next/swc-win32-arm64-msvc": "16.2.10",
+ "@next/swc-win32-x64-msvc": "16.2.10",
"sharp": "^0.34.5"
},
"peerDependencies": {
@@ -12645,9 +12751,9 @@
"license": "BlueOak-1.0.0"
},
"node_modules/package-manager-detector": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz",
- "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.7.0.tgz",
+ "integrity": "sha512-xg1eHpwYL/D/HEdWw2goFZP6vV0FH7W+PZ5rFkGjdIDLtxq7EkzBUeT3m+lndYCt8wKbmofUu1MUdMCXkCk9ZQ==",
"license": "MIT",
"peer": true
},
@@ -12837,6 +12943,52 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/playwright": {
+ "version": "1.61.1",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.61.1.tgz",
+ "integrity": "sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==",
+ "devOptional": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "playwright-core": "1.61.1"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "fsevents": "2.3.2"
+ }
+ },
+ "node_modules/playwright-core": {
+ "version": "1.61.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.61.1.tgz",
+ "integrity": "sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==",
+ "devOptional": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "playwright-core": "cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/playwright/node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
"node_modules/points-on-curve": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz",
@@ -13007,9 +13159,9 @@
"license": "MIT"
},
"node_modules/query-string": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.4.0.tgz",
- "integrity": "sha512-ivvWyHqU9K1Log4hJFhqVIIMoEi0nzmlRhvk2pPcTuQH/Y0K5iTTMxEx7R0PRHD2Z1hMVbWnjfsEWbIKIK+3IA==",
+ "version": "9.4.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.4.1.tgz",
+ "integrity": "sha512-lSyJeN3RuaG7DZGWThtYRhk96+kEyZ/+doZpERuWbjeFL+Ok3vEat/swU498rAI0NcVt5/RJp8UDuLz7FckxrA==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -13365,9 +13517,9 @@
}
},
"node_modules/react-colorful": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.7.0.tgz",
- "integrity": "sha512-fuesYIemttah97XmsIHmz4OORDHiSFzyc9HMAIrCHJou2jaRQmL8cFJ76K4zQhhj8jzwOBlOi4BaGTjjOZCfTg==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.8.0.tgz",
+ "integrity": "sha512-Wy9OzPfjSN9bF12OB8N7UQvlsZ0I+7wHxpN+bV5BjNQGxOj6IiwkRjevJK9yOBjJWGQvAaf1OXtn8rUeEatAng==",
"license": "MIT",
"peer": true,
"peerDependencies": {
@@ -13438,9 +13590,9 @@
"peer": true
},
"node_modules/react-hotkeys-hook": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-5.3.2.tgz",
- "integrity": "sha512-DDDy9xK6mbTQ6aPlQvIl0dA/a90T/AWml4Rm21JXFDLlRHalIg4/Rv3equUQYs5xPTWq+oEl6RD7mi/nBpU3Uw==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-5.3.3.tgz",
+ "integrity": "sha512-aswgyWUnE25hmhzHTfKDmKzsaSE5DJ4LKaU/o6rQSXkDd/1Bh9TfAFQbHkf6fLy11HvlYkp+cDDarGdhmCDhoQ==",
"license": "MIT",
"peer": true,
"workspaces": [
@@ -14649,9 +14801,9 @@
}
},
"node_modules/swr": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/swr/-/swr-2.4.1.tgz",
- "integrity": "sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.4.2.tgz",
+ "integrity": "sha512-ej644Y2bvkIajfR32KGeSSdBXQW+ScjGjkybZgSE7kFpk9eGnV44XY9FJylXi+W75pavSX1PVNB57W5EbhGIYw==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -15186,9 +15338,9 @@
}
},
"node_modules/virtua": {
- "version": "0.49.1",
- "resolved": "https://registry.npmjs.org/virtua/-/virtua-0.49.1.tgz",
- "integrity": "sha512-6f79msqg3jzNFdqJiS0FSzhRN1EHlDhR7EvW7emp6z5qQ22VdsReiDHflkpMEMhoAyUuYr69nwT0aagiM7NrUg==",
+ "version": "0.49.3",
+ "resolved": "https://registry.npmjs.org/virtua/-/virtua-0.49.3.tgz",
+ "integrity": "sha512-k1Yn988Vz/L40uDtEWPjfdVo15Suumh4tU4/z5Srs0elNcU9DgBskqdh3llpHyAlXrCeHWTfcclYvY1uU4MmIg==",
"license": "MIT",
"peer": true,
"peerDependencies": {
@@ -16230,10 +16382,10 @@
"clsx": "^2.1.1",
"gray-matter": "^4.0.3",
"lucide-react": "^1.0.1",
- "next": "16.2.7",
+ "next": "16.2.10",
"postcss": "^8.5.8",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "react": "^19.2.7",
+ "react-dom": "^19.2.7",
"react-icons": "^5.6.0",
"remark-gfm": "^4.0.1",
"shiki": "^4.0.2",
@@ -16241,10 +16393,11 @@
"tailwindcss": "^4.2.2"
},
"devDependencies": {
- "@opennextjs/cloudflare": "^1.19.10",
+ "@opennextjs/cloudflare": "^1.20.1",
+ "@playwright/test": "^1.61.1",
"@types/node": "^22.19.3",
- "@types/react": "^19.2.0",
- "@types/react-dom": "^19.2.0",
+ "@types/react": "^19.2.17",
+ "@types/react-dom": "^19.2.3",
"typescript": "^5.9.3",
"vitest": "^4.1.0",
"wrangler": "^4.91.0"
diff --git a/web/e2e/pages.spec.ts b/web/e2e/pages.spec.ts
new file mode 100644
index 00000000..61802cba
--- /dev/null
+++ b/web/e2e/pages.spec.ts
@@ -0,0 +1,76 @@
+import { expect, test } from '@playwright/test';
+import { readdirSync } from 'node:fs';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+import { allAgentSlugs } from '../lib/agents';
+import { getAllDocSlugs, getAllLegacyDocSlugs } from '../lib/docs-nav';
+
+const webDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
+const appDir = path.join(webDir, 'app');
+const contentDir = path.join(webDir, 'content');
+
+function filesIn(dir: string, filename: string): string[] {
+ return readdirSync(dir, { withFileTypes: true }).flatMap((entry) => {
+ const absolutePath = path.join(dir, entry.name);
+ if (entry.isDirectory()) return filesIn(absolutePath, filename);
+ return entry.name === filename ? [absolutePath] : [];
+ });
+}
+
+function mdxSlugs(dir: string): string[] {
+ return readdirSync(dir, { withFileTypes: true })
+ .filter((entry) => entry.isFile() && entry.name.endsWith('.mdx'))
+ .map((entry) => entry.name.slice(0, -4));
+}
+
+function staticPageRoutes(): string[] {
+ return filesIn(appDir, 'page.tsx')
+ .map((file) => path.relative(appDir, path.dirname(file)))
+ .filter((route) => !route.includes('['))
+ .map((route) => (route ? `/${route}` : '/'));
+}
+
+function pageRoutes(): string[] {
+ const currentDocs = getAllDocSlugs();
+ const legacyDocs = getAllLegacyDocSlugs();
+ const productDocs = ['agents', 'file', 'loop'].flatMap((product) =>
+ mdxSlugs(path.join(contentDir, `docs/${product}`)).map((slug) => `/docs/${product}/${slug}`),
+ );
+
+ const dynamicRoutes = [
+ ...mdxSlugs(path.join(contentDir, 'blog')).map((slug) => `/blog/${slug}`),
+ ...allAgentSlugs().map((slug) => `/agents/${slug}`),
+ ...[...new Set([...currentDocs, ...legacyDocs])].map((slug) => `/docs/${slug}`),
+ ...legacyDocs.map((slug) => `/docs/7.1.1/${slug}`),
+ ...currentDocs.map((slug) => `/docs/8.0.0/${slug}`),
+ ...legacyDocs.map((slug) => `/docs/pre-v8/${slug}`),
+ ...productDocs,
+ '/openclaw/skill/invite/rk_live_smoke_test',
+ ];
+
+ return [...new Set([...staticPageRoutes(), ...dynamicRoutes])].sort();
+}
+
+test.describe.configure({ mode: 'parallel' });
+
+for (const route of pageRoutes()) {
+ test(`${route} renders visible page content`, async ({ page }) => {
+ const pageErrors: Error[] = [];
+ page.on('pageerror', (error) => pageErrors.push(error));
+
+ const response = await page.goto(route, { waitUntil: 'domcontentloaded' });
+ await page.waitForLoadState('load');
+ // Let initial hydration and mount effects surface errors before asserting.
+ await page.waitForTimeout(100);
+
+ expect(response, 'navigation should return an HTTP response').not.toBeNull();
+ expect(response!.status(), 'page should not return an HTTP error').toBeLessThan(400);
+ const body = page.locator('body');
+ await expect(body).toBeVisible();
+ expect((await body.innerText()).trim().length, 'page should render meaningful visible text').toBeGreaterThan(100);
+ await expect(page).toHaveTitle(/\S+/);
+ await expect(page.locator('body')).not.toContainText('Application error');
+ expect(pageErrors, 'page should hydrate without uncaught browser errors').toEqual([]);
+ });
+}
diff --git a/web/middleware.ts b/web/middleware.ts
deleted file mode 100644
index c416e139..00000000
--- a/web/middleware.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { postHogMiddleware } from '@posthog/next';
-import { NextResponse, type NextRequest } from 'next/server';
-
-import { POSTHOG_HOST as DEFAULT_POSTHOG_HOST } from './lib/site';
-
-const postHog = process.env.NEXT_PUBLIC_POSTHOG_KEY
- ? postHogMiddleware({
- proxy: { host: process.env.NEXT_PUBLIC_POSTHOG_HOST ?? DEFAULT_POSTHOG_HOST },
- })
- : null;
-
-const PUBLIC_FILE = /\.(?:png|jpe?g|gif|webp|svg|ico|txt|xml)$/i;
-
-export function middleware(request: NextRequest) {
- if (PUBLIC_FILE.test(request.nextUrl.pathname)) return NextResponse.next();
- if (!postHog) return NextResponse.next();
- return postHog(request);
-}
-
-export const config = {
- // Keep this on the deprecated middleware convention while deploying through
- // OpenNext Cloudflare. Next 16 `proxy.ts` is Node.js-only, and OpenNext
- // Cloudflare 1.19 currently rejects Node.js middleware during `cf:build`.
- matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
-};
diff --git a/web/next-env.d.ts b/web/next-env.d.ts
index c4b7818f..9edff1c7 100644
--- a/web/next-env.d.ts
+++ b/web/next-env.d.ts
@@ -1,6 +1,6 @@
///
///
-import "./.next/dev/types/routes.d.ts";
+import "./.next/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/web/package.json b/web/package.json
index 2786fa8d..a056d972 100644
--- a/web/package.json
+++ b/web/package.json
@@ -11,6 +11,7 @@
"build": "next build --webpack",
"start": "next start",
"test": "vitest run",
+ "test:e2e": "playwright test",
"cf:build": "opennextjs-cloudflare build",
"preview": "opennextjs-cloudflare build && opennextjs-cloudflare preview",
"deploy": "opennextjs-cloudflare build && wrangler deploy"
@@ -25,10 +26,10 @@
"clsx": "^2.1.1",
"gray-matter": "^4.0.3",
"lucide-react": "^1.0.1",
- "next": "16.2.7",
+ "next": "16.2.10",
"postcss": "^8.5.8",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "react": "^19.2.7",
+ "react-dom": "^19.2.7",
"react-icons": "^5.6.0",
"remark-gfm": "^4.0.1",
"shiki": "^4.0.2",
@@ -36,10 +37,11 @@
"tailwindcss": "^4.2.2"
},
"devDependencies": {
- "@opennextjs/cloudflare": "^1.19.10",
+ "@opennextjs/cloudflare": "^1.20.1",
+ "@playwright/test": "^1.61.1",
"@types/node": "^22.19.3",
- "@types/react": "^19.2.0",
- "@types/react-dom": "^19.2.0",
+ "@types/react": "^19.2.17",
+ "@types/react-dom": "^19.2.3",
"typescript": "^5.9.3",
"vitest": "^4.1.0",
"wrangler": "^4.91.0"
diff --git a/web/playwright.config.ts b/web/playwright.config.ts
new file mode 100644
index 00000000..52f50675
--- /dev/null
+++ b/web/playwright.config.ts
@@ -0,0 +1,26 @@
+import { defineConfig, devices } from '@playwright/test';
+
+export default defineConfig({
+ testDir: './e2e',
+ fullyParallel: true,
+ forbidOnly: Boolean(process.env.CI),
+ retries: process.env.CI ? 2 : 0,
+ workers: process.env.CI ? 4 : undefined,
+ reporter: process.env.CI ? 'github' : 'line',
+ use: {
+ baseURL: 'http://localhost:3100',
+ trace: 'retain-on-failure',
+ },
+ projects: [
+ {
+ name: 'chromium',
+ use: { ...devices['Desktop Chrome'] },
+ },
+ ],
+ webServer: {
+ command: 'npm run build && npm run start -- -p 3100',
+ url: 'http://localhost:3100',
+ reuseExistingServer: !process.env.CI,
+ timeout: 180_000,
+ },
+});