+
+
+
diff --git a/packages/ui/src/components/servers/files/explorer/index.ts b/packages/ui/src/components/servers/files/explorer/index.ts
new file mode 100644
index 0000000000..a19d7a7774
--- /dev/null
+++ b/packages/ui/src/components/servers/files/explorer/index.ts
@@ -0,0 +1,5 @@
+export { default as FileItem } from './FileItem.vue'
+export { default as FileLabelBar } from './FileLabelBar.vue'
+export { default as FileManagerError } from './FileManagerError.vue'
+export { default as FileVirtualList } from './FileVirtualList.vue'
+export { default as TeleportOverflowMenu } from './TeleportOverflowMenu.vue'
diff --git a/packages/ui/src/components/servers/files/index.ts b/packages/ui/src/components/servers/files/index.ts
new file mode 100644
index 0000000000..5d9dca6113
--- /dev/null
+++ b/packages/ui/src/components/servers/files/index.ts
@@ -0,0 +1,5 @@
+export * from './editor'
+export * from './explorer'
+export * from './modals'
+export * from './upload'
+export { default as FileNavbar } from './FileNavbar.vue'
diff --git a/packages/ui/src/components/servers/files/modals/FileCreateItemModal.vue b/packages/ui/src/components/servers/files/modals/FileCreateItemModal.vue
new file mode 100644
index 0000000000..e693a1e5c0
--- /dev/null
+++ b/packages/ui/src/components/servers/files/modals/FileCreateItemModal.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
diff --git a/packages/ui/src/components/servers/files/modals/FileDeleteItemModal.vue b/packages/ui/src/components/servers/files/modals/FileDeleteItemModal.vue
new file mode 100644
index 0000000000..88a9c32811
--- /dev/null
+++ b/packages/ui/src/components/servers/files/modals/FileDeleteItemModal.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
diff --git a/packages/ui/src/components/servers/files/modals/FileMoveItemModal.vue b/packages/ui/src/components/servers/files/modals/FileMoveItemModal.vue
new file mode 100644
index 0000000000..d5affe6df9
--- /dev/null
+++ b/packages/ui/src/components/servers/files/modals/FileMoveItemModal.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
diff --git a/packages/ui/src/components/servers/files/modals/FileRenameItemModal.vue b/packages/ui/src/components/servers/files/modals/FileRenameItemModal.vue
new file mode 100644
index 0000000000..b221be4336
--- /dev/null
+++ b/packages/ui/src/components/servers/files/modals/FileRenameItemModal.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
diff --git a/packages/ui/src/components/servers/files/modals/FileUploadConflictModal.vue b/packages/ui/src/components/servers/files/modals/FileUploadConflictModal.vue
new file mode 100644
index 0000000000..e5d7f123e3
--- /dev/null
+++ b/packages/ui/src/components/servers/files/modals/FileUploadConflictModal.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+ Over 100 files will be overwritten if you proceed with extraction; here is just some of
+ them:
+
+
+ The following {{ files.length }} files already exist on your server, and will be
+ overwritten if you proceed with extraction:
+
+
+
+
+ {{ file }}
+
+
+
+
+
+
+
diff --git a/packages/ui/src/components/servers/files/modals/index.ts b/packages/ui/src/components/servers/files/modals/index.ts
new file mode 100644
index 0000000000..d7610e7494
--- /dev/null
+++ b/packages/ui/src/components/servers/files/modals/index.ts
@@ -0,0 +1,5 @@
+export { default as FileCreateItemModal } from './FileCreateItemModal.vue'
+export { default as FileDeleteItemModal } from './FileDeleteItemModal.vue'
+export { default as FileMoveItemModal } from './FileMoveItemModal.vue'
+export { default as FileRenameItemModal } from './FileRenameItemModal.vue'
+export { default as FileUploadConflictModal } from './FileUploadConflictModal.vue'
diff --git a/packages/ui/src/components/servers/files/upload/FileUploadDragAndDrop.vue b/packages/ui/src/components/servers/files/upload/FileUploadDragAndDrop.vue
new file mode 100644
index 0000000000..3d03699feb
--- /dev/null
+++ b/packages/ui/src/components/servers/files/upload/FileUploadDragAndDrop.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+ Drop {{ type ? type.toLocaleLowerCase() : 'file' }}s here to upload
+