diff --git a/.DS_Store b/.DS_Store index 75641e9..e978918 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/src/components/PageLoading.css b/src/components/PageLoading.css index 976373e..ff3266d 100644 --- a/src/components/PageLoading.css +++ b/src/components/PageLoading.css @@ -17,16 +17,14 @@ .page-loading-spinner { width: 40px; height: 40px; - border: 3px solid #e2e8f0; - border-top: 3px solid #667eea; - border-radius: 50%; animation: page-loading-spin 1s linear infinite; margin-bottom: 1rem; + color: #667eea; } @keyframes page-loading-spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } } .page-loading-message { diff --git a/src/components/PageLoading.jsx b/src/components/PageLoading.jsx index 8f573d0..8666253 100644 --- a/src/components/PageLoading.jsx +++ b/src/components/PageLoading.jsx @@ -1,10 +1,11 @@ import React from 'react'; +import { Loader } from 'lucide-react'; import './PageLoading.css'; const PageLoading = ({ message = '加载中...' }) => { return (
-
+

{message}

); diff --git a/src/components/ScrollToTop.css b/src/components/ScrollToTop.css new file mode 100644 index 0000000..08066d3 --- /dev/null +++ b/src/components/ScrollToTop.css @@ -0,0 +1,51 @@ +/* 回到顶部按钮 */ +.scroll-to-top-btn { + position: fixed; + bottom: 2rem; + right: 2rem; + width: 56px; + height: 56px; + border-radius: 50%; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + color: white; + border: none; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4); + transition: all 0.3s ease; + z-index: 999; + animation: fadeInUp 0.3s ease; +} + +.scroll-to-top-btn:hover { + transform: translateY(-4px); + box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6); + background: linear-gradient(135deg, #764ba2 0%, #667eea 100%); +} + +.scroll-to-top-btn:active { + transform: translateY(-2px); +} + +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* 响应式设计 - 移动端调整按钮位置 */ +@media (max-width: 768px) { + .scroll-to-top-btn { + bottom: 1.5rem; + right: 1.5rem; + width: 50px; + height: 50px; + } +} diff --git a/src/components/ScrollToTop.jsx b/src/components/ScrollToTop.jsx new file mode 100644 index 0000000..990cfa8 --- /dev/null +++ b/src/components/ScrollToTop.jsx @@ -0,0 +1,43 @@ +import React, { useState, useEffect } from 'react'; +import { ArrowUp } from 'lucide-react'; +import './ScrollToTop.css'; + +const ScrollToTop = ({ showAfter = 300 }) => { + const [showButton, setShowButton] = useState(false); + + useEffect(() => { + const handleScroll = () => { + if (window.pageYOffset > showAfter) { + setShowButton(true); + } else { + setShowButton(false); + } + }; + + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }, [showAfter]); + + const scrollToTop = () => { + window.scrollTo({ + top: 0, + behavior: 'smooth' + }); + }; + + if (!showButton) { + return null; + } + + return ( + + ); +}; + +export default ScrollToTop; diff --git a/src/pages/Dashboard.jsx b/src/pages/Dashboard.jsx index a66aef2..21aa748 100644 --- a/src/pages/Dashboard.jsx +++ b/src/pages/Dashboard.jsx @@ -9,6 +9,7 @@ import ExpandSearchBox from '../components/ExpandSearchBox'; import VoiceprintCollectionModal from '../components/VoiceprintCollectionModal'; import ConfirmDialog from '../components/ConfirmDialog'; import PageLoading from '../components/PageLoading'; +import ScrollToTop from '../components/ScrollToTop'; import meetingCacheService from '../services/meetingCacheService'; import './Dashboard.css'; @@ -578,6 +579,9 @@ const Dashboard = ({ user, onLogout }) => { cancelText="取消" type="danger" /> + + {/* 回到顶部按钮 */} + ); }; diff --git a/src/pages/KnowledgeBasePage.css b/src/pages/KnowledgeBasePage.css index f9c112b..caa0a1f 100644 --- a/src/pages/KnowledgeBasePage.css +++ b/src/pages/KnowledgeBasePage.css @@ -571,7 +571,7 @@ display: flex; justify-content: space-between; align-items: center; - padding: 1.5rem 2rem; + padding: 1rem 1.5rem; border-bottom: 1px solid #e2e8f0; } @@ -644,16 +644,14 @@ } .modal-body { - padding: 1rem; + padding: 1rem 1.5rem; overflow-y: auto; flex: 1; - height: 450px; /* 调整为更小的固定高度 */ - min-height: 450px; - max-height: 450px; + max-height: calc(85vh - 180px); /* 动态计算高度,适配不同分辨率 */ } .form-group { - margin-bottom: 1.5rem; + margin-bottom: 0.75rem; } .form-group label { @@ -671,7 +669,8 @@ font-family: inherit; font-size: 0.95rem; resize: vertical; - min-height: 270px; /* 调整高度以匹配步骤一的列表高度 */ + min-height: 150px; /* 减少最小高度 */ + max-height: calc(85vh - 350px); /* 动态计算最大高度 */ transition: border-color 0.2s ease; } @@ -699,15 +698,15 @@ /* 紧凑的搜索和过滤区 */ .search-filter-area { - margin-bottom: 1rem; + margin-bottom: 0.5rem; display: flex; flex-direction: column; - gap: 0.75rem; + gap: 0.375rem; } .compact-search-input { width: 100%; - padding: 0.625rem 0.75rem; + padding: 0.5rem 0.75rem; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 0.875rem; @@ -723,19 +722,19 @@ .tag-filter-section { display: flex; flex-direction: column; - gap: 0.5rem; + gap: 0.25rem; } .tag-filter-chips { display: flex; flex-wrap: nowrap; - gap: 0.5rem; + gap: 0.375rem; overflow: visible; - padding: 0.25rem; + padding: 0; } .tag-chip { - padding: 0.375rem 0.75rem; + padding: 0.25rem 0.625rem; border: 1px solid #e2e8f0; border-radius: 16px; background: #f8fafc; @@ -778,7 +777,8 @@ } .meeting-list { - max-height: 310px; /* 调整为适应新的窗体高度 */ + max-height: calc(85vh - 380px); /* 动态计算高度,适配不同分辨率 */ + min-height: 200px; /* 设置最小高度 */ overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; @@ -1063,7 +1063,7 @@ border: 1px solid #bbf7d0; border-radius: 6px; padding: 0.5rem 0.75rem; - margin-bottom: 1rem; + margin-bottom: 0.75rem; } .summary-item { diff --git a/src/pages/KnowledgeBasePage.jsx b/src/pages/KnowledgeBasePage.jsx index 221ce1d..f542987 100644 --- a/src/pages/KnowledgeBasePage.jsx +++ b/src/pages/KnowledgeBasePage.jsx @@ -171,10 +171,8 @@ const KnowledgeBasePage = ({ user }) => { try { const response = await apiClient.get(buildApiUrl(API_ENDPOINTS.TAGS.LIST)); const allTags = response.data || []; - console.log('所有标签:', allTags.length, allTags); // 取前6个热门标签 const topSixTags = allTags.slice(0, 6).map(tag => tag.name); - console.log('取前6个标签:', topSixTags); setAvailableTags(topSixTags); } catch (error) { console.error("Error fetching tags:", error); diff --git a/src/pages/admin/SystemConfiguration.jsx b/src/pages/admin/SystemConfiguration.jsx index 1c4a1bd..b85f89a 100644 --- a/src/pages/admin/SystemConfiguration.jsx +++ b/src/pages/admin/SystemConfiguration.jsx @@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react'; import { Settings, Brain, Shield, Save, RotateCcw, CheckCircle, AlertCircle, Loader } from 'lucide-react'; import apiClient from '../../utils/apiClient'; import { buildApiUrl, API_ENDPOINTS } from '../../config/api'; +import PageLoading from '../../components/PageLoading'; import './SystemConfiguration.css'; const SystemConfiguration = () => { @@ -13,6 +14,12 @@ const SystemConfiguration = () => { TIMELINE_PAGESIZE: 0 }); + // 用于存储输入框的显示值(MB单位) + const [displayValues, setDisplayValues] = useState({ + MAX_FILE_SIZE: 0, + TIMELINE_PAGESIZE: 0 + }); + const [originalConfigs, setOriginalConfigs] = useState({}); const [loading, setLoading] = useState(true); const [saving, setSaving] = useState(false); @@ -40,6 +47,11 @@ const SystemConfiguration = () => { const configData = response.data; setConfigs(configData); setOriginalConfigs(configData); + // 初始化显示值 + setDisplayValues({ + MAX_FILE_SIZE: bytesToMB(configData.MAX_FILE_SIZE), + TIMELINE_PAGESIZE: configData.TIMELINE_PAGESIZE + }); setMessage({ type: '', text: '' }); } catch (err) { console.error('Failed to fetch configurations:', err); @@ -54,14 +66,24 @@ const SystemConfiguration = () => { const handleInputChange = (key, value) => { if (key === 'MAX_FILE_SIZE') { - // 对于文件大小,输入的是MB,需要转换为字节 + // 直接更新显示值,不进行转换 + setDisplayValues(prev => ({ + ...prev, + MAX_FILE_SIZE: value + })); + // 转换为字节存储 const numValue = parseInt(value) || 0; setConfigs(prev => ({ ...prev, [key]: mbToBytes(numValue) })); } else if (key === 'TIMELINE_PAGESIZE') { - // 分页大小直接存储数字 + // 直接更新显示值 + setDisplayValues(prev => ({ + ...prev, + TIMELINE_PAGESIZE: value + })); + // 存储数字 const numValue = parseInt(value) || 0; setConfigs(prev => ({ ...prev, @@ -102,20 +124,17 @@ const SystemConfiguration = () => { const handleReset = () => { setConfigs(originalConfigs); + setDisplayValues({ + MAX_FILE_SIZE: bytesToMB(originalConfigs.MAX_FILE_SIZE), + TIMELINE_PAGESIZE: originalConfigs.TIMELINE_PAGESIZE + }); setMessage({ type: '', text: '' }); }; const hasChanges = JSON.stringify(configs) !== JSON.stringify(originalConfigs); if (loading) { - return ( -
-
- - 加载配置数据中... -
-
- ); + return ; } return ( @@ -218,7 +237,7 @@ const SystemConfiguration = () => { handleInputChange('MAX_FILE_SIZE', e.target.value)} placeholder="请输入文件大小限制(MB)" min="1" @@ -237,7 +256,7 @@ const SystemConfiguration = () => { handleInputChange('TIMELINE_PAGESIZE', e.target.value)} placeholder="请输入分页大小" min="5" diff --git a/yarn.lock b/yarn.lock index a1ebec1..a6667a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,12 +211,7 @@ resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.3.tgz" integrity sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA== -"@babel/runtime@^7.14.6": - version "7.28.2" - resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.2.tgz" - integrity sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA== - -"@babel/runtime@^7.17.2": +"@babel/runtime@^7.14.6", "@babel/runtime@^7.17.2": version "7.28.2" resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.2.tgz" integrity sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA== @@ -261,11 +256,136 @@ resolved "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +"@esbuild/aix-ppc64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz#a1414903bb38027382f85f03dda6065056757727" + integrity sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA== + +"@esbuild/android-arm64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz#c859994089e9767224269884061f89dae6fb51c6" + integrity sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w== + +"@esbuild/android-arm@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.8.tgz#96a8f2ca91c6cd29ea90b1af79d83761c8ba0059" + integrity sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw== + +"@esbuild/android-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.8.tgz#a3a626c4fec4a024a9fa8c7679c39996e92916f0" + integrity sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA== + "@esbuild/darwin-arm64@0.25.8": version "0.25.8" resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz" integrity sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw== +"@esbuild/darwin-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz#5271b0df2bb12ce8df886704bfdd1c7cc01385d2" + integrity sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg== + +"@esbuild/freebsd-arm64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz#d0a0e7fdf19733b8bb1566b81df1aa0bb7e46ada" + integrity sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA== + +"@esbuild/freebsd-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz#2de8b2e0899d08f1cb1ef3128e159616e7e85343" + integrity sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw== + +"@esbuild/linux-arm64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz#a4209efadc0c2975716458484a4e90c237c48ae9" + integrity sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w== + +"@esbuild/linux-arm@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz#ccd9e291c24cd8d9142d819d463e2e7200d25b19" + integrity sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg== + +"@esbuild/linux-ia32@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz#006ad1536d0c2b28fb3a1cf0b53bcb85aaf92c4d" + integrity sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg== + +"@esbuild/linux-loong64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz#127b3fbfb2c2e08b1397e985932f718f09a8f5c4" + integrity sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ== + +"@esbuild/linux-mips64el@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz#837d1449517791e3fa7d82675a2d06d9f56cb340" + integrity sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw== + +"@esbuild/linux-ppc64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz#aa2e3bd93ab8df084212f1895ca4b03c42d9e0fe" + integrity sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ== + +"@esbuild/linux-riscv64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz#a340620e31093fef72767dd28ab04214b3442083" + integrity sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg== + +"@esbuild/linux-s390x@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz#ddfed266c8c13f5efb3105a0cd47f6dcd0e79e71" + integrity sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg== + +"@esbuild/linux-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz#9a4f78c75c051e8c060183ebb39a269ba936a2ac" + integrity sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ== + +"@esbuild/netbsd-arm64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz#902c80e1d678047926387230bc037e63e00697d0" + integrity sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw== + +"@esbuild/netbsd-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz#2d9eb4692add2681ff05a14ce99de54fbed7079c" + integrity sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg== + +"@esbuild/openbsd-arm64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz#89c3b998c6de739db38ab7fb71a8a76b3fa84a45" + integrity sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ== + +"@esbuild/openbsd-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz#2f01615cf472b0e48c077045cfd96b5c149365cc" + integrity sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ== + +"@esbuild/openharmony-arm64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz#a201f720cd2c3ebf9a6033fcc3feb069a54b509a" + integrity sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg== + +"@esbuild/sunos-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz#07046c977985a3334667f19e6ab3a01a80862afb" + integrity sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w== + +"@esbuild/win32-arm64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz#4a5470caf0d16127c05d4833d4934213c69392d1" + integrity sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ== + +"@esbuild/win32-ia32@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz#3de3e8470b7b328d99dbc3e9ec1eace207e5bbc4" + integrity sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg== + +"@esbuild/win32-x64@0.25.8": + version "0.25.8" + resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz#610d7ea539d2fcdbe39237b5cc175eb2c4451f9c" + integrity sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw== + "@eslint-community/eslint-utils@^4.2.0": version "4.7.0" resolved "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz" @@ -314,7 +434,7 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^9.30.1", "@eslint/js@9.32.0": +"@eslint/js@9.32.0", "@eslint/js@^9.30.1": version "9.32.0" resolved "https://registry.npmmirror.com/@eslint/js/-/js-9.32.0.tgz" integrity sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg== @@ -480,11 +600,106 @@ resolved "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz" integrity sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA== +"@rollup/rollup-android-arm-eabi@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.1.tgz#c659481d5b15054d4636b3dd0c2f50ab3083d839" + integrity sha512-oENme6QxtLCqjChRUUo3S6X8hjCXnWmJWnedD7VbGML5GUtaOtAyx+fEEXnBXVf0CBZApMQU0Idwi0FmyxzQhw== + +"@rollup/rollup-android-arm64@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.1.tgz#7e05c3c0bf6a79ee6b40ab5e778679742f06815d" + integrity sha512-OikvNT3qYTl9+4qQ9Bpn6+XHM+ogtFadRLuT2EXiFQMiNkXFLQfNVppi5o28wvYdHL2s3fM0D/MZJ8UkNFZWsw== + "@rollup/rollup-darwin-arm64@4.46.1": version "4.46.1" resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.1.tgz" integrity sha512-EFYNNGij2WllnzljQDQnlFTXzSJw87cpAs4TVBAWLdkvic5Uh5tISrIL6NRcxoh/b2EFBG/TK8hgRrGx94zD4A== +"@rollup/rollup-darwin-x64@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.1.tgz#a4df7fa06ac318b66a6aa66d6f1e0a58fef58cd3" + integrity sha512-ZaNH06O1KeTug9WI2+GRBE5Ujt9kZw4a1+OIwnBHal92I8PxSsl5KpsrPvthRynkhMck4XPdvY0z26Cym/b7oA== + +"@rollup/rollup-freebsd-arm64@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.1.tgz#6634478a78a0c17dcf55adb621fa66faa58a017b" + integrity sha512-n4SLVebZP8uUlJ2r04+g2U/xFeiQlw09Me5UFqny8HGbARl503LNH5CqFTb5U5jNxTouhRjai6qPT0CR5c/Iig== + +"@rollup/rollup-freebsd-x64@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.1.tgz#db42c46c0263b2562e2ba5c2e00e318646f2b24c" + integrity sha512-8vu9c02F16heTqpvo3yeiu7Vi1REDEC/yES/dIfq3tSXe6mLndiwvYr3AAvd1tMNUqE9yeGYa5w7PRbI5QUV+w== + +"@rollup/rollup-linux-arm-gnueabihf@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.1.tgz#88ca443ad42c70555978b000c6d1dd925fb3203b" + integrity sha512-K4ncpWl7sQuyp6rWiGUvb6Q18ba8mzM0rjWJ5JgYKlIXAau1db7hZnR0ldJvqKWWJDxqzSLwGUhA4jp+KqgDtQ== + +"@rollup/rollup-linux-arm-musleabihf@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.1.tgz#36106fe103d32c2a97583ebadcfb28dc63988bda" + integrity sha512-YykPnXsjUjmXE6j6k2QBBGAn1YsJUix7pYaPLK3RVE0bQL2jfdbfykPxfF8AgBlqtYbfEnYHmLXNa6QETjdOjQ== + +"@rollup/rollup-linux-arm64-gnu@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.1.tgz#00c28bc9210dcfbb5e7fa8e52fd827fb570afe26" + integrity sha512-kKvqBGbZ8i9pCGW3a1FH3HNIVg49dXXTsChGFsHGXQaVJPLA4f/O+XmTxfklhccxdF5FefUn2hvkoGJH0ScWOA== + +"@rollup/rollup-linux-arm64-musl@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.1.tgz#45a13486b5523235eb87b349e7ca5a0bb85a5b0e" + integrity sha512-zzX5nTw1N1plmqC9RGC9vZHFuiM7ZP7oSWQGqpbmfjK7p947D518cVK1/MQudsBdcD84t6k70WNczJOct6+hdg== + +"@rollup/rollup-linux-loongarch64-gnu@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.1.tgz#b8edd99f072cd652acbbddc1c539b1ac4254381d" + integrity sha512-O8CwgSBo6ewPpktFfSDgB6SJN9XDcPSvuwxfejiddbIC/hn9Tg6Ai0f0eYDf3XvB/+PIWzOQL+7+TZoB8p9Yuw== + +"@rollup/rollup-linux-ppc64-gnu@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.1.tgz#0ec72a4f8b7a86b13c0f6b7666ed1d3b6e8e67cc" + integrity sha512-JnCfFVEKeq6G3h3z8e60kAp8Rd7QVnWCtPm7cxx+5OtP80g/3nmPtfdCXbVl063e3KsRnGSKDHUQMydmzc/wBA== + +"@rollup/rollup-linux-riscv64-gnu@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.1.tgz#99f06928528fb58addd12e50827e1a0269c1cca8" + integrity sha512-dVxuDqS237eQXkbYzQQfdf/njgeNw6LZuVyEdUaWwRpKHhsLI+y4H/NJV8xJGU19vnOJCVwaBFgr936FHOnJsQ== + +"@rollup/rollup-linux-riscv64-musl@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.1.tgz#3c14aba63b4170fe3d9d0b6ad98361366170590e" + integrity sha512-CvvgNl2hrZrTR9jXK1ye0Go0HQRT6ohQdDfWR47/KFKiLd5oN5T14jRdUVGF4tnsN8y9oSfMOqH6RuHh+ck8+w== + +"@rollup/rollup-linux-s390x-gnu@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.1.tgz#34c647a823dcdca0f749a2bdcbde4fb131f37a4c" + integrity sha512-x7ANt2VOg2565oGHJ6rIuuAon+A8sfe1IeUx25IKqi49OjSr/K3awoNqr9gCwGEJo9OuXlOn+H2p1VJKx1psxA== + +"@rollup/rollup-linux-x64-gnu@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.1.tgz#3991010418c005e8791c415e7c2072b247157710" + integrity sha512-9OADZYryz/7E8/qt0vnaHQgmia2Y0wrjSSn1V/uL+zw/i7NUhxbX4cHXdEQ7dnJgzYDS81d8+tf6nbIdRFZQoQ== + +"@rollup/rollup-linux-x64-musl@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.1.tgz#f3943e5f284f40ffbcf4a14da9ee2e43d303b462" + integrity sha512-NuvSCbXEKY+NGWHyivzbjSVJi68Xfq1VnIvGmsuXs6TCtveeoDRKutI5vf2ntmNnVq64Q4zInet0UDQ+yMB6tA== + +"@rollup/rollup-win32-arm64-msvc@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.1.tgz#45b5a1d3f0af63f85044913c371d7b0519c913ad" + integrity sha512-mWz+6FSRb82xuUMMV1X3NGiaPFqbLN9aIueHleTZCc46cJvwTlvIh7reQLk4p97dv0nddyewBhwzryBHH7wtPw== + +"@rollup/rollup-win32-ia32-msvc@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.1.tgz#900ef7211d2929e9809f3a044c4e2fd3aa685a0c" + integrity sha512-7Thzy9TMXDw9AU4f4vsLNBxh7/VOKuXi73VH3d/kHGr0tZ3x/ewgL9uC7ojUKmH1/zvmZe2tLapYcZllk3SO8Q== + +"@rollup/rollup-win32-x64-msvc@4.46.1": + version "4.46.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.1.tgz#932d8696dfef673bee1a1e291a5531d25a6903be" + integrity sha512-7GVB4luhFmGUNXXJhH2jJwZCFB3pIOixv2E3s17GQHBFUOQaISlt7aGcQgqvCaDSxTZJUzlK/QJ1FN8S94MrzQ== + "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz" @@ -532,7 +747,7 @@ dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@1.0.8": +"@types/estree@*", "@types/estree@1.0.8", "@types/estree@^1.0.0", "@types/estree@^1.0.6": version "1.0.8" resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== @@ -605,12 +820,7 @@ resolved "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz" integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== -"@types/unist@^2": - version "2.0.11" - resolved "https://registry.npmmirror.com/@types/unist/-/unist-2.0.11.tgz" - integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== - -"@types/unist@^2.0.0": +"@types/unist@^2", "@types/unist@^2.0.0": version "2.0.11" resolved "https://registry.npmmirror.com/@types/unist/-/unist-2.0.11.tgz" integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== @@ -922,7 +1132,7 @@ cheerio@1.0.0: undici "^6.19.5" whatwg-mimetype "^4.0.0" -classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1, classnames@2.x: +classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1: version "2.5.1" resolved "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== @@ -951,16 +1161,16 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - commander@7: version "7.2.0" resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + compute-scroll-into-view@^3.0.2: version "3.1.1" resolved "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz" @@ -1035,7 +1245,7 @@ csstype@^3.0.2, csstype@^3.1.3: resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -d3-array@^3.2.0, "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3: +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: version "3.2.4" resolved "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -1151,7 +1361,7 @@ d3-hierarchy@3: dependencies: d3-color "1 - 3" -d3-path@^3.1.0, "d3-path@1 - 3", d3-path@3: +"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: version "3.1.0" resolved "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz" integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== @@ -1985,7 +2195,7 @@ htmlparser2@^9.1.0: domutils "^3.1.0" entities "^4.5.0" -iconv-lite@^0.6.3, iconv-lite@0.6, iconv-lite@0.6.3: +iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -2259,7 +2469,7 @@ markmap-lib@^0.18.12: prismjs "^1.29.0" yaml "^2.5.1" -markmap-view@^0.18.12, markmap-view@0.18.12: +markmap-view@0.18.12, markmap-view@^0.18.12: version "0.18.12" resolved "https://registry.npmmirror.com/markmap-view/-/markmap-view-0.18.12.tgz" integrity sha512-D8bzT1YwIC/8rkbwm6WzigVUrpOAGv7ioEGTi1Lj+Oo8gO5sAm6hhli27jvTgUcZ9TwBeIWZ+dSUP+AupYUGlQ== @@ -3414,10 +3624,10 @@ rehype-parse@^9.0.0: hast-util-from-html "^2.0.0" unified "^11.0.0" -rehype-prism-plus@~2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/rehype-prism-plus/-/rehype-prism-plus-2.0.1.tgz" - integrity sha512-Wglct0OW12tksTUseAPyWPo3srjBOY7xKlql/DPKi7HbsdZTyaLCAoO58QBKSczFQxElTsQlOY3JDOFzB/K++Q== +rehype-prism-plus@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/rehype-prism-plus/-/rehype-prism-plus-2.0.0.tgz" + integrity sha512-FeM/9V2N7EvDZVdR2dqhAzlw5YI49m9Tgn7ZrYJeYHIahM6gcXpH0K1y2gNnKanZCydOMluJvX2cB9z3lhY8XQ== dependencies: hast-util-to-string "^3.0.0" parse-numeric-range "^1.3.0" @@ -3426,10 +3636,10 @@ rehype-prism-plus@~2.0.0: unist-util-filter "^5.0.0" unist-util-visit "^5.0.0" -rehype-prism-plus@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/rehype-prism-plus/-/rehype-prism-plus-2.0.0.tgz" - integrity sha512-FeM/9V2N7EvDZVdR2dqhAzlw5YI49m9Tgn7ZrYJeYHIahM6gcXpH0K1y2gNnKanZCydOMluJvX2cB9z3lhY8XQ== +rehype-prism-plus@~2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/rehype-prism-plus/-/rehype-prism-plus-2.0.1.tgz" + integrity sha512-Wglct0OW12tksTUseAPyWPo3srjBOY7xKlql/DPKi7HbsdZTyaLCAoO58QBKSczFQxElTsQlOY3JDOFzB/K++Q== dependencies: hast-util-to-string "^3.0.0" parse-numeric-range "^1.3.0"