@huyooo/file-explorer-frontend-vue 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/components/Breadcrumb.vue.d.ts +11 -0
  2. package/dist/components/Breadcrumb.vue.d.ts.map +1 -0
  3. package/dist/components/CompressDialog.vue.d.ts +16 -0
  4. package/dist/components/CompressDialog.vue.d.ts.map +1 -0
  5. package/dist/components/ContextMenu.vue.d.ts +18 -0
  6. package/dist/components/ContextMenu.vue.d.ts.map +1 -0
  7. package/dist/components/FileGrid.vue.d.ts +40 -0
  8. package/dist/components/FileGrid.vue.d.ts.map +1 -0
  9. package/dist/components/FileIcon.vue.d.ts +13 -0
  10. package/dist/components/FileIcon.vue.d.ts.map +1 -0
  11. package/dist/components/FileInfoDialog.vue.d.ts +14 -0
  12. package/dist/components/FileInfoDialog.vue.d.ts.map +1 -0
  13. package/dist/components/FileList.vue.d.ts +37 -0
  14. package/dist/components/FileList.vue.d.ts.map +1 -0
  15. package/dist/components/FileListView.vue.d.ts +43 -0
  16. package/dist/components/FileListView.vue.d.ts.map +1 -0
  17. package/dist/components/FileSidebar.vue.d.ts +17 -0
  18. package/dist/components/FileSidebar.vue.d.ts.map +1 -0
  19. package/dist/components/ProgressDialog.vue.d.ts +28 -0
  20. package/dist/components/ProgressDialog.vue.d.ts.map +1 -0
  21. package/dist/components/SortIndicator.vue.d.ts +6 -0
  22. package/dist/components/SortIndicator.vue.d.ts.map +1 -0
  23. package/dist/components/StatusBar.vue.d.ts +27 -0
  24. package/dist/components/StatusBar.vue.d.ts.map +1 -0
  25. package/dist/components/Toolbar.vue.d.ts +60 -0
  26. package/dist/components/Toolbar.vue.d.ts.map +1 -0
  27. package/dist/components/Window.vue.d.ts +65 -0
  28. package/dist/components/Window.vue.d.ts.map +1 -0
  29. package/dist/composables/useApplicationIcon.d.ts +16 -0
  30. package/dist/composables/useApplicationIcon.d.ts.map +1 -0
  31. package/dist/composables/useDragAndDrop.d.ts +14 -0
  32. package/dist/composables/useDragAndDrop.d.ts.map +1 -0
  33. package/dist/composables/useMediaPlayer.d.ts +24 -0
  34. package/dist/composables/useMediaPlayer.d.ts.map +1 -0
  35. package/dist/composables/useSelection.d.ts +15 -0
  36. package/dist/composables/useSelection.d.ts.map +1 -0
  37. package/dist/composables/useWindowDrag.d.ts +18 -0
  38. package/dist/composables/useWindowDrag.d.ts.map +1 -0
  39. package/dist/composables/useWindowResize.d.ts +12 -0
  40. package/dist/composables/useWindowResize.d.ts.map +1 -0
  41. package/dist/index.css +1 -0
  42. package/dist/index.d.ts +22 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +4051 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/types/index.d.ts +268 -0
  47. package/dist/types/index.d.ts.map +1 -0
  48. package/dist/utils/fileTypeIcon.d.ts +6 -0
  49. package/dist/utils/fileTypeIcon.d.ts.map +1 -0
  50. package/dist/utils/folderTypeIcon.d.ts +14 -0
  51. package/dist/utils/folderTypeIcon.d.ts.map +1 -0
  52. package/package.json +55 -0
  53. package/src/components/Breadcrumb.vue +111 -0
  54. package/src/components/CompressDialog.vue +478 -0
  55. package/src/components/ContextMenu.vue +550 -0
  56. package/src/components/FileGrid.vue +504 -0
  57. package/src/components/FileIcon.vue +132 -0
  58. package/src/components/FileInfoDialog.vue +465 -0
  59. package/src/components/FileList.vue +421 -0
  60. package/src/components/FileListView.vue +321 -0
  61. package/src/components/FileSidebar.vue +158 -0
  62. package/src/components/ProgressDialog.vue +368 -0
  63. package/src/components/SortIndicator.vue +22 -0
  64. package/src/components/StatusBar.vue +43 -0
  65. package/src/components/Toolbar.vue +271 -0
  66. package/src/components/Window.vue +561 -0
  67. package/src/composables/useApplicationIcon.ts +79 -0
  68. package/src/composables/useDragAndDrop.ts +103 -0
  69. package/src/composables/useMediaPlayer.ts +174 -0
  70. package/src/composables/useSelection.ts +107 -0
  71. package/src/composables/useWindowDrag.ts +66 -0
  72. package/src/composables/useWindowResize.ts +134 -0
  73. package/src/index.ts +32 -0
  74. package/src/types/index.ts +273 -0
  75. package/src/utils/fileTypeIcon.ts +309 -0
  76. package/src/utils/folderTypeIcon.ts +132 -0
