From ba682053382d627519dac747ec19d1d4653778fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 03:56:59 +0000 Subject: [PATCH 1/2] chore(deps): bump @nextcloud/files from 4.1.0 to 4.1.1 Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 4.1.0 to 4.1.1. - [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases) - [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md) - [Commits](https://github.com/nextcloud-libraries/nextcloud-files/compare/v4.1.0...v4.1.1) --- updated-dependencies: - dependency-name: "@nextcloud/files" dependency-version: 4.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e5cbc55e7acc..ddf41f2b7ce6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@nextcloud/capabilities": "^1.2.1", "@nextcloud/dialogs": "^7.5.0", "@nextcloud/event-bus": "^3.3.3", - "@nextcloud/files": "^4.1.0", + "@nextcloud/files": "^4.1.1", "@nextcloud/initial-state": "^3.0.0", "@nextcloud/l10n": "^3.4.1", "@nextcloud/logger": "^3.0.3", @@ -1814,9 +1814,9 @@ } }, "node_modules/@nextcloud/files": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-4.1.0.tgz", - "integrity": "sha512-C45fxBxU9v5HQ437I+r4EuqG/A9CYqNnYM34ltdxFNSBMjId7DoRJrk5UDA7QsC4eB/CP1xNxFSpkY+g6RPWXA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-4.1.1.tgz", + "integrity": "sha512-3fvaBNObXFjVgFm0FvPXr+rtYh2CUGAc0+98dhIP0AC7Q+UCVYIwyB3tsSBGP29HnqGWqGRY7nZaj7gI7NzbvQ==", "license": "AGPL-3.0-or-later", "dependencies": { "@nextcloud/auth": "^2.6.0", @@ -1825,13 +1825,13 @@ "@nextcloud/l10n": "^3.4.1", "@nextcloud/logger": "^3.0.3", "@nextcloud/paths": "^3.1.0", - "@nextcloud/router": "^3.1.0", + "@nextcloud/router": "^3.2.0", "@nextcloud/sharing": "^0.4.0", "axios-retry": "^4.5.0", "is-svg": "^6.1.0", "p-queue": "^9.3.3", "typescript-event-target": "^1.1.2", - "webdav": "^5.10.0" + "webdav": "^5.11.0" }, "engines": { "node": "^24.0.0 || >=26.0.0" diff --git a/package.json b/package.json index 6231af7f397b1..387bcad4b2dfe 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@nextcloud/capabilities": "^1.2.1", "@nextcloud/dialogs": "^7.5.0", "@nextcloud/event-bus": "^3.3.3", - "@nextcloud/files": "^4.1.0", + "@nextcloud/files": "^4.1.1", "@nextcloud/initial-state": "^3.0.0", "@nextcloud/l10n": "^3.4.1", "@nextcloud/logger": "^3.0.3", From 02e14c89fae3323770ee3cd30dd6ab0be45d042f Mon Sep 17 00:00:00 2001 From: nextcloud-command Date: Sat, 31 Oct 2026 15:47:40 +0000 Subject: [PATCH 2/2] chore(assets): Recompile assets Signed-off-by: nextcloud-command --- dist/AuthMechanismRsa-CYXlfht4.chunk.mjs | 2 - dist/AuthMechanismRsa-DSpow0s2.chunk.mjs | 2 + ...thMechanismRsa-DSpow0s2.chunk.mjs.license} | 0 ...> AuthMechanismRsa-DSpow0s2.chunk.mjs.map} | 2 +- ...chanismRsa-DSpow0s2.chunk.mjs.map.license} | 0 dist/ContentCopy-BgOwiUO5.chunk.mjs | 2 - dist/ContentCopy-BvdCvcHz.chunk.mjs | 2 + ...=> ContentCopy-BvdCvcHz.chunk.mjs.license} | 0 ...map => ContentCopy-BvdCvcHz.chunk.mjs.map} | 2 +- ...ontentCopy-BvdCvcHz.chunk.mjs.map.license} | 0 dist/CredentialsDialog-B5OO1tPA.chunk.mjs | 2 + ...dentialsDialog-B5OO1tPA.chunk.mjs.license} | 0 ... CredentialsDialog-B5OO1tPA.chunk.mjs.map} | 2 +- ...ialsDialog-B5OO1tPA.chunk.mjs.map.license} | 0 dist/CredentialsDialog-QQvNqawF.chunk.mjs | 2 - dist/FilePicker-BuDsan9B.chunk.mjs | 2 - dist/FilePicker-BuDsan9B.chunk.mjs.map | 1 - dist/FilePicker-DAaoni96.chunk.mjs | 2 + ... => FilePicker-DAaoni96.chunk.mjs.license} | 3 + dist/FilePicker-DAaoni96.chunk.mjs.map | 1 + ...FilePicker-DAaoni96.chunk.mjs.map.license} | 3 + ...FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs | 26 +++++ ...ionsSidebarTab-BAJpmIs7.chunk.mjs.license} | 0 ...VersionsSidebarTab-BAJpmIs7.chunk.mjs.map} | 2 +- ...SidebarTab-BAJpmIs7.chunk.mjs.map.license} | 0 ...FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs | 26 ----- dist/NcActionButton-Dg5R7G7t.chunk.mjs | 2 + ...NcActionButton-Dg5R7G7t.chunk.mjs.license} | 0 ... => NcActionButton-Dg5R7G7t.chunk.mjs.map} | 2 +- ...tionButton-Dg5R7G7t.chunk.mjs.map.license} | 0 dist/NcActionButton-aznRvsUR.chunk.mjs | 2 - ....mjs => NcActionRouter-BmOFewpm.chunk.mjs} | 4 +- ...NcActionRouter-BmOFewpm.chunk.mjs.license} | 0 ... => NcActionRouter-BmOFewpm.chunk.mjs.map} | 2 +- ...tionRouter-BmOFewpm.chunk.mjs.map.license} | 0 dist/NcAvatar-DrbDVplz.chunk.mjs | 6 ++ ...se => NcAvatar-DrbDVplz.chunk.mjs.license} | 0 ...js.map => NcAvatar-DrbDVplz.chunk.mjs.map} | 2 +- ...> NcAvatar-DrbDVplz.chunk.mjs.map.license} | 0 dist/NcAvatar-Du62q7FN.chunk.mjs | 6 -- dist/NcBreadcrumbs-6kqegFr0.chunk.mjs | 3 + ... NcBreadcrumbs-6kqegFr0.chunk.mjs.license} | 0 ...p => NcBreadcrumbs-6kqegFr0.chunk.mjs.map} | 2 +- ...readcrumbs-6kqegFr0.chunk.mjs.map.license} | 0 dist/NcBreadcrumbs-DWRNRArn.chunk.mjs | 3 - ... NcCheckboxRadioSwitch-Bs2KPw_Y.chunk.mjs} | 6 +- ...boxRadioSwitch-Bs2KPw_Y.chunk.mjs.license} | 0 ...heckboxRadioSwitch-Bs2KPw_Y.chunk.mjs.map} | 2 +- ...adioSwitch-Bs2KPw_Y.chunk.mjs.map.license} | 0 dist/NcChip-DOwPF7En.chunk.mjs | 2 - dist/NcChip-DWG2Z7tx.chunk.mjs | 2 + ...ense => NcChip-DWG2Z7tx.chunk.mjs.license} | 0 ....mjs.map => NcChip-DWG2Z7tx.chunk.mjs.map} | 2 +- ... => NcChip-DWG2Z7tx.chunk.mjs.map.license} | 0 dist/NcColorPicker-T5s6TCMy.chunk.mjs | 2 - dist/NcColorPicker-yw3sTmVi.chunk.mjs | 2 + ... NcColorPicker-yw3sTmVi.chunk.mjs.license} | 0 ...p => NcColorPicker-yw3sTmVi.chunk.mjs.map} | 2 +- ...olorPicker-yw3sTmVi.chunk.mjs.map.license} | 0 dist/NcEmojiPicker-B5AZ6o29.chunk.mjs | 6 -- dist/NcEmojiPicker-BoqaWg4v.chunk.mjs | 6 ++ ... NcEmojiPicker-BoqaWg4v.chunk.mjs.license} | 0 ...p => NcEmojiPicker-BoqaWg4v.chunk.mjs.map} | 2 +- ...mojiPicker-BoqaWg4v.chunk.mjs.map.license} | 0 dist/NcInputField-ChKho6Gt.chunk.mjs | 2 + ...> NcInputField-ChKho6Gt.chunk.mjs.license} | 0 ...ap => NcInputField-ChKho6Gt.chunk.mjs.map} | 2 +- ...InputField-ChKho6Gt.chunk.mjs.map.license} | 0 dist/NcInputField-DF4JTB_T.chunk.mjs | 2 - ...hunk.css => NcNoteCard-BWNFKLbC.chunk.css} | 0 dist/NcNoteCard-Bc_9sn5Y.chunk.mjs | 2 + ... => NcNoteCard-Bc_9sn5Y.chunk.mjs.license} | 0 dist/NcNoteCard-Bc_9sn5Y.chunk.mjs.map | 1 + ...NcNoteCard-Bc_9sn5Y.chunk.mjs.map.license} | 0 dist/NcPasswordField-Cmj9L6D3.chunk.mjs | 2 - dist/NcPasswordField-D-swtVPG.chunk.mjs | 2 + ...cPasswordField-D-swtVPG.chunk.mjs.license} | 0 ...=> NcPasswordField-D-swtVPG.chunk.mjs.map} | 2 +- ...swordField-D-swtVPG.chunk.mjs.map.license} | 0 dist/NcProfileHoverCard-DVnznZvx.chunk.mjs | 2 - dist/NcProfileHoverCard-JiRkcYRU.chunk.mjs | 2 + ...ofileHoverCard-JiRkcYRU.chunk.mjs.license} | 0 ...NcProfileHoverCard-JiRkcYRU.chunk.mjs.map} | 2 +- ...eHoverCard-JiRkcYRU.chunk.mjs.map.license} | 0 dist/NcRichText-C33zs6AR.chunk.mjs.map | 1 - ...hunk.mjs => NcRichText-i_QRzaVt.chunk.mjs} | 24 ++--- ... => NcRichText-i_QRzaVt.chunk.mjs.license} | 0 dist/NcRichText-i_QRzaVt.chunk.mjs.map | 1 + ...NcRichText-i_QRzaVt.chunk.mjs.map.license} | 0 ....chunk.mjs => NcSelect-ZSCFhlj7.chunk.mjs} | 6 +- ...se => NcSelect-ZSCFhlj7.chunk.mjs.license} | 0 ...js.map => NcSelect-ZSCFhlj7.chunk.mjs.map} | 2 +- ...> NcSelect-ZSCFhlj7.chunk.mjs.map.license} | 0 ..._script_setup_true_lang-DGdPvPIN.chunk.mjs | 2 + ...etup_true_lang-DGdPvPIN.chunk.mjs.license} | 0 ...pt_setup_true_lang-DGdPvPIN.chunk.mjs.map} | 2 +- ..._true_lang-DGdPvPIN.chunk.mjs.map.license} | 0 ..._script_setup_true_lang-w8sq7Npz.chunk.mjs | 2 - ...js => NcUserStatusIcon-DcFFwrTF.chunk.mjs} | 6 +- ...UserStatusIcon-DcFFwrTF.chunk.mjs.license} | 0 ...> NcUserStatusIcon-DcFFwrTF.chunk.mjs.map} | 2 +- ...StatusIcon-DcFFwrTF.chunk.mjs.map.license} | 0 ...k.css => PencilOutline-3plNpBrB.chunk.css} | 0 dist/PencilOutline-CARgoCDi.chunk.mjs | 2 - dist/PencilOutline-CARgoCDi.chunk.mjs.map | 1 - dist/PencilOutline-D_8aq9iQ.chunk.mjs | 2 + ... PencilOutline-D_8aq9iQ.chunk.mjs.license} | 12 +++ dist/PencilOutline-D_8aq9iQ.chunk.mjs.map | 1 + ...cilOutline-D_8aq9iQ.chunk.mjs.map.license} | 12 +++ dist/Plus-B0tctY1r.chunk.mjs | 2 - dist/Plus-Do6rAjAi.chunk.mjs | 2 + ...icense => Plus-Do6rAjAi.chunk.mjs.license} | 0 ...nk.mjs.map => Plus-Do6rAjAi.chunk.mjs.map} | 2 +- ...se => Plus-Do6rAjAi.chunk.mjs.map.license} | 0 dist/SetStatusModal-Bie5uE5O.chunk.mjs | 2 - dist/SetStatusModal-Cscv4Jk2.chunk.mjs | 2 + ...SetStatusModal-Cscv4Jk2.chunk.mjs.license} | 0 ... => SetStatusModal-Cscv4Jk2.chunk.mjs.map} | 2 +- ...tatusModal-Cscv4Jk2.chunk.mjs.map.license} | 0 dist/SystemTagPicker-BmXpJyD2.chunk.mjs | 2 - dist/SystemTagPicker-C8r5iFRa.chunk.mjs | 2 + ...ystemTagPicker-C8r5iFRa.chunk.mjs.license} | 0 ...=> SystemTagPicker-C8r5iFRa.chunk.mjs.map} | 2 +- ...mTagPicker-C8r5iFRa.chunk.mjs.map.license} | 0 dist/TrashCanOutline-B7beOzq2.chunk.mjs | 2 + ...rashCanOutline-B7beOzq2.chunk.mjs.license} | 0 ...=> TrashCanOutline-B7beOzq2.chunk.mjs.map} | 2 +- ...CanOutline-B7beOzq2.chunk.mjs.map.license} | 0 dist/TrashCanOutline-BQlqik0A.chunk.mjs | 2 - dist/TrayArrowDown-DobGJLuy.chunk.mjs | 2 - dist/TrayArrowDown-t726MUOP.chunk.mjs | 2 + ... TrayArrowDown-t726MUOP.chunk.mjs.license} | 0 ...p => TrayArrowDown-t726MUOP.chunk.mjs.map} | 2 +- ...yArrowDown-t726MUOP.chunk.mjs.map.license} | 0 ...lugin-vue_export-helper-CqVUm19z.chunk.mjs | 2 - ...n-vue_export-helper-CqVUm19z.chunk.mjs.map | 1 - ...vijjW.chunk.mjs => api-ah2EObcp.chunk.mjs} | 4 +- ...license => api-ah2EObcp.chunk.mjs.license} | 0 ...unk.mjs.map => api-ah2EObcp.chunk.mjs.map} | 2 +- ...nse => api-ah2EObcp.chunk.mjs.map.license} | 0 dist/be-tarask-0RNLViYa.chunk.mjs | 2 + ...e => be-tarask-0RNLViYa.chunk.mjs.license} | 0 ...s.map => be-tarask-0RNLViYa.chunk.mjs.map} | 2 +- ... be-tarask-0RNLViYa.chunk.mjs.map.license} | 0 dist/be-tarask-GQGPowdl.chunk.mjs | 2 - dist/colors-BOvRtbsP.chunk.mjs | 2 + ...ense => colors-BOvRtbsP.chunk.mjs.license} | 0 dist/colors-BOvRtbsP.chunk.mjs.map | 1 + ... => colors-BOvRtbsP.chunk.mjs.map.license} | 0 dist/colors-yr6Muzl9.chunk.mjs | 2 - dist/colors-yr6Muzl9.chunk.mjs.map | 1 - dist/createElementId-By9PWUT1.chunk.mjs | 2 - dist/createElementId-CYO-dDhf.chunk.mjs | 2 + ...reateElementId-CYO-dDhf.chunk.mjs.license} | 0 ...=> createElementId-CYO-dDhf.chunk.mjs.map} | 2 +- ...eElementId-CYO-dDhf.chunk.mjs.map.license} | 0 dist/dav-BneVTxEZ.chunk.mjs | 2 + ...license => dav-BneVTxEZ.chunk.mjs.license} | 5 +- dist/dav-BneVTxEZ.chunk.mjs.map | 1 + ...nse => dav-BneVTxEZ.chunk.mjs.map.license} | 5 +- dist/dav-CKRPc6_m.chunk.mjs.map | 1 - dist/dav-settings-admin-caldav.mjs | 2 +- dist/dav-settings-admin-caldav.mjs.map | 2 +- dist/dav-settings-admin-example-content.css | 4 +- dist/dav-settings-admin-example-content.mjs | 2 +- ...dav-settings-admin-example-content.mjs.map | 2 +- dist/dav-settings-personal-availability.css | 4 +- dist/dav-settings-personal-availability.mjs | 6 +- ...dav-settings-personal-availability.mjs.map | 2 +- dist/davProperties-DQigZkzf.chunk.mjs | 86 +++++++++++++++ dist/davProperties-DQigZkzf.chunk.mjs.license | 7 ++ dist/davProperties-DQigZkzf.chunk.mjs.map | 1 + ...vProperties-DQigZkzf.chunk.mjs.map.license | 7 ++ dist/de-AT-CBbq50u6.chunk.mjs | 2 + ...cense => de-AT-CBbq50u6.chunk.mjs.license} | 0 ...k.mjs.map => de-AT-CBbq50u6.chunk.mjs.map} | 2 +- ...e => de-AT-CBbq50u6.chunk.mjs.map.license} | 0 dist/de-AT-DKZT28vr.chunk.mjs | 2 - dist/de-C71wtlf5.chunk.mjs | 2 - dist/de-cGsVdHsW.chunk.mjs | 2 + ....license => de-cGsVdHsW.chunk.mjs.license} | 0 ...hunk.mjs.map => de-cGsVdHsW.chunk.mjs.map} | 2 +- ...ense => de-cGsVdHsW.chunk.mjs.map.license} | 0 dist/encryption-encryption.css | 4 +- dist/encryption-encryption.mjs | 2 +- dist/encryption-encryption.mjs.map | 2 +- dist/encryption-settings_admin.css | 4 +- dist/encryption-settings_admin.mjs | 2 +- dist/encryption-settings_admin.mjs.map | 2 +- dist/encryption-settings_personal.css | 4 +- dist/encryption-settings_personal.mjs | 2 +- dist/encryption-settings_personal.mjs.map | 2 +- dist/externalStorageUtils-Dl6sWuvr.chunk.mjs | 2 - ...xternalStorageUtils-Dl6sWuvr.chunk.mjs.map | 1 - dist/externalStorageUtils-KuBigrYs.chunk.mjs | 5 + ...alStorageUtils-KuBigrYs.chunk.mjs.license} | 12 +-- ...xternalStorageUtils-KuBigrYs.chunk.mjs.map | 1 + ...orageUtils-KuBigrYs.chunk.mjs.map.license} | 12 +-- dist/federatedfilesharing-init-files.css | 4 +- dist/federatedfilesharing-init-files.mjs | 2 +- dist/federatedfilesharing-init-files.mjs.map | 2 +- dist/federatedfilesharing-settings-admin.css | 4 +- dist/federatedfilesharing-settings-admin.mjs | 2 +- ...ederatedfilesharing-settings-admin.mjs.map | 2 +- ...federatedfilesharing-settings-personal.css | 4 +- ...federatedfilesharing-settings-personal.mjs | 2 +- ...ratedfilesharing-settings-personal.mjs.map | 2 +- dist/federation-settings-admin.css | 4 +- dist/federation-settings-admin.mjs | 2 +- dist/federation-settings-admin.mjs.map | 2 +- dist/fi-CkqieOcr.chunk.mjs | 2 - dist/fi-hmFjHBty.chunk.mjs | 2 + ....license => fi-hmFjHBty.chunk.mjs.license} | 0 ...hunk.mjs.map => fi-hmFjHBty.chunk.mjs.map} | 2 +- ...ense => fi-hmFjHBty.chunk.mjs.map.license} | 0 dist/fileAction-BOfDVRqE.chunk.mjs | 2 + ... => fileAction-BOfDVRqE.chunk.mjs.license} | 10 +- dist/fileAction-BOfDVRqE.chunk.mjs.map | 1 + ...fileAction-BOfDVRqE.chunk.mjs.map.license} | 10 +- dist/fileType-C3N8eFWN.chunk.mjs | 2 + ...se => fileType-C3N8eFWN.chunk.mjs.license} | 12 ++- dist/fileType-C3N8eFWN.chunk.mjs.map | 1 + ...> fileType-C3N8eFWN.chunk.mjs.map.license} | 12 ++- dist/files_external-auth_rsa.mjs | 4 +- dist/files_external-init.css | 4 +- dist/files_external-init.mjs | 4 +- dist/files_external-init.mjs.map | 2 +- dist/files_external-init_settings.mjs | 2 +- dist/files_external-init_settings.mjs.map | 2 +- dist/files_external-settings.css | 4 +- dist/files_external-settings.mjs | 2 +- dist/files_external-settings.mjs.map | 2 +- dist/files_reminders-init.css | 4 +- dist/files_reminders-init.mjs | 2 +- dist/files_reminders-init.mjs.map | 2 +- dist/files_trashbin-init.css | 4 +- dist/files_trashbin-init.mjs | 8 +- dist/files_trashbin-init.mjs.license | 3 + dist/files_trashbin-init.mjs.map | 2 +- dist/files_trashbin-init.mjs.map.license | 3 + dist/files_versions-sidebar-tab.mjs | 4 +- dist/files_versions-sidebar-tab.mjs.license | 3 + dist/files_versions-sidebar-tab.mjs.map | 2 +- ...files_versions-sidebar-tab.mjs.map.license | 3 + dist/index-46FXRSdP.chunk.mjs | 2 - dist/index-7iJBFiEp.chunk.mjs | 4 - dist/index-BIPLNoRE.chunk.mjs | 2 + ...cense => index-BIPLNoRE.chunk.mjs.license} | 0 ...k.mjs.map => index-BIPLNoRE.chunk.mjs.map} | 2 +- ...e => index-BIPLNoRE.chunk.mjs.map.license} | 0 dist/index-BWpu0Fty.chunk.mjs | 19 ---- dist/index-BWpu0Fty.chunk.mjs.map | 1 - dist/index-C-_XCzuK.chunk.mjs | 5 - dist/index-C-_XCzuK.chunk.mjs.map | 1 - ...mck.chunk.mjs => index-CKJWL5up.chunk.mjs} | 6 +- dist/index-CKJWL5up.chunk.mjs.license | 7 ++ ...k.mjs.map => index-CKJWL5up.chunk.mjs.map} | 2 +- dist/index-CKJWL5up.chunk.mjs.map.license | 7 ++ dist/index-DEc6kvRX.chunk.mjs | 4 + ...cense => index-DEc6kvRX.chunk.mjs.license} | 0 ...k.mjs.map => index-DEc6kvRX.chunk.mjs.map} | 2 +- ...e => index-DEc6kvRX.chunk.mjs.map.license} | 0 ...6FT.chunk.mjs => index-DVbpcBH3.chunk.mjs} | 4 +- ...cense => index-DVbpcBH3.chunk.mjs.license} | 0 ...k.mjs.map => index-DVbpcBH3.chunk.mjs.map} | 2 +- ...e => index-DVbpcBH3.chunk.mjs.map.license} | 0 ...6_m.chunk.mjs => index-DgO53NxA.chunk.mjs} | 100 ++---------------- ...cense => index-DgO53NxA.chunk.mjs.license} | 2 +- dist/index-DgO53NxA.chunk.mjs.map | 1 + ...e => index-DgO53NxA.chunk.mjs.map.license} | 2 +- ...uGe.chunk.mjs => index-DkLSWfiQ.chunk.mjs} | 6 +- ...cense => index-DkLSWfiQ.chunk.mjs.license} | 0 ...k.mjs.map => index-DkLSWfiQ.chunk.mjs.map} | 2 +- ...e => index-DkLSWfiQ.chunk.mjs.map.license} | 0 dist/index-KjXgJmdp.chunk.mjs.map | 1 - dist/index-ab_1C7r3.chunk.mjs | 4 + ...cense => index-ab_1C7r3.chunk.mjs.license} | 0 ...k.mjs.map => index-ab_1C7r3.chunk.mjs.map} | 2 +- ...e => index-ab_1C7r3.chunk.mjs.map.license} | 0 dist/index-nihFjC9p.chunk.mjs | 4 - ...Xrj.chunk.mjs => index-x4yLQPPO.chunk.mjs} | 4 +- ...cense => index-x4yLQPPO.chunk.mjs.license} | 0 ...k.mjs.map => index-x4yLQPPO.chunk.mjs.map} | 2 +- ...e => index-x4yLQPPO.chunk.mjs.map.license} | 0 dist/logger-BTzBM81L.chunk.mjs | 2 - dist/logger-CAItDlAU.chunk.mjs | 2 - dist/logger-COz3Jv5m.chunk.mjs | 2 - dist/logger-COz3Jv5m.chunk.mjs.map | 1 - dist/logger-CQ7LA00c.chunk.mjs | 2 - dist/logger-Co2eRvX5.chunk.mjs | 2 + ...ense => logger-Co2eRvX5.chunk.mjs.license} | 0 ....mjs.map => logger-Co2eRvX5.chunk.mjs.map} | 2 +- ... => logger-Co2eRvX5.chunk.mjs.map.license} | 0 dist/logger-lcXgK4DV.chunk.mjs | 2 + ...ense => logger-lcXgK4DV.chunk.mjs.license} | 0 ....mjs.map => logger-lcXgK4DV.chunk.mjs.map} | 2 +- ... => logger-lcXgK4DV.chunk.mjs.map.license} | 0 dist/logger-mKo85bDr.chunk.mjs | 2 + ...ense => logger-mKo85bDr.chunk.mjs.license} | 0 ....mjs.map => logger-mKo85bDr.chunk.mjs.map} | 2 +- ... => logger-mKo85bDr.chunk.mjs.map.license} | 0 dist/navigation-xp-hzrW3.chunk.mjs | 19 ++++ ... => navigation-xp-hzrW3.chunk.mjs.license} | 6 +- dist/navigation-xp-hzrW3.chunk.mjs.map | 1 + ...navigation-xp-hzrW3.chunk.mjs.map.license} | 6 +- dist/oauth2-settings-admin.css | 4 +- dist/oauth2-settings-admin.mjs | 2 +- dist/oauth2-settings-admin.mjs.map | 2 +- dist/pinia-C4c6zaEf.chunk.mjs | 2 - dist/pinia-hbGgkcx-.chunk.mjs | 2 + ...cense => pinia-hbGgkcx-.chunk.mjs.license} | 0 ...k.mjs.map => pinia-hbGgkcx-.chunk.mjs.map} | 2 +- ...e => pinia-hbGgkcx-.chunk.mjs.map.license} | 0 ....mjs => preload-helper-CAkfU8NC.chunk.mjs} | 4 +- ...preload-helper-CAkfU8NC.chunk.mjs.license} | 0 ... => preload-helper-CAkfU8NC.chunk.mjs.map} | 2 +- ...oad-helper-CAkfU8NC.chunk.mjs.map.license} | 0 dist/profile-main.css | 4 +- dist/profile-main.mjs | 2 +- dist/profile-main.mjs.map | 2 +- dist/referencePickerModal-DkqH2iEt.chunk.mjs | 54 ---------- dist/referencePickerModal-simJC4d0.chunk.mjs | 54 ++++++++++ ...ncePickerModal-simJC4d0.chunk.mjs.license} | 0 ...ferencePickerModal-simJC4d0.chunk.mjs.map} | 2 +- ...ickerModal-simJC4d0.chunk.mjs.map.license} | 0 dist/refreshStyles-6AawNXyt.chunk.mjs | 2 - dist/refreshStyles-DM09Yugd.chunk.mjs | 2 + ... refreshStyles-DM09Yugd.chunk.mjs.license} | 0 ...p => refreshStyles-DM09Yugd.chunk.mjs.map} | 2 +- ...reshStyles-DM09Yugd.chunk.mjs.map.license} | 0 dist/sharebymail-admin-settings.css | 4 +- dist/sharebymail-admin-settings.mjs | 2 +- dist/sharebymail-admin-settings.mjs.map | 2 +- dist/systemtags-admin.css | 4 +- dist/systemtags-admin.mjs | 2 +- dist/systemtags-admin.mjs.map | 2 +- dist/systemtags-init.css | 2 +- dist/systemtags-init.mjs | 12 +-- dist/systemtags-init.mjs.license | 3 + dist/systemtags-init.mjs.map | 2 +- dist/systemtags-init.mjs.map.license | 3 + dist/theming-settings-admin.css | 4 +- dist/theming-settings-admin.mjs | 2 +- dist/theming-settings-admin.mjs.map | 2 +- dist/theming-settings-personal.css | 4 +- dist/theming-settings-personal.mjs | 2 +- dist/theming-settings-personal.mjs.map | 2 +- dist/theming-theming.mjs | 2 +- dist/theming-theming.mjs.map | 2 +- ...> translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs} | 8 +- ...ation-DoG5ZELJ-Bg6-4CB3.chunk.mjs.license} | 3 - ...ranslation-DoG5ZELJ-Bg6-4CB3.chunk.mjs.map | 1 + ...n-DoG5ZELJ-Bg6-4CB3.chunk.mjs.map.license} | 3 - ...wofactor_backupcodes-settings-personal.css | 4 +- ...wofactor_backupcodes-settings-personal.mjs | 4 +- ...ctor_backupcodes-settings-personal.mjs.map | 2 +- dist/types-BaEdDYFz.chunk.mjs | 2 - dist/types-CC8KwSoy.chunk.mjs | 2 + ...cense => types-CC8KwSoy.chunk.mjs.license} | 0 ...k.mjs.map => types-CC8KwSoy.chunk.mjs.map} | 2 +- ...e => types-CC8KwSoy.chunk.mjs.map.license} | 0 dist/types-CN2Bbst6.chunk.mjs | 2 + ...cense => types-CN2Bbst6.chunk.mjs.license} | 0 ...k.mjs.map => types-CN2Bbst6.chunk.mjs.map} | 2 +- ...e => types-CN2Bbst6.chunk.mjs.map.license} | 0 dist/types-DJpybmHW.chunk.mjs | 2 - dist/user_ldap-renewPassword.css | 4 +- dist/user_ldap-renewPassword.mjs | 2 +- dist/user_ldap-renewPassword.mjs.map | 2 +- dist/user_ldap-settings-admin.css | 4 +- dist/user_ldap-settings-admin.mjs | 2 +- dist/user_ldap-settings-admin.mjs.map | 2 +- dist/user_status-menu.css | 4 +- dist/user_status-menu.mjs | 4 +- dist/user_status-menu.mjs.map | 2 +- ...UX9.chunk.mjs => zh-CN-b3R_kzHc.chunk.mjs} | 4 +- ...cense => zh-CN-b3R_kzHc.chunk.mjs.license} | 0 ...k.mjs.map => zh-CN-b3R_kzHc.chunk.mjs.map} | 2 +- ...e => zh-CN-b3R_kzHc.chunk.mjs.map.license} | 0 dist/zh-TW-CwH8CIe5.chunk.mjs | 3 - dist/zh-TW-CwH8CIe5.chunk.mjs.map | 1 - dist/zh-TW-WzotTe-A.chunk.mjs | 3 + ...cense => zh-TW-WzotTe-A.chunk.mjs.license} | 12 --- dist/zh-TW-WzotTe-A.chunk.mjs.map | 1 + ...e => zh-TW-WzotTe-A.chunk.mjs.map.license} | 12 --- 385 files changed, 634 insertions(+), 592 deletions(-) delete mode 100644 dist/AuthMechanismRsa-CYXlfht4.chunk.mjs create mode 100644 dist/AuthMechanismRsa-DSpow0s2.chunk.mjs rename dist/{AuthMechanismRsa-CYXlfht4.chunk.mjs.license => AuthMechanismRsa-DSpow0s2.chunk.mjs.license} (100%) rename dist/{AuthMechanismRsa-CYXlfht4.chunk.mjs.map => AuthMechanismRsa-DSpow0s2.chunk.mjs.map} (97%) rename dist/{AuthMechanismRsa-CYXlfht4.chunk.mjs.map.license => AuthMechanismRsa-DSpow0s2.chunk.mjs.map.license} (100%) delete mode 100644 dist/ContentCopy-BgOwiUO5.chunk.mjs create mode 100644 dist/ContentCopy-BvdCvcHz.chunk.mjs rename dist/{ContentCopy-BgOwiUO5.chunk.mjs.license => ContentCopy-BvdCvcHz.chunk.mjs.license} (100%) rename dist/{ContentCopy-BgOwiUO5.chunk.mjs.map => ContentCopy-BvdCvcHz.chunk.mjs.map} (98%) rename dist/{ContentCopy-BgOwiUO5.chunk.mjs.map.license => ContentCopy-BvdCvcHz.chunk.mjs.map.license} (100%) create mode 100644 dist/CredentialsDialog-B5OO1tPA.chunk.mjs rename dist/{CredentialsDialog-QQvNqawF.chunk.mjs.license => CredentialsDialog-B5OO1tPA.chunk.mjs.license} (100%) rename dist/{CredentialsDialog-QQvNqawF.chunk.mjs.map => CredentialsDialog-B5OO1tPA.chunk.mjs.map} (96%) rename dist/{CredentialsDialog-QQvNqawF.chunk.mjs.map.license => CredentialsDialog-B5OO1tPA.chunk.mjs.map.license} (100%) delete mode 100644 dist/CredentialsDialog-QQvNqawF.chunk.mjs delete mode 100644 dist/FilePicker-BuDsan9B.chunk.mjs delete mode 100644 dist/FilePicker-BuDsan9B.chunk.mjs.map create mode 100644 dist/FilePicker-DAaoni96.chunk.mjs rename dist/{FilePicker-BuDsan9B.chunk.mjs.license => FilePicker-DAaoni96.chunk.mjs.license} (84%) create mode 100644 dist/FilePicker-DAaoni96.chunk.mjs.map rename dist/{FilePicker-BuDsan9B.chunk.mjs.map.license => FilePicker-DAaoni96.chunk.mjs.map.license} (84%) create mode 100644 dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs rename dist/{FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.license => FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.license} (100%) rename dist/{FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map => FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map} (86%) rename dist/{FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map.license => FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map.license} (100%) delete mode 100644 dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs create mode 100644 dist/NcActionButton-Dg5R7G7t.chunk.mjs rename dist/{NcActionButton-aznRvsUR.chunk.mjs.license => NcActionButton-Dg5R7G7t.chunk.mjs.license} (100%) rename dist/{NcActionButton-aznRvsUR.chunk.mjs.map => NcActionButton-Dg5R7G7t.chunk.mjs.map} (99%) rename dist/{NcActionButton-aznRvsUR.chunk.mjs.map.license => NcActionButton-Dg5R7G7t.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcActionButton-aznRvsUR.chunk.mjs rename dist/{NcActionRouter-BgwM-vxv.chunk.mjs => NcActionRouter-BmOFewpm.chunk.mjs} (90%) rename dist/{NcActionRouter-BgwM-vxv.chunk.mjs.license => NcActionRouter-BmOFewpm.chunk.mjs.license} (100%) rename dist/{NcActionRouter-BgwM-vxv.chunk.mjs.map => NcActionRouter-BmOFewpm.chunk.mjs.map} (99%) rename dist/{NcActionRouter-BgwM-vxv.chunk.mjs.map.license => NcActionRouter-BmOFewpm.chunk.mjs.map.license} (100%) create mode 100644 dist/NcAvatar-DrbDVplz.chunk.mjs rename dist/{NcAvatar-Du62q7FN.chunk.mjs.license => NcAvatar-DrbDVplz.chunk.mjs.license} (100%) rename dist/{NcAvatar-Du62q7FN.chunk.mjs.map => NcAvatar-DrbDVplz.chunk.mjs.map} (99%) rename dist/{NcAvatar-Du62q7FN.chunk.mjs.map.license => NcAvatar-DrbDVplz.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcAvatar-Du62q7FN.chunk.mjs create mode 100644 dist/NcBreadcrumbs-6kqegFr0.chunk.mjs rename dist/{NcBreadcrumbs-DWRNRArn.chunk.mjs.license => NcBreadcrumbs-6kqegFr0.chunk.mjs.license} (100%) rename dist/{NcBreadcrumbs-DWRNRArn.chunk.mjs.map => NcBreadcrumbs-6kqegFr0.chunk.mjs.map} (99%) rename dist/{NcBreadcrumbs-DWRNRArn.chunk.mjs.map.license => NcBreadcrumbs-6kqegFr0.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcBreadcrumbs-DWRNRArn.chunk.mjs rename dist/{NcCheckboxRadioSwitch-DpgS6NvR.chunk.mjs => NcCheckboxRadioSwitch-Bs2KPw_Y.chunk.mjs} (93%) rename dist/{NcCheckboxRadioSwitch-DpgS6NvR.chunk.mjs.license => NcCheckboxRadioSwitch-Bs2KPw_Y.chunk.mjs.license} (100%) rename dist/{NcCheckboxRadioSwitch-DpgS6NvR.chunk.mjs.map => NcCheckboxRadioSwitch-Bs2KPw_Y.chunk.mjs.map} (99%) rename dist/{NcCheckboxRadioSwitch-DpgS6NvR.chunk.mjs.map.license => NcCheckboxRadioSwitch-Bs2KPw_Y.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcChip-DOwPF7En.chunk.mjs create mode 100644 dist/NcChip-DWG2Z7tx.chunk.mjs rename dist/{NcChip-DOwPF7En.chunk.mjs.license => NcChip-DWG2Z7tx.chunk.mjs.license} (100%) rename dist/{NcChip-DOwPF7En.chunk.mjs.map => NcChip-DWG2Z7tx.chunk.mjs.map} (98%) rename dist/{NcChip-DOwPF7En.chunk.mjs.map.license => NcChip-DWG2Z7tx.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcColorPicker-T5s6TCMy.chunk.mjs create mode 100644 dist/NcColorPicker-yw3sTmVi.chunk.mjs rename dist/{NcColorPicker-T5s6TCMy.chunk.mjs.license => NcColorPicker-yw3sTmVi.chunk.mjs.license} (100%) rename dist/{NcColorPicker-T5s6TCMy.chunk.mjs.map => NcColorPicker-yw3sTmVi.chunk.mjs.map} (99%) rename dist/{NcColorPicker-T5s6TCMy.chunk.mjs.map.license => NcColorPicker-yw3sTmVi.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcEmojiPicker-B5AZ6o29.chunk.mjs create mode 100644 dist/NcEmojiPicker-BoqaWg4v.chunk.mjs rename dist/{NcEmojiPicker-B5AZ6o29.chunk.mjs.license => NcEmojiPicker-BoqaWg4v.chunk.mjs.license} (100%) rename dist/{NcEmojiPicker-B5AZ6o29.chunk.mjs.map => NcEmojiPicker-BoqaWg4v.chunk.mjs.map} (69%) rename dist/{NcEmojiPicker-B5AZ6o29.chunk.mjs.map.license => NcEmojiPicker-BoqaWg4v.chunk.mjs.map.license} (100%) create mode 100644 dist/NcInputField-ChKho6Gt.chunk.mjs rename dist/{NcInputField-DF4JTB_T.chunk.mjs.license => NcInputField-ChKho6Gt.chunk.mjs.license} (100%) rename dist/{NcInputField-DF4JTB_T.chunk.mjs.map => NcInputField-ChKho6Gt.chunk.mjs.map} (98%) rename dist/{NcInputField-DF4JTB_T.chunk.mjs.map.license => NcInputField-ChKho6Gt.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcInputField-DF4JTB_T.chunk.mjs rename dist/{PencilOutline-BWNFKLbC.chunk.css => NcNoteCard-BWNFKLbC.chunk.css} (100%) create mode 100644 dist/NcNoteCard-Bc_9sn5Y.chunk.mjs rename dist/{colors-yr6Muzl9.chunk.mjs.license => NcNoteCard-Bc_9sn5Y.chunk.mjs.license} (100%) create mode 100644 dist/NcNoteCard-Bc_9sn5Y.chunk.mjs.map rename dist/{colors-yr6Muzl9.chunk.mjs.map.license => NcNoteCard-Bc_9sn5Y.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcPasswordField-Cmj9L6D3.chunk.mjs create mode 100644 dist/NcPasswordField-D-swtVPG.chunk.mjs rename dist/{NcPasswordField-Cmj9L6D3.chunk.mjs.license => NcPasswordField-D-swtVPG.chunk.mjs.license} (100%) rename dist/{NcPasswordField-Cmj9L6D3.chunk.mjs.map => NcPasswordField-D-swtVPG.chunk.mjs.map} (77%) rename dist/{NcPasswordField-Cmj9L6D3.chunk.mjs.map.license => NcPasswordField-D-swtVPG.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcProfileHoverCard-DVnznZvx.chunk.mjs create mode 100644 dist/NcProfileHoverCard-JiRkcYRU.chunk.mjs rename dist/{NcProfileHoverCard-DVnznZvx.chunk.mjs.license => NcProfileHoverCard-JiRkcYRU.chunk.mjs.license} (100%) rename dist/{NcProfileHoverCard-DVnznZvx.chunk.mjs.map => NcProfileHoverCard-JiRkcYRU.chunk.mjs.map} (85%) rename dist/{NcProfileHoverCard-DVnznZvx.chunk.mjs.map.license => NcProfileHoverCard-JiRkcYRU.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcRichText-C33zs6AR.chunk.mjs.map rename dist/{NcRichText-C33zs6AR.chunk.mjs => NcRichText-i_QRzaVt.chunk.mjs} (76%) rename dist/{NcRichText-C33zs6AR.chunk.mjs.license => NcRichText-i_QRzaVt.chunk.mjs.license} (100%) create mode 100644 dist/NcRichText-i_QRzaVt.chunk.mjs.map rename dist/{NcRichText-C33zs6AR.chunk.mjs.map.license => NcRichText-i_QRzaVt.chunk.mjs.map.license} (100%) rename dist/{NcSelect-CFz5VNSy.chunk.mjs => NcSelect-ZSCFhlj7.chunk.mjs} (56%) rename dist/{NcSelect-CFz5VNSy.chunk.mjs.license => NcSelect-ZSCFhlj7.chunk.mjs.license} (100%) rename dist/{NcSelect-CFz5VNSy.chunk.mjs.map => NcSelect-ZSCFhlj7.chunk.mjs.map} (99%) rename dist/{NcSelect-CFz5VNSy.chunk.mjs.map.license => NcSelect-ZSCFhlj7.chunk.mjs.map.license} (100%) create mode 100644 dist/NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs rename dist/{NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs.license => NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs.license} (100%) rename dist/{NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs.map => NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs.map} (97%) rename dist/{NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs.map.license => NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs.map.license} (100%) delete mode 100644 dist/NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs rename dist/{NcUserStatusIcon-BtkAvgKj.chunk.mjs => NcUserStatusIcon-DcFFwrTF.chunk.mjs} (82%) rename dist/{NcUserStatusIcon-BtkAvgKj.chunk.mjs.license => NcUserStatusIcon-DcFFwrTF.chunk.mjs.license} (100%) rename dist/{NcUserStatusIcon-BtkAvgKj.chunk.mjs.map => NcUserStatusIcon-DcFFwrTF.chunk.mjs.map} (98%) rename dist/{NcUserStatusIcon-BtkAvgKj.chunk.mjs.map.license => NcUserStatusIcon-DcFFwrTF.chunk.mjs.map.license} (100%) rename dist/{logger-3plNpBrB.chunk.css => PencilOutline-3plNpBrB.chunk.css} (100%) delete mode 100644 dist/PencilOutline-CARgoCDi.chunk.mjs delete mode 100644 dist/PencilOutline-CARgoCDi.chunk.mjs.map create mode 100644 dist/PencilOutline-D_8aq9iQ.chunk.mjs rename dist/{TrashCanOutline-BQlqik0A.chunk.mjs.license => PencilOutline-D_8aq9iQ.chunk.mjs.license} (56%) create mode 100644 dist/PencilOutline-D_8aq9iQ.chunk.mjs.map rename dist/{TrashCanOutline-BQlqik0A.chunk.mjs.map.license => PencilOutline-D_8aq9iQ.chunk.mjs.map.license} (56%) delete mode 100644 dist/Plus-B0tctY1r.chunk.mjs create mode 100644 dist/Plus-Do6rAjAi.chunk.mjs rename dist/{PencilOutline-CARgoCDi.chunk.mjs.license => Plus-Do6rAjAi.chunk.mjs.license} (100%) rename dist/{Plus-B0tctY1r.chunk.mjs.map => Plus-Do6rAjAi.chunk.mjs.map} (97%) rename dist/{PencilOutline-CARgoCDi.chunk.mjs.map.license => Plus-Do6rAjAi.chunk.mjs.map.license} (100%) delete mode 100644 dist/SetStatusModal-Bie5uE5O.chunk.mjs create mode 100644 dist/SetStatusModal-Cscv4Jk2.chunk.mjs rename dist/{SetStatusModal-Bie5uE5O.chunk.mjs.license => SetStatusModal-Cscv4Jk2.chunk.mjs.license} (100%) rename dist/{SetStatusModal-Bie5uE5O.chunk.mjs.map => SetStatusModal-Cscv4Jk2.chunk.mjs.map} (99%) rename dist/{SetStatusModal-Bie5uE5O.chunk.mjs.map.license => SetStatusModal-Cscv4Jk2.chunk.mjs.map.license} (100%) delete mode 100644 dist/SystemTagPicker-BmXpJyD2.chunk.mjs create mode 100644 dist/SystemTagPicker-C8r5iFRa.chunk.mjs rename dist/{SystemTagPicker-BmXpJyD2.chunk.mjs.license => SystemTagPicker-C8r5iFRa.chunk.mjs.license} (100%) rename dist/{SystemTagPicker-BmXpJyD2.chunk.mjs.map => SystemTagPicker-C8r5iFRa.chunk.mjs.map} (85%) rename dist/{SystemTagPicker-BmXpJyD2.chunk.mjs.map.license => SystemTagPicker-C8r5iFRa.chunk.mjs.map.license} (100%) create mode 100644 dist/TrashCanOutline-B7beOzq2.chunk.mjs rename dist/{Plus-B0tctY1r.chunk.mjs.license => TrashCanOutline-B7beOzq2.chunk.mjs.license} (100%) rename dist/{TrashCanOutline-BQlqik0A.chunk.mjs.map => TrashCanOutline-B7beOzq2.chunk.mjs.map} (97%) rename dist/{Plus-B0tctY1r.chunk.mjs.map.license => TrashCanOutline-B7beOzq2.chunk.mjs.map.license} (100%) delete mode 100644 dist/TrashCanOutline-BQlqik0A.chunk.mjs delete mode 100644 dist/TrayArrowDown-DobGJLuy.chunk.mjs create mode 100644 dist/TrayArrowDown-t726MUOP.chunk.mjs rename dist/{TrayArrowDown-DobGJLuy.chunk.mjs.license => TrayArrowDown-t726MUOP.chunk.mjs.license} (100%) rename dist/{TrayArrowDown-DobGJLuy.chunk.mjs.map => TrayArrowDown-t726MUOP.chunk.mjs.map} (99%) rename dist/{TrayArrowDown-DobGJLuy.chunk.mjs.map.license => TrayArrowDown-t726MUOP.chunk.mjs.map.license} (100%) delete mode 100644 dist/_plugin-vue_export-helper-CqVUm19z.chunk.mjs delete mode 100644 dist/_plugin-vue_export-helper-CqVUm19z.chunk.mjs.map rename dist/{api-BquvijjW.chunk.mjs => api-ah2EObcp.chunk.mjs} (74%) rename dist/{api-BquvijjW.chunk.mjs.license => api-ah2EObcp.chunk.mjs.license} (100%) rename dist/{api-BquvijjW.chunk.mjs.map => api-ah2EObcp.chunk.mjs.map} (99%) rename dist/{api-BquvijjW.chunk.mjs.map.license => api-ah2EObcp.chunk.mjs.map.license} (100%) create mode 100644 dist/be-tarask-0RNLViYa.chunk.mjs rename dist/{be-tarask-GQGPowdl.chunk.mjs.license => be-tarask-0RNLViYa.chunk.mjs.license} (100%) rename dist/{be-tarask-GQGPowdl.chunk.mjs.map => be-tarask-0RNLViYa.chunk.mjs.map} (98%) rename dist/{be-tarask-GQGPowdl.chunk.mjs.map.license => be-tarask-0RNLViYa.chunk.mjs.map.license} (100%) delete mode 100644 dist/be-tarask-GQGPowdl.chunk.mjs create mode 100644 dist/colors-BOvRtbsP.chunk.mjs rename dist/{index-BUfyemck.chunk.mjs.license => colors-BOvRtbsP.chunk.mjs.license} (100%) create mode 100644 dist/colors-BOvRtbsP.chunk.mjs.map rename dist/{index-BUfyemck.chunk.mjs.map.license => colors-BOvRtbsP.chunk.mjs.map.license} (100%) delete mode 100644 dist/colors-yr6Muzl9.chunk.mjs delete mode 100644 dist/colors-yr6Muzl9.chunk.mjs.map delete mode 100644 dist/createElementId-By9PWUT1.chunk.mjs create mode 100644 dist/createElementId-CYO-dDhf.chunk.mjs rename dist/{createElementId-By9PWUT1.chunk.mjs.license => createElementId-CYO-dDhf.chunk.mjs.license} (100%) rename dist/{createElementId-By9PWUT1.chunk.mjs.map => createElementId-CYO-dDhf.chunk.mjs.map} (99%) rename dist/{createElementId-By9PWUT1.chunk.mjs.map.license => createElementId-CYO-dDhf.chunk.mjs.map.license} (100%) create mode 100644 dist/dav-BneVTxEZ.chunk.mjs rename dist/{externalStorageUtils-Dl6sWuvr.chunk.mjs.license => dav-BneVTxEZ.chunk.mjs.license} (73%) create mode 100644 dist/dav-BneVTxEZ.chunk.mjs.map rename dist/{externalStorageUtils-Dl6sWuvr.chunk.mjs.map.license => dav-BneVTxEZ.chunk.mjs.map.license} (73%) delete mode 100644 dist/dav-CKRPc6_m.chunk.mjs.map create mode 100644 dist/davProperties-DQigZkzf.chunk.mjs create mode 100644 dist/davProperties-DQigZkzf.chunk.mjs.license create mode 100644 dist/davProperties-DQigZkzf.chunk.mjs.map create mode 100644 dist/davProperties-DQigZkzf.chunk.mjs.map.license create mode 100644 dist/de-AT-CBbq50u6.chunk.mjs rename dist/{de-AT-DKZT28vr.chunk.mjs.license => de-AT-CBbq50u6.chunk.mjs.license} (100%) rename dist/{de-AT-DKZT28vr.chunk.mjs.map => de-AT-CBbq50u6.chunk.mjs.map} (98%) rename dist/{de-AT-DKZT28vr.chunk.mjs.map.license => de-AT-CBbq50u6.chunk.mjs.map.license} (100%) delete mode 100644 dist/de-AT-DKZT28vr.chunk.mjs delete mode 100644 dist/de-C71wtlf5.chunk.mjs create mode 100644 dist/de-cGsVdHsW.chunk.mjs rename dist/{de-C71wtlf5.chunk.mjs.license => de-cGsVdHsW.chunk.mjs.license} (100%) rename dist/{de-C71wtlf5.chunk.mjs.map => de-cGsVdHsW.chunk.mjs.map} (98%) rename dist/{de-C71wtlf5.chunk.mjs.map.license => de-cGsVdHsW.chunk.mjs.map.license} (100%) delete mode 100644 dist/externalStorageUtils-Dl6sWuvr.chunk.mjs delete mode 100644 dist/externalStorageUtils-Dl6sWuvr.chunk.mjs.map create mode 100644 dist/externalStorageUtils-KuBigrYs.chunk.mjs rename dist/{index-C-_XCzuK.chunk.mjs.license => externalStorageUtils-KuBigrYs.chunk.mjs.license} (86%) create mode 100644 dist/externalStorageUtils-KuBigrYs.chunk.mjs.map rename dist/{index-C-_XCzuK.chunk.mjs.map.license => externalStorageUtils-KuBigrYs.chunk.mjs.map.license} (86%) delete mode 100644 dist/fi-CkqieOcr.chunk.mjs create mode 100644 dist/fi-hmFjHBty.chunk.mjs rename dist/{fi-CkqieOcr.chunk.mjs.license => fi-hmFjHBty.chunk.mjs.license} (100%) rename dist/{fi-CkqieOcr.chunk.mjs.map => fi-hmFjHBty.chunk.mjs.map} (99%) rename dist/{fi-CkqieOcr.chunk.mjs.map.license => fi-hmFjHBty.chunk.mjs.map.license} (100%) create mode 100644 dist/fileAction-BOfDVRqE.chunk.mjs rename dist/{logger-COz3Jv5m.chunk.mjs.license => fileAction-BOfDVRqE.chunk.mjs.license} (64%) create mode 100644 dist/fileAction-BOfDVRqE.chunk.mjs.map rename dist/{logger-COz3Jv5m.chunk.mjs.map.license => fileAction-BOfDVRqE.chunk.mjs.map.license} (64%) create mode 100644 dist/fileType-C3N8eFWN.chunk.mjs rename dist/{_plugin-vue_export-helper-CqVUm19z.chunk.mjs.license => fileType-C3N8eFWN.chunk.mjs.license} (58%) create mode 100644 dist/fileType-C3N8eFWN.chunk.mjs.map rename dist/{_plugin-vue_export-helper-CqVUm19z.chunk.mjs.map.license => fileType-C3N8eFWN.chunk.mjs.map.license} (58%) delete mode 100644 dist/index-46FXRSdP.chunk.mjs delete mode 100644 dist/index-7iJBFiEp.chunk.mjs create mode 100644 dist/index-BIPLNoRE.chunk.mjs rename dist/{index-46FXRSdP.chunk.mjs.license => index-BIPLNoRE.chunk.mjs.license} (100%) rename dist/{index-46FXRSdP.chunk.mjs.map => index-BIPLNoRE.chunk.mjs.map} (99%) rename dist/{index-46FXRSdP.chunk.mjs.map.license => index-BIPLNoRE.chunk.mjs.map.license} (100%) delete mode 100644 dist/index-BWpu0Fty.chunk.mjs delete mode 100644 dist/index-BWpu0Fty.chunk.mjs.map delete mode 100644 dist/index-C-_XCzuK.chunk.mjs delete mode 100644 dist/index-C-_XCzuK.chunk.mjs.map rename dist/{index-BUfyemck.chunk.mjs => index-CKJWL5up.chunk.mjs} (54%) create mode 100644 dist/index-CKJWL5up.chunk.mjs.license rename dist/{index-BUfyemck.chunk.mjs.map => index-CKJWL5up.chunk.mjs.map} (99%) create mode 100644 dist/index-CKJWL5up.chunk.mjs.map.license create mode 100644 dist/index-DEc6kvRX.chunk.mjs rename dist/{index-nihFjC9p.chunk.mjs.license => index-DEc6kvRX.chunk.mjs.license} (100%) rename dist/{index-nihFjC9p.chunk.mjs.map => index-DEc6kvRX.chunk.mjs.map} (99%) rename dist/{index-nihFjC9p.chunk.mjs.map.license => index-DEc6kvRX.chunk.mjs.map.license} (100%) rename dist/{index-cNSue6FT.chunk.mjs => index-DVbpcBH3.chunk.mjs} (92%) rename dist/{index-cNSue6FT.chunk.mjs.license => index-DVbpcBH3.chunk.mjs.license} (100%) rename dist/{index-cNSue6FT.chunk.mjs.map => index-DVbpcBH3.chunk.mjs.map} (99%) rename dist/{index-cNSue6FT.chunk.mjs.map.license => index-DVbpcBH3.chunk.mjs.map.license} (100%) rename dist/{dav-CKRPc6_m.chunk.mjs => index-DgO53NxA.chunk.mjs} (52%) rename dist/{dav-CKRPc6_m.chunk.mjs.license => index-DgO53NxA.chunk.mjs.license} (95%) create mode 100644 dist/index-DgO53NxA.chunk.mjs.map rename dist/{dav-CKRPc6_m.chunk.mjs.map.license => index-DgO53NxA.chunk.mjs.map.license} (95%) rename dist/{index-DsCOQuGe.chunk.mjs => index-DkLSWfiQ.chunk.mjs} (98%) rename dist/{index-DsCOQuGe.chunk.mjs.license => index-DkLSWfiQ.chunk.mjs.license} (100%) rename dist/{index-DsCOQuGe.chunk.mjs.map => index-DkLSWfiQ.chunk.mjs.map} (99%) rename dist/{index-DsCOQuGe.chunk.mjs.map.license => index-DkLSWfiQ.chunk.mjs.map.license} (100%) delete mode 100644 dist/index-KjXgJmdp.chunk.mjs.map create mode 100644 dist/index-ab_1C7r3.chunk.mjs rename dist/{index-7iJBFiEp.chunk.mjs.license => index-ab_1C7r3.chunk.mjs.license} (100%) rename dist/{index-7iJBFiEp.chunk.mjs.map => index-ab_1C7r3.chunk.mjs.map} (99%) rename dist/{index-7iJBFiEp.chunk.mjs.map.license => index-ab_1C7r3.chunk.mjs.map.license} (100%) delete mode 100644 dist/index-nihFjC9p.chunk.mjs rename dist/{index-B1qtgXrj.chunk.mjs => index-x4yLQPPO.chunk.mjs} (84%) rename dist/{index-B1qtgXrj.chunk.mjs.license => index-x4yLQPPO.chunk.mjs.license} (100%) rename dist/{index-B1qtgXrj.chunk.mjs.map => index-x4yLQPPO.chunk.mjs.map} (99%) rename dist/{index-B1qtgXrj.chunk.mjs.map.license => index-x4yLQPPO.chunk.mjs.map.license} (100%) delete mode 100644 dist/logger-BTzBM81L.chunk.mjs delete mode 100644 dist/logger-CAItDlAU.chunk.mjs delete mode 100644 dist/logger-COz3Jv5m.chunk.mjs delete mode 100644 dist/logger-COz3Jv5m.chunk.mjs.map delete mode 100644 dist/logger-CQ7LA00c.chunk.mjs create mode 100644 dist/logger-Co2eRvX5.chunk.mjs rename dist/{logger-BTzBM81L.chunk.mjs.license => logger-Co2eRvX5.chunk.mjs.license} (100%) rename dist/{logger-BTzBM81L.chunk.mjs.map => logger-Co2eRvX5.chunk.mjs.map} (76%) rename dist/{logger-BTzBM81L.chunk.mjs.map.license => logger-Co2eRvX5.chunk.mjs.map.license} (100%) create mode 100644 dist/logger-lcXgK4DV.chunk.mjs rename dist/{logger-CAItDlAU.chunk.mjs.license => logger-lcXgK4DV.chunk.mjs.license} (100%) rename dist/{logger-CAItDlAU.chunk.mjs.map => logger-lcXgK4DV.chunk.mjs.map} (76%) rename dist/{logger-CAItDlAU.chunk.mjs.map.license => logger-lcXgK4DV.chunk.mjs.map.license} (100%) create mode 100644 dist/logger-mKo85bDr.chunk.mjs rename dist/{logger-CQ7LA00c.chunk.mjs.license => logger-mKo85bDr.chunk.mjs.license} (100%) rename dist/{logger-CQ7LA00c.chunk.mjs.map => logger-mKo85bDr.chunk.mjs.map} (75%) rename dist/{logger-CQ7LA00c.chunk.mjs.map.license => logger-mKo85bDr.chunk.mjs.map.license} (100%) create mode 100644 dist/navigation-xp-hzrW3.chunk.mjs rename dist/{index-BWpu0Fty.chunk.mjs.license => navigation-xp-hzrW3.chunk.mjs.license} (95%) create mode 100644 dist/navigation-xp-hzrW3.chunk.mjs.map rename dist/{index-BWpu0Fty.chunk.mjs.map.license => navigation-xp-hzrW3.chunk.mjs.map.license} (95%) delete mode 100644 dist/pinia-C4c6zaEf.chunk.mjs create mode 100644 dist/pinia-hbGgkcx-.chunk.mjs rename dist/{pinia-C4c6zaEf.chunk.mjs.license => pinia-hbGgkcx-.chunk.mjs.license} (100%) rename dist/{pinia-C4c6zaEf.chunk.mjs.map => pinia-hbGgkcx-.chunk.mjs.map} (99%) rename dist/{pinia-C4c6zaEf.chunk.mjs.map.license => pinia-hbGgkcx-.chunk.mjs.map.license} (100%) rename dist/{preload-helper-iNJDSB_l.chunk.mjs => preload-helper-CAkfU8NC.chunk.mjs} (99%) rename dist/{preload-helper-iNJDSB_l.chunk.mjs.license => preload-helper-CAkfU8NC.chunk.mjs.license} (100%) rename dist/{preload-helper-iNJDSB_l.chunk.mjs.map => preload-helper-CAkfU8NC.chunk.mjs.map} (99%) rename dist/{preload-helper-iNJDSB_l.chunk.mjs.map.license => preload-helper-CAkfU8NC.chunk.mjs.map.license} (100%) delete mode 100644 dist/referencePickerModal-DkqH2iEt.chunk.mjs create mode 100644 dist/referencePickerModal-simJC4d0.chunk.mjs rename dist/{referencePickerModal-DkqH2iEt.chunk.mjs.license => referencePickerModal-simJC4d0.chunk.mjs.license} (100%) rename dist/{referencePickerModal-DkqH2iEt.chunk.mjs.map => referencePickerModal-simJC4d0.chunk.mjs.map} (99%) rename dist/{referencePickerModal-DkqH2iEt.chunk.mjs.map.license => referencePickerModal-simJC4d0.chunk.mjs.map.license} (100%) delete mode 100644 dist/refreshStyles-6AawNXyt.chunk.mjs create mode 100644 dist/refreshStyles-DM09Yugd.chunk.mjs rename dist/{refreshStyles-6AawNXyt.chunk.mjs.license => refreshStyles-DM09Yugd.chunk.mjs.license} (100%) rename dist/{refreshStyles-6AawNXyt.chunk.mjs.map => refreshStyles-DM09Yugd.chunk.mjs.map} (89%) rename dist/{refreshStyles-6AawNXyt.chunk.mjs.map.license => refreshStyles-DM09Yugd.chunk.mjs.map.license} (100%) rename dist/{index-KjXgJmdp.chunk.mjs => translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs} (78%) rename dist/{index-KjXgJmdp.chunk.mjs.license => translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs.license} (88%) create mode 100644 dist/translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs.map rename dist/{index-KjXgJmdp.chunk.mjs.map.license => translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs.map.license} (88%) delete mode 100644 dist/types-BaEdDYFz.chunk.mjs create mode 100644 dist/types-CC8KwSoy.chunk.mjs rename dist/{types-DJpybmHW.chunk.mjs.license => types-CC8KwSoy.chunk.mjs.license} (100%) rename dist/{types-DJpybmHW.chunk.mjs.map => types-CC8KwSoy.chunk.mjs.map} (97%) rename dist/{types-DJpybmHW.chunk.mjs.map.license => types-CC8KwSoy.chunk.mjs.map.license} (100%) create mode 100644 dist/types-CN2Bbst6.chunk.mjs rename dist/{types-BaEdDYFz.chunk.mjs.license => types-CN2Bbst6.chunk.mjs.license} (100%) rename dist/{types-BaEdDYFz.chunk.mjs.map => types-CN2Bbst6.chunk.mjs.map} (97%) rename dist/{types-BaEdDYFz.chunk.mjs.map.license => types-CN2Bbst6.chunk.mjs.map.license} (100%) delete mode 100644 dist/types-DJpybmHW.chunk.mjs rename dist/{zh-CN-Boj1MUX9.chunk.mjs => zh-CN-b3R_kzHc.chunk.mjs} (99%) rename dist/{zh-CN-Boj1MUX9.chunk.mjs.license => zh-CN-b3R_kzHc.chunk.mjs.license} (100%) rename dist/{zh-CN-Boj1MUX9.chunk.mjs.map => zh-CN-b3R_kzHc.chunk.mjs.map} (99%) rename dist/{zh-CN-Boj1MUX9.chunk.mjs.map.license => zh-CN-b3R_kzHc.chunk.mjs.map.license} (100%) delete mode 100644 dist/zh-TW-CwH8CIe5.chunk.mjs delete mode 100644 dist/zh-TW-CwH8CIe5.chunk.mjs.map create mode 100644 dist/zh-TW-WzotTe-A.chunk.mjs rename dist/{zh-TW-CwH8CIe5.chunk.mjs.license => zh-TW-WzotTe-A.chunk.mjs.license} (67%) create mode 100644 dist/zh-TW-WzotTe-A.chunk.mjs.map rename dist/{zh-TW-CwH8CIe5.chunk.mjs.map.license => zh-TW-WzotTe-A.chunk.mjs.map.license} (67%) diff --git a/dist/AuthMechanismRsa-CYXlfht4.chunk.mjs b/dist/AuthMechanismRsa-CYXlfht4.chunk.mjs deleted file mode 100644 index 180e460357b97..0000000000000 --- a/dist/AuthMechanismRsa-CYXlfht4.chunk.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{b as g,f as _,u as o,o as r,c as p,Q as x,x as d,w as v,n as V,t as b,j as k,z as M,s as c,I as E,J as q,M as K,N,e as f,r as U}from"./preload-helper-iNJDSB_l.chunk.mjs";import{c as j}from"./index-B1qtgXrj.chunk.mjs";import{e as w}from"./index-nihFjC9p.chunk.mjs";import{t as s}from"./index-KjXgJmdp.chunk.mjs";import{b as S}from"./index-C-_XCzuK.chunk.mjs";import{N as z}from"./logger-COz3Jv5m.chunk.mjs";import{N as A}from"./NcSelect-CFz5VNSy.chunk.mjs";import{N as C}from"./NcCheckboxRadioSwitch-DpgS6NvR.chunk.mjs";import{N as L}from"./NcPasswordField-Cmj9L6D3.chunk.mjs";import{_ as $}from"./NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs";import{a as y,C as O}from"./types-DJpybmHW.chunk.mjs";import{_ as B}from"./_plugin-vue_export-helper-CqVUm19z.chunk.mjs";import{l as P}from"./logger-BTzBM81L.chunk.mjs";const R=g({__name:"ConfigurationEntry",props:k({configKey:{},configOption:{}},{modelValue:{type:[String,Boolean],default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue");return(l,i)=>e.configOption.type!==o(y).Boolean?(r(),p(x(e.configOption.type===o(y).Password?o(L):o($)),{key:0,modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=t=>a.value=t),name:e.configKey,required:!(e.configOption.flags&o(O).Optional),label:e.configOption.value,title:e.configOption.tooltip,class:d(l.$style.configurationEntry)},null,8,["modelValue","name","required","label","title","class"])):(r(),p(o(C),{key:1,modelValue:a.value,"onUpdate:modelValue":i[1]||(i[1]=t=>a.value=t),type:"switch",title:e.configOption.tooltip,class:d(l.$style.configurationEntry)},{default:v(()=>[V(b(e.configOption.value),1)]),_:1},8,["modelValue","title","class"]))}}),G="_configurationEntry_1cmcq_2",H={configurationEntry:G},I={$style:H},J=B(R,[["__cssModules",I]]),Q=g({__name:"AuthMechanismRsa",props:k({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue"),l=U();M(l,()=>{l.value&&(a.value.private_key="",a.value.public_key="")});async function i(){try{const{data:t}=await j.post(S("/apps/files_external/ajax/public_key.php"),{keyLength:l.value});a.value.private_key=t.data.private_key,a.value.public_key=t.data.public_key}catch(t){P.error("Error generating RSA key pair",{error:t}),w(s("files_external","Error generating key pair"))}}return(t,m)=>(r(),c("div",null,[(r(!0),c(E,null,q(e.authMechanism.configuration,(n,u)=>K((r(),p(J,{key:n.value,modelValue:a.value[u],"onUpdate:modelValue":h=>a.value[u]=h,configKey:u,configOption:n},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[N,!(n.flags&o(O).Hidden)]])),128)),f(o(A),{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=n=>l.value=n),clearable:!1,inputLabel:o(s)("files_external","Key size"),options:[1024,2048,4096],required:""},null,8,["modelValue","inputLabel"]),f(o(z),{disabled:!l.value,wide:"",onClick:i},{default:v(()=>[V(b(o(s)("files_external","Generate keys")),1)]),_:1},8,["disabled"])]))}}),ne=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"}));export{ne as A,J as C}; -//# sourceMappingURL=AuthMechanismRsa-CYXlfht4.chunk.mjs.map diff --git a/dist/AuthMechanismRsa-DSpow0s2.chunk.mjs b/dist/AuthMechanismRsa-DSpow0s2.chunk.mjs new file mode 100644 index 0000000000000..16f3e7f00099c --- /dev/null +++ b/dist/AuthMechanismRsa-DSpow0s2.chunk.mjs @@ -0,0 +1,2 @@ +import{b as g,f as _,u as l,o as r,c as p,a0 as x,x as m,w as v,n as V,t as b,j as k,z as M,s as c,I as E,J as q,M as K,N,e as f,r as U}from"./preload-helper-CAkfU8NC.chunk.mjs";import{c as j}from"./index-x4yLQPPO.chunk.mjs";import{e as w}from"./index-DEc6kvRX.chunk.mjs";import{t as s}from"./translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs";import{_ as S,b as z}from"./externalStorageUtils-KuBigrYs.chunk.mjs";import{N as A}from"./PencilOutline-D_8aq9iQ.chunk.mjs";import{N as C}from"./NcSelect-ZSCFhlj7.chunk.mjs";import{N as L}from"./NcCheckboxRadioSwitch-Bs2KPw_Y.chunk.mjs";import{N as $}from"./NcPasswordField-D-swtVPG.chunk.mjs";import{_ as B}from"./NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs";import{a as y,C as O}from"./types-CC8KwSoy.chunk.mjs";import{l as P}from"./logger-Co2eRvX5.chunk.mjs";const R=g({__name:"ConfigurationEntry",props:k({configKey:{},configOption:{}},{modelValue:{type:[String,Boolean],default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue");return(o,i)=>e.configOption.type!==l(y).Boolean?(r(),p(x(e.configOption.type===l(y).Password?l($):l(B)),{key:0,modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=t=>a.value=t),name:e.configKey,required:!(e.configOption.flags&l(O).Optional),label:e.configOption.value,title:e.configOption.tooltip,class:m(o.$style.configurationEntry)},null,8,["modelValue","name","required","label","title","class"])):(r(),p(l(L),{key:1,modelValue:a.value,"onUpdate:modelValue":i[1]||(i[1]=t=>a.value=t),type:"switch",title:e.configOption.tooltip,class:m(o.$style.configurationEntry)},{default:v(()=>[V(b(e.configOption.value),1)]),_:1},8,["modelValue","title","class"]))}}),G="_configurationEntry_1cmcq_2",H={configurationEntry:G},I={$style:H},J=S(R,[["__cssModules",I]]),T=g({__name:"AuthMechanismRsa",props:k({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue"),o=U();M(o,()=>{o.value&&(a.value.private_key="",a.value.public_key="")});async function i(){try{const{data:t}=await j.post(z("/apps/files_external/ajax/public_key.php"),{keyLength:o.value});a.value.private_key=t.data.private_key,a.value.public_key=t.data.public_key}catch(t){P.error("Error generating RSA key pair",{error:t}),w(s("files_external","Error generating key pair"))}}return(t,d)=>(r(),c("div",null,[(r(!0),c(E,null,q(e.authMechanism.configuration,(n,u)=>K((r(),p(J,{key:n.value,modelValue:a.value[u],"onUpdate:modelValue":h=>a.value[u]=h,configKey:u,configOption:n},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[N,!(n.flags&l(O).Hidden)]])),128)),f(l(C),{modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=n=>o.value=n),clearable:!1,inputLabel:l(s)("files_external","Key size"),options:[1024,2048,4096],required:""},null,8,["modelValue","inputLabel"]),f(l(A),{disabled:!o.value,wide:"",onClick:i},{default:v(()=>[V(b(l(s)("files_external","Generate keys")),1)]),_:1},8,["disabled"])]))}}),ie=Object.freeze(Object.defineProperty({__proto__:null,default:T},Symbol.toStringTag,{value:"Module"}));export{ie as A,J as C}; +//# sourceMappingURL=AuthMechanismRsa-DSpow0s2.chunk.mjs.map diff --git a/dist/AuthMechanismRsa-CYXlfht4.chunk.mjs.license b/dist/AuthMechanismRsa-DSpow0s2.chunk.mjs.license similarity index 100% rename from dist/AuthMechanismRsa-CYXlfht4.chunk.mjs.license rename to dist/AuthMechanismRsa-DSpow0s2.chunk.mjs.license diff --git a/dist/AuthMechanismRsa-CYXlfht4.chunk.mjs.map b/dist/AuthMechanismRsa-DSpow0s2.chunk.mjs.map similarity index 97% rename from dist/AuthMechanismRsa-CYXlfht4.chunk.mjs.map rename to dist/AuthMechanismRsa-DSpow0s2.chunk.mjs.map index d7f813db6d068..6e1a7f660baca 100644 --- a/dist/AuthMechanismRsa-CYXlfht4.chunk.mjs.map +++ b/dist/AuthMechanismRsa-DSpow0s2.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"AuthMechanismRsa-CYXlfht4.chunk.mjs","sources":["../build/frontend/apps/files_external/src/components/AddExternalStorageDialog/ConfigurationEntry.vue","../build/frontend/apps/files_external/src/views/AuthMechanismRsa.vue"],"sourcesContent":["\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["value","_useModel","__props","_unref","ConfigurationType","_createBlock","_resolveDynamicComponent","NcPasswordField","NcTextField","$event","ConfigurationFlag","_normalizeClass","$style","NcCheckboxRadioSwitch","_createTextVNode","_toDisplayString","modelValue","keySize","ref","watch","generateKeys","data","axios","generateUrl","error","logger","showError","t","_createElementBlock","_openBlock","_Fragment","configOption","configKey","ConfigurationEntry","_vShow","_createVNode","NcSelect","NcButton"],"mappings":"+/BAaA,MAAMA,EAAQC,EAA6BC,EAAC,YAA6B,eAWjEA,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,aAF/CC,EAQsCC,EAPhCJ,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,SAAWD,EAAAI,CAAA,EAAkBJ,EAAAK,CAAA,CAAW,EAAA,kBAE5ER,EAAA,2CAAAA,EAAK,MAAAS,GACb,KAAMP,EAAA,UACN,WAAYA,EAAA,aAAa,MAAQC,EAAAO,CAAA,EAAkB,UACnD,MAAOR,EAAA,aAAa,MACpB,MAAOA,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,yEAClCP,EAOwBF,EAAAU,CAAA,EAAA,kBALdb,EAAA,2CAAAA,EAAK,MAAAS,GACd,KAAK,SACJ,MAAOP,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,aACjC,IAAwB,CAArBE,EAAAC,EAAAb,EAAA,aAAa,KAAK,EAAA,CAAA,CAAA,6RClBvB,MAAMc,EAAaf,EAA6CC,EAAA,YAAmB,EAM7Ee,EAAUC,EAAA,EAChBC,EAAMF,EAAS,IAAM,CAChBA,EAAQ,QACXD,EAAW,MAAM,YAAc,GAC/BA,EAAW,MAAM,WAAa,GAEhC,CAAC,EAKD,eAAeI,GAAe,CAC7B,GAAI,CAEH,KAAM,CAAE,KAAAC,GAAS,MAAMC,EAAM,KAAKC,EAAY,0CAA0C,EAAG,CAC1F,UAAWN,EAAQ,KAAA,CACnB,EAEDD,EAAW,MAAM,YAAcK,EAAK,KAAK,YACzCL,EAAW,MAAM,WAAaK,EAAK,KAAK,UACzC,OAASG,EAAO,CACfC,EAAO,MAAM,gCAAiC,CAAE,MAAAD,CAAA,CAAO,EACvDE,EAAUC,EAAE,iBAAkB,2BAA2B,CAAC,CAC3D,CACD,mBAICC,EAsBM,MAAA,KAAA,EArBLC,EAAA,EAAA,EAAAD,EAMgCE,SALG5B,EAAA,cAAc,cAAa,CAAtD6B,EAAcC,WADtB3B,EAMgC4B,EAAA,CAH9B,IAAKF,EAAa,MACV,WAAAf,EAAA,MAAWgB,CAAS,EAApB,sBAAAvB,GAAAO,EAAA,MAAWgB,CAAS,EAAAvB,EAC5B,UAAAuB,EACA,aAAAD,CAAA,4EAJS,CAAAG,EAAA,EAAAH,EAAa,MAAQ5B,EAAAO,CAAA,EAAkB,OAAM,CAAA,UAMxDyB,EAKYhC,EAAAiC,CAAA,EAAA,YAJFnB,EAAA,2CAAAA,EAAO,MAAAR,GACf,UAAW,GACX,WAAYN,EAAAwB,CAAA,EAAC,iBAAA,UAAA,EACb,QAAS,CAAA,KAAA,KAAA,IAAA,EACV,SAAA,EAAA,sCAEDQ,EAKWhC,EAAAkC,CAAA,EAAA,CAJT,UAAWpB,EAAA,MACZ,KAAA,GACC,QAAOG,CAAA,aACR,IAA0C,KAAvCjB,EAAAwB,CAAA,EAAC,iBAAA,eAAA,CAAA,EAAA,CAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"AuthMechanismRsa-DSpow0s2.chunk.mjs","sources":["../build/frontend/apps/files_external/src/components/AddExternalStorageDialog/ConfigurationEntry.vue","../build/frontend/apps/files_external/src/views/AuthMechanismRsa.vue"],"sourcesContent":["\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["value","_useModel","__props","_unref","ConfigurationType","_createBlock","_resolveDynamicComponent","NcPasswordField","NcTextField","$event","ConfigurationFlag","_normalizeClass","$style","NcCheckboxRadioSwitch","_createTextVNode","_toDisplayString","modelValue","keySize","ref","watch","generateKeys","data","axios","generateUrl","error","logger","showError","t","_createElementBlock","_openBlock","_Fragment","configOption","configKey","ConfigurationEntry","_vShow","_createVNode","NcSelect","NcButton"],"mappings":"y+BAaA,MAAMA,EAAQC,EAA6BC,EAAC,YAA6B,eAWjEA,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,aAF/CC,EAQsCC,EAPhCJ,EAAA,aAAa,OAASC,EAAAC,CAAA,EAAkB,SAAWD,EAAAI,CAAA,EAAkBJ,EAAAK,CAAA,CAAW,EAAA,kBAE5ER,EAAA,2CAAAA,EAAK,MAAAS,GACb,KAAMP,EAAA,UACN,WAAYA,EAAA,aAAa,MAAQC,EAAAO,CAAA,EAAkB,UACnD,MAAOR,EAAA,aAAa,MACpB,MAAOA,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,yEAClCP,EAOwBF,EAAAU,CAAA,EAAA,kBALdb,EAAA,2CAAAA,EAAK,MAAAS,GACd,KAAK,SACJ,MAAOP,EAAA,aAAa,QACpB,MAAKS,EAAEC,EAAAA,OAAO,kBAAkB,CAAA,aACjC,IAAwB,CAArBE,EAAAC,EAAAb,EAAA,aAAa,KAAK,EAAA,CAAA,CAAA,6RClBvB,MAAMc,EAAaf,EAA6CC,EAAA,YAAmB,EAM7Ee,EAAUC,EAAA,EAChBC,EAAMF,EAAS,IAAM,CAChBA,EAAQ,QACXD,EAAW,MAAM,YAAc,GAC/BA,EAAW,MAAM,WAAa,GAEhC,CAAC,EAKD,eAAeI,GAAe,CAC7B,GAAI,CAEH,KAAM,CAAE,KAAAC,GAAS,MAAMC,EAAM,KAAKC,EAAY,0CAA0C,EAAG,CAC1F,UAAWN,EAAQ,KAAA,CACnB,EAEDD,EAAW,MAAM,YAAcK,EAAK,KAAK,YACzCL,EAAW,MAAM,WAAaK,EAAK,KAAK,UACzC,OAASG,EAAO,CACfC,EAAO,MAAM,gCAAiC,CAAE,MAAAD,CAAA,CAAO,EACvDE,EAAUC,EAAE,iBAAkB,2BAA2B,CAAC,CAC3D,CACD,mBAICC,EAsBM,MAAA,KAAA,EArBLC,EAAA,EAAA,EAAAD,EAMgCE,SALG5B,EAAA,cAAc,cAAa,CAAtD6B,EAAcC,WADtB3B,EAMgC4B,EAAA,CAH9B,IAAKF,EAAa,MACV,WAAAf,EAAA,MAAWgB,CAAS,EAApB,sBAAAvB,GAAAO,EAAA,MAAWgB,CAAS,EAAAvB,EAC5B,UAAAuB,EACA,aAAAD,CAAA,4EAJS,CAAAG,EAAA,EAAAH,EAAa,MAAQ5B,EAAAO,CAAA,EAAkB,OAAM,CAAA,UAMxDyB,EAKYhC,EAAAiC,CAAA,EAAA,YAJFnB,EAAA,2CAAAA,EAAO,MAAAR,GACf,UAAW,GACX,WAAYN,EAAAwB,CAAA,EAAC,iBAAA,UAAA,EACb,QAAS,CAAA,KAAA,KAAA,IAAA,EACV,SAAA,EAAA,sCAEDQ,EAKWhC,EAAAkC,CAAA,EAAA,CAJT,UAAWpB,EAAA,MACZ,KAAA,GACC,QAAOG,CAAA,aACR,IAA0C,KAAvCjB,EAAAwB,CAAA,EAAC,iBAAA,eAAA,CAAA,EAAA,CAAA,CAAA"} \ No newline at end of file diff --git a/dist/AuthMechanismRsa-CYXlfht4.chunk.mjs.map.license b/dist/AuthMechanismRsa-DSpow0s2.chunk.mjs.map.license similarity index 100% rename from dist/AuthMechanismRsa-CYXlfht4.chunk.mjs.map.license rename to dist/AuthMechanismRsa-DSpow0s2.chunk.mjs.map.license diff --git a/dist/ContentCopy-BgOwiUO5.chunk.mjs b/dist/ContentCopy-BgOwiUO5.chunk.mjs deleted file mode 100644 index 2a98cd318602c..0000000000000 --- a/dist/ContentCopy-BgOwiUO5.chunk.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{r as g,B as h,_ as p,b as C}from"./createElementId-By9PWUT1.chunk.mjs";import{b as _,o as l,s as a,v as o,n as y,t as s,u as d,e as b,y as n,i as H,m as u}from"./preload-helper-iNJDSB_l.chunk.mjs";import{_ as k}from"./_plugin-vue_export-helper-CqVUm19z.chunk.mjs";const A={name:"HelpCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},v=["aria-hidden","aria-label"],V=["fill","width","height"],w={key:0};function z(e,i,t,c,f,m){return l(),a("span",u(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon help-circle-icon",role:"img",onClick:i[0]||(i[0]=r=>e.$emit("click",r))}),[(l(),a("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[t.title?(l(),a("title",w,s(t.title),1)):n("",!0),i[1]||(i[1]=o("path",{d:"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z"},null,-1))],8,V))],16,v)}const M=p(A,[["render",z]]);g(h);const S={class:"settings-section"},x={class:"settings-section__name"},$=["aria-label","href","title"],I={key:0,class:"settings-section__desc"},N=_({__name:"NcSettingsSection",props:{name:{},description:{default:""},docUrl:{default:""}},setup(e){const i=C("External documentation");return(t,c)=>(l(),a("div",S,[o("h2",x,[y(s(e.name)+" ",1),e.docUrl?(l(),a("a",{key:0,"aria-label":d(i),class:"settings-section__info",href:e.docUrl,rel:"noreferrer nofollow",target:"_blank",title:d(i)},[b(M,{size:20})],8,$)):n("",!0)]),e.description?(l(),a("p",I,s(e.description),1)):n("",!0),H(t.$slots,"default",{},void 0,!0)]))}}),T=p(N,[["__scopeId","data-v-9cedb949"]]),B={name:"ContentCopyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},U=["aria-hidden","aria-label"],L=["fill","width","height"],Z={d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"},E={key:0};function j(e,i,t,c,f,m){return l(),a("span",u(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon content-copy-icon",role:"img",onClick:i[0]||(i[0]=r=>e.$emit("click",r))}),[(l(),a("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[o("path",Z,[t.title?(l(),a("title",E,s(t.title),1)):n("",!0)])],8,L))],16,U)}const F=k(B,[["render",j]]);export{F as I,T as N}; -//# sourceMappingURL=ContentCopy-BgOwiUO5.chunk.mjs.map diff --git a/dist/ContentCopy-BvdCvcHz.chunk.mjs b/dist/ContentCopy-BvdCvcHz.chunk.mjs new file mode 100644 index 0000000000000..1787911f33e21 --- /dev/null +++ b/dist/ContentCopy-BvdCvcHz.chunk.mjs @@ -0,0 +1,2 @@ +import{r as g,C as h,_ as p,b as C}from"./createElementId-CYO-dDhf.chunk.mjs";import{b as _,o as l,s as a,v as o,n as y,t as s,u as d,e as b,y as n,i as H,m as u}from"./preload-helper-CAkfU8NC.chunk.mjs";import{_ as k}from"./externalStorageUtils-KuBigrYs.chunk.mjs";const A={name:"HelpCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},v=["aria-hidden","aria-label"],V=["fill","width","height"],w={key:0};function z(e,i,t,c,f,m){return l(),a("span",u(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon help-circle-icon",role:"img",onClick:i[0]||(i[0]=r=>e.$emit("click",r))}),[(l(),a("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[t.title?(l(),a("title",w,s(t.title),1)):n("",!0),i[1]||(i[1]=o("path",{d:"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z"},null,-1))],8,V))],16,v)}const M=p(A,[["render",z]]);g(h);const S={class:"settings-section"},x={class:"settings-section__name"},$=["aria-label","href","title"],I={key:0,class:"settings-section__desc"},N=_({__name:"NcSettingsSection",props:{name:{},description:{default:""},docUrl:{default:""}},setup(e){const i=C("External documentation");return(t,c)=>(l(),a("div",S,[o("h2",x,[y(s(e.name)+" ",1),e.docUrl?(l(),a("a",{key:0,"aria-label":d(i),class:"settings-section__info",href:e.docUrl,rel:"noreferrer nofollow",target:"_blank",title:d(i)},[b(M,{size:20})],8,$)):n("",!0)]),e.description?(l(),a("p",I,s(e.description),1)):n("",!0),H(t.$slots,"default",{},void 0,!0)]))}}),T=p(N,[["__scopeId","data-v-9cedb949"]]),U={name:"ContentCopyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},B=["aria-hidden","aria-label"],L=["fill","width","height"],Z={d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"},E={key:0};function j(e,i,t,c,f,m){return l(),a("span",u(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon content-copy-icon",role:"img",onClick:i[0]||(i[0]=r=>e.$emit("click",r))}),[(l(),a("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[o("path",Z,[t.title?(l(),a("title",E,s(t.title),1)):n("",!0)])],8,L))],16,B)}const F=k(U,[["render",j]]);export{F as I,T as N}; +//# sourceMappingURL=ContentCopy-BvdCvcHz.chunk.mjs.map diff --git a/dist/ContentCopy-BgOwiUO5.chunk.mjs.license b/dist/ContentCopy-BvdCvcHz.chunk.mjs.license similarity index 100% rename from dist/ContentCopy-BgOwiUO5.chunk.mjs.license rename to dist/ContentCopy-BvdCvcHz.chunk.mjs.license diff --git a/dist/ContentCopy-BgOwiUO5.chunk.mjs.map b/dist/ContentCopy-BvdCvcHz.chunk.mjs.map similarity index 98% rename from dist/ContentCopy-BgOwiUO5.chunk.mjs.map rename to dist/ContentCopy-BvdCvcHz.chunk.mjs.map index 6bc524758c30c..3978eec44ac44 100644 --- a/dist/ContentCopy-BgOwiUO5.chunk.mjs.map +++ b/dist/ContentCopy-BvdCvcHz.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"ContentCopy-BgOwiUO5.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcSettingsSection.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue"],"sourcesContent":["import '../assets/NcSettingsSection.css';\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, defineComponent, createTextVNode, unref, createVNode, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { r as register, G as t29, a as t } from \"./_l10n.mjs\";\nconst _sfc_main$1 = {\n name: \"HelpCircleIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon help-circle-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\" }, null, -1))\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst HelpCircle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render]]);\nregister(t29);\nconst _hoisted_1 = { class: \"settings-section\" };\nconst _hoisted_2 = { class: \"settings-section__name\" };\nconst _hoisted_3 = [\"aria-label\", \"href\", \"title\"];\nconst _hoisted_4 = {\n key: 0,\n class: \"settings-section__desc\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcSettingsSection\",\n props: {\n name: {},\n description: { default: \"\" },\n docUrl: { default: \"\" }\n },\n setup(__props) {\n const ariaLabel = t(\"External documentation\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1, [\n createElementVNode(\"h2\", _hoisted_2, [\n createTextVNode(toDisplayString(__props.name) + \" \", 1),\n __props.docUrl ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n \"aria-label\": unref(ariaLabel),\n class: \"settings-section__info\",\n href: __props.docUrl,\n rel: \"noreferrer nofollow\",\n target: \"_blank\",\n title: unref(ariaLabel)\n }, [\n createVNode(HelpCircle, { size: 20 })\n ], 8, _hoisted_3)) : createCommentVNode(\"\", true)\n ]),\n __props.description ? (openBlock(), createElementBlock(\"p\", _hoisted_4, toDisplayString(__props.description), 1)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n };\n }\n});\nconst NcSettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-9cedb949\"]]);\nexport {\n NcSettingsSection as N\n};\n//# sourceMappingURL=NcSettingsSection.mjs.map\n","\n\n"],"names":["_sfc_main$1","_hoisted_1$1","_hoisted_2$1","_hoisted_3$1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","toDisplayString","createCommentVNode","createElementVNode","HelpCircle","_export_sfc","register","t29","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","defineComponent","__props","ariaLabel","t","createTextVNode","unref","createVNode","renderSlot","NcSettingsSection","_createElementBlock","_mergeProps","_createElementVNode","_openBlock"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"ContentCopy-BvdCvcHz.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcSettingsSection.mjs","../node_modules/vue-material-design-icons/ContentCopy.vue"],"sourcesContent":["import '../assets/NcSettingsSection.css';\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, defineComponent, createTextVNode, unref, createVNode, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { r as register, G as t29, a as t } from \"./_l10n.mjs\";\nconst _sfc_main$1 = {\n name: \"HelpCircleIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon help-circle-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\" }, null, -1))\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst HelpCircle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render]]);\nregister(t29);\nconst _hoisted_1 = { class: \"settings-section\" };\nconst _hoisted_2 = { class: \"settings-section__name\" };\nconst _hoisted_3 = [\"aria-label\", \"href\", \"title\"];\nconst _hoisted_4 = {\n key: 0,\n class: \"settings-section__desc\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcSettingsSection\",\n props: {\n name: {},\n description: { default: \"\" },\n docUrl: { default: \"\" }\n },\n setup(__props) {\n const ariaLabel = t(\"External documentation\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1, [\n createElementVNode(\"h2\", _hoisted_2, [\n createTextVNode(toDisplayString(__props.name) + \" \", 1),\n __props.docUrl ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n \"aria-label\": unref(ariaLabel),\n class: \"settings-section__info\",\n href: __props.docUrl,\n rel: \"noreferrer nofollow\",\n target: \"_blank\",\n title: unref(ariaLabel)\n }, [\n createVNode(HelpCircle, { size: 20 })\n ], 8, _hoisted_3)) : createCommentVNode(\"\", true)\n ]),\n __props.description ? (openBlock(), createElementBlock(\"p\", _hoisted_4, toDisplayString(__props.description), 1)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n };\n }\n});\nconst NcSettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-9cedb949\"]]);\nexport {\n NcSettingsSection as N\n};\n//# sourceMappingURL=NcSettingsSection.mjs.map\n","\n\n"],"names":["_sfc_main$1","_hoisted_1$1","_hoisted_2$1","_hoisted_3$1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","toDisplayString","createCommentVNode","createElementVNode","HelpCircle","_export_sfc","register","t29","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","defineComponent","__props","ariaLabel","t","createTextVNode","unref","createVNode","renderSlot","NcSettingsSection","_createElementBlock","_mergeProps","_createElementVNode","_openBlock"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/ContentCopy-BgOwiUO5.chunk.mjs.map.license b/dist/ContentCopy-BvdCvcHz.chunk.mjs.map.license similarity index 100% rename from dist/ContentCopy-BgOwiUO5.chunk.mjs.map.license rename to dist/ContentCopy-BvdCvcHz.chunk.mjs.map.license diff --git a/dist/CredentialsDialog-B5OO1tPA.chunk.mjs b/dist/CredentialsDialog-B5OO1tPA.chunk.mjs new file mode 100644 index 0000000000000..804233a330aff --- /dev/null +++ b/dist/CredentialsDialog-B5OO1tPA.chunk.mjs @@ -0,0 +1,2 @@ +import{t}from"./translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs";import{N as m}from"./index-ab_1C7r3.chunk.mjs";import{N as d}from"./NcNoteCard-Bc_9sn5Y.chunk.mjs";import{N as p}from"./NcPasswordField-D-swtVPG.chunk.mjs";import{_ as c}from"./NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs";import{b as g,o as f,c as h,w as x,e as s,u as e,r as n}from"./preload-helper-CAkfU8NC.chunk.mjs";import"./externalStorageUtils-KuBigrYs.chunk.mjs";import"./fileType-C3N8eFWN.chunk.mjs";import"./createElementId-CYO-dDhf.chunk.mjs";import"./PencilOutline-D_8aq9iQ.chunk.mjs";import"./TrashCanOutline-B7beOzq2.chunk.mjs";import"./index-x4yLQPPO.chunk.mjs";import"./NcInputField-ChKho6Gt.chunk.mjs";const $=g({__name:"CredentialsDialog",emits:["close"],setup(_){const o=n(""),r=n(""),u=[{label:t("files_external","Confirm"),type:"submit",variant:"primary"}];return(i,a)=>(f(),h(e(m),{buttons:u,class:"external-storage-auth",closeOnClickOutside:"","data-cy-external-storage-auth":"",isForm:"",name:e(t)("files_external","Storage credentials"),outTransition:"",onSubmit:a[2]||(a[2]=l=>i.$emit("close",{login:o.value,password:r.value})),"onUpdate:open":a[3]||(a[3]=l=>i.$emit("close"))},{default:x(()=>[s(e(d),{class:"external-storage-auth__header",text:e(t)("files_external","To access the storage, you need to provide the authentication credentials."),type:"info"},null,8,["text"]),s(e(c),{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),autofocus:"",class:"external-storage-auth__login","data-cy-external-storage-auth-dialog-login":"",label:e(t)("files_external","Login"),placeholder:e(t)("files_external","Enter the storage login"),minlength:"2",name:"login",required:""},null,8,["modelValue","label","placeholder"]),s(e(p),{modelValue:r.value,"onUpdate:modelValue":a[1]||(a[1]=l=>r.value=l),class:"external-storage-auth__password","data-cy-external-storage-auth-dialog-password":"",label:e(t)("files_external","Password"),placeholder:e(t)("files_external","Enter the storage password"),name:"password",required:""},null,8,["modelValue","label","placeholder"])]),_:1},8,["name"]))}});export{$ as default}; +//# sourceMappingURL=CredentialsDialog-B5OO1tPA.chunk.mjs.map diff --git a/dist/CredentialsDialog-QQvNqawF.chunk.mjs.license b/dist/CredentialsDialog-B5OO1tPA.chunk.mjs.license similarity index 100% rename from dist/CredentialsDialog-QQvNqawF.chunk.mjs.license rename to dist/CredentialsDialog-B5OO1tPA.chunk.mjs.license diff --git a/dist/CredentialsDialog-QQvNqawF.chunk.mjs.map b/dist/CredentialsDialog-B5OO1tPA.chunk.mjs.map similarity index 96% rename from dist/CredentialsDialog-QQvNqawF.chunk.mjs.map rename to dist/CredentialsDialog-B5OO1tPA.chunk.mjs.map index d12aa881f9f1d..b2d625cf998a0 100644 --- a/dist/CredentialsDialog-QQvNqawF.chunk.mjs.map +++ b/dist/CredentialsDialog-B5OO1tPA.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"CredentialsDialog-QQvNqawF.chunk.mjs","sources":["../build/frontend/apps/files_external/src/views/CredentialsDialog.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["login","ref","password","dialogButtons","t","_createBlock","_unref","NcDialog","_cache","$event","$emit","_createVNode","NcNoteCard","NcTextField","NcPasswordField"],"mappings":"wuBAiBA,MAAMA,EAAQC,EAAI,EAAE,EACdC,EAAWD,EAAI,EAAE,EAEjBE,EAA0D,CAAC,CAChE,MAAOC,EAAE,iBAAkB,SAAS,EACpC,KAAM,SACN,QAAS,SAAA,CACT,oBAIAC,EAqCWC,EAAAC,CAAA,EAAA,CApCT,QAASJ,EACV,MAAM,wBACN,oBAAA,GACA,gCAAA,GACA,OAAA,GACC,KAAMG,EAAAF,CAAA,EAAC,iBAAA,qBAAA,EACR,cAAA,GACC,SAAMI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEC,EAAAA,MAAK,QAAA,CAAA,MAAYV,EAAA,eAAOE,EAAA,MAAQ,GACxC,+BAAaQ,EAAAA,MAAK,OAAA,EAAA,aAEnB,IAGe,CAHfC,EAGeL,EAAAM,CAAA,EAAA,CAFd,MAAM,gCACL,KAAMN,EAAAF,CAAA,EAAC,iBAAA,4EAAA,EACR,KAAK,MAAA,mBAGNO,EASYL,EAAAO,CAAA,EAAA,YARFb,EAAA,2CAAAA,EAAK,MAAAS,GACd,UAAA,GACA,MAAM,+BACN,6CAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,OAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,yBAAA,EACf,UAAU,IACV,KAAK,QACL,SAAA,EAAA,+CAGDO,EAOYL,EAAAQ,CAAA,EAAA,YANFZ,EAAA,2CAAAA,EAAQ,MAAAO,GACjB,MAAM,kCACN,gDAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,UAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,4BAAA,EACf,KAAK,WACL,SAAA,EAAA"} \ No newline at end of file +{"version":3,"file":"CredentialsDialog-B5OO1tPA.chunk.mjs","sources":["../build/frontend/apps/files_external/src/views/CredentialsDialog.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["login","ref","password","dialogButtons","t","_createBlock","_unref","NcDialog","_cache","$event","$emit","_createVNode","NcNoteCard","NcTextField","NcPasswordField"],"mappings":"yvBAiBA,MAAMA,EAAQC,EAAI,EAAE,EACdC,EAAWD,EAAI,EAAE,EAEjBE,EAA0D,CAAC,CAChE,MAAOC,EAAE,iBAAkB,SAAS,EACpC,KAAM,SACN,QAAS,SAAA,CACT,oBAIAC,EAqCWC,EAAAC,CAAA,EAAA,CApCT,QAASJ,EACV,MAAM,wBACN,oBAAA,GACA,gCAAA,GACA,OAAA,GACC,KAAMG,EAAAF,CAAA,EAAC,iBAAA,qBAAA,EACR,cAAA,GACC,SAAMI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEC,EAAAA,MAAK,QAAA,CAAA,MAAYV,EAAA,eAAOE,EAAA,MAAQ,GACxC,+BAAaQ,EAAAA,MAAK,OAAA,EAAA,aAEnB,IAGe,CAHfC,EAGeL,EAAAM,CAAA,EAAA,CAFd,MAAM,gCACL,KAAMN,EAAAF,CAAA,EAAC,iBAAA,4EAAA,EACR,KAAK,MAAA,mBAGNO,EASYL,EAAAO,CAAA,EAAA,YARFb,EAAA,2CAAAA,EAAK,MAAAS,GACd,UAAA,GACA,MAAM,+BACN,6CAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,OAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,yBAAA,EACf,UAAU,IACV,KAAK,QACL,SAAA,EAAA,+CAGDO,EAOYL,EAAAQ,CAAA,EAAA,YANFZ,EAAA,2CAAAA,EAAQ,MAAAO,GACjB,MAAM,kCACN,gDAAA,GACC,MAAOH,EAAAF,CAAA,EAAC,iBAAA,UAAA,EACR,YAAaE,EAAAF,CAAA,EAAC,iBAAA,4BAAA,EACf,KAAK,WACL,SAAA,EAAA"} \ No newline at end of file diff --git a/dist/CredentialsDialog-QQvNqawF.chunk.mjs.map.license b/dist/CredentialsDialog-B5OO1tPA.chunk.mjs.map.license similarity index 100% rename from dist/CredentialsDialog-QQvNqawF.chunk.mjs.map.license rename to dist/CredentialsDialog-B5OO1tPA.chunk.mjs.map.license diff --git a/dist/CredentialsDialog-QQvNqawF.chunk.mjs b/dist/CredentialsDialog-QQvNqawF.chunk.mjs deleted file mode 100644 index 1d6ecaec9137a..0000000000000 --- a/dist/CredentialsDialog-QQvNqawF.chunk.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{t}from"./index-KjXgJmdp.chunk.mjs";import{N as m}from"./index-7iJBFiEp.chunk.mjs";import{N as d}from"./PencilOutline-CARgoCDi.chunk.mjs";import{N as p}from"./NcPasswordField-Cmj9L6D3.chunk.mjs";import{_ as c}from"./NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs";import{b as g,o as f,c as h,w as x,e as s,u as e,r as n}from"./preload-helper-iNJDSB_l.chunk.mjs";import"./index-C-_XCzuK.chunk.mjs";import"./_plugin-vue_export-helper-CqVUm19z.chunk.mjs";import"./createElementId-By9PWUT1.chunk.mjs";import"./logger-COz3Jv5m.chunk.mjs";import"./TrashCanOutline-BQlqik0A.chunk.mjs";import"./index-B1qtgXrj.chunk.mjs";import"./NcInputField-DF4JTB_T.chunk.mjs";const $=g({__name:"CredentialsDialog",emits:["close"],setup(_){const o=n(""),r=n(""),u=[{label:t("files_external","Confirm"),type:"submit",variant:"primary"}];return(i,a)=>(f(),h(e(m),{buttons:u,class:"external-storage-auth",closeOnClickOutside:"","data-cy-external-storage-auth":"",isForm:"",name:e(t)("files_external","Storage credentials"),outTransition:"",onSubmit:a[2]||(a[2]=l=>i.$emit("close",{login:o.value,password:r.value})),"onUpdate:open":a[3]||(a[3]=l=>i.$emit("close"))},{default:x(()=>[s(e(d),{class:"external-storage-auth__header",text:e(t)("files_external","To access the storage, you need to provide the authentication credentials."),type:"info"},null,8,["text"]),s(e(c),{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),autofocus:"",class:"external-storage-auth__login","data-cy-external-storage-auth-dialog-login":"",label:e(t)("files_external","Login"),placeholder:e(t)("files_external","Enter the storage login"),minlength:"2",name:"login",required:""},null,8,["modelValue","label","placeholder"]),s(e(p),{modelValue:r.value,"onUpdate:modelValue":a[1]||(a[1]=l=>r.value=l),class:"external-storage-auth__password","data-cy-external-storage-auth-dialog-password":"",label:e(t)("files_external","Password"),placeholder:e(t)("files_external","Enter the storage password"),name:"password",required:""},null,8,["modelValue","label","placeholder"])]),_:1},8,["name"]))}});export{$ as default}; -//# sourceMappingURL=CredentialsDialog-QQvNqawF.chunk.mjs.map diff --git a/dist/FilePicker-BuDsan9B.chunk.mjs b/dist/FilePicker-BuDsan9B.chunk.mjs deleted file mode 100644 index 482da2bce269f..0000000000000 --- a/dist/FilePicker-BuDsan9B.chunk.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{l as re,o as s,s as c,c as C,h as Fe,w,i as ne,v as f,x as U,n as Z,t as $,m as I,y as z,e as _,O as K,I as M,ad as be,a8 as A,ab as Ue,B as q,r as L,b as H,z as Pe,D as J,u as d,k as b,C as de,f as ue,g as We,J as Q,j as pe,ae as Te,E as Ze,a4 as qe,K as Oe,a0 as Se}from"./preload-helper-iNJDSB_l.chunk.mjs";import{u as je,d as Ge,s as Je,b as me,f as Ke,i as Ne,o as X,a as Qe,v as Xe}from"./index-C-_XCzuK.chunk.mjs";import{a as he,v as Ye,N as et}from"./index-7iJBFiEp.chunk.mjs";import{N as we}from"./Plus-B0tctY1r.chunk.mjs";import{_ as x,A as h,B as j,e as ve,C as tt,D as it,E as at,F as lt,G as rt,H as nt,I as ke,x as st,c as ot}from"./index-nihFjC9p.chunk.mjs";import{v as ct,I as dt,d as se,s as ut}from"./index-BWpu0Fty.chunk.mjs";import{N as O}from"./logger-COz3Jv5m.chunk.mjs";import{N as xe}from"./NcCheckboxRadioSwitch-DpgS6NvR.chunk.mjs";import{g as pt,i as ft,j as ge,k as mt,r as ye,l as Ve,f as ht,_ as vt}from"./dav-CKRPc6_m.chunk.mjs";import{S as _e}from"./ShareType-suoNfd7y.chunk.mjs";import{_ as ee,c as gt,N as De}from"./createElementId-By9PWUT1.chunk.mjs";import{F as G,P as Ce}from"./externalStorageUtils-Dl6sWuvr.chunk.mjs";import"./index-KjXgJmdp.chunk.mjs";import{P as yt,a as bt}from"./NcBreadcrumbs-DWRNRArn.chunk.mjs";import{c as Ie}from"./index-B1qtgXrj.chunk.mjs";import{l as Me}from"./_plugin-vue_export-helper-CqVUm19z.chunk.mjs";import{N as Le}from"./NcActionButton-aznRvsUR.chunk.mjs";import{N as $e,a as ze}from"./NcActionRouter-BgwM-vxv.chunk.mjs";import{N as wt}from"./NcSelect-CFz5VNSy.chunk.mjs";import{_ as kt}from"./NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs";import"./TrashCanOutline-BQlqik0A.chunk.mjs";import"./PencilOutline-CARgoCDi.chunk.mjs";import"./NcInputField-DF4JTB_T.chunk.mjs";import"./NcPasswordField-Cmj9L6D3.chunk.mjs";const _t={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ct=["aria-hidden","aria-label"],Lt=["fill","width","height"],$t={key:0};function zt(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon chevron-right-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(s(),c("title",$t,$(e.title),1)):z("",!0),i[1]||(i[1]=f("path",{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"},null,-1))],8,Lt))],16,Ct)}const Bt=ee(_t,[["render",zt]]),Ft={name:"NcBreadcrumb",components:{NcActions:he,ChevronRight:Bt,NcButton:O},inheritAttrs:!1,props:{name:{type:String,required:!0},title:{type:String,default:null},to:{type:[String,Object],default:void 0},href:{type:String,default:void 0},icon:{type:String,default:""},forceIconText:{type:Boolean,default:!1},disableDrop:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},open:{type:Boolean,default:!1},class:{type:[String,Array,Object],default:""}},emits:["dragenter","dragleave","dropped","update:open"],setup(){const t=gt();return{actionsContainer:`.vue-crumb[data-crumb-id="${t}"]`,crumbId:t}},data(){return{hovering:!1}},computed:{linkAttributes(){return this.to?{to:this.to,...this.$attrs}:this.href?{href:this.href,...this.$attrs}:this.$attrs}},methods:{onOpenChange(t){this.$emit("update:open",t)},dropped(t){return this.disableDrop||(this.$emit("dropped",t,this.to||this.href),this.$parent.$emit("dropped",t,this.to||this.href),this.hovering=!1),!1},dragEnter(t){this.$emit("dragenter",t),!this.disableDrop&&(this.hovering=!0)},dragLeave(t){this.$emit("dragleave",t),!this.disableDrop&&(t.target.contains(t.relatedTarget)||this.$refs.crumb.contains(t.relatedTarget)||(this.hovering=!1))}}},Pt=["data-crumb-id"];function St(t,i,e,a,l,r){const n=re("NcButton"),u=re("NcActions"),p=re("ChevronRight");return s(),c("li",{ref:"crumb",class:U(["vue-crumb",[{"vue-crumb--hovered":l.hovering},t.$props.class]]),"data-crumb-id":a.crumbId,draggable:"false",onDragstart:K(()=>{},["prevent"]),onDrop:i[0]||(i[0]=K((...o)=>r.dropped&&r.dropped(...o),["prevent"])),onDragover:K(()=>{},["prevent"]),onDragenter:i[1]||(i[1]=(...o)=>r.dragEnter&&r.dragEnter(...o)),onDragleave:i[2]||(i[2]=(...o)=>r.dragLeave&&r.dragLeave(...o))},[(e.name||e.icon||t.$slots.icon)&&!t.$slots.default?(s(),C(n,I({key:0,"aria-label":e.icon?e.name:void 0,variant:"tertiary"},r.linkAttributes),Fe({_:2},[t.$slots.icon||e.icon?{name:"icon",fn:w(()=>[ne(t.$slots,"icon",{},()=>[f("span",{class:U([e.icon,"icon"])},null,2)],!0)]),key:"0"}:void 0,!(t.$slots.icon||e.icon)||e.forceIconText?{name:"default",fn:w(()=>[Z($(e.name),1)]),key:"1"}:void 0]),1040,["aria-label"])):z("",!0),t.$slots.default?(s(),C(u,{key:1,ref:"actions",container:a.actionsContainer,forceMenu:e.forceMenu,forceName:"",menuName:e.name,open:e.open,title:e.title,variant:"tertiary","onUpdate:open":r.onOpenChange},{icon:w(()=>[ne(t.$slots,"menu-icon",{},void 0,!0)]),default:w(()=>[ne(t.$slots,"default",{},void 0,!0)]),_:3},8,["container","forceMenu","menuName","open","title","onUpdate:open"])):z("",!0),_(p,{class:"vue-crumb__separator",size:20})],42,Pt)}const Y=ee(Ft,[["render",St],["__scopeId","data-v-7cec4a3e"]]),Nt={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xt=["aria-hidden","aria-label"],Vt=["fill","width","height"],Dt={key:0};function It(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(s(),c("title",Dt,$(e.title),1)):z("",!0),i[1]||(i[1]=f("path",{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},null,-1))],8,Vt))],16,xt)}const Be=ee(Nt,[["render",It]]),N="vue-crumb",Mt={name:"NcBreadcrumbs",components:{NcActions:he,NcActionButton:Le,NcActionRouter:ze,NcActionLink:$e,NcBreadcrumb:Y,IconFolder:Be},props:{rootIcon:{type:String,default:"icon-home"},ariaLabel:{type:String,default:null}},emits:["dropped"],data(){return{hiddenIndices:[],menuBreadcrumbProps:{name:"",forceMenu:!0,disableDrop:!0,open:!1},breadcrumbsRefs:[]}},created(){window.addEventListener("resize",Ge(()=>{this.handleWindowResize()},100)),Je("navigation-toggled",this.delayedResize)},mounted(){this.handleWindowResize()},updated(){this.delayedResize(),this.$nextTick(()=>{this.hideCrumbs()})},beforeUnmount(){window.removeEventListener("resize",this.handleWindowResize),je("navigation-toggled",this.delayedResize)},methods:{closeActions(t){this.$refs.actionsBreadcrumb.$el.contains(t.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},async delayedResize(){await this.$nextTick(),this.handleWindowResize()},handleWindowResize(){if(!this.$refs.container)return;const t=this.breadcrumbsRefs.length,i=[],e=this.$refs.container.offsetWidth;let a=this.getTotalWidth();this.$refs.breadcrumb__actions&&(a+=this.$refs.breadcrumb__actions.offsetWidth);let l=a-e;l+=l>0?64:0;let r=0;const n=Math.floor(t/2);for(;l>0&&ru-p))||(this.hiddenIndices=i)},arraysEqual(t,i){if(t.length!==i.length)return!1;if(t===i)return!0;if(t===null||i===null)return!1;for(let e=0;et+this.getWidth(i.$el,e===this.breadcrumbsRefs.length-1),0)},getWidth(t,i){if(!t?.classList)return 0;const e=t.classList.contains(`${N}--hidden`);t.style.minWidth="auto",i&&(t.style.maxWidth="210px"),t.classList.remove(`${N}--hidden`);const a=t.offsetWidth;return e&&t.classList.add(`${N}--hidden`),t.style.minWidth="",t.style.maxWidth="",a},preventDefault(t){return t.preventDefault&&t.preventDefault(),!1},dragStart(t){return this.preventDefault(t)},dropped(t,i,e){e||this.$emit("dropped",t,i),this.menuBreadcrumbProps.open=!1;const a=document.querySelectorAll(`.${N}`);for(const l of a)l.classList.remove(`${N}--hovered`);return this.preventDefault(t)},dragOver(t){return this.preventDefault(t)},dragEnter(t,i){if(!i&&t.target.closest){const e=t.target.closest(`.${N}`);if(e.classList&&e.classList.contains(N)){const a=document.querySelectorAll(`.${N}`);for(const l of a)l.classList.remove(`${N}--hovered`);e.classList.add(`${N}--hovered`)}}},dragLeave(t,i){if(!i&&!t.target.contains(t.relatedTarget)&&t.target.closest){const e=t.target.closest(`.${N}`);if(e.contains(t.relatedTarget))return;e.classList&&e.classList.contains(N)&&e.classList.remove(`${N}--hovered`)}},hideCrumbs(){this.breadcrumbsRefs.forEach((t,i)=>{t?.$el?.classList&&(this.hiddenIndices.includes(i)?t.$el.classList.add(`${N}--hidden`):t.$el.classList.remove(`${N}--hidden`))})},isBreadcrumb(t){return t?.type?.name==="NcBreadcrumb"}},render(){let t=[];if(this.$slots.default?.().forEach(l=>{if(this.isBreadcrumb(l)){t.push(l);return}l?.type===M&&l?.children?.forEach?.(r=>{this.isBreadcrumb(r)&&t.push(r)})}),t.length===0)return;t[0]=be(t[0],{icon:this.rootIcon,ref:"breadcrumbs"});const i=[];t=t.map((l,r)=>be(l,{ref:n=>{i[r]=n}}));const e=[...t];this.hiddenIndices.length&&e.splice(Math.round(t.length/2),0,A(Y,{class:"dropdown",...this.menuBreadcrumbProps,"aria-hidden":!0,ref:"actionsBreadcrumb",key:"actions-breadcrumb-1",onDragenter:()=>{this.menuBreadcrumbProps.open=!0},onDragleave:this.closeActions,"onUpdate:open":l=>{this.menuBreadcrumbProps.open=l}},{default:()=>this.hiddenIndices.filter(l=>l<=t.length-1).map(l=>{const r=t[l],{to:n,href:u,disableDrop:p,name:o,...g}=r.props;delete g.ref;let y=Le,v="";u&&(y=$e,v=u),n&&(y=ze,v=n);const B=A(Be,{size:20});return A(y,{...g,class:N,href:u||null,to:n||null,draggable:!1,onDragstart:this.dragStart,onDrop:V=>this.dropped(V,v,p),onDragover:this.dragOver,onDragenter:V=>this.dragEnter(V,p),onDragleave:V=>this.dragLeave(V,p)},{default:()=>o,icon:()=>B})})}));const a=[A("nav",{"aria-label":this.ariaLabel},[A("ul",{class:"breadcrumb__crumbs"},[e])])];return Ye(this.$slots.actions?.())&&a.push(A("div",{class:"breadcrumb__actions",ref:"breadcrumb__actions"},this.$slots.actions?.())),this.breadcrumbsRefs=i,A("div",{class:["breadcrumb",{"breadcrumb--collapsed":this.hiddenIndices.length===t.length-2}],ref:"container"},a)}},Rt=ee(Mt,[["__scopeId","data-v-5a4d73af"]]),At=new yt({concurrency:5});function Ht(t){const{resolve:i,promise:e}=Promise.withResolvers();return At.add(()=>{const a=new Image;return a.onerror=()=>i(!1),a.onload=()=>i(!0),a.src=t,e}),e}function Et(t,i={}){i={size:32,cropPreview:!1,mimeFallback:!0,...i};try{const e=t.attributes?.previewUrl||me("/core/preview?fileId={fileid}",{fileid:t.fileid});let a;try{a=new URL(e)}catch{a=new URL(e,window.location.origin)}return a.searchParams.set("x",`${i.size}`),a.searchParams.set("y",`${i.size}`),a.searchParams.set("mimeFallback",`${i.mimeFallback}`),a.searchParams.set("a",i.cropPreview===!0?"0":"1"),a.searchParams.set("c",`${t.attributes.etag}`),a}catch{return null}}function Ut(t,i){const e=L(null),a=L(!1);return Ue(()=>{a.value=!1,e.value=Et(q(t),q(i||{})),e.value&&q(t).type===G.File&&Ht(e.value.href).then(l=>{a.value=l})}),{previewURL:e,previewLoaded:a}}const Wt={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Tt=["aria-hidden","aria-label"],Zt=["fill","width","height"],qt={d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"},Ot={key:0};function jt(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon file-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",qt,[e.title?(s(),c("title",Ot,$(e.title),1)):z("",!0)])],8,Zt))],16,Tt)}const fe=x(Wt,[["render",jt]]),Gt={name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jt=["aria-hidden","aria-label"],Kt=["fill","width","height"],Qt={d:"M7,10L12,15L17,10H7Z"},Xt={key:0};function Yt(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-down-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Qt,[e.title?(s(),c("title",Xt,$(e.title),1)):z("",!0)])],8,Kt))],16,Jt)}const oe=x(Gt,[["render",Yt]]),ei={name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ti=["aria-hidden","aria-label"],ii=["fill","width","height"],ai={d:"M7,15L12,10L17,15H7Z"},li={key:0};function ri(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-up-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ai,[e.title?(s(),c("title",li,$(e.title),1)):z("",!0)])],8,ii))],16,ti)}const ce=x(ei,[["render",ri]]),ni={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},si=["aria-hidden","aria-label"],oi=["fill","width","height"],ci={d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},di={key:0};function ui(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ci,[e.title?(s(),c("title",di,$(e.title),1)):z("",!0)])],8,oi))],16,si)}const Re=x(ni,[["render",ui]]),Ae={"file-picker__file-icon":"_file-picker__file-icon_1aykw_9","file-picker__file-icon--primary":"_file-picker__file-icon--primary_1aykw_22","file-picker__file-icon-overlay":"_file-picker__file-icon-overlay_1aykw_26"},pi=H({__name:"FilePreview",props:{node:{},cropImagePreviews:{type:Boolean}},setup(t){const i=t,e=L(Ae),{previewURL:a,previewLoaded:l}=Ut(Se(i,"node"),b(()=>({cropPreview:i.cropImagePreviews}))),r=b(()=>i.node.type===G.File),n=b(()=>{if(i.node.type!==G.Folder)return null;if(i.node.attributes?.["is-encrypted"]===1)return lt;if(i.node.attributes?.["is-tag"])return rt;const u=Object.values(i.node.attributes?.["share-types"]||{}).flat();if(u.some(p=>p===_e.Link||p===_e.Email))return nt;if(u.length>0)return ke;switch(i.node.attributes?.["mount-type"]){case"external":case"external-session":return ot;case"group":return st;case"shared":return ke}return null});return(u,p)=>(s(),c("div",{style:Oe(d(l)?{backgroundImage:`url(${d(a)})`}:void 0),class:U(e.value["file-picker__file-icon"])},[d(l)?z("",!0):(s(),c(M,{key:0},[r.value?(s(),C(fe,{key:0,size:32})):(s(),c(M,{key:1},[n.value?(s(),C(d(De),{key:0,class:U(e.value["file-picker__file-icon-overlay"]),inline:"",path:n.value,size:16},null,8,["class","path"])):z("",!0),_(Re,{class:U(e.value["file-picker__file-icon--primary"]),size:32},null,8,["class"])],64))],64))],6))}}),fi=["tabindex","aria-selected","data-filename"],mi={class:"row-name"},hi={class:"file-picker__name-container","data-testid":"row-name"},vi=["title","textContent"],gi=["textContent"],yi={class:"row-size"},bi={class:"row-modified"},wi=H({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:{},cropImagePreviews:{type:Boolean}},emits:["update:selected","enterDirectory"],setup(t,{emit:i}){const e=t,a=i,l=b(()=>e.node.mtime??0),r=b(()=>Xe(e.node.displayname)),n=b(()=>e.node.displayname.slice(0,r.value?-r.value.length:void 0)),u=b(()=>e.node.type===G.Folder),p=b(()=>e.canPick&&(e.allowPickDirectory||!u.value)),o=b(()=>(e.node.permissions&Ce.READ)===Ce.READ);function g(){p.value&&a("update:selected",!e.selected)}function y(){u.value?o.value&&a("enterDirectory",e.node):g()}function v(B){B.key==="Enter"&&y()}return(B,V)=>(s(),c("tr",I({tabindex:t.showCheckbox&&!u.value?void 0:0,"aria-selected":p.value?t.selected:void 0,class:["file-picker__row",[{"file-picker__row--selected":t.selected&&!t.showCheckbox,"file-picker__row--not-navigatable":u.value&&!o.value,"file-picker__row--not-pickable":!p.value}]],"data-filename":t.node.basename,"data-testid":"file-list-row"},qe({click:y,...!t.showCheckbox||u.value?{keydown:v}:{}},!0)),[t.showCheckbox?(s(),c("td",{key:0,class:"row-checkbox",onClick:K(()=>{},["stop"])},[_(d(xe),{"aria-label":d(h)("Select the row for {nodename}",{nodename:n.value}),disabled:!p.value,"data-testid":"row-checkbox",modelValue:t.selected,"onUpdate:modelValue":g},null,8,["aria-label","disabled","modelValue"])])):z("",!0),f("td",mi,[f("div",hi,[_(pi,{node:t.node,cropImagePreviews:t.cropImagePreviews},null,8,["node","cropImagePreviews"]),f("div",{class:"file-picker__file-name",title:n.value,textContent:$(n.value)},null,8,vi),f("div",{class:"file-picker__file-extension",textContent:$(r.value)},null,8,gi)])]),f("td",yi,$(d(ht)(t.node.size||0)),1),f("td",bi,[_(d(vt),{timestamp:l.value,ignoreSeconds:""},null,8,["timestamp"])])],16,fi))}}),ki=x(wi,[["__scopeId","data-v-7857e8bd"]]),_i={"aria-hidden":"true",class:"file-picker__row loading-row"},Ci={key:0,class:"row-checkbox"},Li={class:"row-name"},$i={class:"row-wrapper"},zi=H({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return(i,e)=>(s(),c("tr",_i,[t.showCheckbox?(s(),c("td",Ci,[...e[0]||(e[0]=[f("span",null,null,-1)])])):z("",!0),f("td",Li,[f("div",$i,[f("span",{class:U(d(Ae)["file-picker__file-icon"])},null,2),e[1]||(e[1]=f("span",null,null,-1))])]),e[2]||(e[2]=f("td",{class:"row-size"},[f("span")],-1)),e[3]||(e[3]=f("td",{class:"row-modified"},[f("span")],-1))]))}}),Bi=x(zi,[["__scopeId","data-v-1f96131b"]]);function He(){const t=Me("files","config",null),i=L(t?.show_hidden??!0),e=L(t?.sort_favorites_first??!0),a=L(t?.crop_image_previews??!0);return J(async()=>{if(Ne())j.debug("Skip loading files settings - currently on public share");else try{const{data:l}=await Ie.get(me("/apps/files/api/v1/configs"));i.value=l?.data?.show_hidden??!1,e.value=l?.data?.sort_favorites_first??!0,a.value=l?.data?.crop_image_previews??!0}catch(l){j.error("Could not load files settings",{error:l}),ve(h("Could not load files settings"))}}),{showHiddenFiles:i,sortFavoritesFirst:e,cropImagePreviews:a}}function Fi(t){const i=o=>o==="asc"?"ascending":o==="desc"?"descending":"none",e=Me("files","viewConfigs",null),a=L({sortBy:e?.files?.sorting_mode??"basename",order:i(e?.files?.sorting_direction??"asc")}),l=L({sortBy:e?.recent?.sorting_mode??"basename",order:i(e?.recent?.sorting_direction??"asc")}),r=L({sortBy:e?.favorites?.sorting_mode??"basename",order:i(e?.favorites?.sorting_direction??"asc")});J(async()=>{if(Ne())j.debug("Skip loading files views - currently on public share");else try{const{data:o}=await Ie.get(me("/apps/files/api/v1/views"));a.value={sortBy:o?.data?.files?.sorting_mode??"basename",order:i(o?.data?.files?.sorting_direction)},r.value={sortBy:o?.data?.favorites?.sorting_mode??"basename",order:i(o?.data?.favorites?.sorting_direction)},l.value={sortBy:o?.data?.recent?.sorting_mode??"basename",order:i(o?.data?.recent?.sorting_direction)}}catch(o){j.error("Could not load files views",{error:o}),ve(h("Could not load files views"))}});const n=b(()=>q(t||"files")==="files"?a.value:q(t)==="recent"?l.value:r.value),u=b(()=>n.value.sortBy),p=b(()=>n.value.order);return{filesViewConfig:a,favoritesViewConfig:r,recentViewConfig:l,currentConfig:n,sortBy:u,order:p}}const Pi={key:0,class:"row-checkbox"},Si={class:"hidden-visually"},Ni=["aria-sort"],xi={class:"header-wrapper"},Vi={key:2,style:{width:"44px"}},Di=["aria-sort"],Ii={key:2,style:{width:"44px"}},Mi=["aria-sort"],Ri={key:2,style:{width:"44px"}},Ai=H({__name:"FileList",props:pe({currentView:{},multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:{},canPick:{type:Function}},{path:{required:!0},pathModifiers:{},selectedFiles:{required:!0},selectedFilesModifiers:{}}),emits:["update:path","update:selectedFiles"],setup(t){const i=ue(t,"path"),e=ue(t,"selectedFiles"),a=t,l=L(),{currentConfig:r}=Fi(a.currentView),n=b(()=>l.value??r.value),u=b(()=>n.value.sortBy==="basename"?n.value.order==="none"?void 0:n.value.order:void 0),p=b(()=>n.value.sortBy==="size"?n.value.order==="none"?void 0:n.value.order:void 0),o=b(()=>n.value.sortBy==="mtime"?n.value.order==="none"?void 0:n.value.order:void 0);function g(F){n.value.sortBy===F?n.value.order==="ascending"?l.value={sortBy:n.value.sortBy,order:"descending"}:l.value={sortBy:n.value.sortBy,order:"ascending"}:l.value={sortBy:F,order:"ascending"}}const{sortFavoritesFirst:y,cropImagePreviews:v}=He(),B=b(()=>ut(a.files,{sortFoldersFirst:!0,sortFavoritesFirst:y.value,sortingOrder:n.value.order==="descending"?"desc":"asc",sortingMode:n.value.sortBy})),V=b(()=>a.files.filter(F=>a.allowPickDirectory||F.type!==G.Folder)),te=b(()=>!a.loading&&e.value.length>0&&e.value.length>=V.value.length);function W(){e.value.lengthP.path!==F.path):a.multiselect?e.value=[...e.value,F]:e.value=[F]}function ae(F){i.value=F.path}const T=L(4),E=L();{const F=()=>Ze(()=>{const P=E.value?.parentElement?.children||[];let S=E.value?.parentElement?.clientHeight||450;for(let R=0;R{window.addEventListener("resize",F),F()}),Te(()=>{window.removeEventListener("resize",F)})}return(F,P)=>(s(),c("div",{ref_key:"fileContainer",ref:E,class:"file-picker__files"},[f("table",null,[f("thead",null,[f("tr",null,[t.multiselect?(s(),c("th",Pi,[f("span",Si,$(d(h)("Select entry")),1),t.multiselect?(s(),C(d(xe),{key:0,"aria-label":d(h)("Select all entries"),"data-testid":"select-all-checkbox",modelValue:te.value,"onUpdate:modelValue":W},null,8,["aria-label","modelValue"])):z("",!0)])):z("",!0),f("th",{"aria-sort":u.value,class:"row-name"},[f("div",xi,[P[3]||(P[3]=f("span",{class:"file-picker__header-preview"},null,-1)),_(d(O),{"data-test":"file-picker_sort-name",variant:"tertiary",wide:"",onClick:P[0]||(P[0]=S=>g("basename"))},{icon:w(()=>[u.value==="ascending"?(s(),C(ce,{key:0,size:20})):u.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Vi))]),default:w(()=>[Z(" "+$(d(h)("Name")),1)]),_:1})])],8,Ni),f("th",{"aria-sort":p.value,class:"row-size"},[_(d(O),{variant:"tertiary",wide:"",onClick:P[1]||(P[1]=S=>g("size"))},{icon:w(()=>[p.value==="ascending"?(s(),C(ce,{key:0,size:20})):p.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Ii))]),default:w(()=>[Z(" "+$(d(h)("Size")),1)]),_:1})],8,Di),f("th",{"aria-sort":o.value,class:"row-modified"},[_(d(O),{variant:"tertiary",wide:"",onClick:P[2]||(P[2]=S=>g("mtime"))},{icon:w(()=>[o.value==="ascending"?(s(),C(ce,{key:0,size:20})):o.value==="descending"?(s(),C(oe,{key:1,size:20})):(s(),c("span",Ri))]),default:w(()=>[Z(" "+$(d(h)("Modified")),1)]),_:1})],8,Mi)])]),f("tbody",null,[t.loading?(s(!0),c(M,{key:0},Q(T.value,S=>(s(),C(Bi,{key:S,showCheckbox:t.multiselect},null,8,["showCheckbox"]))),128)):(s(!0),c(M,{key:1},Q(B.value,S=>(s(),C(ki,{key:S.fileid||S.path,allowPickDirectory:t.allowPickDirectory,showCheckbox:t.multiselect,canPick:(t.multiselect||e.value.length===0||e.value.includes(S))&&(t.canPick===void 0||t.canPick(S)),selected:e.value.includes(S),node:S,cropImagePreviews:d(v),"onUpdate:selected":R=>ie(S),onEnterDirectory:ae},null,8,["allowPickDirectory","showCheckbox","canPick","selected","node","cropImagePreviews","onUpdate:selected"]))),128))])])],512))}}),Hi=x(Ai,[["__scopeId","data-v-412efd5c"]]),Ei={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ui=["aria-hidden","aria-label"],Wi=["fill","width","height"],Ti={d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"},Zi={key:0};function qi(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon home-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Ti,[e.title?(s(),c("title",Zi,$(e.title),1)):z("",!0)])],8,Wi))],16,Ui)}const Oi=x(Ei,[["render",qi]]),ji={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Gi=["aria-hidden","aria-label"],Ji=["fill","width","height"],Ki={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},Qi={key:0};function Xi(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon plus-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Ki,[e.title?(s(),c("title",Qi,$(e.title),1)):z("",!0)])],8,Ji))],16,Gi)}const Yi=x(ji,[["render",Xi]]),ea=H({__name:"FilePickerBreadcrumbs",props:pe({showMenu:{type:Boolean}},{path:{required:!0},pathModifiers:{}}),emits:pe(["createNode"],["update:path"]),setup(t,{emit:i}){const e=ue(t,"path"),a=i,l=L(!1),r=L(""),n=We("nameInput");function u(){const g=r.value.trim(),y=n.value?.$el?.querySelector("input");let v="";try{ct(g)}catch(B){if(!(B instanceof dt))throw B;switch(B.reason){case se.Character:v=h('"{char}" is not allowed inside a folder name.',{char:B.segment});break;case se.ReservedName:v=h('"{segment}" is a reserved name and not allowed for folder names.',{segment:B.segment});break;case se.Extension:v=h('Folder names must not end with "{extension}".',{extension:B.segment});break;default:v=h("Invalid folder name.")}}return y&&y.setCustomValidity(v),v===""}function p(){const g=r.value.trim();u()&&(l.value=!1,a("createNode",g),r.value="")}const o=b(()=>e.value.split("/").filter(g=>g!=="").map((g,y,v)=>({name:g,path:"/"+v.slice(0,y+1).join("/")})));return(g,y)=>(s(),C(d(Rt),{class:"file-picker__breadcrumbs"},Fe({default:w(()=>[_(d(Y),{name:d(h)("All files"),title:d(h)("Home"),onClick:y[0]||(y[0]=v=>e.value="/")},{icon:w(()=>[_(Oi,{size:20})]),_:1},8,["name","title"]),(s(!0),c(M,null,Q(o.value,v=>(s(),C(d(Y),{key:v.path,name:v.name,title:v.path,onClick:B=>e.value=v.path},null,8,["name","title","onClick"]))),128))]),_:2},[t.showMenu?{name:"actions",fn:w(()=>[_(d(he),{open:l.value,"onUpdate:open":y[2]||(y[2]=v=>l.value=v),"aria-label":d(h)("Create directory"),forceMenu:!0,forceName:!0,menuName:d(h)("New"),variant:"secondary",onClose:y[3]||(y[3]=v=>r.value="")},{icon:w(()=>[_(Yi,{size:20})]),default:w(()=>[_(d(bt),{ref_key:"nameInput",ref:n,modelValue:r.value,"onUpdate:modelValue":[y[1]||(y[1]=v=>r.value=v),u],label:d(h)("New folder"),placeholder:d(h)("New folder name"),onSubmit:p},{icon:w(()=>[_(Re,{size:20})]),_:1},8,["modelValue","label","placeholder"])]),_:1},8,["open","aria-label","menuName"])]),key:"0"}:void 0]),1024))}}),ta=x(ea,[["__scopeId","data-v-b448b141"]]),ia={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},aa=["aria-hidden","aria-label"],la=["fill","width","height"],ra={d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"},na={key:0};function sa(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon close-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ra,[e.title?(s(),c("title",na,$(e.title),1)):z("",!0)])],8,la))],16,aa)}const oa=x(ia,[["render",sa]]),ca={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},da=["aria-hidden","aria-label"],ua=["fill","width","height"],pa={d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"},fa={key:0};function ma(t,i,e,a,l,r){return s(),c("span",I(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon magnify-icon",role:"img",onClick:i[0]||(i[0]=n=>t.$emit("click",n))}),[(s(),c("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",pa,[e.title?(s(),c("title",fa,$(e.title),1)):z("",!0)])],8,ua))],16,da)}const ha=x(ca,[["render",ma]]);function va(t){const i=[{id:"files",label:h("All files"),icon:tt},{id:"recent",label:h("Recent"),icon:it},{id:"favorites",label:h("Favorites"),icon:at}],e=t.value?i.filter(({id:a})=>a==="files"):i;return{allViews:i,availableViews:e}}const ga={key:0,class:"file-picker__side"},ya=H({__name:"FilePickerNavigation",props:{currentView:{},filterString:{},isCollapsed:{type:Boolean},disabledNavigation:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:i}){const e=t,a=i,{availableViews:l}=va(L(Qe()===null)),r=b(()=>l.filter(u=>u.id===e.currentView)[0]??l[0]),n=u=>a("update:filterString",u.toString());return(u,p)=>(s(),c(M,null,[_(d(kt),{class:"file-picker__filter-input",label:d(h)("Filter file list"),showTrailingButton:!!t.filterString,modelValue:t.filterString,"onUpdate:modelValue":n,onTrailingButtonClick:p[0]||(p[0]=o=>n(""))},{"trailing-button-icon":w(()=>[_(oa,{size:16})]),default:w(()=>[_(ha,{size:16})]),_:1},8,["label","showTrailingButton","modelValue"]),d(l).length>1&&!t.disabledNavigation?(s(),c(M,{key:0},[t.isCollapsed?(s(),C(d(wt),{key:1,"aria-label":d(h)("Current view selector"),clearable:!1,searchable:!1,options:d(l),modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=o=>a("update:currentView",o.id))},null,8,["aria-label","options","modelValue"])):(s(),c("ul",ga,[(s(!0),c(M,null,Q(d(l),o=>(s(),c("li",{key:o.id},[_(d(O),{variant:t.currentView===o.id?"primary":"tertiary",wide:!0,onClick:g=>u.$emit("update:currentView",o.id)},{icon:w(()=>[_(d(De),{path:o.icon,size:20},null,8,["path"])]),default:w(()=>[Z(" "+$(o.label),1)]),_:2},1032,["variant","onClick"])]))),128))]))],64)):z("",!0)],64))}}),ba=x(ya,[["__scopeId","data-v-e1c54e23"]]);async function wa({client:t,signal:i}){const e=Math.round(Date.now()/1e3)-1209600,{data:a}=await t.search("/",{signal:i,details:!0,data:mt(e)});return a.results.map(l=>ye(l))}async function ka({client:t,path:i,signal:e}){const a=(await t.getDirectoryContents(X(ge,i),{signal:e,details:!0,includeSelf:!0,data:Ve()})).data.map(l=>ye(l));return{contents:a.filter(({path:l})=>l!==i),folder:a.find(({path:l})=>i===l)}}async function _a(t,i){const{data:e}=await t.stat(X(ge,i),{details:!0,data:Ve()});return ye(e)}function Ca(t,i){const e=pt(),a=de([]),l=de(null),r=L(!0);let n;async function u(o){const g=X(i.value,o);await e.createDirectory(X(ge,g));const y=await _a(e,g);return a.value=[...a.value,y],y}async function p(){n&&(n.abort(),n=void 0),n=new AbortController,r.value=!0;try{if(t.value==="favorites")a.value=await ft({client:e,path:i.value,signal:n.signal}),l.value=null;else if(t.value==="recent")a.value=await wa({client:e,signal:n.signal}),l.value=null;else{const o=await ka({client:e,path:i.value,signal:n.signal});l.value=o.folder,a.value=o.contents}}catch(o){if(o instanceof Error&&o.name==="AbortError")return;throw o}finally{n=void 0,r.value=!1}}return Pe([t,i],()=>p()),J(()=>p()),{isLoading:r,files:a,folder:l,loadFiles:p,createDirectory:u}}function La(t){const i=b(()=>t.value.map(e=>e.split("/")));return{isSupportedMimeType:e=>{const a=e.split("/");return i.value.some(([l,r])=>(a[0]===l||l==="*")&&(a[1]===r||r==="*"))}}}const $a={class:"file-picker__main"},za={key:1,class:"file-picker__view"},Ba=H({__name:"FilePicker",props:{buttons:{},name:{},allowPickDirectory:{type:Boolean,default:!1},noMenu:{type:Boolean,default:!1},disabledNavigation:{type:Boolean,default:!1},filterFn:{type:Function,default:void 0},canPickFn:{type:Function,default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!1},path:{default:void 0}},emits:["close"],setup(t,{emit:i}){const e=t,a=i,l=L(!0),r=L("files"),n=L(window?.sessionStorage.getItem("NC.FilePicker.LastPath")||"/"),u=L(""),p=b({get:()=>r.value==="files"?u.value||e.path||n.value:"/",set:k=>{u.value=k}}),o=de([]),g=L(""),{files:y,folder:v,isLoading:B,loadFiles:V,createDirectory:te}=Ca(r,p);Pe([u],()=>{e.path===void 0&&u.value&&window.sessionStorage.setItem("NC.FilePicker.LastPath",u.value),o.value=[],g.value=""});let W=!1;const ie=b(()=>{const k=o.value.length===0&&e.allowPickDirectory&&v.value&&(!e.canPickFn||e.canPickFn(v.value))?[v.value]:o.value;return(typeof e.buttons=="function"?e.buttons(k,p.value,r.value):e.buttons).map(m=>({...m,disabled:m.disabled||B.value,callback:()=>{W=!0,ae(m.callback,k)}}))});async function ae(k,m){await k(m),a("close",m),W=!1}const T=b(()=>r.value==="favorites"?h("Favorites"):r.value==="recent"?h("Recent"):""),{isSupportedMimeType:E}=La(Se(e,"mimetypeFilter"));J(()=>V());const{showHiddenFiles:F}=He(),P=b(()=>{let k=y.value;return F.value||(k=k.filter(m=>!m.basename.startsWith("."))),e.mimetypeFilter.length>0&&(k=k.filter(m=>m.type==="folder"||m.mime&&E(m.mime))),g.value&&(k=k.filter(m=>m.basename.toLowerCase().includes(g.value.toLowerCase()))),e.filterFn&&(k=k.filter(m=>e.filterFn(m))),k}),S=b(()=>r.value==="files"?h("Upload some content or sync with your devices!"):r.value==="recent"?h("Files and folders you recently modified will show up here."):h("Files and folders you mark as favorite will show up here."));async function R(k){try{const m=await te(k);u.value=m.path,Ke("files:node:created",y.value.filter(D=>D.basename===k)[0])}catch(m){j.warn("Could not create new folder",{name:k,error:m}),ve(h("Could not create the new folder"))}}function Ee(k){!k&&!W&&a("close")}return(k,m)=>(s(),C(d(et),{open:l.value,"onUpdate:open":[m[6]||(m[6]=D=>l.value=D),Ee],buttons:ie.value,name:t.name,size:"large",contentClasses:"file-picker__content",dialogClasses:"file-picker",navigationClasses:"file-picker__navigation"},{navigation:w(({isCollapsed:D})=>[_(ba,{currentView:r.value,"onUpdate:currentView":m[0]||(m[0]=le=>r.value=le),filterString:g.value,"onUpdate:filterString":m[1]||(m[1]=le=>g.value=le),isCollapsed:D,disabledNavigation:t.disabledNavigation},null,8,["currentView","filterString","isCollapsed","disabledNavigation"])]),default:w(()=>[f("div",$a,[r.value==="files"?(s(),C(ta,{key:0,path:p.value,"onUpdate:path":m[2]||(m[2]=D=>p.value=D),showMenu:!t.noMenu,onCreateNode:R},null,8,["path","showMenu"])):(s(),c("div",za,[f("h3",null,$(T.value),1)])),d(B)||P.value.length>0?(s(),C(Hi,{key:2,path:p.value,"onUpdate:path":[m[3]||(m[3]=D=>p.value=D),m[5]||(m[5]=D=>r.value="files")],selectedFiles:o.value,"onUpdate:selectedFiles":m[4]||(m[4]=D=>o.value=D),allowPickDirectory:t.allowPickDirectory,currentView:r.value,files:P.value,multiselect:t.multiselect,loading:d(B),name:T.value,canPick:t.canPickFn},null,8,["path","selectedFiles","allowPickDirectory","currentView","files","multiselect","loading","name","canPick"])):g.value?(s(),C(d(we),{key:3,name:d(h)("No matching files"),description:d(h)("No files matching your filter were found.")},{icon:w(()=>[_(fe)]),_:1},8,["name","description"])):(s(),C(d(we),{key:4,name:d(h)("No files in here"),description:S.value},{icon:w(()=>[_(fe)]),_:1},8,["name","description"]))])]),_:1},8,["open","buttons","name"]))}}),Xa=x(Ba,[["__scopeId","data-v-39182aaf"]]);export{Xa as default}; -//# sourceMappingURL=FilePicker-BuDsan9B.chunk.mjs.map diff --git a/dist/FilePicker-BuDsan9B.chunk.mjs.map b/dist/FilePicker-BuDsan9B.chunk.mjs.map deleted file mode 100644 index a09ece66531e5..0000000000000 --- a/dist/FilePicker-BuDsan9B.chunk.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FilePicker-BuDsan9B.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/preview.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/FilePicker.mjs"],"sourcesContent":["import '../assets/NcBreadcrumb.css';\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, resolveComponent, withModifiers, normalizeClass, createBlock, createSlots, withCtx, renderSlot, createTextVNode, createVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { N as NcActions } from \"./NcActions.mjs\";\nconst _sfc_main$1 = {\n name: \"ChevronRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" }, null, -1))\n ], 8, _hoisted_2))\n ], 16, _hoisted_1$1);\n}\nconst ChevronRight = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1]]);\nconst _sfc_main = {\n name: \"NcBreadcrumb\",\n components: {\n NcActions,\n ChevronRight,\n NcButton\n },\n inheritAttrs: false,\n props: {\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * Route Location the link should navigate to when clicked on.\n *\n * @see https://v3.router.vuejs.org/api/#to\n */\n to: {\n type: [String, Object],\n default: void 0\n },\n /**\n * Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.\n */\n href: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.\n */\n forceIconText: {\n type: Boolean,\n default: false\n },\n /**\n * Disable dropping on this breadcrumb.\n */\n disableDrop: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Open state of the Actions menu\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * CSS class to apply to the root element.\n */\n class: {\n type: [String, Array, Object],\n default: \"\"\n }\n },\n emits: [\n \"dragenter\",\n \"dragleave\",\n \"dropped\",\n \"update:open\"\n ],\n setup() {\n const crumbId = createElementId();\n return {\n actionsContainer: `.vue-crumb[data-crumb-id=\"${crumbId}\"]`,\n crumbId\n };\n },\n data() {\n return {\n /**\n * Variable to track if we hover over the breadcrumb\n */\n hovering: false\n };\n },\n computed: {\n /**\n * The attributes to pass to `router-link` or `a`\n */\n linkAttributes() {\n if (this.to) {\n return { to: this.to, ...this.$attrs };\n } else if (this.href) {\n return { href: this.href, ...this.$attrs };\n }\n return this.$attrs;\n }\n },\n methods: {\n /**\n * Function to handle changing the open state of the Actions menu\n * $emit the open state.\n *\n * @param {boolean} open The open state of the Actions menu\n */\n onOpenChange(open) {\n this.$emit(\"update:open\", open);\n },\n /**\n * Function to handle a drop on the breadcrumb.\n * $emit the event and the path, remove the hovering state.\n *\n * @param {object} e The drop event\n * @return {boolean}\n */\n dropped(e) {\n if (this.disableDrop) {\n return false;\n }\n this.$emit(\"dropped\", e, this.to || this.href);\n this.$parent.$emit(\"dropped\", e, this.to || this.href);\n this.hovering = false;\n return false;\n },\n /**\n * Add the hovering state on drag enter\n *\n * @param {DragEvent} e The drag-enter event\n */\n dragEnter(e) {\n this.$emit(\"dragenter\", e);\n if (this.disableDrop) {\n return;\n }\n this.hovering = true;\n },\n /**\n * Remove the hovering state on drag leave\n *\n * @param {DragEvent} e The drag leave event\n */\n dragLeave(e) {\n this.$emit(\"dragleave\", e);\n if (this.disableDrop) {\n return;\n }\n if (e.target.contains(e.relatedTarget) || this.$refs.crumb.contains(e.relatedTarget)) {\n return;\n }\n this.hovering = false;\n }\n }\n};\nconst _hoisted_1 = [\"data-crumb-id\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_ChevronRight = resolveComponent(\"ChevronRight\");\n return openBlock(), createElementBlock(\"li\", {\n ref: \"crumb\",\n class: normalizeClass([\"vue-crumb\", [{ \"vue-crumb--hovered\": $data.hovering }, _ctx.$props.class]]),\n \"data-crumb-id\": $setup.crumbId,\n draggable: \"false\",\n onDragstart: withModifiers(() => {\n }, [\"prevent\"]),\n onDrop: _cache[0] || (_cache[0] = withModifiers((...args) => $options.dropped && $options.dropped(...args), [\"prevent\"])),\n onDragover: withModifiers(() => {\n }, [\"prevent\"]),\n onDragenter: _cache[1] || (_cache[1] = (...args) => $options.dragEnter && $options.dragEnter(...args)),\n onDragleave: _cache[2] || (_cache[2] = (...args) => $options.dragLeave && $options.dragLeave(...args))\n }, [\n ($props.name || $props.icon || _ctx.$slots.icon) && !_ctx.$slots.default ? (openBlock(), createBlock(_component_NcButton, mergeProps({\n key: 0,\n \"aria-label\": $props.icon ? $props.name : void 0,\n variant: \"tertiary\"\n }, $options.linkAttributes), createSlots({ _: 2 }, [\n _ctx.$slots.icon || $props.icon ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n class: normalizeClass([$props.icon, \"icon\"])\n }, null, 2)\n ], true)\n ]),\n key: \"0\"\n } : void 0,\n !(_ctx.$slots.icon || $props.icon) || $props.forceIconText ? {\n name: \"default\",\n fn: withCtx(() => [\n createTextVNode(toDisplayString($props.name), 1)\n ]),\n key: \"1\"\n } : void 0\n ]), 1040, [\"aria-label\"])) : createCommentVNode(\"\", true),\n _ctx.$slots.default ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n container: $setup.actionsContainer,\n forceMenu: $props.forceMenu,\n forceName: \"\",\n menuName: $props.name,\n open: $props.open,\n title: $props.title,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onOpenChange\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"container\", \"forceMenu\", \"menuName\", \"open\", \"title\", \"onUpdate:open\"])) : createCommentVNode(\"\", true),\n createVNode(_component_ChevronRight, {\n class: \"vue-crumb__separator\",\n size: 20\n })\n ], 42, _hoisted_1);\n}\nconst NcBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-7cec4a3e\"]]);\nexport {\n NcBreadcrumb as N\n};\n//# sourceMappingURL=NcBreadcrumb.mjs.map\n","import '../assets/NcBreadcrumbs.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, Fragment, cloneVNode, h } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcActions, i as isSlotPopulated } from \"./NcActions.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb.mjs\";\nconst _sfc_main$1 = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" }, null, -1))\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render]]);\nconst crumbClass = \"vue-crumb\";\nconst _sfc_main = {\n name: \"NcBreadcrumbs\",\n components: {\n NcActions,\n NcActionButton,\n NcActionRouter,\n NcActionLink,\n NcBreadcrumb,\n IconFolder\n },\n props: {\n /**\n * Set a css icon-class for the icon of the root breadcrumb to be used.\n */\n rootIcon: {\n type: String,\n default: \"icon-home\"\n },\n /**\n * Set the aria-label of the nav element.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n emits: [\"dropped\"],\n data() {\n return {\n /**\n * Array to track the hidden breadcrumbs by their index.\n * Comparing two crumbs somehow does not work, so we use the indices.\n */\n hiddenIndices: [],\n /**\n * This is the props of the middle Action menu\n * that show the ellipsised breadcrumbs\n */\n menuBreadcrumbProps: {\n // Don't show a name for this breadcrumb, only the Actions menu\n name: \"\",\n forceMenu: true,\n // Don't allow dropping directly on the actions breadcrumb\n disableDrop: true,\n // Is the menu open or not\n open: false\n },\n breadcrumbsRefs: []\n };\n },\n created() {\n window.addEventListener(\"resize\", debounce(() => {\n this.handleWindowResize();\n }, 100));\n subscribe(\"navigation-toggled\", this.delayedResize);\n },\n mounted() {\n this.handleWindowResize();\n },\n updated() {\n this.delayedResize();\n this.$nextTick(() => {\n this.hideCrumbs();\n });\n },\n beforeUnmount() {\n window.removeEventListener(\"resize\", this.handleWindowResize);\n unsubscribe(\"navigation-toggled\", this.delayedResize);\n },\n methods: {\n /**\n * Close the actions menu\n *\n * @param {object} e The event\n */\n closeActions(e) {\n if (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n return;\n }\n this.menuBreadcrumbProps.open = false;\n },\n /**\n * Call the resize function after a delay\n */\n async delayedResize() {\n await this.$nextTick();\n this.handleWindowResize();\n },\n /**\n * Check the width of the breadcrumb and hide breadcrumbs\n * if we overflow otherwise.\n */\n handleWindowResize() {\n if (!this.$refs.container) {\n return;\n }\n const nrCrumbs = this.breadcrumbsRefs.length;\n const hiddenIndices = [];\n const availableWidth = this.$refs.container.offsetWidth;\n let totalWidth = this.getTotalWidth();\n if (this.$refs.breadcrumb__actions) {\n totalWidth += this.$refs.breadcrumb__actions.offsetWidth;\n }\n let overflow = totalWidth - availableWidth;\n overflow += overflow > 0 ? 64 : 0;\n let i = 0;\n const startIndex = Math.floor(nrCrumbs / 2);\n while (overflow > 0 && i < nrCrumbs - 2) {\n const currentIndex = startIndex + (i % 2 ? i + 1 : i) / 2 * Math.pow(-1, i + nrCrumbs % 2);\n overflow -= this.getWidth(this.breadcrumbsRefs[currentIndex]?.$el, currentIndex === this.breadcrumbsRefs.length - 1);\n hiddenIndices.push(currentIndex);\n i++;\n }\n if (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort((a, b) => a - b))) {\n this.hiddenIndices = hiddenIndices;\n }\n },\n /**\n * Checks if two arrays are equal.\n * Only works for primitive arrays, but that's enough here.\n *\n * @param {Array} a The first array\n * @param {Array} b The second array\n * @return {boolean} Wether the arrays are equal\n */\n arraysEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n } else if (a === b) {\n return true;\n } else if (a === null || b === null) {\n return false;\n }\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n },\n /**\n * Calculates the total width of all breadcrumbs\n *\n * @return {number} The total width\n */\n getTotalWidth() {\n return this.breadcrumbsRefs.reduce((width, crumb, index) => width + this.getWidth(crumb.$el, index === this.breadcrumbsRefs.length - 1), 0);\n },\n /**\n * Calculates the width of the provided element\n *\n * @param {object} el The element\n * @param {boolean} isLast Is this the last crumb\n * @return {number} The width\n */\n getWidth(el, isLast) {\n if (!el?.classList) {\n return 0;\n }\n const hide = el.classList.contains(`${crumbClass}--hidden`);\n el.style.minWidth = \"auto\";\n if (isLast) {\n el.style.maxWidth = \"210px\";\n }\n el.classList.remove(`${crumbClass}--hidden`);\n const w = el.offsetWidth;\n if (hide) {\n el.classList.add(`${crumbClass}--hidden`);\n }\n el.style.minWidth = \"\";\n el.style.maxWidth = \"\";\n return w;\n },\n /**\n * Prevents the default of a provided event\n *\n * @param {object} e The event\n * @return {boolean}\n */\n preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n },\n /**\n * Handles the drag start.\n * Prevents a breadcrumb from being draggable.\n *\n * @param {object} e The event\n * @return {boolean}\n */\n dragStart(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles when something is dropped on the breadcrumb.\n *\n * @param {object} e The drop event\n * @param {string} path The path of the breadcrumb\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n * @return {boolean}\n */\n dropped(e, path, disabled) {\n if (!disabled) {\n this.$emit(\"dropped\", e, path);\n }\n this.menuBreadcrumbProps.open = false;\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n return this.preventDefault(e);\n },\n /**\n * Handles the drag over event\n *\n * @param {object} e The drag over event\n * @return {boolean}\n */\n dragOver(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles the drag enter event\n *\n * @param {object} e The drag over event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragEnter(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.classList && target.classList.contains(crumbClass)) {\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n target.classList.add(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Handles the drag leave event\n *\n * @param {object} e The drag leave event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragLeave(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.contains(e.relatedTarget)) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.contains(e.relatedTarget)) {\n return;\n }\n if (target.classList && target.classList.contains(crumbClass)) {\n target.classList.remove(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Check for each crumb if we have to hide it and\n * add it to the array of all crumbs.\n */\n hideCrumbs() {\n this.breadcrumbsRefs.forEach((crumb, i) => {\n if (crumb?.$el?.classList) {\n if (this.hiddenIndices.includes(i)) {\n crumb.$el.classList.add(`${crumbClass}--hidden`);\n } else {\n crumb.$el.classList.remove(`${crumbClass}--hidden`);\n }\n }\n });\n },\n isBreadcrumb(vnode) {\n return vnode?.type?.name === \"NcBreadcrumb\";\n }\n },\n /**\n * The render function to display the component\n *\n * @return {object|undefined} The created VNode\n */\n render() {\n let breadcrumbs = [];\n this.$slots.default?.().forEach((vnode) => {\n if (this.isBreadcrumb(vnode)) {\n breadcrumbs.push(vnode);\n return;\n }\n if (vnode?.type === Fragment) {\n vnode?.children?.forEach?.((child) => {\n if (this.isBreadcrumb(child)) {\n breadcrumbs.push(child);\n }\n });\n }\n });\n if (breadcrumbs.length === 0) {\n return;\n }\n breadcrumbs[0] = cloneVNode(breadcrumbs[0], {\n icon: this.rootIcon,\n ref: \"breadcrumbs\"\n });\n const breadcrumbsRefs = [];\n breadcrumbs = breadcrumbs.map((crumb, index) => cloneVNode(crumb, {\n ref: (crumb2) => {\n breadcrumbsRefs[index] = crumb2;\n }\n }));\n const crumbs = [...breadcrumbs];\n if (this.hiddenIndices.length) {\n crumbs.splice(\n Math.round(breadcrumbs.length / 2),\n 0,\n // The Actions menu\n // Use a breadcrumb component for the hidden breadcrumbs\n h(NcBreadcrumb, {\n class: \"dropdown\",\n ...this.menuBreadcrumbProps,\n // Hide the dropdown menu from screen-readers,\n // since the crumbs in the menu are still in the list.\n \"aria-hidden\": true,\n // Add a ref to the Actions menu\n ref: \"actionsBreadcrumb\",\n key: \"actions-breadcrumb-1\",\n // Add handlers so the Actions menu opens on hover\n onDragenter: () => {\n this.menuBreadcrumbProps.open = true;\n },\n onDragleave: this.closeActions,\n // Make sure we keep the same open state\n // as the Actions component\n \"onUpdate:open\": (open) => {\n this.menuBreadcrumbProps.open = open;\n }\n // Add all hidden breadcrumbs as ActionRouter or ActionLink\n }, {\n default: () => this.hiddenIndices.filter((index) => index <= breadcrumbs.length - 1).map((index) => {\n const crumb = breadcrumbs[index];\n const {\n // Get the parameters from the breadcrumb component props\n to,\n href,\n disableDrop,\n name,\n // Props to forward\n ...propsToForward\n } = crumb.props;\n delete propsToForward.ref;\n let element = NcActionButton;\n let path = \"\";\n if (href) {\n element = NcActionLink;\n path = href;\n }\n if (to) {\n element = NcActionRouter;\n path = to;\n }\n const folderIcon = h(IconFolder, {\n size: 20\n });\n return h(element, {\n ...propsToForward,\n class: crumbClass,\n href: href || null,\n to: to || null,\n // Prevent the breadcrumbs from being draggable\n draggable: false,\n // Add the drag and drop handlers\n onDragstart: this.dragStart,\n onDrop: ($event) => this.dropped($event, path, disableDrop),\n onDragover: this.dragOver,\n onDragenter: ($event) => this.dragEnter($event, disableDrop),\n onDragleave: ($event) => this.dragLeave($event, disableDrop)\n }, {\n default: () => name,\n icon: () => folderIcon\n });\n })\n })\n );\n }\n const wrapper = [h(\"nav\", { \"aria-label\": this.ariaLabel }, [h(\"ul\", { class: \"breadcrumb__crumbs\" }, [crumbs])])];\n if (isSlotPopulated(this.$slots.actions?.())) {\n wrapper.push(h(\"div\", { class: \"breadcrumb__actions\", ref: \"breadcrumb__actions\" }, this.$slots.actions?.()));\n }\n this.breadcrumbsRefs = breadcrumbsRefs;\n return h(\"div\", { class: [\"breadcrumb\", { \"breadcrumb--collapsed\": this.hiddenIndices.length === breadcrumbs.length - 2 }], ref: \"container\" }, wrapper);\n }\n};\nconst NcBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-5a4d73af\"]]);\nexport {\n NcBreadcrumbs as N\n};\n//# sourceMappingURL=NcBreadcrumbs.mjs.map\n","import { FileType } from \"@nextcloud/files\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { ref, watchEffect, toValue } from \"vue\";\nimport PQueue from \"p-queue\";\nconst queue = new PQueue({ concurrency: 5 });\nfunction preloadImage(url) {\n const { resolve, promise } = Promise.withResolvers();\n queue.add(() => {\n const image = new Image();\n image.onerror = () => resolve(false);\n image.onload = () => resolve(true);\n image.src = url;\n return promise;\n });\n return promise;\n}\nfunction getPreviewURL(node, options = {}) {\n options = { size: 32, cropPreview: false, mimeFallback: true, ...options };\n try {\n const previewUrl = node.attributes?.previewUrl || generateUrl(\"/core/preview?fileId={fileid}\", {\n fileid: node.fileid\n });\n let url;\n try {\n url = new URL(previewUrl);\n } catch {\n url = new URL(previewUrl, window.location.origin);\n }\n url.searchParams.set(\"x\", `${options.size}`);\n url.searchParams.set(\"y\", `${options.size}`);\n url.searchParams.set(\"mimeFallback\", `${options.mimeFallback}`);\n url.searchParams.set(\"a\", options.cropPreview === true ? \"0\" : \"1\");\n url.searchParams.set(\"c\", `${node.attributes.etag}`);\n return url;\n } catch {\n return null;\n }\n}\nfunction usePreviewURL(node, options) {\n const previewURL = ref(null);\n const previewLoaded = ref(false);\n watchEffect(() => {\n previewLoaded.value = false;\n previewURL.value = getPreviewURL(toValue(node), toValue(options || {}));\n if (previewURL.value && toValue(node).type === FileType.File) {\n preloadImage(previewURL.value.href).then((success) => {\n previewLoaded.value = success;\n });\n }\n });\n return {\n previewURL,\n previewLoaded\n };\n}\nexport {\n getPreviewURL as g,\n usePreviewURL as u\n};\n//# sourceMappingURL=preview.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, defineComponent, ref, computed, toRef, normalizeClass, normalizeStyle, unref, Fragment, createBlock, createVNode, toHandlers, withModifiers, onMounted, toValue, useModel, onUnmounted, withCtx, createTextVNode, renderList, mergeModels, nextTick, useTemplateRef, createSlots, shallowRef, watch } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcEmptyContent from \"@nextcloud/vue/components/NcEmptyContent\";\nimport { _ as _export_sfc, t, l as logger, s as showError } from \"./index.mjs\";\nimport { FileType, Permission, formatFileSize, sortNodes, validateFilename, InvalidFilenameError, InvalidFilenameErrorReason } from \"@nextcloud/files\";\nimport NcButton from \"@nextcloud/vue/components/NcButton\";\nimport NcCheckboxRadioSwitch from \"@nextcloud/vue/components/NcCheckboxRadioSwitch\";\nimport { extname, join } from \"@nextcloud/paths\";\nimport NcDateTime from \"@nextcloud/vue/components/NcDateTime\";\nimport { mdiKey, mdiTagOutline, mdiLink, mdiAccountPlus, mdiAccountGroupOutline, mdiNetworkOutline, mdiFolder, mdiClock, mdiStar } from \"@mdi/js\";\nimport { ShareType } from \"@nextcloud/sharing\";\nimport NcIconSvgWrapper from \"@nextcloud/vue/components/NcIconSvgWrapper\";\nimport { u as usePreviewURL } from \"./preview.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { isPublicShare } from \"@nextcloud/sharing/public\";\nimport NcActionInput from \"@nextcloud/vue/components/NcActionInput\";\nimport NcActions from \"@nextcloud/vue/components/NcActions\";\nimport NcBreadcrumb from \"@nextcloud/vue/components/NcBreadcrumb\";\nimport NcBreadcrumbs from \"@nextcloud/vue/components/NcBreadcrumbs\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport NcSelect from \"@nextcloud/vue/components/NcSelect\";\nimport NcTextField from \"@nextcloud/vue/components/NcTextField\";\nimport { getRecentSearch, resultToNode, defaultRootPath, getDefaultPropfind, getClient, getFavoriteNodes } from \"@nextcloud/files/dav\";\nconst _sfc_main$e = {\n name: \"FileIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$c = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$b = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$a = { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" };\nconst _hoisted_4$a = { key: 0 };\nfunction _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon file-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$a, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$a, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$b))\n ], 16, _hoisted_1$c);\n}\nconst IconFile = /* @__PURE__ */ _export_sfc(_sfc_main$e, [[\"render\", _sfc_render$7]]);\nconst _sfc_main$d = {\n name: \"MenuDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$b = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$a = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$9 = { d: \"M7,10L12,15L17,10H7Z\" };\nconst _hoisted_4$9 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$9, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$9, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$a))\n ], 16, _hoisted_1$b);\n}\nconst IconSortDescending = /* @__PURE__ */ _export_sfc(_sfc_main$d, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$c = {\n name: \"MenuUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$a = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$9 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$8 = { d: \"M7,15L12,10L17,15H7Z\" };\nconst _hoisted_4$8 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$8, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$8, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$9))\n ], 16, _hoisted_1$a);\n}\nconst IconSortAscending = /* @__PURE__ */ _export_sfc(_sfc_main$c, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$b = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$9 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$8 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$7 = { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" };\nconst _hoisted_4$7 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$7, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$7, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$8))\n ], 16, _hoisted_1$9);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$b, [[\"render\", _sfc_render$4]]);\nconst fileListIconStyles = {\n \"file-picker__file-icon\": \"_file-picker__file-icon_1aykw_9\",\n \"file-picker__file-icon--primary\": \"_file-picker__file-icon--primary_1aykw_22\",\n \"file-picker__file-icon-overlay\": \"_file-picker__file-icon-overlay_1aykw_26\"\n};\nconst _sfc_main$a = /* @__PURE__ */ defineComponent({\n __name: \"FilePreview\",\n props: {\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const fileListIconStyles$1 = ref(fileListIconStyles);\n const {\n previewURL,\n previewLoaded\n } = usePreviewURL(toRef(props, \"node\"), computed(() => ({ cropPreview: props.cropImagePreviews })));\n const isFile = computed(() => props.node.type === FileType.File);\n const folderDecorationIcon = computed(() => {\n if (props.node.type !== FileType.Folder) {\n return null;\n }\n if (props.node.attributes?.[\"is-encrypted\"] === 1) {\n return mdiKey;\n }\n if (props.node.attributes?.[\"is-tag\"]) {\n return mdiTagOutline;\n }\n const shareTypes = Object.values(props.node.attributes?.[\"share-types\"] || {}).flat();\n if (shareTypes.some((type) => type === ShareType.Link || type === ShareType.Email)) {\n return mdiLink;\n }\n if (shareTypes.length > 0) {\n return mdiAccountPlus;\n }\n switch (props.node.attributes?.[\"mount-type\"]) {\n case \"external\":\n case \"external-session\":\n return mdiNetworkOutline;\n case \"group\":\n return mdiAccountGroupOutline;\n case \"shared\":\n return mdiAccountPlus;\n }\n return null;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n style: normalizeStyle(unref(previewLoaded) ? { backgroundImage: `url(${unref(previewURL)})` } : void 0),\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon\"])\n }, [\n !unref(previewLoaded) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n isFile.value ? (openBlock(), createBlock(IconFile, {\n key: 0,\n size: 32\n })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n folderDecorationIcon.value ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 0,\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon-overlay\"]),\n inline: \"\",\n path: folderDecorationIcon.value,\n size: 16\n }, null, 8, [\"class\", \"path\"])) : createCommentVNode(\"\", true),\n createVNode(IconFolder, {\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon--primary\"]),\n size: 32\n }, null, 8, [\"class\"])\n ], 64))\n ], 64)) : createCommentVNode(\"\", true)\n ], 6);\n };\n }\n});\nconst _hoisted_1$8 = [\"tabindex\", \"aria-selected\", \"data-filename\"];\nconst _hoisted_2$7 = { class: \"row-name\" };\nconst _hoisted_3$6 = {\n class: \"file-picker__name-container\",\n \"data-testid\": \"row-name\"\n};\nconst _hoisted_4$6 = [\"title\", \"textContent\"];\nconst _hoisted_5$1 = [\"textContent\"];\nconst _hoisted_6$1 = { class: \"row-size\" };\nconst _hoisted_7$1 = { class: \"row-modified\" };\nconst _sfc_main$9 = /* @__PURE__ */ defineComponent({\n __name: \"FileListRow\",\n props: {\n allowPickDirectory: { type: Boolean },\n selected: { type: Boolean },\n showCheckbox: { type: Boolean },\n canPick: { type: Boolean },\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n emits: [\"update:selected\", \"enterDirectory\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const timestamp = computed(() => props.node.mtime ?? 0);\n const fileExtension = computed(() => extname(props.node.displayname));\n const displayName = computed(() => props.node.displayname.slice(0, fileExtension.value ? -fileExtension.value.length : void 0));\n const isDirectory = computed(() => props.node.type === FileType.Folder);\n const isPickable = computed(() => props.canPick && (props.allowPickDirectory || !isDirectory.value));\n const isNavigatable = computed(() => (props.node.permissions & Permission.READ) === Permission.READ);\n function toggleSelected() {\n if (!isPickable.value) {\n return;\n }\n emit2(\"update:selected\", !props.selected);\n }\n function handleClick() {\n if (isDirectory.value) {\n if (isNavigatable.value) {\n emit2(\"enterDirectory\", props.node);\n }\n } else {\n toggleSelected();\n }\n }\n function handleKeyDown(event) {\n if (event.key === \"Enter\") {\n handleClick();\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", mergeProps({\n tabindex: __props.showCheckbox && !isDirectory.value ? void 0 : 0,\n \"aria-selected\": !isPickable.value ? void 0 : __props.selected,\n class: [\"file-picker__row\", [\n {\n \"file-picker__row--selected\": __props.selected && !__props.showCheckbox,\n \"file-picker__row--not-navigatable\": isDirectory.value && !isNavigatable.value,\n \"file-picker__row--not-pickable\": !isPickable.value\n }\n ]],\n \"data-filename\": __props.node.basename,\n \"data-testid\": \"file-list-row\"\n }, toHandlers({\n click: handleClick,\n /* same as tabindex -> if we hide the checkbox or this is a directory we need keyboard access to enter the directory or select the node */\n ...!__props.showCheckbox || isDirectory.value ? { keydown: handleKeyDown } : {}\n }, true)), [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", {\n key: 0,\n class: \"row-checkbox\",\n onClick: withModifiers(() => {\n }, [\"stop\"])\n }, [\n createVNode(unref(NcCheckboxRadioSwitch), {\n \"aria-label\": unref(t)(\"Select the row for {nodename}\", { nodename: displayName.value }),\n disabled: !isPickable.value,\n \"data-testid\": \"row-checkbox\",\n modelValue: __props.selected,\n \"onUpdate:modelValue\": toggleSelected\n }, null, 8, [\"aria-label\", \"disabled\", \"modelValue\"])\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_2$7, [\n createElementVNode(\"div\", _hoisted_3$6, [\n createVNode(_sfc_main$a, {\n node: __props.node,\n cropImagePreviews: __props.cropImagePreviews\n }, null, 8, [\"node\", \"cropImagePreviews\"]),\n createElementVNode(\"div\", {\n class: \"file-picker__file-name\",\n title: displayName.value,\n textContent: toDisplayString(displayName.value)\n }, null, 8, _hoisted_4$6),\n createElementVNode(\"div\", {\n class: \"file-picker__file-extension\",\n textContent: toDisplayString(fileExtension.value)\n }, null, 8, _hoisted_5$1)\n ])\n ]),\n createElementVNode(\"td\", _hoisted_6$1, toDisplayString(unref(formatFileSize)(__props.node.size || 0)), 1),\n createElementVNode(\"td\", _hoisted_7$1, [\n createVNode(unref(NcDateTime), {\n timestamp: timestamp.value,\n ignoreSeconds: \"\"\n }, null, 8, [\"timestamp\"])\n ])\n ], 16, _hoisted_1$8);\n };\n }\n});\nconst FileListRow = /* @__PURE__ */ _export_sfc(_sfc_main$9, [[\"__scopeId\", \"data-v-7857e8bd\"]]);\nconst _hoisted_1$7 = {\n \"aria-hidden\": \"true\",\n class: \"file-picker__row loading-row\"\n};\nconst _hoisted_2$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_3$5 = { class: \"row-name\" };\nconst _hoisted_4$5 = { class: \"row-wrapper\" };\nconst _sfc_main$8 = /* @__PURE__ */ defineComponent({\n __name: \"LoadingTableRow\",\n props: {\n showCheckbox: { type: Boolean }\n },\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", _hoisted_1$7, [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", _hoisted_2$6, [..._cache[0] || (_cache[0] = [\n createElementVNode(\"span\", null, null, -1)\n ])])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_3$5, [\n createElementVNode(\"div\", _hoisted_4$5, [\n createElementVNode(\"span\", {\n class: normalizeClass(unref(fileListIconStyles)[\"file-picker__file-icon\"])\n }, null, 2),\n _cache[1] || (_cache[1] = createElementVNode(\"span\", null, null, -1))\n ])\n ]),\n _cache[2] || (_cache[2] = createElementVNode(\"td\", { class: \"row-size\" }, [\n createElementVNode(\"span\")\n ], -1)),\n _cache[3] || (_cache[3] = createElementVNode(\"td\", { class: \"row-modified\" }, [\n createElementVNode(\"span\")\n ], -1))\n ]);\n };\n }\n});\nconst LoadingTableRow = /* @__PURE__ */ _export_sfc(_sfc_main$8, [[\"__scopeId\", \"data-v-1f96131b\"]]);\nfunction useFilesSettings() {\n const filesUserState = loadState(\"files\", \"config\", null);\n const showHiddenFiles = ref(filesUserState?.show_hidden ?? true);\n const sortFavoritesFirst = ref(filesUserState?.sort_favorites_first ?? true);\n const cropImagePreviews = ref(filesUserState?.crop_image_previews ?? true);\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/configs\"));\n showHiddenFiles.value = data?.data?.show_hidden ?? false;\n sortFavoritesFirst.value = data?.data?.sort_favorites_first ?? true;\n cropImagePreviews.value = data?.data?.crop_image_previews ?? true;\n } catch (error) {\n logger.error(\"Could not load files settings\", { error });\n showError(t(\"Could not load files settings\"));\n }\n } else {\n logger.debug(\"Skip loading files settings - currently on public share\");\n }\n });\n return {\n showHiddenFiles,\n sortFavoritesFirst,\n cropImagePreviews\n };\n}\nfunction useFilesViews(currentView) {\n const convertOrder = (order2) => order2 === \"asc\" ? \"ascending\" : order2 === \"desc\" ? \"descending\" : \"none\";\n const filesViewsState = loadState(\"files\", \"viewConfigs\", null);\n const filesViewConfig = ref({\n sortBy: filesViewsState?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.files?.sorting_direction ?? \"asc\")\n });\n const recentViewConfig = ref({\n sortBy: filesViewsState?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.recent?.sorting_direction ?? \"asc\")\n });\n const favoritesViewConfig = ref({\n sortBy: filesViewsState?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.favorites?.sorting_direction ?? \"asc\")\n });\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/views\"));\n filesViewConfig.value = {\n sortBy: data?.data?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.files?.sorting_direction)\n };\n favoritesViewConfig.value = {\n sortBy: data?.data?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.favorites?.sorting_direction)\n };\n recentViewConfig.value = {\n sortBy: data?.data?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.recent?.sorting_direction)\n };\n } catch (error) {\n logger.error(\"Could not load files views\", { error });\n showError(t(\"Could not load files views\"));\n }\n } else {\n logger.debug(\"Skip loading files views - currently on public share\");\n }\n });\n const currentConfig = computed(() => toValue(currentView || \"files\") === \"files\" ? filesViewConfig.value : toValue(currentView) === \"recent\" ? recentViewConfig.value : favoritesViewConfig.value);\n const sortBy = computed(() => currentConfig.value.sortBy);\n const order = computed(() => currentConfig.value.order);\n return {\n filesViewConfig,\n favoritesViewConfig,\n recentViewConfig,\n currentConfig,\n sortBy,\n order\n };\n}\nconst _hoisted_1$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_2$5 = { class: \"hidden-visually\" };\nconst _hoisted_3$4 = [\"aria-sort\"];\nconst _hoisted_4$4 = { class: \"header-wrapper\" };\nconst _hoisted_5 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_6 = [\"aria-sort\"];\nconst _hoisted_7 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_8 = [\"aria-sort\"];\nconst _hoisted_9 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"FileList\",\n props: /* @__PURE__ */ mergeModels({\n currentView: {},\n multiselect: { type: Boolean },\n allowPickDirectory: { type: Boolean },\n loading: { type: Boolean },\n files: {},\n canPick: { type: Function }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {},\n \"selectedFiles\": { required: true },\n \"selectedFilesModifiers\": {}\n }),\n emits: [\"update:path\", \"update:selectedFiles\"],\n setup(__props) {\n const path = useModel(__props, \"path\");\n const selectedFiles = useModel(__props, \"selectedFiles\");\n const props = __props;\n const customSortingConfig = ref();\n const { currentConfig: filesAppSorting } = useFilesViews(props.currentView);\n const sortingConfig = computed(() => customSortingConfig.value ?? filesAppSorting.value);\n const sortByName = computed(() => sortingConfig.value.sortBy === \"basename\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortBySize = computed(() => sortingConfig.value.sortBy === \"size\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortByModified = computed(() => sortingConfig.value.sortBy === \"mtime\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n function toggleSorting(sortBy) {\n if (sortingConfig.value.sortBy === sortBy) {\n if (sortingConfig.value.order === \"ascending\") {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"descending\" };\n } else {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"ascending\" };\n }\n } else {\n customSortingConfig.value = { sortBy, order: \"ascending\" };\n }\n }\n const { sortFavoritesFirst, cropImagePreviews } = useFilesSettings();\n const sortedFiles = computed(() => {\n return sortNodes(props.files, {\n sortFoldersFirst: true,\n sortFavoritesFirst: sortFavoritesFirst.value,\n sortingOrder: sortingConfig.value.order === \"descending\" ? \"desc\" : \"asc\",\n sortingMode: sortingConfig.value.sortBy\n });\n });\n const selectableFiles = computed(() => props.files.filter((file) => props.allowPickDirectory || file.type !== FileType.Folder));\n const allSelected = computed(() => !props.loading && selectedFiles.value.length > 0 && selectedFiles.value.length >= selectableFiles.value.length);\n function onSelectAll() {\n if (selectedFiles.value.length < selectableFiles.value.length) {\n selectedFiles.value = [...selectableFiles.value];\n } else {\n selectedFiles.value = [];\n }\n }\n function onNodeSelected(file) {\n if (selectedFiles.value.includes(file)) {\n selectedFiles.value = selectedFiles.value.filter((f) => f.path !== file.path);\n } else {\n if (props.multiselect) {\n selectedFiles.value = [...selectedFiles.value, file];\n } else {\n selectedFiles.value = [file];\n }\n }\n }\n function onChangeDirectory(dir) {\n path.value = dir.path;\n }\n const skeletonNumber = ref(4);\n const fileContainer = ref();\n {\n const resize = () => nextTick(() => {\n const nodes = fileContainer.value?.parentElement?.children || [];\n let height = fileContainer.value?.parentElement?.clientHeight || 450;\n for (let index = 0; index < nodes.length; index++) {\n if (!fileContainer.value?.isSameNode(nodes[index])) {\n height -= nodes[index].clientHeight;\n }\n }\n skeletonNumber.value = Math.max(1, Math.floor((height - 50) / 50));\n });\n onMounted(() => {\n window.addEventListener(\"resize\", resize);\n resize();\n });\n onUnmounted(() => {\n window.removeEventListener(\"resize\", resize);\n });\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"fileContainer\",\n ref: fileContainer,\n class: \"file-picker__files\"\n }, [\n createElementVNode(\"table\", null, [\n createElementVNode(\"thead\", null, [\n createElementVNode(\"tr\", null, [\n __props.multiselect ? (openBlock(), createElementBlock(\"th\", _hoisted_1$6, [\n createElementVNode(\"span\", _hoisted_2$5, toDisplayString(unref(t)(\"Select entry\")), 1),\n __props.multiselect ? (openBlock(), createBlock(unref(NcCheckboxRadioSwitch), {\n key: 0,\n \"aria-label\": unref(t)(\"Select all entries\"),\n \"data-testid\": \"select-all-checkbox\",\n modelValue: allSelected.value,\n \"onUpdate:modelValue\": onSelectAll\n }, null, 8, [\"aria-label\", \"modelValue\"])) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByName.value,\n class: \"row-name\"\n }, [\n createElementVNode(\"div\", _hoisted_4$4, [\n _cache[3] || (_cache[3] = createElementVNode(\"span\", { class: \"file-picker__header-preview\" }, null, -1)),\n createVNode(unref(NcButton), {\n \"data-test\": \"file-picker_sort-name\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => toggleSorting(\"basename\"))\n }, {\n icon: withCtx(() => [\n sortByName.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByName.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_5))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Name\")), 1)\n ]),\n _: 1\n })\n ])\n ], 8, _hoisted_3$4),\n createElementVNode(\"th\", {\n \"aria-sort\": sortBySize.value,\n class: \"row-size\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[1] || (_cache[1] = ($event) => toggleSorting(\"size\"))\n }, {\n icon: withCtx(() => [\n sortBySize.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortBySize.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_7))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Size\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_6),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByModified.value,\n class: \"row-modified\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[2] || (_cache[2] = ($event) => toggleSorting(\"mtime\"))\n }, {\n icon: withCtx(() => [\n sortByModified.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByModified.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_9))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Modified\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_8)\n ])\n ]),\n createElementVNode(\"tbody\", null, [\n __props.loading ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(skeletonNumber.value, (index) => {\n return openBlock(), createBlock(LoadingTableRow, {\n key: index,\n showCheckbox: __props.multiselect\n }, null, 8, [\"showCheckbox\"]);\n }), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(sortedFiles.value, (file) => {\n return openBlock(), createBlock(FileListRow, {\n key: file.fileid || file.path,\n allowPickDirectory: __props.allowPickDirectory,\n showCheckbox: __props.multiselect,\n canPick: (__props.multiselect || selectedFiles.value.length === 0 || selectedFiles.value.includes(file)) && (__props.canPick === void 0 || __props.canPick(file)),\n selected: selectedFiles.value.includes(file),\n node: file,\n cropImagePreviews: unref(cropImagePreviews),\n \"onUpdate:selected\": ($event) => onNodeSelected(file),\n onEnterDirectory: onChangeDirectory\n }, null, 8, [\"allowPickDirectory\", \"showCheckbox\", \"canPick\", \"selected\", \"node\", \"cropImagePreviews\", \"onUpdate:selected\"]);\n }), 128))\n ])\n ])\n ], 512);\n };\n }\n});\nconst FileList = /* @__PURE__ */ _export_sfc(_sfc_main$7, [[\"__scopeId\", \"data-v-412efd5c\"]]);\nconst _sfc_main$6 = {\n name: \"HomeIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$4 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" };\nconst _hoisted_4$3 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon home-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$4))\n ], 16, _hoisted_1$5);\n}\nconst IconHome = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$5 = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon plus-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst IconPlus = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerBreadcrumbs\",\n props: /* @__PURE__ */ mergeModels({\n showMenu: { type: Boolean }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"createNode\"], [\"update:path\"]),\n setup(__props, { emit: __emit }) {\n const path = useModel(__props, \"path\");\n const emit2 = __emit;\n const actionsOpen = ref(false);\n const newNodeName = ref(\"\");\n const nameInput = useTemplateRef(\"nameInput\");\n function validateInput() {\n const name = newNodeName.value.trim();\n const input = nameInput.value?.$el?.querySelector(\"input\");\n let validity = \"\";\n try {\n validateFilename(name);\n } catch (error) {\n if (!(error instanceof InvalidFilenameError)) {\n throw error;\n }\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n validity = t('\"{char}\" is not allowed inside a folder name.', { char: error.segment });\n break;\n case InvalidFilenameErrorReason.ReservedName:\n validity = t('\"{segment}\" is a reserved name and not allowed for folder names.', { segment: error.segment });\n break;\n case InvalidFilenameErrorReason.Extension:\n validity = t('Folder names must not end with \"{extension}\".', { extension: error.segment });\n break;\n default:\n validity = t(\"Invalid folder name.\");\n }\n }\n if (input) {\n input.setCustomValidity(validity);\n }\n return validity === \"\";\n }\n function onSubmit() {\n const name = newNodeName.value.trim();\n if (validateInput()) {\n actionsOpen.value = false;\n emit2(\"createNode\", name);\n newNodeName.value = \"\";\n }\n }\n const pathElements = computed(() => path.value.split(\"/\").filter((v) => v !== \"\").map((v, i, elements) => ({\n name: v,\n path: \"/\" + elements.slice(0, i + 1).join(\"/\")\n })));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcBreadcrumbs), { class: \"file-picker__breadcrumbs\" }, createSlots({\n default: withCtx(() => [\n createVNode(unref(NcBreadcrumb), {\n name: unref(t)(\"All files\"),\n title: unref(t)(\"Home\"),\n onClick: _cache[0] || (_cache[0] = ($event) => path.value = \"/\")\n }, {\n icon: withCtx(() => [\n createVNode(IconHome, { size: 20 })\n ]),\n _: 1\n }, 8, [\"name\", \"title\"]),\n (openBlock(true), createElementBlock(Fragment, null, renderList(pathElements.value, (dir) => {\n return openBlock(), createBlock(unref(NcBreadcrumb), {\n key: dir.path,\n name: dir.name,\n title: dir.path,\n onClick: ($event) => path.value = dir.path\n }, null, 8, [\"name\", \"title\", \"onClick\"]);\n }), 128))\n ]),\n _: 2\n }, [\n __props.showMenu ? {\n name: \"actions\",\n fn: withCtx(() => [\n createVNode(unref(NcActions), {\n open: actionsOpen.value,\n \"onUpdate:open\": _cache[2] || (_cache[2] = ($event) => actionsOpen.value = $event),\n \"aria-label\": unref(t)(\"Create directory\"),\n forceMenu: true,\n forceName: true,\n menuName: unref(t)(\"New\"),\n variant: \"secondary\",\n onClose: _cache[3] || (_cache[3] = ($event) => newNodeName.value = \"\")\n }, {\n icon: withCtx(() => [\n createVNode(IconPlus, { size: 20 })\n ]),\n default: withCtx(() => [\n createVNode(unref(NcActionInput), {\n ref_key: \"nameInput\",\n ref: nameInput,\n modelValue: newNodeName.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event) => newNodeName.value = $event),\n validateInput\n ],\n label: unref(t)(\"New folder\"),\n placeholder: unref(t)(\"New folder name\"),\n onSubmit\n }, {\n icon: withCtx(() => [\n createVNode(IconFolder, { size: 20 })\n ]),\n _: 1\n }, 8, [\"modelValue\", \"label\", \"placeholder\"])\n ]),\n _: 1\n }, 8, [\"open\", \"aria-label\", \"menuName\"])\n ]),\n key: \"0\"\n } : void 0\n ]), 1024);\n };\n }\n});\nconst FilePickerBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"__scopeId\", \"data-v-b448b141\"]]);\nconst _sfc_main$3 = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$1]]);\nconst _sfc_main$2 = {\n name: \"MagnifyIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon magnify-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$2);\n}\nconst IconMagnify = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render]]);\nfunction useViews(isAnonymous) {\n const allViews = [\n {\n id: \"files\",\n label: t(\"All files\"),\n icon: mdiFolder\n },\n {\n id: \"recent\",\n label: t(\"Recent\"),\n icon: mdiClock\n },\n {\n id: \"favorites\",\n label: t(\"Favorites\"),\n icon: mdiStar\n }\n ];\n const availableViews = isAnonymous.value ? allViews.filter(({ id }) => id === \"files\") : allViews;\n return {\n allViews,\n availableViews\n };\n}\nconst _hoisted_1$1 = {\n key: 0,\n class: \"file-picker__side\"\n};\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerNavigation\",\n props: {\n currentView: {},\n filterString: {},\n isCollapsed: { type: Boolean },\n disabledNavigation: { type: Boolean }\n },\n emits: [\"update:currentView\", \"update:filterString\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const { availableViews } = useViews(ref(getCurrentUser() === null));\n const currentViewObject = computed(() => availableViews.filter((v) => v.id === props.currentView)[0] ?? availableViews[0]);\n const updateFilterValue = (value) => emit2(\"update:filterString\", value.toString());\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n createVNode(unref(NcTextField), {\n class: \"file-picker__filter-input\",\n label: unref(t)(\"Filter file list\"),\n showTrailingButton: !!__props.filterString,\n modelValue: __props.filterString,\n \"onUpdate:modelValue\": updateFilterValue,\n onTrailingButtonClick: _cache[0] || (_cache[0] = ($event) => updateFilterValue(\"\"))\n }, {\n \"trailing-button-icon\": withCtx(() => [\n createVNode(IconClose, { size: 16 })\n ]),\n default: withCtx(() => [\n createVNode(IconMagnify, { size: 16 })\n ]),\n _: 1\n }, 8, [\"label\", \"showTrailingButton\", \"modelValue\"]),\n unref(availableViews).length > 1 && !__props.disabledNavigation ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n !__props.isCollapsed ? (openBlock(), createElementBlock(\"ul\", _hoisted_1$1, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(availableViews), (view) => {\n return openBlock(), createElementBlock(\"li\", {\n key: view.id\n }, [\n createVNode(unref(NcButton), {\n variant: __props.currentView === view.id ? \"primary\" : \"tertiary\",\n wide: true,\n onClick: ($event) => _ctx.$emit(\"update:currentView\", view.id)\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n path: view.icon,\n size: 20\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(view.label), 1)\n ]),\n _: 2\n }, 1032, [\"variant\", \"onClick\"])\n ]);\n }), 128))\n ])) : (openBlock(), createBlock(unref(NcSelect), {\n key: 1,\n \"aria-label\": unref(t)(\"Current view selector\"),\n clearable: false,\n searchable: false,\n options: unref(availableViews),\n modelValue: currentViewObject.value,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event) => emit2(\"update:currentView\", $event.id))\n }, null, 8, [\"aria-label\", \"options\", \"modelValue\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ], 64);\n };\n }\n});\nconst FilePickerNavigation = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-e1c54e23\"]]);\nasync function getRecentNodes({ client, signal }) {\n const lastTwoWeek = Math.round(Date.now() / 1e3) - 60 * 60 * 24 * 14;\n const { data } = await client.search(\"/\", {\n signal,\n details: true,\n data: getRecentSearch(lastTwoWeek)\n });\n return data.results.map((result) => resultToNode(result));\n}\nasync function getNodes({ client, path, signal }) {\n const results = await client.getDirectoryContents(join(defaultRootPath, path), {\n signal,\n details: true,\n includeSelf: true,\n data: getDefaultPropfind()\n });\n const nodes = results.data.map((result) => resultToNode(result));\n return {\n contents: nodes.filter(({ path: nodePath }) => nodePath !== path),\n folder: nodes.find(({ path: nodePath }) => path === nodePath)\n };\n}\nasync function getFile(client, path) {\n const { data } = await client.stat(join(defaultRootPath, path), {\n details: true,\n data: getDefaultPropfind()\n });\n return resultToNode(data);\n}\nfunction useDAVFiles(currentView, currentPath) {\n const client = getClient();\n const files = shallowRef([]);\n const folder = shallowRef(null);\n const isLoading = ref(true);\n let abortController;\n async function createDirectory(name) {\n const path = join(currentPath.value, name);\n await client.createDirectory(join(defaultRootPath, path));\n const directory = await getFile(client, path);\n files.value = [...files.value, directory];\n return directory;\n }\n async function loadDAVFiles() {\n if (abortController) {\n abortController.abort();\n abortController = void 0;\n }\n abortController = new AbortController();\n isLoading.value = true;\n try {\n if (currentView.value === \"favorites\") {\n files.value = await getFavoriteNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = null;\n } else if (currentView.value === \"recent\") {\n files.value = await getRecentNodes({ client, signal: abortController.signal });\n folder.value = null;\n } else {\n const content = await getNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = content.folder;\n files.value = content.contents;\n }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n return;\n }\n throw error;\n } finally {\n abortController = void 0;\n isLoading.value = false;\n }\n }\n watch([currentView, currentPath], () => loadDAVFiles());\n onMounted(() => loadDAVFiles());\n return {\n isLoading,\n files,\n folder,\n loadFiles: loadDAVFiles,\n createDirectory\n };\n}\nfunction useMimeFilter(allowedMIMETypes) {\n const splittedTypes = computed(() => allowedMIMETypes.value.map((filter) => filter.split(\"/\")));\n const isSupportedMimeType = (mime) => {\n const mimeTypeArray = mime.split(\"/\");\n return splittedTypes.value.some(([type, subtype]) => (\n // check mime type matches or is wildcard\n (mimeTypeArray[0] === type || type === \"*\") && (mimeTypeArray[1] === subtype || subtype === \"*\")\n ));\n };\n return {\n isSupportedMimeType\n };\n}\nconst _hoisted_1 = { class: \"file-picker__main\" };\nconst _hoisted_2 = {\n key: 1,\n class: \"file-picker__view\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"FilePicker\",\n props: {\n buttons: {},\n name: {},\n allowPickDirectory: { type: Boolean, default: false },\n noMenu: { type: Boolean, default: false },\n disabledNavigation: { type: Boolean, default: false },\n filterFn: { type: Function, default: void 0 },\n canPickFn: { type: Function, default: void 0 },\n mimetypeFilter: { default: () => [] },\n multiselect: { type: Boolean, default: false },\n path: { default: void 0 }\n },\n emits: [\"close\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit$1 = __emit;\n const isOpen = ref(true);\n const currentView = ref(\"files\");\n const savedPath = ref(window?.sessionStorage.getItem(\"NC.FilePicker.LastPath\") || \"/\");\n const navigatedPath = ref(\"\");\n const currentPath = computed({\n get: () => {\n return currentView.value === \"files\" ? navigatedPath.value || props.path || savedPath.value : \"/\";\n },\n set: (path) => {\n navigatedPath.value = path;\n }\n });\n const selectedFiles = shallowRef([]);\n const filterString = ref(\"\");\n const {\n files,\n folder: currentFolder,\n isLoading,\n loadFiles,\n createDirectory\n } = useDAVFiles(currentView, currentPath);\n watch([navigatedPath], () => {\n if (props.path === void 0 && navigatedPath.value) {\n window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", navigatedPath.value);\n }\n selectedFiles.value = [];\n filterString.value = \"\";\n });\n let isHandlingCallback = false;\n const dialogButtons = computed(() => {\n const nodes = selectedFiles.value.length === 0 && props.allowPickDirectory && currentFolder.value && (!props.canPickFn || props.canPickFn(currentFolder.value)) ? [currentFolder.value] : selectedFiles.value;\n const buttons = typeof props.buttons === \"function\" ? props.buttons(nodes, currentPath.value, currentView.value) : props.buttons;\n return buttons.map((button) => ({\n ...button,\n disabled: button.disabled || isLoading.value,\n callback: () => {\n isHandlingCallback = true;\n handleButtonClick(button.callback, nodes);\n }\n }));\n });\n async function handleButtonClick(callback, nodes) {\n await callback(nodes);\n emit$1(\"close\", nodes);\n isHandlingCallback = false;\n }\n const viewHeadline = computed(() => currentView.value === \"favorites\" ? t(\"Favorites\") : currentView.value === \"recent\" ? t(\"Recent\") : \"\");\n const { isSupportedMimeType } = useMimeFilter(toRef(props, \"mimetypeFilter\"));\n onMounted(() => loadFiles());\n const { showHiddenFiles } = useFilesSettings();\n const filteredFiles = computed(() => {\n let filtered = files.value;\n if (!showHiddenFiles.value) {\n filtered = filtered.filter((file) => !file.basename.startsWith(\".\"));\n }\n if (props.mimetypeFilter.length > 0) {\n filtered = filtered.filter((file) => file.type === \"folder\" || file.mime && isSupportedMimeType(file.mime));\n }\n if (filterString.value) {\n filtered = filtered.filter((file) => file.basename.toLowerCase().includes(filterString.value.toLowerCase()));\n }\n if (props.filterFn) {\n filtered = filtered.filter((f) => props.filterFn(f));\n }\n return filtered;\n });\n const noFilesDescription = computed(() => {\n if (currentView.value === \"files\") {\n return t(\"Upload some content or sync with your devices!\");\n } else if (currentView.value === \"recent\") {\n return t(\"Files and folders you recently modified will show up here.\");\n } else {\n return t(\"Files and folders you mark as favorite will show up here.\");\n }\n });\n async function onCreateFolder(name) {\n try {\n const folder = await createDirectory(name);\n navigatedPath.value = folder.path;\n emit(\"files:node:created\", files.value.filter((file) => file.basename === name)[0]);\n } catch (error) {\n logger.warn(\"Could not create new folder\", { name, error });\n showError(t(\"Could not create the new folder\"));\n }\n }\n function handleClose(open) {\n if (!open && !isHandlingCallback) {\n emit$1(\"close\");\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcDialog), {\n open: isOpen.value,\n \"onUpdate:open\": [\n _cache[6] || (_cache[6] = ($event) => isOpen.value = $event),\n handleClose\n ],\n buttons: dialogButtons.value,\n name: __props.name,\n size: \"large\",\n contentClasses: \"file-picker__content\",\n dialogClasses: \"file-picker\",\n navigationClasses: \"file-picker__navigation\"\n }, {\n navigation: withCtx(({ isCollapsed }) => [\n createVNode(FilePickerNavigation, {\n currentView: currentView.value,\n \"onUpdate:currentView\": _cache[0] || (_cache[0] = ($event) => currentView.value = $event),\n filterString: filterString.value,\n \"onUpdate:filterString\": _cache[1] || (_cache[1] = ($event) => filterString.value = $event),\n isCollapsed,\n disabledNavigation: __props.disabledNavigation\n }, null, 8, [\"currentView\", \"filterString\", \"isCollapsed\", \"disabledNavigation\"])\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_1, [\n currentView.value === \"files\" ? (openBlock(), createBlock(FilePickerBreadcrumbs, {\n key: 0,\n path: currentPath.value,\n \"onUpdate:path\": _cache[2] || (_cache[2] = ($event) => currentPath.value = $event),\n showMenu: !__props.noMenu,\n onCreateNode: onCreateFolder\n }, null, 8, [\"path\", \"showMenu\"])) : (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n createElementVNode(\"h3\", null, toDisplayString(viewHeadline.value), 1)\n ])),\n unref(isLoading) || filteredFiles.value.length > 0 ? (openBlock(), createBlock(FileList, {\n key: 2,\n path: currentPath.value,\n \"onUpdate:path\": [\n _cache[3] || (_cache[3] = ($event) => currentPath.value = $event),\n _cache[5] || (_cache[5] = ($event) => currentView.value = \"files\")\n ],\n selectedFiles: selectedFiles.value,\n \"onUpdate:selectedFiles\": _cache[4] || (_cache[4] = ($event) => selectedFiles.value = $event),\n allowPickDirectory: __props.allowPickDirectory,\n currentView: currentView.value,\n files: filteredFiles.value,\n multiselect: __props.multiselect,\n loading: unref(isLoading),\n name: viewHeadline.value,\n canPick: __props.canPickFn\n }, null, 8, [\"path\", \"selectedFiles\", \"allowPickDirectory\", \"currentView\", \"files\", \"multiselect\", \"loading\", \"name\", \"canPick\"])) : filterString.value ? (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 3,\n name: unref(t)(\"No matching files\"),\n description: unref(t)(\"No files matching your filter were found.\")\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"])) : (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 4,\n name: unref(t)(\"No files in here\"),\n description: noFilesDescription.value\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"]))\n ])\n ]),\n _: 1\n }, 8, [\"open\", \"buttons\", \"name\"]);\n };\n }\n});\nconst FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-39182aaf\"]]);\nexport {\n FilePicker as default\n};\n//# sourceMappingURL=FilePicker.mjs.map\n"],"names":["_sfc_main$1","_hoisted_1$1","_hoisted_2","_hoisted_3","_sfc_render$1","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","toDisplayString","createCommentVNode","createElementVNode","ChevronRight","_export_sfc","_sfc_main","NcActions","NcButton","crumbId","createElementId","open","e","_hoisted_1","_sfc_render","_component_NcButton","resolveComponent","_component_NcActions","_component_ChevronRight","normalizeClass","withModifiers","args","createBlock","createSlots","withCtx","renderSlot","createTextVNode","createVNode","NcBreadcrumb","IconFolder","crumbClass","NcActionButton","NcActionRouter","NcActionLink","debounce","subscribe","unsubscribe","nrCrumbs","hiddenIndices","availableWidth","totalWidth","overflow","i","startIndex","currentIndex","a","b","width","crumb","index","el","isLast","hide","w","path","disabled","crumbs","target","vnode","breadcrumbs","Fragment","child","cloneVNode","breadcrumbsRefs","crumb2","h","to","href","disableDrop","name","propsToForward","element","folderIcon","wrapper","isSlotPopulated","NcBreadcrumbs","queue","PQueue","preloadImage","url","resolve","promise","image","getPreviewURL","node","options","previewUrl","generateUrl","usePreviewURL","previewURL","ref","previewLoaded","watchEffect","toValue","FileType","success","_sfc_main$e","_hoisted_1$c","_hoisted_2$b","_hoisted_3$a","_hoisted_4$a","_sfc_render$7","IconFile","_sfc_main$d","_hoisted_1$b","_hoisted_2$a","_hoisted_3$9","_hoisted_4$9","_sfc_render$6","IconSortDescending","_sfc_main$c","_hoisted_1$a","_hoisted_2$9","_hoisted_3$8","_hoisted_4$8","_sfc_render$5","IconSortAscending","_sfc_main$b","_hoisted_1$9","_hoisted_2$8","_hoisted_3$7","_hoisted_4$7","_sfc_render$4","fileListIconStyles","_sfc_main$a","defineComponent","__props","props","fileListIconStyles$1","toRef","computed","isFile","folderDecorationIcon","mdiKey","mdiTagOutline","shareTypes","type","ShareType","mdiLink","mdiAccountPlus","mdiNetworkOutline","mdiAccountGroupOutline","normalizeStyle","unref","NcIconSvgWrapper","_hoisted_1$8","_hoisted_2$7","_hoisted_3$6","_hoisted_4$6","_hoisted_5$1","_hoisted_6$1","_hoisted_7$1","_sfc_main$9","__emit","emit2","timestamp","fileExtension","extname","displayName","isDirectory","isPickable","isNavigatable","Permission","toggleSelected","handleClick","handleKeyDown","event","toHandlers","NcCheckboxRadioSwitch","t","formatFileSize","NcDateTime","FileListRow","_hoisted_1$7","_hoisted_2$6","_hoisted_3$5","_hoisted_4$5","_sfc_main$8","LoadingTableRow","useFilesSettings","filesUserState","loadState","showHiddenFiles","sortFavoritesFirst","cropImagePreviews","onMounted","isPublicShare","logger","data","axios","error","showError","useFilesViews","currentView","convertOrder","order2","filesViewsState","filesViewConfig","recentViewConfig","favoritesViewConfig","currentConfig","sortBy","order","_hoisted_1$6","_hoisted_2$5","_hoisted_3$4","_hoisted_4$4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_sfc_main$7","mergeModels","useModel","selectedFiles","customSortingConfig","filesAppSorting","sortingConfig","sortByName","sortBySize","sortByModified","toggleSorting","sortedFiles","sortNodes","selectableFiles","file","allSelected","onSelectAll","onNodeSelected","f","onChangeDirectory","dir","skeletonNumber","fileContainer","resize","nextTick","nodes","height","onUnmounted","renderList","FileList","_sfc_main$6","_hoisted_1$5","_hoisted_2$4","_hoisted_3$3","_hoisted_4$3","_sfc_render$3","IconHome","_sfc_main$5","_hoisted_1$4","_hoisted_2$3","_hoisted_3$2","_hoisted_4$2","_sfc_render$2","IconPlus","_sfc_main$4","actionsOpen","newNodeName","nameInput","useTemplateRef","validateInput","input","validity","validateFilename","InvalidFilenameError","InvalidFilenameErrorReason","onSubmit","pathElements","v","elements","NcActionInput","FilePickerBreadcrumbs","_sfc_main$3","_hoisted_1$3","_hoisted_2$2","_hoisted_3$1","_hoisted_4$1","IconClose","_sfc_main$2","_hoisted_1$2","_hoisted_2$1","_hoisted_4","IconMagnify","useViews","isAnonymous","allViews","mdiFolder","mdiClock","mdiStar","availableViews","id","getCurrentUser","currentViewObject","updateFilterValue","value","NcTextField","NcSelect","view","FilePickerNavigation","getRecentNodes","client","signal","lastTwoWeek","getRecentSearch","result","resultToNode","getNodes","join","defaultRootPath","getDefaultPropfind","nodePath","getFile","useDAVFiles","currentPath","getClient","files","shallowRef","folder","isLoading","abortController","createDirectory","directory","loadDAVFiles","getFavoriteNodes","content","watch","useMimeFilter","allowedMIMETypes","splittedTypes","filter","mime","mimeTypeArray","subtype","emit$1","isOpen","savedPath","navigatedPath","filterString","currentFolder","loadFiles","isHandlingCallback","dialogButtons","button","handleButtonClick","callback","viewHeadline","isSupportedMimeType","filteredFiles","filtered","noFilesDescription","onCreateFolder","emit","handleClose","NcDialog","isCollapsed","NcEmptyContent","FilePicker"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/dist/FilePicker-DAaoni96.chunk.mjs b/dist/FilePicker-DAaoni96.chunk.mjs new file mode 100644 index 0000000000000..fab077f0d09fd --- /dev/null +++ b/dist/FilePicker-DAaoni96.chunk.mjs @@ -0,0 +1,2 @@ +import{l as oe,o as s,s as d,c as C,h as Pe,w,i as ce,v as f,x as O,n as G,t as L,m as D,y as z,e as _,O as Y,I as M,ah as ke,a8 as A,ab as Te,B as J,r as $,b as H,z as Se,D as X,u,k as b,C as pe,f as fe,g as qe,J as ee,j as me,ai as Ze,E as je,a4 as Ge,K as Je,$ as Ie}from"./preload-helper-CAkfU8NC.chunk.mjs";import{u as Ke,s as Qe,b as ve,f as Xe,n as te,a as Ye,w as et}from"./externalStorageUtils-KuBigrYs.chunk.mjs";import{a as ge,v as tt,N as it}from"./index-ab_1C7r3.chunk.mjs";import{N as _e}from"./Plus-Do6rAjAi.chunk.mjs";import{_ as S,A as h,B as Q,e as ye,C as at,D as rt,E as lt,F as nt,G as st,H as ot,I as Ce,x as ct,c as dt}from"./index-DEc6kvRX.chunk.mjs";import{d as ut,e as Ve,P as $e}from"./davProperties-DQigZkzf.chunk.mjs";import{F as W,l as De,i as Me}from"./fileType-C3N8eFWN.chunk.mjs";import{g as pt,a as ft}from"./translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs";import{N as K,d as mt,g as ht}from"./PencilOutline-D_8aq9iQ.chunk.mjs";import{f as vt,_ as gt}from"./index-DgO53NxA.chunk.mjs";import{N as Re}from"./NcCheckboxRadioSwitch-Bs2KPw_Y.chunk.mjs";import{S as Le}from"./ShareType-suoNfd7y.chunk.mjs";import{_ as ae,d as yt,N as Ae}from"./createElementId-CYO-dDhf.chunk.mjs";import{P as bt,a as wt}from"./NcBreadcrumbs-6kqegFr0.chunk.mjs";import{c as Ee}from"./index-x4yLQPPO.chunk.mjs";import{N as ze}from"./NcActionButton-Dg5R7G7t.chunk.mjs";import{N as Fe,a as Ne}from"./NcActionRouter-BmOFewpm.chunk.mjs";import{N as kt}from"./NcSelect-ZSCFhlj7.chunk.mjs";import{_ as _t}from"./NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs";import{g as Ct,c as $t,e as be,r as we}from"./dav-BneVTxEZ.chunk.mjs";import"./TrashCanOutline-B7beOzq2.chunk.mjs";import"./NcNoteCard-Bc_9sn5Y.chunk.mjs";import"./fileAction-BOfDVRqE.chunk.mjs";import"./NcInputField-ChKho6Gt.chunk.mjs";import"./NcPasswordField-D-swtVPG.chunk.mjs";const Lt={name:"ChevronRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},zt=["aria-hidden","aria-label"],Ft=["fill","width","height"],Nt={key:0};function Bt(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon chevron-right-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(s(),d("title",Nt,L(e.title),1)):z("",!0),i[1]||(i[1]=f("path",{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"},null,-1))],8,Ft))],16,zt)}const xt=ae(Lt,[["render",Bt]]),Pt={name:"NcBreadcrumb",components:{NcActions:ge,ChevronRight:xt,NcButton:K},inheritAttrs:!1,props:{name:{type:String,required:!0},title:{type:String,default:null},to:{type:[String,Object],default:void 0},href:{type:String,default:void 0},icon:{type:String,default:""},forceIconText:{type:Boolean,default:!1},disableDrop:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},open:{type:Boolean,default:!1},class:{type:[String,Array,Object],default:""}},emits:["dragenter","dragleave","dropped","update:open"],setup(){const t=yt();return{actionsContainer:`.vue-crumb[data-crumb-id="${t}"]`,crumbId:t}},data(){return{hovering:!1}},computed:{linkAttributes(){return this.to?{to:this.to,...this.$attrs}:this.href?{href:this.href,...this.$attrs}:this.$attrs}},methods:{onOpenChange(t){this.$emit("update:open",t)},dropped(t){return this.disableDrop||(this.$emit("dropped",t,this.to||this.href),this.$parent.$emit("dropped",t,this.to||this.href),this.hovering=!1),!1},dragEnter(t){this.$emit("dragenter",t),!this.disableDrop&&(this.hovering=!0)},dragLeave(t){this.$emit("dragleave",t),!this.disableDrop&&(t.target.contains(t.relatedTarget)||this.$refs.crumb.contains(t.relatedTarget)||(this.hovering=!1))}}},St=["data-crumb-id"];function It(t,i,e,r,l,n){const a=oe("NcButton"),c=oe("NcActions"),p=oe("ChevronRight");return s(),d("li",{ref:"crumb",class:O(["vue-crumb",[{"vue-crumb--hovered":l.hovering},t.$props.class]]),"data-crumb-id":r.crumbId,draggable:"false",onDragstart:Y(()=>{},["prevent"]),onDrop:i[0]||(i[0]=Y((...o)=>n.dropped&&n.dropped(...o),["prevent"])),onDragover:Y(()=>{},["prevent"]),onDragenter:i[1]||(i[1]=(...o)=>n.dragEnter&&n.dragEnter(...o)),onDragleave:i[2]||(i[2]=(...o)=>n.dragLeave&&n.dragLeave(...o))},[(e.name||e.icon||t.$slots.icon)&&!t.$slots.default?(s(),C(a,D({key:0,"aria-label":e.icon?e.name:void 0,variant:"tertiary"},n.linkAttributes),Pe({_:2},[t.$slots.icon||e.icon?{name:"icon",fn:w(()=>[ce(t.$slots,"icon",{},()=>[f("span",{class:O([e.icon,"icon"])},null,2)],!0)]),key:"0"}:void 0,!(t.$slots.icon||e.icon)||e.forceIconText?{name:"default",fn:w(()=>[G(L(e.name),1)]),key:"1"}:void 0]),1040,["aria-label"])):z("",!0),t.$slots.default?(s(),C(c,{key:1,ref:"actions",container:r.actionsContainer,forceMenu:e.forceMenu,forceName:"",menuName:e.name,open:e.open,title:e.title,variant:"tertiary","onUpdate:open":n.onOpenChange},{icon:w(()=>[ce(t.$slots,"menu-icon",{},void 0,!0)]),default:w(()=>[ce(t.$slots,"default",{},void 0,!0)]),_:3},8,["container","forceMenu","menuName","open","title","onUpdate:open"])):z("",!0),_(p,{class:"vue-crumb__separator",size:20})],42,St)}const ie=ae(Pt,[["render",It],["__scopeId","data-v-7cec4a3e"]]),Vt={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Dt=["aria-hidden","aria-label"],Mt=["fill","width","height"],Rt={key:0};function At(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(s(),d("title",Rt,L(e.title),1)):z("",!0),i[1]||(i[1]=f("path",{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},null,-1))],8,Mt))],16,Dt)}const Be=ae(Vt,[["render",At]]),P="vue-crumb",Et={name:"NcBreadcrumbs",components:{NcActions:ge,NcActionButton:ze,NcActionRouter:Ne,NcActionLink:Fe,NcBreadcrumb:ie,IconFolder:Be},props:{rootIcon:{type:String,default:"icon-home"},ariaLabel:{type:String,default:null}},emits:["dropped"],data(){return{hiddenIndices:[],menuBreadcrumbProps:{name:"",forceMenu:!0,disableDrop:!0,open:!1},breadcrumbsRefs:[]}},created(){window.addEventListener("resize",mt(()=>{this.handleWindowResize()},100)),Qe("navigation-toggled",this.delayedResize)},mounted(){this.handleWindowResize()},updated(){this.delayedResize(),this.$nextTick(()=>{this.hideCrumbs()})},beforeUnmount(){window.removeEventListener("resize",this.handleWindowResize),Ke("navigation-toggled",this.delayedResize)},methods:{closeActions(t){this.$refs.actionsBreadcrumb.$el.contains(t.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},async delayedResize(){await this.$nextTick(),this.handleWindowResize()},handleWindowResize(){if(!this.$refs.container)return;const t=this.breadcrumbsRefs.length,i=[],e=this.$refs.container.offsetWidth;let r=this.getTotalWidth();this.$refs.breadcrumb__actions&&(r+=this.$refs.breadcrumb__actions.offsetWidth);let l=r-e;l+=l>0?64:0;let n=0;const a=Math.floor(t/2);for(;l>0&&nc-p))||(this.hiddenIndices=i)},arraysEqual(t,i){if(t.length!==i.length)return!1;if(t===i)return!0;if(t===null||i===null)return!1;for(let e=0;et+this.getWidth(i.$el,e===this.breadcrumbsRefs.length-1),0)},getWidth(t,i){if(!t?.classList)return 0;const e=t.classList.contains(`${P}--hidden`);t.style.minWidth="auto",i&&(t.style.maxWidth="210px"),t.classList.remove(`${P}--hidden`);const r=t.offsetWidth;return e&&t.classList.add(`${P}--hidden`),t.style.minWidth="",t.style.maxWidth="",r},preventDefault(t){return t.preventDefault&&t.preventDefault(),!1},dragStart(t){return this.preventDefault(t)},dropped(t,i,e){e||this.$emit("dropped",t,i),this.menuBreadcrumbProps.open=!1;const r=document.querySelectorAll(`.${P}`);for(const l of r)l.classList.remove(`${P}--hovered`);return this.preventDefault(t)},dragOver(t){return this.preventDefault(t)},dragEnter(t,i){if(!i&&t.target.closest){const e=t.target.closest(`.${P}`);if(e.classList&&e.classList.contains(P)){const r=document.querySelectorAll(`.${P}`);for(const l of r)l.classList.remove(`${P}--hovered`);e.classList.add(`${P}--hovered`)}}},dragLeave(t,i){if(!i&&!t.target.contains(t.relatedTarget)&&t.target.closest){const e=t.target.closest(`.${P}`);if(e.contains(t.relatedTarget))return;e.classList&&e.classList.contains(P)&&e.classList.remove(`${P}--hovered`)}},hideCrumbs(){this.breadcrumbsRefs.forEach((t,i)=>{t?.$el?.classList&&(this.hiddenIndices.includes(i)?t.$el.classList.add(`${P}--hidden`):t.$el.classList.remove(`${P}--hidden`))})},isBreadcrumb(t){return t?.type?.name==="NcBreadcrumb"}},render(){let t=[];if(this.$slots.default?.().forEach(l=>{if(this.isBreadcrumb(l)){t.push(l);return}l?.type===M&&l?.children?.forEach?.(n=>{this.isBreadcrumb(n)&&t.push(n)})}),t.length===0)return;t[0]=ke(t[0],{icon:this.rootIcon,ref:"breadcrumbs"});const i=[];t=t.map((l,n)=>ke(l,{ref:a=>{i[n]=a}}));const e=[...t];this.hiddenIndices.length&&e.splice(Math.round(t.length/2),0,A(ie,{class:"dropdown",...this.menuBreadcrumbProps,"aria-hidden":!0,ref:"actionsBreadcrumb",key:"actions-breadcrumb-1",onDragenter:()=>{this.menuBreadcrumbProps.open=!0},onDragleave:this.closeActions,"onUpdate:open":l=>{this.menuBreadcrumbProps.open=l}},{default:()=>this.hiddenIndices.filter(l=>l<=t.length-1).map(l=>{const n=t[l],{to:a,href:c,disableDrop:p,name:o,...g}=n.props;delete g.ref;let y=ze,v="";c&&(y=Fe,v=c),a&&(y=Ne,v=a);const F=A(Be,{size:20});return A(y,{...g,class:P,href:c||null,to:a||null,draggable:!1,onDragstart:this.dragStart,onDrop:I=>this.dropped(I,v,p),onDragover:this.dragOver,onDragenter:I=>this.dragEnter(I,p),onDragleave:I=>this.dragLeave(I,p)},{default:()=>o,icon:()=>F})})}));const r=[A("nav",{"aria-label":this.ariaLabel},[A("ul",{class:"breadcrumb__crumbs"},[e])])];return tt(this.$slots.actions?.())&&r.push(A("div",{class:"breadcrumb__actions",ref:"breadcrumb__actions"},this.$slots.actions?.())),this.breadcrumbsRefs=i,A("div",{class:["breadcrumb",{"breadcrumb--collapsed":this.hiddenIndices.length===t.length-2}],ref:"container"},r)}},Ht=ae(Et,[["__scopeId","data-v-5a4d73af"]]);function xe(t){return t instanceof Date?t.toISOString():String(t)}function Ut(t,i,e){i=i??[n=>n],e=e??[];const r=i.map((n,a)=>(e[a]??"asc")==="asc"?1:-1),l=Intl.Collator([pt(),ft()],{numeric:!0,usage:"sort"});return[...t].sort((n,a)=>{for(const[c,p]of i.entries()){const o=l.compare(xe(p(n)),xe(p(a)));if(o!==0)return o*r[c]}return 0})}const Z=Object.freeze({Name:"basename",Modified:"mtime",Size:"size"});function Ot(t,i={}){const e={sortingMode:Z.Name,sortingOrder:"asc",...i};function r(a){const c=a.displayname||a.attributes?.displayname||a.basename||"";return a.type===W.Folder?c:c.lastIndexOf(".")>0?c.slice(0,c.lastIndexOf(".")):c}const l=[...e.sortFavoritesFirst?[a=>a.attributes?.favorite!==1]:[],...e.sortFoldersFirst?[a=>a.type!=="folder"]:[],...e.sortingMode!==Z.Name?[a=>a[e.sortingMode]??a.attributes[e.sortingMode]]:[],a=>r(a),a=>a.basename],n=[...e.sortFavoritesFirst?["asc"]:[],...e.sortFoldersFirst?["asc"]:[],...e.sortingMode===Z.Modified?[e.sortingOrder==="asc"?"desc":"asc"]:[],...e.sortingMode!==Z.Modified&&e.sortingMode!==Z.Name?[e.sortingOrder]:[],e.sortingOrder,e.sortingOrder];return Ut(t,l,n)}const E=Object.freeze({ReservedName:"reserved name",Character:"character",Extension:"extension"});class j extends Error{constructor(i){super(`Invalid ${i.reason} '${i.segment}' in filename '${i.filename}'`,{cause:i})}get filename(){return this.cause.filename}get reason(){return this.cause.reason}get segment(){return this.cause.segment}}function Wt(t){const i=ht().files,e=i.forbidden_filename_characters??["/","\\"];for(const a of e)if(t.includes(a))throw new j({segment:a,reason:E.Character,filename:t});if(t=t.toLocaleLowerCase(),(i.forbidden_filenames??[".htaccess"]).includes(t))throw new j({filename:t,segment:t,reason:E.ReservedName});const r=t.indexOf(".",1),l=t.substring(0,r===-1?void 0:r);if((i.forbidden_filename_basenames??[]).includes(l))throw new j({filename:t,segment:l,reason:E.ReservedName});const n=i.forbidden_filename_extensions??[];for(const a of n)if(t.length>a.length&&t.endsWith(a))throw new j({segment:a,reason:E.Extension,filename:t})}const Tt=new bt({concurrency:5});function qt(t){const{resolve:i,promise:e}=Promise.withResolvers();return Tt.add(()=>{const r=new Image;return r.onerror=()=>i(!1),r.onload=()=>i(!0),r.src=t,e}),e}function Zt(t,i={}){i={size:32,cropPreview:!1,mimeFallback:!0,...i};try{const e=t.attributes?.previewUrl||ve("/core/preview?fileId={fileid}",{fileid:t.fileid});let r;try{r=new URL(e)}catch{r=new URL(e,window.location.origin)}return r.searchParams.set("x",`${i.size}`),r.searchParams.set("y",`${i.size}`),r.searchParams.set("mimeFallback",`${i.mimeFallback}`),r.searchParams.set("a",i.cropPreview===!0?"0":"1"),r.searchParams.set("c",`${t.attributes.etag}`),r}catch{return null}}function jt(t,i){const e=$(null),r=$(!1);return Te(()=>{r.value=!1,e.value=Zt(J(t),J(i||{})),e.value&&J(t).type===W.File&&qt(e.value.href).then(l=>{r.value=l})}),{previewURL:e,previewLoaded:r}}const Gt={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jt=["aria-hidden","aria-label"],Kt=["fill","width","height"],Qt={d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"},Xt={key:0};function Yt(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon file-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Qt,[e.title?(s(),d("title",Xt,L(e.title),1)):z("",!0)])],8,Kt))],16,Jt)}const he=S(Gt,[["render",Yt]]),ei={name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ti=["aria-hidden","aria-label"],ii=["fill","width","height"],ai={d:"M7,10L12,15L17,10H7Z"},ri={key:0};function li(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-down-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ai,[e.title?(s(),d("title",ri,L(e.title),1)):z("",!0)])],8,ii))],16,ti)}const de=S(ei,[["render",li]]),ni={name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},si=["aria-hidden","aria-label"],oi=["fill","width","height"],ci={d:"M7,15L12,10L17,15H7Z"},di={key:0};function ui(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon menu-up-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ci,[e.title?(s(),d("title",di,L(e.title),1)):z("",!0)])],8,oi))],16,si)}const ue=S(ni,[["render",ui]]),pi={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},fi=["aria-hidden","aria-label"],mi=["fill","width","height"],hi={d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"},vi={key:0};function gi(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon folder-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",hi,[e.title?(s(),d("title",vi,L(e.title),1)):z("",!0)])],8,mi))],16,fi)}const He=S(pi,[["render",gi]]),Ue={"file-picker__file-icon":"_file-picker__file-icon_1aykw_9","file-picker__file-icon--primary":"_file-picker__file-icon--primary_1aykw_22","file-picker__file-icon-overlay":"_file-picker__file-icon-overlay_1aykw_26"},yi=H({__name:"FilePreview",props:{node:{},cropImagePreviews:{type:Boolean}},setup(t){const i=t,e=$(Ue),{previewURL:r,previewLoaded:l}=jt(Ie(i,"node"),b(()=>({cropPreview:i.cropImagePreviews}))),n=b(()=>i.node.type===W.File),a=b(()=>{if(i.node.type!==W.Folder)return null;if(i.node.attributes?.["is-encrypted"]===1)return nt;if(i.node.attributes?.["is-tag"])return st;const c=Object.values(i.node.attributes?.["share-types"]||{}).flat();if(c.some(p=>p===Le.Link||p===Le.Email))return ot;if(c.length>0)return Ce;switch(i.node.attributes?.["mount-type"]){case"external":case"external-session":return dt;case"group":return ct;case"shared":return Ce}return null});return(c,p)=>(s(),d("div",{style:Je(u(l)?{backgroundImage:`url(${u(r)})`}:void 0),class:O(e.value["file-picker__file-icon"])},[u(l)?z("",!0):(s(),d(M,{key:0},[n.value?(s(),C(he,{key:0,size:32})):(s(),d(M,{key:1},[a.value?(s(),C(u(Ae),{key:0,class:O(e.value["file-picker__file-icon-overlay"]),inline:"",path:a.value,size:16},null,8,["class","path"])):z("",!0),_(He,{class:O(e.value["file-picker__file-icon--primary"]),size:32},null,8,["class"])],64))],64))],6))}}),bi=["tabindex","aria-selected","data-filename"],wi={class:"row-name"},ki={class:"file-picker__name-container","data-testid":"row-name"},_i=["title","textContent"],Ci=["textContent"],$i={class:"row-size"},Li={class:"row-modified"},zi=H({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:{},cropImagePreviews:{type:Boolean}},emits:["update:selected","enterDirectory"],setup(t,{emit:i}){const e=t,r=i,l=b(()=>e.node.mtime??0),n=b(()=>et(e.node.displayname)),a=b(()=>e.node.displayname.slice(0,n.value?-n.value.length:void 0)),c=b(()=>e.node.type===W.Folder),p=b(()=>e.canPick&&(e.allowPickDirectory||!c.value)),o=b(()=>(e.node.permissions&$e.READ)===$e.READ);function g(){p.value&&r("update:selected",!e.selected)}function y(){c.value?o.value&&r("enterDirectory",e.node):g()}function v(F){F.key==="Enter"&&y()}return(F,I)=>(s(),d("tr",D({tabindex:t.showCheckbox&&!c.value?void 0:0,"aria-selected":p.value?t.selected:void 0,class:["file-picker__row",[{"file-picker__row--selected":t.selected&&!t.showCheckbox,"file-picker__row--not-navigatable":c.value&&!o.value,"file-picker__row--not-pickable":!p.value}]],"data-filename":t.node.basename,"data-testid":"file-list-row"},Ge({click:y,...!t.showCheckbox||c.value?{keydown:v}:{}},!0)),[t.showCheckbox?(s(),d("td",{key:0,class:"row-checkbox",onClick:Y(()=>{},["stop"])},[_(u(Re),{"aria-label":u(h)("Select the row for {nodename}",{nodename:a.value}),disabled:!p.value,"data-testid":"row-checkbox",modelValue:t.selected,"onUpdate:modelValue":g},null,8,["aria-label","disabled","modelValue"])])):z("",!0),f("td",wi,[f("div",ki,[_(yi,{node:t.node,cropImagePreviews:t.cropImagePreviews},null,8,["node","cropImagePreviews"]),f("div",{class:"file-picker__file-name",title:a.value,textContent:L(a.value)},null,8,_i),f("div",{class:"file-picker__file-extension",textContent:L(n.value)},null,8,Ci)])]),f("td",$i,L(u(vt)(t.node.size||0)),1),f("td",Li,[_(u(gt),{timestamp:l.value,ignoreSeconds:""},null,8,["timestamp"])])],16,bi))}}),Fi=S(zi,[["__scopeId","data-v-7857e8bd"]]),Ni={"aria-hidden":"true",class:"file-picker__row loading-row"},Bi={key:0,class:"row-checkbox"},xi={class:"row-name"},Pi={class:"row-wrapper"},Si=H({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return(i,e)=>(s(),d("tr",Ni,[t.showCheckbox?(s(),d("td",Bi,[...e[0]||(e[0]=[f("span",null,null,-1)])])):z("",!0),f("td",xi,[f("div",Pi,[f("span",{class:O(u(Ue)["file-picker__file-icon"])},null,2),e[1]||(e[1]=f("span",null,null,-1))])]),e[2]||(e[2]=f("td",{class:"row-size"},[f("span")],-1)),e[3]||(e[3]=f("td",{class:"row-modified"},[f("span")],-1))]))}}),Ii=S(Si,[["__scopeId","data-v-1f96131b"]]);function Oe(){const t=De("files","config",null),i=$(t?.show_hidden??!0),e=$(t?.sort_favorites_first??!0),r=$(t?.crop_image_previews??!0);return X(async()=>{if(Me())Q.debug("Skip loading files settings - currently on public share");else try{const{data:l}=await Ee.get(ve("/apps/files/api/v1/configs"));i.value=l?.data?.show_hidden??!1,e.value=l?.data?.sort_favorites_first??!0,r.value=l?.data?.crop_image_previews??!0}catch(l){Q.error("Could not load files settings",{error:l}),ye(h("Could not load files settings"))}}),{showHiddenFiles:i,sortFavoritesFirst:e,cropImagePreviews:r}}function Vi(t){const i=o=>o==="asc"?"ascending":o==="desc"?"descending":"none",e=De("files","viewConfigs",null),r=$({sortBy:e?.files?.sorting_mode??"basename",order:i(e?.files?.sorting_direction??"asc")}),l=$({sortBy:e?.recent?.sorting_mode??"basename",order:i(e?.recent?.sorting_direction??"asc")}),n=$({sortBy:e?.favorites?.sorting_mode??"basename",order:i(e?.favorites?.sorting_direction??"asc")});X(async()=>{if(Me())Q.debug("Skip loading files views - currently on public share");else try{const{data:o}=await Ee.get(ve("/apps/files/api/v1/views"));r.value={sortBy:o?.data?.files?.sorting_mode??"basename",order:i(o?.data?.files?.sorting_direction)},n.value={sortBy:o?.data?.favorites?.sorting_mode??"basename",order:i(o?.data?.favorites?.sorting_direction)},l.value={sortBy:o?.data?.recent?.sorting_mode??"basename",order:i(o?.data?.recent?.sorting_direction)}}catch(o){Q.error("Could not load files views",{error:o}),ye(h("Could not load files views"))}});const a=b(()=>J(t||"files")==="files"?r.value:J(t)==="recent"?l.value:n.value),c=b(()=>a.value.sortBy),p=b(()=>a.value.order);return{filesViewConfig:r,favoritesViewConfig:n,recentViewConfig:l,currentConfig:a,sortBy:c,order:p}}const Di={key:0,class:"row-checkbox"},Mi={class:"hidden-visually"},Ri=["aria-sort"],Ai={class:"header-wrapper"},Ei={key:2,style:{width:"44px"}},Hi=["aria-sort"],Ui={key:2,style:{width:"44px"}},Oi=["aria-sort"],Wi={key:2,style:{width:"44px"}},Ti=H({__name:"FileList",props:me({currentView:{},multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:{},canPick:{type:Function}},{path:{required:!0},pathModifiers:{},selectedFiles:{required:!0},selectedFilesModifiers:{}}),emits:["update:path","update:selectedFiles"],setup(t){const i=fe(t,"path"),e=fe(t,"selectedFiles"),r=t,l=$(),{currentConfig:n}=Vi(r.currentView),a=b(()=>l.value??n.value),c=b(()=>a.value.sortBy==="basename"?a.value.order==="none"?void 0:a.value.order:void 0),p=b(()=>a.value.sortBy==="size"?a.value.order==="none"?void 0:a.value.order:void 0),o=b(()=>a.value.sortBy==="mtime"?a.value.order==="none"?void 0:a.value.order:void 0);function g(N){a.value.sortBy===N?a.value.order==="ascending"?l.value={sortBy:a.value.sortBy,order:"descending"}:l.value={sortBy:a.value.sortBy,order:"ascending"}:l.value={sortBy:N,order:"ascending"}}const{sortFavoritesFirst:y,cropImagePreviews:v}=Oe(),F=b(()=>Ot(r.files,{sortFoldersFirst:!0,sortFavoritesFirst:y.value,sortingOrder:a.value.order==="descending"?"desc":"asc",sortingMode:a.value.sortBy})),I=b(()=>r.files.filter(N=>r.allowPickDirectory||N.type!==W.Folder)),re=b(()=>!r.loading&&e.value.length>0&&e.value.length>=I.value.length);function T(){e.value.lengthB.path!==N.path):r.multiselect?e.value=[...e.value,N]:e.value=[N]}function ne(N){i.value=N.path}const q=$(4),U=$();{const N=()=>je(()=>{const B=U.value?.parentElement?.children||[];let x=U.value?.parentElement?.clientHeight||450;for(let R=0;R{window.addEventListener("resize",N),N()}),Ze(()=>{window.removeEventListener("resize",N)})}return(N,B)=>(s(),d("div",{ref_key:"fileContainer",ref:U,class:"file-picker__files"},[f("table",null,[f("thead",null,[f("tr",null,[t.multiselect?(s(),d("th",Di,[f("span",Mi,L(u(h)("Select entry")),1),t.multiselect?(s(),C(u(Re),{key:0,"aria-label":u(h)("Select all entries"),"data-testid":"select-all-checkbox",modelValue:re.value,"onUpdate:modelValue":T},null,8,["aria-label","modelValue"])):z("",!0)])):z("",!0),f("th",{"aria-sort":c.value,class:"row-name"},[f("div",Ai,[B[3]||(B[3]=f("span",{class:"file-picker__header-preview"},null,-1)),_(u(K),{"data-test":"file-picker_sort-name",variant:"tertiary",wide:"",onClick:B[0]||(B[0]=x=>g("basename"))},{icon:w(()=>[c.value==="ascending"?(s(),C(ue,{key:0,size:20})):c.value==="descending"?(s(),C(de,{key:1,size:20})):(s(),d("span",Ei))]),default:w(()=>[G(" "+L(u(h)("Name")),1)]),_:1})])],8,Ri),f("th",{"aria-sort":p.value,class:"row-size"},[_(u(K),{variant:"tertiary",wide:"",onClick:B[1]||(B[1]=x=>g("size"))},{icon:w(()=>[p.value==="ascending"?(s(),C(ue,{key:0,size:20})):p.value==="descending"?(s(),C(de,{key:1,size:20})):(s(),d("span",Ui))]),default:w(()=>[G(" "+L(u(h)("Size")),1)]),_:1})],8,Hi),f("th",{"aria-sort":o.value,class:"row-modified"},[_(u(K),{variant:"tertiary",wide:"",onClick:B[2]||(B[2]=x=>g("mtime"))},{icon:w(()=>[o.value==="ascending"?(s(),C(ue,{key:0,size:20})):o.value==="descending"?(s(),C(de,{key:1,size:20})):(s(),d("span",Wi))]),default:w(()=>[G(" "+L(u(h)("Modified")),1)]),_:1})],8,Oi)])]),f("tbody",null,[t.loading?(s(!0),d(M,{key:0},ee(q.value,x=>(s(),C(Ii,{key:x,showCheckbox:t.multiselect},null,8,["showCheckbox"]))),128)):(s(!0),d(M,{key:1},ee(F.value,x=>(s(),C(Fi,{key:x.fileid||x.path,allowPickDirectory:t.allowPickDirectory,showCheckbox:t.multiselect,canPick:(t.multiselect||e.value.length===0||e.value.includes(x))&&(t.canPick===void 0||t.canPick(x)),selected:e.value.includes(x),node:x,cropImagePreviews:u(v),"onUpdate:selected":R=>le(x),onEnterDirectory:ne},null,8,["allowPickDirectory","showCheckbox","canPick","selected","node","cropImagePreviews","onUpdate:selected"]))),128))])])],512))}}),qi=S(Ti,[["__scopeId","data-v-412efd5c"]]),Zi={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ji=["aria-hidden","aria-label"],Gi=["fill","width","height"],Ji={d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"},Ki={key:0};function Qi(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon home-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",Ji,[e.title?(s(),d("title",Ki,L(e.title),1)):z("",!0)])],8,Gi))],16,ji)}const Xi=S(Zi,[["render",Qi]]),Yi={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ea=["aria-hidden","aria-label"],ta=["fill","width","height"],ia={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},aa={key:0};function ra(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon plus-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ia,[e.title?(s(),d("title",aa,L(e.title),1)):z("",!0)])],8,ta))],16,ea)}const la=S(Yi,[["render",ra]]),na=H({__name:"FilePickerBreadcrumbs",props:me({showMenu:{type:Boolean}},{path:{required:!0},pathModifiers:{}}),emits:me(["createNode"],["update:path"]),setup(t,{emit:i}){const e=fe(t,"path"),r=i,l=$(!1),n=$(""),a=qe("nameInput");function c(){const g=n.value.trim(),y=a.value?.$el?.querySelector("input");let v="";try{Wt(g)}catch(F){if(!(F instanceof j))throw F;switch(F.reason){case E.Character:v=h('"{char}" is not allowed inside a folder name.',{char:F.segment});break;case E.ReservedName:v=h('"{segment}" is a reserved name and not allowed for folder names.',{segment:F.segment});break;case E.Extension:v=h('Folder names must not end with "{extension}".',{extension:F.segment});break;default:v=h("Invalid folder name.")}}return y&&y.setCustomValidity(v),v===""}function p(){const g=n.value.trim();c()&&(l.value=!1,r("createNode",g),n.value="")}const o=b(()=>e.value.split("/").filter(g=>g!=="").map((g,y,v)=>({name:g,path:"/"+v.slice(0,y+1).join("/")})));return(g,y)=>(s(),C(u(Ht),{class:"file-picker__breadcrumbs"},Pe({default:w(()=>[_(u(ie),{name:u(h)("All files"),title:u(h)("Home"),onClick:y[0]||(y[0]=v=>e.value="/")},{icon:w(()=>[_(Xi,{size:20})]),_:1},8,["name","title"]),(s(!0),d(M,null,ee(o.value,v=>(s(),C(u(ie),{key:v.path,name:v.name,title:v.path,onClick:F=>e.value=v.path},null,8,["name","title","onClick"]))),128))]),_:2},[t.showMenu?{name:"actions",fn:w(()=>[_(u(ge),{open:l.value,"onUpdate:open":y[2]||(y[2]=v=>l.value=v),"aria-label":u(h)("Create directory"),forceMenu:!0,forceName:!0,menuName:u(h)("New"),variant:"secondary",onClose:y[3]||(y[3]=v=>n.value="")},{icon:w(()=>[_(la,{size:20})]),default:w(()=>[_(u(wt),{ref_key:"nameInput",ref:a,modelValue:n.value,"onUpdate:modelValue":[y[1]||(y[1]=v=>n.value=v),c],label:u(h)("New folder"),placeholder:u(h)("New folder name"),onSubmit:p},{icon:w(()=>[_(He,{size:20})]),_:1},8,["modelValue","label","placeholder"])]),_:1},8,["open","aria-label","menuName"])]),key:"0"}:void 0]),1024))}}),sa=S(na,[["__scopeId","data-v-b448b141"]]),oa={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ca=["aria-hidden","aria-label"],da=["fill","width","height"],ua={d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"},pa={key:0};function fa(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon close-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ua,[e.title?(s(),d("title",pa,L(e.title),1)):z("",!0)])],8,da))],16,ca)}const ma=S(oa,[["render",fa]]),ha={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},va=["aria-hidden","aria-label"],ga=["fill","width","height"],ya={d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"},ba={key:0};function wa(t,i,e,r,l,n){return s(),d("span",D(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon magnify-icon",role:"img",onClick:i[0]||(i[0]=a=>t.$emit("click",a))}),[(s(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[f("path",ya,[e.title?(s(),d("title",ba,L(e.title),1)):z("",!0)])],8,ga))],16,va)}const ka=S(ha,[["render",wa]]);function _a(t){const i=[{id:"files",label:h("All files"),icon:at},{id:"recent",label:h("Recent"),icon:rt},{id:"favorites",label:h("Favorites"),icon:lt}],e=t.value?i.filter(({id:r})=>r==="files"):i;return{allViews:i,availableViews:e}}const Ca={key:0,class:"file-picker__side"},$a=H({__name:"FilePickerNavigation",props:{currentView:{},filterString:{},isCollapsed:{type:Boolean},disabledNavigation:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:i}){const e=t,r=i,{availableViews:l}=_a($(Ye()===null)),n=b(()=>l.filter(c=>c.id===e.currentView)[0]??l[0]),a=c=>r("update:filterString",c.toString());return(c,p)=>(s(),d(M,null,[_(u(_t),{class:"file-picker__filter-input",label:u(h)("Filter file list"),showTrailingButton:!!t.filterString,modelValue:t.filterString,"onUpdate:modelValue":a,onTrailingButtonClick:p[0]||(p[0]=o=>a(""))},{"trailing-button-icon":w(()=>[_(ma,{size:16})]),default:w(()=>[_(ka,{size:16})]),_:1},8,["label","showTrailingButton","modelValue"]),u(l).length>1&&!t.disabledNavigation?(s(),d(M,{key:0},[t.isCollapsed?(s(),C(u(kt),{key:1,"aria-label":u(h)("Current view selector"),clearable:!1,searchable:!1,options:u(l),modelValue:n.value,"onUpdate:modelValue":p[1]||(p[1]=o=>r("update:currentView",o.id))},null,8,["aria-label","options","modelValue"])):(s(),d("ul",Ca,[(s(!0),d(M,null,ee(u(l),o=>(s(),d("li",{key:o.id},[_(u(K),{variant:t.currentView===o.id?"primary":"tertiary",wide:!0,onClick:g=>c.$emit("update:currentView",o.id)},{icon:w(()=>[_(u(Ae),{path:o.icon,size:20},null,8,["path"])]),default:w(()=>[G(" "+L(o.label),1)]),_:2},1032,["variant","onClick"])]))),128))]))],64)):z("",!0)],64))}}),La=S($a,[["__scopeId","data-v-e1c54e23"]]);async function za({client:t,signal:i}){const e=Math.round(Date.now()/1e3)-1209600,{data:r}=await t.search("/",{signal:i,details:!0,data:ut(e)});return r.results.map(l=>we(l))}async function Fa({client:t,path:i,signal:e}){const r=(await t.getDirectoryContents(te(be,i),{signal:e,details:!0,includeSelf:!0,data:Ve()})).data.map(l=>we(l));return{contents:r.filter(({path:l})=>l!==i),folder:r.find(({path:l})=>i===l)}}async function Na(t,i){const{data:e}=await t.stat(te(be,i),{details:!0,data:Ve()});return we(e)}function Ba(t,i){const e=Ct(),r=pe([]),l=pe(null),n=$(!0);let a;async function c(o){const g=te(i.value,o);await e.createDirectory(te(be,g));const y=await Na(e,g);return r.value=[...r.value,y],y}async function p(){a&&(a.abort(),a=void 0),a=new AbortController,n.value=!0;try{if(t.value==="favorites")r.value=await $t({client:e,path:i.value,signal:a.signal}),l.value=null;else if(t.value==="recent")r.value=await za({client:e,signal:a.signal}),l.value=null;else{const o=await Fa({client:e,path:i.value,signal:a.signal});l.value=o.folder,r.value=o.contents}}catch(o){if(o instanceof Error&&o.name==="AbortError")return;throw o}finally{a=void 0,n.value=!1}}return Se([t,i],()=>p()),X(()=>p()),{isLoading:n,files:r,folder:l,loadFiles:p,createDirectory:c}}function xa(t){const i=b(()=>t.value.map(e=>e.split("/")));return{isSupportedMimeType:e=>{const r=e.split("/");return i.value.some(([l,n])=>(r[0]===l||l==="*")&&(r[1]===n||n==="*"))}}}const Pa={class:"file-picker__main"},Sa={key:1,class:"file-picker__view"},Ia=H({__name:"FilePicker",props:{buttons:{},name:{},allowPickDirectory:{type:Boolean,default:!1},noMenu:{type:Boolean,default:!1},disabledNavigation:{type:Boolean,default:!1},filterFn:{type:Function,default:void 0},canPickFn:{type:Function,default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!1},path:{default:void 0}},emits:["close"],setup(t,{emit:i}){const e=t,r=i,l=$(!0),n=$("files"),a=$(window?.sessionStorage.getItem("NC.FilePicker.LastPath")||"/"),c=$(""),p=b({get:()=>n.value==="files"?c.value||e.path||a.value:"/",set:k=>{c.value=k}}),o=pe([]),g=$(""),{files:y,folder:v,isLoading:F,loadFiles:I,createDirectory:re}=Ba(n,p);Se([c],()=>{e.path===void 0&&c.value&&window.sessionStorage.setItem("NC.FilePicker.LastPath",c.value),o.value=[],g.value=""});let T=!1;const le=b(()=>{const k=o.value.length===0&&e.allowPickDirectory&&v.value&&(!e.canPickFn||e.canPickFn(v.value))?[v.value]:o.value;return(typeof e.buttons=="function"?e.buttons(k,p.value,n.value):e.buttons).map(m=>({...m,disabled:m.disabled||F.value,callback:()=>{T=!0,ne(m.callback,k)}}))});async function ne(k,m){await k(m),r("close",m),T=!1}const q=b(()=>n.value==="favorites"?h("Favorites"):n.value==="recent"?h("Recent"):""),{isSupportedMimeType:U}=xa(Ie(e,"mimetypeFilter"));X(()=>I());const{showHiddenFiles:N}=Oe(),B=b(()=>{let k=y.value;return N.value||(k=k.filter(m=>!m.basename.startsWith("."))),e.mimetypeFilter.length>0&&(k=k.filter(m=>m.type==="folder"||m.mime&&U(m.mime))),g.value&&(k=k.filter(m=>m.basename.toLowerCase().includes(g.value.toLowerCase()))),e.filterFn&&(k=k.filter(m=>e.filterFn(m))),k}),x=b(()=>n.value==="files"?h("Upload some content or sync with your devices!"):n.value==="recent"?h("Files and folders you recently modified will show up here."):h("Files and folders you mark as favorite will show up here."));async function R(k){try{const m=await re(k);c.value=m.path,Xe("files:node:created",y.value.filter(V=>V.basename===k)[0])}catch(m){Q.warn("Could not create new folder",{name:k,error:m}),ye(h("Could not create the new folder"))}}function We(k){!k&&!T&&r("close")}return(k,m)=>(s(),C(u(it),{open:l.value,"onUpdate:open":[m[6]||(m[6]=V=>l.value=V),We],buttons:le.value,name:t.name,size:"large",contentClasses:"file-picker__content",dialogClasses:"file-picker",navigationClasses:"file-picker__navigation"},{navigation:w(({isCollapsed:V})=>[_(La,{currentView:n.value,"onUpdate:currentView":m[0]||(m[0]=se=>n.value=se),filterString:g.value,"onUpdate:filterString":m[1]||(m[1]=se=>g.value=se),isCollapsed:V,disabledNavigation:t.disabledNavigation},null,8,["currentView","filterString","isCollapsed","disabledNavigation"])]),default:w(()=>[f("div",Pa,[n.value==="files"?(s(),C(sa,{key:0,path:p.value,"onUpdate:path":m[2]||(m[2]=V=>p.value=V),showMenu:!t.noMenu,onCreateNode:R},null,8,["path","showMenu"])):(s(),d("div",Sa,[f("h3",null,L(q.value),1)])),u(F)||B.value.length>0?(s(),C(qi,{key:2,path:p.value,"onUpdate:path":[m[3]||(m[3]=V=>p.value=V),m[5]||(m[5]=V=>n.value="files")],selectedFiles:o.value,"onUpdate:selectedFiles":m[4]||(m[4]=V=>o.value=V),allowPickDirectory:t.allowPickDirectory,currentView:n.value,files:B.value,multiselect:t.multiselect,loading:u(F),name:q.value,canPick:t.canPickFn},null,8,["path","selectedFiles","allowPickDirectory","currentView","files","multiselect","loading","name","canPick"])):g.value?(s(),C(u(_e),{key:3,name:u(h)("No matching files"),description:u(h)("No files matching your filter were found.")},{icon:w(()=>[_(he)]),_:1},8,["name","description"])):(s(),C(u(_e),{key:4,name:u(h)("No files in here"),description:x.value},{icon:w(()=>[_(he)]),_:1},8,["name","description"]))])]),_:1},8,["open","buttons","name"]))}}),lr=S(Ia,[["__scopeId","data-v-39182aaf"]]);export{lr as default}; +//# sourceMappingURL=FilePicker-DAaoni96.chunk.mjs.map diff --git a/dist/FilePicker-BuDsan9B.chunk.mjs.license b/dist/FilePicker-DAaoni96.chunk.mjs.license similarity index 84% rename from dist/FilePicker-BuDsan9B.chunk.mjs.license rename to dist/FilePicker-DAaoni96.chunk.mjs.license index e839076dd6f85..27d2e3bed1f0e 100644 --- a/dist/FilePicker-BuDsan9B.chunk.mjs.license +++ b/dist/FilePicker-DAaoni96.chunk.mjs.license @@ -6,6 +6,9 @@ This file is generated from multiple sources. Included packages: - @nextcloud/dialogs - version: 7.5.0 - license: AGPL-3.0-or-later +- @nextcloud/files + - version: 4.1.1 + - license: AGPL-3.0-or-later - @nextcloud/vue - version: 9.14.0 - license: AGPL-3.0-or-later diff --git a/dist/FilePicker-DAaoni96.chunk.mjs.map b/dist/FilePicker-DAaoni96.chunk.mjs.map new file mode 100644 index 0000000000000..a6829055f5b93 --- /dev/null +++ b/dist/FilePicker-DAaoni96.chunk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"FilePicker-DAaoni96.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs.mjs","../node_modules/@nextcloud/files/dist/utils/sorting.mjs","../node_modules/@nextcloud/files/dist/utils/fileSorting.mjs","../node_modules/@nextcloud/files/dist/utils/filename-validation.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/preview.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/FilePicker.mjs"],"sourcesContent":["import '../assets/NcBreadcrumb.css';\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, resolveComponent, withModifiers, normalizeClass, createBlock, createSlots, withCtx, renderSlot, createTextVNode, createVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { N as NcActions } from \"./NcActions.mjs\";\nconst _sfc_main$1 = {\n name: \"ChevronRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" }, null, -1))\n ], 8, _hoisted_2))\n ], 16, _hoisted_1$1);\n}\nconst ChevronRight = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1]]);\nconst _sfc_main = {\n name: \"NcBreadcrumb\",\n components: {\n NcActions,\n ChevronRight,\n NcButton\n },\n inheritAttrs: false,\n props: {\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * Route Location the link should navigate to when clicked on.\n *\n * @see https://v3.router.vuejs.org/api/#to\n */\n to: {\n type: [String, Object],\n default: void 0\n },\n /**\n * Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.\n */\n href: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.\n */\n forceIconText: {\n type: Boolean,\n default: false\n },\n /**\n * Disable dropping on this breadcrumb.\n */\n disableDrop: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Open state of the Actions menu\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * CSS class to apply to the root element.\n */\n class: {\n type: [String, Array, Object],\n default: \"\"\n }\n },\n emits: [\n \"dragenter\",\n \"dragleave\",\n \"dropped\",\n \"update:open\"\n ],\n setup() {\n const crumbId = createElementId();\n return {\n actionsContainer: `.vue-crumb[data-crumb-id=\"${crumbId}\"]`,\n crumbId\n };\n },\n data() {\n return {\n /**\n * Variable to track if we hover over the breadcrumb\n */\n hovering: false\n };\n },\n computed: {\n /**\n * The attributes to pass to `router-link` or `a`\n */\n linkAttributes() {\n if (this.to) {\n return { to: this.to, ...this.$attrs };\n } else if (this.href) {\n return { href: this.href, ...this.$attrs };\n }\n return this.$attrs;\n }\n },\n methods: {\n /**\n * Function to handle changing the open state of the Actions menu\n * $emit the open state.\n *\n * @param {boolean} open The open state of the Actions menu\n */\n onOpenChange(open) {\n this.$emit(\"update:open\", open);\n },\n /**\n * Function to handle a drop on the breadcrumb.\n * $emit the event and the path, remove the hovering state.\n *\n * @param {object} e The drop event\n * @return {boolean}\n */\n dropped(e) {\n if (this.disableDrop) {\n return false;\n }\n this.$emit(\"dropped\", e, this.to || this.href);\n this.$parent.$emit(\"dropped\", e, this.to || this.href);\n this.hovering = false;\n return false;\n },\n /**\n * Add the hovering state on drag enter\n *\n * @param {DragEvent} e The drag-enter event\n */\n dragEnter(e) {\n this.$emit(\"dragenter\", e);\n if (this.disableDrop) {\n return;\n }\n this.hovering = true;\n },\n /**\n * Remove the hovering state on drag leave\n *\n * @param {DragEvent} e The drag leave event\n */\n dragLeave(e) {\n this.$emit(\"dragleave\", e);\n if (this.disableDrop) {\n return;\n }\n if (e.target.contains(e.relatedTarget) || this.$refs.crumb.contains(e.relatedTarget)) {\n return;\n }\n this.hovering = false;\n }\n }\n};\nconst _hoisted_1 = [\"data-crumb-id\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_ChevronRight = resolveComponent(\"ChevronRight\");\n return openBlock(), createElementBlock(\"li\", {\n ref: \"crumb\",\n class: normalizeClass([\"vue-crumb\", [{ \"vue-crumb--hovered\": $data.hovering }, _ctx.$props.class]]),\n \"data-crumb-id\": $setup.crumbId,\n draggable: \"false\",\n onDragstart: withModifiers(() => {\n }, [\"prevent\"]),\n onDrop: _cache[0] || (_cache[0] = withModifiers((...args) => $options.dropped && $options.dropped(...args), [\"prevent\"])),\n onDragover: withModifiers(() => {\n }, [\"prevent\"]),\n onDragenter: _cache[1] || (_cache[1] = (...args) => $options.dragEnter && $options.dragEnter(...args)),\n onDragleave: _cache[2] || (_cache[2] = (...args) => $options.dragLeave && $options.dragLeave(...args))\n }, [\n ($props.name || $props.icon || _ctx.$slots.icon) && !_ctx.$slots.default ? (openBlock(), createBlock(_component_NcButton, mergeProps({\n key: 0,\n \"aria-label\": $props.icon ? $props.name : void 0,\n variant: \"tertiary\"\n }, $options.linkAttributes), createSlots({ _: 2 }, [\n _ctx.$slots.icon || $props.icon ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n class: normalizeClass([$props.icon, \"icon\"])\n }, null, 2)\n ], true)\n ]),\n key: \"0\"\n } : void 0,\n !(_ctx.$slots.icon || $props.icon) || $props.forceIconText ? {\n name: \"default\",\n fn: withCtx(() => [\n createTextVNode(toDisplayString($props.name), 1)\n ]),\n key: \"1\"\n } : void 0\n ]), 1040, [\"aria-label\"])) : createCommentVNode(\"\", true),\n _ctx.$slots.default ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n container: $setup.actionsContainer,\n forceMenu: $props.forceMenu,\n forceName: \"\",\n menuName: $props.name,\n open: $props.open,\n title: $props.title,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onOpenChange\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"container\", \"forceMenu\", \"menuName\", \"open\", \"title\", \"onUpdate:open\"])) : createCommentVNode(\"\", true),\n createVNode(_component_ChevronRight, {\n class: \"vue-crumb__separator\",\n size: 20\n })\n ], 42, _hoisted_1);\n}\nconst NcBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-7cec4a3e\"]]);\nexport {\n NcBreadcrumb as N\n};\n//# sourceMappingURL=NcBreadcrumb.mjs.map\n","import '../assets/NcBreadcrumbs.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, Fragment, cloneVNode, h } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcActions, i as isSlotPopulated } from \"./NcActions.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb.mjs\";\nconst _sfc_main$1 = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" }, null, -1))\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render]]);\nconst crumbClass = \"vue-crumb\";\nconst _sfc_main = {\n name: \"NcBreadcrumbs\",\n components: {\n NcActions,\n NcActionButton,\n NcActionRouter,\n NcActionLink,\n NcBreadcrumb,\n IconFolder\n },\n props: {\n /**\n * Set a css icon-class for the icon of the root breadcrumb to be used.\n */\n rootIcon: {\n type: String,\n default: \"icon-home\"\n },\n /**\n * Set the aria-label of the nav element.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n emits: [\"dropped\"],\n data() {\n return {\n /**\n * Array to track the hidden breadcrumbs by their index.\n * Comparing two crumbs somehow does not work, so we use the indices.\n */\n hiddenIndices: [],\n /**\n * This is the props of the middle Action menu\n * that show the ellipsised breadcrumbs\n */\n menuBreadcrumbProps: {\n // Don't show a name for this breadcrumb, only the Actions menu\n name: \"\",\n forceMenu: true,\n // Don't allow dropping directly on the actions breadcrumb\n disableDrop: true,\n // Is the menu open or not\n open: false\n },\n breadcrumbsRefs: []\n };\n },\n created() {\n window.addEventListener(\"resize\", debounce(() => {\n this.handleWindowResize();\n }, 100));\n subscribe(\"navigation-toggled\", this.delayedResize);\n },\n mounted() {\n this.handleWindowResize();\n },\n updated() {\n this.delayedResize();\n this.$nextTick(() => {\n this.hideCrumbs();\n });\n },\n beforeUnmount() {\n window.removeEventListener(\"resize\", this.handleWindowResize);\n unsubscribe(\"navigation-toggled\", this.delayedResize);\n },\n methods: {\n /**\n * Close the actions menu\n *\n * @param {object} e The event\n */\n closeActions(e) {\n if (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n return;\n }\n this.menuBreadcrumbProps.open = false;\n },\n /**\n * Call the resize function after a delay\n */\n async delayedResize() {\n await this.$nextTick();\n this.handleWindowResize();\n },\n /**\n * Check the width of the breadcrumb and hide breadcrumbs\n * if we overflow otherwise.\n */\n handleWindowResize() {\n if (!this.$refs.container) {\n return;\n }\n const nrCrumbs = this.breadcrumbsRefs.length;\n const hiddenIndices = [];\n const availableWidth = this.$refs.container.offsetWidth;\n let totalWidth = this.getTotalWidth();\n if (this.$refs.breadcrumb__actions) {\n totalWidth += this.$refs.breadcrumb__actions.offsetWidth;\n }\n let overflow = totalWidth - availableWidth;\n overflow += overflow > 0 ? 64 : 0;\n let i = 0;\n const startIndex = Math.floor(nrCrumbs / 2);\n while (overflow > 0 && i < nrCrumbs - 2) {\n const currentIndex = startIndex + (i % 2 ? i + 1 : i) / 2 * Math.pow(-1, i + nrCrumbs % 2);\n overflow -= this.getWidth(this.breadcrumbsRefs[currentIndex]?.$el, currentIndex === this.breadcrumbsRefs.length - 1);\n hiddenIndices.push(currentIndex);\n i++;\n }\n if (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort((a, b) => a - b))) {\n this.hiddenIndices = hiddenIndices;\n }\n },\n /**\n * Checks if two arrays are equal.\n * Only works for primitive arrays, but that's enough here.\n *\n * @param {Array} a The first array\n * @param {Array} b The second array\n * @return {boolean} Wether the arrays are equal\n */\n arraysEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n } else if (a === b) {\n return true;\n } else if (a === null || b === null) {\n return false;\n }\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n },\n /**\n * Calculates the total width of all breadcrumbs\n *\n * @return {number} The total width\n */\n getTotalWidth() {\n return this.breadcrumbsRefs.reduce((width, crumb, index) => width + this.getWidth(crumb.$el, index === this.breadcrumbsRefs.length - 1), 0);\n },\n /**\n * Calculates the width of the provided element\n *\n * @param {object} el The element\n * @param {boolean} isLast Is this the last crumb\n * @return {number} The width\n */\n getWidth(el, isLast) {\n if (!el?.classList) {\n return 0;\n }\n const hide = el.classList.contains(`${crumbClass}--hidden`);\n el.style.minWidth = \"auto\";\n if (isLast) {\n el.style.maxWidth = \"210px\";\n }\n el.classList.remove(`${crumbClass}--hidden`);\n const w = el.offsetWidth;\n if (hide) {\n el.classList.add(`${crumbClass}--hidden`);\n }\n el.style.minWidth = \"\";\n el.style.maxWidth = \"\";\n return w;\n },\n /**\n * Prevents the default of a provided event\n *\n * @param {object} e The event\n * @return {boolean}\n */\n preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n },\n /**\n * Handles the drag start.\n * Prevents a breadcrumb from being draggable.\n *\n * @param {object} e The event\n * @return {boolean}\n */\n dragStart(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles when something is dropped on the breadcrumb.\n *\n * @param {object} e The drop event\n * @param {string} path The path of the breadcrumb\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n * @return {boolean}\n */\n dropped(e, path, disabled) {\n if (!disabled) {\n this.$emit(\"dropped\", e, path);\n }\n this.menuBreadcrumbProps.open = false;\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n return this.preventDefault(e);\n },\n /**\n * Handles the drag over event\n *\n * @param {object} e The drag over event\n * @return {boolean}\n */\n dragOver(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles the drag enter event\n *\n * @param {object} e The drag over event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragEnter(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.classList && target.classList.contains(crumbClass)) {\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n for (const crumb of crumbs) {\n crumb.classList.remove(`${crumbClass}--hovered`);\n }\n target.classList.add(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Handles the drag leave event\n *\n * @param {object} e The drag leave event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragLeave(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.contains(e.relatedTarget)) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.contains(e.relatedTarget)) {\n return;\n }\n if (target.classList && target.classList.contains(crumbClass)) {\n target.classList.remove(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Check for each crumb if we have to hide it and\n * add it to the array of all crumbs.\n */\n hideCrumbs() {\n this.breadcrumbsRefs.forEach((crumb, i) => {\n if (crumb?.$el?.classList) {\n if (this.hiddenIndices.includes(i)) {\n crumb.$el.classList.add(`${crumbClass}--hidden`);\n } else {\n crumb.$el.classList.remove(`${crumbClass}--hidden`);\n }\n }\n });\n },\n isBreadcrumb(vnode) {\n return vnode?.type?.name === \"NcBreadcrumb\";\n }\n },\n /**\n * The render function to display the component\n *\n * @return {object|undefined} The created VNode\n */\n render() {\n let breadcrumbs = [];\n this.$slots.default?.().forEach((vnode) => {\n if (this.isBreadcrumb(vnode)) {\n breadcrumbs.push(vnode);\n return;\n }\n if (vnode?.type === Fragment) {\n vnode?.children?.forEach?.((child) => {\n if (this.isBreadcrumb(child)) {\n breadcrumbs.push(child);\n }\n });\n }\n });\n if (breadcrumbs.length === 0) {\n return;\n }\n breadcrumbs[0] = cloneVNode(breadcrumbs[0], {\n icon: this.rootIcon,\n ref: \"breadcrumbs\"\n });\n const breadcrumbsRefs = [];\n breadcrumbs = breadcrumbs.map((crumb, index) => cloneVNode(crumb, {\n ref: (crumb2) => {\n breadcrumbsRefs[index] = crumb2;\n }\n }));\n const crumbs = [...breadcrumbs];\n if (this.hiddenIndices.length) {\n crumbs.splice(\n Math.round(breadcrumbs.length / 2),\n 0,\n // The Actions menu\n // Use a breadcrumb component for the hidden breadcrumbs\n h(NcBreadcrumb, {\n class: \"dropdown\",\n ...this.menuBreadcrumbProps,\n // Hide the dropdown menu from screen-readers,\n // since the crumbs in the menu are still in the list.\n \"aria-hidden\": true,\n // Add a ref to the Actions menu\n ref: \"actionsBreadcrumb\",\n key: \"actions-breadcrumb-1\",\n // Add handlers so the Actions menu opens on hover\n onDragenter: () => {\n this.menuBreadcrumbProps.open = true;\n },\n onDragleave: this.closeActions,\n // Make sure we keep the same open state\n // as the Actions component\n \"onUpdate:open\": (open) => {\n this.menuBreadcrumbProps.open = open;\n }\n // Add all hidden breadcrumbs as ActionRouter or ActionLink\n }, {\n default: () => this.hiddenIndices.filter((index) => index <= breadcrumbs.length - 1).map((index) => {\n const crumb = breadcrumbs[index];\n const {\n // Get the parameters from the breadcrumb component props\n to,\n href,\n disableDrop,\n name,\n // Props to forward\n ...propsToForward\n } = crumb.props;\n delete propsToForward.ref;\n let element = NcActionButton;\n let path = \"\";\n if (href) {\n element = NcActionLink;\n path = href;\n }\n if (to) {\n element = NcActionRouter;\n path = to;\n }\n const folderIcon = h(IconFolder, {\n size: 20\n });\n return h(element, {\n ...propsToForward,\n class: crumbClass,\n href: href || null,\n to: to || null,\n // Prevent the breadcrumbs from being draggable\n draggable: false,\n // Add the drag and drop handlers\n onDragstart: this.dragStart,\n onDrop: ($event) => this.dropped($event, path, disableDrop),\n onDragover: this.dragOver,\n onDragenter: ($event) => this.dragEnter($event, disableDrop),\n onDragleave: ($event) => this.dragLeave($event, disableDrop)\n }, {\n default: () => name,\n icon: () => folderIcon\n });\n })\n })\n );\n }\n const wrapper = [h(\"nav\", { \"aria-label\": this.ariaLabel }, [h(\"ul\", { class: \"breadcrumb__crumbs\" }, [crumbs])])];\n if (isSlotPopulated(this.$slots.actions?.())) {\n wrapper.push(h(\"div\", { class: \"breadcrumb__actions\", ref: \"breadcrumb__actions\" }, this.$slots.actions?.()));\n }\n this.breadcrumbsRefs = breadcrumbsRefs;\n return h(\"div\", { class: [\"breadcrumb\", { \"breadcrumb--collapsed\": this.hiddenIndices.length === breadcrumbs.length - 2 }], ref: \"container\" }, wrapper);\n }\n};\nconst NcBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-5a4d73af\"]]);\nexport {\n NcBreadcrumbs as N\n};\n//# sourceMappingURL=NcBreadcrumbs.mjs.map\n","import { getLanguage, getCanonicalLocale } from \"@nextcloud/l10n\";\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers, orders) {\n identifiers = identifiers ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a, b) => {\n for (const [index, identifier] of identifiers.entries()) {\n const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nexport {\n orderBy\n};\n//# sourceMappingURL=sorting.mjs.map\n","import { FileType } from \"../node/fileType.mjs\";\nimport { orderBy } from \"./sorting.mjs\";\nconst FilesSortingMode = Object.freeze({\n Name: \"basename\",\n Modified: \"mtime\",\n Size: \"size\"\n});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: FilesSortingMode.Name,\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n function basename(node) {\n const name = node.displayname || node.attributes?.displayname || node.basename || \"\";\n if (node.type === FileType.Folder) {\n return name;\n }\n return name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n }\n const identifiers = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== FilesSortingMode.Name ? [(v) => v[sortingOptions.sortingMode] ?? v.attributes[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename(v),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === FilesSortingMode.Modified ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== FilesSortingMode.Modified && sortingOptions.sortingMode !== FilesSortingMode.Name ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers, orders);\n}\nexport {\n FilesSortingMode,\n sortNodes\n};\n//# sourceMappingURL=fileSorting.mjs.map\n","import { getCapabilities } from \"@nextcloud/capabilities\";\nconst InvalidFilenameErrorReason = Object.freeze({\n ReservedName: \"reserved name\",\n Character: \"character\",\n Extension: \"extension\"\n});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: InvalidFilenameErrorReason.Character, filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({ filename, segment: filename, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename)) {\n throw new InvalidFilenameError({ filename, segment: basename, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: InvalidFilenameErrorReason.Extension, filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nexport {\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n isFilenameValid,\n validateFilename\n};\n//# sourceMappingURL=filename-validation.mjs.map\n","import { FileType } from \"@nextcloud/files\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { ref, watchEffect, toValue } from \"vue\";\nimport PQueue from \"p-queue\";\nconst queue = new PQueue({ concurrency: 5 });\nfunction preloadImage(url) {\n const { resolve, promise } = Promise.withResolvers();\n queue.add(() => {\n const image = new Image();\n image.onerror = () => resolve(false);\n image.onload = () => resolve(true);\n image.src = url;\n return promise;\n });\n return promise;\n}\nfunction getPreviewURL(node, options = {}) {\n options = { size: 32, cropPreview: false, mimeFallback: true, ...options };\n try {\n const previewUrl = node.attributes?.previewUrl || generateUrl(\"/core/preview?fileId={fileid}\", {\n fileid: node.fileid\n });\n let url;\n try {\n url = new URL(previewUrl);\n } catch {\n url = new URL(previewUrl, window.location.origin);\n }\n url.searchParams.set(\"x\", `${options.size}`);\n url.searchParams.set(\"y\", `${options.size}`);\n url.searchParams.set(\"mimeFallback\", `${options.mimeFallback}`);\n url.searchParams.set(\"a\", options.cropPreview === true ? \"0\" : \"1\");\n url.searchParams.set(\"c\", `${node.attributes.etag}`);\n return url;\n } catch {\n return null;\n }\n}\nfunction usePreviewURL(node, options) {\n const previewURL = ref(null);\n const previewLoaded = ref(false);\n watchEffect(() => {\n previewLoaded.value = false;\n previewURL.value = getPreviewURL(toValue(node), toValue(options || {}));\n if (previewURL.value && toValue(node).type === FileType.File) {\n preloadImage(previewURL.value.href).then((success) => {\n previewLoaded.value = success;\n });\n }\n });\n return {\n previewURL,\n previewLoaded\n };\n}\nexport {\n getPreviewURL as g,\n usePreviewURL as u\n};\n//# sourceMappingURL=preview.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, defineComponent, ref, computed, toRef, normalizeClass, normalizeStyle, unref, Fragment, createBlock, createVNode, toHandlers, withModifiers, onMounted, toValue, useModel, onUnmounted, withCtx, createTextVNode, renderList, mergeModels, nextTick, useTemplateRef, createSlots, shallowRef, watch } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcEmptyContent from \"@nextcloud/vue/components/NcEmptyContent\";\nimport { _ as _export_sfc, t, l as logger, s as showError } from \"./index.mjs\";\nimport { FileType, Permission, formatFileSize, sortNodes, validateFilename, InvalidFilenameError, InvalidFilenameErrorReason } from \"@nextcloud/files\";\nimport NcButton from \"@nextcloud/vue/components/NcButton\";\nimport NcCheckboxRadioSwitch from \"@nextcloud/vue/components/NcCheckboxRadioSwitch\";\nimport { extname, join } from \"@nextcloud/paths\";\nimport NcDateTime from \"@nextcloud/vue/components/NcDateTime\";\nimport { mdiKey, mdiTagOutline, mdiLink, mdiAccountPlus, mdiAccountGroupOutline, mdiNetworkOutline, mdiFolder, mdiClock, mdiStar } from \"@mdi/js\";\nimport { ShareType } from \"@nextcloud/sharing\";\nimport NcIconSvgWrapper from \"@nextcloud/vue/components/NcIconSvgWrapper\";\nimport { u as usePreviewURL } from \"./preview.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { isPublicShare } from \"@nextcloud/sharing/public\";\nimport NcActionInput from \"@nextcloud/vue/components/NcActionInput\";\nimport NcActions from \"@nextcloud/vue/components/NcActions\";\nimport NcBreadcrumb from \"@nextcloud/vue/components/NcBreadcrumb\";\nimport NcBreadcrumbs from \"@nextcloud/vue/components/NcBreadcrumbs\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport NcSelect from \"@nextcloud/vue/components/NcSelect\";\nimport NcTextField from \"@nextcloud/vue/components/NcTextField\";\nimport { getRecentSearch, resultToNode, defaultRootPath, getDefaultPropfind, getClient, getFavoriteNodes } from \"@nextcloud/files/dav\";\nconst _sfc_main$e = {\n name: \"FileIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$c = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$b = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$a = { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" };\nconst _hoisted_4$a = { key: 0 };\nfunction _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon file-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$a, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$a, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$b))\n ], 16, _hoisted_1$c);\n}\nconst IconFile = /* @__PURE__ */ _export_sfc(_sfc_main$e, [[\"render\", _sfc_render$7]]);\nconst _sfc_main$d = {\n name: \"MenuDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$b = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$a = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$9 = { d: \"M7,10L12,15L17,10H7Z\" };\nconst _hoisted_4$9 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$9, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$9, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$a))\n ], 16, _hoisted_1$b);\n}\nconst IconSortDescending = /* @__PURE__ */ _export_sfc(_sfc_main$d, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$c = {\n name: \"MenuUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$a = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$9 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$8 = { d: \"M7,15L12,10L17,15H7Z\" };\nconst _hoisted_4$8 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon menu-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$8, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$8, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$9))\n ], 16, _hoisted_1$a);\n}\nconst IconSortAscending = /* @__PURE__ */ _export_sfc(_sfc_main$c, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$b = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$9 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$8 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$7 = { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" };\nconst _hoisted_4$7 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon folder-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$7, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$7, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$8))\n ], 16, _hoisted_1$9);\n}\nconst IconFolder = /* @__PURE__ */ _export_sfc(_sfc_main$b, [[\"render\", _sfc_render$4]]);\nconst fileListIconStyles = {\n \"file-picker__file-icon\": \"_file-picker__file-icon_1aykw_9\",\n \"file-picker__file-icon--primary\": \"_file-picker__file-icon--primary_1aykw_22\",\n \"file-picker__file-icon-overlay\": \"_file-picker__file-icon-overlay_1aykw_26\"\n};\nconst _sfc_main$a = /* @__PURE__ */ defineComponent({\n __name: \"FilePreview\",\n props: {\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const fileListIconStyles$1 = ref(fileListIconStyles);\n const {\n previewURL,\n previewLoaded\n } = usePreviewURL(toRef(props, \"node\"), computed(() => ({ cropPreview: props.cropImagePreviews })));\n const isFile = computed(() => props.node.type === FileType.File);\n const folderDecorationIcon = computed(() => {\n if (props.node.type !== FileType.Folder) {\n return null;\n }\n if (props.node.attributes?.[\"is-encrypted\"] === 1) {\n return mdiKey;\n }\n if (props.node.attributes?.[\"is-tag\"]) {\n return mdiTagOutline;\n }\n const shareTypes = Object.values(props.node.attributes?.[\"share-types\"] || {}).flat();\n if (shareTypes.some((type) => type === ShareType.Link || type === ShareType.Email)) {\n return mdiLink;\n }\n if (shareTypes.length > 0) {\n return mdiAccountPlus;\n }\n switch (props.node.attributes?.[\"mount-type\"]) {\n case \"external\":\n case \"external-session\":\n return mdiNetworkOutline;\n case \"group\":\n return mdiAccountGroupOutline;\n case \"shared\":\n return mdiAccountPlus;\n }\n return null;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n style: normalizeStyle(unref(previewLoaded) ? { backgroundImage: `url(${unref(previewURL)})` } : void 0),\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon\"])\n }, [\n !unref(previewLoaded) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n isFile.value ? (openBlock(), createBlock(IconFile, {\n key: 0,\n size: 32\n })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n folderDecorationIcon.value ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 0,\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon-overlay\"]),\n inline: \"\",\n path: folderDecorationIcon.value,\n size: 16\n }, null, 8, [\"class\", \"path\"])) : createCommentVNode(\"\", true),\n createVNode(IconFolder, {\n class: normalizeClass(fileListIconStyles$1.value[\"file-picker__file-icon--primary\"]),\n size: 32\n }, null, 8, [\"class\"])\n ], 64))\n ], 64)) : createCommentVNode(\"\", true)\n ], 6);\n };\n }\n});\nconst _hoisted_1$8 = [\"tabindex\", \"aria-selected\", \"data-filename\"];\nconst _hoisted_2$7 = { class: \"row-name\" };\nconst _hoisted_3$6 = {\n class: \"file-picker__name-container\",\n \"data-testid\": \"row-name\"\n};\nconst _hoisted_4$6 = [\"title\", \"textContent\"];\nconst _hoisted_5$1 = [\"textContent\"];\nconst _hoisted_6$1 = { class: \"row-size\" };\nconst _hoisted_7$1 = { class: \"row-modified\" };\nconst _sfc_main$9 = /* @__PURE__ */ defineComponent({\n __name: \"FileListRow\",\n props: {\n allowPickDirectory: { type: Boolean },\n selected: { type: Boolean },\n showCheckbox: { type: Boolean },\n canPick: { type: Boolean },\n node: {},\n cropImagePreviews: { type: Boolean }\n },\n emits: [\"update:selected\", \"enterDirectory\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const timestamp = computed(() => props.node.mtime ?? 0);\n const fileExtension = computed(() => extname(props.node.displayname));\n const displayName = computed(() => props.node.displayname.slice(0, fileExtension.value ? -fileExtension.value.length : void 0));\n const isDirectory = computed(() => props.node.type === FileType.Folder);\n const isPickable = computed(() => props.canPick && (props.allowPickDirectory || !isDirectory.value));\n const isNavigatable = computed(() => (props.node.permissions & Permission.READ) === Permission.READ);\n function toggleSelected() {\n if (!isPickable.value) {\n return;\n }\n emit2(\"update:selected\", !props.selected);\n }\n function handleClick() {\n if (isDirectory.value) {\n if (isNavigatable.value) {\n emit2(\"enterDirectory\", props.node);\n }\n } else {\n toggleSelected();\n }\n }\n function handleKeyDown(event) {\n if (event.key === \"Enter\") {\n handleClick();\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", mergeProps({\n tabindex: __props.showCheckbox && !isDirectory.value ? void 0 : 0,\n \"aria-selected\": !isPickable.value ? void 0 : __props.selected,\n class: [\"file-picker__row\", [\n {\n \"file-picker__row--selected\": __props.selected && !__props.showCheckbox,\n \"file-picker__row--not-navigatable\": isDirectory.value && !isNavigatable.value,\n \"file-picker__row--not-pickable\": !isPickable.value\n }\n ]],\n \"data-filename\": __props.node.basename,\n \"data-testid\": \"file-list-row\"\n }, toHandlers({\n click: handleClick,\n /* same as tabindex -> if we hide the checkbox or this is a directory we need keyboard access to enter the directory or select the node */\n ...!__props.showCheckbox || isDirectory.value ? { keydown: handleKeyDown } : {}\n }, true)), [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", {\n key: 0,\n class: \"row-checkbox\",\n onClick: withModifiers(() => {\n }, [\"stop\"])\n }, [\n createVNode(unref(NcCheckboxRadioSwitch), {\n \"aria-label\": unref(t)(\"Select the row for {nodename}\", { nodename: displayName.value }),\n disabled: !isPickable.value,\n \"data-testid\": \"row-checkbox\",\n modelValue: __props.selected,\n \"onUpdate:modelValue\": toggleSelected\n }, null, 8, [\"aria-label\", \"disabled\", \"modelValue\"])\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_2$7, [\n createElementVNode(\"div\", _hoisted_3$6, [\n createVNode(_sfc_main$a, {\n node: __props.node,\n cropImagePreviews: __props.cropImagePreviews\n }, null, 8, [\"node\", \"cropImagePreviews\"]),\n createElementVNode(\"div\", {\n class: \"file-picker__file-name\",\n title: displayName.value,\n textContent: toDisplayString(displayName.value)\n }, null, 8, _hoisted_4$6),\n createElementVNode(\"div\", {\n class: \"file-picker__file-extension\",\n textContent: toDisplayString(fileExtension.value)\n }, null, 8, _hoisted_5$1)\n ])\n ]),\n createElementVNode(\"td\", _hoisted_6$1, toDisplayString(unref(formatFileSize)(__props.node.size || 0)), 1),\n createElementVNode(\"td\", _hoisted_7$1, [\n createVNode(unref(NcDateTime), {\n timestamp: timestamp.value,\n ignoreSeconds: \"\"\n }, null, 8, [\"timestamp\"])\n ])\n ], 16, _hoisted_1$8);\n };\n }\n});\nconst FileListRow = /* @__PURE__ */ _export_sfc(_sfc_main$9, [[\"__scopeId\", \"data-v-7857e8bd\"]]);\nconst _hoisted_1$7 = {\n \"aria-hidden\": \"true\",\n class: \"file-picker__row loading-row\"\n};\nconst _hoisted_2$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_3$5 = { class: \"row-name\" };\nconst _hoisted_4$5 = { class: \"row-wrapper\" };\nconst _sfc_main$8 = /* @__PURE__ */ defineComponent({\n __name: \"LoadingTableRow\",\n props: {\n showCheckbox: { type: Boolean }\n },\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", _hoisted_1$7, [\n __props.showCheckbox ? (openBlock(), createElementBlock(\"td\", _hoisted_2$6, [..._cache[0] || (_cache[0] = [\n createElementVNode(\"span\", null, null, -1)\n ])])) : createCommentVNode(\"\", true),\n createElementVNode(\"td\", _hoisted_3$5, [\n createElementVNode(\"div\", _hoisted_4$5, [\n createElementVNode(\"span\", {\n class: normalizeClass(unref(fileListIconStyles)[\"file-picker__file-icon\"])\n }, null, 2),\n _cache[1] || (_cache[1] = createElementVNode(\"span\", null, null, -1))\n ])\n ]),\n _cache[2] || (_cache[2] = createElementVNode(\"td\", { class: \"row-size\" }, [\n createElementVNode(\"span\")\n ], -1)),\n _cache[3] || (_cache[3] = createElementVNode(\"td\", { class: \"row-modified\" }, [\n createElementVNode(\"span\")\n ], -1))\n ]);\n };\n }\n});\nconst LoadingTableRow = /* @__PURE__ */ _export_sfc(_sfc_main$8, [[\"__scopeId\", \"data-v-1f96131b\"]]);\nfunction useFilesSettings() {\n const filesUserState = loadState(\"files\", \"config\", null);\n const showHiddenFiles = ref(filesUserState?.show_hidden ?? true);\n const sortFavoritesFirst = ref(filesUserState?.sort_favorites_first ?? true);\n const cropImagePreviews = ref(filesUserState?.crop_image_previews ?? true);\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/configs\"));\n showHiddenFiles.value = data?.data?.show_hidden ?? false;\n sortFavoritesFirst.value = data?.data?.sort_favorites_first ?? true;\n cropImagePreviews.value = data?.data?.crop_image_previews ?? true;\n } catch (error) {\n logger.error(\"Could not load files settings\", { error });\n showError(t(\"Could not load files settings\"));\n }\n } else {\n logger.debug(\"Skip loading files settings - currently on public share\");\n }\n });\n return {\n showHiddenFiles,\n sortFavoritesFirst,\n cropImagePreviews\n };\n}\nfunction useFilesViews(currentView) {\n const convertOrder = (order2) => order2 === \"asc\" ? \"ascending\" : order2 === \"desc\" ? \"descending\" : \"none\";\n const filesViewsState = loadState(\"files\", \"viewConfigs\", null);\n const filesViewConfig = ref({\n sortBy: filesViewsState?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.files?.sorting_direction ?? \"asc\")\n });\n const recentViewConfig = ref({\n sortBy: filesViewsState?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.recent?.sorting_direction ?? \"asc\")\n });\n const favoritesViewConfig = ref({\n sortBy: filesViewsState?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(filesViewsState?.favorites?.sorting_direction ?? \"asc\")\n });\n onMounted(async () => {\n if (!isPublicShare()) {\n try {\n const { data } = await axios.get(generateUrl(\"/apps/files/api/v1/views\"));\n filesViewConfig.value = {\n sortBy: data?.data?.files?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.files?.sorting_direction)\n };\n favoritesViewConfig.value = {\n sortBy: data?.data?.favorites?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.favorites?.sorting_direction)\n };\n recentViewConfig.value = {\n sortBy: data?.data?.recent?.sorting_mode ?? \"basename\",\n order: convertOrder(data?.data?.recent?.sorting_direction)\n };\n } catch (error) {\n logger.error(\"Could not load files views\", { error });\n showError(t(\"Could not load files views\"));\n }\n } else {\n logger.debug(\"Skip loading files views - currently on public share\");\n }\n });\n const currentConfig = computed(() => toValue(currentView || \"files\") === \"files\" ? filesViewConfig.value : toValue(currentView) === \"recent\" ? recentViewConfig.value : favoritesViewConfig.value);\n const sortBy = computed(() => currentConfig.value.sortBy);\n const order = computed(() => currentConfig.value.order);\n return {\n filesViewConfig,\n favoritesViewConfig,\n recentViewConfig,\n currentConfig,\n sortBy,\n order\n };\n}\nconst _hoisted_1$6 = {\n key: 0,\n class: \"row-checkbox\"\n};\nconst _hoisted_2$5 = { class: \"hidden-visually\" };\nconst _hoisted_3$4 = [\"aria-sort\"];\nconst _hoisted_4$4 = { class: \"header-wrapper\" };\nconst _hoisted_5 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_6 = [\"aria-sort\"];\nconst _hoisted_7 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _hoisted_8 = [\"aria-sort\"];\nconst _hoisted_9 = {\n key: 2,\n style: { \"width\": \"44px\" }\n};\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"FileList\",\n props: /* @__PURE__ */ mergeModels({\n currentView: {},\n multiselect: { type: Boolean },\n allowPickDirectory: { type: Boolean },\n loading: { type: Boolean },\n files: {},\n canPick: { type: Function }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {},\n \"selectedFiles\": { required: true },\n \"selectedFilesModifiers\": {}\n }),\n emits: [\"update:path\", \"update:selectedFiles\"],\n setup(__props) {\n const path = useModel(__props, \"path\");\n const selectedFiles = useModel(__props, \"selectedFiles\");\n const props = __props;\n const customSortingConfig = ref();\n const { currentConfig: filesAppSorting } = useFilesViews(props.currentView);\n const sortingConfig = computed(() => customSortingConfig.value ?? filesAppSorting.value);\n const sortByName = computed(() => sortingConfig.value.sortBy === \"basename\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortBySize = computed(() => sortingConfig.value.sortBy === \"size\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n const sortByModified = computed(() => sortingConfig.value.sortBy === \"mtime\" ? sortingConfig.value.order === \"none\" ? void 0 : sortingConfig.value.order : void 0);\n function toggleSorting(sortBy) {\n if (sortingConfig.value.sortBy === sortBy) {\n if (sortingConfig.value.order === \"ascending\") {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"descending\" };\n } else {\n customSortingConfig.value = { sortBy: sortingConfig.value.sortBy, order: \"ascending\" };\n }\n } else {\n customSortingConfig.value = { sortBy, order: \"ascending\" };\n }\n }\n const { sortFavoritesFirst, cropImagePreviews } = useFilesSettings();\n const sortedFiles = computed(() => {\n return sortNodes(props.files, {\n sortFoldersFirst: true,\n sortFavoritesFirst: sortFavoritesFirst.value,\n sortingOrder: sortingConfig.value.order === \"descending\" ? \"desc\" : \"asc\",\n sortingMode: sortingConfig.value.sortBy\n });\n });\n const selectableFiles = computed(() => props.files.filter((file) => props.allowPickDirectory || file.type !== FileType.Folder));\n const allSelected = computed(() => !props.loading && selectedFiles.value.length > 0 && selectedFiles.value.length >= selectableFiles.value.length);\n function onSelectAll() {\n if (selectedFiles.value.length < selectableFiles.value.length) {\n selectedFiles.value = [...selectableFiles.value];\n } else {\n selectedFiles.value = [];\n }\n }\n function onNodeSelected(file) {\n if (selectedFiles.value.includes(file)) {\n selectedFiles.value = selectedFiles.value.filter((f) => f.path !== file.path);\n } else {\n if (props.multiselect) {\n selectedFiles.value = [...selectedFiles.value, file];\n } else {\n selectedFiles.value = [file];\n }\n }\n }\n function onChangeDirectory(dir) {\n path.value = dir.path;\n }\n const skeletonNumber = ref(4);\n const fileContainer = ref();\n {\n const resize = () => nextTick(() => {\n const nodes = fileContainer.value?.parentElement?.children || [];\n let height = fileContainer.value?.parentElement?.clientHeight || 450;\n for (let index = 0; index < nodes.length; index++) {\n if (!fileContainer.value?.isSameNode(nodes[index])) {\n height -= nodes[index].clientHeight;\n }\n }\n skeletonNumber.value = Math.max(1, Math.floor((height - 50) / 50));\n });\n onMounted(() => {\n window.addEventListener(\"resize\", resize);\n resize();\n });\n onUnmounted(() => {\n window.removeEventListener(\"resize\", resize);\n });\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"fileContainer\",\n ref: fileContainer,\n class: \"file-picker__files\"\n }, [\n createElementVNode(\"table\", null, [\n createElementVNode(\"thead\", null, [\n createElementVNode(\"tr\", null, [\n __props.multiselect ? (openBlock(), createElementBlock(\"th\", _hoisted_1$6, [\n createElementVNode(\"span\", _hoisted_2$5, toDisplayString(unref(t)(\"Select entry\")), 1),\n __props.multiselect ? (openBlock(), createBlock(unref(NcCheckboxRadioSwitch), {\n key: 0,\n \"aria-label\": unref(t)(\"Select all entries\"),\n \"data-testid\": \"select-all-checkbox\",\n modelValue: allSelected.value,\n \"onUpdate:modelValue\": onSelectAll\n }, null, 8, [\"aria-label\", \"modelValue\"])) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByName.value,\n class: \"row-name\"\n }, [\n createElementVNode(\"div\", _hoisted_4$4, [\n _cache[3] || (_cache[3] = createElementVNode(\"span\", { class: \"file-picker__header-preview\" }, null, -1)),\n createVNode(unref(NcButton), {\n \"data-test\": \"file-picker_sort-name\",\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[0] || (_cache[0] = ($event) => toggleSorting(\"basename\"))\n }, {\n icon: withCtx(() => [\n sortByName.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByName.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_5))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Name\")), 1)\n ]),\n _: 1\n })\n ])\n ], 8, _hoisted_3$4),\n createElementVNode(\"th\", {\n \"aria-sort\": sortBySize.value,\n class: \"row-size\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[1] || (_cache[1] = ($event) => toggleSorting(\"size\"))\n }, {\n icon: withCtx(() => [\n sortBySize.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortBySize.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_7))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Size\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_6),\n createElementVNode(\"th\", {\n \"aria-sort\": sortByModified.value,\n class: \"row-modified\"\n }, [\n createVNode(unref(NcButton), {\n variant: \"tertiary\",\n wide: \"\",\n onClick: _cache[2] || (_cache[2] = ($event) => toggleSorting(\"mtime\"))\n }, {\n icon: withCtx(() => [\n sortByModified.value === \"ascending\" ? (openBlock(), createBlock(IconSortAscending, {\n key: 0,\n size: 20\n })) : sortByModified.value === \"descending\" ? (openBlock(), createBlock(IconSortDescending, {\n key: 1,\n size: 20\n })) : (openBlock(), createElementBlock(\"span\", _hoisted_9))\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(unref(t)(\"Modified\")), 1)\n ]),\n _: 1\n })\n ], 8, _hoisted_8)\n ])\n ]),\n createElementVNode(\"tbody\", null, [\n __props.loading ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(skeletonNumber.value, (index) => {\n return openBlock(), createBlock(LoadingTableRow, {\n key: index,\n showCheckbox: __props.multiselect\n }, null, 8, [\"showCheckbox\"]);\n }), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(sortedFiles.value, (file) => {\n return openBlock(), createBlock(FileListRow, {\n key: file.fileid || file.path,\n allowPickDirectory: __props.allowPickDirectory,\n showCheckbox: __props.multiselect,\n canPick: (__props.multiselect || selectedFiles.value.length === 0 || selectedFiles.value.includes(file)) && (__props.canPick === void 0 || __props.canPick(file)),\n selected: selectedFiles.value.includes(file),\n node: file,\n cropImagePreviews: unref(cropImagePreviews),\n \"onUpdate:selected\": ($event) => onNodeSelected(file),\n onEnterDirectory: onChangeDirectory\n }, null, 8, [\"allowPickDirectory\", \"showCheckbox\", \"canPick\", \"selected\", \"node\", \"cropImagePreviews\", \"onUpdate:selected\"]);\n }), 128))\n ])\n ])\n ], 512);\n };\n }\n});\nconst FileList = /* @__PURE__ */ _export_sfc(_sfc_main$7, [[\"__scopeId\", \"data-v-412efd5c\"]]);\nconst _sfc_main$6 = {\n name: \"HomeIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$4 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" };\nconst _hoisted_4$3 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon home-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$4))\n ], 16, _hoisted_1$5);\n}\nconst IconHome = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$5 = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon plus-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst IconPlus = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerBreadcrumbs\",\n props: /* @__PURE__ */ mergeModels({\n showMenu: { type: Boolean }\n }, {\n \"path\": { required: true },\n \"pathModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"createNode\"], [\"update:path\"]),\n setup(__props, { emit: __emit }) {\n const path = useModel(__props, \"path\");\n const emit2 = __emit;\n const actionsOpen = ref(false);\n const newNodeName = ref(\"\");\n const nameInput = useTemplateRef(\"nameInput\");\n function validateInput() {\n const name = newNodeName.value.trim();\n const input = nameInput.value?.$el?.querySelector(\"input\");\n let validity = \"\";\n try {\n validateFilename(name);\n } catch (error) {\n if (!(error instanceof InvalidFilenameError)) {\n throw error;\n }\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n validity = t('\"{char}\" is not allowed inside a folder name.', { char: error.segment });\n break;\n case InvalidFilenameErrorReason.ReservedName:\n validity = t('\"{segment}\" is a reserved name and not allowed for folder names.', { segment: error.segment });\n break;\n case InvalidFilenameErrorReason.Extension:\n validity = t('Folder names must not end with \"{extension}\".', { extension: error.segment });\n break;\n default:\n validity = t(\"Invalid folder name.\");\n }\n }\n if (input) {\n input.setCustomValidity(validity);\n }\n return validity === \"\";\n }\n function onSubmit() {\n const name = newNodeName.value.trim();\n if (validateInput()) {\n actionsOpen.value = false;\n emit2(\"createNode\", name);\n newNodeName.value = \"\";\n }\n }\n const pathElements = computed(() => path.value.split(\"/\").filter((v) => v !== \"\").map((v, i, elements) => ({\n name: v,\n path: \"/\" + elements.slice(0, i + 1).join(\"/\")\n })));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcBreadcrumbs), { class: \"file-picker__breadcrumbs\" }, createSlots({\n default: withCtx(() => [\n createVNode(unref(NcBreadcrumb), {\n name: unref(t)(\"All files\"),\n title: unref(t)(\"Home\"),\n onClick: _cache[0] || (_cache[0] = ($event) => path.value = \"/\")\n }, {\n icon: withCtx(() => [\n createVNode(IconHome, { size: 20 })\n ]),\n _: 1\n }, 8, [\"name\", \"title\"]),\n (openBlock(true), createElementBlock(Fragment, null, renderList(pathElements.value, (dir) => {\n return openBlock(), createBlock(unref(NcBreadcrumb), {\n key: dir.path,\n name: dir.name,\n title: dir.path,\n onClick: ($event) => path.value = dir.path\n }, null, 8, [\"name\", \"title\", \"onClick\"]);\n }), 128))\n ]),\n _: 2\n }, [\n __props.showMenu ? {\n name: \"actions\",\n fn: withCtx(() => [\n createVNode(unref(NcActions), {\n open: actionsOpen.value,\n \"onUpdate:open\": _cache[2] || (_cache[2] = ($event) => actionsOpen.value = $event),\n \"aria-label\": unref(t)(\"Create directory\"),\n forceMenu: true,\n forceName: true,\n menuName: unref(t)(\"New\"),\n variant: \"secondary\",\n onClose: _cache[3] || (_cache[3] = ($event) => newNodeName.value = \"\")\n }, {\n icon: withCtx(() => [\n createVNode(IconPlus, { size: 20 })\n ]),\n default: withCtx(() => [\n createVNode(unref(NcActionInput), {\n ref_key: \"nameInput\",\n ref: nameInput,\n modelValue: newNodeName.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event) => newNodeName.value = $event),\n validateInput\n ],\n label: unref(t)(\"New folder\"),\n placeholder: unref(t)(\"New folder name\"),\n onSubmit\n }, {\n icon: withCtx(() => [\n createVNode(IconFolder, { size: 20 })\n ]),\n _: 1\n }, 8, [\"modelValue\", \"label\", \"placeholder\"])\n ]),\n _: 1\n }, 8, [\"open\", \"aria-label\", \"menuName\"])\n ]),\n key: \"0\"\n } : void 0\n ]), 1024);\n };\n }\n});\nconst FilePickerBreadcrumbs = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"__scopeId\", \"data-v-b448b141\"]]);\nconst _sfc_main$3 = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$1]]);\nconst _sfc_main$2 = {\n name: \"MagnifyIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon magnify-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$2);\n}\nconst IconMagnify = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render]]);\nfunction useViews(isAnonymous) {\n const allViews = [\n {\n id: \"files\",\n label: t(\"All files\"),\n icon: mdiFolder\n },\n {\n id: \"recent\",\n label: t(\"Recent\"),\n icon: mdiClock\n },\n {\n id: \"favorites\",\n label: t(\"Favorites\"),\n icon: mdiStar\n }\n ];\n const availableViews = isAnonymous.value ? allViews.filter(({ id }) => id === \"files\") : allViews;\n return {\n allViews,\n availableViews\n };\n}\nconst _hoisted_1$1 = {\n key: 0,\n class: \"file-picker__side\"\n};\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"FilePickerNavigation\",\n props: {\n currentView: {},\n filterString: {},\n isCollapsed: { type: Boolean },\n disabledNavigation: { type: Boolean }\n },\n emits: [\"update:currentView\", \"update:filterString\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit2 = __emit;\n const { availableViews } = useViews(ref(getCurrentUser() === null));\n const currentViewObject = computed(() => availableViews.filter((v) => v.id === props.currentView)[0] ?? availableViews[0]);\n const updateFilterValue = (value) => emit2(\"update:filterString\", value.toString());\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n createVNode(unref(NcTextField), {\n class: \"file-picker__filter-input\",\n label: unref(t)(\"Filter file list\"),\n showTrailingButton: !!__props.filterString,\n modelValue: __props.filterString,\n \"onUpdate:modelValue\": updateFilterValue,\n onTrailingButtonClick: _cache[0] || (_cache[0] = ($event) => updateFilterValue(\"\"))\n }, {\n \"trailing-button-icon\": withCtx(() => [\n createVNode(IconClose, { size: 16 })\n ]),\n default: withCtx(() => [\n createVNode(IconMagnify, { size: 16 })\n ]),\n _: 1\n }, 8, [\"label\", \"showTrailingButton\", \"modelValue\"]),\n unref(availableViews).length > 1 && !__props.disabledNavigation ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n !__props.isCollapsed ? (openBlock(), createElementBlock(\"ul\", _hoisted_1$1, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(availableViews), (view) => {\n return openBlock(), createElementBlock(\"li\", {\n key: view.id\n }, [\n createVNode(unref(NcButton), {\n variant: __props.currentView === view.id ? \"primary\" : \"tertiary\",\n wide: true,\n onClick: ($event) => _ctx.$emit(\"update:currentView\", view.id)\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n path: view.icon,\n size: 20\n }, null, 8, [\"path\"])\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(view.label), 1)\n ]),\n _: 2\n }, 1032, [\"variant\", \"onClick\"])\n ]);\n }), 128))\n ])) : (openBlock(), createBlock(unref(NcSelect), {\n key: 1,\n \"aria-label\": unref(t)(\"Current view selector\"),\n clearable: false,\n searchable: false,\n options: unref(availableViews),\n modelValue: currentViewObject.value,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event) => emit2(\"update:currentView\", $event.id))\n }, null, 8, [\"aria-label\", \"options\", \"modelValue\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ], 64);\n };\n }\n});\nconst FilePickerNavigation = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-e1c54e23\"]]);\nasync function getRecentNodes({ client, signal }) {\n const lastTwoWeek = Math.round(Date.now() / 1e3) - 60 * 60 * 24 * 14;\n const { data } = await client.search(\"/\", {\n signal,\n details: true,\n data: getRecentSearch(lastTwoWeek)\n });\n return data.results.map((result) => resultToNode(result));\n}\nasync function getNodes({ client, path, signal }) {\n const results = await client.getDirectoryContents(join(defaultRootPath, path), {\n signal,\n details: true,\n includeSelf: true,\n data: getDefaultPropfind()\n });\n const nodes = results.data.map((result) => resultToNode(result));\n return {\n contents: nodes.filter(({ path: nodePath }) => nodePath !== path),\n folder: nodes.find(({ path: nodePath }) => path === nodePath)\n };\n}\nasync function getFile(client, path) {\n const { data } = await client.stat(join(defaultRootPath, path), {\n details: true,\n data: getDefaultPropfind()\n });\n return resultToNode(data);\n}\nfunction useDAVFiles(currentView, currentPath) {\n const client = getClient();\n const files = shallowRef([]);\n const folder = shallowRef(null);\n const isLoading = ref(true);\n let abortController;\n async function createDirectory(name) {\n const path = join(currentPath.value, name);\n await client.createDirectory(join(defaultRootPath, path));\n const directory = await getFile(client, path);\n files.value = [...files.value, directory];\n return directory;\n }\n async function loadDAVFiles() {\n if (abortController) {\n abortController.abort();\n abortController = void 0;\n }\n abortController = new AbortController();\n isLoading.value = true;\n try {\n if (currentView.value === \"favorites\") {\n files.value = await getFavoriteNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = null;\n } else if (currentView.value === \"recent\") {\n files.value = await getRecentNodes({ client, signal: abortController.signal });\n folder.value = null;\n } else {\n const content = await getNodes({ client, path: currentPath.value, signal: abortController.signal });\n folder.value = content.folder;\n files.value = content.contents;\n }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n return;\n }\n throw error;\n } finally {\n abortController = void 0;\n isLoading.value = false;\n }\n }\n watch([currentView, currentPath], () => loadDAVFiles());\n onMounted(() => loadDAVFiles());\n return {\n isLoading,\n files,\n folder,\n loadFiles: loadDAVFiles,\n createDirectory\n };\n}\nfunction useMimeFilter(allowedMIMETypes) {\n const splittedTypes = computed(() => allowedMIMETypes.value.map((filter) => filter.split(\"/\")));\n const isSupportedMimeType = (mime) => {\n const mimeTypeArray = mime.split(\"/\");\n return splittedTypes.value.some(([type, subtype]) => (\n // check mime type matches or is wildcard\n (mimeTypeArray[0] === type || type === \"*\") && (mimeTypeArray[1] === subtype || subtype === \"*\")\n ));\n };\n return {\n isSupportedMimeType\n };\n}\nconst _hoisted_1 = { class: \"file-picker__main\" };\nconst _hoisted_2 = {\n key: 1,\n class: \"file-picker__view\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"FilePicker\",\n props: {\n buttons: {},\n name: {},\n allowPickDirectory: { type: Boolean, default: false },\n noMenu: { type: Boolean, default: false },\n disabledNavigation: { type: Boolean, default: false },\n filterFn: { type: Function, default: void 0 },\n canPickFn: { type: Function, default: void 0 },\n mimetypeFilter: { default: () => [] },\n multiselect: { type: Boolean, default: false },\n path: { default: void 0 }\n },\n emits: [\"close\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit$1 = __emit;\n const isOpen = ref(true);\n const currentView = ref(\"files\");\n const savedPath = ref(window?.sessionStorage.getItem(\"NC.FilePicker.LastPath\") || \"/\");\n const navigatedPath = ref(\"\");\n const currentPath = computed({\n get: () => {\n return currentView.value === \"files\" ? navigatedPath.value || props.path || savedPath.value : \"/\";\n },\n set: (path) => {\n navigatedPath.value = path;\n }\n });\n const selectedFiles = shallowRef([]);\n const filterString = ref(\"\");\n const {\n files,\n folder: currentFolder,\n isLoading,\n loadFiles,\n createDirectory\n } = useDAVFiles(currentView, currentPath);\n watch([navigatedPath], () => {\n if (props.path === void 0 && navigatedPath.value) {\n window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", navigatedPath.value);\n }\n selectedFiles.value = [];\n filterString.value = \"\";\n });\n let isHandlingCallback = false;\n const dialogButtons = computed(() => {\n const nodes = selectedFiles.value.length === 0 && props.allowPickDirectory && currentFolder.value && (!props.canPickFn || props.canPickFn(currentFolder.value)) ? [currentFolder.value] : selectedFiles.value;\n const buttons = typeof props.buttons === \"function\" ? props.buttons(nodes, currentPath.value, currentView.value) : props.buttons;\n return buttons.map((button) => ({\n ...button,\n disabled: button.disabled || isLoading.value,\n callback: () => {\n isHandlingCallback = true;\n handleButtonClick(button.callback, nodes);\n }\n }));\n });\n async function handleButtonClick(callback, nodes) {\n await callback(nodes);\n emit$1(\"close\", nodes);\n isHandlingCallback = false;\n }\n const viewHeadline = computed(() => currentView.value === \"favorites\" ? t(\"Favorites\") : currentView.value === \"recent\" ? t(\"Recent\") : \"\");\n const { isSupportedMimeType } = useMimeFilter(toRef(props, \"mimetypeFilter\"));\n onMounted(() => loadFiles());\n const { showHiddenFiles } = useFilesSettings();\n const filteredFiles = computed(() => {\n let filtered = files.value;\n if (!showHiddenFiles.value) {\n filtered = filtered.filter((file) => !file.basename.startsWith(\".\"));\n }\n if (props.mimetypeFilter.length > 0) {\n filtered = filtered.filter((file) => file.type === \"folder\" || file.mime && isSupportedMimeType(file.mime));\n }\n if (filterString.value) {\n filtered = filtered.filter((file) => file.basename.toLowerCase().includes(filterString.value.toLowerCase()));\n }\n if (props.filterFn) {\n filtered = filtered.filter((f) => props.filterFn(f));\n }\n return filtered;\n });\n const noFilesDescription = computed(() => {\n if (currentView.value === \"files\") {\n return t(\"Upload some content or sync with your devices!\");\n } else if (currentView.value === \"recent\") {\n return t(\"Files and folders you recently modified will show up here.\");\n } else {\n return t(\"Files and folders you mark as favorite will show up here.\");\n }\n });\n async function onCreateFolder(name) {\n try {\n const folder = await createDirectory(name);\n navigatedPath.value = folder.path;\n emit(\"files:node:created\", files.value.filter((file) => file.basename === name)[0]);\n } catch (error) {\n logger.warn(\"Could not create new folder\", { name, error });\n showError(t(\"Could not create the new folder\"));\n }\n }\n function handleClose(open) {\n if (!open && !isHandlingCallback) {\n emit$1(\"close\");\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcDialog), {\n open: isOpen.value,\n \"onUpdate:open\": [\n _cache[6] || (_cache[6] = ($event) => isOpen.value = $event),\n handleClose\n ],\n buttons: dialogButtons.value,\n name: __props.name,\n size: \"large\",\n contentClasses: \"file-picker__content\",\n dialogClasses: \"file-picker\",\n navigationClasses: \"file-picker__navigation\"\n }, {\n navigation: withCtx(({ isCollapsed }) => [\n createVNode(FilePickerNavigation, {\n currentView: currentView.value,\n \"onUpdate:currentView\": _cache[0] || (_cache[0] = ($event) => currentView.value = $event),\n filterString: filterString.value,\n \"onUpdate:filterString\": _cache[1] || (_cache[1] = ($event) => filterString.value = $event),\n isCollapsed,\n disabledNavigation: __props.disabledNavigation\n }, null, 8, [\"currentView\", \"filterString\", \"isCollapsed\", \"disabledNavigation\"])\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_1, [\n currentView.value === \"files\" ? (openBlock(), createBlock(FilePickerBreadcrumbs, {\n key: 0,\n path: currentPath.value,\n \"onUpdate:path\": _cache[2] || (_cache[2] = ($event) => currentPath.value = $event),\n showMenu: !__props.noMenu,\n onCreateNode: onCreateFolder\n }, null, 8, [\"path\", \"showMenu\"])) : (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n createElementVNode(\"h3\", null, toDisplayString(viewHeadline.value), 1)\n ])),\n unref(isLoading) || filteredFiles.value.length > 0 ? (openBlock(), createBlock(FileList, {\n key: 2,\n path: currentPath.value,\n \"onUpdate:path\": [\n _cache[3] || (_cache[3] = ($event) => currentPath.value = $event),\n _cache[5] || (_cache[5] = ($event) => currentView.value = \"files\")\n ],\n selectedFiles: selectedFiles.value,\n \"onUpdate:selectedFiles\": _cache[4] || (_cache[4] = ($event) => selectedFiles.value = $event),\n allowPickDirectory: __props.allowPickDirectory,\n currentView: currentView.value,\n files: filteredFiles.value,\n multiselect: __props.multiselect,\n loading: unref(isLoading),\n name: viewHeadline.value,\n canPick: __props.canPickFn\n }, null, 8, [\"path\", \"selectedFiles\", \"allowPickDirectory\", \"currentView\", \"files\", \"multiselect\", \"loading\", \"name\", \"canPick\"])) : filterString.value ? (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 3,\n name: unref(t)(\"No matching files\"),\n description: unref(t)(\"No files matching your filter were found.\")\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"])) : (openBlock(), createBlock(unref(NcEmptyContent), {\n key: 4,\n name: unref(t)(\"No files in here\"),\n description: noFilesDescription.value\n }, {\n icon: withCtx(() => [\n createVNode(IconFile)\n ]),\n _: 1\n }, 8, [\"name\", \"description\"]))\n ])\n ]),\n _: 1\n }, 8, [\"open\", \"buttons\", \"name\"]);\n };\n }\n});\nconst FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-39182aaf\"]]);\nexport {\n FilePicker as default\n};\n//# sourceMappingURL=FilePicker.mjs.map\n"],"names":["_sfc_main$1","_hoisted_1$1","_hoisted_2","_hoisted_3","_sfc_render$1","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","toDisplayString","createCommentVNode","createElementVNode","ChevronRight","_export_sfc","_sfc_main","NcActions","NcButton","crumbId","createElementId","open","e","_hoisted_1","_sfc_render","_component_NcButton","resolveComponent","_component_NcActions","_component_ChevronRight","normalizeClass","withModifiers","args","createBlock","createSlots","withCtx","renderSlot","createTextVNode","createVNode","NcBreadcrumb","IconFolder","crumbClass","NcActionButton","NcActionRouter","NcActionLink","debounce","subscribe","unsubscribe","nrCrumbs","hiddenIndices","availableWidth","totalWidth","overflow","i","startIndex","currentIndex","a","b","width","crumb","index","el","isLast","hide","w","path","disabled","crumbs","target","vnode","breadcrumbs","Fragment","child","cloneVNode","breadcrumbsRefs","crumb2","h","to","href","disableDrop","name","propsToForward","element","folderIcon","wrapper","isSlotPopulated","NcBreadcrumbs","stringify","value","orderBy","collection","identifiers","orders","sorting","_","collator","getLanguage","getCanonicalLocale","identifier","FilesSortingMode","sortNodes","nodes","options","sortingOptions","basename","node","FileType","v","InvalidFilenameErrorReason","InvalidFilenameError","validateFilename","filename","capabilities","getCapabilities","forbiddenCharacters","character","endOfBasename","forbiddenFilenameExtensions","extension","queue","PQueue","preloadImage","url","resolve","promise","image","getPreviewURL","previewUrl","generateUrl","usePreviewURL","previewURL","ref","previewLoaded","watchEffect","toValue","success","_sfc_main$e","_hoisted_1$c","_hoisted_2$b","_hoisted_3$a","_hoisted_4$a","_sfc_render$7","IconFile","_sfc_main$d","_hoisted_1$b","_hoisted_2$a","_hoisted_3$9","_hoisted_4$9","_sfc_render$6","IconSortDescending","_sfc_main$c","_hoisted_1$a","_hoisted_2$9","_hoisted_3$8","_hoisted_4$8","_sfc_render$5","IconSortAscending","_sfc_main$b","_hoisted_1$9","_hoisted_2$8","_hoisted_3$7","_hoisted_4$7","_sfc_render$4","fileListIconStyles","_sfc_main$a","defineComponent","__props","props","fileListIconStyles$1","toRef","computed","isFile","folderDecorationIcon","mdiKey","mdiTagOutline","shareTypes","type","ShareType","mdiLink","mdiAccountPlus","mdiNetworkOutline","mdiAccountGroupOutline","normalizeStyle","unref","NcIconSvgWrapper","_hoisted_1$8","_hoisted_2$7","_hoisted_3$6","_hoisted_4$6","_hoisted_5$1","_hoisted_6$1","_hoisted_7$1","_sfc_main$9","__emit","emit2","timestamp","fileExtension","extname","displayName","isDirectory","isPickable","isNavigatable","Permission","toggleSelected","handleClick","handleKeyDown","event","toHandlers","NcCheckboxRadioSwitch","t","formatFileSize","NcDateTime","FileListRow","_hoisted_1$7","_hoisted_2$6","_hoisted_3$5","_hoisted_4$5","_sfc_main$8","LoadingTableRow","useFilesSettings","filesUserState","loadState","showHiddenFiles","sortFavoritesFirst","cropImagePreviews","onMounted","isPublicShare","logger","data","axios","error","showError","useFilesViews","currentView","convertOrder","order2","filesViewsState","filesViewConfig","recentViewConfig","favoritesViewConfig","currentConfig","sortBy","order","_hoisted_1$6","_hoisted_2$5","_hoisted_3$4","_hoisted_4$4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_sfc_main$7","mergeModels","useModel","selectedFiles","customSortingConfig","filesAppSorting","sortingConfig","sortByName","sortBySize","sortByModified","toggleSorting","sortedFiles","selectableFiles","file","allSelected","onSelectAll","onNodeSelected","f","onChangeDirectory","dir","skeletonNumber","fileContainer","resize","nextTick","height","onUnmounted","renderList","FileList","_sfc_main$6","_hoisted_1$5","_hoisted_2$4","_hoisted_3$3","_hoisted_4$3","_sfc_render$3","IconHome","_sfc_main$5","_hoisted_1$4","_hoisted_2$3","_hoisted_3$2","_hoisted_4$2","_sfc_render$2","IconPlus","_sfc_main$4","actionsOpen","newNodeName","nameInput","useTemplateRef","validateInput","input","validity","onSubmit","pathElements","elements","NcActionInput","FilePickerBreadcrumbs","_sfc_main$3","_hoisted_1$3","_hoisted_2$2","_hoisted_3$1","_hoisted_4$1","IconClose","_sfc_main$2","_hoisted_1$2","_hoisted_2$1","_hoisted_4","IconMagnify","useViews","isAnonymous","allViews","mdiFolder","mdiClock","mdiStar","availableViews","id","getCurrentUser","currentViewObject","updateFilterValue","NcTextField","NcSelect","view","FilePickerNavigation","getRecentNodes","client","signal","lastTwoWeek","getRecentSearch","result","resultToNode","getNodes","join","defaultRootPath","getDefaultPropfind","nodePath","getFile","useDAVFiles","currentPath","getClient","files","shallowRef","folder","isLoading","abortController","createDirectory","directory","loadDAVFiles","getFavoriteNodes","content","watch","useMimeFilter","allowedMIMETypes","splittedTypes","filter","mime","mimeTypeArray","subtype","emit$1","isOpen","savedPath","navigatedPath","filterString","currentFolder","loadFiles","isHandlingCallback","dialogButtons","button","handleButtonClick","callback","viewHeadline","isSupportedMimeType","filteredFiles","filtered","noFilesDescription","onCreateFolder","emit","handleClose","NcDialog","isCollapsed","NcEmptyContent","FilePicker"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/dist/FilePicker-BuDsan9B.chunk.mjs.map.license b/dist/FilePicker-DAaoni96.chunk.mjs.map.license similarity index 84% rename from dist/FilePicker-BuDsan9B.chunk.mjs.map.license rename to dist/FilePicker-DAaoni96.chunk.mjs.map.license index e839076dd6f85..27d2e3bed1f0e 100644 --- a/dist/FilePicker-BuDsan9B.chunk.mjs.map.license +++ b/dist/FilePicker-DAaoni96.chunk.mjs.map.license @@ -6,6 +6,9 @@ This file is generated from multiple sources. Included packages: - @nextcloud/dialogs - version: 7.5.0 - license: AGPL-3.0-or-later +- @nextcloud/files + - version: 4.1.1 + - license: AGPL-3.0-or-later - @nextcloud/vue - version: 9.14.0 - license: AGPL-3.0-or-later diff --git a/dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs b/dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs new file mode 100644 index 0000000000000..52184afc8169d --- /dev/null +++ b/dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs @@ -0,0 +1,26 @@ +import{h as j,e as J}from"./index-DEc6kvRX.chunk.mjs";import{_ as E,a as P,m as te,g as se,b as Z,e as oe,j as ne,n as re,f as N}from"./externalStorageUtils-KuBigrYs.chunk.mjs";import{t as d,a as B}from"./translation-DoG5ZELJ-Bg6-4CB3.chunk.mjs";import{N as ae,h as le}from"./index-ab_1C7r3.chunk.mjs";import{D as ce,N as de}from"./TrashCanOutline-B7beOzq2.chunk.mjs";import{P as Y}from"./davProperties-DQigZkzf.chunk.mjs";import{_ as ue,f as ve}from"./index-DgO53NxA.chunk.mjs";import{l as me}from"./fileType-C3N8eFWN.chunk.mjs";import{N as I}from"./NcActionButton-Dg5R7G7t.chunk.mjs";import{N as pe}from"./NcActionRouter-BmOFewpm.chunk.mjs";import{N as fe}from"./NcAvatar-DrbDVplz.chunk.mjs";import{D as he,N as ge,s as be}from"./TrayArrowDown-t726MUOP.chunk.mjs";import{o as r,s as m,v as C,t as _,y,m as Q,b as O,r as $,c as H,w as h,u,n as D,e as S,k as g,E as G,g as ye,ab as X,i as M,K as ee,z as we,I as _e,J as Ce}from"./preload-helper-CAkfU8NC.chunk.mjs";import{P as ke}from"./PencilOutline-D_8aq9iQ.chunk.mjs";import{_ as Ve}from"./NcTextField.vue_vue_type_script_setup_true_lang-DGdPvPIN.chunk.mjs";import{c as Se}from"./index-x4yLQPPO.chunk.mjs";import{g as He}from"./dav-BneVTxEZ.chunk.mjs";import{w as ze}from"./index-DVbpcBH3.chunk.mjs";import"./createElementId-CYO-dDhf.chunk.mjs";import"./NcNoteCard-Bc_9sn5Y.chunk.mjs";import"./fileAction-BOfDVRqE.chunk.mjs";import"./colors-BOvRtbsP.chunk.mjs";import"./NcUserStatusIcon-DcFFwrTF.chunk.mjs";import"./NcInputField-ChKho6Gt.chunk.mjs";const Le={name:"BackupRestoreIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=["aria-hidden","aria-label"],$e=["fill","width","height"],xe={d:"M12,3A9,9 0 0,0 3,12H0L4,16L8,12H5A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19C10.5,19 9.09,18.5 7.94,17.7L6.5,19.14C8.04,20.3 9.94,21 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z"},Ee={key:0};function De(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon backup-restore-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",xe,[i.title?(r(),m("title",Ee,_(i.title),1)):y("",!0)])],8,$e))],16,Ae)}const Te=E(Le,[["render",De]]),Ne={name:"FileCompareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ie=["aria-hidden","aria-label"],Me=["fill","width","height"],Pe={d:"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V23H12V1H10M20,8V20C20,21.11 19.11,22 18,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z"},Be={key:0};function Oe(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon file-compare-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Pe,[i.title?(r(),m("title",Be,_(i.title),1)):y("",!0)])],8,Me))],16,Ie)}const Re=E(Ne,[["render",Oe]]),Ue={name:"ImageOffOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Fe=["aria-hidden","aria-label"],qe=["fill","width","height"],Ke={d:"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8"},We={key:0};function je(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon image-off-outline-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Ke,[i.title?(r(),m("title",We,_(i.title),1)):y("",!0)])],8,qe))],16,Fe)}const Je=E(Ue,[["render",je]]),Ye={key:0,class:"version__image"},Ze=["src"],Ge={key:2,class:"version__image"},Qe={class:"version__info"},Xe=["title"],ei={key:1,class:"version__info","data-cy-files-version-author-name":""},ii={key:0},ti=["title"],si={class:"version__info version__info__subline"},oi=O({__name:"VersionEntry",props:{version:{},node:{},isCurrent:{type:Boolean},isFirstVersion:{type:Boolean},loadPreview:{type:Boolean},canView:{type:Boolean},canCompare:{type:Boolean}},emits:["click","compare","restore","delete","labelUpdateRequest"],setup(e,{emit:t}){const i=e,l=t,c=$(!1),n=$(!1),a=$(me("core","capabilities",{files:{version_labeling:!1,version_deletion:!1}})),k=g(()=>ve(i.version.size)),f=g(()=>{const p=i.version.label??"";return i.isCurrent?p===""?d("files_versions","Current version"):`${p} (${d("files_versions","Current version")})`:i.isFirstVersion&&p===""?d("files_versions","Initial version"):p}),w=g(()=>!i.version.author||!i.version.authorName?"":i.version.author===P()?.uid?d("files_versions","You"):i.version.authorName??i.version.author),o=g(()=>new Date(i.version.mtime).toLocaleString([B(),B().split("-")[0]],{timeStyle:"long",dateStyle:"long"})),V=g(()=>i.isCurrent?i.node.source:te()+i.version.url),A=g(()=>a.value.files.version_labeling===!0),z=g(()=>a.value.files.version_deletion===!0),U=g(()=>b(i.node,Y.DELETE)),T=g(()=>b(i.node,Y.UPDATE)),F=g(()=>!((i.node.permissions&Y.READ)===0||i.node.attributes["mount-type"]==="shared"&&i.node.attributes["share-attributes"]&&(JSON.parse(i.node.attributes["share-attributes"]).find(p=>p.scope==="permissions"&&p.key==="download")||{})?.value===!1));function q(){l("labelUpdateRequest")}function K(){l("restore",i.version)}async function W(){await G(),await G(),l("delete",i.version)}function s(p){i.canView&&p.preventDefault(),l("click",i.version)}function v(){if(!i.canView)throw new Error("Cannot compare version of this file");l("compare",i.version)}function b(p,L){return(p.permissions&L)!==0}return(p,L)=>(r(),H(u(ge),{class:"version",forceDisplayActions:!0,"actions-aria-label":u(d)("files_versions","Actions for version from {versionHumanExplicitDate}",{versionHumanExplicitDate:o.value}),"data-files-versions-version":e.version.fileVersion,href:V.value,onClick:s},{icon:h(()=>[e.loadPreview||c.value?e.version.previewUrl&&!n.value?(r(),m("img",{key:1,src:e.version.previewUrl,alt:"",decoding:"async",fetchpriority:"low",loading:"lazy",class:"version__image",onLoad:L[0]||(L[0]=ie=>c.value=!0),onError:L[1]||(L[1]=ie=>n.value=!0)},null,40,Ze)):(r(),m("div",Ge,[S(Je,{size:20})])):(r(),m("div",Ye))]),name:h(()=>[C("div",Qe,[f.value?(r(),m("div",{key:0,class:"version__info__label","data-cy-files-version-label":"",title:f.value},_(f.value),9,Xe)):y("",!0),w.value?(r(),m("div",ei,[f.value?(r(),m("span",ii,"•")):y("",!0),S(u(fe),{class:"avatar",user:e.version.author??void 0,size:20,disableMenu:"",disableTooltip:"",hideStatus:""},null,8,["user"]),C("div",{class:"version__info__author_name",title:w.value},_(w.value),9,ti)])):y("",!0)])]),subname:h(()=>[C("div",si,[S(u(ue),{class:"version__info__date",relativeTime:"short",timestamp:e.version.mtime},null,8,["timestamp"]),L[2]||(L[2]=C("span",null,"•",-1)),C("span",null,_(k.value),1)])]),actions:h(()=>[A.value&&T.value?(r(),H(u(I),{key:0,"data-cy-files-versions-version-action":"label",closeAfterClick:!0,onClick:q},{icon:h(()=>[S(ke,{size:22})]),default:h(()=>[D(" "+_(e.version.label===""?u(d)("files_versions","Name this version"):u(d)("files_versions","Edit version name")),1)]),_:1})):y("",!0),!e.isCurrent&&e.canView&&e.canCompare?(r(),H(u(I),{key:1,"data-cy-files-versions-version-action":"compare",closeAfterClick:!0,onClick:v},{icon:h(()=>[S(Re,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Compare to current version")),1)]),_:1})):y("",!0),!e.isCurrent&&T.value?(r(),H(u(I),{key:2,"data-cy-files-versions-version-action":"restore",closeAfterClick:!0,onClick:K},{icon:h(()=>[S(Te,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Restore version")),1)]),_:1})):y("",!0),F.value?(r(),H(u(pe),{key:3,"data-cy-files-versions-version-action":"download",href:V.value,closeAfterClick:!0,download:V.value},{icon:h(()=>[S(he,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Download version")),1)]),_:1},8,["href","download"])):y("",!0),!e.isCurrent&&z.value&&U.value?(r(),H(u(I),{key:4,"data-cy-files-versions-version-action":"delete",closeAfterClick:!0,onClick:W},{icon:h(()=>[S(ce,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Delete version")),1)]),_:1})):y("",!0)]),_:1},8,["actions-aria-label","data-files-versions-version","href"]))}}),ni=E(oi,[["__scopeId","data-v-037e7d96"]]),ri={class:"version-label-modal__info"},ai=O({__name:"VersionLabelDialog",props:{open:{type:Boolean,default:!1},label:{type:String,default:""}},emits:["update:open","update:label"],setup(e,{emit:t}){const i=e,l=t,c=ye("labelInput"),n=$(""),a=g(()=>{const f=[];return i.label.trim()===""?f.push({label:d("files_versions","Cancel")}):f.push({label:d("files_versions","Remove version name"),type:"reset",variant:"error",callback:()=>{k("")}}),[...f,{label:d("files_versions","Save version name"),icon:be,type:"submit",variant:"primary"}]});X(()=>{n.value=i.label??""}),X(()=>{i.open&&G(()=>c.value?.focus()),n.value=i.label});function k(f){l("update:label",f)}return(f,w)=>(r(),H(u(ae),{buttons:a.value,contentClasses:"version-label-modal",isForm:"",open:e.open,size:"normal",name:u(d)("files_versions","Name this version"),"onUpdate:open":w[1]||(w[1]=o=>f.$emit("update:open",o)),onSubmit:w[2]||(w[2]=o=>k(n.value))},{default:h(()=>[S(u(Ve),{ref_key:"labelInput",ref:c,modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=o=>n.value=o),class:"version-label-modal__input",label:u(d)("files_versions","Version name"),placeholder:u(d)("files_versions","Version name")},null,8,["modelValue","label","placeholder"]),C("p",ri,_(u(d)("files_versions","Named versions are persisted, and excluded from automatic cleanups when your storage quota is full.")),1)]),_:1},8,["buttons","open","name"]))}}),li=E(ai,[["__scopeId","data-v-0955585b"]]),x=se().setApp("files_version").detectUser().build(),ci=O({name:"VirtualScrolling",props:{sections:{type:Array,required:!0},containerElement:{type:HTMLElement,default:null},useWindow:{type:Boolean,default:!1},headerHeight:{type:Number,default:75},renderDistance:{type:Number,default:.5},bottomBufferRatio:{type:Number,default:2},scrollToKey:{type:String,default:""}},emits:["needContent"],data(){return{scrollPosition:0,containerHeight:0,rowsContainerHeight:0,resizeObserver:null}},computed:{visibleSections(){x.debug("[VirtualScrolling] Computing visible section",{sections:this.sections});const e=this.containerHeight,t=this.scrollPosition,i=t+e;let l=0,c=0;const n=this.sections.map(o=>(c+=this.headerHeight,{...o,rows:o.rows.reduce((V,A)=>{l=c,c+=A.height;let z=0;return ci&&(z=(l-i)/e),z>this.renderDistance?V:[...V,{...A,distance:z}]},[])})).filter(o=>o.rows.length>0),a=n.flatMap(({rows:o})=>o).flatMap(({items:o})=>o),k=this._rowIdToKeyMap;a.forEach(o=>o.key=k[o.id]);const f=a.map(({key:o})=>o).filter(o=>o!==void 0),w=Object.values(k).filter(o=>!f.includes(o));return a.filter(({key:o})=>o===void 0).forEach(o=>o.key=w.pop()??Math.random().toString(36).substr(2)),this._rowIdToKeyMap=a.reduce((o,{id:V,key:A})=>({...o,[`${V}`]:A}),{}),n},totalHeight(){return this.sections.map(e=>this.headerHeight+e.height).reduce((e,t)=>e+t,0)+0},paddingTop(){if(this.visibleSections.length===0)return 0;let e=0;for(const t of this.sections){if(t.key!==this.visibleSections[0].rows[0].sectionKey){e+=this.headerHeight+t.height;continue}for(const i of t.rows){if(i.key===this.visibleSections[0].rows[0].key)return e;e+=i.height}e+=this.headerHeight}return e},rowsContainerStyle(){return{height:`${this.totalHeight}px`,paddingTop:`${this.paddingTop}px`}},isNearBottom(){const e=this.containerHeight*this.bottomBufferRatio;return this.scrollPosition+this.containerHeight>=this.totalHeight-e},container(){return x.debug("[VirtualScrolling] Computing container"),this.containerElement!==null?this.containerElement:this.useWindow?window:this.$refs.container}},watch:{isNearBottom(e){x.debug("[VirtualScrolling] isNearBottom changed",{value:e}),e&&this.$emit("needContent")},visibleSections(){this.isNearBottom&&this.$emit("needContent")},scrollToKey(e){let t=0;for(const i of this.sections){if(i.key!==e){t+=this.headerHeight+i.height;continue}break}x.debug("[VirtualScrolling] Scrolling to",{currentRowTopDistanceFromTop:t}),this.container.scrollTo({top:t,behavior:"smooth"})}},beforeCreate(){this._rowIdToKeyMap={}},mounted(){this.resizeObserver=new ResizeObserver(e=>{for(const t of e){const i=t.contentRect;t.target===this.container&&(this.containerHeight=i.height),t.target.classList.contains("vs-rows-container")&&(this.rowsContainerHeight=i.height)}}),this.useWindow?(window.addEventListener("resize",this.updateContainerSize,{passive:!0}),this.containerHeight=window.innerHeight):this.resizeObserver.observe(this.container),this.resizeObserver.observe(this.$refs.rowsContainer),this.container.addEventListener("scroll",this.updateScrollPosition,{passive:!0})},beforeUnmount(){this.useWindow&&window.removeEventListener("resize",this.updateContainerSize),this.resizeObserver?.disconnect(),this.container.removeEventListener("scroll",this.updateScrollPosition)},methods:{updateScrollPosition(){this._onScrollHandle??=requestAnimationFrame(()=>{this._onScrollHandle=null,this.useWindow?this.scrollPosition=this.container.scrollY:this.scrollPosition=this.container.scrollTop})},updateContainerSize(){this.containerHeight=window.innerHeight}}}),di={key:0,ref:"container",class:"vs-container"};function ui(e,t,i,l,c,n){return!e.useWindow&&e.containerElement===null?(r(),m("div",di,[C("div",{ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4)],512)):(r(),m("div",{key:1,ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4))}const vi=E(ci,[["render",ui],["__scopeId","data-v-97f544f2"]]),mi=` + + + + + + + + + + +`,R=He();async function pi(e){const t=`/versions/${P()?.uid}/versions/${e.fileid}`;try{const i=(await R.getDirectoryContents(t,{data:mi,details:!0})).data.filter(({mime:n})=>n!=="").map(n=>hi(n,e)),l=new Set(i.map(n=>String(n.author))),c=await Se.post(Z("/displaynames"),{users:[...l]});for(const n of i){const a=c.data.users[n.author??""];a&&(n.authorName=a)}return i}catch(i){throw x.error("Could not fetch version",{exception:i}),i}}async function fi(e){try{x.debug("Restoring version",{url:e.url}),await R.moveFile(`/versions/${P()?.uid}/versions/${e.fileId}/${e.fileVersion}`,`/versions/${P()?.uid}/restore/target`)}catch(t){throw x.error("Could not restore version",{exception:t}),t}}function hi(e,t){const i=Date.parse(e.lastmod),l=Math.floor((t.mtime?.getTime()??0)/1e3)*1e3;let c;return i===l?c=Z("/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1",{fileId:t.id,fileEtag:t.attributes.etag}):c=Z("/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1",{file:t.path,fileVersion:e.basename}),{fileId:t.id,label:e.props["version-label"]?String(e.props["version-label"]):"",author:e.props["version-author"]?String(e.props["version-author"]):null,authorName:null,filename:e.filename,basename:new Date(i).toLocaleString([B(),B().split("-")[0]],{timeStyle:"long",dateStyle:"medium"}),mime:e.mime,etag:`${e.props.getetag}`,size:e.size,type:e.type,mtime:i,permissions:"R",previewUrl:c,url:re("/remote.php/dav",e.filename),source:oe("dav")+ne(e.filename),fileVersion:e.basename}}async function gi(e,t){return await R.customRequest(e.filename,{method:"PROPPATCH",data:` + + + + ${t} + + + `})}async function bi(e){await R.deleteFile(e.filename)}const yi={key:0,class:"versions-tab__container"},wi=["aria-label"],Ki=O({__name:"FilesVersionsSidebarTab",props:{active:{type:Boolean},node:{},folder:{},view:{}},setup(e){const t=e,i=le(),l=$([]),c=$(!1),n=$(!1),a=$(null),k=g(()=>Math.floor(new Date(t.node?.mtime?.getTime()??0).getTime()/1e3)*1e3),f=g(()=>[...l.value].sort((s,v)=>t.node?s.mtime===t.node.mtime?.getTime()?-1:v.mtime===t.node.mtime?.getTime()?1:v.mtime-s.mtime:0)),w=g(()=>[{key:"versions",rows:f.value.map(s=>({key:s.mtime.toString(),height:68,sectionKey:"versions",items:[{id:s.mtime.toString(),version:s}]})),height:68*f.value.length}]),o=g(()=>l.value.map(s=>s.mtime).reduce((s,v)=>Math.min(s,v))),V=g(()=>t.node?window.OCA.Viewer?.mimetypes?.includes(t.node?.mime):!1),A=g(()=>!i.value&&window.OCA.Viewer?.mimetypesCompare?.includes(t.node?.mime));we(()=>t.node.id,z,{immediate:!0}),ze(k,z,{debounce:600});async function z(){try{c.value=!0,l.value=await pi(t.node)}finally{c.value=!1}}async function U(s){if(!t.node)return;const v=t.node.clone();v.attributes.etag=s.etag,v.size=s.size,v.mtime=new Date(s.mtime);const b={preventDefault:!1,node:v,version:s};if(N("files_versions:restore:requested",b),!b.preventDefault)try{await fi(s),s.label?j(d("files_versions",`${s.label} restored`)):s.mtime===o.value?j(d("files_versions","Initial version restored")):j(d("files_versions","Version restored")),N("files:node:updated",v),N("files_versions:restore:restored",{node:v,version:s})}catch{J(d("files_versions","Could not restore version")),N("files_versions:restore:failed",s)}}function T(s){n.value=!0,a.value=s}async function F(s){if(a.value===null)throw new Error("editedVersion should be set at that point");const v=a.value.label;a.value.label=s,n.value=!1;try{await gi(a.value,s),a.value=null}catch(b){a.value.label=v,J(d("files_versions","Could not set version label")),x.error("Could not set version label",{exception:b})}}async function q(s){const v=l.value.indexOf(s);l.value.splice(v,1);try{await bi(s)}catch{l.value.push(s),J(d("files_versions","Could not delete version"))}}function K(s){if(t.node!==null){if(s.mtime===t.node?.mtime?.getTime()){window.OCA.Viewer.open({path:t.node.path});return}window.OCA.Viewer.open({fileInfo:{...s,filename:s.filename,previewUrl:void 0},enableSidebar:!1})}}function W(s){const v=l.value.map(b=>({...b,previewUrl:void 0}));window.OCA.Viewer.compare({fileid:t.node.fileid,filename:t.node.path,basename:t.node.basename,source:t.node.source,mime:t.node.mime,hasPreview:t.node.attributes?.["has-preview"]??!1},v.find(b=>b.source===s.source))}return(s,v)=>e.node?(r(),m("div",yi,[S(vi,{sections:w.value,headerHeight:0},{default:h(({visibleSections:b})=>[C("ul",{"aria-label":u(d)("files_versions","File versions"),"data-files-versions-versions-list":""},[b.length===1?(r(!0),m(_e,{key:0},Ce(b[0].rows,p=>(r(),H(ni,{key:p.items[0].version.mtime,canView:V.value,canCompare:A.value,loadPreview:e.active,version:p.items[0].version,node:e.node,isCurrent:p.items[0].version.mtime===k.value,isFirstVersion:p.items[0].version.mtime===o.value,onClick:K,onCompare:W,onRestore:U,onLabelUpdateRequest:L=>T(p.items[0].version),onDelete:q},null,8,["canView","canCompare","loadPreview","version","node","isCurrent","isFirstVersion","onLabelUpdateRequest"]))),128)):y("",!0)],8,wi)]),loader:h(()=>[c.value?(r(),H(u(de),{key:0,class:"files-list-viewer__loader"})):y("",!0)]),_:1},8,["sections"]),a.value?(r(),H(li,{key:0,open:n.value,"onUpdate:open":v[0]||(v[0]=b=>n.value=b),label:a.value.label,"onUpdate:label":F},null,8,["open","label"])):y("",!0)])):y("",!0)}});export{Ki as default}; +//# sourceMappingURL=FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map diff --git a/dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.license b/dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.license similarity index 100% rename from dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.license rename to dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.license diff --git a/dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map b/dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map similarity index 86% rename from dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map rename to dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map index 87b948af4142f..85667b584a571 100644 --- a/dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map +++ b/dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs","sources":["../node_modules/vue-material-design-icons/BackupRestore.vue","../node_modules/vue-material-design-icons/FileCompare.vue","../node_modules/vue-material-design-icons/ImageOffOutline.vue","../build/frontend/apps/files_versions/src/components/VersionEntry.vue","../build/frontend/apps/files_versions/src/components/VersionLabelDialog.vue","../build/frontend/apps/files_versions/src/utils/logger.ts","../build/frontend/apps/files_versions/src/components/VirtualScrolling.vue","../build/frontend/apps/files_versions/src/utils/davRequest.ts","../build/frontend/apps/files_versions/src/utils/versions.ts","../build/frontend/apps/files_versions/src/views/FilesVersionsSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default `\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getClient } from '@nextcloud/files/dav'\nimport { getCanonicalLocale } from '@nextcloud/l10n'\nimport { encodePath, join } from '@nextcloud/paths'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport davRequest from '../utils/davRequest.ts'\nimport logger from '../utils/logger.ts'\n\nexport interface Version {\n\tfileId: string // The id of the file associated to the version.\n\tlabel: string // 'Current version' or ''\n\tauthor: string | null // UID for the author of the version\n\tauthorName: string | null // Display name of the author\n\tfilename: string // File name relative to the version DAV endpoint\n\tbasename: string // A base name generated from the mtime\n\tmime: string // Empty for the current version, else the actual mime type of the version\n\tetag: string // Empty for the current version, else the actual mime type of the version\n\tsize: number // File size in bytes\n\ttype: string // 'file'\n\tmtime: number // Version creation date as a timestamp\n\tpermissions: string // Only readable: 'R'\n\tpreviewUrl: string // Preview URL of the version\n\turl: string // Download URL of the version\n\tsource: string // The WebDAV endpoint of the resource\n\tfileVersion: string | null // The version id, null for the current version\n}\n\nconst client = getClient()\n\n/**\n * Get file versions for a given node\n *\n * @param node - The node to fetch versions for\n */\nexport async function fetchVersions(node: INode): Promise {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${node.fileid}`\n\n\ttry {\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed\n\n\t\tconst versions = response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map((version) => formatVersion(version as Required, node))\n\n\t\tconst authorIds = new Set(versions.map((version) => String(version.author)))\n\t\tconst authors = await axios.post(generateUrl('/displaynames'), { users: [...authorIds] })\n\n\t\tfor (const version of versions) {\n\t\t\tconst author = authors.data.users[version.author ?? '']\n\t\t\tif (author) {\n\t\t\t\tversion.authorName = author\n\t\t\t}\n\t\t}\n\n\t\treturn versions\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n *\n * @param version - The version to restore\n */\nexport async function restoreVersion(version: Version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`,\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n *\n * @param version - The version data from WebDAV\n * @param node - The original node\n */\nfunction formatVersion(version: Required, node: INode): Version {\n\tconst mtime = Date.parse(version.lastmod)\n\t// server timestamps are seconds-based, we have to nullify the milliseconds\n\tconst nodeNormalizedMtime = Math.floor((node.mtime?.getTime() ?? 0) / 1000) * 1000\n\n\tlet previewUrl: string\n\tif (mtime === nodeNormalizedMtime) { // Version is the current one\n\t\tpreviewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {\n\t\t\tfileId: node.id,\n\t\t\tfileEtag: node.attributes.etag,\n\t\t})\n\t} else {\n\t\tpreviewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {\n\t\t\tfile: node.path,\n\t\t\tfileVersion: version.basename,\n\t\t})\n\t}\n\n\treturn {\n\t\tfileId: node.id!,\n\t\t// If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then)\n\t\tlabel: version.props['version-label'] ? String(version.props['version-label']) : '',\n\t\tauthor: version.props['version-author'] ? String(version.props['version-author']) : null,\n\t\tauthorName: null,\n\t\tfilename: version.filename,\n\t\tbasename: new Date(mtime).toLocaleString(\n\t\t\t[getCanonicalLocale(), getCanonicalLocale().split('-')[0]!],\n\t\t\t{\n\t\t\t\ttimeStyle: 'long',\n\t\t\t\tdateStyle: 'medium',\n\t\t\t},\n\t\t),\n\t\tmime: version.mime,\n\t\tetag: `${version.props.getetag}`,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime,\n\t\tpermissions: 'R',\n\t\tpreviewUrl,\n\t\turl: join('/remote.php/dav', version.filename),\n\t\tsource: generateRemoteUrl('dav') + encodePath(version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\n/**\n * Set version label\n *\n * @param version - The version to set the label for\n * @param newLabel - The new label\n */\nexport async function setVersionLabel(version: Version, newLabel: string) {\n\treturn await client.customRequest(\n\t\tversion.filename,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${newLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t`,\n\t\t},\n\t)\n}\n\n/**\n * Delete version\n *\n * @param version - The version to delete\n */\nexport async function deleteVersion(version: Version) {\n\tawait client.deleteFile(version.filename)\n}\n","\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","props","__props","emit","__emit","previewLoaded","ref","previewErrored","capabilities","loadState","humanReadableSize","computed","formatFileSize","versionLabel","label","t","versionAuthor","getCurrentUser","versionHumanExplicitDate","getCanonicalLocale","downloadURL","getRootUrl","enableLabeling","enableDeletion","hasDeletePermissions","hasPermission","Permission","hasUpdatePermissions","isDownloadable","attribute","labelUpdate","restoreVersion","deleteVersion","nextTick","click","event","compareVersion","node","permission","_createBlock","_unref","NcListItem","_createVNode","ImageOffOutline","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","NcAvatar","_hoisted_8","_hoisted_9","NcDateTime","NcActionButton","Pencil","_createTextVNode","FileCompare","BackupRestore","NcActionLink","Download","Delete","labelInput","useTemplateRef","internalLabel","dialogButtons","buttons","setVersionLabel","svgCheck","watchEffect","NcDialog","$emit","NcTextField","_toDisplayString","logger","getLoggerBuilder","_sfc_main$1","defineComponent","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","section","visibleRows","row","distance","visibleItems","rows","items","rowIdToKeyMap","item","usedTokens","key","unusedTokens","finalMapping","id","totalHeight","sectionHeight","paddingTop","buffer","value","currentRowTopDistanceFromTop","entries","entry","cr","_normalizeStyle","_renderSlot","davRequest","client","getClient","fetchVersions","path","versions","mime","version","formatVersion","authorIds","authors","axios","generateUrl","author","exception","mtime","nodeNormalizedMtime","previewUrl","join","generateRemoteUrl","encodePath","newLabel","isMobile","useIsMobile","loading","showVersionLabelForm","editedVersion","currentVersionMtime","orderedVersions","a","b","sections","initialVersionMtime","canView","canCompare","watch","loadVersions","watchDebounced","handleRestore","restoredNode","restoreStartedEventState","showSuccess","showError","handleLabelUpdateRequest","handleLabelUpdate","oldLabel","handleDelete","index","openVersion","_versions","v","VirtualScrolling","_withCtx","_Fragment","_renderList","VersionEntry","NcLoadingIcon","VersionLabelDialog"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs","sources":["../node_modules/vue-material-design-icons/BackupRestore.vue","../node_modules/vue-material-design-icons/FileCompare.vue","../node_modules/vue-material-design-icons/ImageOffOutline.vue","../build/frontend/apps/files_versions/src/components/VersionEntry.vue","../build/frontend/apps/files_versions/src/components/VersionLabelDialog.vue","../build/frontend/apps/files_versions/src/utils/logger.ts","../build/frontend/apps/files_versions/src/components/VirtualScrolling.vue","../build/frontend/apps/files_versions/src/utils/davRequest.ts","../build/frontend/apps/files_versions/src/utils/versions.ts","../build/frontend/apps/files_versions/src/views/FilesVersionsSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default `\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getClient } from '@nextcloud/files/dav'\nimport { getCanonicalLocale } from '@nextcloud/l10n'\nimport { encodePath, join } from '@nextcloud/paths'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport davRequest from '../utils/davRequest.ts'\nimport logger from '../utils/logger.ts'\n\nexport interface Version {\n\tfileId: string // The id of the file associated to the version.\n\tlabel: string // 'Current version' or ''\n\tauthor: string | null // UID for the author of the version\n\tauthorName: string | null // Display name of the author\n\tfilename: string // File name relative to the version DAV endpoint\n\tbasename: string // A base name generated from the mtime\n\tmime: string // Empty for the current version, else the actual mime type of the version\n\tetag: string // Empty for the current version, else the actual mime type of the version\n\tsize: number // File size in bytes\n\ttype: string // 'file'\n\tmtime: number // Version creation date as a timestamp\n\tpermissions: string // Only readable: 'R'\n\tpreviewUrl: string // Preview URL of the version\n\turl: string // Download URL of the version\n\tsource: string // The WebDAV endpoint of the resource\n\tfileVersion: string | null // The version id, null for the current version\n}\n\nconst client = getClient()\n\n/**\n * Get file versions for a given node\n *\n * @param node - The node to fetch versions for\n */\nexport async function fetchVersions(node: INode): Promise {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${node.fileid}`\n\n\ttry {\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed\n\n\t\tconst versions = response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map((version) => formatVersion(version as Required, node))\n\n\t\tconst authorIds = new Set(versions.map((version) => String(version.author)))\n\t\tconst authors = await axios.post(generateUrl('/displaynames'), { users: [...authorIds] })\n\n\t\tfor (const version of versions) {\n\t\t\tconst author = authors.data.users[version.author ?? '']\n\t\t\tif (author) {\n\t\t\t\tversion.authorName = author\n\t\t\t}\n\t\t}\n\n\t\treturn versions\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n *\n * @param version - The version to restore\n */\nexport async function restoreVersion(version: Version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`,\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n *\n * @param version - The version data from WebDAV\n * @param node - The original node\n */\nfunction formatVersion(version: Required, node: INode): Version {\n\tconst mtime = Date.parse(version.lastmod)\n\t// server timestamps are seconds-based, we have to nullify the milliseconds\n\tconst nodeNormalizedMtime = Math.floor((node.mtime?.getTime() ?? 0) / 1000) * 1000\n\n\tlet previewUrl: string\n\tif (mtime === nodeNormalizedMtime) { // Version is the current one\n\t\tpreviewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {\n\t\t\tfileId: node.id,\n\t\t\tfileEtag: node.attributes.etag,\n\t\t})\n\t} else {\n\t\tpreviewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {\n\t\t\tfile: node.path,\n\t\t\tfileVersion: version.basename,\n\t\t})\n\t}\n\n\treturn {\n\t\tfileId: node.id!,\n\t\t// If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then)\n\t\tlabel: version.props['version-label'] ? String(version.props['version-label']) : '',\n\t\tauthor: version.props['version-author'] ? String(version.props['version-author']) : null,\n\t\tauthorName: null,\n\t\tfilename: version.filename,\n\t\tbasename: new Date(mtime).toLocaleString(\n\t\t\t[getCanonicalLocale(), getCanonicalLocale().split('-')[0]!],\n\t\t\t{\n\t\t\t\ttimeStyle: 'long',\n\t\t\t\tdateStyle: 'medium',\n\t\t\t},\n\t\t),\n\t\tmime: version.mime,\n\t\tetag: `${version.props.getetag}`,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime,\n\t\tpermissions: 'R',\n\t\tpreviewUrl,\n\t\turl: join('/remote.php/dav', version.filename),\n\t\tsource: generateRemoteUrl('dav') + encodePath(version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\n/**\n * Set version label\n *\n * @param version - The version to set the label for\n * @param newLabel - The new label\n */\nexport async function setVersionLabel(version: Version, newLabel: string) {\n\treturn await client.customRequest(\n\t\tversion.filename,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${newLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t`,\n\t\t},\n\t)\n}\n\n/**\n * Delete version\n *\n * @param version - The version to delete\n */\nexport async function deleteVersion(version: Version) {\n\tawait client.deleteFile(version.filename)\n}\n","\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","props","__props","emit","__emit","previewLoaded","ref","previewErrored","capabilities","loadState","humanReadableSize","computed","formatFileSize","versionLabel","label","t","versionAuthor","getCurrentUser","versionHumanExplicitDate","getCanonicalLocale","downloadURL","getRootUrl","enableLabeling","enableDeletion","hasDeletePermissions","hasPermission","Permission","hasUpdatePermissions","isDownloadable","attribute","labelUpdate","restoreVersion","deleteVersion","nextTick","click","event","compareVersion","node","permission","_createBlock","_unref","NcListItem","_createVNode","ImageOffOutline","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","NcAvatar","_hoisted_8","_hoisted_9","NcDateTime","NcActionButton","Pencil","_createTextVNode","FileCompare","BackupRestore","NcActionLink","Download","Delete","labelInput","useTemplateRef","internalLabel","dialogButtons","buttons","setVersionLabel","svgCheck","watchEffect","NcDialog","$emit","NcTextField","_toDisplayString","logger","getLoggerBuilder","_sfc_main$1","defineComponent","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","section","visibleRows","row","distance","visibleItems","rows","items","rowIdToKeyMap","item","usedTokens","key","unusedTokens","finalMapping","id","totalHeight","sectionHeight","paddingTop","buffer","value","currentRowTopDistanceFromTop","entries","entry","cr","_normalizeStyle","_renderSlot","davRequest","client","getClient","fetchVersions","path","versions","mime","version","formatVersion","authorIds","authors","axios","generateUrl","author","exception","mtime","nodeNormalizedMtime","previewUrl","join","generateRemoteUrl","encodePath","newLabel","isMobile","useIsMobile","loading","showVersionLabelForm","editedVersion","currentVersionMtime","orderedVersions","a","b","sections","initialVersionMtime","canView","canCompare","watch","loadVersions","watchDebounced","handleRestore","restoredNode","restoreStartedEventState","showSuccess","showError","handleLabelUpdateRequest","handleLabelUpdate","oldLabel","handleDelete","index","openVersion","_versions","v","VirtualScrolling","_withCtx","_Fragment","_renderList","VersionEntry","NcLoadingIcon","VersionLabelDialog"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map.license b/dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map.license similarity index 100% rename from dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map.license rename to dist/FilesVersionsSidebarTab-BAJpmIs7.chunk.mjs.map.license diff --git a/dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs b/dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs deleted file mode 100644 index bec54a751fb2f..0000000000000 --- a/dist/FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs +++ /dev/null @@ -1,26 +0,0 @@ -import{h as j,e as J}from"./index-nihFjC9p.chunk.mjs";import{a as P,n as te,g as oe,b as Z,j as se,k as ne,o as re,f as N}from"./index-C-_XCzuK.chunk.mjs";import{t as d,b as B}from"./index-KjXgJmdp.chunk.mjs";import{N as ae,h as le}from"./index-7iJBFiEp.chunk.mjs";import{D as ce,N as de}from"./TrashCanOutline-BQlqik0A.chunk.mjs";import{P as Y}from"./externalStorageUtils-Dl6sWuvr.chunk.mjs";import{_ as E,l as ue}from"./_plugin-vue_export-helper-CqVUm19z.chunk.mjs";import{_ as ve,f as me,g as pe}from"./dav-CKRPc6_m.chunk.mjs";import{N as I}from"./NcActionButton-aznRvsUR.chunk.mjs";import{N as fe}from"./NcActionRouter-BgwM-vxv.chunk.mjs";import{N as he}from"./NcAvatar-Du62q7FN.chunk.mjs";import{D as ge,N as be,s as ye}from"./TrayArrowDown-DobGJLuy.chunk.mjs";import{o as r,s as m,v as C,t as _,y,m as Q,b as O,r as $,c as H,w as h,u,n as D,e as S,k as g,E as G,g as we,ab as X,i as M,K as ee,z as _e,I as Ce,J as ke}from"./preload-helper-iNJDSB_l.chunk.mjs";import{P as Ve}from"./PencilOutline-CARgoCDi.chunk.mjs";import{_ as Se}from"./NcTextField.vue_vue_type_script_setup_true_lang-w8sq7Npz.chunk.mjs";import{c as He}from"./index-B1qtgXrj.chunk.mjs";import{w as ze}from"./index-cNSue6FT.chunk.mjs";import"./createElementId-By9PWUT1.chunk.mjs";import"./logger-COz3Jv5m.chunk.mjs";import"./colors-yr6Muzl9.chunk.mjs";import"./NcUserStatusIcon-BtkAvgKj.chunk.mjs";import"./NcInputField-DF4JTB_T.chunk.mjs";const Le={name:"BackupRestoreIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=["aria-hidden","aria-label"],$e=["fill","width","height"],xe={d:"M12,3A9,9 0 0,0 3,12H0L4,16L8,12H5A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19C10.5,19 9.09,18.5 7.94,17.7L6.5,19.14C8.04,20.3 9.94,21 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z"},Ee={key:0};function De(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon backup-restore-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",xe,[i.title?(r(),m("title",Ee,_(i.title),1)):y("",!0)])],8,$e))],16,Ae)}const Te=E(Le,[["render",De]]),Ne={name:"FileCompareIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ie=["aria-hidden","aria-label"],Me=["fill","width","height"],Pe={d:"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V23H12V1H10M20,8V20C20,21.11 19.11,22 18,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z"},Be={key:0};function Oe(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon file-compare-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Pe,[i.title?(r(),m("title",Be,_(i.title),1)):y("",!0)])],8,Me))],16,Ie)}const Re=E(Ne,[["render",Oe]]),Ue={name:"ImageOffOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Fe=["aria-hidden","aria-label"],qe=["fill","width","height"],Ke={d:"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8"},We={key:0};function je(e,t,i,l,c,n){return r(),m("span",Q(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon image-off-outline-icon",role:"img",onClick:t[0]||(t[0]=a=>e.$emit("click",a))}),[(r(),m("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[C("path",Ke,[i.title?(r(),m("title",We,_(i.title),1)):y("",!0)])],8,qe))],16,Fe)}const Je=E(Ue,[["render",je]]),Ye={key:0,class:"version__image"},Ze=["src"],Ge={key:2,class:"version__image"},Qe={class:"version__info"},Xe=["title"],ei={key:1,class:"version__info","data-cy-files-version-author-name":""},ii={key:0},ti=["title"],oi={class:"version__info version__info__subline"},si=O({__name:"VersionEntry",props:{version:{},node:{},isCurrent:{type:Boolean},isFirstVersion:{type:Boolean},loadPreview:{type:Boolean},canView:{type:Boolean},canCompare:{type:Boolean}},emits:["click","compare","restore","delete","labelUpdateRequest"],setup(e,{emit:t}){const i=e,l=t,c=$(!1),n=$(!1),a=$(ue("core","capabilities",{files:{version_labeling:!1,version_deletion:!1}})),k=g(()=>me(i.version.size)),f=g(()=>{const p=i.version.label??"";return i.isCurrent?p===""?d("files_versions","Current version"):`${p} (${d("files_versions","Current version")})`:i.isFirstVersion&&p===""?d("files_versions","Initial version"):p}),w=g(()=>!i.version.author||!i.version.authorName?"":i.version.author===P()?.uid?d("files_versions","You"):i.version.authorName??i.version.author),s=g(()=>new Date(i.version.mtime).toLocaleString([B(),B().split("-")[0]],{timeStyle:"long",dateStyle:"long"})),V=g(()=>i.isCurrent?i.node.source:te()+i.version.url),A=g(()=>a.value.files.version_labeling===!0),z=g(()=>a.value.files.version_deletion===!0),U=g(()=>b(i.node,Y.DELETE)),T=g(()=>b(i.node,Y.UPDATE)),F=g(()=>!((i.node.permissions&Y.READ)===0||i.node.attributes["mount-type"]==="shared"&&i.node.attributes["share-attributes"]&&(JSON.parse(i.node.attributes["share-attributes"]).find(p=>p.scope==="permissions"&&p.key==="download")||{})?.value===!1));function q(){l("labelUpdateRequest")}function K(){l("restore",i.version)}async function W(){await G(),await G(),l("delete",i.version)}function o(p){i.canView&&p.preventDefault(),l("click",i.version)}function v(){if(!i.canView)throw new Error("Cannot compare version of this file");l("compare",i.version)}function b(p,L){return(p.permissions&L)!==0}return(p,L)=>(r(),H(u(be),{class:"version",forceDisplayActions:!0,"actions-aria-label":u(d)("files_versions","Actions for version from {versionHumanExplicitDate}",{versionHumanExplicitDate:s.value}),"data-files-versions-version":e.version.fileVersion,href:V.value,onClick:o},{icon:h(()=>[e.loadPreview||c.value?e.version.previewUrl&&!n.value?(r(),m("img",{key:1,src:e.version.previewUrl,alt:"",decoding:"async",fetchpriority:"low",loading:"lazy",class:"version__image",onLoad:L[0]||(L[0]=ie=>c.value=!0),onError:L[1]||(L[1]=ie=>n.value=!0)},null,40,Ze)):(r(),m("div",Ge,[S(Je,{size:20})])):(r(),m("div",Ye))]),name:h(()=>[C("div",Qe,[f.value?(r(),m("div",{key:0,class:"version__info__label","data-cy-files-version-label":"",title:f.value},_(f.value),9,Xe)):y("",!0),w.value?(r(),m("div",ei,[f.value?(r(),m("span",ii,"•")):y("",!0),S(u(he),{class:"avatar",user:e.version.author??void 0,size:20,disableMenu:"",disableTooltip:"",hideStatus:""},null,8,["user"]),C("div",{class:"version__info__author_name",title:w.value},_(w.value),9,ti)])):y("",!0)])]),subname:h(()=>[C("div",oi,[S(u(ve),{class:"version__info__date",relativeTime:"short",timestamp:e.version.mtime},null,8,["timestamp"]),L[2]||(L[2]=C("span",null,"•",-1)),C("span",null,_(k.value),1)])]),actions:h(()=>[A.value&&T.value?(r(),H(u(I),{key:0,"data-cy-files-versions-version-action":"label",closeAfterClick:!0,onClick:q},{icon:h(()=>[S(Ve,{size:22})]),default:h(()=>[D(" "+_(e.version.label===""?u(d)("files_versions","Name this version"):u(d)("files_versions","Edit version name")),1)]),_:1})):y("",!0),!e.isCurrent&&e.canView&&e.canCompare?(r(),H(u(I),{key:1,"data-cy-files-versions-version-action":"compare",closeAfterClick:!0,onClick:v},{icon:h(()=>[S(Re,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Compare to current version")),1)]),_:1})):y("",!0),!e.isCurrent&&T.value?(r(),H(u(I),{key:2,"data-cy-files-versions-version-action":"restore",closeAfterClick:!0,onClick:K},{icon:h(()=>[S(Te,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Restore version")),1)]),_:1})):y("",!0),F.value?(r(),H(u(fe),{key:3,"data-cy-files-versions-version-action":"download",href:V.value,closeAfterClick:!0,download:V.value},{icon:h(()=>[S(ge,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Download version")),1)]),_:1},8,["href","download"])):y("",!0),!e.isCurrent&&z.value&&U.value?(r(),H(u(I),{key:4,"data-cy-files-versions-version-action":"delete",closeAfterClick:!0,onClick:W},{icon:h(()=>[S(ce,{size:22})]),default:h(()=>[D(" "+_(u(d)("files_versions","Delete version")),1)]),_:1})):y("",!0)]),_:1},8,["actions-aria-label","data-files-versions-version","href"]))}}),ni=E(si,[["__scopeId","data-v-037e7d96"]]),ri={class:"version-label-modal__info"},ai=O({__name:"VersionLabelDialog",props:{open:{type:Boolean,default:!1},label:{type:String,default:""}},emits:["update:open","update:label"],setup(e,{emit:t}){const i=e,l=t,c=we("labelInput"),n=$(""),a=g(()=>{const f=[];return i.label.trim()===""?f.push({label:d("files_versions","Cancel")}):f.push({label:d("files_versions","Remove version name"),type:"reset",variant:"error",callback:()=>{k("")}}),[...f,{label:d("files_versions","Save version name"),icon:ye,type:"submit",variant:"primary"}]});X(()=>{n.value=i.label??""}),X(()=>{i.open&&G(()=>c.value?.focus()),n.value=i.label});function k(f){l("update:label",f)}return(f,w)=>(r(),H(u(ae),{buttons:a.value,contentClasses:"version-label-modal",isForm:"",open:e.open,size:"normal",name:u(d)("files_versions","Name this version"),"onUpdate:open":w[1]||(w[1]=s=>f.$emit("update:open",s)),onSubmit:w[2]||(w[2]=s=>k(n.value))},{default:h(()=>[S(u(Se),{ref_key:"labelInput",ref:c,modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=s=>n.value=s),class:"version-label-modal__input",label:u(d)("files_versions","Version name"),placeholder:u(d)("files_versions","Version name")},null,8,["modelValue","label","placeholder"]),C("p",ri,_(u(d)("files_versions","Named versions are persisted, and excluded from automatic cleanups when your storage quota is full.")),1)]),_:1},8,["buttons","open","name"]))}}),li=E(ai,[["__scopeId","data-v-0955585b"]]),x=oe().setApp("files_version").detectUser().build(),ci=O({name:"VirtualScrolling",props:{sections:{type:Array,required:!0},containerElement:{type:HTMLElement,default:null},useWindow:{type:Boolean,default:!1},headerHeight:{type:Number,default:75},renderDistance:{type:Number,default:.5},bottomBufferRatio:{type:Number,default:2},scrollToKey:{type:String,default:""}},emits:["needContent"],data(){return{scrollPosition:0,containerHeight:0,rowsContainerHeight:0,resizeObserver:null}},computed:{visibleSections(){x.debug("[VirtualScrolling] Computing visible section",{sections:this.sections});const e=this.containerHeight,t=this.scrollPosition,i=t+e;let l=0,c=0;const n=this.sections.map(s=>(c+=this.headerHeight,{...s,rows:s.rows.reduce((V,A)=>{l=c,c+=A.height;let z=0;return ci&&(z=(l-i)/e),z>this.renderDistance?V:[...V,{...A,distance:z}]},[])})).filter(s=>s.rows.length>0),a=n.flatMap(({rows:s})=>s).flatMap(({items:s})=>s),k=this._rowIdToKeyMap;a.forEach(s=>s.key=k[s.id]);const f=a.map(({key:s})=>s).filter(s=>s!==void 0),w=Object.values(k).filter(s=>!f.includes(s));return a.filter(({key:s})=>s===void 0).forEach(s=>s.key=w.pop()??Math.random().toString(36).substr(2)),this._rowIdToKeyMap=a.reduce((s,{id:V,key:A})=>({...s,[`${V}`]:A}),{}),n},totalHeight(){return this.sections.map(e=>this.headerHeight+e.height).reduce((e,t)=>e+t,0)+0},paddingTop(){if(this.visibleSections.length===0)return 0;let e=0;for(const t of this.sections){if(t.key!==this.visibleSections[0].rows[0].sectionKey){e+=this.headerHeight+t.height;continue}for(const i of t.rows){if(i.key===this.visibleSections[0].rows[0].key)return e;e+=i.height}e+=this.headerHeight}return e},rowsContainerStyle(){return{height:`${this.totalHeight}px`,paddingTop:`${this.paddingTop}px`}},isNearBottom(){const e=this.containerHeight*this.bottomBufferRatio;return this.scrollPosition+this.containerHeight>=this.totalHeight-e},container(){return x.debug("[VirtualScrolling] Computing container"),this.containerElement!==null?this.containerElement:this.useWindow?window:this.$refs.container}},watch:{isNearBottom(e){x.debug("[VirtualScrolling] isNearBottom changed",{value:e}),e&&this.$emit("needContent")},visibleSections(){this.isNearBottom&&this.$emit("needContent")},scrollToKey(e){let t=0;for(const i of this.sections){if(i.key!==e){t+=this.headerHeight+i.height;continue}break}x.debug("[VirtualScrolling] Scrolling to",{currentRowTopDistanceFromTop:t}),this.container.scrollTo({top:t,behavior:"smooth"})}},beforeCreate(){this._rowIdToKeyMap={}},mounted(){this.resizeObserver=new ResizeObserver(e=>{for(const t of e){const i=t.contentRect;t.target===this.container&&(this.containerHeight=i.height),t.target.classList.contains("vs-rows-container")&&(this.rowsContainerHeight=i.height)}}),this.useWindow?(window.addEventListener("resize",this.updateContainerSize,{passive:!0}),this.containerHeight=window.innerHeight):this.resizeObserver.observe(this.container),this.resizeObserver.observe(this.$refs.rowsContainer),this.container.addEventListener("scroll",this.updateScrollPosition,{passive:!0})},beforeUnmount(){this.useWindow&&window.removeEventListener("resize",this.updateContainerSize),this.resizeObserver?.disconnect(),this.container.removeEventListener("scroll",this.updateScrollPosition)},methods:{updateScrollPosition(){this._onScrollHandle??=requestAnimationFrame(()=>{this._onScrollHandle=null,this.useWindow?this.scrollPosition=this.container.scrollY:this.scrollPosition=this.container.scrollTop})},updateContainerSize(){this.containerHeight=window.innerHeight}}}),di={key:0,ref:"container",class:"vs-container"};function ui(e,t,i,l,c,n){return!e.useWindow&&e.containerElement===null?(r(),m("div",di,[C("div",{ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4)],512)):(r(),m("div",{key:1,ref:"rowsContainer",class:"vs-rows-container",style:ee(e.rowsContainerStyle)},[M(e.$slots,"default",{visibleSections:e.visibleSections},void 0,!0),M(e.$slots,"loader",{},void 0,!0)],4))}const vi=E(ci,[["render",ui],["__scopeId","data-v-97f544f2"]]),mi=` - - - - - - - - - - -`,R=pe();async function pi(e){const t=`/versions/${P()?.uid}/versions/${e.fileid}`;try{const i=(await R.getDirectoryContents(t,{data:mi,details:!0})).data.filter(({mime:n})=>n!=="").map(n=>hi(n,e)),l=new Set(i.map(n=>String(n.author))),c=await He.post(Z("/displaynames"),{users:[...l]});for(const n of i){const a=c.data.users[n.author??""];a&&(n.authorName=a)}return i}catch(i){throw x.error("Could not fetch version",{exception:i}),i}}async function fi(e){try{x.debug("Restoring version",{url:e.url}),await R.moveFile(`/versions/${P()?.uid}/versions/${e.fileId}/${e.fileVersion}`,`/versions/${P()?.uid}/restore/target`)}catch(t){throw x.error("Could not restore version",{exception:t}),t}}function hi(e,t){const i=Date.parse(e.lastmod),l=Math.floor((t.mtime?.getTime()??0)/1e3)*1e3;let c;return i===l?c=Z("/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1",{fileId:t.id,fileEtag:t.attributes.etag}):c=Z("/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1",{file:t.path,fileVersion:e.basename}),{fileId:t.id,label:e.props["version-label"]?String(e.props["version-label"]):"",author:e.props["version-author"]?String(e.props["version-author"]):null,authorName:null,filename:e.filename,basename:new Date(i).toLocaleString([B(),B().split("-")[0]],{timeStyle:"long",dateStyle:"medium"}),mime:e.mime,etag:`${e.props.getetag}`,size:e.size,type:e.type,mtime:i,permissions:"R",previewUrl:c,url:re("/remote.php/dav",e.filename),source:se("dav")+ne(e.filename),fileVersion:e.basename}}async function gi(e,t){return await R.customRequest(e.filename,{method:"PROPPATCH",data:` - - - - ${t} - - - `})}async function bi(e){await R.deleteFile(e.filename)}const yi={key:0,class:"versions-tab__container"},wi=["aria-label"],Fi=O({__name:"FilesVersionsSidebarTab",props:{active:{type:Boolean},node:{},folder:{},view:{}},setup(e){const t=e,i=le(),l=$([]),c=$(!1),n=$(!1),a=$(null),k=g(()=>Math.floor(new Date(t.node?.mtime?.getTime()??0).getTime()/1e3)*1e3),f=g(()=>[...l.value].sort((o,v)=>t.node?o.mtime===t.node.mtime?.getTime()?-1:v.mtime===t.node.mtime?.getTime()?1:v.mtime-o.mtime:0)),w=g(()=>[{key:"versions",rows:f.value.map(o=>({key:o.mtime.toString(),height:68,sectionKey:"versions",items:[{id:o.mtime.toString(),version:o}]})),height:68*f.value.length}]),s=g(()=>l.value.map(o=>o.mtime).reduce((o,v)=>Math.min(o,v))),V=g(()=>t.node?window.OCA.Viewer?.mimetypes?.includes(t.node?.mime):!1),A=g(()=>!i.value&&window.OCA.Viewer?.mimetypesCompare?.includes(t.node?.mime));_e(()=>t.node.id,z,{immediate:!0}),ze(k,z,{debounce:600});async function z(){try{c.value=!0,l.value=await pi(t.node)}finally{c.value=!1}}async function U(o){if(!t.node)return;const v=t.node.clone();v.attributes.etag=o.etag,v.size=o.size,v.mtime=new Date(o.mtime);const b={preventDefault:!1,node:v,version:o};if(N("files_versions:restore:requested",b),!b.preventDefault)try{await fi(o),o.label?j(d("files_versions",`${o.label} restored`)):o.mtime===s.value?j(d("files_versions","Initial version restored")):j(d("files_versions","Version restored")),N("files:node:updated",v),N("files_versions:restore:restored",{node:v,version:o})}catch{J(d("files_versions","Could not restore version")),N("files_versions:restore:failed",o)}}function T(o){n.value=!0,a.value=o}async function F(o){if(a.value===null)throw new Error("editedVersion should be set at that point");const v=a.value.label;a.value.label=o,n.value=!1;try{await gi(a.value,o),a.value=null}catch(b){a.value.label=v,J(d("files_versions","Could not set version label")),x.error("Could not set version label",{exception:b})}}async function q(o){const v=l.value.indexOf(o);l.value.splice(v,1);try{await bi(o)}catch{l.value.push(o),J(d("files_versions","Could not delete version"))}}function K(o){if(t.node!==null){if(o.mtime===t.node?.mtime?.getTime()){window.OCA.Viewer.open({path:t.node.path});return}window.OCA.Viewer.open({fileInfo:{...o,filename:o.filename,previewUrl:void 0},enableSidebar:!1})}}function W(o){const v=l.value.map(b=>({...b,previewUrl:void 0}));window.OCA.Viewer.compare({fileid:t.node.fileid,filename:t.node.path,basename:t.node.basename,source:t.node.source,mime:t.node.mime,hasPreview:t.node.attributes?.["has-preview"]??!1},v.find(b=>b.source===o.source))}return(o,v)=>e.node?(r(),m("div",yi,[S(vi,{sections:w.value,headerHeight:0},{default:h(({visibleSections:b})=>[C("ul",{"aria-label":u(d)("files_versions","File versions"),"data-files-versions-versions-list":""},[b.length===1?(r(!0),m(Ce,{key:0},ke(b[0].rows,p=>(r(),H(ni,{key:p.items[0].version.mtime,canView:V.value,canCompare:A.value,loadPreview:e.active,version:p.items[0].version,node:e.node,isCurrent:p.items[0].version.mtime===k.value,isFirstVersion:p.items[0].version.mtime===s.value,onClick:K,onCompare:W,onRestore:U,onLabelUpdateRequest:L=>T(p.items[0].version),onDelete:q},null,8,["canView","canCompare","loadPreview","version","node","isCurrent","isFirstVersion","onLabelUpdateRequest"]))),128)):y("",!0)],8,wi)]),loader:h(()=>[c.value?(r(),H(u(de),{key:0,class:"files-list-viewer__loader"})):y("",!0)]),_:1},8,["sections"]),a.value?(r(),H(li,{key:0,open:n.value,"onUpdate:open":v[0]||(v[0]=b=>n.value=b),label:a.value.label,"onUpdate:label":F},null,8,["open","label"])):y("",!0)])):y("",!0)}});export{Fi as default}; -//# sourceMappingURL=FilesVersionsSidebarTab-CLD7YlTl.chunk.mjs.map diff --git a/dist/NcActionButton-Dg5R7G7t.chunk.mjs b/dist/NcActionButton-Dg5R7G7t.chunk.mjs new file mode 100644 index 0000000000000..33240fe576d54 --- /dev/null +++ b/dist/NcActionButton-Dg5R7G7t.chunk.mjs @@ -0,0 +1,2 @@ +import{j as m,f as b}from"./PencilOutline-D_8aq9iQ.chunk.mjs";import{_ as y,N as k}from"./createElementId-CYO-dDhf.chunk.mjs";import{c as f,b as x}from"./index-ab_1C7r3.chunk.mjs";import{l as g,o as i,s as n,v as l,i as C,K as _,x as d,t as s,y as o,c as h,m as v}from"./preload-helper-CAkfU8NC.chunk.mjs";const V={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?.()[0].children?.trim?.()||""}}},S={mixins:[V],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},inject:{closeMenu:{from:f}},emits:["click"],created(){"ariaHidden"in this.$attrs},computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(t){this.$emit("click",t),this.closeAfterClick&&this.closeMenu(!1)}}},I={name:"NcActionButton",components:{NcIconSvgWrapper:k},mixins:[S],inject:{isInSemanticMenu:{from:x,default:!1}},props:{disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:t=>["button","checkbox","radio","reset","submit"].includes(t)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null},description:{type:String,default:""}},emits:["update:modelValue"],setup(){return{mdiCheck:b,mdiChevronRight:m}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const t={};return this.isInSemanticMenu?(t.role="menuitem",this.type==="radio"?(t.role="menuitemradio",t["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(t.role="menuitemcheckbox",t["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(t["aria-pressed"]=this.modelValue?"true":"false"),t}},methods:{handleClick(t){this.onClick(t),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}},T=["role"],M=["aria-label","disabled","title","type"],$={class:"action-button__longtext-wrapper"},A={key:0,class:"action-button__name"},B=["textContent"],L={key:2,class:"action-button__text"},N=["textContent"],U={key:2,class:"action-button__pressed-icon material-design-icon"};function w(t,c,a,u,j,e){const r=g("NcIconSvgWrapper");return i(),n("li",{class:d(["action",{"action--disabled":a.disabled}]),role:e.isInSemanticMenu&&"presentation"},[l("button",v({"aria-label":t.ariaLabel,class:["action-button button-vue",{"action-button--active":e.isChecked,focusable:e.isFocusable}],disabled:a.disabled,title:t.title,type:e.nativeType},e.buttonAttributes,{onClick:c[0]||(c[0]=(...p)=>e.handleClick&&e.handleClick(...p))}),[C(t.$slots,"icon",{},()=>[l("span",{class:d([[t.isIconUrl?"action-button__icon--url":t.icon],"action-button__icon"]),style:_({backgroundImage:t.isIconUrl?`url(${t.icon})`:null}),"aria-hidden":"true"},null,6)],!0),l("span",$,[t.name?(i(),n("strong",A,s(t.name),1)):o("",!0),t.isLongText?(i(),n("span",{key:1,class:"action-button__longtext",textContent:s(t.text)},null,8,B)):(i(),n("span",L,s(t.text),1)),a.description?(i(),n("span",{key:3,class:"action-button__description",textContent:s(a.description)},null,8,N)):o("",!0)]),a.isMenu?(i(),h(r,{key:0,class:"action-button__menu-icon",directional:"",path:u.mdiChevronRight},null,8,["path"])):e.isChecked?(i(),h(r,{key:1,path:u.mdiCheck,class:"action-button__pressed-icon"},null,8,["path"])):e.isChecked===!1?(i(),n("span",U)):o("",!0),o("",!0)],16,M)],10,T)}const H=y(I,[["render",w],["__scopeId","data-v-6c2daf4e"]]);export{S as A,H as N,V as a}; +//# sourceMappingURL=NcActionButton-Dg5R7G7t.chunk.mjs.map diff --git a/dist/NcActionButton-aznRvsUR.chunk.mjs.license b/dist/NcActionButton-Dg5R7G7t.chunk.mjs.license similarity index 100% rename from dist/NcActionButton-aznRvsUR.chunk.mjs.license rename to dist/NcActionButton-Dg5R7G7t.chunk.mjs.license diff --git a/dist/NcActionButton-aznRvsUR.chunk.mjs.map b/dist/NcActionButton-Dg5R7G7t.chunk.mjs.map similarity index 99% rename from dist/NcActionButton-aznRvsUR.chunk.mjs.map rename to dist/NcActionButton-Dg5R7G7t.chunk.mjs.map index 3e3c8dccbbb70..c87b03744f60c 100644 --- a/dist/NcActionButton-aznRvsUR.chunk.mjs.map +++ b/dist/NcActionButton-Dg5R7G7t.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"NcActionButton-aznRvsUR.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/actionGlobal.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButton.mjs"],"sourcesContent":["const ActionGlobalMixin = {\n beforeUpdate() {\n this.text = this.getText();\n },\n data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText() {\n return this.$slots.default?.()[0].children?.trim?.() || \"\";\n }\n }\n};\nexport {\n ActionGlobalMixin as A\n};\n//# sourceMappingURL=actionGlobal.mjs.map\n","import { warn } from \"vue\";\nimport { N as NC_ACTIONS_CLOSE_MENU } from \"./useNcActions.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal.mjs\";\nconst ActionTextMixin = {\n mixins: [ActionGlobalMixin],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n inject: {\n closeMenu: {\n from: NC_ACTIONS_CLOSE_MENU\n }\n },\n emits: [\n \"click\"\n ],\n created() {\n if (\"ariaHidden\" in this.$attrs) {\n warn(\"[NcAction*]: Do not set the ariaHidden attribute as the root element will inherit the incorrect aria-hidden.\");\n }\n },\n computed: {\n /**\n * Check if icon prop is an URL\n *\n * @return {boolean} Whether the icon prop is an URL\n */\n isIconUrl() {\n try {\n return !!new URL(this.icon, this.icon.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n }\n },\n methods: {\n onClick(event) {\n this.$emit(\"click\", event);\n if (this.closeAfterClick) {\n this.closeMenu(false);\n }\n }\n }\n};\nexport {\n ActionTextMixin as A\n};\n//# sourceMappingURL=actionText.mjs.map\n","import '../assets/NcActionButton.css';\nimport { c as mdiChevronRight, d as mdiCheck } from \"./mdi.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { A as ActionTextMixin } from \"./actionText.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, normalizeStyle, toDisplayString, createCommentVNode, createBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst _sfc_main = {\n name: \"NcActionButton\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * If this is a menu, a chevron icon will\n * be added at the end of the line\n */\n isMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The button's behavior, by default the button acts like a normal button with optional toggle button behavior if `modelValue` is `true` or `false`.\n * But you can also set to checkbox button behavior with tri-state or radio button like behavior.\n * This extends the native HTML button type attribute.\n */\n type: {\n type: String,\n default: \"button\",\n validator: (behavior) => [\"button\", \"checkbox\", \"radio\", \"reset\", \"submit\"].includes(behavior)\n },\n /**\n * The buttons state if `type` is 'checkbox' or 'radio' (meaning if it is pressed / selected).\n * For checkbox and toggle button behavior - boolean value.\n * For radio button behavior - could be a boolean checked or a string with the value of the button.\n * Note: Unlike native radio buttons, NcActionButton are not grouped by name, so you need to connect them by bind correct modelValue.\n *\n * **This is not availabe for `type='submit'` or `type='reset'`**\n *\n * If using `type='checkbox'` a `model-value` of `true` means checked, `false` means unchecked and `null` means indeterminate (tri-state)\n * For `type='radio'` `null` is equal to `false`\n */\n modelValue: {\n type: [Boolean, String],\n default: null\n },\n /**\n * The value used for the `modelValue` when this component is used with radio behavior\n * Similar to the `value` attribute of ``\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Small underlying text content of the entry\n */\n description: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"update:modelValue\"],\n setup() {\n return {\n mdiCheck,\n mdiChevronRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * The current \"checked\" or \"pressed\" state for the model behavior\n */\n isChecked() {\n if (this.type === \"radio\" && typeof this.modelValue !== \"boolean\") {\n return this.modelValue === this.value;\n }\n return this.modelValue;\n },\n /**\n * The native HTML type to set on the button\n */\n nativeType() {\n if (this.type === \"submit\" || this.type === \"reset\") {\n return this.type;\n }\n return \"button\";\n },\n /**\n * HTML attributes to bind to the