diff --git a/apps/files/src/components/FilesListFilter/FilesListFilter.vue b/apps/files/src/components/FilesListFilter/FilesListFilter.vue
new file mode 100644
index 0000000000000..952c9da96b1f5
--- /dev/null
+++ b/apps/files/src/components/FilesListFilter/FilesListFilter.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+ {{ t('files', 'Clear filter') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesListFilter/FilesListFilterName.vue b/apps/files/src/components/FilesListFilter/FilesListFilterName.vue
new file mode 100644
index 0000000000000..fd00e1fbe784c
--- /dev/null
+++ b/apps/files/src/components/FilesListFilter/FilesListFilterName.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
diff --git a/apps/files/src/components/FilesListFilter/FilesListFilterTime.vue b/apps/files/src/components/FilesListFilter/FilesListFilterTime.vue
new file mode 100644
index 0000000000000..ead67242ccd04
--- /dev/null
+++ b/apps/files/src/components/FilesListFilter/FilesListFilterTime.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+ {{ preset.label }}
+
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesListFilter/FilesListFilterType.vue b/apps/files/src/components/FilesListFilter/FilesListFilterType.vue
new file mode 100644
index 0000000000000..023a2389f809d
--- /dev/null
+++ b/apps/files/src/components/FilesListFilter/FilesListFilterType.vue
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+
+
+ {{ fileType.name }}
+
+
+
+
+
+
+
diff --git a/apps/files/src/components/FilesListFilter/FilesListFilters.vue b/apps/files/src/components/FilesListFilter/FilesListFilters.vue
index b7752e9befe13..275634d058363 100644
--- a/apps/files/src/components/FilesListFilter/FilesListFilters.vue
+++ b/apps/files/src/components/FilesListFilter/FilesListFilters.vue
@@ -1,5 +1,8 @@
+
+
+
@@ -9,8 +12,19 @@ import type { PropType } from 'vue'
import { Fragment } from 'vue-frag'
import { defineComponent } from 'vue'
+import FilesListFilterTime from './FilesListFilterTime.vue'
+import FilesListFilterType from './FilesListFilterType.vue'
+import FilesListFilterName from './FilesListFilterName.vue'
export default defineComponent({
+ name: 'FilesListFilters',
+
+ components: {
+ Fragment,
+ FilesListFilterTime,
+ FilesListFilterType,
+ FilesListFilterName,
+ },
props: {
currentView: {