@@ -0,0 +1,11 @@
1
+ import { BreadcrumbItem } from '../types';
2
+ type __VLS_Props = {
3
+ items: BreadcrumbItem[];
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
6
+ navigate: (item: BreadcrumbItem, index: number) => any;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onNavigate?: ((item: BreadcrumbItem, index: number) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
+ export default _default;
11
+ //# sourceMappingURL=Breadcrumb.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.vue.d.ts","sourceRoot":"","sources":["../../src/components/Breadcrumb.vue"],"names":[],"mappings":"AA0BA;AAkHA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB,CAAC;;;;;;AAiGF,wBAQG"}
@@ -0,0 +1,16 @@
1
+ import { CompressOptions } from '../types';
2
+ type CompressDialogOptions = Omit<CompressOptions, 'outputDir'>;
3
+ interface Props {
4
+ visible: boolean;
5
+ filePaths: string[];
6
+ outputDir: string;
7
+ }
8
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ cancel: () => any;
10
+ confirm: (options: CompressDialogOptions) => any;
11
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
12
+ onCancel?: (() => any) | undefined;
13
+ onConfirm?: ((options: CompressDialogOptions) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
+ export default _default;
16
+ //# sourceMappingURL=CompressDialog.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompressDialog.vue.d.ts","sourceRoot":"","sources":["../../src/components/CompressDialog.vue"],"names":[],"mappings":"AAkHA;AAkeA,OAAO,KAAK,EAAiC,eAAe,EAAE,MAAM,UAAU,CAAC;AAE/E,KAAK,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAEhE,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;;;;;;;;AA0WD,wBAQG"}
@@ -0,0 +1,18 @@
1
+ import { ContextMenuItem } from '../types';
2
+ interface Props {
3
+ visible: boolean;
4
+ x: number;
5
+ y: number;
6
+ options: ContextMenuItem[];
7
+ }
8
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ select: (option: ContextMenuItem) => any;
10
+ close: () => any;
11
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
12
+ onSelect?: ((option: ContextMenuItem) => any) | undefined;
13
+ onClose?: (() => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
15
+ menuRef: HTMLDivElement;
16
+ }, any>;
17
+ export default _default;
18
+ //# sourceMappingURL=ContextMenu.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.vue.d.ts","sourceRoot":"","sources":["../../src/components/ContextMenu.vue"],"names":[],"mappings":"AAgGA;AA0iBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;;;;;;;;;;AAgiBD,wBASG"}
@@ -0,0 +1,40 @@
1
+ import { FileItem } from '../types';
2
+ interface Props {
3
+ items: FileItem[];
4
+ selectedIds: Set<string>;
5
+ editingId?: string | null;
6
+ dragOverId?: string | null;
7
+ /** 获取应用程序图标 URL 的函数 */
8
+ getAppIconUrl?: (item: FileItem) => string | undefined;
9
+ }
10
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ rename: (item: FileItem, newName: string) => any;
12
+ select: (item: FileItem, e: MouseEvent) => any;
13
+ open: (item: FileItem) => any;
14
+ contextMenu: (item: FileItem, e: MouseEvent) => any;
15
+ contextMenuEmpty: (e: MouseEvent) => any;
16
+ nameClick: (item: FileItem, e: MouseEvent) => any;
17
+ renameCancel: (item: FileItem) => any;
18
+ dragStart: (e: DragEvent, item: FileItem) => any;
19
+ dragOver: (e: DragEvent, item: FileItem) => any;
20
+ dragLeave: (e: DragEvent) => any;
21
+ drop: (e: DragEvent, item: FileItem) => any;
22
+ thumbnailError: (item: FileItem, e: Event) => any;
23
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
24
+ onRename?: ((item: FileItem, newName: string) => any) | undefined;
25
+ onSelect?: ((item: FileItem, e: MouseEvent) => any) | undefined;
26
+ onOpen?: ((item: FileItem) => any) | undefined;
27
+ onContextMenu?: ((item: FileItem, e: MouseEvent) => any) | undefined;
28
+ onContextMenuEmpty?: ((e: MouseEvent) => any) | undefined;
29
+ onNameClick?: ((item: FileItem, e: MouseEvent) => any) | undefined;
30
+ onRenameCancel?: ((item: FileItem) => any) | undefined;
31
+ onDragStart?: ((e: DragEvent, item: FileItem) => any) | undefined;
32
+ onDragOver?: ((e: DragEvent, item: FileItem) => any) | undefined;
33
+ onDragLeave?: ((e: DragEvent) => any) | undefined;
34
+ onDrop?: ((e: DragEvent, item: FileItem) => any) | undefined;
35
+ onThumbnailError?: ((item: FileItem, e: Event) => any) | undefined;
36
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
37
+ renameInput: HTMLInputElement;
38
+ }, HTMLDivElement>;
39
+ export default _default;
40
+ //# sourceMappingURL=FileGrid.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileGrid.vue.d.ts","sourceRoot":"","sources":["../../src/components/FileGrid.vue"],"names":[],"mappings":"AA+FA;AA2fA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAiCzC,UAAU,KAAK;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uBAAuB;IACvB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;CACxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0TD,wBASG"}
@@ -0,0 +1,13 @@
1
+ import { FileType } from '../types';
2
+ interface Props {
3
+ type: FileType;
4
+ name?: string;
5
+ className?: string;
6
+ size?: number;
7
+ }
8
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
9
+ size: number;
10
+ className: string;
11
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
12
+ export default _default;
13
+ //# sourceMappingURL=FileIcon.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileIcon.vue.d.ts","sourceRoot":"","sources":["../../src/components/FileIcon.vue"],"names":[],"mappings":"AAKA;AAwIA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,UAAU,KAAK;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;UADQ,MAAM;eADD,MAAM;;AAiJpB,wBAQG"}
@@ -0,0 +1,14 @@
1
+ import { FileItem } from '../types';
2
+ type __VLS_Props = {
3
+ /** 是否显示 */
4
+ visible: boolean;
5
+ /** 文件项 */
6
+ item: FileItem | null;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ close: () => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onClose?: (() => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
14
+ //# sourceMappingURL=FileInfoDialog.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileInfoDialog.vue.d.ts","sourceRoot":"","sources":["../../src/components/FileInfoDialog.vue"],"names":[],"mappings":"AAyFA;AAkeA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGnD,KAAK,WAAW,GAAG;IACjB,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU;IACV,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CACvB,CAAC;;;;;;AAyWF,wBAQG"}
@@ -0,0 +1,37 @@
1
+ import { FileItem, SortConfig } from '../types';
2
+ interface Props {
3
+ items: FileItem[];
4
+ selectedIds: Set<string>;
5
+ sortConfig?: SortConfig;
6
+ editingId?: string | null;
7
+ dragOverId?: string | null;
8
+ }
9
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ rename: (item: FileItem, newName: string) => any;
11
+ sort: (field: string) => any;
12
+ select: (item: FileItem, e: MouseEvent) => any;
13
+ open: (item: FileItem) => any;
14
+ contextMenu: (item: FileItem, e: MouseEvent) => any;
15
+ contextMenuEmpty: (e: MouseEvent) => any;
16
+ nameClick: (item: FileItem, e: MouseEvent) => any;
17
+ renameCancel: (item: FileItem) => any;
18
+ dragStart: (e: DragEvent, item: FileItem) => any;
19
+ dragOver: (e: DragEvent, item: FileItem) => any;
20
+ dragLeave: (e: DragEvent) => any;
21
+ drop: (e: DragEvent, item: FileItem) => any;
22
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
23
+ onRename?: ((item: FileItem, newName: string) => any) | undefined;
24
+ onSort?: ((field: string) => any) | undefined;
25
+ onSelect?: ((item: FileItem, e: MouseEvent) => any) | undefined;
26
+ onOpen?: ((item: FileItem) => any) | undefined;
27
+ onContextMenu?: ((item: FileItem, e: MouseEvent) => any) | undefined;
28
+ onContextMenuEmpty?: ((e: MouseEvent) => any) | undefined;
29
+ onNameClick?: ((item: FileItem, e: MouseEvent) => any) | undefined;
30
+ onRenameCancel?: ((item: FileItem) => any) | undefined;
31
+ onDragStart?: ((e: DragEvent, item: FileItem) => any) | undefined;
32
+ onDragOver?: ((e: DragEvent, item: FileItem) => any) | undefined;
33
+ onDragLeave?: ((e: DragEvent) => any) | undefined;
34
+ onDrop?: ((e: DragEvent, item: FileItem) => any) | undefined;
35
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
36
+ export default _default;
37
+ //# sourceMappingURL=FileList.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileList.vue.d.ts","sourceRoot":"","sources":["../../src/components/FileList.vue"],"names":[],"mappings":"AA+FA;AAuaA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKrD,UAAU,KAAK;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoUD,wBAQG"}
@@ -0,0 +1,43 @@
1
+ import { FileItem, SortConfig, FileExplorerAdapter } from '../types';
2
+ type __VLS_Props = {
3
+ /** 文件列表 */
4
+ items: FileItem[];
5
+ /** 视图模式 */
6
+ viewMode?: 'grid' | 'list';
7
+ /** 是否加载中 */
8
+ loading?: boolean;
9
+ /** 文件操作适配器(可选,用于内置操作) */
10
+ adapter?: FileExplorerAdapter;
11
+ /** 当前路径(用于内置操作) */
12
+ currentPath?: string;
13
+ /** 获取应用程序图标 URL 的函数 */
14
+ getAppIconUrl?: (item: FileItem) => string | undefined;
15
+ };
16
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
17
+ clearSelection: () => void;
18
+ startRename: (id: string) => void;
19
+ selectAll: () => void;
20
+ selectedIds: import('vue').Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
21
+ selectedItems: import('vue').ComputedRef<FileItem[]>;
22
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
23
+ rename: (item: FileItem, newName: string) => any;
24
+ open: (item: FileItem) => any;
25
+ "selection-change": (ids: Set<string>, items: FileItem[]) => any;
26
+ "context-menu": (event: MouseEvent, item: FileItem) => any;
27
+ "context-menu-empty": (event: MouseEvent) => any;
28
+ "sort-change": (config: SortConfig) => any;
29
+ move: (sourceIds: string[], targetId: string) => any;
30
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
31
+ onRename?: ((item: FileItem, newName: string) => any) | undefined;
32
+ onOpen?: ((item: FileItem) => any) | undefined;
33
+ "onSelection-change"?: ((ids: Set<string>, items: FileItem[]) => any) | undefined;
34
+ "onContext-menu"?: ((event: MouseEvent, item: FileItem) => any) | undefined;
35
+ "onContext-menu-empty"?: ((event: MouseEvent) => any) | undefined;
36
+ "onSort-change"?: ((config: SortConfig) => any) | undefined;
37
+ onMove?: ((sourceIds: string[], targetId: string) => any) | undefined;
38
+ }>, {
39
+ viewMode: "grid" | "list";
40
+ loading: boolean;
41
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
42
+ export default _default;
43
+ //# sourceMappingURL=FileListView.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileListView.vue.d.ts","sourceRoot":"","sources":["../../src/components/FileListView.vue"],"names":[],"mappings":"AA8DA;AAuUA,OAAO,EAAY,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG9F,KAAK,WAAW,GAAG;IACjB,WAAW;IACX,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,YAAY;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;CACxD,CAAC;;;sBAsLuB,MAAM;;;;;;;;;;;;;;;;;;;;;cA/LlB,MAAM,GAAG,MAAM;aAEhB,OAAO;;AAscnB,wBAUG"}
@@ -0,0 +1,17 @@
1
+ import { SidebarItem } from '../types';
2
+ interface SidebarSection {
3
+ id: string;
4
+ title: string;
5
+ items: SidebarItem[];
6
+ }
7
+ interface Props {
8
+ sections: SidebarSection[];
9
+ activeId?: string;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ navigate: (item: SidebarItem) => any;
13
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
14
+ onNavigate?: ((item: SidebarItem) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
16
+ export default _default;
17
+ //# sourceMappingURL=FileSidebar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSidebar.vue.d.ts","sourceRoot":"","sources":["../../src/components/FileSidebar.vue"],"names":[],"mappings":"AA0BA;AAiKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;;;;;AAsHD,wBAQG"}
@@ -0,0 +1,28 @@
1
+ /** 进度状态 */
2
+ export type ProgressStatus = 'pending' | 'processing' | 'success' | 'error';
3
+ /** 进度信息 */
4
+ export interface ProgressInfo {
5
+ type: 'compress' | 'extract';
6
+ status: ProgressStatus;
7
+ percent: number;
8
+ currentFile?: string;
9
+ processedCount?: number;
10
+ totalCount?: number;
11
+ error?: string;
12
+ outputPath?: string;
13
+ }
14
+ interface Props {
15
+ visible: boolean;
16
+ progress: ProgressInfo;
17
+ }
18
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
+ close: () => any;
20
+ cancel: () => any;
21
+ openFolder: (path: string) => any;
22
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
23
+ onClose?: (() => any) | undefined;
24
+ onCancel?: (() => any) | undefined;
25
+ onOpenFolder?: ((path: string) => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
+ export default _default;
28
+ //# sourceMappingURL=ProgressDialog.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressDialog.vue.d.ts","sourceRoot":"","sources":["../../src/components/ProgressDialog.vue"],"names":[],"mappings":"AAkFA;AAqXA,WAAW;AACX,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE5E,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;CACxB;;;;;;;;;;AA6QD,wBAQG"}
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ direction: 'asc' | 'desc';
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
5
+ export default _default;
6
+ //# sourceMappingURL=SortIndicator.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortIndicator.vue.d.ts","sourceRoot":"","sources":["../../src/components/SortIndicator.vue"],"names":[],"mappings":"AAKA;AA0BA,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B,CAAC;;AAyDF,wBAOG"}
@@ -0,0 +1,27 @@
1
+ type __VLS_Props = {
2
+ /** 项目总数 */
3
+ itemCount?: number;
4
+ /** 选中数量 */
5
+ selectedCount?: number;
6
+ };
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ default?(_: {}): any;
11
+ };
12
+ refs: {};
13
+ rootEl: HTMLDivElement;
14
+ };
15
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
17
+ itemCount: number;
18
+ selectedCount: number;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
20
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
+ export default _default;
22
+ type __VLS_WithTemplateSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
27
+ //# sourceMappingURL=StatusBar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.vue.d.ts","sourceRoot":"","sources":["../../src/components/StatusBar.vue"],"names":[],"mappings":"AAQA;AA8CA,KAAK,WAAW,GAAG;IACjB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAYF,iBAAS,cAAc;WAoCT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AASD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;eAlEP,MAAM;mBAEF,MAAM;wFAwEtB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { BreadcrumbItem } from '../types';
2
+ type __VLS_Props = {
3
+ /** 是否可后退 */
4
+ canGoBack?: boolean;
5
+ /** 是否可前进 */
6
+ canGoForward?: boolean;
7
+ /** 面包屑数据 */
8
+ breadcrumbs?: BreadcrumbItem[];
9
+ /** 视图模式 */
10
+ viewMode?: 'grid' | 'list';
11
+ /** 搜索关键词 */
12
+ searchQuery?: string;
13
+ /** 是否显示搜索框 */
14
+ showSearch?: boolean;
15
+ /** 是否显示视图切换 */
16
+ showViewToggle?: boolean;
17
+ /** 是否可拖拽(用于窗口拖动) */
18
+ draggable?: boolean;
19
+ };
20
+ declare function __VLS_template(): {
21
+ attrs: Partial<{}>;
22
+ slots: {
23
+ breadcrumb?(_: {}): any;
24
+ default?(_: {}): any;
25
+ actions?(_: {}): any;
26
+ };
27
+ refs: {};
28
+ rootEl: HTMLDivElement;
29
+ };
30
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
31
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
32
+ back: () => any;
33
+ forward: () => any;
34
+ "breadcrumb-navigate": (item: BreadcrumbItem) => any;
35
+ "update:viewMode": (mode: "grid" | "list") => any;
36
+ "update:searchQuery": (query: string) => any;
37
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
38
+ onBack?: (() => any) | undefined;
39
+ onForward?: (() => any) | undefined;
40
+ "onBreadcrumb-navigate"?: ((item: BreadcrumbItem) => any) | undefined;
41
+ "onUpdate:viewMode"?: ((mode: "grid" | "list") => any) | undefined;
42
+ "onUpdate:searchQuery"?: ((query: string) => any) | undefined;
43
+ }>, {
44
+ draggable: boolean;
45
+ viewMode: "grid" | "list";
46
+ canGoBack: boolean;
47
+ canGoForward: boolean;
48
+ breadcrumbs: BreadcrumbItem[];
49
+ searchQuery: string;
50
+ showSearch: boolean;
51
+ showViewToggle: boolean;
52
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
53
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
54
+ export default _default;
55
+ type __VLS_WithTemplateSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
60
+ //# sourceMappingURL=Toolbar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.vue.d.ts","sourceRoot":"","sources":["../../src/components/Toolbar.vue"],"names":[],"mappings":"AA2EA;AAmRA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,KAAK,WAAW,GAAG;IACjB,YAAY;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY;IACZ,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,YAAY;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAkCF,iBAAS,cAAc;WAsMT,OAAO,IAA6B;;4BAZjB,GAAG;yBACN,GAAG;yBACH,GAAG;;;;EAehC;AAaD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;eA5PP,OAAO;cARR,MAAM,GAAG,MAAM;eANd,OAAO;kBAEJ,OAAO;iBAER,cAAc,EAAE;iBAIhB,MAAM;gBAEP,OAAO;oBAEH,OAAO;wFAuQxB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,65 @@
1
+ interface Props {
2
+ title?: string;
3
+ showTitleBar?: boolean;
4
+ showMinimize?: boolean;
5
+ showMaximize?: boolean;
6
+ draggable?: boolean;
7
+ resizable?: boolean;
8
+ /** 窗口宽度,'auto' 表示自适应内容,'fit-content' 也表示自适应 */
9
+ width?: string | number;
10
+ /** 窗口高度,'auto' 表示自适应内容,'fit-content' 也表示自适应 */
11
+ height?: string | number;
12
+ minWidth?: string | number;
13
+ minHeight?: string | number;
14
+ maxWidth?: string | number;
15
+ maxHeight?: string | number;
16
+ closeOnBackdrop?: boolean;
17
+ /** 是否自适应内容大小(不使用固定初始尺寸) */
18
+ fitContent?: boolean;
19
+ }
20
+ declare function __VLS_template(): {
21
+ attrs: Partial<{}>;
22
+ slots: {
23
+ title?(_: {}): any;
24
+ actions?(_: {}): any;
25
+ default?(_: {}): any;
26
+ };
27
+ refs: {
28
+ windowContainerRef: HTMLDivElement;
29
+ };
30
+ rootEl: any;
31
+ };
32
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
33
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
34
+ close: () => any;
35
+ minimize: () => any;
36
+ maximize: () => any;
37
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
38
+ onClose?: (() => any) | undefined;
39
+ onMinimize?: (() => any) | undefined;
40
+ onMaximize?: (() => any) | undefined;
41
+ }>, {
42
+ width: string | number;
43
+ height: string | number;
44
+ draggable: boolean;
45
+ showTitleBar: boolean;
46
+ showMinimize: boolean;
47
+ showMaximize: boolean;
48
+ resizable: boolean;
49
+ minWidth: string | number;
50
+ minHeight: string | number;
51
+ maxWidth: string | number;
52
+ maxHeight: string | number;
53
+ closeOnBackdrop: boolean;
54
+ fitContent: boolean;
55
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
56
+ windowContainerRef: HTMLDivElement;
57
+ }, any>;
58
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
59
+ export default _default;
60
+ type __VLS_WithTemplateSlots<T, S> = T & {
61
+ new (): {
62
+ $slots: S;
63
+ };
64
+ };
65
+ //# sourceMappingURL=Window.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Window.vue.d.ts","sourceRoot":"","sources":["../../src/components/Window.vue"],"names":[],"mappings":"AAgGA;AAwjBA,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAmND,iBAAS,cAAc;WAuLT,OAAO,IAA6B;;uBAbtB,GAAG;yBACD,GAAG;yBACH,GAAG;;;;;;EAgBhC;AAqBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;WA/aX,MAAM,GAAG,MAAM;YAEd,MAAM,GAAG,MAAM;eALZ,OAAO;kBAHJ,OAAO;kBACP,OAAO;kBACP,OAAO;eAEV,OAAO;cAKR,MAAM,GAAG,MAAM;eACd,MAAM,GAAG,MAAM;cAChB,MAAM,GAAG,MAAM;eACd,MAAM,GAAG,MAAM;qBACT,OAAO;gBAEZ,OAAO;;;OAgbpB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { FileItem } from '../types';
2
+ declare global {
3
+ interface Window {
4
+ fileExplorerAPI?: {
5
+ getApplicationIcon?: (appPath: string) => Promise<string | null>;
6
+ };
7
+ }
8
+ }
9
+ /**
10
+ * 应用程序图标管理 composable
11
+ */
12
+ export declare function useApplicationIcon(items: () => FileItem[]): {
13
+ getAppIconUrl: (item: FileItem) => string | undefined;
14
+ loadApplicationIcon: (item: FileItem) => Promise<void>;
15
+ };
16
+ //# sourceMappingURL=useApplicationIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApplicationIcon.d.ts","sourceRoot":"","sources":["../../src/composables/useApplicationIcon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,eAAe,CAAC,EAAE;YAChB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;SAClE,CAAC;KACH;CACF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,QAAQ,EAAE;0BAsD3B,QAAQ,KAAG,MAAM,GAAG,SAAS;gCA5CjB,QAAQ;EAoDlD"}
@@ -0,0 +1,14 @@
1
+ import { FileItem } from '../types';
2
+ /**
3
+ * 拖拽操作管理
4
+ */
5
+ export declare function useDragAndDrop(getSelectedIds: () => Set<string>, onSelect: (id: string, multi: boolean, range: boolean) => void, onMove: (targetFolderId: string, itemIds: Set<string>) => void): {
6
+ dragOverId: import('vue').Ref<string | null, string | null>;
7
+ isDragging: import('vue').Ref<boolean, boolean>;
8
+ handleDragStart: (e: DragEvent, itemId: string) => void;
9
+ handleDragOver: (e: DragEvent, item: FileItem) => void;
10
+ handleDragLeave: () => void;
11
+ handleDrop: (e: DragEvent, targetItem: FileItem) => void;
12
+ handleDragEnd: () => void;
13
+ };
14
+ //# sourceMappingURL=useDragAndDrop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragAndDrop.d.ts","sourceRoot":"","sources":["../../src/composables/useDragAndDrop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC;;GAEG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,EACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,EAC9D,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;;;yBAQlC,SAAS,UAAU,MAAM;wBAqB1B,SAAS,QAAQ,QAAQ;;oBAwB7B,SAAS,cAAc,QAAQ;;EAuCvD"}
@@ -0,0 +1,24 @@
1
+ import { FileType } from '../types';
2
+ /**
3
+ * 媒体播放器功能管理
4
+ */
5
+ export declare function useMediaPlayer(mediaType: FileType, mediaRef: () => HTMLVideoElement | HTMLAudioElement | null): {
6
+ isPlaying: import('vue').Ref<boolean, boolean>;
7
+ progress: import('vue').Ref<number, number>;
8
+ currentTime: import('vue').Ref<number, number>;
9
+ duration: import('vue').Ref<number, number>;
10
+ isMuted: import('vue').Ref<boolean, boolean>;
11
+ volume: import('vue').Ref<number, number>;
12
+ showControls: import('vue').Ref<boolean, boolean>;
13
+ isAudio: boolean;
14
+ togglePlay: () => void;
15
+ toggleMute: () => void;
16
+ handleVolumeChange: (val: number) => void;
17
+ seekTo: (time: number) => void;
18
+ formatTime: (time: number) => string;
19
+ autoPlay: () => void;
20
+ setupMediaListeners: () => void;
21
+ cleanupMediaListeners: () => void;
22
+ updateProgress: () => void;
23
+ };
24
+ //# sourceMappingURL=useMediaPlayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaPlayer.d.ts","sourceRoot":"","sources":["../../src/composables/useMediaPlayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,QAAQ,EACnB,QAAQ,EAAE,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI;;;;;;;;;;;8BAsEzB,MAAM;mBAkBjB,MAAM;uBAYF,MAAM;;;;;EAiEjC"}
@@ -0,0 +1,15 @@
1
+ import { FileItem } from '../types';
2
+ /**
3
+ * 文件选择状态管理
4
+ */
5
+ export declare function useSelection(): {
6
+ selectedIds: import('vue').Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
7
+ lastSelectedId: import('vue').Ref<string | null, string | null>;
8
+ editingId: import('vue').Ref<string | null, string | null>;
9
+ clearSelection: () => void;
10
+ selectItem: (id: string | null, items: FileItem[], multi?: boolean, range?: boolean) => void;
11
+ selectAll: (items: FileItem[]) => void;
12
+ setEditing: (id: string | null) => void;
13
+ isSelected: (id: string) => boolean;
14
+ };
15
+ //# sourceMappingURL=useSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../src/composables/useSelection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,wBAAgB,YAAY;;;;;qBAqBpB,MAAM,GAAG,IAAI,SACV,QAAQ,EAAE,UACV,OAAO,UACP,OAAO;uBAgDU,QAAQ,EAAE;qBAOZ,MAAM,GAAG,IAAI;qBAOb,MAAM,KAAG,OAAO;EAczC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 窗口拖拽功能管理
3
+ */
4
+ export declare function useWindowDrag(): {
5
+ position: import('vue').Ref<{
6
+ x: number;
7
+ y: number;
8
+ }, {
9
+ x: number;
10
+ y: number;
11
+ } | {
12
+ x: number;
13
+ y: number;
14
+ }>;
15
+ isDragging: import('vue').Ref<boolean, boolean>;
16
+ startDrag: (e: MouseEvent) => void;
17
+ };
18
+ //# sourceMappingURL=useWindowDrag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWindowDrag.d.ts","sourceRoot":"","sources":["../../src/composables/useWindowDrag.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,aAAa;;;;;;;;;;;;mBAyBL,UAAU;EAmCjC"}
@@ -0,0 +1,12 @@
1
+ type ResizeDirection = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
2
+ /**
3
+ * 窗口调整大小功能管理
4
+ */
5
+ export declare function useWindowResize(initialWidth: number, initialHeight: number, minWidth: number, minHeight: number, maxWidth: number, maxHeight: number): {
6
+ width: import('vue').Ref<number, number>;
7
+ height: import('vue').Ref<number, number>;
8
+ isResizing: import('vue').Ref<boolean, boolean>;
9
+ startResize: (e: MouseEvent, direction: ResizeDirection, currentWidth: number, currentHeight: number) => void;
10
+ };
11
+ export {};
12
+ //# sourceMappingURL=useWindowResize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWindowResize.d.ts","sourceRoot":"","sources":["../../src/composables/useWindowResize.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzE;;GAEG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;;;;qBAuDZ,UAAU,aACF,eAAe,gBACZ,MAAM,iBACL,MAAM;EA8DxB"}