From 4085461cfac2a13f8162cb8c40f74500022a18fc Mon Sep 17 00:00:00 2001
From: Andreas Fernandez <a.fernandez@scripting-base.de>
Date: Fri, 17 Mar 2023 15:09:59 +0100
Subject: [PATCH] [TASK] Update TypeScript to 4.9

TypeScript is updated to the current version 4.9, while TS 5.0 is around
the corner. In the same run, eslint and its friends are updated as well
to stay compatible with TypeScript 4.9.

Executed commands:

    yarn add --dev \
        @typescript-eslint/eslint-plugin@^5.55.0 \
        @typescript-eslint/parser@^5.55.0 \
        @typescript-eslint/typescript-estree@^5.55.0 \
        eslint@^8.36.0 \
        typescript@~4.9.0
    yarn build

Resolves: #100169
Releases: main, 11.5
Change-Id: I79b73e6cc11a252bfa59c798bf7dcf4e2b959bd5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/78152
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: core-ci <typo3@b13.com>
---
 Build/package.json                            |  10 +-
 Build/yarn.lock                               | 326 +++++++++++-------
 .../Public/JavaScript/ActionDispatcher.js     |   2 +-
 .../Public/JavaScript/BroadcastMessage.js     |   2 +-
 .../Public/JavaScript/BroadcastService.js     |   2 +-
 .../Public/JavaScript/ColumnSelectorButton.js |   2 +-
 .../Public/JavaScript/ContextHelp.js          |   2 +-
 .../Public/JavaScript/ContextMenu.js          |   2 +-
 .../Public/JavaScript/DateTimePicker.js       |   2 +-
 .../Public/JavaScript/DebugConsole.js         |   2 +-
 .../Public/JavaScript/DocumentSaveActions.js  |   2 +-
 .../JavaScript/Event/InteractionRequest.js    |   2 +-
 .../Container/FlexFormContainerContainer.js   |   2 +-
 .../Container/FlexFormSectionContainer.js     |   2 +-
 .../Container/InlineControlContainer.js       |   2 +-
 .../Element/Extra/SelectBoxFilter.js          |   2 +-
 .../Element/SelectCheckBoxElement.js          |   2 +-
 .../FormEngine/FieldWizard/ValueSlider.js     |   2 +-
 .../Public/JavaScript/FormEngineReview.js     |   2 +-
 .../Resources/Public/JavaScript/GridEditor.js |   2 +-
 .../Public/JavaScript/LayoutModule/Paste.js   |   2 +-
 .../Resources/Public/JavaScript/Modal.js      |   2 +-
 .../Resources/Public/JavaScript/ModuleMenu.js |   2 +-
 .../Public/JavaScript/MultiRecordSelection.js |   2 +-
 .../JavaScript/NewContentElementWizard.js     |   2 +-
 .../NewContentElementWizardButton.js          |   2 +-
 .../Resources/Public/JavaScript/Tabs.js       |   2 +-
 .../Toolbar/SystemInformationMenu.js          |   2 +-
 .../Public/JavaScript/Tree/DragDrop.js        |   2 +-
 .../Public/JavaScript/UserPassLogin.js        |   2 +-
 .../Viewport/NavigationContainer.js           |   2 +-
 .../Public/JavaScript/Permissions.js          |   2 +-
 .../Resources/Public/JavaScript/FileList.js   |   2 +-
 .../Module/Upgrade/UpgradeWizards.js          |   2 +-
 .../Public/JavaScript/Toolbar/OpendocsMenu.js |   2 +-
 .../Public/JavaScript/BrowseFiles.js          |   2 +-
 .../Resources/Public/JavaScript/Recordlist.js |   2 +-
 .../Resources/Public/JavaScript/Recycler.js   |   2 +-
 .../Public/JavaScript/SetupModule.js          |   2 +-
 .../Resources/Public/JavaScript/Main.js       |   2 +-
 .../Resources/Public/JavaScript/Backend.js    |   2 +-
 .../Resources/Public/JavaScript/Preview.js    |   2 +-
 42 files changed, 255 insertions(+), 161 deletions(-)

diff --git a/Build/package.json b/Build/package.json
index f2d6c61d765e..55c766e8a46b 100644
--- a/Build/package.json
+++ b/Build/package.json
@@ -26,11 +26,11 @@
     "@types/nprogress": "^0.2.0",
     "@types/requirejs": "^2.1.32",
     "@types/sortablejs": "^1.10.6",
-    "@typescript-eslint/eslint-plugin": "^5.30.5",
-    "@typescript-eslint/parser": "^5.30.5",
-    "@typescript-eslint/typescript-estree": "^5.30.5",
+    "@typescript-eslint/eslint-plugin": "^5.55.0",
+    "@typescript-eslint/parser": "^5.55.0",
+    "@typescript-eslint/typescript-estree": "^5.55.0",
     "autoprefixer": "^9.8.6",
-    "eslint": "^8.19.0",
+    "eslint": "^8.36.0",
     "grunt": "~1.3.0",
     "grunt-concurrent": "^3.0.0",
     "grunt-contrib-copy": "^1.0.0",
@@ -66,7 +66,7 @@
     "stylefmt": "^6.0.3",
     "stylelint": "^13.12.0",
     "terser": "^5.3.2",
-    "typescript": "~4.7.0"
+    "typescript": "~4.9.0"
   },
   "scripts": {
     "build-css": "./node_modules/.bin/grunt css",
diff --git a/Build/yarn.lock b/Build/yarn.lock
index b4a6f0764785..2a63aca9bd62 100644
--- a/Build/yarn.lock
+++ b/Build/yarn.lock
@@ -375,6 +375,18 @@
   resolved "https://registry.yarnpkg.com/@claviska/jquery-minicolors/-/jquery-minicolors-2.3.6.tgz#0f3dfe9baf11e93a3b1b1dcf2448177cf4c32e3e"
   integrity sha512-8Ro6D4GCrmOl41+6w4NFhEOpx8vjxwVRI69bulXsFDt49uVRKhLU5TnzEV7AmOJrylkVq+ugnYNMiGHBieeKUQ==
 
+"@eslint-community/eslint-utils@^4.2.0":
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz#a556790523a351b4e47e9d385f47265eaaf9780a"
+  integrity sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==
+  dependencies:
+    eslint-visitor-keys "^3.3.0"
+
+"@eslint-community/regexpp@^4.4.0":
+  version "4.4.0"
+  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403"
+  integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==
+
 "@eslint/eslintrc@^0.1.3":
   version "0.1.3"
   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085"
@@ -391,34 +403,44 @@
     minimatch "^3.0.4"
     strip-json-comments "^3.1.1"
 
-"@eslint/eslintrc@^1.3.0":
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f"
-  integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==
+"@eslint/eslintrc@^2.0.1":
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.1.tgz#7888fe7ec8f21bc26d646dbd2c11cd776e21192d"
+  integrity sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==
   dependencies:
     ajv "^6.12.4"
     debug "^4.3.2"
-    espree "^9.3.2"
-    globals "^13.15.0"
+    espree "^9.5.0"
+    globals "^13.19.0"
     ignore "^5.2.0"
     import-fresh "^3.2.1"
     js-yaml "^4.1.0"
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
+"@eslint/js@8.36.0":
+  version "8.36.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.36.0.tgz#9837f768c03a1e4a30bd304a64fb8844f0e72efe"
+  integrity sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==
+
 "@gar/promisify@^1.0.1":
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210"
   integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==
 
-"@humanwhocodes/config-array@^0.9.2":
-  version "0.9.5"
-  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
-  integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
+"@humanwhocodes/config-array@^0.11.8":
+  version "0.11.8"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
+  integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
   dependencies:
     "@humanwhocodes/object-schema" "^1.2.1"
     debug "^4.1.1"
-    minimatch "^3.0.4"
+    minimatch "^3.0.5"
+
+"@humanwhocodes/module-importer@^1.0.1":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+  integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
 
 "@humanwhocodes/object-schema@^1.2.1":
   version "1.2.1"
@@ -451,11 +473,24 @@
     "@nodelib/fs.stat" "2.0.3"
     run-parallel "^1.1.9"
 
+"@nodelib/fs.scandir@2.1.5":
+  version "2.1.5"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+  dependencies:
+    "@nodelib/fs.stat" "2.0.5"
+    run-parallel "^1.1.9"
+
 "@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
   integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
 
+"@nodelib/fs.stat@2.0.5":
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
 "@nodelib/fs.stat@^1.1.2":
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
@@ -469,6 +504,14 @@
     "@nodelib/fs.scandir" "2.1.3"
     fastq "^1.6.0"
 
+"@nodelib/fs.walk@^1.2.8":
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+  dependencies:
+    "@nodelib/fs.scandir" "2.1.5"
+    fastq "^1.6.0"
+
 "@npmcli/arborist@^2.3.0", "@npmcli/arborist@^2.5.0", "@npmcli/arborist@^2.8.2":
   version "2.8.2"
   resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-2.8.2.tgz#643f8c8a26ffbaa579983972f67a60cb6217e86a"
@@ -796,6 +839,11 @@
   resolved "https://registry.yarnpkg.com/@types/requirejs/-/requirejs-2.1.32.tgz#c936a1f4b08f0a8bc10a380d7b837ccf9137d4b9"
   integrity sha512-TM8LeNLJkEKDcx2414tsU+aKX+Pcfx8siRgZJWsb16KT77TT2FxINO48dLLkx8a5fEuJYb+rcfgPcvq6vt96NQ==
 
+"@types/semver@^7.3.12":
+  version "7.3.13"
+  resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91"
+  integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==
+
 "@types/sizzle@*":
   version "2.3.2"
   resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47"
@@ -816,84 +864,88 @@
   resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
   integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
 
-"@typescript-eslint/eslint-plugin@^5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.5.tgz#e9a0afd6eb3b1d663db91cf1e7bc7584d394503d"
-  integrity sha512-lftkqRoBvc28VFXEoRgyZuztyVUQ04JvUnATSPtIRFAccbXTWL6DEtXGYMcbg998kXw1NLUJm7rTQ9eUt+q6Ig==
+"@typescript-eslint/eslint-plugin@^5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz#bc2400c3a23305e8c9a9c04aa40933868aaaeb47"
+  integrity sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg==
   dependencies:
-    "@typescript-eslint/scope-manager" "5.30.5"
-    "@typescript-eslint/type-utils" "5.30.5"
-    "@typescript-eslint/utils" "5.30.5"
+    "@eslint-community/regexpp" "^4.4.0"
+    "@typescript-eslint/scope-manager" "5.55.0"
+    "@typescript-eslint/type-utils" "5.55.0"
+    "@typescript-eslint/utils" "5.55.0"
     debug "^4.3.4"
-    functional-red-black-tree "^1.0.1"
+    grapheme-splitter "^1.0.4"
     ignore "^5.2.0"
-    regexpp "^3.2.0"
+    natural-compare-lite "^1.4.0"
     semver "^7.3.7"
     tsutils "^3.21.0"
 
-"@typescript-eslint/parser@^5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.5.tgz#f667c34e4e4c299d98281246c9b1e68c03a92522"
-  integrity sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q==
+"@typescript-eslint/parser@^5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.55.0.tgz#8c96a0b6529708ace1dcfa60f5e6aec0f5ed2262"
+  integrity sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==
   dependencies:
-    "@typescript-eslint/scope-manager" "5.30.5"
-    "@typescript-eslint/types" "5.30.5"
-    "@typescript-eslint/typescript-estree" "5.30.5"
+    "@typescript-eslint/scope-manager" "5.55.0"
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/typescript-estree" "5.55.0"
     debug "^4.3.4"
 
-"@typescript-eslint/scope-manager@5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.5.tgz#7f90b9d6800552c856a5f3644f5e55dd1469d964"
-  integrity sha512-NJ6F+YHHFT/30isRe2UTmIGGAiXKckCyMnIV58cE3JkHmaD6e5zyEYm5hBDv0Wbin+IC0T1FWJpD3YqHUG/Ydg==
+"@typescript-eslint/scope-manager@5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210"
+  integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==
   dependencies:
-    "@typescript-eslint/types" "5.30.5"
-    "@typescript-eslint/visitor-keys" "5.30.5"
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/visitor-keys" "5.55.0"
 
-"@typescript-eslint/type-utils@5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.5.tgz#7a9656f360b4b1daea635c4621dab053d08bf8a9"
-  integrity sha512-k9+ejlv1GgwN1nN7XjVtyCgE0BTzhzT1YsQF0rv4Vfj2U9xnslBgMYYvcEYAFVdvhuEscELJsB7lDkN7WusErw==
+"@typescript-eslint/type-utils@5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz#74bf0233523f874738677bb73cb58094210e01e9"
+  integrity sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA==
   dependencies:
-    "@typescript-eslint/utils" "5.30.5"
+    "@typescript-eslint/typescript-estree" "5.55.0"
+    "@typescript-eslint/utils" "5.55.0"
     debug "^4.3.4"
     tsutils "^3.21.0"
 
-"@typescript-eslint/types@5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.5.tgz#36a0c05a72af3623cdf9ee8b81ea743b7de75a98"
-  integrity sha512-kZ80w/M2AvsbRvOr3PjaNh6qEW1LFqs2pLdo2s5R38B2HYXG8Z0PP48/4+j1QHJFL3ssHIbJ4odPRS8PlHrFfw==
+"@typescript-eslint/types@5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd"
+  integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==
 
-"@typescript-eslint/typescript-estree@5.30.5", "@typescript-eslint/typescript-estree@^5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.5.tgz#c520e4eba20551c4ec76af8d344a42eb6c9767bb"
-  integrity sha512-qGTc7QZC801kbYjAr4AgdOfnokpwStqyhSbiQvqGBLixniAKyH+ib2qXIVo4P9NgGzwyfD9I0nlJN7D91E1VpQ==
+"@typescript-eslint/typescript-estree@5.55.0", "@typescript-eslint/typescript-estree@^5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575"
+  integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==
   dependencies:
-    "@typescript-eslint/types" "5.30.5"
-    "@typescript-eslint/visitor-keys" "5.30.5"
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/visitor-keys" "5.55.0"
     debug "^4.3.4"
     globby "^11.1.0"
     is-glob "^4.0.3"
     semver "^7.3.7"
     tsutils "^3.21.0"
 
-"@typescript-eslint/utils@5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.5.tgz#3999cbd06baad31b9e60d084f20714d1b2776765"
-  integrity sha512-o4SSUH9IkuA7AYIfAvatldovurqTAHrfzPApOZvdUq01hHojZojCFXx06D/aFpKCgWbMPRdJBWAC3sWp3itwTA==
+"@typescript-eslint/utils@5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.55.0.tgz#34e97322e7ae5b901e7a870aabb01dad90023341"
+  integrity sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw==
   dependencies:
+    "@eslint-community/eslint-utils" "^4.2.0"
     "@types/json-schema" "^7.0.9"
-    "@typescript-eslint/scope-manager" "5.30.5"
-    "@typescript-eslint/types" "5.30.5"
-    "@typescript-eslint/typescript-estree" "5.30.5"
+    "@types/semver" "^7.3.12"
+    "@typescript-eslint/scope-manager" "5.55.0"
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/typescript-estree" "5.55.0"
     eslint-scope "^5.1.1"
-    eslint-utils "^3.0.0"
+    semver "^7.3.7"
 
-"@typescript-eslint/visitor-keys@5.30.5":
-  version "5.30.5"
-  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.5.tgz#d4bb969202019d5d5d849a0aaedc7370cc044b14"
-  integrity sha512-D+xtGo9HUMELzWIUqcQc0p2PO4NyvTrgIOK/VnSH083+8sq0tiLozNRKuLarwHYGRuA6TVBQSuuLwJUDWd3aaA==
+"@typescript-eslint/visitor-keys@5.55.0":
+  version "5.55.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2"
+  integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==
   dependencies:
-    "@typescript-eslint/types" "5.30.5"
+    "@typescript-eslint/types" "5.55.0"
     eslint-visitor-keys "^3.3.0"
 
 "@typo3/icons@^2.4.1":
@@ -944,10 +996,10 @@ acorn@^7.4.0:
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
   integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
 
-acorn@^8.7.1:
-  version "8.7.1"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
-  integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
+acorn@^8.8.0:
+  version "8.8.2"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
+  integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
 
 after@0.8.2:
   version "0.8.2"
@@ -3017,23 +3069,11 @@ eslint-utils@^2.1.0:
   dependencies:
     eslint-visitor-keys "^1.1.0"
 
-eslint-utils@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
-  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
-  dependencies:
-    eslint-visitor-keys "^2.0.0"
-
 eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
   integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
 
-eslint-visitor-keys@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
-  integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
-
 eslint-visitor-keys@^3.3.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
@@ -3082,13 +3122,18 @@ eslint@^7.0.0:
     text-table "^0.2.0"
     v8-compile-cache "^2.0.3"
 
-eslint@^8.19.0:
-  version "8.19.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.19.0.tgz#7342a3cbc4fbc5c106a1eefe0fd0b50b6b1a7d28"
-  integrity sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==
-  dependencies:
-    "@eslint/eslintrc" "^1.3.0"
-    "@humanwhocodes/config-array" "^0.9.2"
+eslint@^8.36.0:
+  version "8.36.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.36.0.tgz#1bd72202200a5492f91803b113fb8a83b11285cf"
+  integrity sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==
+  dependencies:
+    "@eslint-community/eslint-utils" "^4.2.0"
+    "@eslint-community/regexpp" "^4.4.0"
+    "@eslint/eslintrc" "^2.0.1"
+    "@eslint/js" "8.36.0"
+    "@humanwhocodes/config-array" "^0.11.8"
+    "@humanwhocodes/module-importer" "^1.0.1"
+    "@nodelib/fs.walk" "^1.2.8"
     ajv "^6.10.0"
     chalk "^4.0.0"
     cross-spawn "^7.0.2"
@@ -3096,20 +3141,22 @@ eslint@^8.19.0:
     doctrine "^3.0.0"
     escape-string-regexp "^4.0.0"
     eslint-scope "^7.1.1"
-    eslint-utils "^3.0.0"
     eslint-visitor-keys "^3.3.0"
-    espree "^9.3.2"
-    esquery "^1.4.0"
+    espree "^9.5.0"
+    esquery "^1.4.2"
     esutils "^2.0.2"
     fast-deep-equal "^3.1.3"
     file-entry-cache "^6.0.1"
-    functional-red-black-tree "^1.0.1"
-    glob-parent "^6.0.1"
-    globals "^13.15.0"
+    find-up "^5.0.0"
+    glob-parent "^6.0.2"
+    globals "^13.19.0"
+    grapheme-splitter "^1.0.4"
     ignore "^5.2.0"
     import-fresh "^3.0.0"
     imurmurhash "^0.1.4"
     is-glob "^4.0.0"
+    is-path-inside "^3.0.3"
+    js-sdsl "^4.1.4"
     js-yaml "^4.1.0"
     json-stable-stringify-without-jsonify "^1.0.1"
     levn "^0.4.1"
@@ -3117,11 +3164,9 @@ eslint@^8.19.0:
     minimatch "^3.1.2"
     natural-compare "^1.4.0"
     optionator "^0.9.1"
-    regexpp "^3.2.0"
     strip-ansi "^6.0.1"
     strip-json-comments "^3.1.0"
     text-table "^0.2.0"
-    v8-compile-cache "^2.0.3"
 
 espree@^7.3.0:
   version "7.3.0"
@@ -3132,12 +3177,12 @@ espree@^7.3.0:
     acorn-jsx "^5.2.0"
     eslint-visitor-keys "^1.3.0"
 
-espree@^9.3.2:
-  version "9.3.2"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
-  integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
+espree@^9.5.0:
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113"
+  integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==
   dependencies:
-    acorn "^8.7.1"
+    acorn "^8.8.0"
     acorn-jsx "^5.3.2"
     eslint-visitor-keys "^3.3.0"
 
@@ -3153,10 +3198,10 @@ esquery@^1.2.0:
   dependencies:
     estraverse "^5.1.0"
 
-esquery@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
-  integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+esquery@^1.4.2:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
+  integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
   dependencies:
     estraverse "^5.1.0"
 
@@ -3601,6 +3646,14 @@ find-up@^4.1.0:
     locate-path "^5.0.0"
     path-exists "^4.0.0"
 
+find-up@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+  integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+  dependencies:
+    locate-path "^6.0.0"
+    path-exists "^4.0.0"
+
 find-versions@^3.0.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e"
@@ -3980,7 +4033,7 @@ glob-parent@^5.1.2:
   dependencies:
     is-glob "^4.0.1"
 
-glob-parent@^6.0.1:
+glob-parent@^6.0.2:
   version "6.0.2"
   resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
   integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
@@ -4075,10 +4128,10 @@ globals@^12.1.0:
   dependencies:
     type-fest "^0.8.1"
 
-globals@^13.15.0:
-  version "13.16.0"
-  resolved "https://registry.yarnpkg.com/globals/-/globals-13.16.0.tgz#9be4aca28f311aaeb974ea54978ebbb5e35ce46a"
-  integrity sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==
+globals@^13.19.0:
+  version "13.20.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
+  integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
   dependencies:
     type-fest "^0.20.2"
 
@@ -4204,6 +4257,11 @@ graceful-fs@^4.2.3, graceful-fs@^4.2.8:
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
   integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
 
+grapheme-splitter@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+  integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
 grunt-cli@~1.3.2:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.3.2.tgz#60f12d12c1b5aae94ae3469c6b5fe24e960014e8"
@@ -5141,6 +5199,11 @@ is-object@^1.0.1:
   resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
   integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
 
+is-path-inside@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+  integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
 is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
@@ -5384,6 +5447,11 @@ js-base64@^2.1.8, js-base64@^2.1.9:
   resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
   integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
 
+js-sdsl@^4.1.4:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711"
+  integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==
+
 js-tokens@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -5875,6 +5943,13 @@ locate-path@^5.0.0:
   dependencies:
     p-locate "^4.1.0"
 
+locate-path@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+  integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+  dependencies:
+    p-locate "^5.0.0"
+
 lodash.merge@^4.6.2:
   version "4.6.2"
   resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
@@ -6259,7 +6334,7 @@ min-indent@^1.0.0:
   dependencies:
     brace-expansion "^1.1.7"
 
-minimatch@^3.1.2:
+minimatch@^3.0.5, minimatch@^3.1.2:
   version "3.1.2"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
   integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -6450,6 +6525,11 @@ nanomatch@^1.2.9:
     snapdragon "^0.8.1"
     to-regex "^3.0.1"
 
+natural-compare-lite@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
+  integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==
+
 natural-compare@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -7025,6 +7105,13 @@ p-limit@^2.0.0, p-limit@^2.2.0:
   dependencies:
     p-try "^2.0.0"
 
+p-limit@^3.0.2:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+  integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+  dependencies:
+    yocto-queue "^0.1.0"
+
 p-locate@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -7039,6 +7126,13 @@ p-locate@^4.1.0:
   dependencies:
     p-limit "^2.2.0"
 
+p-locate@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+  integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+  dependencies:
+    p-limit "^3.0.2"
+
 p-map-series@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca"
@@ -7943,11 +8037,6 @@ regexpp@^3.1.0:
   resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
   integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
 
-regexpp@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
-  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-
 remark-parse@^9.0.0:
   version "9.0.0"
   resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640"
@@ -9414,10 +9503,10 @@ typedarray-to-buffer@^3.1.5:
   dependencies:
     is-typedarray "^1.0.0"
 
-typescript@~4.7.0:
-  version "4.7.3"
-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d"
-  integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==
+typescript@~4.9.0:
+  version "4.9.5"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
+  integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
 
 ua-parser-js@0.7.22:
   version "0.7.22"
@@ -9917,6 +10006,11 @@ yeast@0.1.2:
   resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
   integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=
 
+yocto-queue@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+  integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
 zwitch@^1.0.0:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/ActionDispatcher.js b/typo3/sysext/backend/Resources/Public/JavaScript/ActionDispatcher.js
index 354fe34c9840..10c15caabb3a 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/ActionDispatcher.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/ActionDispatcher.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Backend/InfoWindow","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Toolbar/ShortcutMenu","TYPO3/CMS/Backend/WindowManager","TYPO3/CMS/Backend/ModuleMenu","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Utility"],(function(e,t,a,n,s,r,i,c,d){"use strict";class o{constructor(){this.delegates={},this.createDelegates(),c.ready().then(()=>this.registerEvents())}static resolveArguments(e){if(e.dataset.dispatchArgs){const t=e.dataset.dispatchArgs.replace(/&quot;/g,'"'),a=JSON.parse(t);return a instanceof Array?d.trimItems(a):null}if(e.dataset.dispatchArgsList){const t=e.dataset.dispatchArgsList.split(",");return d.trimItems(t)}return null}static enrichItems(e,t,a){return e.map(e=>e instanceof Object&&e.$event?e.$target?a:e.$event?t:void 0:e)}createDelegates(){this.delegates={"TYPO3.InfoWindow.showItem":a.showItem.bind(null),"TYPO3.ShortcutMenu.createShortcut":s.createShortcut.bind(s),"TYPO3.WindowManager.localOpen":r.localOpen.bind(r),"TYPO3.ModuleMenu.showModule":i.App.showModule.bind(i.App)}}registerEvents(){new n("click",this.handleClickEvent.bind(this)).delegateTo(document,"[data-dispatch-action]")}handleClickEvent(e,t){e.preventDefault(),this.delegateTo(e,t)}delegateTo(e,t){if(t.hasAttribute("data-dispatch-disabled"))return;const a=t.dataset.dispatchAction;let n=o.resolveArguments(t);n instanceof Array&&(n=n.map(a=>{switch(a){case"{$target}":return t;case"{$event}":return e;default:return a}})),this.delegates[a]&&this.delegates[a].apply(null,n||[])}}return new o}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Backend/InfoWindow","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Toolbar/ShortcutMenu","TYPO3/CMS/Backend/WindowManager","TYPO3/CMS/Backend/ModuleMenu","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Utility"],(function(e,t,a,n,s,r,i,c,d){"use strict";class o{static resolveArguments(e){if(e.dataset.dispatchArgs){const t=e.dataset.dispatchArgs.replace(/&quot;/g,'"'),a=JSON.parse(t);return a instanceof Array?d.trimItems(a):null}if(e.dataset.dispatchArgsList){const t=e.dataset.dispatchArgsList.split(",");return d.trimItems(t)}return null}static enrichItems(e,t,a){return e.map(e=>e instanceof Object&&e.$event?e.$target?a:e.$event?t:void 0:e)}constructor(){this.delegates={},this.createDelegates(),c.ready().then(()=>this.registerEvents())}createDelegates(){this.delegates={"TYPO3.InfoWindow.showItem":a.showItem.bind(null),"TYPO3.ShortcutMenu.createShortcut":s.createShortcut.bind(s),"TYPO3.WindowManager.localOpen":r.localOpen.bind(r),"TYPO3.ModuleMenu.showModule":i.App.showModule.bind(i.App)}}registerEvents(){new n("click",this.handleClickEvent.bind(this)).delegateTo(document,"[data-dispatch-action]")}handleClickEvent(e,t){e.preventDefault(),this.delegateTo(e,t)}delegateTo(e,t){if(t.hasAttribute("data-dispatch-disabled"))return;const a=t.dataset.dispatchAction;let n=o.resolveArguments(t);n instanceof Array&&(n=n.map(a=>{switch(a){case"{$target}":return t;case"{$event}":return e;default:return a}})),this.delegates[a]&&this.delegates[a].apply(null,n||[])}}return new o}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastMessage.js b/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastMessage.js
index c825b3a71150..200c4c6711ab 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastMessage.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastMessage.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BroadcastMessage=void 0;class n{constructor(e,t,n){if(!e||!t)throw new Error("Properties componentName and eventName have to be defined");this.componentName=e,this.eventName=t,this.payload=n||{}}static fromData(e){let t=Object.assign({},e);return delete t.componentName,delete t.eventName,new n(e.componentName,e.eventName,t)}createCustomEvent(e="typo3"){return new CustomEvent([e,this.componentName,this.eventName].join(":"),{detail:this.payload})}}t.BroadcastMessage=n}));
\ No newline at end of file
+define(["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BroadcastMessage=void 0;class n{static fromData(e){let t=Object.assign({},e);return delete t.componentName,delete t.eventName,new n(e.componentName,e.eventName,t)}constructor(e,t,n){if(!e||!t)throw new Error("Properties componentName and eventName have to be defined");this.componentName=e,this.eventName=t,this.payload=n||{}}createCustomEvent(e="typo3"){return new CustomEvent([e,this.componentName,this.eventName].join(":"),{detail:this.payload})}}t.BroadcastMessage=n}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastService.js b/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastService.js
index 4a54efdd1d47..604ddcda6639 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastService.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/BroadcastService.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Backend/BroadcastMessage","TYPO3/CMS/Backend/Utility/MessageUtility","broadcastchannel"],(function(e,s,t,n){"use strict";class a{constructor(){this.channel=new BroadcastChannel("typo3")}get isListening(){return"function"==typeof this.channel.onmessage}static onMessage(e){if(!n.MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;const s=t.BroadcastMessage.fromData(e.data);document.dispatchEvent(s.createCustomEvent("typo3"))}listen(){this.isListening||(this.channel.onmessage=a.onMessage)}post(e){this.channel.postMessage(e)}}return new a}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Backend/BroadcastMessage","TYPO3/CMS/Backend/Utility/MessageUtility","broadcastchannel"],(function(e,s,t,n){"use strict";class a{get isListening(){return"function"==typeof this.channel.onmessage}static onMessage(e){if(!n.MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;const s=t.BroadcastMessage.fromData(e.data);document.dispatchEvent(s.createCustomEvent("typo3"))}constructor(){this.channel=new BroadcastChannel("typo3")}listen(){this.isListening||(this.channel.onmessage=a.onMessage)}post(e){this.channel.postMessage(e)}}return new a}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/ColumnSelectorButton.js b/typo3/sysext/backend/Resources/Public/JavaScript/ColumnSelectorButton.js
index 853f29513774..3382daaa5d02 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/ColumnSelectorButton.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/ColumnSelectorButton.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __decorate=this&&this.__decorate||function(e,t,o,l){var r,n=arguments.length,s=n<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,o):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,l);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(n<3?r(s):n>3?r(t,o,s):r(t,o))||s);return n>3&&s&&Object.defineProperty(t,o,s),s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","lit","lit/decorators","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/Severity","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Core/lit-helper","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Backend/Notification"],(function(e,t,o,l,r,n,s,c,i,a){"use strict";var d,u,p;Object.defineProperty(t,"__esModule",{value:!0}),i=__importDefault(i),function(e){e.columnsSelector=".t3js-column-selector",e.columnsContainerSelector=".t3js-column-selector-container",e.columnsFilterSelector='input[name="columns-filter"]',e.columnsSelectorActionsSelector=".t3js-column-selector-actions"}(u||(u={})),function(e){e.toggle="select-toggle",e.all="select-all",e.none="select-none"}(p||(p={}));let m=d=class extends o.LitElement{constructor(){super(),this.title="Show columns",this.ok=(0,c.lll)("button.ok")||"Update",this.close=(0,c.lll)("button.close")||"Close",this.error="Could not update columns",this.addEventListener("click",e=>{e.preventDefault(),this.showColumnSelectorModal()})}static toggleSelectorActions(e,t,o,l=!1){t.classList.add("disabled");for(let o=0;o<e.length;o++)if(!e[o].disabled&&!e[o].checked&&(l||!d.isColumnHidden(e[o]))){t.classList.remove("disabled");break}o.classList.add("disabled");for(let t=0;t<e.length;t++)if(!e[t].disabled&&e[t].checked&&(l||!d.isColumnHidden(e[t]))){o.classList.remove("disabled");break}}static isColumnHidden(e){var t;return null===(t=e.closest(u.columnsContainerSelector))||void 0===t?void 0:t.classList.contains("hidden")}static filterColumns(e,t){t.forEach(t=>{var o;const l=t.closest(u.columnsContainerSelector);if(!t.disabled&&null!==l){const t=null===(o=l.querySelector(".form-check-label-text"))||void 0===o?void 0:o.textContent;t&&t.length&&l.classList.toggle("hidden",""!==e.value&&!RegExp(e.value,"i").test(t.trim().replace(/\[\]/g,"").replace(/\s+/g," ")))}})}render(){return o.html`<slot></slot>`}showColumnSelectorModal(){this.url&&this.target&&s.advanced({content:this.url,title:this.title,severity:r.SeverityEnum.notice,size:s.sizes.medium,type:s.types.ajax,buttons:[{text:this.close,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>s.dismiss()},{text:this.ok,btnClass:"btn-"+n.getCssClass(r.SeverityEnum.info),name:"update",trigger:()=>this.proccessSelection(s.currentModal[0])}],ajaxCallback:()=>this.handleModalContentLoaded(s.currentModal[0])})}proccessSelection(e){const t=e.querySelector("form");null!==t?new i.default(TYPO3.settings.ajaxUrls.show_columns).post("",{body:new FormData(t)}).then(async e=>{const t=await e.resolve();!0===t.success?(this.ownerDocument.location.href=this.target,this.ownerDocument.location.reload()):a.error(t.message||"No update was performed"),s.dismiss()}).catch(()=>{this.abortSelection()}):this.abortSelection()}handleModalContentLoaded(e){const t=e.querySelector("form");if(null===t)return;t.addEventListener("submit",e=>{e.preventDefault()});const o=e.querySelectorAll(u.columnsSelector),l=e.querySelector(u.columnsFilterSelector),r=e.querySelector(u.columnsSelectorActionsSelector),n=r.querySelector('button[data-action="'+p.all+'"]'),s=r.querySelector('button[data-action="'+p.none+'"]');o.length&&null!==l&&null!==n&&null!==s&&(d.toggleSelectorActions(o,n,s,!0),o.forEach(e=>{e.addEventListener("change",()=>{d.toggleSelectorActions(o,n,s)})}),l.addEventListener("keydown",e=>{const t=e.target;"Escape"===e.code&&(e.stopImmediatePropagation(),t.value="")}),l.addEventListener("keyup",e=>{d.filterColumns(e.target,o),d.toggleSelectorActions(o,n,s)}),l.addEventListener("search",e=>{d.filterColumns(e.target,o),d.toggleSelectorActions(o,n,s)}),r.querySelectorAll("button[data-action]").forEach(e=>{e.addEventListener("click",e=>{e.preventDefault();const t=e.currentTarget;if(t.dataset.action){switch(t.dataset.action){case p.toggle:o.forEach(e=>{e.disabled||d.isColumnHidden(e)||(e.checked=!e.checked)});break;case p.all:o.forEach(e=>{e.disabled||d.isColumnHidden(e)||(e.checked=!0)});break;case p.none:o.forEach(e=>{e.disabled||d.isColumnHidden(e)||(e.checked=!1)});break;default:a.warning("Unknown selector action")}d.toggleSelectorActions(o,n,s)}})}))}abortSelection(){a.error(this.error),s.dismiss()}};__decorate([(0,l.property)({type:String})],m.prototype,"url",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"target",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"title",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"ok",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"close",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"error",void 0),m=d=__decorate([(0,l.customElement)("typo3-backend-column-selector-button")],m)}));
\ No newline at end of file
+var __decorate=this&&this.__decorate||function(e,t,o,l){var r,n=arguments.length,s=n<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,o):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,l);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(s=(n<3?r(s):n>3?r(t,o,s):r(t,o))||s);return n>3&&s&&Object.defineProperty(t,o,s),s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","lit","lit/decorators","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/Severity","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Core/lit-helper","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Backend/Notification"],(function(e,t,o,l,r,n,s,c,i,a){"use strict";var d,u,p;Object.defineProperty(t,"__esModule",{value:!0}),i=__importDefault(i),function(e){e.columnsSelector=".t3js-column-selector",e.columnsContainerSelector=".t3js-column-selector-container",e.columnsFilterSelector='input[name="columns-filter"]',e.columnsSelectorActionsSelector=".t3js-column-selector-actions"}(u||(u={})),function(e){e.toggle="select-toggle",e.all="select-all",e.none="select-none"}(p||(p={}));let m=d=class extends o.LitElement{static toggleSelectorActions(e,t,o,l=!1){t.classList.add("disabled");for(let o=0;o<e.length;o++)if(!e[o].disabled&&!e[o].checked&&(l||!d.isColumnHidden(e[o]))){t.classList.remove("disabled");break}o.classList.add("disabled");for(let t=0;t<e.length;t++)if(!e[t].disabled&&e[t].checked&&(l||!d.isColumnHidden(e[t]))){o.classList.remove("disabled");break}}static isColumnHidden(e){var t;return null===(t=e.closest(u.columnsContainerSelector))||void 0===t?void 0:t.classList.contains("hidden")}static filterColumns(e,t){t.forEach(t=>{var o;const l=t.closest(u.columnsContainerSelector);if(!t.disabled&&null!==l){const t=null===(o=l.querySelector(".form-check-label-text"))||void 0===o?void 0:o.textContent;t&&t.length&&l.classList.toggle("hidden",""!==e.value&&!RegExp(e.value,"i").test(t.trim().replace(/\[\]/g,"").replace(/\s+/g," ")))}})}constructor(){super(),this.title="Show columns",this.ok=(0,c.lll)("button.ok")||"Update",this.close=(0,c.lll)("button.close")||"Close",this.error="Could not update columns",this.addEventListener("click",e=>{e.preventDefault(),this.showColumnSelectorModal()})}render(){return o.html`<slot></slot>`}showColumnSelectorModal(){this.url&&this.target&&s.advanced({content:this.url,title:this.title,severity:r.SeverityEnum.notice,size:s.sizes.medium,type:s.types.ajax,buttons:[{text:this.close,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>s.dismiss()},{text:this.ok,btnClass:"btn-"+n.getCssClass(r.SeverityEnum.info),name:"update",trigger:()=>this.proccessSelection(s.currentModal[0])}],ajaxCallback:()=>this.handleModalContentLoaded(s.currentModal[0])})}proccessSelection(e){const t=e.querySelector("form");null!==t?new i.default(TYPO3.settings.ajaxUrls.show_columns).post("",{body:new FormData(t)}).then(async e=>{const t=await e.resolve();!0===t.success?(this.ownerDocument.location.href=this.target,this.ownerDocument.location.reload()):a.error(t.message||"No update was performed"),s.dismiss()}).catch(()=>{this.abortSelection()}):this.abortSelection()}handleModalContentLoaded(e){const t=e.querySelector("form");if(null===t)return;t.addEventListener("submit",e=>{e.preventDefault()});const o=e.querySelectorAll(u.columnsSelector),l=e.querySelector(u.columnsFilterSelector),r=e.querySelector(u.columnsSelectorActionsSelector),n=r.querySelector('button[data-action="'+p.all+'"]'),s=r.querySelector('button[data-action="'+p.none+'"]');o.length&&null!==l&&null!==n&&null!==s&&(d.toggleSelectorActions(o,n,s,!0),o.forEach(e=>{e.addEventListener("change",()=>{d.toggleSelectorActions(o,n,s)})}),l.addEventListener("keydown",e=>{const t=e.target;"Escape"===e.code&&(e.stopImmediatePropagation(),t.value="")}),l.addEventListener("keyup",e=>{d.filterColumns(e.target,o),d.toggleSelectorActions(o,n,s)}),l.addEventListener("search",e=>{d.filterColumns(e.target,o),d.toggleSelectorActions(o,n,s)}),r.querySelectorAll("button[data-action]").forEach(e=>{e.addEventListener("click",e=>{e.preventDefault();const t=e.currentTarget;if(t.dataset.action){switch(t.dataset.action){case p.toggle:o.forEach(e=>{e.disabled||d.isColumnHidden(e)||(e.checked=!e.checked)});break;case p.all:o.forEach(e=>{e.disabled||d.isColumnHidden(e)||(e.checked=!0)});break;case p.none:o.forEach(e=>{e.disabled||d.isColumnHidden(e)||(e.checked=!1)});break;default:a.warning("Unknown selector action")}d.toggleSelectorActions(o,n,s)}})}))}abortSelection(){a.error(this.error),s.dismiss()}};__decorate([(0,l.property)({type:String})],m.prototype,"url",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"target",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"title",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"ok",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"close",void 0),__decorate([(0,l.property)({type:String})],m.prototype,"error",void 0),m=d=__decorate([(0,l.customElement)("typo3-backend-column-selector-button")],m)}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/ContextHelp.js b/typo3/sysext/backend/Resources/Public/JavaScript/ContextHelp.js
index e159ab2bae97..a9cc14fc6f0f 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/ContextHelp.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/ContextHelp.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","TYPO3/CMS/Core/Ajax/AjaxRequest","./Popover","bootstrap"],(function(t,e,a,o,l){"use strict";a=__importDefault(a);class s{constructor(){this.ajaxUrl=TYPO3.settings.ajaxUrls.context_help,this.trigger="click",this.placement="auto",this.selector=".help-link",this.initialize()}static resolveBackend(){return void 0!==window.opener&&null!==window.opener?window.opener.top:top}initialize(){const t=s.resolveBackend();void 0!==t.TYPO3.settings.ContextHelp&&(this.helpPopupUrl=t.TYPO3.settings.ContextHelp.popupUrl),void 0===TYPO3.ShortcutMenu&&void 0===t.TYPO3.ShortcutMenu&&(0,a.default)(".icon-actions-system-shortcut-new").closest(".btn").hide();let e="&nbsp;";void 0!==t.TYPO3.lang&&(e=t.TYPO3.lang.csh_tooltip_loading);const o=(0,a.default)(this.selector);o.attr("data-loaded","false").attr("data-bs-html","true").attr("data-bs-original-title",e).attr("data-bs-placement",this.placement).attr("data-bs-trigger",this.trigger),l.popover(o),(0,a.default)(document).on("show.bs.popover",this.selector,t=>{const e=(0,a.default)(t.currentTarget),o=e.data("description");if(void 0!==o&&""!==o){const t={title:e.data("title")||"",content:o};l.setOptions(e,t)}else"false"===e.attr("data-loaded")&&e.data("table")&&this.loadHelp(e);e.closest(".t3js-module-docheader").length&&l.setOption(e,"placement","bottom")}).on("click",".help-has-link",t=>{(0,a.default)(".popover").each((e,o)=>{const l=(0,a.default)(o);l.has(t.target).length&&this.showHelpPopup((0,a.default)('[aria-describedby="'+l.attr("id")+'"]'))})}).on("click","body",t=>{(0,a.default)(this.selector).each((e,o)=>{const s=(0,a.default)(o);s.is(t.target)||0!==s.has(t.target).length||0!==(0,a.default)(".popover").has(t.target).length||l.hide(s)})})}showHelpPopup(t){try{const e=window.open(`${this.helpPopupUrl}&table=${t.data("table")}&field=${t.data("field")}&action=detail`,"ContextHelpWindow","height=400,width=600,status=0,menubar=0,scrollbars=1");return e.focus(),l.hide(t),e}catch(t){}}loadHelp(t){const e=t.data("table"),a=t.data("field");e&&new o(this.ajaxUrl).withQueryArguments({params:{action:"getContextHelp",table:e,field:a}}).get().then(async e=>{const a=await e.resolve(),o={title:a.title||"",content:a.content||"<p></p>"};l.setOptions(t,o),l.update(t),t.attr("data-loaded","true")})}}return new s}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","TYPO3/CMS/Core/Ajax/AjaxRequest","./Popover","bootstrap"],(function(t,e,a,o,l){"use strict";a=__importDefault(a);class s{static resolveBackend(){return void 0!==window.opener&&null!==window.opener?window.opener.top:top}constructor(){this.ajaxUrl=TYPO3.settings.ajaxUrls.context_help,this.trigger="click",this.placement="auto",this.selector=".help-link",this.initialize()}initialize(){const t=s.resolveBackend();void 0!==t.TYPO3.settings.ContextHelp&&(this.helpPopupUrl=t.TYPO3.settings.ContextHelp.popupUrl),void 0===TYPO3.ShortcutMenu&&void 0===t.TYPO3.ShortcutMenu&&(0,a.default)(".icon-actions-system-shortcut-new").closest(".btn").hide();let e="&nbsp;";void 0!==t.TYPO3.lang&&(e=t.TYPO3.lang.csh_tooltip_loading);const o=(0,a.default)(this.selector);o.attr("data-loaded","false").attr("data-bs-html","true").attr("data-bs-original-title",e).attr("data-bs-placement",this.placement).attr("data-bs-trigger",this.trigger),l.popover(o),(0,a.default)(document).on("show.bs.popover",this.selector,t=>{const e=(0,a.default)(t.currentTarget),o=e.data("description");if(void 0!==o&&""!==o){const t={title:e.data("title")||"",content:o};l.setOptions(e,t)}else"false"===e.attr("data-loaded")&&e.data("table")&&this.loadHelp(e);e.closest(".t3js-module-docheader").length&&l.setOption(e,"placement","bottom")}).on("click",".help-has-link",t=>{(0,a.default)(".popover").each((e,o)=>{const l=(0,a.default)(o);l.has(t.target).length&&this.showHelpPopup((0,a.default)('[aria-describedby="'+l.attr("id")+'"]'))})}).on("click","body",t=>{(0,a.default)(this.selector).each((e,o)=>{const s=(0,a.default)(o);s.is(t.target)||0!==s.has(t.target).length||0!==(0,a.default)(".popover").has(t.target).length||l.hide(s)})})}showHelpPopup(t){try{const e=window.open(`${this.helpPopupUrl}&table=${t.data("table")}&field=${t.data("field")}&action=detail`,"ContextHelpWindow","height=400,width=600,status=0,menubar=0,scrollbars=1");return e.focus(),l.hide(t),e}catch(t){}}loadHelp(t){const e=t.data("table"),a=t.data("field");e&&new o(this.ajaxUrl).withQueryArguments({params:{action:"getContextHelp",table:e,field:a}}).get().then(async e=>{const a=await e.resolve(),o={title:a.title||"",content:a.content||"<p></p>"};l.setOptions(t,o),l.update(t),t.attr("data-loaded","true")})}}return new s}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/ContextMenu.js b/typo3/sysext/backend/Resources/Public/JavaScript/ContextMenu.js
index 967117f97742..f4d01bbbe658 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/ContextMenu.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/ContextMenu.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","TYPO3/CMS/Core/Ajax/AjaxRequest","./ContextMenuActions","TYPO3/CMS/Core/Event/DebounceEvent","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(t,e,s,n,i,o,a,l){"use strict";s=__importDefault(s);class u{constructor(){this.mousePos={X:null,Y:null},this.record={uid:null,table:null},this.eventSources=[],this.storeMousePositionEvent=t=>{this.mousePos={X:t.pageX,Y:t.pageY}},(0,s.default)(document).on("click contextmenu",".t3js-contextmenutrigger",t=>{const e=(0,s.default)(t.currentTarget);e.prop("onclick")&&"click"===t.type||(t.preventDefault(),this.show(e.data("table"),e.data("uid"),e.data("context"),e.data("iteminfo"),e.data("parameters"),t.target))}),new l("mousemove",this.storeMousePositionEvent.bind(this),50).bindTo(document)}static drawActionItem(t){const e=t.additionalAttributes||{};let s="";for(const t of Object.entries(e)){const[e,n]=t;s+=" "+e+'="'+n+'"'}return'<li role="menuitem" class="list-group-item" tabindex="-1" data-callback-action="'+t.callbackAction+'"'+s+'><span class="list-group-item-icon">'+t.icon+"</span> "+t.label+"</li>"}static within(t,e,s){const n=t.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,o=window.pageYOffset||document.documentElement.scrollTop,a=e>=n.left+i&&e<=n.left+i+n.width,l=s>=n.top+o&&s<=n.top+o+n.height;return a&&l}show(t,e,s,n,i,o=null){this.hideAll(),this.record={table:t,uid:e};const a=o.matches("a, button, [tabindex]")?o:o.closest("a, button, [tabindex]");this.eventSources.push(a);let l="";void 0!==t&&(l+="table="+encodeURIComponent(t)),void 0!==e&&(l+=(l.length>0?"&":"")+"uid="+("number"==typeof e?e:encodeURIComponent(e))),void 0!==s&&(l+=(l.length>0?"&":"")+"context="+encodeURIComponent(s)),void 0!==n&&(l+=(l.length>0?"&":"")+"enDisItems="+n),void 0!==i&&(l+=(l.length>0?"&":"")+"addParams="+i),this.fetch(l)}initializeContextMenuContainer(){if(0===(0,s.default)("#contentMenu0").length){const t='<div id="contentMenu0" class="context-menu" style="display: none;"></div><div id="contentMenu1" class="context-menu" data-parent="#contentMenu0" style="display: none;"></div>';(0,s.default)("body").append(t),document.querySelectorAll(".context-menu").forEach(t=>{new a("mouseenter",t=>{t.target;this.storeMousePositionEvent(t)}).bindTo(t),new o("mouseleave",t=>{const e=t.target,s=document.querySelector('[data-parent="#'+e.id+'"]');if(!u.within(e,this.mousePos.X,this.mousePos.Y)&&(null===s||null===s.offsetParent)){let t;this.hide("#"+e.id),void 0!==e.dataset.parent&&null!==(t=document.querySelector(e.dataset.parent))&&(u.within(t,this.mousePos.X,this.mousePos.Y)||this.hide(e.dataset.parent))}},500).bindTo(t)})}}fetch(t){const e=TYPO3.settings.ajaxUrls.contextmenu;new n(e).withQueryArguments(t).get().then(async t=>{const e=await t.resolve();void 0!==t&&Object.keys(t).length>0&&this.populateData(e,0)})}populateData(e,n){this.initializeContextMenuContainer();const o=(0,s.default)("#contentMenu"+n);if(o.length&&(0===n||(0,s.default)("#contentMenu"+(n-1)).is(":visible"))){const a=this.drawMenu(e,n);o.html('<ul class="list-group" role="menu">'+a+"</ul>"),(0,s.default)("li.list-group-item",o).on("click",e=>{e.preventDefault();const o=(0,s.default)(e.currentTarget);if(o.hasClass("list-group-item-submenu"))return void this.openSubmenu(n,o,!1);const a=o.data("callback-action"),l=o.data("callback-module");o.data("callback-module")?t([l],t=>{t[a].bind(o)(this.record.table,this.record.uid)}):i&&"function"==typeof i[a]?i[a].bind(o)(this.record.table,this.record.uid):console.log("action: "+a+" not found"),this.hideAll()}),(0,s.default)("li.list-group-item",o).on("keydown",t=>{const e=(0,s.default)(t.currentTarget);switch(t.key){case"Down":case"ArrowDown":this.setFocusToNextItem(e.get(0));break;case"Up":case"ArrowUp":this.setFocusToPreviousItem(e.get(0));break;case"Right":case"ArrowRight":if(!e.hasClass("list-group-item-submenu"))return;this.openSubmenu(n,e,!0);break;case"Home":this.setFocusToFirstItem(e.get(0));break;case"End":this.setFocusToLastItem(e.get(0));break;case"Enter":case"Space":e.click();break;case"Esc":case"Escape":case"Left":case"ArrowLeft":this.hide("#"+e.parents(".context-menu").first().attr("id"));break;case"Tab":this.hideAll();break;default:return}t.preventDefault()}),o.css(this.getPosition(o,!1)).show(),(0,s.default)("li.list-group-item[tabindex=-1]",o).first().focus()}}setFocusToPreviousItem(t){let e=this.getItemBackward(t.previousElementSibling);e||(e=this.getLastItem(t)),e.focus()}setFocusToNextItem(t){let e=this.getItemForward(t.nextElementSibling);e||(e=this.getFirstItem(t)),e.focus()}setFocusToFirstItem(t){let e=this.getFirstItem(t);e&&e.focus()}setFocusToLastItem(t){let e=this.getLastItem(t);e&&e.focus()}getItemBackward(t){for(;t&&(!t.classList.contains("list-group-item")||"-1"!==t.getAttribute("tabindex"));)t=t.previousElementSibling;return t}getItemForward(t){for(;t&&(!t.classList.contains("list-group-item")||"-1"!==t.getAttribute("tabindex"));)t=t.nextElementSibling;return t}getFirstItem(t){return this.getItemForward(t.parentElement.firstElementChild)}getLastItem(t){return this.getItemBackward(t.parentElement.lastElementChild)}openSubmenu(t,e,n){this.eventSources.push(e[0]);const i=(0,s.default)("#contentMenu"+(t+1)).html("");e.next().find(".list-group").clone(!0).appendTo(i),i.css(this.getPosition(i,n)).show(),(0,s.default)(".list-group-item[tabindex=-1]",i).first().focus()}getPosition(t,e){let n=0,i=0;if(this.eventSources.length&&(null===this.mousePos.X||e)){const t=this.eventSources[this.eventSources.length-1].getBoundingClientRect();n=this.eventSources.length>1?t.right:t.x,i=t.y}else n=this.mousePos.X-1,i=this.mousePos.Y-1;const o=(0,s.default)(window).width()-20,a=(0,s.default)(window).height(),l=t.width(),u=t.height(),r=n-(0,s.default)(document).scrollLeft(),c=i-(0,s.default)(document).scrollTop();return a-u<c&&(c>u?i-=u-10:i+=a-u-c),o-l<r&&(r>l?n-=l-10:o-l-r<(0,s.default)(document).scrollLeft()?n=(0,s.default)(document).scrollLeft():n+=o-l-r),{left:n+"px",top:i+"px"}}drawMenu(t,e){let s="";for(const n of Object.values(t))if("item"===n.type)s+=u.drawActionItem(n);else if("divider"===n.type)s+='<li role="separator" class="list-group-item list-group-item-divider"></li>';else if("submenu"===n.type||n.childItems){s+='<li role="menuitem" aria-haspopup="true" class="list-group-item list-group-item-submenu" tabindex="-1"><span class="list-group-item-icon">'+n.icon+"</span> "+n.label+'&nbsp;&nbsp;<span class="fa fa-caret-right"></span></li>';s+='<div class="context-menu contentMenu'+(e+1)+'" style="display:none;"><ul role="menu" class="list-group">'+this.drawMenu(n.childItems,1)+"</ul></div>"}return s}hide(t){(0,s.default)(t).hide();const e=this.eventSources.pop();e&&(0,s.default)(e).focus()}hideAll(){this.hide("#contentMenu0"),this.hide("#contentMenu1")}}return new u}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","TYPO3/CMS/Core/Ajax/AjaxRequest","./ContextMenuActions","TYPO3/CMS/Core/Event/DebounceEvent","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(t,e,s,n,i,o,a,l){"use strict";s=__importDefault(s);class u{static drawActionItem(t){const e=t.additionalAttributes||{};let s="";for(const t of Object.entries(e)){const[e,n]=t;s+=" "+e+'="'+n+'"'}return'<li role="menuitem" class="list-group-item" tabindex="-1" data-callback-action="'+t.callbackAction+'"'+s+'><span class="list-group-item-icon">'+t.icon+"</span> "+t.label+"</li>"}static within(t,e,s){const n=t.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,o=window.pageYOffset||document.documentElement.scrollTop,a=e>=n.left+i&&e<=n.left+i+n.width,l=s>=n.top+o&&s<=n.top+o+n.height;return a&&l}constructor(){this.mousePos={X:null,Y:null},this.record={uid:null,table:null},this.eventSources=[],this.storeMousePositionEvent=t=>{this.mousePos={X:t.pageX,Y:t.pageY}},(0,s.default)(document).on("click contextmenu",".t3js-contextmenutrigger",t=>{const e=(0,s.default)(t.currentTarget);e.prop("onclick")&&"click"===t.type||(t.preventDefault(),this.show(e.data("table"),e.data("uid"),e.data("context"),e.data("iteminfo"),e.data("parameters"),t.target))}),new l("mousemove",this.storeMousePositionEvent.bind(this),50).bindTo(document)}show(t,e,s,n,i,o=null){this.hideAll(),this.record={table:t,uid:e};const a=o.matches("a, button, [tabindex]")?o:o.closest("a, button, [tabindex]");this.eventSources.push(a);let l="";void 0!==t&&(l+="table="+encodeURIComponent(t)),void 0!==e&&(l+=(l.length>0?"&":"")+"uid="+("number"==typeof e?e:encodeURIComponent(e))),void 0!==s&&(l+=(l.length>0?"&":"")+"context="+encodeURIComponent(s)),void 0!==n&&(l+=(l.length>0?"&":"")+"enDisItems="+n),void 0!==i&&(l+=(l.length>0?"&":"")+"addParams="+i),this.fetch(l)}initializeContextMenuContainer(){if(0===(0,s.default)("#contentMenu0").length){const t='<div id="contentMenu0" class="context-menu" style="display: none;"></div><div id="contentMenu1" class="context-menu" data-parent="#contentMenu0" style="display: none;"></div>';(0,s.default)("body").append(t),document.querySelectorAll(".context-menu").forEach(t=>{new a("mouseenter",t=>{t.target;this.storeMousePositionEvent(t)}).bindTo(t),new o("mouseleave",t=>{const e=t.target,s=document.querySelector('[data-parent="#'+e.id+'"]');if(!u.within(e,this.mousePos.X,this.mousePos.Y)&&(null===s||null===s.offsetParent)){let t;this.hide("#"+e.id),void 0!==e.dataset.parent&&null!==(t=document.querySelector(e.dataset.parent))&&(u.within(t,this.mousePos.X,this.mousePos.Y)||this.hide(e.dataset.parent))}},500).bindTo(t)})}}fetch(t){const e=TYPO3.settings.ajaxUrls.contextmenu;new n(e).withQueryArguments(t).get().then(async t=>{const e=await t.resolve();void 0!==t&&Object.keys(t).length>0&&this.populateData(e,0)})}populateData(e,n){this.initializeContextMenuContainer();const o=(0,s.default)("#contentMenu"+n);if(o.length&&(0===n||(0,s.default)("#contentMenu"+(n-1)).is(":visible"))){const a=this.drawMenu(e,n);o.html('<ul class="list-group" role="menu">'+a+"</ul>"),(0,s.default)("li.list-group-item",o).on("click",e=>{e.preventDefault();const o=(0,s.default)(e.currentTarget);if(o.hasClass("list-group-item-submenu"))return void this.openSubmenu(n,o,!1);const a=o.data("callback-action"),l=o.data("callback-module");o.data("callback-module")?t([l],t=>{t[a].bind(o)(this.record.table,this.record.uid)}):i&&"function"==typeof i[a]?i[a].bind(o)(this.record.table,this.record.uid):console.log("action: "+a+" not found"),this.hideAll()}),(0,s.default)("li.list-group-item",o).on("keydown",t=>{const e=(0,s.default)(t.currentTarget);switch(t.key){case"Down":case"ArrowDown":this.setFocusToNextItem(e.get(0));break;case"Up":case"ArrowUp":this.setFocusToPreviousItem(e.get(0));break;case"Right":case"ArrowRight":if(!e.hasClass("list-group-item-submenu"))return;this.openSubmenu(n,e,!0);break;case"Home":this.setFocusToFirstItem(e.get(0));break;case"End":this.setFocusToLastItem(e.get(0));break;case"Enter":case"Space":e.click();break;case"Esc":case"Escape":case"Left":case"ArrowLeft":this.hide("#"+e.parents(".context-menu").first().attr("id"));break;case"Tab":this.hideAll();break;default:return}t.preventDefault()}),o.css(this.getPosition(o,!1)).show(),(0,s.default)("li.list-group-item[tabindex=-1]",o).first().focus()}}setFocusToPreviousItem(t){let e=this.getItemBackward(t.previousElementSibling);e||(e=this.getLastItem(t)),e.focus()}setFocusToNextItem(t){let e=this.getItemForward(t.nextElementSibling);e||(e=this.getFirstItem(t)),e.focus()}setFocusToFirstItem(t){let e=this.getFirstItem(t);e&&e.focus()}setFocusToLastItem(t){let e=this.getLastItem(t);e&&e.focus()}getItemBackward(t){for(;t&&(!t.classList.contains("list-group-item")||"-1"!==t.getAttribute("tabindex"));)t=t.previousElementSibling;return t}getItemForward(t){for(;t&&(!t.classList.contains("list-group-item")||"-1"!==t.getAttribute("tabindex"));)t=t.nextElementSibling;return t}getFirstItem(t){return this.getItemForward(t.parentElement.firstElementChild)}getLastItem(t){return this.getItemBackward(t.parentElement.lastElementChild)}openSubmenu(t,e,n){this.eventSources.push(e[0]);const i=(0,s.default)("#contentMenu"+(t+1)).html("");e.next().find(".list-group").clone(!0).appendTo(i),i.css(this.getPosition(i,n)).show(),(0,s.default)(".list-group-item[tabindex=-1]",i).first().focus()}getPosition(t,e){let n=0,i=0;if(this.eventSources.length&&(null===this.mousePos.X||e)){const t=this.eventSources[this.eventSources.length-1].getBoundingClientRect();n=this.eventSources.length>1?t.right:t.x,i=t.y}else n=this.mousePos.X-1,i=this.mousePos.Y-1;const o=(0,s.default)(window).width()-20,a=(0,s.default)(window).height(),l=t.width(),u=t.height(),r=n-(0,s.default)(document).scrollLeft(),c=i-(0,s.default)(document).scrollTop();return a-u<c&&(c>u?i-=u-10:i+=a-u-c),o-l<r&&(r>l?n-=l-10:o-l-r<(0,s.default)(document).scrollLeft()?n=(0,s.default)(document).scrollLeft():n+=o-l-r),{left:n+"px",top:i+"px"}}drawMenu(t,e){let s="";for(const n of Object.values(t))if("item"===n.type)s+=u.drawActionItem(n);else if("divider"===n.type)s+='<li role="separator" class="list-group-item list-group-item-divider"></li>';else if("submenu"===n.type||n.childItems){s+='<li role="menuitem" aria-haspopup="true" class="list-group-item list-group-item-submenu" tabindex="-1"><span class="list-group-item-icon">'+n.icon+"</span> "+n.label+'&nbsp;&nbsp;<span class="fa fa-caret-right"></span></li>';s+='<div class="context-menu contentMenu'+(e+1)+'" style="display:none;"><ul role="menu" class="list-group">'+this.drawMenu(n.childItems,1)+"</ul></div>"}return s}hide(t){(0,s.default)(t).hide();const e=this.eventSources.pop();e&&(0,s.default)(e).focus()}hideAll(){this.hide("#contentMenu0"),this.hide("#contentMenu1")}}return new u}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js b/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js
index eb67e721a208..9931ce6fba1b 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","flatpickr/flatpickr.min","TYPO3/CMS/Core/DocumentService","moment","./Storage/Persistent","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(e,t,a,i,n,r,o){"use strict";class l{constructor(e){var t;this.fieldSelector=".t3js-datetimepicker",this.format=(void 0!==(null===(t=null===opener||void 0===opener?void 0:opener.top)||void 0===t?void 0:t.TYPO3)?opener.top:top).TYPO3.settings.DateTimePicker.DateFormat,i.ready().then(()=>{this.initialize(e)})}static formatDateForHiddenField(e,t){return"time"!==t&&"timesec"!==t||e.year(1970).month(0).date(1),e.format()}initialize(t){let a;if(t instanceof HTMLElement){if(void 0!==t.dataset.datepickerInitialized)return;a=[t]}else console.warn("Initializing all date pickers globally has been marked as deprecated. Please pass a specific element."),a=Array.from(document.querySelectorAll(t||this.fieldSelector)).filter(e=>void 0===e.dataset.datepickerInitialized);if(0===a.length)return;let i=r.get("lang");i?"ch"===i&&(i="zh"):i="default",a.forEach(t=>{t.dataset.datepickerInitialized="1",e(["flatpickr/locales"],()=>{this.initializeField(t,i)})})}initializeField(e,t){const i=this.getScrollEvent(),r=this.getDateOptions(e);r.locale=t,r.onOpen=[()=>{i.bindTo(document.querySelector(".t3js-module-body"))}],r.onClose=()=>{i.release()};const o=a(e,r);e.addEventListener("input",()=>{const e=o._input.value,t=o.parseDate(e);e===o.formatDate(t,o.config.dateFormat)&&o.setDate(e)}),e.addEventListener("keyup",e=>{"Escape"===e.key&&o.close()}),e.addEventListener("change",t=>{t.stopImmediatePropagation();const a=t.target,i=e.parentElement.parentElement.querySelector('input[type="hidden"]');if(""!==a.value){const e=a.dataset.dateType,t=n.utc(a.value,a._flatpickr.config.dateFormat);t.isValid()?i.value=l.formatDateForHiddenField(t,e):a.value=l.formatDateForHiddenField(n.utc(i.value),e)}else i.value="";a.dispatchEvent(new Event("formengine.dp.change"))})}getScrollEvent(){return new o("scroll",()=>{const e=document.querySelector(".flatpickr-input.active");if(null===e)return;const t=e.getBoundingClientRect(),a=e._flatpickr.calendarContainer.offsetHeight;let i,n;window.innerHeight-t.bottom<a&&t.top>a?(i=t.y-a-2,n="arrowBottom"):(i=t.y+t.height+2,n="arrowTop"),e._flatpickr.calendarContainer.style.top=i+"px",e._flatpickr.calendarContainer.classList.remove("arrowBottom","arrowTop"),e._flatpickr.calendarContainer.classList.add(n)},15)}getDateOptions(e){const t=this.format,a=e.dataset.dateType,i=new Date,r={allowInput:!0,dateFormat:"",defaultDate:e.value,defaultHour:i.getHours(),defaultMinute:i.getMinutes(),enableSeconds:!1,enableTime:!1,formatDate:(e,t)=>n(e).format(t),parseDate:(e,t)=>n(e,t,!0).toDate(),maxDate:"",minDate:"",minuteIncrement:1,noCalendar:!1,weekNumbers:!0};switch(a){case"datetime":r.dateFormat=t[1],r.enableTime=!0;break;case"date":r.dateFormat=t[0];break;case"time":r.dateFormat="HH:mm",r.enableTime=!0,r.noCalendar=!0;break;case"timesec":r.dateFormat="HH:mm:ss",r.enableSeconds=!0,r.enableTime=!0,r.noCalendar=!0;break;case"year":r.dateFormat="Y"}return"undefined"!==e.dataset.dateMindate&&(r.minDate=e.dataset.dateMindate),"undefined"!==e.dataset.dateMaxdate&&(r.maxDate=e.dataset.dateMaxdate),r}}return new l}));
\ No newline at end of file
+define(["require","exports","flatpickr/flatpickr.min","TYPO3/CMS/Core/DocumentService","moment","./Storage/Persistent","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(e,t,a,i,n,r,o){"use strict";class l{static formatDateForHiddenField(e,t){return"time"!==t&&"timesec"!==t||e.year(1970).month(0).date(1),e.format()}constructor(e){var t;this.fieldSelector=".t3js-datetimepicker",this.format=(void 0!==(null===(t=null===opener||void 0===opener?void 0:opener.top)||void 0===t?void 0:t.TYPO3)?opener.top:top).TYPO3.settings.DateTimePicker.DateFormat,i.ready().then(()=>{this.initialize(e)})}initialize(t){let a;if(t instanceof HTMLElement){if(void 0!==t.dataset.datepickerInitialized)return;a=[t]}else console.warn("Initializing all date pickers globally has been marked as deprecated. Please pass a specific element."),a=Array.from(document.querySelectorAll(t||this.fieldSelector)).filter(e=>void 0===e.dataset.datepickerInitialized);if(0===a.length)return;let i=r.get("lang");i?"ch"===i&&(i="zh"):i="default",a.forEach(t=>{t.dataset.datepickerInitialized="1",e(["flatpickr/locales"],()=>{this.initializeField(t,i)})})}initializeField(e,t){const i=this.getScrollEvent(),r=this.getDateOptions(e);r.locale=t,r.onOpen=[()=>{i.bindTo(document.querySelector(".t3js-module-body"))}],r.onClose=()=>{i.release()};const o=a(e,r);e.addEventListener("input",()=>{const e=o._input.value,t=o.parseDate(e);e===o.formatDate(t,o.config.dateFormat)&&o.setDate(e)}),e.addEventListener("keyup",e=>{"Escape"===e.key&&o.close()}),e.addEventListener("change",t=>{t.stopImmediatePropagation();const a=t.target,i=e.parentElement.parentElement.querySelector('input[type="hidden"]');if(""!==a.value){const e=a.dataset.dateType,t=n.utc(a.value,a._flatpickr.config.dateFormat);t.isValid()?i.value=l.formatDateForHiddenField(t,e):a.value=l.formatDateForHiddenField(n.utc(i.value),e)}else i.value="";a.dispatchEvent(new Event("formengine.dp.change"))})}getScrollEvent(){return new o("scroll",()=>{const e=document.querySelector(".flatpickr-input.active");if(null===e)return;const t=e.getBoundingClientRect(),a=e._flatpickr.calendarContainer.offsetHeight;let i,n;window.innerHeight-t.bottom<a&&t.top>a?(i=t.y-a-2,n="arrowBottom"):(i=t.y+t.height+2,n="arrowTop"),e._flatpickr.calendarContainer.style.top=i+"px",e._flatpickr.calendarContainer.classList.remove("arrowBottom","arrowTop"),e._flatpickr.calendarContainer.classList.add(n)},15)}getDateOptions(e){const t=this.format,a=e.dataset.dateType,i=new Date,r={allowInput:!0,dateFormat:"",defaultDate:e.value,defaultHour:i.getHours(),defaultMinute:i.getMinutes(),enableSeconds:!1,enableTime:!1,formatDate:(e,t)=>n(e).format(t),parseDate:(e,t)=>n(e,t,!0).toDate(),maxDate:"",minDate:"",minuteIncrement:1,noCalendar:!1,weekNumbers:!0};switch(a){case"datetime":r.dateFormat=t[1],r.enableTime=!0;break;case"date":r.dateFormat=t[0];break;case"time":r.dateFormat="HH:mm",r.enableTime=!0,r.noCalendar=!0;break;case"timesec":r.dateFormat="HH:mm:ss",r.enableSeconds=!0,r.enableTime=!0,r.noCalendar=!0;break;case"year":r.dateFormat="Y"}return"undefined"!==e.dataset.dateMindate&&(r.minDate=e.dataset.dateMindate),"undefined"!==e.dataset.dateMaxdate&&(r.maxDate=e.dataset.dateMaxdate),r}}return new l}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/DebugConsole.js b/typo3/sysext/backend/Resources/Public/JavaScript/DebugConsole.js
index 251f7eb4534c..b334dc404cdd 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/DebugConsole.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/DebugConsole.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,s){"use strict";s=__importDefault(s);class a{constructor(){this.settings={autoscroll:!0},(0,s.default)(()=>{this.createDom()})}static incrementInactiveTabCounter(t){if(!t.hasClass("active")){const e=t.find(".badge");let s=parseInt(e.text(),10);isNaN(s)&&(s=0),e.text(++s)}}add(t,e,n){this.attachToViewport();const o=(0,s.default)("<p />").html(t);void 0!==e&&e.length>0&&o.prepend((0,s.default)("<strong />").text(e)),void 0!==n&&0!==n.length||(n="Debug");const l="debugtab-"+n.toLowerCase().replace(/\W+/g,"-"),d=this.$consoleDom.find(".t3js-debuggroups"),i=this.$consoleDom.find(".t3js-debugcontent");let c=this.$consoleDom.find(".t3js-debuggroups li[data-identifier="+l+"]");0===c.length&&(c=(0,s.default)("<li />",{role:"presentation",class:"nav-item","data-identifier":l}).append((0,s.default)("<a />",{"aria-controls":l,"data-bs-toggle":"tab",class:"nav-link",href:"#"+l,role:"tab"}).text(n+" ").append((0,s.default)("<span />",{class:"badge"}))).on("shown.bs.tab",t=>{(0,s.default)(t.currentTarget).find(".badge").text("")}),d.append(c),i.append((0,s.default)("<div />",{role:"tabpanel",class:"tab-pane",id:l}).append((0,s.default)("<div />",{class:"t3js-messages messages"})))),0===d.find(".active").length&&d.find("a:first").tab("show"),a.incrementInactiveTabCounter(c),this.incrementUnreadMessagesIfCollapsed();const r=(0,s.default)("#"+l+" .t3js-messages"),u=r.parent().hasClass("active");r.append(o),this.settings.autoscroll&&u&&r.scrollTop(r.prop("scrollHeight"))}createDom(){void 0===this.$consoleDom&&(this.$consoleDom=(0,s.default)("<div />",{id:"typo3-debug-console"}).append((0,s.default)("<div />",{class:"t3js-topbar topbar"}).append((0,s.default)("<p />",{class:"float-start"}).text(" TYPO3 Debug Console").prepend((0,s.default)("<span />",{class:"fa fa-terminal topbar-icon"})).append((0,s.default)("<span />",{class:"badge"})),(0,s.default)("<div />",{class:"t3js-buttons btn-group float-end"})),(0,s.default)("<div />").append((0,s.default)("<div />",{role:"tabpanel"}).append((0,s.default)("<ul />",{class:"nav nav-tabs t3js-debuggroups",role:"tablist"})),(0,s.default)("<div />",{class:"tab-content t3js-debugcontent"}))),this.addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm "+(this.settings.autoscroll?"active":""),title:TYPO3.lang["debuggerconsole.autoscroll"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-magnet"})),()=>{(0,s.default)(this).button("toggle"),this.settings.autoscroll=!this.settings.autoscroll}).addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm",title:TYPO3.lang["debuggerconsole.toggle.collapse"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-chevron-down"})),t=>{let e=(0,s.default)(t.currentTarget),a=e.find(".t3-icon"),n=this.$consoleDom.find(".t3js-topbar").next();n.toggle(),n.is(":visible")?(e.attr("title",TYPO3.lang["debuggerconsole.toggle.collapse"]),a.toggleClass("fa-chevron-down",!0).toggleClass("fa-chevron-up",!1),this.resetGlobalUnreadCounter()):(e.attr("title",TYPO3.lang["debuggerconsole.toggle.expand"]),a.toggleClass("fa-chevron-down",!1).toggleClass("fa-chevron-up",!0))}).addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm",title:TYPO3.lang["debuggerconsole.clear"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-undo"})),()=>{this.flush()}).addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm",title:TYPO3.lang["debuggerconsole.close"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-times"})),()=>{this.destroy(),this.createDom()}))}addButton(t,e){return t.on("click",e),this.$consoleDom.find(".t3js-buttons").append(t),this}attachToViewport(){const t=(0,s.default)(".t3js-scaffold-content");0===t.has(this.$consoleDom).length&&t.append(this.$consoleDom)}incrementUnreadMessagesIfCollapsed(){const t=this.$consoleDom.find(".t3js-topbar");if(t.next().is(":hidden")){const e=t.find(".badge");let s=parseInt(e.text(),10);isNaN(s)&&(s=0),e.text(++s)}}resetGlobalUnreadCounter(){this.$consoleDom.find(".t3js-topbar").find(".badge").text("")}flush(){const t=this.$consoleDom.find(".t3js-debuggroups"),e=this.$consoleDom.find(".t3js-debugcontent");t.children().remove(),e.children().remove()}destroy(){this.$consoleDom.remove(),this.$consoleDom=void 0}}const n=new a;return TYPO3.DebugConsole=n,n}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery"],(function(t,e,s){"use strict";s=__importDefault(s);class a{static incrementInactiveTabCounter(t){if(!t.hasClass("active")){const e=t.find(".badge");let s=parseInt(e.text(),10);isNaN(s)&&(s=0),e.text(++s)}}constructor(){this.settings={autoscroll:!0},(0,s.default)(()=>{this.createDom()})}add(t,e,n){this.attachToViewport();const o=(0,s.default)("<p />").html(t);void 0!==e&&e.length>0&&o.prepend((0,s.default)("<strong />").text(e)),void 0!==n&&0!==n.length||(n="Debug");const l="debugtab-"+n.toLowerCase().replace(/\W+/g,"-"),d=this.$consoleDom.find(".t3js-debuggroups"),i=this.$consoleDom.find(".t3js-debugcontent");let c=this.$consoleDom.find(".t3js-debuggroups li[data-identifier="+l+"]");0===c.length&&(c=(0,s.default)("<li />",{role:"presentation",class:"nav-item","data-identifier":l}).append((0,s.default)("<a />",{"aria-controls":l,"data-bs-toggle":"tab",class:"nav-link",href:"#"+l,role:"tab"}).text(n+" ").append((0,s.default)("<span />",{class:"badge"}))).on("shown.bs.tab",t=>{(0,s.default)(t.currentTarget).find(".badge").text("")}),d.append(c),i.append((0,s.default)("<div />",{role:"tabpanel",class:"tab-pane",id:l}).append((0,s.default)("<div />",{class:"t3js-messages messages"})))),0===d.find(".active").length&&d.find("a:first").tab("show"),a.incrementInactiveTabCounter(c),this.incrementUnreadMessagesIfCollapsed();const r=(0,s.default)("#"+l+" .t3js-messages"),u=r.parent().hasClass("active");r.append(o),this.settings.autoscroll&&u&&r.scrollTop(r.prop("scrollHeight"))}createDom(){void 0===this.$consoleDom&&(this.$consoleDom=(0,s.default)("<div />",{id:"typo3-debug-console"}).append((0,s.default)("<div />",{class:"t3js-topbar topbar"}).append((0,s.default)("<p />",{class:"float-start"}).text(" TYPO3 Debug Console").prepend((0,s.default)("<span />",{class:"fa fa-terminal topbar-icon"})).append((0,s.default)("<span />",{class:"badge"})),(0,s.default)("<div />",{class:"t3js-buttons btn-group float-end"})),(0,s.default)("<div />").append((0,s.default)("<div />",{role:"tabpanel"}).append((0,s.default)("<ul />",{class:"nav nav-tabs t3js-debuggroups",role:"tablist"})),(0,s.default)("<div />",{class:"tab-content t3js-debugcontent"}))),this.addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm "+(this.settings.autoscroll?"active":""),title:TYPO3.lang["debuggerconsole.autoscroll"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-magnet"})),()=>{(0,s.default)(this).button("toggle"),this.settings.autoscroll=!this.settings.autoscroll}).addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm",title:TYPO3.lang["debuggerconsole.toggle.collapse"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-chevron-down"})),t=>{let e=(0,s.default)(t.currentTarget),a=e.find(".t3-icon"),n=this.$consoleDom.find(".t3js-topbar").next();n.toggle(),n.is(":visible")?(e.attr("title",TYPO3.lang["debuggerconsole.toggle.collapse"]),a.toggleClass("fa-chevron-down",!0).toggleClass("fa-chevron-up",!1),this.resetGlobalUnreadCounter()):(e.attr("title",TYPO3.lang["debuggerconsole.toggle.expand"]),a.toggleClass("fa-chevron-down",!1).toggleClass("fa-chevron-up",!0))}).addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm",title:TYPO3.lang["debuggerconsole.clear"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-undo"})),()=>{this.flush()}).addButton((0,s.default)("<button />",{class:"btn btn-default btn-sm",title:TYPO3.lang["debuggerconsole.close"]}).append((0,s.default)("<span />",{class:"t3-icon fa fa-times"})),()=>{this.destroy(),this.createDom()}))}addButton(t,e){return t.on("click",e),this.$consoleDom.find(".t3js-buttons").append(t),this}attachToViewport(){const t=(0,s.default)(".t3js-scaffold-content");0===t.has(this.$consoleDom).length&&t.append(this.$consoleDom)}incrementUnreadMessagesIfCollapsed(){const t=this.$consoleDom.find(".t3js-topbar");if(t.next().is(":hidden")){const e=t.find(".badge");let s=parseInt(e.text(),10);isNaN(s)&&(s=0),e.text(++s)}}resetGlobalUnreadCounter(){this.$consoleDom.find(".t3js-topbar").find(".badge").text("")}flush(){const t=this.$consoleDom.find(".t3js-debuggroups"),e=this.$consoleDom.find(".t3js-debugcontent");t.children().remove(),e.children().remove()}destroy(){this.$consoleDom.remove(),this.$consoleDom=void 0}}const n=new a;return TYPO3.DebugConsole=n,n}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/DocumentSaveActions.js b/typo3/sysext/backend/Resources/Public/JavaScript/DocumentSaveActions.js
index a01c5458bdf2..e2d1f4dc02eb 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/DocumentSaveActions.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/DocumentSaveActions.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","./Icons"],(function(t,e,a,n){"use strict";a=__importDefault(a);class r{constructor(){this.preSubmitCallbacks=[],(0,a.default)(()=>{this.initializeSaveHandling()})}static getInstance(){return null===r.instance&&(r.instance=new r),r.instance}addPreSubmitCallback(t){if("function"!=typeof t)throw"callback must be a function.";this.preSubmitCallbacks.push(t)}initializeSaveHandling(){let t=!1;const e=["button[form]",'button[name^="_save"]','a[data-name^="_save"]','button[name="CMD"][value^="save"]','a[data-name="CMD"][data-value^="save"]'].join(",");(0,a.default)(".t3js-module-docheader").on("click",e,e=>{if(!t){t=!0;const r=(0,a.default)(e.currentTarget),i=r.attr("form")||r.attr("data-form")||null,l=i?(0,a.default)("#"+i):r.closest("form"),u=r.data("name")||e.currentTarget.getAttribute("name"),s=r.data("value")||e.currentTarget.getAttribute("value"),o=(0,a.default)("<input />").attr("type","hidden").attr("name",u).attr("value",s);for(let a of this.preSubmitCallbacks)if(a(e),e.isPropagationStopped())return t=!1,!1;l.append(o),l.on("submit",()=>{if(l.find(".has-error").length>0)return t=!1,!1;let e;const a=r.closest(".t3js-splitbutton");return a.length>0?(a.find("button").prop("disabled",!0),e=a.children().first()):(r.prop("disabled",!0),e=r),n.getIcon("spinner-circle-dark",n.sizes.small).then(t=>{e.find(".t3js-icon").replaceWith(t)}).catch(t=>{}),!0}),"A"!==e.currentTarget.tagName&&!r.attr("form")||e.isDefaultPrevented()||(l.find('[name="doSave"]').val("1"),l.trigger("submit"),e.preventDefault())}return!0})}}return r.instance=null,r}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","./Icons"],(function(t,e,a,n){"use strict";a=__importDefault(a);class r{static getInstance(){return null===r.instance&&(r.instance=new r),r.instance}constructor(){this.preSubmitCallbacks=[],(0,a.default)(()=>{this.initializeSaveHandling()})}addPreSubmitCallback(t){if("function"!=typeof t)throw"callback must be a function.";this.preSubmitCallbacks.push(t)}initializeSaveHandling(){let t=!1;const e=["button[form]",'button[name^="_save"]','a[data-name^="_save"]','button[name="CMD"][value^="save"]','a[data-name="CMD"][data-value^="save"]'].join(",");(0,a.default)(".t3js-module-docheader").on("click",e,e=>{if(!t){t=!0;const r=(0,a.default)(e.currentTarget),i=r.attr("form")||r.attr("data-form")||null,l=i?(0,a.default)("#"+i):r.closest("form"),u=r.data("name")||e.currentTarget.getAttribute("name"),s=r.data("value")||e.currentTarget.getAttribute("value"),o=(0,a.default)("<input />").attr("type","hidden").attr("name",u).attr("value",s);for(let a of this.preSubmitCallbacks)if(a(e),e.isPropagationStopped())return t=!1,!1;l.append(o),l.on("submit",()=>{if(l.find(".has-error").length>0)return t=!1,!1;let e;const a=r.closest(".t3js-splitbutton");return a.length>0?(a.find("button").prop("disabled",!0),e=a.children().first()):(r.prop("disabled",!0),e=r),n.getIcon("spinner-circle-dark",n.sizes.small).then(t=>{e.find(".t3js-icon").replaceWith(t)}).catch(t=>{}),!0}),"A"!==e.currentTarget.tagName&&!r.attr("form")||e.isDefaultPrevented()||(l.find('[name="doSave"]').val("1"),l.trigger("submit"),e.preventDefault())}return!0})}}return r.instance=null,r}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Event/InteractionRequest.js b/typo3/sysext/backend/Resources/Public/JavaScript/Event/InteractionRequest.js
index d02f66293af1..395e2ea968ea 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Event/InteractionRequest.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Event/InteractionRequest.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports"],(function(e,s){"use strict";class t{constructor(e,s=null){this.processed=!1,this.processedData=null,this.type=e,this.parentRequest=s}get outerMostRequest(){let e=this;for(;e.parentRequest instanceof t;)e=e.parentRequest;return e}isProcessed(){return this.processed}getProcessedData(){return this.processedData}setProcessedData(e=null){this.processed=!0,this.processedData=e}}return t}));
\ No newline at end of file
+define(["require","exports"],(function(e,s){"use strict";class t{get outerMostRequest(){let e=this;for(;e.parentRequest instanceof t;)e=e.parentRequest;return e}constructor(e,s=null){this.processed=!1,this.processedData=null,this.type=e,this.parentRequest=s}isProcessed(){return this.processed}getProcessedData(){return this.processedData}setProcessedData(e=null){this.processed=!0,this.processedData=e}}return t}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormContainerContainer.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormContainerContainer.js
index 3716611e8e9e..3f273ce6670f 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormContainerContainer.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormContainerContainer.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","bootstrap","TYPO3/CMS/Core/SecurityUtility","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Severity"],(function(e,t,n,i,o,r,l){"use strict";var a;i=__importDefault(i),r=__importDefault(r),function(e){e.toggleSelector='[data-bs-toggle="flexform-inline"]',e.actionFieldSelector=".t3js-flex-control-action",e.toggleFieldSelector=".t3js-flex-control-toggle",e.controlSectionSelector=".t3js-formengine-irre-control",e.sectionContentContainerSelector=".t3js-flex-section-content",e.deleteContainerButtonSelector=".t3js-delete",e.contentPreviewSelector=".content-preview"}(a||(a={}));class s{constructor(e,t){this.securityUtility=new i.default,this.parentContainer=e,this.container=t,this.containerContent=t.querySelector(a.sectionContentContainerSelector),this.containerId=t.dataset.flexformContainerId,this.panelHeading=t.querySelector('[data-bs-target="#flexform-container-'+this.containerId+'"]'),this.panelButton=this.panelHeading.querySelector('[aria-controls="flexform-container-'+this.containerId+'"]'),this.toggleField=t.querySelector(a.toggleFieldSelector),this.registerEvents(),this.generatePreview()}static getCollapseInstance(e){var t;return null!==(t=n.Collapse.getInstance(e))&&void 0!==t?t:new n.Collapse(e,{toggle:!1})}getStatus(){return{id:this.containerId,collapsed:"false"===this.panelButton.getAttribute("aria-expanded")}}registerEvents(){this.parentContainer.isRestructuringAllowed()&&this.registerDelete(),this.registerToggle(),this.registerPanelToggle()}registerDelete(){new r.default("click",()=>{const e=TYPO3.lang["flexform.section.delete.title"]||"Delete this container?",t=TYPO3.lang["flexform.section.delete.message"]||"Are you sure you want to delete this container?";o.confirm(e,t,l.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this container",btnClass:"btn-warning",name:"yes"}]).on("button.clicked",e=>{if("yes"===e.target.name){const e=this.container.querySelector(a.actionFieldSelector);e.value="DELETE",this.container.appendChild(e),this.container.classList.add("t3-flex-section--deleted"),this.container.classList.add("has-change"),new r.default("transitionend",()=>{this.container.classList.add("hidden");const e=new CustomEvent("formengine:flexform:container-deleted",{detail:{containerId:this.containerId}});this.parentContainer.getContainer().dispatchEvent(e)}).bindTo(this.container)}o.dismiss()})}).bindTo(this.container.querySelector(a.deleteContainerButtonSelector))}registerToggle(){new r.default("click",()=>{s.getCollapseInstance(this.containerContent).toggle(),this.generatePreview()}).delegateTo(this.container,`${a.toggleSelector} .form-irre-header-cell:not(${a.controlSectionSelector}`)}registerPanelToggle(){["hide.bs.collapse","show.bs.collapse"].forEach(e=>{new r.default(e,e=>{const t="hide.bs.collapse"===e.type;this.toggleField.value=t?"1":"0",this.panelButton.setAttribute("aria-expanded",t?"false":"true"),this.panelButton.parentElement.classList.toggle("collapsed",t)}).bindTo(this.containerContent)})}generatePreview(){let e="";if(this.getStatus().collapsed){const t=this.containerContent.querySelectorAll('input[type="text"], textarea');for(let n of t){let t=this.securityUtility.stripHtml(n.value);t.length>50&&(t=t.substring(0,50)+"..."),e+=(e?" / ":"")+t}}this.panelHeading.querySelector(a.contentPreviewSelector).textContent=e}}return s}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","bootstrap","TYPO3/CMS/Core/SecurityUtility","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Severity"],(function(e,t,n,i,o,r,l){"use strict";var a;i=__importDefault(i),r=__importDefault(r),function(e){e.toggleSelector='[data-bs-toggle="flexform-inline"]',e.actionFieldSelector=".t3js-flex-control-action",e.toggleFieldSelector=".t3js-flex-control-toggle",e.controlSectionSelector=".t3js-formengine-irre-control",e.sectionContentContainerSelector=".t3js-flex-section-content",e.deleteContainerButtonSelector=".t3js-delete",e.contentPreviewSelector=".content-preview"}(a||(a={}));class s{static getCollapseInstance(e){var t;return null!==(t=n.Collapse.getInstance(e))&&void 0!==t?t:new n.Collapse(e,{toggle:!1})}constructor(e,t){this.securityUtility=new i.default,this.parentContainer=e,this.container=t,this.containerContent=t.querySelector(a.sectionContentContainerSelector),this.containerId=t.dataset.flexformContainerId,this.panelHeading=t.querySelector('[data-bs-target="#flexform-container-'+this.containerId+'"]'),this.panelButton=this.panelHeading.querySelector('[aria-controls="flexform-container-'+this.containerId+'"]'),this.toggleField=t.querySelector(a.toggleFieldSelector),this.registerEvents(),this.generatePreview()}getStatus(){return{id:this.containerId,collapsed:"false"===this.panelButton.getAttribute("aria-expanded")}}registerEvents(){this.parentContainer.isRestructuringAllowed()&&this.registerDelete(),this.registerToggle(),this.registerPanelToggle()}registerDelete(){new r.default("click",()=>{const e=TYPO3.lang["flexform.section.delete.title"]||"Delete this container?",t=TYPO3.lang["flexform.section.delete.message"]||"Are you sure you want to delete this container?";o.confirm(e,t,l.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this container",btnClass:"btn-warning",name:"yes"}]).on("button.clicked",e=>{if("yes"===e.target.name){const e=this.container.querySelector(a.actionFieldSelector);e.value="DELETE",this.container.appendChild(e),this.container.classList.add("t3-flex-section--deleted"),this.container.classList.add("has-change"),new r.default("transitionend",()=>{this.container.classList.add("hidden");const e=new CustomEvent("formengine:flexform:container-deleted",{detail:{containerId:this.containerId}});this.parentContainer.getContainer().dispatchEvent(e)}).bindTo(this.container)}o.dismiss()})}).bindTo(this.container.querySelector(a.deleteContainerButtonSelector))}registerToggle(){new r.default("click",()=>{s.getCollapseInstance(this.containerContent).toggle(),this.generatePreview()}).delegateTo(this.container,`${a.toggleSelector} .form-irre-header-cell:not(${a.controlSectionSelector}`)}registerPanelToggle(){["hide.bs.collapse","show.bs.collapse"].forEach(e=>{new r.default(e,e=>{const t="hide.bs.collapse"===e.type;this.toggleField.value=t?"1":"0",this.panelButton.setAttribute("aria-expanded",t?"false":"true"),this.panelButton.parentElement.classList.toggle("collapsed",t)}).bindTo(this.containerContent)})}generatePreview(){let e="";if(this.getStatus().collapsed){const t=this.containerContent.querySelectorAll('input[type="text"], textarea');for(let n of t){let t=this.securityUtility.stripHtml(n.value);t.length>50&&(t=t.substring(0,50)+"..."),e+=(e?" / ":"")+t}}this.panelHeading.querySelector(a.contentPreviewSelector).textContent=e}}return s}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormSectionContainer.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormSectionContainer.js
index a960e30323ee..3d9f0179f585 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormSectionContainer.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormSectionContainer.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","bootstrap","sortablejs","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/DocumentService","./FlexFormContainerContainer","TYPO3/CMS/Backend/FormEngine","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/JavaScriptHandler"],(function(require,exports,bootstrap_1,sortablejs_1,AjaxRequest_1,DocumentService,FlexFormContainerContainer_1,FormEngine,RegularEvent_1,javaScriptHandler){"use strict";var Selectors;sortablejs_1=__importDefault(sortablejs_1),AjaxRequest_1=__importDefault(AjaxRequest_1),FlexFormContainerContainer_1=__importDefault(FlexFormContainerContainer_1),RegularEvent_1=__importDefault(RegularEvent_1),function(e){e.toggleAllSelector=".t3-form-flexsection-toggle",e.addContainerSelector=".t3js-flex-container-add",e.actionFieldSelector=".t3js-flex-control-action",e.sectionContainerSelector=".t3js-flex-section",e.sectionContentContainerSelector=".t3js-flex-section-content",e.sortContainerButtonSelector=".t3js-sortable-handle"}(Selectors||(Selectors={}));class FlexFormSectionContainer{constructor(e){this.allowRestructure=!1,this.flexformContainerContainers=[],this.updateSorting=e=>{this.container.querySelectorAll(Selectors.actionFieldSelector).forEach((e,t)=>{e.value=t.toString()}),this.updateToggleAllState(),this.flexformContainerContainers.splice(e.newIndex,0,this.flexformContainerContainers.splice(e.oldIndex,1)[0]),document.dispatchEvent(new Event("formengine:flexform:sorting-changed"))},this.sectionContainerId=e,DocumentService.ready().then(t=>{this.container=t.getElementById(e),this.sectionContainer=this.container.querySelector(this.container.dataset.section),this.allowRestructure="1"===this.sectionContainer.dataset.t3FlexAllowRestructure,this.registerEvents(),this.registerContainers()})}static getCollapseInstance(e){var t;return null!==(t=bootstrap_1.Collapse.getInstance(e))&&void 0!==t?t:new bootstrap_1.Collapse(e,{toggle:!1})}getContainer(){return this.container}isRestructuringAllowed(){return this.allowRestructure}registerEvents(){this.allowRestructure&&(this.registerSortable(),this.registerContainerDeleted()),this.registerToggleAll(),this.registerCreateNewContainer(),this.registerPanelToggle()}registerContainers(){const e=this.container.querySelectorAll(Selectors.sectionContainerSelector);for(let t of e)this.flexformContainerContainers.push(new FlexFormContainerContainer_1.default(this,t));this.updateToggleAllState()}getToggleAllButton(){return this.container.querySelector(Selectors.toggleAllSelector)}registerSortable(){new sortablejs_1.default(this.sectionContainer,{group:this.sectionContainer.id,handle:Selectors.sortContainerButtonSelector,onSort:this.updateSorting})}registerToggleAll(){new RegularEvent_1.default("click",e=>{const t="true"===e.target.dataset.expandAll,n=this.container.querySelectorAll(Selectors.sectionContentContainerSelector);for(let e of n)t?FlexFormSectionContainer.getCollapseInstance(e).show():FlexFormSectionContainer.getCollapseInstance(e).hide()}).bindTo(this.getToggleAllButton())}registerCreateNewContainer(){new RegularEvent_1.default("click",(e,t)=>{e.preventDefault(),this.createNewContainer(t.dataset)}).delegateTo(this.container,Selectors.addContainerSelector)}createNewContainer(dataset){new AjaxRequest_1.default(TYPO3.settings.ajaxUrls.record_flex_container_add).post({vanillaUid:dataset.vanillauid,databaseRowUid:dataset.databaserowuid,command:dataset.command,tableName:dataset.tablename,fieldName:dataset.fieldname,recordTypeValue:dataset.recordtypevalue,dataStructureIdentifier:JSON.parse(dataset.datastructureidentifier),flexFormSheetName:dataset.flexformsheetname,flexFormFieldName:dataset.flexformfieldname,flexFormContainerName:dataset.flexformcontainername}).then(async response=>{const data=await response.resolve(),createdContainer=(new DOMParser).parseFromString(data.html,"text/html").body.firstElementChild;this.flexformContainerContainers.push(new FlexFormContainerContainer_1.default(this,createdContainer));const sectionContainer=document.querySelector(dataset.target);sectionContainer.insertAdjacentElement("beforeend",createdContainer),data.scriptItems instanceof Array&&data.scriptItems.length>0&&javaScriptHandler.processItems(data.scriptItems,!0),data.scriptCall&&data.scriptCall.length>0&&$.each(data.scriptCall,(function(index,value){eval(value)})),data.stylesheetFiles&&data.stylesheetFiles.length>0&&$.each(data.stylesheetFiles,(function(e,t){let n=document.createElement("link");n.rel="stylesheet",n.type="text/css",n.href=t,document.head.appendChild(n)})),this.updateToggleAllState(),FormEngine.reinitialize(),FormEngine.Validation.initializeInputFields(),FormEngine.Validation.validate(sectionContainer),this.container.classList.add("has-change")})}registerContainerDeleted(){new RegularEvent_1.default("formengine:flexform:container-deleted",e=>{const t=e.detail.containerId;this.flexformContainerContainers=this.flexformContainerContainers.filter(e=>e.getStatus().id!==t),FormEngine.Validation.validate(this.container),this.updateToggleAllState()}).bindTo(this.container)}registerPanelToggle(){["hide.bs.collapse","show.bs.collapse"].forEach(e=>{new RegularEvent_1.default(e,()=>{this.updateToggleAllState()}).delegateTo(this.container,Selectors.sectionContentContainerSelector)})}updateToggleAllState(){if(this.flexformContainerContainers.length>0){const e=this.flexformContainerContainers.find(Boolean);this.getToggleAllButton().dataset.expandAll=!0===e.getStatus().collapsed?"true":"false"}}}return FlexFormSectionContainer}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","bootstrap","sortablejs","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/DocumentService","./FlexFormContainerContainer","TYPO3/CMS/Backend/FormEngine","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/JavaScriptHandler"],(function(require,exports,bootstrap_1,sortablejs_1,AjaxRequest_1,DocumentService,FlexFormContainerContainer_1,FormEngine,RegularEvent_1,javaScriptHandler){"use strict";var Selectors;sortablejs_1=__importDefault(sortablejs_1),AjaxRequest_1=__importDefault(AjaxRequest_1),FlexFormContainerContainer_1=__importDefault(FlexFormContainerContainer_1),RegularEvent_1=__importDefault(RegularEvent_1),function(e){e.toggleAllSelector=".t3-form-flexsection-toggle",e.addContainerSelector=".t3js-flex-container-add",e.actionFieldSelector=".t3js-flex-control-action",e.sectionContainerSelector=".t3js-flex-section",e.sectionContentContainerSelector=".t3js-flex-section-content",e.sortContainerButtonSelector=".t3js-sortable-handle"}(Selectors||(Selectors={}));class FlexFormSectionContainer{static getCollapseInstance(e){var t;return null!==(t=bootstrap_1.Collapse.getInstance(e))&&void 0!==t?t:new bootstrap_1.Collapse(e,{toggle:!1})}constructor(e){this.allowRestructure=!1,this.flexformContainerContainers=[],this.updateSorting=e=>{this.container.querySelectorAll(Selectors.actionFieldSelector).forEach((e,t)=>{e.value=t.toString()}),this.updateToggleAllState(),this.flexformContainerContainers.splice(e.newIndex,0,this.flexformContainerContainers.splice(e.oldIndex,1)[0]),document.dispatchEvent(new Event("formengine:flexform:sorting-changed"))},this.sectionContainerId=e,DocumentService.ready().then(t=>{this.container=t.getElementById(e),this.sectionContainer=this.container.querySelector(this.container.dataset.section),this.allowRestructure="1"===this.sectionContainer.dataset.t3FlexAllowRestructure,this.registerEvents(),this.registerContainers()})}getContainer(){return this.container}isRestructuringAllowed(){return this.allowRestructure}registerEvents(){this.allowRestructure&&(this.registerSortable(),this.registerContainerDeleted()),this.registerToggleAll(),this.registerCreateNewContainer(),this.registerPanelToggle()}registerContainers(){const e=this.container.querySelectorAll(Selectors.sectionContainerSelector);for(let t of e)this.flexformContainerContainers.push(new FlexFormContainerContainer_1.default(this,t));this.updateToggleAllState()}getToggleAllButton(){return this.container.querySelector(Selectors.toggleAllSelector)}registerSortable(){new sortablejs_1.default(this.sectionContainer,{group:this.sectionContainer.id,handle:Selectors.sortContainerButtonSelector,onSort:this.updateSorting})}registerToggleAll(){new RegularEvent_1.default("click",e=>{const t="true"===e.target.dataset.expandAll,n=this.container.querySelectorAll(Selectors.sectionContentContainerSelector);for(let e of n)t?FlexFormSectionContainer.getCollapseInstance(e).show():FlexFormSectionContainer.getCollapseInstance(e).hide()}).bindTo(this.getToggleAllButton())}registerCreateNewContainer(){new RegularEvent_1.default("click",(e,t)=>{e.preventDefault(),this.createNewContainer(t.dataset)}).delegateTo(this.container,Selectors.addContainerSelector)}createNewContainer(dataset){new AjaxRequest_1.default(TYPO3.settings.ajaxUrls.record_flex_container_add).post({vanillaUid:dataset.vanillauid,databaseRowUid:dataset.databaserowuid,command:dataset.command,tableName:dataset.tablename,fieldName:dataset.fieldname,recordTypeValue:dataset.recordtypevalue,dataStructureIdentifier:JSON.parse(dataset.datastructureidentifier),flexFormSheetName:dataset.flexformsheetname,flexFormFieldName:dataset.flexformfieldname,flexFormContainerName:dataset.flexformcontainername}).then(async response=>{const data=await response.resolve(),createdContainer=(new DOMParser).parseFromString(data.html,"text/html").body.firstElementChild;this.flexformContainerContainers.push(new FlexFormContainerContainer_1.default(this,createdContainer));const sectionContainer=document.querySelector(dataset.target);sectionContainer.insertAdjacentElement("beforeend",createdContainer),data.scriptItems instanceof Array&&data.scriptItems.length>0&&javaScriptHandler.processItems(data.scriptItems,!0),data.scriptCall&&data.scriptCall.length>0&&$.each(data.scriptCall,(function(index,value){eval(value)})),data.stylesheetFiles&&data.stylesheetFiles.length>0&&$.each(data.stylesheetFiles,(function(e,t){let n=document.createElement("link");n.rel="stylesheet",n.type="text/css",n.href=t,document.head.appendChild(n)})),this.updateToggleAllState(),FormEngine.reinitialize(),FormEngine.Validation.initializeInputFields(),FormEngine.Validation.validate(sectionContainer),this.container.classList.add("has-change")})}registerContainerDeleted(){new RegularEvent_1.default("formengine:flexform:container-deleted",e=>{const t=e.detail.containerId;this.flexformContainerContainers=this.flexformContainerContainers.filter(e=>e.getStatus().id!==t),FormEngine.Validation.validate(this.container),this.updateToggleAllState()}).bindTo(this.container)}registerPanelToggle(){["hide.bs.collapse","show.bs.collapse"].forEach(e=>{new RegularEvent_1.default(e,()=>{this.updateToggleAllState()}).delegateTo(this.container,Selectors.sectionContentContainerSelector)})}updateToggleAllState(){if(this.flexformContainerContainers.length>0){const e=this.flexformContainerContainers.find(Boolean);this.getToggleAllButton().dataset.expandAll=!0===e.getStatus().collapsed?"true":"false"}}}return FlexFormSectionContainer}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/InlineControlContainer.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/InlineControlContainer.js
index 04552eb4c4ac..7bf51fb46830 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/InlineControlContainer.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/InlineControlContainer.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","../../Utility/MessageUtility","./../InlineRelation/AjaxDispatcher","TYPO3/CMS/Core/DocumentService","nprogress","sortablejs","TYPO3/CMS/Backend/FormEngine","TYPO3/CMS/Backend/FormEngineValidation","../../Icons","../../InfoWindow","../../Modal","../../Notification","TYPO3/CMS/Core/Event/RegularEvent","../../Severity","../../Utility"],(function(e,t,n,o,i,r,a,s,l,c,d,u,p,h,g,m){"use strict";var f,b,v,j;a=__importDefault(a),function(e){e.toggleSelector='[data-bs-toggle="formengine-inline"]',e.controlSectionSelector=".t3js-formengine-irre-control",e.createNewRecordButtonSelector=".t3js-create-new-button",e.createNewRecordBySelectorSelector=".t3js-create-new-selector",e.deleteRecordButtonSelector=".t3js-editform-delete-inline-record",e.enableDisableRecordButtonSelector=".t3js-toggle-visibility-button",e.infoWindowButton='[data-action="infowindow"]',e.synchronizeLocalizeRecordButtonSelector=".t3js-synchronizelocalize-button",e.uniqueValueSelectors="select.t3js-inline-unique",e.revertUniqueness=".t3js-revert-unique",e.controlContainer=".t3js-inline-controls",e.controlTopOuterContainer=".t3js-inline-controls-top-outer-container"}(f||(f={})),function(e){e.new="inlineIsNewRecord",e.visible="panel-visible",e.collapsed="panel-collapsed",e.notLoaded="t3js-not-loaded"}(b||(b={})),function(e){e.structureSeparator="-"}(v||(v={})),function(e){e.DOWN="down",e.UP="up"}(j||(j={}));class S{constructor(e){this.container=null,this.ajaxDispatcher=null,this.appearance=null,this.requestQueue={},this.progessQueue={},this.noTitleString=TYPO3.lang?TYPO3.lang["FormEngine.noRecordTitle"]:"[No title]",this.handlePostMessage=e=>{if(!n.MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw"No object group defined for message";if(e.data.objectGroup!==this.container.dataset.objectGroup)return;if(this.isUniqueElementUsed(parseInt(e.data.uid,10),e.data.table))return void p.error("There is already a relation to the selected element");this.importRecord([e.data.objectGroup,e.data.uid]).then(()=>{if(e.source){const t={actionName:"typo3:foreignRelation:inserted",objectGroup:e.data.objectId,table:e.data.table,uid:e.data.uid};n.MessageUtility.send(t,e.source)}})}},i.ready().then(t=>{this.container=t.getElementById(e),this.ajaxDispatcher=new o.AjaxDispatcher(this.container.dataset.objectGroup),this.registerEvents()})}static getInlineRecordContainer(e){return document.querySelector('[data-object-id="'+e+'"]')}static getCollapseButton(e){return document.querySelector('[aria-controls="'+e+'_fields"]')}static toggleElement(e){const t=S.getInlineRecordContainer(e);t.classList.contains(b.collapsed)?S.expandElement(t,e):S.collapseElement(t,e)}static collapseElement(e,t){const n=S.getCollapseButton(t);e.classList.remove(b.visible),e.classList.add(b.collapsed),n.setAttribute("aria-expanded","false")}static expandElement(e,t){const n=S.getCollapseButton(t);e.classList.remove(b.collapsed),e.classList.add(b.visible),n.setAttribute("aria-expanded","true")}static isNewRecord(e){return S.getInlineRecordContainer(e).classList.contains(b.new)}static updateExpandedCollapsedStateLocally(e,t){const n=S.getInlineRecordContainer(e),o="uc[inlineView]["+n.dataset.topmostParentTable+"]["+n.dataset.topmostParentUid+"]"+n.dataset.fieldName,i=document.getElementsByName(o);i.length&&(i[0].value=t?"1":"0")}static getValuesFromHashMap(e){return Object.keys(e).map(t=>e[t])}static selectOptionValueExists(e,t){return null!==e.querySelector('option[value="'+t+'"]')}static removeSelectOptionByValue(e,t){const n=e.querySelector('option[value="'+t+'"]');null!==n&&n.remove()}static reAddSelectOption(e,t,n){if(S.selectOptionValueExists(e,t))return;const o=e.querySelectorAll("option");let i=-1;for(let e of Object.keys(n.possible)){if(e===t)break;for(let t=0;t<o.length;++t){if(o[t].value===e){i=t;break}}}-1===i?i=0:i<o.length&&i++;const r=document.createElement("option");r.text=n.possible[t],r.value=t,e.insertBefore(r,e.options[i])}registerEvents(){if(this.registerInfoButton(),this.registerSort(),this.registerCreateRecordButton(),this.registerEnableDisableButton(),this.registerDeleteButton(),this.registerSynchronizeLocalize(),this.registerRevertUniquenessAction(),this.registerToggle(),this.registerCreateRecordBySelector(),this.registerUniqueSelectFieldChanged(),new h("message",this.handlePostMessage).bindTo(window),this.getAppearance().useSortable){const e=document.getElementById(this.container.getAttribute("id")+"_records");new a.default(e,{group:e.getAttribute("id"),handle:".sortableHandle",onSort:()=>{this.updateSorting()}})}}registerToggle(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.loadRecordDetails(this.closest(f.toggleSelector).parentElement.dataset.objectId)})).delegateTo(this.container,`${f.toggleSelector} .form-irre-header-cell:not(${f.controlSectionSelector}`)}registerSort(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.changeSortingByButton(this.closest("[data-object-id]").dataset.objectId,this.dataset.direction)})).delegateTo(this.container,f.controlSectionSelector+' [data-action="sort"]')}registerCreateRecordButton(){const e=this;new h("click",(function(t){var n,o;if(t.preventDefault(),t.stopImmediatePropagation(),e.isBelowMax()){let t=e.container.dataset.objectGroup;void 0!==this.dataset.recordUid&&(t+=v.structureSeparator+this.dataset.recordUid),e.importRecord([t,null===(n=e.container.querySelector(f.createNewRecordBySelectorSelector))||void 0===n?void 0:n.value],null!==(o=this.dataset.recordUid)&&void 0!==o?o:null)}})).delegateTo(this.container,f.createNewRecordButtonSelector)}registerCreateRecordBySelector(){const e=this;new h("change",(function(t){t.preventDefault(),t.stopImmediatePropagation();const n=this.options[this.selectedIndex].getAttribute("value");e.importRecord([e.container.dataset.objectGroup,n])})).delegateTo(this.container,f.createNewRecordBySelectorSelector)}createRecord(e,t,n=null,o=null){let i=this.container.dataset.objectGroup;null!==n&&(i+=v.structureSeparator+n),null!==n?(S.getInlineRecordContainer(i).insertAdjacentHTML("afterend",t),this.memorizeAddRecord(e,n,o)):(document.getElementById(this.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",t),this.memorizeAddRecord(e,null,o))}async importRecord(e,t){return this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_create")),e).then(async e=>{this.isBelowMax()&&this.createRecord(e.compilerInput.uid,e.data,void 0!==t?t:null,void 0!==e.compilerInput.childChildUid?e.compilerInput.childChildUid:null)})}registerEnableDisableButton(){new h("click",(e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t.closest("[data-object-id]").dataset.objectId,o=S.getInlineRecordContainer(n),i="data"+o.dataset.fieldName+"["+t.dataset.hiddenField+"]",r=document.querySelector('[data-formengine-input-name="'+i+'"'),a=document.querySelector('[name="'+i+'"');null!==r&&null!==a&&(r.checked=!r.checked,a.value=r.checked?"1":"0",l.markFieldAsChanged(r));const s="t3-form-field-container-inline-hidden";let d;o.classList.contains(s)?(d="actions-edit-hide",o.classList.remove(s)):(d="actions-edit-unhide",o.classList.add(s)),c.getIcon(d,c.sizes.small).then(e=>{t.replaceChild(document.createRange().createContextualFragment(e),t.querySelector(".t3js-icon"))})}).delegateTo(this.container,f.enableDisableRecordButtonSelector)}registerInfoButton(){new h("click",(function(e){e.preventDefault(),e.stopImmediatePropagation(),d.showItem(this.dataset.infoTable,this.dataset.infoUid)})).delegateTo(this.container,f.infoWindowButton)}registerDeleteButton(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation();const n=TYPO3.lang["label.confirm.delete_record.title"]||"Delete this record?",o=TYPO3.lang["label.confirm.delete_record.content"]||"Are you sure you want to delete this record?";u.confirm(n,o,g.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this record",btnClass:"btn-warning",name:"yes"}]).on("button.clicked",t=>{if("yes"===t.target.name){const t=this.closest("[data-object-id]").dataset.objectId;e.deleteRecord(t)}u.dismiss()})})).delegateTo(this.container,f.deleteRecordButtonSelector)}registerSynchronizeLocalize(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.ajaxDispatcher.send(e.ajaxDispatcher.newRequest(e.ajaxDispatcher.getEndpoint("record_inline_synchronizelocalize")),[e.container.dataset.objectGroup,this.dataset.type]).then(async t=>{document.getElementById(e.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",t.data);const n=e.container.dataset.objectGroup+v.structureSeparator;for(let o of t.compilerInput.delete)e.deleteRecord(n+o,!0);for(let o of Object.values(t.compilerInput.localize)){if(void 0!==o.remove){const e=S.getInlineRecordContainer(n+o.remove);e.parentElement.removeChild(e)}e.memorizeAddRecord(o.uid,null,o.selectedValue)}})})).delegateTo(this.container,f.synchronizeLocalizeRecordButtonSelector)}registerUniqueSelectFieldChanged(){const e=this;new h("change",(function(t){t.preventDefault(),t.stopImmediatePropagation();const n=this.closest("[data-object-id]");if(null!==n){const t=n.dataset.objectId,o=n.dataset.objectUid;e.handleChangedField(this,t);const i=e.getFormFieldForElements();if(null===i)return;e.updateUnique(this,i,o)}})).delegateTo(this.container,f.uniqueValueSelectors)}registerRevertUniquenessAction(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.revertUnique(this.dataset.uid)})).delegateTo(this.container,f.revertUniqueness)}loadRecordDetails(e){const t=document.getElementById(e+"_fields"),n=S.getInlineRecordContainer(e),o=void 0!==this.requestQueue[e];if(null!==t&&!n.classList.contains(b.notLoaded))this.collapseExpandRecord(e);else{const i=this.getProgress(e,n.dataset.objectIdHash);if(o)this.requestQueue[e].abort(),delete this.requestQueue[e],delete this.progessQueue[e],i.done();else{const o=this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_details"));this.ajaxDispatcher.send(o,[e]).then(async o=>{if(delete this.requestQueue[e],delete this.progessQueue[e],n.classList.remove(b.notLoaded),t.innerHTML=o.data,this.collapseExpandRecord(e),i.done(),s.reinitialize(),l.initializeInputFields(),l.validate(this.container),this.hasObjectGroupDefinedUniqueConstraints()){const t=S.getInlineRecordContainer(e);this.removeUsed(t)}}),this.requestQueue[e]=o,i.start()}}}collapseExpandRecord(e){const t=S.getInlineRecordContainer(e),n=!0===this.getAppearance().expandSingle,o=t.classList.contains(b.collapsed);let i=[];const r=[];n&&o&&(i=this.collapseAllRecords(t.dataset.objectUid)),S.toggleElement(e),S.isNewRecord(e)?S.updateExpandedCollapsedStateLocally(e,o):o?r.push(t.dataset.objectUid):o||i.push(t.dataset.objectUid),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_expandcollapse")),[e,r.join(","),i.join(",")])}memorizeAddRecord(e,t=null,n=null){const o=this.getFormFieldForElements();if(null===o)return;let i=m.trimExplode(",",o.value);if(t){const n=[];for(let o=0;o<i.length;o++)i[o].length&&n.push(i[o]),t===i[o]&&n.push(e);i=n}else i.push(e);o.value=i.join(","),o.classList.add("has-change"),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,i),this.setUnique(e,n),this.isBelowMax()||this.toggleContainerControls(!1),s.reinitialize(),l.initializeInputFields(),l.validate(this.container)}memorizeRemoveRecord(e){const t=this.getFormFieldForElements();if(null===t)return[];let n=m.trimExplode(",",t.value);const o=n.indexOf(e);return o>-1&&(delete n[o],t.value=n.join(","),t.classList.add("has-change"),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)),n}changeSortingByButton(e,t){const n=S.getInlineRecordContainer(e),o=n.dataset.objectUid,i=document.getElementById(this.container.getAttribute("id")+"_records"),r=Array.from(i.children).map(e=>e.dataset.objectUid);let a=r.indexOf(o),s=!1;if(t===j.UP&&a>0?(r[a]=r[a-1],r[a-1]=o,s=!0):t===j.DOWN&&a<r.length-1&&(r[a]=r[a+1],r[a+1]=o,s=!0),s){const e=this.container.dataset.objectGroup+v.structureSeparator,o=t===j.UP?1:0;n.parentElement.insertBefore(S.getInlineRecordContainer(e+r[a-o]),S.getInlineRecordContainer(e+r[a+1-o])),this.updateSorting()}}updateSorting(){const e=this.getFormFieldForElements();if(null===e)return;const t=document.getElementById(this.container.getAttribute("id")+"_records"),n=Array.from(t.querySelectorAll('[data-object-parent-group="'+this.container.dataset.objectGroup+'"][data-placeholder-record="0"]')).map(e=>e.dataset.objectUid);e.value=n.join(","),e.classList.add("has-change"),document.dispatchEvent(new Event("inline:sorting-changed")),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)}deleteRecord(e,t=!1){const n=S.getInlineRecordContainer(e),o=n.dataset.objectUid;if(n.classList.add("t3js-inline-record-deleted"),!S.isNewRecord(e)&&!t){const e=this.container.querySelector('[name="cmd'+n.dataset.fieldName+'[delete]"]');e.removeAttribute("disabled"),n.parentElement.insertAdjacentElement("afterbegin",e)}new h("transitionend",()=>{n.parentElement.removeChild(n),l.validate(this.container)}).bindTo(n),this.revertUnique(o),this.memorizeRemoveRecord(o),n.classList.add("form-irre-object--deleted"),this.isBelowMax()&&this.toggleContainerControls(!0)}toggleContainerControls(e){const t=this.container.querySelectorAll(":scope > "+f.controlContainer+", :scope > "+f.controlTopOuterContainer+" "+f.controlContainer);null!==t&&t.forEach(t=>{t.querySelectorAll("button, a").forEach(t=>{t.style.display=e?null:"none"})})}getProgress(e,t){const n="#"+t+"_header";let o;return void 0!==this.progessQueue[e]?o=this.progessQueue[e]:(o=r,o.configure({parent:n,showSpinner:!1}),this.progessQueue[e]=o),o}collapseAllRecords(e){const t=this.getFormFieldForElements(),n=[];if(null!==t){const o=m.trimExplode(",",t.value);for(let t of o){if(t===e)continue;const o=this.container.dataset.objectGroup+v.structureSeparator+t,i=S.getInlineRecordContainer(o);i.classList.contains(b.visible)&&(S.collapseElement(i,o),S.isNewRecord(o)?S.updateExpandedCollapsedStateLocally(o,!1):n.push(t))}}return n}getFormFieldForElements(){const e=document.getElementsByName(this.container.dataset.formField);return e.length>0?e[0]:null}redrawSortingButtons(e,t=[]){if(0===t.length){const e=this.getFormFieldForElements();null!==e&&(t=m.trimExplode(",",e.value))}0!==t.length&&t.forEach((n,o)=>{const i=S.getInlineRecordContainer(e+v.structureSeparator+n).dataset.objectIdHash+"_header",r=document.getElementById(i),a=r.querySelector('[data-action="sort"][data-direction="'+j.UP+'"]');if(null!==a){let e="actions-move-up";0===o?(a.classList.add("disabled"),e="empty-empty"):a.classList.remove("disabled"),c.getIcon(e,c.sizes.small).then(e=>{a.replaceChild(document.createRange().createContextualFragment(e),a.querySelector(".t3js-icon"))})}const s=r.querySelector('[data-action="sort"][data-direction="'+j.DOWN+'"]');if(null!==s){let e="actions-move-down";o===t.length-1?(s.classList.add("disabled"),e="empty-empty"):s.classList.remove("disabled"),c.getIcon(e,c.sizes.small).then(e=>{s.replaceChild(document.createRange().createContextualFragment(e),s.querySelector(".t3js-icon"))})}})}isBelowMax(){const e=this.getFormFieldForElements();if(null===e)return!0;if(void 0!==TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup]){if(m.trimExplode(",",e.value).length>=TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup].max)return!1;if(this.hasObjectGroupDefinedUniqueConstraints()){const e=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if(e.used.length>=e.max&&e.max>=0)return!1}}return!0}isUniqueElementUsed(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return!1;const n=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],o=S.getValuesFromHashMap(n.used);if("select"===n.type&&-1!==o.indexOf(e))return!0;if("groupdb"===n.type)for(let n=o.length-1;n>=0;n--)if(o[n].table===t&&o[n].uid===e)return!0;return!1}removeUsed(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"!==t.type)return;let n=e.querySelector('[name="data['+t.table+"]["+e.dataset.objectUid+"]["+t.field+']"]');const o=S.getValuesFromHashMap(t.used);if(null!==n){const e=n.options[n.selectedIndex].value;for(let t of o)t!==e&&S.removeSelectOptionByValue(n,t)}}setUnique(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const n=document.getElementById(this.container.dataset.objectGroup+"_selector"),o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"===o.type){if(!o.selector||-1!==o.max){const i=this.getFormFieldForElements(),r=this.container.dataset.objectGroup+v.structureSeparator+e;let a=S.getInlineRecordContainer(r).querySelector('[name="data['+o.table+"]["+e+"]["+o.field+']"]');const s=S.getValuesFromHashMap(o.used);if(null!==n){if(null!==a){for(let e of s)S.removeSelectOptionByValue(a,e);o.selector||(t=a.options[0].value,a.options[0].selected=!0,this.updateUnique(a,i,e),this.handleChangedField(a,this.container.dataset.objectGroup+"["+e+"]"))}for(let e of s)S.removeSelectOptionByValue(a,e);void 0!==o.used.length&&(o.used={}),o.used[e]={table:o.elTable,uid:t}}if(null!==i&&S.selectOptionValueExists(n,t)){const n=m.trimExplode(",",i.value);for(let i of n)a=document.querySelector('[name="data['+o.table+"]["+i+"]["+o.field+']"]'),null!==a&&i!==e&&S.removeSelectOptionByValue(a,t)}}}else"groupdb"===o.type&&(o.used[e]={table:o.elTable,uid:t});"select"===o.selector&&S.selectOptionValueExists(n,t)&&(S.removeSelectOptionByValue(n,t),o.used[e]={table:o.elTable,uid:t})}updateUnique(e,t,n){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],i=o.used[n];if("select"===o.selector){const t=document.getElementById(this.container.dataset.objectGroup+"_selector");S.removeSelectOptionByValue(t,e.value),void 0!==i&&S.reAddSelectOption(t,i,o)}if(o.selector&&-1===o.max)return;if(!o||null===t)return;const r=m.trimExplode(",",t.value);let a;for(let t of r)a=document.querySelector('[name="data['+o.table+"]["+t+"]["+o.field+']"]'),null!==a&&a!==e&&(S.removeSelectOptionByValue(a,e.value),void 0!==i&&S.reAddSelectOption(a,i,o));o.used[n]=e.value}revertUnique(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],n=this.container.dataset.objectGroup+v.structureSeparator+e,o=S.getInlineRecordContainer(n);let i=o.querySelector('[name="data['+t.table+"]["+o.dataset.objectUid+"]["+t.field+']"]');if("select"===t.type){let n;if(null!==i)n=i.value;else{if(""===o.dataset.tableUniqueOriginalValue)return;n=o.dataset.tableUniqueOriginalValue}if("select"===t.selector&&!isNaN(parseInt(n,10))){const e=document.getElementById(this.container.dataset.objectGroup+"_selector");S.reAddSelectOption(e,n,t)}if(t.selector&&-1===t.max)return;const r=this.getFormFieldForElements();if(null===r)return;const a=m.trimExplode(",",r.value);let s;for(let e=0;e<a.length;e++)s=document.querySelector('[name="data['+t.table+"]["+a[e]+"]["+t.field+']"]'),null!==s&&S.reAddSelectOption(s,n,t);delete t.used[e]}else"groupdb"===t.type&&delete t.used[e]}hasObjectGroupDefinedUniqueConstraints(){return void 0!==TYPO3.settings.FormEngineInline.unique&&void 0!==TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup]}handleChangedField(e,t){let n;n=e instanceof HTMLSelectElement?e.options[e.selectedIndex].text:e.value,document.getElementById(t+"_label").textContent=n.length?n:this.noTitleString}getAppearance(){if(null===this.appearance&&(this.appearance={},"string"==typeof this.container.dataset.appearance))try{this.appearance=JSON.parse(this.container.dataset.appearance)}catch(e){console.error(e)}return this.appearance}}return S}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","../../Utility/MessageUtility","./../InlineRelation/AjaxDispatcher","TYPO3/CMS/Core/DocumentService","nprogress","sortablejs","TYPO3/CMS/Backend/FormEngine","TYPO3/CMS/Backend/FormEngineValidation","../../Icons","../../InfoWindow","../../Modal","../../Notification","TYPO3/CMS/Core/Event/RegularEvent","../../Severity","../../Utility"],(function(e,t,n,o,i,r,a,s,l,c,d,u,p,h,g,m){"use strict";var f,b,v,j;a=__importDefault(a),function(e){e.toggleSelector='[data-bs-toggle="formengine-inline"]',e.controlSectionSelector=".t3js-formengine-irre-control",e.createNewRecordButtonSelector=".t3js-create-new-button",e.createNewRecordBySelectorSelector=".t3js-create-new-selector",e.deleteRecordButtonSelector=".t3js-editform-delete-inline-record",e.enableDisableRecordButtonSelector=".t3js-toggle-visibility-button",e.infoWindowButton='[data-action="infowindow"]',e.synchronizeLocalizeRecordButtonSelector=".t3js-synchronizelocalize-button",e.uniqueValueSelectors="select.t3js-inline-unique",e.revertUniqueness=".t3js-revert-unique",e.controlContainer=".t3js-inline-controls",e.controlTopOuterContainer=".t3js-inline-controls-top-outer-container"}(f||(f={})),function(e){e.new="inlineIsNewRecord",e.visible="panel-visible",e.collapsed="panel-collapsed",e.notLoaded="t3js-not-loaded"}(b||(b={})),function(e){e.structureSeparator="-"}(v||(v={})),function(e){e.DOWN="down",e.UP="up"}(j||(j={}));class S{static getInlineRecordContainer(e){return document.querySelector('[data-object-id="'+e+'"]')}static getCollapseButton(e){return document.querySelector('[aria-controls="'+e+'_fields"]')}static toggleElement(e){const t=S.getInlineRecordContainer(e);t.classList.contains(b.collapsed)?S.expandElement(t,e):S.collapseElement(t,e)}static collapseElement(e,t){const n=S.getCollapseButton(t);e.classList.remove(b.visible),e.classList.add(b.collapsed),n.setAttribute("aria-expanded","false")}static expandElement(e,t){const n=S.getCollapseButton(t);e.classList.remove(b.collapsed),e.classList.add(b.visible),n.setAttribute("aria-expanded","true")}static isNewRecord(e){return S.getInlineRecordContainer(e).classList.contains(b.new)}static updateExpandedCollapsedStateLocally(e,t){const n=S.getInlineRecordContainer(e),o="uc[inlineView]["+n.dataset.topmostParentTable+"]["+n.dataset.topmostParentUid+"]"+n.dataset.fieldName,i=document.getElementsByName(o);i.length&&(i[0].value=t?"1":"0")}static getValuesFromHashMap(e){return Object.keys(e).map(t=>e[t])}static selectOptionValueExists(e,t){return null!==e.querySelector('option[value="'+t+'"]')}static removeSelectOptionByValue(e,t){const n=e.querySelector('option[value="'+t+'"]');null!==n&&n.remove()}static reAddSelectOption(e,t,n){if(S.selectOptionValueExists(e,t))return;const o=e.querySelectorAll("option");let i=-1;for(let e of Object.keys(n.possible)){if(e===t)break;for(let t=0;t<o.length;++t){if(o[t].value===e){i=t;break}}}-1===i?i=0:i<o.length&&i++;const r=document.createElement("option");r.text=n.possible[t],r.value=t,e.insertBefore(r,e.options[i])}constructor(e){this.container=null,this.ajaxDispatcher=null,this.appearance=null,this.requestQueue={},this.progessQueue={},this.noTitleString=TYPO3.lang?TYPO3.lang["FormEngine.noRecordTitle"]:"[No title]",this.handlePostMessage=e=>{if(!n.MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw"No object group defined for message";if(e.data.objectGroup!==this.container.dataset.objectGroup)return;if(this.isUniqueElementUsed(parseInt(e.data.uid,10),e.data.table))return void p.error("There is already a relation to the selected element");this.importRecord([e.data.objectGroup,e.data.uid]).then(()=>{if(e.source){const t={actionName:"typo3:foreignRelation:inserted",objectGroup:e.data.objectId,table:e.data.table,uid:e.data.uid};n.MessageUtility.send(t,e.source)}})}},i.ready().then(t=>{this.container=t.getElementById(e),this.ajaxDispatcher=new o.AjaxDispatcher(this.container.dataset.objectGroup),this.registerEvents()})}registerEvents(){if(this.registerInfoButton(),this.registerSort(),this.registerCreateRecordButton(),this.registerEnableDisableButton(),this.registerDeleteButton(),this.registerSynchronizeLocalize(),this.registerRevertUniquenessAction(),this.registerToggle(),this.registerCreateRecordBySelector(),this.registerUniqueSelectFieldChanged(),new h("message",this.handlePostMessage).bindTo(window),this.getAppearance().useSortable){const e=document.getElementById(this.container.getAttribute("id")+"_records");new a.default(e,{group:e.getAttribute("id"),handle:".sortableHandle",onSort:()=>{this.updateSorting()}})}}registerToggle(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.loadRecordDetails(this.closest(f.toggleSelector).parentElement.dataset.objectId)})).delegateTo(this.container,`${f.toggleSelector} .form-irre-header-cell:not(${f.controlSectionSelector}`)}registerSort(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.changeSortingByButton(this.closest("[data-object-id]").dataset.objectId,this.dataset.direction)})).delegateTo(this.container,f.controlSectionSelector+' [data-action="sort"]')}registerCreateRecordButton(){const e=this;new h("click",(function(t){var n,o;if(t.preventDefault(),t.stopImmediatePropagation(),e.isBelowMax()){let t=e.container.dataset.objectGroup;void 0!==this.dataset.recordUid&&(t+=v.structureSeparator+this.dataset.recordUid),e.importRecord([t,null===(n=e.container.querySelector(f.createNewRecordBySelectorSelector))||void 0===n?void 0:n.value],null!==(o=this.dataset.recordUid)&&void 0!==o?o:null)}})).delegateTo(this.container,f.createNewRecordButtonSelector)}registerCreateRecordBySelector(){const e=this;new h("change",(function(t){t.preventDefault(),t.stopImmediatePropagation();const n=this.options[this.selectedIndex].getAttribute("value");e.importRecord([e.container.dataset.objectGroup,n])})).delegateTo(this.container,f.createNewRecordBySelectorSelector)}createRecord(e,t,n=null,o=null){let i=this.container.dataset.objectGroup;null!==n&&(i+=v.structureSeparator+n),null!==n?(S.getInlineRecordContainer(i).insertAdjacentHTML("afterend",t),this.memorizeAddRecord(e,n,o)):(document.getElementById(this.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",t),this.memorizeAddRecord(e,null,o))}async importRecord(e,t){return this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_create")),e).then(async e=>{this.isBelowMax()&&this.createRecord(e.compilerInput.uid,e.data,void 0!==t?t:null,void 0!==e.compilerInput.childChildUid?e.compilerInput.childChildUid:null)})}registerEnableDisableButton(){new h("click",(e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t.closest("[data-object-id]").dataset.objectId,o=S.getInlineRecordContainer(n),i="data"+o.dataset.fieldName+"["+t.dataset.hiddenField+"]",r=document.querySelector('[data-formengine-input-name="'+i+'"'),a=document.querySelector('[name="'+i+'"');null!==r&&null!==a&&(r.checked=!r.checked,a.value=r.checked?"1":"0",l.markFieldAsChanged(r));const s="t3-form-field-container-inline-hidden";let d;o.classList.contains(s)?(d="actions-edit-hide",o.classList.remove(s)):(d="actions-edit-unhide",o.classList.add(s)),c.getIcon(d,c.sizes.small).then(e=>{t.replaceChild(document.createRange().createContextualFragment(e),t.querySelector(".t3js-icon"))})}).delegateTo(this.container,f.enableDisableRecordButtonSelector)}registerInfoButton(){new h("click",(function(e){e.preventDefault(),e.stopImmediatePropagation(),d.showItem(this.dataset.infoTable,this.dataset.infoUid)})).delegateTo(this.container,f.infoWindowButton)}registerDeleteButton(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation();const n=TYPO3.lang["label.confirm.delete_record.title"]||"Delete this record?",o=TYPO3.lang["label.confirm.delete_record.content"]||"Are you sure you want to delete this record?";u.confirm(n,o,g.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this record",btnClass:"btn-warning",name:"yes"}]).on("button.clicked",t=>{if("yes"===t.target.name){const t=this.closest("[data-object-id]").dataset.objectId;e.deleteRecord(t)}u.dismiss()})})).delegateTo(this.container,f.deleteRecordButtonSelector)}registerSynchronizeLocalize(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.ajaxDispatcher.send(e.ajaxDispatcher.newRequest(e.ajaxDispatcher.getEndpoint("record_inline_synchronizelocalize")),[e.container.dataset.objectGroup,this.dataset.type]).then(async t=>{document.getElementById(e.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",t.data);const n=e.container.dataset.objectGroup+v.structureSeparator;for(let o of t.compilerInput.delete)e.deleteRecord(n+o,!0);for(let o of Object.values(t.compilerInput.localize)){if(void 0!==o.remove){const e=S.getInlineRecordContainer(n+o.remove);e.parentElement.removeChild(e)}e.memorizeAddRecord(o.uid,null,o.selectedValue)}})})).delegateTo(this.container,f.synchronizeLocalizeRecordButtonSelector)}registerUniqueSelectFieldChanged(){const e=this;new h("change",(function(t){t.preventDefault(),t.stopImmediatePropagation();const n=this.closest("[data-object-id]");if(null!==n){const t=n.dataset.objectId,o=n.dataset.objectUid;e.handleChangedField(this,t);const i=e.getFormFieldForElements();if(null===i)return;e.updateUnique(this,i,o)}})).delegateTo(this.container,f.uniqueValueSelectors)}registerRevertUniquenessAction(){const e=this;new h("click",(function(t){t.preventDefault(),t.stopImmediatePropagation(),e.revertUnique(this.dataset.uid)})).delegateTo(this.container,f.revertUniqueness)}loadRecordDetails(e){const t=document.getElementById(e+"_fields"),n=S.getInlineRecordContainer(e),o=void 0!==this.requestQueue[e];if(null!==t&&!n.classList.contains(b.notLoaded))this.collapseExpandRecord(e);else{const i=this.getProgress(e,n.dataset.objectIdHash);if(o)this.requestQueue[e].abort(),delete this.requestQueue[e],delete this.progessQueue[e],i.done();else{const o=this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_details"));this.ajaxDispatcher.send(o,[e]).then(async o=>{if(delete this.requestQueue[e],delete this.progessQueue[e],n.classList.remove(b.notLoaded),t.innerHTML=o.data,this.collapseExpandRecord(e),i.done(),s.reinitialize(),l.initializeInputFields(),l.validate(this.container),this.hasObjectGroupDefinedUniqueConstraints()){const t=S.getInlineRecordContainer(e);this.removeUsed(t)}}),this.requestQueue[e]=o,i.start()}}}collapseExpandRecord(e){const t=S.getInlineRecordContainer(e),n=!0===this.getAppearance().expandSingle,o=t.classList.contains(b.collapsed);let i=[];const r=[];n&&o&&(i=this.collapseAllRecords(t.dataset.objectUid)),S.toggleElement(e),S.isNewRecord(e)?S.updateExpandedCollapsedStateLocally(e,o):o?r.push(t.dataset.objectUid):o||i.push(t.dataset.objectUid),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_expandcollapse")),[e,r.join(","),i.join(",")])}memorizeAddRecord(e,t=null,n=null){const o=this.getFormFieldForElements();if(null===o)return;let i=m.trimExplode(",",o.value);if(t){const n=[];for(let o=0;o<i.length;o++)i[o].length&&n.push(i[o]),t===i[o]&&n.push(e);i=n}else i.push(e);o.value=i.join(","),o.classList.add("has-change"),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,i),this.setUnique(e,n),this.isBelowMax()||this.toggleContainerControls(!1),s.reinitialize(),l.initializeInputFields(),l.validate(this.container)}memorizeRemoveRecord(e){const t=this.getFormFieldForElements();if(null===t)return[];let n=m.trimExplode(",",t.value);const o=n.indexOf(e);return o>-1&&(delete n[o],t.value=n.join(","),t.classList.add("has-change"),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)),n}changeSortingByButton(e,t){const n=S.getInlineRecordContainer(e),o=n.dataset.objectUid,i=document.getElementById(this.container.getAttribute("id")+"_records"),r=Array.from(i.children).map(e=>e.dataset.objectUid);let a=r.indexOf(o),s=!1;if(t===j.UP&&a>0?(r[a]=r[a-1],r[a-1]=o,s=!0):t===j.DOWN&&a<r.length-1&&(r[a]=r[a+1],r[a+1]=o,s=!0),s){const e=this.container.dataset.objectGroup+v.structureSeparator,o=t===j.UP?1:0;n.parentElement.insertBefore(S.getInlineRecordContainer(e+r[a-o]),S.getInlineRecordContainer(e+r[a+1-o])),this.updateSorting()}}updateSorting(){const e=this.getFormFieldForElements();if(null===e)return;const t=document.getElementById(this.container.getAttribute("id")+"_records"),n=Array.from(t.querySelectorAll('[data-object-parent-group="'+this.container.dataset.objectGroup+'"][data-placeholder-record="0"]')).map(e=>e.dataset.objectUid);e.value=n.join(","),e.classList.add("has-change"),document.dispatchEvent(new Event("inline:sorting-changed")),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)}deleteRecord(e,t=!1){const n=S.getInlineRecordContainer(e),o=n.dataset.objectUid;if(n.classList.add("t3js-inline-record-deleted"),!S.isNewRecord(e)&&!t){const e=this.container.querySelector('[name="cmd'+n.dataset.fieldName+'[delete]"]');e.removeAttribute("disabled"),n.parentElement.insertAdjacentElement("afterbegin",e)}new h("transitionend",()=>{n.parentElement.removeChild(n),l.validate(this.container)}).bindTo(n),this.revertUnique(o),this.memorizeRemoveRecord(o),n.classList.add("form-irre-object--deleted"),this.isBelowMax()&&this.toggleContainerControls(!0)}toggleContainerControls(e){const t=this.container.querySelectorAll(":scope > "+f.controlContainer+", :scope > "+f.controlTopOuterContainer+" "+f.controlContainer);null!==t&&t.forEach(t=>{t.querySelectorAll("button, a").forEach(t=>{t.style.display=e?null:"none"})})}getProgress(e,t){const n="#"+t+"_header";let o;return void 0!==this.progessQueue[e]?o=this.progessQueue[e]:(o=r,o.configure({parent:n,showSpinner:!1}),this.progessQueue[e]=o),o}collapseAllRecords(e){const t=this.getFormFieldForElements(),n=[];if(null!==t){const o=m.trimExplode(",",t.value);for(let t of o){if(t===e)continue;const o=this.container.dataset.objectGroup+v.structureSeparator+t,i=S.getInlineRecordContainer(o);i.classList.contains(b.visible)&&(S.collapseElement(i,o),S.isNewRecord(o)?S.updateExpandedCollapsedStateLocally(o,!1):n.push(t))}}return n}getFormFieldForElements(){const e=document.getElementsByName(this.container.dataset.formField);return e.length>0?e[0]:null}redrawSortingButtons(e,t=[]){if(0===t.length){const e=this.getFormFieldForElements();null!==e&&(t=m.trimExplode(",",e.value))}0!==t.length&&t.forEach((n,o)=>{const i=S.getInlineRecordContainer(e+v.structureSeparator+n).dataset.objectIdHash+"_header",r=document.getElementById(i),a=r.querySelector('[data-action="sort"][data-direction="'+j.UP+'"]');if(null!==a){let e="actions-move-up";0===o?(a.classList.add("disabled"),e="empty-empty"):a.classList.remove("disabled"),c.getIcon(e,c.sizes.small).then(e=>{a.replaceChild(document.createRange().createContextualFragment(e),a.querySelector(".t3js-icon"))})}const s=r.querySelector('[data-action="sort"][data-direction="'+j.DOWN+'"]');if(null!==s){let e="actions-move-down";o===t.length-1?(s.classList.add("disabled"),e="empty-empty"):s.classList.remove("disabled"),c.getIcon(e,c.sizes.small).then(e=>{s.replaceChild(document.createRange().createContextualFragment(e),s.querySelector(".t3js-icon"))})}})}isBelowMax(){const e=this.getFormFieldForElements();if(null===e)return!0;if(void 0!==TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup]){if(m.trimExplode(",",e.value).length>=TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup].max)return!1;if(this.hasObjectGroupDefinedUniqueConstraints()){const e=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if(e.used.length>=e.max&&e.max>=0)return!1}}return!0}isUniqueElementUsed(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return!1;const n=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],o=S.getValuesFromHashMap(n.used);if("select"===n.type&&-1!==o.indexOf(e))return!0;if("groupdb"===n.type)for(let n=o.length-1;n>=0;n--)if(o[n].table===t&&o[n].uid===e)return!0;return!1}removeUsed(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"!==t.type)return;let n=e.querySelector('[name="data['+t.table+"]["+e.dataset.objectUid+"]["+t.field+']"]');const o=S.getValuesFromHashMap(t.used);if(null!==n){const e=n.options[n.selectedIndex].value;for(let t of o)t!==e&&S.removeSelectOptionByValue(n,t)}}setUnique(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const n=document.getElementById(this.container.dataset.objectGroup+"_selector"),o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"===o.type){if(!o.selector||-1!==o.max){const i=this.getFormFieldForElements(),r=this.container.dataset.objectGroup+v.structureSeparator+e;let a=S.getInlineRecordContainer(r).querySelector('[name="data['+o.table+"]["+e+"]["+o.field+']"]');const s=S.getValuesFromHashMap(o.used);if(null!==n){if(null!==a){for(let e of s)S.removeSelectOptionByValue(a,e);o.selector||(t=a.options[0].value,a.options[0].selected=!0,this.updateUnique(a,i,e),this.handleChangedField(a,this.container.dataset.objectGroup+"["+e+"]"))}for(let e of s)S.removeSelectOptionByValue(a,e);void 0!==o.used.length&&(o.used={}),o.used[e]={table:o.elTable,uid:t}}if(null!==i&&S.selectOptionValueExists(n,t)){const n=m.trimExplode(",",i.value);for(let i of n)a=document.querySelector('[name="data['+o.table+"]["+i+"]["+o.field+']"]'),null!==a&&i!==e&&S.removeSelectOptionByValue(a,t)}}}else"groupdb"===o.type&&(o.used[e]={table:o.elTable,uid:t});"select"===o.selector&&S.selectOptionValueExists(n,t)&&(S.removeSelectOptionByValue(n,t),o.used[e]={table:o.elTable,uid:t})}updateUnique(e,t,n){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],i=o.used[n];if("select"===o.selector){const t=document.getElementById(this.container.dataset.objectGroup+"_selector");S.removeSelectOptionByValue(t,e.value),void 0!==i&&S.reAddSelectOption(t,i,o)}if(o.selector&&-1===o.max)return;if(!o||null===t)return;const r=m.trimExplode(",",t.value);let a;for(let t of r)a=document.querySelector('[name="data['+o.table+"]["+t+"]["+o.field+']"]'),null!==a&&a!==e&&(S.removeSelectOptionByValue(a,e.value),void 0!==i&&S.reAddSelectOption(a,i,o));o.used[n]=e.value}revertUnique(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],n=this.container.dataset.objectGroup+v.structureSeparator+e,o=S.getInlineRecordContainer(n);let i=o.querySelector('[name="data['+t.table+"]["+o.dataset.objectUid+"]["+t.field+']"]');if("select"===t.type){let n;if(null!==i)n=i.value;else{if(""===o.dataset.tableUniqueOriginalValue)return;n=o.dataset.tableUniqueOriginalValue}if("select"===t.selector&&!isNaN(parseInt(n,10))){const e=document.getElementById(this.container.dataset.objectGroup+"_selector");S.reAddSelectOption(e,n,t)}if(t.selector&&-1===t.max)return;const r=this.getFormFieldForElements();if(null===r)return;const a=m.trimExplode(",",r.value);let s;for(let e=0;e<a.length;e++)s=document.querySelector('[name="data['+t.table+"]["+a[e]+"]["+t.field+']"]'),null!==s&&S.reAddSelectOption(s,n,t);delete t.used[e]}else"groupdb"===t.type&&delete t.used[e]}hasObjectGroupDefinedUniqueConstraints(){return void 0!==TYPO3.settings.FormEngineInline.unique&&void 0!==TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup]}handleChangedField(e,t){let n;n=e instanceof HTMLSelectElement?e.options[e.selectedIndex].text:e.value,document.getElementById(t+"_label").textContent=n.length?n:this.noTitleString}getAppearance(){if(null===this.appearance&&(this.appearance={},"string"==typeof this.container.dataset.appearance))try{this.appearance=JSON.parse(this.container.dataset.appearance)}catch(e){console.error(e)}return this.appearance}}return S}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/Extra/SelectBoxFilter.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/Extra/SelectBoxFilter.js
index 7553c637f141..ac1f861ece3e 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/Extra/SelectBoxFilter.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/Extra/SelectBoxFilter.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,l){"use strict";var i;!function(e){e.fieldContainerSelector=".t3js-formengine-field-group",e.filterTextFieldSelector=".t3js-formengine-multiselect-filter-textfield",e.filterSelectFieldSelector=".t3js-formengine-multiselect-filter-dropdown"}(i||(i={}));class n{constructor(e){this.selectElement=null,this.filterText="",this.availableOptions=null,this.selectElement=e,this.initializeEvents()}static toggleOptGroup(e){const t=e.parentElement;t instanceof HTMLOptGroupElement&&(0===t.querySelectorAll("option:not([hidden]):not([disabled]):not(.hidden)").length?t.hidden=!0:(t.hidden=!1,t.disabled=!1,t.classList.remove("hidden")))}initializeEvents(){const e=this.selectElement.closest(".form-wizards-element");null!==e&&(new l("input",e=>{this.filter(e.target.value)}).delegateTo(e,i.filterTextFieldSelector),new l("change",e=>{this.filter(e.target.value)}).delegateTo(e,i.filterSelectFieldSelector))}filter(e){this.filterText=e,null===this.availableOptions&&(this.availableOptions=this.selectElement.querySelectorAll("option"));const t=new RegExp(e,"i");this.availableOptions.forEach(l=>{l.hidden=e.length>0&&null===l.textContent.match(t),n.toggleOptGroup(l)})}}return n}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,l){"use strict";var i;!function(e){e.fieldContainerSelector=".t3js-formengine-field-group",e.filterTextFieldSelector=".t3js-formengine-multiselect-filter-textfield",e.filterSelectFieldSelector=".t3js-formengine-multiselect-filter-dropdown"}(i||(i={}));class n{static toggleOptGroup(e){const t=e.parentElement;t instanceof HTMLOptGroupElement&&(0===t.querySelectorAll("option:not([hidden]):not([disabled]):not(.hidden)").length?t.hidden=!0:(t.hidden=!1,t.disabled=!1,t.classList.remove("hidden")))}constructor(e){this.selectElement=null,this.filterText="",this.availableOptions=null,this.selectElement=e,this.initializeEvents()}initializeEvents(){const e=this.selectElement.closest(".form-wizards-element");null!==e&&(new l("input",e=>{this.filter(e.target.value)}).delegateTo(e,i.filterTextFieldSelector),new l("change",e=>{this.filter(e.target.value)}).delegateTo(e,i.filterSelectFieldSelector))}filter(e){this.filterText=e,null===this.availableOptions&&(this.availableOptions=this.selectElement.querySelectorAll("option"));const t=new RegExp(e,"i");this.availableOptions.forEach(l=>{l.hidden=e.length>0&&null===l.textContent.match(t),n.toggleOptGroup(l)})}}return n}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectCheckBoxElement.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectCheckBoxElement.js
index 1a0871052f62..ec202ab9403e 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectCheckBoxElement.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectCheckBoxElement.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,l,c){"use strict";var s;!function(e){e.toggleAll=".t3js-toggle-checkboxes",e.singleItem=".t3js-checkbox",e.revertSelection=".t3js-revert-selection"}(s||(s={}));class r{constructor(e){this.checkBoxId="",this.table=null,this.checkedBoxes=null,this.checkBoxId=e,l.ready().then(t=>{this.table=t.getElementById(e).closest("table"),this.checkedBoxes=this.table.querySelectorAll(s.singleItem+":checked"),this.enableTriggerCheckBox(),this.registerEventHandler()})}static allCheckBoxesAreChecked(e){const t=Array.from(e);return e.length===t.filter(e=>e.checked).length}registerEventHandler(){new c("change",(e,t)=>{const l=this.table.querySelectorAll(s.singleItem),c=!r.allCheckBoxesAreChecked(l);l.forEach(e=>{e.checked=c}),t.checked=c}).delegateTo(this.table,s.toggleAll),new c("change",this.setToggleAllState.bind(this)).delegateTo(this.table,s.singleItem),new c("click",()=>{const e=this.table.querySelectorAll(s.singleItem),t=Array.from(this.checkedBoxes);e.forEach(e=>{e.checked=t.includes(e)}),this.setToggleAllState()}).delegateTo(this.table,s.revertSelection)}setToggleAllState(){const e=this.table.querySelectorAll(s.singleItem);this.table.querySelector(s.toggleAll).checked=r.allCheckBoxesAreChecked(e)}enableTriggerCheckBox(){const e=this.table.querySelectorAll(s.singleItem);document.getElementById(this.checkBoxId).checked=r.allCheckBoxesAreChecked(e)}}return r}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,l,c){"use strict";var s;!function(e){e.toggleAll=".t3js-toggle-checkboxes",e.singleItem=".t3js-checkbox",e.revertSelection=".t3js-revert-selection"}(s||(s={}));class r{static allCheckBoxesAreChecked(e){const t=Array.from(e);return e.length===t.filter(e=>e.checked).length}constructor(e){this.checkBoxId="",this.table=null,this.checkedBoxes=null,this.checkBoxId=e,l.ready().then(t=>{this.table=t.getElementById(e).closest("table"),this.checkedBoxes=this.table.querySelectorAll(s.singleItem+":checked"),this.enableTriggerCheckBox(),this.registerEventHandler()})}registerEventHandler(){new c("change",(e,t)=>{const l=this.table.querySelectorAll(s.singleItem),c=!r.allCheckBoxesAreChecked(l);l.forEach(e=>{e.checked=c}),t.checked=c}).delegateTo(this.table,s.toggleAll),new c("change",this.setToggleAllState.bind(this)).delegateTo(this.table,s.singleItem),new c("click",()=>{const e=this.table.querySelectorAll(s.singleItem),t=Array.from(this.checkedBoxes);e.forEach(e=>{e.checked=t.includes(e)}),this.setToggleAllState()}).delegateTo(this.table,s.revertSelection)}setToggleAllState(){const e=this.table.querySelectorAll(s.singleItem);this.table.querySelector(s.toggleAll).checked=r.allCheckBoxesAreChecked(e)}enableTriggerCheckBox(){const e=this.table.querySelectorAll(s.singleItem);document.getElementById(this.checkBoxId).checked=r.allCheckBoxesAreChecked(e)}}return r}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/FieldWizard/ValueSlider.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/FieldWizard/ValueSlider.js
index 008ec109a476..80e1c5bec59a 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/FieldWizard/ValueSlider.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/FieldWizard/ValueSlider.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(e,t,a){"use strict";class n{constructor(e){this.controlElement=null,this.handleRangeChange=e=>{const t=e.target;n.updateValue(t),n.updateTooltipValue(t)},this.controlElement=document.getElementById(e),new a("input",this.handleRangeChange,25).bindTo(this.controlElement)}static updateValue(e){const t=document.querySelector(`[data-formengine-input-name="${e.dataset.sliderItemName}"]`);t.value=e.value,t.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0}))}static updateTooltipValue(e){let t;const a=e.value;switch(e.dataset.sliderValueType){case"double":t=parseFloat(a).toFixed(2);break;case"int":default:t=parseInt(a,10)}e.title=t.toString()}}return n}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(e,t,a){"use strict";class n{static updateValue(e){const t=document.querySelector(`[data-formengine-input-name="${e.dataset.sliderItemName}"]`);t.value=e.value,t.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0}))}static updateTooltipValue(e){let t;const a=e.value;switch(e.dataset.sliderValueType){case"double":t=parseFloat(a).toFixed(2);break;case"int":default:t=parseInt(a,10)}e.title=t.toString()}constructor(e){this.controlElement=null,this.handleRangeChange=e=>{const t=e.target;n.updateValue(t),n.updateTooltipValue(t)},this.controlElement=document.getElementById(e),new a("input",this.handleRangeChange,25).bindTo(this.controlElement)}}return n}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineReview.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineReview.js
index 43c5c0c7caf4..c191c1cf8e86 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineReview.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineReview.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","TYPO3/CMS/Backend/FormEngine","TYPO3/CMS/Backend/Popover","bootstrap"],(function(t,e,a,i,n){"use strict";a=__importDefault(a);class l{constructor(){this.toggleButtonClass="t3js-toggle-review-panel",this.labelSelector=".t3js-formengine-label",this.checkForReviewableField=()=>{const t=this,e=l.findInvalidField(),i=(0,a.default)("."+this.toggleButtonClass);if(e.length>0){const l=(0,a.default)("<div />",{class:"list-group"});e.each((function(){const e=(0,a.default)(this),i=e.find("[data-formengine-validation-rules]"),n=document.createElement("a");n.classList.add("list-group-item"),n.href="#",n.textContent=e.find(t.labelSelector).text(),n.addEventListener("click",e=>t.switchToField(e,i)),l.append(n)})),i.removeClass("hidden"),n.setOptions(i,{html:!0,content:l[0]})}else i.addClass("hidden"),n.hide(i)},this.switchToField=(t,e)=>{t.preventDefault(),e.parents('[id][role="tabpanel"]').each((function(){(0,a.default)('[aria-controls="'+(0,a.default)(this).attr("id")+'"]').tab("show")})),e.focus()},this.initialize()}static findInvalidField(){return(0,a.default)(document).find(".tab-content ."+i.Validation.errorClass)}static attachButtonToModuleHeader(t){const e=(0,a.default)(".t3js-module-docheader-bar-buttons").children().last().find('[role="toolbar"]'),i=(0,a.default)("<a />",{class:"btn btn-danger btn-sm hidden "+t.toggleButtonClass,href:"#",title:TYPO3.lang["buttons.reviewFailedValidationFields"]}).append((0,a.default)("<span />",{class:"fa fa-fw fa-info"}));n.popover(i),e.prepend(i)}initialize(){const t=this,e=(0,a.default)(document);(0,a.default)(()=>{l.attachButtonToModuleHeader(t)}),e.on("t3-formengine-postfieldvalidation",this.checkForReviewableField)}}return new l}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","TYPO3/CMS/Backend/FormEngine","TYPO3/CMS/Backend/Popover","bootstrap"],(function(t,e,a,i,n){"use strict";a=__importDefault(a);class l{static findInvalidField(){return(0,a.default)(document).find(".tab-content ."+i.Validation.errorClass)}static attachButtonToModuleHeader(t){const e=(0,a.default)(".t3js-module-docheader-bar-buttons").children().last().find('[role="toolbar"]'),i=(0,a.default)("<a />",{class:"btn btn-danger btn-sm hidden "+t.toggleButtonClass,href:"#",title:TYPO3.lang["buttons.reviewFailedValidationFields"]}).append((0,a.default)("<span />",{class:"fa fa-fw fa-info"}));n.popover(i),e.prepend(i)}constructor(){this.toggleButtonClass="t3js-toggle-review-panel",this.labelSelector=".t3js-formengine-label",this.checkForReviewableField=()=>{const t=this,e=l.findInvalidField(),i=(0,a.default)("."+this.toggleButtonClass);if(e.length>0){const l=(0,a.default)("<div />",{class:"list-group"});e.each((function(){const e=(0,a.default)(this),i=e.find("[data-formengine-validation-rules]"),n=document.createElement("a");n.classList.add("list-group-item"),n.href="#",n.textContent=e.find(t.labelSelector).text(),n.addEventListener("click",e=>t.switchToField(e,i)),l.append(n)})),i.removeClass("hidden"),n.setOptions(i,{html:!0,content:l[0]})}else i.addClass("hidden"),n.hide(i)},this.switchToField=(t,e)=>{t.preventDefault(),e.parents('[id][role="tabpanel"]').each((function(){(0,a.default)('[aria-controls="'+(0,a.default)(this).attr("id")+'"]').tab("show")})),e.focus()},this.initialize()}initialize(){const t=this,e=(0,a.default)(document);(0,a.default)(()=>{l.attachButtonToModuleHeader(t)}),e.on("t3-formengine-postfieldvalidation",this.checkForReviewableField)}}return new l}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js b/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js
index 2777260b2c2d..0c46762dbebd 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.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","./Enum/Severity","jquery","./Modal","TYPO3/CMS/Core/SecurityUtility","bootstrap"],(function(t,e,n,o,i,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GridEditor=void 0,o=__importDefault(o),r=__importDefault(r);class a{constructor(t=null){this.colCount=1,this.rowCount=1,this.readOnly=!1,this.nameLabel="name",this.columnLabel="column label",this.defaultCell={spanned:0,rowspan:1,colspan:1,name:"",colpos:"",column:void 0},this.selectorEditor=".t3js-grideditor",this.selectorAddColumn=".t3js-grideditor-addcolumn",this.selectorRemoveColumn=".t3js-grideditor-removecolumn",this.selectorAddRowTop=".t3js-grideditor-addrow-top",this.selectorRemoveRowTop=".t3js-grideditor-removerow-top",this.selectorAddRowBottom=".t3js-grideditor-addrow-bottom",this.selectorRemoveRowBottom=".t3js-grideditor-removerow-bottom",this.selectorLinkEditor=".t3js-grideditor-link-editor",this.selectorLinkExpandRight=".t3js-grideditor-link-expand-right",this.selectorLinkShrinkLeft=".t3js-grideditor-link-shrink-left",this.selectorLinkExpandDown=".t3js-grideditor-link-expand-down",this.selectorLinkShrinkUp=".t3js-grideditor-link-shrink-up",this.selectorConfigPreview=".t3js-grideditor-preview-config",this.selectorPreviewArea=".t3js-tsconfig-preview-area",this.selectorCodeMirror=".t3js-grideditor-preview-config .CodeMirror",this.modalButtonClickHandler=t=>{const e=t.target;"cancel"===e.name?i.currentModal.trigger("modal-dismiss"):"ok"===e.name&&(this.setName(i.currentModal.find(".t3js-grideditor-field-name").val(),i.currentModal.data("col"),i.currentModal.data("row")),this.setColumn(i.currentModal.find(".t3js-grideditor-field-colpos").val(),i.currentModal.data("col"),i.currentModal.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord()),i.currentModal.trigger("modal-dismiss"))},this.addColumnHandler=t=>{t.preventDefault(),this.addColumn(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.removeColumnHandler=t=>{t.preventDefault(),this.removeColumn(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.addRowTopHandler=t=>{t.preventDefault(),this.addRowTop(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.addRowBottomHandler=t=>{t.preventDefault(),this.addRowBottom(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.removeRowTopHandler=t=>{t.preventDefault(),this.removeRowTop(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.removeRowBottomHandler=t=>{t.preventDefault(),this.removeRowBottom(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkEditorHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.showOptions(e.data("col"),e.data("row"))},this.linkExpandRightHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.addColspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkShrinkLeftHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.removeColspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkExpandDownHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.addRowspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkShrinkUpHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.removeRowspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())};const e=(0,o.default)(this.selectorEditor);this.colCount=e.data("colcount"),this.rowCount=e.data("rowcount"),this.readOnly=e.data("readonly"),this.field=(0,o.default)('input[name="'+e.data("field")+'"]'),this.data=e.data("data"),this.nameLabel=null!==t?t.nameLabel:"Name",this.columnLabel=null!==t?t.columnLabel:"Column",this.targetElement=(0,o.default)(this.selectorEditor),this.initializeEvents(),this.addVisibilityObserver(e.get(0)),this.drawTable(),this.writeConfig(this.export2LayoutRecord())}static stripMarkup(t){return(new r.default).stripHtml(t)}initializeEvents(){this.readOnly||((0,o.default)(document).on("click",this.selectorAddColumn,this.addColumnHandler),(0,o.default)(document).on("click",this.selectorRemoveColumn,this.removeColumnHandler),(0,o.default)(document).on("click",this.selectorAddRowTop,this.addRowTopHandler),(0,o.default)(document).on("click",this.selectorAddRowBottom,this.addRowBottomHandler),(0,o.default)(document).on("click",this.selectorRemoveRowTop,this.removeRowTopHandler),(0,o.default)(document).on("click",this.selectorRemoveRowBottom,this.removeRowBottomHandler),(0,o.default)(document).on("click",this.selectorLinkEditor,this.linkEditorHandler),(0,o.default)(document).on("click",this.selectorLinkExpandRight,this.linkExpandRightHandler),(0,o.default)(document).on("click",this.selectorLinkShrinkLeft,this.linkShrinkLeftHandler),(0,o.default)(document).on("click",this.selectorLinkExpandDown,this.linkExpandDownHandler),(0,o.default)(document).on("click",this.selectorLinkShrinkUp,this.linkShrinkUpHandler))}getNewCell(){return o.default.extend({},this.defaultCell)}writeConfig(t){this.field.val(t);const e=t.split("\n");let n="";for(const t of e)t&&(n+="\t\t\t"+t+"\n");let i="mod.web_layout.BackendLayouts {\n  exampleKey {\n    title = Example\n    icon = EXT:example_extension/Resources/Public/Images/BackendLayouts/default.gif\n    config {\n"+n.replace(new RegExp("\t","g"),"  ")+"    }\n  }\n}\n";(0,o.default)(this.selectorConfigPreview).find(this.selectorPreviewArea).empty().append(i);const r=document.querySelector(this.selectorCodeMirror);r&&r.CodeMirror.setValue(i)}addRowTop(){const t=[];for(let e=0;e<this.colCount;e++){const n=this.getNewCell();n.name=e+"x"+this.data.length,t[e]=n}this.data.unshift(t),this.rowCount++}addRowBottom(){const t=[];for(let e=0;e<this.colCount;e++){const n=this.getNewCell();n.name=e+"x"+this.data.length,t[e]=n}this.data.push(t),this.rowCount++}removeRowTop(){if(this.rowCount<=1)return!1;const t=[];for(let e=1;e<this.rowCount;e++)t.push(this.data[e]);for(let t=0;t<this.colCount;t++)1===this.data[0][t].spanned&&this.findUpperCellWidthRowspanAndDecreaseByOne(t,0);return this.data=t,this.rowCount--,!0}removeRowBottom(){if(this.rowCount<=1)return!1;const t=[];for(let e=0;e<this.rowCount-1;e++)t.push(this.data[e]);for(let t=0;t<this.colCount;t++)1===this.data[this.rowCount-1][t].spanned&&this.findUpperCellWidthRowspanAndDecreaseByOne(t,this.rowCount-1);return this.data=t,this.rowCount--,!0}findUpperCellWidthRowspanAndDecreaseByOne(t,e){const n=this.getCell(t,e-1);return!!n&&(1===n.spanned?this.findUpperCellWidthRowspanAndDecreaseByOne(t,e-1):n.rowspan>1&&this.removeRowspan(t,e-1),!0)}removeColumn(){if(this.colCount<=1)return!1;const t=[];for(let e=0;e<this.rowCount;e++){const n=[];for(let t=0;t<this.colCount-1;t++)n.push(this.data[e][t]);1===this.data[e][this.colCount-1].spanned&&this.findLeftCellWidthColspanAndDecreaseByOne(this.colCount-1,e),t.push(n)}return this.data=t,this.colCount--,!0}findLeftCellWidthColspanAndDecreaseByOne(t,e){const n=this.getCell(t-1,e);return!!n&&(1===n.spanned?this.findLeftCellWidthColspanAndDecreaseByOne(t-1,e):n.colspan>1&&this.removeColspan(t-1,e),!0)}addColumn(){for(let t=0;t<this.rowCount;t++){const e=this.getNewCell();e.name=this.colCount+"x"+t,this.data[t].push(e)}this.colCount++}drawTable(){const t=(0,o.default)("<colgroup>");for(let e=0;e<this.colCount;e++){const e=100/this.colCount;t.append((0,o.default)("<col>").css({width:parseInt(e.toString(),10)+"%"}))}const e=(0,o.default)('<table id="base" class="table editor">');e.append(t);for(let t=0;t<this.rowCount;t++){if(0===this.data[t].length)continue;const n=(0,o.default)("<tr>");for(let e=0;e<this.colCount;e++){const i=this.data[t][e];if(1===i.spanned)continue;const r=100/this.rowCount,l=100/this.colCount,s=(0,o.default)("<td>").css({height:parseInt(r.toString(),10)*i.rowspan+"%",width:parseInt(l.toString(),10)*i.colspan+"%"});if(!this.readOnly){const n=(0,o.default)('<div class="cell_container">');s.append(n);const i=(0,o.default)('<a href="#" data-col="'+e+'" data-row="'+t+'">');n.append(i.clone().attr("class","t3js-grideditor-link-editor link link_editor").attr("title",TYPO3.lang.grid_editCell)),this.cellCanSpanRight(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-expand-right link link_expand_right").attr("title",TYPO3.lang.grid_mergeCell)),this.cellCanShrinkLeft(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-shrink-left link link_shrink_left").attr("title",TYPO3.lang.grid_splitCell)),this.cellCanSpanDown(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-expand-down link link_expand_down").attr("title",TYPO3.lang.grid_mergeCell)),this.cellCanShrinkUp(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-shrink-up link link_shrink_up").attr("title",TYPO3.lang.grid_splitCell))}s.append((0,o.default)('<div class="cell_data">').html(TYPO3.lang.grid_name+": "+(i.name?a.stripMarkup(i.name):TYPO3.lang.grid_notSet)+"<br />"+TYPO3.lang.grid_column+": "+(void 0===i.column||isNaN(i.column)?TYPO3.lang.grid_notSet:parseInt(i.column,10)))),i.colspan>1&&s.attr("colspan",i.colspan),i.rowspan>1&&s.attr("rowspan",i.rowspan),n.append(s)}e.append(n)}(0,o.default)(this.targetElement).empty().append(e)}setName(t,e,n){const o=this.getCell(e,n);return!!o&&(o.name=a.stripMarkup(t),!0)}setColumn(t,e,n){const o=this.getCell(e,n);return!!o&&(o.column=parseInt(t.toString(),10),!0)}showOptions(t,e){const r=this.getCell(t,e);if(!r)return!1;let l;l=0===r.column?0:r.column?parseInt(r.column.toString(),10):"";const s=(0,o.default)("<div>"),d=(0,o.default)('<div class="form-group">'),c=(0,o.default)("<label>"),h=(0,o.default)("<input>");s.append([d.clone().append([c.clone().text(TYPO3.lang.grid_nameHelp),h.clone().attr("type","text").attr("class","t3js-grideditor-field-name form-control").attr("name","name").val(a.stripMarkup(r.name)||"")]),d.clone().append([c.clone().text(TYPO3.lang.grid_columnHelp),h.clone().attr("type","text").attr("class","t3js-grideditor-field-colpos form-control").attr("name","column").val(l)])]);const u=i.show(TYPO3.lang.grid_windowTitle,s,n.SeverityEnum.notice,[{active:!0,btnClass:"btn-default",name:"cancel",text:(0,o.default)(this).data("button-close-text")||TYPO3.lang["button.cancel"]||"Cancel"},{btnClass:"btn-primary",name:"ok",text:(0,o.default)(this).data("button-ok-text")||TYPO3.lang["button.ok"]||"OK"}]);return u.data("col",t),u.data("row",e),u.on("button.clicked",this.modalButtonClickHandler),!0}getCell(t,e){return!(t>this.colCount-1)&&(!(e>this.rowCount-1)&&(this.data.length>e-1&&this.data[e].length>t-1?this.data[e][t]:null))}cellCanSpanRight(t,e){if(t===this.colCount-1)return!1;const n=this.getCell(t,e);let o;if(n.rowspan>1){for(let i=e;i<e+n.rowspan;i++)if(o=this.getCell(t+n.colspan,i),!o||1===o.spanned||o.colspan>1||o.rowspan>1)return!1}else if(o=this.getCell(t+n.colspan,e),!o||1===n.spanned||1===o.spanned||o.colspan>1||o.rowspan>1)return!1;return!0}cellCanSpanDown(t,e){if(e===this.rowCount-1)return!1;const n=this.getCell(t,e);let o;if(n.colspan>1){for(let i=t;i<t+n.colspan;i++)if(o=this.getCell(i,e+n.rowspan),!o||1===o.spanned||o.colspan>1||o.rowspan>1)return!1}else if(o=this.getCell(t,e+n.rowspan),!o||1===n.spanned||1===o.spanned||o.colspan>1||o.rowspan>1)return!1;return!0}cellCanShrinkLeft(t,e){return this.data[e][t].colspan>1}cellCanShrinkUp(t,e){return this.data[e][t].rowspan>1}addColspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanSpanRight(t,e))return!1;for(let o=e;o<e+n.rowspan;o++)this.data[o][t+n.colspan].spanned=1;return n.colspan+=1,!0}addRowspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanSpanDown(t,e))return!1;for(let o=t;o<t+n.colspan;o++)this.data[e+n.rowspan][o].spanned=1;return n.rowspan+=1,!0}removeColspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanShrinkLeft(t,e))return!1;n.colspan-=1;for(let o=e;o<e+n.rowspan;o++)this.data[o][t+n.colspan].spanned=0;return!0}removeRowspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanShrinkUp(t,e))return!1;n.rowspan-=1;for(let o=t;o<t+n.colspan;o++)this.data[e+n.rowspan][o].spanned=0;return!0}export2LayoutRecord(){let t="backend_layout {\n\tcolCount = "+this.colCount+"\n\trowCount = "+this.rowCount+"\n\trows {\n";for(let e=0;e<this.rowCount;e++){t+="\t\t"+(e+1)+" {\n",t+="\t\t\tcolumns {\n";let n=0;for(let o=0;o<this.colCount;o++){const i=this.getCell(o,e);if(i&&!i.spanned){const r=a.stripMarkup(i.name)||"";n++,t+="\t\t\t\t"+n+" {\n",t+="\t\t\t\t\tname = "+(r||o+"x"+e)+"\n",i.colspan>1&&(t+="\t\t\t\t\tcolspan = "+i.colspan+"\n"),i.rowspan>1&&(t+="\t\t\t\t\trowspan = "+i.rowspan+"\n"),"number"==typeof i.column&&(t+="\t\t\t\t\tcolPos = "+i.column+"\n"),t+="\t\t\t\t}\n"}}t+="\t\t\t}\n",t+="\t\t}\n"}return t+="\t}\n}\n",t}addVisibilityObserver(t){null===t.offsetParent&&new IntersectionObserver((t,e)=>{t.forEach(t=>{const e=document.querySelector(this.selectorCodeMirror);t.intersectionRatio>0&&e&&e.CodeMirror.refresh()})}).observe(t)}}e.GridEditor=a}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","./Enum/Severity","jquery","./Modal","TYPO3/CMS/Core/SecurityUtility","bootstrap"],(function(t,e,n,o,i,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GridEditor=void 0,o=__importDefault(o),r=__importDefault(r);class a{static stripMarkup(t){return(new r.default).stripHtml(t)}constructor(t=null){this.colCount=1,this.rowCount=1,this.readOnly=!1,this.nameLabel="name",this.columnLabel="column label",this.defaultCell={spanned:0,rowspan:1,colspan:1,name:"",colpos:"",column:void 0},this.selectorEditor=".t3js-grideditor",this.selectorAddColumn=".t3js-grideditor-addcolumn",this.selectorRemoveColumn=".t3js-grideditor-removecolumn",this.selectorAddRowTop=".t3js-grideditor-addrow-top",this.selectorRemoveRowTop=".t3js-grideditor-removerow-top",this.selectorAddRowBottom=".t3js-grideditor-addrow-bottom",this.selectorRemoveRowBottom=".t3js-grideditor-removerow-bottom",this.selectorLinkEditor=".t3js-grideditor-link-editor",this.selectorLinkExpandRight=".t3js-grideditor-link-expand-right",this.selectorLinkShrinkLeft=".t3js-grideditor-link-shrink-left",this.selectorLinkExpandDown=".t3js-grideditor-link-expand-down",this.selectorLinkShrinkUp=".t3js-grideditor-link-shrink-up",this.selectorConfigPreview=".t3js-grideditor-preview-config",this.selectorPreviewArea=".t3js-tsconfig-preview-area",this.selectorCodeMirror=".t3js-grideditor-preview-config .CodeMirror",this.modalButtonClickHandler=t=>{const e=t.target;"cancel"===e.name?i.currentModal.trigger("modal-dismiss"):"ok"===e.name&&(this.setName(i.currentModal.find(".t3js-grideditor-field-name").val(),i.currentModal.data("col"),i.currentModal.data("row")),this.setColumn(i.currentModal.find(".t3js-grideditor-field-colpos").val(),i.currentModal.data("col"),i.currentModal.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord()),i.currentModal.trigger("modal-dismiss"))},this.addColumnHandler=t=>{t.preventDefault(),this.addColumn(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.removeColumnHandler=t=>{t.preventDefault(),this.removeColumn(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.addRowTopHandler=t=>{t.preventDefault(),this.addRowTop(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.addRowBottomHandler=t=>{t.preventDefault(),this.addRowBottom(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.removeRowTopHandler=t=>{t.preventDefault(),this.removeRowTop(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.removeRowBottomHandler=t=>{t.preventDefault(),this.removeRowBottom(),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkEditorHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.showOptions(e.data("col"),e.data("row"))},this.linkExpandRightHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.addColspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkShrinkLeftHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.removeColspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkExpandDownHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.addRowspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())},this.linkShrinkUpHandler=t=>{t.preventDefault();const e=(0,o.default)(t.target);this.removeRowspan(e.data("col"),e.data("row")),this.drawTable(),this.writeConfig(this.export2LayoutRecord())};const e=(0,o.default)(this.selectorEditor);this.colCount=e.data("colcount"),this.rowCount=e.data("rowcount"),this.readOnly=e.data("readonly"),this.field=(0,o.default)('input[name="'+e.data("field")+'"]'),this.data=e.data("data"),this.nameLabel=null!==t?t.nameLabel:"Name",this.columnLabel=null!==t?t.columnLabel:"Column",this.targetElement=(0,o.default)(this.selectorEditor),this.initializeEvents(),this.addVisibilityObserver(e.get(0)),this.drawTable(),this.writeConfig(this.export2LayoutRecord())}initializeEvents(){this.readOnly||((0,o.default)(document).on("click",this.selectorAddColumn,this.addColumnHandler),(0,o.default)(document).on("click",this.selectorRemoveColumn,this.removeColumnHandler),(0,o.default)(document).on("click",this.selectorAddRowTop,this.addRowTopHandler),(0,o.default)(document).on("click",this.selectorAddRowBottom,this.addRowBottomHandler),(0,o.default)(document).on("click",this.selectorRemoveRowTop,this.removeRowTopHandler),(0,o.default)(document).on("click",this.selectorRemoveRowBottom,this.removeRowBottomHandler),(0,o.default)(document).on("click",this.selectorLinkEditor,this.linkEditorHandler),(0,o.default)(document).on("click",this.selectorLinkExpandRight,this.linkExpandRightHandler),(0,o.default)(document).on("click",this.selectorLinkShrinkLeft,this.linkShrinkLeftHandler),(0,o.default)(document).on("click",this.selectorLinkExpandDown,this.linkExpandDownHandler),(0,o.default)(document).on("click",this.selectorLinkShrinkUp,this.linkShrinkUpHandler))}getNewCell(){return o.default.extend({},this.defaultCell)}writeConfig(t){this.field.val(t);const e=t.split("\n");let n="";for(const t of e)t&&(n+="\t\t\t"+t+"\n");let i="mod.web_layout.BackendLayouts {\n  exampleKey {\n    title = Example\n    icon = EXT:example_extension/Resources/Public/Images/BackendLayouts/default.gif\n    config {\n"+n.replace(new RegExp("\t","g"),"  ")+"    }\n  }\n}\n";(0,o.default)(this.selectorConfigPreview).find(this.selectorPreviewArea).empty().append(i);const r=document.querySelector(this.selectorCodeMirror);r&&r.CodeMirror.setValue(i)}addRowTop(){const t=[];for(let e=0;e<this.colCount;e++){const n=this.getNewCell();n.name=e+"x"+this.data.length,t[e]=n}this.data.unshift(t),this.rowCount++}addRowBottom(){const t=[];for(let e=0;e<this.colCount;e++){const n=this.getNewCell();n.name=e+"x"+this.data.length,t[e]=n}this.data.push(t),this.rowCount++}removeRowTop(){if(this.rowCount<=1)return!1;const t=[];for(let e=1;e<this.rowCount;e++)t.push(this.data[e]);for(let t=0;t<this.colCount;t++)1===this.data[0][t].spanned&&this.findUpperCellWidthRowspanAndDecreaseByOne(t,0);return this.data=t,this.rowCount--,!0}removeRowBottom(){if(this.rowCount<=1)return!1;const t=[];for(let e=0;e<this.rowCount-1;e++)t.push(this.data[e]);for(let t=0;t<this.colCount;t++)1===this.data[this.rowCount-1][t].spanned&&this.findUpperCellWidthRowspanAndDecreaseByOne(t,this.rowCount-1);return this.data=t,this.rowCount--,!0}findUpperCellWidthRowspanAndDecreaseByOne(t,e){const n=this.getCell(t,e-1);return!!n&&(1===n.spanned?this.findUpperCellWidthRowspanAndDecreaseByOne(t,e-1):n.rowspan>1&&this.removeRowspan(t,e-1),!0)}removeColumn(){if(this.colCount<=1)return!1;const t=[];for(let e=0;e<this.rowCount;e++){const n=[];for(let t=0;t<this.colCount-1;t++)n.push(this.data[e][t]);1===this.data[e][this.colCount-1].spanned&&this.findLeftCellWidthColspanAndDecreaseByOne(this.colCount-1,e),t.push(n)}return this.data=t,this.colCount--,!0}findLeftCellWidthColspanAndDecreaseByOne(t,e){const n=this.getCell(t-1,e);return!!n&&(1===n.spanned?this.findLeftCellWidthColspanAndDecreaseByOne(t-1,e):n.colspan>1&&this.removeColspan(t-1,e),!0)}addColumn(){for(let t=0;t<this.rowCount;t++){const e=this.getNewCell();e.name=this.colCount+"x"+t,this.data[t].push(e)}this.colCount++}drawTable(){const t=(0,o.default)("<colgroup>");for(let e=0;e<this.colCount;e++){const e=100/this.colCount;t.append((0,o.default)("<col>").css({width:parseInt(e.toString(),10)+"%"}))}const e=(0,o.default)('<table id="base" class="table editor">');e.append(t);for(let t=0;t<this.rowCount;t++){if(0===this.data[t].length)continue;const n=(0,o.default)("<tr>");for(let e=0;e<this.colCount;e++){const i=this.data[t][e];if(1===i.spanned)continue;const r=100/this.rowCount,l=100/this.colCount,s=(0,o.default)("<td>").css({height:parseInt(r.toString(),10)*i.rowspan+"%",width:parseInt(l.toString(),10)*i.colspan+"%"});if(!this.readOnly){const n=(0,o.default)('<div class="cell_container">');s.append(n);const i=(0,o.default)('<a href="#" data-col="'+e+'" data-row="'+t+'">');n.append(i.clone().attr("class","t3js-grideditor-link-editor link link_editor").attr("title",TYPO3.lang.grid_editCell)),this.cellCanSpanRight(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-expand-right link link_expand_right").attr("title",TYPO3.lang.grid_mergeCell)),this.cellCanShrinkLeft(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-shrink-left link link_shrink_left").attr("title",TYPO3.lang.grid_splitCell)),this.cellCanSpanDown(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-expand-down link link_expand_down").attr("title",TYPO3.lang.grid_mergeCell)),this.cellCanShrinkUp(e,t)&&n.append(i.clone().attr("class","t3js-grideditor-link-shrink-up link link_shrink_up").attr("title",TYPO3.lang.grid_splitCell))}s.append((0,o.default)('<div class="cell_data">').html(TYPO3.lang.grid_name+": "+(i.name?a.stripMarkup(i.name):TYPO3.lang.grid_notSet)+"<br />"+TYPO3.lang.grid_column+": "+(void 0===i.column||isNaN(i.column)?TYPO3.lang.grid_notSet:parseInt(i.column,10)))),i.colspan>1&&s.attr("colspan",i.colspan),i.rowspan>1&&s.attr("rowspan",i.rowspan),n.append(s)}e.append(n)}(0,o.default)(this.targetElement).empty().append(e)}setName(t,e,n){const o=this.getCell(e,n);return!!o&&(o.name=a.stripMarkup(t),!0)}setColumn(t,e,n){const o=this.getCell(e,n);return!!o&&(o.column=parseInt(t.toString(),10),!0)}showOptions(t,e){const r=this.getCell(t,e);if(!r)return!1;let l;l=0===r.column?0:r.column?parseInt(r.column.toString(),10):"";const s=(0,o.default)("<div>"),d=(0,o.default)('<div class="form-group">'),c=(0,o.default)("<label>"),h=(0,o.default)("<input>");s.append([d.clone().append([c.clone().text(TYPO3.lang.grid_nameHelp),h.clone().attr("type","text").attr("class","t3js-grideditor-field-name form-control").attr("name","name").val(a.stripMarkup(r.name)||"")]),d.clone().append([c.clone().text(TYPO3.lang.grid_columnHelp),h.clone().attr("type","text").attr("class","t3js-grideditor-field-colpos form-control").attr("name","column").val(l)])]);const u=i.show(TYPO3.lang.grid_windowTitle,s,n.SeverityEnum.notice,[{active:!0,btnClass:"btn-default",name:"cancel",text:(0,o.default)(this).data("button-close-text")||TYPO3.lang["button.cancel"]||"Cancel"},{btnClass:"btn-primary",name:"ok",text:(0,o.default)(this).data("button-ok-text")||TYPO3.lang["button.ok"]||"OK"}]);return u.data("col",t),u.data("row",e),u.on("button.clicked",this.modalButtonClickHandler),!0}getCell(t,e){return!(t>this.colCount-1)&&(!(e>this.rowCount-1)&&(this.data.length>e-1&&this.data[e].length>t-1?this.data[e][t]:null))}cellCanSpanRight(t,e){if(t===this.colCount-1)return!1;const n=this.getCell(t,e);let o;if(n.rowspan>1){for(let i=e;i<e+n.rowspan;i++)if(o=this.getCell(t+n.colspan,i),!o||1===o.spanned||o.colspan>1||o.rowspan>1)return!1}else if(o=this.getCell(t+n.colspan,e),!o||1===n.spanned||1===o.spanned||o.colspan>1||o.rowspan>1)return!1;return!0}cellCanSpanDown(t,e){if(e===this.rowCount-1)return!1;const n=this.getCell(t,e);let o;if(n.colspan>1){for(let i=t;i<t+n.colspan;i++)if(o=this.getCell(i,e+n.rowspan),!o||1===o.spanned||o.colspan>1||o.rowspan>1)return!1}else if(o=this.getCell(t,e+n.rowspan),!o||1===n.spanned||1===o.spanned||o.colspan>1||o.rowspan>1)return!1;return!0}cellCanShrinkLeft(t,e){return this.data[e][t].colspan>1}cellCanShrinkUp(t,e){return this.data[e][t].rowspan>1}addColspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanSpanRight(t,e))return!1;for(let o=e;o<e+n.rowspan;o++)this.data[o][t+n.colspan].spanned=1;return n.colspan+=1,!0}addRowspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanSpanDown(t,e))return!1;for(let o=t;o<t+n.colspan;o++)this.data[e+n.rowspan][o].spanned=1;return n.rowspan+=1,!0}removeColspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanShrinkLeft(t,e))return!1;n.colspan-=1;for(let o=e;o<e+n.rowspan;o++)this.data[o][t+n.colspan].spanned=0;return!0}removeRowspan(t,e){const n=this.getCell(t,e);if(!n||!this.cellCanShrinkUp(t,e))return!1;n.rowspan-=1;for(let o=t;o<t+n.colspan;o++)this.data[e+n.rowspan][o].spanned=0;return!0}export2LayoutRecord(){let t="backend_layout {\n\tcolCount = "+this.colCount+"\n\trowCount = "+this.rowCount+"\n\trows {\n";for(let e=0;e<this.rowCount;e++){t+="\t\t"+(e+1)+" {\n",t+="\t\t\tcolumns {\n";let n=0;for(let o=0;o<this.colCount;o++){const i=this.getCell(o,e);if(i&&!i.spanned){const r=a.stripMarkup(i.name)||"";n++,t+="\t\t\t\t"+n+" {\n",t+="\t\t\t\t\tname = "+(r||o+"x"+e)+"\n",i.colspan>1&&(t+="\t\t\t\t\tcolspan = "+i.colspan+"\n"),i.rowspan>1&&(t+="\t\t\t\t\trowspan = "+i.rowspan+"\n"),"number"==typeof i.column&&(t+="\t\t\t\t\tcolPos = "+i.column+"\n"),t+="\t\t\t\t}\n"}}t+="\t\t\t}\n",t+="\t\t}\n"}return t+="\t}\n}\n",t}addVisibilityObserver(t){null===t.offsetParent&&new IntersectionObserver((t,e)=>{t.forEach(t=>{const e=document.querySelector(this.selectorCodeMirror);t.intersectionRatio>0&&e&&e.CodeMirror.refresh()})}).observe(t)}}e.GridEditor=a}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/LayoutModule/Paste.js b/typo3/sysext/backend/Resources/Public/JavaScript/LayoutModule/Paste.js
index ecb3b5c60ae9..e8aa31b9fdec 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/LayoutModule/Paste.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/LayoutModule/Paste.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","../AjaxDataHandler","../Modal","../Severity","../Enum/Severity","TYPO3/CMS/Backend/Element/IconElement"],(function(t,e,a,n,s,i,o){"use strict";a=__importDefault(a);class l{constructor(){this.itemOnClipboardUid=0,this.itemOnClipboardTitle="",this.copyMode="",this.elementIdentifier=".t3js-page-ce",this.pasteAfterLinkTemplate="",this.pasteIntoLinkTemplate="",(0,a.default)(()=>{(0,a.default)(".t3js-page-columns").length&&(this.generateButtonTemplates(),this.activatePasteIcons(),this.initializeEvents())})}static determineColumn(t){const e=t.closest("[data-colpos]");return e.length&&"undefined"!==e.data("colpos")?e.data("colpos"):0}initializeEvents(){(0,a.default)(document).on("click",".t3js-paste",t=>{t.preventDefault(),this.activatePasteModal((0,a.default)(t.currentTarget))})}generateButtonTemplates(){var t,e;this.itemOnClipboardUid&&(this.pasteAfterLinkTemplate='<button type="button" class="t3js-paste t3js-paste'+(this.copyMode?"-"+this.copyMode:"")+' t3js-paste-after btn btn-default btn-sm" title="'+(null===(t=TYPO3.lang)||void 0===t?void 0:t.pasteAfterRecord)+'"><typo3-backend-icon identifier="actions-document-paste-into" size="small"></typo3-backend-icon></button>',this.pasteIntoLinkTemplate='<button type="button" class="t3js-paste t3js-paste'+(this.copyMode?"-"+this.copyMode:"")+' t3js-paste-into btn btn-default btn-sm" title="'+(null===(e=TYPO3.lang)||void 0===e?void 0:e.pasteIntoColumn)+'"><typo3-backend-icon identifier="actions-document-paste-into" size="small"></typo3-backend-icon></button>')}activatePasteIcons(){(0,a.default)(".t3-page-ce-wrapper-new-ce").each((t,e)=>{if(this.pasteAfterLinkTemplate&&this.pasteIntoLinkTemplate){(0,a.default)(e).parent().data("page")?(0,a.default)(e).append(this.pasteIntoLinkTemplate):(0,a.default)(e).append(this.pasteAfterLinkTemplate)}})}activatePasteModal(t){const e=(TYPO3.lang["paste.modal.title.paste"]||"Paste record")+': "'+this.itemOnClipboardTitle+'"',a=TYPO3.lang["paste.modal.paste"]||"Do you want to paste the record to this position?";let n=[];n=[{text:TYPO3.lang["paste.modal.button.cancel"]||"Cancel",active:!0,btnClass:"btn-default",trigger:()=>{s.currentModal.trigger("modal-dismiss")}},{text:TYPO3.lang["paste.modal.button.paste"]||"Paste",btnClass:"btn-"+i.getCssClass(o.SeverityEnum.warning),trigger:()=>{s.currentModal.trigger("modal-dismiss"),this.execute(t)}}],s.show(e,a,o.SeverityEnum.warning,n)}execute(t){const e=l.determineColumn(t),a=t.closest(this.elementIdentifier),s=a.data("uid");let i;i=void 0===s?parseInt(a.data("page"),10):0-parseInt(s,10);const o={CB:{paste:"tt_content|"+i,pad:"normal",update:{colPos:e,sys_language_uid:parseInt(t.closest("[data-language-uid]").data("language-uid"),10)}}};n.process(o).then(t=>{t.hasErrors||window.location.reload()})}}return new l}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","../AjaxDataHandler","../Modal","../Severity","../Enum/Severity","TYPO3/CMS/Backend/Element/IconElement"],(function(t,e,a,n,s,i,o){"use strict";a=__importDefault(a);class l{static determineColumn(t){const e=t.closest("[data-colpos]");return e.length&&"undefined"!==e.data("colpos")?e.data("colpos"):0}constructor(){this.itemOnClipboardUid=0,this.itemOnClipboardTitle="",this.copyMode="",this.elementIdentifier=".t3js-page-ce",this.pasteAfterLinkTemplate="",this.pasteIntoLinkTemplate="",(0,a.default)(()=>{(0,a.default)(".t3js-page-columns").length&&(this.generateButtonTemplates(),this.activatePasteIcons(),this.initializeEvents())})}initializeEvents(){(0,a.default)(document).on("click",".t3js-paste",t=>{t.preventDefault(),this.activatePasteModal((0,a.default)(t.currentTarget))})}generateButtonTemplates(){var t,e;this.itemOnClipboardUid&&(this.pasteAfterLinkTemplate='<button type="button" class="t3js-paste t3js-paste'+(this.copyMode?"-"+this.copyMode:"")+' t3js-paste-after btn btn-default btn-sm" title="'+(null===(t=TYPO3.lang)||void 0===t?void 0:t.pasteAfterRecord)+'"><typo3-backend-icon identifier="actions-document-paste-into" size="small"></typo3-backend-icon></button>',this.pasteIntoLinkTemplate='<button type="button" class="t3js-paste t3js-paste'+(this.copyMode?"-"+this.copyMode:"")+' t3js-paste-into btn btn-default btn-sm" title="'+(null===(e=TYPO3.lang)||void 0===e?void 0:e.pasteIntoColumn)+'"><typo3-backend-icon identifier="actions-document-paste-into" size="small"></typo3-backend-icon></button>')}activatePasteIcons(){(0,a.default)(".t3-page-ce-wrapper-new-ce").each((t,e)=>{if(this.pasteAfterLinkTemplate&&this.pasteIntoLinkTemplate){(0,a.default)(e).parent().data("page")?(0,a.default)(e).append(this.pasteIntoLinkTemplate):(0,a.default)(e).append(this.pasteAfterLinkTemplate)}})}activatePasteModal(t){const e=(TYPO3.lang["paste.modal.title.paste"]||"Paste record")+': "'+this.itemOnClipboardTitle+'"',a=TYPO3.lang["paste.modal.paste"]||"Do you want to paste the record to this position?";let n=[];n=[{text:TYPO3.lang["paste.modal.button.cancel"]||"Cancel",active:!0,btnClass:"btn-default",trigger:()=>{s.currentModal.trigger("modal-dismiss")}},{text:TYPO3.lang["paste.modal.button.paste"]||"Paste",btnClass:"btn-"+i.getCssClass(o.SeverityEnum.warning),trigger:()=>{s.currentModal.trigger("modal-dismiss"),this.execute(t)}}],s.show(e,a,o.SeverityEnum.warning,n)}execute(t){const e=l.determineColumn(t),a=t.closest(this.elementIdentifier),s=a.data("uid");let i;i=void 0===s?parseInt(a.data("page"),10):0-parseInt(s,10);const o={CB:{paste:"tt_content|"+i,pad:"normal",update:{colPos:e,sys_language_uid:parseInt(t.closest("[data-language-uid]").data("language-uid"),10)}}};n.process(o).then(t=>{t.hasErrors||window.location.reload()})}}return new l}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Modal.js b/typo3/sysext/backend/Resources/Public/JavaScript/Modal.js
index 391f108d156d..f3ce0e119dd9 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Modal.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Modal.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","lit","./Enum/Severity","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/SecurityUtility","./Icons","./Severity","bootstrap"],(function(t,e,a,n,s,l,i,o,d){"use strict";var r,c,u,f;a=__importDefault(a),function(t){t.modal=".t3js-modal",t.content=".t3js-modal-content",t.title=".t3js-modal-title",t.close=".t3js-modal-close",t.body=".t3js-modal-body",t.footer=".t3js-modal-footer",t.iframe=".t3js-modal-iframe",t.iconPlaceholder=".t3js-modal-icon-placeholder"}(r||(r={})),function(t){t.small="small",t.default="default",t.medium="medium",t.large="large",t.full="full"}(c||(c={})),function(t){t.default="default",t.light="light",t.dark="dark"}(u||(u={})),function(t){t.default="default",t.ajax="ajax",t.iframe="iframe"}(f||(f={}));class m{constructor(t){this.sizes=c,this.styles=u,this.types=f,this.currentModal=null,this.instances=[],this.$template=(0,a.default)('\n    <div class="t3js-modal modal fade">\n        <div class="modal-dialog">\n            <div class="t3js-modal-content modal-content">\n                <div class="modal-header">\n                    <h4 class="t3js-modal-title modal-title"></h4>\n                    <button class="t3js-modal-close close">\n                        <span aria-hidden="true">\n                            <span class="t3js-modal-icon-placeholder" data-icon="actions-close"></span>\n                        </span>\n                        <span class="visually-hidden"></span>\n                    </button>\n                </div>\n                <div class="t3js-modal-body modal-body"></div>\n                <div class="t3js-modal-footer modal-footer"></div>\n            </div>\n        </div>\n    </div>'),this.defaultConfiguration={type:f.default,title:"Information",content:"No content provided, please check your <code>Modal</code> configuration.",severity:s.SeverityEnum.notice,buttons:[],style:u.default,size:c.default,additionalCssClasses:[],callback:a.default.noop(),ajaxCallback:a.default.noop(),ajaxTarget:null},this.securityUtility=t,(0,a.default)(document).on("modal-dismiss",this.dismiss),this.initializeMarkupTrigger(document)}static resolveEventNameTargetElement(t){const e=t.target,a=t.currentTarget;return e.dataset&&e.dataset.eventName?e:a.dataset&&a.dataset.eventName?a:null}static createModalResponseEventFromElement(t,e){return t&&t.dataset.eventName?new CustomEvent(t.dataset.eventName,{bubbles:!0,detail:{result:e,payload:t.dataset.eventPayload||null}}):null}dismiss(){this.currentModal&&this.currentModal.modal("hide")}confirm(t,e,n=s.SeverityEnum.warning,l=[],i){return 0===l.length&&l.push({text:(0,a.default)(this).data("button-close-text")||TYPO3.lang["button.cancel"]||"Cancel",active:!0,btnClass:"btn-default",name:"cancel"},{text:(0,a.default)(this).data("button-ok-text")||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+d.getCssClass(n),name:"ok"}),this.advanced({title:t,content:e,severity:n,buttons:l,additionalCssClasses:i,callback:t=>{t.on("button.clicked",t=>{"cancel"===t.target.getAttribute("name")?(0,a.default)(t.currentTarget).trigger("confirm.button.cancel"):"ok"===t.target.getAttribute("name")&&(0,a.default)(t.currentTarget).trigger("confirm.button.ok")})}})}loadUrl(t,e=s.SeverityEnum.info,a,n,l,i){return this.advanced({type:f.ajax,title:t,severity:e,buttons:a,ajaxCallback:l,ajaxTarget:i,content:n})}show(t,e,a=s.SeverityEnum.info,n,l){return this.advanced({type:f.default,title:t,content:e,severity:a,buttons:n,additionalCssClasses:l})}advanced(t){return t.type="string"==typeof t.type&&t.type in f?t.type:this.defaultConfiguration.type,t.title="string"==typeof t.title?t.title:this.defaultConfiguration.title,t.content="string"==typeof t.content||"object"==typeof t.content?t.content:this.defaultConfiguration.content,t.severity=void 0!==t.severity?t.severity:this.defaultConfiguration.severity,t.buttons=t.buttons||this.defaultConfiguration.buttons,t.size="string"==typeof t.size&&t.size in c?t.size:this.defaultConfiguration.size,t.style="string"==typeof t.style&&t.style in u?t.style:this.defaultConfiguration.style,t.additionalCssClasses=t.additionalCssClasses||this.defaultConfiguration.additionalCssClasses,t.callback="function"==typeof t.callback?t.callback:this.defaultConfiguration.callback,t.ajaxCallback="function"==typeof t.ajaxCallback?t.ajaxCallback:this.defaultConfiguration.ajaxCallback,t.ajaxTarget="string"==typeof t.ajaxTarget?t.ajaxTarget:this.defaultConfiguration.ajaxTarget,this.generate(t)}setButtons(t){const e=this.currentModal.find(r.footer);if(t.length>0){e.empty();for(let n=0;n<t.length;n++){const s=t[n],l=(0,a.default)("<button />",{class:"btn"});l.html("<span>"+this.securityUtility.encodeHtml(s.text,!1)+"</span>"),s.active&&l.addClass("t3js-active"),""!==s.btnClass&&l.addClass(s.btnClass),""!==s.name&&l.attr("name",s.name),s.action?l.on("click",()=>{e.find("button").not(l).addClass("disabled"),s.action.execute(l.get(0)).then(()=>{this.currentModal.modal("hide")})}):s.trigger&&l.on("click",s.trigger),s.dataAttributes&&Object.keys(s.dataAttributes).length>0&&Object.keys(s.dataAttributes).map(t=>{l.attr("data-"+t,s.dataAttributes[t])}),s.icon&&l.prepend('<span class="t3js-modal-icon-placeholder" data-icon="'+s.icon+'"></span>'),e.append(l)}e.show(),e.find("button").on("click",t=>{(0,a.default)(t.currentTarget).trigger("button.clicked")})}else e.hide();return this.currentModal}initializeMarkupTrigger(t){(0,a.default)(t).on("click",".t3js-modal-trigger",t=>{t.preventDefault();const e=(0,a.default)(t.currentTarget),n=e.data("bs-content")||"Are you sure?";let l=s.SeverityEnum.info;if(e.data("severity")in s.SeverityEnum){const t=e.data("severity");l=s.SeverityEnum[t]}let i=e.data("url")||null;if(null!==i){const t=i.includes("?")?"&":"?";i=i+t+a.default.param({data:e.data()})}this.advanced({type:null!==i?f.ajax:f.default,title:e.data("title")||"Alert",content:null!==i?i:n,severity:l,buttons:[{text:e.data("button-close-text")||TYPO3.lang["button.close"]||"Close",active:!0,btnClass:"btn-default",trigger:()=>{this.currentModal.trigger("modal-dismiss");const e=m.resolveEventNameTargetElement(t),a=m.createModalResponseEventFromElement(e,!1);null!==a&&e.dispatchEvent(a)}},{text:e.data("button-ok-text")||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+d.getCssClass(l),trigger:()=>{this.currentModal.trigger("modal-dismiss");const a=m.resolveEventNameTargetElement(t),n=m.createModalResponseEventFromElement(a,!0);null!==n&&a.dispatchEvent(n);let s=e.attr("data-uri")||e.data("href")||e.attr("href");s&&"#"!==s&&(t.target.ownerDocument.location.href=s)}}]})})}generate(t){const e=this.$template.clone();if(t.additionalCssClasses.length>0)for(let a of t.additionalCssClasses)e.addClass(a);if(e.addClass("modal-type-"+t.type),e.addClass("modal-severity-"+d.getCssClass(t.severity)),e.addClass("modal-style-"+t.style),e.addClass("modal-size-"+t.size),e.attr("tabindex","-1"),e.find(r.title).text(t.title),e.find(r.close).on("click",()=>{e.modal("hide")}),"ajax"===t.type){const a=t.ajaxTarget?t.ajaxTarget:r.body,s=e.find(a);o.getIcon("spinner-circle",o.sizes.default,null,null,o.markupIdentifiers.inline).then(e=>{s.html('<div class="modal-loading">'+e+"</div>"),new l(t.content).get().finally(async()=>{this.currentModal.parent().length||this.currentModal.appendTo("body")}).then(async e=>{const n=await e.raw().text();this.currentModal.find(a).empty().append(n),t.ajaxCallback&&t.ajaxCallback(),this.currentModal.trigger("modal-loaded")}).catch(async e=>{const s=await e.raw().text(),l=this.currentModal.find(a).empty();s?l.append(s):(0,n.render)(n.html`<p><strong>Oops, received a ${e.response.status} response from </strong> <span class="text-break">${t.content}</span>.</p>`,l[0])})})}else"iframe"===t.type?(e.find(r.body).append((0,a.default)("<iframe />",{src:t.content,name:"modal_frame",class:"modal-iframe t3js-modal-iframe"})),e.find(r.iframe).on("load",()=>{e.find(r.title).text(e.find(r.iframe).get(0).contentDocument.title)})):("string"==typeof t.content&&(t.content=(0,a.default)("<p />").html(this.securityUtility.encodeHtml(t.content))),e.find(r.body).append(t.content));return e.on("shown.bs.modal",t=>{const e=(0,a.default)(t.currentTarget),n=e.prev(".modal-backdrop"),s=1e3+10*this.instances.length,l=s-10;e.css("z-index",s),n.css("z-index",l),e.find(r.footer).find(".t3js-active").first().focus(),e.find(r.iconPlaceholder).each((t,e)=>{o.getIcon((0,a.default)(e).data("icon"),o.sizes.small,null,null,o.markupIdentifiers.inline).then(t=>{this.currentModal.find(r.iconPlaceholder+"[data-icon="+(0,a.default)(t).data("identifier")+"]").replaceWith(t)})})}),e.on("hide.bs.modal",()=>{if(this.instances.length>0){const t=this.instances.length-1;this.instances.splice(t,1),this.currentModal=this.instances[t-1]}}),e.on("hidden.bs.modal",t=>{e.trigger("modal-destroyed"),(0,a.default)(t.currentTarget).remove(),this.instances.length>0&&(0,a.default)("body").addClass("modal-open")}),e.on("show.bs.modal",e=>{this.currentModal=(0,a.default)(e.currentTarget),this.setButtons(t.buttons),this.instances.push(this.currentModal)}),e.on("modal-dismiss",t=>{(0,a.default)(t.currentTarget).modal("hide")}),t.callback&&t.callback(e),e.modal("show"),e}}let h=null;try{parent&&parent.window.TYPO3&&parent.window.TYPO3.Modal?(parent.window.TYPO3.Modal.initializeMarkupTrigger(document),h=parent.window.TYPO3.Modal):top&&top.TYPO3.Modal&&(top.TYPO3.Modal.initializeMarkupTrigger(document),h=top.TYPO3.Modal)}catch(t){}return h||(h=new m(new i),TYPO3.Modal=h),h}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","lit","./Enum/Severity","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/SecurityUtility","./Icons","./Severity","bootstrap"],(function(t,e,a,n,s,l,i,o,d){"use strict";var r,c,u,f;a=__importDefault(a),function(t){t.modal=".t3js-modal",t.content=".t3js-modal-content",t.title=".t3js-modal-title",t.close=".t3js-modal-close",t.body=".t3js-modal-body",t.footer=".t3js-modal-footer",t.iframe=".t3js-modal-iframe",t.iconPlaceholder=".t3js-modal-icon-placeholder"}(r||(r={})),function(t){t.small="small",t.default="default",t.medium="medium",t.large="large",t.full="full"}(c||(c={})),function(t){t.default="default",t.light="light",t.dark="dark"}(u||(u={})),function(t){t.default="default",t.ajax="ajax",t.iframe="iframe"}(f||(f={}));class m{static resolveEventNameTargetElement(t){const e=t.target,a=t.currentTarget;return e.dataset&&e.dataset.eventName?e:a.dataset&&a.dataset.eventName?a:null}static createModalResponseEventFromElement(t,e){return t&&t.dataset.eventName?new CustomEvent(t.dataset.eventName,{bubbles:!0,detail:{result:e,payload:t.dataset.eventPayload||null}}):null}constructor(t){this.sizes=c,this.styles=u,this.types=f,this.currentModal=null,this.instances=[],this.$template=(0,a.default)('\n    <div class="t3js-modal modal fade">\n        <div class="modal-dialog">\n            <div class="t3js-modal-content modal-content">\n                <div class="modal-header">\n                    <h4 class="t3js-modal-title modal-title"></h4>\n                    <button class="t3js-modal-close close">\n                        <span aria-hidden="true">\n                            <span class="t3js-modal-icon-placeholder" data-icon="actions-close"></span>\n                        </span>\n                        <span class="visually-hidden"></span>\n                    </button>\n                </div>\n                <div class="t3js-modal-body modal-body"></div>\n                <div class="t3js-modal-footer modal-footer"></div>\n            </div>\n        </div>\n    </div>'),this.defaultConfiguration={type:f.default,title:"Information",content:"No content provided, please check your <code>Modal</code> configuration.",severity:s.SeverityEnum.notice,buttons:[],style:u.default,size:c.default,additionalCssClasses:[],callback:a.default.noop(),ajaxCallback:a.default.noop(),ajaxTarget:null},this.securityUtility=t,(0,a.default)(document).on("modal-dismiss",this.dismiss),this.initializeMarkupTrigger(document)}dismiss(){this.currentModal&&this.currentModal.modal("hide")}confirm(t,e,n=s.SeverityEnum.warning,l=[],i){return 0===l.length&&l.push({text:(0,a.default)(this).data("button-close-text")||TYPO3.lang["button.cancel"]||"Cancel",active:!0,btnClass:"btn-default",name:"cancel"},{text:(0,a.default)(this).data("button-ok-text")||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+d.getCssClass(n),name:"ok"}),this.advanced({title:t,content:e,severity:n,buttons:l,additionalCssClasses:i,callback:t=>{t.on("button.clicked",t=>{"cancel"===t.target.getAttribute("name")?(0,a.default)(t.currentTarget).trigger("confirm.button.cancel"):"ok"===t.target.getAttribute("name")&&(0,a.default)(t.currentTarget).trigger("confirm.button.ok")})}})}loadUrl(t,e=s.SeverityEnum.info,a,n,l,i){return this.advanced({type:f.ajax,title:t,severity:e,buttons:a,ajaxCallback:l,ajaxTarget:i,content:n})}show(t,e,a=s.SeverityEnum.info,n,l){return this.advanced({type:f.default,title:t,content:e,severity:a,buttons:n,additionalCssClasses:l})}advanced(t){return t.type="string"==typeof t.type&&t.type in f?t.type:this.defaultConfiguration.type,t.title="string"==typeof t.title?t.title:this.defaultConfiguration.title,t.content="string"==typeof t.content||"object"==typeof t.content?t.content:this.defaultConfiguration.content,t.severity=void 0!==t.severity?t.severity:this.defaultConfiguration.severity,t.buttons=t.buttons||this.defaultConfiguration.buttons,t.size="string"==typeof t.size&&t.size in c?t.size:this.defaultConfiguration.size,t.style="string"==typeof t.style&&t.style in u?t.style:this.defaultConfiguration.style,t.additionalCssClasses=t.additionalCssClasses||this.defaultConfiguration.additionalCssClasses,t.callback="function"==typeof t.callback?t.callback:this.defaultConfiguration.callback,t.ajaxCallback="function"==typeof t.ajaxCallback?t.ajaxCallback:this.defaultConfiguration.ajaxCallback,t.ajaxTarget="string"==typeof t.ajaxTarget?t.ajaxTarget:this.defaultConfiguration.ajaxTarget,this.generate(t)}setButtons(t){const e=this.currentModal.find(r.footer);if(t.length>0){e.empty();for(let n=0;n<t.length;n++){const s=t[n],l=(0,a.default)("<button />",{class:"btn"});l.html("<span>"+this.securityUtility.encodeHtml(s.text,!1)+"</span>"),s.active&&l.addClass("t3js-active"),""!==s.btnClass&&l.addClass(s.btnClass),""!==s.name&&l.attr("name",s.name),s.action?l.on("click",()=>{e.find("button").not(l).addClass("disabled"),s.action.execute(l.get(0)).then(()=>{this.currentModal.modal("hide")})}):s.trigger&&l.on("click",s.trigger),s.dataAttributes&&Object.keys(s.dataAttributes).length>0&&Object.keys(s.dataAttributes).map(t=>{l.attr("data-"+t,s.dataAttributes[t])}),s.icon&&l.prepend('<span class="t3js-modal-icon-placeholder" data-icon="'+s.icon+'"></span>'),e.append(l)}e.show(),e.find("button").on("click",t=>{(0,a.default)(t.currentTarget).trigger("button.clicked")})}else e.hide();return this.currentModal}initializeMarkupTrigger(t){(0,a.default)(t).on("click",".t3js-modal-trigger",t=>{t.preventDefault();const e=(0,a.default)(t.currentTarget),n=e.data("bs-content")||"Are you sure?";let l=s.SeverityEnum.info;if(e.data("severity")in s.SeverityEnum){const t=e.data("severity");l=s.SeverityEnum[t]}let i=e.data("url")||null;if(null!==i){const t=i.includes("?")?"&":"?";i=i+t+a.default.param({data:e.data()})}this.advanced({type:null!==i?f.ajax:f.default,title:e.data("title")||"Alert",content:null!==i?i:n,severity:l,buttons:[{text:e.data("button-close-text")||TYPO3.lang["button.close"]||"Close",active:!0,btnClass:"btn-default",trigger:()=>{this.currentModal.trigger("modal-dismiss");const e=m.resolveEventNameTargetElement(t),a=m.createModalResponseEventFromElement(e,!1);null!==a&&e.dispatchEvent(a)}},{text:e.data("button-ok-text")||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+d.getCssClass(l),trigger:()=>{this.currentModal.trigger("modal-dismiss");const a=m.resolveEventNameTargetElement(t),n=m.createModalResponseEventFromElement(a,!0);null!==n&&a.dispatchEvent(n);let s=e.attr("data-uri")||e.data("href")||e.attr("href");s&&"#"!==s&&(t.target.ownerDocument.location.href=s)}}]})})}generate(t){const e=this.$template.clone();if(t.additionalCssClasses.length>0)for(let a of t.additionalCssClasses)e.addClass(a);if(e.addClass("modal-type-"+t.type),e.addClass("modal-severity-"+d.getCssClass(t.severity)),e.addClass("modal-style-"+t.style),e.addClass("modal-size-"+t.size),e.attr("tabindex","-1"),e.find(r.title).text(t.title),e.find(r.close).on("click",()=>{e.modal("hide")}),"ajax"===t.type){const a=t.ajaxTarget?t.ajaxTarget:r.body,s=e.find(a);o.getIcon("spinner-circle",o.sizes.default,null,null,o.markupIdentifiers.inline).then(e=>{s.html('<div class="modal-loading">'+e+"</div>"),new l(t.content).get().finally(async()=>{this.currentModal.parent().length||this.currentModal.appendTo("body")}).then(async e=>{const n=await e.raw().text();this.currentModal.find(a).empty().append(n),t.ajaxCallback&&t.ajaxCallback(),this.currentModal.trigger("modal-loaded")}).catch(async e=>{const s=await e.raw().text(),l=this.currentModal.find(a).empty();s?l.append(s):(0,n.render)(n.html`<p><strong>Oops, received a ${e.response.status} response from </strong> <span class="text-break">${t.content}</span>.</p>`,l[0])})})}else"iframe"===t.type?(e.find(r.body).append((0,a.default)("<iframe />",{src:t.content,name:"modal_frame",class:"modal-iframe t3js-modal-iframe"})),e.find(r.iframe).on("load",()=>{e.find(r.title).text(e.find(r.iframe).get(0).contentDocument.title)})):("string"==typeof t.content&&(t.content=(0,a.default)("<p />").html(this.securityUtility.encodeHtml(t.content))),e.find(r.body).append(t.content));return e.on("shown.bs.modal",t=>{const e=(0,a.default)(t.currentTarget),n=e.prev(".modal-backdrop"),s=1e3+10*this.instances.length,l=s-10;e.css("z-index",s),n.css("z-index",l),e.find(r.footer).find(".t3js-active").first().focus(),e.find(r.iconPlaceholder).each((t,e)=>{o.getIcon((0,a.default)(e).data("icon"),o.sizes.small,null,null,o.markupIdentifiers.inline).then(t=>{this.currentModal.find(r.iconPlaceholder+"[data-icon="+(0,a.default)(t).data("identifier")+"]").replaceWith(t)})})}),e.on("hide.bs.modal",()=>{if(this.instances.length>0){const t=this.instances.length-1;this.instances.splice(t,1),this.currentModal=this.instances[t-1]}}),e.on("hidden.bs.modal",t=>{e.trigger("modal-destroyed"),(0,a.default)(t.currentTarget).remove(),this.instances.length>0&&(0,a.default)("body").addClass("modal-open")}),e.on("show.bs.modal",e=>{this.currentModal=(0,a.default)(e.currentTarget),this.setButtons(t.buttons),this.instances.push(this.currentModal)}),e.on("modal-dismiss",t=>{(0,a.default)(t.currentTarget).modal("hide")}),t.callback&&t.callback(e),e.modal("show"),e}}let h=null;try{parent&&parent.window.TYPO3&&parent.window.TYPO3.Modal?(parent.window.TYPO3.Modal.initializeMarkupTrigger(document),h=parent.window.TYPO3.Modal):top&&top.TYPO3.Modal&&(top.TYPO3.Modal.initializeMarkupTrigger(document),h=top.TYPO3.Modal)}catch(t){}return h||(h=new m(new i),TYPO3.Modal=h),h}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/ModuleMenu.js b/typo3/sysext/backend/Resources/Public/JavaScript/ModuleMenu.js
index 207308501f73..57e819f9ffaa 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/ModuleMenu.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/ModuleMenu.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","./Enum/Viewport/ScaffoldIdentifier","./Module","jquery","./Storage/Persistent","./Viewport","./Event/ClientRequest","./Event/TriggerRequest","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/Event/RegularEvent","./Storage/ModuleStateStorage"],(function(e,t,n,o,a,l,i,r,s,d,u,m){"use strict";a=__importDefault(a);class c{constructor(){this.loadedModule=null,this.spaceKeyPressedOnCollapsible=!1,(0,a.default)(()=>this.initialize())}static getCollapsedMainMenuItems(){return l.isset("modulemenu")?JSON.parse(l.get("modulemenu")):{}}static addCollapsedMainMenuItem(e){const t=c.getCollapsedMainMenuItems();t[e]=!0,l.set("modulemenu",JSON.stringify(t))}static removeCollapseMainMenuItem(e){const t=this.getCollapsedMainMenuItems();delete t[e],l.set("modulemenu",JSON.stringify(t))}static includeId(e,t){if(!e.navigationComponentId&&!e.navigationFrameScript)return t;let n="";n="TYPO3/CMS/Backend/PageTree/PageTreeElement"===e.navigationComponentId?"web":e.name.split("_")[0];const o=m.ModuleStateStorage.current(n);return o.selection&&(t="id="+o.selection+"&"+t),t}static toggleMenu(e){const t=(0,a.default)(n.ScaffoldIdentifierEnum.scaffold);void 0===e&&(e=t.hasClass("scaffold-modulemenu-expanded")),t.toggleClass("scaffold-modulemenu-expanded",!e),e||(0,a.default)(".scaffold").removeClass("scaffold-search-expanded").removeClass("scaffold-toolbar-expanded"),l.set("BackendComponents.States.typo3-module-menu",{collapsed:e})}static toggleModuleGroup(e){const t=e.closest(".modulemenu-group"),n=t.querySelector(".modulemenu-group-container"),o="true"===e.attributes.getNamedItem("aria-expanded").value;o?c.addCollapsedMainMenuItem(e.id):c.removeCollapseMainMenuItem(e.id),t.classList.toggle("modulemenu-group-collapsed",o),t.classList.toggle("modulemenu-group-expanded",!o),e.attributes.getNamedItem("aria-expanded").value=(!o).toString(),(0,a.default)(n).stop().slideToggle()}static highlightModuleMenuItem(e){(0,a.default)(".modulemenu-action.modulemenu-action-active").removeClass("modulemenu-action-active").removeAttr("aria-current"),(0,a.default)("#"+e).addClass("modulemenu-action-active").attr("aria-current","location")}static getPreviousItem(e){let t=e.parentElement.previousElementSibling;return null===t?c.getLastItem(e):t.firstElementChild}static getNextItem(e){let t=e.parentElement.nextElementSibling;return null===t?c.getFirstItem(e):t.firstElementChild}static getFirstItem(e){return e.parentElement.parentElement.firstElementChild.firstElementChild}static getLastItem(e){return e.parentElement.parentElement.lastElementChild.firstElementChild}static getParentItem(e){return e.parentElement.parentElement.parentElement.firstElementChild}static getFirstChildItem(e){return e.nextElementSibling.firstElementChild.firstElementChild}static getLastChildItem(e){return e.nextElementSibling.lastElementChild.firstElementChild}refreshMenu(){new d(TYPO3.settings.ajaxUrls.modulemenu).get().then(async e=>{const t=await e.resolve();document.getElementById("modulemenu").outerHTML=t.menu,this.initializeModuleMenuEvents(),this.loadedModule&&c.highlightModuleMenuItem(this.loadedModule)})}getCurrentModule(){return this.loadedModule}reloadFrames(){i.NavigationContainer.refresh(),i.ContentContainer.refresh()}showModule(e,t,n=null){t=t||"";const a=(0,o.getRecordFromName)(e);return this.loadModuleComponents(a,t,new r("typo3.showModule",n))}initialize(){if(null===document.querySelector(".t3js-modulemenu"))return;let e=a.default.Deferred();e.resolve(),e.then(()=>{this.initializeModuleMenuEvents(),i.Topbar.Toolbar.registerEvent(()=>{document.querySelector(".t3js-scaffold-toolbar")&&this.initializeTopBarEvents()})})}keyboardNavigation(e,t,n=!1){const o=t.parentElement.attributes.getNamedItem("data-level").value;let a=null;switch(n&&(this.spaceKeyPressedOnCollapsible=!1),e.code){case"ArrowUp":a=c.getPreviousItem(t);break;case"ArrowDown":a=c.getNextItem(t);break;case"ArrowLeft":"1"===o&&t.classList.contains("t3js-modulemenu-collapsible")?("false"===t.attributes.getNamedItem("aria-expanded").value&&c.toggleModuleGroup(t),a=c.getLastChildItem(t)):"2"===o&&(a=c.getPreviousItem(c.getParentItem(t)));break;case"ArrowRight":"1"===o&&t.classList.contains("t3js-modulemenu-collapsible")?("false"===t.attributes.getNamedItem("aria-expanded").value&&c.toggleModuleGroup(t),a=c.getFirstChildItem(t)):"2"===o&&(a=c.getNextItem(c.getParentItem(t)));break;case"Home":a=e.ctrlKey&&"2"===o?c.getFirstItem(c.getParentItem(t)):c.getFirstItem(t);break;case"End":a=e.ctrlKey&&"2"===o?c.getLastItem(c.getParentItem(t)):c.getLastItem(t);break;case"Space":case"Enter":"1"===o&&t.classList.contains("t3js-modulemenu-collapsible")&&("Enter"===e.code&&e.preventDefault(),c.toggleModuleGroup(t),"true"===t.attributes.getNamedItem("aria-expanded").value&&(a=c.getFirstChildItem(t),"Space"===e.code&&(this.spaceKeyPressedOnCollapsible=!0)));break;case"Esc":case"Escape":"2"===o&&(a=c.getParentItem(t),c.toggleModuleGroup(a));break;default:a=null}null!==a&&(e.defaultPrevented||e.preventDefault(),a.focus())}initializeModuleMenuEvents(){const e=document.querySelector(".t3js-modulemenu"),t=function(e){"Space"===e.code&&this.spaceKeyPressedOnCollapsible&&(e.preventDefault(),this.spaceKeyPressedOnCollapsible=!1)}.bind(this);new u("keydown",this.keyboardNavigation).delegateTo(e,".t3js-modulemenu-action"),e.querySelectorAll('[data-level="2"] a.t3js-modulemenu-action[href]').forEach(e=>{e.addEventListener("keyup",t)}),new u("keyup",(e,t)=>{"Space"===e.code&&e.preventDefault()}).delegateTo(e,".t3js-modulemenu-collapsible"),new u("click",(e,t)=>{e.preventDefault(),this.showModule(t.id,"",e)}).delegateTo(e,"a.t3js-modulemenu-action[href]"),new u("click",(e,t)=>{e.preventDefault(),c.toggleModuleGroup(t)}).delegateTo(e,".t3js-modulemenu-collapsible")}initializeTopBarEvents(){const e=document.querySelector(".t3js-scaffold-toolbar");new u("keydown",(e,t)=>{this.keyboardNavigation(e,t)}).delegateTo(e,".t3js-modulemenu-action"),new u("click",(e,t)=>{e.preventDefault(),this.showModule(t.id,"",e)}).delegateTo(e,"a.t3js-modulemenu-action[href]"),new u("click",e=>{e.preventDefault(),c.toggleMenu()}).bindTo(document.querySelector(".t3js-topbar-button-modulemenu")),new u("click",e=>{e.preventDefault(),c.toggleMenu(!0)}).bindTo(document.querySelector(".t3js-scaffold-content-overlay"));const t=e=>{const t=e.detail.module;if(!t||this.loadedModule===t)return;const n=(0,o.getRecordFromName)(t);if(n.link)if(c.highlightModuleMenuItem(t),(0,a.default)("#"+t).focus(),this.loadedModule=t,top.currentSubScript=n.link,top.currentModuleLoaded=t,n.navigationComponentId)i.NavigationContainer.showComponent(n.navigationComponentId);else if(n.navigationFrameScript){i.NavigationContainer.show("typo3-navigationIframe");new r("typo3.showModule",event);this.openInNavFrame(n.navigationFrameScript,n.navigationFrameScriptParam,new s("typo3.loadModuleComponents",new r("typo3.showModule",null)))}else i.NavigationContainer.hide(!1)};document.addEventListener("typo3-module-load",t),document.addEventListener("typo3-module-loaded",t)}loadModuleComponents(e,t,n){const o=e.name,a=i.ContentContainer.beforeSetUrl(n);return a.then(()=>{e.navigationComponentId?i.NavigationContainer.showComponent(e.navigationComponentId):e.navigationFrameScript?(i.NavigationContainer.show("typo3-navigationIframe"),this.openInNavFrame(e.navigationFrameScript,e.navigationFrameScriptParam,new s("typo3.loadModuleComponents",n))):i.NavigationContainer.hide(!0),c.highlightModuleMenuItem(o),this.loadedModule=o,t=c.includeId(e,t),this.openInContentContainer(o,e.link,t,new s("typo3.loadModuleComponents",n)),top.currentSubScript=e.link,top.currentModuleLoaded=o}),a}openInNavFrame(e,t,n){const o=e+(t?(e.includes("?")?"&":"?")+t:""),a=i.NavigationContainer.getUrl(),l=i.NavigationContainer.setUrl(e,new s("typo3.openInNavFrame",n));return a!==o&&("resolved"===l.state()?i.NavigationContainer.refresh():l.then(i.NavigationContainer.refresh)),l}openInContentContainer(e,t,n,o){let a;if(top.nextLoadModuleUrl)console.warn("Using nextLoadModuleUrl is deprecated, and will not work in TYPO3 v12.0. anymores."),a=i.ContentContainer.setUrl(top.nextLoadModuleUrl,new s("typo3.openInContentFrame",o),null),top.nextLoadModuleUrl="";else{const l=t+(n?(t.includes("?")?"&":"?")+n:"");a=i.ContentContainer.setUrl(l,new s("typo3.openInContentFrame",o),e)}return a}}top.TYPO3.ModuleMenu||(top.TYPO3.ModuleMenu={App:new c});return top.TYPO3.ModuleMenu}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","./Enum/Viewport/ScaffoldIdentifier","./Module","jquery","./Storage/Persistent","./Viewport","./Event/ClientRequest","./Event/TriggerRequest","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/Event/RegularEvent","./Storage/ModuleStateStorage"],(function(e,t,n,o,a,l,i,r,s,d,u,m){"use strict";a=__importDefault(a);class c{static getCollapsedMainMenuItems(){return l.isset("modulemenu")?JSON.parse(l.get("modulemenu")):{}}static addCollapsedMainMenuItem(e){const t=c.getCollapsedMainMenuItems();t[e]=!0,l.set("modulemenu",JSON.stringify(t))}static removeCollapseMainMenuItem(e){const t=this.getCollapsedMainMenuItems();delete t[e],l.set("modulemenu",JSON.stringify(t))}static includeId(e,t){if(!e.navigationComponentId&&!e.navigationFrameScript)return t;let n="";n="TYPO3/CMS/Backend/PageTree/PageTreeElement"===e.navigationComponentId?"web":e.name.split("_")[0];const o=m.ModuleStateStorage.current(n);return o.selection&&(t="id="+o.selection+"&"+t),t}static toggleMenu(e){const t=(0,a.default)(n.ScaffoldIdentifierEnum.scaffold);void 0===e&&(e=t.hasClass("scaffold-modulemenu-expanded")),t.toggleClass("scaffold-modulemenu-expanded",!e),e||(0,a.default)(".scaffold").removeClass("scaffold-search-expanded").removeClass("scaffold-toolbar-expanded"),l.set("BackendComponents.States.typo3-module-menu",{collapsed:e})}static toggleModuleGroup(e){const t=e.closest(".modulemenu-group"),n=t.querySelector(".modulemenu-group-container"),o="true"===e.attributes.getNamedItem("aria-expanded").value;o?c.addCollapsedMainMenuItem(e.id):c.removeCollapseMainMenuItem(e.id),t.classList.toggle("modulemenu-group-collapsed",o),t.classList.toggle("modulemenu-group-expanded",!o),e.attributes.getNamedItem("aria-expanded").value=(!o).toString(),(0,a.default)(n).stop().slideToggle()}static highlightModuleMenuItem(e){(0,a.default)(".modulemenu-action.modulemenu-action-active").removeClass("modulemenu-action-active").removeAttr("aria-current"),(0,a.default)("#"+e).addClass("modulemenu-action-active").attr("aria-current","location")}static getPreviousItem(e){let t=e.parentElement.previousElementSibling;return null===t?c.getLastItem(e):t.firstElementChild}static getNextItem(e){let t=e.parentElement.nextElementSibling;return null===t?c.getFirstItem(e):t.firstElementChild}static getFirstItem(e){return e.parentElement.parentElement.firstElementChild.firstElementChild}static getLastItem(e){return e.parentElement.parentElement.lastElementChild.firstElementChild}static getParentItem(e){return e.parentElement.parentElement.parentElement.firstElementChild}static getFirstChildItem(e){return e.nextElementSibling.firstElementChild.firstElementChild}static getLastChildItem(e){return e.nextElementSibling.lastElementChild.firstElementChild}constructor(){this.loadedModule=null,this.spaceKeyPressedOnCollapsible=!1,(0,a.default)(()=>this.initialize())}refreshMenu(){new d(TYPO3.settings.ajaxUrls.modulemenu).get().then(async e=>{const t=await e.resolve();document.getElementById("modulemenu").outerHTML=t.menu,this.initializeModuleMenuEvents(),this.loadedModule&&c.highlightModuleMenuItem(this.loadedModule)})}getCurrentModule(){return this.loadedModule}reloadFrames(){i.NavigationContainer.refresh(),i.ContentContainer.refresh()}showModule(e,t,n=null){t=t||"";const a=(0,o.getRecordFromName)(e);return this.loadModuleComponents(a,t,new r("typo3.showModule",n))}initialize(){if(null===document.querySelector(".t3js-modulemenu"))return;let e=a.default.Deferred();e.resolve(),e.then(()=>{this.initializeModuleMenuEvents(),i.Topbar.Toolbar.registerEvent(()=>{document.querySelector(".t3js-scaffold-toolbar")&&this.initializeTopBarEvents()})})}keyboardNavigation(e,t,n=!1){const o=t.parentElement.attributes.getNamedItem("data-level").value;let a=null;switch(n&&(this.spaceKeyPressedOnCollapsible=!1),e.code){case"ArrowUp":a=c.getPreviousItem(t);break;case"ArrowDown":a=c.getNextItem(t);break;case"ArrowLeft":"1"===o&&t.classList.contains("t3js-modulemenu-collapsible")?("false"===t.attributes.getNamedItem("aria-expanded").value&&c.toggleModuleGroup(t),a=c.getLastChildItem(t)):"2"===o&&(a=c.getPreviousItem(c.getParentItem(t)));break;case"ArrowRight":"1"===o&&t.classList.contains("t3js-modulemenu-collapsible")?("false"===t.attributes.getNamedItem("aria-expanded").value&&c.toggleModuleGroup(t),a=c.getFirstChildItem(t)):"2"===o&&(a=c.getNextItem(c.getParentItem(t)));break;case"Home":a=e.ctrlKey&&"2"===o?c.getFirstItem(c.getParentItem(t)):c.getFirstItem(t);break;case"End":a=e.ctrlKey&&"2"===o?c.getLastItem(c.getParentItem(t)):c.getLastItem(t);break;case"Space":case"Enter":"1"===o&&t.classList.contains("t3js-modulemenu-collapsible")&&("Enter"===e.code&&e.preventDefault(),c.toggleModuleGroup(t),"true"===t.attributes.getNamedItem("aria-expanded").value&&(a=c.getFirstChildItem(t),"Space"===e.code&&(this.spaceKeyPressedOnCollapsible=!0)));break;case"Esc":case"Escape":"2"===o&&(a=c.getParentItem(t),c.toggleModuleGroup(a));break;default:a=null}null!==a&&(e.defaultPrevented||e.preventDefault(),a.focus())}initializeModuleMenuEvents(){const e=document.querySelector(".t3js-modulemenu"),t=function(e){"Space"===e.code&&this.spaceKeyPressedOnCollapsible&&(e.preventDefault(),this.spaceKeyPressedOnCollapsible=!1)}.bind(this);new u("keydown",this.keyboardNavigation).delegateTo(e,".t3js-modulemenu-action"),e.querySelectorAll('[data-level="2"] a.t3js-modulemenu-action[href]').forEach(e=>{e.addEventListener("keyup",t)}),new u("keyup",(e,t)=>{"Space"===e.code&&e.preventDefault()}).delegateTo(e,".t3js-modulemenu-collapsible"),new u("click",(e,t)=>{e.preventDefault(),this.showModule(t.id,"",e)}).delegateTo(e,"a.t3js-modulemenu-action[href]"),new u("click",(e,t)=>{e.preventDefault(),c.toggleModuleGroup(t)}).delegateTo(e,".t3js-modulemenu-collapsible")}initializeTopBarEvents(){const e=document.querySelector(".t3js-scaffold-toolbar");new u("keydown",(e,t)=>{this.keyboardNavigation(e,t)}).delegateTo(e,".t3js-modulemenu-action"),new u("click",(e,t)=>{e.preventDefault(),this.showModule(t.id,"",e)}).delegateTo(e,"a.t3js-modulemenu-action[href]"),new u("click",e=>{e.preventDefault(),c.toggleMenu()}).bindTo(document.querySelector(".t3js-topbar-button-modulemenu")),new u("click",e=>{e.preventDefault(),c.toggleMenu(!0)}).bindTo(document.querySelector(".t3js-scaffold-content-overlay"));const t=e=>{const t=e.detail.module;if(!t||this.loadedModule===t)return;const n=(0,o.getRecordFromName)(t);if(n.link)if(c.highlightModuleMenuItem(t),(0,a.default)("#"+t).focus(),this.loadedModule=t,top.currentSubScript=n.link,top.currentModuleLoaded=t,n.navigationComponentId)i.NavigationContainer.showComponent(n.navigationComponentId);else if(n.navigationFrameScript){i.NavigationContainer.show("typo3-navigationIframe");new r("typo3.showModule",event);this.openInNavFrame(n.navigationFrameScript,n.navigationFrameScriptParam,new s("typo3.loadModuleComponents",new r("typo3.showModule",null)))}else i.NavigationContainer.hide(!1)};document.addEventListener("typo3-module-load",t),document.addEventListener("typo3-module-loaded",t)}loadModuleComponents(e,t,n){const o=e.name,a=i.ContentContainer.beforeSetUrl(n);return a.then(()=>{e.navigationComponentId?i.NavigationContainer.showComponent(e.navigationComponentId):e.navigationFrameScript?(i.NavigationContainer.show("typo3-navigationIframe"),this.openInNavFrame(e.navigationFrameScript,e.navigationFrameScriptParam,new s("typo3.loadModuleComponents",n))):i.NavigationContainer.hide(!0),c.highlightModuleMenuItem(o),this.loadedModule=o,t=c.includeId(e,t),this.openInContentContainer(o,e.link,t,new s("typo3.loadModuleComponents",n)),top.currentSubScript=e.link,top.currentModuleLoaded=o}),a}openInNavFrame(e,t,n){const o=e+(t?(e.includes("?")?"&":"?")+t:""),a=i.NavigationContainer.getUrl(),l=i.NavigationContainer.setUrl(e,new s("typo3.openInNavFrame",n));return a!==o&&("resolved"===l.state()?i.NavigationContainer.refresh():l.then(i.NavigationContainer.refresh)),l}openInContentContainer(e,t,n,o){let a;if(top.nextLoadModuleUrl)console.warn("Using nextLoadModuleUrl is deprecated, and will not work in TYPO3 v12.0. anymores."),a=i.ContentContainer.setUrl(top.nextLoadModuleUrl,new s("typo3.openInContentFrame",o),null),top.nextLoadModuleUrl="";else{const l=t+(n?(t.includes("?")?"&":"?")+n:"");a=i.ContentContainer.setUrl(l,new s("typo3.openInContentFrame",o),e)}return a}}top.TYPO3.ModuleMenu||(top.TYPO3.ModuleMenu={App:new c});return top.TYPO3.ModuleMenu}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/MultiRecordSelection.js b/typo3/sysext/backend/Resources/Public/JavaScript/MultiRecordSelection.js
index 1f187138a310..dcb2aa2c3d01 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/MultiRecordSelection.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/MultiRecordSelection.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,c,o,n){"use strict";var i,l,a,s;!function(e){e.actionsSelector=".t3js-multi-record-selection-actions",e.checkboxSelector=".t3js-multi-record-selection-check",e.checkboxActionsSelector=".t3js-multi-record-selection-check-actions",e.checkboxActionsToggleSelector=".t3js-multi-record-selection-check-actions-toggle",e.rowSelectionSelector="[data-multi-record-selection-row-selection] tr"}(i||(i={})),function(e){e.actionButton="button[data-multi-record-selection-action]",e.checkboxActionButton="button[data-multi-record-selection-check-action]"}(l||(l={})),function(e){e.checkAll="check-all",e.checkNone="check-none",e.toggle="toggle"}(a||(a={})),function(e){e.any="",e.checked=":checked",e.unchecked=":not(:checked)"}(s||(s={}));class r{constructor(){this.lastChecked=null,o.ready().then(()=>{r.restoreTemporaryState(),this.registerActions(),this.registerActionsEventHandlers(),this.registerCheckboxActions(),this.registerCheckboxKeyboardActions(),this.registerCheckboxTableRowSelectionAction(),this.registerToggleCheckboxActions(),this.registerDispatchCheckboxStateChangedEvent(),this.registerCheckboxStateChangedEventHandler()})}static getCheckboxes(e=s.any,t=""){return document.querySelectorAll(r.getCombinedSelector(i.checkboxSelector+e,t))}static getCombinedSelector(e,t){return""!==t?['[data-multi-record-selection-identifier="'+t+'"]',e].join(" "):e}static getIdentifier(e){var t;return(null===(t=e.closest("[data-multi-record-selection-identifier]"))||void 0===t?void 0:t.dataset.multiRecordSelectionIdentifier)||""}static changeCheckboxState(e,t){e.checked===t||e.dataset.manuallyChanged||(e.checked=t,e.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{detail:{identifier:r.getIdentifier(e)},bubbles:!0,cancelable:!1})))}static restoreTemporaryState(){const e=r.getCheckboxes(s.checked);if(!e.length)return;let t=!1,c=[];e.forEach(e=>{e.closest("tr").classList.add("success");const o=r.getIdentifier(e);""===o||c.includes(o)||(c.push(o),t=!0,r.toggleActionsState(o))}),t||r.toggleActionsState()}static toggleActionsState(e=""){const t=document.querySelectorAll(r.getCombinedSelector(i.actionsSelector,e));if(!t.length)return;if(!r.getCheckboxes(s.checked,e).length)return void t.forEach(e=>r.changeActionContainerVisibility(e,!1));t.forEach(e=>r.changeActionContainerVisibility(e));const c=document.querySelectorAll([r.getCombinedSelector(i.actionsSelector,e),l.actionButton].join(" "));c.length&&c.forEach(t=>{if(!t.dataset.multiRecordSelectionActionConfig)return;const c=JSON.parse(t.dataset.multiRecordSelectionActionConfig);if(!c.idField)return;t.classList.add("disabled");const o=r.getCheckboxes(s.checked,e);for(let e=0;e<o.length;e++)if(o[e].closest("tr").dataset[c.idField]){t.classList.remove("disabled");break}})}static changeActionContainerVisibility(e,t=!0){var c;const o=null===(c=e.closest(".multi-record-selection-panel"))||void 0===c?void 0:c.children;if(t){if(o)for(let e=0;e<o.length;e++)o[e].classList.add("hidden");e.classList.remove("hidden")}else{if(o)for(let e=0;e<o.length;e++)o[e].classList.remove("hidden");e.classList.add("hidden")}}static unsetManuallyChangedAttribute(e){r.getCheckboxes(s.any,e).forEach(e=>{e.removeAttribute("data-manually-changed")})}registerActions(){new n("click",(e,t)=>{t.dataset.multiRecordSelectionAction;const c=r.getIdentifier(t),o=JSON.parse(t.dataset.multiRecordSelectionActionConfig||"{}"),n=r.getCheckboxes(s.checked,c);n.length&&t.dispatchEvent(new CustomEvent("multiRecordSelection:action:"+t.dataset.multiRecordSelectionAction,{detail:{identifier:c,checkboxes:n,configuration:o},bubbles:!0,cancelable:!1}))}).delegateTo(document,[i.actionsSelector,l.actionButton].join(" "))}registerActionsEventHandlers(){new n("multiRecordSelection:actions:show",e=>{var t;const c=(null===(t=e.detail)||void 0===t?void 0:t.identifier)||"",o=document.querySelectorAll(r.getCombinedSelector(i.actionsSelector,c));o.length&&o.forEach(e=>r.changeActionContainerVisibility(e))}).bindTo(document),new n("multiRecordSelection:actions:hide",e=>{var t;const c=(null===(t=e.detail)||void 0===t?void 0:t.identifier)||"",o=document.querySelectorAll(r.getCombinedSelector(i.actionsSelector,c));o.length&&o.forEach(e=>r.changeActionContainerVisibility(e,!1))}).bindTo(document)}registerCheckboxActions(){new n("click",(e,t)=>{if(e.preventDefault(),!t.dataset.multiRecordSelectionCheckAction)return;const o=r.getIdentifier(t),n=r.getCheckboxes(s.any,o);if(n.length){switch(r.unsetManuallyChangedAttribute(o),t.dataset.multiRecordSelectionCheckAction){case a.checkAll:n.forEach(e=>{r.changeCheckboxState(e,!0)});break;case a.checkNone:n.forEach(e=>{r.changeCheckboxState(e,!1)});break;case a.toggle:n.forEach(e=>{r.changeCheckboxState(e,!e.checked)});break;default:c.warning("Unknown checkbox action")}r.unsetManuallyChangedAttribute(o)}}).delegateTo(document,[i.checkboxActionsSelector,l.checkboxActionButton].join(" "))}registerCheckboxKeyboardActions(){new n("click",(e,t)=>this.handleCheckboxKeyboardActions(e,t)).delegateTo(document,i.checkboxSelector)}registerCheckboxTableRowSelectionAction(){new n("click",(e,t)=>{const c=e.target.tagName;if("TH"!==c&&"TD"!==c)return;const o=t.querySelector(i.checkboxSelector);null!==o&&(r.changeCheckboxState(o,!o.checked),this.handleCheckboxKeyboardActions(e,o,!1))}).delegateTo(document,i.rowSelectionSelector),new n("mousedown",e=>(e.shiftKey||e.altKey||e.ctrlKey)&&e.preventDefault()).delegateTo(document,i.rowSelectionSelector)}registerDispatchCheckboxStateChangedEvent(){new n("change",(e,t)=>{t.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{detail:{identifier:r.getIdentifier(t)},bubbles:!0,cancelable:!1}))}).delegateTo(document,i.checkboxSelector)}registerCheckboxStateChangedEventHandler(){new n("multiRecordSelection:checkbox:state:changed",e=>{var t;const c=e.target,o=(null===(t=e.detail)||void 0===t?void 0:t.identifier)||"";c.checked?c.closest("tr").classList.add("success"):c.closest("tr").classList.remove("success"),r.toggleActionsState(o)}).bindTo(document)}registerToggleCheckboxActions(){new n("click",(e,t)=>{const c=r.getIdentifier(t),o=document.querySelector([r.getCombinedSelector(i.checkboxActionsSelector,c),'button[data-multi-record-selection-check-action="'+a.checkAll+'"]'].join(" "));null!==o&&o.classList.toggle("disabled",!r.getCheckboxes(s.unchecked,c).length);const n=document.querySelector([r.getCombinedSelector(i.checkboxActionsSelector,c),'button[data-multi-record-selection-check-action="'+a.checkNone+'"]'].join(" "));null!==n&&n.classList.toggle("disabled",!r.getCheckboxes(s.checked,c).length);const l=document.querySelector([r.getCombinedSelector(i.checkboxActionsSelector,c),'button[data-multi-record-selection-check-action="'+a.toggle+'"]'].join(" "));null!==l&&l.classList.toggle("disabled",!r.getCheckboxes(s.any,c).length)}).delegateTo(document,i.checkboxActionsToggleSelector)}handleCheckboxKeyboardActions(e,t,c=!0){const o=r.getIdentifier(t);if(this.lastChecked&&document.body.contains(this.lastChecked)&&r.getIdentifier(this.lastChecked)===o&&(e.shiftKey||e.altKey||e.ctrlKey)){if(c&&r.unsetManuallyChangedAttribute(o),e.shiftKey){const e=Array.from(r.getCheckboxes(s.any,o)),c=e.indexOf(t),n=e.indexOf(this.lastChecked);e.slice(Math.min(c,n),Math.max(c,n)+1).forEach(e=>{e!==t&&r.changeCheckboxState(e,t.checked)})}this.lastChecked=t,(e.altKey||e.ctrlKey)&&r.getCheckboxes(s.any,o).forEach(e=>{e!==t&&r.changeCheckboxState(e,!e.checked)}),r.unsetManuallyChangedAttribute(o)}else this.lastChecked=t}}return new r}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,c,o,n){"use strict";var i,l,a,s;!function(e){e.actionsSelector=".t3js-multi-record-selection-actions",e.checkboxSelector=".t3js-multi-record-selection-check",e.checkboxActionsSelector=".t3js-multi-record-selection-check-actions",e.checkboxActionsToggleSelector=".t3js-multi-record-selection-check-actions-toggle",e.rowSelectionSelector="[data-multi-record-selection-row-selection] tr"}(i||(i={})),function(e){e.actionButton="button[data-multi-record-selection-action]",e.checkboxActionButton="button[data-multi-record-selection-check-action]"}(l||(l={})),function(e){e.checkAll="check-all",e.checkNone="check-none",e.toggle="toggle"}(a||(a={})),function(e){e.any="",e.checked=":checked",e.unchecked=":not(:checked)"}(s||(s={}));class r{static getCheckboxes(e=s.any,t=""){return document.querySelectorAll(r.getCombinedSelector(i.checkboxSelector+e,t))}static getCombinedSelector(e,t){return""!==t?['[data-multi-record-selection-identifier="'+t+'"]',e].join(" "):e}static getIdentifier(e){var t;return(null===(t=e.closest("[data-multi-record-selection-identifier]"))||void 0===t?void 0:t.dataset.multiRecordSelectionIdentifier)||""}static changeCheckboxState(e,t){e.checked===t||e.dataset.manuallyChanged||(e.checked=t,e.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{detail:{identifier:r.getIdentifier(e)},bubbles:!0,cancelable:!1})))}static restoreTemporaryState(){const e=r.getCheckboxes(s.checked);if(!e.length)return;let t=!1,c=[];e.forEach(e=>{e.closest("tr").classList.add("success");const o=r.getIdentifier(e);""===o||c.includes(o)||(c.push(o),t=!0,r.toggleActionsState(o))}),t||r.toggleActionsState()}static toggleActionsState(e=""){const t=document.querySelectorAll(r.getCombinedSelector(i.actionsSelector,e));if(!t.length)return;if(!r.getCheckboxes(s.checked,e).length)return void t.forEach(e=>r.changeActionContainerVisibility(e,!1));t.forEach(e=>r.changeActionContainerVisibility(e));const c=document.querySelectorAll([r.getCombinedSelector(i.actionsSelector,e),l.actionButton].join(" "));c.length&&c.forEach(t=>{if(!t.dataset.multiRecordSelectionActionConfig)return;const c=JSON.parse(t.dataset.multiRecordSelectionActionConfig);if(!c.idField)return;t.classList.add("disabled");const o=r.getCheckboxes(s.checked,e);for(let e=0;e<o.length;e++)if(o[e].closest("tr").dataset[c.idField]){t.classList.remove("disabled");break}})}static changeActionContainerVisibility(e,t=!0){var c;const o=null===(c=e.closest(".multi-record-selection-panel"))||void 0===c?void 0:c.children;if(t){if(o)for(let e=0;e<o.length;e++)o[e].classList.add("hidden");e.classList.remove("hidden")}else{if(o)for(let e=0;e<o.length;e++)o[e].classList.remove("hidden");e.classList.add("hidden")}}static unsetManuallyChangedAttribute(e){r.getCheckboxes(s.any,e).forEach(e=>{e.removeAttribute("data-manually-changed")})}constructor(){this.lastChecked=null,o.ready().then(()=>{r.restoreTemporaryState(),this.registerActions(),this.registerActionsEventHandlers(),this.registerCheckboxActions(),this.registerCheckboxKeyboardActions(),this.registerCheckboxTableRowSelectionAction(),this.registerToggleCheckboxActions(),this.registerDispatchCheckboxStateChangedEvent(),this.registerCheckboxStateChangedEventHandler()})}registerActions(){new n("click",(e,t)=>{t.dataset.multiRecordSelectionAction;const c=r.getIdentifier(t),o=JSON.parse(t.dataset.multiRecordSelectionActionConfig||"{}"),n=r.getCheckboxes(s.checked,c);n.length&&t.dispatchEvent(new CustomEvent("multiRecordSelection:action:"+t.dataset.multiRecordSelectionAction,{detail:{identifier:c,checkboxes:n,configuration:o},bubbles:!0,cancelable:!1}))}).delegateTo(document,[i.actionsSelector,l.actionButton].join(" "))}registerActionsEventHandlers(){new n("multiRecordSelection:actions:show",e=>{var t;const c=(null===(t=e.detail)||void 0===t?void 0:t.identifier)||"",o=document.querySelectorAll(r.getCombinedSelector(i.actionsSelector,c));o.length&&o.forEach(e=>r.changeActionContainerVisibility(e))}).bindTo(document),new n("multiRecordSelection:actions:hide",e=>{var t;const c=(null===(t=e.detail)||void 0===t?void 0:t.identifier)||"",o=document.querySelectorAll(r.getCombinedSelector(i.actionsSelector,c));o.length&&o.forEach(e=>r.changeActionContainerVisibility(e,!1))}).bindTo(document)}registerCheckboxActions(){new n("click",(e,t)=>{if(e.preventDefault(),!t.dataset.multiRecordSelectionCheckAction)return;const o=r.getIdentifier(t),n=r.getCheckboxes(s.any,o);if(n.length){switch(r.unsetManuallyChangedAttribute(o),t.dataset.multiRecordSelectionCheckAction){case a.checkAll:n.forEach(e=>{r.changeCheckboxState(e,!0)});break;case a.checkNone:n.forEach(e=>{r.changeCheckboxState(e,!1)});break;case a.toggle:n.forEach(e=>{r.changeCheckboxState(e,!e.checked)});break;default:c.warning("Unknown checkbox action")}r.unsetManuallyChangedAttribute(o)}}).delegateTo(document,[i.checkboxActionsSelector,l.checkboxActionButton].join(" "))}registerCheckboxKeyboardActions(){new n("click",(e,t)=>this.handleCheckboxKeyboardActions(e,t)).delegateTo(document,i.checkboxSelector)}registerCheckboxTableRowSelectionAction(){new n("click",(e,t)=>{const c=e.target.tagName;if("TH"!==c&&"TD"!==c)return;const o=t.querySelector(i.checkboxSelector);null!==o&&(r.changeCheckboxState(o,!o.checked),this.handleCheckboxKeyboardActions(e,o,!1))}).delegateTo(document,i.rowSelectionSelector),new n("mousedown",e=>(e.shiftKey||e.altKey||e.ctrlKey)&&e.preventDefault()).delegateTo(document,i.rowSelectionSelector)}registerDispatchCheckboxStateChangedEvent(){new n("change",(e,t)=>{t.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{detail:{identifier:r.getIdentifier(t)},bubbles:!0,cancelable:!1}))}).delegateTo(document,i.checkboxSelector)}registerCheckboxStateChangedEventHandler(){new n("multiRecordSelection:checkbox:state:changed",e=>{var t;const c=e.target,o=(null===(t=e.detail)||void 0===t?void 0:t.identifier)||"";c.checked?c.closest("tr").classList.add("success"):c.closest("tr").classList.remove("success"),r.toggleActionsState(o)}).bindTo(document)}registerToggleCheckboxActions(){new n("click",(e,t)=>{const c=r.getIdentifier(t),o=document.querySelector([r.getCombinedSelector(i.checkboxActionsSelector,c),'button[data-multi-record-selection-check-action="'+a.checkAll+'"]'].join(" "));null!==o&&o.classList.toggle("disabled",!r.getCheckboxes(s.unchecked,c).length);const n=document.querySelector([r.getCombinedSelector(i.checkboxActionsSelector,c),'button[data-multi-record-selection-check-action="'+a.checkNone+'"]'].join(" "));null!==n&&n.classList.toggle("disabled",!r.getCheckboxes(s.checked,c).length);const l=document.querySelector([r.getCombinedSelector(i.checkboxActionsSelector,c),'button[data-multi-record-selection-check-action="'+a.toggle+'"]'].join(" "));null!==l&&l.classList.toggle("disabled",!r.getCheckboxes(s.any,c).length)}).delegateTo(document,i.checkboxActionsToggleSelector)}handleCheckboxKeyboardActions(e,t,c=!0){const o=r.getIdentifier(t);if(this.lastChecked&&document.body.contains(this.lastChecked)&&r.getIdentifier(this.lastChecked)===o&&(e.shiftKey||e.altKey||e.ctrlKey)){if(c&&r.unsetManuallyChangedAttribute(o),e.shiftKey){const e=Array.from(r.getCheckboxes(s.any,o)),c=e.indexOf(t),n=e.indexOf(this.lastChecked);e.slice(Math.min(c,n),Math.max(c,n)+1).forEach(e=>{e!==t&&r.changeCheckboxState(e,t.checked)})}this.lastChecked=t,(e.altKey||e.ctrlKey)&&r.getCheckboxes(s.any,o).forEach(e=>{e!==t&&r.changeCheckboxState(e,!e.checked)}),r.unsetManuallyChangedAttribute(o)}else this.lastChecked=t}}return new r}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizard.js b/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizard.js
index bdea015e9515..4eafe6452d5e 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizard.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizard.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/Modal","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/Event/DebounceEvent","TYPO3/CMS/Core/Ajax/AjaxRequest"],(function(e,t,o,a,i,n,r){"use strict";var s,l;Object.defineProperty(t,"__esModule",{value:!0}),t.NewContentElementWizard=void 0,r=__importDefault(r),function(e){e.wizardWindow="t3-new-content-element-wizard-window"}(s||(s={})),function(e){e.modalBodySelector=".t3js-modal-body",e.modalTabsSelector=".t3js-tabs",e.elementsFilterSelector=".t3js-contentWizard-search",e.noResultSelector=".t3js-filter-noresult",e.wizardWindowSelector=".t3-new-content-element-wizard-window",e.wizardElementSelector=".t3js-media-new-content-element-wizard",e.wizardElementWithTargetSelector="button[data-target]",e.wizardElementWithPositionMapArugmentsSelector="button[data-position-map-arguments]"}(l||(l={}));class d{constructor(e){var t;this.modal=e,this.elementsFilter=this.modal.querySelector(l.elementsFilterSelector),null===(t=this.modal.querySelector(l.modalBodySelector))||void 0===t||t.classList.add(s.wizardWindow),this.registerEvents()}static getTabIdentifier(e){const t=e.querySelector("a"),[,o]=t.href.split("#");return o}static countVisibleContentElements(e){return e.querySelectorAll(l.wizardElementSelector+":not(.hidden)").length}registerEvents(){new i("shown.bs.modal",()=>{this.elementsFilter.focus()}).bindTo(this.modal),new i("keydown",e=>{const t=e.target;"Escape"===e.code&&(e.stopImmediatePropagation(),t.value="")}).bindTo(this.elementsFilter),new n("keyup",e=>{this.filterElements(e.target)},150).bindTo(this.elementsFilter),new i("search",e=>{this.filterElements(e.target)}).bindTo(this.elementsFilter),new i("click",e=>{e.preventDefault(),e.stopPropagation()}).delegateTo(this.modal,[l.modalTabsSelector,".disabled"].join(" ")),new i("click",(e,t)=>{e.preventDefault();const a=t.dataset.target;a&&(o.dismiss(),top.list_frame.location.href=a)}).delegateTo(this.modal,[l.wizardWindowSelector,l.wizardElementWithTargetSelector].join(" ")),new i("click",(e,t)=>{if(e.preventDefault(),!t.dataset.positionMapArguments)return;const o=JSON.parse(t.dataset.positionMapArguments);o.url&&new r.default(o.url).post({defVals:o.defVals,saveAndClose:o.saveAndClose?"1":"0"}).then(async e=>{this.modal.querySelector(l.wizardWindowSelector).innerHTML=await e.raw().text()}).catch(()=>{a.error("Could not load module data")})}).delegateTo(this.modal,[l.wizardWindowSelector,l.wizardElementWithPositionMapArugmentsSelector].join(" "))}filterElements(e){const t=this.modal.querySelector(l.modalTabsSelector),o=this.modal.querySelector(l.noResultSelector);this.modal.querySelectorAll(l.wizardElementSelector).forEach(t=>{const o=t.textContent.trim().replace(/\s+/g," ");t.classList.toggle("hidden",""!==e.value&&!RegExp(e.value,"i").test(o))});const a=d.countVisibleContentElements(this.modal);t.parentElement.classList.toggle("hidden",0===a),o.classList.toggle("hidden",a>0),this.switchTabIfNecessary(t)}switchTabIfNecessary(e){const t=e.querySelector(".active").parentElement,o=Array.from(t.parentElement.children);for(let e of o){const t=d.getTabIdentifier(e),o=e.querySelector("a");o.classList.toggle("disabled",!this.hasTabContent(t)),o.classList.contains("disabled")?o.setAttribute("tabindex","-1"):o.removeAttribute("tabindex")}if(!this.hasTabContent(d.getTabIdentifier(t)))for(let a of o){if(a===t)continue;const o=d.getTabIdentifier(a);if(this.hasTabContent(o)){this.switchTab(e.parentElement,o);break}}}hasTabContent(e){const t=this.modal.querySelector("#"+e);return d.countVisibleContentElements(t)>0}switchTab(e,t){const o=e.querySelector(`a[href="#${t}"]`),a=this.modal.querySelector("#"+t);e.querySelector("a.active").classList.remove("active"),e.querySelector(".tab-pane.active").classList.remove("active"),o.classList.add("active"),a.classList.add("active")}}t.NewContentElementWizard=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/Modal","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Core/Event/DebounceEvent","TYPO3/CMS/Core/Ajax/AjaxRequest"],(function(e,t,o,a,i,n,r){"use strict";var s,l;Object.defineProperty(t,"__esModule",{value:!0}),t.NewContentElementWizard=void 0,r=__importDefault(r),function(e){e.wizardWindow="t3-new-content-element-wizard-window"}(s||(s={})),function(e){e.modalBodySelector=".t3js-modal-body",e.modalTabsSelector=".t3js-tabs",e.elementsFilterSelector=".t3js-contentWizard-search",e.noResultSelector=".t3js-filter-noresult",e.wizardWindowSelector=".t3-new-content-element-wizard-window",e.wizardElementSelector=".t3js-media-new-content-element-wizard",e.wizardElementWithTargetSelector="button[data-target]",e.wizardElementWithPositionMapArugmentsSelector="button[data-position-map-arguments]"}(l||(l={}));class d{static getTabIdentifier(e){const t=e.querySelector("a"),[,o]=t.href.split("#");return o}static countVisibleContentElements(e){return e.querySelectorAll(l.wizardElementSelector+":not(.hidden)").length}constructor(e){var t;this.modal=e,this.elementsFilter=this.modal.querySelector(l.elementsFilterSelector),null===(t=this.modal.querySelector(l.modalBodySelector))||void 0===t||t.classList.add(s.wizardWindow),this.registerEvents()}registerEvents(){new i("shown.bs.modal",()=>{this.elementsFilter.focus()}).bindTo(this.modal),new i("keydown",e=>{const t=e.target;"Escape"===e.code&&(e.stopImmediatePropagation(),t.value="")}).bindTo(this.elementsFilter),new n("keyup",e=>{this.filterElements(e.target)},150).bindTo(this.elementsFilter),new i("search",e=>{this.filterElements(e.target)}).bindTo(this.elementsFilter),new i("click",e=>{e.preventDefault(),e.stopPropagation()}).delegateTo(this.modal,[l.modalTabsSelector,".disabled"].join(" ")),new i("click",(e,t)=>{e.preventDefault();const a=t.dataset.target;a&&(o.dismiss(),top.list_frame.location.href=a)}).delegateTo(this.modal,[l.wizardWindowSelector,l.wizardElementWithTargetSelector].join(" ")),new i("click",(e,t)=>{if(e.preventDefault(),!t.dataset.positionMapArguments)return;const o=JSON.parse(t.dataset.positionMapArguments);o.url&&new r.default(o.url).post({defVals:o.defVals,saveAndClose:o.saveAndClose?"1":"0"}).then(async e=>{this.modal.querySelector(l.wizardWindowSelector).innerHTML=await e.raw().text()}).catch(()=>{a.error("Could not load module data")})}).delegateTo(this.modal,[l.wizardWindowSelector,l.wizardElementWithPositionMapArugmentsSelector].join(" "))}filterElements(e){const t=this.modal.querySelector(l.modalTabsSelector),o=this.modal.querySelector(l.noResultSelector);this.modal.querySelectorAll(l.wizardElementSelector).forEach(t=>{const o=t.textContent.trim().replace(/\s+/g," ");t.classList.toggle("hidden",""!==e.value&&!RegExp(e.value,"i").test(o))});const a=d.countVisibleContentElements(this.modal);t.parentElement.classList.toggle("hidden",0===a),o.classList.toggle("hidden",a>0),this.switchTabIfNecessary(t)}switchTabIfNecessary(e){const t=e.querySelector(".active").parentElement,o=Array.from(t.parentElement.children);for(let e of o){const t=d.getTabIdentifier(e),o=e.querySelector("a");o.classList.toggle("disabled",!this.hasTabContent(t)),o.classList.contains("disabled")?o.setAttribute("tabindex","-1"):o.removeAttribute("tabindex")}if(!this.hasTabContent(d.getTabIdentifier(t)))for(let a of o){if(a===t)continue;const o=d.getTabIdentifier(a);if(this.hasTabContent(o)){this.switchTab(e.parentElement,o);break}}}hasTabContent(e){const t=this.modal.querySelector("#"+e);return d.countVisibleContentElements(t)>0}switchTab(e,t){const o=e.querySelector(`a[href="#${t}"]`),a=this.modal.querySelector("#"+t);e.querySelector("a.active").classList.remove("active"),e.querySelector(".tab-pane.active").classList.remove("active"),o.classList.add("active"),a.classList.add("active")}}t.NewContentElementWizard=d}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizardButton.js b/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizardButton.js
index b4c1e85e93d2..e94d2a818cc8 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizardButton.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/NewContentElementWizardButton.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __decorate=this&&this.__decorate||function(e,t,n,r){var o,i=arguments.length,d=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)d=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(d=(i<3?o(d):i>3?o(t,n,d):o(t,n))||d);return i>3&&d&&Object.defineProperty(t,n,d),d};define(["require","exports","lit/decorators","lit","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/NewContentElementWizard"],(function(e,t,n,r,o,i,d){"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.NewContentElementWizardButton=void 0;let l=a=class extends r.LitElement{constructor(){super(),this.addEventListener("click",e=>{e.preventDefault(),this.renderWizard()})}static handleModalContentLoaded(e){e&&e.querySelector(".t3-new-content-element-wizard-inner")&&new d.NewContentElementWizard(e)}render(){return r.html`<slot></slot>`}renderWizard(){this.url&&o.advanced({content:this.url,title:this.title,severity:i.SeverityEnum.notice,size:o.sizes.medium,type:o.types.ajax,ajaxCallback:()=>a.handleModalContentLoaded(o.currentModal[0])})}};__decorate([(0,n.property)({type:String})],l.prototype,"url",void 0),__decorate([(0,n.property)({type:String})],l.prototype,"title",void 0),l=a=__decorate([(0,n.customElement)("typo3-backend-new-content-element-wizard-button")],l),t.NewContentElementWizardButton=l}));
\ No newline at end of file
+var __decorate=this&&this.__decorate||function(e,t,n,r){var o,i=arguments.length,d=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)d=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(d=(i<3?o(d):i>3?o(t,n,d):o(t,n))||d);return i>3&&d&&Object.defineProperty(t,n,d),d};define(["require","exports","lit/decorators","lit","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/NewContentElementWizard"],(function(e,t,n,r,o,i,d){"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.NewContentElementWizardButton=void 0;let l=a=class extends r.LitElement{static handleModalContentLoaded(e){e&&e.querySelector(".t3-new-content-element-wizard-inner")&&new d.NewContentElementWizard(e)}constructor(){super(),this.addEventListener("click",e=>{e.preventDefault(),this.renderWizard()})}render(){return r.html`<slot></slot>`}renderWizard(){this.url&&o.advanced({content:this.url,title:this.title,severity:i.SeverityEnum.notice,size:o.sizes.medium,type:o.types.ajax,ajaxCallback:()=>a.handleModalContentLoaded(o.currentModal[0])})}};__decorate([(0,n.property)({type:String})],l.prototype,"url",void 0),__decorate([(0,n.property)({type:String})],l.prototype,"title",void 0),l=a=__decorate([(0,n.customElement)("typo3-backend-new-content-element-wizard-button")],l),t.NewContentElementWizardButton=l}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Tabs.js b/typo3/sysext/backend/Resources/Public/JavaScript/Tabs.js
index d897101c985d..f1cb518d2756 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Tabs.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Tabs.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","./Storage/BrowserSession","./Storage/Client","bootstrap"],(function(t,e,s,a,r){"use strict";s=__importDefault(s);return new class{constructor(){this.storeLastActiveTab=!0;const t=this;(0,s.default)(()=>{(0,s.default)(".t3js-tabs").each((function(){const e=(0,s.default)(this);t.storeLastActiveTab=1===e.data("storeLastTab");const a=t.receiveActiveTab(e.attr("id"));a&&e.find('a[href="'+a+'"]').tab("show"),e.on("show.bs.tab",e=>{if(t.storeLastActiveTab){const s=e.currentTarget.id,a=e.target.hash;t.storeActiveTab(s,a)}})}))}),r.unsetByPrefix("tabs-")}static getTimestamp(){return Math.round((new Date).getTime()/1e3)}receiveActiveTab(t){return a.get(t)||""}storeActiveTab(t,e){a.set(t,e)}}}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","./Storage/BrowserSession","./Storage/Client","bootstrap"],(function(t,e,s,a,r){"use strict";s=__importDefault(s);return new class{static getTimestamp(){return Math.round((new Date).getTime()/1e3)}constructor(){this.storeLastActiveTab=!0;const t=this;(0,s.default)(()=>{(0,s.default)(".t3js-tabs").each((function(){const e=(0,s.default)(this);t.storeLastActiveTab=1===e.data("storeLastTab");const a=t.receiveActiveTab(e.attr("id"));a&&e.find('a[href="'+a+'"]').tab("show"),e.on("show.bs.tab",e=>{if(t.storeLastActiveTab){const s=e.currentTarget.id,a=e.target.hash;t.storeActiveTab(s,a)}})}))}),r.unsetByPrefix("tabs-")}receiveActiveTab(t){return a.get(t)||""}storeActiveTab(t,e){a.set(t,e)}}}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/SystemInformationMenu.js b/typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/SystemInformationMenu.js
index 5de414202e77..44be9b9e6e42 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/SystemInformationMenu.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/SystemInformationMenu.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/Core/Ajax/AjaxRequest","../Icons","../Storage/Persistent","../Viewport"],(function(e,t,o,n,r,a,i){"use strict";var s;o=__importDefault(o),function(e){e.containerSelector="#typo3-cms-backend-backend-toolbaritems-systeminformationtoolbaritem",e.toolbarIconSelector=".toolbar-item-icon .t3js-icon",e.menuContainerSelector=".dropdown-menu",e.moduleLinks=".t3js-systeminformation-module",e.counter=".t3js-systeminformation-counter"}(s||(s={}));class l{constructor(){this.timer=null,this.updateMenu=()=>{const e=(0,o.default)(s.toolbarIconSelector,s.containerSelector),t=e.clone(),a=(0,o.default)(s.containerSelector).find(s.menuContainerSelector);null!==this.timer&&(clearTimeout(this.timer),this.timer=null),r.getIcon("spinner-circle-light",r.sizes.small).then(t=>{e.replaceWith(t)}),new n(TYPO3.settings.ajaxUrls.systeminformation_render).get().then(async e=>{a.html(await e.resolve()),l.updateCounter(),(0,o.default)(s.moduleLinks).on("click",this.openModule)}).finally(()=>{(0,o.default)(s.toolbarIconSelector,s.containerSelector).replaceWith(t),this.timer=setTimeout(this.updateMenu,3e5)})},i.Topbar.Toolbar.registerEvent(this.updateMenu)}static updateCounter(){const e=(0,o.default)(s.containerSelector).find(s.menuContainerSelector).find(".t3js-systeminformation-container"),t=(0,o.default)(s.counter),n=e.data("count"),r=e.data("severityclass");t.text(n).toggle(parseInt(n,10)>0),t.removeClass(),t.addClass("t3js-systeminformation-counter toolbar-item-badge badge rounded-pill"),""!==r&&t.addClass(r)}openModule(e){e.preventDefault(),e.stopPropagation();let t={};const n={},r=(0,o.default)(e.currentTarget).data("modulename"),s=(0,o.default)(e.currentTarget).data("moduleparams"),l=Math.floor((new Date).getTime()/1e3);a.isset("systeminformation")&&(t=JSON.parse(a.get("systeminformation"))),n[r]={lastAccess:l},o.default.extend(!0,t,n);a.set("systeminformation",JSON.stringify(t)).done(()=>{TYPO3.ModuleMenu.App.showModule(r,s),i.Topbar.refresh()})}}return new l}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","TYPO3/CMS/Core/Ajax/AjaxRequest","../Icons","../Storage/Persistent","../Viewport"],(function(e,t,o,n,r,a,i){"use strict";var s;o=__importDefault(o),function(e){e.containerSelector="#typo3-cms-backend-backend-toolbaritems-systeminformationtoolbaritem",e.toolbarIconSelector=".toolbar-item-icon .t3js-icon",e.menuContainerSelector=".dropdown-menu",e.moduleLinks=".t3js-systeminformation-module",e.counter=".t3js-systeminformation-counter"}(s||(s={}));class l{static updateCounter(){const e=(0,o.default)(s.containerSelector).find(s.menuContainerSelector).find(".t3js-systeminformation-container"),t=(0,o.default)(s.counter),n=e.data("count"),r=e.data("severityclass");t.text(n).toggle(parseInt(n,10)>0),t.removeClass(),t.addClass("t3js-systeminformation-counter toolbar-item-badge badge rounded-pill"),""!==r&&t.addClass(r)}constructor(){this.timer=null,this.updateMenu=()=>{const e=(0,o.default)(s.toolbarIconSelector,s.containerSelector),t=e.clone(),a=(0,o.default)(s.containerSelector).find(s.menuContainerSelector);null!==this.timer&&(clearTimeout(this.timer),this.timer=null),r.getIcon("spinner-circle-light",r.sizes.small).then(t=>{e.replaceWith(t)}),new n(TYPO3.settings.ajaxUrls.systeminformation_render).get().then(async e=>{a.html(await e.resolve()),l.updateCounter(),(0,o.default)(s.moduleLinks).on("click",this.openModule)}).finally(()=>{(0,o.default)(s.toolbarIconSelector,s.containerSelector).replaceWith(t),this.timer=setTimeout(this.updateMenu,3e5)})},i.Topbar.Toolbar.registerEvent(this.updateMenu)}openModule(e){e.preventDefault(),e.stopPropagation();let t={};const n={},r=(0,o.default)(e.currentTarget).data("modulename"),s=(0,o.default)(e.currentTarget).data("moduleparams"),l=Math.floor((new Date).getTime()/1e3);a.isset("systeminformation")&&(t=JSON.parse(a.get("systeminformation"))),n[r]={lastAccess:l},o.default.extend(!0,t,n);a.set("systeminformation",JSON.stringify(t)).done(()=>{TYPO3.ModuleMenu.App.showModule(r,s),i.Topbar.refresh()})}}return new l}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Tree/DragDrop.js b/typo3/sysext/backend/Resources/Public/JavaScript/Tree/DragDrop.js
index f1332b9610da..d8bb10ee2106 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Tree/DragDrop.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Tree/DragDrop.js
@@ -10,7 +10,7 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,o){void 0===o&&(o=s);var r=Object.getOwnPropertyDescriptor(t,s);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,o,r)}:function(e,t,s,o){void 0===o&&(o=s),e[o]=t[s]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&__createBinding(t,e,s);return __setModuleDefault(t,e),t};define(["require","exports","lit","TYPO3/CMS/Core/lit-helper","d3-drag","d3-selection"],(function(e,t,s,o,r,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DragDrop=t.DraggablePositionEnum=void 0,r=__importStar(r),d=__importStar(d);var n;!function(e){e.INSIDE="inside",e.BEFORE="before",e.AFTER="after"}(n=t.DraggablePositionEnum||(t.DraggablePositionEnum={}));class i{constructor(e){this.timeout={},this.minimalDistance=10,this.tree=e}static setDragStart(){document.querySelectorAll("iframe").forEach(e=>e.style.pointerEvents="none")}static setDragEnd(){document.querySelectorAll("iframe").forEach(e=>e.style.pointerEvents="")}connectDragHandler(e){return r.drag().filter(e=>e instanceof MouseEvent).clickDistance(5).on("start",(function(t){e.dragStart(t)&&i.setDragStart()})).on("drag",(function(t){e.dragDragged(t)})).on("end",(function(t){i.setDragEnd(),e.dragEnd(t)}))}createDraggable(e,t){var r;let d=this.tree.svg.node();const n=(0,o.renderNodes)(class{static get(e,t){return s.html`<div class="node-dd node-dd--nodrop">
+var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,o){void 0===o&&(o=s);var r=Object.getOwnPropertyDescriptor(t,s);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,o,r)}:function(e,t,s,o){void 0===o&&(o=s),e[o]=t[s]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&__createBinding(t,e,s);return __setModuleDefault(t,e),t};define(["require","exports","lit","TYPO3/CMS/Core/lit-helper","d3-drag","d3-selection"],(function(e,t,s,o,r,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DragDrop=t.DraggablePositionEnum=void 0,r=__importStar(r),d=__importStar(d);var n;!function(e){e.INSIDE="inside",e.BEFORE="before",e.AFTER="after"}(n=t.DraggablePositionEnum||(t.DraggablePositionEnum={}));class i{static setDragStart(){document.querySelectorAll("iframe").forEach(e=>e.style.pointerEvents="none")}static setDragEnd(){document.querySelectorAll("iframe").forEach(e=>e.style.pointerEvents="")}constructor(e){this.timeout={},this.minimalDistance=10,this.tree=e}connectDragHandler(e){return r.drag().filter(e=>e instanceof MouseEvent).clickDistance(5).on("start",(function(t){e.dragStart(t)&&i.setDragStart()})).on("drag",(function(t){e.dragDragged(t)})).on("end",(function(t){i.setDragEnd(),e.dragEnd(t)}))}createDraggable(e,t){var r;let d=this.tree.svg.node();const n=(0,o.renderNodes)(class{static get(e,t){return s.html`<div class="node-dd node-dd--nodrop">
         <div class="node-dd__ctrl-icon"></div>
         <div class="node-dd__text">
             <span class="node-dd__icon">
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/UserPassLogin.js b/typo3/sysext/backend/Resources/Public/JavaScript/UserPassLogin.js
index 7a1a1d9c82e0..cae61df23974 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/UserPassLogin.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/UserPassLogin.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","./Login"],(function(e,t,s,i){"use strict";s=__importDefault(s);class o{constructor(){this.resetPassword=()=>{const e=(0,s.default)(this.options.passwordField);e.val()&&((0,s.default)(i.options.useridentField).val(e.val()),e.val(""))},this.showCapsLockWarning=e=>{(0,s.default)(e.target).parent().parent().find(".t3js-login-alert-capslock").toggleClass("hidden",!o.isCapslockEnabled(e))},this.toggleCopyright=e=>{" "===e.key&&e.target.click()},this.options={passwordField:".t3js-login-password-field",usernameField:".t3js-login-username-field",copyrightLink:"t3js-login-copyright-link"},i.options.submitHandler=this.resetPassword;const e=(0,s.default)(this.options.usernameField),t=(0,s.default)(this.options.passwordField),n=document.getElementsByClassName(this.options.copyrightLink)[0];e.on("keypress",this.showCapsLockWarning),t.on("keypress",this.showCapsLockWarning),n.addEventListener("keydown",this.toggleCopyright);try{parent.opener&&parent.opener.TYPO3&&parent.opener.TYPO3.configuration&&parent.opener.TYPO3.configuration.username&&e.val(parent.opener.TYPO3.configuration.username)}catch(e){}""===e.val()?e.focus():t.focus()}static isCapslockEnabled(e){const t=e||window.event;if(!t)return!1;let s=-1;t.which?s=t.which:t.keyCode&&(s=t.keyCode);let i=!1;return t.shiftKey?i=t.shiftKey:t.modifiers&&(i=!!(4&t.modifiers)),s>=65&&s<=90&&!i||s>=97&&s<=122&&i}}return new o}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","./Login"],(function(e,t,s,i){"use strict";s=__importDefault(s);class o{static isCapslockEnabled(e){const t=e||window.event;if(!t)return!1;let s=-1;t.which?s=t.which:t.keyCode&&(s=t.keyCode);let i=!1;return t.shiftKey?i=t.shiftKey:t.modifiers&&(i=!!(4&t.modifiers)),s>=65&&s<=90&&!i||s>=97&&s<=122&&i}constructor(){this.resetPassword=()=>{const e=(0,s.default)(this.options.passwordField);e.val()&&((0,s.default)(i.options.useridentField).val(e.val()),e.val(""))},this.showCapsLockWarning=e=>{(0,s.default)(e.target).parent().parent().find(".t3js-login-alert-capslock").toggleClass("hidden",!o.isCapslockEnabled(e))},this.toggleCopyright=e=>{" "===e.key&&e.target.click()},this.options={passwordField:".t3js-login-password-field",usernameField:".t3js-login-username-field",copyrightLink:"t3js-login-copyright-link"},i.options.submitHandler=this.resetPassword;const e=(0,s.default)(this.options.usernameField),t=(0,s.default)(this.options.passwordField),n=document.getElementsByClassName(this.options.copyrightLink)[0];e.on("keypress",this.showCapsLockWarning),t.on("keypress",this.showCapsLockWarning),n.addEventListener("keydown",this.toggleCopyright);try{parent.opener&&parent.opener.TYPO3&&parent.opener.TYPO3.configuration&&parent.opener.TYPO3.configuration.username&&e.val(parent.opener.TYPO3.configuration.username)}catch(e){}""===e.val()?e.focus():t.focus()}}return new o}));
\ No newline at end of file
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Viewport/NavigationContainer.js b/typo3/sysext/backend/Resources/Public/JavaScript/Viewport/NavigationContainer.js
index 5d599d41369b..636571d78c7a 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Viewport/NavigationContainer.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Viewport/NavigationContainer.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","../Enum/Viewport/ScaffoldIdentifier","./AbstractContainer","../Event/TriggerRequest"],(function(t,e,n,o,i){"use strict";class a extends o.AbstractContainer{constructor(t){super(t),this.activeComponentId=""}get parent(){return document.querySelector(n.ScaffoldIdentifierEnum.scaffold)}get container(){return document.querySelector(n.ScaffoldIdentifierEnum.contentNavigation)}get switcher(){return document.querySelector(n.ScaffoldIdentifierEnum.contentNavigationSwitcher)}showComponent(e){const n=this.container;if(this.show(e),e===this.activeComponentId)return;if(""!==this.activeComponentId){let t=n.querySelector("#navigationComponent-"+this.activeComponentId.replace(/[/]/g,"_"));t&&(t.style.display="none")}const o="navigationComponent-"+e.replace(/[/]/g,"_");if(1===n.querySelectorAll('[data-component="'+e+'"]').length)return this.show(e),void(this.activeComponentId=e);t([e],t=>{if("string"==typeof t.navigationComponentName){const i=t.navigationComponentName,a=document.createElement(i);a.setAttribute("id",o),a.classList.add("scaffold-content-navigation-component"),a.dataset.component=e,n.append(a)}else{n.insertAdjacentHTML("beforeend",'<div class="scaffold-content-navigation-component" data-component="'+e+'" id="'+o+'"></div>');Object.values(t)[0].initialize("#"+o)}this.show(e),this.activeComponentId=e})}hide(t){const e=this.parent,n=this.switcher;e.classList.remove("scaffold-content-navigation-expanded"),e.classList.remove("scaffold-content-navigation-available"),t&&n&&(n.style.display="none")}show(t){const e=this.parent,o=this.container,i=this.switcher;if(o.querySelectorAll(n.ScaffoldIdentifierEnum.contentNavigationDataComponent).forEach(t=>t.style.display="none"),void 0!==typeof t){e.classList.add("scaffold-content-navigation-expanded"),e.classList.add("scaffold-content-navigation-available");const n=o.querySelector('[data-component="'+t+'"]');n&&(n.style.display=null)}i&&(i.style.display=null)}setUrl(t,e){const n=this.consumerScope.invoke(new i("typo3.setUrl",e));return n.then(()=>{this.parent.classList.add("scaffold-content-navigation-expanded");const e=this.getIFrameElement();e&&e.setAttribute("src",t)}),n}getUrl(){const t=this.getIFrameElement();return t?t.getAttribute("src"):""}refresh(){const t=this.getIFrameElement();if(t)return t.contentWindow.location.reload()}getIFrameElement(){return this.container.querySelector(n.ScaffoldIdentifierEnum.contentNavigationIframe)}}return a}));
\ No newline at end of file
+define(["require","exports","../Enum/Viewport/ScaffoldIdentifier","./AbstractContainer","../Event/TriggerRequest"],(function(t,e,n,o,i){"use strict";class a extends o.AbstractContainer{get parent(){return document.querySelector(n.ScaffoldIdentifierEnum.scaffold)}get container(){return document.querySelector(n.ScaffoldIdentifierEnum.contentNavigation)}get switcher(){return document.querySelector(n.ScaffoldIdentifierEnum.contentNavigationSwitcher)}constructor(t){super(t),this.activeComponentId=""}showComponent(e){const n=this.container;if(this.show(e),e===this.activeComponentId)return;if(""!==this.activeComponentId){let t=n.querySelector("#navigationComponent-"+this.activeComponentId.replace(/[/]/g,"_"));t&&(t.style.display="none")}const o="navigationComponent-"+e.replace(/[/]/g,"_");if(1===n.querySelectorAll('[data-component="'+e+'"]').length)return this.show(e),void(this.activeComponentId=e);t([e],t=>{if("string"==typeof t.navigationComponentName){const i=t.navigationComponentName,a=document.createElement(i);a.setAttribute("id",o),a.classList.add("scaffold-content-navigation-component"),a.dataset.component=e,n.append(a)}else{n.insertAdjacentHTML("beforeend",'<div class="scaffold-content-navigation-component" data-component="'+e+'" id="'+o+'"></div>');Object.values(t)[0].initialize("#"+o)}this.show(e),this.activeComponentId=e})}hide(t){const e=this.parent,n=this.switcher;e.classList.remove("scaffold-content-navigation-expanded"),e.classList.remove("scaffold-content-navigation-available"),t&&n&&(n.style.display="none")}show(t){const e=this.parent,o=this.container,i=this.switcher;if(o.querySelectorAll(n.ScaffoldIdentifierEnum.contentNavigationDataComponent).forEach(t=>t.style.display="none"),void 0!==typeof t){e.classList.add("scaffold-content-navigation-expanded"),e.classList.add("scaffold-content-navigation-available");const n=o.querySelector('[data-component="'+t+'"]');n&&(n.style.display=null)}i&&(i.style.display=null)}setUrl(t,e){const n=this.consumerScope.invoke(new i("typo3.setUrl",e));return n.then(()=>{this.parent.classList.add("scaffold-content-navigation-expanded");const e=this.getIFrameElement();e&&e.setAttribute("src",t)}),n}getUrl(){const t=this.getIFrameElement();return t?t.getAttribute("src"):""}refresh(){const t=this.getIFrameElement();if(t)return t.contentWindow.location.reload()}getIFrameElement(){return this.container.querySelector(n.ScaffoldIdentifierEnum.contentNavigationIframe)}}return a}));
\ No newline at end of file
diff --git a/typo3/sysext/beuser/Resources/Public/JavaScript/Permissions.js b/typo3/sysext/beuser/Resources/Public/JavaScript/Permissions.js
index 8e18883daa5e..a8ad999d6407 100644
--- a/typo3/sysext/beuser/Resources/Public/JavaScript/Permissions.js
+++ b/typo3/sysext/beuser/Resources/Public/JavaScript/Permissions.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/Core/Event/RegularEvent","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Backend/Tooltip"],(function(e,t,a,o,n){"use strict";a=__importDefault(a);class s{constructor(){this.options={containerSelector:"#typo3-permissionList",editControllerSelector:"#PermissionControllerEdit"},this.ajaxUrl=TYPO3.settings.ajaxUrls.user_access_permissions,this.initializeCheckboxGroups(),this.initializeEvents()}static setPermissionCheckboxes(e,t){const a=document.querySelectorAll(`input[type="checkbox"][name^="${e}"]`);for(let e of a){const a=parseInt(e.value,10);e.checked=(t&a)===a}}static updatePermissionValue(e,t){let a=0;const o=document.querySelectorAll(`input[type="checkbox"][name^="${e}"]:checked`);for(let e of o)a|=parseInt(e.value,10);document.forms.namedItem("editform")[t].value=a|("check[perms_user]"===e?1:0)}setPermissions(e){let t=e.dataset.page,a=e.dataset.who;n.hide(document.querySelectorAll('[data-bs-toggle="tooltip"]')),new o(this.ajaxUrl).post({page:t,who:a,permissions:e.dataset.permissions,mode:e.dataset.mode,bits:e.dataset.bits}).then(async e=>{const o=await e.resolve();document.getElementById(t+"_"+a).outerHTML=o,n.initialize('[data-bs-toggle="tooltip"]')})}toggleEditLock(e){let t=e.dataset.page;new o(this.ajaxUrl).post({action:"toggle_edit_lock",page:t,editLockState:e.dataset.lockstate}).then(async e=>{document.getElementById("el_"+t).outerHTML=await e.resolve()})}changeOwner(e){let t=e.dataset.page;const a=document.getElementById("o_"+t);new o(this.ajaxUrl).post({action:"change_owner",page:t,ownerUid:e.dataset.owner,newOwnerUid:a.getElementsByTagName("select")[0].value}).then(async e=>{a.outerHTML=await e.resolve()})}showChangeOwnerSelector(e){let t=e.dataset.page;new o(this.ajaxUrl).post({action:"show_change_owner_selector",page:t,ownerUid:e.dataset.owner,username:e.dataset.username}).then(async e=>{document.getElementById("o_"+t).outerHTML=await e.resolve()})}restoreOwner(e){var t;const a=e.dataset.page,o=null!==(t=e.dataset.username)&&void 0!==t?t:e.dataset.ifNotSet,n=document.createElement("span");n.setAttribute("id","o_"+a);const s=document.createElement("button");s.classList.add("ug_selector","changeowner","btn","btn-link"),s.setAttribute("type","button"),s.setAttribute("data-page",a),s.setAttribute("data-owner",e.dataset.owner),s.setAttribute("data-username",o),s.innerText=o,n.appendChild(s);const r=document.getElementById("o_"+a);r.parentNode.replaceChild(n,r)}restoreGroup(e){var t;const a=e.dataset.page,o=null!==(t=e.dataset.groupname)&&void 0!==t?t:e.dataset.ifNotSet,n=document.createElement("span");n.setAttribute("id","g_"+a);const s=document.createElement("button");s.classList.add("ug_selector","changegroup","btn","btn-link"),s.setAttribute("type","button"),s.setAttribute("data-page",a),s.setAttribute("data-group-id",e.dataset.groupId),s.setAttribute("data-groupname",o),s.innerText=o,n.appendChild(s);const r=document.getElementById("g_"+a);r.parentNode.replaceChild(n,r)}changeGroup(e){let t=e.dataset.page;const a=document.getElementById("g_"+t);new o(this.ajaxUrl).post({action:"change_group",page:t,groupUid:e.dataset.groupId,newGroupUid:a.getElementsByTagName("select")[0].value}).then(async e=>{a.outerHTML=await e.resolve()})}showChangeGroupSelector(e){let t=e.dataset.page;new o(this.ajaxUrl).post({action:"show_change_group_selector",page:t,groupUid:e.dataset.groupId,groupname:e.dataset.groupname}).then(async e=>{document.getElementById("g_"+t).outerHTML=await e.resolve()})}initializeCheckboxGroups(){document.querySelectorAll("[data-checkbox-group]").forEach(e=>{const t=e.dataset.checkboxGroup,a=parseInt(e.value,10);s.setPermissionCheckboxes(t,a)})}initializeEvents(){const e=document.querySelector(this.options.containerSelector),t=document.querySelector(this.options.editControllerSelector);null!==e&&(new a.default("click",(e,t)=>{e.preventDefault(),this.setPermissions(t)}).delegateTo(e,".change-permission"),new a.default("click",(e,t)=>{e.preventDefault(),this.toggleEditLock(t)}).delegateTo(e,".editlock"),new a.default("click",(e,t)=>{e.preventDefault(),this.showChangeOwnerSelector(t)}).delegateTo(e,".changeowner"),new a.default("click",(e,t)=>{e.preventDefault(),this.showChangeGroupSelector(t)}).delegateTo(e,".changegroup"),new a.default("click",(e,t)=>{e.preventDefault(),this.restoreOwner(t)}).delegateTo(e,".restoreowner"),new a.default("click",(e,t)=>{e.preventDefault(),this.changeOwner(t)}).delegateTo(e,".saveowner"),new a.default("click",(e,t)=>{e.preventDefault(),this.restoreGroup(t)}).delegateTo(e,".restoregroup"),new a.default("click",(e,t)=>{e.preventDefault(),this.changeGroup(t)}).delegateTo(e,".savegroup")),null!==t&&new a.default("click",(e,t)=>{const a=t.dataset.checkChangePermissions.split(",").map(e=>e.trim());s.updatePermissionValue.apply(this,a)}).delegateTo(t,"[data-check-change-permissions]")}}return new s}));
\ 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/Core/Event/RegularEvent","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Backend/Tooltip"],(function(e,t,a,o,n){"use strict";a=__importDefault(a);class s{static setPermissionCheckboxes(e,t){const a=document.querySelectorAll(`input[type="checkbox"][name^="${e}"]`);for(let e of a){const a=parseInt(e.value,10);e.checked=(t&a)===a}}static updatePermissionValue(e,t){let a=0;const o=document.querySelectorAll(`input[type="checkbox"][name^="${e}"]:checked`);for(let e of o)a|=parseInt(e.value,10);document.forms.namedItem("editform")[t].value=a|("check[perms_user]"===e?1:0)}constructor(){this.options={containerSelector:"#typo3-permissionList",editControllerSelector:"#PermissionControllerEdit"},this.ajaxUrl=TYPO3.settings.ajaxUrls.user_access_permissions,this.initializeCheckboxGroups(),this.initializeEvents()}setPermissions(e){let t=e.dataset.page,a=e.dataset.who;n.hide(document.querySelectorAll('[data-bs-toggle="tooltip"]')),new o(this.ajaxUrl).post({page:t,who:a,permissions:e.dataset.permissions,mode:e.dataset.mode,bits:e.dataset.bits}).then(async e=>{const o=await e.resolve();document.getElementById(t+"_"+a).outerHTML=o,n.initialize('[data-bs-toggle="tooltip"]')})}toggleEditLock(e){let t=e.dataset.page;new o(this.ajaxUrl).post({action:"toggle_edit_lock",page:t,editLockState:e.dataset.lockstate}).then(async e=>{document.getElementById("el_"+t).outerHTML=await e.resolve()})}changeOwner(e){let t=e.dataset.page;const a=document.getElementById("o_"+t);new o(this.ajaxUrl).post({action:"change_owner",page:t,ownerUid:e.dataset.owner,newOwnerUid:a.getElementsByTagName("select")[0].value}).then(async e=>{a.outerHTML=await e.resolve()})}showChangeOwnerSelector(e){let t=e.dataset.page;new o(this.ajaxUrl).post({action:"show_change_owner_selector",page:t,ownerUid:e.dataset.owner,username:e.dataset.username}).then(async e=>{document.getElementById("o_"+t).outerHTML=await e.resolve()})}restoreOwner(e){var t;const a=e.dataset.page,o=null!==(t=e.dataset.username)&&void 0!==t?t:e.dataset.ifNotSet,n=document.createElement("span");n.setAttribute("id","o_"+a);const s=document.createElement("button");s.classList.add("ug_selector","changeowner","btn","btn-link"),s.setAttribute("type","button"),s.setAttribute("data-page",a),s.setAttribute("data-owner",e.dataset.owner),s.setAttribute("data-username",o),s.innerText=o,n.appendChild(s);const r=document.getElementById("o_"+a);r.parentNode.replaceChild(n,r)}restoreGroup(e){var t;const a=e.dataset.page,o=null!==(t=e.dataset.groupname)&&void 0!==t?t:e.dataset.ifNotSet,n=document.createElement("span");n.setAttribute("id","g_"+a);const s=document.createElement("button");s.classList.add("ug_selector","changegroup","btn","btn-link"),s.setAttribute("type","button"),s.setAttribute("data-page",a),s.setAttribute("data-group-id",e.dataset.groupId),s.setAttribute("data-groupname",o),s.innerText=o,n.appendChild(s);const r=document.getElementById("g_"+a);r.parentNode.replaceChild(n,r)}changeGroup(e){let t=e.dataset.page;const a=document.getElementById("g_"+t);new o(this.ajaxUrl).post({action:"change_group",page:t,groupUid:e.dataset.groupId,newGroupUid:a.getElementsByTagName("select")[0].value}).then(async e=>{a.outerHTML=await e.resolve()})}showChangeGroupSelector(e){let t=e.dataset.page;new o(this.ajaxUrl).post({action:"show_change_group_selector",page:t,groupUid:e.dataset.groupId,groupname:e.dataset.groupname}).then(async e=>{document.getElementById("g_"+t).outerHTML=await e.resolve()})}initializeCheckboxGroups(){document.querySelectorAll("[data-checkbox-group]").forEach(e=>{const t=e.dataset.checkboxGroup,a=parseInt(e.value,10);s.setPermissionCheckboxes(t,a)})}initializeEvents(){const e=document.querySelector(this.options.containerSelector),t=document.querySelector(this.options.editControllerSelector);null!==e&&(new a.default("click",(e,t)=>{e.preventDefault(),this.setPermissions(t)}).delegateTo(e,".change-permission"),new a.default("click",(e,t)=>{e.preventDefault(),this.toggleEditLock(t)}).delegateTo(e,".editlock"),new a.default("click",(e,t)=>{e.preventDefault(),this.showChangeOwnerSelector(t)}).delegateTo(e,".changeowner"),new a.default("click",(e,t)=>{e.preventDefault(),this.showChangeGroupSelector(t)}).delegateTo(e,".changegroup"),new a.default("click",(e,t)=>{e.preventDefault(),this.restoreOwner(t)}).delegateTo(e,".restoreowner"),new a.default("click",(e,t)=>{e.preventDefault(),this.changeOwner(t)}).delegateTo(e,".saveowner"),new a.default("click",(e,t)=>{e.preventDefault(),this.restoreGroup(t)}).delegateTo(e,".restoregroup"),new a.default("click",(e,t)=>{e.preventDefault(),this.changeGroup(t)}).delegateTo(e,".savegroup")),null!==t&&new a.default("click",(e,t)=>{const a=t.dataset.checkChangePermissions.split(",").map(e=>e.trim());s.updatePermissionValue.apply(this,a)}).delegateTo(t,"[data-check-change-permissions]")}}return new s}));
\ 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 64d8c559fb46..c772c0b2cf5d 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!
  */
-define(["require","exports","TYPO3/CMS/Core/lit-helper","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Backend/InfoWindow","TYPO3/CMS/Backend/BroadcastMessage","TYPO3/CMS/Backend/BroadcastService","TYPO3/CMS/Backend/Tooltip","nprogress","TYPO3/CMS/Backend/Icons","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Storage/ModuleStateStorage","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/Severity"],(function(e,t,o,n,i,r,l,a,d,s,c,u,m,f,p,g,h){"use strict";var w;!function(e){e.fileListFormSelector='form[name="fileListForm"]',e.commandSelector='input[name="cmd"]',e.searchFieldSelector='input[name="searchTerm"]',e.pointerFieldSelector='input[name="pointer"]'}(w||(w={}));class S{constructor(){var e;this.downloadFilesAndFolders=e=>{const t=e.target,n=e.detail,r=n.configuration,l=[];n.checkboxes.forEach(e=>{const t=e.closest("tr");(null==t?void 0:t.dataset[r.folderIdentifier])?l.push(t.dataset[r.folderIdentifier]):(null==t?void 0:t.dataset[r.fileIdentifier])&&l.push(t.dataset[r.fileIdentifier])}),l.length?this.triggerDownload(l,r.downloadUrl,t):i.warning((0,o.lll)("file_download.invalidSelection"))},this.downloadFolder=e=>{const t=e.target,o=t.dataset.folderIdentifier;this.triggerDownload([o],t.dataset.folderDownload,t)},S.processTriggers(),n.ready().then(()=>{d.initialize(".table-fit a[title]"),new m("click",(e,t)=>{e.preventDefault(),S.openInfoPopup(t.dataset.filelistShowItemType,t.dataset.filelistShowItemIdentifier)}).delegateTo(document,"[data-filelist-show-item-identifier][data-filelist-show-item-type]"),new m("click",(e,t)=>{e.preventDefault(),S.openInfoPopup("_FILE",t.dataset.identifier)}).delegateTo(document,"a.filelist-file-info"),new m("click",(e,t)=>{e.preventDefault(),S.openInfoPopup("_FILE",t.dataset.identifier)}).delegateTo(document,"a.filelist-file-references"),new m("click",(e,t)=>{e.preventDefault();const o=t.getAttribute("href");let n=o?encodeURIComponent(o):encodeURIComponent(top.list_frame.document.location.pathname+top.list_frame.document.location.search);top.list_frame.location.href=o+"&redirect="+n}).delegateTo(document,"a.filelist-file-copy")}),new m("multiRecordSelection:action:edit",this.editFileMetadata).bindTo(document),new m("multiRecordSelection:action:delete",this.deleteMultiple).bindTo(document),new m("multiRecordSelection:action:download",this.downloadFilesAndFolders).bindTo(document),new m("click",this.downloadFolder).delegateTo(document,"button[data-folder-download]"),new m("multiRecordSelection:action:copyMarked",e=>{S.submitClipboardFormWithCommand("copyMarked",e.target)}).bindTo(document),new m("multiRecordSelection:action:removeMarked",e=>{S.submitClipboardFormWithCommand("removeMarked",e.target)}).bindTo(document);const t=""!==(null===(e=document.querySelector([w.fileListFormSelector,w.searchFieldSelector].join(" ")))||void 0===e?void 0:e.value);new m("search",e=>{var o;const n=e.target;""===n.value&&t&&(null===(o=n.closest(w.fileListFormSelector))||void 0===o||o.submit())}).delegateTo(document,w.searchFieldSelector)}static submitClipboardFormWithCommand(e,t){const o=t.closest(w.fileListFormSelector);if(!o)return;const n=o.querySelector(w.commandSelector);if(n){if(n.value=e,"copyMarked"===e||"removeMarked"===e){const e=o.querySelector(w.pointerFieldSelector),t=S.parseQueryParameters(document.location).pointer;e&&t&&(e.value=t)}o.submit()}}static openInfoPopup(e,t){r.showItem(e,t)}static processTriggers(){const e=document.querySelector(".filelist-main");if(null===e)return;const t=encodeURIComponent(e.dataset.filelistCurrentIdentifier);f.ModuleStateStorage.update("file",t,!0,void 0),S.emitTreeUpdateRequest(e.dataset.filelistCurrentIdentifier)}static emitTreeUpdateRequest(e){const t=new l.BroadcastMessage("filelist","treeUpdateRequested",{type:"folder",identifier:e});a.post(t)}static parseQueryParameters(e){let t={};if(e&&Object.prototype.hasOwnProperty.call(e,"search")){let o=e.search.substr(1).split("&");for(let e=0;e<o.length;e++){const n=o[e].split("=");t[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}}return t}static getReturnUrl(e){return""===e&&(e=top.list_frame.document.location.pathname+top.list_frame.document.location.search),encodeURIComponent(e)}deleteMultiple(e){e.preventDefault();const t=e.detail.configuration;p.advanced({title:t.title||"Delete",content:t.content||"Are you sure you want to delete those files and folders?",severity:g.SeverityEnum.warning,buttons:[{text:TYPO3.lang["button.close"]||"Close",active:!0,btnClass:"btn-default",trigger:()=>p.currentModal.trigger("modal-dismiss")},{text:t.ok||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+h.getCssClass(g.SeverityEnum.warning),trigger:()=>{S.submitClipboardFormWithCommand("delete",e.target),p.currentModal.trigger("modal-dismiss")}}]})}editFileMetadata(e){e.preventDefault();const t=e.detail,o=t.configuration;if(!o||!o.idField||!o.table)return;const n=[];t.checkboxes.forEach(e=>{const t=e.closest("tr");null!==t&&t.dataset[o.idField]&&n.push(t.dataset[o.idField])}),n.length?window.location.href=top.TYPO3.settings.FormEngine.moduleUrl+"&edit["+o.table+"]["+n.join(",")+"]=edit&returnUrl="+S.getReturnUrl(o.returnUrl||""):i.warning("The selected elements can not be edited.")}triggerDownload(e,t,n){i.info((0,o.lll)("file_download.prepare"),"",2);const r=n.innerHTML;n.setAttribute("disabled","disabled"),c.getIcon("spinner-circle-dark",c.sizes.small).then(e=>{n.innerHTML=e}),s.configure({parent:"#typo3-filelist",showSpinner:!1}).start(),new u(t).post({items:e}).then(async e=>{let t=e.response.headers.get("Content-Disposition");if(!t){const t=await e.resolve();return void(!1===t.success&&t.status?i.warning((0,o.lll)("file_download."+t.status),(0,o.lll)("file_download."+t.status+".message"),10):i.error((0,o.lll)("file_download.error")))}t=t.substring(t.indexOf(" filename=")+10);const n=await e.raw().arrayBuffer(),r=new Blob([n],{type:e.raw().headers.get("Content-Type")}),l=URL.createObjectURL(r),a=document.createElement("a");a.href=l,a.download=t,document.body.appendChild(a),a.click(),URL.revokeObjectURL(l),document.body.removeChild(a),i.success((0,o.lll)("file_download.success"),"",2)}).catch(()=>{i.error((0,o.lll)("file_download.error"))}).finally(()=>{s.done(),n.removeAttribute("disabled"),n.innerHTML=r})}}return new S}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Core/lit-helper","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Backend/InfoWindow","TYPO3/CMS/Backend/BroadcastMessage","TYPO3/CMS/Backend/BroadcastService","TYPO3/CMS/Backend/Tooltip","nprogress","TYPO3/CMS/Backend/Icons","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Storage/ModuleStateStorage","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/Severity"],(function(e,t,o,n,i,r,l,a,d,s,c,u,m,f,p,g,h){"use strict";var w;!function(e){e.fileListFormSelector='form[name="fileListForm"]',e.commandSelector='input[name="cmd"]',e.searchFieldSelector='input[name="searchTerm"]',e.pointerFieldSelector='input[name="pointer"]'}(w||(w={}));class S{static submitClipboardFormWithCommand(e,t){const o=t.closest(w.fileListFormSelector);if(!o)return;const n=o.querySelector(w.commandSelector);if(n){if(n.value=e,"copyMarked"===e||"removeMarked"===e){const e=o.querySelector(w.pointerFieldSelector),t=S.parseQueryParameters(document.location).pointer;e&&t&&(e.value=t)}o.submit()}}static openInfoPopup(e,t){r.showItem(e,t)}static processTriggers(){const e=document.querySelector(".filelist-main");if(null===e)return;const t=encodeURIComponent(e.dataset.filelistCurrentIdentifier);f.ModuleStateStorage.update("file",t,!0,void 0),S.emitTreeUpdateRequest(e.dataset.filelistCurrentIdentifier)}static emitTreeUpdateRequest(e){const t=new l.BroadcastMessage("filelist","treeUpdateRequested",{type:"folder",identifier:e});a.post(t)}static parseQueryParameters(e){let t={};if(e&&Object.prototype.hasOwnProperty.call(e,"search")){let o=e.search.substr(1).split("&");for(let e=0;e<o.length;e++){const n=o[e].split("=");t[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}}return t}static getReturnUrl(e){return""===e&&(e=top.list_frame.document.location.pathname+top.list_frame.document.location.search),encodeURIComponent(e)}constructor(){var e;this.downloadFilesAndFolders=e=>{const t=e.target,n=e.detail,r=n.configuration,l=[];n.checkboxes.forEach(e=>{const t=e.closest("tr");(null==t?void 0:t.dataset[r.folderIdentifier])?l.push(t.dataset[r.folderIdentifier]):(null==t?void 0:t.dataset[r.fileIdentifier])&&l.push(t.dataset[r.fileIdentifier])}),l.length?this.triggerDownload(l,r.downloadUrl,t):i.warning((0,o.lll)("file_download.invalidSelection"))},this.downloadFolder=e=>{const t=e.target,o=t.dataset.folderIdentifier;this.triggerDownload([o],t.dataset.folderDownload,t)},S.processTriggers(),n.ready().then(()=>{d.initialize(".table-fit a[title]"),new m("click",(e,t)=>{e.preventDefault(),S.openInfoPopup(t.dataset.filelistShowItemType,t.dataset.filelistShowItemIdentifier)}).delegateTo(document,"[data-filelist-show-item-identifier][data-filelist-show-item-type]"),new m("click",(e,t)=>{e.preventDefault(),S.openInfoPopup("_FILE",t.dataset.identifier)}).delegateTo(document,"a.filelist-file-info"),new m("click",(e,t)=>{e.preventDefault(),S.openInfoPopup("_FILE",t.dataset.identifier)}).delegateTo(document,"a.filelist-file-references"),new m("click",(e,t)=>{e.preventDefault();const o=t.getAttribute("href");let n=o?encodeURIComponent(o):encodeURIComponent(top.list_frame.document.location.pathname+top.list_frame.document.location.search);top.list_frame.location.href=o+"&redirect="+n}).delegateTo(document,"a.filelist-file-copy")}),new m("multiRecordSelection:action:edit",this.editFileMetadata).bindTo(document),new m("multiRecordSelection:action:delete",this.deleteMultiple).bindTo(document),new m("multiRecordSelection:action:download",this.downloadFilesAndFolders).bindTo(document),new m("click",this.downloadFolder).delegateTo(document,"button[data-folder-download]"),new m("multiRecordSelection:action:copyMarked",e=>{S.submitClipboardFormWithCommand("copyMarked",e.target)}).bindTo(document),new m("multiRecordSelection:action:removeMarked",e=>{S.submitClipboardFormWithCommand("removeMarked",e.target)}).bindTo(document);const t=""!==(null===(e=document.querySelector([w.fileListFormSelector,w.searchFieldSelector].join(" ")))||void 0===e?void 0:e.value);new m("search",e=>{var o;const n=e.target;""===n.value&&t&&(null===(o=n.closest(w.fileListFormSelector))||void 0===o||o.submit())}).delegateTo(document,w.searchFieldSelector)}deleteMultiple(e){e.preventDefault();const t=e.detail.configuration;p.advanced({title:t.title||"Delete",content:t.content||"Are you sure you want to delete those files and folders?",severity:g.SeverityEnum.warning,buttons:[{text:TYPO3.lang["button.close"]||"Close",active:!0,btnClass:"btn-default",trigger:()=>p.currentModal.trigger("modal-dismiss")},{text:t.ok||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+h.getCssClass(g.SeverityEnum.warning),trigger:()=>{S.submitClipboardFormWithCommand("delete",e.target),p.currentModal.trigger("modal-dismiss")}}]})}editFileMetadata(e){e.preventDefault();const t=e.detail,o=t.configuration;if(!o||!o.idField||!o.table)return;const n=[];t.checkboxes.forEach(e=>{const t=e.closest("tr");null!==t&&t.dataset[o.idField]&&n.push(t.dataset[o.idField])}),n.length?window.location.href=top.TYPO3.settings.FormEngine.moduleUrl+"&edit["+o.table+"]["+n.join(",")+"]=edit&returnUrl="+S.getReturnUrl(o.returnUrl||""):i.warning("The selected elements can not be edited.")}triggerDownload(e,t,n){i.info((0,o.lll)("file_download.prepare"),"",2);const r=n.innerHTML;n.setAttribute("disabled","disabled"),c.getIcon("spinner-circle-dark",c.sizes.small).then(e=>{n.innerHTML=e}),s.configure({parent:"#typo3-filelist",showSpinner:!1}).start(),new u(t).post({items:e}).then(async e=>{let t=e.response.headers.get("Content-Disposition");if(!t){const t=await e.resolve();return void(!1===t.success&&t.status?i.warning((0,o.lll)("file_download."+t.status),(0,o.lll)("file_download."+t.status+".message"),10):i.error((0,o.lll)("file_download.error")))}t=t.substring(t.indexOf(" filename=")+10);const n=await e.raw().arrayBuffer(),r=new Blob([n],{type:e.raw().headers.get("Content-Type")}),l=URL.createObjectURL(r),a=document.createElement("a");a.href=l,a.download=t,document.body.appendChild(a),a.click(),URL.revokeObjectURL(l),document.body.removeChild(a),i.success((0,o.lll)("file_download.success"),"",2)}).catch(()=>{i.error((0,o.lll)("file_download.error"))}).finally(()=>{s.done(),n.removeAttribute("disabled"),n.innerHTML=r})}}return new S}));
\ No newline at end of file
diff --git a/typo3/sysext/install/Resources/Public/JavaScript/Module/Upgrade/UpgradeWizards.js b/typo3/sysext/install/Resources/Public/JavaScript/Module/Upgrade/UpgradeWizards.js
index ab7c340536ca..c8dd0f51dfab 100644
--- a/typo3/sysext/install/Resources/Public/JavaScript/Module/Upgrade/UpgradeWizards.js
+++ b/typo3/sysext/install/Resources/Public/JavaScript/Module/Upgrade/UpgradeWizards.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","../AbstractInteractableModule","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/SecurityUtility","../../Renderable/FlashMessage","../../Renderable/InfoBox","../../Renderable/ProgressBar","../../Renderable/Severity","../../Router","bootstrap"],(function(e,t,s,r,a,i,n,o,d,l,c,p){"use strict";s=__importDefault(s);class h extends r.AbstractInteractableModule{constructor(){super(),this.selectorOutputWizardsContainer=".t3js-upgradeWizards-wizards-output",this.selectorOutputDoneContainer=".t3js-upgradeWizards-done-output",this.selectorWizardsBlockingAddsTemplate=".t3js-upgradeWizards-blocking-adds-template",this.selectorWizardsBlockingAddsRows=".t3js-upgradeWizards-blocking-adds-rows",this.selectorWizardsBlockingAddsExecute=".t3js-upgradeWizards-blocking-adds-execute",this.selectorWizardsBlockingCharsetTemplate=".t3js-upgradeWizards-blocking-charset-template",this.selectorWizardsBlockingCharsetFix=".t3js-upgradeWizards-blocking-charset-fix",this.selectorWizardsDoneBodyTemplate=".t3js-upgradeWizards-done-body-template",this.selectorWizardsDoneRows=".t3js-upgradeWizards-done-rows",this.selectorWizardsDoneRowTemplate=".t3js-upgradeWizards-done-row-template table tr",this.selectorWizardsDoneRowMarkUndone=".t3js-upgradeWizards-done-markUndone",this.selectorWizardsDoneRowTitle=".t3js-upgradeWizards-done-title",this.selectorWizardsListTemplate=".t3js-upgradeWizards-list-template",this.selectorWizardsListRows=".t3js-upgradeWizards-list-rows",this.selectorWizardsListRowTemplate=".t3js-upgradeWizards-list-row-template",this.selectorWizardsListRowTitle=".t3js-upgradeWizards-list-row-title",this.selectorWizardsListRowExplanation=".t3js-upgradeWizards-list-row-explanation",this.selectorWizardsListRowExecute=".t3js-upgradeWizards-list-row-execute",this.selectorWizardsInputTemplate=".t3js-upgradeWizards-input",this.selectorWizardsInputTitle=".t3js-upgradeWizards-input-title",this.selectorWizardsInputDescription=".t3js-upgradeWizards-input-description",this.selectorWizardsInputHtml=".t3js-upgradeWizards-input-html",this.selectorWizardsInputPerform=".t3js-upgradeWizards-input-perform",this.selectorWizardsInputAbort=".t3js-upgradeWizards-input-abort",this.securityUtility=new n}static removeLoadingMessage(e){e.find(".alert-loading").remove()}static renderProgressBar(e){return l.render(c.loading,e,"")}initialize(e){this.currentModal=e,this.getData().done(()=>{this.doneUpgrades()}),e.on("click",this.selectorWizardsDoneRowMarkUndone,e=>{this.markUndone(e.target.dataset.identifier)}),e.on("click",this.selectorWizardsBlockingCharsetFix,()=>{this.blockingUpgradesDatabaseCharsetFix()}),e.on("click",this.selectorWizardsBlockingAddsExecute,()=>{this.blockingUpgradesDatabaseAddsExecute()}),e.on("click",this.selectorWizardsListRowExecute,e=>{this.wizardInput(e.target.dataset.identifier,e.target.dataset.title)}),e.on("click",this.selectorWizardsInputPerform,e=>{this.wizardExecute(e.target.dataset.identifier,e.target.dataset.title)}),e.on("click",this.selectorWizardsInputAbort,e=>{this.findInModal(this.selectorOutputWizardsContainer).empty(),this.wizardsList()})}getData(){const e=this.getModalBody();return new i(p.getUrl("upgradeWizardsGetData")).get({cache:"no-cache"}).then(async t=>{const s=await t.resolve();!0===s.success?(e.empty().append(s.html),this.blockingUpgradesDatabaseCharsetTest()):a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e)})}blockingUpgradesDatabaseCharsetTest(){const e=this.getModalBody(),t=this.findInModal(this.selectorOutputWizardsContainer);t.empty().html(h.renderProgressBar("Checking database charset...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseCharsetTest")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();h.removeLoadingMessage(t),!0===r.success&&(!0===r.needsUpdate?e.find(this.selectorOutputWizardsContainer).append(e.find(this.selectorWizardsBlockingCharsetTemplate)).clone():this.blockingUpgradesDatabaseAdds())},e=>{p.handleAjaxError(e,t)})}blockingUpgradesDatabaseCharsetFix(){const e=(0,s.default)(this.selectorOutputWizardsContainer);e.empty().html(h.renderProgressBar("Setting database charset to UTF-8...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseCharsetFix")).get({cache:"no-cache"}).then(async t=>{const s=await t.resolve();if(h.removeLoadingMessage(e),!0===s.success)Array.isArray(s.status)&&s.status.length>0&&s.status.forEach(t=>{const s=d.render(t.severity,t.title,t.message);e.append(s)});else{const t=o.render(c.error,"Something went wrong","");h.removeLoadingMessage(e),e.append(t)}},t=>{p.handleAjaxError(t,e)})}blockingUpgradesDatabaseAdds(){const e=this.getModalBody(),t=this.findInModal(this.selectorOutputWizardsContainer);t.empty().html(h.renderProgressBar("Check for missing mandatory database tables and fields...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseAdds")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();if(h.removeLoadingMessage(t),!0===r.success)if(!0===r.needsUpdate){const t=e.find(this.selectorWizardsBlockingAddsTemplate).clone();"object"==typeof r.adds.tables&&r.adds.tables.forEach(e=>{const s="Table: "+this.securityUtility.encodeHtml(e.table);t.find(this.selectorWizardsBlockingAddsRows).append(s,"<br>")}),"object"==typeof r.adds.columns&&r.adds.columns.forEach(e=>{const s="Table: "+this.securityUtility.encodeHtml(e.table)+", Field: "+this.securityUtility.encodeHtml(e.field);t.find(this.selectorWizardsBlockingAddsRows).append(s,"<br>")}),"object"==typeof r.adds.indexes&&r.adds.indexes.forEach(e=>{const s="Table: "+this.securityUtility.encodeHtml(e.table)+", Index: "+this.securityUtility.encodeHtml(e.index);t.find(this.selectorWizardsBlockingAddsRows).append(s,"<br>")}),e.find(this.selectorOutputWizardsContainer).append(t)}else this.wizardsList();else a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e)})}blockingUpgradesDatabaseAddsExecute(){const e=this.findInModal(this.selectorOutputWizardsContainer);e.empty().html(h.renderProgressBar("Adding database tables and fields...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseExecute")).get({cache:"no-cache"}).then(async t=>{const r=await t.resolve();if(h.removeLoadingMessage(e),Array.isArray(r.status)&&r.status.length>0&&r.status.forEach(t=>{const s=d.render(t.severity,t.title,t.message);e.append(s)}),!0===r.success)this.wizardsList();else if(Array.isArray(r.status)&&0!==r.status.length){const t=(0,s.default)('<div class="btn-toolbar mt-3 mb-4"></div>'),r=(0,s.default)('<button class="btn btn-default">Retry database migration</button>'),a=(0,s.default)('<button class="btn btn-danger">Proceed despite of errors</button>');r.click(()=>{this.blockingUpgradesDatabaseAddsExecute()}),a.click(()=>{t.remove(),this.wizardsList()}),t.append(r),t.append(a),e.append(t)}else{const t=o.render(c.error,"Something went wrong","");e.append(t)}},t=>{p.handleAjaxError(t,e)})}wizardsList(){const e=this.getModalBody(),t=this.findInModal(this.selectorOutputWizardsContainer);t.append(h.renderProgressBar("Loading upgrade wizards...")),new i(p.getUrl("upgradeWizardsList")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();h.removeLoadingMessage(t);const i=e.find(this.selectorWizardsListTemplate).clone();if(i.removeClass("t3js-upgradeWizards-list-template"),!0===r.success){let t=0,s=0;Array.isArray(r.wizards)&&r.wizards.length>0&&(s=r.wizards.length,r.wizards.forEach(s=>{if(!0===s.shouldRenderWizard){const r=e.find(this.selectorWizardsListRowTemplate).clone();t+=1,r.removeClass("t3js-upgradeWizards-list-row-template"),r.find(this.selectorWizardsListRowTitle).empty().text(s.title),r.find(this.selectorWizardsListRowExplanation).empty().text(s.explanation),r.find(this.selectorWizardsListRowExecute).attr("data-identifier",s.identifier).attr("data-title",s.title),i.find(this.selectorWizardsListRows).append(r)}}),i.find(this.selectorWizardsListRows+" hr:last").remove());let a=100;const n=i.find(".progress-bar");t>0?a=Math.round((s-t)/r.wizards.length*100):n.removeClass("progress-bar-info").addClass("progress-bar-success"),n.removeClass("progress-bar-striped").css("width",a+"%").attr("aria-valuenow",a).find("span").text(a+"%"),e.find(this.selectorOutputWizardsContainer).append(i),this.findInModal(this.selectorWizardsDoneRowMarkUndone).prop("disabled",!1)}else a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e)})}wizardInput(e,t){const s=this.getModuleContent().data("upgrade-wizards-input-token"),r=this.getModalBody(),a=this.findInModal(this.selectorOutputWizardsContainer);a.empty().html(h.renderProgressBar('Loading "'+t+'"...')),r.animate({scrollTop:r.scrollTop()-Math.abs(r.find(".t3js-upgrade-status-section").position().top)},250),new i(p.getUrl("upgradeWizardsInput")).post({install:{action:"upgradeWizardsInput",token:s,identifier:e}}).then(async e=>{const t=await e.resolve();a.empty();const s=r.find(this.selectorWizardsInputTemplate).clone();s.removeClass("t3js-upgradeWizards-input"),!0===t.success&&(Array.isArray(t.status)&&t.status.forEach(e=>{const t=o.render(e.severity,e.title,e.message);a.append(t)}),t.userInput.wizardHtml.length>0&&s.find(this.selectorWizardsInputHtml).html(t.userInput.wizardHtml),s.find(this.selectorWizardsInputTitle).text(t.userInput.title),s.find(this.selectorWizardsInputDescription).html(this.securityUtility.stripHtml(t.userInput.description).replace(/\n/g,"<br>")),s.find(this.selectorWizardsInputPerform).attr("data-identifier",t.userInput.identifier).attr("data-title",t.userInput.title)),r.find(this.selectorOutputWizardsContainer).append(s)},e=>{p.handleAjaxError(e,a)})}wizardExecute(e,t){const r=this.getModuleContent().data("upgrade-wizards-execute-token"),n=this.getModalBody(),o={"install[action]":"upgradeWizardsExecute","install[token]":r,"install[identifier]":e};(0,s.default)(this.findInModal(this.selectorOutputWizardsContainer+" form").serializeArray()).each((e,t)=>{o[t.name]=t.value});const l=this.findInModal(this.selectorOutputWizardsContainer);l.empty().html(h.renderProgressBar('Executing "'+t+'"...')),this.findInModal(this.selectorWizardsDoneRowMarkUndone).prop("disabled",!0),new i(p.getUrl()).post(o).then(async e=>{const t=await e.resolve();l.empty(),!0===t.success?(Array.isArray(t.status)&&t.status.forEach(e=>{const t=d.render(e.severity,e.title,e.message);l.append(t)}),this.wizardsList(),n.find(this.selectorOutputDoneContainer).empty(),this.doneUpgrades()):a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e,l)})}doneUpgrades(){const e=this.getModalBody(),t=e.find(this.selectorOutputDoneContainer);t.empty().html(h.renderProgressBar("Loading executed upgrade wizards...")),new i(p.getUrl("upgradeWizardsDoneUpgrades")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();if(h.removeLoadingMessage(t),!0===r.success){Array.isArray(r.status)&&r.status.length>0&&r.status.forEach(e=>{const s=d.render(e.severity,e.title,e.message);t.append(s)});const s=e.find(this.selectorWizardsDoneBodyTemplate).clone(),a=s.find(this.selectorWizardsDoneRows);let i=!1;Array.isArray(r.wizardsDone)&&r.wizardsDone.length>0&&r.wizardsDone.forEach(t=>{i=!0;const s=e.find(this.selectorWizardsDoneRowTemplate).clone();s.find(this.selectorWizardsDoneRowMarkUndone).attr("data-identifier",t.identifier),s.find(this.selectorWizardsDoneRowTitle).text(t.title),a.append(s)}),Array.isArray(r.rowUpdatersDone)&&r.rowUpdatersDone.length>0&&r.rowUpdatersDone.forEach(t=>{i=!0;const s=e.find(this.selectorWizardsDoneRowTemplate).clone();s.find(this.selectorWizardsDoneRowMarkUndone).attr("data-identifier",t.identifier),s.find(this.selectorWizardsDoneRowTitle).text(t.title),a.append(s)}),i&&(e.find(this.selectorOutputDoneContainer).append(s),this.findInModal(this.selectorWizardsDoneRowMarkUndone).prop("disabled",!0))}else a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e,t)})}markUndone(e){const t=this.getModuleContent().data("upgrade-wizards-mark-undone-token"),s=this.getModalBody(),r=this.findInModal(this.selectorOutputDoneContainer);r.empty().html(h.renderProgressBar("Marking upgrade wizard as undone...")),new i(p.getUrl()).post({install:{action:"upgradeWizardsMarkUndone",token:t,identifier:e}}).then(async e=>{const t=await e.resolve();r.empty(),s.find(this.selectorOutputDoneContainer).empty(),!0===t.success&&Array.isArray(t.status)?t.status.forEach(e=>{a.success(e.title,e.message),this.doneUpgrades(),this.blockingUpgradesDatabaseCharsetTest()}):a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e,r)})}}return new h}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","../AbstractInteractableModule","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Core/SecurityUtility","../../Renderable/FlashMessage","../../Renderable/InfoBox","../../Renderable/ProgressBar","../../Renderable/Severity","../../Router","bootstrap"],(function(e,t,s,r,a,i,n,o,d,l,c,p){"use strict";s=__importDefault(s);class h extends r.AbstractInteractableModule{static removeLoadingMessage(e){e.find(".alert-loading").remove()}static renderProgressBar(e){return l.render(c.loading,e,"")}constructor(){super(),this.selectorOutputWizardsContainer=".t3js-upgradeWizards-wizards-output",this.selectorOutputDoneContainer=".t3js-upgradeWizards-done-output",this.selectorWizardsBlockingAddsTemplate=".t3js-upgradeWizards-blocking-adds-template",this.selectorWizardsBlockingAddsRows=".t3js-upgradeWizards-blocking-adds-rows",this.selectorWizardsBlockingAddsExecute=".t3js-upgradeWizards-blocking-adds-execute",this.selectorWizardsBlockingCharsetTemplate=".t3js-upgradeWizards-blocking-charset-template",this.selectorWizardsBlockingCharsetFix=".t3js-upgradeWizards-blocking-charset-fix",this.selectorWizardsDoneBodyTemplate=".t3js-upgradeWizards-done-body-template",this.selectorWizardsDoneRows=".t3js-upgradeWizards-done-rows",this.selectorWizardsDoneRowTemplate=".t3js-upgradeWizards-done-row-template table tr",this.selectorWizardsDoneRowMarkUndone=".t3js-upgradeWizards-done-markUndone",this.selectorWizardsDoneRowTitle=".t3js-upgradeWizards-done-title",this.selectorWizardsListTemplate=".t3js-upgradeWizards-list-template",this.selectorWizardsListRows=".t3js-upgradeWizards-list-rows",this.selectorWizardsListRowTemplate=".t3js-upgradeWizards-list-row-template",this.selectorWizardsListRowTitle=".t3js-upgradeWizards-list-row-title",this.selectorWizardsListRowExplanation=".t3js-upgradeWizards-list-row-explanation",this.selectorWizardsListRowExecute=".t3js-upgradeWizards-list-row-execute",this.selectorWizardsInputTemplate=".t3js-upgradeWizards-input",this.selectorWizardsInputTitle=".t3js-upgradeWizards-input-title",this.selectorWizardsInputDescription=".t3js-upgradeWizards-input-description",this.selectorWizardsInputHtml=".t3js-upgradeWizards-input-html",this.selectorWizardsInputPerform=".t3js-upgradeWizards-input-perform",this.selectorWizardsInputAbort=".t3js-upgradeWizards-input-abort",this.securityUtility=new n}initialize(e){this.currentModal=e,this.getData().done(()=>{this.doneUpgrades()}),e.on("click",this.selectorWizardsDoneRowMarkUndone,e=>{this.markUndone(e.target.dataset.identifier)}),e.on("click",this.selectorWizardsBlockingCharsetFix,()=>{this.blockingUpgradesDatabaseCharsetFix()}),e.on("click",this.selectorWizardsBlockingAddsExecute,()=>{this.blockingUpgradesDatabaseAddsExecute()}),e.on("click",this.selectorWizardsListRowExecute,e=>{this.wizardInput(e.target.dataset.identifier,e.target.dataset.title)}),e.on("click",this.selectorWizardsInputPerform,e=>{this.wizardExecute(e.target.dataset.identifier,e.target.dataset.title)}),e.on("click",this.selectorWizardsInputAbort,e=>{this.findInModal(this.selectorOutputWizardsContainer).empty(),this.wizardsList()})}getData(){const e=this.getModalBody();return new i(p.getUrl("upgradeWizardsGetData")).get({cache:"no-cache"}).then(async t=>{const s=await t.resolve();!0===s.success?(e.empty().append(s.html),this.blockingUpgradesDatabaseCharsetTest()):a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e)})}blockingUpgradesDatabaseCharsetTest(){const e=this.getModalBody(),t=this.findInModal(this.selectorOutputWizardsContainer);t.empty().html(h.renderProgressBar("Checking database charset...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseCharsetTest")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();h.removeLoadingMessage(t),!0===r.success&&(!0===r.needsUpdate?e.find(this.selectorOutputWizardsContainer).append(e.find(this.selectorWizardsBlockingCharsetTemplate)).clone():this.blockingUpgradesDatabaseAdds())},e=>{p.handleAjaxError(e,t)})}blockingUpgradesDatabaseCharsetFix(){const e=(0,s.default)(this.selectorOutputWizardsContainer);e.empty().html(h.renderProgressBar("Setting database charset to UTF-8...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseCharsetFix")).get({cache:"no-cache"}).then(async t=>{const s=await t.resolve();if(h.removeLoadingMessage(e),!0===s.success)Array.isArray(s.status)&&s.status.length>0&&s.status.forEach(t=>{const s=d.render(t.severity,t.title,t.message);e.append(s)});else{const t=o.render(c.error,"Something went wrong","");h.removeLoadingMessage(e),e.append(t)}},t=>{p.handleAjaxError(t,e)})}blockingUpgradesDatabaseAdds(){const e=this.getModalBody(),t=this.findInModal(this.selectorOutputWizardsContainer);t.empty().html(h.renderProgressBar("Check for missing mandatory database tables and fields...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseAdds")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();if(h.removeLoadingMessage(t),!0===r.success)if(!0===r.needsUpdate){const t=e.find(this.selectorWizardsBlockingAddsTemplate).clone();"object"==typeof r.adds.tables&&r.adds.tables.forEach(e=>{const s="Table: "+this.securityUtility.encodeHtml(e.table);t.find(this.selectorWizardsBlockingAddsRows).append(s,"<br>")}),"object"==typeof r.adds.columns&&r.adds.columns.forEach(e=>{const s="Table: "+this.securityUtility.encodeHtml(e.table)+", Field: "+this.securityUtility.encodeHtml(e.field);t.find(this.selectorWizardsBlockingAddsRows).append(s,"<br>")}),"object"==typeof r.adds.indexes&&r.adds.indexes.forEach(e=>{const s="Table: "+this.securityUtility.encodeHtml(e.table)+", Index: "+this.securityUtility.encodeHtml(e.index);t.find(this.selectorWizardsBlockingAddsRows).append(s,"<br>")}),e.find(this.selectorOutputWizardsContainer).append(t)}else this.wizardsList();else a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e)})}blockingUpgradesDatabaseAddsExecute(){const e=this.findInModal(this.selectorOutputWizardsContainer);e.empty().html(h.renderProgressBar("Adding database tables and fields...")),new i(p.getUrl("upgradeWizardsBlockingDatabaseExecute")).get({cache:"no-cache"}).then(async t=>{const r=await t.resolve();if(h.removeLoadingMessage(e),Array.isArray(r.status)&&r.status.length>0&&r.status.forEach(t=>{const s=d.render(t.severity,t.title,t.message);e.append(s)}),!0===r.success)this.wizardsList();else if(Array.isArray(r.status)&&0!==r.status.length){const t=(0,s.default)('<div class="btn-toolbar mt-3 mb-4"></div>'),r=(0,s.default)('<button class="btn btn-default">Retry database migration</button>'),a=(0,s.default)('<button class="btn btn-danger">Proceed despite of errors</button>');r.click(()=>{this.blockingUpgradesDatabaseAddsExecute()}),a.click(()=>{t.remove(),this.wizardsList()}),t.append(r),t.append(a),e.append(t)}else{const t=o.render(c.error,"Something went wrong","");e.append(t)}},t=>{p.handleAjaxError(t,e)})}wizardsList(){const e=this.getModalBody(),t=this.findInModal(this.selectorOutputWizardsContainer);t.append(h.renderProgressBar("Loading upgrade wizards...")),new i(p.getUrl("upgradeWizardsList")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();h.removeLoadingMessage(t);const i=e.find(this.selectorWizardsListTemplate).clone();if(i.removeClass("t3js-upgradeWizards-list-template"),!0===r.success){let t=0,s=0;Array.isArray(r.wizards)&&r.wizards.length>0&&(s=r.wizards.length,r.wizards.forEach(s=>{if(!0===s.shouldRenderWizard){const r=e.find(this.selectorWizardsListRowTemplate).clone();t+=1,r.removeClass("t3js-upgradeWizards-list-row-template"),r.find(this.selectorWizardsListRowTitle).empty().text(s.title),r.find(this.selectorWizardsListRowExplanation).empty().text(s.explanation),r.find(this.selectorWizardsListRowExecute).attr("data-identifier",s.identifier).attr("data-title",s.title),i.find(this.selectorWizardsListRows).append(r)}}),i.find(this.selectorWizardsListRows+" hr:last").remove());let a=100;const n=i.find(".progress-bar");t>0?a=Math.round((s-t)/r.wizards.length*100):n.removeClass("progress-bar-info").addClass("progress-bar-success"),n.removeClass("progress-bar-striped").css("width",a+"%").attr("aria-valuenow",a).find("span").text(a+"%"),e.find(this.selectorOutputWizardsContainer).append(i),this.findInModal(this.selectorWizardsDoneRowMarkUndone).prop("disabled",!1)}else a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e)})}wizardInput(e,t){const s=this.getModuleContent().data("upgrade-wizards-input-token"),r=this.getModalBody(),a=this.findInModal(this.selectorOutputWizardsContainer);a.empty().html(h.renderProgressBar('Loading "'+t+'"...')),r.animate({scrollTop:r.scrollTop()-Math.abs(r.find(".t3js-upgrade-status-section").position().top)},250),new i(p.getUrl("upgradeWizardsInput")).post({install:{action:"upgradeWizardsInput",token:s,identifier:e}}).then(async e=>{const t=await e.resolve();a.empty();const s=r.find(this.selectorWizardsInputTemplate).clone();s.removeClass("t3js-upgradeWizards-input"),!0===t.success&&(Array.isArray(t.status)&&t.status.forEach(e=>{const t=o.render(e.severity,e.title,e.message);a.append(t)}),t.userInput.wizardHtml.length>0&&s.find(this.selectorWizardsInputHtml).html(t.userInput.wizardHtml),s.find(this.selectorWizardsInputTitle).text(t.userInput.title),s.find(this.selectorWizardsInputDescription).html(this.securityUtility.stripHtml(t.userInput.description).replace(/\n/g,"<br>")),s.find(this.selectorWizardsInputPerform).attr("data-identifier",t.userInput.identifier).attr("data-title",t.userInput.title)),r.find(this.selectorOutputWizardsContainer).append(s)},e=>{p.handleAjaxError(e,a)})}wizardExecute(e,t){const r=this.getModuleContent().data("upgrade-wizards-execute-token"),n=this.getModalBody(),o={"install[action]":"upgradeWizardsExecute","install[token]":r,"install[identifier]":e};(0,s.default)(this.findInModal(this.selectorOutputWizardsContainer+" form").serializeArray()).each((e,t)=>{o[t.name]=t.value});const l=this.findInModal(this.selectorOutputWizardsContainer);l.empty().html(h.renderProgressBar('Executing "'+t+'"...')),this.findInModal(this.selectorWizardsDoneRowMarkUndone).prop("disabled",!0),new i(p.getUrl()).post(o).then(async e=>{const t=await e.resolve();l.empty(),!0===t.success?(Array.isArray(t.status)&&t.status.forEach(e=>{const t=d.render(e.severity,e.title,e.message);l.append(t)}),this.wizardsList(),n.find(this.selectorOutputDoneContainer).empty(),this.doneUpgrades()):a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e,l)})}doneUpgrades(){const e=this.getModalBody(),t=e.find(this.selectorOutputDoneContainer);t.empty().html(h.renderProgressBar("Loading executed upgrade wizards...")),new i(p.getUrl("upgradeWizardsDoneUpgrades")).get({cache:"no-cache"}).then(async s=>{const r=await s.resolve();if(h.removeLoadingMessage(t),!0===r.success){Array.isArray(r.status)&&r.status.length>0&&r.status.forEach(e=>{const s=d.render(e.severity,e.title,e.message);t.append(s)});const s=e.find(this.selectorWizardsDoneBodyTemplate).clone(),a=s.find(this.selectorWizardsDoneRows);let i=!1;Array.isArray(r.wizardsDone)&&r.wizardsDone.length>0&&r.wizardsDone.forEach(t=>{i=!0;const s=e.find(this.selectorWizardsDoneRowTemplate).clone();s.find(this.selectorWizardsDoneRowMarkUndone).attr("data-identifier",t.identifier),s.find(this.selectorWizardsDoneRowTitle).text(t.title),a.append(s)}),Array.isArray(r.rowUpdatersDone)&&r.rowUpdatersDone.length>0&&r.rowUpdatersDone.forEach(t=>{i=!0;const s=e.find(this.selectorWizardsDoneRowTemplate).clone();s.find(this.selectorWizardsDoneRowMarkUndone).attr("data-identifier",t.identifier),s.find(this.selectorWizardsDoneRowTitle).text(t.title),a.append(s)}),i&&(e.find(this.selectorOutputDoneContainer).append(s),this.findInModal(this.selectorWizardsDoneRowMarkUndone).prop("disabled",!0))}else a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e,t)})}markUndone(e){const t=this.getModuleContent().data("upgrade-wizards-mark-undone-token"),s=this.getModalBody(),r=this.findInModal(this.selectorOutputDoneContainer);r.empty().html(h.renderProgressBar("Marking upgrade wizard as undone...")),new i(p.getUrl()).post({install:{action:"upgradeWizardsMarkUndone",token:t,identifier:e}}).then(async e=>{const t=await e.resolve();r.empty(),s.find(this.selectorOutputDoneContainer).empty(),!0===t.success&&Array.isArray(t.status)?t.status.forEach(e=>{a.success(e.title,e.message),this.doneUpgrades(),this.blockingUpgradesDatabaseCharsetTest()}):a.error("Something went wrong","The request was not processed successfully. Please check the browser's console and TYPO3's log.")},e=>{p.handleAjaxError(e,r)})}}return new h}));
\ No newline at end of file
diff --git a/typo3/sysext/opendocs/Resources/Public/JavaScript/Toolbar/OpendocsMenu.js b/typo3/sysext/opendocs/Resources/Public/JavaScript/Toolbar/OpendocsMenu.js
index 8263a3782341..a8b9f75e5494 100644
--- a/typo3/sysext/opendocs/Resources/Public/JavaScript/Toolbar/OpendocsMenu.js
+++ b/typo3/sysext/opendocs/Resources/Public/JavaScript/Toolbar/OpendocsMenu.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/Core/Ajax/AjaxRequest","TYPO3/CMS/Backend/Icons","TYPO3/CMS/Backend/Viewport","TYPO3/CMS/Backend/Storage/ModuleStateStorage"],(function(e,t,o,n,r,a,c){"use strict";var l;o=__importDefault(o),function(e){e.containerSelector="#typo3-cms-opendocs-backend-toolbaritems-opendocstoolbaritem",e.closeSelector=".t3js-topbar-opendocs-close",e.menuContainerSelector=".dropdown-menu",e.toolbarIconSelector=".toolbar-item-icon .t3js-icon",e.openDocumentsItemsSelector=".t3js-topbar-opendocs-item",e.counterSelector="#tx-opendocs-counter",e.entrySelector=".t3js-open-doc"}(l||(l={}));class s{constructor(){this.hashDataAttributeName="opendocsidentifier",this.toggleMenu=()=>{(0,o.default)(".scaffold").removeClass("scaffold-toolbar-expanded"),(0,o.default)(l.containerSelector).toggleClass("open")},document.addEventListener("typo3:opendocs:updateRequested",e=>this.updateMenu()),a.Topbar.Toolbar.registerEvent(()=>{this.initializeEvents(),this.updateMenu()})}static updateNumberOfDocs(){const e=(0,o.default)(l.containerSelector).find(l.openDocumentsItemsSelector).length;(0,o.default)(l.counterSelector).text(e).toggle(e>0)}updateMenu(){let e=(0,o.default)(l.toolbarIconSelector,l.containerSelector),t=e.clone();r.getIcon("spinner-circle-light",r.sizes.small).done(t=>{e.replaceWith(t)}),new n(TYPO3.settings.ajaxUrls.opendocs_menu).get().then(async e=>{(0,o.default)(l.containerSelector).find(l.menuContainerSelector).html(await e.resolve()),s.updateNumberOfDocs()}).finally(()=>{(0,o.default)(l.toolbarIconSelector,l.containerSelector).replaceWith(t)})}initializeEvents(){(0,o.default)(l.containerSelector).on("click",l.closeSelector,e=>{e.preventDefault();const t=(0,o.default)(e.currentTarget).data(this.hashDataAttributeName);this.closeDocument(t)}).on("click",l.entrySelector,e=>{e.preventDefault();const t=(0,o.default)(e.currentTarget);this.toggleMenu(),c.ModuleStateStorage.updateWithCurrentMount("web",t.data("pid"),!0);document.querySelector("typo3-backend-module-router").setAttribute("endpoint",t.attr("href"))})}closeDocument(e){const t={};e&&(t.md5sum=e),new n(TYPO3.settings.ajaxUrls.opendocs_closedoc).post(t).then(async e=>{(0,o.default)(l.menuContainerSelector,l.containerSelector).html(await e.resolve()),s.updateNumberOfDocs(),(0,o.default)(l.containerSelector).toggleClass("open")})}}let u;return u=new s,"undefined"!=typeof TYPO3&&(TYPO3.OpendocsMenu=u),u}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","TYPO3/CMS/Core/Ajax/AjaxRequest","TYPO3/CMS/Backend/Icons","TYPO3/CMS/Backend/Viewport","TYPO3/CMS/Backend/Storage/ModuleStateStorage"],(function(e,t,o,n,r,a,c){"use strict";var l;o=__importDefault(o),function(e){e.containerSelector="#typo3-cms-opendocs-backend-toolbaritems-opendocstoolbaritem",e.closeSelector=".t3js-topbar-opendocs-close",e.menuContainerSelector=".dropdown-menu",e.toolbarIconSelector=".toolbar-item-icon .t3js-icon",e.openDocumentsItemsSelector=".t3js-topbar-opendocs-item",e.counterSelector="#tx-opendocs-counter",e.entrySelector=".t3js-open-doc"}(l||(l={}));class s{static updateNumberOfDocs(){const e=(0,o.default)(l.containerSelector).find(l.openDocumentsItemsSelector).length;(0,o.default)(l.counterSelector).text(e).toggle(e>0)}constructor(){this.hashDataAttributeName="opendocsidentifier",this.toggleMenu=()=>{(0,o.default)(".scaffold").removeClass("scaffold-toolbar-expanded"),(0,o.default)(l.containerSelector).toggleClass("open")},document.addEventListener("typo3:opendocs:updateRequested",e=>this.updateMenu()),a.Topbar.Toolbar.registerEvent(()=>{this.initializeEvents(),this.updateMenu()})}updateMenu(){let e=(0,o.default)(l.toolbarIconSelector,l.containerSelector),t=e.clone();r.getIcon("spinner-circle-light",r.sizes.small).done(t=>{e.replaceWith(t)}),new n(TYPO3.settings.ajaxUrls.opendocs_menu).get().then(async e=>{(0,o.default)(l.containerSelector).find(l.menuContainerSelector).html(await e.resolve()),s.updateNumberOfDocs()}).finally(()=>{(0,o.default)(l.toolbarIconSelector,l.containerSelector).replaceWith(t)})}initializeEvents(){(0,o.default)(l.containerSelector).on("click",l.closeSelector,e=>{e.preventDefault();const t=(0,o.default)(e.currentTarget).data(this.hashDataAttributeName);this.closeDocument(t)}).on("click",l.entrySelector,e=>{e.preventDefault();const t=(0,o.default)(e.currentTarget);this.toggleMenu(),c.ModuleStateStorage.updateWithCurrentMount("web",t.data("pid"),!0);document.querySelector("typo3-backend-module-router").setAttribute("endpoint",t.attr("href"))})}closeDocument(e){const t={};e&&(t.md5sum=e),new n(TYPO3.settings.ajaxUrls.opendocs_closedoc).post(t).then(async e=>{(0,o.default)(l.menuContainerSelector,l.containerSelector).html(await e.resolve()),s.updateNumberOfDocs(),(0,o.default)(l.containerSelector).toggleClass("open")})}}let u;return u=new s,"undefined"!=typeof TYPO3&&(TYPO3.OpendocsMenu=u),u}));
\ No newline at end of file
diff --git a/typo3/sysext/recordlist/Resources/Public/JavaScript/BrowseFiles.js b/typo3/sysext/recordlist/Resources/Public/JavaScript/BrowseFiles.js
index e2b907bde86d..f152662825d9 100644
--- a/typo3/sysext/recordlist/Resources/Public/JavaScript/BrowseFiles.js
+++ b/typo3/sysext/recordlist/Resources/Public/JavaScript/BrowseFiles.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Backend/Utility/MessageUtility","./ElementBrowser","nprogress","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,n,i,s,a){"use strict";var r=TYPO3.Icons;class l{constructor(){this.importSelection=e=>{e.preventDefault();const t=e.target,o=e.detail.checkboxes;if(!o.length)return;const c=[];o.forEach(e=>{e.checked&&e.name&&e.dataset.fileName&&e.dataset.fileUid&&c.unshift({uid:e.dataset.fileUid,fileName:e.dataset.fileName})}),r.getIcon("spinner-circle",r.sizes.small,null,null,r.markupIdentifiers.inline).then(e=>{t.classList.add("disabled"),t.innerHTML=e}),s.configure({parent:".element-browser-main-content",showSpinner:!1}),s.start();const d=1/c.length;l.handleNext(c),new a("message",e=>{if(!n.MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;"typo3:foreignRelation:inserted"===e.data.actionName&&(c.length>0?(s.inc(d),l.handleNext(c)):(s.done(),i.focusOpenerAndClose()))}).bindTo(window)},new a("click",(e,t)=>{e.preventDefault(),l.insertElement(t.dataset.fileName,Number(t.dataset.fileUid),1===parseInt(t.dataset.close||"0",10))}).delegateTo(document,"[data-close]"),new a("multiRecordSelection:action:import",this.importSelection).bindTo(document)}static insertElement(e,t,n){return i.insertElement("sys_file",String(t),e,String(t),n)}static handleNext(e){if(e.length>0){const t=e.pop();l.insertElement(t.fileName,Number(t.uid))}}}return new l}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Backend/Utility/MessageUtility","./ElementBrowser","nprogress","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,n,i,s,a){"use strict";var r=TYPO3.Icons;class l{static insertElement(e,t,n){return i.insertElement("sys_file",String(t),e,String(t),n)}static handleNext(e){if(e.length>0){const t=e.pop();l.insertElement(t.fileName,Number(t.uid))}}constructor(){this.importSelection=e=>{e.preventDefault();const t=e.target,o=e.detail.checkboxes;if(!o.length)return;const c=[];o.forEach(e=>{e.checked&&e.name&&e.dataset.fileName&&e.dataset.fileUid&&c.unshift({uid:e.dataset.fileUid,fileName:e.dataset.fileName})}),r.getIcon("spinner-circle",r.sizes.small,null,null,r.markupIdentifiers.inline).then(e=>{t.classList.add("disabled"),t.innerHTML=e}),s.configure({parent:".element-browser-main-content",showSpinner:!1}),s.start();const d=1/c.length;l.handleNext(c),new a("message",e=>{if(!n.MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;"typo3:foreignRelation:inserted"===e.data.actionName&&(c.length>0?(s.inc(d),l.handleNext(c)):(s.done(),i.focusOpenerAndClose()))}).bindTo(window)},new a("click",(e,t)=>{e.preventDefault(),l.insertElement(t.dataset.fileName,Number(t.dataset.fileUid),1===parseInt(t.dataset.close||"0",10))}).delegateTo(document,"[data-close]"),new a("multiRecordSelection:action:import",this.importSelection).bindTo(document)}}return new l}));
\ No newline at end of file
diff --git a/typo3/sysext/recordlist/Resources/Public/JavaScript/Recordlist.js b/typo3/sysext/recordlist/Resources/Public/JavaScript/Recordlist.js
index 88c78b5d80cd..2d8687837eed 100644
--- a/typo3/sysext/recordlist/Resources/Public/JavaScript/Recordlist.js
+++ b/typo3/sysext/recordlist/Resources/Public/JavaScript/Recordlist.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","TYPO3/CMS/Backend/Icons","TYPO3/CMS/Backend/Storage/Persistent","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Tooltip","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/Severity"],(function(t,e,i,a,n,l,o,d,r,s,c){"use strict";i=__importDefault(i);class u{constructor(){this.identifier={entity:".t3js-entity",toggle:".t3js-toggle-recordlist",localize:".t3js-action-localize",searchboxToolbar:"#db_list-searchbox-toolbar",searchboxToggle:".t3js-toggle-search-toolbox",searchField:"#search_field",icons:{collapse:"actions-view-list-collapse",expand:"actions-view-list-expand",editMultiple:".t3js-record-edit-multiple"}},this.toggleClick=t=>{t.preventDefault();const e=(0,i.default)(t.currentTarget),l=e.data("table"),o=(0,i.default)(e.data("bs-target")),d="expanded"===o.data("state"),r=e.find(".collapseIcon"),s=d?this.identifier.icons.expand:this.identifier.icons.collapse;a.getIcon(s,a.sizes.small).done(t=>{r.html(t)});let c={};n.isset("moduleData.list")&&(c=n.get("moduleData.list"));const u={};u[l]=d?1:0,i.default.extend(c,u),n.set("moduleData.list",c).done(()=>{o.data("state",d?"collapsed":"expanded")})},this.onEditMultiple=t=>{t.preventDefault();let e="",i="",a="",n=[];if("multiRecordSelection:action:edit"===t.type){const a=t.detail,l=a.configuration;if(i=l.returnUrl||"",e=l.tableName||"",""===e)return;a.checkboxes.forEach(t=>{const e=t.closest("tr");null!==e&&e.dataset[l.idField]&&n.push(e.dataset[l.idField])})}else{const l=t.currentTarget,o=l.closest("[data-table]");if(null===o)return;if(e=o.dataset.table||"",""===e)return;i=l.dataset.returnUrl||"",a=l.dataset.columnsOnly||"";const d=o.querySelectorAll(this.identifier.entity+'[data-uid][data-table="'+e+'"] td.col-selector input[type="checkbox"]:checked');if(d.length)d.forEach(t=>{n.push(t.closest(this.identifier.entity+'[data-uid][data-table="'+e+'"]').dataset.uid)});else{const t=o.querySelectorAll(this.identifier.entity+'[data-uid][data-table="'+e+'"]');if(!t.length)return;t.forEach(t=>{n.push(t.dataset.uid)})}}if(!n.length)return;let l=top.TYPO3.settings.FormEngine.moduleUrl+"&edit["+e+"]["+n.join(",")+"]=edit&returnUrl="+u.getReturnUrl(i);""!==a&&(l+="&columnsOnly="+a),window.location.href=l},this.disableButton=t=>{(0,i.default)(t.currentTarget).prop("disable",!0).addClass("disabled")},this.toggleSearchbox=()=>{const t=(0,i.default)(this.identifier.searchboxToolbar);t.toggle(),t.is(":visible")&&(0,i.default)(this.identifier.searchField).focus()},this.deleteRow=t=>{const e=(0,i.default)(`table[data-table="${t.table}"]`),a=e.find(`tr[data-uid="${t.uid}"]`),n=e.closest(".panel"),l=n.find(".panel-heading"),o=e.find(`[data-l10nparent="${t.uid}"]`),d=(0,i.default)().add(a).add(o);if(d.fadeTo("slow",.4,()=>{d.slideUp("slow",()=>{d.remove(),0===e.find("tbody tr").length&&n.slideUp("slow")})}),"0"===a.data("l10nparent")||""===a.data("l10nparent")){const t=Number(l.find(".t3js-table-total-items").html());l.find(".t3js-table-total-items").text(t-1)}"pages"===t.table&&top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))},this.registerPaginationEvents=()=>{document.querySelectorAll(".t3js-recordlist-paging").forEach(t=>{t.addEventListener("keyup",e=>{e.preventDefault();let i=parseInt(t.value,10);i<parseInt(t.min,10)&&(i=parseInt(t.min,10)),i>parseInt(t.max,10)&&(i=parseInt(t.max,10)),"Enter"===e.key&&i!==parseInt(t.dataset.currentpage,10)&&(window.location.href=t.dataset.currenturl+i.toString())})})},(0,i.default)(document).on("click",this.identifier.toggle,this.toggleClick),(0,i.default)(document).on("click",this.identifier.icons.editMultiple,this.onEditMultiple),(0,i.default)(document).on("click",this.identifier.localize,this.disableButton),(0,i.default)(document).on("click",this.identifier.searchboxToggle,this.toggleSearchbox),d.ready().then(()=>{o.initialize(".table-fit a[title]"),this.registerPaginationEvents()}),new l("typo3:datahandler:process",this.handleDataHandlerResult.bind(this)).bindTo(document),new l("multiRecordSelection:action:edit",this.onEditMultiple).bindTo(document),new l("multiRecordSelection:action:delete",this.deleteMultiple).bindTo(document),new l("multiRecordSelection:action:copyMarked",t=>{u.submitClipboardFormWithCommand("copyMarked",t.target)}).bindTo(document),new l("multiRecordSelection:action:removeMarked",t=>{u.submitClipboardFormWithCommand("removeMarked",t.target)}).bindTo(document)}static submitClipboardFormWithCommand(t,e){const i=e.closest("form");if(!i)return;const a=i.querySelector('input[name="cmd"]');a&&(a.value=t,i.submit())}static getReturnUrl(t){return""===t&&(t=top.list_frame.document.location.pathname+top.list_frame.document.location.search),encodeURIComponent(t)}handleDataHandlerResult(t){const e=t.detail.payload;e.hasErrors||"datahandler"!==e.component&&"delete"===e.action&&this.deleteRow(e)}deleteMultiple(t){t.preventDefault();const e=t.detail.configuration;r.advanced({title:e.title||"Delete",content:e.content||"Are you sure you want to delete those records?",severity:s.SeverityEnum.warning,buttons:[{text:TYPO3.lang["button.close"]||"Close",active:!0,btnClass:"btn-default",trigger:()=>r.currentModal.trigger("modal-dismiss")},{text:e.ok||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+c.getCssClass(s.SeverityEnum.warning),trigger:()=>{r.currentModal.trigger("modal-dismiss"),u.submitClipboardFormWithCommand("delete",t.target)}}]})}}return new u}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};define(["require","exports","jquery","TYPO3/CMS/Backend/Icons","TYPO3/CMS/Backend/Storage/Persistent","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Tooltip","TYPO3/CMS/Core/DocumentService","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Enum/Severity","TYPO3/CMS/Backend/Severity"],(function(t,e,i,a,n,l,o,d,r,s,c){"use strict";i=__importDefault(i);class u{static submitClipboardFormWithCommand(t,e){const i=e.closest("form");if(!i)return;const a=i.querySelector('input[name="cmd"]');a&&(a.value=t,i.submit())}static getReturnUrl(t){return""===t&&(t=top.list_frame.document.location.pathname+top.list_frame.document.location.search),encodeURIComponent(t)}constructor(){this.identifier={entity:".t3js-entity",toggle:".t3js-toggle-recordlist",localize:".t3js-action-localize",searchboxToolbar:"#db_list-searchbox-toolbar",searchboxToggle:".t3js-toggle-search-toolbox",searchField:"#search_field",icons:{collapse:"actions-view-list-collapse",expand:"actions-view-list-expand",editMultiple:".t3js-record-edit-multiple"}},this.toggleClick=t=>{t.preventDefault();const e=(0,i.default)(t.currentTarget),l=e.data("table"),o=(0,i.default)(e.data("bs-target")),d="expanded"===o.data("state"),r=e.find(".collapseIcon"),s=d?this.identifier.icons.expand:this.identifier.icons.collapse;a.getIcon(s,a.sizes.small).done(t=>{r.html(t)});let c={};n.isset("moduleData.list")&&(c=n.get("moduleData.list"));const u={};u[l]=d?1:0,i.default.extend(c,u),n.set("moduleData.list",c).done(()=>{o.data("state",d?"collapsed":"expanded")})},this.onEditMultiple=t=>{t.preventDefault();let e="",i="",a="",n=[];if("multiRecordSelection:action:edit"===t.type){const a=t.detail,l=a.configuration;if(i=l.returnUrl||"",e=l.tableName||"",""===e)return;a.checkboxes.forEach(t=>{const e=t.closest("tr");null!==e&&e.dataset[l.idField]&&n.push(e.dataset[l.idField])})}else{const l=t.currentTarget,o=l.closest("[data-table]");if(null===o)return;if(e=o.dataset.table||"",""===e)return;i=l.dataset.returnUrl||"",a=l.dataset.columnsOnly||"";const d=o.querySelectorAll(this.identifier.entity+'[data-uid][data-table="'+e+'"] td.col-selector input[type="checkbox"]:checked');if(d.length)d.forEach(t=>{n.push(t.closest(this.identifier.entity+'[data-uid][data-table="'+e+'"]').dataset.uid)});else{const t=o.querySelectorAll(this.identifier.entity+'[data-uid][data-table="'+e+'"]');if(!t.length)return;t.forEach(t=>{n.push(t.dataset.uid)})}}if(!n.length)return;let l=top.TYPO3.settings.FormEngine.moduleUrl+"&edit["+e+"]["+n.join(",")+"]=edit&returnUrl="+u.getReturnUrl(i);""!==a&&(l+="&columnsOnly="+a),window.location.href=l},this.disableButton=t=>{(0,i.default)(t.currentTarget).prop("disable",!0).addClass("disabled")},this.toggleSearchbox=()=>{const t=(0,i.default)(this.identifier.searchboxToolbar);t.toggle(),t.is(":visible")&&(0,i.default)(this.identifier.searchField).focus()},this.deleteRow=t=>{const e=(0,i.default)(`table[data-table="${t.table}"]`),a=e.find(`tr[data-uid="${t.uid}"]`),n=e.closest(".panel"),l=n.find(".panel-heading"),o=e.find(`[data-l10nparent="${t.uid}"]`),d=(0,i.default)().add(a).add(o);if(d.fadeTo("slow",.4,()=>{d.slideUp("slow",()=>{d.remove(),0===e.find("tbody tr").length&&n.slideUp("slow")})}),"0"===a.data("l10nparent")||""===a.data("l10nparent")){const t=Number(l.find(".t3js-table-total-items").html());l.find(".t3js-table-total-items").text(t-1)}"pages"===t.table&&top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))},this.registerPaginationEvents=()=>{document.querySelectorAll(".t3js-recordlist-paging").forEach(t=>{t.addEventListener("keyup",e=>{e.preventDefault();let i=parseInt(t.value,10);i<parseInt(t.min,10)&&(i=parseInt(t.min,10)),i>parseInt(t.max,10)&&(i=parseInt(t.max,10)),"Enter"===e.key&&i!==parseInt(t.dataset.currentpage,10)&&(window.location.href=t.dataset.currenturl+i.toString())})})},(0,i.default)(document).on("click",this.identifier.toggle,this.toggleClick),(0,i.default)(document).on("click",this.identifier.icons.editMultiple,this.onEditMultiple),(0,i.default)(document).on("click",this.identifier.localize,this.disableButton),(0,i.default)(document).on("click",this.identifier.searchboxToggle,this.toggleSearchbox),d.ready().then(()=>{o.initialize(".table-fit a[title]"),this.registerPaginationEvents()}),new l("typo3:datahandler:process",this.handleDataHandlerResult.bind(this)).bindTo(document),new l("multiRecordSelection:action:edit",this.onEditMultiple).bindTo(document),new l("multiRecordSelection:action:delete",this.deleteMultiple).bindTo(document),new l("multiRecordSelection:action:copyMarked",t=>{u.submitClipboardFormWithCommand("copyMarked",t.target)}).bindTo(document),new l("multiRecordSelection:action:removeMarked",t=>{u.submitClipboardFormWithCommand("removeMarked",t.target)}).bindTo(document)}handleDataHandlerResult(t){const e=t.detail.payload;e.hasErrors||"datahandler"!==e.component&&"delete"===e.action&&this.deleteRow(e)}deleteMultiple(t){t.preventDefault();const e=t.detail.configuration;r.advanced({title:e.title||"Delete",content:e.content||"Are you sure you want to delete those records?",severity:s.SeverityEnum.warning,buttons:[{text:TYPO3.lang["button.close"]||"Close",active:!0,btnClass:"btn-default",trigger:()=>r.currentModal.trigger("modal-dismiss")},{text:e.ok||TYPO3.lang["button.ok"]||"OK",btnClass:"btn-"+c.getCssClass(s.SeverityEnum.warning),trigger:()=>{r.currentModal.trigger("modal-dismiss"),u.submitClipboardFormWithCommand("delete",t.target)}}]})}}return new u}));
\ No newline at end of file
diff --git a/typo3/sysext/recycler/Resources/Public/JavaScript/Recycler.js b/typo3/sysext/recycler/Resources/Public/JavaScript/Recycler.js
index 066309423971..f4977762919c 100644
--- a/typo3/sysext/recycler/Resources/Public/JavaScript/Recycler.js
+++ b/typo3/sysext/recycler/Resources/Public/JavaScript/Recycler.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","nprogress","TYPO3/CMS/Backend/ActionButton/DeferredAction","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Backend/Severity","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Input/Clearable","TYPO3/CMS/Backend/Element/IconElement"],(function(e,t,a,s,n,l,i,o,r){"use strict";var d;a=__importDefault(a),s=__importDefault(s),r=__importDefault(r),function(e){e.searchForm="#recycler-form",e.searchText="#recycler-form [name=search-text]",e.searchSubmitBtn="#recycler-form button[type=submit]",e.depthSelector="#recycler-form [name=depth]",e.tableSelector="#recycler-form [name=pages]",e.recyclerTable="#itemsInRecycler",e.paginator="#recycler-index nav",e.reloadAction="a[data-action=reload]",e.undo="a[data-action=undo]",e.delete="a[data-action=delete]",e.massUndo="button[data-multi-record-selection-action=massundo]",e.massDelete="button[data-multi-record-selection-action=massdelete]"}(d||(d={}));class c{constructor(){this.elements={},this.paging={currentPage:1,totalPages:1,totalItems:0,itemsPerPage:TYPO3.settings.Recycler.pagingSize},this.markedRecordsForMassAction=[],this.handleCheckboxStateChanged=e=>{const t=(0,a.default)(e.target),s=t.parents("tr"),n=s.data("table")+":"+s.data("uid");if(t.prop("checked"))this.markedRecordsForMassAction.push(n);else{const e=this.markedRecordsForMassAction.indexOf(n);e>-1&&this.markedRecordsForMassAction.splice(e,1)}this.markedRecordsForMassAction.length>0?(this.elements.$massUndo.find("span.text").text(this.createMessage(TYPO3.lang["button.undoselected"],[this.markedRecordsForMassAction.length])),this.elements.$massDelete.find("span.text").text(this.createMessage(TYPO3.lang["button.deleteselected"],[this.markedRecordsForMassAction.length]))):this.resetMassActionButtons()},this.deleteRecord=e=>{if(TYPO3.settings.Recycler.deleteDisable)return;const t=(0,a.default)(e.target).parents("tr"),s="TBODY"!==t.parent().prop("tagName");let i,r;if(s)i=this.markedRecordsForMassAction,r=TYPO3.lang["modal.massdelete.text"];else{const e=t.data("uid"),a=t.data("table"),s=t.data("recordtitle");i=[a+":"+e],r="pages"===a?TYPO3.lang["modal.deletepage.text"]:TYPO3.lang["modal.deletecontent.text"],r=this.createMessage(r,[s,"["+i[0]+"]"])}l.confirm(TYPO3.lang["modal.delete.header"],r,o.error,[{text:TYPO3.lang["button.cancel"],btnClass:"btn-default",trigger:function(){l.dismiss()}},{text:TYPO3.lang["button.delete"],btnClass:"btn-danger",action:new n(()=>Promise.resolve(this.callAjaxAction("delete",i,s)))}])},this.undoRecord=e=>{const t=(0,a.default)(e.target).parents("tr"),s="TBODY"!==t.parent().prop("tagName");let i,r,d;if(s)i=this.markedRecordsForMassAction,r=TYPO3.lang["modal.massundo.text"],d=!0;else{const e=t.data("uid"),a=t.data("table"),s=t.data("recordtitle");i=[a+":"+e],d="pages"===a,r=d?TYPO3.lang["modal.undopage.text"]:TYPO3.lang["modal.undocontent.text"],r=this.createMessage(r,[s,"["+i[0]+"]"]),d&&t.data("parentDeleted")&&(r+=TYPO3.lang["modal.undo.parentpages"])}let c=null;c=d?(0,a.default)("<div />").append((0,a.default)("<p />").text(r),(0,a.default)("<div />",{class:"form-check"}).append((0,a.default)("<input />",{type:"checkbox",id:"undo-recursive",class:"form-check-input"}),(0,a.default)("<label />",{class:"form-check-label",for:"undo-recursive"}).text(TYPO3.lang["modal.undo.recursive"]))):(0,a.default)("<p />").text(r),l.confirm(TYPO3.lang["modal.undo.header"],c,o.ok,[{text:TYPO3.lang["button.cancel"],btnClass:"btn-default",trigger:function(){l.dismiss()}},{text:TYPO3.lang["button.undo"],btnClass:"btn-success",action:new n(()=>Promise.resolve(this.callAjaxAction("undo","object"==typeof i?i:[i],s,c.find("#undo-recursive").prop("checked"))))}])},(0,a.default)(()=>{this.initialize()})}static refreshPageTree(){top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))}getElements(){this.elements={$searchForm:(0,a.default)(d.searchForm),$searchTextField:(0,a.default)(d.searchText),$searchSubmitBtn:(0,a.default)(d.searchSubmitBtn),$depthSelector:(0,a.default)(d.depthSelector),$tableSelector:(0,a.default)(d.tableSelector),$recyclerTable:(0,a.default)(d.recyclerTable),$tableBody:(0,a.default)(d.recyclerTable).find("tbody"),$paginator:(0,a.default)(d.paginator),$reloadAction:(0,a.default)(d.reloadAction),$massUndo:(0,a.default)(d.massUndo),$massDelete:(0,a.default)(d.massDelete)}}registerEvents(){this.elements.$searchForm.on("submit",e=>{e.preventDefault(),""!==this.elements.$searchTextField.val()&&this.loadDeletedElements()}),this.elements.$searchTextField.on("keyup",e=>{""!==(0,a.default)(e.currentTarget).val()?this.elements.$searchSubmitBtn.removeClass("disabled"):(this.elements.$searchSubmitBtn.addClass("disabled"),this.loadDeletedElements())}),this.elements.$searchTextField.get(0).clearable({onClear:()=>{this.elements.$searchSubmitBtn.addClass("disabled"),this.loadDeletedElements()}}),this.elements.$depthSelector.on("change",()=>{a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements()})}),this.elements.$tableSelector.on("change",()=>{this.paging.currentPage=1,this.loadDeletedElements()}),new r.default("click",this.undoRecord).delegateTo(document,d.undo),new r.default("click",this.deleteRecord).delegateTo(document,d.delete),this.elements.$reloadAction.on("click",e=>{e.preventDefault(),a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements()})}),this.elements.$paginator.on("click","[data-action]",e=>{e.preventDefault();const t=(0,a.default)(e.currentTarget);let s=!1;switch(t.data("action")){case"previous":this.paging.currentPage>1&&(this.paging.currentPage--,s=!0);break;case"next":this.paging.currentPage<this.paging.totalPages&&(this.paging.currentPage++,s=!0);break;case"page":this.paging.currentPage=parseInt(t.find("span").text(),10),s=!0}s&&this.loadDeletedElements()}),TYPO3.settings.Recycler.deleteDisable?this.elements.$massDelete.remove():this.elements.$massDelete.show(),new r.default("multiRecordSelection:checkbox:state:changed",this.handleCheckboxStateChanged).bindTo(document),new r.default("multiRecordSelection:action:massundo",this.undoRecord).bindTo(document),new r.default("multiRecordSelection:action:massdelete",this.deleteRecord).bindTo(document)}initialize(){s.default.configure({parent:".module-loading-indicator",showSpinner:!1}),this.getElements(),this.registerEvents(),TYPO3.settings.Recycler.depthSelection>0?this.elements.$depthSelector.val(TYPO3.settings.Recycler.depthSelection).trigger("change"):a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements()})}resetMassActionButtons(){this.markedRecordsForMassAction=[],this.elements.$massUndo.find("span.text").text(TYPO3.lang["button.undo"]),this.elements.$massDelete.find("span.text").text(TYPO3.lang["button.delete"]),document.dispatchEvent(new CustomEvent("multiRecordSelection:actions:hide"))}loadAvailableTables(){return a.default.ajax({url:TYPO3.settings.ajaxUrls.recycler,dataType:"json",data:{action:"getTables",startUid:TYPO3.settings.Recycler.startUid,depth:this.elements.$depthSelector.find("option:selected").val()},beforeSend:()=>{s.default.start(),this.elements.$tableSelector.val(""),this.paging.currentPage=1},success:e=>{const t=[];this.elements.$tableSelector.children().remove(),a.default.each(e,(e,s)=>{const n=s[0],l=s[1],i=(s[2]?s[2]:TYPO3.lang.label_allrecordtypes)+" ("+l+")";t.push((0,a.default)("<option />").val(n).text(i))}),t.length>0&&(this.elements.$tableSelector.append(t),""!==TYPO3.settings.Recycler.tableSelection&&this.elements.$tableSelector.val(TYPO3.settings.Recycler.tableSelection))},complete:()=>{s.default.done()}})}loadDeletedElements(){return a.default.ajax({url:TYPO3.settings.ajaxUrls.recycler,dataType:"json",data:{action:"getDeletedRecords",depth:this.elements.$depthSelector.find("option:selected").val(),startUid:TYPO3.settings.Recycler.startUid,table:this.elements.$tableSelector.find("option:selected").val(),filterTxt:this.elements.$searchTextField.val(),start:(this.paging.currentPage-1)*this.paging.itemsPerPage,limit:this.paging.itemsPerPage},beforeSend:()=>{s.default.start(),this.resetMassActionButtons()},success:e=>{this.elements.$tableBody.html(e.rows),this.buildPaginator(e.totalItems)},complete:()=>{s.default.done()}})}callAjaxAction(e,t,n,l=!1){let o={records:t,action:""},r=!1;if("undo"===e)o.action="undoRecords",o.recursive=l?1:0,r=!0;else{if("delete"!==e)return;o.action="deleteRecords"}return a.default.ajax({url:TYPO3.settings.ajaxUrls.recycler,type:"POST",dataType:"json",data:o,beforeSend:()=>{s.default.start()},success:e=>{e.success?i.success("",e.message):i.error("",e.message),this.paging.currentPage=1,a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements(),n&&this.resetMassActionButtons(),r&&c.refreshPageTree()})},complete:()=>{s.default.done()}})}createMessage(e,t){return void 0===e?"":e.replace(/\{([0-9]+)\}/g,(function(e,a){return t[a]}))}buildPaginator(e){if(0===e)return void this.elements.$paginator.contents().remove();if(this.paging.totalItems=e,this.paging.totalPages=Math.ceil(e/this.paging.itemsPerPage),1===this.paging.totalPages)return void this.elements.$paginator.contents().remove();const t=(0,a.default)("<ul />",{class:"pagination"}),s=[],n=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"previous"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-left-alt",size:"small"}))),l=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"next"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-right-alt",size:"small"})));1===this.paging.currentPage&&n.disablePagingAction(),this.paging.currentPage===this.paging.totalPages&&l.disablePagingAction();for(let e=1;e<=this.paging.totalPages;e++){const t=(0,a.default)("<li />",{class:"page-item"+(this.paging.currentPage===e?" active":"")});t.append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"page"}).append((0,a.default)("<span />").text(e))),s.push(t)}t.append(n,s,l),this.elements.$paginator.html(t)}}return a.default.fn.disablePagingAction=function(){(0,a.default)(this).addClass("disabled").find("button").prop("disabled",!0)},new c}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","nprogress","TYPO3/CMS/Backend/ActionButton/DeferredAction","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Notification","TYPO3/CMS/Backend/Severity","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Input/Clearable","TYPO3/CMS/Backend/Element/IconElement"],(function(e,t,a,s,n,l,i,o,r){"use strict";var d;a=__importDefault(a),s=__importDefault(s),r=__importDefault(r),function(e){e.searchForm="#recycler-form",e.searchText="#recycler-form [name=search-text]",e.searchSubmitBtn="#recycler-form button[type=submit]",e.depthSelector="#recycler-form [name=depth]",e.tableSelector="#recycler-form [name=pages]",e.recyclerTable="#itemsInRecycler",e.paginator="#recycler-index nav",e.reloadAction="a[data-action=reload]",e.undo="a[data-action=undo]",e.delete="a[data-action=delete]",e.massUndo="button[data-multi-record-selection-action=massundo]",e.massDelete="button[data-multi-record-selection-action=massdelete]"}(d||(d={}));class c{static refreshPageTree(){top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))}constructor(){this.elements={},this.paging={currentPage:1,totalPages:1,totalItems:0,itemsPerPage:TYPO3.settings.Recycler.pagingSize},this.markedRecordsForMassAction=[],this.handleCheckboxStateChanged=e=>{const t=(0,a.default)(e.target),s=t.parents("tr"),n=s.data("table")+":"+s.data("uid");if(t.prop("checked"))this.markedRecordsForMassAction.push(n);else{const e=this.markedRecordsForMassAction.indexOf(n);e>-1&&this.markedRecordsForMassAction.splice(e,1)}this.markedRecordsForMassAction.length>0?(this.elements.$massUndo.find("span.text").text(this.createMessage(TYPO3.lang["button.undoselected"],[this.markedRecordsForMassAction.length])),this.elements.$massDelete.find("span.text").text(this.createMessage(TYPO3.lang["button.deleteselected"],[this.markedRecordsForMassAction.length]))):this.resetMassActionButtons()},this.deleteRecord=e=>{if(TYPO3.settings.Recycler.deleteDisable)return;const t=(0,a.default)(e.target).parents("tr"),s="TBODY"!==t.parent().prop("tagName");let i,r;if(s)i=this.markedRecordsForMassAction,r=TYPO3.lang["modal.massdelete.text"];else{const e=t.data("uid"),a=t.data("table"),s=t.data("recordtitle");i=[a+":"+e],r="pages"===a?TYPO3.lang["modal.deletepage.text"]:TYPO3.lang["modal.deletecontent.text"],r=this.createMessage(r,[s,"["+i[0]+"]"])}l.confirm(TYPO3.lang["modal.delete.header"],r,o.error,[{text:TYPO3.lang["button.cancel"],btnClass:"btn-default",trigger:function(){l.dismiss()}},{text:TYPO3.lang["button.delete"],btnClass:"btn-danger",action:new n(()=>Promise.resolve(this.callAjaxAction("delete",i,s)))}])},this.undoRecord=e=>{const t=(0,a.default)(e.target).parents("tr"),s="TBODY"!==t.parent().prop("tagName");let i,r,d;if(s)i=this.markedRecordsForMassAction,r=TYPO3.lang["modal.massundo.text"],d=!0;else{const e=t.data("uid"),a=t.data("table"),s=t.data("recordtitle");i=[a+":"+e],d="pages"===a,r=d?TYPO3.lang["modal.undopage.text"]:TYPO3.lang["modal.undocontent.text"],r=this.createMessage(r,[s,"["+i[0]+"]"]),d&&t.data("parentDeleted")&&(r+=TYPO3.lang["modal.undo.parentpages"])}let c=null;c=d?(0,a.default)("<div />").append((0,a.default)("<p />").text(r),(0,a.default)("<div />",{class:"form-check"}).append((0,a.default)("<input />",{type:"checkbox",id:"undo-recursive",class:"form-check-input"}),(0,a.default)("<label />",{class:"form-check-label",for:"undo-recursive"}).text(TYPO3.lang["modal.undo.recursive"]))):(0,a.default)("<p />").text(r),l.confirm(TYPO3.lang["modal.undo.header"],c,o.ok,[{text:TYPO3.lang["button.cancel"],btnClass:"btn-default",trigger:function(){l.dismiss()}},{text:TYPO3.lang["button.undo"],btnClass:"btn-success",action:new n(()=>Promise.resolve(this.callAjaxAction("undo","object"==typeof i?i:[i],s,c.find("#undo-recursive").prop("checked"))))}])},(0,a.default)(()=>{this.initialize()})}getElements(){this.elements={$searchForm:(0,a.default)(d.searchForm),$searchTextField:(0,a.default)(d.searchText),$searchSubmitBtn:(0,a.default)(d.searchSubmitBtn),$depthSelector:(0,a.default)(d.depthSelector),$tableSelector:(0,a.default)(d.tableSelector),$recyclerTable:(0,a.default)(d.recyclerTable),$tableBody:(0,a.default)(d.recyclerTable).find("tbody"),$paginator:(0,a.default)(d.paginator),$reloadAction:(0,a.default)(d.reloadAction),$massUndo:(0,a.default)(d.massUndo),$massDelete:(0,a.default)(d.massDelete)}}registerEvents(){this.elements.$searchForm.on("submit",e=>{e.preventDefault(),""!==this.elements.$searchTextField.val()&&this.loadDeletedElements()}),this.elements.$searchTextField.on("keyup",e=>{""!==(0,a.default)(e.currentTarget).val()?this.elements.$searchSubmitBtn.removeClass("disabled"):(this.elements.$searchSubmitBtn.addClass("disabled"),this.loadDeletedElements())}),this.elements.$searchTextField.get(0).clearable({onClear:()=>{this.elements.$searchSubmitBtn.addClass("disabled"),this.loadDeletedElements()}}),this.elements.$depthSelector.on("change",()=>{a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements()})}),this.elements.$tableSelector.on("change",()=>{this.paging.currentPage=1,this.loadDeletedElements()}),new r.default("click",this.undoRecord).delegateTo(document,d.undo),new r.default("click",this.deleteRecord).delegateTo(document,d.delete),this.elements.$reloadAction.on("click",e=>{e.preventDefault(),a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements()})}),this.elements.$paginator.on("click","[data-action]",e=>{e.preventDefault();const t=(0,a.default)(e.currentTarget);let s=!1;switch(t.data("action")){case"previous":this.paging.currentPage>1&&(this.paging.currentPage--,s=!0);break;case"next":this.paging.currentPage<this.paging.totalPages&&(this.paging.currentPage++,s=!0);break;case"page":this.paging.currentPage=parseInt(t.find("span").text(),10),s=!0}s&&this.loadDeletedElements()}),TYPO3.settings.Recycler.deleteDisable?this.elements.$massDelete.remove():this.elements.$massDelete.show(),new r.default("multiRecordSelection:checkbox:state:changed",this.handleCheckboxStateChanged).bindTo(document),new r.default("multiRecordSelection:action:massundo",this.undoRecord).bindTo(document),new r.default("multiRecordSelection:action:massdelete",this.deleteRecord).bindTo(document)}initialize(){s.default.configure({parent:".module-loading-indicator",showSpinner:!1}),this.getElements(),this.registerEvents(),TYPO3.settings.Recycler.depthSelection>0?this.elements.$depthSelector.val(TYPO3.settings.Recycler.depthSelection).trigger("change"):a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements()})}resetMassActionButtons(){this.markedRecordsForMassAction=[],this.elements.$massUndo.find("span.text").text(TYPO3.lang["button.undo"]),this.elements.$massDelete.find("span.text").text(TYPO3.lang["button.delete"]),document.dispatchEvent(new CustomEvent("multiRecordSelection:actions:hide"))}loadAvailableTables(){return a.default.ajax({url:TYPO3.settings.ajaxUrls.recycler,dataType:"json",data:{action:"getTables",startUid:TYPO3.settings.Recycler.startUid,depth:this.elements.$depthSelector.find("option:selected").val()},beforeSend:()=>{s.default.start(),this.elements.$tableSelector.val(""),this.paging.currentPage=1},success:e=>{const t=[];this.elements.$tableSelector.children().remove(),a.default.each(e,(e,s)=>{const n=s[0],l=s[1],i=(s[2]?s[2]:TYPO3.lang.label_allrecordtypes)+" ("+l+")";t.push((0,a.default)("<option />").val(n).text(i))}),t.length>0&&(this.elements.$tableSelector.append(t),""!==TYPO3.settings.Recycler.tableSelection&&this.elements.$tableSelector.val(TYPO3.settings.Recycler.tableSelection))},complete:()=>{s.default.done()}})}loadDeletedElements(){return a.default.ajax({url:TYPO3.settings.ajaxUrls.recycler,dataType:"json",data:{action:"getDeletedRecords",depth:this.elements.$depthSelector.find("option:selected").val(),startUid:TYPO3.settings.Recycler.startUid,table:this.elements.$tableSelector.find("option:selected").val(),filterTxt:this.elements.$searchTextField.val(),start:(this.paging.currentPage-1)*this.paging.itemsPerPage,limit:this.paging.itemsPerPage},beforeSend:()=>{s.default.start(),this.resetMassActionButtons()},success:e=>{this.elements.$tableBody.html(e.rows),this.buildPaginator(e.totalItems)},complete:()=>{s.default.done()}})}callAjaxAction(e,t,n,l=!1){let o={records:t,action:""},r=!1;if("undo"===e)o.action="undoRecords",o.recursive=l?1:0,r=!0;else{if("delete"!==e)return;o.action="deleteRecords"}return a.default.ajax({url:TYPO3.settings.ajaxUrls.recycler,type:"POST",dataType:"json",data:o,beforeSend:()=>{s.default.start()},success:e=>{e.success?i.success("",e.message):i.error("",e.message),this.paging.currentPage=1,a.default.when(this.loadAvailableTables()).done(()=>{this.loadDeletedElements(),n&&this.resetMassActionButtons(),r&&c.refreshPageTree()})},complete:()=>{s.default.done()}})}createMessage(e,t){return void 0===e?"":e.replace(/\{([0-9]+)\}/g,(function(e,a){return t[a]}))}buildPaginator(e){if(0===e)return void this.elements.$paginator.contents().remove();if(this.paging.totalItems=e,this.paging.totalPages=Math.ceil(e/this.paging.itemsPerPage),1===this.paging.totalPages)return void this.elements.$paginator.contents().remove();const t=(0,a.default)("<ul />",{class:"pagination"}),s=[],n=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"previous"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-left-alt",size:"small"}))),l=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"next"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-right-alt",size:"small"})));1===this.paging.currentPage&&n.disablePagingAction(),this.paging.currentPage===this.paging.totalPages&&l.disablePagingAction();for(let e=1;e<=this.paging.totalPages;e++){const t=(0,a.default)("<li />",{class:"page-item"+(this.paging.currentPage===e?" active":"")});t.append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"page"}).append((0,a.default)("<span />").text(e))),s.push(t)}t.append(n,s,l),this.elements.$paginator.html(t)}}return a.default.fn.disablePagingAction=function(){(0,a.default)(this).addClass("disabled").find("button").prop("disabled",!0)},new c}));
\ No newline at end of file
diff --git a/typo3/sysext/setup/Resources/Public/JavaScript/SetupModule.js b/typo3/sysext/setup/Resources/Public/JavaScript/SetupModule.js
index 1a9a65468f95..dfb18cc0f558 100644
--- a/typo3/sysext/setup/Resources/Public/JavaScript/SetupModule.js
+++ b/typo3/sysext/setup/Resources/Public/JavaScript/SetupModule.js
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","TYPO3/CMS/Backend/Utility/MessageUtility","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,a,n){"use strict";class i{constructor(){new n("setup:confirmation:response",i.handleConfirmationResponse).delegateTo(document,'[data-event-name="setup:confirmation:response"]'),new n("click",(e,t)=>{const a=new CustomEvent(t.dataset.eventName,{bubbles:!0,detail:{payload:t.dataset.eventPayload}});t.dispatchEvent(a)}).delegateTo(document,'[data-event="click"][data-event-name]'),document.querySelectorAll("[data-setup-avatar-field]").forEach(e=>{const t=e.dataset.setupAvatarField,a=document.getElementById("clear_button_"+t),n=document.getElementById("add_button_"+t);n.addEventListener("click",()=>this.avatarOpenFileBrowser(t,n.dataset.setupAvatarUrl)),a&&a.addEventListener("click",()=>this.avatarClearExistingImage(t))}),null!==document.querySelector("[data-setup-avatar-field]")&&this.initializeMessageListener()}static handleConfirmationResponse(e){if(e.detail.result&&"resetConfiguration"===e.detail.payload){const e=document.querySelector("#setValuesToDefault");e.value="1",e.form.submit()}}static hideElement(e){e.style.display="none"}initializeMessageListener(){window.addEventListener("message",e=>{if(!a.MessageUtility.verifyOrigin(e.origin))throw new Error("Denied message sent by "+e.origin);if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw new Error("No object group defined for message");const t=e.data.objectGroup.match(/^avatar-(.+)$/);if(null===t)return;this.avatarSetFileUid(t[1],e.data.uid)}})}avatarOpenFileBrowser(e,t){t=t.replace("__IDENTIFIER__","avatar-"+e),this.avatarWindowRef=window.open(t,"Typo3WinBrowser","height=650,width=800,status=0,menubar=0,resizable=1,scrollbars=1"),this.avatarWindowRef.focus()}avatarClearExistingImage(e){const t=document.getElementById("field_"+e),a=document.getElementById("image_"+e),n=document.getElementById("clear_button_"+e);n&&i.hideElement(n),a&&i.hideElement(a),t.value="delete"}avatarSetFileUid(e,t){this.avatarClearExistingImage(e);const a=document.getElementById("field_"+e),n=document.getElementById("add_button_"+e);a.value=t,n.classList.remove("btn-default"),n.classList.add("btn-info"),this.avatarWindowRef instanceof Window&&!this.avatarWindowRef.closed&&(this.avatarWindowRef.close(),this.avatarWindowRef=null)}}return new i}));
\ No newline at end of file
+define(["require","exports","TYPO3/CMS/Backend/Utility/MessageUtility","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,a,n){"use strict";class i{static handleConfirmationResponse(e){if(e.detail.result&&"resetConfiguration"===e.detail.payload){const e=document.querySelector("#setValuesToDefault");e.value="1",e.form.submit()}}static hideElement(e){e.style.display="none"}constructor(){new n("setup:confirmation:response",i.handleConfirmationResponse).delegateTo(document,'[data-event-name="setup:confirmation:response"]'),new n("click",(e,t)=>{const a=new CustomEvent(t.dataset.eventName,{bubbles:!0,detail:{payload:t.dataset.eventPayload}});t.dispatchEvent(a)}).delegateTo(document,'[data-event="click"][data-event-name]'),document.querySelectorAll("[data-setup-avatar-field]").forEach(e=>{const t=e.dataset.setupAvatarField,a=document.getElementById("clear_button_"+t),n=document.getElementById("add_button_"+t);n.addEventListener("click",()=>this.avatarOpenFileBrowser(t,n.dataset.setupAvatarUrl)),a&&a.addEventListener("click",()=>this.avatarClearExistingImage(t))}),null!==document.querySelector("[data-setup-avatar-field]")&&this.initializeMessageListener()}initializeMessageListener(){window.addEventListener("message",e=>{if(!a.MessageUtility.verifyOrigin(e.origin))throw new Error("Denied message sent by "+e.origin);if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw new Error("No object group defined for message");const t=e.data.objectGroup.match(/^avatar-(.+)$/);if(null===t)return;this.avatarSetFileUid(t[1],e.data.uid)}})}avatarOpenFileBrowser(e,t){t=t.replace("__IDENTIFIER__","avatar-"+e),this.avatarWindowRef=window.open(t,"Typo3WinBrowser","height=650,width=800,status=0,menubar=0,resizable=1,scrollbars=1"),this.avatarWindowRef.focus()}avatarClearExistingImage(e){const t=document.getElementById("field_"+e),a=document.getElementById("image_"+e),n=document.getElementById("clear_button_"+e);n&&i.hideElement(n),a&&i.hideElement(a),t.value="delete"}avatarSetFileUid(e,t){this.avatarClearExistingImage(e);const a=document.getElementById("field_"+e),n=document.getElementById("add_button_"+e);a.value=t,n.classList.remove("btn-default"),n.classList.add("btn-info"),this.avatarWindowRef instanceof Window&&!this.avatarWindowRef.closed&&(this.avatarWindowRef.close(),this.avatarWindowRef=null)}}return new i}));
\ No newline at end of file
diff --git a/typo3/sysext/viewpage/Resources/Public/JavaScript/Main.js b/typo3/sysext/viewpage/Resources/Public/JavaScript/Main.js
index fd75cb9631b4..5eb9c5ecd305 100644
--- a/typo3/sysext/viewpage/Resources/Public/JavaScript/Main.js
+++ b/typo3/sysext/viewpage/Resources/Public/JavaScript/Main.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/Storage/Persistent","TYPO3/CMS/Core/SecurityUtility","jquery-ui/resizable"],(function(e,t,i,s,r){"use strict";var a;i=__importDefault(i),function(e){e.resizableContainerIdentifier=".t3js-viewpage-resizeable",e.sizeIdentifier=".t3js-viewpage-size",e.moduleBodySelector=".t3js-module-body",e.customSelector=".t3js-preset-custom",e.customWidthSelector=".t3js-preset-custom-width",e.customHeightSelector=".t3js-preset-custom-height",e.changeOrientationSelector=".t3js-change-orientation",e.changePresetSelector=".t3js-change-preset",e.inputWidthSelector=".t3js-viewpage-input-width",e.inputHeightSelector=".t3js-viewpage-input-height",e.currentLabelSelector=".t3js-viewpage-current-label",e.topbarContainerSelector=".t3js-viewpage-topbar",e.refreshSelector=".t3js-viewpage-refresh"}(a||(a={}));class l{constructor(){this.defaultLabel="",this.minimalHeight=300,this.minimalWidth=300,this.storagePrefix="moduleData.web_view.States.",this.queue=[],this.queueIsRunning=!1,(0,i.default)(()=>{const e=(0,i.default)(".t3js-preset-custom-label");this.defaultLabel=e.length>0?e.html().trim():"",this.$iframe=(0,i.default)("#tx_this_iframe"),this.$resizableContainer=(0,i.default)(a.resizableContainerIdentifier),this.$sizeSelector=(0,i.default)(a.sizeIdentifier),this.initialize()})}static getCurrentWidth(){return(0,i.default)(a.inputWidthSelector).val()}static getCurrentHeight(){return(0,i.default)(a.inputHeightSelector).val()}static setLabel(e){(0,i.default)(a.currentLabelSelector).html((new r).encodeHtml(e))}static getCurrentLabel(){return(0,i.default)(a.currentLabelSelector).html().trim()}persistQueue(){if(!1===this.queueIsRunning&&this.queue.length>=1){this.queueIsRunning=!0;let e=this.queue.shift();s.set(e.storageIdentifier,e.data).done(()=>{this.queueIsRunning=!1,this.persistQueue()})}}addToQueue(e,t){const i={storageIdentifier:e,data:t};this.queue.push(i),this.queue.length>=1&&this.persistQueue()}setSize(e,t){isNaN(t)&&(t=this.calculateContainerMaxHeight()),t<this.minimalHeight&&(t=this.minimalHeight),isNaN(e)&&(e=this.calculateContainerMaxWidth()),e<this.minimalWidth&&(e=this.minimalWidth),(0,i.default)(a.inputWidthSelector).val(e),(0,i.default)(a.inputHeightSelector).val(t),this.$resizableContainer.css({width:e,height:t,left:0})}persistCurrentPreset(){let e={width:l.getCurrentWidth(),height:l.getCurrentHeight(),label:l.getCurrentLabel()};this.addToQueue(this.storagePrefix+"current",e)}persistCustomPreset(){let e={width:l.getCurrentWidth(),height:l.getCurrentHeight()};(0,i.default)(a.customSelector).data("width",e.width),(0,i.default)(a.customSelector).data("height",e.height),(0,i.default)(a.customWidthSelector).html(e.width),(0,i.default)(a.customHeightSelector).html(e.height),this.addToQueue(this.storagePrefix+"current",e),this.addToQueue(this.storagePrefix+"custom",e)}persistCustomPresetAfterChange(){clearTimeout(this.queueDelayTimer),this.queueDelayTimer=window.setTimeout(()=>{this.persistCustomPreset()},1e3)}initialize(){(0,i.default)(document).on("click",a.changeOrientationSelector,()=>{const e=(0,i.default)(a.inputHeightSelector).val(),t=(0,i.default)(a.inputWidthSelector).val();this.setSize(e,t),this.persistCurrentPreset()}),(0,i.default)(document).on("change",a.inputWidthSelector,()=>{const e=(0,i.default)(a.inputWidthSelector).val(),t=(0,i.default)(a.inputHeightSelector).val();this.setSize(e,t),l.setLabel(this.defaultLabel),this.persistCustomPresetAfterChange()}),(0,i.default)(document).on("change",a.inputHeightSelector,()=>{const e=(0,i.default)(a.inputWidthSelector).val(),t=(0,i.default)(a.inputHeightSelector).val();this.setSize(e,t),l.setLabel(this.defaultLabel),this.persistCustomPresetAfterChange()}),(0,i.default)(document).on("click",a.changePresetSelector,e=>{const t=(0,i.default)(e.currentTarget).data();this.setSize(parseInt(t.width,10),parseInt(t.height,10)),l.setLabel(t.label),this.persistCurrentPreset()}),(0,i.default)(document).on("click",a.refreshSelector,()=>{document.getElementById("tx_viewpage_iframe").contentWindow.location.reload()}),this.$resizableContainer.resizable({handles:"w, sw, s, se, e"}),this.$resizableContainer.on("resizestart",e=>{(0,i.default)(e.currentTarget).append('<div id="viewpage-iframe-cover" style="z-index:99;position:absolute;width:100%;top:0;left:0;height:100%;"></div>')}),this.$resizableContainer.on("resize",(e,t)=>{t.size.width=t.originalSize.width+2*(t.size.width-t.originalSize.width),t.size.height<this.minimalHeight&&(t.size.height=this.minimalHeight),t.size.width<this.minimalWidth&&(t.size.width=this.minimalWidth),(0,i.default)(a.inputWidthSelector).val(t.size.width),(0,i.default)(a.inputHeightSelector).val(t.size.height),this.$resizableContainer.css({left:0}),l.setLabel(this.defaultLabel)}),this.$resizableContainer.on("resizestop",()=>{(0,i.default)("#viewpage-iframe-cover").remove(),this.persistCurrentPreset(),this.persistCustomPreset()})}calculateContainerMaxHeight(){this.$resizableContainer.hide();let e=(0,i.default)(a.moduleBodySelector),t=e.outerHeight()-e.height(),s=(0,i.default)(document).height(),r=(0,i.default)(a.topbarContainerSelector).outerHeight();return this.$resizableContainer.show(),s-t-r-8}calculateContainerMaxWidth(){this.$resizableContainer.hide();let e=(0,i.default)(a.moduleBodySelector),t=e.outerWidth()-e.width(),s=(0,i.default)(document).width();return this.$resizableContainer.show(),parseInt(s-t+"",10)}}return new l}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","TYPO3/CMS/Backend/Storage/Persistent","TYPO3/CMS/Core/SecurityUtility","jquery-ui/resizable"],(function(e,t,i,s,r){"use strict";var a;i=__importDefault(i),function(e){e.resizableContainerIdentifier=".t3js-viewpage-resizeable",e.sizeIdentifier=".t3js-viewpage-size",e.moduleBodySelector=".t3js-module-body",e.customSelector=".t3js-preset-custom",e.customWidthSelector=".t3js-preset-custom-width",e.customHeightSelector=".t3js-preset-custom-height",e.changeOrientationSelector=".t3js-change-orientation",e.changePresetSelector=".t3js-change-preset",e.inputWidthSelector=".t3js-viewpage-input-width",e.inputHeightSelector=".t3js-viewpage-input-height",e.currentLabelSelector=".t3js-viewpage-current-label",e.topbarContainerSelector=".t3js-viewpage-topbar",e.refreshSelector=".t3js-viewpage-refresh"}(a||(a={}));class l{static getCurrentWidth(){return(0,i.default)(a.inputWidthSelector).val()}static getCurrentHeight(){return(0,i.default)(a.inputHeightSelector).val()}static setLabel(e){(0,i.default)(a.currentLabelSelector).html((new r).encodeHtml(e))}static getCurrentLabel(){return(0,i.default)(a.currentLabelSelector).html().trim()}constructor(){this.defaultLabel="",this.minimalHeight=300,this.minimalWidth=300,this.storagePrefix="moduleData.web_view.States.",this.queue=[],this.queueIsRunning=!1,(0,i.default)(()=>{const e=(0,i.default)(".t3js-preset-custom-label");this.defaultLabel=e.length>0?e.html().trim():"",this.$iframe=(0,i.default)("#tx_this_iframe"),this.$resizableContainer=(0,i.default)(a.resizableContainerIdentifier),this.$sizeSelector=(0,i.default)(a.sizeIdentifier),this.initialize()})}persistQueue(){if(!1===this.queueIsRunning&&this.queue.length>=1){this.queueIsRunning=!0;let e=this.queue.shift();s.set(e.storageIdentifier,e.data).done(()=>{this.queueIsRunning=!1,this.persistQueue()})}}addToQueue(e,t){const i={storageIdentifier:e,data:t};this.queue.push(i),this.queue.length>=1&&this.persistQueue()}setSize(e,t){isNaN(t)&&(t=this.calculateContainerMaxHeight()),t<this.minimalHeight&&(t=this.minimalHeight),isNaN(e)&&(e=this.calculateContainerMaxWidth()),e<this.minimalWidth&&(e=this.minimalWidth),(0,i.default)(a.inputWidthSelector).val(e),(0,i.default)(a.inputHeightSelector).val(t),this.$resizableContainer.css({width:e,height:t,left:0})}persistCurrentPreset(){let e={width:l.getCurrentWidth(),height:l.getCurrentHeight(),label:l.getCurrentLabel()};this.addToQueue(this.storagePrefix+"current",e)}persistCustomPreset(){let e={width:l.getCurrentWidth(),height:l.getCurrentHeight()};(0,i.default)(a.customSelector).data("width",e.width),(0,i.default)(a.customSelector).data("height",e.height),(0,i.default)(a.customWidthSelector).html(e.width),(0,i.default)(a.customHeightSelector).html(e.height),this.addToQueue(this.storagePrefix+"current",e),this.addToQueue(this.storagePrefix+"custom",e)}persistCustomPresetAfterChange(){clearTimeout(this.queueDelayTimer),this.queueDelayTimer=window.setTimeout(()=>{this.persistCustomPreset()},1e3)}initialize(){(0,i.default)(document).on("click",a.changeOrientationSelector,()=>{const e=(0,i.default)(a.inputHeightSelector).val(),t=(0,i.default)(a.inputWidthSelector).val();this.setSize(e,t),this.persistCurrentPreset()}),(0,i.default)(document).on("change",a.inputWidthSelector,()=>{const e=(0,i.default)(a.inputWidthSelector).val(),t=(0,i.default)(a.inputHeightSelector).val();this.setSize(e,t),l.setLabel(this.defaultLabel),this.persistCustomPresetAfterChange()}),(0,i.default)(document).on("change",a.inputHeightSelector,()=>{const e=(0,i.default)(a.inputWidthSelector).val(),t=(0,i.default)(a.inputHeightSelector).val();this.setSize(e,t),l.setLabel(this.defaultLabel),this.persistCustomPresetAfterChange()}),(0,i.default)(document).on("click",a.changePresetSelector,e=>{const t=(0,i.default)(e.currentTarget).data();this.setSize(parseInt(t.width,10),parseInt(t.height,10)),l.setLabel(t.label),this.persistCurrentPreset()}),(0,i.default)(document).on("click",a.refreshSelector,()=>{document.getElementById("tx_viewpage_iframe").contentWindow.location.reload()}),this.$resizableContainer.resizable({handles:"w, sw, s, se, e"}),this.$resizableContainer.on("resizestart",e=>{(0,i.default)(e.currentTarget).append('<div id="viewpage-iframe-cover" style="z-index:99;position:absolute;width:100%;top:0;left:0;height:100%;"></div>')}),this.$resizableContainer.on("resize",(e,t)=>{t.size.width=t.originalSize.width+2*(t.size.width-t.originalSize.width),t.size.height<this.minimalHeight&&(t.size.height=this.minimalHeight),t.size.width<this.minimalWidth&&(t.size.width=this.minimalWidth),(0,i.default)(a.inputWidthSelector).val(t.size.width),(0,i.default)(a.inputHeightSelector).val(t.size.height),this.$resizableContainer.css({left:0}),l.setLabel(this.defaultLabel)}),this.$resizableContainer.on("resizestop",()=>{(0,i.default)("#viewpage-iframe-cover").remove(),this.persistCurrentPreset(),this.persistCustomPreset()})}calculateContainerMaxHeight(){this.$resizableContainer.hide();let e=(0,i.default)(a.moduleBodySelector),t=e.outerHeight()-e.height(),s=(0,i.default)(document).height(),r=(0,i.default)(a.topbarContainerSelector).outerHeight();return this.$resizableContainer.show(),s-t-r-8}calculateContainerMaxWidth(){this.$resizableContainer.hide();let e=(0,i.default)(a.moduleBodySelector),t=e.outerWidth()-e.width(),s=(0,i.default)(document).width();return this.$resizableContainer.show(),parseInt(s-t+"",10)}}return new l}));
\ No newline at end of file
diff --git a/typo3/sysext/workspaces/Resources/Public/JavaScript/Backend.js b/typo3/sysext/workspaces/Resources/Public/JavaScript/Backend.js
index a4900c443113..0ac3102b72d9 100644
--- a/typo3/sysext/workspaces/Resources/Public/JavaScript/Backend.js
+++ b/typo3/sysext/workspaces/Resources/Public/JavaScript/Backend.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/Enum/Severity","./Workspaces","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Storage/Persistent","TYPO3/CMS/Backend/Tooltip","TYPO3/CMS/Backend/Utility","TYPO3/CMS/Backend/Wizard","TYPO3/CMS/Core/SecurityUtility","TYPO3/CMS/Backend/WindowManager","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Element/IconElement","TYPO3/CMS/Backend/Input/Clearable"],(function(e,t,a,s,n,i,o,l,r,c,d,p,g){"use strict";var h;a=__importDefault(a),n=__importDefault(n),g=__importDefault(g),function(e){e.searchForm="#workspace-settings-form",e.searchTextField='#workspace-settings-form input[name="search-text"]',e.searchSubmitBtn='#workspace-settings-form button[type="submit"]',e.depthSelector='#workspace-settings-form [name="depth"]',e.languageSelector='#workspace-settings-form select[name="languages"]',e.stagesSelector='#workspace-settings-form select[name="stages"]',e.workspaceActions=".workspace-actions",e.chooseStageAction='.workspace-actions [name="stage-action"]',e.chooseSelectionAction='.workspace-actions [name="selection-action"]',e.chooseMassAction='.workspace-actions [name="mass-action"]',e.container="#workspace-panel",e.contentsContainer="#workspace-contents",e.noContentsContainer="#workspace-contents-empty",e.previewLinksButton=".t3js-preview-link",e.pagination="#workspace-pagination"}(h||(h={}));class u extends n.default{constructor(){super(),this.elements={},this.settings={dir:"ASC",id:TYPO3.settings.Workspaces.id,depth:1,language:"all",limit:30,query:"",sort:"label_Live",start:0,filterTxt:""},this.paging={currentPage:1,totalPages:1,totalItems:0},this.latestPath="",this.markedRecordsForMassAction=[],this.indentationPadding=26,this.handleCheckboxStateChanged=e=>{const t=(0,a.default)(e.target),s=t.parents("tr"),n=t.prop("checked"),i=s.data("table")+":"+s.data("uid")+":"+s.data("t3ver_oid");if(n)this.markedRecordsForMassAction.push(i);else{const e=this.markedRecordsForMassAction.indexOf(i);e>-1&&this.markedRecordsForMassAction.splice(e,1)}s.data("collectionCurrent")?u.changeCollectionChildrenState(s.data("collectionCurrent"),n):s.data("collection")&&(u.changeCollectionChildrenState(s.data("collection"),n),u.changeCollectionParentState(s.data("collection"),n)),this.elements.$chooseMassAction.prop("disabled",this.markedRecordsForMassAction.length>0)},this.viewChanges=e=>{e.preventDefault();const t=(0,a.default)(e.currentTarget).closest("tr");this.sendRemoteRequest(this.generateRemotePayload("getRowDetails",{stage:t.data("stage"),t3ver_oid:t.data("t3ver_oid"),table:t.data("table"),uid:t.data("uid"),filterFields:!0})).then(async e=>{const n=(await e.resolve())[0].result.data[0],o=(0,a.default)("<div />"),l=(0,a.default)("<ul />",{class:"nav nav-tabs",role:"tablist"}),r=(0,a.default)("<div />",{class:"tab-content"}),c=[];o.append((0,a.default)("<p />").html(TYPO3.lang.path.replace("{0}",n.path_Live)),(0,a.default)("<p />").html(TYPO3.lang.current_step.replace("{0}",n.label_Stage).replace("{1}",n.stage_position).replace("{2}",n.stage_count))),n.diff.length>0&&(l.append((0,a.default)("<li />",{role:"presentation",class:"nav-item"}).append((0,a.default)("<a />",{class:"nav-link",href:"#workspace-changes","aria-controls":"workspace-changes",role:"tab","data-bs-toggle":"tab"}).text(TYPO3.lang["window.recordChanges.tabs.changeSummary"]))),r.append((0,a.default)("<div />",{role:"tabpanel",class:"tab-pane",id:"workspace-changes"}).append((0,a.default)("<div />",{class:"form-section"}).append(u.generateDiffView(n.diff))))),n.comments.length>0&&(l.append((0,a.default)("<li />",{role:"presentation",class:"nav-item"}).append((0,a.default)("<a />",{class:"nav-link",href:"#workspace-comments","aria-controls":"workspace-comments",role:"tab","data-bs-toggle":"tab"}).html(TYPO3.lang["window.recordChanges.tabs.comments"]+"&nbsp;").append((0,a.default)("<span />",{class:"badge"}).text(n.comments.length)))),r.append((0,a.default)("<div />",{role:"tabpanel",class:"tab-pane",id:"workspace-comments"}).append((0,a.default)("<div />",{class:"form-section"}).append(u.generateCommentView(n.comments))))),n.history.total>0&&(l.append((0,a.default)("<li />",{role:"presentation",class:"nav-item"}).append((0,a.default)("<a />",{class:"nav-link",href:"#workspace-history","aria-controls":"workspace-history",role:"tab","data-bs-toggle":"tab"}).text(TYPO3.lang["window.recordChanges.tabs.history"]))),r.append((0,a.default)("<div />",{role:"tabpanel",class:"tab-pane",id:"workspace-history"}).append((0,a.default)("<div />",{class:"form-section"}).append(u.generateHistoryView(n.history.data))))),l.find("li > a").first().addClass("active"),r.find(".tab-pane").first().addClass("active"),o.append((0,a.default)("<div />").append(l,r)),!1!==n.label_PrevStage&&t.data("stage")!==t.data("prevStage")&&c.push({text:n.label_PrevStage.title,active:!0,btnClass:"btn-default",name:"prevstage",trigger:()=>{i.currentModal.trigger("modal-dismiss"),this.sendToStage(t,"prev")}}),!1!==n.label_NextStage&&c.push({text:n.label_NextStage.title,active:!0,btnClass:"btn-default",name:"nextstage",trigger:()=>{i.currentModal.trigger("modal-dismiss"),this.sendToStage(t,"next")}}),c.push({text:TYPO3.lang.close,active:!0,btnClass:"btn-info",name:"cancel",trigger:()=>{i.currentModal.trigger("modal-dismiss")}}),i.advanced({type:i.types.default,title:TYPO3.lang["window.recordInformation"].replace("{0}",t.find(".t3js-title-live").text().trim()),content:o,severity:s.SeverityEnum.info,buttons:c,size:i.sizes.medium})})},this.confirmDeleteRecordFromWorkspace=e=>{const t=(0,a.default)(e.target).closest("tr"),n=i.confirm(TYPO3.lang["window.discard.title"],TYPO3.lang["window.discard.message"],s.SeverityEnum.warning,[{text:TYPO3.lang.cancel,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>{n.modal("hide")}},{text:TYPO3.lang.ok,btnClass:"btn-warning",name:"ok"}]);n.on("button.clicked",e=>{"ok"===e.target.name&&this.sendRemoteRequest([this.generateRemoteActionsPayload("deleteSingleRecord",[t.data("table"),t.data("uid")])]).then(()=>{n.modal("hide"),this.getWorkspaceInfos(),u.refreshPageTree()})})},this.runSelectionAction=e=>{const t=(0,a.default)(e.currentTarget).val(),s="discard"!==t;if(0===t.length)return;const n=[];for(let e=0;e<this.markedRecordsForMassAction.length;++e){const t=this.markedRecordsForMassAction[e].split(":");n.push({table:t[0],liveId:t[2],versionId:t[1]})}s?this.checkIntegrity({selection:n,type:"selection"}).then(async e=>{c.setForceSelection(!1),"warning"===(await e.resolve())[0].result.result&&this.addIntegrityCheckWarningToWizard(),this.renderSelectionActionWizard(t,n)}):(c.setForceSelection(!1),this.renderSelectionActionWizard(t,n))},this.addIntegrityCheckWarningToWizard=()=>{c.addSlide("integrity-warning","Warning",TYPO3.lang["integrity.hasIssuesDescription"]+"<br>"+TYPO3.lang["integrity.hasIssuesQuestion"],s.SeverityEnum.warning)},this.runMassAction=e=>{const t=(0,a.default)(e.currentTarget).val(),s="discard"!==t;0!==t.length&&(s?this.checkIntegrity({language:this.settings.language,type:t}).then(async e=>{c.setForceSelection(!1),"warning"===(await e.resolve())[0].result.result&&this.addIntegrityCheckWarningToWizard(),this.renderMassActionWizard(t)}):(c.setForceSelection(!1),this.renderMassActionWizard(t)))},this.sendToSpecificStageAction=e=>{const t=[],s=(0,a.default)(e.currentTarget).val();for(let e=0;e<this.markedRecordsForMassAction.length;++e){const a=this.markedRecordsForMassAction[e].split(":");t.push({table:a[0],uid:a[1],t3ver_oid:a[2]})}this.sendRemoteRequest(this.generateRemoteActionsPayload("sendToSpecificStageWindow",[s,t])).then(async e=>{const a=this.renderSendToStageWindow(await e.resolve());a.on("button.clicked",e=>{if("ok"===e.target.name){const n=r.convertFormToObject(e.currentTarget.querySelector("form"));n.affects={elements:t,nextStage:s},this.sendRemoteRequest([this.generateRemoteActionsPayload("sendToSpecificStageExecute",[n]),this.generateRemotePayload("getWorkspaceInfos",this.settings)]).then(async e=>{const t=await e.resolve();a.modal("hide"),this.renderWorkspaceInfos(t[1].result),u.refreshPageTree()})}}).on("modal-destroyed",()=>{this.elements.$chooseStageAction.val("")})})},this.generatePreviewLinks=()=>{this.sendRemoteRequest(this.generateRemoteActionsPayload("generateWorkspacePreviewLinksForAllLanguages",[this.settings.id])).then(async e=>{const t=(await e.resolve())[0].result,n=(0,a.default)("<dl />");a.default.each(t,(e,t)=>{n.append((0,a.default)("<dt />").text(e),(0,a.default)("<dd />").append((0,a.default)("<a />",{href:t,target:"_blank"}).text(t)))}),i.show(TYPO3.lang.previewLink,n,s.SeverityEnum.info,[{text:TYPO3.lang.ok,active:!0,btnClass:"btn-info",name:"ok",trigger:()=>{i.currentModal.trigger("modal-dismiss")}}],["modal-inner-scroll"])})},(0,a.default)(()=>{this.getElements(),this.registerEvents(),this.notifyWorkspaceSwitchAction(),this.settings.depth=this.elements.$depthSelector.val(),this.settings.language=this.elements.$languageSelector.val(),this.settings.stage=this.elements.$stagesSelector.val(),this.elements.$container.length&&this.getWorkspaceInfos()})}static refreshPageTree(){top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))}static generateDiffView(e){const t=(0,a.default)("<div />",{class:"diff"});for(let s of e)t.append((0,a.default)("<div />",{class:"diff-item"}).append((0,a.default)("<div />",{class:"diff-item-title"}).text(s.label),(0,a.default)("<div />",{class:"diff-item-result diff-item-result-inline"}).html(s.content)));return t}static generateCommentView(e){const t=(0,a.default)("<div />");for(let s of e){const e=(0,a.default)("<div />",{class:"panel panel-default"});s.user_comment.length>0&&e.append((0,a.default)("<div />",{class:"panel-body"}).html(s.user_comment)),e.append((0,a.default)("<div />",{class:"panel-footer"}).append((0,a.default)("<span />",{class:"label label-success me-2"}).text(s.previous_stage_title+" > "+s.stage_title),(0,a.default)("<span />",{class:"label label-info"}).text(s.tstamp))),t.append((0,a.default)("<div />",{class:"media"}).append((0,a.default)("<div />",{class:"media-left text-center"}).text(s.user_username).prepend((0,a.default)("<div />").html(s.user_avatar)),(0,a.default)("<div />",{class:"media-body"}).append(e)))}return t}static generateHistoryView(e){const t=(0,a.default)("<div />");for(let s of e){const e=(0,a.default)("<div />",{class:"panel panel-default"});let n;if("object"==typeof s.differences){if(0===s.differences.length)continue;n=(0,a.default)("<div />",{class:"diff"});for(let e=0;e<s.differences.length;++e)n.append((0,a.default)("<div />",{class:"diff-item"}).append((0,a.default)("<div />",{class:"diff-item-title"}).text(s.differences[e].label),(0,a.default)("<div />",{class:"diff-item-result diff-item-result-inline"}).html(s.differences[e].html)));e.append((0,a.default)("<div />").append(n))}else e.append((0,a.default)("<div />",{class:"panel-body"}).text(s.differences));e.append((0,a.default)("<div />",{class:"panel-footer"}).append((0,a.default)("<span />",{class:"label label-info"}).text(s.datetime))),t.append((0,a.default)("<div />",{class:"media"}).append((0,a.default)("<div />",{class:"media-left text-center"}).text(s.user).prepend((0,a.default)("<div />").html(s.user_avatar)),(0,a.default)("<div />",{class:"media-body"}).append(e)))}return t}static changeCollectionParentState(e,t){const a=document.querySelector('tr[data-collection-current="'+e+'"] input[type=checkbox]');null!==a&&a.checked!==t&&(a.checked=t,a.dataset.manuallyChanged="true",a.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))}static changeCollectionChildrenState(e,t){const a=document.querySelectorAll('tr[data-collection="'+e+'"] input[type=checkbox]');a.length&&a.forEach(e=>{e.checked!==t&&(e.checked=t,e.dataset.manuallyChanged="true",e.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))})}notifyWorkspaceSwitchAction(){const e=document.querySelector("main[data-workspace-switch-action]");if(e.dataset.workspaceSwitchAction){const t=JSON.parse(e.dataset.workspaceSwitchAction);top.TYPO3.WorkspacesMenu.performWorkspaceSwitch(t.id,t.title),top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh")),top.TYPO3.ModuleMenu.App.refreshMenu()}}checkIntegrity(e){return this.sendRemoteRequest(this.generateRemotePayload("checkIntegrity",e))}getElements(){this.elements.$searchForm=(0,a.default)(h.searchForm),this.elements.$searchTextField=(0,a.default)(h.searchTextField),this.elements.$searchSubmitBtn=(0,a.default)(h.searchSubmitBtn),this.elements.$depthSelector=(0,a.default)(h.depthSelector),this.elements.$languageSelector=(0,a.default)(h.languageSelector),this.elements.$stagesSelector=(0,a.default)(h.stagesSelector),this.elements.$container=(0,a.default)(h.container),this.elements.$contentsContainer=(0,a.default)(h.contentsContainer),this.elements.$noContentsContainer=(0,a.default)(h.noContentsContainer),this.elements.$tableBody=this.elements.$contentsContainer.find("tbody"),this.elements.$workspaceActions=(0,a.default)(h.workspaceActions),this.elements.$chooseStageAction=(0,a.default)(h.chooseStageAction),this.elements.$chooseSelectionAction=(0,a.default)(h.chooseSelectionAction),this.elements.$chooseMassAction=(0,a.default)(h.chooseMassAction),this.elements.$previewLinksButton=(0,a.default)(h.previewLinksButton),this.elements.$pagination=(0,a.default)(h.pagination)}registerEvents(){(0,a.default)(document).on("click",'[data-action="publish"]',e=>{const t=e.target.closest("tr");this.checkIntegrity({selection:[{liveId:t.dataset.uid,versionId:t.dataset.t3ver_oid,table:t.dataset.table}],type:"selection"}).then(async e=>{"warning"===(await e.resolve())[0].result.result&&this.addIntegrityCheckWarningToWizard(),c.setForceSelection(!1),c.addSlide("publish-confirm","Publish",TYPO3.lang["window.publish.message"],s.SeverityEnum.info),c.addFinalProcessingSlide(()=>{this.sendRemoteRequest(this.generateRemoteActionsPayload("publishSingleRecord",[t.dataset.table,t.dataset.t3ver_oid,t.dataset.uid])).then(()=>{c.dismiss(),this.getWorkspaceInfos(),u.refreshPageTree()})}).done(()=>{c.show()})})}).on("click",'[data-action="prevstage"]',e=>{this.sendToStage((0,a.default)(e.currentTarget).closest("tr"),"prev")}).on("click",'[data-action="nextstage"]',e=>{this.sendToStage((0,a.default)(e.currentTarget).closest("tr"),"next")}).on("click",'[data-action="changes"]',this.viewChanges).on("click",'[data-action="preview"]',this.openPreview.bind(this)).on("click",'[data-action="open"]',e=>{const t=e.currentTarget.closest("tr");let a=TYPO3.settings.FormEngine.moduleUrl+"&returnUrl="+encodeURIComponent(document.location.href)+"&id="+TYPO3.settings.Workspaces.id+"&edit["+t.dataset.table+"]["+t.dataset.uid+"]=edit";window.location.href=a}).on("click",'[data-action="version"]',e=>{const t=e.currentTarget.closest("tr"),a="pages"===t.dataset.table?t.dataset.t3ver_oid:t.dataset.pid;window.location.href=TYPO3.settings.WebLayout.moduleUrl+"&id="+a}).on("click",'[data-action="remove"]',this.confirmDeleteRecordFromWorkspace).on("click",'[data-action="expand"]',e=>{const t=(0,a.default)(e.currentTarget);let s;s="true"===t.first().attr("aria-expanded")?"apps-pagetree-expand":"apps-pagetree-collapse",t.empty().append(this.getIcon(s))}),(0,a.default)(window.top.document).on("click",".t3js-workspace-recipients-selectall",()=>{(0,a.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!0)}).on("click",".t3js-workspace-recipients-deselectall",()=>{(0,a.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!1)}),this.elements.$searchForm.on("submit",e=>{e.preventDefault(),this.settings.filterTxt=this.elements.$searchTextField.val(),this.getWorkspaceInfos()}),this.elements.$searchTextField.on("keyup",e=>{""!==e.target.value?this.elements.$searchSubmitBtn.removeClass("disabled"):(this.elements.$searchSubmitBtn.addClass("disabled"),this.getWorkspaceInfos())});const e=this.elements.$searchTextField.get(0);void 0!==e&&e.clearable({onClear:()=>{this.elements.$searchSubmitBtn.addClass("disabled"),this.settings.filterTxt="",this.getWorkspaceInfos()}}),new g.default("multiRecordSelection:checkbox:state:changed",this.handleCheckboxStateChanged).bindTo(document),this.elements.$depthSelector.on("change",e=>{const t=e.target.value;o.set("moduleData.workspaces.settings.depth",t),this.settings.depth=t,this.getWorkspaceInfos()}),this.elements.$previewLinksButton.on("click",this.generatePreviewLinks),this.elements.$languageSelector.on("change",e=>{const t=(0,a.default)(e.target);o.set("moduleData.workspaces.settings.language",t.val()),this.settings.language=t.val(),this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then(async e=>{const a=await e.resolve();this.elements.$languageSelector.prev().html(t.find(":selected").data("icon")),this.renderWorkspaceInfos(a[0].result)})}),this.elements.$stagesSelector.on("change",e=>{const t=e.target.value;o.set("moduleData.workspaces.settings.stage",t),this.settings.stage=t,this.getWorkspaceInfos()}),this.elements.$chooseStageAction.on("change",this.sendToSpecificStageAction),this.elements.$chooseSelectionAction.on("change",this.runSelectionAction),this.elements.$chooseMassAction.on("change",this.runMassAction),this.elements.$pagination.on("click","[data-action]",e=>{e.preventDefault();const t=(0,a.default)(e.currentTarget);let s=!1;switch(t.data("action")){case"previous":this.paging.currentPage>1&&(this.paging.currentPage--,s=!0);break;case"next":this.paging.currentPage<this.paging.totalPages&&(this.paging.currentPage++,s=!0);break;case"page":this.paging.currentPage=parseInt(t.data("page"),10),s=!0;break;default:throw'Unknown action "'+t.data("action")+'"'}s&&(this.settings.start=parseInt(this.settings.limit.toString(),10)*(this.paging.currentPage-1),this.getWorkspaceInfos())})}sendToStage(e,t){let a,s,n;if("next"===t)a=e.data("nextStage"),s="sendToNextStageWindow",n="sendToNextStageExecute";else{if("prev"!==t)throw"Invalid direction given.";a=e.data("prevStage"),s="sendToPrevStageWindow",n="sendToPrevStageExecute"}this.sendRemoteRequest(this.generateRemoteActionsPayload(s,[e.data("uid"),e.data("table"),e.data("t3ver_oid")])).then(async t=>{const s=this.renderSendToStageWindow(await t.resolve());s.on("button.clicked",t=>{if("ok"===t.target.name){const i=r.convertFormToObject(t.currentTarget.querySelector("form"));i.affects={table:e.data("table"),nextStage:a,t3ver_oid:e.data("t3ver_oid"),uid:e.data("uid"),elements:[]},this.sendRemoteRequest([this.generateRemoteActionsPayload(n,[i]),this.generateRemotePayload("getWorkspaceInfos",this.settings)]).then(async e=>{const t=await e.resolve();s.modal("hide"),this.renderWorkspaceInfos(t[1].result),u.refreshPageTree()})}})})}getWorkspaceInfos(){this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then(async e=>{this.renderWorkspaceInfos((await e.resolve())[0].result)})}renderWorkspaceInfos(e){this.elements.$tableBody.children().remove(),this.resetMassActionState(e.data.length),this.buildPagination(e.total),0===e.total?(this.elements.$contentsContainer.hide(),this.elements.$noContentsContainer.show()):(this.elements.$contentsContainer.show(),this.elements.$noContentsContainer.hide());for(let t=0;t<e.data.length;++t){const s=e.data[t],n=(0,a.default)("<div />",{class:"btn-group"});let i,o=s.Workspaces_CollectionChildren>0&&""!==s.Workspaces_CollectionCurrent;n.append(this.getAction(o,"expand",s.expanded?"apps-pagetree-expand":"apps-pagetree-collapse").attr("title",TYPO3.lang["tooltip.expand"]).attr("data-bs-target",'[data-collection="'+s.Workspaces_CollectionCurrent+'"]').attr("aria-expanded",!o||s.expanded?"true":"false").attr("data-bs-toggle","collapse"),this.getAction(s.hasChanges,"changes","actions-document-info").attr("title",TYPO3.lang["tooltip.showChanges"]),this.getAction(s.allowedAction_publish&&""===s.Workspaces_CollectionParent,"publish","actions-version-swap-version").attr("title",TYPO3.lang["tooltip.publish"]),this.getAction(s.allowedAction_view,"preview","actions-version-workspace-preview").attr("title",TYPO3.lang["tooltip.viewElementAction"]),this.getAction(s.allowedAction_edit,"open","actions-open").attr("title",TYPO3.lang["tooltip.editElementAction"]),this.getAction(s.allowedAction_versionPageOpen,"version","actions-version-page-open").attr("title",TYPO3.lang["tooltip.openPage"]),this.getAction(s.allowedAction_delete,"remove","actions-version-document-remove").attr("title",TYPO3.lang["tooltip.discardVersion"])),""!==s.integrity.messages&&(i=(0,a.default)("<span>"+this.getIcon(s.integrity.status)+"</span>"),i.attr("data-bs-toggle","tooltip").attr("data-bs-placement","top").attr("data-bs-html","true").attr("title",s.integrity.messages)),this.latestPath!==s.path_Workspace&&(this.latestPath=s.path_Workspace,this.elements.$tableBody.append((0,a.default)("<tr />").append((0,a.default)("<th />"),(0,a.default)("<th />",{colspan:6}).html('<span title="'+s.path_Workspace+'">'+s.path_Workspace_crop+"</span>"))));const r=(0,a.default)("<span />",{class:"form-check form-toggle"}).append((0,a.default)("<input />",{type:"checkbox",class:"form-check-input t3js-multi-record-selection-check"})),c={"data-uid":s.uid,"data-pid":s.livepid,"data-t3ver_oid":s.t3ver_oid,"data-t3ver_wsid":s.t3ver_wsid,"data-table":s.table,"data-next-stage":s.value_nextStage,"data-prev-stage":s.value_prevStage,"data-stage":s.stage};if(""!==s.Workspaces_CollectionParent){let t=e.data.find(e=>e.Workspaces_CollectionCurrent===s.Workspaces_CollectionParent);c["data-collection"]=s.Workspaces_CollectionParent,c.class="collapse"+(t.expanded?" show":"")}else""!==s.Workspaces_CollectionCurrent&&(c["data-collection-current"]=s.Workspaces_CollectionCurrent);this.elements.$tableBody.append((0,a.default)("<tr />",c).append((0,a.default)("<td />").empty().append(r),(0,a.default)("<td />",{class:"t3js-title-workspace",style:s.Workspaces_CollectionLevel>0?"padding-left: "+this.indentationPadding*s.Workspaces_CollectionLevel+"px":""}).html('<span class="icon icon-size-small">'+this.getIcon(s.icon_Workspace)+'</span>&nbsp;<a href="#" data-action="changes"><span class="workspace-state-'+s.state_Workspace+'" title="'+s.label_Workspace+'">'+s.label_Workspace_crop+"</span></a>"),(0,a.default)("<td />",{class:"t3js-title-live"}).html('<span class="icon icon-size-small">'+this.getIcon(s.icon_Live)+'</span>&nbsp;<span class"workspace-live-title title="'+s.label_Live+'">'+s.label_Live_crop+"</span>"),(0,a.default)("<td />").text(s.label_Stage),(0,a.default)("<td />").empty().append(i),(0,a.default)("<td />").html(this.getIcon(s.language.icon)),(0,a.default)("<td />",{class:"text-end nowrap"}).append(n))),l.initialize('[data-bs-toggle="tooltip"]',{delay:{show:500,hide:100},trigger:"hover",container:"body"})}}buildPagination(e){if(0===e)return void this.elements.$pagination.contents().remove();if(this.paging.totalItems=e,this.paging.totalPages=Math.ceil(e/parseInt(this.settings.limit.toString(),10)),1===this.paging.totalPages)return void this.elements.$pagination.contents().remove();const t=(0,a.default)("<ul />",{class:"pagination"}),s=[],n=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"previous"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-left-alt",size:"small"}))),i=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"next"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-right-alt",size:"small"})));1===this.paging.currentPage&&n.disablePagingAction(),this.paging.currentPage===this.paging.totalPages&&i.disablePagingAction();for(let e=1;e<=this.paging.totalPages;e++){const t=(0,a.default)("<li />",{class:"page-item"+(this.paging.currentPage===e?" active":"")});t.append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"page","data-page":e}).append((0,a.default)("<span />").text(e))),s.push(t)}t.append(n,s,i),this.elements.$pagination.empty().append(t)}openPreview(e){const t=(0,a.default)(e.currentTarget).closest("tr");this.sendRemoteRequest(this.generateRemoteActionsPayload("viewSingleRecord",[t.data("table"),t.data("uid")])).then(async e=>{const t=(await e.resolve())[0].result;p.localOpen(t)})}renderSelectionActionWizard(e,t){c.addSlide("mass-action-confirmation",TYPO3.lang["window.selectionAction.title"],"<p>"+(new d).encodeHtml(TYPO3.lang["tooltip."+e+"Selected"])+"</p>",s.SeverityEnum.warning),c.addFinalProcessingSlide(()=>{this.sendRemoteRequest(this.generateRemoteActionsPayload("executeSelectionAction",{action:e,selection:t})).then(()=>{this.markedRecordsForMassAction=[],this.getWorkspaceInfos(),c.dismiss(),u.refreshPageTree()})}).done(()=>{c.show(),c.getComponent().on("wizard-dismissed",()=>{this.elements.$chooseSelectionAction.val("")})})}renderMassActionWizard(e){let t;switch(e){case"publish":t="publishWorkspace";break;case"discard":t="flushWorkspace";break;default:throw"Invalid mass action "+e+" called."}const a=new d;c.setForceSelection(!1),c.addSlide("mass-action-confirmation",TYPO3.lang["window.massAction.title"],"<p>"+a.encodeHtml(TYPO3.lang["tooltip."+e+"All"])+"<br><br>"+a.encodeHtml(TYPO3.lang["tooltip.affectWholeWorkspace"])+"</p>",s.SeverityEnum.warning);const n=async e=>{const a=(await e.resolve())[0].result;a.processed<a.total?this.sendRemoteRequest(this.generateRemoteMassActionsPayload(t,a)).then(n):(this.getWorkspaceInfos(),c.dismiss())};c.addFinalProcessingSlide(()=>{this.sendRemoteRequest(this.generateRemoteMassActionsPayload(t,{init:!0,total:0,processed:0,language:this.settings.language})).then(n)}).done(()=>{c.show(),c.getComponent().on("wizard-dismissed",()=>{this.elements.$chooseMassAction.val("")})})}getAction(e,t,s){return e?(0,a.default)("<button />",{class:"btn btn-default","data-action":t,"data-bs-toggle":"tooltip"}).append(this.getIcon(s)):(0,a.default)("<span />",{class:"btn btn-default disabled"}).append(this.getIcon("empty-empty"))}getIcon(e){switch(e){case"language":e="flags-multiple";break;case"integrity":case"info":e="status-dialog-information";break;case"success":e="status-dialog-ok";break;case"warning":e="status-dialog-warning";break;case"error":e="status-dialog-error"}return'<typo3-backend-icon identifier="'+e+'" size="small"></typo3-backend-icon>'}resetMassActionState(e){this.markedRecordsForMassAction=[],e&&(this.elements.$workspaceActions.removeClass("hidden"),this.elements.$chooseMassAction.prop("disabled",!1)),document.dispatchEvent(new CustomEvent("multiRecordSelection:actions:hide"))}}return a.default.fn.disablePagingAction=function(){(0,a.default)(this).addClass("disabled").find("button").prop("disabled",!0)},new u}));
\ No newline at end of file
+var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};define(["require","exports","jquery","TYPO3/CMS/Backend/Enum/Severity","./Workspaces","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Storage/Persistent","TYPO3/CMS/Backend/Tooltip","TYPO3/CMS/Backend/Utility","TYPO3/CMS/Backend/Wizard","TYPO3/CMS/Core/SecurityUtility","TYPO3/CMS/Backend/WindowManager","TYPO3/CMS/Core/Event/RegularEvent","TYPO3/CMS/Backend/Element/IconElement","TYPO3/CMS/Backend/Input/Clearable"],(function(e,t,a,s,n,i,o,l,r,c,d,p,g){"use strict";var h;a=__importDefault(a),n=__importDefault(n),g=__importDefault(g),function(e){e.searchForm="#workspace-settings-form",e.searchTextField='#workspace-settings-form input[name="search-text"]',e.searchSubmitBtn='#workspace-settings-form button[type="submit"]',e.depthSelector='#workspace-settings-form [name="depth"]',e.languageSelector='#workspace-settings-form select[name="languages"]',e.stagesSelector='#workspace-settings-form select[name="stages"]',e.workspaceActions=".workspace-actions",e.chooseStageAction='.workspace-actions [name="stage-action"]',e.chooseSelectionAction='.workspace-actions [name="selection-action"]',e.chooseMassAction='.workspace-actions [name="mass-action"]',e.container="#workspace-panel",e.contentsContainer="#workspace-contents",e.noContentsContainer="#workspace-contents-empty",e.previewLinksButton=".t3js-preview-link",e.pagination="#workspace-pagination"}(h||(h={}));class u extends n.default{static refreshPageTree(){top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))}static generateDiffView(e){const t=(0,a.default)("<div />",{class:"diff"});for(let s of e)t.append((0,a.default)("<div />",{class:"diff-item"}).append((0,a.default)("<div />",{class:"diff-item-title"}).text(s.label),(0,a.default)("<div />",{class:"diff-item-result diff-item-result-inline"}).html(s.content)));return t}static generateCommentView(e){const t=(0,a.default)("<div />");for(let s of e){const e=(0,a.default)("<div />",{class:"panel panel-default"});s.user_comment.length>0&&e.append((0,a.default)("<div />",{class:"panel-body"}).html(s.user_comment)),e.append((0,a.default)("<div />",{class:"panel-footer"}).append((0,a.default)("<span />",{class:"label label-success me-2"}).text(s.previous_stage_title+" > "+s.stage_title),(0,a.default)("<span />",{class:"label label-info"}).text(s.tstamp))),t.append((0,a.default)("<div />",{class:"media"}).append((0,a.default)("<div />",{class:"media-left text-center"}).text(s.user_username).prepend((0,a.default)("<div />").html(s.user_avatar)),(0,a.default)("<div />",{class:"media-body"}).append(e)))}return t}static generateHistoryView(e){const t=(0,a.default)("<div />");for(let s of e){const e=(0,a.default)("<div />",{class:"panel panel-default"});let n;if("object"==typeof s.differences){if(0===s.differences.length)continue;n=(0,a.default)("<div />",{class:"diff"});for(let e=0;e<s.differences.length;++e)n.append((0,a.default)("<div />",{class:"diff-item"}).append((0,a.default)("<div />",{class:"diff-item-title"}).text(s.differences[e].label),(0,a.default)("<div />",{class:"diff-item-result diff-item-result-inline"}).html(s.differences[e].html)));e.append((0,a.default)("<div />").append(n))}else e.append((0,a.default)("<div />",{class:"panel-body"}).text(s.differences));e.append((0,a.default)("<div />",{class:"panel-footer"}).append((0,a.default)("<span />",{class:"label label-info"}).text(s.datetime))),t.append((0,a.default)("<div />",{class:"media"}).append((0,a.default)("<div />",{class:"media-left text-center"}).text(s.user).prepend((0,a.default)("<div />").html(s.user_avatar)),(0,a.default)("<div />",{class:"media-body"}).append(e)))}return t}static changeCollectionParentState(e,t){const a=document.querySelector('tr[data-collection-current="'+e+'"] input[type=checkbox]');null!==a&&a.checked!==t&&(a.checked=t,a.dataset.manuallyChanged="true",a.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))}static changeCollectionChildrenState(e,t){const a=document.querySelectorAll('tr[data-collection="'+e+'"] input[type=checkbox]');a.length&&a.forEach(e=>{e.checked!==t&&(e.checked=t,e.dataset.manuallyChanged="true",e.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))})}constructor(){super(),this.elements={},this.settings={dir:"ASC",id:TYPO3.settings.Workspaces.id,depth:1,language:"all",limit:30,query:"",sort:"label_Live",start:0,filterTxt:""},this.paging={currentPage:1,totalPages:1,totalItems:0},this.latestPath="",this.markedRecordsForMassAction=[],this.indentationPadding=26,this.handleCheckboxStateChanged=e=>{const t=(0,a.default)(e.target),s=t.parents("tr"),n=t.prop("checked"),i=s.data("table")+":"+s.data("uid")+":"+s.data("t3ver_oid");if(n)this.markedRecordsForMassAction.push(i);else{const e=this.markedRecordsForMassAction.indexOf(i);e>-1&&this.markedRecordsForMassAction.splice(e,1)}s.data("collectionCurrent")?u.changeCollectionChildrenState(s.data("collectionCurrent"),n):s.data("collection")&&(u.changeCollectionChildrenState(s.data("collection"),n),u.changeCollectionParentState(s.data("collection"),n)),this.elements.$chooseMassAction.prop("disabled",this.markedRecordsForMassAction.length>0)},this.viewChanges=e=>{e.preventDefault();const t=(0,a.default)(e.currentTarget).closest("tr");this.sendRemoteRequest(this.generateRemotePayload("getRowDetails",{stage:t.data("stage"),t3ver_oid:t.data("t3ver_oid"),table:t.data("table"),uid:t.data("uid"),filterFields:!0})).then(async e=>{const n=(await e.resolve())[0].result.data[0],o=(0,a.default)("<div />"),l=(0,a.default)("<ul />",{class:"nav nav-tabs",role:"tablist"}),r=(0,a.default)("<div />",{class:"tab-content"}),c=[];o.append((0,a.default)("<p />").html(TYPO3.lang.path.replace("{0}",n.path_Live)),(0,a.default)("<p />").html(TYPO3.lang.current_step.replace("{0}",n.label_Stage).replace("{1}",n.stage_position).replace("{2}",n.stage_count))),n.diff.length>0&&(l.append((0,a.default)("<li />",{role:"presentation",class:"nav-item"}).append((0,a.default)("<a />",{class:"nav-link",href:"#workspace-changes","aria-controls":"workspace-changes",role:"tab","data-bs-toggle":"tab"}).text(TYPO3.lang["window.recordChanges.tabs.changeSummary"]))),r.append((0,a.default)("<div />",{role:"tabpanel",class:"tab-pane",id:"workspace-changes"}).append((0,a.default)("<div />",{class:"form-section"}).append(u.generateDiffView(n.diff))))),n.comments.length>0&&(l.append((0,a.default)("<li />",{role:"presentation",class:"nav-item"}).append((0,a.default)("<a />",{class:"nav-link",href:"#workspace-comments","aria-controls":"workspace-comments",role:"tab","data-bs-toggle":"tab"}).html(TYPO3.lang["window.recordChanges.tabs.comments"]+"&nbsp;").append((0,a.default)("<span />",{class:"badge"}).text(n.comments.length)))),r.append((0,a.default)("<div />",{role:"tabpanel",class:"tab-pane",id:"workspace-comments"}).append((0,a.default)("<div />",{class:"form-section"}).append(u.generateCommentView(n.comments))))),n.history.total>0&&(l.append((0,a.default)("<li />",{role:"presentation",class:"nav-item"}).append((0,a.default)("<a />",{class:"nav-link",href:"#workspace-history","aria-controls":"workspace-history",role:"tab","data-bs-toggle":"tab"}).text(TYPO3.lang["window.recordChanges.tabs.history"]))),r.append((0,a.default)("<div />",{role:"tabpanel",class:"tab-pane",id:"workspace-history"}).append((0,a.default)("<div />",{class:"form-section"}).append(u.generateHistoryView(n.history.data))))),l.find("li > a").first().addClass("active"),r.find(".tab-pane").first().addClass("active"),o.append((0,a.default)("<div />").append(l,r)),!1!==n.label_PrevStage&&t.data("stage")!==t.data("prevStage")&&c.push({text:n.label_PrevStage.title,active:!0,btnClass:"btn-default",name:"prevstage",trigger:()=>{i.currentModal.trigger("modal-dismiss"),this.sendToStage(t,"prev")}}),!1!==n.label_NextStage&&c.push({text:n.label_NextStage.title,active:!0,btnClass:"btn-default",name:"nextstage",trigger:()=>{i.currentModal.trigger("modal-dismiss"),this.sendToStage(t,"next")}}),c.push({text:TYPO3.lang.close,active:!0,btnClass:"btn-info",name:"cancel",trigger:()=>{i.currentModal.trigger("modal-dismiss")}}),i.advanced({type:i.types.default,title:TYPO3.lang["window.recordInformation"].replace("{0}",t.find(".t3js-title-live").text().trim()),content:o,severity:s.SeverityEnum.info,buttons:c,size:i.sizes.medium})})},this.confirmDeleteRecordFromWorkspace=e=>{const t=(0,a.default)(e.target).closest("tr"),n=i.confirm(TYPO3.lang["window.discard.title"],TYPO3.lang["window.discard.message"],s.SeverityEnum.warning,[{text:TYPO3.lang.cancel,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>{n.modal("hide")}},{text:TYPO3.lang.ok,btnClass:"btn-warning",name:"ok"}]);n.on("button.clicked",e=>{"ok"===e.target.name&&this.sendRemoteRequest([this.generateRemoteActionsPayload("deleteSingleRecord",[t.data("table"),t.data("uid")])]).then(()=>{n.modal("hide"),this.getWorkspaceInfos(),u.refreshPageTree()})})},this.runSelectionAction=e=>{const t=(0,a.default)(e.currentTarget).val(),s="discard"!==t;if(0===t.length)return;const n=[];for(let e=0;e<this.markedRecordsForMassAction.length;++e){const t=this.markedRecordsForMassAction[e].split(":");n.push({table:t[0],liveId:t[2],versionId:t[1]})}s?this.checkIntegrity({selection:n,type:"selection"}).then(async e=>{c.setForceSelection(!1),"warning"===(await e.resolve())[0].result.result&&this.addIntegrityCheckWarningToWizard(),this.renderSelectionActionWizard(t,n)}):(c.setForceSelection(!1),this.renderSelectionActionWizard(t,n))},this.addIntegrityCheckWarningToWizard=()=>{c.addSlide("integrity-warning","Warning",TYPO3.lang["integrity.hasIssuesDescription"]+"<br>"+TYPO3.lang["integrity.hasIssuesQuestion"],s.SeverityEnum.warning)},this.runMassAction=e=>{const t=(0,a.default)(e.currentTarget).val(),s="discard"!==t;0!==t.length&&(s?this.checkIntegrity({language:this.settings.language,type:t}).then(async e=>{c.setForceSelection(!1),"warning"===(await e.resolve())[0].result.result&&this.addIntegrityCheckWarningToWizard(),this.renderMassActionWizard(t)}):(c.setForceSelection(!1),this.renderMassActionWizard(t)))},this.sendToSpecificStageAction=e=>{const t=[],s=(0,a.default)(e.currentTarget).val();for(let e=0;e<this.markedRecordsForMassAction.length;++e){const a=this.markedRecordsForMassAction[e].split(":");t.push({table:a[0],uid:a[1],t3ver_oid:a[2]})}this.sendRemoteRequest(this.generateRemoteActionsPayload("sendToSpecificStageWindow",[s,t])).then(async e=>{const a=this.renderSendToStageWindow(await e.resolve());a.on("button.clicked",e=>{if("ok"===e.target.name){const n=r.convertFormToObject(e.currentTarget.querySelector("form"));n.affects={elements:t,nextStage:s},this.sendRemoteRequest([this.generateRemoteActionsPayload("sendToSpecificStageExecute",[n]),this.generateRemotePayload("getWorkspaceInfos",this.settings)]).then(async e=>{const t=await e.resolve();a.modal("hide"),this.renderWorkspaceInfos(t[1].result),u.refreshPageTree()})}}).on("modal-destroyed",()=>{this.elements.$chooseStageAction.val("")})})},this.generatePreviewLinks=()=>{this.sendRemoteRequest(this.generateRemoteActionsPayload("generateWorkspacePreviewLinksForAllLanguages",[this.settings.id])).then(async e=>{const t=(await e.resolve())[0].result,n=(0,a.default)("<dl />");a.default.each(t,(e,t)=>{n.append((0,a.default)("<dt />").text(e),(0,a.default)("<dd />").append((0,a.default)("<a />",{href:t,target:"_blank"}).text(t)))}),i.show(TYPO3.lang.previewLink,n,s.SeverityEnum.info,[{text:TYPO3.lang.ok,active:!0,btnClass:"btn-info",name:"ok",trigger:()=>{i.currentModal.trigger("modal-dismiss")}}],["modal-inner-scroll"])})},(0,a.default)(()=>{this.getElements(),this.registerEvents(),this.notifyWorkspaceSwitchAction(),this.settings.depth=this.elements.$depthSelector.val(),this.settings.language=this.elements.$languageSelector.val(),this.settings.stage=this.elements.$stagesSelector.val(),this.elements.$container.length&&this.getWorkspaceInfos()})}notifyWorkspaceSwitchAction(){const e=document.querySelector("main[data-workspace-switch-action]");if(e.dataset.workspaceSwitchAction){const t=JSON.parse(e.dataset.workspaceSwitchAction);top.TYPO3.WorkspacesMenu.performWorkspaceSwitch(t.id,t.title),top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh")),top.TYPO3.ModuleMenu.App.refreshMenu()}}checkIntegrity(e){return this.sendRemoteRequest(this.generateRemotePayload("checkIntegrity",e))}getElements(){this.elements.$searchForm=(0,a.default)(h.searchForm),this.elements.$searchTextField=(0,a.default)(h.searchTextField),this.elements.$searchSubmitBtn=(0,a.default)(h.searchSubmitBtn),this.elements.$depthSelector=(0,a.default)(h.depthSelector),this.elements.$languageSelector=(0,a.default)(h.languageSelector),this.elements.$stagesSelector=(0,a.default)(h.stagesSelector),this.elements.$container=(0,a.default)(h.container),this.elements.$contentsContainer=(0,a.default)(h.contentsContainer),this.elements.$noContentsContainer=(0,a.default)(h.noContentsContainer),this.elements.$tableBody=this.elements.$contentsContainer.find("tbody"),this.elements.$workspaceActions=(0,a.default)(h.workspaceActions),this.elements.$chooseStageAction=(0,a.default)(h.chooseStageAction),this.elements.$chooseSelectionAction=(0,a.default)(h.chooseSelectionAction),this.elements.$chooseMassAction=(0,a.default)(h.chooseMassAction),this.elements.$previewLinksButton=(0,a.default)(h.previewLinksButton),this.elements.$pagination=(0,a.default)(h.pagination)}registerEvents(){(0,a.default)(document).on("click",'[data-action="publish"]',e=>{const t=e.target.closest("tr");this.checkIntegrity({selection:[{liveId:t.dataset.uid,versionId:t.dataset.t3ver_oid,table:t.dataset.table}],type:"selection"}).then(async e=>{"warning"===(await e.resolve())[0].result.result&&this.addIntegrityCheckWarningToWizard(),c.setForceSelection(!1),c.addSlide("publish-confirm","Publish",TYPO3.lang["window.publish.message"],s.SeverityEnum.info),c.addFinalProcessingSlide(()=>{this.sendRemoteRequest(this.generateRemoteActionsPayload("publishSingleRecord",[t.dataset.table,t.dataset.t3ver_oid,t.dataset.uid])).then(()=>{c.dismiss(),this.getWorkspaceInfos(),u.refreshPageTree()})}).done(()=>{c.show()})})}).on("click",'[data-action="prevstage"]',e=>{this.sendToStage((0,a.default)(e.currentTarget).closest("tr"),"prev")}).on("click",'[data-action="nextstage"]',e=>{this.sendToStage((0,a.default)(e.currentTarget).closest("tr"),"next")}).on("click",'[data-action="changes"]',this.viewChanges).on("click",'[data-action="preview"]',this.openPreview.bind(this)).on("click",'[data-action="open"]',e=>{const t=e.currentTarget.closest("tr");let a=TYPO3.settings.FormEngine.moduleUrl+"&returnUrl="+encodeURIComponent(document.location.href)+"&id="+TYPO3.settings.Workspaces.id+"&edit["+t.dataset.table+"]["+t.dataset.uid+"]=edit";window.location.href=a}).on("click",'[data-action="version"]',e=>{const t=e.currentTarget.closest("tr"),a="pages"===t.dataset.table?t.dataset.t3ver_oid:t.dataset.pid;window.location.href=TYPO3.settings.WebLayout.moduleUrl+"&id="+a}).on("click",'[data-action="remove"]',this.confirmDeleteRecordFromWorkspace).on("click",'[data-action="expand"]',e=>{const t=(0,a.default)(e.currentTarget);let s;s="true"===t.first().attr("aria-expanded")?"apps-pagetree-expand":"apps-pagetree-collapse",t.empty().append(this.getIcon(s))}),(0,a.default)(window.top.document).on("click",".t3js-workspace-recipients-selectall",()=>{(0,a.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!0)}).on("click",".t3js-workspace-recipients-deselectall",()=>{(0,a.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!1)}),this.elements.$searchForm.on("submit",e=>{e.preventDefault(),this.settings.filterTxt=this.elements.$searchTextField.val(),this.getWorkspaceInfos()}),this.elements.$searchTextField.on("keyup",e=>{""!==e.target.value?this.elements.$searchSubmitBtn.removeClass("disabled"):(this.elements.$searchSubmitBtn.addClass("disabled"),this.getWorkspaceInfos())});const e=this.elements.$searchTextField.get(0);void 0!==e&&e.clearable({onClear:()=>{this.elements.$searchSubmitBtn.addClass("disabled"),this.settings.filterTxt="",this.getWorkspaceInfos()}}),new g.default("multiRecordSelection:checkbox:state:changed",this.handleCheckboxStateChanged).bindTo(document),this.elements.$depthSelector.on("change",e=>{const t=e.target.value;o.set("moduleData.workspaces.settings.depth",t),this.settings.depth=t,this.getWorkspaceInfos()}),this.elements.$previewLinksButton.on("click",this.generatePreviewLinks),this.elements.$languageSelector.on("change",e=>{const t=(0,a.default)(e.target);o.set("moduleData.workspaces.settings.language",t.val()),this.settings.language=t.val(),this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then(async e=>{const a=await e.resolve();this.elements.$languageSelector.prev().html(t.find(":selected").data("icon")),this.renderWorkspaceInfos(a[0].result)})}),this.elements.$stagesSelector.on("change",e=>{const t=e.target.value;o.set("moduleData.workspaces.settings.stage",t),this.settings.stage=t,this.getWorkspaceInfos()}),this.elements.$chooseStageAction.on("change",this.sendToSpecificStageAction),this.elements.$chooseSelectionAction.on("change",this.runSelectionAction),this.elements.$chooseMassAction.on("change",this.runMassAction),this.elements.$pagination.on("click","[data-action]",e=>{e.preventDefault();const t=(0,a.default)(e.currentTarget);let s=!1;switch(t.data("action")){case"previous":this.paging.currentPage>1&&(this.paging.currentPage--,s=!0);break;case"next":this.paging.currentPage<this.paging.totalPages&&(this.paging.currentPage++,s=!0);break;case"page":this.paging.currentPage=parseInt(t.data("page"),10),s=!0;break;default:throw'Unknown action "'+t.data("action")+'"'}s&&(this.settings.start=parseInt(this.settings.limit.toString(),10)*(this.paging.currentPage-1),this.getWorkspaceInfos())})}sendToStage(e,t){let a,s,n;if("next"===t)a=e.data("nextStage"),s="sendToNextStageWindow",n="sendToNextStageExecute";else{if("prev"!==t)throw"Invalid direction given.";a=e.data("prevStage"),s="sendToPrevStageWindow",n="sendToPrevStageExecute"}this.sendRemoteRequest(this.generateRemoteActionsPayload(s,[e.data("uid"),e.data("table"),e.data("t3ver_oid")])).then(async t=>{const s=this.renderSendToStageWindow(await t.resolve());s.on("button.clicked",t=>{if("ok"===t.target.name){const i=r.convertFormToObject(t.currentTarget.querySelector("form"));i.affects={table:e.data("table"),nextStage:a,t3ver_oid:e.data("t3ver_oid"),uid:e.data("uid"),elements:[]},this.sendRemoteRequest([this.generateRemoteActionsPayload(n,[i]),this.generateRemotePayload("getWorkspaceInfos",this.settings)]).then(async e=>{const t=await e.resolve();s.modal("hide"),this.renderWorkspaceInfos(t[1].result),u.refreshPageTree()})}})})}getWorkspaceInfos(){this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then(async e=>{this.renderWorkspaceInfos((await e.resolve())[0].result)})}renderWorkspaceInfos(e){this.elements.$tableBody.children().remove(),this.resetMassActionState(e.data.length),this.buildPagination(e.total),0===e.total?(this.elements.$contentsContainer.hide(),this.elements.$noContentsContainer.show()):(this.elements.$contentsContainer.show(),this.elements.$noContentsContainer.hide());for(let t=0;t<e.data.length;++t){const s=e.data[t],n=(0,a.default)("<div />",{class:"btn-group"});let i,o=s.Workspaces_CollectionChildren>0&&""!==s.Workspaces_CollectionCurrent;n.append(this.getAction(o,"expand",s.expanded?"apps-pagetree-expand":"apps-pagetree-collapse").attr("title",TYPO3.lang["tooltip.expand"]).attr("data-bs-target",'[data-collection="'+s.Workspaces_CollectionCurrent+'"]').attr("aria-expanded",!o||s.expanded?"true":"false").attr("data-bs-toggle","collapse"),this.getAction(s.hasChanges,"changes","actions-document-info").attr("title",TYPO3.lang["tooltip.showChanges"]),this.getAction(s.allowedAction_publish&&""===s.Workspaces_CollectionParent,"publish","actions-version-swap-version").attr("title",TYPO3.lang["tooltip.publish"]),this.getAction(s.allowedAction_view,"preview","actions-version-workspace-preview").attr("title",TYPO3.lang["tooltip.viewElementAction"]),this.getAction(s.allowedAction_edit,"open","actions-open").attr("title",TYPO3.lang["tooltip.editElementAction"]),this.getAction(s.allowedAction_versionPageOpen,"version","actions-version-page-open").attr("title",TYPO3.lang["tooltip.openPage"]),this.getAction(s.allowedAction_delete,"remove","actions-version-document-remove").attr("title",TYPO3.lang["tooltip.discardVersion"])),""!==s.integrity.messages&&(i=(0,a.default)("<span>"+this.getIcon(s.integrity.status)+"</span>"),i.attr("data-bs-toggle","tooltip").attr("data-bs-placement","top").attr("data-bs-html","true").attr("title",s.integrity.messages)),this.latestPath!==s.path_Workspace&&(this.latestPath=s.path_Workspace,this.elements.$tableBody.append((0,a.default)("<tr />").append((0,a.default)("<th />"),(0,a.default)("<th />",{colspan:6}).html('<span title="'+s.path_Workspace+'">'+s.path_Workspace_crop+"</span>"))));const r=(0,a.default)("<span />",{class:"form-check form-toggle"}).append((0,a.default)("<input />",{type:"checkbox",class:"form-check-input t3js-multi-record-selection-check"})),c={"data-uid":s.uid,"data-pid":s.livepid,"data-t3ver_oid":s.t3ver_oid,"data-t3ver_wsid":s.t3ver_wsid,"data-table":s.table,"data-next-stage":s.value_nextStage,"data-prev-stage":s.value_prevStage,"data-stage":s.stage};if(""!==s.Workspaces_CollectionParent){let t=e.data.find(e=>e.Workspaces_CollectionCurrent===s.Workspaces_CollectionParent);c["data-collection"]=s.Workspaces_CollectionParent,c.class="collapse"+(t.expanded?" show":"")}else""!==s.Workspaces_CollectionCurrent&&(c["data-collection-current"]=s.Workspaces_CollectionCurrent);this.elements.$tableBody.append((0,a.default)("<tr />",c).append((0,a.default)("<td />").empty().append(r),(0,a.default)("<td />",{class:"t3js-title-workspace",style:s.Workspaces_CollectionLevel>0?"padding-left: "+this.indentationPadding*s.Workspaces_CollectionLevel+"px":""}).html('<span class="icon icon-size-small">'+this.getIcon(s.icon_Workspace)+'</span>&nbsp;<a href="#" data-action="changes"><span class="workspace-state-'+s.state_Workspace+'" title="'+s.label_Workspace+'">'+s.label_Workspace_crop+"</span></a>"),(0,a.default)("<td />",{class:"t3js-title-live"}).html('<span class="icon icon-size-small">'+this.getIcon(s.icon_Live)+'</span>&nbsp;<span class"workspace-live-title title="'+s.label_Live+'">'+s.label_Live_crop+"</span>"),(0,a.default)("<td />").text(s.label_Stage),(0,a.default)("<td />").empty().append(i),(0,a.default)("<td />").html(this.getIcon(s.language.icon)),(0,a.default)("<td />",{class:"text-end nowrap"}).append(n))),l.initialize('[data-bs-toggle="tooltip"]',{delay:{show:500,hide:100},trigger:"hover",container:"body"})}}buildPagination(e){if(0===e)return void this.elements.$pagination.contents().remove();if(this.paging.totalItems=e,this.paging.totalPages=Math.ceil(e/parseInt(this.settings.limit.toString(),10)),1===this.paging.totalPages)return void this.elements.$pagination.contents().remove();const t=(0,a.default)("<ul />",{class:"pagination"}),s=[],n=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"previous"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-left-alt",size:"small"}))),i=(0,a.default)("<li />",{class:"page-item"}).append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"next"}).append((0,a.default)("<typo3-backend-icon />",{identifier:"actions-arrow-right-alt",size:"small"})));1===this.paging.currentPage&&n.disablePagingAction(),this.paging.currentPage===this.paging.totalPages&&i.disablePagingAction();for(let e=1;e<=this.paging.totalPages;e++){const t=(0,a.default)("<li />",{class:"page-item"+(this.paging.currentPage===e?" active":"")});t.append((0,a.default)("<button />",{class:"page-link",type:"button","data-action":"page","data-page":e}).append((0,a.default)("<span />").text(e))),s.push(t)}t.append(n,s,i),this.elements.$pagination.empty().append(t)}openPreview(e){const t=(0,a.default)(e.currentTarget).closest("tr");this.sendRemoteRequest(this.generateRemoteActionsPayload("viewSingleRecord",[t.data("table"),t.data("uid")])).then(async e=>{const t=(await e.resolve())[0].result;p.localOpen(t)})}renderSelectionActionWizard(e,t){c.addSlide("mass-action-confirmation",TYPO3.lang["window.selectionAction.title"],"<p>"+(new d).encodeHtml(TYPO3.lang["tooltip."+e+"Selected"])+"</p>",s.SeverityEnum.warning),c.addFinalProcessingSlide(()=>{this.sendRemoteRequest(this.generateRemoteActionsPayload("executeSelectionAction",{action:e,selection:t})).then(()=>{this.markedRecordsForMassAction=[],this.getWorkspaceInfos(),c.dismiss(),u.refreshPageTree()})}).done(()=>{c.show(),c.getComponent().on("wizard-dismissed",()=>{this.elements.$chooseSelectionAction.val("")})})}renderMassActionWizard(e){let t;switch(e){case"publish":t="publishWorkspace";break;case"discard":t="flushWorkspace";break;default:throw"Invalid mass action "+e+" called."}const a=new d;c.setForceSelection(!1),c.addSlide("mass-action-confirmation",TYPO3.lang["window.massAction.title"],"<p>"+a.encodeHtml(TYPO3.lang["tooltip."+e+"All"])+"<br><br>"+a.encodeHtml(TYPO3.lang["tooltip.affectWholeWorkspace"])+"</p>",s.SeverityEnum.warning);const n=async e=>{const a=(await e.resolve())[0].result;a.processed<a.total?this.sendRemoteRequest(this.generateRemoteMassActionsPayload(t,a)).then(n):(this.getWorkspaceInfos(),c.dismiss())};c.addFinalProcessingSlide(()=>{this.sendRemoteRequest(this.generateRemoteMassActionsPayload(t,{init:!0,total:0,processed:0,language:this.settings.language})).then(n)}).done(()=>{c.show(),c.getComponent().on("wizard-dismissed",()=>{this.elements.$chooseMassAction.val("")})})}getAction(e,t,s){return e?(0,a.default)("<button />",{class:"btn btn-default","data-action":t,"data-bs-toggle":"tooltip"}).append(this.getIcon(s)):(0,a.default)("<span />",{class:"btn btn-default disabled"}).append(this.getIcon("empty-empty"))}getIcon(e){switch(e){case"language":e="flags-multiple";break;case"integrity":case"info":e="status-dialog-information";break;case"success":e="status-dialog-ok";break;case"warning":e="status-dialog-warning";break;case"error":e="status-dialog-error"}return'<typo3-backend-icon identifier="'+e+'" size="small"></typo3-backend-icon>'}resetMassActionState(e){this.markedRecordsForMassAction=[],e&&(this.elements.$workspaceActions.removeClass("hidden"),this.elements.$chooseMassAction.prop("disabled",!1)),document.dispatchEvent(new CustomEvent("multiRecordSelection:actions:hide"))}}return a.default.fn.disablePagingAction=function(){(0,a.default)(this).addClass("disabled").find("button").prop("disabled",!0)},new u}));
\ No newline at end of file
diff --git a/typo3/sysext/workspaces/Resources/Public/JavaScript/Preview.js b/typo3/sysext/workspaces/Resources/Public/JavaScript/Preview.js
index d04b6575cdaf..40749396a46a 100644
--- a/typo3/sysext/workspaces/Resources/Public/JavaScript/Preview.js
+++ b/typo3/sysext/workspaces/Resources/Public/JavaScript/Preview.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","TYPO3/CMS/Backend/Utility","./Workspaces","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(e,t,i,s,a,n,o,r){"use strict";var d;s=__importDefault(s),o=__importDefault(o),function(e){e.topbar="#typo3-topbar",e.workspacePanel=".workspace-panel",e.liveView="#live-view",e.stageSlider="#workspace-stage-slider",e.workspaceView="#workspace-view",e.sendToStageAction='[data-action="send-to-stage"]',e.discardAction='[data-action="discard"]',e.stageButtonsContainer=".t3js-stage-buttons",e.previewModeContainer=".t3js-preview-mode",e.activePreviewMode=".t3js-active-preview-mode",e.workspacePreview=".t3js-workspace-preview"}(d||(d={}));class l extends o.default{constructor(){super(),this.currentSlidePosition=100,this.elements={},this.updateSlidePosition=e=>{this.currentSlidePosition=parseInt(e.target.value,10),this.resizeViews()},this.renderDiscardWindow=()=>{const e=a.confirm(TYPO3.lang["window.discardAll.title"],TYPO3.lang["window.discardAll.message"],i.SeverityEnum.warning,[{text:TYPO3.lang.cancel,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>{e.modal("hide")}},{text:TYPO3.lang.ok,btnClass:"btn-warning",name:"ok"}]);e.on("button.clicked",t=>{"ok"===t.target.name&&this.sendRemoteRequest([this.generateRemoteActionsPayload("discardStagesFromPage",[TYPO3.settings.Workspaces.id]),this.generateRemoteActionsPayload("updateStageChangeButtons",[TYPO3.settings.Workspaces.id])],"#typo3-topbar").then(async t=>{e.modal("hide"),this.renderStageButtons((await t.resolve())[1].result),this.elements.$workspaceView.attr("src",this.elements.$workspaceView.attr("src"))})})},this.renderSendPageToStageWindow=e=>{const t=e.currentTarget,i=t.dataset.direction;let s;if("prev"===i)s="sendPageToPreviousStage";else{if("next"!==i)throw"Invalid direction "+i+" requested.";s="sendPageToNextStage"}this.sendRemoteRequest(this.generateRemoteActionsPayload(s,[TYPO3.settings.Workspaces.id]),"#typo3-topbar").then(async e=>{const i=await e.resolve(),s=this.renderSendToStageWindow(i);s.on("button.clicked",e=>{if("ok"===e.target.name){const a=n.convertFormToObject(e.currentTarget.querySelector("form"));a.affects=i[0].result.affects,a.stageId=t.dataset.stageId,this.sendRemoteRequest([this.generateRemoteActionsPayload("sentCollectionToStage",[a]),this.generateRemoteActionsPayload("updateStageChangeButtons",[TYPO3.settings.Workspaces.id])],"#typo3-topbar").then(async e=>{s.modal("hide"),this.renderStageButtons((await e.resolve())[1].result)})}})})},this.changePreviewMode=e=>{e.preventDefault();const t=(0,s.default)(e.currentTarget),i=this.elements.$activePreviewMode.data("activePreviewMode"),a=t.data("previewMode");this.elements.$activePreviewMode.text(t.text()).data("activePreviewMode",a),this.elements.$workspacePreview.parent().removeClass("preview-mode-"+i).addClass("preview-mode-"+a),"slider"===a?(this.elements.$stageSlider.parent().toggle(!0),this.resizeViews()):(this.elements.$stageSlider.parent().toggle(!1),"vbox"===a?this.elements.$liveView.height("100%"):this.elements.$liveView.height("50%"))},(0,s.default)(()=>{this.getElements(),this.resizeViews(),this.adjustPreviewModeSelectorWidth(),this.registerEvents()})}static getAvailableSpace(){return(0,s.default)(window).height()-(0,s.default)(d.topbar).outerHeight()}getElements(){this.elements.$liveView=(0,s.default)(d.liveView),this.elements.$workspacePanel=(0,s.default)(d.workspacePanel),this.elements.$stageSlider=(0,s.default)(d.stageSlider),this.elements.$workspaceView=(0,s.default)(d.workspaceView),this.elements.$stageButtonsContainer=(0,s.default)(d.stageButtonsContainer),this.elements.$previewModeContainer=(0,s.default)(d.previewModeContainer),this.elements.$activePreviewMode=(0,s.default)(d.activePreviewMode),this.elements.$workspacePreview=(0,s.default)(d.workspacePreview)}registerEvents(){new r("resize",()=>{this.resizeViews()},50).bindTo(window),(0,s.default)(document).on("click",d.discardAction,this.renderDiscardWindow).on("click",d.sendToStageAction,this.renderSendPageToStageWindow).on("click",".t3js-workspace-recipients-selectall",()=>{(0,s.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!0)}).on("click",".t3js-workspace-recipients-deselectall",()=>{(0,s.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!1)}),new r("input",this.updateSlidePosition,25).bindTo(document.querySelector(d.stageSlider)),this.elements.$previewModeContainer.find("[data-preview-mode]").on("click",this.changePreviewMode)}renderStageButtons(e){this.elements.$stageButtonsContainer.html(e)}resizeViews(){const e=l.getAvailableSpace(),t=-1*(this.currentSlidePosition-100),i=Math.round(Math.abs(e*t/100)),s=this.elements.$liveView.outerHeight()-this.elements.$liveView.height();this.elements.$workspacePreview.height(e),"slider"===this.elements.$activePreviewMode.data("activePreviewMode")&&this.elements.$liveView.height(i-s)}adjustPreviewModeSelectorWidth(){const e=this.elements.$previewModeContainer.find(".dropdown-menu");let t=0;e.addClass("show"),this.elements.$previewModeContainer.find("li > a > span").each((e,i)=>{const a=(0,s.default)(i).width();t<a&&(t=a)}),e.removeClass("show"),this.elements.$activePreviewMode.width(t)}}return new l}));
\ 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","jquery","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Utility","./Workspaces","TYPO3/CMS/Core/Event/ThrottleEvent"],(function(e,t,i,s,a,n,o,r){"use strict";var d;s=__importDefault(s),o=__importDefault(o),function(e){e.topbar="#typo3-topbar",e.workspacePanel=".workspace-panel",e.liveView="#live-view",e.stageSlider="#workspace-stage-slider",e.workspaceView="#workspace-view",e.sendToStageAction='[data-action="send-to-stage"]',e.discardAction='[data-action="discard"]',e.stageButtonsContainer=".t3js-stage-buttons",e.previewModeContainer=".t3js-preview-mode",e.activePreviewMode=".t3js-active-preview-mode",e.workspacePreview=".t3js-workspace-preview"}(d||(d={}));class l extends o.default{static getAvailableSpace(){return(0,s.default)(window).height()-(0,s.default)(d.topbar).outerHeight()}constructor(){super(),this.currentSlidePosition=100,this.elements={},this.updateSlidePosition=e=>{this.currentSlidePosition=parseInt(e.target.value,10),this.resizeViews()},this.renderDiscardWindow=()=>{const e=a.confirm(TYPO3.lang["window.discardAll.title"],TYPO3.lang["window.discardAll.message"],i.SeverityEnum.warning,[{text:TYPO3.lang.cancel,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>{e.modal("hide")}},{text:TYPO3.lang.ok,btnClass:"btn-warning",name:"ok"}]);e.on("button.clicked",t=>{"ok"===t.target.name&&this.sendRemoteRequest([this.generateRemoteActionsPayload("discardStagesFromPage",[TYPO3.settings.Workspaces.id]),this.generateRemoteActionsPayload("updateStageChangeButtons",[TYPO3.settings.Workspaces.id])],"#typo3-topbar").then(async t=>{e.modal("hide"),this.renderStageButtons((await t.resolve())[1].result),this.elements.$workspaceView.attr("src",this.elements.$workspaceView.attr("src"))})})},this.renderSendPageToStageWindow=e=>{const t=e.currentTarget,i=t.dataset.direction;let s;if("prev"===i)s="sendPageToPreviousStage";else{if("next"!==i)throw"Invalid direction "+i+" requested.";s="sendPageToNextStage"}this.sendRemoteRequest(this.generateRemoteActionsPayload(s,[TYPO3.settings.Workspaces.id]),"#typo3-topbar").then(async e=>{const i=await e.resolve(),s=this.renderSendToStageWindow(i);s.on("button.clicked",e=>{if("ok"===e.target.name){const a=n.convertFormToObject(e.currentTarget.querySelector("form"));a.affects=i[0].result.affects,a.stageId=t.dataset.stageId,this.sendRemoteRequest([this.generateRemoteActionsPayload("sentCollectionToStage",[a]),this.generateRemoteActionsPayload("updateStageChangeButtons",[TYPO3.settings.Workspaces.id])],"#typo3-topbar").then(async e=>{s.modal("hide"),this.renderStageButtons((await e.resolve())[1].result)})}})})},this.changePreviewMode=e=>{e.preventDefault();const t=(0,s.default)(e.currentTarget),i=this.elements.$activePreviewMode.data("activePreviewMode"),a=t.data("previewMode");this.elements.$activePreviewMode.text(t.text()).data("activePreviewMode",a),this.elements.$workspacePreview.parent().removeClass("preview-mode-"+i).addClass("preview-mode-"+a),"slider"===a?(this.elements.$stageSlider.parent().toggle(!0),this.resizeViews()):(this.elements.$stageSlider.parent().toggle(!1),"vbox"===a?this.elements.$liveView.height("100%"):this.elements.$liveView.height("50%"))},(0,s.default)(()=>{this.getElements(),this.resizeViews(),this.adjustPreviewModeSelectorWidth(),this.registerEvents()})}getElements(){this.elements.$liveView=(0,s.default)(d.liveView),this.elements.$workspacePanel=(0,s.default)(d.workspacePanel),this.elements.$stageSlider=(0,s.default)(d.stageSlider),this.elements.$workspaceView=(0,s.default)(d.workspaceView),this.elements.$stageButtonsContainer=(0,s.default)(d.stageButtonsContainer),this.elements.$previewModeContainer=(0,s.default)(d.previewModeContainer),this.elements.$activePreviewMode=(0,s.default)(d.activePreviewMode),this.elements.$workspacePreview=(0,s.default)(d.workspacePreview)}registerEvents(){new r("resize",()=>{this.resizeViews()},50).bindTo(window),(0,s.default)(document).on("click",d.discardAction,this.renderDiscardWindow).on("click",d.sendToStageAction,this.renderSendPageToStageWindow).on("click",".t3js-workspace-recipients-selectall",()=>{(0,s.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!0)}).on("click",".t3js-workspace-recipients-deselectall",()=>{(0,s.default)(".t3js-workspace-recipient",window.top.document).not(":disabled").prop("checked",!1)}),new r("input",this.updateSlidePosition,25).bindTo(document.querySelector(d.stageSlider)),this.elements.$previewModeContainer.find("[data-preview-mode]").on("click",this.changePreviewMode)}renderStageButtons(e){this.elements.$stageButtonsContainer.html(e)}resizeViews(){const e=l.getAvailableSpace(),t=-1*(this.currentSlidePosition-100),i=Math.round(Math.abs(e*t/100)),s=this.elements.$liveView.outerHeight()-this.elements.$liveView.height();this.elements.$workspacePreview.height(e),"slider"===this.elements.$activePreviewMode.data("activePreviewMode")&&this.elements.$liveView.height(i-s)}adjustPreviewModeSelectorWidth(){const e=this.elements.$previewModeContainer.find(".dropdown-menu");let t=0;e.addClass("show"),this.elements.$previewModeContainer.find("li > a > span").each((e,i)=>{const a=(0,s.default)(i).width();t<a&&(t=a)}),e.removeClass("show"),this.elements.$activePreviewMode.width(t)}}return new l}));
\ No newline at end of file
-- 
GitLab