@huyooo/file-explorer-frontend-react 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/index.css +1740 -0
  2. package/dist/index.css.map +1 -0
  3. package/dist/index.d.ts +562 -0
  4. package/dist/index.js +3453 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/style.css +3 -0
  7. package/package.json +58 -0
  8. package/src/components/Breadcrumb.css +61 -0
  9. package/src/components/Breadcrumb.tsx +38 -0
  10. package/src/components/CompressDialog.css +264 -0
  11. package/src/components/CompressDialog.tsx +222 -0
  12. package/src/components/ContextMenu.css +155 -0
  13. package/src/components/ContextMenu.tsx +375 -0
  14. package/src/components/FileGrid.css +267 -0
  15. package/src/components/FileGrid.tsx +277 -0
  16. package/src/components/FileIcon.css +41 -0
  17. package/src/components/FileIcon.tsx +86 -0
  18. package/src/components/FileInfoDialog.css +252 -0
  19. package/src/components/FileInfoDialog.tsx +202 -0
  20. package/src/components/FileList.css +226 -0
  21. package/src/components/FileList.tsx +228 -0
  22. package/src/components/FileListView.css +36 -0
  23. package/src/components/FileListView.tsx +355 -0
  24. package/src/components/FileSidebar.css +94 -0
  25. package/src/components/FileSidebar.tsx +66 -0
  26. package/src/components/ProgressDialog.css +211 -0
  27. package/src/components/ProgressDialog.tsx +183 -0
  28. package/src/components/SortIndicator.css +7 -0
  29. package/src/components/SortIndicator.tsx +19 -0
  30. package/src/components/StatusBar.css +20 -0
  31. package/src/components/StatusBar.tsx +21 -0
  32. package/src/components/Toolbar.css +150 -0
  33. package/src/components/Toolbar.tsx +127 -0
  34. package/src/components/Window.css +246 -0
  35. package/src/components/Window.tsx +335 -0
  36. package/src/hooks/useApplicationIcon.ts +80 -0
  37. package/src/hooks/useDragAndDrop.ts +104 -0
  38. package/src/hooks/useMediaPlayer.ts +164 -0
  39. package/src/hooks/useSelection.ts +112 -0
  40. package/src/hooks/useWindowDrag.ts +60 -0
  41. package/src/hooks/useWindowResize.ts +126 -0
  42. package/src/index.css +3 -0
  43. package/src/index.ts +34 -0
  44. package/src/types/index.ts +274 -0
  45. package/src/utils/fileTypeIcon.ts +309 -0
  46. package/src/utils/folderTypeIcon.ts +132 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/FileIcon.css","../src/components/FileGrid.css","../src/components/SortIndicator.css","../src/components/FileList.css","../src/components/FileListView.css","../src/components/FileSidebar.css","../src/components/Breadcrumb.css","../src/components/Toolbar.css","../src/components/StatusBar.css","../src/components/ContextMenu.css","../src/components/Window.css","../src/components/CompressDialog.css","../src/components/ProgressDialog.css","../src/components/FileInfoDialog.css"],"sourcesContent":[".file-icon--folder {\n color: rgb(96, 165, 250);\n fill: rgb(96, 165, 250);\n}\n\n.file-icon--image {\n color: rgb(168, 85, 247);\n}\n\n.file-icon--text {\n color: rgb(107, 114, 128);\n}\n\n.file-icon--code {\n color: rgb(34, 197, 94);\n}\n\n.file-icon--music {\n color: rgb(248, 113, 113);\n}\n\n.file-icon--video {\n color: rgb(37, 99, 235);\n}\n\n.file-icon--pdf {\n color: rgb(220, 38, 38);\n}\n\n.file-icon--application {\n color: rgb(139, 92, 246);\n}\n\n.file-icon--archive {\n color: rgb(234, 179, 8);\n}\n\n.file-icon--default {\n color: rgb(156, 163, 175);\n}\n\n","/**\n * FileGrid - 网格视图样式\n * 参考 macOS Finder 和 Windows Explorer 的设计\n */\n\n.file-grid {\n display: grid;\n /* macOS Finder 默认约 90-100px */\n grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\n gap: 6px;\n padding: 12px;\n align-content: start;\n grid-auto-rows: min-content;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* 网格项 - 更紧凑的布局 */\n.file-grid-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 4px;\n border-radius: 6px;\n cursor: pointer;\n border: 1px solid transparent;\n transition: background-color 120ms ease, border-color 120ms ease;\n position: relative;\n overflow: hidden;\n min-width: 0;\n width: 100%;\n}\n\n/* 拖拽时的鼠标样式 */\n.file-grid-item[draggable=\"true\"] {\n cursor: grab;\n}\n\n.file-grid-item:active {\n cursor: grabbing;\n}\n\n/* 悬停效果 - 类似 macOS */\n.file-grid-item--normal:hover {\n background: rgba(0, 0, 0, 0.04);\n}\n\n/* 选中状态 - macOS 风格的蓝色高亮 */\n.file-grid-item--selected {\n background: rgba(0, 122, 255, 0.12);\n border-color: rgba(0, 122, 255, 0.2);\n}\n\n.file-grid-item--selected:hover {\n background: rgba(0, 122, 255, 0.16);\n}\n\n/* 拖拽悬停 */\n.file-grid-item--drag-over {\n background: rgba(0, 122, 255, 0.2);\n border-color: rgba(0, 122, 255, 0.4);\n}\n\n/* 图标/缩略图容器 - 统一尺寸 */\n.file-grid-item-icon {\n position: relative;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n /* 统一 48x48 尺寸,更紧凑 */\n width: 48px;\n height: 48px;\n flex-shrink: 0;\n}\n\n/* 缩略图样式 - 统一尺寸和圆角 */\n/* 缩略图保持原图比例,使用 object-fit: cover 填充固定尺寸容器 */\n.file-grid-item-thumbnail {\n width: 48px;\n height: 48px;\n object-fit: cover;\n object-position: center;\n border-radius: 4px;\n /* 轻微阴影增加层次感 */\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);\n background: #f5f5f5;\n /* 确保图片能作为加载占位符,平滑过渡到原图 */\n display: block;\n}\n\n/* 应用程序图标 - 无背景 */\n.file-grid-item-thumbnail--application {\n object-fit: contain;\n background: transparent;\n box-shadow: none;\n border-radius: 10px;\n}\n\n.file-grid-item-thumbnail--selected {\n box-shadow: 0 2px 6px rgba(0, 122, 255, 0.2), 0 0 0 2px rgba(0, 122, 255, 0.3);\n}\n\n/* 视频缩略图容器 */\n.file-grid-item-thumbnail--video {\n position: relative;\n border-radius: 4px;\n overflow: hidden;\n background: #000;\n width: 48px;\n height: 48px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* 视频缩略图内的图片 - 保持比例,填充容器 */\n.file-grid-item-thumbnail--video > img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n}\n\n/* 视频播放图标 */\n.file-grid-item-video-play {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n opacity: 0.9;\n transition: opacity 150ms;\n}\n\n.file-grid-item-thumbnail--video:hover .file-grid-item-video-play {\n opacity: 0;\n}\n\n.file-grid-item-video-play-icon {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.file-grid-item-video-play-icon::before {\n content: \"\";\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-left: 7px solid white;\n border-bottom: 4px solid transparent;\n margin-left: 2px;\n}\n\n/* 文件名容器 */\n.file-grid-item-name-wrapper {\n display: flex;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n min-height: 0;\n}\n\n/* 文件名 - macOS 风格,最多2行,保留扩展名 */\n.file-grid-item-name {\n font-size: 12px;\n line-height: 1.3;\n text-align: center;\n padding: 2px;\n border-radius: 3px;\n user-select: none;\n cursor: default;\n transition: color 100ms;\n color: #1d1d1f;\n width: 100%;\n /* 使用 flexbox 布局,让扩展名始终显示 */\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n min-height: 0;\n}\n\n/* 文件名主体部分 - 可换行,最多1行 */\n.file-grid-item-name-base {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n/* 扩展名部分 - 始终显示,不换行 */\n.file-grid-item-name-ext {\n display: block;\n white-space: nowrap;\n flex-shrink: 0;\n text-align: center;\n}\n\n/* 选中后点击文件名可编辑 */\n.file-grid-item-name--selected {\n cursor: text;\n}\n\n/* 重命名输入框 */\n.file-grid-item-rename-input {\n width: 100%;\n font-size: 11px;\n line-height: 1.3;\n text-align: center;\n padding: 2px 4px;\n border: 1px solid #007aff;\n border-radius: 3px;\n outline: none;\n box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.2);\n background: white;\n cursor: text;\n}\n\n/* 深色模式支持 */\n@media (prefers-color-scheme: dark) {\n .file-grid-item--normal:hover {\n background: rgba(255, 255, 255, 0.06);\n }\n\n .file-grid-item--selected {\n background: rgba(10, 132, 255, 0.25);\n border-color: rgba(10, 132, 255, 0.3);\n }\n\n .file-grid-item--selected:hover {\n background: rgba(10, 132, 255, 0.3);\n }\n\n .file-grid-item--drag-over {\n background: rgba(10, 132, 255, 0.35);\n border-color: rgba(10, 132, 255, 0.5);\n }\n\n .file-grid-item-thumbnail {\n background: #2c2c2e;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05);\n }\n\n .file-grid-item-name {\n color: #f5f5f7;\n }\n\n .file-grid-item-rename-input {\n background: #1c1c1e;\n border-color: #0a84ff;\n color: #f5f5f7;\n }\n}\n",".sort-indicator {\n margin-left: 4px;\n display: inline-flex;\n align-items: center;\n color: rgb(59, 130, 246);\n}\n\n","/**\n * FileList - 列表视图样式\n * 参考 macOS Finder 和 Windows Explorer 的设计\n */\n\n.file-list {\n width: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.file-list-table {\n width: 100%;\n font-size: 13px;\n text-align: left;\n border-collapse: collapse;\n}\n\n/* 表头 - 更紧凑 */\n.file-list-header {\n font-size: 11px;\n color: #86868b;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n position: sticky;\n top: 0;\n background: rgba(255, 255, 255, 0.92);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n z-index: 10;\n user-select: none;\n}\n\n.file-list-header-cell {\n padding: 6px 12px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n cursor: pointer;\n text-align: left;\n font-weight: 500;\n transition: background-color 100ms;\n}\n\n.file-list-header-cell:hover {\n background: rgba(0, 0, 0, 0.04);\n}\n\n.file-list-header-cell--name {\n padding-left: 12px;\n padding-right: 12px;\n width: 45%;\n}\n\n.file-list-body {\n /* 无需额外边框 */\n}\n\n/* 行样式 - 更紧凑 */\n.file-list-row {\n cursor: pointer;\n user-select: none;\n transition: background-color 80ms ease;\n border-bottom: 1px solid transparent;\n}\n\n/* 可拖拽时的鼠标样式 */\n.file-list-row[draggable=\"true\"] {\n cursor: grab;\n}\n\n.file-list-row:active {\n cursor: grabbing;\n}\n\n/* 偶数行 */\n.file-list-row--even {\n background: transparent;\n}\n\n/* 奇数行 - 轻微斑马纹 */\n.file-list-row--odd {\n background: rgba(0, 0, 0, 0.015);\n}\n\n/* 悬停效果 */\n.file-list-row--even:hover,\n.file-list-row--odd:hover {\n background: rgba(0, 0, 0, 0.04);\n}\n\n/* 选中状态 - macOS 风格整行高亮 */\n.file-list-row--selected {\n background: #007aff;\n color: white;\n}\n\n.file-list-row--selected:hover {\n background: #0066d6;\n}\n\n/* 拖拽悬停 */\n.file-list-row--drag-over {\n background: rgba(0, 122, 255, 0.15);\n border-bottom-color: rgba(0, 122, 255, 0.3);\n}\n\n/* 单元格 - 更紧凑的行高 */\n.file-list-cell {\n padding: 4px 12px;\n white-space: nowrap;\n color: #6e6e73;\n vertical-align: middle;\n height: 28px;\n}\n\n/* 名称列 - 图标和文字对齐 */\n.file-list-cell--name {\n padding-left: 12px;\n padding-right: 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n/* 选中时单元格颜色 */\n.file-list-cell--selected {\n color: rgba(255, 255, 255, 0.75);\n}\n\n/* 大小列 - 等宽字体 */\n.file-list-cell--size {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 11px;\n color: #8e8e93;\n font-variant-numeric: tabular-nums;\n}\n\n/* 文件名 */\n.file-list-name {\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n color: #1d1d1f;\n cursor: default;\n font-weight: 400;\n}\n\n/* 选中后点击文件名可编辑 */\n.file-list-name--selected {\n color: white;\n font-weight: 500;\n cursor: text;\n}\n\n/* 重命名输入框 */\n.file-list-rename-input {\n flex: 1;\n font-size: 13px;\n padding: 2px 6px;\n border: 1px solid #007aff;\n border-radius: 4px;\n outline: none;\n box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.2);\n background: white;\n cursor: text;\n}\n\n/* 深色模式支持 */\n@media (prefers-color-scheme: dark) {\n .file-list-header {\n background: rgba(28, 28, 30, 0.92);\n color: #98989d;\n }\n\n .file-list-header-cell {\n border-bottom-color: rgba(255, 255, 255, 0.08);\n }\n\n .file-list-header-cell:hover {\n background: rgba(255, 255, 255, 0.04);\n }\n\n .file-list-row--odd {\n background: rgba(255, 255, 255, 0.02);\n }\n\n .file-list-row--even:hover,\n .file-list-row--odd:hover {\n background: rgba(255, 255, 255, 0.06);\n }\n\n .file-list-row--selected {\n background: #0a84ff;\n }\n\n .file-list-row--selected:hover {\n background: #0077ed;\n }\n\n .file-list-row--drag-over {\n background: rgba(10, 132, 255, 0.2);\n border-bottom-color: rgba(10, 132, 255, 0.4);\n }\n\n .file-list-cell {\n color: #98989d;\n }\n\n .file-list-cell--size {\n color: #6e6e73;\n }\n\n .file-list-name {\n color: #f5f5f7;\n }\n\n .file-list-name--selected {\n color: white;\n }\n\n .file-list-rename-input {\n background: #1c1c1e;\n border-color: #0a84ff;\n color: #f5f5f7;\n }\n}\n",".file-list-view {\n flex: 1;\n overflow: auto;\n padding: 12px;\n user-select: none;\n min-height: 0;\n}\n\n.file-list-view-loading,\n.file-list-view-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: rgb(156, 163, 175);\n gap: 16px;\n}\n\n.file-list-view-spinner {\n width: 32px;\n height: 32px;\n border: 3px solid rgba(156, 163, 175, 0.2);\n border-top-color: rgb(59, 130, 246);\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n}\n\n@keyframes spin {\n to { transform: rotate(360deg); }\n}\n\n.file-list-view-empty-icon {\n opacity: 0.3;\n}\n\n",".file-sidebar {\n width: 12rem;\n background: rgba(243, 244, 246, 0.5);\n backdrop-filter: blur(24px);\n border-right: 1px solid rgba(229, 231, 233, 0.5);\n display: flex;\n flex-direction: column;\n padding-top: 2rem;\n padding-bottom: 1rem;\n height: 100%;\n box-sizing: border-box;\n overflow-y: auto;\n overflow-x: hidden;\n user-select: none;\n -webkit-app-region: drag; /* 整个侧边栏可拖拽 */\n}\n\n/* 自定义滚动条样式 */\n.file-sidebar::-webkit-scrollbar {\n width: 6px;\n}\n\n.file-sidebar::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.file-sidebar::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 3px;\n}\n\n.file-sidebar::-webkit-scrollbar-thumb:hover {\n background: rgba(0, 0, 0, 0.3);\n}\n\n.file-sidebar-section {\n margin-bottom: 0;\n -webkit-app-region: no-drag; /* section 内容区域不可拖拽 */\n}\n\n.file-sidebar-section-title {\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n font-size: 0.75rem;\n font-weight: 600;\n color: rgb(107, 114, 128);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n}\n\n.file-sidebar-section + .file-sidebar-section .file-sidebar-section-title {\n margin-top: 1.5rem;\n}\n\n.file-sidebar-list {\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n padding: 0 0.5rem;\n margin: 0;\n}\n\n.file-sidebar-item {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.375rem 0.75rem;\n border-radius: 0.375rem;\n cursor: pointer;\n font-size: 0.875rem;\n font-weight: 500;\n color: rgb(75, 85, 99);\n transition: all 200ms;\n /* no-drag 已由 section 继承 */\n}\n\n.file-sidebar-item:hover {\n background: rgba(229, 231, 233, 0.5);\n color: black;\n}\n\n.file-sidebar-item--active {\n background: rgba(209, 213, 219, 0.6);\n color: black;\n}\n\n.file-sidebar-item-icon {\n color: rgb(107, 114, 128);\n}\n\n.file-sidebar-item-icon--active {\n color: rgb(37, 99, 235);\n}\n",".file-breadcrumb {\n display: inline-flex;\n align-items: center;\n gap: 0.125rem;\n overflow-x: auto;\n padding: 0 0.25rem;\n max-width: 100%;\n scrollbar-width: none;\n -ms-overflow-style: none;\n -webkit-app-region: no-drag; /* 面包屑内容不可拖拽,但空白区域可拖拽 */\n}\n\n.file-breadcrumb::-webkit-scrollbar {\n display: none;\n}\n\n.file-breadcrumb-item {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.file-breadcrumb-link {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n border-radius: 0.375rem;\n font-size: 0.875rem;\n transition: all 200ms;\n border: none;\n background: transparent;\n cursor: pointer;\n color: rgb(75, 85, 99);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.file-breadcrumb-link:hover {\n background: rgba(229, 231, 233, 0.6);\n color: rgb(17, 24, 39);\n}\n\n.file-breadcrumb-link--current {\n font-weight: 600;\n color: rgb(17, 24, 39);\n background: rgba(229, 231, 233, 0.5);\n cursor: default;\n}\n\n.file-breadcrumb-link--current:hover {\n background: rgba(229, 231, 233, 0.5);\n}\n\n.file-breadcrumb-separator {\n color: rgb(156, 163, 175);\n margin: 0 0.25rem;\n flex-shrink: 0;\n}\n\n",".file-toolbar {\n height: 3rem;\n background: rgba(249, 250, 251, 0.9);\n backdrop-filter: blur(12px);\n border-bottom: 1px solid rgb(229, 231, 233);\n display: flex;\n align-items: center;\n padding: 0 1rem;\n user-select: none;\n flex-shrink: 0;\n z-index: 30;\n position: relative;\n}\n\n.file-toolbar--draggable {\n -webkit-app-region: drag;\n}\n\n.file-toolbar-nav {\n display: flex;\n align-items: center;\n color: rgb(75, 85, 99);\n background: rgba(229, 231, 233, 0.5);\n border-radius: 0.5rem;\n padding: 0.125rem;\n flex-shrink: 0;\n -webkit-app-region: no-drag;\n}\n\n.file-toolbar-button {\n padding: 0.25rem;\n border-radius: 0.375rem;\n transition: all 200ms;\n border: none;\n background: transparent;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: rgb(31, 41, 55);\n}\n\n.file-toolbar-button:hover:not(:disabled) {\n background: rgb(209, 213, 219);\n}\n\n.file-toolbar-button:disabled {\n color: rgb(156, 163, 175);\n cursor: default;\n}\n\n.file-toolbar-button--active {\n background: white;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n color: rgb(31, 41, 55);\n}\n\n.file-toolbar-breadcrumb {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n margin-left: 1rem;\n /* 不设置 no-drag,让空白区域可拖拽 */\n}\n\n.file-toolbar-custom {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n -webkit-app-region: no-drag;\n}\n\n.file-toolbar-actions {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-shrink: 0;\n margin-left: auto;\n -webkit-app-region: no-drag;\n}\n\n.file-toolbar-search {\n position: relative;\n display: none;\n}\n\n@media (min-width: 768px) {\n .file-toolbar-search {\n display: block;\n }\n}\n\n.file-toolbar-search-icon {\n position: absolute;\n left: 0.625rem;\n top: 50%;\n transform: translateY(-50%);\n color: rgb(156, 163, 175);\n transition: color 200ms;\n}\n\n.file-toolbar-search:focus-within .file-toolbar-search-icon {\n color: rgb(59, 130, 246);\n}\n\n.file-toolbar-search-input {\n background: rgb(243, 244, 246);\n border: 1px solid transparent;\n border-radius: 0.375rem;\n padding-left: 2rem;\n padding-right: 0.75rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n outline: none;\n transition: all 200ms;\n width: 8rem;\n color: rgb(55, 65, 81);\n}\n\n.file-toolbar-search-input::placeholder {\n color: rgb(156, 163, 175);\n}\n\n.file-toolbar-search-input:focus {\n background: white;\n border-color: rgb(96, 165, 250);\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n width: 12rem;\n}\n\n.file-toolbar-view-toggle {\n display: flex;\n align-items: center;\n background: rgba(229, 231, 233, 0.5);\n border-radius: 0.5rem;\n padding: 0.125rem;\n color: rgb(75, 85, 99);\n}\n\n.file-toolbar-view-toggle .file-toolbar-button--active {\n background: white;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n color: rgb(31, 41, 55);\n}\n\n.file-toolbar-view-toggle .file-toolbar-button:not(.file-toolbar-button--active):hover {\n background: rgba(209, 213, 219, 0.5);\n}\n\n",".file-status-bar {\n height: 1.5rem;\n background-color: rgb(249, 250, 251);\n border-top: 1px solid rgb(229, 231, 233);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 8px;\n font-size: 10px;\n color: rgb(107, 114, 128);\n user-select: none;\n flex-shrink: 0;\n z-index: 20;\n gap: 4px;\n}\n\n.file-status-bar > * {\n flex-shrink: 0;\n}\n\n","/* container 不拦截事件,让右键事件可以穿透到下层文件列表 */\n.context-menu-container {\n position: fixed;\n inset: 0;\n z-index: 9999;\n pointer-events: none;\n}\n\n.context-menu {\n position: fixed;\n z-index: 10000;\n width: 220px; /* 固定宽度,与 calculateMenuPosition 中的 MENU_WIDTH 一致 */\n background: rgba(255, 255, 255, 0.95);\n backdrop-filter: blur(24px);\n border: 1px solid rgba(229, 231, 233, 0.5);\n border-radius: 0.5rem;\n box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);\n padding: 0.25rem 0;\n font-size: 0.875rem;\n user-select: none;\n animation: fade-in 100ms ease-out, zoom-in 100ms ease-out;\n pointer-events: auto;\n}\n\n@keyframes fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes zoom-in {\n from { transform: scale(0.95); }\n to { transform: scale(1); }\n}\n\n.context-menu-item {\n width: 100%;\n text-align: left;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.375rem 1rem;\n color: rgb(55, 65, 81);\n transition: all 200ms;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n.context-menu-item:hover {\n background: rgb(59, 130, 246);\n color: white;\n}\n\n.context-menu-item:hover .context-menu-item-icon {\n color: white;\n}\n\n.context-menu-item:hover .context-menu-item-shortcut {\n color: rgba(255, 255, 255, 0.7);\n}\n\n.context-menu-item--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.context-menu-item--disabled:hover {\n background: transparent;\n color: rgb(55, 65, 81);\n}\n\n.context-menu-item--disabled:hover .context-menu-item-icon {\n color: rgb(107, 114, 128);\n}\n\n.context-menu-item--danger {\n color: rgb(220, 38, 38);\n}\n\n.context-menu-item--danger:hover {\n background: rgb(220, 38, 38);\n color: white;\n}\n\n.context-menu-item--danger .context-menu-item-icon {\n color: rgb(220, 38, 38);\n}\n\n.context-menu-item--danger:hover .context-menu-item-icon {\n color: white;\n}\n\n.context-menu-item-icon {\n color: rgb(107, 114, 128);\n flex-shrink: 0;\n}\n\n.context-menu-item-label {\n flex: 1;\n}\n\n.context-menu-item-shortcut {\n color: rgb(156, 163, 175);\n font-size: 0.6875rem;\n}\n\n.context-menu-separator {\n height: 1px;\n background: rgb(229, 231, 233);\n margin: 0.25rem 0.5rem;\n}\n\n.context-menu-item--has-children {\n position: relative;\n}\n\n.context-menu-item--active {\n background: rgb(59, 130, 246);\n color: white;\n}\n\n.context-menu-item--active .context-menu-item-icon {\n color: white;\n}\n\n.context-menu-item--active .context-menu-item-shortcut {\n color: rgba(255, 255, 255, 0.7);\n}\n\n.context-menu-item-check {\n color: rgb(107, 114, 128);\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.context-menu-item:hover .context-menu-item-check,\n.context-menu-item--active .context-menu-item-check {\n color: white;\n}\n\n.context-menu-item-arrow {\n color: rgb(156, 163, 175);\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.context-menu-item:hover .context-menu-item-arrow,\n.context-menu-item--active .context-menu-item-arrow {\n color: white;\n}\n\n.context-menu-submenu {\n z-index: 10001;\n}\n\n",".window-overlay {\n position: fixed;\n inset: 0;\n z-index: 100;\n background: rgba(0, 0, 0, 0.3);\n animation: fade-in 200ms ease-out;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.window-container {\n position: absolute;\n display: flex;\n flex-direction: column;\n background: rgba(255, 255, 255, 0.95);\n backdrop-filter: blur(24px);\n border: 1px solid rgb(229, 231, 233);\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n border-radius: 0.5rem;\n overflow: hidden;\n animation: window-fade-in 200ms ease-out;\n}\n\n.window-title-bar {\n height: 2.5rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 0.75rem;\n border-bottom: 1px solid rgb(229, 231, 233);\n flex-shrink: 0;\n user-select: none;\n background: rgba(249, 250, 251, 0.8);\n z-index: 20;\n cursor: grab;\n}\n\n.window-title-bar:active {\n cursor: grabbing;\n}\n\n.window-controls {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.window-control-button {\n width: 0.75rem;\n height: 0.75rem;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 1px solid;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n outline: none;\n cursor: pointer;\n padding: 0;\n background: transparent;\n flex-shrink: 0;\n position: relative;\n}\n\n.window-control-button svg {\n width: 7px !important;\n height: 7px !important;\n display: block;\n flex-shrink: 0;\n}\n\n.window-control-button .window-control-icon {\n width: 7px !important;\n height: 7px !important;\n min-width: 7px;\n min-height: 7px;\n}\n\n.window-control-button--close {\n background-color: rgb(255, 95, 87);\n border-color: rgb(224, 68, 62);\n}\n\n.window-control-button--minimize {\n background-color: rgb(254, 188, 46);\n border-color: rgb(216, 158, 36);\n}\n\n.window-control-button--maximize {\n background-color: rgb(40, 200, 64);\n border-color: rgb(26, 171, 41);\n}\n\n.window-control-icon {\n color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 200ms;\n width: 7px;\n height: 7px;\n flex-shrink: 0;\n}\n\n.window-controls:hover .window-control-icon {\n opacity: 1;\n}\n\n.window-control-button--close:hover {\n background-color: rgba(255, 95, 87, 0.8);\n}\n\n.window-control-button--minimize:hover {\n background-color: rgba(254, 188, 46, 0.8);\n}\n\n.window-control-button--maximize:hover {\n background-color: rgba(40, 200, 64, 0.8);\n}\n\n.window-title-info {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n margin: 0 1rem;\n overflow: hidden;\n pointer-events: none;\n}\n\n.window-title-text {\n font-weight: 500;\n font-size: 0.75rem;\n color: rgb(75, 85, 99);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n text-align: center;\n}\n\n.window-title-actions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n min-width: 4rem;\n flex-shrink: 0;\n}\n\n.window-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n/* Resize Handles */\n.window-resize-handle {\n position: absolute;\n background: transparent;\n z-index: 30;\n}\n\n.window-resize-handle--n {\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n cursor: n-resize;\n}\n\n.window-resize-handle--s {\n bottom: 0;\n left: 0;\n right: 0;\n height: 4px;\n cursor: s-resize;\n}\n\n.window-resize-handle--e {\n top: 0;\n right: 0;\n bottom: 0;\n width: 4px;\n cursor: e-resize;\n}\n\n.window-resize-handle--w {\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n cursor: w-resize;\n}\n\n.window-resize-handle--ne {\n top: 0;\n right: 0;\n width: 8px;\n height: 8px;\n cursor: ne-resize;\n}\n\n.window-resize-handle--nw {\n top: 0;\n left: 0;\n width: 8px;\n height: 8px;\n cursor: nw-resize;\n}\n\n.window-resize-handle--se {\n bottom: 0;\n right: 0;\n width: 8px;\n height: 8px;\n cursor: se-resize;\n}\n\n.window-resize-handle--sw {\n bottom: 0;\n left: 0;\n width: 8px;\n height: 8px;\n cursor: sw-resize;\n}\n\n@keyframes fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes window-fade-in {\n from {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n\n",".compress-dialog-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n}\n\n.compress-dialog {\n background: white;\n border-radius: 12px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);\n width: 420px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.compress-dialog-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid rgb(229, 231, 233);\n}\n\n.compress-dialog-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n font-size: 16px;\n color: rgb(17, 24, 39);\n}\n\n.compress-dialog-close {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: rgb(107, 114, 128);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.compress-dialog-close:hover {\n background: rgb(243, 244, 246);\n color: rgb(55, 65, 81);\n}\n\n.compress-dialog-content {\n padding: 20px;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.compress-dialog-info {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n background: rgb(249, 250, 251);\n border-radius: 8px;\n color: rgb(55, 65, 81);\n font-size: 14px;\n}\n\n.compress-dialog-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.compress-dialog-field > label {\n font-size: 13px;\n font-weight: 500;\n color: rgb(55, 65, 81);\n}\n\n.compress-dialog-input-group {\n display: flex;\n align-items: stretch;\n}\n\n.compress-dialog-input-group input {\n flex: 1;\n padding: 8px 12px;\n border: 1px solid rgb(209, 213, 219);\n border-radius: 6px 0 0 6px;\n font-size: 14px;\n outline: none;\n transition: border-color 0.2s;\n}\n\n.compress-dialog-input-group input:focus {\n border-color: rgb(59, 130, 246);\n}\n\n.compress-dialog-ext {\n padding: 8px 12px;\n background: rgb(243, 244, 246);\n border: 1px solid rgb(209, 213, 219);\n border-left: none;\n border-radius: 0 6px 6px 0;\n font-size: 14px;\n color: rgb(107, 114, 128);\n}\n\n.compress-dialog-toggle-password {\n padding: 8px 12px;\n background: rgb(243, 244, 246);\n border: 1px solid rgb(209, 213, 219);\n border-left: none;\n border-radius: 0 6px 6px 0;\n font-size: 12px;\n color: rgb(59, 130, 246);\n cursor: pointer;\n}\n\n.compress-dialog-toggle-password:hover {\n background: rgb(229, 231, 235);\n}\n\n.compress-dialog-field select {\n padding: 8px 12px;\n border: 1px solid rgb(209, 213, 219);\n border-radius: 6px;\n font-size: 14px;\n outline: none;\n background: white;\n cursor: pointer;\n}\n\n.compress-dialog-field select:focus {\n border-color: rgb(59, 130, 246);\n}\n\n.compress-dialog-levels {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.compress-dialog-level {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border: 1px solid rgb(229, 231, 233);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.compress-dialog-level:hover {\n background: rgb(249, 250, 251);\n}\n\n.compress-dialog-level:has(input:checked) {\n border-color: rgb(59, 130, 246);\n background: rgb(239, 246, 255);\n}\n\n.compress-dialog-level input {\n margin: 0;\n}\n\n.compress-dialog-level-label {\n font-size: 14px;\n font-weight: 500;\n color: rgb(17, 24, 39);\n}\n\n.compress-dialog-level-desc {\n font-size: 12px;\n color: rgb(107, 114, 128);\n margin-left: auto;\n}\n\n.compress-dialog-checkbox label {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 14px;\n color: rgb(55, 65, 81);\n}\n\n.compress-dialog-checkbox input {\n margin: 0;\n width: 16px;\n height: 16px;\n}\n\n.compress-dialog-preview {\n padding: 10px 12px;\n background: rgb(249, 250, 251);\n border-radius: 6px;\n font-size: 12px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.compress-dialog-preview-label {\n color: rgb(107, 114, 128);\n}\n\n.compress-dialog-preview-path {\n color: rgb(55, 65, 81);\n word-break: break-all;\n}\n\n.compress-dialog-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid rgb(229, 231, 233);\n}\n\n.compress-dialog-btn {\n padding: 8px 20px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.compress-dialog-btn-cancel {\n background: white;\n border: 1px solid rgb(209, 213, 219);\n color: rgb(55, 65, 81);\n}\n\n.compress-dialog-btn-cancel:hover {\n background: rgb(249, 250, 251);\n}\n\n.compress-dialog-btn-confirm {\n background: rgb(59, 130, 246);\n border: 1px solid rgb(59, 130, 246);\n color: white;\n}\n\n.compress-dialog-btn-confirm:hover {\n background: rgb(37, 99, 235);\n}\n\n.compress-dialog-btn-confirm:disabled {\n background: rgb(156, 163, 175);\n border-color: rgb(156, 163, 175);\n cursor: not-allowed;\n}\n\n",".progress-dialog-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10001;\n}\n\n.progress-dialog {\n background: white;\n border-radius: 12px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);\n width: 380px;\n max-width: 90vw;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.progress-dialog-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid rgb(229, 231, 233);\n}\n\n.progress-dialog-title {\n display: flex;\n align-items: center;\n gap: 10px;\n font-weight: 600;\n font-size: 16px;\n color: rgb(17, 24, 39);\n}\n\n.progress-dialog-close {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: rgb(107, 114, 128);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.progress-dialog-close:hover {\n background: rgb(243, 244, 246);\n color: rgb(55, 65, 81);\n}\n\n.progress-dialog-content {\n padding: 24px 20px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.progress-dialog-status {\n font-size: 14px;\n color: rgb(55, 65, 81);\n text-align: center;\n}\n\n.progress-dialog-bar-container {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.progress-dialog-bar {\n flex: 1;\n height: 8px;\n background: rgb(229, 231, 233);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.progress-dialog-bar-fill {\n height: 100%;\n background: rgb(59, 130, 246);\n border-radius: 4px;\n transition: width 0.3s ease;\n}\n\n.progress-dialog-percent {\n font-size: 13px;\n font-weight: 500;\n color: rgb(55, 65, 81);\n min-width: 40px;\n text-align: right;\n}\n\n.progress-dialog-current-file {\n font-size: 12px;\n color: rgb(107, 114, 128);\n text-align: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.progress-dialog-count {\n font-size: 12px;\n color: rgb(107, 114, 128);\n text-align: center;\n}\n\n.progress-dialog-error {\n padding: 12px;\n background: rgb(254, 242, 242);\n border: 1px solid rgb(254, 202, 202);\n border-radius: 6px;\n color: rgb(185, 28, 28);\n font-size: 13px;\n}\n\n.progress-dialog-output {\n padding: 12px;\n background: rgb(240, 253, 244);\n border: 1px solid rgb(187, 247, 208);\n border-radius: 6px;\n font-size: 12px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.progress-dialog-output-label {\n color: rgb(22, 101, 52);\n font-weight: 500;\n}\n\n.progress-dialog-output-path {\n color: rgb(21, 128, 61);\n word-break: break-all;\n}\n\n.progress-dialog-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid rgb(229, 231, 233);\n}\n\n.progress-dialog-btn {\n padding: 8px 16px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.progress-dialog-btn-cancel {\n background: white;\n border: 1px solid rgb(209, 213, 219);\n color: rgb(55, 65, 81);\n}\n\n.progress-dialog-btn-cancel:hover {\n background: rgb(249, 250, 251);\n}\n\n.progress-dialog-btn-folder {\n background: rgb(240, 253, 244);\n border: 1px solid rgb(187, 247, 208);\n color: rgb(22, 101, 52);\n}\n\n.progress-dialog-btn-folder:hover {\n background: rgb(220, 252, 231);\n}\n\n.progress-dialog-btn-close {\n background: rgb(59, 130, 246);\n border: 1px solid rgb(59, 130, 246);\n color: white;\n}\n\n.progress-dialog-btn-close:hover {\n background: rgb(37, 99, 235);\n}\n\n/* 旋转动画 */\n.progress-dialog-icon-spin {\n animation: spin 1s linear infinite;\n color: rgb(59, 130, 246);\n}\n\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n.progress-dialog-icon-success {\n color: rgb(34, 197, 94);\n}\n\n.progress-dialog-icon-error {\n color: rgb(239, 68, 68);\n}\n\n","/* FileInfoDialog 样式 */\n\n.file-info-dialog-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.4);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: file-info-fadeIn 0.15s ease-out;\n}\n\n@keyframes file-info-fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.file-info-dialog {\n background: #ffffff;\n border: 1px solid #e0e0e0;\n border-radius: 12px;\n width: 420px;\n max-width: 90vw;\n max-height: 80vh;\n display: flex;\n flex-direction: column;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);\n animation: file-info-slideIn 0.2s ease-out;\n}\n\n@keyframes file-info-slideIn {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(-10px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n/* 深色模式 */\n@media (prefers-color-scheme: dark) {\n .file-info-dialog {\n background: #2d2d2d;\n border-color: #404040;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n }\n}\n\n/* 头部 */\n.file-info-dialog-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n gap: 12px;\n}\n\n@media (prefers-color-scheme: dark) {\n .file-info-dialog-header {\n border-bottom-color: #404040;\n }\n}\n\n.file-info-dialog-title {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n flex: 1;\n}\n\n.file-info-dialog-name {\n font-size: 16px;\n font-weight: 600;\n color: #1a1a1a;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n@media (prefers-color-scheme: dark) {\n .file-info-dialog-name {\n color: #e0e0e0;\n }\n}\n\n.file-info-dialog-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #666;\n border-radius: 6px;\n cursor: pointer;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.file-info-dialog-close:hover {\n background: #f0f0f0;\n color: #333;\n}\n\n@media (prefers-color-scheme: dark) {\n .file-info-dialog-close {\n color: #888;\n }\n .file-info-dialog-close:hover {\n background: #404040;\n color: #e0e0e0;\n }\n}\n\n/* 内容 */\n.file-info-dialog-content {\n padding: 16px 20px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n overflow-y: auto;\n}\n\n.file-info-row {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n}\n\n.file-info-label {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 90px;\n flex-shrink: 0;\n color: #666;\n font-size: 13px;\n}\n\n@media (prefers-color-scheme: dark) {\n .file-info-label {\n color: #888;\n }\n}\n\n.file-info-label svg {\n flex-shrink: 0;\n}\n\n.file-info-value {\n flex: 1;\n color: #1a1a1a;\n font-size: 13px;\n word-break: break-all;\n line-height: 1.4;\n}\n\n@media (prefers-color-scheme: dark) {\n .file-info-value {\n color: #e0e0e0;\n }\n}\n\n.file-info-value--path {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;\n font-size: 12px;\n background: #f5f5f5;\n padding: 4px 8px;\n border-radius: 4px;\n user-select: all;\n}\n\n@media (prefers-color-scheme: dark) {\n .file-info-value--path {\n background: #383838;\n }\n}\n\n/* 图标样式 */\n.file-info-icon {\n width: 32px;\n height: 32px;\n flex-shrink: 0;\n}\n\n.file-info-icon--folder {\n color: #dcb67a;\n}\n\n.file-info-icon--image {\n color: #7ec699;\n}\n\n.file-info-icon--video {\n color: #c678dd;\n}\n\n.file-info-icon--music {\n color: #e06c75;\n}\n\n.file-info-icon--document {\n color: #61afef;\n}\n\n.file-info-icon--code {\n color: #98c379;\n}\n\n.file-info-icon--archive {\n color: #d19a66;\n}\n\n.file-info-icon--file {\n color: #abb2bf;\n}\n\n/* 底部 */\n.file-info-dialog-footer {\n display: flex;\n justify-content: flex-end;\n padding: 12px 20px;\n border-top: 1px solid #e0e0e0;\n}\n\n@media (prefers-color-scheme: dark) {\n .file-info-dialog-footer {\n border-top-color: #404040;\n }\n}\n\n.file-info-dialog-btn {\n padding: 6px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n background: #007aff;\n color: white;\n}\n\n.file-info-dialog-btn:hover {\n background: #0066d6;\n}\n\n"],"mappings":"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","names":[]}