@emailmaker/filemanager 0.0.1
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/app/themeProvider/ThemeProvider.d.ts +7 -0
- package/app/themeProvider/index.d.ts +1 -0
- package/components/CloseButton/CloseButton.d.ts +10 -0
- package/components/EmIcons/EmIcons.d.ts +14 -0
- package/components/FileContent/FileContent.d.ts +30 -0
- package/components/FileContent/GridView.d.ts +11 -0
- package/components/FileManagerApp/ActionsHeader.d.ts +14 -0
- package/components/FileManagerApp/FileManagerApp.d.ts +29 -0
- package/components/FileModals/FileModals.d.ts +37 -0
- package/components/FolderSidebar/FolderSidebar.d.ts +20 -0
- package/components/ImageAI/ImageAI.d.ts +4 -0
- package/components/ImageAI/SlideShowForImageAI/SlideShowForImageAI.d.ts +7 -0
- package/components/ImageAI/useImageAIGeneration/useImageAIGeneration.d.ts +2 -0
- package/components/ImageGif/ImageGif.d.ts +4 -0
- package/components/ImageStock/ImageStock.d.ts +4 -0
- package/components/LimitsCounter/LimitsCounter.d.ts +10 -0
- package/components/PixieEditor/PixieEditorIframe.d.ts +10 -0
- package/components/PixieEditor/index.d.ts +1 -0
- package/components/SearchInput/SearchInput.d.ts +8 -0
- package/components/SearchInput/index.d.ts +1 -0
- package/components/Tag/index.d.ts +11 -0
- package/components/UploadProgress/UploadProgress.d.ts +20 -0
- package/components/UploadProgress/index.d.ts +2 -0
- package/components/ViewModeToggle/ViewModeToggle.d.ts +9 -0
- package/components/index.d.ts +5 -0
- package/config/config.d.ts +5 -0
- package/config/usersConfigs/index.d.ts +26 -0
- package/constants/index.d.ts +11 -0
- package/debug-script.js +1 -0
- package/dev/index.d.ts +4 -0
- package/file-manager.css +1 -0
- package/file-manager.d.ts +46 -0
- package/file-manager.esm.js +2 -0
- package/file-manager.esm.js.map +1 -0
- package/file-manager.js +2 -0
- package/file-manager.js.LICENSE.txt +110 -0
- package/helpers/gtm.d.ts +16 -0
- package/hooks/core/context.d.ts +15 -0
- package/hooks/core/files/index.d.ts +4 -0
- package/hooks/core/files/useFilesAPI.d.ts +16 -0
- package/hooks/core/files/useFilesAPIHelpers.d.ts +18 -0
- package/hooks/core/files/useFilesModals.d.ts +20 -0
- package/hooks/core/files/useFilesSelection.d.ts +10 -0
- package/hooks/core/index.d.ts +11 -0
- package/hooks/core/temp/context.d.ts +0 -0
- package/hooks/core/types.d.ts +160 -0
- package/hooks/core/useFiles.d.ts +37 -0
- package/hooks/core/useFolderModals.d.ts +13 -0
- package/hooks/core/useFolders.d.ts +19 -0
- package/hooks/core/useModals.d.ts +17 -0
- package/hooks/core/useNavigation.d.ts +15 -0
- package/hooks/core/usePagination.d.ts +12 -0
- package/hooks/core/useSortAndFilter.d.ts +20 -0
- package/hooks/index.d.ts +5 -0
- package/hooks/useCustomIcons.d.ts +17 -0
- package/hooks/useFileActions.d.ts +21 -0
- package/hooks/useFileUpload.d.ts +16 -0
- package/hooks/useLastDirectory.d.ts +18 -0
- package/hooks/usePixieEditor.d.ts +15 -0
- package/hooks/useSidebarResize.d.ts +9 -0
- package/hooks/useViewMode.d.ts +7 -0
- package/i18n.d.ts +3 -0
- package/index.d.ts +13 -0
- package/index.html +141 -0
- package/loacal_module/pixie/dist/images/empty-canvas-bg.png +0 -0
- package/loacal_module/pixie/dist/pixie.es.js +2 -0
- package/loacal_module/pixie/dist/pixie.es.js.LICENSE.txt +86 -0
- package/loacal_module/pixie/dist/pixie.es.js.map +1 -0
- package/loacal_module/pixie/dist/pixie.umd.js +2 -0
- package/loacal_module/pixie/dist/pixie.umd.js.LICENSE.txt +116 -0
- package/loacal_module/pixie/dist/pixie.umd.js.map +1 -0
- package/mockServiceWorker.js +1 -0
- package/package.json +30 -0
- package/pixie-editor.html +187 -0
- package/shared/config.d.ts +13 -0
- package/shared/helpers/getParendFolderPath.d.ts +1 -0
- package/shared/helpers/index.d.ts +1 -0
- package/suppress-resize-observer-errors.js +1 -0
- package/test-pixie-loading.html +108 -0
- package/types.d.ts +379 -0
- package/utils/fileValidation.d.ts +34 -0
- package/utils/resizeObserverHandler.d.ts +6 -0
- package/utils/themeUtils.d.ts +17 -0
- package/widgets/layout/errorBoundary/errorBoundary.d.ts +19 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ThemeProvider } from './ThemeProvider';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface CloseButtonProps {
|
|
3
|
+
onClose?: () => void;
|
|
4
|
+
hasUnsavedChanges?: boolean;
|
|
5
|
+
className?: string;
|
|
6
|
+
size?: 'small' | 'middle' | 'large';
|
|
7
|
+
showConfirmation?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const CloseButton: React.FC<CloseButtonProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Icon from '@ant-design/icons';
|
|
3
|
+
declare const EmIcons: {
|
|
4
|
+
MixedView: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
LandscapeView: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
PortraitView: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
SquareView: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
AiIcon: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
AiIcon_2: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
StockImagesIcon: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
GifIcon: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
MyFilesIcon: (props: React.ComponentProps<typeof Icon>) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
};
|
|
14
|
+
export default EmIcons;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { File as AppFile, PathItem, PaginationState } from '../../types';
|
|
3
|
+
import { SortByType, SortOrderType, SortOptionType } from '../../hooks/core/types';
|
|
4
|
+
import { UseFileUploadReturn } from '../../hooks/useFileUpload';
|
|
5
|
+
interface FileContentProps {
|
|
6
|
+
searchTerm: string;
|
|
7
|
+
sortField: string;
|
|
8
|
+
setSortField: (field: string) => void;
|
|
9
|
+
pathHistory: PathItem[];
|
|
10
|
+
handleBreadcrumbClick: (index: number) => void;
|
|
11
|
+
handleAddFile: () => void;
|
|
12
|
+
setIsUrlModalVisible: (visible: boolean) => void;
|
|
13
|
+
files: AppFile[];
|
|
14
|
+
handleSearch: (searchTerm: string) => void;
|
|
15
|
+
handleSort: (sortBy: SortByType, sortOrder: SortOrderType) => void;
|
|
16
|
+
sortBy: SortByType;
|
|
17
|
+
sortOrder: SortOrderType;
|
|
18
|
+
handleSortOptionChange: (option: SortOptionType) => void;
|
|
19
|
+
pagination: PaginationState;
|
|
20
|
+
setPagination: (pagination: Partial<PaginationState>) => void;
|
|
21
|
+
loading: boolean;
|
|
22
|
+
handleItemClick: (record: AppFile) => void;
|
|
23
|
+
handleDeleteFile: (fileId: string) => void;
|
|
24
|
+
selectedFiles: Set<string>;
|
|
25
|
+
toggleFileSelection: (fileId: string) => void;
|
|
26
|
+
handleDroppedFiles: (droppedFiles: globalThis.File[]) => Promise<void>;
|
|
27
|
+
fileUpload: UseFileUploadReturn;
|
|
28
|
+
}
|
|
29
|
+
export declare const FileContent: React.FC<FileContentProps>;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { File as AppFile } from '../../types';
|
|
3
|
+
interface GridViewProps {
|
|
4
|
+
files: AppFile[];
|
|
5
|
+
selectedFiles: Set<string>;
|
|
6
|
+
onFileSelect: (fileId: string) => void;
|
|
7
|
+
onFileDoubleClick: (file: AppFile) => void;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const GridView: React.FC<GridViewProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { File as AppFile } from '../../types';
|
|
3
|
+
interface ActionsHeaderProps {
|
|
4
|
+
selectedFiles: Set<string>;
|
|
5
|
+
onClearSelection: () => void;
|
|
6
|
+
onRename: () => void;
|
|
7
|
+
onDelete: () => void;
|
|
8
|
+
onCopy: () => void;
|
|
9
|
+
onMove: () => void;
|
|
10
|
+
onEdit: () => void;
|
|
11
|
+
files: AppFile[];
|
|
12
|
+
}
|
|
13
|
+
export declare const ActionsHeader: React.FC<ActionsHeaderProps>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Config, CustomIcons, FileManagerDataProviders, File } from '../../types';
|
|
3
|
+
import '../../styles/index.scss';
|
|
4
|
+
import '../../styles/variables.css';
|
|
5
|
+
interface FileManagerProps {
|
|
6
|
+
publicPath?: string;
|
|
7
|
+
config?: Config;
|
|
8
|
+
currentPath?: string;
|
|
9
|
+
onPathChange?: (path: string[]) => void;
|
|
10
|
+
onChangeSelection?: (files: File[]) => void;
|
|
11
|
+
searchQuery?: string;
|
|
12
|
+
sortBySize?: string;
|
|
13
|
+
dataProviders?: FileManagerDataProviders;
|
|
14
|
+
apiEndpoints?: {
|
|
15
|
+
getFolders?: string;
|
|
16
|
+
getFiles?: string;
|
|
17
|
+
createFolder?: string;
|
|
18
|
+
deleteFolder?: string;
|
|
19
|
+
addFile?: string;
|
|
20
|
+
deleteFile?: string;
|
|
21
|
+
renameFile?: string;
|
|
22
|
+
moveFile?: string;
|
|
23
|
+
updateFile?: string;
|
|
24
|
+
};
|
|
25
|
+
customIcons?: CustomIcons;
|
|
26
|
+
dragDropIcon?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const FileManagerApp: React.MemoExoticComponent<({ config, onPathChange, onChangeSelection, searchQuery, sortBySize, apiEndpoints, customIcons, dragDropIcon, dataProviders, publicPath, }: FileManagerProps) => import("react/jsx-runtime").JSX.Element>;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FormInstance } from 'antd/es/form';
|
|
3
|
+
import { Folder, File } from '../../types';
|
|
4
|
+
interface FileModalsProps {
|
|
5
|
+
isModalVisible: boolean;
|
|
6
|
+
handleModalOk: () => void;
|
|
7
|
+
handleModalCancel: () => void;
|
|
8
|
+
form: FormInstance;
|
|
9
|
+
selectedFolder: string | null;
|
|
10
|
+
folders: Folder[];
|
|
11
|
+
isUrlModalVisible: boolean;
|
|
12
|
+
setIsUrlModalVisible: (visible: boolean) => void;
|
|
13
|
+
handleAddFileByUrl: (url?: string | null) => void;
|
|
14
|
+
urlForm: FormInstance;
|
|
15
|
+
isRenameModalVisible: boolean;
|
|
16
|
+
handleRenameOk: () => void;
|
|
17
|
+
handleRenameCancel: () => void;
|
|
18
|
+
renameForm: FormInstance;
|
|
19
|
+
fileToRename: string | null;
|
|
20
|
+
files: File[];
|
|
21
|
+
isMoveModalVisible: boolean;
|
|
22
|
+
handleMoveOk: () => void;
|
|
23
|
+
handleMoveCancel: () => void;
|
|
24
|
+
moveForm: FormInstance;
|
|
25
|
+
selectedFiles: Set<string>;
|
|
26
|
+
isRenameFolderModalVisible: boolean;
|
|
27
|
+
handleRenameFolderOk: () => void;
|
|
28
|
+
handleRenameFolderCancel: () => void;
|
|
29
|
+
renameFolderForm: FormInstance;
|
|
30
|
+
folderToRename: string | null;
|
|
31
|
+
isCopyModalVisible: boolean;
|
|
32
|
+
handleCopyOk: () => void;
|
|
33
|
+
handleCopyCancel: () => void;
|
|
34
|
+
copyForm: FormInstance;
|
|
35
|
+
}
|
|
36
|
+
export declare const FileModals: React.FC<FileModalsProps>;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Folder, MenuItem, LibraryMenuKey } from '../../types';
|
|
3
|
+
interface FolderSidebarProps {
|
|
4
|
+
selectedFolder: string | null;
|
|
5
|
+
generateMenuItems: () => MenuItem[];
|
|
6
|
+
onFolderSelect: (folderId: string) => void;
|
|
7
|
+
folders: Folder[];
|
|
8
|
+
fetchFolders: () => Promise<void>;
|
|
9
|
+
handleAddFile: () => void;
|
|
10
|
+
setIsUrlModalVisible: (visible: boolean) => void;
|
|
11
|
+
activeLibraryItem: LibraryMenuKey;
|
|
12
|
+
setActiveLibraryItem: (item: LibraryMenuKey) => void;
|
|
13
|
+
handleDeleteFolder?: (folderId: string) => Promise<void>;
|
|
14
|
+
handleCreateFolder: () => void;
|
|
15
|
+
}
|
|
16
|
+
export interface FolderSidebarRef {
|
|
17
|
+
refreshFileCounts: () => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export declare const FolderSidebar: React.MemoExoticComponent<React.ForwardRefExoticComponent<FolderSidebarProps & React.RefAttributes<FolderSidebarRef>>>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { UseImageAIGenerationProps, UseImageAIGenerationReturn } from '../../../types';
|
|
2
|
+
export declare function useImageAIGeneration({ setModalHeight, customRequest, aiTabRef, isImageUploaded, setIsImageUploaded, aiImageRequest, imageAiList, setImageAiList, isLoadingAi, setIsLoadingAi, }: UseImageAIGenerationProps): UseImageAIGenerationReturn;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './LimitsCounter.scss';
|
|
3
|
+
interface LimitsCounterProps {
|
|
4
|
+
text?: string;
|
|
5
|
+
counter: number;
|
|
6
|
+
limits: number;
|
|
7
|
+
wrapperStyles?: React.CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
declare const LimitsCounter: ({ text, counter, limits, wrapperStyles }: LimitsCounterProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default LimitsCounter;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { File as AppFile, ThumbnailFile } from '../../types';
|
|
3
|
+
interface PixieEditorIframeProps {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
file: AppFile | ThumbnailFile | null;
|
|
7
|
+
onSave: (updatedFile: AppFile) => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare const PixieEditorIframe: React.FC<PixieEditorIframeProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PixieEditorIframe } from './PixieEditorIframe';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SearchInput } from './SearchInput';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface UploadFileItem {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
size: string;
|
|
6
|
+
status: 'uploading' | 'success' | 'error';
|
|
7
|
+
progress: number;
|
|
8
|
+
error?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface UploadProgressProps {
|
|
11
|
+
visible: boolean;
|
|
12
|
+
files: UploadFileItem[];
|
|
13
|
+
totalFiles: number;
|
|
14
|
+
completedFiles: number;
|
|
15
|
+
onClose: () => void;
|
|
16
|
+
onMinimize: () => void;
|
|
17
|
+
onInsert: (fileId: string) => void;
|
|
18
|
+
minimized?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const UploadProgress: React.FC<UploadProgressProps>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewMode } from '../../hooks/useViewMode';
|
|
3
|
+
interface ViewModeToggleProps {
|
|
4
|
+
viewMode: ViewMode;
|
|
5
|
+
onToggle: () => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const ViewModeToggle: React.FC<ViewModeToggleProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { FileManagerApp } from './FileManagerApp/FileManagerApp';
|
|
2
|
+
export { FolderSidebar } from './FolderSidebar/FolderSidebar';
|
|
3
|
+
export { FileContent } from './FileContent/FileContent';
|
|
4
|
+
export { FileModals } from './FileModals/FileModals';
|
|
5
|
+
export { SearchInput } from './SearchInput';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImageCenterUserConfig, PluginUserConfig, FileManagerUserConfig } from './usersConfigs';
|
|
2
|
+
export type ConfigPresetType = 'fileManager' | 'imageCenter' | 'plugin';
|
|
3
|
+
export type ConfigPreset = FileManagerUserConfig | ImageCenterUserConfig | PluginUserConfig;
|
|
4
|
+
export declare const config: (type?: ConfigPresetType, externalConfig?: Partial<ConfigPreset>) => ConfigPreset;
|
|
5
|
+
export type { ImageCenterUserConfig } from './usersConfigs';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface ImageCenterUserConfig {
|
|
2
|
+
locale: string;
|
|
3
|
+
mode: 'imageCenter';
|
|
4
|
+
theme: string;
|
|
5
|
+
enabledTabs: string[];
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}
|
|
8
|
+
export interface PluginUserConfig {
|
|
9
|
+
locale: string;
|
|
10
|
+
mode: 'plugin';
|
|
11
|
+
theme: string;
|
|
12
|
+
enabledTabs: string[];
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
export interface FileManagerUserConfig {
|
|
16
|
+
locale: string;
|
|
17
|
+
mode: 'fileManager';
|
|
18
|
+
theme: string;
|
|
19
|
+
enabledTabs: string[];
|
|
20
|
+
dragDropIcon?: string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
declare const IMAGE_CENTER_USER: ImageCenterUserConfig;
|
|
24
|
+
declare const PLUGIN_USER: PluginUserConfig;
|
|
25
|
+
declare const FILE_MANAGER_USER: FileManagerUserConfig;
|
|
26
|
+
export { IMAGE_CENTER_USER, PLUGIN_USER, FILE_MANAGER_USER };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const MY_FILES: "my_files";
|
|
2
|
+
export declare const GIF: "gif";
|
|
3
|
+
export declare const STOCK_IMAGES: "stock_images";
|
|
4
|
+
export declare const AI: "ai";
|
|
5
|
+
export declare const EDITOR: "editor";
|
|
6
|
+
export declare const PLUGIN: {
|
|
7
|
+
isPlugin: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const ERROR = "ERROR";
|
|
10
|
+
export declare const baseUrlGiphy = "https://api.giphy.com/v1/gifs";
|
|
11
|
+
export declare const fileForEdit = "data:image/png;base64,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T57s4D9lyhR7/PHH7d/+7d/8Otm7xX732WcfZ/WxRwpl8t3IkSPthz/8oa8A+Pe1r33N9txzTzvllFN8DD3//PP261//2pXPsGHDvG6nn3663XDDDbbzzjvbiSee6M+cO3eufe5zn/N75GfO34D7dddd59fQ1gceeMDNRbSFz9T9O9/5jm299dYup/vuu89++ctf2s9+9jObMGFCpS0//elP7cUXX7RzzjnHzU8APfV49dVXK2UjE8xS1P+rX/2ql0+ZTz31lP3qV7/yFQ/fTZw40Z9Ju0877TRDPu+9956deuqp9qUvfcmVKfXjNW7cODvkkEP8OsqnbYsWLbI//OEP9tBDD9mSJUtckSHPL3zhC34t9eO5XNsTk9HaPlnT9qUS6FOADRjFrPN3v/ud/eIXv3AQZTLLjY+JjEnkn//5n+366693MOa3q6++2n70ox+5GUV2cABx5syZdvPNN/t33Mc1H/vYx+z44493U8tll13mAAebpxzAEJCm7Jdeesm+8pWv+GdAFnAVWwR4qBcAC/P/n//5Hxs+fLj90z/9k/3tb3+z//3f/3XbOyD2D//wD942wHGdddbx5/3xj3/0+wH1z372sw5Kr7/+un3iE5+wE044wQGRZz3xxBOumCgTc9Add9xh3/zmN+2YY47x67D38yzAEZBGAd12220OppiMAEtkRlmAK+UgD57NvgAKDTkcccQRFTkjo+nTp7siw0wFoPJ5r732ctnRTmR5zz332Pz58+373/++389G8cEHH+zy2mOPPRx4R4wY4c9D4Xz729+2j3/84w7MvKNceac8ZP/d737X/uM//sP2228/V4woFOScvlIJpBII3mVyNABbujQBl3uwza8lO2aLlX2JYcmlD/YFAD322GOVior5YhL5f//v/zkQjBo1yif7Lbfc4t89/fTTzsyY6DBagAv2DSgcdthhzkIBe7E2mgVA8BuAAUAhlH//93939gfQyEbMPdSPd+oLCH/+85/3511wwQWuXABw6gGA8aKcv/71r3beeefZBhts4G2hbph8AFrAHObJM/GKoR5suO6www5+HW38wQ9+4EALOAPwMGqeATACerQNoNxll128DSgbwBagZ5UB8FFv6vLII494m6gz933yk590b5vvfe97XgeuQxlMnTrVy2JFQB0BY5QMspZJBuWIouS6Aw44wMGbdk+a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";
|
package/debug-script.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
document.addEventListener("DOMContentLoaded",(()=>{const e=document.createElement("div");e.style.padding="20px",e.style.margin="20px",e.style.background="#f0f0f0",e.style.border="1px solid #ddd",e.style.borderRadius="5px";const t=document.createElement("h1");t.textContent="Отладка структуры папок файлового менеджера",e.appendChild(t);const r=document.createElement("button");r.textContent="Проверить состояние сервера",r.style.padding="10px 15px",r.style.margin="10px 0",r.style.background="#722ed1",r.style.color="white",r.style.border="none",r.style.borderRadius="4px",r.style.cursor="pointer",e.appendChild(r);const n=document.createElement("button");n.textContent="Проверить и исправить циклические зависимости",n.style.padding="10px 15px",n.style.margin="10px 0 10px 10px",n.style.background="#1890ff",n.style.color="white",n.style.border="none",n.style.borderRadius="4px",n.style.cursor="pointer",e.appendChild(n);const o=document.createElement("button");o.textContent="Тест создания папки",o.style.padding="10px 15px",o.style.margin="10px 0 10px 10px",o.style.background="#52c41a",o.style.color="white",o.style.border="none",o.style.borderRadius="4px",o.style.cursor="pointer",e.appendChild(o);const s=document.createElement("div");function d(e,t="info"){const r=document.createElement("div");switch(r.style.margin="5px 0",r.style.padding="5px",t){case"error":r.style.color="#ff4d4f",r.style.fontWeight="bold";break;case"success":r.style.color="#52c41a";break;case"warning":r.style.color="#faad14";break;default:r.style.color="#222"}r.textContent=`[${(new Date).toLocaleTimeString()}] ${e}`,s.appendChild(r),s.scrollTop=s.scrollHeight,console.log(`[DEBUG] ${e}`)}s.style.marginTop="20px",s.style.padding="15px",s.style.background="#fff",s.style.border="1px solid #ddd",s.style.borderRadius="4px",s.style.height="400px",s.style.overflowY="auto",s.style.fontFamily="monospace",e.appendChild(s),document.getElementById("root").appendChild(e),r.addEventListener("click",(()=>{if(s.innerHTML="",d("Проверка состояния сервера..."),window.server){d("Сервер инициализирован!","success"),d(`Версия Mirage: ${window.server.miragejs.VERSION||"неизвестна"}`),d("Доступные модели:");try{const e=window.server.db._collections;for(const t in e)d(`- ${t}: ${e[t].length} записей`)}catch(e){d(`Ошибка при получении моделей: ${e.message}`,"error")}d("Проверка доступа к API..."),fetch("/api/folders").then((e=>{if(e.ok)return d("API /api/folders доступен","success"),e.json();throw new Error(`HTTP ошибка ${e.status}`)})).then((e=>{d(`Получено ${e.folders?.length||0} папок`)})).catch((e=>{d(`Ошибка при доступе к API: ${e.message}`,"error")}))}else d("Сервер не найден в глобальном объекте window!","error"),d("Проверяем доступность API напрямую..."),fetch("/api/folders").then((e=>{if(!e.ok)throw new Error(`HTTP ошибка ${e.status}`);d("API /api/folders доступен несмотря на отсутствие объекта server","success")})).catch((e=>{d(`API недоступен: ${e.message}`,"error"),d("Возможно, сервер не запущен или не настроен правильно","warning")}))})),n.addEventListener("click",(async()=>{s.innerHTML="",d("Начинаем проверку структуры папок...");try{d("Загрузка списка папок...");const r=await fetch("/api/folders");if(!r.ok)throw new Error(`Ошибка при загрузке папок: ${r.status}`);const n=(await r.json()).folders||[];d(`Загружено ${n.length} папок`,"success");const o=n.filter((e=>e.id===e.parentId&&null!==e.parentId));if(o.length>0){d(`Обнаружено ${o.length} папок с прямыми циклическими зависимостями:`,"error"),o.forEach((e=>{d(`- Папка "${e.name}" (ID: ${e.id}) является родителем самой себя`,"error")})),d("Исправление прямых циклических зависимостей...");for(const u of o)d(`Исправление папки "${u.name}" (ID: ${u.id})...`),(await fetch(`/api/folders/${u.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({parentId:null})}).catch((e=>{if(d(`API метод PATCH не поддерживается: ${e.message}`,"warning"),d(`Симуляция исправления: window.server.db.folders.update(${u.id}, { parentId: null })`,"info"),window.server&&window.server.db&&window.server.db.folders){const e=window.server.db.folders.update(u.id,{parentId:null});return{ok:!0,json:()=>e}}return{ok:!1}}))).ok?d(`Папка "${u.name}" исправлена`,"success"):d(`Не удалось исправить папку "${u.name}"`,"error")}else d("Прямых циклических зависимостей не обнаружено","success");function e(e){const t=[];for(const r of e){if(!r.parentId)continue;const n=new Set;let o=r.parentId;for(;o;){if(n.has(o)){t.push(r);break}if(o===r.id)break;n.add(o);const s=e.find((e=>e.id===o));if(!s)break;o=s.parentId}}return t}d("Проверка на непрямые циклические зависимости...");const a=e(n);if(a.length>0){d(`Обнаружено ${a.length} папок с непрямыми циклическими зависимостями:`,"error"),a.forEach((e=>{d(`- Папка "${e.name}" (ID: ${e.id}) имеет циклическую зависимость через родителя ${e.parentId}`,"error")})),d("Исправление непрямых циклических зависимостей...");for(const h of a)d(`Исправление папки "${h.name}" (ID: ${h.id})...`),(await fetch(`/api/folders/${h.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({parentId:null})}).catch((e=>{if(d(`API метод PATCH не поддерживается: ${e.message}`,"warning"),d(`Симуляция исправления: window.server.db.folders.update(${h.id}, { parentId: null })`,"info"),window.server&&window.server.db&&window.server.db.folders){const e=window.server.db.folders.update(h.id,{parentId:null});return{ok:!0,json:()=>e}}return{ok:!1}}))).ok?d(`Папка "${h.name}" исправлена`,"success"):d(`Не удалось исправить папку "${h.name}"`,"error")}else d("Непрямых циклических зависимостей не обнаружено","success");d("Выполняем повторную проверку после исправлений...");const i=await fetch("/api/folders"),l=(await i.json()).folders||[],c=l.filter((e=>e.id===e.parentId&&null!==e.parentId)),p=e(l);0===c.length&&0===p.length?d("Все циклические зависимости успешно устранены!","success"):d(`Осталось нерешенных проблем: ${c.length+p.length}`,"warning"),d("Итоговая структура папок:");const f={};function t(e,r=0){d(`${" ".repeat(r)}└─ ${e.name} (ID: ${e.id})`),l.filter((t=>t.parentId===e.id)).forEach((e=>{t(e,r+1)}))}l.forEach((e=>{f[e.id]?f[e.id]={...f[e.id],...e}:f[e.id]={...e,children:[]}})),l.forEach((e=>{e.parentId&&f[e.parentId]&&f[e.parentId].children.push(f[e.id])})),l.filter((e=>!e.parentId)).forEach((e=>{t(e)}))}catch(y){d(`Ошибка при выполнении проверки: ${y.message}`,"error"),console.error("Ошибка при отладке:",y)}})),o.addEventListener("click",(async()=>{s.innerHTML="",d("Тестирование создания папки...");try{const e=`Тестовая папка ${(new Date).toLocaleTimeString()}`;d(`Создаем папку "${e}" в корневом каталоге...`);const t=await fetch("/api/folders",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,parentId:null})});d(`Статус ответа: ${t.status} ${t.statusText}`);const r=await t.json();d("Структура ответа сервера:");const n=JSON.stringify(r,null,2),o=document.createElement("pre");if(o.style.backgroundColor="#f5f5f5",o.style.padding="10px",o.style.borderRadius="4px",o.style.fontSize="12px",o.style.overflow="auto",o.style.maxHeight="200px",o.textContent=n,s.appendChild(o),t.ok){d(`Папка "${e}" успешно создана!`,"success"),r.folder?(d(`ID новой папки: ${r.folder.id}`,"success"),d("Формат ответа: { folder: {...} }","info")):r.id?(d(`ID новой папки: ${r.id}`,"success"),d("Формат ответа: {...}","info")):d("Некорректный формат ответа: отсутствует ID папки","error"),d("Проверяем, что папка появилась в списке...");const t=await fetch("/api/folders"),n=(await t.json()).folders||[],o=r.folder?r.folder.id:r.id,s=n.find((e=>e.id===o));s?d(`Папка "${s.name}" найдена в списке!`,"success"):d("Папка не найдена в списке после создания!","error")}else d(`Ошибка при создании папки: ${r.error||"Неизвестная ошибка"}`,"error")}catch(e){d(`Ошибка при тестировании: ${e.message}`,"error"),console.error("Ошибка при тестировании создания папки:",e)}}))}));
|
package/dev/index.d.ts
ADDED
package/file-manager.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.FileContent-module_contentLayout__sTASH{display:flex;flex-direction:column;height:100%;padding:16px}.FileContent-module_headerContainer__txpS3{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.FileContent-module_actionsContainer__aGBPO{display:flex;gap:8px}.FileContent-module_filesContainer__-lhwW{display:flex;flex:1;flex-direction:column;overflow:hidden}.FileContent-module_searchContainer__E3ZcR{align-items:center;display:flex;gap:16px;width:300px}.FileContent-module_breadcrumbContainer__WgYX7{margin-bottom:16px}.FileContent-module_paginationContainer__UNCbm{display:flex;justify-content:center;margin-top:16px}.FileContent-module_paginationContainerEnd__8muol{display:flex;justify-content:flex-end;margin-top:16px}.FileContent-module_uploadZone__CEMPU{align-items:center;animation:FileContent-module_uploadZoneFadeIn__hJisr .3s ease-out;backdrop-filter:blur(4px);background-color:#fffffff2;border:3px solid var(--fm-primary);border-radius:var(--fm-radius-none);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;transition:all var(--fm-transition-normal);z-index:1000}.FileContent-module_uploadZone__CEMPU.FileContent-module_active__yeq9X{background-color:#e6f7fff2;border-color:var(--fm-primary);box-shadow:0 0 20px #1890ff4d}.FileContent-module_uploadIcon__J5mh2{animation:FileContent-module_uploadIconPulse__SiFbs 2s infinite;color:var(--fm-primary);font-size:64px;margin-bottom:var(--fm-spacing-lg)}.FileContent-module_uploadText__DfkSn{color:var(--fm-primary);font-size:18px;font-weight:500;margin-top:var(--fm-spacing-sm);text-align:center}.FileContent-module_uploadSubtext__STukW{color:var(--fm-text-secondary);font-size:14px;margin-top:var(--fm-spacing-xs);text-align:center}@keyframes FileContent-module_uploadZoneFadeIn__hJisr{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes FileContent-module_uploadIconPulse__SiFbs{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.FileContent-module_tableContainer__a3hNy{flex:1;overflow:auto}.FileContent-module_imagePreview__vqP3E{display:block;max-width:100%;transition:transform .3s ease}.FileContent-module_imagePreview__vqP3E:hover{transform:scale(1.05)}.FileContent-module_fileManagerTableFolder__-vjMC{align-items:center;display:flex;height:100px;justify-content:center;width:100px}.FileContent-module_fileManagerTableFolderInner__3rwlV{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.FileContent-module_breadcrumbLink__L-izH{cursor:pointer}.FileContent-module_sortSelect__URdFc{width:140px}.FileContent-module_fileName__-W5hx{font-weight:500}.FileContent-module_fileNameClickable__-dkFa{cursor:pointer;font-weight:500}.FileContent-module_fileItemCount__nqa8b{color:var(--fm-text-tertiary);font-size:12px;margin-top:2px}.FileContent-module_fileDate__VCvbK,.FileContent-module_fileSize__1-zTV{color:var(--fm-text-tertiary)}.FileContent-module_tableImagePreview__3rXQL{border-radius:4px;object-fit:contain}.FileContent-module_tableFolderIcon__3KP-i{color:var(--fm-blue-light);font-size:28px}.FileContent-module_gridRow__UYlVe{margin-top:16px}.FileContent-module_gridCardSelected__jnkTP,.FileContent-module_gridCard__J9MPA{border-radius:8px;height:100%;overflow:hidden;width:200px}.FileContent-module_gridCardContent__c2kwA{padding:0;position:relative}.FileContent-module_gridCheckbox__H79zh{left:8px;position:absolute;top:8px;z-index:1}.FileContent-module_gridPreviewContainer__VyvXP{background:var(--fm-bg-quaternary);display:flex}.FileContent-module_gridPreviewContainerFolder__Z8UhZ,.FileContent-module_gridPreviewContainer__VyvXP{align-items:center;border-radius:var(--fm-radius-md);justify-content:center;margin-bottom:var(--fm-spacing-sm);width:100%}.FileContent-module_gridPreviewContainerFolder__Z8UhZ{aspect-ratio:1/1;display:flex!important}.FileContent-module_gridPreviewContainerFolder__Z8UhZ:hover{background:var(--fm-bg-secondary)}.FileContent-module_gridFolderIcon__s9A-d{align-items:center;border-radius:8px;display:flex;justify-content:center}.FileContent-module_gridFolderIconImage__-TUha{color:#4299e1;font-size:32px}.FileContent-module_gridImagePreview__12i5n{aspect-ratio:1/1;max-width:100%;object-fit:cover}.FileContent-module_gridFileName__k-G3u{font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FileContent-module_gridFileInfo__jDdph{color:#6b7280;font-size:12px}.FileContent-module_uploadZoneFixed__VnD1H{align-items:center;background:#ffffffe6;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.FileContent-module_classsssssss__dK4wS{background:red;color:#4361ee}.FileContent-module_sortContainer__TV1H0{align-items:center;display:flex;gap:8px}.FileContent-module_sortLabel__QweIm{color:#6b7280;font-size:14px}.FileContent-module_actionsBox__kMJPa{align-items:center;display:flex;gap:12px}.FolderSidebar-module_button__NpO7r{align-items:center;background:#0000;border:none;border-radius:var(--fm-radius-md);color:var(--fm-text-secondary);cursor:pointer;display:flex;font-size:14px;gap:var(--fm-spacing-sm);justify-content:center;padding:var(--fm-spacing-xs) var(--fm-spacing-sm);transition:all var(--fm-transition-fast)}.FolderSidebar-module_button__NpO7r:hover{background-color:var(--fm-bg-tertiary);color:var(--fm-primary)}.FolderSidebar-module_foldersTitle__Ev9mV{align-items:center;cursor:pointer;display:flex;flex:1}.FolderSidebar-module_folderActions__C1K8E{align-items:center;display:flex;gap:4px;position:absolute;right:0;top:8px;z-index:10}.FolderSidebar-module_customExpandIcon__8QCKv{align-items:center;color:#666;cursor:pointer;display:inline-flex;font-size:10px;height:16px;justify-content:center;margin-right:8px;transition:transform .2s ease;width:16px}.FolderSidebar-module_customExpandIcon__8QCKv:hover{color:#1890ff}.FolderSidebar-module_fileCount__5vUAL{align-items:center;color:#666;cursor:default;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:500;height:16px;justify-content:center;margin-left:8px;min-width:20px;padding:0 6px;transition:all .2s ease;white-space:nowrap}.FolderSidebar-module_fileCount__5vUAL:hover{border-color:#1890ff;color:#1890ff}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:initial!important}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected:hover{color:red!important}.FolderSidebar-module_folderMenu__3rQmD .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected .folderLabelItem,.FolderSidebar-module_folderMenu__3rQmD .ant-tree-node-selected .folderLabelItem,.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode-selected .folder-label span,.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode-selected .folderLabelItem{color:red!important;font-weight:600!important}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-node-selected .folderIcon,.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode-selected .folderIcon{color:red!important}.FolderSidebar-module_uploadButton__DAxs2{display:grid;grid-template-columns:3fr 1fr}.FolderSidebar-module_folderMenu__3rQmD{padding-left:0;padding-right:40px}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode{align-items:center;border-radius:4px;display:flex;justify-content:space-between;padding:4px 0;transition:background-color .2s ease}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-node-content-wrapper{align-items:center;display:flex;flex:1;padding:0;transition:background-color .2s ease}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-node-content-wrapper:hover{background-color:initial}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-switcher{align-items:center;display:flex!important;flex-shrink:0;height:24px;justify-content:center;margin-top:5px;transition:color .2s ease;width:24px}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-indent-unit,.FolderSidebar-module_folderMenu__3rQmD .ant-tree-switcher-noop{width:24px}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-switcher-line-icon{color:#d9d9d9}.FolderSidebar-module_folderMenu__3rQmD .folder-item-container{align-items:center;display:flex;justify-content:space-between;min-width:0;padding:2px 0;width:100%}.FolderSidebar-module_folderMenu__3rQmD .folder-label{align-items:center;color:#595959;display:flex;flex:1;font-size:14px;min-width:0;overflow:hidden}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode[data-key=folders]{border-bottom:1px solid #f0f0f0;margin-bottom:8px;padding-bottom:8px}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode[data-key=folders].ant-tree-treenode-selected{background-color:initial!important}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode[data-key=folders] .ant-tree-node-content-wrapper{padding:0}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode[data-key=folders] .ant-tree-node-content-wrapper:hover{background-color:initial!important}.FolderSidebar-module_folderMenu__3rQmD .ellipsis{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FolderSidebar-module_folderMenu__3rQmD .empty-folder-container{padding:20px;text-align:center}.FolderSidebar-module_folderMenu__3rQmD .ant-tree>.ant-tree-treenode{padding-left:0!important}.FolderSidebar-module_folderIcon__0cT0C{color:#1890ff;flex-shrink:0;font-size:14px;margin-right:8px}.FolderSidebar-module_folderLabelItem__nQ8RK{color:#595959;flex:1;font-size:14px;font-weight:400;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FolderSidebar-module_foldersTitleItem__GFXbc{align-items:center;cursor:pointer;display:flex;flex:1;min-width:0;overflow:hidden}.FolderSidebar-module_foldersTitleItem__GFXbc .FolderSidebar-module_folderLabelItem__nQ8RK{color:#262626;font-weight:500}.FolderSidebar-module_folderLabel__pZlwK{align-items:center;display:flex;flex:1;min-width:0;overflow:hidden}.FolderSidebar-module_foldersContainer__gpdbn{position:relative;width:100%}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode:hover .folder-label span{color:#1890ff}.FolderSidebar-module_divider__-ftxL{margin:12px 0!important}.FolderSidebar-module_uploadButton__DAxs2{margin-bottom:8px;width:100%}.FolderSidebar-module_uploadButton__DAxs2 .ant-btn{align-items:center;display:flex;gap:8px;justify-content:center}.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode-selected .FolderSidebar-module_folderLabelItem__nQ8RK,.FolderSidebar-module_folderMenu__3rQmD .ant-tree-treenode-selected .FolderSidebar-module_folderLabel__pZlwK .FolderSidebar-module_folderLabelItem__nQ8RK{color:#1890ff!important}.UploadProgress-module_container__HfOBG{left:20px;max-width:400px;min-width:320px;position:fixed;top:20px;z-index:1000}.UploadProgress-module_uploadCard__R9L9j{border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 4px 12px #00000026}.UploadProgress-module_header__yGyfo{align-items:center;display:flex;justify-content:space-between;width:100%}.UploadProgress-module_headerButton__7H5b7{align-items:center;display:flex;height:24px;justify-content:center;padding:0;width:24px}.UploadProgress-module_headerButton__7H5b7:hover{background-color:#0000000a}.UploadProgress-module_fileList__Ljtc8{max-height:300px;overflow-y:auto}.UploadProgress-module_fileItem__nX-c5{border-bottom:1px solid #f0f0f0;padding:8px 0!important}.UploadProgress-module_fileItem__nX-c5:last-child{border-bottom:none}.UploadProgress-module_fileAvatar__xIxaZ{background-color:initial!important}.UploadProgress-module_fileInfo__1Hs5r{display:flex;flex-direction:column;gap:2px}.UploadProgress-module_fileName__w9QG6{font-size:13px;line-height:1.2;max-width:200px}.UploadProgress-module_fileSize__Rx5hV{font-size:11px;line-height:1}.UploadProgress-module_progressBar__VObwg{margin-top:4px}.UploadProgress-module_errorNote__u-0nT{background-color:#fff2f0;border:1px solid #ffccc7;border-radius:4px;margin-top:8px;padding:8px}.UploadProgress-module_minimizedContainer__lo3bW{left:20px;position:fixed;top:20px;z-index:1000}.UploadProgress-module_minimizedButton__xvXOr{box-shadow:0 2px 8px #0000001a;font-size:12px;height:28px;padding:0 12px}.UploadProgress-module_fileList__Ljtc8::-webkit-scrollbar{width:6px}.UploadProgress-module_fileList__Ljtc8::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.UploadProgress-module_fileList__Ljtc8::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.UploadProgress-module_fileList__Ljtc8::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.UploadProgress-module_container__HfOBG,.UploadProgress-module_minimizedContainer__lo3bW{animation:UploadProgress-module_slideInFromLeft__ua6mL .3s ease-out}@keyframes UploadProgress-module_slideInFromLeft__ua6mL{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.UploadProgress-module_container__HfOBG{left:10px;max-width:calc(100vw - 20px);min-width:auto;right:10px}.UploadProgress-module_minimizedContainer__lo3bW{left:10px}}.ImageGif-module_gifTab__NnPpa{height:100%;padding:16px}.ImageGif-module_gifTab__NnPpa .ImageGif-module_ant-divider-horizontal__bsink{margin:0}.ImageGif-module_gifTab__NnPpa img{border-radius:0;max-height:none;max-width:none}.ImageGif-module_gifTab__NnPpa .ImageGif-module_gifSearchInput__XC-q-{margin-bottom:16px;padding:0 2px}.ImageGif-module_gifTab__NnPpa .ImageGif-module_scrollableDiv__wWJXF{box-sizing:unset;height:calc(84vh - 148px);line-height:0;overflow:auto;padding-left:0;padding-right:0;padding-top:16px;width:100%}.ImageGif-module_gifTab__NnPpa .ImageGif-module_myMasonryGrid__jHQeR{display:flex;text-align:center;width:auto}.ImageGif-module_gifTab__NnPpa .ImageGif-module_myMasonryGridColumn__oQtdH{background-clip:padding-box}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7{background:#f0f2f5;border:1px solid #f0f2f5;border-radius:6px;cursor:pointer;display:inline-block;margin-bottom:20px;max-height:100px;min-height:100px;overflow:hidden;position:relative;transition:all .3s ease}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7 .ImageGif-module_overlayImage__pu1Zd{background-size:cover;bottom:10px;height:40px;opacity:0;position:absolute;right:10px;transition:opacity .5s ease;width:110px}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7 .ImageGif-module_ant-spin__3vi2l{color:#f0f2f5;font-size:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7 img{border-radius:6px;display:block;height:auto;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7.ImageGif-module_loaded__0HVMP{border:1px solid #d9d9d9;max-height:1000px}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7.ImageGif-module_loaded__0HVMP img{height:100%;opacity:1}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7.ImageGif-module_loaded__0HVMP .ImageGif-module_loadedImage__SYhoX{opacity:.5}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7:hover{box-shadow:0 1px 2px -2px #00000029,0 3px 6px 0 #0000001f,0 5px 12px 4px #00000017}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7:hover .ImageGif-module_overlayImage__pu1Zd,.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7:hover p.ImageGif-module_creatorInfo__h8uGg{opacity:1}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7 p.ImageGif-module_creatorInfo__h8uGg{background-color:#00000080;border-radius:0 0 6px 0;bottom:0;color:#fff;font-size:10px;line-height:1.2;margin:0;opacity:0;padding:5px;position:absolute;right:0}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7 p.ImageGif-module_creatorInfo__h8uGg:hover a{color:#fff;text-decoration:underline}.ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7 p.ImageGif-module_creatorInfo__h8uGg a{color:#fff;text-decoration:none}.ImageGif-module_gifTab__NnPpa .ImageGif-module_ant-divider-horizontal__bsink.ImageGif-module_ant-divider-with-text__rw8-0:after,.ImageGif-module_gifTab__NnPpa .ImageGif-module_ant-divider-horizontal__bsink.ImageGif-module_ant-divider-with-text__rw8-0:before{transform:none}.ImageGif-module_gifColorFilter__CsMMd{display:flex}.ImageGif-module_gifColorFilter__CsMMd label{border-radius:6px!important;border-width:1px;font-size:0;height:24px;margin:4px;padding:0;width:24px}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_allColors__P8JVF{background-image:linear-gradient(135deg,red,#ff7f00,#ff0,#0f0,#00f,#8b00ff)}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_blackColor__-gR9s{background:#222}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_bwColor__imhbj{background-image:linear-gradient(135deg,#222 50%,#fff 0)}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_whiteColor__7yAek{background:#fff}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_orangeColor__Umtwg{background:#fa8c16}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_redColor__plm7T{background:#f5222d}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_purpleColor__xe-X3{background:#722ed1}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_magentaColor__Y0o2G{background:#eb2f96}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_greenColor__-3S9S{background:#52c41a}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_tealColor__M-HFK{background:#43c3c3}.ImageGif-module_gifColorFilter__CsMMd label.ImageGif-module_blueColor__R06zm{background:#1677ff}.ImageGif-module_dark__C8sHq .ImageGif-module_gifTab__NnPpa .ImageGif-module_listItem__rYIX7{background:#2b2b2b;border:1px solid #2b2b2b}.ImageStock-module_stockTab__YPowb{height:100%;padding:16px}.ImageStock-module_stockTab__YPowb .ImageStock-module_ant-divider-horizontal__bDrr8{margin:0}.ImageStock-module_stockTab__YPowb img{border-radius:0;max-height:none;max-width:none}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockSearchInput__gyqGB{padding:0 2px}.ImageStock-module_stockTab__YPowb .ImageStock-module_searchResults__r4cPU .ImageStock-module_stockSearchInput__gyqGB{width:100%}.ImageStock-module_stockTab__YPowb .ImageStock-module_blocksSearchDividerWrapper__cH-LR{margin:0}.ImageStock-module_stockTab__YPowb .ImageStock-module_scrollableDiv__09mx0{box-sizing:unset;height:calc(84vh - 148px);line-height:0;overflow:auto;padding-left:0;padding-right:0;padding-top:0;width:100%}.ImageStock-module_stockTab__YPowb .ImageStock-module_myMasonryGrid__ro6-6{display:flex;text-align:center;width:auto}.ImageStock-module_stockTab__YPowb .ImageStock-module_myMasonryGridColumn__SZMxM{background-clip:padding-box}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL-{background:#f0f2f5;border:1px solid #f0f2f5;border-radius:6px;cursor:pointer;display:inline-block;margin-bottom:20px;max-height:100px;min-height:100px;overflow:hidden;position:relative;transition:all .3s ease}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL- .ImageStock-module_ant-spin__HqoMG{color:#f0f2f5;font-size:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL- img{border-radius:6px;display:block;height:auto;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL-.ImageStock-module_loaded__b4A1I{border:1px solid #d9d9d9;max-height:1000px}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL-.ImageStock-module_loaded__b4A1I img{height:100%;opacity:1}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL-.ImageStock-module_loaded__b4A1I .ImageStock-module_loadedImage__29Rvm{opacity:.5}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL-:hover{box-shadow:0 1px 2px -2px #00000029,0 3px 6px 0 #0000001f,0 5px 12px 4px #00000017}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL-:hover p.ImageStock-module_creatorInfo__TPutg{opacity:1}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL- p.ImageStock-module_creatorInfo__TPutg{background-color:#00000080;border-radius:0 0 6px 0;bottom:0;color:#fff;font-size:10px;line-height:1.2;margin:0;opacity:0;padding:5px;position:absolute;right:0}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL- p.ImageStock-module_creatorInfo__TPutg:hover a{color:#fff;text-decoration:underline}.ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL- p.ImageStock-module_creatorInfo__TPutg a{color:#fff;text-decoration:none}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy{display:flex}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio],.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label{border-radius:6px!important;border-width:1px;font-size:0;height:24px;margin:4px;padding:0;width:24px}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_allColors__uzO70,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_allColors__uzO70{background-image:linear-gradient(135deg,red,#ff7f00,#ff0,#0f0,#00f,#8b00ff)}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_blackColor__D8Ze8,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_blackColor__D8Ze8{background:#222}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_bwColor__TmMh4,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_bwColor__TmMh4{background-image:linear-gradient(135deg,#222 50%,#fff 0)}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_whiteColor__9BMy-,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_whiteColor__9BMy-{background:#fff}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_orangeColor__ybQgv,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_orangeColor__ybQgv{background:#fa8c16}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_redColor__dzhXt,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_redColor__dzhXt{background:#f5222d}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_purpleColor__gQdwW,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_purpleColor__gQdwW{background:#722ed1}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_magentaColor__cHiML,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_magentaColor__cHiML{background:#eb2f96}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_greenColor__Po9F2,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_greenColor__Po9F2{background:#52c41a}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_tealColor__OKnje,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_tealColor__OKnje{background:#43c3c3}.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy [class^=ant-radio].ImageStock-module_blueColor__jKMZb,.ImageStock-module_stockTab__YPowb .ImageStock-module_stockColorFilter__9FKuy label.ImageStock-module_blueColor__jKMZb{background:#1677ff}.ImageStock-module_stockTab__YPowb .ImageStock-module_ant-divider-horizontal__bDrr8.ImageStock-module_ant-divider-with-text__6CxUq:after,.ImageStock-module_stockTab__YPowb .ImageStock-module_ant-divider-horizontal__bDrr8.ImageStock-module_ant-divider-with-text__6CxUq:before{transform:none}.ImageStock-module_dark__3G-Hz .ImageStock-module_stockTab__YPowb .ImageStock-module_listItem__M-UL-{background:#2b2b2b;border:1px solid #2b2b2b}.SlideShowForImageAI-module_slideshowContainer__-v-m8{height:350px;margin:auto;overflow:hidden;position:relative;width:524px}.SlideShowForImageAI-module_slideshowImage__sskda{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.limits-couter-wrapper{align-items:center;display:flex;justify-content:space-between}.limits-couter-wrapper .limit-counter{align-items:center;border-radius:20px;display:flex;font-size:14px;height:34px;margin:15px 16px 15px 0;padding:0 12px;pointer-events:none}.ImageAI-module_slideshowImage__lvsEB{height:auto;width:auto}.ImageAI-module_imageAi__imageItem__Dt3Ee{align-items:center;border-radius:6px;display:flex;justify-content:center;min-height:100px;position:relative;text-align:center}.ImageAI-module_imageAi__buttons__ed6tA{bottom:10px;display:flex;justify-content:space-between;left:50%;position:absolute;transform:translateX(-50%)}.ImageAI-module_textAreaInputHybrid__79kqN{border:none;min-height:0;outline:none;padding:0 0 0 1px}.ImageAI-module_textAreaInputHybrid__79kqN textarea{height:32px;line-height:26px;min-height:32px;padding:3px 11px}.ImageAI-module_imageAi__loading__5lmyW{align-items:center;display:flex;justify-content:center;min-height:150px}.ImageAI-module_imageAi__spin__iTUeV{align-items:center;display:flex;flex-direction:column;height:150px;justify-content:center}.ImageAI-module_imageAi__status__cAy5r{margin:3px 0 0}.ImageAI-module_antCarousel__n-Iu8{border-radius:6px;overflow:hidden}.ImageAI-module_antCarouselImage__3P78f{border-radius:calc(var(--borderRadius)*1px);left:50%;max-height:100%;object-fit:contain;overflow:hidden;top:50%;transform:translate(-50%,-50%);transition:width 1s;transition:height 1s}.ImageAI-module_small__M9-1K{height:202px;width:302px}.ImageAI-module_large__6SGqq{height:350px;width:524px}.ImageAI-module_dark__a6qj8 .ImageAI-module_imageAi__BlT0f .ImageAI-module_antCarouselImage__3P78f{background:#2b2b2b;border:1px solid #434343}.ImageAI-module_dark__a6qj8 .ImageAI-module_imageAi__BlT0f .ImageAI-module_ant-btn__CaBiz{background:#1f1f1f}.ImageAI-module_dark__a6qj8 .ImageAI-module_imageAi__BlT0f .ImageAI-module_ant-btn__CaBiz:hover{color:var(--colorPrimary)}.file-manager-layout{height:100%;width:100%}.actions-header{align-items:center;background:#0000;border-bottom:1px solid #f0f0f0;display:flex;height:auto;min-height:65px;padding:0 24px}.header-title-container{align-items:center;display:flex;justify-content:space-between;margin-right:24px;min-width:250px}.header-title{margin-bottom:0;margin-right:16px}.selected-text{white-space:nowrap}.file-manager-sider{background:#0000;position:relative}.content-layout{padding:24px}.main-content{margin:0;min-height:280px}.resize-guide{background-color:#1890ff;bottom:0;pointer-events:none;position:fixed;top:0;width:1px;z-index:1000}.sidebar-resizer{align-items:center;background-color:initial;cursor:col-resize;display:flex;flex-direction:column;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color .2s;width:8px;z-index:1}.sidebar-resizer.resizing,.sidebar-resizer:hover{background-color:#0000000d}.sidebar-resizer-indicator{background-color:#f0f0f0;height:100%;left:0;position:absolute;top:0;width:1px}.sidebar-resizer-dots{display:flex;flex-direction:column;gap:3px}.sidebar-resizer-dots span{background-color:#ccc;border-radius:50%;display:block;height:3px;width:3px}.sidebar-resizer-text{color:#ccc;font-size:10px;letter-spacing:1px;margin-top:20px;transform:rotate(90deg);white-space:nowrap}.zero-divider{margin:0}.content-layout{display:flex;flex-direction:column;height:100%}.header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.actions-container{display:flex;gap:8px}.files-container{display:flex;flex:1;flex-direction:column;overflow:hidden}.search-container{align-items:center;display:flex;gap:16px;width:300px}.breadcrumb-container{margin-bottom:16px}.pagination-container{display:flex;justify-content:flex-end;margin-top:16px}.upload-zone{background-color:#fafafa;border:2px dashed #e8e8e8;border-radius:4px;margin-bottom:16px;padding:20px;text-align:center;transition:border-color .3s,background-color .3s}.upload-zone.active{background-color:#e6f7ff;border-color:#1890ff}.upload-icon{color:#999;font-size:24px;margin-bottom:8px}.table-container{flex:1;overflow:auto}.sidebar-container{display:flex;flex-direction:column;height:100%;padding:24px}.upload-button{background:#4361ee;border-radius:6px;color:#fff;margin-bottom:12px;width:100%}.sidebar-divider{margin:16px 0}.folder-menu{border-right:none;flex:1;overflow:auto}.folder-menu,.folder-menu .ant-menu-light.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:#0000}.folder-menu .ant-menu-item-selected,.folder-menu .select:not(.ant-menu-submenu-selected),.folder-menu .select>.ant-menu-submenu-title{background-color:#fff}.folder-label{align-items:center;cursor:pointer;display:flex}.folder-icon{margin-right:8px}.ellipsis{text-overflow:ellipsis}.modal-title{font-weight:500}.form-item{margin-bottom:16px}.form-label{font-weight:500;margin-bottom:8px}.form-input,.form-select{border-radius:6px;width:100%}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.cancel-button,.submit-button{border-radius:6px}.file-name-label{font-weight:600;margin-bottom:4px}.image-preview{display:block;max-width:100%;transition:transform .3s ease}.image-preview:hover{transform:scale(1.05)}.files-grid-container{padding:16px}.files-grid-container .files-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));width:100%}@media (max-width:768px){.files-grid-container .files-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.file-grid-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;padding:12px;position:relative;transition:all .3s cubic-bezier(.645,.045,.355,1)}.file-grid-item:hover{border-color:#40a9ff;box-shadow:0 2px 8px #00000017;transform:translateY(-2px)}.file-grid-item.selected{background:#e6f7ff;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.file-grid-item.folder .file-grid-content .file-icon{color:#faad14}.file-grid-content{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center}.file-grid-content .file-thumbnail{align-items:center;background:#f5f5f5;border-radius:4px;display:flex;height:80px;justify-content:center;overflow:hidden;width:80px}.file-grid-content .file-thumbnail img{max-height:100%;max-width:100%;object-fit:cover}.file-grid-content .file-icon{color:#8c8c8c;font-size:48px}.file-grid-content .file-icon.image{color:#52c41a}.file-grid-content .file-icon.document{color:#1890ff}.file-grid-content .file-icon.video{color:#fa541c}.file-grid-content .file-icon.audio{color:#eb2f96}.file-grid-content .file-icon.archive{color:#722ed1}.file-grid-content .file-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#262626;display:-webkit-box;font-size:14px;font-weight:500;line-height:1.2;overflow:hidden;width:100%;word-break:break-word}.file-grid-content .file-meta{color:#8c8c8c;display:flex;flex-direction:column;font-size:12px;gap:2px}.file-grid-content .file-meta .file-size{font-weight:500}.file-grid-content .file-meta .file-date{opacity:.8}.file-grid-selection{position:absolute;right:8px;top:8px;z-index:1}.file-grid-selection .ant-checkbox-wrapper{backdrop-filter:blur(4px);background:#ffffffe6;border-radius:4px;padding:2px}.files-grid-enter{opacity:0;transform:scale(.8)}.files-grid-enter-active{opacity:1;transform:scale(1);transition:opacity .3s,transform .3s}.files-grid-exit{opacity:1}.files-grid-exit-active{opacity:0;transform:scale(.8);transition:opacity .3s,transform .3s}.files-grid-loading{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.files-grid-loading .loading-item{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:8px;height:160px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.files-grid-empty{align-items:center;color:#8c8c8c;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;min-height:200px}.files-grid-empty .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.files-grid-empty .empty-text{font-size:16px;font-weight:500}.files-grid-empty .empty-description{font-size:14px;margin-top:8px;opacity:.8}:global .file-manager-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:20px}:global .file-manager-header{color:#1677ff;margin-bottom:20px}:global .file-manager-breadcrumbs{background:#f9f9f9;border-radius:4px;margin-bottom:20px;padding:8px}:global .file-manager-breadcrumbs-item{align-items:center;display:inline-flex}:global .file-manager-breadcrumbs-link{color:#1677ff;padding:0 4px}:global .file-manager-breadcrumbs-link:hover{text-decoration:underline}:global .file-manager-breadcrumbs-separator{color:#999;margin:0 4px}:global .file-manager-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}:global .file-manager-actions{display:flex;gap:16px}:global .file-manager-search{flex:0 0 300px}:global .file-manager-search-input{width:100%}:global .file-manager-content{display:flex;flex-wrap:wrap;gap:20px}:global .file-manager-folders{background:#f9f9f9;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1;margin-bottom:16px;min-width:250px;padding:16px}:global .file-manager-folders-header{font-size:18px;margin-bottom:16px}:global .file-manager-folders-count{color:#999;font-size:14px}:global .file-manager-folders-empty{border:1px dashed #ddd;border-radius:4px;color:#999;font-size:14px;padding:20px;text-align:center}:global .file-manager-folders-list{list-style:none;margin:0;padding:0}:global .file-manager-folders-item{background:#fff;border:1px solid #eee;border-radius:4px;cursor:pointer;font-weight:700;margin-bottom:8px;padding:12px 16px;transition:all .2s}:global .file-manager-folders-item:hover{background:#f0f0f0}:global .file-manager-folders-item.active{border-color:#1677ff}:global .file-manager-folders.ant-menu-inline.ant-menu-root .ant-menu-item,:global .file-manager-folders.ant-menu-inline.ant-menu-root .ant-menu-submenu-title{padding:0 12px}:global .file-manager-folders.ant-menu-light.ant-menu-root.ant-menu-inline{background:#0000;border-inline-end:none;padding:0}:global .file-manager-folders.ant-menu-light.ant-menu-root.ant-menu-inline .ant-menu-submenu-title{padding-left:0}:global .file-manager-folders.ant-menu-light.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:#0000}:global .file-manager-files{background:#f9f9f9;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:2;margin-bottom:16px;min-width:350px;padding:16px}:global .file-manager-files-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}:global .file-manager-files-header h3{font-size:18px;margin:0}:global .file-manager-files-sort .ant-btn-group .ant-btn:not(:first-child){margin-left:-1px}:global .file-manager-files-count{color:#999;font-size:14px}:global .file-manager-files-empty{border:1px dashed #ddd;border-radius:4px;color:#999;font-size:14px;padding:20px;text-align:center}:global .file-manager-files-list{list-style:none;margin:0;padding:0}:global .file-manager-files-item{align-items:center;background:#fff;border:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px}:global .file-manager-files-item-info-name{font-weight:700}:global .file-manager-files-item-info-meta{color:#999;font-size:12px}:global .ant-modal .ant-form .ant-form-item{margin-bottom:16px}:global .ant-modal .ant-upload{width:100%}:global .ant-modal .ant-upload .ant-btn{width:100%}:global .ant-btn-primary{background-color:#1677ff}:global .sidebar-resizer{background-color:red;border-left:3px solid #f55;border-right:3px solid #900;cursor:col-resize;height:100%;position:absolute;right:0;top:0;width:10px;z-index:999}:global .sidebar-resizer:hover{background-color:#1890ff;border-left:3px solid #40a9ff;border-right:3px solid #096dd9}:global .sidebar-resizer.resizing{background-color:#1890ff;border-left:3px solid #40a9ff;border-right:3px solid #096dd9}:global .sidebar-resizer-indicator{background-color:#fff;border-radius:1px;display:none;height:30px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:2px}:global .sidebar-resizer:hover :global .sidebar-resizer-indicator{display:block}:global .sidebar-resizer.resizing :global .sidebar-resizer-indicator{display:block;height:100px}:global .sidebar-resizer-dots{display:flex;flex-direction:column;gap:4px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}:global .sidebar-resizer-dots span{background-color:#fff;border-radius:50%;display:block;height:3px;width:3px}:global .resize-guide{animation:pulse 1.5s infinite alternate;background-color:#1890ff;box-shadow:0 0 12px #1890ffcc;height:100%;opacity:.9;pointer-events:none;position:absolute;top:0;width:4px;z-index:1000}@keyframes pulse{0%{box-shadow:0 0 4px #1890ff99}to{box-shadow:0 0 12px #1890ffcc}}:global .test-div{background-color:#ff0;border:5px solid red;color:red;font-size:18px;font-weight:700;margin:20px;padding:10px}:global .sidebar-container{display:flex;flex-direction:column;height:100%;padding:24px}:global .upload-button{background:#4361ee;border-radius:6px;color:#fff;margin-bottom:12px;width:100%}:global .divider{margin:16px 0}:global .folder-menu{border-right:none;flex:1;overflow:auto}:global .folder-menu .ant-menu-light.ant-menu-inline .ant-menu-sub.ant-menu-inline,:global .folder-menu .ant-menu-light>.ant-menu.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:#0000}:global .folder-label{align-items:center;cursor:pointer;display:flex;overflow:hidden;width:100%}:global .folder-icon{flex-shrink:0;margin-right:8px}:global .ellipsis{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:global .empty-folder-container{padding:16px 0;text-align:center}:global .empty-folder-content{margin:0 auto}:root{--fm-primary:#1890ff;--fm-primary-hover:#40a9ff;--fm-primary-active:#096dd9;--fm-primary-light:#e6f7ff;--fm-secondary:#1677ff;--fm-secondary-hover:#4096ff;--fm-secondary-active:#0958d9;--fm-success:#52c41a;--fm-success-hover:#73d13d;--fm-success-light:#f6ffed;--fm-warning:#faad14;--fm-warning-hover:#ffc53d;--fm-warning-light:#fffbe6;--fm-error:#ff4d4f;--fm-error-hover:#ff7875;--fm-error-light:#fff2f0;--fm-info:#13c2c2;--fm-info-hover:#36cfc9;--fm-info-light:#e6fffb;--fm-text-primary:#262626;--fm-text-secondary:#595959;--fm-text-tertiary:#8c8c8c;--fm-text-quaternary:#bfbfbf;--fm-bg-primary:#fff;--fm-bg-secondary:#fafafa;--fm-bg-tertiary:#f5f5f5;--fm-bg-quaternary:#f0f0f0;--fm-border-primary:#d9d9d9;--fm-border-secondary:#f0f0f0;--fm-border-tertiary:#e8e8e8;--fm-blue-light:#4299e1;--fm-purple:#722ed1;--fm-orange:#fa541c;--fm-pink:#eb2f96;--fm-cyan:#13c2c2;--fm-status-success:#52c41a;--fm-status-warning:#faad14;--fm-status-error:#ff4d4f;--fm-status-info:#1890ff;--fm-radius-none:0;--fm-radius-xs:1px;--fm-radius-sm:3px;--fm-radius-md:4px;--fm-radius-lg:6px;--fm-radius-xl:8px;--fm-radius-2xl:10px;--fm-radius-full:50%;--fm-spacing-xs:4px;--fm-spacing-sm:8px;--fm-spacing-md:12px;--fm-spacing-lg:16px;--fm-spacing-xl:20px;--fm-spacing-2xl:24px;--fm-spacing-3xl:32px;--fm-shadow-sm:0 1px 2px 0 #0000000d;--fm-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--fm-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--fm-shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--fm-transition-fast:0.15s ease;--fm-transition-normal:0.3s ease;--fm-transition-slow:0.5s ease}[data-theme=dark]{--fm-primary:#177ddc;--fm-primary-hover:#1890ff;--fm-primary-active:#0958d9;--fm-primary-light:#111b26;--fm-secondary:#177ddc;--fm-secondary-hover:#1890ff;--fm-secondary-active:#0958d9;--fm-bg-primary:#141414;--fm-bg-secondary:#1f1f1f;--fm-bg-tertiary:#262626;--fm-bg-quaternary:#303030;--fm-text-primary:#fff;--fm-text-secondary:#d9d9d9;--fm-text-tertiary:#a6a6a6;--fm-text-quaternary:#737373;--fm-border-primary:#434343;--fm-border-secondary:#303030;--fm-border-tertiary:#262626}.fm-text-primary{color:var(--fm-text-primary)}.fm-text-secondary{color:var(--fm-text-secondary)}.fm-text-tertiary{color:var(--fm-text-tertiary)}.fm-text-quaternary{color:var(--fm-text-quaternary)}.fm-bg-primary{background-color:var(--fm-bg-primary)}.fm-bg-secondary{background-color:var(--fm-bg-secondary)}.fm-bg-tertiary{background-color:var(--fm-bg-tertiary)}.fm-bg-quaternary{background-color:var(--fm-bg-quaternary)}.fm-border-primary{border-color:var(--fm-border-primary)}.fm-border-secondary{border-color:var(--fm-border-secondary)}.fm-border-tertiary{border-color:var(--fm-border-tertiary)}.fm-radius-none{border-radius:var(--fm-radius-none)}.fm-radius-xs{border-radius:var(--fm-radius-xs)}.fm-radius-sm{border-radius:var(--fm-radius-sm)}.fm-radius-md{border-radius:var(--fm-radius-md)}.fm-radius-lg{border-radius:var(--fm-radius-lg)}.fm-radius-xl{border-radius:var(--fm-radius-xl)}.fm-radius-2xl{border-radius:var(--fm-radius-2xl)}.fm-radius-full{border-radius:var(--fm-radius-full)}
|