diff --git a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/CreateFolder.ts b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/CreateFolder.ts
index 39d2864c12bf5b9320b5a6b3d1fcba84a6620e80..21e8ad2768e433c4ac5b2fbb6e56173dc24c78ae 100644
--- a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/CreateFolder.ts
+++ b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/CreateFolder.ts
@@ -11,7 +11,7 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-import $ from 'jquery';
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
 import Modal = require('TYPO3/CMS/Backend/Modal');
 import RegularEvent = require('TYPO3/CMS/Core/Event/RegularEvent');
 
@@ -26,7 +26,7 @@ class CreateFolder {
   private changed: boolean = false;
 
   constructor() {
-    $((): void => {
+    DocumentService.ready().then((): void => {
       const mainElement: HTMLElement = document.querySelector('.filelist-create-folder-main');
       if (!(mainElement instanceof HTMLElement)) {
         throw new Error('Main element not found');
diff --git a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileDelete.ts b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileDelete.ts
index 0036d0add0a094e1a4ba8962da68db8d6df114a5..1494d7bd2b531eb33388de36250206d1255d6453 100644
--- a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileDelete.ts
+++ b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileDelete.ts
@@ -12,7 +12,8 @@
  */
 
 import {SeverityEnum} from 'TYPO3/CMS/Backend/Enum/Severity';
-import $ from 'jquery';
+import RegularEvent from 'TYPO3/CMS/Core/Event/RegularEvent';
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
 import Modal = require('TYPO3/CMS/Backend/Modal');
 
 /**
@@ -21,21 +22,20 @@ import Modal = require('TYPO3/CMS/Backend/Modal');
  */
 class FileDelete {
   constructor() {
-    $((): void => {
-      $(document).on('click', '.t3js-filelist-delete', (e: JQueryEventObject): void => {
+    DocumentService.ready().then((): void => {
+      new RegularEvent('click', (e: Event, eventTarget: HTMLElement): void => {
         e.preventDefault();
-        const $anchorElement = $(e.currentTarget);
-        let redirectUrl = $anchorElement.data('redirectUrl');
+        let redirectUrl = eventTarget.dataset.redirectUrl;
         redirectUrl = (redirectUrl)
           ? encodeURIComponent(redirectUrl)
           : encodeURIComponent(top.list_frame.document.location.pathname + top.list_frame.document.location.search);
 
-        const identifier = $anchorElement.data('identifier');
-        const deleteType = $anchorElement.data('deleteType');
-        const deleteUrl = $anchorElement.data('deleteUrl') + '&data[delete][0][data]=' + encodeURIComponent(identifier);
+        const identifier = eventTarget.dataset.identifier;
+        const deleteType = eventTarget.dataset.deleteType;
+        const deleteUrl = eventTarget.dataset.deleteUrl + '&data[delete][0][data]=' + encodeURIComponent(identifier);
         const target = deleteUrl + '&data[delete][0][redirect]=' + redirectUrl;
-        if ($anchorElement.data('check')) {
-          const $modal = Modal.confirm($anchorElement.data('title'), $anchorElement.data('content'), SeverityEnum.warning, [
+        if (eventTarget.dataset.check) {
+          const $modal = Modal.confirm(eventTarget.dataset.title, eventTarget.dataset.content, SeverityEnum.warning, [
             {
               text: TYPO3.lang['buttons.confirm.delete_file.no'] || 'Cancel',
               active: true,
@@ -49,7 +49,7 @@ class FileDelete {
             },
           ]);
           $modal.on('button.clicked', (evt: JQueryEventObject): void => {
-            const $element = <HTMLInputElement>evt.target;
+            const $element = evt.target as HTMLInputElement;
             const name = $element.name;
             if (name === 'no') {
               Modal.dismiss();
@@ -61,7 +61,7 @@ class FileDelete {
         } else {
           top.list_frame.location.href = target;
         }
-      });
+      }).delegateTo(document, '.t3js-filelist-delete');
     });
   }
 }
diff --git a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileList.ts b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileList.ts
index 16247384c85d16587708d964f45a8bf270ca9657..c947df11984a710f9411b1e5e5ef7dbb65ca41c6 100644
--- a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileList.ts
+++ b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileList.ts
@@ -11,7 +11,7 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-import $ from 'jquery';
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
 import InfoWindow = require('TYPO3/CMS/Backend/InfoWindow');
 import {BroadcastMessage} from 'TYPO3/CMS/Backend/BroadcastMessage';
 import {ModalResponseEvent} from 'TYPO3/CMS/Backend/ModalInterface';
@@ -61,53 +61,58 @@ class Filelist {
   }
 
   private static submitClipboardFormWithCommand(cmd: string): void {
-    const $form = $('form[name="dblistForm"]');
-    $form.find('input[name="cmd"]').val(cmd);
-    $form.trigger('submit');
+    const form = document.querySelector('form[name="dblistForm"]') as HTMLFormElement
+    (form.querySelector('input[name="cmd"]') as HTMLInputElement).value = cmd;
+    form.submit();
   }
 
   constructor() {
     Filelist.processTriggers();
-    $((): void => {
+    DocumentService.ready().then((): void => {
       Filelist.registerTreeUpdateEvents();
       // file index events
-      $('[data-filelist-show-item-identifier][data-filelist-show-item-type]').on('click', (evt: JQueryEventObject): void => {
-        const $element = $(evt.currentTarget);
-        evt.preventDefault();
+      new RegularEvent('click', (event: Event, target: HTMLElement): void => {
+        event.preventDefault();
         Filelist.openInfoPopup(
-          $element.data('filelistShowItemType'),
-          $element.data('filelistShowItemIdentifier')
+          target.dataset.filelistShowItemType,
+          target.dataset.filelistShowItemIdentifier
         );
-      });
+      }).delegateTo(document, '[data-filelist-show-item-identifier][data-filelist-show-item-type]');
+
       // file search events
-      $('a.btn.filelist-file-info').on('click', (event: JQueryEventObject): void => {
+      new RegularEvent('click', (event: Event, target: HTMLElement): void => {
         event.preventDefault();
-        Filelist.openInfoPopup('_FILE', $(event.currentTarget).attr('data-identifier'));
-      });
-      $('a.filelist-file-references').on('click', (event: JQueryEventObject): void => {
+        Filelist.openInfoPopup('_FILE', target.dataset.identifier);
+      }).delegateTo(document, 'a.btn.filelist-file-info');
+
+      new RegularEvent('click', (event: Event, target: HTMLElement): void => {
         event.preventDefault();
-        Filelist.openInfoPopup('_FILE', $(event.currentTarget).attr('data-identifier'));
-      });
-      $('a.btn.filelist-file-copy').on('click', (event: JQueryEventObject): void => {
+        Filelist.openInfoPopup('_FILE', target.dataset.identifier);
+      }).delegateTo(document, 'a.filelist-file-references');
+
+      new RegularEvent('click', (event: Event, target: HTMLElement): void => {
         event.preventDefault();
-        const $element = $(event.currentTarget);
-        const url = $element.attr('href');
+        const url = target.getAttribute('href');
         let redirectUrl = (url)
           ? encodeURIComponent(url)
           : encodeURIComponent(top.list_frame.document.location.pathname + top.list_frame.document.location.search);
         top.list_frame.location.href = url + '&redirect=' + redirectUrl;
-      });
+      }).delegateTo(document, 'a.btn.filelist-file-copy');
+
       // clipboard events
-      $('[data-event-name="filelist:clipboard:cmd"]').on('filelist:clipboard:cmd', (evt: JQueryEventObject) => {
-        const originalEvent = evt.originalEvent as ModalResponseEvent;
-        if (originalEvent.detail.result) {
-          Filelist.submitClipboardFormWithCommand(originalEvent.detail.payload);
-        }
-      });
-      $('[data-filelist-clipboard-cmd]:not([data-filelist-clipboard-cmd=""])').on('click', (evt: JQueryEventObject): void => {
-        const cmd = $(evt.currentTarget).data('filelistClipboardCmd');
+      const clipboardCmd = document.querySelector('[data-event-name="filelist:clipboard:cmd"]');
+      if (clipboardCmd !== null) {
+        new RegularEvent('filelist:clipboard:cmd', (event: ModalResponseEvent, target: HTMLElement): void => {
+          if (event.detail.result) {
+            Filelist.submitClipboardFormWithCommand(event.detail.payload);
+          }
+        }).bindTo(clipboardCmd);
+      }
+
+      new RegularEvent('click', (event: ModalResponseEvent, target: HTMLElement): void => {
+        const cmd = target.dataset.filelistClipboardCmd;
         Filelist.submitClipboardFormWithCommand(cmd);
-      });
+      }).delegateTo(document, '[data-filelist-clipboard-cmd]:not([data-filelist-clipboard-cmd=""])');
     });
   }
 }
diff --git a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileListLocalisation.ts b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileListLocalisation.ts
index 121f7331b3747a780fd2e49cbe2166be30a1b32d..355df1365898542cb2a7e883fb783827ce7b07e8 100644
--- a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileListLocalisation.ts
+++ b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileListLocalisation.ts
@@ -11,7 +11,8 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-import $ from 'jquery';
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
+import RegularEvent = require('TYPO3/CMS/Core/Event/RegularEvent');
 
 /**
  * Module: TYPO3/CMS/Filelist/FileListLocalisation
@@ -19,11 +20,11 @@ import $ from 'jquery';
  */
 class FileListLocalisation {
   constructor() {
-    $((): void => {
-      $('a.filelist-translationToggler').on('click', (event: JQueryEventObject): void => {
-        const id = $(event.currentTarget).attr('data-fileid');
-        $('div[data-fileid="' + id + '"]').toggle();
-      });
+    DocumentService.ready().then((): void => {
+      new RegularEvent('click', (event: Event, target: HTMLElement): void => {
+        const id = target.dataset.fileid;
+        document.querySelector('div[data-fileid="' + id + '"]').classList.toggle('hidden');
+      }).delegateTo(document, 'a.filelist-translationToggler');
     });
   }
 }
diff --git a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileReplace.ts b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileReplace.ts
index 13612df28c3a8d536bd54eff33be85a8095af61a..a3c1483fe6906cdf124ac7ff1d2e2bd05f5df9ae 100644
--- a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileReplace.ts
+++ b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileReplace.ts
@@ -12,10 +12,13 @@
  */
 
 import RegularEvent = require('TYPO3/CMS/Core/Event/RegularEvent');
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
 
 class FileReplace {
   constructor() {
-    this.registerEvents();
+    DocumentService.ready().then((): void => {
+      this.registerEvents();
+    });
   }
 
   private registerEvents(): void {
diff --git a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileSearch.ts b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileSearch.ts
index 0a483304697bad410a91e58de74da3b48b5fb72b..33554197d5de95350636a67ee125dcf5d9708bef 100644
--- a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileSearch.ts
+++ b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/FileSearch.ts
@@ -11,8 +11,8 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-import $ from 'jquery';
 import 'TYPO3/CMS/Backend/Input/Clearable';
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
 
 /**
  * Module: TYPO3/CMS/Filelist/RenameFile
@@ -21,10 +21,10 @@ import 'TYPO3/CMS/Backend/Input/Clearable';
  */
 class FileSearch {
   constructor() {
-    $((): void => {
+    DocumentService.ready().then((): void => {
       let searchField: HTMLInputElement;
       if ((searchField = document.querySelector('input[name="tx_filelist_file_filelistlist[searchWord]"]')) !== null) {
-        const searchResultShown = ('' !== searchField.value);
+        const searchResultShown = '' !== searchField.value;
 
         // make search field clearable
         searchField.clearable({
diff --git a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/RenameFile.ts b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/RenameFile.ts
index f12201c1820f96bc64351863084e4c656478e763..43031307e4318d569e9a8145066697a51ab77214 100644
--- a/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/RenameFile.ts
+++ b/Build/Sources/TypeScript/filelist/Resources/Public/TypeScript/RenameFile.ts
@@ -12,8 +12,10 @@
  */
 
 import {SeverityEnum} from 'TYPO3/CMS/Backend/Enum/Severity';
-import $ from 'jquery';
+import {AjaxResponse} from 'TYPO3/CMS/Core/Ajax/AjaxResponse';
+import AjaxRequest = require('TYPO3/CMS/Core/Ajax/AjaxRequest');
 import Modal = require('TYPO3/CMS/Backend/Modal');
+import DocumentService = require('TYPO3/CMS/Core/DocumentService');
 
 /**
  * Module: TYPO3/CMS/Filelist/RenameFile
@@ -23,71 +25,73 @@ import Modal = require('TYPO3/CMS/Backend/Modal');
 class RenameFile {
 
   constructor() {
-    this.initialize();
+    DocumentService.ready().then((): void => {
+      this.initialize();
+    });
   }
 
   public initialize(): void {
-    $('.t3js-submit-file-rename').on('click', this.checkForDuplicate);
+    const submitButton = document.querySelector('.t3js-submit-file-rename');
+    if (submitButton !== null) {
+      submitButton.addEventListener('click', this.checkForDuplicate)
+    }
   }
 
-  private checkForDuplicate(e: any): void {
+  private checkForDuplicate(e: Event): void {
     e.preventDefault();
 
-    const form: any = $('#' + $(e.currentTarget).attr('form'));
-    const fileNameField: any = form.find('input[name="data[rename][0][target]"]');
-    const conflictModeField: any = form.find('input[name="data[rename][0][conflictMode]"]');
-    const ajaxUrl: string = TYPO3.settings.ajaxUrls.file_exists;
+    const form: HTMLFormElement = (e.currentTarget as HTMLInputElement).form;
+    const fileNameField = form.querySelector('input[name="data[rename][0][target]"]') as HTMLInputElement;
+    const destinationField = form.querySelector('input[name="data[rename][0][destination]"]') as HTMLInputElement;
+    const conflictModeField = form.querySelector('input[name="data[rename][0][conflictMode]"]') as HTMLInputElement;
+
+    new AjaxRequest(TYPO3.settings.ajaxUrls.file_exists).withQueryArguments({
+      fileName: fileNameField.value,
+      fileTarget: destinationField.value,
+    }).get({cache: 'no-cache'}).then(async (response: AjaxResponse): Promise<void> => {
+      const result = await response.resolve();
 
-    $.ajax({
-      cache: false,
-      data: {
-        fileName: fileNameField.val(),
-        fileTarget: form.find('input[name="data[rename][0][destination]"]').val(),
-      },
-      success: (response: any): void => {
-        const fileExists: boolean = typeof response.uid !== 'undefined';
-        const originalFileName: string = fileNameField.data('original');
-        const newFileName: string = fileNameField.val();
+      const fileExists: boolean = typeof result.uid !== 'undefined';
+      const originalFileName: string = fileNameField.dataset.original;
+      const newFileName: string = fileNameField.value;
 
-        if (fileExists && originalFileName !== newFileName) {
-          const description: string = TYPO3.lang['file_rename.exists.description']
-            .replace('{0}', originalFileName).replace(/\{1\}/g, newFileName);
+      if (fileExists && originalFileName !== newFileName) {
+        const description: string = TYPO3.lang['file_rename.exists.description']
+          .replace('{0}', originalFileName).replace(/\{1\}/g, newFileName);
 
-          const modal: JQuery = Modal.confirm(
-            TYPO3.lang['file_rename.exists.title'],
-            description,
-            SeverityEnum.warning,
-            [
-              {
-                active: true,
-                btnClass: 'btn-default',
-                name: 'cancel',
-                text: TYPO3.lang['file_rename.actions.cancel'],
-              },
-              {
-                btnClass: 'btn-primary',
-                name: 'rename',
-                text: TYPO3.lang['file_rename.actions.rename'],
-              },
-              {
-                btnClass: 'btn-default',
-                name: 'replace',
-                text: TYPO3.lang['file_rename.actions.override'],
-              },
-            ]);
+        const modal = Modal.confirm(
+          TYPO3.lang['file_rename.exists.title'],
+          description,
+          SeverityEnum.warning,
+          [
+            {
+              active: true,
+              btnClass: 'btn-default',
+              name: 'cancel',
+              text: TYPO3.lang['file_rename.actions.cancel'],
+            },
+            {
+              btnClass: 'btn-primary',
+              name: 'rename',
+              text: TYPO3.lang['file_rename.actions.rename'],
+            },
+            {
+              btnClass: 'btn-default',
+              name: 'replace',
+              text: TYPO3.lang['file_rename.actions.override'],
+            },
+          ]);
 
-          modal.on('button.clicked', (event: any): void => {
-            if (event.target.name !== 'cancel') {
-              conflictModeField.val(event.target.name);
-              form.trigger('submit');
-            }
-            Modal.dismiss();
-          });
-        } else {
-          form.trigger('submit');
-        }
-      },
-      url: ajaxUrl,
+        modal.on('button.clicked', (event: any): void => {
+          if (event.target.name !== 'cancel') {
+            conflictModeField.value = event.target.name;
+            form.submit();
+          }
+          Modal.dismiss();
+        });
+      } else {
+        form.submit();
+      }
     });
   }
 }
diff --git a/typo3/sysext/filelist/Classes/FileList.php b/typo3/sysext/filelist/Classes/FileList.php
index eb19cd3291ae9c1a17de5efa4c660145c05a5cca..4c396244d0755d6ebf739893ac2d156eaba2a460 100644
--- a/typo3/sysext/filelist/Classes/FileList.php
+++ b/typo3/sysext/filelist/Classes/FileList.php
@@ -778,8 +778,8 @@ class FileList
                             }
 
                             // Hide flag button bar when not translated yet
-                            $theData[$field] = ' <div class="localisationData btn-group" data-fileid="' . $fileObject->getUid() . '"' .
-                                (empty($translations) ? ' style="display: none;"' : '') . '>' . $languageCode . '</div>';
+                            $theData[$field] = ' <div class="localisationData btn-group' . (empty($translations) ? ' hidden' : '') . '" data-fileid="' . $fileObject->getUid() . '">'
+                                . $languageCode . '</div>';
                             $theData[$field] .= '<a class="btn btn-default filelist-translationToggler" data-fileid="' . $fileObject->getUid() . '">' .
                                 '<span title="' . htmlspecialchars($this->getLanguageService()->getLL('translateMetadata')) . '">'
                                 . $this->iconFactory->getIcon('mimetypes-x-content-page-language-overlay', Icon::SIZE_SMALL)->render() . '</span>'
diff --git a/typo3/sysext/filelist/Resources/Public/JavaScript/CreateFolder.js b/typo3/sysext/filelist/Resources/Public/JavaScript/CreateFolder.js
index a68c4a265422a88bc3c3befaee233dda930c46d1..54ca228b30a426612acc0176883694e2cb40d45a 100644
--- a/typo3/sysext/filelist/Resources/Public/JavaScript/CreateFolder.js
+++ b/typo3/sysext/filelist/Resources/Public/JavaScript/CreateFolder.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,n,i,o){"use strict";n=__importDefault(n);return new class{constructor(){this.changed=!1,n.default(()=>{const e=document.querySelector(".filelist-create-folder-main");if(!(e instanceof HTMLElement))throw new Error("Main element not found");this.selfUrl=e.dataset.selfUrl,this.confirmTitle=e.dataset.confirmTitle,this.confirmText=e.dataset.confirmText,this.registerEvents()})}reload(e){const t=this.selfUrl.replace(/AMOUNT/,e.toString());if(this.changed){const e=i.confirm(this.confirmTitle,this.confirmText);e.on("confirm.button.cancel",()=>{e.trigger("modal-dismiss")}),e.on("confirm.button.ok",()=>{e.trigger("modal-dismiss"),window.location.href=t})}else window.location.href=t}registerEvents(){new o("change",()=>{this.changed=!0}).delegateTo(document,['input[type="text"][name^="data[newfolder]"]','input[type="text"][name^="data[newfile]"]','input[type="text"][name^="data[newMedia]"]'].join(",")),new o("change",e=>{const t=parseInt(e.target.value,10);this.reload(t)}).bindTo(document.getElementById("number-of-new-folders"))}}}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,n,i,o){"use strict";return new class{constructor(){this.changed=!1,n.ready().then(()=>{const e=document.querySelector(".filelist-create-folder-main");if(!(e instanceof HTMLElement))throw new Error("Main element not found");this.selfUrl=e.dataset.selfUrl,this.confirmTitle=e.dataset.confirmTitle,this.confirmText=e.dataset.confirmText,this.registerEvents()})}reload(e){const t=this.selfUrl.replace(/AMOUNT/,e.toString());if(this.changed){const e=i.confirm(this.confirmTitle,this.confirmText);e.on("confirm.button.cancel",()=>{e.trigger("modal-dismiss")}),e.on("confirm.button.ok",()=>{e.trigger("modal-dismiss"),window.location.href=t})}else window.location.href=t}registerEvents(){new o("change",()=>{this.changed=!0}).delegateTo(document,['input[type="text"][name^="data[newfolder]"]','input[type="text"][name^="data[newfile]"]','input[type="text"][name^="data[newMedia]"]'].join(",")),new o("change",e=>{const t=parseInt(e.target.value,10);this.reload(t)}).bindTo(document.getElementById("number-of-new-folders"))}}}));
\ No newline at end of file
diff --git a/typo3/sysext/filelist/Resources/Public/JavaScript/FileDelete.js b/typo3/sysext/filelist/Resources/Public/JavaScript/FileDelete.js
index 3a702d22ddd72b605be2ef7ede4433490826b955..fffda1d61ec27a79104b14edc290bd9bfa7f0be5 100644
--- a/typo3/sysext/filelist/Resources/Public/JavaScript/FileDelete.js
+++ b/typo3/sysext/filelist/Resources/Public/JavaScript/FileDelete.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","TYPO3/CMS/Backend/Enum/Severity","jquery","TYPO3/CMS/Backend/Modal"],(function(e,t,n,a,o){"use strict";a=__importDefault(a);return new class{constructor(){a.default(()=>{a.default(document).on("click",".t3js-filelist-delete",e=>{e.preventDefault();const t=a.default(e.currentTarget);let i=t.data("redirectUrl");i=i?encodeURIComponent(i):encodeURIComponent(top.list_frame.document.location.pathname+top.list_frame.document.location.search);const l=t.data("identifier"),r=t.data("deleteType"),d=t.data("deleteUrl")+"&data[delete][0][data]="+encodeURIComponent(l)+"&data[delete][0][redirect]="+i;if(t.data("check")){o.confirm(t.data("title"),t.data("content"),n.SeverityEnum.warning,[{text:TYPO3.lang["buttons.confirm.delete_file.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm."+r+".yes"]||"Yes, delete this file or folder",btnClass:"btn-warning",name:"yes"}]).on("button.clicked",e=>{const t=e.target.name;"no"===t?o.dismiss():"yes"===t&&(o.dismiss(),top.list_frame.location.href=d)})}else top.list_frame.location.href=d})})}}}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Modal"],(function(e,t,n,a,o,i){"use strict";a=__importDefault(a);return new class{constructor(){o.ready().then(()=>{new a.default("click",(e,t)=>{e.preventDefault();let a=t.dataset.redirectUrl;a=a?encodeURIComponent(a):encodeURIComponent(top.list_frame.document.location.pathname+top.list_frame.document.location.search);const o=t.dataset.identifier,l=t.dataset.deleteType,r=t.dataset.deleteUrl+"&data[delete][0][data]="+encodeURIComponent(o)+"&data[delete][0][redirect]="+a;if(t.dataset.check){i.confirm(t.dataset.title,t.dataset.content,n.SeverityEnum.warning,[{text:TYPO3.lang["buttons.confirm.delete_file.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm."+l+".yes"]||"Yes, delete this file or folder",btnClass:"btn-warning",name:"yes"}]).on("button.clicked",e=>{const t=e.target.name;"no"===t?i.dismiss():"yes"===t&&(i.dismiss(),top.list_frame.location.href=r)})}else top.list_frame.location.href=r}).delegateTo(document,".t3js-filelist-delete")})}}}));
\ No newline at end of file
diff --git a/typo3/sysext/filelist/Resources/Public/JavaScript/FileList.js b/typo3/sysext/filelist/Resources/Public/JavaScript/FileList.js
index 85a82105d32a1d504196aeac49a395459a6189e3..883844092c271cbcca098b309fd79e050d8d0540 100644
--- a/typo3/sysext/filelist/Resources/Public/JavaScript/FileList.js
+++ b/typo3/sysext/filelist/Resources/Public/JavaScript/FileList.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","TYPO3/CMS/Backend/InfoWindow","TYPO3/CMS/Backend/BroadcastMessage","TYPO3/CMS/Backend/BroadcastService","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,a,i,r,o,n){"use strict";a=__importDefault(a);class l{static openInfoPopup(e,t){i.showItem(e,t)}static processTriggers(){const e=document.querySelector(".filelist-main");null!==e&&(l.emitTreeUpdateRequest(e.dataset.filelistCurrentFolderHash),top.fsMod&&top.fsMod.recentIds instanceof Object&&(top.fsMod.recentIds.file=encodeURIComponent(e.dataset.filelistCurrentIdentifier)))}static registerTreeUpdateEvents(){new n("click",(function(){l.emitTreeUpdateRequest(this.dataset.treeUpdateRequest)})).delegateTo(document.body,"[data-tree-update-request]")}static emitTreeUpdateRequest(e){const t=new r.BroadcastMessage("filelist","treeUpdateRequested",{type:"folder",identifier:e});o.post(t)}static submitClipboardFormWithCommand(e){const t=a.default('form[name="dblistForm"]');t.find('input[name="cmd"]').val(e),t.trigger("submit")}constructor(){l.processTriggers(),a.default(()=>{l.registerTreeUpdateEvents(),a.default("[data-filelist-show-item-identifier][data-filelist-show-item-type]").on("click",e=>{const t=a.default(e.currentTarget);e.preventDefault(),l.openInfoPopup(t.data("filelistShowItemType"),t.data("filelistShowItemIdentifier"))}),a.default("a.btn.filelist-file-info").on("click",e=>{e.preventDefault(),l.openInfoPopup("_FILE",a.default(e.currentTarget).attr("data-identifier"))}),a.default("a.filelist-file-references").on("click",e=>{e.preventDefault(),l.openInfoPopup("_FILE",a.default(e.currentTarget).attr("data-identifier"))}),a.default("a.btn.filelist-file-copy").on("click",e=>{e.preventDefault();const t=a.default(e.currentTarget).attr("href");let i=t?encodeURIComponent(t):encodeURIComponent(top.list_frame.document.location.pathname+top.list_frame.document.location.search);top.list_frame.location.href=t+"&redirect="+i}),a.default('[data-event-name="filelist:clipboard:cmd"]').on("filelist:clipboard:cmd",e=>{const t=e.originalEvent;t.detail.result&&l.submitClipboardFormWithCommand(t.detail.payload)}),a.default('[data-filelist-clipboard-cmd]:not([data-filelist-clipboard-cmd=""])').on("click",e=>{const t=a.default(e.currentTarget).data("filelistClipboardCmd");l.submitClipboardFormWithCommand(t)})})}}return new l}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/InfoWindow","TYPO3/CMS/Backend/BroadcastMessage","TYPO3/CMS/Backend/BroadcastService","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,i,o,a,n,d){"use strict";class r{static openInfoPopup(e,t){o.showItem(e,t)}static processTriggers(){const e=document.querySelector(".filelist-main");null!==e&&(r.emitTreeUpdateRequest(e.dataset.filelistCurrentFolderHash),top.fsMod&&top.fsMod.recentIds instanceof Object&&(top.fsMod.recentIds.file=encodeURIComponent(e.dataset.filelistCurrentIdentifier)))}static registerTreeUpdateEvents(){new d("click",(function(){r.emitTreeUpdateRequest(this.dataset.treeUpdateRequest)})).delegateTo(document.body,"[data-tree-update-request]")}static emitTreeUpdateRequest(e){const t=new a.BroadcastMessage("filelist","treeUpdateRequested",{type:"folder",identifier:e});n.post(t)}static submitClipboardFormWithCommand(e){const t=document.querySelector('form[name="dblistForm"]');t.querySelector('input[name="cmd"]').value=e,t.submit()}constructor(){r.processTriggers(),i.ready().then(()=>{r.registerTreeUpdateEvents(),new d("click",(e,t)=>{e.preventDefault(),r.openInfoPopup(t.dataset.filelistShowItemType,t.dataset.filelistShowItemIdentifier)}).delegateTo(document,"[data-filelist-show-item-identifier][data-filelist-show-item-type]"),new d("click",(e,t)=>{e.preventDefault(),r.openInfoPopup("_FILE",t.dataset.identifier)}).delegateTo(document,"a.btn.filelist-file-info"),new d("click",(e,t)=>{e.preventDefault(),r.openInfoPopup("_FILE",t.dataset.identifier)}).delegateTo(document,"a.filelist-file-references"),new d("click",(e,t)=>{e.preventDefault();const i=t.getAttribute("href");let o=i?encodeURIComponent(i):encodeURIComponent(top.list_frame.document.location.pathname+top.list_frame.document.location.search);top.list_frame.location.href=i+"&redirect="+o}).delegateTo(document,"a.btn.filelist-file-copy");const e=document.querySelector('[data-event-name="filelist:clipboard:cmd"]');null!==e&&new d("filelist:clipboard:cmd",(e,t)=>{e.detail.result&&r.submitClipboardFormWithCommand(e.detail.payload)}).bindTo(e),new d("click",(e,t)=>{const i=t.dataset.filelistClipboardCmd;r.submitClipboardFormWithCommand(i)}).delegateTo(document,'[data-filelist-clipboard-cmd]:not([data-filelist-clipboard-cmd=""])')})}}return new r}));
\ No newline at end of file
diff --git a/typo3/sysext/filelist/Resources/Public/JavaScript/FileListLocalisation.js b/typo3/sysext/filelist/Resources/Public/JavaScript/FileListLocalisation.js
index 923daf418375df1a8d272a9cd987d8fda166e198..ea5da4f23409da222038dceba21fb423e7a201c9 100644
--- a/typo3/sysext/filelist/Resources/Public/JavaScript/FileListLocalisation.js
+++ b/typo3/sysext/filelist/Resources/Public/JavaScript/FileListLocalisation.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery"],(function(t,e,r){"use strict";r=__importDefault(r);return new class{constructor(){r.default(()=>{r.default("a.filelist-translationToggler").on("click",t=>{const e=r.default(t.currentTarget).attr("data-fileid");r.default('div[data-fileid="'+e+'"]').toggle()})})}}}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,n,r){"use strict";return new class{constructor(){n.ready().then(()=>{new r("click",(e,t)=>{const n=t.dataset.fileid;document.querySelector('div[data-fileid="'+n+'"]').classList.toggle("hidden")}).delegateTo(document,"a.filelist-translationToggler")})}}}));
\ No newline at end of file
diff --git a/typo3/sysext/filelist/Resources/Public/JavaScript/FileReplace.js b/typo3/sysext/filelist/Resources/Public/JavaScript/FileReplace.js
index d61e2366e8ec8651e1f52b8afef3f9f91f1404c5..2598d056c757438381fe72a53c726d8fd45c3a3d 100644
--- a/typo3/sysext/filelist/Resources/Public/JavaScript/FileReplace.js
+++ b/typo3/sysext/filelist/Resources/Public/JavaScript/FileReplace.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,i){"use strict";return new class{constructor(){this.registerEvents()}registerEvents(){new i("click",(function(){const e=this.dataset.filelistClickTarget;document.querySelector(e).click()})).delegateTo(document.body,'[data-filelist-click-target]:not([data-filelist-click-target=""]'),new i("change",(function(){const e=this.dataset.filelistChangeTarget;document.querySelector(e).value=this.value})).delegateTo(document.body,'[data-filelist-change-target]:not([data-filelist-change-target=""])')}}}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/DocumentService"],(function(e,t,i,n){"use strict";return new class{constructor(){n.ready().then(()=>{this.registerEvents()})}registerEvents(){new i("click",(function(){const e=this.dataset.filelistClickTarget;document.querySelector(e).click()})).delegateTo(document.body,'[data-filelist-click-target]:not([data-filelist-click-target=""]'),new i("change",(function(){const e=this.dataset.filelistChangeTarget;document.querySelector(e).value=this.value})).delegateTo(document.body,'[data-filelist-change-target]:not([data-filelist-change-target=""])')}}}));
\ No newline at end of file
diff --git a/typo3/sysext/filelist/Resources/Public/JavaScript/FileSearch.js b/typo3/sysext/filelist/Resources/Public/JavaScript/FileSearch.js
index a6002722bd73d7c2d6ab3bb3d88e3015c4e61f6c..ac1c8f25430c7a0d2b6d4dd1cdbba9c53dcd38b9 100644
--- a/typo3/sysext/filelist/Resources/Public/JavaScript/FileSearch.js
+++ b/typo3/sysext/filelist/Resources/Public/JavaScript/FileSearch.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","TYPO3/CMS/Backend/Input/Clearable"],(function(e,t,l){"use strict";l=__importDefault(l);return new class{constructor(){l.default(()=>{let e;if(null!==(e=document.querySelector('input[name="tx_filelist_file_filelistlist[searchWord]"]'))){const t=""!==e.value;e.clearable({onClear:e=>{t&&e.closest("form").submit()}})}})}}}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Input/Clearable"],(function(e,t,r){"use strict";return new class{constructor(){r.ready().then(()=>{let e;if(null!==(e=document.querySelector('input[name="tx_filelist_file_filelistlist[searchWord]"]'))){const t=""!==e.value;e.clearable({onClear:e=>{t&&e.closest("form").submit()}})}})}}}));
\ No newline at end of file
diff --git a/typo3/sysext/filelist/Resources/Public/JavaScript/RenameFile.js b/typo3/sysext/filelist/Resources/Public/JavaScript/RenameFile.js
index fae028dfdef9bd0a0614689926ee9c0e68155147..12e393a228630aa9ddafad3889bb0dc52a5ab13b 100644
--- a/typo3/sysext/filelist/Resources/Public/JavaScript/RenameFile.js
+++ b/typo3/sysext/filelist/Resources/Public/JavaScript/RenameFile.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","TYPO3/CMS/Backend/Enum/Severity","jquery","TYPO3/CMS/Backend/Modal"],(function(e,t,a,n,i){"use strict";n=__importDefault(n);return new class{constructor(){this.initialize()}initialize(){n.default(".t3js-submit-file-rename").on("click",this.checkForDuplicate)}checkForDuplicate(e){e.preventDefault();const t=n.default("#"+n.default(e.currentTarget).attr("form")),r=t.find('input[name="data[rename][0][target]"]'),l=t.find('input[name="data[rename][0][conflictMode]"]'),s=TYPO3.settings.ajaxUrls.file_exists;n.default.ajax({cache:!1,data:{fileName:r.val(),fileTarget:t.find('input[name="data[rename][0][destination]"]').val()},success:e=>{const n=void 0!==e.uid,s=r.data("original"),c=r.val();if(n&&s!==c){const e=TYPO3.lang["file_rename.exists.description"].replace("{0}",s).replace(/\{1\}/g,c);i.confirm(TYPO3.lang["file_rename.exists.title"],e,a.SeverityEnum.warning,[{active:!0,btnClass:"btn-default",name:"cancel",text:TYPO3.lang["file_rename.actions.cancel"]},{btnClass:"btn-primary",name:"rename",text:TYPO3.lang["file_rename.actions.rename"]},{btnClass:"btn-default",name:"replace",text:TYPO3.lang["file_rename.actions.override"]}]).on("button.clicked",e=>{"cancel"!==e.target.name&&(l.val(e.target.name),t.trigger("submit")),i.dismiss()})}else t.trigger("submit")},url:s})}}}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Core/DocumentService"],(function(e,t,a,n,i,r){"use strict";return new class{constructor(){r.ready().then(()=>{this.initialize()})}initialize(){const e=document.querySelector(".t3js-submit-file-rename");null!==e&&e.addEventListener("click",this.checkForDuplicate)}checkForDuplicate(e){e.preventDefault();const t=e.currentTarget.form,r=t.querySelector('input[name="data[rename][0][target]"]'),c=t.querySelector('input[name="data[rename][0][destination]"]'),l=t.querySelector('input[name="data[rename][0][conflictMode]"]');new n(TYPO3.settings.ajaxUrls.file_exists).withQueryArguments({fileName:r.value,fileTarget:c.value}).get({cache:"no-cache"}).then(async e=>{const n=void 0!==(await e.resolve()).uid,c=r.dataset.original,s=r.value;if(n&&c!==s){const e=TYPO3.lang["file_rename.exists.description"].replace("{0}",c).replace(/\{1\}/g,s);i.confirm(TYPO3.lang["file_rename.exists.title"],e,a.SeverityEnum.warning,[{active:!0,btnClass:"btn-default",name:"cancel",text:TYPO3.lang["file_rename.actions.cancel"]},{btnClass:"btn-primary",name:"rename",text:TYPO3.lang["file_rename.actions.rename"]},{btnClass:"btn-default",name:"replace",text:TYPO3.lang["file_rename.actions.override"]}]).on("button.clicked",e=>{"cancel"!==e.target.name&&(l.value=e.target.name,t.submit()),i.dismiss()})}else t.submit()})}}}));
\ No newline at end of file