@huyooo/file-explorer-frontend-react 0.4.16 → 0.4.18
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.
- package/dist/index.css +3 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FileGrid.css +5 -0
- package/src/components/FileGrid.tsx +2 -1
package/dist/index.css
CHANGED
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.css","../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":["/**\n * File Explorer Frontend (React) - 全局主题 token\n *\n * 主题协议(跨项目统一):\n * - 使用 document.documentElement 的 data-theme = light | dark\n * - 默认跟随系统 prefers-color-scheme\n *\n * 说明:\n * - React 组件样式尽量使用 var(--huyooo-*),避免硬编码颜色\n */\n\n:root {\n color-scheme: light;\n\n /* 对齐 ai-chat(light):暖白底 + 中性灰 + 统一蓝主色 */\n --huyooo-bg: #f7f7f4;\n --huyooo-surface: #f2f1ed;\n --huyooo-surface-2: #f0efeb;\n --huyooo-muted: #ebeae5;\n --huyooo-muted-hover: #e6e5e0;\n --huyooo-border: #26251e1a;\n --huyooo-text: #26251eeb;\n --huyooo-text-muted: #26251e99;\n --huyooo-text-disabled: #26251e66;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.18);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(38, 37, 30, 0.08);\n --huyooo-scrollbar: rgba(38, 37, 30, 0.2);\n --huyooo-scrollbar-hover: rgba(38, 37, 30, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: rgb(245, 158, 11);\n --huyooo-danger-bg: rgba(207, 45, 86, 0.1);\n --huyooo-danger-border: rgba(207, 45, 86, 0.22);\n --huyooo-success-bg: rgba(31, 138, 101, 0.1);\n --huyooo-success-border: rgba(31, 138, 101, 0.22);\n --huyooo-warning-bg: rgba(255, 251, 235, 0.92);\n --huyooo-warning-border: rgba(253, 230, 138, 0.9);\n --huyooo-overlay: rgba(0, 0, 0, 0.5);\n --huyooo-panel-bg: #f2f1ed;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n --huyooo-code-bg: #f2f1ed;\n --huyooo-code-text: #26251eeb;\n --huyooo-menu-bg: #f2f1ed;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);\n\n /* macOS window control colors (for Window 组件) */\n --huyooo-window-close-bg: rgb(255, 95, 87);\n --huyooo-window-close-border: rgb(224, 68, 62);\n --huyooo-window-minimize-bg: rgb(254, 188, 46);\n --huyooo-window-minimize-border: rgb(216, 158, 36);\n --huyooo-window-maximize-bg: rgb(40, 200, 64);\n --huyooo-window-maximize-border: rgb(26, 171, 41);\n --huyooo-window-control-icon: rgba(0, 0, 0, 0.5);\n\n /* media overlay helpers (used in FileGrid video thumbnail) */\n --huyooo-overlay-strong: rgba(0, 0, 0, 0.85);\n\n /* on-primary text colors (selected state etc.) */\n --huyooo-on-primary: #ffffff;\n --huyooo-on-primary-muted: rgba(255, 255, 255, 0.8);\n\n /* filetype colors (FileInfoDialog / FileIcon) */\n /* 对齐 ai-chat:文件夹/目录用主色 */\n --huyooo-filetype-folder: var(--huyooo-primary);\n --huyooo-filetype-image: #7ec699;\n --huyooo-filetype-video: #c678dd;\n --huyooo-filetype-music: #e06c75;\n --huyooo-filetype-document: #61afef;\n --huyooo-filetype-code: #98c379;\n --huyooo-filetype-archive: #d19a66;\n --huyooo-filetype-file: #abb2bf;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n color-scheme: dark;\n\n /* 对齐 ai-chat(dark):深灰底 + 统一蓝主色 */\n --huyooo-bg: #1e1e1e;\n --huyooo-surface: #1e1e1e;\n --huyooo-surface-2: #252526;\n --huyooo-muted: #2d2d2d;\n --huyooo-muted-hover: #3c3c3c;\n --huyooo-border: #333;\n --huyooo-text: #ccc;\n --huyooo-text-muted: #888;\n --huyooo-text-disabled: #666;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.22);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.35);\n --huyooo-scrollbar: rgba(255, 255, 255, 0.2);\n --huyooo-scrollbar-hover: rgba(255, 255, 255, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: #f59e0b;\n --huyooo-danger-bg: rgba(207, 45, 86, 0.14);\n --huyooo-danger-border: rgba(207, 45, 86, 0.28);\n --huyooo-success-bg: rgba(31, 138, 101, 0.14);\n --huyooo-success-border: rgba(31, 138, 101, 0.28);\n --huyooo-warning-bg: rgba(245, 158, 11, 0.12);\n --huyooo-warning-border: rgba(245, 158, 11, 0.25);\n --huyooo-overlay: rgba(0, 0, 0, 0.6);\n --huyooo-panel-bg: #252526;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --huyooo-code-bg: #1f2937;\n --huyooo-code-text: #e5e7eb;\n --huyooo-menu-bg: #252526;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.45), 0 4px 6px -2px rgba(0, 0, 0, 0.35);\n }\n}\n\n:root[data-theme=\"light\"] {\n color-scheme: light;\n /* 显式 light 必须覆盖 prefers-color-scheme: dark 的变量 */\n --huyooo-bg: #f7f7f4;\n --huyooo-surface: #f2f1ed;\n --huyooo-surface-2: #f0efeb;\n --huyooo-muted: #ebeae5;\n --huyooo-muted-hover: #e6e5e0;\n --huyooo-border: #26251e1a;\n --huyooo-text: #26251eeb;\n --huyooo-text-muted: #26251e99;\n --huyooo-text-disabled: #26251e66;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.18);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(38, 37, 30, 0.08);\n --huyooo-scrollbar: rgba(38, 37, 30, 0.2);\n --huyooo-scrollbar-hover: rgba(38, 37, 30, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: rgb(245, 158, 11);\n --huyooo-danger-bg: rgba(207, 45, 86, 0.1);\n --huyooo-danger-border: rgba(207, 45, 86, 0.22);\n --huyooo-success-bg: rgba(31, 138, 101, 0.1);\n --huyooo-success-border: rgba(31, 138, 101, 0.22);\n --huyooo-warning-bg: rgba(255, 251, 235, 0.92);\n --huyooo-warning-border: rgba(253, 230, 138, 0.9);\n --huyooo-overlay: rgba(0, 0, 0, 0.5);\n --huyooo-panel-bg: #f2f1ed;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n --huyooo-code-bg: #f2f1ed;\n --huyooo-code-text: #26251eeb;\n --huyooo-menu-bg: #f2f1ed;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);\n --huyooo-filetype-folder: var(--huyooo-primary);\n}\n\n:root[data-theme=\"dark\"] {\n color-scheme: dark;\n\n /* 显式 dark 必须覆盖 light 的变量 */\n --huyooo-bg: #1e1e1e;\n --huyooo-surface: #1e1e1e;\n --huyooo-surface-2: #252526;\n --huyooo-muted: #2d2d2d;\n --huyooo-muted-hover: #3c3c3c;\n --huyooo-border: #333;\n --huyooo-text: #ccc;\n --huyooo-text-muted: #888;\n --huyooo-text-disabled: #666;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.22);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.35);\n --huyooo-scrollbar: rgba(255, 255, 255, 0.2);\n --huyooo-scrollbar-hover: rgba(255, 255, 255, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: #f59e0b;\n --huyooo-danger-bg: rgba(207, 45, 86, 0.14);\n --huyooo-danger-border: rgba(207, 45, 86, 0.28);\n --huyooo-success-bg: rgba(31, 138, 101, 0.14);\n --huyooo-success-border: rgba(31, 138, 101, 0.28);\n --huyooo-warning-bg: rgba(245, 158, 11, 0.12);\n --huyooo-warning-border: rgba(245, 158, 11, 0.25);\n --huyooo-overlay: rgba(0, 0, 0, 0.6);\n --huyooo-panel-bg: #252526;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --huyooo-code-bg: #1f2937;\n --huyooo-code-text: #e5e7eb;\n --huyooo-menu-bg: #252526;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.45), 0 4px 6px -2px rgba(0, 0, 0, 0.35);\n --huyooo-filetype-folder: var(--huyooo-primary);\n}\n",".file-icon--folder {\n color: var(--huyooo-primary);\n fill: var(--huyooo-primary);\n}\n\n.file-icon--image {\n color: var(--huyooo-primary);\n}\n\n.file-icon--text {\n color: var(--huyooo-text-muted);\n}\n\n.file-icon--code {\n color: var(--huyooo-success);\n}\n\n.file-icon--music {\n color: var(--huyooo-danger);\n}\n\n.file-icon--video {\n color: var(--huyooo-primary);\n}\n\n.file-icon--pdf {\n color: var(--huyooo-danger);\n}\n\n.file-icon--application {\n color: var(--huyooo-primary);\n}\n\n.file-icon--archive {\n color: var(--huyooo-warning);\n}\n\n.file-icon--default {\n color: var(--huyooo-text-disabled);\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: var(--huyooo-muted-hover);\n}\n\n/* 选中状态 - macOS 风格的蓝色高亮 */\n.file-grid-item--selected {\n background: var(--huyooo-focus-ring);\n border-color: var(--huyooo-primary);\n}\n\n.file-grid-item--selected:hover {\n background: var(--huyooo-focus-ring);\n}\n\n/* 拖拽悬停 */\n.file-grid-item--drag-over {\n background: var(--huyooo-focus-ring);\n border-color: var(--huyooo-primary);\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: var(--huyooo-shadow-sm);\n background: var(--huyooo-muted);\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 0 0 2px var(--huyooo-primary), 0 0 0 6px var(--huyooo-focus-ring);\n}\n\n/* 视频缩略图容器 */\n.file-grid-item-thumbnail--video {\n position: relative;\n border-radius: 4px;\n overflow: hidden;\n background: var(--huyooo-overlay-strong);\n width: 48px;\n height: 48px;\n box-shadow: var(--huyooo-shadow-sm);\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: var(--huyooo-overlay);\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: var(--huyooo-text);\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 var(--huyooo-primary);\n border-radius: 3px;\n outline: none;\n box-shadow: 0 0 0 3px var(--huyooo-focus-ring);\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n cursor: text;\n}\n\n/* 深色模式由 token 负责 */\n",".sort-indicator {\n margin-left: 4px;\n display: inline-flex;\n align-items: center;\n color: var(--huyooo-primary);\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: var(--huyooo-text-muted);\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n position: sticky;\n top: 0;\n background: var(--huyooo-surface);\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 var(--huyooo-border);\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: var(--huyooo-muted-hover);\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: color-mix(in srgb, var(--huyooo-muted) 20%, transparent);\n}\n\n/* 悬停效果 */\n.file-list-row--even:hover,\n.file-list-row--odd:hover {\n background: var(--huyooo-muted-hover);\n}\n\n/* 选中状态 - macOS 风格整行高亮 */\n.file-list-row--selected {\n background: var(--huyooo-primary);\n color: white;\n}\n\n.file-list-row--selected:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n/* 拖拽悬停 */\n.file-list-row--drag-over {\n background: var(--huyooo-focus-ring);\n border-bottom-color: var(--huyooo-primary);\n}\n\n/* 单元格 - 更紧凑的行高 */\n.file-list-cell {\n padding: 4px 12px;\n white-space: nowrap;\n color: var(--huyooo-text-muted);\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: var(--huyooo-on-primary-muted);\n}\n\n/* 大小列 - 等宽字体 */\n.file-list-cell--size {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 11px;\n color: var(--huyooo-text-disabled);\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: var(--huyooo-text);\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 var(--huyooo-primary);\n border-radius: 4px;\n outline: none;\n box-shadow: 0 0 0 3px var(--huyooo-focus-ring);\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n cursor: text;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text-disabled);\n gap: 16px;\n}\n\n.file-list-view-spinner {\n width: 32px;\n height: 32px;\n border: 3px solid color-mix(in srgb, var(--huyooo-text-disabled) 20%, transparent);\n border-top-color: var(--huyooo-primary);\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: var(--huyooo-muted);\n backdrop-filter: blur(24px);\n border-right: 1px solid var(--huyooo-border);\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: var(--huyooo-scrollbar);\n border-radius: 3px;\n}\n\n.file-sidebar::-webkit-scrollbar-thumb:hover {\n background: var(--huyooo-scrollbar-hover);\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: var(--huyooo-text-muted);\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: var(--huyooo-text-muted);\n transition: all 200ms;\n /* no-drag 已由 section 继承 */\n}\n\n.file-sidebar-item:hover {\n background: var(--huyooo-muted-hover);\n color: var(--huyooo-text);\n}\n\n.file-sidebar-item--active {\n background: var(--huyooo-muted-hover);\n color: var(--huyooo-text);\n}\n\n.file-sidebar-item-icon {\n color: var(--huyooo-text-muted);\n}\n\n.file-sidebar-item-icon--active {\n color: var(--huyooo-primary);\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: var(--huyooo-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.file-breadcrumb-link:hover {\n background: var(--huyooo-muted-hover);\n color: var(--huyooo-text);\n}\n\n.file-breadcrumb-link--current {\n font-weight: 600;\n color: var(--huyooo-text);\n background: var(--huyooo-muted);\n cursor: default;\n}\n\n.file-breadcrumb-link--current:hover {\n background: var(--huyooo-muted);\n}\n\n.file-breadcrumb-separator {\n color: var(--huyooo-text-disabled);\n margin: 0 0.25rem;\n flex-shrink: 0;\n}\n\n",".file-toolbar {\n height: 48px;\n background: var(--huyooo-surface);\n backdrop-filter: blur(12px);\n border-bottom: 1px solid var(--huyooo-border);\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: var(--huyooo-text-muted);\n background: var(--huyooo-muted);\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: var(--huyooo-text);\n}\n\n.file-toolbar-button:hover:not(:disabled) {\n background: var(--huyooo-muted-hover);\n}\n\n.file-toolbar-button:disabled {\n color: var(--huyooo-text-disabled);\n cursor: default;\n}\n\n.file-toolbar-button--active {\n background: var(--huyooo-surface-2);\n box-shadow: var(--huyooo-shadow-sm);\n color: var(--huyooo-text);\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: var(--huyooo-text-disabled);\n transition: color 200ms;\n}\n\n.file-toolbar-search:focus-within .file-toolbar-search-icon {\n color: var(--huyooo-primary);\n}\n\n.file-toolbar-search-input {\n background: var(--huyooo-muted);\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: var(--huyooo-text);\n}\n\n.file-toolbar-search-input::placeholder {\n color: var(--huyooo-text-disabled);\n}\n\n.file-toolbar-search-input:focus {\n background: var(--huyooo-surface-2);\n border-color: var(--huyooo-primary);\n box-shadow: 0 0 0 2px var(--huyooo-focus-ring);\n width: 12rem;\n}\n\n.file-toolbar-view-toggle {\n display: flex;\n align-items: center;\n background: var(--huyooo-muted);\n border-radius: 0.5rem;\n padding: 0.125rem;\n color: var(--huyooo-text-muted);\n}\n\n.file-toolbar-view-toggle .file-toolbar-button--active {\n background: var(--huyooo-surface-2);\n box-shadow: var(--huyooo-shadow-sm);\n color: var(--huyooo-text);\n}\n\n.file-toolbar-view-toggle .file-toolbar-button:not(.file-toolbar-button--active):hover {\n background: var(--huyooo-muted-hover);\n}\n\n",".file-status-bar {\n height: 32px;\n background-color: var(--huyooo-surface-2);\n border-top: 1px solid var(--huyooo-border);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 8px;\n font-size: 10px;\n color: var(--huyooo-text-muted);\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: var(--huyooo-menu-bg);\n backdrop-filter: blur(24px);\n border: 1px solid var(--huyooo-border);\n border-radius: 0.5rem;\n box-shadow: var(--huyooo-menu-shadow);\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: var(--huyooo-text);\n transition: all 200ms;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n.context-menu-item:hover {\n background: var(--huyooo-primary);\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: var(--huyooo-on-primary-muted);\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: var(--huyooo-text);\n}\n\n.context-menu-item--disabled:hover .context-menu-item-icon {\n color: var(--huyooo-text-muted);\n}\n\n.context-menu-item--danger {\n color: var(--huyooo-danger);\n}\n\n.context-menu-item--danger:hover {\n background: var(--huyooo-danger);\n color: white;\n}\n\n.context-menu-item--danger .context-menu-item-icon {\n color: var(--huyooo-danger);\n}\n\n.context-menu-item--danger:hover .context-menu-item-icon {\n color: white;\n}\n\n.context-menu-item-icon {\n color: var(--huyooo-text-muted);\n flex-shrink: 0;\n}\n\n.context-menu-item-label {\n flex: 1;\n}\n\n.context-menu-item-shortcut {\n color: var(--huyooo-text-disabled);\n font-size: 0.6875rem;\n}\n\n.context-menu-separator {\n height: 1px;\n background: var(--huyooo-border);\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: var(--huyooo-primary);\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: var(--huyooo-on-primary-muted);\n}\n\n.context-menu-item-check {\n color: var(--huyooo-text-muted);\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: var(--huyooo-text-disabled);\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: var(--huyooo-overlay);\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: var(--huyooo-panel-bg);\n backdrop-filter: blur(24px);\n border: 1px solid var(--huyooo-border);\n box-shadow: var(--huyooo-shadow-lg);\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 var(--huyooo-border);\n flex-shrink: 0;\n user-select: none;\n background: var(--huyooo-surface);\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: var(--huyooo-shadow-sm);\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: var(--huyooo-window-close-bg);\n border-color: var(--huyooo-window-close-border);\n}\n\n.window-control-button--minimize {\n background-color: var(--huyooo-window-minimize-bg);\n border-color: var(--huyooo-window-minimize-border);\n}\n\n.window-control-button--maximize {\n background-color: var(--huyooo-window-maximize-bg);\n border-color: var(--huyooo-window-maximize-border);\n}\n\n.window-control-icon {\n color: var(--huyooo-window-control-icon);\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: color-mix(in srgb, var(--huyooo-window-close-bg) 80%, transparent);\n}\n\n.window-control-button--minimize:hover {\n background-color: color-mix(in srgb, var(--huyooo-window-minimize-bg) 80%, transparent);\n}\n\n.window-control-button--maximize:hover {\n background-color: color-mix(in srgb, var(--huyooo-window-maximize-bg) 80%, transparent);\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: var(--huyooo-text-muted);\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: var(--huyooo-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n}\n\n.compress-dialog {\n background: var(--huyooo-panel-bg);\n border-radius: 12px;\n box-shadow: var(--huyooo-shadow-lg);\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 var(--huyooo-border);\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: var(--huyooo-text);\n}\n\n.compress-dialog-close {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: var(--huyooo-text-muted);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.compress-dialog-close:hover {\n background: var(--huyooo-muted);\n color: var(--huyooo-text);\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: var(--huyooo-surface);\n border-radius: 8px;\n color: var(--huyooo-text);\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: var(--huyooo-text);\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 var(--huyooo-border);\n border-radius: 6px 0 0 6px;\n font-size: 14px;\n outline: none;\n transition: border-color 0.2s;\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n}\n\n.compress-dialog-input-group input:focus {\n border-color: var(--huyooo-primary);\n}\n\n.compress-dialog-ext {\n padding: 8px 12px;\n background: var(--huyooo-muted);\n border: 1px solid var(--huyooo-border);\n border-left: none;\n border-radius: 0 6px 6px 0;\n font-size: 14px;\n color: var(--huyooo-text-muted);\n}\n\n.compress-dialog-toggle-password {\n padding: 8px 12px;\n background: var(--huyooo-muted);\n border: 1px solid var(--huyooo-border);\n border-left: none;\n border-radius: 0 6px 6px 0;\n font-size: 12px;\n color: var(--huyooo-primary);\n cursor: pointer;\n}\n\n.compress-dialog-toggle-password:hover {\n background: var(--huyooo-muted-hover);\n}\n\n.compress-dialog-field select {\n padding: 8px 12px;\n border: 1px solid var(--huyooo-border);\n border-radius: 6px;\n font-size: 14px;\n outline: none;\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n cursor: pointer;\n}\n\n.compress-dialog-field select:focus {\n border-color: var(--huyooo-primary);\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 var(--huyooo-border);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.compress-dialog-level:hover {\n background: var(--huyooo-surface);\n}\n\n.compress-dialog-level:has(input:checked) {\n border-color: var(--huyooo-primary);\n background: var(--huyooo-focus-ring);\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: var(--huyooo-text);\n}\n\n.compress-dialog-level-desc {\n font-size: 12px;\n color: var(--huyooo-text-muted);\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: var(--huyooo-text);\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: var(--huyooo-surface);\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: var(--huyooo-text-muted);\n}\n\n.compress-dialog-preview-path {\n color: var(--huyooo-text);\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 var(--huyooo-border);\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: var(--huyooo-surface-2);\n border: 1px solid var(--huyooo-border);\n color: var(--huyooo-text);\n}\n\n.compress-dialog-btn-cancel:hover {\n background: var(--huyooo-surface);\n}\n\n.compress-dialog-btn-confirm {\n background: var(--huyooo-primary);\n border: 1px solid var(--huyooo-primary);\n color: white;\n}\n\n.compress-dialog-btn-confirm:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n.compress-dialog-btn-confirm:disabled {\n background: var(--huyooo-text-disabled);\n border-color: var(--huyooo-text-disabled);\n cursor: not-allowed;\n}\n\n",".progress-dialog-overlay {\n position: fixed;\n inset: 0;\n background: var(--huyooo-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10001;\n}\n\n.progress-dialog {\n background: var(--huyooo-panel-bg);\n border-radius: 12px;\n box-shadow: var(--huyooo-shadow-lg);\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 var(--huyooo-border);\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: var(--huyooo-text);\n}\n\n.progress-dialog-close {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: var(--huyooo-text-muted);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.progress-dialog-close:hover {\n background: var(--huyooo-muted);\n color: var(--huyooo-text);\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: var(--huyooo-text);\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: var(--huyooo-border);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.progress-dialog-bar-fill {\n height: 100%;\n background: var(--huyooo-primary);\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: var(--huyooo-text);\n min-width: 40px;\n text-align: right;\n}\n\n.progress-dialog-current-file {\n font-size: 12px;\n color: var(--huyooo-text-muted);\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: var(--huyooo-text-muted);\n text-align: center;\n}\n\n.progress-dialog-error {\n padding: 12px;\n background: var(--huyooo-danger-bg);\n border: 1px solid var(--huyooo-danger-border);\n border-radius: 6px;\n color: var(--huyooo-danger);\n font-size: 13px;\n}\n\n.progress-dialog-output {\n padding: 12px;\n background: var(--huyooo-success-bg);\n border: 1px solid var(--huyooo-success-border);\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: var(--huyooo-success);\n font-weight: 500;\n}\n\n.progress-dialog-output-path {\n color: var(--huyooo-success);\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 var(--huyooo-border);\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: var(--huyooo-surface-2);\n border: 1px solid var(--huyooo-border);\n color: var(--huyooo-text);\n}\n\n.progress-dialog-btn-cancel:hover {\n background: var(--huyooo-surface);\n}\n\n.progress-dialog-btn-folder {\n background: var(--huyooo-success-bg);\n border: 1px solid var(--huyooo-success-border);\n color: var(--huyooo-success);\n}\n\n.progress-dialog-btn-folder:hover {\n background: color-mix(in srgb, var(--huyooo-success-bg) 75%, var(--huyooo-success) 25%);\n}\n\n.progress-dialog-btn-close {\n background: var(--huyooo-primary);\n border: 1px solid var(--huyooo-primary);\n color: white;\n}\n\n.progress-dialog-btn-close:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n/* 旋转动画 */\n.progress-dialog-icon-spin {\n animation: spin 1s linear infinite;\n color: var(--huyooo-primary);\n}\n\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n.progress-dialog-icon-success {\n color: var(--huyooo-success);\n}\n\n.progress-dialog-icon-error {\n color: var(--huyooo-danger);\n}\n\n","/* FileInfoDialog 样式 */\n\n.file-info-dialog-overlay {\n position: fixed;\n inset: 0;\n background: var(--huyooo-overlay);\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: var(--huyooo-panel-bg);\n border: 1px solid var(--huyooo-border);\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: var(--huyooo-menu-shadow);\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/* 深色模式由 token 负责 */\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 var(--huyooo-border);\n gap: 12px;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text-muted);\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: var(--huyooo-muted);\n color: var(--huyooo-text);\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text-muted);\n font-size: 13px;\n}\n\n/* 深色模式由 token 负责 */\n\n.file-info-label svg {\n flex-shrink: 0;\n}\n\n.file-info-value {\n flex: 1;\n color: var(--huyooo-text);\n font-size: 13px;\n word-break: break-all;\n line-height: 1.4;\n}\n\n/* 深色模式由 token 负责 */\n\n.file-info-value--path {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;\n font-size: 12px;\n background: var(--huyooo-code-bg);\n color: var(--huyooo-code-text);\n padding: 4px 8px;\n border-radius: 4px;\n user-select: all;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-filetype-folder);\n}\n\n.file-info-icon--image {\n color: var(--huyooo-filetype-image);\n}\n\n.file-info-icon--video {\n color: var(--huyooo-filetype-video);\n}\n\n.file-info-icon--music {\n color: var(--huyooo-filetype-music);\n}\n\n.file-info-icon--document {\n color: var(--huyooo-filetype-document);\n}\n\n.file-info-icon--code {\n color: var(--huyooo-filetype-code);\n}\n\n.file-info-icon--archive {\n color: var(--huyooo-filetype-archive);\n}\n\n.file-info-icon--file {\n color: var(--huyooo-filetype-file);\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 var(--huyooo-border);\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-primary);\n color: white;\n}\n\n.file-info-dialog-btn:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.css","../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":["/**\n * File Explorer Frontend (React) - 全局主题 token\n *\n * 主题协议(跨项目统一):\n * - 使用 document.documentElement 的 data-theme = light | dark\n * - 默认跟随系统 prefers-color-scheme\n *\n * 说明:\n * - React 组件样式尽量使用 var(--huyooo-*),避免硬编码颜色\n */\n\n:root {\n color-scheme: light;\n\n /* 对齐 ai-chat(light):暖白底 + 中性灰 + 统一蓝主色 */\n --huyooo-bg: #f7f7f4;\n --huyooo-surface: #f2f1ed;\n --huyooo-surface-2: #f0efeb;\n --huyooo-muted: #ebeae5;\n --huyooo-muted-hover: #e6e5e0;\n --huyooo-border: #26251e1a;\n --huyooo-text: #26251eeb;\n --huyooo-text-muted: #26251e99;\n --huyooo-text-disabled: #26251e66;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.18);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(38, 37, 30, 0.08);\n --huyooo-scrollbar: rgba(38, 37, 30, 0.2);\n --huyooo-scrollbar-hover: rgba(38, 37, 30, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: rgb(245, 158, 11);\n --huyooo-danger-bg: rgba(207, 45, 86, 0.1);\n --huyooo-danger-border: rgba(207, 45, 86, 0.22);\n --huyooo-success-bg: rgba(31, 138, 101, 0.1);\n --huyooo-success-border: rgba(31, 138, 101, 0.22);\n --huyooo-warning-bg: rgba(255, 251, 235, 0.92);\n --huyooo-warning-border: rgba(253, 230, 138, 0.9);\n --huyooo-overlay: rgba(0, 0, 0, 0.5);\n --huyooo-panel-bg: #f2f1ed;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n --huyooo-code-bg: #f2f1ed;\n --huyooo-code-text: #26251eeb;\n --huyooo-menu-bg: #f2f1ed;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);\n\n /* macOS window control colors (for Window 组件) */\n --huyooo-window-close-bg: rgb(255, 95, 87);\n --huyooo-window-close-border: rgb(224, 68, 62);\n --huyooo-window-minimize-bg: rgb(254, 188, 46);\n --huyooo-window-minimize-border: rgb(216, 158, 36);\n --huyooo-window-maximize-bg: rgb(40, 200, 64);\n --huyooo-window-maximize-border: rgb(26, 171, 41);\n --huyooo-window-control-icon: rgba(0, 0, 0, 0.5);\n\n /* media overlay helpers (used in FileGrid video thumbnail) */\n --huyooo-overlay-strong: rgba(0, 0, 0, 0.85);\n\n /* on-primary text colors (selected state etc.) */\n --huyooo-on-primary: #ffffff;\n --huyooo-on-primary-muted: rgba(255, 255, 255, 0.8);\n\n /* filetype colors (FileInfoDialog / FileIcon) */\n /* 对齐 ai-chat:文件夹/目录用主色 */\n --huyooo-filetype-folder: var(--huyooo-primary);\n --huyooo-filetype-image: #7ec699;\n --huyooo-filetype-video: #c678dd;\n --huyooo-filetype-music: #e06c75;\n --huyooo-filetype-document: #61afef;\n --huyooo-filetype-code: #98c379;\n --huyooo-filetype-archive: #d19a66;\n --huyooo-filetype-file: #abb2bf;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n color-scheme: dark;\n\n /* 对齐 ai-chat(dark):深灰底 + 统一蓝主色 */\n --huyooo-bg: #1e1e1e;\n --huyooo-surface: #1e1e1e;\n --huyooo-surface-2: #252526;\n --huyooo-muted: #2d2d2d;\n --huyooo-muted-hover: #3c3c3c;\n --huyooo-border: #333;\n --huyooo-text: #ccc;\n --huyooo-text-muted: #888;\n --huyooo-text-disabled: #666;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.22);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.35);\n --huyooo-scrollbar: rgba(255, 255, 255, 0.2);\n --huyooo-scrollbar-hover: rgba(255, 255, 255, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: #f59e0b;\n --huyooo-danger-bg: rgba(207, 45, 86, 0.14);\n --huyooo-danger-border: rgba(207, 45, 86, 0.28);\n --huyooo-success-bg: rgba(31, 138, 101, 0.14);\n --huyooo-success-border: rgba(31, 138, 101, 0.28);\n --huyooo-warning-bg: rgba(245, 158, 11, 0.12);\n --huyooo-warning-border: rgba(245, 158, 11, 0.25);\n --huyooo-overlay: rgba(0, 0, 0, 0.6);\n --huyooo-panel-bg: #252526;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --huyooo-code-bg: #1f2937;\n --huyooo-code-text: #e5e7eb;\n --huyooo-menu-bg: #252526;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.45), 0 4px 6px -2px rgba(0, 0, 0, 0.35);\n }\n}\n\n:root[data-theme=\"light\"] {\n color-scheme: light;\n /* 显式 light 必须覆盖 prefers-color-scheme: dark 的变量 */\n --huyooo-bg: #f7f7f4;\n --huyooo-surface: #f2f1ed;\n --huyooo-surface-2: #f0efeb;\n --huyooo-muted: #ebeae5;\n --huyooo-muted-hover: #e6e5e0;\n --huyooo-border: #26251e1a;\n --huyooo-text: #26251eeb;\n --huyooo-text-muted: #26251e99;\n --huyooo-text-disabled: #26251e66;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.18);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(38, 37, 30, 0.08);\n --huyooo-scrollbar: rgba(38, 37, 30, 0.2);\n --huyooo-scrollbar-hover: rgba(38, 37, 30, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: rgb(245, 158, 11);\n --huyooo-danger-bg: rgba(207, 45, 86, 0.1);\n --huyooo-danger-border: rgba(207, 45, 86, 0.22);\n --huyooo-success-bg: rgba(31, 138, 101, 0.1);\n --huyooo-success-border: rgba(31, 138, 101, 0.22);\n --huyooo-warning-bg: rgba(255, 251, 235, 0.92);\n --huyooo-warning-border: rgba(253, 230, 138, 0.9);\n --huyooo-overlay: rgba(0, 0, 0, 0.5);\n --huyooo-panel-bg: #f2f1ed;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n --huyooo-code-bg: #f2f1ed;\n --huyooo-code-text: #26251eeb;\n --huyooo-menu-bg: #f2f1ed;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);\n --huyooo-filetype-folder: var(--huyooo-primary);\n}\n\n:root[data-theme=\"dark\"] {\n color-scheme: dark;\n\n /* 显式 dark 必须覆盖 light 的变量 */\n --huyooo-bg: #1e1e1e;\n --huyooo-surface: #1e1e1e;\n --huyooo-surface-2: #252526;\n --huyooo-muted: #2d2d2d;\n --huyooo-muted-hover: #3c3c3c;\n --huyooo-border: #333;\n --huyooo-text: #ccc;\n --huyooo-text-muted: #888;\n --huyooo-text-disabled: #666;\n --huyooo-primary: #54a9ff;\n --huyooo-focus-ring: rgba(84, 169, 255, 0.22);\n --huyooo-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.35);\n --huyooo-scrollbar: rgba(255, 255, 255, 0.2);\n --huyooo-scrollbar-hover: rgba(255, 255, 255, 0.3);\n --huyooo-danger: #cf2d56;\n --huyooo-success: #1f8a65;\n --huyooo-warning: #f59e0b;\n --huyooo-danger-bg: rgba(207, 45, 86, 0.14);\n --huyooo-danger-border: rgba(207, 45, 86, 0.28);\n --huyooo-success-bg: rgba(31, 138, 101, 0.14);\n --huyooo-success-border: rgba(31, 138, 101, 0.28);\n --huyooo-warning-bg: rgba(245, 158, 11, 0.12);\n --huyooo-warning-border: rgba(245, 158, 11, 0.25);\n --huyooo-overlay: rgba(0, 0, 0, 0.6);\n --huyooo-panel-bg: #252526;\n --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n --huyooo-code-bg: #1f2937;\n --huyooo-code-text: #e5e7eb;\n --huyooo-menu-bg: #252526;\n --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.45), 0 4px 6px -2px rgba(0, 0, 0, 0.35);\n --huyooo-filetype-folder: var(--huyooo-primary);\n}\n",".file-icon--folder {\n color: var(--huyooo-primary);\n fill: var(--huyooo-primary);\n}\n\n.file-icon--image {\n color: var(--huyooo-primary);\n}\n\n.file-icon--text {\n color: var(--huyooo-text-muted);\n}\n\n.file-icon--code {\n color: var(--huyooo-success);\n}\n\n.file-icon--music {\n color: var(--huyooo-danger);\n}\n\n.file-icon--video {\n color: var(--huyooo-primary);\n}\n\n.file-icon--pdf {\n color: var(--huyooo-danger);\n}\n\n.file-icon--application {\n color: var(--huyooo-primary);\n}\n\n.file-icon--archive {\n color: var(--huyooo-warning);\n}\n\n.file-icon--default {\n color: var(--huyooo-text-disabled);\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: var(--huyooo-muted-hover);\n}\n\n/* 选中状态 - macOS 风格的蓝色高亮 */\n.file-grid-item--selected {\n background: var(--huyooo-focus-ring);\n border-color: var(--huyooo-primary);\n}\n\n.file-grid-item--selected:hover {\n background: var(--huyooo-focus-ring);\n}\n\n/* 拖拽悬停 */\n.file-grid-item--drag-over {\n background: var(--huyooo-focus-ring);\n border-color: var(--huyooo-primary);\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: var(--huyooo-shadow-sm);\n background: var(--huyooo-muted);\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 0 0 2px var(--huyooo-primary), 0 0 0 6px var(--huyooo-focus-ring);\n}\n\n/* 视频缩略图容器 */\n.file-grid-item-thumbnail--video {\n position: relative;\n border-radius: 4px;\n overflow: hidden;\n background: var(--huyooo-overlay-strong);\n width: 48px;\n height: 48px;\n box-shadow: var(--huyooo-shadow-sm);\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: var(--huyooo-overlay);\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: var(--huyooo-text);\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-base--two-lines {\n -webkit-line-clamp: 2;\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 var(--huyooo-primary);\n border-radius: 3px;\n outline: none;\n box-shadow: 0 0 0 3px var(--huyooo-focus-ring);\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n cursor: text;\n}\n\n/* 深色模式由 token 负责 */\n",".sort-indicator {\n margin-left: 4px;\n display: inline-flex;\n align-items: center;\n color: var(--huyooo-primary);\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: var(--huyooo-text-muted);\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n position: sticky;\n top: 0;\n background: var(--huyooo-surface);\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 var(--huyooo-border);\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: var(--huyooo-muted-hover);\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: color-mix(in srgb, var(--huyooo-muted) 20%, transparent);\n}\n\n/* 悬停效果 */\n.file-list-row--even:hover,\n.file-list-row--odd:hover {\n background: var(--huyooo-muted-hover);\n}\n\n/* 选中状态 - macOS 风格整行高亮 */\n.file-list-row--selected {\n background: var(--huyooo-primary);\n color: white;\n}\n\n.file-list-row--selected:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n/* 拖拽悬停 */\n.file-list-row--drag-over {\n background: var(--huyooo-focus-ring);\n border-bottom-color: var(--huyooo-primary);\n}\n\n/* 单元格 - 更紧凑的行高 */\n.file-list-cell {\n padding: 4px 12px;\n white-space: nowrap;\n color: var(--huyooo-text-muted);\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: var(--huyooo-on-primary-muted);\n}\n\n/* 大小列 - 等宽字体 */\n.file-list-cell--size {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 11px;\n color: var(--huyooo-text-disabled);\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: var(--huyooo-text);\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 var(--huyooo-primary);\n border-radius: 4px;\n outline: none;\n box-shadow: 0 0 0 3px var(--huyooo-focus-ring);\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n cursor: text;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text-disabled);\n gap: 16px;\n}\n\n.file-list-view-spinner {\n width: 32px;\n height: 32px;\n border: 3px solid color-mix(in srgb, var(--huyooo-text-disabled) 20%, transparent);\n border-top-color: var(--huyooo-primary);\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: var(--huyooo-muted);\n backdrop-filter: blur(24px);\n border-right: 1px solid var(--huyooo-border);\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: var(--huyooo-scrollbar);\n border-radius: 3px;\n}\n\n.file-sidebar::-webkit-scrollbar-thumb:hover {\n background: var(--huyooo-scrollbar-hover);\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: var(--huyooo-text-muted);\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: var(--huyooo-text-muted);\n transition: all 200ms;\n /* no-drag 已由 section 继承 */\n}\n\n.file-sidebar-item:hover {\n background: var(--huyooo-muted-hover);\n color: var(--huyooo-text);\n}\n\n.file-sidebar-item--active {\n background: var(--huyooo-muted-hover);\n color: var(--huyooo-text);\n}\n\n.file-sidebar-item-icon {\n color: var(--huyooo-text-muted);\n}\n\n.file-sidebar-item-icon--active {\n color: var(--huyooo-primary);\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: var(--huyooo-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.file-breadcrumb-link:hover {\n background: var(--huyooo-muted-hover);\n color: var(--huyooo-text);\n}\n\n.file-breadcrumb-link--current {\n font-weight: 600;\n color: var(--huyooo-text);\n background: var(--huyooo-muted);\n cursor: default;\n}\n\n.file-breadcrumb-link--current:hover {\n background: var(--huyooo-muted);\n}\n\n.file-breadcrumb-separator {\n color: var(--huyooo-text-disabled);\n margin: 0 0.25rem;\n flex-shrink: 0;\n}\n\n",".file-toolbar {\n height: 48px;\n background: var(--huyooo-surface);\n backdrop-filter: blur(12px);\n border-bottom: 1px solid var(--huyooo-border);\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: var(--huyooo-text-muted);\n background: var(--huyooo-muted);\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: var(--huyooo-text);\n}\n\n.file-toolbar-button:hover:not(:disabled) {\n background: var(--huyooo-muted-hover);\n}\n\n.file-toolbar-button:disabled {\n color: var(--huyooo-text-disabled);\n cursor: default;\n}\n\n.file-toolbar-button--active {\n background: var(--huyooo-surface-2);\n box-shadow: var(--huyooo-shadow-sm);\n color: var(--huyooo-text);\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: var(--huyooo-text-disabled);\n transition: color 200ms;\n}\n\n.file-toolbar-search:focus-within .file-toolbar-search-icon {\n color: var(--huyooo-primary);\n}\n\n.file-toolbar-search-input {\n background: var(--huyooo-muted);\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: var(--huyooo-text);\n}\n\n.file-toolbar-search-input::placeholder {\n color: var(--huyooo-text-disabled);\n}\n\n.file-toolbar-search-input:focus {\n background: var(--huyooo-surface-2);\n border-color: var(--huyooo-primary);\n box-shadow: 0 0 0 2px var(--huyooo-focus-ring);\n width: 12rem;\n}\n\n.file-toolbar-view-toggle {\n display: flex;\n align-items: center;\n background: var(--huyooo-muted);\n border-radius: 0.5rem;\n padding: 0.125rem;\n color: var(--huyooo-text-muted);\n}\n\n.file-toolbar-view-toggle .file-toolbar-button--active {\n background: var(--huyooo-surface-2);\n box-shadow: var(--huyooo-shadow-sm);\n color: var(--huyooo-text);\n}\n\n.file-toolbar-view-toggle .file-toolbar-button:not(.file-toolbar-button--active):hover {\n background: var(--huyooo-muted-hover);\n}\n\n",".file-status-bar {\n height: 32px;\n background-color: var(--huyooo-surface-2);\n border-top: 1px solid var(--huyooo-border);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 8px;\n font-size: 10px;\n color: var(--huyooo-text-muted);\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: var(--huyooo-menu-bg);\n backdrop-filter: blur(24px);\n border: 1px solid var(--huyooo-border);\n border-radius: 0.5rem;\n box-shadow: var(--huyooo-menu-shadow);\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: var(--huyooo-text);\n transition: all 200ms;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n.context-menu-item:hover {\n background: var(--huyooo-primary);\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: var(--huyooo-on-primary-muted);\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: var(--huyooo-text);\n}\n\n.context-menu-item--disabled:hover .context-menu-item-icon {\n color: var(--huyooo-text-muted);\n}\n\n.context-menu-item--danger {\n color: var(--huyooo-danger);\n}\n\n.context-menu-item--danger:hover {\n background: var(--huyooo-danger);\n color: white;\n}\n\n.context-menu-item--danger .context-menu-item-icon {\n color: var(--huyooo-danger);\n}\n\n.context-menu-item--danger:hover .context-menu-item-icon {\n color: white;\n}\n\n.context-menu-item-icon {\n color: var(--huyooo-text-muted);\n flex-shrink: 0;\n}\n\n.context-menu-item-label {\n flex: 1;\n}\n\n.context-menu-item-shortcut {\n color: var(--huyooo-text-disabled);\n font-size: 0.6875rem;\n}\n\n.context-menu-separator {\n height: 1px;\n background: var(--huyooo-border);\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: var(--huyooo-primary);\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: var(--huyooo-on-primary-muted);\n}\n\n.context-menu-item-check {\n color: var(--huyooo-text-muted);\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: var(--huyooo-text-disabled);\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: var(--huyooo-overlay);\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: var(--huyooo-panel-bg);\n backdrop-filter: blur(24px);\n border: 1px solid var(--huyooo-border);\n box-shadow: var(--huyooo-shadow-lg);\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 var(--huyooo-border);\n flex-shrink: 0;\n user-select: none;\n background: var(--huyooo-surface);\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: var(--huyooo-shadow-sm);\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: var(--huyooo-window-close-bg);\n border-color: var(--huyooo-window-close-border);\n}\n\n.window-control-button--minimize {\n background-color: var(--huyooo-window-minimize-bg);\n border-color: var(--huyooo-window-minimize-border);\n}\n\n.window-control-button--maximize {\n background-color: var(--huyooo-window-maximize-bg);\n border-color: var(--huyooo-window-maximize-border);\n}\n\n.window-control-icon {\n color: var(--huyooo-window-control-icon);\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: color-mix(in srgb, var(--huyooo-window-close-bg) 80%, transparent);\n}\n\n.window-control-button--minimize:hover {\n background-color: color-mix(in srgb, var(--huyooo-window-minimize-bg) 80%, transparent);\n}\n\n.window-control-button--maximize:hover {\n background-color: color-mix(in srgb, var(--huyooo-window-maximize-bg) 80%, transparent);\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: var(--huyooo-text-muted);\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: var(--huyooo-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n}\n\n.compress-dialog {\n background: var(--huyooo-panel-bg);\n border-radius: 12px;\n box-shadow: var(--huyooo-shadow-lg);\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 var(--huyooo-border);\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: var(--huyooo-text);\n}\n\n.compress-dialog-close {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: var(--huyooo-text-muted);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.compress-dialog-close:hover {\n background: var(--huyooo-muted);\n color: var(--huyooo-text);\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: var(--huyooo-surface);\n border-radius: 8px;\n color: var(--huyooo-text);\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: var(--huyooo-text);\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 var(--huyooo-border);\n border-radius: 6px 0 0 6px;\n font-size: 14px;\n outline: none;\n transition: border-color 0.2s;\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n}\n\n.compress-dialog-input-group input:focus {\n border-color: var(--huyooo-primary);\n}\n\n.compress-dialog-ext {\n padding: 8px 12px;\n background: var(--huyooo-muted);\n border: 1px solid var(--huyooo-border);\n border-left: none;\n border-radius: 0 6px 6px 0;\n font-size: 14px;\n color: var(--huyooo-text-muted);\n}\n\n.compress-dialog-toggle-password {\n padding: 8px 12px;\n background: var(--huyooo-muted);\n border: 1px solid var(--huyooo-border);\n border-left: none;\n border-radius: 0 6px 6px 0;\n font-size: 12px;\n color: var(--huyooo-primary);\n cursor: pointer;\n}\n\n.compress-dialog-toggle-password:hover {\n background: var(--huyooo-muted-hover);\n}\n\n.compress-dialog-field select {\n padding: 8px 12px;\n border: 1px solid var(--huyooo-border);\n border-radius: 6px;\n font-size: 14px;\n outline: none;\n background: var(--huyooo-surface-2);\n color: var(--huyooo-text);\n cursor: pointer;\n}\n\n.compress-dialog-field select:focus {\n border-color: var(--huyooo-primary);\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 var(--huyooo-border);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.compress-dialog-level:hover {\n background: var(--huyooo-surface);\n}\n\n.compress-dialog-level:has(input:checked) {\n border-color: var(--huyooo-primary);\n background: var(--huyooo-focus-ring);\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: var(--huyooo-text);\n}\n\n.compress-dialog-level-desc {\n font-size: 12px;\n color: var(--huyooo-text-muted);\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: var(--huyooo-text);\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: var(--huyooo-surface);\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: var(--huyooo-text-muted);\n}\n\n.compress-dialog-preview-path {\n color: var(--huyooo-text);\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 var(--huyooo-border);\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: var(--huyooo-surface-2);\n border: 1px solid var(--huyooo-border);\n color: var(--huyooo-text);\n}\n\n.compress-dialog-btn-cancel:hover {\n background: var(--huyooo-surface);\n}\n\n.compress-dialog-btn-confirm {\n background: var(--huyooo-primary);\n border: 1px solid var(--huyooo-primary);\n color: white;\n}\n\n.compress-dialog-btn-confirm:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n.compress-dialog-btn-confirm:disabled {\n background: var(--huyooo-text-disabled);\n border-color: var(--huyooo-text-disabled);\n cursor: not-allowed;\n}\n\n",".progress-dialog-overlay {\n position: fixed;\n inset: 0;\n background: var(--huyooo-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10001;\n}\n\n.progress-dialog {\n background: var(--huyooo-panel-bg);\n border-radius: 12px;\n box-shadow: var(--huyooo-shadow-lg);\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 var(--huyooo-border);\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: var(--huyooo-text);\n}\n\n.progress-dialog-close {\n background: none;\n border: none;\n padding: 4px;\n cursor: pointer;\n color: var(--huyooo-text-muted);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.progress-dialog-close:hover {\n background: var(--huyooo-muted);\n color: var(--huyooo-text);\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: var(--huyooo-text);\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: var(--huyooo-border);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.progress-dialog-bar-fill {\n height: 100%;\n background: var(--huyooo-primary);\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: var(--huyooo-text);\n min-width: 40px;\n text-align: right;\n}\n\n.progress-dialog-current-file {\n font-size: 12px;\n color: var(--huyooo-text-muted);\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: var(--huyooo-text-muted);\n text-align: center;\n}\n\n.progress-dialog-error {\n padding: 12px;\n background: var(--huyooo-danger-bg);\n border: 1px solid var(--huyooo-danger-border);\n border-radius: 6px;\n color: var(--huyooo-danger);\n font-size: 13px;\n}\n\n.progress-dialog-output {\n padding: 12px;\n background: var(--huyooo-success-bg);\n border: 1px solid var(--huyooo-success-border);\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: var(--huyooo-success);\n font-weight: 500;\n}\n\n.progress-dialog-output-path {\n color: var(--huyooo-success);\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 var(--huyooo-border);\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: var(--huyooo-surface-2);\n border: 1px solid var(--huyooo-border);\n color: var(--huyooo-text);\n}\n\n.progress-dialog-btn-cancel:hover {\n background: var(--huyooo-surface);\n}\n\n.progress-dialog-btn-folder {\n background: var(--huyooo-success-bg);\n border: 1px solid var(--huyooo-success-border);\n color: var(--huyooo-success);\n}\n\n.progress-dialog-btn-folder:hover {\n background: color-mix(in srgb, var(--huyooo-success-bg) 75%, var(--huyooo-success) 25%);\n}\n\n.progress-dialog-btn-close {\n background: var(--huyooo-primary);\n border: 1px solid var(--huyooo-primary);\n color: white;\n}\n\n.progress-dialog-btn-close:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n/* 旋转动画 */\n.progress-dialog-icon-spin {\n animation: spin 1s linear infinite;\n color: var(--huyooo-primary);\n}\n\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n.progress-dialog-icon-success {\n color: var(--huyooo-success);\n}\n\n.progress-dialog-icon-error {\n color: var(--huyooo-danger);\n}\n\n","/* FileInfoDialog 样式 */\n\n.file-info-dialog-overlay {\n position: fixed;\n inset: 0;\n background: var(--huyooo-overlay);\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: var(--huyooo-panel-bg);\n border: 1px solid var(--huyooo-border);\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: var(--huyooo-menu-shadow);\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/* 深色模式由 token 负责 */\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 var(--huyooo-border);\n gap: 12px;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text-muted);\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: var(--huyooo-muted);\n color: var(--huyooo-text);\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-text-muted);\n font-size: 13px;\n}\n\n/* 深色模式由 token 负责 */\n\n.file-info-label svg {\n flex-shrink: 0;\n}\n\n.file-info-value {\n flex: 1;\n color: var(--huyooo-text);\n font-size: 13px;\n word-break: break-all;\n line-height: 1.4;\n}\n\n/* 深色模式由 token 负责 */\n\n.file-info-value--path {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;\n font-size: 12px;\n background: var(--huyooo-code-bg);\n color: var(--huyooo-code-text);\n padding: 4px 8px;\n border-radius: 4px;\n user-select: all;\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-filetype-folder);\n}\n\n.file-info-icon--image {\n color: var(--huyooo-filetype-image);\n}\n\n.file-info-icon--video {\n color: var(--huyooo-filetype-video);\n}\n\n.file-info-icon--music {\n color: var(--huyooo-filetype-music);\n}\n\n.file-info-icon--document {\n color: var(--huyooo-filetype-document);\n}\n\n.file-info-icon--code {\n color: var(--huyooo-filetype-code);\n}\n\n.file-info-icon--archive {\n color: var(--huyooo-filetype-archive);\n}\n\n.file-info-icon--file {\n color: var(--huyooo-filetype-file);\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 var(--huyooo-border);\n}\n\n/* 深色模式由 token 负责 */\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: var(--huyooo-primary);\n color: white;\n}\n\n.file-info-dialog-btn:hover {\n background: var(--huyooo-primary-hover, var(--huyooo-primary));\n}\n\n"],"mappings":"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","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -1249,7 +1249,10 @@ function FileName({
|
|
|
1249
1249
|
children: ext ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1250
1250
|
/* @__PURE__ */ jsx2("span", { className: "file-grid-item-name-base", children: baseName }),
|
|
1251
1251
|
/* @__PURE__ */ jsx2("span", { className: "file-grid-item-name-ext", children: ext })
|
|
1252
|
-
] }) :
|
|
1252
|
+
] }) : (
|
|
1253
|
+
// 无扩展名(包含文件夹/无扩展名文件/隐藏文件等):允许两行并省略
|
|
1254
|
+
/* @__PURE__ */ jsx2("span", { className: "file-grid-item-name-base file-grid-item-name-base--two-lines", children: baseName })
|
|
1255
|
+
)
|
|
1253
1256
|
}
|
|
1254
1257
|
);
|
|
1255
1258
|
}
|