From 842ab2fedccf19d45dc5509ebdaad2bc527299d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 26 Sep 2026 02:53:51 +0000 Subject: [PATCH 1/2] chore(deps): bump webdav from 5.10.0 to 5.11.0 Bumps [webdav](https://github.com/perry-mitchell/webdav-client) from 5.10.0 to 5.11.0. - [Changelog](https://github.com/perry-mitchell/webdav-client/blob/master/CHANGELOG.md) - [Commits](https://github.com/perry-mitchell/webdav-client/compare/v5.10.0...v5.11.0) --- updated-dependencies: - dependency-name: webdav dependency-version: 5.11.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 11 ++++++----- package.json | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3ab0c38414b8d..f9f29918b8cb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "vue": "^3.5.42", "vue-router": "^5.3.1", "vuex": "^4.1.0", - "webdav": "^5.10.0" + "webdav": "^5.11.0" }, "devDependencies": { "@nextcloud/browserslist-config": "^3.1.2", @@ -14834,16 +14834,17 @@ } }, "node_modules/webdav": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.10.0.tgz", - "integrity": "sha512-fVPuRLtcduVGvSO7Tn/6TQCzIvI/g6BO/+xPRctCvi/GytYpjn4czxWbh4HsArsdom9qz9BI63k9/v2HBUui1A==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.11.0.tgz", + "integrity": "sha512-DbUS8rHvWse55EiHM0q5q1z3eVRCLWW7Va7mUqA2/JJdQHIew4Op2HTglHkBJDOAVrQeQf0I+REUJkIrYqtL+w==", "license": "MIT", "dependencies": { "@buttercup/fetch": "^0.2.1", + "@nodable/entities": "^3.0.0", "base-64": "^1.0.0", "byte-length": "^1.0.2", "entities": "^6.0.1", - "fast-xml-parser": "^5.7.2", + "fast-xml-parser": "^5.11.1", "hot-patcher": "^2.0.1", "layerr": "^3.0.0", "md5": "^2.3.0", diff --git a/package.json b/package.json index e53ac7e4e7c21..53c013c47e565 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "vue": "^3.5.42", "vue-router": "^5.3.1", "vuex": "^4.1.0", - "webdav": "^5.10.0" + "webdav": "^5.11.0" }, "devDependencies": { "@nextcloud/browserslist-config": "^3.1.2", From 425374e84eb4da203ee5b50da42d9e45da739f38 Mon Sep 17 00:00:00 2001 From: nextcloud-command Date: Sat, 26 Sep 2026 08:13:16 +0000 Subject: [PATCH 2/2] chore(assets): Recompile assets Signed-off-by: nextcloud-command --- ...hunk.mjs => ActivityCommentAction-DS6yQXGU.chunk.mjs} | 4 ++-- ... => ActivityCommentAction-DS6yQXGU.chunk.mjs.license} | 0 ....map => ActivityCommentAction-DS6yQXGU.chunk.mjs.map} | 2 +- ...ActivityCommentAction-DS6yQXGU.chunk.mjs.map.license} | 0 ...chunk.mjs => ActivityCommentEntry-D9609Hcb.chunk.mjs} | 4 ++-- ...e => ActivityCommentEntry-D9609Hcb.chunk.mjs.license} | 0 ...s.map => ActivityCommentEntry-D9609Hcb.chunk.mjs.map} | 2 +- ... ActivityCommentEntry-D9609Hcb.chunk.mjs.map.license} | 0 ...SGUK5.chunk.mjs => AppstoreBrowse-CTMBzEdc.chunk.mjs} | 4 ++-- ...license => AppstoreBrowse-CTMBzEdc.chunk.mjs.license} | 0 ...unk.mjs.map => AppstoreBrowse-CTMBzEdc.chunk.mjs.map} | 2 +- ...nse => AppstoreBrowse-CTMBzEdc.chunk.mjs.map.license} | 0 ...Aya.chunk.mjs => AppstoreDiscover-Dx4n5UIV.chunk.mjs} | 6 +++--- ...cense => AppstoreDiscover-Dx4n5UIV.chunk.mjs.license} | 0 ...k.mjs.map => AppstoreDiscover-Dx4n5UIV.chunk.mjs.map} | 2 +- ...e => AppstoreDiscover-Dx4n5UIV.chunk.mjs.map.license} | 0 ...eCz.chunk.mjs => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs} | 4 ++-- ...cense => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.license} | 0 ...k.mjs.map => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map} | 2 +- ...e => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map.license} | 0 ...DBgM9q8R.chunk.mjs => CommentView--RDJB_xe.chunk.mjs} | 4 ++-- ...js.license => CommentView--RDJB_xe.chunk.mjs.license} | 0 ....chunk.mjs.map => CommentView--RDJB_xe.chunk.mjs.map} | 2 +- ...icense => CommentView--RDJB_xe.chunk.mjs.map.license} | 0 ...chunk.mjs => DiscoverTypeCarousel-CprePTPS.chunk.mjs} | 4 ++-- ...e => DiscoverTypeCarousel-CprePTPS.chunk.mjs.license} | 0 ...s.map => DiscoverTypeCarousel-CprePTPS.chunk.mjs.map} | 2 +- ... DiscoverTypeCarousel-CprePTPS.chunk.mjs.map.license} | 0 ...chunk.mjs => DiscoverTypeShowcase-BNOvH9_w.chunk.mjs} | 4 ++-- ...e => DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.license} | 0 ...s.map => DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map} | 2 +- ... DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map.license} | 0 ...-DuWsKdWk.chunk.mjs => FilePicker-5ci1Hixq.chunk.mjs} | 4 ++-- ...mjs.license => FilePicker-5ci1Hixq.chunk.mjs.license} | 0 ...k.chunk.mjs.map => FilePicker-5ci1Hixq.chunk.mjs.map} | 2 +- ...license => FilePicker-5ci1Hixq.chunk.mjs.map.license} | 0 ...lLdT.chunk.mjs => FilesSidebarTab-Wt0Ssd3N.chunk.mjs} | 4 ++-- ...icense => FilesSidebarTab-Wt0Ssd3N.chunk.mjs.license} | 0 ...nk.mjs.map => FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map} | 2 +- ...se => FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map.license} | 0 ...nk.mjs => FilesVersionsSidebarTab-BoqKwijz.chunk.mjs} | 4 ++-- ...> FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.license} | 0 ...ap => FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map} | 2 +- ...lesVersionsSidebarTab-BoqKwijz.chunk.mjs.map.license} | 0 ...Bnfad0N4.chunk.mjs => GetComments-BU90Le50.chunk.mjs} | 6 +++--- ...js.license => GetComments-BU90Le50.chunk.mjs.license} | 2 +- dist/GetComments-BU90Le50.chunk.mjs.map | 1 + ...icense => GetComments-BU90Le50.chunk.mjs.map.license} | 2 +- dist/GetComments-Bnfad0N4.chunk.mjs.map | 1 - ...lI7zt.chunk.mjs => SetStatusModal-CwtN6IY3.chunk.mjs} | 4 ++-- ...license => SetStatusModal-CwtN6IY3.chunk.mjs.license} | 0 ...unk.mjs.map => SetStatusModal-CwtN6IY3.chunk.mjs.map} | 2 +- ...nse => SetStatusModal-CwtN6IY3.chunk.mjs.map.license} | 0 ...jlaX.chunk.mjs => SystemTagPicker-CKFmz-Cj.chunk.mjs} | 4 ++-- ...icense => SystemTagPicker-CKFmz-Cj.chunk.mjs.license} | 0 ...nk.mjs.map => SystemTagPicker-CKFmz-Cj.chunk.mjs.map} | 2 +- ...se => SystemTagPicker-CKFmz-Cj.chunk.mjs.map.license} | 0 ...JdWD.chunk.mjs => UpdateAllDialog-Cv_g-se6.chunk.mjs} | 4 ++-- ...icense => UpdateAllDialog-Cv_g-se6.chunk.mjs.license} | 0 ...nk.mjs.map => UpdateAllDialog-Cv_g-se6.chunk.mjs.map} | 2 +- ...se => UpdateAllDialog-Cv_g-se6.chunk.mjs.map.license} | 0 dist/{api-DKdVsZMv.chunk.mjs => api-BGDQp1C8.chunk.mjs} | 4 ++-- ....chunk.mjs.license => api-BGDQp1C8.chunk.mjs.license} | 0 ...DKdVsZMv.chunk.mjs.map => api-BGDQp1C8.chunk.mjs.map} | 2 +- ...js.map.license => api-BGDQp1C8.chunk.mjs.map.license} | 0 dist/appstore-main.mjs | 6 +++--- dist/comments-comments-app.mjs | 2 +- dist/comments-comments-tab.mjs | 4 ++-- dist/{dav-BUnvPvLq.chunk.mjs => dav-BnceviPD.chunk.mjs} | 8 ++++---- ....chunk.mjs.license => dav-BnceviPD.chunk.mjs.license} | 0 ...BUnvPvLq.chunk.mjs.map => dav-BnceviPD.chunk.mjs.map} | 2 +- ...js.map.license => dav-BnceviPD.chunk.mjs.map.license} | 0 dist/dav-settings-admin-example-content.mjs | 2 +- dist/dav-settings-personal-availability.mjs | 2 +- dist/encryption-encryption.mjs | 2 +- dist/encryption-settings_admin.mjs | 2 +- dist/encryption-settings_personal.mjs | 2 +- dist/federatedfilesharing-init-files.mjs | 2 +- dist/federatedfilesharing-settings-admin.mjs | 2 +- dist/federatedfilesharing-settings-personal.mjs | 2 +- dist/federation-settings-admin.mjs | 2 +- dist/files_external-auth_rsa.mjs | 4 ++-- dist/files_external-init.mjs | 2 +- dist/files_external-settings.mjs | 2 +- dist/files_reminders-init.mjs | 2 +- dist/files_trashbin-init.mjs | 2 +- dist/files_versions-sidebar-tab.mjs | 4 ++-- ...index--CXeJKGn.chunk.mjs => index-9np_X5jS.chunk.mjs} | 6 +++--- ...hunk.mjs.license => index-9np_X5jS.chunk.mjs.license} | 0 ...XeJKGn.chunk.mjs.map => index-9np_X5jS.chunk.mjs.map} | 2 +- ....map.license => index-9np_X5jS.chunk.mjs.map.license} | 0 dist/index-CpA8_zX5.chunk.mjs | 9 +++++++++ ...hunk.mjs.license => index-CpA8_zX5.chunk.mjs.license} | 2 +- dist/index-CpA8_zX5.chunk.mjs.map | 1 + ....map.license => index-CpA8_zX5.chunk.mjs.map.license} | 2 +- dist/index-PbTIJ1eH.chunk.mjs | 9 --------- dist/index-PbTIJ1eH.chunk.mjs.map | 1 - dist/profile-main.mjs | 2 +- dist/sharebymail-admin-settings.mjs | 2 +- dist/systemtags-admin.mjs | 2 +- dist/systemtags-init.mjs | 4 ++-- dist/theming-settings-admin.mjs | 2 +- dist/theming-settings-personal.mjs | 2 +- dist/twofactor_backupcodes-settings-personal.mjs | 2 +- dist/user_ldap-settings-admin.mjs | 2 +- dist/user_status-menu.mjs | 4 ++-- 106 files changed, 107 insertions(+), 107 deletions(-) rename dist/{ActivityCommentAction-Bk4jb7bY.chunk.mjs => ActivityCommentAction-DS6yQXGU.chunk.mjs} (86%) rename dist/{ActivityCommentAction-Bk4jb7bY.chunk.mjs.license => ActivityCommentAction-DS6yQXGU.chunk.mjs.license} (100%) rename dist/{ActivityCommentAction-Bk4jb7bY.chunk.mjs.map => ActivityCommentAction-DS6yQXGU.chunk.mjs.map} (96%) rename dist/{ActivityCommentAction-Bk4jb7bY.chunk.mjs.map.license => ActivityCommentAction-DS6yQXGU.chunk.mjs.map.license} (100%) rename dist/{ActivityCommentEntry-DvgEP7MW.chunk.mjs => ActivityCommentEntry-D9609Hcb.chunk.mjs} (84%) rename dist/{ActivityCommentEntry-DvgEP7MW.chunk.mjs.license => ActivityCommentEntry-D9609Hcb.chunk.mjs.license} (100%) rename dist/{ActivityCommentEntry-DvgEP7MW.chunk.mjs.map => ActivityCommentEntry-D9609Hcb.chunk.mjs.map} (97%) rename dist/{ActivityCommentEntry-DvgEP7MW.chunk.mjs.map.license => ActivityCommentEntry-D9609Hcb.chunk.mjs.map.license} (100%) rename dist/{AppstoreBrowse-C-eSGUK5.chunk.mjs => AppstoreBrowse-CTMBzEdc.chunk.mjs} (97%) rename dist/{AppstoreBrowse-C-eSGUK5.chunk.mjs.license => AppstoreBrowse-CTMBzEdc.chunk.mjs.license} (100%) rename dist/{AppstoreBrowse-C-eSGUK5.chunk.mjs.map => AppstoreBrowse-CTMBzEdc.chunk.mjs.map} (99%) rename dist/{AppstoreBrowse-C-eSGUK5.chunk.mjs.map.license => AppstoreBrowse-CTMBzEdc.chunk.mjs.map.license} (100%) rename dist/{AppstoreDiscover-DJks4Aya.chunk.mjs => AppstoreDiscover-Dx4n5UIV.chunk.mjs} (94%) rename dist/{AppstoreDiscover-DJks4Aya.chunk.mjs.license => AppstoreDiscover-Dx4n5UIV.chunk.mjs.license} (100%) rename dist/{AppstoreDiscover-DJks4Aya.chunk.mjs.map => AppstoreDiscover-Dx4n5UIV.chunk.mjs.map} (99%) rename dist/{AppstoreDiscover-DJks4Aya.chunk.mjs.map.license => AppstoreDiscover-Dx4n5UIV.chunk.mjs.map.license} (100%) rename dist/{AuthMechanismRsa-R-taZeCz.chunk.mjs => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs} (96%) rename dist/{AuthMechanismRsa-R-taZeCz.chunk.mjs.license => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.license} (100%) rename dist/{AuthMechanismRsa-R-taZeCz.chunk.mjs.map => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map} (98%) rename dist/{AuthMechanismRsa-R-taZeCz.chunk.mjs.map.license => AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map.license} (100%) rename dist/{CommentView-DBgM9q8R.chunk.mjs => CommentView--RDJB_xe.chunk.mjs} (98%) rename dist/{CommentView-DBgM9q8R.chunk.mjs.license => CommentView--RDJB_xe.chunk.mjs.license} (100%) rename dist/{CommentView-DBgM9q8R.chunk.mjs.map => CommentView--RDJB_xe.chunk.mjs.map} (99%) rename dist/{CommentView-DBgM9q8R.chunk.mjs.map.license => CommentView--RDJB_xe.chunk.mjs.map.license} (100%) rename dist/{DiscoverTypeCarousel-B0H88aXG.chunk.mjs => DiscoverTypeCarousel-CprePTPS.chunk.mjs} (97%) rename dist/{DiscoverTypeCarousel-B0H88aXG.chunk.mjs.license => DiscoverTypeCarousel-CprePTPS.chunk.mjs.license} (100%) rename dist/{DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map => DiscoverTypeCarousel-CprePTPS.chunk.mjs.map} (99%) rename dist/{DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map.license => DiscoverTypeCarousel-CprePTPS.chunk.mjs.map.license} (100%) rename dist/{DiscoverTypeShowcase-Dj42GkVS.chunk.mjs => DiscoverTypeShowcase-BNOvH9_w.chunk.mjs} (96%) rename dist/{DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.license => DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.license} (100%) rename dist/{DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map => DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map} (99%) rename dist/{DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map.license => DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map.license} (100%) rename dist/{FilePicker-DuWsKdWk.chunk.mjs => FilePicker-5ci1Hixq.chunk.mjs} (99%) rename dist/{FilePicker-DuWsKdWk.chunk.mjs.license => FilePicker-5ci1Hixq.chunk.mjs.license} (100%) rename dist/{FilePicker-DuWsKdWk.chunk.mjs.map => FilePicker-5ci1Hixq.chunk.mjs.map} (99%) rename dist/{FilePicker-DuWsKdWk.chunk.mjs.map.license => FilePicker-5ci1Hixq.chunk.mjs.map.license} (100%) rename dist/{FilesSidebarTab-CXT7lLdT.chunk.mjs => FilesSidebarTab-Wt0Ssd3N.chunk.mjs} (96%) rename dist/{FilesSidebarTab-CXT7lLdT.chunk.mjs.license => FilesSidebarTab-Wt0Ssd3N.chunk.mjs.license} (100%) rename dist/{FilesSidebarTab-CXT7lLdT.chunk.mjs.map => FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map} (99%) rename dist/{FilesSidebarTab-CXT7lLdT.chunk.mjs.map.license => FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map.license} (100%) rename dist/{FilesVersionsSidebarTab-CVkivcRB.chunk.mjs => FilesVersionsSidebarTab-BoqKwijz.chunk.mjs} (98%) rename dist/{FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.license => FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.license} (100%) rename dist/{FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.map => FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map} (99%) rename dist/{FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.map.license => FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map.license} (100%) rename dist/{GetComments-Bnfad0N4.chunk.mjs => GetComments-BU90Le50.chunk.mjs} (69%) rename dist/{GetComments-Bnfad0N4.chunk.mjs.license => GetComments-BU90Le50.chunk.mjs.license} (97%) create mode 100644 dist/GetComments-BU90Le50.chunk.mjs.map rename dist/{GetComments-Bnfad0N4.chunk.mjs.map.license => GetComments-BU90Le50.chunk.mjs.map.license} (97%) delete mode 100644 dist/GetComments-Bnfad0N4.chunk.mjs.map rename dist/{SetStatusModal---TlI7zt.chunk.mjs => SetStatusModal-CwtN6IY3.chunk.mjs} (99%) rename dist/{SetStatusModal---TlI7zt.chunk.mjs.license => SetStatusModal-CwtN6IY3.chunk.mjs.license} (100%) rename dist/{SetStatusModal---TlI7zt.chunk.mjs.map => SetStatusModal-CwtN6IY3.chunk.mjs.map} (99%) rename dist/{SetStatusModal---TlI7zt.chunk.mjs.map.license => SetStatusModal-CwtN6IY3.chunk.mjs.map.license} (100%) rename dist/{SystemTagPicker-arnTjlaX.chunk.mjs => SystemTagPicker-CKFmz-Cj.chunk.mjs} (98%) rename dist/{SystemTagPicker-arnTjlaX.chunk.mjs.license => SystemTagPicker-CKFmz-Cj.chunk.mjs.license} (100%) rename dist/{SystemTagPicker-arnTjlaX.chunk.mjs.map => SystemTagPicker-CKFmz-Cj.chunk.mjs.map} (99%) rename dist/{SystemTagPicker-arnTjlaX.chunk.mjs.map.license => SystemTagPicker-CKFmz-Cj.chunk.mjs.map.license} (100%) rename dist/{UpdateAllDialog-wohJJdWD.chunk.mjs => UpdateAllDialog-Cv_g-se6.chunk.mjs} (99%) rename dist/{UpdateAllDialog-wohJJdWD.chunk.mjs.license => UpdateAllDialog-Cv_g-se6.chunk.mjs.license} (100%) rename dist/{UpdateAllDialog-wohJJdWD.chunk.mjs.map => UpdateAllDialog-Cv_g-se6.chunk.mjs.map} (99%) rename dist/{UpdateAllDialog-wohJJdWD.chunk.mjs.map.license => UpdateAllDialog-Cv_g-se6.chunk.mjs.map.license} (100%) rename dist/{api-DKdVsZMv.chunk.mjs => api-BGDQp1C8.chunk.mjs} (97%) rename dist/{api-DKdVsZMv.chunk.mjs.license => api-BGDQp1C8.chunk.mjs.license} (100%) rename dist/{api-DKdVsZMv.chunk.mjs.map => api-BGDQp1C8.chunk.mjs.map} (99%) rename dist/{api-DKdVsZMv.chunk.mjs.map.license => api-BGDQp1C8.chunk.mjs.map.license} (100%) rename dist/{dav-BUnvPvLq.chunk.mjs => dav-BnceviPD.chunk.mjs} (76%) rename dist/{dav-BUnvPvLq.chunk.mjs.license => dav-BnceviPD.chunk.mjs.license} (100%) rename dist/{dav-BUnvPvLq.chunk.mjs.map => dav-BnceviPD.chunk.mjs.map} (99%) rename dist/{dav-BUnvPvLq.chunk.mjs.map.license => dav-BnceviPD.chunk.mjs.map.license} (100%) rename dist/{index--CXeJKGn.chunk.mjs => index-9np_X5jS.chunk.mjs} (99%) rename dist/{index--CXeJKGn.chunk.mjs.license => index-9np_X5jS.chunk.mjs.license} (100%) rename dist/{index--CXeJKGn.chunk.mjs.map => index-9np_X5jS.chunk.mjs.map} (99%) rename dist/{index--CXeJKGn.chunk.mjs.map.license => index-9np_X5jS.chunk.mjs.map.license} (100%) create mode 100644 dist/index-CpA8_zX5.chunk.mjs rename dist/{index-PbTIJ1eH.chunk.mjs.license => index-CpA8_zX5.chunk.mjs.license} (90%) create mode 100644 dist/index-CpA8_zX5.chunk.mjs.map rename dist/{index-PbTIJ1eH.chunk.mjs.map.license => index-CpA8_zX5.chunk.mjs.map.license} (90%) delete mode 100644 dist/index-PbTIJ1eH.chunk.mjs delete mode 100644 dist/index-PbTIJ1eH.chunk.mjs.map diff --git a/dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs b/dist/ActivityCommentAction-DS6yQXGU.chunk.mjs similarity index 86% rename from dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs rename to dist/ActivityCommentAction-DS6yQXGU.chunk.mjs index 0cf4a010b3f26..fef9087773675 100644 --- a/dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs +++ b/dist/ActivityCommentAction-DS6yQXGU.chunk.mjs @@ -1,2 +1,2 @@ -import{a as t}from"./index--CXeJKGn.chunk.mjs";import{t as e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{C as m,a}from"./CommentView-DBgM9q8R.chunk.mjs";import{l as p}from"./activity-nG-Rk4qJ.chunk.mjs";import{b as i,r as s,o as n,c,m as u}from"./Web-X6XNrbMx.chunk.mjs";import{_ as l}from"./public-C1mLBHT3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./GetComments-Bnfad0N4.chunk.mjs";import"./index-PbTIJ1eH.chunk.mjs";const d=i({components:{Comment:a},mixins:[m],props:{reloadCallback:{type:Function,required:!0}},methods:{onNewComment(){try{this.reloadCallback()}catch(o){t(e("comments","Could not reload comments")),p.error("Could not reload comments",{error:o})}}}});function C(o,f,y,w,D,N){const r=s("Comment");return n(),c(r,u(o.editorData,{autoComplete:o.autoComplete,resourceType:o.resourceType,editor:!0,userData:o.userData,resourceId:o.resourceId,class:"comments-action",onNew:o.onNewComment}),null,16,["autoComplete","resourceType","userData","resourceId","onNew"])}const S=l(d,[["render",C],["__scopeId","data-v-29a1e244"]]);export{S as default}; -//# sourceMappingURL=ActivityCommentAction-Bk4jb7bY.chunk.mjs.map +import{a as t}from"./index-9np_X5jS.chunk.mjs";import{t as e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{C as m,a}from"./CommentView--RDJB_xe.chunk.mjs";import{l as p}from"./activity-nG-Rk4qJ.chunk.mjs";import{b as i,r as s,o as n,c,m as u}from"./Web-X6XNrbMx.chunk.mjs";import{_ as l}from"./public-C1mLBHT3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./GetComments-BU90Le50.chunk.mjs";import"./index-CpA8_zX5.chunk.mjs";const d=i({components:{Comment:a},mixins:[m],props:{reloadCallback:{type:Function,required:!0}},methods:{onNewComment(){try{this.reloadCallback()}catch(o){t(e("comments","Could not reload comments")),p.error("Could not reload comments",{error:o})}}}});function C(o,f,y,w,D,N){const r=s("Comment");return n(),c(r,u(o.editorData,{autoComplete:o.autoComplete,resourceType:o.resourceType,editor:!0,userData:o.userData,resourceId:o.resourceId,class:"comments-action",onNew:o.onNewComment}),null,16,["autoComplete","resourceType","userData","resourceId","onNew"])}const S=l(d,[["render",C],["__scopeId","data-v-29a1e244"]]);export{S as default}; +//# sourceMappingURL=ActivityCommentAction-DS6yQXGU.chunk.mjs.map diff --git a/dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs.license b/dist/ActivityCommentAction-DS6yQXGU.chunk.mjs.license similarity index 100% rename from dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs.license rename to dist/ActivityCommentAction-DS6yQXGU.chunk.mjs.license diff --git a/dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs.map b/dist/ActivityCommentAction-DS6yQXGU.chunk.mjs.map similarity index 96% rename from dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs.map rename to dist/ActivityCommentAction-DS6yQXGU.chunk.mjs.map index c5cdd6e41b375..294b4f1b0a1d7 100644 --- a/dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs.map +++ b/dist/ActivityCommentAction-DS6yQXGU.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"ActivityCommentAction-Bk4jb7bY.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentAction.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","Comment","CommentView","error","showError","t","logger","_createBlock","_component_Comment","_mergeProps","_ctx"],"mappings":"ysCAyBA,MAAAA,EAAeC,EAAgB,CAC9B,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,QAAS,CACR,cAAe,CACd,GAAI,CAEH,KAAK,eAAA,CACN,OAASC,EAAO,CACfC,EAAUC,EAAE,WAAY,2BAA2B,CAAC,EACpDC,EAAO,MAAM,4BAA6B,CAAE,MAAAH,CAAA,CAAO,CACpD,CACD,CAAA,CAEF,CAAC,0DA3CAI,EAQuBC,EARvBC,EAQuBC,EAPd,WAAU,CACjB,aAAcA,EAAA,aACd,aAAcA,EAAA,aACd,OAAQ,GACR,SAAUA,EAAA,SACV,WAAYA,EAAA,WACb,MAAM,kBACL,MAAKA,EAAA,YAAA,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,WAAA,aAAA,OAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"ActivityCommentAction-DS6yQXGU.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentAction.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","Comment","CommentView","error","showError","t","logger","_createBlock","_component_Comment","_mergeProps","_ctx"],"mappings":"ysCAyBA,MAAAA,EAAeC,EAAgB,CAC9B,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,QAAS,CACR,cAAe,CACd,GAAI,CAEH,KAAK,eAAA,CACN,OAASC,EAAO,CACfC,EAAUC,EAAE,WAAY,2BAA2B,CAAC,EACpDC,EAAO,MAAM,4BAA6B,CAAE,MAAAH,CAAA,CAAO,CACpD,CACD,CAAA,CAEF,CAAC,0DA3CAI,EAQuBC,EARvBC,EAQuBC,EAPd,WAAU,CACjB,aAAcA,EAAA,aACd,aAAcA,EAAA,aACd,OAAQ,GACR,SAAUA,EAAA,SACV,WAAYA,EAAA,WACb,MAAM,kBACL,MAAKA,EAAA,YAAA,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,WAAA,aAAA,OAAA,CAAA"} \ No newline at end of file diff --git a/dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs.map.license b/dist/ActivityCommentAction-DS6yQXGU.chunk.mjs.map.license similarity index 100% rename from dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs.map.license rename to dist/ActivityCommentAction-DS6yQXGU.chunk.mjs.map.license diff --git a/dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs b/dist/ActivityCommentEntry-D9609Hcb.chunk.mjs similarity index 84% rename from dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs rename to dist/ActivityCommentEntry-D9609Hcb.chunk.mjs index 356e463d0d424..9a1f28ef63bd2 100644 --- a/dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs +++ b/dist/ActivityCommentEntry-D9609Hcb.chunk.mjs @@ -1,2 +1,2 @@ -import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{C as p,a}from"./CommentView-DBgM9q8R.chunk.mjs";import{_ as i}from"./public-C1mLBHT3.chunk.mjs";import{r as n,o as c,c as u,m as l}from"./Web-X6XNrbMx.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./index--CXeJKGn.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./activity-nG-Rk4qJ.chunk.mjs";import"./GetComments-Bnfad0N4.chunk.mjs";import"./index-PbTIJ1eH.chunk.mjs";const d={name:"ActivityCommentEntry",components:{Comment:a},mixins:[p],props:{comment:{type:Object,required:!0},reloadCallback:{type:Function,required:!0}},data(){return{commentMessage:""}},watch:{comment(){this.commentMessage=this.comment.props.message}},mounted(){this.commentMessage=this.comment.props.message},methods:{t:s}};function g(t,e,o,f,m,C){const r=n("Comment");return c(),u(r,l({ref:"comment",tag:"li"},o.comment.props,{autoComplete:t.autoComplete,resourceType:t.resourceType,message:m.commentMessage,resourceId:t.resourceId,userData:t.genMentionsData(o.comment.props.mentions),class:"comments-activity",onDelete:e[0]||(e[0]=y=>o.reloadCallback())}),null,16,["autoComplete","resourceType","message","resourceId","userData"])}const Q=i(d,[["render",g],["__scopeId","data-v-afc310f1"]]);export{Q as default}; -//# sourceMappingURL=ActivityCommentEntry-DvgEP7MW.chunk.mjs.map +import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{C as p,a}from"./CommentView--RDJB_xe.chunk.mjs";import{_ as i}from"./public-C1mLBHT3.chunk.mjs";import{r as n,o as c,c as u,m as l}from"./Web-X6XNrbMx.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./index-9np_X5jS.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./activity-nG-Rk4qJ.chunk.mjs";import"./GetComments-BU90Le50.chunk.mjs";import"./index-CpA8_zX5.chunk.mjs";const d={name:"ActivityCommentEntry",components:{Comment:a},mixins:[p],props:{comment:{type:Object,required:!0},reloadCallback:{type:Function,required:!0}},data(){return{commentMessage:""}},watch:{comment(){this.commentMessage=this.comment.props.message}},mounted(){this.commentMessage=this.comment.props.message},methods:{t:s}};function g(t,e,o,f,m,C){const r=n("Comment");return c(),u(r,l({ref:"comment",tag:"li"},o.comment.props,{autoComplete:t.autoComplete,resourceType:t.resourceType,message:m.commentMessage,resourceId:t.resourceId,userData:t.genMentionsData(o.comment.props.mentions),class:"comments-activity",onDelete:e[0]||(e[0]=y=>o.reloadCallback())}),null,16,["autoComplete","resourceType","message","resourceId","userData"])}const Q=i(d,[["render",g],["__scopeId","data-v-afc310f1"]]);export{Q as default}; +//# sourceMappingURL=ActivityCommentEntry-D9609Hcb.chunk.mjs.map diff --git a/dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs.license b/dist/ActivityCommentEntry-D9609Hcb.chunk.mjs.license similarity index 100% rename from dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs.license rename to dist/ActivityCommentEntry-D9609Hcb.chunk.mjs.license diff --git a/dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs.map b/dist/ActivityCommentEntry-D9609Hcb.chunk.mjs.map similarity index 97% rename from dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs.map rename to dist/ActivityCommentEntry-D9609Hcb.chunk.mjs.map index d7ba6f2dd1db6..d47c98a20f607 100644 --- a/dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs.map +++ b/dist/ActivityCommentEntry-D9609Hcb.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"ActivityCommentEntry-DvgEP7MW.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentEntry.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","Comment","CommentView","t","_openBlock","_createBlock","_component_Comment","_mergeProps","$props","_ctx","$data","_cache"],"mappings":"+qCA0BA,MAAAA,EAAe,CACd,KAAM,uBAEN,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,QAAS,CACR,KAAM,OACN,SAAU,EAAA,EAGX,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,MAAO,CACN,MAAO,CACN,eAAgB,EAAA,CAElB,EAEA,MAAO,CACN,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,CAAA,EAGD,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,EAEA,QAAS,CAAA,EACRC,CAAA,CAEF,+CA3DC,OAAAC,EAAA,EAAAC,EAU8BC,EAV9BC,EAU8B,CAT7B,IAAI,UACJ,IAAI,IAAA,EACIC,UAAQ,MAAK,CACpB,aAAcC,EAAA,aACd,aAAcA,EAAA,aACd,QAASC,EAAA,eACT,WAAYD,EAAA,WACZ,SAAUA,EAAA,gBAAgBD,EAAA,QAAQ,MAAM,QAAQ,EACjD,MAAM,oBACL,SAAMG,eAAEH,EAAA,eAAA,EAAc,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,UAAA,aAAA,UAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"ActivityCommentEntry-D9609Hcb.chunk.mjs","sources":["../build/frontend/apps/comments/src/views/ActivityCommentEntry.vue"],"sourcesContent":["\n\n\n\n\n\n\n"],"names":["_sfc_main","Comment","CommentView","t","_openBlock","_createBlock","_component_Comment","_mergeProps","$props","_ctx","$data","_cache"],"mappings":"+qCA0BA,MAAAA,EAAe,CACd,KAAM,uBAEN,WAAY,CACX,QAAAC,CAAA,EAGD,OAAQ,CAACC,CAAW,EACpB,MAAO,CACN,QAAS,CACR,KAAM,OACN,SAAU,EAAA,EAGX,eAAgB,CACf,KAAM,SACN,SAAU,EAAA,CACX,EAGD,MAAO,CACN,MAAO,CACN,eAAgB,EAAA,CAElB,EAEA,MAAO,CACN,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,CAAA,EAGD,SAAU,CACT,KAAK,eAAiB,KAAK,QAAQ,MAAM,OAC1C,EAEA,QAAS,CAAA,EACRC,CAAA,CAEF,+CA3DC,OAAAC,EAAA,EAAAC,EAU8BC,EAV9BC,EAU8B,CAT7B,IAAI,UACJ,IAAI,IAAA,EACIC,UAAQ,MAAK,CACpB,aAAcC,EAAA,aACd,aAAcA,EAAA,aACd,QAASC,EAAA,eACT,WAAYD,EAAA,WACZ,SAAUA,EAAA,gBAAgBD,EAAA,QAAQ,MAAM,QAAQ,EACjD,MAAM,oBACL,SAAMG,eAAEH,EAAA,eAAA,EAAc,CAAA,EAAA,KAAA,GAAA,CAAA,eAAA,eAAA,UAAA,aAAA,UAAA,CAAA"} \ No newline at end of file diff --git a/dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs.map.license b/dist/ActivityCommentEntry-D9609Hcb.chunk.mjs.map.license similarity index 100% rename from dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs.map.license rename to dist/ActivityCommentEntry-D9609Hcb.chunk.mjs.map.license diff --git a/dist/AppstoreBrowse-C-eSGUK5.chunk.mjs b/dist/AppstoreBrowse-CTMBzEdc.chunk.mjs similarity index 97% rename from dist/AppstoreBrowse-C-eSGUK5.chunk.mjs rename to dist/AppstoreBrowse-CTMBzEdc.chunk.mjs index 22db730ab9a94..3ec9a95fe2d79 100644 --- a/dist/AppstoreBrowse-C-eSGUK5.chunk.mjs +++ b/dist/AppstoreBrowse-CTMBzEdc.chunk.mjs @@ -1,2 +1,2 @@ -import{t as e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as O,u as U}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as q}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{u as V,a as z,b as D}from"./UpdateAllDialog-wohJJdWD.chunk.mjs";import{e as E}from"./index--CXeJKGn.chunk.mjs";import{_ as A,l as G}from"./public-C1mLBHT3.chunk.mjs";import{N as R}from"./mdi-GefgkJkH.chunk.mjs";import{b as j,n as T,R as H,o,f as S,y as f,g as d,u as t,j as B,t as n,h as P,k as b,L as M,F as $,B as L,w as I,s as J,v as k,l as F,z as K,c as v,C as Q}from"./Web-X6XNrbMx.chunk.mjs";import{N as W}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{u as C,c as X,n as Y,a as Z,b as ee,d as te}from"./appstore-main.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";const ie=["id"],ae={key:0},se=["aria-label"],oe=j({__name:"OfficeSuiteSwitcherItem",props:J({suite:{},loading:{type:Boolean}},{selected:{},selectedModifiers:{}}),emits:["update:selected"],setup(p){const r=T(p,"selected"),m=H(),_=C(),s=k(()=>_.getAppById(p.suite.appId)),y=k(()=>!!s.value?.installed),w=k(()=>!s.value||!y.value&&!X(s.value));return(a,l)=>(o(),S("div",{class:f([a.$style.officeSuiteSwitcherItem,{[a.$style.officeSuiteSwitcherItem_selected]:r.value===p.suite.id}]),onClick:l[3]||(l[3]=i=>r.value=p.suite.id)},[d("div",{class:f(a.$style.officeSuiteSwitcherItem__header)},[d("h3",{id:t(m),class:f(a.$style.officeSuiteSwitcherItem__title)},[B(n(p.suite.name)+" ",1),y.value?(o(),S("span",ae,"("+n(t(e)("appstore","installed"))+")",1)):P("",!0)],10,ie),b(t(W),{modelValue:r.value,"onUpdate:modelValue":l[0]||(l[0]=i=>r.value=i),"aria-labelledby":t(m),disabled:w.value,loading:p.loading,type:"radio",name:"office-suite",value:p.suite.id,onClick:l[1]||(l[1]=M(()=>{},["stop"]))},null,8,["modelValue","aria-labelledby","disabled","loading","value"])],2),d("ul",{"aria-label":t(e)("appstore","Features"),class:f(a.$style.officeSuiteSwitcherItem__features)},[(o(!0),S($,null,L(p.suite.features,(i,c)=>(o(),S("li",{key:c},n(i),1))),128))],10,se),b(t(O),{href:p.suite.learnMoreUrl,onClick:l[2]||(l[2]=M(()=>{},["stop"]))},{default:I(()=>[B(n(t(e)("appstore","Learn more"))+"↗ ",1)]),_:1},8,["href"])],2))}}),re="_officeSuiteSwitcherItem_1x2g7_2",le="_officeSuiteSwitcherItem_selected_1x2g7_23",ce="_officeSuiteSwitcherItem__header_1x2g7_29",pe="_officeSuiteSwitcherItem__title_1x2g7_36",ue="_officeSuiteSwitcherItem__features_1x2g7_42",fe="_officeSuiteSwitcherItem__link_1x2g7_55",ne={officeSuiteSwitcherItem:re,officeSuiteSwitcherItem_selected:le,officeSuiteSwitcherItem__header:ce,officeSuiteSwitcherItem__title:pe,officeSuiteSwitcherItem__features:ue,officeSuiteSwitcherItem__link:fe},me={$style:ne},de=A(oe,[["__cssModules",me]]),g=Object.freeze([{id:"nextcloud-office",appId:"eurooffice",name:"Nextcloud Office",features:[e("settings","Powered by Euro-Office"),e("settings","Good Nextcloud integration"),e("settings","Open source"),e("settings","Best performance"),e("settings","Limited ODF compatibility"),e("settings","Best Microsoft compatibility")],learnMoreUrl:"https://github.com/Euro-Office",isPrimary:!0},{id:"collabora-office",appId:"richdocuments",name:"Collabora Office",features:[e("settings","Best Nextcloud integration"),e("settings","Open source"),e("settings","Good performance"),e("settings","Best security: documents never leave your server"),e("settings","Best ODF compatibility"),e("settings","Best support for legacy files")],learnMoreUrl:"https://nextcloud.com/collaboraonline/",isPrimary:!1}]),_e=j({__name:"OfficeSuiteSwitcher",setup(p){const r=C(),m=G("appstore","isAllInOne",!1),_=F(!1),s=F(y());K(s,l);function y(){for(const i of g){const c=r.apps.find(u=>u.id===i.appId&&u.installed);if(c&&c.active)return i.id}return g.find(i=>i.isPrimary)?.id??null}function w(){s.value=null}async function a(i){const c=r.getAppById(i.appId);c&&Z(c)&&await r.disableApp(i.appId)}async function l(i,c){if(!(_.value||i===c))try{_.value=!0;const u=g.find(h=>h.id===i);if(!u){for(const h of g)await a(h);return}const x=r.getAppById(u.appId);if(Y(x))if(await E({name:e("appstore","Force enable {suite}?",{suite:u.name}),text:e("appstore","Enabling {suite} requires force enabling the app. This may cause issues with your Nextcloud instance. Are you sure you want to proceed?",{suite:u.name}),labelConfirm:e("appstore","Force enable"),labelReject:e("appstore","Cancel"),severity:"warning"}))await r.enableApp(u.appId,!0);else{s.value=c;return}for(const h of g)h.id===i?await r.enableApp(h.appId):await a(h)}finally{_.value=!1}}return(i,c)=>t(m)?(o(),v(t(R),{key:0,type:"info"},{default:I(()=>[d("p",null,n(t(e)("appstore","Office suite switching is managed through the Nextcloud All-in-One interface.")),1),d("p",null,n(t(e)("appstore","Please use the AIO interface to switch between office suites.")),1)]),_:1})):(o(),S("section",{key:1,class:f(i.$style.officeSuiteSwitcher)},[d("h3",{class:f(i.$style.officeSuiteSwitcher__title)},n(t(e)("appstore","Select your preferred office suite.")),3),d("p",null,n(t(e)("appstore","Please note that installing requires manual server setup.")),1),d("fieldset",{class:f(i.$style.officeSuiteSwitcher__cards)},[(o(!0),S($,null,L(t(g),u=>(o(),v(de,{key:u.id,selected:s.value,"onUpdate:selected":c[0]||(c[0]=x=>s.value=x),class:f(i.$style.officeSuiteSwitcher__cardsItem),suite:u,loading:_.value},null,8,["selected","class","suite","loading"]))),128))],2),d("div",{class:f(i.$style.officeSuiteSwitcher__actions)},[b(t(O),{disabled:!s.value,onClick:w},{default:I(()=>[B(n(t(e)("appstore","Disable office suites")),1)]),_:1},8,["disabled"])],2)],2))}}),Se="_officeSuiteSwitcher_1ajfj_2",he="_officeSuiteSwitcher__cards_1ajfj_19",ye="_officeSuiteSwitcher__cardsItem_1ajfj_25",we="_officeSuiteSwitcher__actions_1ajfj_29",ge="_officeSuiteSwitcher__disableButton_1ajfj_33",ve={officeSuiteSwitcher:Se,officeSuiteSwitcher__cards:he,officeSuiteSwitcher__cardsItem:ye,officeSuiteSwitcher__actions:we,officeSuiteSwitcher__disableButton:ge},be={$style:ve},Ie=A(_e,[["__cssModules",be]]),ke=j({__name:"AppstoreBrowse",setup(p){const r=U(),m=C(),_=ee(),s=k(()=>r.params.category),y=k(()=>s.value==="featured"?m.apps.filter(a=>a.level===200):s.value==="supported"?m.apps.filter(a=>a.level===300):m.getAppsByCategory(s.value)),w=V(y);return(a,l)=>(o(),S($,null,[b(z),t(m).isLoadingApps?(o(),v(t(N),{key:0,name:t(e)("appstore","Loading app list")},{icon:I(()=>[b(t(q),{size:64})]),_:1},8,["name"])):(o(),S($,{key:1},[s.value==="office"?(o(),v(Ie,{key:0})):P("",!0),t(w).length?(o(),v(Q(t(_).isGridView?D:te),{key:1,class:f(a.$style.appstoreBrowse),apps:t(w)},null,8,["class","apps"])):(o(),v(t(N),{key:2,name:t(e)("appstore","No matching apps found")},{action:I(()=>[b(t(O),{variant:"primary",onClick:l[0]||(l[0]=i=>a.$router.push({query:a.$route.query,name:"apps-search"}))},{default:I(()=>[B(n(t(e)("appstore","Search everywhere")),1)]),_:1})]),_:1},8,["name"]))],64))],64))}}),Be="_appstoreBrowse_1w3np_2",$e={appstoreBrowse:Be},xe={$style:$e},gt=A(ke,[["__cssModules",xe]]);export{gt as default}; -//# sourceMappingURL=AppstoreBrowse-C-eSGUK5.chunk.mjs.map +import{t as e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as O,u as U}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as q}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{u as V,a as z,b as D}from"./UpdateAllDialog-Cv_g-se6.chunk.mjs";import{e as E}from"./index-9np_X5jS.chunk.mjs";import{_ as A,l as G}from"./public-C1mLBHT3.chunk.mjs";import{N as R}from"./mdi-GefgkJkH.chunk.mjs";import{b as j,n as T,R as H,o,f as S,y as f,g as d,u as t,j as B,t as n,h as P,k as b,L as M,F as $,B as L,w as I,s as J,v as k,l as F,z as K,c as v,C as Q}from"./Web-X6XNrbMx.chunk.mjs";import{N as W}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{u as C,c as X,n as Y,a as Z,b as ee,d as te}from"./appstore-main.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";const ie=["id"],ae={key:0},se=["aria-label"],oe=j({__name:"OfficeSuiteSwitcherItem",props:J({suite:{},loading:{type:Boolean}},{selected:{},selectedModifiers:{}}),emits:["update:selected"],setup(p){const r=T(p,"selected"),m=H(),_=C(),s=k(()=>_.getAppById(p.suite.appId)),y=k(()=>!!s.value?.installed),w=k(()=>!s.value||!y.value&&!X(s.value));return(a,l)=>(o(),S("div",{class:f([a.$style.officeSuiteSwitcherItem,{[a.$style.officeSuiteSwitcherItem_selected]:r.value===p.suite.id}]),onClick:l[3]||(l[3]=i=>r.value=p.suite.id)},[d("div",{class:f(a.$style.officeSuiteSwitcherItem__header)},[d("h3",{id:t(m),class:f(a.$style.officeSuiteSwitcherItem__title)},[B(n(p.suite.name)+" ",1),y.value?(o(),S("span",ae,"("+n(t(e)("appstore","installed"))+")",1)):P("",!0)],10,ie),b(t(W),{modelValue:r.value,"onUpdate:modelValue":l[0]||(l[0]=i=>r.value=i),"aria-labelledby":t(m),disabled:w.value,loading:p.loading,type:"radio",name:"office-suite",value:p.suite.id,onClick:l[1]||(l[1]=M(()=>{},["stop"]))},null,8,["modelValue","aria-labelledby","disabled","loading","value"])],2),d("ul",{"aria-label":t(e)("appstore","Features"),class:f(a.$style.officeSuiteSwitcherItem__features)},[(o(!0),S($,null,L(p.suite.features,(i,c)=>(o(),S("li",{key:c},n(i),1))),128))],10,se),b(t(O),{href:p.suite.learnMoreUrl,onClick:l[2]||(l[2]=M(()=>{},["stop"]))},{default:I(()=>[B(n(t(e)("appstore","Learn more"))+"↗ ",1)]),_:1},8,["href"])],2))}}),re="_officeSuiteSwitcherItem_1x2g7_2",le="_officeSuiteSwitcherItem_selected_1x2g7_23",ce="_officeSuiteSwitcherItem__header_1x2g7_29",pe="_officeSuiteSwitcherItem__title_1x2g7_36",ue="_officeSuiteSwitcherItem__features_1x2g7_42",fe="_officeSuiteSwitcherItem__link_1x2g7_55",ne={officeSuiteSwitcherItem:re,officeSuiteSwitcherItem_selected:le,officeSuiteSwitcherItem__header:ce,officeSuiteSwitcherItem__title:pe,officeSuiteSwitcherItem__features:ue,officeSuiteSwitcherItem__link:fe},me={$style:ne},de=A(oe,[["__cssModules",me]]),g=Object.freeze([{id:"nextcloud-office",appId:"eurooffice",name:"Nextcloud Office",features:[e("settings","Powered by Euro-Office"),e("settings","Good Nextcloud integration"),e("settings","Open source"),e("settings","Best performance"),e("settings","Limited ODF compatibility"),e("settings","Best Microsoft compatibility")],learnMoreUrl:"https://github.com/Euro-Office",isPrimary:!0},{id:"collabora-office",appId:"richdocuments",name:"Collabora Office",features:[e("settings","Best Nextcloud integration"),e("settings","Open source"),e("settings","Good performance"),e("settings","Best security: documents never leave your server"),e("settings","Best ODF compatibility"),e("settings","Best support for legacy files")],learnMoreUrl:"https://nextcloud.com/collaboraonline/",isPrimary:!1}]),_e=j({__name:"OfficeSuiteSwitcher",setup(p){const r=C(),m=G("appstore","isAllInOne",!1),_=F(!1),s=F(y());K(s,l);function y(){for(const i of g){const c=r.apps.find(u=>u.id===i.appId&&u.installed);if(c&&c.active)return i.id}return g.find(i=>i.isPrimary)?.id??null}function w(){s.value=null}async function a(i){const c=r.getAppById(i.appId);c&&Z(c)&&await r.disableApp(i.appId)}async function l(i,c){if(!(_.value||i===c))try{_.value=!0;const u=g.find(h=>h.id===i);if(!u){for(const h of g)await a(h);return}const x=r.getAppById(u.appId);if(Y(x))if(await E({name:e("appstore","Force enable {suite}?",{suite:u.name}),text:e("appstore","Enabling {suite} requires force enabling the app. This may cause issues with your Nextcloud instance. Are you sure you want to proceed?",{suite:u.name}),labelConfirm:e("appstore","Force enable"),labelReject:e("appstore","Cancel"),severity:"warning"}))await r.enableApp(u.appId,!0);else{s.value=c;return}for(const h of g)h.id===i?await r.enableApp(h.appId):await a(h)}finally{_.value=!1}}return(i,c)=>t(m)?(o(),v(t(R),{key:0,type:"info"},{default:I(()=>[d("p",null,n(t(e)("appstore","Office suite switching is managed through the Nextcloud All-in-One interface.")),1),d("p",null,n(t(e)("appstore","Please use the AIO interface to switch between office suites.")),1)]),_:1})):(o(),S("section",{key:1,class:f(i.$style.officeSuiteSwitcher)},[d("h3",{class:f(i.$style.officeSuiteSwitcher__title)},n(t(e)("appstore","Select your preferred office suite.")),3),d("p",null,n(t(e)("appstore","Please note that installing requires manual server setup.")),1),d("fieldset",{class:f(i.$style.officeSuiteSwitcher__cards)},[(o(!0),S($,null,L(t(g),u=>(o(),v(de,{key:u.id,selected:s.value,"onUpdate:selected":c[0]||(c[0]=x=>s.value=x),class:f(i.$style.officeSuiteSwitcher__cardsItem),suite:u,loading:_.value},null,8,["selected","class","suite","loading"]))),128))],2),d("div",{class:f(i.$style.officeSuiteSwitcher__actions)},[b(t(O),{disabled:!s.value,onClick:w},{default:I(()=>[B(n(t(e)("appstore","Disable office suites")),1)]),_:1},8,["disabled"])],2)],2))}}),Se="_officeSuiteSwitcher_1ajfj_2",he="_officeSuiteSwitcher__cards_1ajfj_19",ye="_officeSuiteSwitcher__cardsItem_1ajfj_25",we="_officeSuiteSwitcher__actions_1ajfj_29",ge="_officeSuiteSwitcher__disableButton_1ajfj_33",ve={officeSuiteSwitcher:Se,officeSuiteSwitcher__cards:he,officeSuiteSwitcher__cardsItem:ye,officeSuiteSwitcher__actions:we,officeSuiteSwitcher__disableButton:ge},be={$style:ve},Ie=A(_e,[["__cssModules",be]]),ke=j({__name:"AppstoreBrowse",setup(p){const r=U(),m=C(),_=ee(),s=k(()=>r.params.category),y=k(()=>s.value==="featured"?m.apps.filter(a=>a.level===200):s.value==="supported"?m.apps.filter(a=>a.level===300):m.getAppsByCategory(s.value)),w=V(y);return(a,l)=>(o(),S($,null,[b(z),t(m).isLoadingApps?(o(),v(t(N),{key:0,name:t(e)("appstore","Loading app list")},{icon:I(()=>[b(t(q),{size:64})]),_:1},8,["name"])):(o(),S($,{key:1},[s.value==="office"?(o(),v(Ie,{key:0})):P("",!0),t(w).length?(o(),v(Q(t(_).isGridView?D:te),{key:1,class:f(a.$style.appstoreBrowse),apps:t(w)},null,8,["class","apps"])):(o(),v(t(N),{key:2,name:t(e)("appstore","No matching apps found")},{action:I(()=>[b(t(O),{variant:"primary",onClick:l[0]||(l[0]=i=>a.$router.push({query:a.$route.query,name:"apps-search"}))},{default:I(()=>[B(n(t(e)("appstore","Search everywhere")),1)]),_:1})]),_:1},8,["name"]))],64))],64))}}),Be="_appstoreBrowse_1w3np_2",$e={appstoreBrowse:Be},xe={$style:$e},gt=A(ke,[["__cssModules",xe]]);export{gt as default}; +//# sourceMappingURL=AppstoreBrowse-CTMBzEdc.chunk.mjs.map diff --git a/dist/AppstoreBrowse-C-eSGUK5.chunk.mjs.license b/dist/AppstoreBrowse-CTMBzEdc.chunk.mjs.license similarity index 100% rename from dist/AppstoreBrowse-C-eSGUK5.chunk.mjs.license rename to dist/AppstoreBrowse-CTMBzEdc.chunk.mjs.license diff --git a/dist/AppstoreBrowse-C-eSGUK5.chunk.mjs.map b/dist/AppstoreBrowse-CTMBzEdc.chunk.mjs.map similarity index 99% rename from dist/AppstoreBrowse-C-eSGUK5.chunk.mjs.map rename to dist/AppstoreBrowse-CTMBzEdc.chunk.mjs.map index 82683c1d78428..f69862f7965dd 100644 --- a/dist/AppstoreBrowse-C-eSGUK5.chunk.mjs.map +++ b/dist/AppstoreBrowse-CTMBzEdc.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"AppstoreBrowse-C-eSGUK5.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcherItem.vue","../build/frontend/apps/appstore/src/service/OfficeSuites.ts","../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcher.vue","../build/frontend/apps/appstore/src/views/AppstoreBrowse.vue"],"sourcesContent":["\n\n\n\n\n\n\n","/*\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\nexport const OFFICE_SUITES = Object.freeze([\n\t{\n\t\tid: 'nextcloud-office',\n\t\tappId: 'eurooffice',\n\t\tname: 'Nextcloud Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Powered by Euro-Office'),\n\t\t\tt('settings', 'Good Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Best performance'),\n\t\t\tt('settings', 'Limited ODF compatibility'),\n\t\t\tt('settings', 'Best Microsoft compatibility'),\n\t\t],\n\t\tlearnMoreUrl: 'https://github.com/Euro-Office',\n\t\tisPrimary: true,\n\t},\n\t{\n\t\tid: 'collabora-office',\n\t\tappId: 'richdocuments',\n\t\tname: 'Collabora Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Best Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Good performance'),\n\t\t\tt('settings', 'Best security: documents never leave your server'),\n\t\t\tt('settings', 'Best ODF compatibility'),\n\t\t\tt('settings', 'Best support for legacy files'),\n\t\t],\n\t\tlearnMoreUrl: 'https://nextcloud.com/collaboraonline/',\n\t\tisPrimary: false,\n\t},\n])\n\n/**\n * Get office suite configuration by ID\n *\n * @param id - The suite ID\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteById(id: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.id === id)\n}\n\n/**\n * Get office suite configuration by app ID\n *\n * @param appId - The app ID (richdocuments, onlyoffice, etc.)\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteByAppId(appId: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.appId === appId)\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"names":["selectedSuiteId","_useModel","__props","headerId","useId","store","useAppsStore","app","computed","isInstalled","cannotInstall","canInstall","_createElementBlock","_normalizeClass","$style","_cache","$event","_createElementVNode","_unref","_openBlock","_hoisted_2","_toDisplayString","t","_createVNode","NcCheckboxRadioSwitch","_Fragment","feature","index","NcButton","_createTextVNode","OFFICE_SUITES","isAllInOne","loadState","isProcessing","ref","getInitialSuite","watch","onSuiteChanged","suite","a","s","disableSuites","disableSuite","canDisable","newSuiteId","oldSuiteId","needForceEnable","showConfirmation","_createBlock","NcNoteCard","_renderList","OfficeSuiteSwitcherItem","route","useRoute","userSettings","useUserSettingsStore","currentCategory","apps","visibleApps","useFilteredApps","AppToolbar","NcEmptyContent","NcLoadingIcon","OfficeSuiteSwitcher","_resolveDynamicComponent","AppGrid","AppTable","$router","$route"],"mappings":"kjFAeA,MAAMA,EAAkBC,EAA0BC,EAAC,UAAU,EAOvDC,EAAWC,EAAA,EACXC,EAAQC,EAAA,EAERC,EAAMC,EAAS,IAAMH,EAAM,WAAWH,EAAA,MAAM,KAAK,CAAC,EAClDO,EAAcD,EAAS,IAAM,CAAC,CAACD,EAAI,OAAO,SAAS,EACnDG,EAAgBF,EAAS,IAAM,CAACD,EAAI,OAAU,CAACE,EAAY,OAAS,CAACE,EAAWJ,EAAI,KAAM,CAAE,oBAIjGK,EA4BM,MAAA,CA3BJ,MAAKC,EAAA,CAAGC,EAAAA,OAAO,wBAAuB,CAAQA,CAAAA,EAAAA,OAAO,gCAAgC,EAAGd,UAAoBE,EAAA,MAAM,EAAA,IAGlH,QAAKa,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEhB,EAAA,MAAkBE,EAAA,MAAM,GAAA,GAChCe,EAcM,MAAA,CAdA,MAAKJ,EAAEC,EAAAA,OAAO,+BAA+B,CAAA,GAClDG,EAGK,KAAA,CAHA,GAAIC,EAAAf,CAAA,EAAW,MAAKU,EAAEC,EAAAA,OAAO,8BAA8B,CAAA,OAC5DZ,EAAA,MAAM,IAAI,EAAG,IAChB,CAAA,EAAYO,EAAA,OAAZU,IAAAP,EAAkE,OAAAQ,GAAzC,IAACC,EAAGH,EAAAI,CAAA,2BAA6B,IAAC,CAAA,oBAE5DC,EAQeL,EAAAM,CAAA,EAAA,YAPLxB,EAAA,2CAAAA,EAAe,MAAAgB,GACvB,kBAAiBE,EAAAf,CAAA,EACjB,SAAUO,EAAA,MACV,QAASR,EAAA,QACV,KAAK,QACL,KAAK,eACJ,MAAOA,EAAA,MAAM,GACb,sBAAD,IAAA,CAAA,EAAW,CAAA,MAAA,CAAA,EAAA,4EAEbe,EAIK,KAAA,CAJA,aAAYC,EAAAI,CAAA,EAAC,WAAA,UAAA,EAA2B,MAAKT,EAAEC,EAAAA,OAAO,iCAAiC,CAAA,IAC3FK,EAAA,EAAA,EAAAP,EAEKa,SAF0BvB,EAAA,MAAM,SAAQ,CAAjCwB,EAASC,KAArBR,EAAA,EAAAP,EAEK,KAAA,CAF2C,IAAKe,CAAA,IACjDD,CAAO,EAAA,CAAA,kBAGZH,EAEWL,EAAAU,CAAA,EAAA,CAFA,KAAM1B,EAAA,MAAM,aAAe,sBAAD,IAAA,CAAA,EAAW,CAAA,MAAA,CAAA,EAAA,aAC/C,IAAiC,CAA9B2B,EAAAR,EAAAH,EAAAI,CAAA,4BAA8B,KAClC,CAAA,CAAA,0iBCnDWQ,EAAgB,OAAO,OAAO,CAC1C,CACC,GAAI,mBACJ,MAAO,aACP,KAAM,mBACN,SAAU,CACTR,EAAE,WAAY,wBAAwB,EACtCA,EAAE,WAAY,4BAA4B,EAC1CA,EAAE,WAAY,aAAa,EAC3BA,EAAE,WAAY,kBAAkB,EAChCA,EAAE,WAAY,2BAA2B,EACzCA,EAAE,WAAY,8BAA8B,CAAA,EAE7C,aAAc,iCACd,UAAW,EAAA,EAEZ,CACC,GAAI,mBACJ,MAAO,gBACP,KAAM,mBACN,SAAU,CACTA,EAAE,WAAY,4BAA4B,EAC1CA,EAAE,WAAY,aAAa,EAC3BA,EAAE,WAAY,kBAAkB,EAChCA,EAAE,WAAY,kDAAkD,EAChEA,EAAE,WAAY,wBAAwB,EACtCA,EAAE,WAAY,+BAA+B,CAAA,EAE9C,aAAc,yCACd,UAAW,EAAA,CAEb,CAAC,8CCrBD,MAAMjB,EAAQC,EAAA,EACRyB,EAAaC,EAAU,WAAY,aAAc,EAAK,EAEtDC,EAAeC,EAAI,EAAK,EACxBlC,EAAkBkC,EAAmBC,GAAiB,EAC5DC,EAAMpC,EAAiBqC,CAAc,EAKrC,SAASF,GAAkB,CAC1B,UAAWG,KAASR,EAAe,CAClC,MAAMvB,EAAMF,EAAM,KAAK,KAAMkC,GAAMA,EAAE,KAAOD,EAAM,OAASC,EAAE,SAAS,EACtE,GAAIhC,GAAOA,EAAI,OACd,OAAO+B,EAAM,EAEf,CACA,OAAOR,EAAc,KAAMU,GAAMA,EAAE,SAAS,GAAG,IAAM,IACtD,CAKA,SAASC,GAAgB,CACxBzC,EAAgB,MAAQ,IACzB,CAOA,eAAe0C,EAAaJ,EAAqC,CAChE,MAAM/B,EAAMF,EAAM,WAAWiC,EAAM,KAAK,EACnC/B,GAIDoC,EAAWpC,CAAG,GACjB,MAAMF,EAAM,WAAWiC,EAAM,KAAK,CAEpC,CAQA,eAAeD,EAAeO,EAA2BC,EAA2B,CACnF,GAAI,EAAAZ,EAAa,OAASW,IAAeC,GAIzC,GAAI,CACHZ,EAAa,MAAQ,GACrB,MAAMK,EAAQR,EAAc,KAAMU,GAAMA,EAAE,KAAOI,CAAU,EAC3D,GAAI,CAACN,EAAO,CAEX,UAAWE,KAAKV,EACf,MAAMY,EAAaF,CAAC,EAErB,MACD,CAEA,MAAMjC,EAAMF,EAAM,WAAWiC,EAAM,KAAK,EACxC,GAAIQ,EAAgBvC,CAAG,EAStB,GARe,MAAMwC,EAAiB,CACrC,KAAMzB,EAAE,WAAY,wBAAyB,CAAE,MAAOgB,EAAM,KAAM,EAClE,KAAMhB,EAAE,WAAY,0IAA2I,CAAE,MAAOgB,EAAM,KAAM,EACpL,aAAchB,EAAE,WAAY,cAAc,EAC1C,YAAaA,EAAE,WAAY,QAAQ,EACnC,SAAU,SAAA,CACV,EAGA,MAAMjB,EAAM,UAAUiC,EAAM,MAAO,EAAI,MACjC,CAENtC,EAAgB,MAAQ6C,EACxB,MACD,CAID,UAAWL,KAAKV,EACXU,EAAE,KAAOI,EACZ,MAAMvC,EAAM,UAAUmC,EAAE,KAAK,EAE7B,MAAME,EAAaF,CAAC,CAGvB,QAAA,CACCP,EAAa,MAAQ,EACtB,CACD,cAImBf,EAAAa,CAAA,OAAlBiB,EAGa9B,EAAA+B,CAAA,EAAA,OAHiB,KAAK,MAAA,aAClC,IAA2G,CAA3GhC,EAA2G,WAArGC,EAAAI,CAAA,EAAC,WAAA,+EAAA,CAAA,EAAA,CAAA,EACPL,EAA2F,WAArFC,EAAAI,CAAA,EAAC,WAAA,+DAAA,CAAA,EAAA,CAAA,CAAA,eAGRV,EAmBU,UAAA,OAnBO,MAAKC,EAAEC,EAAAA,OAAO,mBAAmB,CAAA,GACjDG,EAEK,KAAA,CAFA,MAAKJ,EAAEC,EAAAA,OAAO,0BAA0B,CAAA,IACzCI,EAAAI,CAAA,EAAC,WAAA,qCAAA,CAAA,EAAA,CAAA,EAELL,EAAuF,WAAjFC,EAAAI,CAAA,EAAC,WAAA,2DAAA,CAAA,EAAA,CAAA,EACPL,EAQW,WAAA,CARA,MAAKJ,EAAEC,EAAAA,OAAO,0BAA0B,CAAA,UAClDF,EAM2Ba,EAAA,KAAAyB,EALVhC,EAAAY,CAAA,EAATQ,QADRU,EAM2BG,GAAA,CAJzB,IAAKb,EAAM,GACJ,SAAUtC,EAAA,yCAAAA,EAAe,MAAAgB,GAChC,MAAKH,EAAEC,EAAAA,OAAO,8BAA8B,EAC5C,MAAAwB,EACA,QAASL,EAAA,KAAA,6DAEZhB,EAIM,MAAA,CAJA,MAAKJ,EAAEC,EAAAA,OAAO,4BAA4B,CAAA,GAC/CS,EAEWL,EAAAU,CAAA,EAAA,CAFA,UAAW5B,EAAA,MAAkB,QAAOyC,CAAA,aAC9C,IAA4C,KAAzCvB,EAAAI,CAAA,EAAC,WAAA,uBAAA,CAAA,EAAA,CAAA,CAAA,mfCrHR,MAAM8B,EAAQC,EAAA,EACRhD,EAAQC,EAAA,EACRgD,EAAeC,GAAA,EAEfC,EAAkBhD,EAAS,IAAM4C,EAAM,OAAQ,QAAkB,EACjEK,EAAOjD,EAAS,IACjBgD,EAAgB,QAAU,WACtBnD,EAAM,KAAK,OAAQE,GAAQA,EAAI,QAAU,GAAG,EACzCiD,EAAgB,QAAU,YAC7BnD,EAAM,KAAK,OAAQE,GAAQA,EAAI,QAAU,GAAG,EAE7CF,EAAM,kBAAkBmD,EAAgB,KAAK,CACpD,EAEKE,EAAcC,EAAgBF,CAAI,8BAIvClC,EAAcqC,CAAA,EAIP1C,EAAAb,CAAA,EAAM,mBADb2C,EAMiB9B,EAAA2C,CAAA,EAAA,OAJf,KAAM3C,EAAAI,CAAA,EAAC,WAAA,kBAAA,CAAA,GACG,OACV,IAA4B,CAA5BC,EAA4BL,EAAA4C,CAAA,EAAA,CAAZ,KAAM,GAAE,CAAA,0BAI1BlD,EAiBWa,EAAA,CAAA,IAAA,GAAA,CAhBiB+B,EAAA,QAAe,cAA1CR,EAA2De,GAAA,CAAA,IAAA,CAAA,CAAA,YAIpD7C,EAAAwC,CAAA,EAAY,QAFnBvC,IAAA6B,EAIuBgB,EAHjB9C,EAAAoC,CAAA,EAAa,WAAaW,EAAUC,EAAQ,EAAA,OAEhD,MAAKrD,EAAEC,EAAAA,OAAO,cAAc,EAC5B,KAAMI,EAAAwC,CAAA,CAAA,iCACRV,EAQiB9B,EAAA2C,CAAA,EAAA,OANf,KAAM3C,EAAAI,CAAA,EAAC,WAAA,wBAAA,CAAA,GACG,SACV,IAEW,CAFXC,EAEWL,EAAAU,CAAA,EAAA,CAFD,QAAQ,UAAW,uBAAOuC,EAAAA,QAAQ,KAAI,CAAA,MAAUC,EAAAA,OAAO,MAAK,KAAA,cAAA,EAAA,aACrE,IAAwC,KAArClD,EAAAI,CAAA,EAAC,WAAA,mBAAA,CAAA,EAAA,CAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"AppstoreBrowse-CTMBzEdc.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcherItem.vue","../build/frontend/apps/appstore/src/service/OfficeSuites.ts","../build/frontend/apps/appstore/src/components/AppstoreBrowse/OfficeSuiteSwitcher.vue","../build/frontend/apps/appstore/src/views/AppstoreBrowse.vue"],"sourcesContent":["\n\n\n\n\n\n\n","/*\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\nexport const OFFICE_SUITES = Object.freeze([\n\t{\n\t\tid: 'nextcloud-office',\n\t\tappId: 'eurooffice',\n\t\tname: 'Nextcloud Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Powered by Euro-Office'),\n\t\t\tt('settings', 'Good Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Best performance'),\n\t\t\tt('settings', 'Limited ODF compatibility'),\n\t\t\tt('settings', 'Best Microsoft compatibility'),\n\t\t],\n\t\tlearnMoreUrl: 'https://github.com/Euro-Office',\n\t\tisPrimary: true,\n\t},\n\t{\n\t\tid: 'collabora-office',\n\t\tappId: 'richdocuments',\n\t\tname: 'Collabora Office',\n\t\tfeatures: [\n\t\t\tt('settings', 'Best Nextcloud integration'),\n\t\t\tt('settings', 'Open source'),\n\t\t\tt('settings', 'Good performance'),\n\t\t\tt('settings', 'Best security: documents never leave your server'),\n\t\t\tt('settings', 'Best ODF compatibility'),\n\t\t\tt('settings', 'Best support for legacy files'),\n\t\t],\n\t\tlearnMoreUrl: 'https://nextcloud.com/collaboraonline/',\n\t\tisPrimary: false,\n\t},\n])\n\n/**\n * Get office suite configuration by ID\n *\n * @param id - The suite ID\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteById(id: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.id === id)\n}\n\n/**\n * Get office suite configuration by app ID\n *\n * @param appId - The app ID (richdocuments, onlyoffice, etc.)\n * @return The suite configuration or undefined if not found\n */\nexport function getOfficeSuiteByAppId(appId: string) {\n\treturn OFFICE_SUITES.find((suite) => suite.appId === appId)\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"names":["selectedSuiteId","_useModel","__props","headerId","useId","store","useAppsStore","app","computed","isInstalled","cannotInstall","canInstall","_createElementBlock","_normalizeClass","$style","_cache","$event","_createElementVNode","_unref","_openBlock","_hoisted_2","_toDisplayString","t","_createVNode","NcCheckboxRadioSwitch","_Fragment","feature","index","NcButton","_createTextVNode","OFFICE_SUITES","isAllInOne","loadState","isProcessing","ref","getInitialSuite","watch","onSuiteChanged","suite","a","s","disableSuites","disableSuite","canDisable","newSuiteId","oldSuiteId","needForceEnable","showConfirmation","_createBlock","NcNoteCard","_renderList","OfficeSuiteSwitcherItem","route","useRoute","userSettings","useUserSettingsStore","currentCategory","apps","visibleApps","useFilteredApps","AppToolbar","NcEmptyContent","NcLoadingIcon","OfficeSuiteSwitcher","_resolveDynamicComponent","AppGrid","AppTable","$router","$route"],"mappings":"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"} \ No newline at end of file diff --git a/dist/AppstoreBrowse-C-eSGUK5.chunk.mjs.map.license b/dist/AppstoreBrowse-CTMBzEdc.chunk.mjs.map.license similarity index 100% rename from dist/AppstoreBrowse-C-eSGUK5.chunk.mjs.map.license rename to dist/AppstoreBrowse-CTMBzEdc.chunk.mjs.map.license diff --git a/dist/AppstoreDiscover-DJks4Aya.chunk.mjs b/dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs similarity index 94% rename from dist/AppstoreDiscover-DJks4Aya.chunk.mjs rename to dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs index 779fc8c72efc2..b95dc4ec85819 100644 --- a/dist/AppstoreDiscover-DJks4Aya.chunk.mjs +++ b/dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/DiscoverTypePost-BX7MkxVG.chunk.mjs'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/appstore-main.mjs'),window.OC.filePath('', '', 'dist/pinia-CaE5yuEV.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-BYh5hWDN-9MECBj_y.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcContent-BYh5hWDN-CKeEKmjj.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-BMEoxMqX.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-B4eyDS9i-BknLVeOm.chunk.css'),window.OC.filePath('', '', 'dist/common-NcTextArea-Dxzj4zdb-CY5ND5WA.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/Plus-CjEmRLfi.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-Cx763gSp.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-bfXBK-tQ.chunk.css'),window.OC.filePath('', '', 'dist/index-C5srBhP3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BnF98eos.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-C8k9NUlo-C5D-rZyy.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-UTxgju3f-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/index-3kTsQt96.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBuXQ7OS.chunk.css'),window.OC.filePath('', '', 'dist/index-D-unkGTr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBhtJjWD.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-DhdKfuvN.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BXR7vT0V-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index--CXeJKGn.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CSrs_fa4.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-appstore-main-C0vSpMnG.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-CM0uWLr1-BezK2wMx.chunk.css'),window.OC.filePath('', '', 'dist/common-DiscoverTypePost-CpeIz2iE.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeCarousel--4FoDSYW.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs'),window.OC.filePath('', '', 'dist/UpdateAllDialog-wohJJdWD.chunk.mjs'),window.OC.filePath('', '', 'dist/common-UpdateAllDialog-CZVJ1CV6.chunk.css'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeShowcase-BsnvP-Fa.chunk.css')])))=>i.map(i=>d[i]); -import{b as _,A as x,o as i,c as u,w as v,k as y,u as e,f as h,F as A,B as N,m as C,C as I,l as w,a as d,_ as l}from"./Web-X6XNrbMx.chunk.mjs";import{e as L}from"./mdi-GefgkJkH.chunk.mjs";import{a as O}from"./index--CXeJKGn.chunk.mjs";import{t as p}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as D}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as P}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{N as R}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{c as T}from"./index-CfIbVNTc.chunk.mjs";import{c as V}from"./index-BRcsAfAF.chunk.mjs";import{l as g}from"./appstore-main.mjs";import{_ as b}from"./public-C1mLBHT3.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";function z(o){const t={...o};if(t.date&&(t.date=Date.parse(t.date)),t.expiryDate&&(t.expiryDate=Date.parse(t.expiryDate)),t.type==="post"||t.type==="showcase"||t.type==="carousel")return t;throw new Error(`Invalid argument, app discover element with type ${o.type??"unknown"} is unknown`)}function F(o){const t=Date.now();return!(o.date&&o.date>t||o.expiryDate&&o.expiryDate(s.order??1/0)<(n.order??1/0)?-1:1),a}function q(o){for(let t=o.length-1;t>0;t--){const a=Math.floor(Math.random()*(t+1));[o[t],o[a]]=[o[a],o[t]]}return o}async function B(){const o=await T.get(V("/apps/appstore/api/v1/discover")),{data:t}=o.data.ocs;return t}const U={key:2,class:"app-discover"},$=_({__name:"AppstoreDiscover",setup(o){const t=d(()=>l(()=>import("./DiscoverTypePost-BX7MkxVG.chunk.mjs").then(r=>r.a),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]),import.meta.url)),a=d(()=>l(()=>import("./DiscoverTypeCarousel-B0H88aXG.chunk.mjs"),__vite__mapDeps([76,3,4,1,2,5,6,7,8,9,10,0,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77]),import.meta.url)),s=d(()=>l(()=>import("./DiscoverTypeShowcase-Dj42GkVS.chunk.mjs"),__vite__mapDeps([78,11,3,4,2,5,6,7,8,9,12,79,1,10,17,18,19,15,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,13,14,69,70,71,72,73,74,80,0,75,81]),import.meta.url)),n=w(!1),m=w([]);x(async()=>{try{m.value=await M()}catch(r){n.value=!0,g.error(r),O(p("appstore","Could not load app discover section"))}});function k(r){return r==="post"?t:r==="carousel"?a:r==="showcase"?s:_({mounted:()=>g.error("Unknown component requested ",r),render:f=>f("div",p("appstore","Could not render element"))})}return(r,f)=>n.value?(i(),u(e(D),{key:0,name:e(p)("appstore","Nothing to show"),description:e(p)("appstore","Could not load section content from app store.")},{icon:v(()=>[y(e(P),{path:e(L),size:64},null,8,["path"])]),_:1},8,["name","description"])):m.value.length===0?(i(),u(e(D),{key:1,name:e(p)("appstore","Loading"),description:e(p)("appstore","Fetching the latest news…")},{icon:v(()=>[y(e(R),{size:64})]),_:1},8,["name","description"])):(i(),h("div",U,[(i(!0),h(A,null,N(m.value,(c,E)=>(i(),u(I(k(c.type)),C({key:c.id??E},{ref_for:!0},c),null,16))),128))]))}}),Vt=b($,[["__scopeId","data-v-daf7ec3e"]]);export{Vt as default}; -//# sourceMappingURL=AppstoreDiscover-DJks4Aya.chunk.mjs.map +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/DiscoverTypePost-BX7MkxVG.chunk.mjs'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/appstore-main.mjs'),window.OC.filePath('', '', 'dist/pinia-CaE5yuEV.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-BYh5hWDN-9MECBj_y.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcContent-BYh5hWDN-CKeEKmjj.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-BMEoxMqX.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-B4eyDS9i-BknLVeOm.chunk.css'),window.OC.filePath('', '', 'dist/common-NcTextArea-Dxzj4zdb-CY5ND5WA.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/Plus-CjEmRLfi.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-Cx763gSp.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-bfXBK-tQ.chunk.css'),window.OC.filePath('', '', 'dist/index-C5srBhP3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BnF98eos.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-C8k9NUlo-C5D-rZyy.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-UTxgju3f-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/index-3kTsQt96.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBuXQ7OS.chunk.css'),window.OC.filePath('', '', 'dist/index-D-unkGTr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBhtJjWD.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-DhdKfuvN.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BXR7vT0V-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-9np_X5jS.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CSrs_fa4.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-appstore-main-C0vSpMnG.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-CM0uWLr1-BezK2wMx.chunk.css'),window.OC.filePath('', '', 'dist/common-DiscoverTypePost-CpeIz2iE.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeCarousel--4FoDSYW.chunk.css'),window.OC.filePath('', '', 'dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs'),window.OC.filePath('', '', 'dist/UpdateAllDialog-Cv_g-se6.chunk.mjs'),window.OC.filePath('', '', 'dist/common-UpdateAllDialog-CZVJ1CV6.chunk.css'),window.OC.filePath('', '', 'dist/appstore-DiscoverTypeShowcase-BsnvP-Fa.chunk.css')])))=>i.map(i=>d[i]); +import{b as _,A as x,o as i,c as u,w as v,k as y,u as e,f as h,F as A,B as N,m as C,C as I,l as w,a as d,_ as l}from"./Web-X6XNrbMx.chunk.mjs";import{e as L}from"./mdi-GefgkJkH.chunk.mjs";import{a as O}from"./index-9np_X5jS.chunk.mjs";import{t as p}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as D}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as P}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{N as R}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{c as T}from"./index-CfIbVNTc.chunk.mjs";import{c as V}from"./index-BRcsAfAF.chunk.mjs";import{l as g}from"./appstore-main.mjs";import{_ as b}from"./public-C1mLBHT3.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";function z(o){const t={...o};if(t.date&&(t.date=Date.parse(t.date)),t.expiryDate&&(t.expiryDate=Date.parse(t.expiryDate)),t.type==="post"||t.type==="showcase"||t.type==="carousel")return t;throw new Error(`Invalid argument, app discover element with type ${o.type??"unknown"} is unknown`)}function F(o){const t=Date.now();return!(o.date&&o.date>t||o.expiryDate&&o.expiryDate(s.order??1/0)<(n.order??1/0)?-1:1),a}function q(o){for(let t=o.length-1;t>0;t--){const a=Math.floor(Math.random()*(t+1));[o[t],o[a]]=[o[a],o[t]]}return o}async function B(){const o=await T.get(V("/apps/appstore/api/v1/discover")),{data:t}=o.data.ocs;return t}const U={key:2,class:"app-discover"},$=_({__name:"AppstoreDiscover",setup(o){const t=d(()=>l(()=>import("./DiscoverTypePost-BX7MkxVG.chunk.mjs").then(r=>r.a),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]),import.meta.url)),a=d(()=>l(()=>import("./DiscoverTypeCarousel-CprePTPS.chunk.mjs"),__vite__mapDeps([76,3,4,1,2,5,6,7,8,9,10,0,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77]),import.meta.url)),s=d(()=>l(()=>import("./DiscoverTypeShowcase-BNOvH9_w.chunk.mjs"),__vite__mapDeps([78,11,3,4,2,5,6,7,8,9,12,79,1,10,17,18,19,15,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,13,14,69,70,71,72,73,74,80,0,75,81]),import.meta.url)),n=w(!1),m=w([]);x(async()=>{try{m.value=await M()}catch(r){n.value=!0,g.error(r),O(p("appstore","Could not load app discover section"))}});function k(r){return r==="post"?t:r==="carousel"?a:r==="showcase"?s:_({mounted:()=>g.error("Unknown component requested ",r),render:f=>f("div",p("appstore","Could not render element"))})}return(r,f)=>n.value?(i(),u(e(D),{key:0,name:e(p)("appstore","Nothing to show"),description:e(p)("appstore","Could not load section content from app store.")},{icon:v(()=>[y(e(P),{path:e(L),size:64},null,8,["path"])]),_:1},8,["name","description"])):m.value.length===0?(i(),u(e(D),{key:1,name:e(p)("appstore","Loading"),description:e(p)("appstore","Fetching the latest news…")},{icon:v(()=>[y(e(R),{size:64})]),_:1},8,["name","description"])):(i(),h("div",U,[(i(!0),h(A,null,N(m.value,(c,E)=>(i(),u(I(k(c.type)),C({key:c.id??E},{ref_for:!0},c),null,16))),128))]))}}),Vt=b($,[["__scopeId","data-v-daf7ec3e"]]);export{Vt as default}; +//# sourceMappingURL=AppstoreDiscover-Dx4n5UIV.chunk.mjs.map diff --git a/dist/AppstoreDiscover-DJks4Aya.chunk.mjs.license b/dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs.license similarity index 100% rename from dist/AppstoreDiscover-DJks4Aya.chunk.mjs.license rename to dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs.license diff --git a/dist/AppstoreDiscover-DJks4Aya.chunk.mjs.map b/dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs.map similarity index 99% rename from dist/AppstoreDiscover-DJks4Aya.chunk.mjs.map rename to dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs.map index 91957485e7060..24336507a4d0b 100644 --- a/dist/AppstoreDiscover-DJks4Aya.chunk.mjs.map +++ b/dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["parseApiResponse","element","appElement","filterElements","now","getDiscoverElements","data","loadDiscoverElements","parsedElements","shuffledElements","shuffleArray","a","b","array","i","j","response","axios","generateOcsUrl","PostType","defineAsyncComponent","__vitePreload","n","CarouselType","ShowcaseType","hasError","ref","elements","onBeforeMount","error","logger","showError","t","getComponent","type","defineComponent","h","_createBlock","_unref","NcEmptyContent","_createVNode","NcIconSvgWrapper","mdiEyeOffOutline","NcLoadingIcon","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","entry","index","_resolveDynamicComponent","_mergeProps"],"ignoreList":[],"sources":["../build/frontend/apps/appstore/src/utils/appDiscoverParser.ts","../build/frontend/apps/appstore/src/service/app-discover.ts","../build/frontend/apps/appstore/src/views/AppstoreDiscover.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppDiscoverCarousel, IAppDiscoverElement, IAppDiscoverElements, IAppDiscoverPost, IAppDiscoverShowcase } from '../constants/AppDiscoverTypes.ts'\n\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport function parseApiResponse(element: Record): IAppDiscoverElements {\n\tconst appElement = { ...element }\n\tif (appElement.date) {\n\t\tappElement.date = Date.parse(appElement.date as string)\n\t}\n\tif (appElement.expiryDate) {\n\t\tappElement.expiryDate = Date.parse(appElement.expiryDate as string)\n\t}\n\n\tif (appElement.type === 'post') {\n\t\treturn appElement as unknown as IAppDiscoverPost\n\t} else if (appElement.type === 'showcase') {\n\t\treturn appElement as unknown as IAppDiscoverShowcase\n\t} else if (appElement.type === 'carousel') {\n\t\treturn appElement as unknown as IAppDiscoverCarousel\n\t}\n\tthrow new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`)\n}\n\n/**\n * Filter outdated or upcoming elements\n *\n * @param element Element to check\n */\nexport function filterElements(element: IAppDiscoverElement) {\n\tconst now = Date.now()\n\t// Element not yet published\n\tif (element.date && element.date > now) {\n\t\treturn false\n\t}\n\n\t// Element expired\n\tif (element.expiryDate && element.expiryDate < now) {\n\t\treturn false\n\t}\n\treturn true\n}\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { filterElements, parseApiResponse } from '../utils/appDiscoverParser.ts'\n\n/**\n * Get app discover elements\n */\nexport async function getDiscoverElements() {\n\tconst data = await loadDiscoverElements()\n\tif (data.length === 0) {\n\t\tthrow new Error('No app discover elements available (empty response)')\n\t}\n\n\t// Parse data to ensure dates are useable and then filter out expired or future elements\n\tconst parsedElements = data.map(parseApiResponse)\n\t\t.filter(filterElements)\n\n\t// Shuffle elements to make it looks more interesting\n\tconst shuffledElements = shuffleArray(parsedElements)\n\t// Sort pinned elements first\n\tshuffledElements.sort((a, b) => (a.order ?? Infinity) < (b.order ?? Infinity) ? -1 : 1)\n\treturn shuffledElements\n}\n\n/**\n * Shuffle using the Fisher-Yates algorithm\n *\n * @param array The array to shuffle (in place)\n */\nfunction shuffleArray(array: T[]): T[] {\n\tfor (let i = array.length - 1; i > 0; i--) {\n\t\tconst j = Math.floor(Math.random() * (i + 1));\n\t\t[array[i], array[j]] = [array[j]!, array[i]!]\n\t}\n\treturn array\n}\n\n/**\n * Load discover elements from the API\n */\nasync function loadDiscoverElements() {\n\tconst response = await axios.get[]>>(generateOcsUrl('/apps/appstore/api/v1/discover'))\n\tconst { data } = response.data.ocs\n\treturn data\n}\n","\n\n\n\n\n\n\n"],"file":"AppstoreDiscover-DJks4Aya.chunk.mjs"} \ No newline at end of file +{"version":3,"mappings":"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","names":["parseApiResponse","element","appElement","filterElements","now","getDiscoverElements","data","loadDiscoverElements","parsedElements","shuffledElements","shuffleArray","a","b","array","i","j","response","axios","generateOcsUrl","PostType","defineAsyncComponent","__vitePreload","n","CarouselType","ShowcaseType","hasError","ref","elements","onBeforeMount","error","logger","showError","t","getComponent","type","defineComponent","h","_createBlock","_unref","NcEmptyContent","_createVNode","NcIconSvgWrapper","mdiEyeOffOutline","NcLoadingIcon","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","entry","index","_resolveDynamicComponent","_mergeProps"],"ignoreList":[],"sources":["../build/frontend/apps/appstore/src/utils/appDiscoverParser.ts","../build/frontend/apps/appstore/src/service/app-discover.ts","../build/frontend/apps/appstore/src/views/AppstoreDiscover.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { IAppDiscoverCarousel, IAppDiscoverElement, IAppDiscoverElements, IAppDiscoverPost, IAppDiscoverShowcase } from '../constants/AppDiscoverTypes.ts'\n\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport function parseApiResponse(element: Record): IAppDiscoverElements {\n\tconst appElement = { ...element }\n\tif (appElement.date) {\n\t\tappElement.date = Date.parse(appElement.date as string)\n\t}\n\tif (appElement.expiryDate) {\n\t\tappElement.expiryDate = Date.parse(appElement.expiryDate as string)\n\t}\n\n\tif (appElement.type === 'post') {\n\t\treturn appElement as unknown as IAppDiscoverPost\n\t} else if (appElement.type === 'showcase') {\n\t\treturn appElement as unknown as IAppDiscoverShowcase\n\t} else if (appElement.type === 'carousel') {\n\t\treturn appElement as unknown as IAppDiscoverCarousel\n\t}\n\tthrow new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`)\n}\n\n/**\n * Filter outdated or upcoming elements\n *\n * @param element Element to check\n */\nexport function filterElements(element: IAppDiscoverElement) {\n\tconst now = Date.now()\n\t// Element not yet published\n\tif (element.date && element.date > now) {\n\t\treturn false\n\t}\n\n\t// Element expired\n\tif (element.expiryDate && element.expiryDate < now) {\n\t\treturn false\n\t}\n\treturn true\n}\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { filterElements, parseApiResponse } from '../utils/appDiscoverParser.ts'\n\n/**\n * Get app discover elements\n */\nexport async function getDiscoverElements() {\n\tconst data = await loadDiscoverElements()\n\tif (data.length === 0) {\n\t\tthrow new Error('No app discover elements available (empty response)')\n\t}\n\n\t// Parse data to ensure dates are useable and then filter out expired or future elements\n\tconst parsedElements = data.map(parseApiResponse)\n\t\t.filter(filterElements)\n\n\t// Shuffle elements to make it looks more interesting\n\tconst shuffledElements = shuffleArray(parsedElements)\n\t// Sort pinned elements first\n\tshuffledElements.sort((a, b) => (a.order ?? Infinity) < (b.order ?? Infinity) ? -1 : 1)\n\treturn shuffledElements\n}\n\n/**\n * Shuffle using the Fisher-Yates algorithm\n *\n * @param array The array to shuffle (in place)\n */\nfunction shuffleArray(array: T[]): T[] {\n\tfor (let i = array.length - 1; i > 0; i--) {\n\t\tconst j = Math.floor(Math.random() * (i + 1));\n\t\t[array[i], array[j]] = [array[j]!, array[i]!]\n\t}\n\treturn array\n}\n\n/**\n * Load discover elements from the API\n */\nasync function loadDiscoverElements() {\n\tconst response = await axios.get[]>>(generateOcsUrl('/apps/appstore/api/v1/discover'))\n\tconst { data } = response.data.ocs\n\treturn data\n}\n","\n\n\n\n\n\n\n"],"file":"AppstoreDiscover-Dx4n5UIV.chunk.mjs"} \ No newline at end of file diff --git a/dist/AppstoreDiscover-DJks4Aya.chunk.mjs.map.license b/dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs.map.license similarity index 100% rename from dist/AppstoreDiscover-DJks4Aya.chunk.mjs.map.license rename to dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs.map.license diff --git a/dist/AuthMechanismRsa-R-taZeCz.chunk.mjs b/dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs similarity index 96% rename from dist/AuthMechanismRsa-R-taZeCz.chunk.mjs rename to dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs index e6f1e0d2f5bc0..ee80ef58b35ea 100644 --- a/dist/AuthMechanismRsa-R-taZeCz.chunk.mjs +++ b/dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs @@ -1,2 +1,2 @@ -import{b as g,n as _,u as o,o as r,c as p,C as x,y as d,w as v,j as V,t as b,s as k,z as E,f,F as M,B as K,J as q,K as U,k as c,l as j}from"./Web-X6XNrbMx.chunk.mjs";import{c as w}from"./index-CfIbVNTc.chunk.mjs";import{a as C}from"./index--CXeJKGn.chunk.mjs";import{t as u}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{b as N}from"./index-BRcsAfAF.chunk.mjs";import{N as S}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as z}from"./index-DF7qcH5u.chunk.mjs";import{N as A}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as B}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import{_ as L}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{a as y,C as O}from"./types-DmMhTORo.chunk.mjs";import{_ as $}from"./public-C1mLBHT3.chunk.mjs";import{l as P}from"./logger-C6O_UhM3.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(B):o(L)),{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(A),{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"]))}}),F="_configurationEntry_1cmcq_2",G={configurationEntry:F},H={$style:G},J=$(R,[["__cssModules",H]]),T=g({__name:"AuthMechanismRsa",props:k({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue"),l=j();E(l,()=>{l.value&&(a.value.private_key="",a.value.public_key="")});async function i(){try{const{data:t}=await w.post(N("/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}),C(u("files_external","Error generating key pair"))}}return(t,m)=>(r(),f("div",null,[(r(!0),f(M,null,K(e.authMechanism.configuration,(n,s)=>q((r(),p(J,{key:n.value,modelValue:a.value[s],"onUpdate:modelValue":h=>a.value[s]=h,configKey:s,configOption:n},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[U,!(n.flags&o(O).Hidden)]])),128)),c(o(z),{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=n=>l.value=n),clearable:!1,inputLabel:o(u)("files_external","Key size"),options:[1024,2048,4096],required:""},null,8,["modelValue","inputLabel"]),c(o(S),{disabled:!l.value,wide:"",onClick:i},{default:v(()=>[V(b(o(u)("files_external","Generate keys")),1)]),_:1},8,["disabled"])]))}}),ne=Object.freeze(Object.defineProperty({__proto__:null,default:T},Symbol.toStringTag,{value:"Module"}));export{ne as A,J as C}; -//# sourceMappingURL=AuthMechanismRsa-R-taZeCz.chunk.mjs.map +import{b as g,n as _,u as o,o as r,c as p,C as x,y as d,w as v,j as V,t as b,s as k,z as E,f,F as M,B as K,J as q,K as U,k as c,l as j}from"./Web-X6XNrbMx.chunk.mjs";import{c as w}from"./index-CfIbVNTc.chunk.mjs";import{a as C}from"./index-9np_X5jS.chunk.mjs";import{t as u}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{b as N}from"./index-BRcsAfAF.chunk.mjs";import{N as S}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as z}from"./index-DF7qcH5u.chunk.mjs";import{N as A}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as B}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import{_ as L}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{a as y,C as O}from"./types-DmMhTORo.chunk.mjs";import{_ as $}from"./public-C1mLBHT3.chunk.mjs";import{l as P}from"./logger-C6O_UhM3.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(B):o(L)),{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(A),{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"]))}}),F="_configurationEntry_1cmcq_2",G={configurationEntry:F},H={$style:G},J=$(R,[["__cssModules",H]]),T=g({__name:"AuthMechanismRsa",props:k({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=_(e,"modelValue"),l=j();E(l,()=>{l.value&&(a.value.private_key="",a.value.public_key="")});async function i(){try{const{data:t}=await w.post(N("/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}),C(u("files_external","Error generating key pair"))}}return(t,m)=>(r(),f("div",null,[(r(!0),f(M,null,K(e.authMechanism.configuration,(n,s)=>q((r(),p(J,{key:n.value,modelValue:a.value[s],"onUpdate:modelValue":h=>a.value[s]=h,configKey:s,configOption:n},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[U,!(n.flags&o(O).Hidden)]])),128)),c(o(z),{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=n=>l.value=n),clearable:!1,inputLabel:o(u)("files_external","Key size"),options:[1024,2048,4096],required:""},null,8,["modelValue","inputLabel"]),c(o(S),{disabled:!l.value,wide:"",onClick:i},{default:v(()=>[V(b(o(u)("files_external","Generate keys")),1)]),_:1},8,["disabled"])]))}}),ne=Object.freeze(Object.defineProperty({__proto__:null,default:T},Symbol.toStringTag,{value:"Module"}));export{ne as A,J as C}; +//# sourceMappingURL=AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map diff --git a/dist/AuthMechanismRsa-R-taZeCz.chunk.mjs.license b/dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.license similarity index 100% rename from dist/AuthMechanismRsa-R-taZeCz.chunk.mjs.license rename to dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.license diff --git a/dist/AuthMechanismRsa-R-taZeCz.chunk.mjs.map b/dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map similarity index 98% rename from dist/AuthMechanismRsa-R-taZeCz.chunk.mjs.map rename to dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map index 877956e84bf26..9d6e55e3c258f 100644 --- a/dist/AuthMechanismRsa-R-taZeCz.chunk.mjs.map +++ b/dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"AuthMechanismRsa-R-taZeCz.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":"ihCAaA,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-DjvZ-2rQ.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":"ihCAaA,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-R-taZeCz.chunk.mjs.map.license b/dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map.license similarity index 100% rename from dist/AuthMechanismRsa-R-taZeCz.chunk.mjs.map.license rename to dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs.map.license diff --git a/dist/CommentView-DBgM9q8R.chunk.mjs b/dist/CommentView--RDJB_xe.chunk.mjs similarity index 98% rename from dist/CommentView-DBgM9q8R.chunk.mjs rename to dist/CommentView--RDJB_xe.chunk.mjs index 35188a2100f1e..15a71f505e61c 100644 --- a/dist/CommentView-DBgM9q8R.chunk.mjs +++ b/dist/CommentView--RDJB_xe.chunk.mjs @@ -1,5 +1,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/index-D-unkGTr.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/emoji-C8k9NUlo-C5D-rZyy.chunk.mjs'),window.OC.filePath('', '', 'dist/index-3kTsQt96.chunk.mjs'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/common-index-BBuXQ7OS.chunk.css'),window.OC.filePath('', '', 'dist/common-index-BBhtJjWD.chunk.css')])))=>i.map(i=>d[i]); -import{o as n,f as h,g as u,t as y,h as N,m as V,a as T,_ as v,r as c,J as U,K as W,c as p,w as m,k as d,F as H,j as _,L as J,y as w,C as K,b as Z}from"./Web-X6XNrbMx.chunk.mjs";import{a as f,c as G}from"./index-BRcsAfAF.chunk.mjs";import{t as Q}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{d as X,m as A}from"./pinia-CaE5yuEV.chunk.mjs";import{N as Y,P as ee}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{b as te}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import{_ as oe}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{N as ie}from"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{N as se}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{_ as ae}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{N as re,D as ne}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as ce}from"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import{A as me}from"./ArrowRight-D54JS6Uu.chunk.mjs";import{_ as S,l as de}from"./public-C1mLBHT3.chunk.mjs";import{a as I,T as le,f as ue}from"./index--CXeJKGn.chunk.mjs";import{l as g}from"./activity-nG-Rk4qJ.chunk.mjs";import{c as D,a as pe}from"./GetComments-Bnfad0N4.chunk.mjs";import{c as x}from"./index-CfIbVNTc.chunk.mjs";const he={name:"NcActionSeparator"},ge={class:"action action-separator action--disabled",role:"separator"};function ye(e,o,i,a,r,s){return n(),h("li",ge)}const fe=oe(he,[["render",ye],["__scopeId","data-v-3e2324b7"]]),be={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ce=["aria-hidden","aria-label"],_e=["fill","width","height"],Ie={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"},Ne={key:0};function De(e,o,i,a,r,s){return n(),h("span",V(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon close-icon",role:"img",onClick:o[0]||(o[0]=b=>e.$emit("click",b))}),[(n(),h("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[u("path",Ie,[i.title?(n(),h("title",Ne,y(i.title),1)):N("",!0)])],8,_e))],16,Ce)}const ke=S(be,[["render",De]]);async function we(e,o,i){const a=["",e,o,i].join("/");await D.deleteFile(a)}async function Le(e,o,i,a){const r=["",e,o,i].join("/");return await D.customRequest(r,{method:"PROPPATCH",data:` +import{o as n,f as h,g as u,t as y,h as N,m as V,a as T,_ as v,r as c,J as U,K as W,c as p,w as m,k as d,F as H,j as _,L as J,y as w,C as K,b as Z}from"./Web-X6XNrbMx.chunk.mjs";import{a as f,c as G}from"./index-BRcsAfAF.chunk.mjs";import{t as Q}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{d as X,m as A}from"./pinia-CaE5yuEV.chunk.mjs";import{N as Y,P as ee}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{b as te}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import{_ as oe}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{N as ie}from"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{N as se}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{_ as ae}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{N as re,D as ne}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as ce}from"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import{A as me}from"./ArrowRight-D54JS6Uu.chunk.mjs";import{_ as S,l as de}from"./public-C1mLBHT3.chunk.mjs";import{a as I,T as le,f as ue}from"./index-9np_X5jS.chunk.mjs";import{l as g}from"./activity-nG-Rk4qJ.chunk.mjs";import{c as D,a as pe}from"./GetComments-BU90Le50.chunk.mjs";import{c as x}from"./index-CfIbVNTc.chunk.mjs";const he={name:"NcActionSeparator"},ge={class:"action action-separator action--disabled",role:"separator"};function ye(e,o,i,a,r,s){return n(),h("li",ge)}const fe=oe(he,[["render",ye],["__scopeId","data-v-3e2324b7"]]),be={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ce=["aria-hidden","aria-label"],_e=["fill","width","height"],Ie={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"},Ne={key:0};function De(e,o,i,a,r,s){return n(),h("span",V(e.$attrs,{"aria-hidden":i.title?null:"true","aria-label":i.title,class:"material-design-icon close-icon",role:"img",onClick:o[0]||(o[0]=b=>e.$emit("click",b))}),[(n(),h("svg",{fill:i.fillColor,class:"material-design-icon__svg",width:i.size,height:i.size,viewBox:"0 0 24 24"},[u("path",Ie,[i.title?(n(),h("title",Ne,y(i.title),1)):N("",!0)])],8,_e))],16,Ce)}const ke=S(be,[["render",De]]);async function we(e,o,i){const a=["",e,o,i].join("/");await D.deleteFile(a)}async function Le(e,o,i,a){const r=["",e,o,i].join("/");return await D.customRequest(r,{method:"PROPPATCH",data:` @@ -9,4 +9,4 @@ import{o as n,f as h,g as u,t as y,h as N,m as V,a as T,_ as v,r as c,J as U,K a `})}function L(e,o=1){const i=new DOMParser;let a=e;for(let r=0;r({idsInLimbo:[]}),actions:{addId(e){this.idsInLimbo.push(e)},removeId(e){const o=this.idsInLimbo.indexOf(e);o>-1&&this.idsInLimbo.splice(o,1)},checkForId(e){return this.idsInLimbo.includes(e)}}}),ve={props:{id:{type:Number,default:null},message:{type:String,default:""},resourceId:{type:[String,Number],required:!0},resourceType:{type:String,default:"files"}},data(){return{deleted:!1,editing:!1,loading:!1}},computed:{...A(M)},methods:{onEdit(){this.editing=!0},onEditCancel(){this.editing=!1,this.updateLocalMessage(this.message)},async onEditComment(e){this.loading=!0;try{await Le(this.resourceType,this.resourceId,this.id,e),g.debug("Comment edited",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id,message:e}),this.$emit("update:message",e),this.editing=!1}catch(o){I(t("comments","An error occurred while trying to edit the comment")),g.error("An error occurred while trying to edit the comment",{error:o})}finally{this.loading=!1}},onDeleteWithUndo(){this.$emit("delete"),this.deleted=!0,this.deletedCommentLimboStore.addId(this.id);const e=setTimeout(this.onDelete,le);ue(t("comments","Comment deleted"),()=>{clearTimeout(e),this.deleted=!1,this.deletedCommentLimboStore.removeId(this.id)})},async onDelete(){try{await we(this.resourceType,this.resourceId,this.id),g.debug("Comment deleted",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id}),this.$emit("delete",this.id)}catch(e){I(t("comments","An error occurred while trying to delete the comment")),g.error("An error occurred while trying to delete the comment",{error:e}),this.deleted=!1,this.deletedCommentLimboStore.removeId(this.id)}},async onNewComment(e){this.loading=!0;try{const o=await Te(this.resourceType,this.resourceId,e);g.debug("New comment posted",{resourceType:this.resourceType,resourceId:this.resourceId,newComment:o}),this.$emit("new",o),this.$emit("update:message",""),this.localMessage=""}catch(o){I(t("comments","An error occurred while trying to create the comment")),g.error("An error occurred while trying to create the comment",{error:o})}finally{this.loading=!1}}}},Ae=T(()=>v(()=>import("./index-D-unkGTr.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]),import.meta.url)),Se=T(()=>v(()=>import("./index-3kTsQt96.chunk.mjs").then(e=>e.i),__vite__mapDeps([27,4,5,8,9,10,1,11,12,28,23,24,29,3,6,30,7,13,31,32,33,14,15,34,35,36,37]),import.meta.url)),xe={name:"Comment",components:{IconArrowRight:me,IconClose:ke,IconTrashCanOutline:ne,IconPencilOutline:ee,NcActionButton:Y,NcActions:te,NcActionSeparator:fe,NcAvatar:ie,NcButton:se,NcDateTime:ae,NcLoadingIcon:re,NcRichContenteditable:Ae,NcRichText:Se},mixins:[ve],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},userData:{type:Object,default:()=>({})},tag:{type:String,default:"div"}},data(){return{expanded:!1,localMessage:"",submitted:!1}},computed:{...A(M),isOwnComment(){return f().uid===this.actorId},richContent(){const e={};let o=this.localMessage;return Object.keys(this.userData).forEach((i,a)=>{const r=`mention-${a}`,s=new RegExp(`@${i}|@"${i}"`,"g");o=o.replace(s,`{${r}}`),e[r]={component:ce,props:{user:i,displayName:this.userData[i].label,primary:this.userData[i].primary}}}),{mentions:e,message:o}},isEmptyMessage(){return!this.localMessage||this.localMessage.trim()===""},timestamp(){return Date.parse(this.creationDateTime)},isLimbo(){return this.deletedCommentLimboStore.checkForId(this.id)}},watch:{message(e){this.updateLocalMessage(e)}},beforeMount(){this.updateLocalMessage(this.message)},methods:{t:Q,updateLocalMessage(e){this.localMessage=e.toString(),this.submitted=!1},onSubmit(){if(this.localMessage.trim()!==""){if(this.editor){this.onNewComment(this.localMessage.trim()),this.$nextTick(()=>{this.$refs.editor.$el.focus()});return}this.onEditComment(this.localMessage.trim())}},onExpand(){this.expanded=!0}}},Me={class:"comment__side"},Ee={class:"comment__body"},Oe={class:"comment__header"},Re={class:"comment__author"},$e={key:1,class:"comment_loading icon-loading-small"},je={class:"comment__editor-group"},Pe={class:"comment__submit"},ze={id:"tab-comments__editor-description",class:"comment__editor-description"};function qe(e,o,i,a,r,s){const b=c("NcAvatar"),C=c("IconPencilOutline"),l=c("NcActionButton"),E=c("NcActionSeparator"),O=c("IconTrashCanOutline"),R=c("IconClose"),$=c("NcActions"),j=c("NcDateTime"),P=c("NcRichContenteditable"),z=c("NcLoadingIcon"),q=c("IconArrowRight"),B=c("NcButton"),F=c("NcRichText");return U((n(),p(K(i.tag),{class:w([{"comment--loading":e.loading},"comment"])},{default:m(()=>[u("div",Me,[d(b,{class:"comment__avatar",displayName:i.actorDisplayName,user:i.actorId,size:32},null,8,["displayName","user"])]),u("div",Ee,[u("div",Oe,[u("span",Re,y(i.actorDisplayName),1),s.isOwnComment&&e.id&&!e.loading?(n(),p($,{key:0,class:"comment__actions"},{default:m(()=>[e.editing?(n(),p(l,{key:1,onClick:e.onEditCancel},{icon:m(()=>[d(R,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Cancel edit")),1)]),_:1},8,["onClick"])):(n(),h(H,{key:0},[d(l,{closeAfterClick:"",onClick:e.onEdit},{icon:m(()=>[d(C,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Edit comment")),1)]),_:1},8,["onClick"]),d(E),d(l,{closeAfterClick:"",onClick:e.onDeleteWithUndo},{icon:m(()=>[d(O,{size:20})]),default:m(()=>[_(" "+y(s.t("comments","Delete comment")),1)]),_:1},8,["onClick"])],64))]),_:1})):N("",!0),e.id&&e.loading?(n(),h("div",$e)):i.creationDateTime?(n(),p(j,{key:2,class:"comment__timestamp",timestamp:s.timestamp,ignoreSeconds:!0},null,8,["timestamp"])):N("",!0)]),i.editor||e.editing?(n(),h("form",{key:0,class:"comment__editor",onSubmit:o[2]||(o[2]=J(()=>{},["prevent"]))},[u("div",je,[d(P,{ref:"editor",modelValue:r.localMessage,"onUpdate:modelValue":[o[0]||(o[0]=k=>r.localMessage=k),o[1]||(o[1]=k=>r.submitted=!1)],autoComplete:i.autoComplete,contenteditable:!e.loading,label:i.editor?s.t("comments","New comment"):s.t("comments","Edit comment"),placeholder:s.t("comments","Write a comment …"),userData:i.userData,"aria-describedby":"tab-comments__editor-description",onSubmit:s.onSubmit},null,8,["modelValue","autoComplete","contenteditable","label","placeholder","userData","onSubmit"]),u("div",Pe,[d(B,{variant:"tertiary-no-background",type:"submit","aria-label":s.t("comments","Post comment"),disabled:s.isEmptyMessage,onClick:s.onSubmit},{icon:m(()=>[e.loading?(n(),p(z,{key:0})):(n(),p(q,{key:1,size:20}))]),_:1},8,["aria-label","disabled","onClick"])])]),u("div",ze,y(s.t("comments","@ for mentions, : for emoji, / for smart picker")),1)],32)):(n(),p(F,{key:1,class:w(["comment__message",{"comment__message--expanded":r.expanded}]),text:s.richContent.message,arguments:s.richContent.mentions,useMarkdown:"",onClick:s.onExpand},null,8,["class","text","arguments","onClick"]))])]),_:1},8,["class"])),[[W,!e.deleted&&!s.isLimbo]])}const rt=S(xe,[["render",qe],["__scopeId","data-v-767e5a19"]]),nt=Z({props:{resourceId:{type:Number,required:!0},resourceType:{type:String,default:"files"}},data(){return{editorData:{actorDisplayName:f().displayName,actorId:f().uid,key:"editor"},userData:{},currentResourceId:this.resourceId}},methods:{async autoComplete(e,o){const{data:i}=await x.get(G("core/autocomplete/get"),{params:{search:e,itemType:this.resourceType,itemId:this.currentResourceId,sorter:"commenters|share-recipients",limit:de("comments","maxAutoCompleteResults")}});return i.ocs.data.forEach(a=>{this.userData[a.id]=a}),o(Object.values(this.userData))},genMentionsData(e){return Object.values(e).flat().forEach(o=>{this.userData[o.mentionId]={icon:"icon-user",id:o.mentionId,label:o.mentionDisplayName,source:"users",primary:f()?.uid===o.mentionId}}),this.userData}}});export{nt as C,rt as a}; -//# sourceMappingURL=CommentView-DBgM9q8R.chunk.mjs.map +//# sourceMappingURL=CommentView--RDJB_xe.chunk.mjs.map diff --git a/dist/CommentView-DBgM9q8R.chunk.mjs.license b/dist/CommentView--RDJB_xe.chunk.mjs.license similarity index 100% rename from dist/CommentView-DBgM9q8R.chunk.mjs.license rename to dist/CommentView--RDJB_xe.chunk.mjs.license diff --git a/dist/CommentView-DBgM9q8R.chunk.mjs.map b/dist/CommentView--RDJB_xe.chunk.mjs.map similarity index 99% rename from dist/CommentView-DBgM9q8R.chunk.mjs.map rename to dist/CommentView--RDJB_xe.chunk.mjs.map index 907c569b5564c..e4fb1516b2bd2 100644 --- a/dist/CommentView-DBgM9q8R.chunk.mjs.map +++ b/dist/CommentView--RDJB_xe.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["_sfc_main","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","NcActionSeparator","_export_sfc","_hoisted_3","_createElementBlock","_mergeProps","$event","_createElementVNode","_openBlock","DeleteComment","resourceType","resourceId","commentId","commentPath","client","EditComment","message","decodeHtmlEntities","value","passes","parser","decoded","i","NewComment","resourcePath","response","axios","getRootPath","getCurrentUser","comment","props","useDeletedCommentLimbo","defineStore","id","index","CommentMixin","mapStores","logger","error","showError","timeOutDelete","TOAST_UNDO_TIMEOUT","showUndo","newComment","NcRichContenteditable","defineAsyncComponent","NcRichText","n","IconArrowRight","IconClose","IconTrashCanOutline","IconPencilOutline","NcActionButton","NcActions","NcAvatar","NcButton","NcDateTime","NcLoadingIcon","mentions","user","key","regex","NcUserBubble","t","_hoisted_2","_hoisted_4","_hoisted_6","_hoisted_7","_withDirectives","_createBlock","_resolveDynamicComponent","_normalizeClass","_createVNode","_component_NcAvatar","_toDisplayString","_component_NcActions","_component_NcActionButton","_component_IconClose","_createTextVNode","_Fragment","_component_IconPencilOutline","_component_NcActionSeparator","_component_IconTrashCanOutline","_hoisted_5","_component_NcDateTime","_component_NcRichContenteditable","_component_NcButton","_component_NcLoadingIcon","_component_IconArrowRight","_hoisted_8","_component_NcRichText","_vShow","CommentView","defineComponent","search","callback","data","generateOcsUrl","loadState","mention"],"ignoreList":[0,1],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcActionSeparator-B9pNQaji.mjs","../node_modules/vue-material-design-icons/Close.vue","../build/frontend/apps/comments/src/services/DeleteComment.ts","../build/frontend/apps/comments/src/services/EditComment.ts","../build/frontend/apps/comments/src/utils/decodeHtmlEntities.ts","../build/frontend/apps/comments/src/services/NewComment.ts","../build/frontend/apps/comments/src/store/deletedCommentLimbo.ts","../build/frontend/apps/comments/src/mixins/CommentMixin.ts","../build/frontend/apps/comments/src/components/Comment.vue","../build/frontend/apps/comments/src/mixins/CommentView.ts"],"sourcesContent":["import '../assets/NcActionSeparator-Ct2RnclR.css';\nimport { openBlock, createElementBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionSeparator\"\n};\nconst _hoisted_1 = {\n class: \"action action-separator action--disabled\",\n role: \"separator\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", _hoisted_1);\n}\nconst NcActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-3e2324b7\"]]);\nexport {\n NcActionSeparator as N\n};\n//# sourceMappingURL=NcActionSeparator-B9pNQaji.mjs.map\n","\n\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Delete a comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Edit an existing comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n * @param message the message content\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number, message: string) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @param value - the string to decode\n * @param passes - the number of times to decode the string, default is 1\n */\nexport function decodeHtmlEntities(value: string, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getRootPath } from '../utils/davUtils.ts'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.ts'\nimport client from './DavClient.ts'\n\n/**\n * Retrieve the comments list\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param message the message\n * @return The new comment\n */\nexport default async function(resourceType: string, resourceId: number, message: string) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser()!.displayName,\n\t\tactorId: getCurrentUser()!.uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineStore } from 'pinia'\n\nexport const useDeletedCommentLimbo = defineStore('deletedCommentLimbo', {\n\tstate: () => ({\n\t\tidsInLimbo: [],\n\t}),\n\tactions: {\n\t\taddId(id) {\n\t\t\tthis.idsInLimbo.push(id)\n\t\t},\n\n\t\tremoveId(id) {\n\t\t\tconst index = this.idsInLimbo.indexOf(id)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.idsInLimbo.splice(index, 1)\n\t\t\t}\n\t\t},\n\n\t\tcheckForId(id) {\n\t\t\treturn this.idsInLimbo.includes(id)\n\t\t},\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport { mapStores } from 'pinia'\nimport logger from '../logger.ts'\nimport DeleteComment from '../services/DeleteComment.ts'\nimport EditComment from '../services/EditComment.ts'\nimport NewComment from '../services/NewComment.ts'\nimport { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.ts'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapStores(useDeletedCommentLimbo),\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to edit the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.$emit('delete')\n\t\t\tthis.deleted = true\n\t\t\tthis.deletedCommentLimboStore.addId(this.id)\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to delete the comment', { error })\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to create the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tprops: {\n\t\tresourceId: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\teditorData: {\n\t\t\t\tactorDisplayName: getCurrentUser()!.displayName as string,\n\t\t\t\tactorId: getCurrentUser()!.uid as string,\n\t\t\t\tkey: 'editor',\n\t\t\t},\n\t\t\tuserData: {},\n\t\t\tcurrentResourceId: this.resourceId,\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Autocomplete `@mentions`\n\t\t *\n\t\t * @param search the query\n\t\t * @param callback the callback to process the results with\n\t\t */\n\t\tasync autoComplete(search, callback) {\n\t\t\tconst { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n\t\t\t\tparams: {\n\t\t\t\t\tsearch,\n\t\t\t\t\titemType: this.resourceType,\n\t\t\t\t\titemId: this.currentResourceId,\n\t\t\t\t\tsorter: 'commenters|share-recipients',\n\t\t\t\t\tlimit: loadState('comments', 'maxAutoCompleteResults'),\n\t\t\t\t},\n\t\t\t})\n\t\t\t// Save user data so it can be used by the editor to replace mentions\n\t\t\tdata.ocs.data.forEach((user) => {\n\t\t\t\tthis.userData[user.id] = user\n\t\t\t})\n\t\t\treturn callback(Object.values(this.userData))\n\t\t},\n\n\t\t/**\n\t\t * Make sure we have all mentions as Array of objects\n\t\t *\n\t\t * @param mentions the mentions list\n\t\t */\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tgenMentionsData(mentions: any[]): Record {\n\t\t\tObject.values(mentions)\n\t\t\t\t.flat()\n\t\t\t\t.forEach((mention) => {\n\t\t\t\t\tthis.userData[mention.mentionId] = {\n\t\t\t\t\t\t// TODO: support groups\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: mention.mentionId,\n\t\t\t\t\t\tlabel: mention.mentionDisplayName,\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: getCurrentUser()?.uid === mention.mentionId,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\treturn this.userData\n\t\t},\n\t},\n})\n"],"file":"CommentView-DBgM9q8R.chunk.mjs"} \ No newline at end of file +{"version":3,"mappings":"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","names":["_sfc_main","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","NcActionSeparator","_export_sfc","_hoisted_3","_createElementBlock","_mergeProps","$event","_createElementVNode","_openBlock","DeleteComment","resourceType","resourceId","commentId","commentPath","client","EditComment","message","decodeHtmlEntities","value","passes","parser","decoded","i","NewComment","resourcePath","response","axios","getRootPath","getCurrentUser","comment","props","useDeletedCommentLimbo","defineStore","id","index","CommentMixin","mapStores","logger","error","showError","timeOutDelete","TOAST_UNDO_TIMEOUT","showUndo","newComment","NcRichContenteditable","defineAsyncComponent","NcRichText","n","IconArrowRight","IconClose","IconTrashCanOutline","IconPencilOutline","NcActionButton","NcActions","NcAvatar","NcButton","NcDateTime","NcLoadingIcon","mentions","user","key","regex","NcUserBubble","t","_hoisted_2","_hoisted_4","_hoisted_6","_hoisted_7","_withDirectives","_createBlock","_resolveDynamicComponent","_normalizeClass","_createVNode","_component_NcAvatar","_toDisplayString","_component_NcActions","_component_NcActionButton","_component_IconClose","_createTextVNode","_Fragment","_component_IconPencilOutline","_component_NcActionSeparator","_component_IconTrashCanOutline","_hoisted_5","_component_NcDateTime","_component_NcRichContenteditable","_component_NcButton","_component_NcLoadingIcon","_component_IconArrowRight","_hoisted_8","_component_NcRichText","_vShow","CommentView","defineComponent","search","callback","data","generateOcsUrl","loadState","mention"],"ignoreList":[0,1],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcActionSeparator-B9pNQaji.mjs","../node_modules/vue-material-design-icons/Close.vue","../build/frontend/apps/comments/src/services/DeleteComment.ts","../build/frontend/apps/comments/src/services/EditComment.ts","../build/frontend/apps/comments/src/utils/decodeHtmlEntities.ts","../build/frontend/apps/comments/src/services/NewComment.ts","../build/frontend/apps/comments/src/store/deletedCommentLimbo.ts","../build/frontend/apps/comments/src/mixins/CommentMixin.ts","../build/frontend/apps/comments/src/components/Comment.vue","../build/frontend/apps/comments/src/mixins/CommentView.ts"],"sourcesContent":["import '../assets/NcActionSeparator-Ct2RnclR.css';\nimport { openBlock, createElementBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionSeparator\"\n};\nconst _hoisted_1 = {\n class: \"action action-separator action--disabled\",\n role: \"separator\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", _hoisted_1);\n}\nconst NcActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-3e2324b7\"]]);\nexport {\n NcActionSeparator as N\n};\n//# sourceMappingURL=NcActionSeparator-B9pNQaji.mjs.map\n","\n\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Delete a comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport client from './DavClient.ts'\n\n/**\n * Edit an existing comment\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param commentId the comment iD\n * @param message the message content\n */\nexport default async function(resourceType: string, resourceId: number, commentId: number, message: string) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @param value - the string to decode\n * @param passes - the number of times to decode the string, default is 1\n */\nexport function decodeHtmlEntities(value: string, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getRootPath } from '../utils/davUtils.ts'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.ts'\nimport client from './DavClient.ts'\n\n/**\n * Retrieve the comments list\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param message the message\n * @return The new comment\n */\nexport default async function(resourceType: string, resourceId: number, message: string) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser()!.displayName,\n\t\tactorId: getCurrentUser()!.uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineStore } from 'pinia'\n\nexport const useDeletedCommentLimbo = defineStore('deletedCommentLimbo', {\n\tstate: () => ({\n\t\tidsInLimbo: [],\n\t}),\n\tactions: {\n\t\taddId(id) {\n\t\t\tthis.idsInLimbo.push(id)\n\t\t},\n\n\t\tremoveId(id) {\n\t\t\tconst index = this.idsInLimbo.indexOf(id)\n\t\t\tif (index > -1) {\n\t\t\t\tthis.idsInLimbo.splice(index, 1)\n\t\t\t}\n\t\t},\n\n\t\tcheckForId(id) {\n\t\t\treturn this.idsInLimbo.includes(id)\n\t\t},\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport { mapStores } from 'pinia'\nimport logger from '../logger.ts'\nimport DeleteComment from '../services/DeleteComment.ts'\nimport EditComment from '../services/EditComment.ts'\nimport NewComment from '../services/NewComment.ts'\nimport { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.ts'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapStores(useDeletedCommentLimbo),\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to edit the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.$emit('delete')\n\t\t\tthis.deleted = true\n\t\t\tthis.deletedCommentLimboStore.addId(this.id)\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to delete the comment', { error })\n\t\t\t\tthis.deleted = false\n\t\t\t\tthis.deletedCommentLimboStore.removeId(this.id)\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tlogger.error('An error occurred while trying to create the comment', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tprops: {\n\t\tresourceId: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\teditorData: {\n\t\t\t\tactorDisplayName: getCurrentUser()!.displayName as string,\n\t\t\t\tactorId: getCurrentUser()!.uid as string,\n\t\t\t\tkey: 'editor',\n\t\t\t},\n\t\t\tuserData: {},\n\t\t\tcurrentResourceId: this.resourceId,\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Autocomplete `@mentions`\n\t\t *\n\t\t * @param search the query\n\t\t * @param callback the callback to process the results with\n\t\t */\n\t\tasync autoComplete(search, callback) {\n\t\t\tconst { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n\t\t\t\tparams: {\n\t\t\t\t\tsearch,\n\t\t\t\t\titemType: this.resourceType,\n\t\t\t\t\titemId: this.currentResourceId,\n\t\t\t\t\tsorter: 'commenters|share-recipients',\n\t\t\t\t\tlimit: loadState('comments', 'maxAutoCompleteResults'),\n\t\t\t\t},\n\t\t\t})\n\t\t\t// Save user data so it can be used by the editor to replace mentions\n\t\t\tdata.ocs.data.forEach((user) => {\n\t\t\t\tthis.userData[user.id] = user\n\t\t\t})\n\t\t\treturn callback(Object.values(this.userData))\n\t\t},\n\n\t\t/**\n\t\t * Make sure we have all mentions as Array of objects\n\t\t *\n\t\t * @param mentions the mentions list\n\t\t */\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tgenMentionsData(mentions: any[]): Record {\n\t\t\tObject.values(mentions)\n\t\t\t\t.flat()\n\t\t\t\t.forEach((mention) => {\n\t\t\t\t\tthis.userData[mention.mentionId] = {\n\t\t\t\t\t\t// TODO: support groups\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: mention.mentionId,\n\t\t\t\t\t\tlabel: mention.mentionDisplayName,\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: getCurrentUser()?.uid === mention.mentionId,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\treturn this.userData\n\t\t},\n\t},\n})\n"],"file":"CommentView--RDJB_xe.chunk.mjs"} \ No newline at end of file diff --git a/dist/CommentView-DBgM9q8R.chunk.mjs.map.license b/dist/CommentView--RDJB_xe.chunk.mjs.map.license similarity index 100% rename from dist/CommentView-DBgM9q8R.chunk.mjs.map.license rename to dist/CommentView--RDJB_xe.chunk.mjs.map.license diff --git a/dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs b/dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs similarity index 97% rename from dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs rename to dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs index 18d377fb04780..afcde242646a4 100644 --- a/dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs +++ b/dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs @@ -1,2 +1,2 @@ -import{b as w,l as h,z as D,o as p,f as y,t as I,u as a,h as N,g as u,k as r,w as d,c as k,m as M,T,F as q,B as z,v as s,D as A}from"./Web-X6XNrbMx.chunk.mjs";import{f as B,g as F,h as P,i as S}from"./mdi-GefgkJkH.chunk.mjs";import{t as n}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as f}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as g}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{c as j,D as E,u as G}from"./DiscoverTypePost-BX7MkxVG.chunk.mjs";import{_ as H}from"./public-C1mLBHT3.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./appstore-main.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index--CXeJKGn.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";const J=["aria-roledescription","aria-labelledby"],K=["id"],L={class:"app-discover-carousel__wrapper"},O={class:"app-discover-carousel__button-wrapper"},Q={class:"app-discover-carousel__button-wrapper"},R=["aria-label"],U=w({__name:"DiscoverTypeCarousel",props:{...j,content:{type:Array,required:!0}},setup(m){const t=m,$=G(s(()=>t.headline)),e=h(Math.min(1,t.content.length-1)),c=h(t.content[e.value]),C=s(()=>e.valuee.value>0),l=s(()=>t.id??(Math.random()+1).toString(36).substring(7)),v=s(()=>`${l.value}-h`),b=h("slide-in");return D(()=>e.value,(_,i)=>{_{c.value=t.content[e.value]})}),(_,i)=>(p(),y("section",{"aria-roledescription":a(n)("appstore","Carousel"),"aria-labelledby":v.value?`${v.value}`:void 0},[_.headline?(p(),y("h3",{key:0,id:v.value},I(a($)),9,K)):N("",!0),u("div",L,[u("div",O,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--previous",variant:"tertiary-no-background","aria-label":a(n)("appstore","Previous slide"),disabled:!x.value,onClick:i[0]||(i[0]=o=>e.value-=1)},{icon:d(()=>[r(a(g),{path:a(B)},null,8,["path"])]),_:1},8,["aria-label","disabled"])]),r(T,{name:b.value,mode:"out-in"},{default:d(()=>[(p(),k(E,M(c.value,{key:c.value.id??e.value,"aria-labelledby":`${l.value}-tab-${e.value}`,domId:`${l.value}-tabpanel-${e.value}`,inline:"",role:"tabpanel"}),null,16,["aria-labelledby","domId"]))]),_:1},8,["name"]),u("div",Q,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--next",variant:"tertiary-no-background","aria-label":a(n)("appstore","Next slide"),disabled:!C.value,onClick:i[1]||(i[1]=o=>e.value+=1)},{icon:d(()=>[r(a(g),{path:a(F)},null,8,["path"])]),_:1},8,["aria-label","disabled"])])]),u("div",{class:"app-discover-carousel__tabs",role:"tablist","aria-label":a(n)("appstore","Choose slide to display")},[(p(!0),y(q,null,z(m.content.length,o=>(p(),k(a(f),{id:`${l.value}-tab-${o}`,key:o,"aria-label":a(n)("appstore","{index} of {total}",{index:o,total:m.content.length}),"aria-controls":`${l.value}-tabpanel-${o}`,"aria-selected":`${e.value===o-1}`,role:"tab",variant:"tertiary-no-background",onClick:V=>e.value=o-1},{icon:d(()=>[r(a(g),{path:e.value===o-1?a(P):a(S)},null,8,["path"])]),_:2},1032,["id","aria-label","aria-controls","aria-selected","onClick"]))),128))],8,R)],8,J))}}),Ja=H(U,[["__scopeId","data-v-89f194e4"]]);export{Ja as default}; -//# sourceMappingURL=DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map +import{b as w,l as h,z as D,o as p,f as y,t as I,u as a,h as N,g as u,k as r,w as d,c as k,m as M,T,F as q,B as z,v as s,D as A}from"./Web-X6XNrbMx.chunk.mjs";import{f as B,g as F,h as P,i as S}from"./mdi-GefgkJkH.chunk.mjs";import{t as n}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as f}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as g}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{c as j,D as E,u as G}from"./DiscoverTypePost-BX7MkxVG.chunk.mjs";import{_ as H}from"./public-C1mLBHT3.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./appstore-main.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-9np_X5jS.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";const J=["aria-roledescription","aria-labelledby"],K=["id"],L={class:"app-discover-carousel__wrapper"},O={class:"app-discover-carousel__button-wrapper"},Q={class:"app-discover-carousel__button-wrapper"},R=["aria-label"],U=w({__name:"DiscoverTypeCarousel",props:{...j,content:{type:Array,required:!0}},setup(m){const t=m,$=G(s(()=>t.headline)),e=h(Math.min(1,t.content.length-1)),c=h(t.content[e.value]),C=s(()=>e.valuee.value>0),l=s(()=>t.id??(Math.random()+1).toString(36).substring(7)),v=s(()=>`${l.value}-h`),b=h("slide-in");return D(()=>e.value,(_,i)=>{_{c.value=t.content[e.value]})}),(_,i)=>(p(),y("section",{"aria-roledescription":a(n)("appstore","Carousel"),"aria-labelledby":v.value?`${v.value}`:void 0},[_.headline?(p(),y("h3",{key:0,id:v.value},I(a($)),9,K)):N("",!0),u("div",L,[u("div",O,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--previous",variant:"tertiary-no-background","aria-label":a(n)("appstore","Previous slide"),disabled:!x.value,onClick:i[0]||(i[0]=o=>e.value-=1)},{icon:d(()=>[r(a(g),{path:a(B)},null,8,["path"])]),_:1},8,["aria-label","disabled"])]),r(T,{name:b.value,mode:"out-in"},{default:d(()=>[(p(),k(E,M(c.value,{key:c.value.id??e.value,"aria-labelledby":`${l.value}-tab-${e.value}`,domId:`${l.value}-tabpanel-${e.value}`,inline:"",role:"tabpanel"}),null,16,["aria-labelledby","domId"]))]),_:1},8,["name"]),u("div",Q,[r(a(f),{class:"app-discover-carousel__button app-discover-carousel__button--next",variant:"tertiary-no-background","aria-label":a(n)("appstore","Next slide"),disabled:!C.value,onClick:i[1]||(i[1]=o=>e.value+=1)},{icon:d(()=>[r(a(g),{path:a(F)},null,8,["path"])]),_:1},8,["aria-label","disabled"])])]),u("div",{class:"app-discover-carousel__tabs",role:"tablist","aria-label":a(n)("appstore","Choose slide to display")},[(p(!0),y(q,null,z(m.content.length,o=>(p(),k(a(f),{id:`${l.value}-tab-${o}`,key:o,"aria-label":a(n)("appstore","{index} of {total}",{index:o,total:m.content.length}),"aria-controls":`${l.value}-tabpanel-${o}`,"aria-selected":`${e.value===o-1}`,role:"tab",variant:"tertiary-no-background",onClick:V=>e.value=o-1},{icon:d(()=>[r(a(g),{path:e.value===o-1?a(P):a(S)},null,8,["path"])]),_:2},1032,["id","aria-label","aria-controls","aria-selected","onClick"]))),128))],8,R)],8,J))}}),Ja=H(U,[["__scopeId","data-v-89f194e4"]]);export{Ja as default}; +//# sourceMappingURL=DiscoverTypeCarousel-CprePTPS.chunk.mjs.map diff --git a/dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs.license b/dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs.license similarity index 100% rename from dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs.license rename to dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs.license diff --git a/dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map b/dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs.map similarity index 99% rename from dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map rename to dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs.map index 1ba9aa06d1fcc..20370c6d47e92 100644 --- a/dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map +++ b/dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"DiscoverTypeCarousel-B0H88aXG.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeCarousel.vue"],"sourcesContent":["\n\n\n\n\n\n\n\n"],"names":["props","__props","translatedHeadline","useLocalizedValue","computed","currentIndex","ref","shownElement","hasNext","hasPrevious","internalId","headingId","transitionName","watch","o","n","nextTick","_createElementBlock","_unref","t","headline","_hoisted_2","_createElementVNode","_hoisted_3","_hoisted_4","_createVNode","NcButton","NcIconSvgWrapper","mdiChevronLeft","_Transition","_createBlock","DiscoverTypePost","_mergeProps","_hoisted_5","mdiChevronRight","_openBlock","_Fragment","_renderList","index","$event","mdiCircleSlice8","mdiCircleOutline"],"mappings":"+jFA8EA,MAAMA,EAAQC,EAYRC,EAAqBC,EAAkBC,EAAS,IAAMJ,EAAM,QAAQ,CAAC,EAErEK,EAAeC,EAAI,KAAK,IAAI,EAAGN,EAAM,QAAQ,OAAS,CAAC,CAAC,EACxDO,EAAeD,EAAIN,EAAM,QAAQK,EAAa,KAAK,CAAE,EACrDG,EAAUJ,EAAS,IAAMC,EAAa,MAASL,EAAM,QAAQ,OAAS,CAAE,EACxES,EAAcL,EAAS,IAAMC,EAAa,MAAQ,CAAC,EAEnDK,EAAaN,EAAS,IAAMJ,EAAM,KAAO,KAAK,OAAA,EAAW,GAAG,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC,EACrFW,EAAYP,EAAS,IAAM,GAAGM,EAAW,KAAK,IAAI,EAElDE,EAAiBN,EAAI,UAAU,EACrC,OAAAO,EAAM,IAAMR,EAAa,MAAO,CAACS,EAAGC,IAAM,CACrCD,EAAIC,EACPH,EAAe,MAAQ,WAEvBA,EAAe,MAAQ,YAIxBI,EAAS,IAAM,CACdT,EAAa,MAAQP,EAAM,QAAQK,EAAa,KAAK,CACtD,CAAC,CACF,CAAC,cA3GAY,EAyDU,UAAA,CAzDA,uBAAsBC,EAAAC,CAAA,EAAC,WAAA,UAAA,EAA2B,kBAAiBR,EAAA,MAAS,GAAMA,EAAA,KAAS,GAAK,MAAA,GAC/FS,EAAAA,cAAVH,EAEK,KAAA,OAFgB,GAAIN,EAAA,KAAA,IACrBO,EAAAhB,CAAA,CAAkB,EAAA,EAAAmB,CAAA,YAEtBC,EAoCM,MApCNC,EAoCM,CAnCLD,EAWM,MAXNE,EAWM,CAVLC,EASWP,EAAAQ,CAAA,EAAA,CARV,MAAM,wEACN,QAAQ,yBACP,aAAYR,EAAAC,CAAA,EAAC,WAAA,gBAAA,EACb,UAAWV,EAAA,MACX,uBAAOJ,EAAA,OAAY,EAAA,GACT,OACV,IAA2C,CAA3CoB,EAA2CP,EAAAS,CAAA,EAAA,CAAxB,KAAMT,EAAAU,CAAA,GAAc,KAAA,EAAA,CAAA,MAAA,CAAA,CAAA,uCAK1CH,EAQaI,EAAA,CARA,KAAMjB,EAAA,MAAgB,KAAK,QAAA,aACvC,IAMmB,MANnBkB,EAMmBC,EANnBC,EAMmBzB,EAAA,MALE,CACnB,IAAKA,EAAA,MAAa,IAAMF,EAAA,MACxB,kBAAe,GAAKK,EAAA,KAAU,QAAQL,EAAA,KAAY,GAClD,MAAK,GAAKK,EAAA,KAAU,aAAaL,EAAA,KAAY,GAC9C,OAAA,GACA,KAAK,UAAA,4DAGPiB,EAWM,MAXNW,EAWM,CAVLR,EASWP,EAAAQ,CAAA,EAAA,CARV,MAAM,oEACN,QAAQ,yBACP,aAAYR,EAAAC,CAAA,EAAC,WAAA,YAAA,EACb,UAAWX,EAAA,MACX,uBAAOH,EAAA,OAAY,EAAA,GACT,OACV,IAA4C,CAA5CoB,EAA4CP,EAAAS,CAAA,EAAA,CAAzB,KAAMT,EAAAgB,CAAA,GAAe,KAAA,EAAA,CAAA,MAAA,CAAA,CAAA,yCAK5CZ,EAeM,MAAA,CAfD,MAAM,8BAA8B,KAAK,UAAW,aAAYJ,EAAAC,CAAA,EAAC,WAAA,yBAAA,CAAA,IACrEgB,EAAA,EAAA,EAAAlB,EAaWmB,EAAA,KAAAC,EAZMpC,EAAA,QAAQ,OAAjBqC,QADRR,EAaWZ,EAAAQ,CAAA,EAAA,CAXT,GAAE,GAAKhB,EAAA,KAAU,QAAQ4B,CAAK,GAC9B,IAAKA,EACL,aAAYpB,EAAAC,CAAA,EAAC,WAAA,qBAAA,CAAqC,MAAAmB,EAAK,MAASrC,EAAA,QAAQ,MAAA,CAAM,EAC9E,gBAAa,GAAKS,EAAA,KAAU,aAAa4B,CAAK,GAC9C,gBAAa,GAAKjC,EAAA,QAAkBiC,EAAK,CAAA,GAC1C,KAAK,MACL,QAAQ,yBACP,QAAKC,GAAElC,EAAA,MAAeiC,EAAK,CAAA,GACjB,OACV,IAA8F,CAA9Fb,EAA8FP,EAAAS,CAAA,EAAA,CAA3E,KAAMtB,EAAA,QAAkBiC,EAAK,EAAQpB,EAAAsB,CAAA,EAAkBtB,EAAAuB,CAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"DiscoverTypeCarousel-CprePTPS.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeCarousel.vue"],"sourcesContent":["\n\n\n\n\n\n\n\n"],"names":["props","__props","translatedHeadline","useLocalizedValue","computed","currentIndex","ref","shownElement","hasNext","hasPrevious","internalId","headingId","transitionName","watch","o","n","nextTick","_createElementBlock","_unref","t","headline","_hoisted_2","_createElementVNode","_hoisted_3","_hoisted_4","_createVNode","NcButton","NcIconSvgWrapper","mdiChevronLeft","_Transition","_createBlock","DiscoverTypePost","_mergeProps","_hoisted_5","mdiChevronRight","_openBlock","_Fragment","_renderList","index","$event","mdiCircleSlice8","mdiCircleOutline"],"mappings":"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"} \ No newline at end of file diff --git a/dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map.license b/dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs.map.license similarity index 100% rename from dist/DiscoverTypeCarousel-B0H88aXG.chunk.mjs.map.license rename to dist/DiscoverTypeCarousel-CprePTPS.chunk.mjs.map.license diff --git a/dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs b/dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs similarity index 96% rename from dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs rename to dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs index c573260fef1be..c7d02340d6f8c 100644 --- a/dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs +++ b/dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs @@ -1,2 +1,2 @@ -import{u as x}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{A}from"./UpdateAllDialog-wohJJdWD.chunk.mjs";import{l as B,_ as V}from"./public-C1mLBHT3.chunk.mjs";import{b as D}from"./index-BRcsAfAF.chunk.mjs";import{u as j,R as E}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{b as w,E as T,o as p,f as l,G as g,m as v,i as I,c as f,u as _,w as $,h,l as y,H as q,k as d,g as c,j as F,t as k,v as u,F as G,B as H,y as L}from"./Web-X6XNrbMx.chunk.mjs";import{u as O,B as R}from"./appstore-main.mjs";import{c as S,D as z,u as C}from"./DiscoverTypePost-BX7MkxVG.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./index--CXeJKGn.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";const J=w({__name:"AppLink",props:{href:{}},setup(t){const o=t,i=j(),e=Object.fromEntries(B("core","apps").map(a=>[a.app??a.id,a.href])),s=y(),r=y();return T(()=>{const a=o.href.match(/^app:(\/\/)?([^/]+)(\/.+)?$/);if(s.value=void 0,r.value=void 0,a===null){r.value={href:o.href,target:"_blank",rel:"noreferrer noopener"};return}const m=a[2];if(a[3]){r.value={href:D(`/apps/${m}${a[3]}`)};return}if(m in e){r.value={href:e[m]};return}s.value={to:{name:"apps-discover",params:{category:i.params?.category??"discover",id:m}}}}),(a,m)=>r.value?(p(),l("a",g(v({key:0},r.value)),[I(a.$slots,"default")],16)):s.value?(p(),f(_(E),g(v({key:1},s.value)),{default:$(()=>[I(a.$slots,"default")]),_:3},16)):h("",!0)}}),K=["href","title"],M={key:1,class:"app-discover-app"},N={class:"app-discover-app__wrapper"},P={class:"app-discover-app__name"},Q=w({__name:"DiscoverTypeApp",props:{modelValue:{}},setup(t){const o=t,i=O(),e=u(()=>i.getAppById(o.modelValue.appId)),s=u(()=>o.modelValue.appId?`https://apps.nextcloud.com/apps/${o.modelValue.appId}`:"#");return(r,a)=>e.value?(p(),l("article",M,[d(A,{class:"app-discover-app__image",app:e.value},null,8,["app"]),c("div",N,[c("h3",P,[d(J,{href:`app:${e.value.id}`},{default:$(()=>[F(k(e.value.name),1)]),_:1},8,["href"])]),c("p",null,k(e.value.summary),1),d(R,{class:"app-discover-app__score",app:e.value},null,8,["app"])])])):(p(),l("a",{key:0,class:"app-discover-app app-discover-app__skeleton",href:s.value,target:"_blank",title:t.modelValue.appId,rel:"noopener noreferrer"},[...a[0]||(a[0]=[q('',5)])],8,K))}}),U=V(Q,[["__scopeId","data-v-6a756697"]]),W={key:0},X={class:"app-discover-showcase__list"},Y=w({__name:"DiscoverTypeShowcase",props:{...S,content:{type:Array,required:!0}},setup(t){const o=t,i=C(u(()=>o.headline)),e=y(),{width:s}=x(e),r=u(()=>s.value<768),a=u(()=>s.value<512);return(m,Z)=>(p(),l("section",{ref_key:"container",ref:e,class:L(["app-discover-showcase",{"app-discover-showcase--small":r.value,"app-discover-showcase--extra-small":a.value}])},[_(i)?(p(),l("h3",W,k(_(i)),1)):h("",!0),c("ul",X,[(p(!0),l(G,null,H(t.content,(n,b)=>(p(),l("li",{key:"id"in n?n.id:b,class:"app-discover-showcase__item"},[n.type==="post"?(p(),f(z,v({key:0,ref_for:!0},n,{inline:""}),null,16)):n.type==="app"?(p(),f(U,{key:1,modelValue:n},null,8,["modelValue"])):h("",!0)]))),128))])],2))}}),Pa=V(Y,[["__scopeId","data-v-83c1b4dd"]]);export{Pa as default}; -//# sourceMappingURL=DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map +import{u as x}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{A}from"./UpdateAllDialog-Cv_g-se6.chunk.mjs";import{l as B,_ as V}from"./public-C1mLBHT3.chunk.mjs";import{b as D}from"./index-BRcsAfAF.chunk.mjs";import{u as j,R as E}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{b as w,E as T,o as p,f as l,G as g,m as v,i as I,c as f,u as _,w as $,h,l as y,H as q,k as d,g as c,j as F,t as k,v as u,F as G,B as H,y as L}from"./Web-X6XNrbMx.chunk.mjs";import{u as O,B as R}from"./appstore-main.mjs";import{c as S,D as z,u as C}from"./DiscoverTypePost-BX7MkxVG.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";/* empty css */import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./index-9np_X5jS.chunk.mjs";import"./pinia-CaE5yuEV.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";const J=w({__name:"AppLink",props:{href:{}},setup(t){const o=t,i=j(),e=Object.fromEntries(B("core","apps").map(a=>[a.app??a.id,a.href])),s=y(),r=y();return T(()=>{const a=o.href.match(/^app:(\/\/)?([^/]+)(\/.+)?$/);if(s.value=void 0,r.value=void 0,a===null){r.value={href:o.href,target:"_blank",rel:"noreferrer noopener"};return}const m=a[2];if(a[3]){r.value={href:D(`/apps/${m}${a[3]}`)};return}if(m in e){r.value={href:e[m]};return}s.value={to:{name:"apps-discover",params:{category:i.params?.category??"discover",id:m}}}}),(a,m)=>r.value?(p(),l("a",g(v({key:0},r.value)),[I(a.$slots,"default")],16)):s.value?(p(),f(_(E),g(v({key:1},s.value)),{default:$(()=>[I(a.$slots,"default")]),_:3},16)):h("",!0)}}),K=["href","title"],M={key:1,class:"app-discover-app"},N={class:"app-discover-app__wrapper"},P={class:"app-discover-app__name"},Q=w({__name:"DiscoverTypeApp",props:{modelValue:{}},setup(t){const o=t,i=O(),e=u(()=>i.getAppById(o.modelValue.appId)),s=u(()=>o.modelValue.appId?`https://apps.nextcloud.com/apps/${o.modelValue.appId}`:"#");return(r,a)=>e.value?(p(),l("article",M,[d(A,{class:"app-discover-app__image",app:e.value},null,8,["app"]),c("div",N,[c("h3",P,[d(J,{href:`app:${e.value.id}`},{default:$(()=>[F(k(e.value.name),1)]),_:1},8,["href"])]),c("p",null,k(e.value.summary),1),d(R,{class:"app-discover-app__score",app:e.value},null,8,["app"])])])):(p(),l("a",{key:0,class:"app-discover-app app-discover-app__skeleton",href:s.value,target:"_blank",title:t.modelValue.appId,rel:"noopener noreferrer"},[...a[0]||(a[0]=[q('',5)])],8,K))}}),U=V(Q,[["__scopeId","data-v-6a756697"]]),W={key:0},X={class:"app-discover-showcase__list"},Y=w({__name:"DiscoverTypeShowcase",props:{...S,content:{type:Array,required:!0}},setup(t){const o=t,i=C(u(()=>o.headline)),e=y(),{width:s}=x(e),r=u(()=>s.value<768),a=u(()=>s.value<512);return(m,Z)=>(p(),l("section",{ref_key:"container",ref:e,class:L(["app-discover-showcase",{"app-discover-showcase--small":r.value,"app-discover-showcase--extra-small":a.value}])},[_(i)?(p(),l("h3",W,k(_(i)),1)):h("",!0),c("ul",X,[(p(!0),l(G,null,H(t.content,(n,b)=>(p(),l("li",{key:"id"in n?n.id:b,class:"app-discover-showcase__item"},[n.type==="post"?(p(),f(z,v({key:0,ref_for:!0},n,{inline:""}),null,16)):n.type==="app"?(p(),f(U,{key:1,modelValue:n},null,8,["modelValue"])):h("",!0)]))),128))])],2))}}),Pa=V(Y,[["__scopeId","data-v-83c1b4dd"]]);export{Pa as default}; +//# sourceMappingURL=DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map diff --git a/dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.license b/dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.license similarity index 100% rename from dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.license rename to dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.license diff --git a/dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map b/dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map similarity index 99% rename from dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map rename to dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map index a6ef4836ee383..8b0ecfd5540a7 100644 --- a/dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map +++ b/dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"DiscoverTypeShowcase-Dj42GkVS.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppLink.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeApp.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeShowcase.vue"],"sourcesContent":["\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n"],"names":["props","__props","route","useRoute","knownRoutes","loadState","app","routerProps","ref","linkProps","watchEffect","match","appId","generateUrl","_openBlock","_createElementBlock","_renderSlot","_ctx","_createBlock","_unref","store","useAppsStore","computed","appStoreLink","_hoisted_2","_createVNode","AppImage","_createElementVNode","_hoisted_3","_hoisted_4","AppLink","_createTextVNode","_toDisplayString","BadgeAppScore","translatedHeadline","useLocalizedValue","container","containerWidth","useElementSize","isSmallWidth","isExtraSmallWidth","_Fragment","_renderList","item","index","DiscoverTypePost","_mergeProps","DiscoverTypeApp"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DiscoverTypeShowcase-BNOvH9_w.chunk.mjs","sources":["../build/frontend/apps/appstore/src/components/AppLink.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeApp.vue","../build/frontend/apps/appstore/src/components/DiscoverType/DiscoverTypeShowcase.vue"],"sourcesContent":["\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n"],"names":["props","__props","route","useRoute","knownRoutes","loadState","app","routerProps","ref","linkProps","watchEffect","match","appId","generateUrl","_openBlock","_createElementBlock","_renderSlot","_ctx","_createBlock","_unref","store","useAppsStore","computed","appStoreLink","_hoisted_2","_createVNode","AppImage","_createElementVNode","_hoisted_3","_hoisted_4","AppLink","_createTextVNode","_toDisplayString","BadgeAppScore","translatedHeadline","useLocalizedValue","container","containerWidth","useElementSize","isSmallWidth","isExtraSmallWidth","_Fragment","_renderList","item","index","DiscoverTypePost","_mergeProps","DiscoverTypeApp"],"mappings":"u4EAmBA,MAAMA,EAAQC,EAIRC,EAAQC,EAAA,EACRC,EAAc,OAAO,YAAYC,EAA8B,OAAQ,MAAM,EAAE,IAAKC,GAAQ,CAACA,EAAI,KAAOA,EAAI,GAAIA,EAAI,IAAI,CAAC,CAAC,EAE1HC,EAAcC,EAAA,EACdC,EAAYD,EAAA,EAElB,OAAAE,EAAY,IAAM,CACjB,MAAMC,EAAQX,EAAM,KAAK,MAAM,6BAA6B,EAK5D,GAJAO,EAAY,MAAQ,OACpBE,EAAU,MAAQ,OAGdE,IAAU,KAAM,CACnBF,EAAU,MAAQ,CACjB,KAAMT,EAAM,KACZ,OAAQ,SACR,IAAK,qBAAA,EAEN,MACD,CAEA,MAAMY,EAAQD,EAAM,CAAC,EAErB,GAAIA,EAAM,CAAC,EAAG,CAEbF,EAAU,MAAQ,CACjB,KAAMI,EAAY,SAASD,CAAK,GAAGD,EAAM,CAAC,CAAC,EAAE,CAAA,EAE9C,MACD,CAGA,GAAIC,KAASR,EAAa,CACzBK,EAAU,MAAQ,CACjB,KAAML,EAAYQ,CAAK,CAAA,EAExB,MACD,CAGAL,EAAY,MAAQ,CACnB,GAAI,CACH,KAAM,gBACN,OAAQ,CACP,SAAUL,EAAM,QAAQ,UAAY,WACpC,GAAIU,CAAA,CACL,CACD,CAEF,CAAC,SAISH,EAAA,OAATK,EAAA,EAAAC,EAEI,gBAFwBN,EAAA,KAAS,CAAA,EAAA,CACpCO,EAAQC,EAAA,OAAA,SAAA,CAAA,OAEcV,EAAA,OAAvBO,EAAA,EAAAI,EAEaC,iBAF+BZ,EAAA,KAAW,CAAA,EAAA,WACtD,IAAQ,CAARS,EAAQC,EAAA,OAAA,SAAA,CAAA,qNClEV,MAAMjB,EAAQC,EAIRmB,EAAQC,EAAA,EACRf,EAAMgB,EAAS,IAAMF,EAAM,WAAWpB,EAAM,WAAW,KAAK,CAAC,EAE7DuB,EAAeD,EAAS,IAAMtB,EAAM,WAAW,MAClD,mCAAmCA,EAAM,WAAW,KAAK,GACzD,GAAG,eAKGM,EAAA,OAcRQ,EAAA,EAAAC,EAaU,UAbVS,EAaU,CAZTC,EAAuDC,EAAA,CAA7C,MAAM,0BAA2B,IAAKpB,EAAA,KAAA,kBAChDqB,EAUM,MAVNC,EAUM,CATLD,EAIK,KAJLE,EAIK,CAHJJ,EAEUK,EAAA,CAFA,KAAI,OAASxB,EAAA,MAAI,EAAE,EAAA,aAC5B,IAAc,CAAXyB,EAAAC,EAAA1B,EAAA,MAAI,IAAI,EAAA,CAAA,CAAA,sBAGbqB,EAAwB,IAAA,KAAAK,EAAlB1B,EAAA,MAAI,OAAO,EAAA,CAAA,EACjBmB,EAEQQ,EAAA,CADP,MAAM,0BACL,IAAA3B,EAAA,KAAA,4BA1BJS,EAaI,IAAA,OAXH,MAAM,8CACL,KAAMQ,EAAA,MACP,OAAO,SACN,MAAOtB,EAAA,WAAW,MACnB,IAAI,qBAAA,0eCQN,MAAMD,EAAQC,EAYRiC,EAAqBC,EAAkBb,EAAS,IAAMtB,EAAM,QAAQ,CAAC,EAKrEoC,EAAY5B,EAAA,EACZ,CAAE,MAAO6B,GAAmBC,EAAeF,CAAS,EACpDG,EAAejB,EAAS,IAAMe,EAAe,MAAQ,GAAG,EACxDG,EAAoBlB,EAAS,IAAMe,EAAe,MAAQ,GAAG,oBAxDlEtB,EAsBU,UAAA,SArBL,YAAJ,IAAIqB,EACJ,SAAM,wBAAuB,gCACgBG,EAAA,2CAAuDC,EAAA,KAAA,MAI1FrB,EAAAe,CAAA,GAAVpB,EAAA,EAAAC,EAEK,SADDI,EAAAe,CAAA,CAAkB,EAAA,CAAA,YAEtBP,EAWK,KAXLH,EAWK,EAVJV,EAAA,EAAA,EAAAC,EASK0B,EAAA,KAAAC,EARoBzC,EAAA,QAAO,CAAvB0C,EAAMC,SADf7B,EASK,KAAA,CAPH,WAAa4B,EAAOA,EAAK,GAAKC,EAC/B,MAAM,6BAAA,GAECD,EAAK,OAAI,QADhB7B,IAAAI,EAGU2B,EAHVC,EAGU,mBADDH,EAAI,CACZ,OAAA,EAAA,CAAM,EAAA,KAAA,EAAA,GACqBA,EAAK,OAAI,WAArCzB,EAAsE6B,EAAA,OAApB,WAAYJ,CAAA"} \ No newline at end of file diff --git a/dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map.license b/dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map.license similarity index 100% rename from dist/DiscoverTypeShowcase-Dj42GkVS.chunk.mjs.map.license rename to dist/DiscoverTypeShowcase-BNOvH9_w.chunk.mjs.map.license diff --git a/dist/FilePicker-DuWsKdWk.chunk.mjs b/dist/FilePicker-5ci1Hixq.chunk.mjs similarity index 99% rename from dist/FilePicker-DuWsKdWk.chunk.mjs rename to dist/FilePicker-5ci1Hixq.chunk.mjs index efd0289f3a1b9..d828168e30526 100644 --- a/dist/FilePicker-DuWsKdWk.chunk.mjs +++ b/dist/FilePicker-5ci1Hixq.chunk.mjs @@ -1,2 +1,2 @@ -import{r as re,o as s,f as c,c as C,q as Fe,w,i as ne,g as f,y as U,j as q,t as $,m as D,h as z,k as _,L as K,F as M,ah as be,ac as A,E as Ue,a8 as O,l as L,b as H,z as Pe,S as J,u as d,v as b,af as de,n as ue,p as We,B as Q,s as pe,ai as Te,D as qe,N as Oe,O as Ze,a5 as Se}from"./Web-X6XNrbMx.chunk.mjs";import{u as je,d as Ge,s as Je,b as me,f as Ke,n as X,a as Qe,r as Xe}from"./index-BRcsAfAF.chunk.mjs";import{N as Ye}from"./index-CJbq0R0g.chunk.mjs";import{N as we}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{v as et,I as tt,e as se,f as it,s as at}from"./index-B3rZk8FQ.chunk.mjs";import{N as Z}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as Ne}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as ke,a as _e,_ as lt}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{x as rt,y as nt,z as st,A as ot,B as ct,C as dt,D as Ce,u as ut,c as pt}from"./mdi-GefgkJkH.chunk.mjs";import{S as Le}from"./ShareType-suoNfd7y.chunk.mjs";import{_ as ee,c as ft,N as xe}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{F as j,P as $e}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{P as mt,a as ht}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import{t as h,l as G,a as he}from"./index--CXeJKGn.chunk.mjs";import{c as Ve}from"./index-CfIbVNTc.chunk.mjs";import{l as Ie,i as De}from"./public-C1mLBHT3.chunk.mjs";import{b as ve,n as vt}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{N as ze}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{N as gt}from"./index-DF7qcH5u.chunk.mjs";import{_ as yt}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{g as bt,h as wt,i as ge,j as kt,r as ye,k as Me}from"./dav-BUnvPvLq.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-PbTIJ1eH.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={d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"},zt={key:0};function Bt(t,i,e,a,l,r){return s(),c("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]=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",$t,[e.title?(s(),c("title",zt,$(e.title),1)):z("",!0)])],8,Lt))],16,Ct)}const Ft=ee(_t,[["render",Bt]]),Pt={name:"NcBreadcrumb",components:{NcActions:ve,ChevronRight:Ft,NcButton:Z},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=ft();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 Nt(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,D({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(()=>[q($(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,St)}const Y=ee(Pt,[["render",Nt],["__scopeId","data-v-7cec4a3e"]]),xt={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Vt=["aria-hidden","aria-label"],It=["fill","width","height"],Dt={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"},Mt={key:0};function Rt(t,i,e,a,l,r){return s(),c("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]=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",Dt,[e.title?(s(),c("title",Mt,$(e.title),1)):z("",!0)])],8,It))],16,Vt)}const Be=ee(xt,[["render",Rt]]),N="vue-crumb",At={name:"NcBreadcrumbs",components:{NcActions:ve,NcActionButton:ze,NcActionRouter:_e,NcActionLink:ke,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=ze,v="";u&&(y=ke,v=u),n&&(y=_e,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 vt(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)}},Ht=ee(At,[["__scopeId","data-v-5a4d73af"]]),Et=new mt({concurrency:5});function Ut(t){const{resolve:i,promise:e}=Promise.withResolvers();return Et.add(()=>{const a=new Image;return a.onerror=()=>i(!1),a.onload=()=>i(!0),a.src=t,e}),e}function Wt(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 Tt(t,i){const e=L(null),a=L(!1);return Ue(()=>{a.value=!1,e.value=Wt(O(t),O(i||{})),e.value&&O(t).type===j.File&&Ut(e.value.href).then(l=>{a.value=l})}),{previewURL:e,previewLoaded:a}}const x=(t,i)=>{const e=t.__vccOpts||t;for(const[a,l]of i)e[a]=l;return e},qt={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ot=["aria-hidden","aria-label"],Zt=["fill","width","height"],jt={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"},Gt={key:0};function Jt(t,i,e,a,l,r){return s(),c("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]=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",jt,[e.title?(s(),c("title",Gt,$(e.title),1)):z("",!0)])],8,Zt))],16,Ot)}const fe=x(qt,[["render",Jt]]),Kt={name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Qt=["aria-hidden","aria-label"],Xt=["fill","width","height"],Yt={d:"M7,10L12,15L17,10H7Z"},ei={key:0};function ti(t,i,e,a,l,r){return s(),c("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]=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",Yt,[e.title?(s(),c("title",ei,$(e.title),1)):z("",!0)])],8,Xt))],16,Qt)}const oe=x(Kt,[["render",ti]]),ii={name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ai=["aria-hidden","aria-label"],li=["fill","width","height"],ri={d:"M7,15L12,10L17,15H7Z"},ni={key:0};function si(t,i,e,a,l,r){return s(),c("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]=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",ri,[e.title?(s(),c("title",ni,$(e.title),1)):z("",!0)])],8,li))],16,ai)}const ce=x(ii,[["render",si]]),oi={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ci=["aria-hidden","aria-label"],di=["fill","width","height"],ui={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"},pi={key:0};function fi(t,i,e,a,l,r){return s(),c("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]=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",ui,[e.title?(s(),c("title",pi,$(e.title),1)):z("",!0)])],8,di))],16,ci)}const Re=x(oi,[["render",fi]]),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"},mi=H({__name:"FilePreview",props:{node:{},cropImagePreviews:{type:Boolean}},setup(t){const i=t,e=L(Ae),{previewURL:a,previewLoaded:l}=Tt(Se(i,"node"),b(()=>({cropPreview:i.cropImagePreviews}))),r=b(()=>i.node.type===j.File),n=b(()=>{if(i.node.type!==j.Folder)return null;if(i.node.attributes?.["is-encrypted"]===1)return ot;if(i.node.attributes?.["is-tag"])return ct;const u=Object.values(i.node.attributes?.["share-types"]||{}).flat();if(u.some(p=>p===Le.Link||p===Le.Email))return dt;if(u.length>0)return Ce;switch(i.node.attributes?.["mount-type"]){case"external":case"external-session":return pt;case"group":return ut;case"shared":return Ce}return null});return(u,p)=>(s(),c("div",{style:Ze(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(xe),{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))}}),hi=["tabindex","aria-selected","data-filename"],vi={class:"row-name"},gi={class:"file-picker__name-container","data-testid":"row-name"},yi=["title","textContent"],bi=["textContent"],wi={class:"row-size"},ki={class:"row-modified"},_i=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===j.Folder),p=b(()=>e.canPick&&(e.allowPickDirectory||!u.value)),o=b(()=>(e.node.permissions&$e.READ)===$e.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",D({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"},Oe({click:y,...!t.showCheckbox||u.value?{keydown:v}:{}},!0)),[t.showCheckbox?(s(),c("td",{key:0,class:"row-checkbox",onClick:K(()=>{},["stop"])},[_(d(Ne),{"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",vi,[f("div",gi,[_(mi,{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,yi),f("div",{class:"file-picker__file-extension",textContent:$(r.value)},null,8,bi)])]),f("td",wi,$(d(it)(t.node.size||0)),1),f("td",ki,[_(d(lt),{timestamp:l.value,ignoreSeconds:""},null,8,["timestamp"])])],16,hi))}}),Ci=x(_i,[["__scopeId","data-v-7857e8bd"]]),Li={"aria-hidden":"true",class:"file-picker__row loading-row"},$i={key:0,class:"row-checkbox"},zi={class:"row-name"},Bi={class:"row-wrapper"},Fi=H({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return(i,e)=>(s(),c("tr",Li,[t.showCheckbox?(s(),c("td",$i,[...e[0]||(e[0]=[f("span",null,null,-1)])])):z("",!0),f("td",zi,[f("div",Bi,[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))]))}}),Pi=x(Fi,[["__scopeId","data-v-1f96131b"]]);function He(){const t=Ie("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(De())G.debug("Skip loading files settings - currently on public share");else try{const{data:l}=await Ve.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){G.error("Could not load files settings",{error:l}),he(h("Could not load files settings"))}}),{showHiddenFiles:i,sortFavoritesFirst:e,cropImagePreviews:a}}function Si(t){const i=o=>o==="asc"?"ascending":o==="desc"?"descending":"none",e=Ie("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(De())G.debug("Skip loading files views - currently on public share");else try{const{data:o}=await Ve.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){G.error("Could not load files views",{error:o}),he(h("Could not load files views"))}});const n=b(()=>O(t||"files")==="files"?a.value:O(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 Ni={key:0,class:"row-checkbox"},xi={class:"hidden-visually"},Vi=["aria-sort"],Ii={class:"header-wrapper"},Di={key:2,style:{width:"44px"}},Mi=["aria-sort"],Ri={key:2,style:{width:"44px"}},Ai=["aria-sort"],Hi={key:2,style:{width:"44px"}},Ei=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}=Si(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(()=>at(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!==j.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=()=>qe(()=>{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",Ni,[f("span",xi,$(d(h)("Select entry")),1),t.multiselect?(s(),C(d(Ne),{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",Ii,[P[3]||(P[3]=f("span",{class:"file-picker__header-preview"},null,-1)),_(d(Z),{"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",Di))]),default:w(()=>[q(" "+$(d(h)("Name")),1)]),_:1})])],8,Vi),f("th",{"aria-sort":p.value,class:"row-size"},[_(d(Z),{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",Ri))]),default:w(()=>[q(" "+$(d(h)("Size")),1)]),_:1})],8,Mi),f("th",{"aria-sort":o.value,class:"row-modified"},[_(d(Z),{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",Hi))]),default:w(()=>[q(" "+$(d(h)("Modified")),1)]),_:1})],8,Ai)])]),f("tbody",null,[t.loading?(s(!0),c(M,{key:0},Q(T.value,S=>(s(),C(Pi,{key:S,showCheckbox:t.multiselect},null,8,["showCheckbox"]))),128)):(s(!0),c(M,{key:1},Q(B.value,S=>(s(),C(Ci,{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))}}),Ui=x(Ei,[["__scopeId","data-v-412efd5c"]]),Wi={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ti=["aria-hidden","aria-label"],qi=["fill","width","height"],Oi={d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"},Zi={key:0};function ji(t,i,e,a,l,r){return s(),c("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]=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",Oi,[e.title?(s(),c("title",Zi,$(e.title),1)):z("",!0)])],8,qi))],16,Ti)}const Gi=x(Wi,[["render",ji]]),Ji={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ki=["aria-hidden","aria-label"],Qi=["fill","width","height"],Xi={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},Yi={key:0};function ea(t,i,e,a,l,r){return s(),c("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]=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",Xi,[e.title?(s(),c("title",Yi,$(e.title),1)):z("",!0)])],8,Qi))],16,Ki)}const ta=x(Ji,[["render",ea]]),ia=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{et(g)}catch(B){if(!(B instanceof tt))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(Ht),{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(()=>[_(Gi,{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(ve),{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(()=>[_(ta,{size:20})]),default:w(()=>[_(d(ht),{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))}}),aa=x(ia,[["__scopeId","data-v-b448b141"]]),la={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ra=["aria-hidden","aria-label"],na=["fill","width","height"],sa={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"},oa={key:0};function ca(t,i,e,a,l,r){return s(),c("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]=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",sa,[e.title?(s(),c("title",oa,$(e.title),1)):z("",!0)])],8,na))],16,ra)}const da=x(la,[["render",ca]]),ua={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pa=["aria-hidden","aria-label"],fa=["fill","width","height"],ma={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"},ha={key:0};function va(t,i,e,a,l,r){return s(),c("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]=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",ma,[e.title?(s(),c("title",ha,$(e.title),1)):z("",!0)])],8,fa))],16,pa)}const ga=x(ua,[["render",va]]);function ya(t){const i=[{id:"files",label:h("All files"),icon:rt},{id:"recent",label:h("Recent"),icon:nt},{id:"favorites",label:h("Favorites"),icon:st}],e=t.value?i.filter(({id:a})=>a==="files"):i;return{allViews:i,availableViews:e}}const ba={key:0,class:"file-picker__side"},wa=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}=ya(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(yt),{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(()=>[_(da,{size:16})]),default:w(()=>[_(ga,{size:16})]),_:1},8,["label","showTrailingButton","modelValue"]),d(l).length>1&&!t.disabledNavigation?(s(),c(M,{key:0},[t.isCollapsed?(s(),C(d(gt),{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",ba,[(s(!0),c(M,null,Q(d(l),o=>(s(),c("li",{key:o.id},[_(d(Z),{variant:t.currentView===o.id?"primary":"tertiary",wide:!0,onClick:g=>u.$emit("update:currentView",o.id)},{icon:w(()=>[_(d(xe),{path:o.icon,size:20},null,8,["path"])]),default:w(()=>[q(" "+$(o.label),1)]),_:2},1032,["variant","onClick"])]))),128))]))],64)):z("",!0)],64))}}),ka=x(wa,[["__scopeId","data-v-e1c54e23"]]);async function _a({client:t,signal:i}){const e=Math.round(Date.now()/1e3)-1209600,{data:a}=await t.search("/",{signal:i,details:!0,data:kt(e)});return a.results.map(l=>ye(l))}async function Ca({client:t,path:i,signal:e}){const a=(await t.getDirectoryContents(X(ge,i),{signal:e,details:!0,includeSelf:!0,data:Me()})).data.map(l=>ye(l));return{contents:a.filter(({path:l})=>l!==i),folder:a.find(({path:l})=>i===l)}}async function La(t,i){const{data:e}=await t.stat(X(ge,i),{details:!0,data:Me()});return ye(e)}function $a(t,i){const e=bt(),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 La(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 wt({client:e,path:i.value,signal:n.signal}),l.value=null;else if(t.value==="recent")a.value=await _a({client:e,signal:n.signal}),l.value=null;else{const o=await Ca({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 za(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 Ba={class:"file-picker__main"},Fa={key:1,class:"file-picker__view"},Pa=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}=$a(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}=za(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(I=>I.basename===k)[0])}catch(m){G.warn("Could not create new folder",{name:k,error:m}),he(h("Could not create the new folder"))}}function Ee(k){!k&&!W&&a("close")}return(k,m)=>(s(),C(d(Ye),{open:l.value,"onUpdate:open":[m[6]||(m[6]=I=>l.value=I),Ee],buttons:ie.value,name:t.name,size:"large",contentClasses:"file-picker__content",dialogClasses:"file-picker",navigationClasses:"file-picker__navigation"},{navigation:w(({isCollapsed:I})=>[_(ka,{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:I,disabledNavigation:t.disabledNavigation},null,8,["currentView","filterString","isCollapsed","disabledNavigation"])]),default:w(()=>[f("div",Ba,[r.value==="files"?(s(),C(aa,{key:0,path:p.value,"onUpdate:path":m[2]||(m[2]=I=>p.value=I),showMenu:!t.noMenu,onCreateNode:R},null,8,["path","showMenu"])):(s(),c("div",Fa,[f("h3",null,$(T.value),1)])),d(B)||P.value.length>0?(s(),C(Ui,{key:2,path:p.value,"onUpdate:path":[m[3]||(m[3]=I=>p.value=I),m[5]||(m[5]=I=>r.value="files")],selectedFiles:o.value,"onUpdate:selectedFiles":m[4]||(m[4]=I=>o.value=I),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"]))}}),al=x(Pa,[["__scopeId","data-v-39182aaf"]]);export{al as default}; -//# sourceMappingURL=FilePicker-DuWsKdWk.chunk.mjs.map +import{r as re,o as s,f as c,c as C,q as Fe,w,i as ne,g as f,y as U,j as q,t as $,m as D,h as z,k as _,L as K,F as M,ah as be,ac as A,E as Ue,a8 as O,l as L,b as H,z as Pe,S as J,u as d,v as b,af as de,n as ue,p as We,B as Q,s as pe,ai as Te,D as qe,N as Oe,O as Ze,a5 as Se}from"./Web-X6XNrbMx.chunk.mjs";import{u as je,d as Ge,s as Je,b as me,f as Ke,n as X,a as Qe,r as Xe}from"./index-BRcsAfAF.chunk.mjs";import{N as Ye}from"./index-CJbq0R0g.chunk.mjs";import{N as we}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{v as et,I as tt,e as se,f as it,s as at}from"./index-B3rZk8FQ.chunk.mjs";import{N as Z}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as Ne}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as ke,a as _e,_ as lt}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{x as rt,y as nt,z as st,A as ot,B as ct,C as dt,D as Ce,u as ut,c as pt}from"./mdi-GefgkJkH.chunk.mjs";import{S as Le}from"./ShareType-suoNfd7y.chunk.mjs";import{_ as ee,c as ft,N as xe}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{F as j,P as $e}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{P as mt,a as ht}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import{t as h,l as G,a as he}from"./index-9np_X5jS.chunk.mjs";import{c as Ve}from"./index-CfIbVNTc.chunk.mjs";import{l as Ie,i as De}from"./public-C1mLBHT3.chunk.mjs";import{b as ve,n as vt}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{N as ze}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{N as gt}from"./index-DF7qcH5u.chunk.mjs";import{_ as yt}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{g as bt,h as wt,i as ge,j as kt,r as ye,k as Me}from"./dav-BnceviPD.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CpA8_zX5.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={d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"},zt={key:0};function Bt(t,i,e,a,l,r){return s(),c("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]=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",$t,[e.title?(s(),c("title",zt,$(e.title),1)):z("",!0)])],8,Lt))],16,Ct)}const Ft=ee(_t,[["render",Bt]]),Pt={name:"NcBreadcrumb",components:{NcActions:ve,ChevronRight:Ft,NcButton:Z},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=ft();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 Nt(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,D({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(()=>[q($(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,St)}const Y=ee(Pt,[["render",Nt],["__scopeId","data-v-7cec4a3e"]]),xt={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Vt=["aria-hidden","aria-label"],It=["fill","width","height"],Dt={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"},Mt={key:0};function Rt(t,i,e,a,l,r){return s(),c("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]=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",Dt,[e.title?(s(),c("title",Mt,$(e.title),1)):z("",!0)])],8,It))],16,Vt)}const Be=ee(xt,[["render",Rt]]),N="vue-crumb",At={name:"NcBreadcrumbs",components:{NcActions:ve,NcActionButton:ze,NcActionRouter:_e,NcActionLink:ke,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=ze,v="";u&&(y=ke,v=u),n&&(y=_e,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 vt(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)}},Ht=ee(At,[["__scopeId","data-v-5a4d73af"]]),Et=new mt({concurrency:5});function Ut(t){const{resolve:i,promise:e}=Promise.withResolvers();return Et.add(()=>{const a=new Image;return a.onerror=()=>i(!1),a.onload=()=>i(!0),a.src=t,e}),e}function Wt(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 Tt(t,i){const e=L(null),a=L(!1);return Ue(()=>{a.value=!1,e.value=Wt(O(t),O(i||{})),e.value&&O(t).type===j.File&&Ut(e.value.href).then(l=>{a.value=l})}),{previewURL:e,previewLoaded:a}}const x=(t,i)=>{const e=t.__vccOpts||t;for(const[a,l]of i)e[a]=l;return e},qt={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ot=["aria-hidden","aria-label"],Zt=["fill","width","height"],jt={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"},Gt={key:0};function Jt(t,i,e,a,l,r){return s(),c("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]=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",jt,[e.title?(s(),c("title",Gt,$(e.title),1)):z("",!0)])],8,Zt))],16,Ot)}const fe=x(qt,[["render",Jt]]),Kt={name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Qt=["aria-hidden","aria-label"],Xt=["fill","width","height"],Yt={d:"M7,10L12,15L17,10H7Z"},ei={key:0};function ti(t,i,e,a,l,r){return s(),c("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]=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",Yt,[e.title?(s(),c("title",ei,$(e.title),1)):z("",!0)])],8,Xt))],16,Qt)}const oe=x(Kt,[["render",ti]]),ii={name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ai=["aria-hidden","aria-label"],li=["fill","width","height"],ri={d:"M7,15L12,10L17,15H7Z"},ni={key:0};function si(t,i,e,a,l,r){return s(),c("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]=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",ri,[e.title?(s(),c("title",ni,$(e.title),1)):z("",!0)])],8,li))],16,ai)}const ce=x(ii,[["render",si]]),oi={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ci=["aria-hidden","aria-label"],di=["fill","width","height"],ui={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"},pi={key:0};function fi(t,i,e,a,l,r){return s(),c("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]=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",ui,[e.title?(s(),c("title",pi,$(e.title),1)):z("",!0)])],8,di))],16,ci)}const Re=x(oi,[["render",fi]]),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"},mi=H({__name:"FilePreview",props:{node:{},cropImagePreviews:{type:Boolean}},setup(t){const i=t,e=L(Ae),{previewURL:a,previewLoaded:l}=Tt(Se(i,"node"),b(()=>({cropPreview:i.cropImagePreviews}))),r=b(()=>i.node.type===j.File),n=b(()=>{if(i.node.type!==j.Folder)return null;if(i.node.attributes?.["is-encrypted"]===1)return ot;if(i.node.attributes?.["is-tag"])return ct;const u=Object.values(i.node.attributes?.["share-types"]||{}).flat();if(u.some(p=>p===Le.Link||p===Le.Email))return dt;if(u.length>0)return Ce;switch(i.node.attributes?.["mount-type"]){case"external":case"external-session":return pt;case"group":return ut;case"shared":return Ce}return null});return(u,p)=>(s(),c("div",{style:Ze(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(xe),{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))}}),hi=["tabindex","aria-selected","data-filename"],vi={class:"row-name"},gi={class:"file-picker__name-container","data-testid":"row-name"},yi=["title","textContent"],bi=["textContent"],wi={class:"row-size"},ki={class:"row-modified"},_i=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===j.Folder),p=b(()=>e.canPick&&(e.allowPickDirectory||!u.value)),o=b(()=>(e.node.permissions&$e.READ)===$e.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",D({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"},Oe({click:y,...!t.showCheckbox||u.value?{keydown:v}:{}},!0)),[t.showCheckbox?(s(),c("td",{key:0,class:"row-checkbox",onClick:K(()=>{},["stop"])},[_(d(Ne),{"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",vi,[f("div",gi,[_(mi,{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,yi),f("div",{class:"file-picker__file-extension",textContent:$(r.value)},null,8,bi)])]),f("td",wi,$(d(it)(t.node.size||0)),1),f("td",ki,[_(d(lt),{timestamp:l.value,ignoreSeconds:""},null,8,["timestamp"])])],16,hi))}}),Ci=x(_i,[["__scopeId","data-v-7857e8bd"]]),Li={"aria-hidden":"true",class:"file-picker__row loading-row"},$i={key:0,class:"row-checkbox"},zi={class:"row-name"},Bi={class:"row-wrapper"},Fi=H({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return(i,e)=>(s(),c("tr",Li,[t.showCheckbox?(s(),c("td",$i,[...e[0]||(e[0]=[f("span",null,null,-1)])])):z("",!0),f("td",zi,[f("div",Bi,[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))]))}}),Pi=x(Fi,[["__scopeId","data-v-1f96131b"]]);function He(){const t=Ie("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(De())G.debug("Skip loading files settings - currently on public share");else try{const{data:l}=await Ve.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){G.error("Could not load files settings",{error:l}),he(h("Could not load files settings"))}}),{showHiddenFiles:i,sortFavoritesFirst:e,cropImagePreviews:a}}function Si(t){const i=o=>o==="asc"?"ascending":o==="desc"?"descending":"none",e=Ie("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(De())G.debug("Skip loading files views - currently on public share");else try{const{data:o}=await Ve.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){G.error("Could not load files views",{error:o}),he(h("Could not load files views"))}});const n=b(()=>O(t||"files")==="files"?a.value:O(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 Ni={key:0,class:"row-checkbox"},xi={class:"hidden-visually"},Vi=["aria-sort"],Ii={class:"header-wrapper"},Di={key:2,style:{width:"44px"}},Mi=["aria-sort"],Ri={key:2,style:{width:"44px"}},Ai=["aria-sort"],Hi={key:2,style:{width:"44px"}},Ei=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}=Si(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(()=>at(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!==j.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=()=>qe(()=>{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",Ni,[f("span",xi,$(d(h)("Select entry")),1),t.multiselect?(s(),C(d(Ne),{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",Ii,[P[3]||(P[3]=f("span",{class:"file-picker__header-preview"},null,-1)),_(d(Z),{"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",Di))]),default:w(()=>[q(" "+$(d(h)("Name")),1)]),_:1})])],8,Vi),f("th",{"aria-sort":p.value,class:"row-size"},[_(d(Z),{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",Ri))]),default:w(()=>[q(" "+$(d(h)("Size")),1)]),_:1})],8,Mi),f("th",{"aria-sort":o.value,class:"row-modified"},[_(d(Z),{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",Hi))]),default:w(()=>[q(" "+$(d(h)("Modified")),1)]),_:1})],8,Ai)])]),f("tbody",null,[t.loading?(s(!0),c(M,{key:0},Q(T.value,S=>(s(),C(Pi,{key:S,showCheckbox:t.multiselect},null,8,["showCheckbox"]))),128)):(s(!0),c(M,{key:1},Q(B.value,S=>(s(),C(Ci,{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))}}),Ui=x(Ei,[["__scopeId","data-v-412efd5c"]]),Wi={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ti=["aria-hidden","aria-label"],qi=["fill","width","height"],Oi={d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"},Zi={key:0};function ji(t,i,e,a,l,r){return s(),c("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]=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",Oi,[e.title?(s(),c("title",Zi,$(e.title),1)):z("",!0)])],8,qi))],16,Ti)}const Gi=x(Wi,[["render",ji]]),Ji={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ki=["aria-hidden","aria-label"],Qi=["fill","width","height"],Xi={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},Yi={key:0};function ea(t,i,e,a,l,r){return s(),c("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]=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",Xi,[e.title?(s(),c("title",Yi,$(e.title),1)):z("",!0)])],8,Qi))],16,Ki)}const ta=x(Ji,[["render",ea]]),ia=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{et(g)}catch(B){if(!(B instanceof tt))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(Ht),{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(()=>[_(Gi,{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(ve),{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(()=>[_(ta,{size:20})]),default:w(()=>[_(d(ht),{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))}}),aa=x(ia,[["__scopeId","data-v-b448b141"]]),la={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ra=["aria-hidden","aria-label"],na=["fill","width","height"],sa={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"},oa={key:0};function ca(t,i,e,a,l,r){return s(),c("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]=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",sa,[e.title?(s(),c("title",oa,$(e.title),1)):z("",!0)])],8,na))],16,ra)}const da=x(la,[["render",ca]]),ua={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pa=["aria-hidden","aria-label"],fa=["fill","width","height"],ma={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"},ha={key:0};function va(t,i,e,a,l,r){return s(),c("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]=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",ma,[e.title?(s(),c("title",ha,$(e.title),1)):z("",!0)])],8,fa))],16,pa)}const ga=x(ua,[["render",va]]);function ya(t){const i=[{id:"files",label:h("All files"),icon:rt},{id:"recent",label:h("Recent"),icon:nt},{id:"favorites",label:h("Favorites"),icon:st}],e=t.value?i.filter(({id:a})=>a==="files"):i;return{allViews:i,availableViews:e}}const ba={key:0,class:"file-picker__side"},wa=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}=ya(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(yt),{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(()=>[_(da,{size:16})]),default:w(()=>[_(ga,{size:16})]),_:1},8,["label","showTrailingButton","modelValue"]),d(l).length>1&&!t.disabledNavigation?(s(),c(M,{key:0},[t.isCollapsed?(s(),C(d(gt),{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",ba,[(s(!0),c(M,null,Q(d(l),o=>(s(),c("li",{key:o.id},[_(d(Z),{variant:t.currentView===o.id?"primary":"tertiary",wide:!0,onClick:g=>u.$emit("update:currentView",o.id)},{icon:w(()=>[_(d(xe),{path:o.icon,size:20},null,8,["path"])]),default:w(()=>[q(" "+$(o.label),1)]),_:2},1032,["variant","onClick"])]))),128))]))],64)):z("",!0)],64))}}),ka=x(wa,[["__scopeId","data-v-e1c54e23"]]);async function _a({client:t,signal:i}){const e=Math.round(Date.now()/1e3)-1209600,{data:a}=await t.search("/",{signal:i,details:!0,data:kt(e)});return a.results.map(l=>ye(l))}async function Ca({client:t,path:i,signal:e}){const a=(await t.getDirectoryContents(X(ge,i),{signal:e,details:!0,includeSelf:!0,data:Me()})).data.map(l=>ye(l));return{contents:a.filter(({path:l})=>l!==i),folder:a.find(({path:l})=>i===l)}}async function La(t,i){const{data:e}=await t.stat(X(ge,i),{details:!0,data:Me()});return ye(e)}function $a(t,i){const e=bt(),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 La(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 wt({client:e,path:i.value,signal:n.signal}),l.value=null;else if(t.value==="recent")a.value=await _a({client:e,signal:n.signal}),l.value=null;else{const o=await Ca({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 za(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 Ba={class:"file-picker__main"},Fa={key:1,class:"file-picker__view"},Pa=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}=$a(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}=za(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(I=>I.basename===k)[0])}catch(m){G.warn("Could not create new folder",{name:k,error:m}),he(h("Could not create the new folder"))}}function Ee(k){!k&&!W&&a("close")}return(k,m)=>(s(),C(d(Ye),{open:l.value,"onUpdate:open":[m[6]||(m[6]=I=>l.value=I),Ee],buttons:ie.value,name:t.name,size:"large",contentClasses:"file-picker__content",dialogClasses:"file-picker",navigationClasses:"file-picker__navigation"},{navigation:w(({isCollapsed:I})=>[_(ka,{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:I,disabledNavigation:t.disabledNavigation},null,8,["currentView","filterString","isCollapsed","disabledNavigation"])]),default:w(()=>[f("div",Ba,[r.value==="files"?(s(),C(aa,{key:0,path:p.value,"onUpdate:path":m[2]||(m[2]=I=>p.value=I),showMenu:!t.noMenu,onCreateNode:R},null,8,["path","showMenu"])):(s(),c("div",Fa,[f("h3",null,$(T.value),1)])),d(B)||P.value.length>0?(s(),C(Ui,{key:2,path:p.value,"onUpdate:path":[m[3]||(m[3]=I=>p.value=I),m[5]||(m[5]=I=>r.value="files")],selectedFiles:o.value,"onUpdate:selectedFiles":m[4]||(m[4]=I=>o.value=I),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"]))}}),al=x(Pa,[["__scopeId","data-v-39182aaf"]]);export{al as default}; +//# sourceMappingURL=FilePicker-5ci1Hixq.chunk.mjs.map diff --git a/dist/FilePicker-DuWsKdWk.chunk.mjs.license b/dist/FilePicker-5ci1Hixq.chunk.mjs.license similarity index 100% rename from dist/FilePicker-DuWsKdWk.chunk.mjs.license rename to dist/FilePicker-5ci1Hixq.chunk.mjs.license diff --git a/dist/FilePicker-DuWsKdWk.chunk.mjs.map b/dist/FilePicker-5ci1Hixq.chunk.mjs.map similarity index 99% rename from dist/FilePicker-DuWsKdWk.chunk.mjs.map rename to dist/FilePicker-5ci1Hixq.chunk.mjs.map index fd60f4dca8d73..87fe2f28157c3 100644 --- a/dist/FilePicker-DuWsKdWk.chunk.mjs.map +++ b/dist/FilePicker-5ci1Hixq.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilePicker-DuWsKdWk.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb-3Y5NWXnV.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs-BaTp3Sya.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/preview.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/_plugin-vue_export-helper.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/FilePicker.mjs"],"sourcesContent":["import '../assets/NcBreadcrumb-BxhZKQlW.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, withModifiers, normalizeClass, createBlock, createSlots, withCtx, renderSlot, createTextVNode, createVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActions } from \"./NcActions-C-wDqSrv.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 = { d: \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" };\nconst _hoisted_4 = { 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 createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\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-3Y5NWXnV.mjs.map\n","import '../assets/NcBreadcrumbs-B4eyDS9i.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, Fragment, cloneVNode, h } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { N as NcActions, i as isSlotPopulated } from \"./NcActions-C-wDqSrv.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BO5T5ePT.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink-BFiaYt9A.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter-vYFtIOzD.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb-3Y5NWXnV.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 = { 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 = { 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 createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\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-BaTp3Sya.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","const _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nexport {\n _export_sfc as _\n};\n//# sourceMappingURL=_plugin-vue_export-helper.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 } from \"./_plugin-vue_export-helper.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 { t, l as logger, s as showError } from \"./index.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","_hoisted_4","_sfc_render$1","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","createElementVNode","toDisplayString","createCommentVNode","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","props","key","val","_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","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","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,4]} \ No newline at end of file +{"version":3,"file":"FilePicker-5ci1Hixq.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb-3Y5NWXnV.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs-BaTp3Sya.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/preview.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/_plugin-vue_export-helper.mjs","../node_modules/@nextcloud/dialogs/dist/chunks/FilePicker.mjs"],"sourcesContent":["import '../assets/NcBreadcrumb-BxhZKQlW.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, withModifiers, normalizeClass, createBlock, createSlots, withCtx, renderSlot, createTextVNode, createVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActions } from \"./NcActions-C-wDqSrv.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 = { d: \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" };\nconst _hoisted_4 = { 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 createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\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-3Y5NWXnV.mjs.map\n","import '../assets/NcBreadcrumbs-B4eyDS9i.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, Fragment, cloneVNode, h } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { N as NcActions, i as isSlotPopulated } from \"./NcActions-C-wDqSrv.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BO5T5ePT.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink-BFiaYt9A.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter-vYFtIOzD.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb-3Y5NWXnV.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 = { 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 = { 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 createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\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-BaTp3Sya.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","const _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nexport {\n _export_sfc as _\n};\n//# sourceMappingURL=_plugin-vue_export-helper.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 } from \"./_plugin-vue_export-helper.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 { t, l as logger, s as showError } from \"./index.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","_hoisted_4","_sfc_render$1","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","createElementVNode","toDisplayString","createCommentVNode","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","props","key","val","_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","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","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,4]} \ No newline at end of file diff --git a/dist/FilePicker-DuWsKdWk.chunk.mjs.map.license b/dist/FilePicker-5ci1Hixq.chunk.mjs.map.license similarity index 100% rename from dist/FilePicker-DuWsKdWk.chunk.mjs.map.license rename to dist/FilePicker-5ci1Hixq.chunk.mjs.map.license diff --git a/dist/FilesSidebarTab-CXT7lLdT.chunk.mjs b/dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs similarity index 96% rename from dist/FilesSidebarTab-CXT7lLdT.chunk.mjs rename to dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs index 786ede3571dff..2a6725af42179 100644 --- a/dist/FilesSidebarTab-CXT7lLdT.chunk.mjs +++ b/dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs @@ -1,4 +1,4 @@ -import{a as H}from"./index--CXeJKGn.chunk.mjs";import{t as y}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{v as M}from"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{N}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as S}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{_ as f}from"./public-C1mLBHT3.chunk.mjs";import{o as s,f as r,g as I,t as p,h as d,m as h,r as c,ag as z,J as O,k as m,F as C,c as _,w as g,B,j as F,y as L,b as $,v as q}from"./Web-X6XNrbMx.chunk.mjs";import{C as P,a as v}from"./CommentView-DBgM9q8R.chunk.mjs";import{l as b}from"./activity-nG-Rk4qJ.chunk.mjs";import{c as j,g as U,D as w}from"./GetComments-Bnfad0N4.chunk.mjs";const E={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Z=["aria-hidden","aria-label"],J=["fill","width","height"],G={d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"},K={key:0};function Q(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon alert-circle-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",G,[e.title?(s(),r("title",K,p(e.title),1)):d("",!0)])],8,J))],16,Z)}const W=f(E,[["render",Q]]),X={name:"MessageReplyTextOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Y=["aria-hidden","aria-label"],ee=["fill","width","height"],te={d:"M9 11H18V13H9V11M18 7H6V9H18V7M22 4V22L18 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.89 22 4M20 4H4V16H18.83L20 17.17V4Z"},oe={key:0};function se(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon message-reply-text-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",te,[e.title?(s(),r("title",oe,p(e.title),1)):d("",!0)])],8,ee))],16,Y)}const re=f(X,[["render",se]]),ie={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ne=["aria-hidden","aria-label"],ae=["fill","width","height"],le={d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"},ce={key:0};function me(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon refresh-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",le,[e.title?(s(),r("title",ce,p(e.title),1)):d("",!0)])],8,ae))],16,ne)}const de=f(ie,[["render",me]]);function ue(t,o,e){const a=["",t,o].join("/"),i=e.toUTCString();return j.customRequest(a,{method:"PROPPATCH",data:` +import{a as H}from"./index-9np_X5jS.chunk.mjs";import{t as y}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{v as M}from"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{N}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as S}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{_ as f}from"./public-C1mLBHT3.chunk.mjs";import{o as s,f as r,g as I,t as p,h as d,m as h,r as c,ag as z,J as O,k as m,F as C,c as _,w as g,B,j as F,y as L,b as $,v as q}from"./Web-X6XNrbMx.chunk.mjs";import{C as P,a as v}from"./CommentView--RDJB_xe.chunk.mjs";import{l as b}from"./activity-nG-Rk4qJ.chunk.mjs";import{c as j,g as U,D as w}from"./GetComments-BU90Le50.chunk.mjs";const E={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Z=["aria-hidden","aria-label"],J=["fill","width","height"],G={d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"},K={key:0};function Q(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon alert-circle-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",G,[e.title?(s(),r("title",K,p(e.title),1)):d("",!0)])],8,J))],16,Z)}const W=f(E,[["render",Q]]),X={name:"MessageReplyTextOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Y=["aria-hidden","aria-label"],ee=["fill","width","height"],te={d:"M9 11H18V13H9V11M18 7H6V9H18V7M22 4V22L18 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.89 22 4M20 4H4V16H18.83L20 17.17V4Z"},oe={key:0};function se(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon message-reply-text-outline-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",te,[e.title?(s(),r("title",oe,p(e.title),1)):d("",!0)])],8,ee))],16,Y)}const re=f(X,[["render",se]]),ie={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ne=["aria-hidden","aria-label"],ae=["fill","width","height"],le={d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"},ce={key:0};function me(t,o,e,a,i,n){return s(),r("span",h(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon refresh-icon",role:"img",onClick:o[0]||(o[0]=l=>t.$emit("click",l))}),[(s(),r("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[I("path",le,[e.title?(s(),r("title",ce,p(e.title),1)):d("",!0)])],8,ae))],16,ne)}const de=f(ie,[["render",me]]);function ue(t,o,e){const a=["",t,o].join("/"),i=e.toUTCString();return j.customRequest(a,{method:"PROPPATCH",data:` @@ -8,4 +8,4 @@ import{a as H}from"./index--CXeJKGn.chunk.mjs";import{t as y}from"./translation- `})}function pe(t){const o=new AbortController,e=o.signal;return{request:async function(a,i){return await t(a,{signal:e,...i})},abort:()=>o.abort()}}const he={name:"CommentsApp",components:{Comment:v,NcEmptyContent:S,NcButton:N,IconRefresh:de,IconMessageReplyTextOutline:re,IconAlertCircleOutline:W},directives:{elementVisibility:M},mixins:[P],expose:["update"],data(){return{error:"",loading:!1,done:!1,offset:0,comments:[],cancelRequest:()=>{},Comment:v,userData:{}}},computed:{hasComments(){return this.comments.length>0},isFirstLoading(){return this.loading&&this.offset===0}},watch:{resourceId(){this.currentResourceId=this.resourceId}},methods:{t:y,async onVisibilityChange(t){if(t)try{await ue(this.resourceType,this.currentResourceId,new Date)}catch(o){H(o.message||y("comments","Failed to mark comments as read"))}},async update(t){this.currentResourceId=t,this.resetState(),await this.getComments()},onScrollBottomReached(){this.error||this.done||this.loading||this.getComments()},async getComments(){this.cancelRequest("cancel");try{this.loading=!0,this.error="";const{request:t,abort:o}=pe(U);this.cancelRequest=o;const{data:e}=await t({resourceType:this.resourceType,resourceId:this.currentResourceId},{offset:this.offset})||{data:[]};this.logger.debug(`Processed ${e.length} comments`,{comments:e}),e.lengthe.props.id===t);o>-1?this.comments.splice(o,1):b.error("Could not find the deleted comment in the list",{id:t})},resetState(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}},ge={key:1},fe={key:2,class:"comments__info icon-loading"},ye={key:3,class:"comments__info"};function Ce(t,o,e,a,i,n){const l=c("Comment"),V=c("IconMessageReplyTextOutline"),k=c("NcEmptyContent"),R=c("IconAlertCircleOutline"),A=c("IconRefresh"),T=c("NcButton"),x=z("element-visibility");return O((s(),r("div",{class:L(["comments",{"icon-loading":n.isFirstLoading}])},[m(l,h(t.editorData,{editor:"",autoComplete:t.autoComplete,resourceType:t.resourceType,userData:i.userData,resourceId:t.currentResourceId,class:"comments__writer",onNew:n.onNewComment}),null,16,["autoComplete","resourceType","userData","resourceId","onNew"]),n.isFirstLoading?d("",!0):(s(),r(C,{key:0},[!n.hasComments&&i.done?(s(),_(k,{key:0,class:"comments__empty",name:n.t("comments","No comments yet, start the conversation!")},{icon:g(()=>[m(V)]),_:1},8,["name"])):(s(),r("ul",ge,[(s(!0),r(C,null,B(i.comments,u=>(s(),_(l,h({key:u.props.id,modelValue:u.props.message,"onUpdate:modelValue":D=>u.props.message=D,tag:"li"},{ref_for:!0},u.props,{autoComplete:t.autoComplete,resourceType:t.resourceType,resourceId:t.currentResourceId,userData:t.genMentionsData(u.props.mentions),class:"comments__list",onDelete:n.onDelete}),null,16,["modelValue","onUpdate:modelValue","autoComplete","resourceType","resourceId","userData","onDelete"]))),128))])),i.loading&&!n.isFirstLoading?(s(),r("div",fe)):n.hasComments&&i.done?(s(),r("div",ye,p(n.t("comments","No more messages")),1)):i.error?(s(),r(C,{key:4},[m(k,{class:"comments__error",name:i.error},{icon:g(()=>[m(R)]),_:1},8,["name"]),m(T,{class:"comments__retry",onClick:n.getComments},{icon:g(()=>[m(A)]),default:g(()=>[F(" "+p(n.t("comments","Retry")),1)]),_:1},8,["onClick"])],64)):d("",!0)],64))],2)),[[x,n.onVisibilityChange]])}const _e=f(he,[["render",Ce],["__scopeId","data-v-2295a278"]]),Ie=$({__name:"FilesSidebarTab",props:{node:{},active:{type:Boolean},folder:{},view:{}},setup(t){const o=t,e=q(()=>o.node?.fileid);return(a,i)=>e.value!==void 0?(s(),_(_e,{key:e.value,resourceId:e.value,resourceType:"files"},null,8,["resourceId"])):d("",!0)}}),He=Object.freeze(Object.defineProperty({__proto__:null,default:Ie},Symbol.toStringTag,{value:"Module"}));export{_e as C,He as F}; -//# sourceMappingURL=FilesSidebarTab-CXT7lLdT.chunk.mjs.map +//# sourceMappingURL=FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map diff --git a/dist/FilesSidebarTab-CXT7lLdT.chunk.mjs.license b/dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs.license similarity index 100% rename from dist/FilesSidebarTab-CXT7lLdT.chunk.mjs.license rename to dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs.license diff --git a/dist/FilesSidebarTab-CXT7lLdT.chunk.mjs.map b/dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map similarity index 99% rename from dist/FilesSidebarTab-CXT7lLdT.chunk.mjs.map rename to dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map index 154f8c3203b2d..fb9678d5ab0c1 100644 --- a/dist/FilesSidebarTab-CXT7lLdT.chunk.mjs.map +++ b/dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilesSidebarTab-CXT7lLdT.chunk.mjs","sources":["../node_modules/vue-material-design-icons/AlertCircleOutline.vue","../node_modules/vue-material-design-icons/MessageReplyTextOutline.vue","../node_modules/vue-material-design-icons/Refresh.vue","../build/frontend/apps/comments/src/services/ReadComments.ts","../build/frontend/apps/comments/src/utils/cancelableRequest.ts","../build/frontend/apps/comments/src/views/CommentsApp.vue","../build/frontend/apps/comments/src/views/FilesSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Response } from 'webdav'\n\nimport client from './DavClient.ts'\n\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport function markCommentsAsRead(\n\tresourceType: string,\n\tresourceId: number,\n\tdate: Date,\n): Promise {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\tconst readMarker = date.toUTCString()\n\n\treturn client.customRequest(resourcePath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param request the axios promise request\n * @return\n */\nfunction cancelableRequest(request: (url: string, options?: Record) => Promise) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param url the url to send the request to\n\t * @param [options] optional config for the request\n\t */\n\tconst fetch = async function(url: string, options?: Record) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\t{ signal, ...options },\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","markCommentsAsRead","resourceType","resourceId","date","resourcePath","readMarker","client","cancelableRequest","request","controller","signal","url","options","Comment","NcEmptyContent","NcButton","IconRefresh","IconMessageReplyTextOutline","IconAlertCircleOutline","elementVisibility","CommentView","t","isVisible","e","showError","abort","getComments","comments","DEFAULT_LIMIT","comment","error","logger","id","index","_normalizeClass","$options","_createVNode","_component_Comment","$data","_Fragment","_createBlock","_component_NcEmptyContent","_component_IconMessageReplyTextOutline","_hoisted_1","_renderList","_hoisted_2","_toDisplayString","_component_IconAlertCircleOutline","_component_NcButton","_component_IconRefresh","_createTextVNode","props","__props","computed","CommentsApp"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"FilesSidebarTab-Wt0Ssd3N.chunk.mjs","sources":["../node_modules/vue-material-design-icons/AlertCircleOutline.vue","../node_modules/vue-material-design-icons/MessageReplyTextOutline.vue","../node_modules/vue-material-design-icons/Refresh.vue","../build/frontend/apps/comments/src/services/ReadComments.ts","../build/frontend/apps/comments/src/utils/cancelableRequest.ts","../build/frontend/apps/comments/src/views/CommentsApp.vue","../build/frontend/apps/comments/src/views/FilesSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Response } from 'webdav'\n\nimport client from './DavClient.ts'\n\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport function markCommentsAsRead(\n\tresourceType: string,\n\tresourceId: number,\n\tdate: Date,\n): Promise {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\tconst readMarker = date.toUTCString()\n\n\treturn client.customRequest(resourcePath, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param request the axios promise request\n * @return\n */\nfunction cancelableRequest(request: (url: string, options?: Record) => Promise) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param url the url to send the request to\n\t * @param [options] optional config for the request\n\t */\n\tconst fetch = async function(url: string, options?: Record) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\t{ signal, ...options },\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\n\n\n\n","\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","markCommentsAsRead","resourceType","resourceId","date","resourcePath","readMarker","client","cancelableRequest","request","controller","signal","url","options","Comment","NcEmptyContent","NcButton","IconRefresh","IconMessageReplyTextOutline","IconAlertCircleOutline","elementVisibility","CommentView","t","isVisible","e","showError","abort","getComments","comments","DEFAULT_LIMIT","comment","error","logger","id","index","_normalizeClass","$options","_createVNode","_component_Comment","$data","_Fragment","_createBlock","_component_NcEmptyContent","_component_IconMessageReplyTextOutline","_hoisted_1","_renderList","_hoisted_2","_toDisplayString","_component_IconAlertCircleOutline","_component_NcButton","_component_IconRefresh","_createTextVNode","props","__props","computed","CommentsApp"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/dist/FilesSidebarTab-CXT7lLdT.chunk.mjs.map.license b/dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map.license similarity index 100% rename from dist/FilesSidebarTab-CXT7lLdT.chunk.mjs.map.license rename to dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs.map.license diff --git a/dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs b/dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs similarity index 98% rename from dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs rename to dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs index b0a88bd0bdf8c..77a0d9ff06b43 100644 --- a/dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs +++ b/dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs @@ -1,4 +1,4 @@ -import{d as j,a as Y}from"./index--CXeJKGn.chunk.mjs";import{a as B,m as te,g as se,b as J,h as oe,j as ne,n as re,f as N}from"./index-BRcsAfAF.chunk.mjs";import{t as d,b as O}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{w as ae,d as le}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{D as ce,N as de}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{f as ue}from"./index-B3rZk8FQ.chunk.mjs";import{_ as D,l as ve}from"./public-C1mLBHT3.chunk.mjs";import{N as I,P as me}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{N as pe,_ as fe}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{N as he}from"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{D as ge,N as be,s as ye}from"./TrayArrowDown-BMEoxMqX.chunk.mjs";import{o as r,f as m,g as C,t as _,h as y,m as Q,b as P,l as $,c as H,w as h,u,j as E,k as S,v as g,D as G,p as we,E as X,i as M,O as ee,z as _e,F as Ce,B as ke}from"./Web-X6XNrbMx.chunk.mjs";import{P as Z}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import{N as Ve}from"./index-CJbq0R0g.chunk.mjs";import{_ as Se}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{c as He}from"./index-CfIbVNTc.chunk.mjs";import{g as ze}from"./dav-BUnvPvLq.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-PbTIJ1eH.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"},De={key:0};function Ee(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",De,_(i.title),1)):y("",!0)])],8,$e))],16,Ae)}const Te=D(Le,[["render",Ee]]),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"],Be={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"},Oe={key:0};function Pe(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",Be,[i.title?(r(),m("title",Oe,_(i.title),1)):y("",!0)])],8,Me))],16,Ie)}const Re=D(Ne,[["render",Pe]]),Fe={name:"ImageOffOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ue=["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,Ue)}const Ye=D(Fe,[["render",je]]),Ze={key:0,class:"version__image"},Je=["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=P({__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=$(ve("core","capabilities",{files:{version_labeling:!1,version_deletion:!1}})),k=g(()=>ue(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===B()?.uid?d("files_versions","You"):i.version.authorName??i.version.author),o=g(()=>new Date(i.version.mtime).toLocaleString([O(),O().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),F=g(()=>b(i.node,Z.DELETE)),T=g(()=>b(i.node,Z.UPDATE)),U=g(()=>!((i.node.permissions&Z.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(be),{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,Je)):(r(),m("div",Ge,[S(Ye,{size:20})])):(r(),m("div",Ze))]),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",si,[S(u(fe),{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(me,{size:22})]),default:h(()=>[E(" "+_(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(()=>[E(" "+_(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(()=>[E(" "+_(u(d)("files_versions","Restore version")),1)]),_:1})):y("",!0),U.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(ge,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Download version")),1)]),_:1},8,["href","download"])):y("",!0),!e.isCurrent&&z.value&&F.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(()=>[E(" "+_(u(d)("files_versions","Delete version")),1)]),_:1})):y("",!0)]),_:1},8,["actions-aria-label","data-files-versions-version","href"]))}}),ni=D(oi,[["__scopeId","data-v-037e7d96"]]),ri={class:"version-label-modal__info"},ai=P({__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(Ve),{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(Se),{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=D(ai,[["__scopeId","data-v-0955585b"]]),x=se().setApp("files_version").detectUser().build(),ci=P({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=D(ci,[["render",ui],["__scopeId","data-v-97f544f2"]]),mi=` +import{d as j,a as Y}from"./index-9np_X5jS.chunk.mjs";import{a as B,m as te,g as se,b as J,h as oe,j as ne,n as re,f as N}from"./index-BRcsAfAF.chunk.mjs";import{t as d,b as O}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{w as ae,d as le}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{D as ce,N as de}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{f as ue}from"./index-B3rZk8FQ.chunk.mjs";import{_ as D,l as ve}from"./public-C1mLBHT3.chunk.mjs";import{N as I,P as me}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{N as pe,_ as fe}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{N as he}from"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{D as ge,N as be,s as ye}from"./TrayArrowDown-BMEoxMqX.chunk.mjs";import{o as r,f as m,g as C,t as _,h as y,m as Q,b as P,l as $,c as H,w as h,u,j as E,k as S,v as g,D as G,p as we,E as X,i as M,O as ee,z as _e,F as Ce,B as ke}from"./Web-X6XNrbMx.chunk.mjs";import{P as Z}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import{N as Ve}from"./index-CJbq0R0g.chunk.mjs";import{_ as Se}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{c as He}from"./index-CfIbVNTc.chunk.mjs";import{g as ze}from"./dav-BnceviPD.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CpA8_zX5.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"},De={key:0};function Ee(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",De,_(i.title),1)):y("",!0)])],8,$e))],16,Ae)}const Te=D(Le,[["render",Ee]]),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"],Be={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"},Oe={key:0};function Pe(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",Be,[i.title?(r(),m("title",Oe,_(i.title),1)):y("",!0)])],8,Me))],16,Ie)}const Re=D(Ne,[["render",Pe]]),Fe={name:"ImageOffOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ue=["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,Ue)}const Ye=D(Fe,[["render",je]]),Ze={key:0,class:"version__image"},Je=["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=P({__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=$(ve("core","capabilities",{files:{version_labeling:!1,version_deletion:!1}})),k=g(()=>ue(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===B()?.uid?d("files_versions","You"):i.version.authorName??i.version.author),o=g(()=>new Date(i.version.mtime).toLocaleString([O(),O().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),F=g(()=>b(i.node,Z.DELETE)),T=g(()=>b(i.node,Z.UPDATE)),U=g(()=>!((i.node.permissions&Z.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(be),{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,Je)):(r(),m("div",Ge,[S(Ye,{size:20})])):(r(),m("div",Ze))]),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",si,[S(u(fe),{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(me,{size:22})]),default:h(()=>[E(" "+_(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(()=>[E(" "+_(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(()=>[E(" "+_(u(d)("files_versions","Restore version")),1)]),_:1})):y("",!0),U.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(ge,{size:22})]),default:h(()=>[E(" "+_(u(d)("files_versions","Download version")),1)]),_:1},8,["href","download"])):y("",!0),!e.isCurrent&&z.value&&F.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(()=>[E(" "+_(u(d)("files_versions","Delete version")),1)]),_:1})):y("",!0)]),_:1},8,["actions-aria-label","data-files-versions-version","href"]))}}),ni=D(oi,[["__scopeId","data-v-037e7d96"]]),ri={class:"version-label-modal__info"},ai=P({__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(Ve),{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(Se),{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=D(ai,[["__scopeId","data-v-0955585b"]]),x=se().setApp("files_version").detectUser().build(),ci=P({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=D(ci,[["render",ui],["__scopeId","data-v-97f544f2"]]),mi=` `})}async function bi(e){await R.deleteFile(e.filename)}const yi={key:0,class:"versions-tab__container"},wi=["aria-label"],ji=P({__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));_e(()=>t.node.id,z,{immediate:!0}),ae(k,z,{debounce:600});async function z(){try{c.value=!0,l.value=await pi(t.node)}finally{c.value=!1}}async function F(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{Y(d("files_versions","Could not restore version")),N("files_versions:restore:failed",s)}}function T(s){n.value=!0,a.value=s}async function U(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,Y(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),Y(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(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===o.value,onClick:K,onCompare:W,onRestore:F,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":U},null,8,["open","label"])):y("",!0)])):y("",!0)}});export{ji as default}; -//# sourceMappingURL=FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.map +//# sourceMappingURL=FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map diff --git a/dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.license b/dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.license similarity index 100% rename from dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.license rename to dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.license diff --git a/dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.map b/dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map similarity index 99% rename from dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.map rename to dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map index 3c775c615641e..7e4c99c954911 100644 --- a/dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.map +++ b/dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilesVersionsSidebarTab-CVkivcRB.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-BoqKwijz.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-CVkivcRB.chunk.mjs.map.license b/dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map.license similarity index 100% rename from dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs.map.license rename to dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs.map.license diff --git a/dist/GetComments-Bnfad0N4.chunk.mjs b/dist/GetComments-BU90Le50.chunk.mjs similarity index 69% rename from dist/GetComments-Bnfad0N4.chunk.mjs rename to dist/GetComments-BU90Le50.chunk.mjs index f83002576c9cc..98547cdc22aba 100644 --- a/dist/GetComments-Bnfad0N4.chunk.mjs +++ b/dist/GetComments-BU90Le50.chunk.mjs @@ -1,4 +1,4 @@ -import{z as Et,_ as Mt}from"./index-PbTIJ1eH.chunk.mjs";import{h as At,o as Pt,e as Wt,q as wt,t as X}from"./index-BRcsAfAF.chunk.mjs";import{r as $t}from"./util-BcZIBtn7.chunk.mjs";function Rt(){return At("dav/comments")}const vt=Et(Rt());function ot(o){vt.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:o??""})}Pt(ot),ot(Wt());var Q,ht;function Nt(){if(ht)return Q;ht=1,Q=o;function o(n,s,r){n instanceof RegExp&&(n=t(n,r)),s instanceof RegExp&&(s=t(s,r));var i=e(n,s,r);return i&&{start:i[0],end:i[1],pre:r.slice(0,i[0]),body:r.slice(i[0]+n.length,i[1]),post:r.slice(i[1]+s.length)}}function t(n,s){var r=s.match(n);return r?r[0]:null}o.range=e;function e(n,s,r){var i,h,a,l,p,f=r.indexOf(n),g=r.indexOf(s,f+1),b=f;if(f>=0&&g>0){if(n===s)return[f,g];for(i=[],a=r.length;b>=0&&!p;)b==f?(i.push(b),f=r.indexOf(n,b+1)):i.length==1?p=[i.pop(),g]:(h=i.pop(),h=0?f:g;i.length&&(p=[a,l])}return p}return Q}var Y,at;function Tt(){if(at)return Y;at=1;var o=Nt();Y=g;var t="\0SLASH"+Math.random()+"\0",e="\0OPEN"+Math.random()+"\0",n="\0CLOSE"+Math.random()+"\0",s="\0COMMA"+Math.random()+"\0",r="\0PERIOD"+Math.random()+"\0",i=1e5,h=4e6;function a(u){return parseInt(u,10)==u?parseInt(u,10):u.charCodeAt(0)}function l(u){return u.split("\\\\").join(t).split("\\{").join(e).split("\\}").join(n).split("\\,").join(s).split("\\.").join(r)}function p(u){return u.split(t).join("\\").split(e).join("{").split(n).join("}").split(s).join(",").split(r).join(".")}function f(u){if(!u)return[""];var c=[],d=o("{","}",u);if(!d)return u.split(",");var m=d.pre,y=d.body,j=d.post,x=m.split(",");x[x.length-1]+="{"+y+"}";var A=f(j);return j.length&&(x[x.length-1]+=A.shift(),x.push.apply(x,A)),c.push.apply(c,x),c}function g(u,c){if(!u)return[];c=c||{};var d=c.max==null?i:c.max,m=c.maxLength==null?h:c.maxLength;return u.substr(0,2)==="{}"&&(u="\\{\\}"+u.substr(2)),L(l(u),d,m,!0).map(p)}function b(u){return"{"+u+"}"}function w(u){return/^-?0\d/.test(u)}function v(u,c){return u<=c}function E(u,c){return u>=c}function O(u,c,d,m,y,j){for(var x=[],A=0,P=0;P=m)return x;var C=u[P]+c+d[$];if(!(j&&!C)){if(A+C.length>y)return x;x.push(C),A+=C.length}}return x}function S(u,c,d,m){var y=u.split(/\.\./),j=[];if(y[0]===void 0||y[1]===void 0)return j;var x=a(y[0]),A=a(y[1]),P=Math.max(y[0].length,y[1].length),$=y.length===3&&y[2]!==void 0?Math.max(Math.abs(a(y[2])),1):1,C=v,z=A0){var Z=new Array(D+1).join("0");G<0?R="-"+Z+R.slice(1):R=Z+R}}if(I+R.length>m)break;j.push(R),I+=R.length}return j}function L(u,c,d,m){for(var y=[""],j=!1,x=!0;;){const M=o("{","}",u);if(!M)return O(y,u,[""],c,d,j);const q=M.pre;if(/\$$/.test(q)){if(y=O(y,q+"{"+M.body+"}",[""],c,d,j&&!M.post.length),x=!1,!M.post.length)break;u=M.post;continue}var A=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(M.body),P=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(M.body),$=A||P,C=M.body.indexOf(",")>=0;if(!$&&!C){if(M.post.match(/,(?!,).*\}/)){u=M.pre+"{"+M.body+n+M.post,m=!0;continue}return O(y,q+"{"+M.body+"}"+M.post,[""],c,d,j)}x&&(j=m&&!$,x=!1);var z;if($)z=S(M.body,P,c,d);else{var _=f(M.body);if(_.length===1&&_[0]!==void 0&&(_=L(_[0],c,d,!1).map(b),_.length===1)){if(y=O(y,q+_[0],[""],c,d,j&&!M.post.length),!M.post.length)break;u=M.post;continue}for(var I=j&&!M.post.length&&!q,G=0;I&&G=c||R+F.length>d)break t;z.push(F),R+=F.length}}}if(y=O(y,q,z,c,d,j&&!M.post.length),!M.post.length)break;u=M.post}return y}return Y}var _t=Tt();const kt=wt(_t),Lt=1024*64,U=o=>{if(typeof o!="string")throw new TypeError("invalid pattern");if(o.length>Lt)throw new TypeError("pattern is too long")},Ct={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},B=o=>o.replace(/[[\]\\-]/g,"\\$&"),zt=o=>o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),lt=o=>o.join(""),It=(o,t)=>{const e=t;if(o.charAt(e)!=="[")throw new Error("not in a brace expression");const n=[],s=[];let r=e+1,i=!1,h=!1,a=!1,l=!1,p=e,f="";t:for(;rf?n.push(B(f)+"-"+B(w)):w===f&&n.push(B(w)),f="",r++;continue}if(o.startsWith("-]",r+1)){n.push(B(w+"-")),r+=2;continue}if(o.startsWith("-",r+1)){f=w,r+=2;continue}n.push(B(w)),r++}if(pt?o.replace(/\[([^\/\\])\]/g,"$1"):o.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var T;const Gt=new Set(["!","?","+","*","@"]),st=o=>Gt.has(o),ut=o=>st(o.type),Dt=new Map([["!",["@"]],["?",["?","@"]],["@",["@"]],["*",["*","+","?","@"]],["+",["+","@"]]]),qt=new Map([["!",["?"]],["@",["?"]],["+",["?","*"]]]),Zt=new Map([["!",["?","@"]],["?",["?","@"]],["@",["?","@"]],["*",["*","+","?","@"]],["+",["+","@","?","*"]]]),ct=new Map([["!",new Map([["!","@"]])],["?",new Map([["*","*"],["+","*"]])],["@",new Map([["!","!"],["?","?"],["@","@"],["*","*"],["+","+"]])],["+",new Map([["?","*"],["*","*"]])]]),Bt="(?!(?:^|/)\\.\\.?(?:$|/))",J="(?!\\.)",Ht=new Set(["[","."]),Ft=new Set(["..","."]),Jt=new Set("().*{}+?[]^$\\!"),Xt=o=>o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),rt="[^/]",pt=rt+"*?",ft=rt+"+?";class it{type;#n;#s;#r=!1;#t=[];#e;#h;#l;#a=!1;#i;#o;#u=!1;constructor(t,e,n={}){this.type=t,t&&(this.#s=!0),this.#e=e,this.#n=this.#e?this.#e.#n:this,this.#i=this.#n===this?n:this.#n.#i,this.#l=this.#n===this?[]:this.#n.#l,t==="!"&&!this.#n.#a&&this.#l.push(this),this.#h=this.#e?this.#e.#t.length:0}get hasMagic(){if(this.#s!==void 0)return this.#s;for(const t of this.#t)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#s=!0;return this.#s}toString(){return this.#o!==void 0?this.#o:this.type?this.#o=this.type+"("+this.#t.map(t=>String(t)).join("|")+")":this.#o=this.#t.map(t=>String(t)).join("")}#y(){if(this!==this.#n)throw new Error("should only call on root");if(this.#a)return this;this.toString(),this.#a=!0;let t;for(;t=this.#l.pop();){if(t.type!=="!")continue;let e=t,n=e.#e;for(;n;){for(let s=e.#h+1;!n.type&&stypeof e=="string"?e:e.toJSON()):[this.type,...this.#t.map(e=>e.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#n||this.#n.#a&&this.#e?.type==="!")&&t.push({}),t}isStart(){if(this.#n===this)return!0;if(!this.#e?.isStart())return!1;if(this.#h===0)return!0;const t=this.#e;for(let e=0;e{const[b,w,v,E]=typeof g=="string"?T.#O(g,this.#s,a):g.toRegExpSource(t);return this.#s=this.#s||v,this.#r=this.#r||E,b}).join("");let p="";if(this.isStart()&&typeof this.#t[0]=="string"&&!(this.#t.length===1&&Ft.has(this.#t[0]))){const g=Ht,b=e&&g.has(l.charAt(0))||l.startsWith("\\.")&&g.has(l.charAt(2))||l.startsWith("\\.\\.")&&g.has(l.charAt(4)),w=!e&&!t&&g.has(l.charAt(0));p=b?Bt:w?J:""}let f="";return this.isEnd()&&this.#n.#a&&this.#e?.type==="!"&&(f="(?:$|\\/)"),[p+l+f,H(l),this.#s=!!this.#s,this.#r]}const n=this.type==="*"||this.type==="+",s=this.type==="!"?"(?:(?!(?:":"(?:";let r=this.#m(e);if(this.isStart()&&this.isEnd()&&!r&&this.type!=="!"){const a=this.toString(),l=this;return l.#t=[a],l.type=null,l.#s=void 0,[a,H(this.toString()),!1,!1]}let i=!n||t||e||!J?"":this.#m(!0);i===r&&(i=""),i&&(r=`(?:${r})(?:${i})*?`);let h="";if(this.type==="!"&&this.#u)h=(this.isStart()&&!e?J:"")+ft;else{const a=this.type==="!"?"))"+(this.isStart()&&!e&&!t?J:"")+pt+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&i?")":this.type==="*"&&i?")?":`)${this.type}`;h=s+r+a}return[h,H(r),this.#s=!!this.#s,this.#r]}#m(t){return this.#t.map(e=>{if(typeof e=="string")throw new Error("string type in extglob ast??");const[n,s,r,i]=e.toRegExpSource(t);return this.#r=this.#r||i,n}).filter(e=>!(this.isStart()&&this.isEnd())||!!e).join("|")}static#O(t,e,n=!1){let s=!1,r="",i=!1,h=!1;for(let a=0;at?o.replace(/[?*()[\]]/g,"[$&]"):o.replace(/[?*()[\]\\]/g,"\\$&");var tt={};const N=(o,t,e={})=>(U(t),!e.nocomment&&t.charAt(0)==="#"?!1:new V(t,e).match(o)),Vt=/^\*+([^+@!?\*\[\(]*)$/,Kt=o=>t=>!t.startsWith(".")&&t.endsWith(o),Qt=o=>t=>t.endsWith(o),Yt=o=>(o=o.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(o)),te=o=>(o=o.toLowerCase(),t=>t.toLowerCase().endsWith(o)),ee=/^\*+\.\*+$/,ne=o=>!o.startsWith(".")&&o.includes("."),se=o=>o!=="."&&o!==".."&&o.includes("."),re=/^\.\*+$/,ie=o=>o!=="."&&o!==".."&&o.startsWith("."),oe=/^\*+$/,he=o=>o.length!==0&&!o.startsWith("."),ae=o=>o.length!==0&&o!=="."&&o!=="..",le=/^\?+([^+@!?\*\[\(]*)?$/,ue=([o,t=""])=>{const e=xt([o]);return t?(t=t.toLowerCase(),n=>e(n)&&n.toLowerCase().endsWith(t)):e},ce=([o,t=""])=>{const e=jt([o]);return t?(t=t.toLowerCase(),n=>e(n)&&n.toLowerCase().endsWith(t)):e},pe=([o,t=""])=>{const e=jt([o]);return t?n=>e(n)&&n.endsWith(t):e},fe=([o,t=""])=>{const e=xt([o]);return t?n=>e(n)&&n.endsWith(t):e},xt=([o])=>{const t=o.length;return e=>e.length===t&&!e.startsWith(".")},jt=([o])=>{const t=o.length;return e=>e.length===t&&e!=="."&&e!==".."},Ot=typeof X=="object"&&X?typeof tt=="object"&&tt&&tt.__MINIMATCH_TESTING_PLATFORM__||X.platform:"posix",gt={win32:{sep:"\\"},posix:{sep:"/"}},ge=Ot==="win32"?gt.win32.sep:gt.posix.sep;N.sep=ge;const W=Symbol("globstar **");N.GLOBSTAR=W;const de="[^/]",me=de+"*?",ye="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",be="(?:(?!(?:\\/|^)\\.).)*?",we=(o,t={})=>e=>N(e,o,t);N.filter=we;const k=(o,t={})=>Object.assign({},o,t),ve=o=>{if(!o||typeof o!="object"||!Object.keys(o).length)return N;const t=N;return Object.assign((e,n,s={})=>t(e,n,k(o,s)),{Minimatch:class extends t.Minimatch{constructor(e,n={}){super(e,k(o,n))}static defaults(e){return t.defaults(k(o,e)).Minimatch}},AST:class extends t.AST{constructor(e,n,s={}){super(e,n,k(o,s))}static fromGlob(e,n={}){return t.AST.fromGlob(e,k(o,n))}},unescape:(e,n={})=>t.unescape(e,k(o,n)),escape:(e,n={})=>t.escape(e,k(o,n)),filter:(e,n={})=>t.filter(e,k(o,n)),defaults:e=>t.defaults(k(o,e)),makeRe:(e,n={})=>t.makeRe(e,k(o,n)),braceExpand:(e,n={})=>t.braceExpand(e,k(o,n)),match:(e,n,s={})=>t.match(e,n,k(o,s)),sep:t.sep,GLOBSTAR:W})};N.defaults=ve;const St=(o,t={})=>(U(o),t.nobrace||!/\{(?:(?!\{).)*\}/.test(o)?[o]:kt(o));N.braceExpand=St;const xe=(o,t={})=>new V(o,t).makeRe();N.makeRe=xe;const je=(o,t,e={})=>{const n=new V(t,e);return o=o.filter(s=>n.match(s)),n.options.nonull&&!o.length&&o.push(t),o};N.match=je;const dt=/[?*]|[+@!]\(.*?\)|\[|\]/,Oe=o=>o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class V{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;maxGlobstarRecursion;regexp;constructor(t,e={}){U(t),e=e||{},this.options=e,this.maxGlobstarRecursion=e.maxGlobstarRecursion??200,this.pattern=t,this.platform=e.platform||Ot,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||e.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=e.windowsNoMagicRoot!==void 0?e.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if(typeof e!="string")return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...r)=>console.error(...r)),this.debug(this.pattern,this.globSet);const n=this.globSet.map(r=>this.slashSplit(r));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let s=this.globParts.map((r,i,h)=>{if(this.isWindows&&this.windowsNoMagicRoot){const a=r[0]===""&&r[1]===""&&(r[2]==="?"||!dt.test(r[2]))&&!dt.test(r[3]),l=/^[a-z]:/i.test(r[0]);if(a)return[...r.slice(0,4),...r.slice(4).map(p=>this.parse(p))];if(l)return[r[0],...r.slice(1).map(p=>this.parse(p))]}return r.map(a=>this.parse(a))});if(this.debug(this.pattern,s),this.set=s.filter(r=>r.indexOf(!1)===-1),this.isWindows)for(let r=0;r=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):e>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(e=>{let n=-1;for(;(n=e.indexOf("**",n+1))!==-1;){let s=n;for(;e[s+1]==="**";)s++;s!==n&&e.splice(n,s-n)}return e})}levelOneOptimize(t){return t.map(e=>(e=e.reduce((n,s)=>{const r=n[n.length-1];return s==="**"&&r==="**"?n:s===".."&&r&&r!==".."&&r!=="."&&r!=="**"?(n.pop(),n):(n.push(s),n)},[]),e.length===0?[""]:e))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let s=1;ss&&n.splice(s+1,i-s);let h=n[s+1];const a=n[s+2],l=n[s+3];if(h!==".."||!a||a==="."||a===".."||!l||l==="."||l==="..")continue;e=!0,n.splice(s,1);const p=n.slice(0);p[s]="**",t.push(p),s--}if(!this.preserveMultipleSlashes){for(let i=1;ie.length)}partsMatch(t,e,n=!1){let s=0,r=0,i=[],h="";for(;s=2&&(t=this.levelTwoFileOptimize(t)),e.includes(W)?this.#n(t,e,n,s,r):this.#r(t,e,n,s,r)}#n(t,e,n,s,r){const i=e.indexOf(W,r),h=e.lastIndexOf(W),[a,l,p]=n?[e.slice(r,i),e.slice(i+1),[]]:[e.slice(r,i),e.slice(i+1,h),e.slice(h+1)];if(a.length){const S=t.slice(s,s+a.length);if(!this.#r(S,a,n,0,0))return!1;s+=a.length}let f=0;if(p.length){if(p.length+s>t.length)return!1;let S=t.length-p.length;if(this.#r(t,p,n,S,0))f=p.length;else{if(t[t.length-1]!==""||s+p.length===t.length||(S--,!this.#r(t,p,n,S,0)))return!1;f=p.length+1}}if(!l.length){let S=!!f;for(let L=s;L{const l=a.map(p=>{if(p instanceof RegExp)for(const f of p.flags.split(""))s.add(f);return typeof p=="string"?Oe(p):p===W?W:p._src});return l.forEach((p,f)=>{const g=l[f+1],b=l[f-1];p!==W||b===W||(b===void 0?g!==void 0&&g!==W?l[f+1]="(?:\\/|"+n+"\\/)?"+g:l[f]=n:g===void 0?l[f-1]=b+"(?:\\/|"+n+")?":g!==W&&(l[f-1]=b+"(?:\\/|\\/"+n+"\\/)"+g,l[f+1]=W))}),l.filter(p=>p!==W).join("/")}).join("|");const[i,h]=t.length>1?["(?:",")"]:["",""];r="^"+i+r+h+"$",this.negate&&(r="^(?!"+r+").+$");try{this.regexp=new RegExp(r,[...s].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const s=this.slashSplit(t);this.debug(this.pattern,"split",s);const r=this.set;this.debug(this.pattern,"set",r);let i=s[s.length-1];if(!i)for(let h=s.length-2;!i&&h>=0;h--)i=s[h];for(let h=0;h=-1&&!h;a--){var l=a>=0?arguments[a]:X.cwd();if(t(l)){if(!l)continue}else throw new TypeError("Arguments to path.resolve must be strings");i=l+"/"+i,h=l.charAt(0)==="/"}return i=e(i.split("/"),!h).join("/"),(h?"/":"")+i||"."},s.normalize=function(i){var h=s.isAbsolute(i),a=i.substr(-1)==="/";return i=e(i.split("/"),!h).join("/"),!i&&!h&&(i="."),i&&a&&(i+="/"),(h?"/":"")+i},s.isAbsolute=function(i){return i.charAt(0)==="/"},s.join=function(){for(var i="",h=0;h=0&&v[O]==="";O--);return E>O?[]:v.slice(E,O+1)}for(var l=a(i.split("/")),p=a(h.split("/")),f=Math.min(l.length,p.length),g=f,b=0;b"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function a(u){return Function.toString.call(u).indexOf("[native code]")!==-1}function l(u,c){return l=Object.setPrototypeOf||function(d,m){return d.__proto__=m,d},l(u,c)}function p(u){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(c){return c.__proto__||Object.getPrototypeOf(c)},p(u)}var f="+",g=".",b=(function(u){s(c,u);function c(d){var m;return t(this,c),m=e(this,p(c).call(this,d)),m.name="ObjectPrototypeMutationError",m}return c})(r(Error));nt={set:E,get:w,has:v,hasOwn:function(u,c,d){return this.has(u,c,d||{own:!0})},isIn:O,ObjectPrototypeMutationError:b};function w(u,c){if(o(u)!="object"||u===null||typeof c>"u")return u;if(typeof c=="number")return u[c];try{return S(u,c,function(d,m){return d[m]})}catch{return u}}function v(u,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(o(u)!="object"||u===null||typeof c>"u")return!1;if(typeof c=="number")return c in u;try{var m=!1;return S(u,c,function(y,j,x,A){if(L(x,A))d.own?m=y.hasOwnProperty(j):m=j in y;else return y&&y[j]}),m}catch{return!1}}function E(u,c,d){if(o(u)!="object"||u===null||typeof c>"u")return u;if(typeof c=="number")return u[c]=d,u[c];try{return S(u,c,function(m,y,j,x){if(m===Reflect.getPrototypeOf({}))throw new b("Attempting to mutate Object.prototype");if(!m[y]){var A=Number.isInteger(Number(j[x+1])),P=j[x+1]===f;A||P?m[y]=[]:m[y]={}}return L(j,x)&&(m[y]=d),m[y]})}catch(m){if(m instanceof b)throw m;return u}}function O(u,c,d){var m=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(o(u)!="object"||u===null||typeof c>"u")return!1;try{var y=!1,j=!1;return S(u,c,function(x,A,P,$){return y=y||x===d||!!x&&x[A]===d,j=L(P,$)&&o(x)==="object"&&A in x,x&&x[A]}),m.validPath?y&&j:y}catch{return!1}}function S(u,c){for(var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},m=c.split(g),y=m.length,j=function(P){var $=m[P];if(!u)return{v:void 0};if($===f){if(Array.isArray(u))return{v:u.map(function(z,_){var I=m.slice(P+1);return I.length>0?S(z,I.join(g),d):d(u,_,m,P)})};var C=m.slice(0,P).join(g);throw new Error("Object at wildcard (".concat(C,") is not an array"))}else u=d(u,$,m,P)},x=0;x${e.datetime.toISOString()}`:"",r=await vt.customRequest(n,{method:"REPORT",data:` +import{$ as Et,l as Mt}from"./index-CpA8_zX5.chunk.mjs";import{h as At,o as Pt,e as $t,q as wt,t as X}from"./index-BRcsAfAF.chunk.mjs";import{r as Wt}from"./util-BcZIBtn7.chunk.mjs";function Rt(){return At("dav/comments")}const vt=Et(Rt());function ot(o){vt.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:o??""})}Pt(ot),ot($t());var Q,ht;function Nt(){if(ht)return Q;ht=1,Q=o;function o(n,s,r){n instanceof RegExp&&(n=t(n,r)),s instanceof RegExp&&(s=t(s,r));var i=e(n,s,r);return i&&{start:i[0],end:i[1],pre:r.slice(0,i[0]),body:r.slice(i[0]+n.length,i[1]),post:r.slice(i[1]+s.length)}}function t(n,s){var r=s.match(n);return r?r[0]:null}o.range=e;function e(n,s,r){var i,h,a,l,p,f=r.indexOf(n),g=r.indexOf(s,f+1),b=f;if(f>=0&&g>0){if(n===s)return[f,g];for(i=[],a=r.length;b>=0&&!p;)b==f?(i.push(b),f=r.indexOf(n,b+1)):i.length==1?p=[i.pop(),g]:(h=i.pop(),h=0?f:g;i.length&&(p=[a,l])}return p}return Q}var Y,at;function Tt(){if(at)return Y;at=1;var o=Nt();Y=g;var t="\0SLASH"+Math.random()+"\0",e="\0OPEN"+Math.random()+"\0",n="\0CLOSE"+Math.random()+"\0",s="\0COMMA"+Math.random()+"\0",r="\0PERIOD"+Math.random()+"\0",i=1e5,h=4e6;function a(u){return parseInt(u,10)==u?parseInt(u,10):u.charCodeAt(0)}function l(u){return u.split("\\\\").join(t).split("\\{").join(e).split("\\}").join(n).split("\\,").join(s).split("\\.").join(r)}function p(u){return u.split(t).join("\\").split(e).join("{").split(n).join("}").split(s).join(",").split(r).join(".")}function f(u){if(!u)return[""];var c=[],d=o("{","}",u);if(!d)return u.split(",");var m=d.pre,y=d.body,j=d.post,x=m.split(",");x[x.length-1]+="{"+y+"}";var A=f(j);return j.length&&(x[x.length-1]+=A.shift(),x.push.apply(x,A)),c.push.apply(c,x),c}function g(u,c){if(!u)return[];c=c||{};var d=c.max==null?i:c.max,m=c.maxLength==null?h:c.maxLength;return u.substr(0,2)==="{}"&&(u="\\{\\}"+u.substr(2)),k(l(u),d,m,!0).map(p)}function b(u){return"{"+u+"}"}function w(u){return/^-?0\d/.test(u)}function v(u,c){return u<=c}function E(u,c){return u>=c}function O(u,c,d,m,y,j){for(var x=[],A=0,P=0;P=m)return x;var C=u[P]+c+d[W];if(!(j&&!C)){if(A+C.length>y)return x;x.push(C),A+=C.length}}return x}function S(u,c,d,m){var y=u.split(/\.\./),j=[];if(y[0]===void 0||y[1]===void 0)return j;var x=a(y[0]),A=a(y[1]),P=Math.max(y[0].length,y[1].length),W=y.length===3&&y[2]!==void 0?Math.max(Math.abs(a(y[2])),1):1,C=v,z=A0){var Z=new Array(D+1).join("0");G<0?R="-"+Z+R.slice(1):R=Z+R}}if(I+R.length>m)break;j.push(R),I+=R.length}return j}function k(u,c,d,m){for(var y=[""],j=!1,x=!0;;){const M=o("{","}",u);if(!M)return O(y,u,[""],c,d,j);const q=M.pre;if(/\$$/.test(q)){if(y=O(y,q+"{"+M.body+"}",[""],c,d,j&&!M.post.length),x=!1,!M.post.length)break;u=M.post;continue}var A=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(M.body),P=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(M.body),W=A||P,C=M.body.indexOf(",")>=0;if(!W&&!C){if(M.post.match(/,(?!,).*\}/)){u=M.pre+"{"+M.body+n+M.post,m=!0;continue}return O(y,q+"{"+M.body+"}"+M.post,[""],c,d,j)}x&&(j=m&&!W,x=!1);var z;if(W)z=S(M.body,P,c,d);else{var _=f(M.body);if(_.length===1&&_[0]!==void 0&&(_=k(_[0],c,d,!1).map(b),_.length===1)){if(y=O(y,q+_[0],[""],c,d,j&&!M.post.length),!M.post.length)break;u=M.post;continue}for(var I=j&&!M.post.length&&!q,G=0;I&&G=c||R+F.length>d)break t;z.push(F),R+=F.length}}}if(y=O(y,q,z,c,d,j&&!M.post.length),!M.post.length)break;u=M.post}return y}return Y}var _t=Tt();const Lt=wt(_t),kt=1024*64,U=o=>{if(typeof o!="string")throw new TypeError("invalid pattern");if(o.length>kt)throw new TypeError("pattern is too long")},Ct={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},B=o=>o.replace(/[[\]\\-]/g,"\\$&"),zt=o=>o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),lt=o=>o.join(""),It=(o,t)=>{const e=t;if(o.charAt(e)!=="[")throw new Error("not in a brace expression");const n=[],s=[];let r=e+1,i=!1,h=!1,a=!1,l=!1,p=e,f="";t:for(;rf?n.push(B(f)+"-"+B(w)):w===f&&n.push(B(w)),f="",r++;continue}if(o.startsWith("-]",r+1)){n.push(B(w+"-")),r+=2;continue}if(o.startsWith("-",r+1)){f=w,r+=2;continue}n.push(B(w)),r++}if(pt?o.replace(/\[([^\/\\])\]/g,"$1"):o.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var T;const Gt=new Set(["!","?","+","*","@"]),st=o=>Gt.has(o),ut=o=>st(o.type),Dt=new Map([["!",["@"]],["?",["?","@"]],["@",["@"]],["*",["*","+","?","@"]],["+",["+","@"]]]),qt=new Map([["!",["?"]],["@",["?"]],["+",["?","*"]]]),Zt=new Map([["!",["?","@"]],["?",["?","@"]],["@",["?","@"]],["*",["*","+","?","@"]],["+",["+","@","?","*"]]]),ct=new Map([["!",new Map([["!","@"]])],["?",new Map([["*","*"],["+","*"]])],["@",new Map([["!","!"],["?","?"],["@","@"],["*","*"],["+","+"]])],["+",new Map([["?","*"],["*","*"]])]]),Bt="(?!(?:^|/)\\.\\.?(?:$|/))",J="(?!\\.)",Ht=new Set(["[","."]),Ft=new Set(["..","."]),Jt=new Set("().*{}+?[]^$\\!"),Xt=o=>o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),rt="[^/]",pt=rt+"*?",ft=rt+"+?";class it{type;#n;#s;#r=!1;#t=[];#e;#h;#l;#a=!1;#i;#o;#u=!1;constructor(t,e,n={}){this.type=t,t&&(this.#s=!0),this.#e=e,this.#n=this.#e?this.#e.#n:this,this.#i=this.#n===this?n:this.#n.#i,this.#l=this.#n===this?[]:this.#n.#l,t==="!"&&!this.#n.#a&&this.#l.push(this),this.#h=this.#e?this.#e.#t.length:0}get hasMagic(){if(this.#s!==void 0)return this.#s;for(const t of this.#t)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#s=!0;return this.#s}toString(){return this.#o!==void 0?this.#o:this.type?this.#o=this.type+"("+this.#t.map(t=>String(t)).join("|")+")":this.#o=this.#t.map(t=>String(t)).join("")}#y(){if(this!==this.#n)throw new Error("should only call on root");if(this.#a)return this;this.toString(),this.#a=!0;let t;for(;t=this.#l.pop();){if(t.type!=="!")continue;let e=t,n=e.#e;for(;n;){for(let s=e.#h+1;!n.type&&stypeof e=="string"?e:e.toJSON()):[this.type,...this.#t.map(e=>e.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#n||this.#n.#a&&this.#e?.type==="!")&&t.push({}),t}isStart(){if(this.#n===this)return!0;if(!this.#e?.isStart())return!1;if(this.#h===0)return!0;const t=this.#e;for(let e=0;e{const[b,w,v,E]=typeof g=="string"?T.#O(g,this.#s,a):g.toRegExpSource(t);return this.#s=this.#s||v,this.#r=this.#r||E,b}).join("");let p="";if(this.isStart()&&typeof this.#t[0]=="string"&&!(this.#t.length===1&&Ft.has(this.#t[0]))){const g=Ht,b=e&&g.has(l.charAt(0))||l.startsWith("\\.")&&g.has(l.charAt(2))||l.startsWith("\\.\\.")&&g.has(l.charAt(4)),w=!e&&!t&&g.has(l.charAt(0));p=b?Bt:w?J:""}let f="";return this.isEnd()&&this.#n.#a&&this.#e?.type==="!"&&(f="(?:$|\\/)"),[p+l+f,H(l),this.#s=!!this.#s,this.#r]}const n=this.type==="*"||this.type==="+",s=this.type==="!"?"(?:(?!(?:":"(?:";let r=this.#m(e);if(this.isStart()&&this.isEnd()&&!r&&this.type!=="!"){const a=this.toString(),l=this;return l.#t=[a],l.type=null,l.#s=void 0,[a,H(this.toString()),!1,!1]}let i=!n||t||e||!J?"":this.#m(!0);i===r&&(i=""),i&&(r=`(?:${r})(?:${i})*?`);let h="";if(this.type==="!"&&this.#u)h=(this.isStart()&&!e?J:"")+ft;else{const a=this.type==="!"?"))"+(this.isStart()&&!e&&!t?J:"")+pt+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&i?")":this.type==="*"&&i?")?":`)${this.type}`;h=s+r+a}return[h,H(r),this.#s=!!this.#s,this.#r]}#m(t){return this.#t.map(e=>{if(typeof e=="string")throw new Error("string type in extglob ast??");const[n,s,r,i]=e.toRegExpSource(t);return this.#r=this.#r||i,n}).filter(e=>!(this.isStart()&&this.isEnd())||!!e).join("|")}static#O(t,e,n=!1){let s=!1,r="",i=!1,h=!1;for(let a=0;at?o.replace(/[?*()[\]]/g,"[$&]"):o.replace(/[?*()[\]\\]/g,"\\$&");var tt={};const N=(o,t,e={})=>(U(t),!e.nocomment&&t.charAt(0)==="#"?!1:new V(t,e).match(o)),Vt=/^\*+([^+@!?\*\[\(]*)$/,Kt=o=>t=>!t.startsWith(".")&&t.endsWith(o),Qt=o=>t=>t.endsWith(o),Yt=o=>(o=o.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(o)),te=o=>(o=o.toLowerCase(),t=>t.toLowerCase().endsWith(o)),ee=/^\*+\.\*+$/,ne=o=>!o.startsWith(".")&&o.includes("."),se=o=>o!=="."&&o!==".."&&o.includes("."),re=/^\.\*+$/,ie=o=>o!=="."&&o!==".."&&o.startsWith("."),oe=/^\*+$/,he=o=>o.length!==0&&!o.startsWith("."),ae=o=>o.length!==0&&o!=="."&&o!=="..",le=/^\?+([^+@!?\*\[\(]*)?$/,ue=([o,t=""])=>{const e=xt([o]);return t?(t=t.toLowerCase(),n=>e(n)&&n.toLowerCase().endsWith(t)):e},ce=([o,t=""])=>{const e=jt([o]);return t?(t=t.toLowerCase(),n=>e(n)&&n.toLowerCase().endsWith(t)):e},pe=([o,t=""])=>{const e=jt([o]);return t?n=>e(n)&&n.endsWith(t):e},fe=([o,t=""])=>{const e=xt([o]);return t?n=>e(n)&&n.endsWith(t):e},xt=([o])=>{const t=o.length;return e=>e.length===t&&!e.startsWith(".")},jt=([o])=>{const t=o.length;return e=>e.length===t&&e!=="."&&e!==".."},Ot=typeof X=="object"&&X?typeof tt=="object"&&tt&&tt.__MINIMATCH_TESTING_PLATFORM__||X.platform:"posix",gt={win32:{sep:"\\"},posix:{sep:"/"}},ge=Ot==="win32"?gt.win32.sep:gt.posix.sep;N.sep=ge;const $=Symbol("globstar **");N.GLOBSTAR=$;const de="[^/]",me=de+"*?",ye="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",be="(?:(?!(?:\\/|^)\\.).)*?",we=(o,t={})=>e=>N(e,o,t);N.filter=we;const L=(o,t={})=>Object.assign({},o,t),ve=o=>{if(!o||typeof o!="object"||!Object.keys(o).length)return N;const t=N;return Object.assign((e,n,s={})=>t(e,n,L(o,s)),{Minimatch:class extends t.Minimatch{constructor(e,n={}){super(e,L(o,n))}static defaults(e){return t.defaults(L(o,e)).Minimatch}},AST:class extends t.AST{constructor(e,n,s={}){super(e,n,L(o,s))}static fromGlob(e,n={}){return t.AST.fromGlob(e,L(o,n))}},unescape:(e,n={})=>t.unescape(e,L(o,n)),escape:(e,n={})=>t.escape(e,L(o,n)),filter:(e,n={})=>t.filter(e,L(o,n)),defaults:e=>t.defaults(L(o,e)),makeRe:(e,n={})=>t.makeRe(e,L(o,n)),braceExpand:(e,n={})=>t.braceExpand(e,L(o,n)),match:(e,n,s={})=>t.match(e,n,L(o,s)),sep:t.sep,GLOBSTAR:$})};N.defaults=ve;const St=(o,t={})=>(U(o),t.nobrace||!/\{(?:(?!\{).)*\}/.test(o)?[o]:Lt(o));N.braceExpand=St;const xe=(o,t={})=>new V(o,t).makeRe();N.makeRe=xe;const je=(o,t,e={})=>{const n=new V(t,e);return o=o.filter(s=>n.match(s)),n.options.nonull&&!o.length&&o.push(t),o};N.match=je;const dt=/[?*]|[+@!]\(.*?\)|\[|\]/,Oe=o=>o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class V{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;maxGlobstarRecursion;regexp;constructor(t,e={}){U(t),e=e||{},this.options=e,this.maxGlobstarRecursion=e.maxGlobstarRecursion??200,this.pattern=t,this.platform=e.platform||Ot,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||e.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=e.windowsNoMagicRoot!==void 0?e.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if(typeof e!="string")return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...r)=>console.error(...r)),this.debug(this.pattern,this.globSet);const n=this.globSet.map(r=>this.slashSplit(r));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let s=this.globParts.map((r,i,h)=>{if(this.isWindows&&this.windowsNoMagicRoot){const a=r[0]===""&&r[1]===""&&(r[2]==="?"||!dt.test(r[2]))&&!dt.test(r[3]),l=/^[a-z]:/i.test(r[0]);if(a)return[...r.slice(0,4),...r.slice(4).map(p=>this.parse(p))];if(l)return[r[0],...r.slice(1).map(p=>this.parse(p))]}return r.map(a=>this.parse(a))});if(this.debug(this.pattern,s),this.set=s.filter(r=>r.indexOf(!1)===-1),this.isWindows)for(let r=0;r=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):e>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(e=>{let n=-1;for(;(n=e.indexOf("**",n+1))!==-1;){let s=n;for(;e[s+1]==="**";)s++;s!==n&&e.splice(n,s-n)}return e})}levelOneOptimize(t){return t.map(e=>(e=e.reduce((n,s)=>{const r=n[n.length-1];return s==="**"&&r==="**"?n:s===".."&&r&&r!==".."&&r!=="."&&r!=="**"?(n.pop(),n):(n.push(s),n)},[]),e.length===0?[""]:e))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let s=1;ss&&n.splice(s+1,i-s);let h=n[s+1];const a=n[s+2],l=n[s+3];if(h!==".."||!a||a==="."||a===".."||!l||l==="."||l==="..")continue;e=!0,n.splice(s,1);const p=n.slice(0);p[s]="**",t.push(p),s--}if(!this.preserveMultipleSlashes){for(let i=1;ie.length)}partsMatch(t,e,n=!1){let s=0,r=0,i=[],h="";for(;s=2&&(t=this.levelTwoFileOptimize(t)),e.includes($)?this.#n(t,e,n,s,r):this.#r(t,e,n,s,r)}#n(t,e,n,s,r){const i=e.indexOf($,r),h=e.lastIndexOf($),[a,l,p]=n?[e.slice(r,i),e.slice(i+1),[]]:[e.slice(r,i),e.slice(i+1,h),e.slice(h+1)];if(a.length){const S=t.slice(s,s+a.length);if(!this.#r(S,a,n,0,0))return!1;s+=a.length}let f=0;if(p.length){if(p.length+s>t.length)return!1;let S=t.length-p.length;if(this.#r(t,p,n,S,0))f=p.length;else{if(t[t.length-1]!==""||s+p.length===t.length||(S--,!this.#r(t,p,n,S,0)))return!1;f=p.length+1}}if(!l.length){let S=!!f;for(let k=s;k{const l=a.map(p=>{if(p instanceof RegExp)for(const f of p.flags.split(""))s.add(f);return typeof p=="string"?Oe(p):p===$?$:p._src});return l.forEach((p,f)=>{const g=l[f+1],b=l[f-1];p!==$||b===$||(b===void 0?g!==void 0&&g!==$?l[f+1]="(?:\\/|"+n+"\\/)?"+g:l[f]=n:g===void 0?l[f-1]=b+"(?:\\/|"+n+")?":g!==$&&(l[f-1]=b+"(?:\\/|\\/"+n+"\\/)"+g,l[f+1]=$))}),l.filter(p=>p!==$).join("/")}).join("|");const[i,h]=t.length>1?["(?:",")"]:["",""];r="^"+i+r+h+"$",this.negate&&(r="^(?!"+r+").+$");try{this.regexp=new RegExp(r,[...s].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const s=this.slashSplit(t);this.debug(this.pattern,"split",s);const r=this.set;this.debug(this.pattern,"set",r);let i=s[s.length-1];if(!i)for(let h=s.length-2;!i&&h>=0;h--)i=s[h];for(let h=0;h{t[n]=e}),t}function Ee(o,t,e=!1){return e?{data:t,headers:o.headers?Se(o.headers):{},status:o.status,statusText:o.statusText}:t}var et,mt;function Me(){if(mt)return et;mt=1;var o=Wt(),t=function(i){return typeof i=="string"};function e(i,h){for(var a=[],l=0;l=-1&&!h;a--){var l=a>=0?arguments[a]:X.cwd();if(t(l)){if(!l)continue}else throw new TypeError("Arguments to path.resolve must be strings");i=l+"/"+i,h=l.charAt(0)==="/"}return i=e(i.split("/"),!h).join("/"),(h?"/":"")+i||"."},s.normalize=function(i){var h=s.isAbsolute(i),a=i.substr(-1)==="/";return i=e(i.split("/"),!h).join("/"),!i&&!h&&(i="."),i&&a&&(i+="/"),(h?"/":"")+i},s.isAbsolute=function(i){return i.charAt(0)==="/"},s.join=function(){for(var i="",h=0;h=0&&v[O]==="";O--);return E>O?[]:v.slice(E,O+1)}for(var l=a(i.split("/")),p=a(h.split("/")),f=Math.min(l.length,p.length),g=f,b=0;b"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function a(u){return Function.toString.call(u).indexOf("[native code]")!==-1}function l(u,c){return l=Object.setPrototypeOf||function(d,m){return d.__proto__=m,d},l(u,c)}function p(u){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(c){return c.__proto__||Object.getPrototypeOf(c)},p(u)}var f="+",g=".",b=(function(u){s(c,u);function c(d){var m;return t(this,c),m=e(this,p(c).call(this,d)),m.name="ObjectPrototypeMutationError",m}return c})(r(Error));nt={set:E,get:w,has:v,hasOwn:function(u,c,d){return this.has(u,c,d||{own:!0})},isIn:O,ObjectPrototypeMutationError:b};function w(u,c){if(o(u)!="object"||u===null||typeof c>"u")return u;if(typeof c=="number")return u[c];try{return S(u,c,function(d,m){return d[m]})}catch{return u}}function v(u,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(o(u)!="object"||u===null||typeof c>"u")return!1;if(typeof c=="number")return c in u;try{var m=!1;return S(u,c,function(y,j,x,A){if(k(x,A))d.own?m=y.hasOwnProperty(j):m=j in y;else return y&&y[j]}),m}catch{return!1}}function E(u,c,d){if(o(u)!="object"||u===null||typeof c>"u")return u;if(typeof c=="number")return u[c]=d,u[c];try{return S(u,c,function(m,y,j,x){if(m===Reflect.getPrototypeOf({}))throw new b("Attempting to mutate Object.prototype");if(!m[y]){var A=Number.isInteger(Number(j[x+1])),P=j[x+1]===f;A||P?m[y]=[]:m[y]={}}return k(j,x)&&(m[y]=d),m[y]})}catch(m){if(m instanceof b)throw m;return u}}function O(u,c,d){var m=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(o(u)!="object"||u===null||typeof c>"u")return!1;try{var y=!1,j=!1;return S(u,c,function(x,A,P,W){return y=y||x===d||!!x&&x[A]===d,j=k(P,W)&&o(x)==="object"&&A in x,x&&x[A]}),m.validPath?y&&j:y}catch{return!1}}function S(u,c){for(var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},m=c.split(g),y=m.length,j=function(P){var W=m[P];if(!u)return{v:void 0};if(W===f){if(Array.isArray(u))return{v:u.map(function(z,_){var I=m.slice(P+1);return I.length>0?S(z,I.join(g),d):d(u,_,m,P)})};var C=m.slice(0,P).join(g);throw new Error("Object at wildcard (".concat(C,") is not an array"))}else u=d(u,W,m,P)},x=0;x${e.datetime.toISOString()}`:"",r=await vt.customRequest(n,{method:"REPORT",data:` ${e.limit??Re} ${e.offset||0} ${s} - `,...e}),i=await r.text(),h=await Mt(i),a=Ne(h,!0);return Ee(r,a,!0)}function Ne(o,t=!1){const{multistatus:{response:e}}=o;return e.map(n=>{const s=n.propstat.prop;return $e(s,s.id.toString(),t)})}export{Re as D,Rt as a,vt as c,Le as g}; -//# sourceMappingURL=GetComments-Bnfad0N4.chunk.mjs.map + `,...e}),i=await r.text(),h=await Mt(i),a=Ne(h,!0);return Ee(r,a,!0)}function Ne(o,t=!1){const{multistatus:{response:e}}=o;return e.map(n=>{const s=n.propstat.prop;return We(s,s.id.toString(),t)})}export{Re as D,Rt as a,vt as c,ke as g}; +//# sourceMappingURL=GetComments-BU90Le50.chunk.mjs.map diff --git a/dist/GetComments-Bnfad0N4.chunk.mjs.license b/dist/GetComments-BU90Le50.chunk.mjs.license similarity index 97% rename from dist/GetComments-Bnfad0N4.chunk.mjs.license rename to dist/GetComments-BU90Le50.chunk.mjs.license index 67d165a63f364..da3d7800cd468 100644 --- a/dist/GetComments-Bnfad0N4.chunk.mjs.license +++ b/dist/GetComments-BU90Le50.chunk.mjs.license @@ -28,5 +28,5 @@ This file is generated from multiple sources. Included packages: - version: 1.0.0 - license: ISC - webdav - - version: 5.10.0 + - version: 5.11.0 - license: MIT diff --git a/dist/GetComments-BU90Le50.chunk.mjs.map b/dist/GetComments-BU90Le50.chunk.mjs.map new file mode 100644 index 0000000000000..989e87f229475 --- /dev/null +++ b/dist/GetComments-BU90Le50.chunk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"GetComments-BU90Le50.chunk.mjs","sources":["../build/frontend/apps/comments/src/utils/davUtils.ts","../build/frontend/apps/comments/src/services/DavClient.ts","../node_modules/balanced-match/index.js","../node_modules/webdav/node_modules/brace-expansion/index.js","../node_modules/webdav/node_modules/minimatch/dist/esm/assert-valid-pattern.js","../node_modules/webdav/node_modules/minimatch/dist/esm/brace-expressions.js","../node_modules/webdav/node_modules/minimatch/dist/esm/unescape.js","../node_modules/webdav/node_modules/minimatch/dist/esm/ast.js","../node_modules/webdav/node_modules/minimatch/dist/esm/escape.js","../node_modules/webdav/node_modules/minimatch/dist/esm/index.js","../node_modules/webdav/dist/node/tools/headers.js","../node_modules/webdav/dist/node/response.js","../node_modules/path-posix/index.js","../node_modules/nested-property/dist/nested-property.js","../node_modules/webdav/dist/node/tools/dav.js","../build/frontend/apps/comments/src/services/GetComments.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\n/**\n *\n */\nfunction getRootPath() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.ts'\n\n// init webdav client\nconst client = createClient(getRootPath())\n\n// set CSRF token header\n/**\n * @param token\n */\nfunction setHeaders(token) {\n\tclient.setHeaders({\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: token ?? '',\n\t})\n}\n\n// refresh headers when request token changes\nonRequestTokenUpdate(setHeaders)\nsetHeaders(getRequestToken())\n\nexport default client\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nvar EXPANSION_MAX = 100000\n\n// `EXPANSION_MAX` caps the *number* of expansions, but not their length. An\n// input like `'{a,b}'.repeat(1500)` stays under that count - its output is\n// truncated to 100k results - while making every result ~1500 characters\n// long. The result set, and the intermediate arrays built while combining\n// brace sets, then grow large enough to exhaust memory and crash the process\n// (CVE-2026-14257). `EXPANSION_MAX_LENGTH` bounds the total number of\n// characters the accumulator may hold at any point, so memory stays flat no\n// matter how many brace groups are chained. The limit sits well above any\n// realistic expansion (100k results hitting `EXPANSION_MAX` measure ~1M\n// characters) so legitimate input is unaffected.\nvar EXPANSION_MAX_LENGTH = 4000000\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str, options) {\n if (!str)\n return [];\n\n options = options || {};\n var max = options.max == null ? EXPANSION_MAX : options.max;\n var maxLength = options.maxLength == null ? EXPANSION_MAX_LENGTH : options.maxLength;\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), max, maxLength, true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\n// Build `{ acc[a] + pre + values[v] }` for every combination, capping the\n// number of results at `max` and the total number of characters at `maxLength`.\n// This is the one place output grows, so bounding it here keeps the single\n// accumulator - and therefore memory - flat regardless of how many brace groups\n// are combined (CVE-2026-14257).\nfunction combine(\n acc,\n pre,\n values,\n max,\n maxLength,\n dropEmpties\n) {\n var out = []\n var length = 0\n for (var a = 0; a < acc.length; a++) {\n for (var v = 0; v < values.length; v++) {\n if (out.length >= max) return out\n var expansion = acc[a] + pre + values[v]\n // Bash drops empty results at the top level. Skip them before they count\n // against `max`, so `max` bounds the number of *kept* results.\n if (dropEmpties && !expansion) continue\n if (length + expansion.length > maxLength) return out\n out.push(expansion)\n length += expansion.length\n }\n }\n return out\n}\n\n// The expansion values of a single numeric (`1..5`) or alphabetic (`a..e..2`)\n// sequence body.\nfunction expandSequence(\n body,\n isAlphaSequence,\n max,\n maxLength\n) {\n var n = body.split(/\\.\\./)\n var N = []\n // A sequence body always splits into two or three parts, but the compiler\n // can't know that.\n /* c8 ignore start */\n if (n[0] === undefined || n[1] === undefined) {\n return N\n }\n /* c8 ignore stop */\n var x = numeric(n[0])\n var y = numeric(n[1])\n var width = Math.max(n[0].length, n[1].length)\n var incr =\n n.length === 3 && n[2] !== undefined ?\n Math.max(Math.abs(numeric(n[2])), 1)\n : 1\n var test = lte\n var reverse = y < x\n if (reverse) {\n incr *= -1\n test = gte\n }\n var pad = n.some(isPadded)\n\n var length = 0\n for (var i = x; test(i, y) && N.length < max; i += incr) {\n var c\n if (isAlphaSequence) {\n c = String.fromCharCode(i)\n if (c === '\\\\') {\n c = ''\n }\n } else {\n c = String(i)\n if (pad) {\n var need = width - c.length\n if (need > 0) {\n var z = new Array(need + 1).join('0')\n if (i < 0) {\n c = '-' + z + c.slice(1)\n } else {\n c = z + c\n }\n }\n }\n }\n if (length + c.length > maxLength) break\n N.push(c)\n length += c.length\n }\n return N\n}\n\nfunction expand(\n str,\n max,\n maxLength,\n isTop\n) {\n // Consume the string's top-level brace groups left to right, threading a\n // running set of combined prefixes (`acc`). Expanding the tail iteratively -\n // rather than recursing on `m.post` once per group - keeps the native stack\n // depth constant, so deeply chained input (`'{a,b}'.repeat(3000)`) can no\n // longer overflow the stack, and leaves a single accumulator whose size\n // `maxLength` bounds directly (CVE-2026-14257).\n var acc = ['']\n\n // Bash drops empty results, but only when the *first* top-level group is a\n // comma set - a sequence like `{a..\\}` may legitimately yield ''. The drop\n // is on the final strings, so it is applied to whichever `combine` produces\n // them (the one with no brace set left in the tail).\n var dropEmpties = false\n var firstGroup = true\n\n for (;;) {\n const m = balanced('{', '}', str)\n\n // No brace set left: the rest of the string is literal.\n if (!m) {\n return combine(acc, str, [''], max, maxLength, dropEmpties)\n }\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n const pre = m.pre\n\n if (/\\$$/.test(pre)) {\n acc = combine(\n acc,\n pre + '{' + m.body + '}',\n [''],\n max,\n maxLength,\n dropEmpties && !m.post.length\n )\n firstGroup = false\n if (!m.post.length) break\n str = m.post\n continue\n }\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,(?!,).*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n isTop = true;\n continue;\n }\n // Nothing here expands, so the whole remaining string is literal.\n return combine(\n acc,\n pre + '{' + m.body + '}' + m.post,\n [''],\n max,\n maxLength,\n dropEmpties\n )\n }\n\n if (firstGroup) {\n dropEmpties = isTop && !isSequence\n firstGroup = false\n }\n\n var values;\n if (isSequence) {\n values = expandSequence(m.body, isAlphaSequence, max, maxLength);\n } else {\n var n = parseCommaParts(m.body);\n if (n.length === 1 && n[0] !== undefined) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], max, maxLength, false).map(embrace);\n //XXX is this necessary? Can't seem to hit it in tests.\n /* c8 ignore start */\n if (n.length === 1) {\n acc = combine(\n acc,\n pre + n[0],\n [''],\n max,\n maxLength,\n dropEmpties && !m.post.length\n )\n if (!m.post.length) break\n str = m.post\n continue\n }\n /* c8 ignore stop */\n }\n\n // Values that `combine` is going to drop as empty produce no result, so\n // they must not count against `max` - otherwise `{a,,b}` with `max: 2`\n // would stop at `['a', '']` and yield one result instead of two. Skipping\n // them outright keeps `values` bounded while leaving `max` a bound on\n // *kept* results.\n var dropsEmpties = dropEmpties && !m.post.length && !pre\n for (var d = 0; dropsEmpties && d < acc.length; d++) {\n if (acc[d]) {\n dropsEmpties = false\n }\n }\n\n values = []\n var valuesLength = 0\n outer: for (var j = 0; j < n.length; j++) {\n var expanded = expand(n[j], max, maxLength, false)\n for (var k = 0; k < expanded.length; k++) {\n var v = expanded[k]\n if (dropsEmpties && !v) continue\n if (values.length >= max || valuesLength + v.length > maxLength) {\n break outer\n }\n values.push(v)\n valuesLength += v.length\n }\n }\n }\n\n acc = combine(acc, pre, values, max, maxLength, dropEmpties && !m.post.length)\n if (!m.post.length) break\n str = m.post\n }\n\n return acc\n}\n","const MAX_PATTERN_LENGTH = 1024 * 64;\nexport const assertValidPattern = (pattern) => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern');\n }\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long');\n }\n};\n//# sourceMappingURL=assert-valid-pattern.js.map","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n '[:cntrl:]': ['\\\\p{Cc}', true],\n '[:digit:]': ['\\\\p{Nd}', true],\n '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n '[:lower:]': ['\\\\p{Ll}', true],\n '[:print:]': ['\\\\p{C}', true],\n '[:punct:]': ['\\\\p{P}', true],\n '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n '[:upper:]': ['\\\\p{Lu}', true],\n '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n const pos = position;\n /* c8 ignore start */\n if (glob.charAt(pos) !== '[') {\n throw new Error('not in a brace expression');\n }\n /* c8 ignore stop */\n const ranges = [];\n const negs = [];\n let i = pos + 1;\n let sawStart = false;\n let uflag = false;\n let escaping = false;\n let negate = false;\n let endPos = pos;\n let rangeStart = '';\n WHILE: while (i < glob.length) {\n const c = glob.charAt(i);\n if ((c === '!' || c === '^') && i === pos + 1) {\n negate = true;\n i++;\n continue;\n }\n if (c === ']' && sawStart && !escaping) {\n endPos = i + 1;\n break;\n }\n sawStart = true;\n if (c === '\\\\') {\n if (!escaping) {\n escaping = true;\n i++;\n continue;\n }\n // escaped \\ char, fall through and treat like normal char\n }\n if (c === '[' && !escaping) {\n // either a posix class, a collation equivalent, or just a [\n for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n if (glob.startsWith(cls, i)) {\n // invalid, [a-[] is fine, but not [a-[:alpha]]\n if (rangeStart) {\n return ['$.', false, glob.length - pos, true];\n }\n i += cls.length;\n if (neg)\n negs.push(unip);\n else\n ranges.push(unip);\n uflag = uflag || u;\n continue WHILE;\n }\n }\n }\n // now it's just a normal character, effectively\n escaping = false;\n if (rangeStart) {\n // throw this range away if it's not valid, but others\n // can still match.\n if (c > rangeStart) {\n ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n }\n else if (c === rangeStart) {\n ranges.push(braceEscape(c));\n }\n rangeStart = '';\n i++;\n continue;\n }\n // now might be the start of a range.\n // can be either c-d or c-] or c] or c] at this point\n if (glob.startsWith('-]', i + 1)) {\n ranges.push(braceEscape(c + '-'));\n i += 2;\n continue;\n }\n if (glob.startsWith('-', i + 1)) {\n rangeStart = c;\n i += 2;\n continue;\n }\n // not the start of a range, just a single character\n ranges.push(braceEscape(c));\n i++;\n }\n if (endPos < i) {\n // didn't see the end of the class, not a valid class,\n // but might still be valid as a literal match.\n return ['', false, 0, false];\n }\n // if we got no ranges and no negates, then we have a range that\n // cannot possibly match anything, and that poisons the whole glob\n if (!ranges.length && !negs.length) {\n return ['$.', false, glob.length - pos, true];\n }\n // if we got one positive range, and it's a single character, then that's\n // not actually a magic pattern, it's just that one literal character.\n // we should not treat that as \"magic\", we should just return the literal\n // character. [_] is a perfectly valid way to escape glob magic chars.\n if (negs.length === 0 &&\n ranges.length === 1 &&\n /^\\\\?.$/.test(ranges[0]) &&\n !negate) {\n const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n return [regexpEscape(r), false, endPos - pos, false];\n }\n const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n const comb = ranges.length && negs.length\n ? '(' + sranges + '|' + snegs + ')'\n : ranges.length\n ? sranges\n : snegs;\n return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes. For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n return windowsPathsNoEscape\n ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","// parse a single path portion\nvar _a;\nimport { parseClass } from './brace-expressions.js';\nimport { unescape } from './unescape.js';\nconst types = new Set(['!', '?', '+', '*', '@']);\nconst isExtglobType = (c) => types.has(c);\nconst isExtglobAST = (c) => isExtglobType(c.type);\nconst adoptionMap = new Map([\n ['!', ['@']],\n ['?', ['?', '@']],\n ['@', ['@']],\n ['*', ['*', '+', '?', '@']],\n ['+', ['+', '@']],\n]);\nconst adoptionWithSpaceMap = new Map([\n ['!', ['?']],\n ['@', ['?']],\n ['+', ['?', '*']],\n]);\nconst adoptionAnyMap = new Map([\n ['!', ['?', '@']],\n ['?', ['?', '@']],\n ['@', ['?', '@']],\n ['*', ['*', '+', '?', '@']],\n ['+', ['+', '@', '?', '*']],\n]);\nconst usurpMap = new Map([\n ['!', new Map([['!', '@']])],\n ['?', new Map([['*', '*'], ['+', '*']])],\n ['@', new Map([['!', '!'], ['?', '?'], ['@', '@'], ['*', '*'], ['+', '+']])],\n ['+', new Map([['?', '*'], ['*', '*']])],\n]);\n// Patterns that get prepended to bind to the start of either the\n// entire string, or just a single path portion, to prevent dots\n// and/or traversal patterns, when needed.\n// Exts don't need the ^ or / bit, because the root binds that already.\nconst startNoTraversal = '(?!(?:^|/)\\\\.\\\\.?(?:$|/))';\nconst startNoDot = '(?!\\\\.)';\n// characters that indicate a start of pattern needs the \"no dots\" bit,\n// because a dot *might* be matched. ( is not in the list, because in\n// the case of a child extglob, it will handle the prevention itself.\nconst addPatternStart = new Set(['[', '.']);\n// cases where traversal is A-OK, no dot prevention needed\nconst justDots = new Set(['..', '.']);\nconst reSpecials = new Set('().*{}+?[]^$\\\\!');\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// any single thing other than /\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// use + when we need to ensure that *something* matches, because the * is\n// the only thing in the path portion.\nconst starNoEmpty = qmark + '+?';\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\nexport class AST {\n type;\n #root;\n #hasMagic;\n #uflag = false;\n #parts = [];\n #parent;\n #parentIndex;\n #negs;\n #filledNegs = false;\n #options;\n #toString;\n // set to true if it's an extglob with no children\n // (which really means one child of '')\n #emptyExt = false;\n constructor(type, parent, options = {}) {\n this.type = type;\n // extglobs are inherently magical\n if (type)\n this.#hasMagic = true;\n this.#parent = parent;\n this.#root = this.#parent ? this.#parent.#root : this;\n this.#options = this.#root === this ? options : this.#root.#options;\n this.#negs = this.#root === this ? [] : this.#root.#negs;\n if (type === '!' && !this.#root.#filledNegs)\n this.#negs.push(this);\n this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;\n }\n get hasMagic() {\n /* c8 ignore start */\n if (this.#hasMagic !== undefined)\n return this.#hasMagic;\n /* c8 ignore stop */\n for (const p of this.#parts) {\n if (typeof p === 'string')\n continue;\n if (p.type || p.hasMagic)\n return (this.#hasMagic = true);\n }\n // note: will be undefined until we generate the regexp src and find out\n return this.#hasMagic;\n }\n // reconstructs the pattern\n toString() {\n if (this.#toString !== undefined)\n return this.#toString;\n if (!this.type) {\n return (this.#toString = this.#parts.map(p => String(p)).join(''));\n }\n else {\n return (this.#toString =\n this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')');\n }\n }\n #fillNegs() {\n /* c8 ignore start */\n if (this !== this.#root)\n throw new Error('should only call on root');\n if (this.#filledNegs)\n return this;\n /* c8 ignore stop */\n // call toString() once to fill this out\n this.toString();\n this.#filledNegs = true;\n let n;\n while ((n = this.#negs.pop())) {\n if (n.type !== '!')\n continue;\n // walk up the tree, appending everthing that comes AFTER parentIndex\n let p = n;\n let pp = p.#parent;\n while (pp) {\n for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {\n for (const part of n.#parts) {\n /* c8 ignore start */\n if (typeof part === 'string') {\n throw new Error('string part in extglob AST??');\n }\n /* c8 ignore stop */\n part.copyIn(pp.#parts[i]);\n }\n }\n p = pp;\n pp = p.#parent;\n }\n }\n return this;\n }\n push(...parts) {\n for (const p of parts) {\n if (p === '')\n continue;\n /* c8 ignore start */\n if (typeof p !== 'string' && !(p instanceof _a && p.#parent === this)) {\n throw new Error('invalid part: ' + p);\n }\n /* c8 ignore stop */\n this.#parts.push(p);\n }\n }\n toJSON() {\n const ret = this.type === null\n ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n : [this.type, ...this.#parts.map(p => p.toJSON())];\n if (this.isStart() && !this.type)\n ret.unshift([]);\n if (this.isEnd() &&\n (this === this.#root ||\n (this.#root.#filledNegs && this.#parent?.type === '!'))) {\n ret.push({});\n }\n return ret;\n }\n isStart() {\n if (this.#root === this)\n return true;\n // if (this.type) return !!this.#parent?.isStart()\n if (!this.#parent?.isStart())\n return false;\n if (this.#parentIndex === 0)\n return true;\n // if everything AHEAD of this is a negation, then it's still the \"start\"\n const p = this.#parent;\n for (let i = 0; i < this.#parentIndex; i++) {\n const pp = p.#parts[i];\n if (!(pp instanceof _a && pp.type === '!')) {\n return false;\n }\n }\n return true;\n }\n isEnd() {\n if (this.#root === this)\n return true;\n if (this.#parent?.type === '!')\n return true;\n if (!this.#parent?.isEnd())\n return false;\n if (!this.type)\n return this.#parent?.isEnd();\n // if not root, it'll always have a parent\n /* c8 ignore start */\n const pl = this.#parent ? this.#parent.#parts.length : 0;\n /* c8 ignore stop */\n return this.#parentIndex === pl - 1;\n }\n copyIn(part) {\n if (typeof part === 'string')\n this.push(part);\n else\n this.push(part.clone(this));\n }\n clone(parent) {\n const c = new _a(this.type, parent);\n for (const p of this.#parts) {\n c.copyIn(p);\n }\n return c;\n }\n static #parseAST(str, ast, pos, opt, extDepth) {\n const maxDepth = opt.maxExtglobRecursion ?? 2;\n let escaping = false;\n let inBrace = false;\n let braceStart = -1;\n let braceNeg = false;\n if (ast.type === null) {\n // outside of a extglob, append until we find a start\n let i = pos;\n let acc = '';\n while (i < str.length) {\n const c = str.charAt(i++);\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping;\n acc += c;\n continue;\n }\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true;\n }\n }\n else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false;\n }\n acc += c;\n continue;\n }\n else if (c === '[') {\n inBrace = true;\n braceStart = i;\n braceNeg = false;\n acc += c;\n continue;\n }\n const doRecurse = !opt.noext &&\n isExtglobType(c) &&\n str.charAt(i) === '(' &&\n extDepth <= maxDepth;\n if (doRecurse) {\n ast.push(acc);\n acc = '';\n const ext = new _a(c, ast);\n i = _a.#parseAST(str, ext, i, opt, extDepth + 1);\n ast.push(ext);\n continue;\n }\n acc += c;\n }\n ast.push(acc);\n return i;\n }\n // some kind of extglob, pos is at the (\n // find the next | or )\n let i = pos + 1;\n let part = new _a(null, ast);\n const parts = [];\n let acc = '';\n while (i < str.length) {\n const c = str.charAt(i++);\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping;\n acc += c;\n continue;\n }\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true;\n }\n }\n else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false;\n }\n acc += c;\n continue;\n }\n else if (c === '[') {\n inBrace = true;\n braceStart = i;\n braceNeg = false;\n acc += c;\n continue;\n }\n const doRecurse = isExtglobType(c) &&\n str.charAt(i) === '(' &&\n /* c8 ignore start - the maxDepth is sufficient here */\n (extDepth <= maxDepth || (ast && ast.#canAdoptType(c)));\n /* c8 ignore stop */\n if (doRecurse) {\n const depthAdd = ast && ast.#canAdoptType(c) ? 0 : 1;\n part.push(acc);\n acc = '';\n const ext = new _a(c, part);\n part.push(ext);\n i = _a.#parseAST(str, ext, i, opt, extDepth + depthAdd);\n continue;\n }\n if (c === '|') {\n part.push(acc);\n acc = '';\n parts.push(part);\n part = new _a(null, ast);\n continue;\n }\n if (c === ')') {\n if (acc === '' && ast.#parts.length === 0) {\n ast.#emptyExt = true;\n }\n part.push(acc);\n acc = '';\n ast.push(...parts, part);\n return i;\n }\n acc += c;\n }\n // unfinished extglob\n // if we got here, it was a malformed extglob! not an extglob, but\n // maybe something else in there.\n ast.type = null;\n ast.#hasMagic = undefined;\n ast.#parts = [str.substring(pos - 1)];\n return i;\n }\n #canAdoptWithSpace(child) {\n return this.#canAdopt(child, adoptionWithSpaceMap);\n }\n #canAdopt(child, map = adoptionMap) {\n if (!child ||\n typeof child !== 'object' ||\n child.type !== null ||\n child.#parts.length !== 1 ||\n this.type === null) {\n return false;\n }\n const gc = child.#parts[0];\n if (!gc || typeof gc !== 'object' || gc.type === null) {\n return false;\n }\n return this.#canAdoptType(gc.type, map);\n }\n #canAdoptType(c, map = adoptionAnyMap) {\n return !!map.get(this.type)?.includes(c);\n }\n #adoptWithSpace(child, index) {\n const gc = child.#parts[0];\n const blank = new _a(null, gc, this.options);\n blank.#parts.push('');\n gc.push(blank);\n this.#adopt(child, index);\n }\n #adopt(child, index) {\n const gc = child.#parts[0];\n this.#parts.splice(index, 1, ...gc.#parts);\n for (const p of gc.#parts) {\n if (typeof p === 'object')\n p.#parent = this;\n }\n this.#toString = undefined;\n }\n #canUsurpType(c) {\n const m = usurpMap.get(this.type);\n return !!(m?.has(c));\n }\n #canUsurp(child) {\n if (!child ||\n typeof child !== 'object' ||\n child.type !== null ||\n child.#parts.length !== 1 ||\n this.type === null ||\n this.#parts.length !== 1) {\n return false;\n }\n const gc = child.#parts[0];\n if (!gc || typeof gc !== 'object' || gc.type === null) {\n return false;\n }\n return this.#canUsurpType(gc.type);\n }\n #usurp(child) {\n const m = usurpMap.get(this.type);\n const gc = child.#parts[0];\n const nt = m?.get(gc.type);\n /* c8 ignore start - impossible */\n if (!nt)\n return false;\n /* c8 ignore stop */\n this.#parts = gc.#parts;\n for (const p of this.#parts) {\n if (typeof p === 'object')\n p.#parent = this;\n }\n this.type = nt;\n this.#toString = undefined;\n this.#emptyExt = false;\n }\n #flatten() {\n if (!isExtglobAST(this)) {\n for (const p of this.#parts) {\n if (typeof p === 'object')\n p.#flatten();\n }\n }\n else {\n let iterations = 0;\n let done = false;\n do {\n done = true;\n for (let i = 0; i < this.#parts.length; i++) {\n const c = this.#parts[i];\n if (typeof c === 'object') {\n c.#flatten();\n if (this.#canAdopt(c)) {\n done = false;\n this.#adopt(c, i);\n }\n else if (this.#canAdoptWithSpace(c)) {\n done = false;\n this.#adoptWithSpace(c, i);\n }\n else if (this.#canUsurp(c)) {\n done = false;\n this.#usurp(c);\n }\n }\n }\n } while (!done && ++iterations < 10);\n }\n this.#toString = undefined;\n }\n static fromGlob(pattern, options = {}) {\n const ast = new _a(null, undefined, options);\n _a.#parseAST(pattern, ast, 0, options, 0);\n return ast;\n }\n // returns the regular expression if there's magic, or the unescaped\n // string if not.\n toMMPattern() {\n // should only be called on root\n /* c8 ignore start */\n if (this !== this.#root)\n return this.#root.toMMPattern();\n /* c8 ignore stop */\n const glob = this.toString();\n const [re, body, hasMagic, uflag] = this.toRegExpSource();\n // if we're in nocase mode, and not nocaseMagicOnly, then we do\n // still need a regular expression if we have to case-insensitively\n // match capital/lowercase characters.\n const anyMagic = hasMagic ||\n this.#hasMagic ||\n (this.#options.nocase &&\n !this.#options.nocaseMagicOnly &&\n glob.toUpperCase() !== glob.toLowerCase());\n if (!anyMagic) {\n return body;\n }\n const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n return Object.assign(new RegExp(`^${re}$`, flags), {\n _src: re,\n _glob: glob,\n });\n }\n get options() {\n return this.#options;\n }\n // returns the string match, the regexp source, whether there's magic\n // in the regexp (so a regular expression is required) and whether or\n // not the uflag is needed for the regular expression (for posix classes)\n // TODO: instead of injecting the start/end at this point, just return\n // the BODY of the regexp, along with the start/end portions suitable\n // for binding the start/end in either a joined full-path makeRe context\n // (where we bind to (^|/), or a standalone matchPart context (where\n // we bind to ^, and not /). Otherwise slashes get duped!\n //\n // In part-matching mode, the start is:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: ^(?!\\.\\.?$)\n // - if dots allowed or not possible: ^\n // - if dots possible and not allowed: ^(?!\\.)\n // end is:\n // - if not isEnd(): nothing\n // - else: $\n //\n // In full-path matching mode, we put the slash at the START of the\n // pattern, so start is:\n // - if first pattern: same as part-matching mode\n // - if not isStart(): nothing\n // - if traversal possible, but not allowed: /(?!\\.\\.?(?:$|/))\n // - if dots allowed or not possible: /\n // - if dots possible and not allowed: /(?!\\.)\n // end is:\n // - if last pattern, same as part-matching mode\n // - else nothing\n //\n // Always put the (?:$|/) on negated tails, though, because that has to be\n // there to bind the end of the negated pattern portion, and it's easier to\n // just stick it in now rather than try to inject it later in the middle of\n // the pattern.\n //\n // We can just always return the same end, and leave it up to the caller\n // to know whether it's going to be used joined or in parts.\n // And, if the start is adjusted slightly, can do the same there:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: (?:/|^)(?!\\.\\.?$)\n // - if dots allowed or not possible: (?:/|^)\n // - if dots possible and not allowed: (?:/|^)(?!\\.)\n //\n // But it's better to have a simpler binding without a conditional, for\n // performance, so probably better to return both start options.\n //\n // Then the caller just ignores the end if it's not the first pattern,\n // and the start always gets applied.\n //\n // But that's always going to be $ if it's the ending pattern, or nothing,\n // so the caller can just attach $ at the end of the pattern when building.\n //\n // So the todo is:\n // - better detect what kind of start is needed\n // - return both flavors of starting pattern\n // - attach $ at the end of the pattern when creating the actual RegExp\n //\n // Ah, but wait, no, that all only applies to the root when the first pattern\n // is not an extglob. If the first pattern IS an extglob, then we need all\n // that dot prevention biz to live in the extglob portions, because eg\n // +(*|.x*) can match .xy but not .yx.\n //\n // So, return the two flavors if it's #root and the first child is not an\n // AST, otherwise leave it to the child AST to handle it, and there,\n // use the (?:^|/) style of start binding.\n //\n // Even simplified further:\n // - Since the start for a join is eg /(?!\\.) and the start for a part\n // is ^(?!\\.), we can just prepend (?!\\.) to the pattern (either root\n // or start or whatever) and prepend ^ or / at the Regexp construction.\n toRegExpSource(allowDot) {\n const dot = allowDot ?? !!this.#options.dot;\n if (this.#root === this) {\n this.#flatten();\n this.#fillNegs();\n }\n if (!isExtglobAST(this)) {\n const noEmpty = this.isStart() && this.isEnd();\n const src = this.#parts\n .map(p => {\n const [re, _, hasMagic, uflag] = typeof p === 'string'\n ? _a.#parseGlob(p, this.#hasMagic, noEmpty)\n : p.toRegExpSource(allowDot);\n this.#hasMagic = this.#hasMagic || hasMagic;\n this.#uflag = this.#uflag || uflag;\n return re;\n })\n .join('');\n let start = '';\n if (this.isStart()) {\n if (typeof this.#parts[0] === 'string') {\n // this is the string that will match the start of the pattern,\n // so we need to protect against dots and such.\n // '.' and '..' cannot match unless the pattern is that exactly,\n // even if it starts with . or dot:true is set.\n const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);\n if (!dotTravAllowed) {\n const aps = addPatternStart;\n // check if we have a possibility of matching . or ..,\n // and prevent that.\n const needNoTrav = \n // dots are allowed, and the pattern starts with [ or .\n (dot && aps.has(src.charAt(0))) ||\n // the pattern starts with \\., and then [ or .\n (src.startsWith('\\\\.') && aps.has(src.charAt(2))) ||\n // the pattern starts with \\.\\., and then [ or .\n (src.startsWith('\\\\.\\\\.') && aps.has(src.charAt(4)));\n // no need to prevent dots if it can't match a dot, or if a\n // sub-pattern will be preventing it anyway.\n const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));\n start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : '';\n }\n }\n }\n // append the \"end of path portion\" pattern to negation tails\n let end = '';\n if (this.isEnd() &&\n this.#root.#filledNegs &&\n this.#parent?.type === '!') {\n end = '(?:$|\\\\/)';\n }\n const final = start + src + end;\n return [\n final,\n unescape(src),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ];\n }\n // We need to calculate the body *twice* if it's a repeat pattern\n // at the start, once in nodot mode, then again in dot mode, so a\n // pattern like *(?) can match 'x.y'\n const repeated = this.type === '*' || this.type === '+';\n // some kind of extglob\n const start = this.type === '!' ? '(?:(?!(?:' : '(?:';\n let body = this.#partsToRegExp(dot);\n if (this.isStart() && this.isEnd() && !body && this.type !== '!') {\n // invalid extglob, has to at least be *something* present, if it's\n // the entire path portion.\n const s = this.toString();\n const me = this;\n me.#parts = [s];\n me.type = null;\n me.#hasMagic = undefined;\n return [s, unescape(this.toString()), false, false];\n }\n // XXX abstract out this map method\n let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot\n ? ''\n : this.#partsToRegExp(true);\n if (bodyDotAllowed === body) {\n bodyDotAllowed = '';\n }\n if (bodyDotAllowed) {\n body = `(?:${body})(?:${bodyDotAllowed})*?`;\n }\n // an empty !() is exactly equivalent to a starNoEmpty\n let final = '';\n if (this.type === '!' && this.#emptyExt) {\n final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty;\n }\n else {\n const close = this.type === '!'\n ? // !() must match something,but !(x) can match ''\n '))' +\n (this.isStart() && !dot && !allowDot ? startNoDot : '') +\n star +\n ')'\n : this.type === '@'\n ? ')'\n : this.type === '?'\n ? ')?'\n : this.type === '+' && bodyDotAllowed\n ? ')'\n : this.type === '*' && bodyDotAllowed\n ? `)?`\n : `)${this.type}`;\n final = start + body + close;\n }\n return [\n final,\n unescape(body),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ];\n }\n #partsToRegExp(dot) {\n return this.#parts\n .map(p => {\n // extglob ASTs should only contain parent ASTs\n /* c8 ignore start */\n if (typeof p === 'string') {\n throw new Error('string type in extglob ast??');\n }\n /* c8 ignore stop */\n // can ignore hasMagic, because extglobs are already always magic\n const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot);\n this.#uflag = this.#uflag || uflag;\n return re;\n })\n .filter(p => !(this.isStart() && this.isEnd()) || !!p)\n .join('|');\n }\n static #parseGlob(glob, hasMagic, noEmpty = false) {\n let escaping = false;\n let re = '';\n let uflag = false;\n // multiple stars that aren't globstars coalesce into one *\n let inStar = false;\n for (let i = 0; i < glob.length; i++) {\n const c = glob.charAt(i);\n if (escaping) {\n escaping = false;\n re += (reSpecials.has(c) ? '\\\\' : '') + c;\n inStar = false;\n continue;\n }\n if (c === '\\\\') {\n if (i === glob.length - 1) {\n re += '\\\\\\\\';\n }\n else {\n escaping = true;\n }\n continue;\n }\n if (c === '[') {\n const [src, needUflag, consumed, magic] = parseClass(glob, i);\n if (consumed) {\n re += src;\n uflag = uflag || needUflag;\n i += consumed - 1;\n hasMagic = hasMagic || magic;\n inStar = false;\n continue;\n }\n }\n if (c === '*') {\n if (inStar)\n continue;\n inStar = true;\n re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;\n hasMagic = true;\n continue;\n }\n else {\n inStar = false;\n }\n if (c === '?') {\n re += qmark;\n hasMagic = true;\n continue;\n }\n re += regExpEscape(c);\n }\n return [re, unescape(glob), !!hasMagic, uflag];\n }\n}\n_a = AST;\n//# sourceMappingURL=ast.js.map","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character. In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n // don't need to escape +@! because we escape the parens\n // that make those magic, and escaping ! as [!] isn't valid,\n // because [!]] is a valid glob class meaning not ']'.\n return windowsPathsNoEscape\n ? s.replace(/[?*()[\\]]/g, '[$&]')\n : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","import expand from 'brace-expansion';\nimport { assertValidPattern } from './assert-valid-pattern.js';\nimport { AST } from './ast.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n assertValidPattern(pattern);\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false;\n }\n return new Minimatch(pattern, options).match(p);\n};\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n ext = ext.toLowerCase();\n return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n ext = ext.toLowerCase();\n return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix');\nconst path = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch;\n }\n const orig = minimatch;\n const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern, options = {}) {\n super(pattern, ext(def, options));\n }\n static defaults(options) {\n return orig.defaults(ext(def, options)).Minimatch;\n }\n },\n AST: class AST extends orig.AST {\n /* c8 ignore start */\n constructor(type, parent, options = {}) {\n super(type, parent, ext(def, options));\n }\n /* c8 ignore stop */\n static fromGlob(pattern, options = {}) {\n return orig.AST.fromGlob(pattern, ext(def, options));\n }\n },\n unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n defaults: (options) => orig.defaults(ext(def, options)),\n makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR,\n });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n assertValidPattern(pattern);\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern];\n }\n return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n const mm = new Minimatch(pattern, options);\n list = list.filter(f => mm.match(f));\n if (mm.options.nonull && !list.length) {\n list.push(pattern);\n }\n return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n options;\n set;\n pattern;\n windowsPathsNoEscape;\n nonegate;\n negate;\n comment;\n empty;\n preserveMultipleSlashes;\n partial;\n globSet;\n globParts;\n nocase;\n isWindows;\n platform;\n windowsNoMagicRoot;\n maxGlobstarRecursion;\n regexp;\n constructor(pattern, options = {}) {\n assertValidPattern(pattern);\n options = options || {};\n this.options = options;\n this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;\n this.pattern = pattern;\n this.platform = options.platform || defaultPlatform;\n this.isWindows = this.platform === 'win32';\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/');\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n this.regexp = null;\n this.negate = false;\n this.nonegate = !!options.nonegate;\n this.comment = false;\n this.empty = false;\n this.partial = !!options.partial;\n this.nocase = !!this.options.nocase;\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase);\n this.globSet = [];\n this.globParts = [];\n this.set = [];\n // make the set of regexps etc.\n this.make();\n }\n hasMagic() {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true;\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string')\n return true;\n }\n }\n return false;\n }\n debug(..._) { }\n make() {\n const pattern = this.pattern;\n const options = this.options;\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true;\n return;\n }\n if (!pattern) {\n this.empty = true;\n return;\n }\n // step 1: figure out negation, etc.\n this.parseNegate();\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())];\n if (options.debug) {\n this.debug = (...args) => console.error(...args);\n }\n this.debug(this.pattern, this.globSet);\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n this.globParts = this.preprocess(rawGlobParts);\n this.debug(this.pattern, this.globParts);\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC = s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3]);\n const isDrive = /^[a-z]:/i.test(s[0]);\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n }\n else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n }\n }\n return s.map(ss => this.parse(ss));\n });\n this.debug(this.pattern, set);\n // filter out everything that didn't compile properly.\n this.set = set.filter(s => s.indexOf(false) === -1);\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i];\n if (p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])) {\n p[2] = '?';\n }\n }\n }\n this.debug(this.pattern, this.set);\n }\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*';\n }\n }\n }\n }\n const { optimizationLevel = 1 } = this.options;\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts);\n globParts = this.secondPhasePreProcess(globParts);\n }\n else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts);\n }\n else {\n // just collapse multiple ** portions into one\n globParts = this.adjascentGlobstarOptimize(globParts);\n }\n return globParts;\n }\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts) {\n return globParts.map(parts => {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs;\n while (parts[i + 1] === '**') {\n i++;\n }\n if (i !== gs) {\n parts.splice(gs, i - gs);\n }\n }\n return parts;\n });\n }\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts) {\n return globParts.map(parts => {\n parts = parts.reduce((set, part) => {\n const prev = set[set.length - 1];\n if (part === '**' && prev === '**') {\n return set;\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop();\n return set;\n }\n }\n set.push(part);\n return set;\n }, []);\n return parts.length === 0 ? [''] : parts;\n });\n }\n levelTwoFileOptimize(parts) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts);\n }\n let didSomething = false;\n do {\n didSomething = false;\n //
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (matched) {\n                    globParts[i] = [];\n                    globParts[j] = matched;\n                    break;\n                }\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        let fileStartIndex = 0;\n        let patternStartIndex = 0;\n        // UNC paths like //?/X:/... can match X:/... and vice versa\n        // Drive letters in absolute drive or unc paths are always compared\n        // case-insensitively.\n        if (this.isWindows) {\n            const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);\n            const fileUNC = !fileDrive &&\n                file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);\n            const patternUNC = !patternDrive &&\n                pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined;\n            const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined;\n            if (typeof fdi === 'number' && typeof pdi === 'number') {\n                const [fd, pd] = [\n                    file[fdi],\n                    pattern[pdi],\n                ];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    pattern[pdi] = fd;\n                    patternStartIndex = pdi;\n                    fileStartIndex = fdi;\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        if (pattern.includes(GLOBSTAR)) {\n            return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);\n        }\n        return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);\n    }\n    #matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {\n        const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);\n        const lastgs = pattern.lastIndexOf(GLOBSTAR);\n        const [head, body, tail] = partial ? [\n            pattern.slice(patternIndex, firstgs),\n            pattern.slice(firstgs + 1),\n            [],\n        ] : [\n            pattern.slice(patternIndex, firstgs),\n            pattern.slice(firstgs + 1, lastgs),\n            pattern.slice(lastgs + 1),\n        ];\n        if (head.length) {\n            const fileHead = file.slice(fileIndex, fileIndex + head.length);\n            if (!this.#matchOne(fileHead, head, partial, 0, 0))\n                return false;\n            fileIndex += head.length;\n        }\n        let fileTailMatch = 0;\n        if (tail.length) {\n            if (tail.length + fileIndex > file.length)\n                return false;\n            let tailStart = file.length - tail.length;\n            if (this.#matchOne(file, tail, partial, tailStart, 0)) {\n                fileTailMatch = tail.length;\n            }\n            else {\n                if (file[file.length - 1] !== '' ||\n                    fileIndex + tail.length === file.length) {\n                    return false;\n                }\n                tailStart--;\n                if (!this.#matchOne(file, tail, partial, tailStart, 0))\n                    return false;\n                fileTailMatch = tail.length + 1;\n            }\n        }\n        if (!body.length) {\n            let sawSome = !!fileTailMatch;\n            for (let i = fileIndex; i < file.length - fileTailMatch; i++) {\n                const f = String(file[i]);\n                sawSome = true;\n                if (f === '.' || f === '..' ||\n                    (!this.options.dot && f.startsWith('.'))) {\n                    return false;\n                }\n            }\n            return partial || sawSome;\n        }\n        const bodySegments = [[[], 0]];\n        let currentBody = bodySegments[0];\n        let nonGsParts = 0;\n        const nonGsPartsSums = [0];\n        for (const b of body) {\n            if (b === GLOBSTAR) {\n                nonGsPartsSums.push(nonGsParts);\n                currentBody = [[], 0];\n                bodySegments.push(currentBody);\n            }\n            else {\n                currentBody[0].push(b);\n                nonGsParts++;\n            }\n        }\n        let i = bodySegments.length - 1;\n        const fileLength = file.length - fileTailMatch;\n        for (const b of bodySegments) {\n            b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);\n        }\n        return !!this.#matchGlobStarBodySections(file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);\n    }\n    #matchGlobStarBodySections(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {\n        const bs = bodySegments[bodyIndex];\n        if (!bs) {\n            for (let i = fileIndex; i < file.length; i++) {\n                sawTail = true;\n                const f = file[i];\n                if (f === '.' || f === '..' ||\n                    (!this.options.dot && f.startsWith('.'))) {\n                    return false;\n                }\n            }\n            return sawTail;\n        }\n        const [body, after] = bs;\n        while (fileIndex <= after) {\n            const m = this.#matchOne(file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);\n            if (m && globStarDepth < this.maxGlobstarRecursion) {\n                const sub = this.#matchGlobStarBodySections(file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);\n                if (sub !== false)\n                    return sub;\n            }\n            const f = file[fileIndex];\n            if (f === '.' || f === '..' ||\n                (!this.options.dot && f.startsWith('.'))) {\n                return false;\n            }\n            fileIndex++;\n        }\n        return partial || null;\n    }\n    #matchOne(file, pattern, partial, fileIndex, patternIndex) {\n        let fi;\n        let pi;\n        let pl;\n        let fl;\n        for (fi = fileIndex, pi = patternIndex,\n            fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            let p = pattern[pi];\n            let f = file[fi];\n            this.debug(pattern, p, f);\n            /* c8 ignore start */\n            if (p === false || p === GLOBSTAR)\n                return false;\n            /* c8 ignore stop */\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        if (fi === fl && pi === pl) {\n            return true;\n        }\n        else if (fi === fl) {\n            return partial;\n        }\n        else if (pi === pl) {\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        const re = AST.fromGlob(pattern, this.options).toMMPattern();\n        if (fastTest && typeof re === 'object') {\n            // Avoids overriding in frozen environments\n            Reflect.defineProperty(re, 'test', { value: fastTest });\n        }\n        return re;\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = new Set(options.nocase ? ['i'] : []);\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => {\n                if (p instanceof RegExp) {\n                    for (const f of p.flags.split(''))\n                        flags.add(f);\n                }\n                return typeof p === 'string'\n                    ? regExpEscape(p)\n                    : p === GLOBSTAR\n                        ? GLOBSTAR\n                        : p._src;\n            });\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // need to wrap in parens if we had more than one thing with |,\n        // otherwise only the first will be anchored to ^ and the last to $\n        const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', ''];\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^' + open + re + close + '$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').+$';\n        try {\n            this.regexp = new RegExp(re, [...flags].join(''));\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js';\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.AST = AST;\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    headers.forEach((value, key) => {\n        output[key] = value;\n    });\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","import { minimatch } from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\n// @ts-expect-error Types declare default export but runtime provides named export\nimport { EntityDecoder } from \"@nodable/entities\";\nimport nestedProp from \"nested-property\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction stripPrefix(name) {\n    const colonIdx = name.indexOf(\":\");\n    return colonIdx === -1 ? name : name.slice(colonIdx + 1);\n}\nfunction isXmlnsAttribute(name) {\n    return name === \"xmlns\" || name.startsWith(\"xmlns:\");\n}\n// The parser only keeps namespace prefixes on tags in Clark mode, so without\n// this the jPaths would be `d:propstat.d:prop.d:displayname` there and bare\n// everywhere else. Strip per segment (rather than off the joined path) as\n// prefixes and local names may both contain dots.\nfunction toJPathString(jPath) {\n    if (typeof jPath === \"string\") {\n        return jPath;\n    }\n    return jPath.toArray().map(stripPrefix).join(\".\");\n}\nfunction getParser({ attributeNamePrefix, attributeParsers, clarkNotationProps, entityDecoder: entityDecoderOptions, tagParsers }) {\n    const parserOptions = {\n        allowBooleanAttributes: true,\n        attributeNamePrefix,\n        textNodeName: \"text\",\n        ignoreAttributes: false,\n        removeNSPrefix: !clarkNotationProps,\n        jPath: false,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        },\n        attributeValueProcessor(attrName, attrValue, jPath) {\n            // Clark mode keeps the namespace declarations, which the default\n            // mode discards. They are consumed by the walker and removed from\n            // the result, so parsers never get to see them in either mode.\n            if (attributeParsers.length === 0 || isXmlnsAttribute(attrName)) {\n                return attrValue;\n            }\n            const pathStr = toJPathString(jPath);\n            for (const processor of attributeParsers) {\n                try {\n                    const value = processor(pathStr, attrValue);\n                    if (value !== attrValue) {\n                        return value;\n                    }\n                }\n                catch (error) {\n                    // skipping this invalid processor\n                }\n            }\n            return attrValue;\n        },\n        tagValueProcessor(tagName, tagValue, jPath) {\n            if (tagParsers.length === 0) {\n                return tagValue;\n            }\n            const pathStr = toJPathString(jPath);\n            for (const processor of tagParsers) {\n                try {\n                    const value = processor(pathStr, tagValue);\n                    if (value !== tagValue) {\n                        return value;\n                    }\n                }\n                catch (error) {\n                    // skipping this invalid processor\n                }\n            }\n            return tagValue;\n        }\n    };\n    if (entityDecoderOptions) {\n        parserOptions.entityDecoder = new EntityDecoder({\n            limit: {\n                maxTotalExpansions: entityDecoderOptions.limit?.maxTotalExpansions ?? 0,\n                maxExpandedLength: entityDecoderOptions.limit?.maxExpandedLength ?? 0\n            }\n        });\n    }\n    return new XMLParser(parserOptions);\n}\n/**\n * Tag parser for the displayname prop.\n * Ensure that the displayname is not parsed and always handled as is.\n * @param path The jPath of the tag\n * @param value The text value of the tag\n */\nexport function displaynameTagParser(path, value) {\n    if (path.endsWith(\"propstat.prop.displayname\")) {\n        // Do not parse the displayname, because this causes e.g. '2024.10' to result in number 2024.1\n        return;\n    }\n    return value;\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n// Structural keys of the WebDAV multistatus envelope (RFC 4918). When\n// `clarkNotationProps` is enabled the parser keeps namespace prefixes on\n// every tag, so these structural keys arrive prefixed (e.g. `d:multistatus`)\n// and have to be renamed back to their bare local name so the existing\n// `normaliseResult` continues to work and `DAVResult` keeps its shape.\n//\n// Keep this list in sync with the structural fields exposed on `DAVResult`,\n// `DAVResultResponse`, `DAVResultPropstatResponse`, `DAVResultStatusResponse`\n// and `DAVPropStat` in `source/types.ts`. If a new structural field is added\n// to those interfaces, it must be added here too or the prefixed variant\n// will leak through into the result.\nconst STRUCTURAL_KEYS = new Set([\n    \"multistatus\",\n    \"response\",\n    \"propstat\",\n    \"prop\",\n    \"status\",\n    \"href\",\n    \"responsedescription\"\n]);\nfunction isPlainObject(value) {\n    return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n/**\n * Transform a parsed (prefix-preserving) tree in place to:\n *\n *  1. Rename structural keys (`multistatus`/`response`/...) back to their\n *     bare local names so `DAVResult`'s shape is preserved.\n *  2. Rewrite every key inside each `` to Clark notation\n *     `{namespaceURI}localName`, resolving the namespace against the xmlns\n *     scope built up along the way (declarations on any of the enclosing\n *     elements as well as on the property element itself). A property whose\n *     prefix has no URI in scope keeps its bare local name.\n *  3. Drop the xmlns declarations once they are resolved, so the result\n *     carries the same shape the default (prefix-stripping) mode produces.\n *\n * Only the direct children of `` are rewritten: the keys of any\n * nested elements below them are left alone and keep whichever prefix the\n * server serialised them with.\n */\nfunction applyClarkNotation(root, attrPrefix) {\n    if (!isPlainObject(root) && !Array.isArray(root))\n        return;\n    const xmlnsKey = `${attrPrefix}xmlns`;\n    const xmlnsPrefixedKey = `${xmlnsKey}:`;\n    const xmlnsPrefixedKeyLen = xmlnsPrefixedKey.length;\n    const TEXT_KEY = \"text\";\n    const EMPTY_SCOPE = new Map();\n    function isXmlnsAttr(key) {\n        return (key === xmlnsKey ||\n            (key.length > xmlnsPrefixedKeyLen && key.startsWith(xmlnsPrefixedKey)));\n    }\n    // Return an extended scope if `obj` declares any xmlns; otherwise reuse\n    // the parent scope to avoid allocating a Map for every node.\n    function extendScope(obj, parent) {\n        let scope = null;\n        for (const key of Object.keys(obj)) {\n            if (key === xmlnsKey) {\n                if (!scope)\n                    scope = new Map(parent);\n                scope.set(\"\", obj[key]);\n            }\n            else if (key.length > xmlnsPrefixedKeyLen && key.startsWith(xmlnsPrefixedKey)) {\n                if (!scope)\n                    scope = new Map(parent);\n                scope.set(key.slice(xmlnsPrefixedKeyLen), obj[key]);\n            }\n        }\n        return scope ?? parent;\n    }\n    // Drop the namespace declarations once they have been resolved, so a prop\n    // value ends up with the same shape it has in the default (prefix-\n    // stripping) mode: bare text for a simple element, an empty string for an\n    // empty one, and `{ text, \"@attr\" }` for one carrying other attributes.\n    // The keys of nested children are NOT rewritten to Clark notation, since\n    // the walker only resolves namespaces at the `` child level; those\n    // keep the prefix the server happened to serialise them with.\n    function cleanPropValue(raw) {\n        if (Array.isArray(raw))\n            return raw.map(cleanPropValue);\n        if (!isPlainObject(raw))\n            return raw;\n        const out = {};\n        for (const key of Object.keys(raw)) {\n            if (isXmlnsAttr(key))\n                continue;\n            out[key] = cleanPropValue(raw[key]);\n        }\n        const keys = Object.keys(out);\n        if (keys.length === 0)\n            return \"\";\n        if (keys.length === 1 && keys[0] === TEXT_KEY)\n            return out[TEXT_KEY];\n        return out;\n    }\n    function emitClarkForChild(rawKey, rawValue, scope, out) {\n        const colonIdx = rawKey.indexOf(\":\");\n        const prefix = colonIdx === -1 ? \"\" : rawKey.slice(0, colonIdx);\n        const local = colonIdx === -1 ? rawKey : rawKey.slice(colonIdx + 1);\n        // A property element may declare its own namespaces, either as a\n        // default `xmlns=\"...\"` or bound to the very prefix it uses, so its\n        // attributes have to be folded into the scope before resolving. A\n        // prefix with no URI in scope falls back to the null namespace; that\n        // yields a bare `local` key rather than throwing or losing the data.\n        const resolveNs = (value) => {\n            const ownScope = isPlainObject(value) ? extendScope(value, scope) : scope;\n            return ownScope.get(prefix) ?? \"\";\n        };\n        const assign = (ns, value) => {\n            const key = ns ? `{${ns}}${local}` : local;\n            const existing = out[key];\n            if (existing === undefined) {\n                out[key] = value;\n            }\n            else if (Array.isArray(existing)) {\n                existing.push(value);\n            }\n            else {\n                out[key] = [existing, value];\n            }\n        };\n        if (Array.isArray(rawValue)) {\n            for (const item of rawValue) {\n                assign(resolveNs(item), cleanPropValue(item));\n            }\n            return;\n        }\n        assign(resolveNs(rawValue), cleanPropValue(rawValue));\n    }\n    function rewritePropToClark(propObj, parentScope) {\n        const scope = extendScope(propObj, parentScope);\n        const out = {};\n        for (const key of Object.keys(propObj)) {\n            if (isXmlnsAttr(key))\n                continue;\n            emitClarkForChild(key, propObj[key], scope, out);\n        }\n        return out;\n    }\n    function rewriteProp(value, parentScope) {\n        if (!isPlainObject(value))\n            return value;\n        const rewritten = rewritePropToClark(value, parentScope);\n        return Object.keys(rewritten).length === 0 ? \"\" : rewritten;\n    }\n    // Returns the (possibly replaced) node, so that an element left empty by\n    // dropping its namespace declarations collapses to the empty string the\n    // default mode would have produced for it.\n    function walk(node, scope) {\n        if (Array.isArray(node)) {\n            for (let index = 0; index < node.length; index += 1) {\n                node[index] = walk(node[index], scope);\n            }\n            return node;\n        }\n        if (!isPlainObject(node))\n            return node;\n        const childScope = extendScope(node, scope);\n        for (const key of Object.keys(node)) {\n            // The declarations have been folded into the scope above and are\n            // of no further use; the default mode discards them as well.\n            if (isXmlnsAttr(key)) {\n                delete node[key];\n                continue;\n            }\n            const colonIdx = key.indexOf(\":\");\n            const ln = colonIdx === -1 ? key : key.slice(colonIdx + 1);\n            const value = node[key];\n            // Rename structural keys to bare local name.\n            let actualKey = key;\n            if (STRUCTURAL_KEYS.has(ln) && ln !== key) {\n                delete node[key];\n                node[ln] = value;\n                actualKey = ln;\n            }\n            if (ln === \"prop\") {\n                node[actualKey] = Array.isArray(value)\n                    ? value.map(item => rewriteProp(item, childScope))\n                    : rewriteProp(value, childScope);\n                // Stop here; the prop content was rewritten in one shot.\n            }\n            else {\n                node[actualKey] = walk(value, childScope);\n            }\n        }\n        return Object.keys(node).length === 0 ? \"\" : node;\n    }\n    walk(root, EMPTY_SCOPE);\n}\n/**\n * Parse an XML response from a WebDAV service, converting it to an internal\n * DAV result.\n *\n * When `context.clarkNotationProps` is `true`, every property key inside\n * each `propstat.prop` is rewritten to Clark notation\n * `{namespaceURI}localName`. This lets consumers disambiguate properties\n * that share a local name across different XML namespaces (RFC 4918) and\n * uses a single canonical key per property regardless of how the server\n * serialised the namespace (prefix or inline default xmlns).\n *\n * The structural shape of `DAVResult` (`multistatus`/`response`/`propstat`/\n * `prop`/`status`/`href`) is unaffected by this option; only the keys\n * inside each `propstat.prop` change, and only for the direct children of\n * `` (nested elements keep the prefix the server used). Downstream\n * helpers like `prepareFileFromProps`, `parseStat` and `parseSearch` assume\n * bare prop keys and will not work with Clark-notation ones; consumers that\n * opt in are expected to address the Clark keys on their side.\n *\n * `context.tagParsers` and `context.attributeParsers` are unaffected as\n * well: they are handed the same jPaths, without namespace prefixes, and\n * are not invoked for the xmlns declarations in either mode.\n *\n * @param xml The raw XML string\n * @param context The current client context\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml, context) {\n    // backwards compatibility as this method is exported from the package\n    context = context ?? {\n        attributeNamePrefix: \"@\",\n        attributeParsers: [],\n        tagParsers: [displaynameTagParser]\n    };\n    return new Promise(resolve => {\n        const result = getParser(context).parse(xml);\n        if (context.clarkNotationProps) {\n            applyClarkNotation(result, context.attributeNamePrefix ?? \"@\");\n        }\n        resolve(normaliseResult(result));\n    });\n}\n/**\n * Get a file stat result from given DAV properties\n * @param props DAV properties\n * @param filename The filename for the file stat\n * @param isDetailed Whether or not the raw props of the resource should be returned\n * @returns A file stat result\n */\nexport function prepareFileFromProps(props, filename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        // The XML parser tries to interpret values, but the display name is required to be a string\n        if (typeof props.displayname !== \"undefined\") {\n            props.displayname = String(props.displayname);\n        }\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (String(value)) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(String(value), 10);\n    }\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { DAVResult, FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { parseXML } from 'webdav'\nimport { processResponsePayload } from 'webdav/dist/node/response.js'\nimport { prepareFileFromProps } from 'webdav/dist/node/tools/dav.js'\nimport client from './DavClient.ts'\n\nexport const DEFAULT_LIMIT = 20\n\n/**\n * Retrieve the comments list\n *\n * @param data destructuring object\n * @param data.resourceType the resource type\n * @param data.resourceId the resource ID\n * @param [options] optional options for axios\n * @param [options.offset] the pagination offset\n * @param [options.limit] the pagination limit, defaults to 20\n * @param [options.datetime] optional date to query\n * @return the comments list\n */\nexport async function getComments({ resourceType, resourceId }, options: { offset: number, limit?: number, datetime?: Date }) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\tconst datetime = options.datetime ? `${options.datetime.toISOString()}` : ''\n\tconst response = await client.customRequest(resourcePath, {\n\t\tmethod: 'REPORT',\n\t\tdata: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n\t\t...options,\n\t})\n\n\tconst responseData = await response.text()\n\tconst result = await parseXML(responseData)\n\tconst stat = getDirectoryFiles(result, true)\n\t// https://github.com/perry-mitchell/webdav-client/issues/339\n\treturn processResponsePayload(response, stat, true) as ResponseDataDetailed\n}\n\n/**\n * https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\n *\n * @param result\n * @param isDetailed\n */\nfunction getDirectoryFiles(\n\tresult: DAVResult,\n\tisDetailed = false,\n): Array {\n\t// Extract the response items (directory contents)\n\tconst {\n\t\tmultistatus: { response: responseItems },\n\t} = result\n\n\t// Map all items to a consistent output structure (results)\n\treturn responseItems.map((item) => {\n\t\t// Each item should contain a stat object\n\t\tconst props = item.propstat!.prop!\n\n\t\treturn prepareFileFromProps(props, props.id!.toString(), isDetailed)\n\t})\n}\n"],"names":["getRootPath","generateRemoteUrl","client","createClient","setHeaders","token","onRequestTokenUpdate","getRequestToken","balancedMatch","balanced","a","b","str","maybeMatch","r","range","reg","m","begs","beg","left","right","result","ai","bi","i","require$$0","braceExpansion","expandTop","escSlash","escOpen","escClose","escComma","escPeriod","EXPANSION_MAX","EXPANSION_MAX_LENGTH","numeric","escapeBraces","unescapeBraces","parseCommaParts","parts","pre","body","post","p","postParts","options","max","maxLength","expand","embrace","isPadded","el","lte","y","gte","combine","acc","values","dropEmpties","out","length","v","expansion","expandSequence","isAlphaSequence","n","N","x","width","incr","test","reverse","pad","c","need","z","isTop","firstGroup","isNumericSequence","isSequence","isOptions","dropsEmpties","d","valuesLength","outer","j","expanded","k","MAX_PATTERN_LENGTH","assertValidPattern","pattern","posixClasses","braceEscape","s","regexpEscape","rangesToString","ranges","parseClass","glob","position","pos","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","cls","unip","u","neg","sranges","snegs","unescape","windowsPathsNoEscape","_a","types","isExtglobType","isExtglobAST","adoptionMap","adoptionWithSpaceMap","adoptionAnyMap","usurpMap","startNoTraversal","startNoDot","addPatternStart","justDots","reSpecials","regExpEscape","qmark","star","starNoEmpty","AST","#root","#hasMagic","#uflag","#parts","#parent","#parentIndex","#negs","#filledNegs","#options","#toString","#emptyExt","type","parent","#fillNegs","pp","part","ret","pl","#parseAST","ast","opt","extDepth","maxDepth","inBrace","braceStart","braceNeg","ext","#canAdoptType","depthAdd","#canAdoptWithSpace","child","#canAdopt","map","gc","#adoptWithSpace","index","blank","#adopt","#canUsurpType","#canUsurp","#usurp","nt","#flatten","iterations","done","re","hasMagic","flags","allowDot","dot","noEmpty","src","_","#parseGlob","start","aps","needNoTrav","needNoDot","end","repeated","#partsToRegExp","me","bodyDotAllowed","final","close","_hasMagic","inStar","needUflag","consumed","magic","escape","minimatch","Minimatch","starDotExtRE","starDotExtTest","f","starDotExtTestDot","starDotExtTestNocase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","define_process_env_default","path","sep","GLOBSTAR","twoStarDot","twoStarNoDot","filter","defaults","def","orig","list","braceExpand","makeRe","match","mm","globMagic","args","rawGlobParts","set","__","isUNC","isDrive","ss","globParts","optimizationLevel","gs","prev","didSomething","dd","gss","next","p2","other","splin","matched","emptyGSMatch","which","negateOffset","file","partial","fileStartIndex","patternStartIndex","fileDrive","fileUNC","patternDrive","patternUNC","fdi","pdi","fd","pd","#matchGlobstar","#matchOne","fileIndex","patternIndex","firstgs","lastgs","head","tail","fileHead","fileTailMatch","tailStart","sawSome","bodySegments","currentBody","nonGsParts","nonGsPartsSums","fileLength","#matchGlobStarBodySections","bodyIndex","globStarDepth","sawTail","bs","after","sub","fi","pi","fl","hit","fastTest","twoStar","open","ff","filename","convertResponseHeaders","headers","output","value","key","processResponsePayload","response","data","isDetailed","util","isString","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","segment","from","to","trim","arr","fromParts","toParts","samePartsLength","outputParts","root","dir","pathObject","base","pathString","allParts","pathPosix","_typeof","obj","_classCallCheck","instance","Constructor","_possibleConstructorReturn","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","_wrapNativeSuper","Class","_cache","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","Parent","_isNativeReflectConstruct","fn","o","ARRAY_WILDCARD","PATH_DELIMITER","ObjectPrototypeMutationError","_Error","params","_this","nestedProperty","setNestedProperty","getNestedProperty","hasNestedProperty","object","property","isInNestedProperty","traverse","currentObject","currentProperty","has","segments","isLastSegment","nextPropIsNumber","nextPropIsArrayWildcard","err","objectInPath","isIn","pathExists","callback","_loop","idx","currentSegment","remainingSegments","pathToHere","_ret","PropertyType","prepareFileFromProps","props","lastMod","rawSize","resourceType","mimeType","etag","stat","DEFAULT_LIMIT","getComments","resourceId","resourcePath","datetime","responseData","parseXML","getDirectoryFiles","responseItems","item"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14]}
\ No newline at end of file
diff --git a/dist/GetComments-Bnfad0N4.chunk.mjs.map.license b/dist/GetComments-BU90Le50.chunk.mjs.map.license
similarity index 97%
rename from dist/GetComments-Bnfad0N4.chunk.mjs.map.license
rename to dist/GetComments-BU90Le50.chunk.mjs.map.license
index 67d165a63f364..da3d7800cd468 100644
--- a/dist/GetComments-Bnfad0N4.chunk.mjs.map.license
+++ b/dist/GetComments-BU90Le50.chunk.mjs.map.license
@@ -28,5 +28,5 @@ This file is generated from multiple sources. Included packages:
 	- version: 1.0.0
 	- license: ISC
 - webdav
-	- version: 5.10.0
+	- version: 5.11.0
 	- license: MIT
diff --git a/dist/GetComments-Bnfad0N4.chunk.mjs.map b/dist/GetComments-Bnfad0N4.chunk.mjs.map
deleted file mode 100644
index 15192545729f4..0000000000000
--- a/dist/GetComments-Bnfad0N4.chunk.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"GetComments-Bnfad0N4.chunk.mjs","sources":["../build/frontend/apps/comments/src/utils/davUtils.ts","../build/frontend/apps/comments/src/services/DavClient.ts","../node_modules/balanced-match/index.js","../node_modules/webdav/node_modules/brace-expansion/index.js","../node_modules/webdav/node_modules/minimatch/dist/esm/assert-valid-pattern.js","../node_modules/webdav/node_modules/minimatch/dist/esm/brace-expressions.js","../node_modules/webdav/node_modules/minimatch/dist/esm/unescape.js","../node_modules/webdav/node_modules/minimatch/dist/esm/ast.js","../node_modules/webdav/node_modules/minimatch/dist/esm/escape.js","../node_modules/webdav/node_modules/minimatch/dist/esm/index.js","../node_modules/webdav/dist/node/tools/headers.js","../node_modules/webdav/dist/node/response.js","../node_modules/path-posix/index.js","../node_modules/nested-property/dist/nested-property.js","../node_modules/webdav/dist/node/tools/dav.js","../build/frontend/apps/comments/src/services/GetComments.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\n/**\n *\n */\nfunction getRootPath() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.ts'\n\n// init webdav client\nconst client = createClient(getRootPath())\n\n// set CSRF token header\n/**\n * @param token\n */\nfunction setHeaders(token) {\n\tclient.setHeaders({\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: token ?? '',\n\t})\n}\n\n// refresh headers when request token changes\nonRequestTokenUpdate(setHeaders)\nsetHeaders(getRequestToken())\n\nexport default client\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nvar EXPANSION_MAX = 100000\n\n// `EXPANSION_MAX` caps the *number* of expansions, but not their length. An\n// input like `'{a,b}'.repeat(1500)` stays under that count - its output is\n// truncated to 100k results - while making every result ~1500 characters\n// long. The result set, and the intermediate arrays built while combining\n// brace sets, then grow large enough to exhaust memory and crash the process\n// (CVE-2026-14257). `EXPANSION_MAX_LENGTH` bounds the total number of\n// characters the accumulator may hold at any point, so memory stays flat no\n// matter how many brace groups are chained. The limit sits well above any\n// realistic expansion (100k results hitting `EXPANSION_MAX` measure ~1M\n// characters) so legitimate input is unaffected.\nvar EXPANSION_MAX_LENGTH = 4000000\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str, options) {\n  if (!str)\n    return [];\n\n  options = options || {};\n  var max = options.max == null ? EXPANSION_MAX : options.max;\n  var maxLength = options.maxLength == null ? EXPANSION_MAX_LENGTH : options.maxLength;\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), max, maxLength, true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\n// Build `{ acc[a] + pre + values[v] }` for every combination, capping the\n// number of results at `max` and the total number of characters at `maxLength`.\n// This is the one place output grows, so bounding it here keeps the single\n// accumulator - and therefore memory - flat regardless of how many brace groups\n// are combined (CVE-2026-14257).\nfunction combine(\n  acc,\n  pre,\n  values,\n  max,\n  maxLength,\n  dropEmpties\n) {\n  var out = []\n  var length = 0\n  for (var a = 0; a < acc.length; a++) {\n    for (var v = 0; v < values.length; v++) {\n      if (out.length >= max) return out\n      var expansion = acc[a] + pre + values[v]\n      // Bash drops empty results at the top level. Skip them before they count\n      // against `max`, so `max` bounds the number of *kept* results.\n      if (dropEmpties && !expansion) continue\n      if (length + expansion.length > maxLength) return out\n      out.push(expansion)\n      length += expansion.length\n    }\n  }\n  return out\n}\n\n// The expansion values of a single numeric (`1..5`) or alphabetic (`a..e..2`)\n// sequence body.\nfunction expandSequence(\n  body,\n  isAlphaSequence,\n  max,\n  maxLength\n) {\n  var n = body.split(/\\.\\./)\n  var N = []\n  // A sequence body always splits into two or three parts, but the compiler\n  // can't know that.\n  /* c8 ignore start */\n  if (n[0] === undefined || n[1] === undefined) {\n    return N\n  }\n  /* c8 ignore stop */\n  var x = numeric(n[0])\n  var y = numeric(n[1])\n  var width = Math.max(n[0].length, n[1].length)\n  var incr =\n    n.length === 3 && n[2] !== undefined ?\n      Math.max(Math.abs(numeric(n[2])), 1)\n    : 1\n  var test = lte\n  var reverse = y < x\n  if (reverse) {\n    incr *= -1\n    test = gte\n  }\n  var pad = n.some(isPadded)\n\n  var length = 0\n  for (var i = x; test(i, y) && N.length < max; i += incr) {\n    var c\n    if (isAlphaSequence) {\n      c = String.fromCharCode(i)\n      if (c === '\\\\') {\n        c = ''\n      }\n    } else {\n      c = String(i)\n      if (pad) {\n        var need = width - c.length\n        if (need > 0) {\n          var z = new Array(need + 1).join('0')\n          if (i < 0) {\n            c = '-' + z + c.slice(1)\n          } else {\n            c = z + c\n          }\n        }\n      }\n    }\n    if (length + c.length > maxLength) break\n    N.push(c)\n    length += c.length\n  }\n  return N\n}\n\nfunction expand(\n  str,\n  max,\n  maxLength,\n  isTop\n) {\n  // Consume the string's top-level brace groups left to right, threading a\n  // running set of combined prefixes (`acc`). Expanding the tail iteratively -\n  // rather than recursing on `m.post` once per group - keeps the native stack\n  // depth constant, so deeply chained input (`'{a,b}'.repeat(3000)`) can no\n  // longer overflow the stack, and leaves a single accumulator whose size\n  // `maxLength` bounds directly (CVE-2026-14257).\n  var acc = ['']\n\n  // Bash drops empty results, but only when the *first* top-level group is a\n  // comma set - a sequence like `{a..\\}` may legitimately yield ''. The drop\n  // is on the final strings, so it is applied to whichever `combine` produces\n  // them (the one with no brace set left in the tail).\n  var dropEmpties = false\n  var firstGroup = true\n\n  for (;;) {\n    const m = balanced('{', '}', str)\n\n    // No brace set left: the rest of the string is literal.\n    if (!m) {\n      return combine(acc, str, [''], max, maxLength, dropEmpties)\n    }\n\n    // no need to expand pre, since it is guaranteed to be free of brace-sets\n    const pre = m.pre\n\n    if (/\\$$/.test(pre)) {\n      acc = combine(\n        acc,\n        pre + '{' + m.body + '}',\n        [''],\n        max,\n        maxLength,\n        dropEmpties && !m.post.length\n      )\n      firstGroup = false\n      if (!m.post.length) break\n      str = m.post\n      continue\n    }\n\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,(?!,).*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        isTop = true;\n        continue;\n      }\n      // Nothing here expands, so the whole remaining string is literal.\n      return combine(\n        acc,\n        pre + '{' + m.body + '}' + m.post,\n        [''],\n        max,\n        maxLength,\n        dropEmpties\n      )\n    }\n\n    if (firstGroup) {\n      dropEmpties = isTop && !isSequence\n      firstGroup = false\n    }\n\n    var values;\n    if (isSequence) {\n      values = expandSequence(m.body, isAlphaSequence, max, maxLength);\n    } else {\n      var n = parseCommaParts(m.body);\n      if (n.length === 1 && n[0] !== undefined) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], max, maxLength, false).map(embrace);\n        //XXX is this necessary? Can't seem to hit it in tests.\n        /* c8 ignore start */\n        if (n.length === 1) {\n          acc = combine(\n            acc,\n            pre + n[0],\n            [''],\n            max,\n            maxLength,\n            dropEmpties && !m.post.length\n          )\n          if (!m.post.length) break\n          str = m.post\n          continue\n        }\n        /* c8 ignore stop */\n      }\n\n      // Values that `combine` is going to drop as empty produce no result, so\n      // they must not count against `max` - otherwise `{a,,b}` with `max: 2`\n      // would stop at `['a', '']` and yield one result instead of two. Skipping\n      // them outright keeps `values` bounded while leaving `max` a bound on\n      // *kept* results.\n      var dropsEmpties = dropEmpties && !m.post.length && !pre\n      for (var d = 0; dropsEmpties && d < acc.length; d++) {\n        if (acc[d]) {\n          dropsEmpties = false\n        }\n      }\n\n      values = []\n      var valuesLength = 0\n      outer: for (var j = 0; j < n.length; j++) {\n        var expanded = expand(n[j], max, maxLength, false)\n        for (var k = 0; k < expanded.length; k++) {\n          var v = expanded[k]\n          if (dropsEmpties && !v) continue\n          if (values.length >= max || valuesLength + v.length > maxLength) {\n            break outer\n          }\n          values.push(v)\n          valuesLength += v.length\n        }\n      }\n    }\n\n    acc = combine(acc, pre, values, max, maxLength, dropEmpties && !m.post.length)\n    if (!m.post.length) break\n    str = m.post\n  }\n\n  return acc\n}\n","const MAX_PATTERN_LENGTH = 1024 * 64;\nexport const assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n//# sourceMappingURL=assert-valid-pattern.js.map","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","// parse a single path portion\nvar _a;\nimport { parseClass } from './brace-expressions.js';\nimport { unescape } from './unescape.js';\nconst types = new Set(['!', '?', '+', '*', '@']);\nconst isExtglobType = (c) => types.has(c);\nconst isExtglobAST = (c) => isExtglobType(c.type);\nconst adoptionMap = new Map([\n    ['!', ['@']],\n    ['?', ['?', '@']],\n    ['@', ['@']],\n    ['*', ['*', '+', '?', '@']],\n    ['+', ['+', '@']],\n]);\nconst adoptionWithSpaceMap = new Map([\n    ['!', ['?']],\n    ['@', ['?']],\n    ['+', ['?', '*']],\n]);\nconst adoptionAnyMap = new Map([\n    ['!', ['?', '@']],\n    ['?', ['?', '@']],\n    ['@', ['?', '@']],\n    ['*', ['*', '+', '?', '@']],\n    ['+', ['+', '@', '?', '*']],\n]);\nconst usurpMap = new Map([\n    ['!', new Map([['!', '@']])],\n    ['?', new Map([['*', '*'], ['+', '*']])],\n    ['@', new Map([['!', '!'], ['?', '?'], ['@', '@'], ['*', '*'], ['+', '+']])],\n    ['+', new Map([['?', '*'], ['*', '*']])],\n]);\n// Patterns that get prepended to bind to the start of either the\n// entire string, or just a single path portion, to prevent dots\n// and/or traversal patterns, when needed.\n// Exts don't need the ^ or / bit, because the root binds that already.\nconst startNoTraversal = '(?!(?:^|/)\\\\.\\\\.?(?:$|/))';\nconst startNoDot = '(?!\\\\.)';\n// characters that indicate a start of pattern needs the \"no dots\" bit,\n// because a dot *might* be matched. ( is not in the list, because in\n// the case of a child extglob, it will handle the prevention itself.\nconst addPatternStart = new Set(['[', '.']);\n// cases where traversal is A-OK, no dot prevention needed\nconst justDots = new Set(['..', '.']);\nconst reSpecials = new Set('().*{}+?[]^$\\\\!');\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// any single thing other than /\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// use + when we need to ensure that *something* matches, because the * is\n// the only thing in the path portion.\nconst starNoEmpty = qmark + '+?';\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\nexport class AST {\n    type;\n    #root;\n    #hasMagic;\n    #uflag = false;\n    #parts = [];\n    #parent;\n    #parentIndex;\n    #negs;\n    #filledNegs = false;\n    #options;\n    #toString;\n    // set to true if it's an extglob with no children\n    // (which really means one child of '')\n    #emptyExt = false;\n    constructor(type, parent, options = {}) {\n        this.type = type;\n        // extglobs are inherently magical\n        if (type)\n            this.#hasMagic = true;\n        this.#parent = parent;\n        this.#root = this.#parent ? this.#parent.#root : this;\n        this.#options = this.#root === this ? options : this.#root.#options;\n        this.#negs = this.#root === this ? [] : this.#root.#negs;\n        if (type === '!' && !this.#root.#filledNegs)\n            this.#negs.push(this);\n        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;\n    }\n    get hasMagic() {\n        /* c8 ignore start */\n        if (this.#hasMagic !== undefined)\n            return this.#hasMagic;\n        /* c8 ignore stop */\n        for (const p of this.#parts) {\n            if (typeof p === 'string')\n                continue;\n            if (p.type || p.hasMagic)\n                return (this.#hasMagic = true);\n        }\n        // note: will be undefined until we generate the regexp src and find out\n        return this.#hasMagic;\n    }\n    // reconstructs the pattern\n    toString() {\n        if (this.#toString !== undefined)\n            return this.#toString;\n        if (!this.type) {\n            return (this.#toString = this.#parts.map(p => String(p)).join(''));\n        }\n        else {\n            return (this.#toString =\n                this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')');\n        }\n    }\n    #fillNegs() {\n        /* c8 ignore start */\n        if (this !== this.#root)\n            throw new Error('should only call on root');\n        if (this.#filledNegs)\n            return this;\n        /* c8 ignore stop */\n        // call toString() once to fill this out\n        this.toString();\n        this.#filledNegs = true;\n        let n;\n        while ((n = this.#negs.pop())) {\n            if (n.type !== '!')\n                continue;\n            // walk up the tree, appending everthing that comes AFTER parentIndex\n            let p = n;\n            let pp = p.#parent;\n            while (pp) {\n                for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {\n                    for (const part of n.#parts) {\n                        /* c8 ignore start */\n                        if (typeof part === 'string') {\n                            throw new Error('string part in extglob AST??');\n                        }\n                        /* c8 ignore stop */\n                        part.copyIn(pp.#parts[i]);\n                    }\n                }\n                p = pp;\n                pp = p.#parent;\n            }\n        }\n        return this;\n    }\n    push(...parts) {\n        for (const p of parts) {\n            if (p === '')\n                continue;\n            /* c8 ignore start */\n            if (typeof p !== 'string' && !(p instanceof _a && p.#parent === this)) {\n                throw new Error('invalid part: ' + p);\n            }\n            /* c8 ignore stop */\n            this.#parts.push(p);\n        }\n    }\n    toJSON() {\n        const ret = this.type === null\n            ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n            : [this.type, ...this.#parts.map(p => p.toJSON())];\n        if (this.isStart() && !this.type)\n            ret.unshift([]);\n        if (this.isEnd() &&\n            (this === this.#root ||\n                (this.#root.#filledNegs && this.#parent?.type === '!'))) {\n            ret.push({});\n        }\n        return ret;\n    }\n    isStart() {\n        if (this.#root === this)\n            return true;\n        // if (this.type) return !!this.#parent?.isStart()\n        if (!this.#parent?.isStart())\n            return false;\n        if (this.#parentIndex === 0)\n            return true;\n        // if everything AHEAD of this is a negation, then it's still the \"start\"\n        const p = this.#parent;\n        for (let i = 0; i < this.#parentIndex; i++) {\n            const pp = p.#parts[i];\n            if (!(pp instanceof _a && pp.type === '!')) {\n                return false;\n            }\n        }\n        return true;\n    }\n    isEnd() {\n        if (this.#root === this)\n            return true;\n        if (this.#parent?.type === '!')\n            return true;\n        if (!this.#parent?.isEnd())\n            return false;\n        if (!this.type)\n            return this.#parent?.isEnd();\n        // if not root, it'll always have a parent\n        /* c8 ignore start */\n        const pl = this.#parent ? this.#parent.#parts.length : 0;\n        /* c8 ignore stop */\n        return this.#parentIndex === pl - 1;\n    }\n    copyIn(part) {\n        if (typeof part === 'string')\n            this.push(part);\n        else\n            this.push(part.clone(this));\n    }\n    clone(parent) {\n        const c = new _a(this.type, parent);\n        for (const p of this.#parts) {\n            c.copyIn(p);\n        }\n        return c;\n    }\n    static #parseAST(str, ast, pos, opt, extDepth) {\n        const maxDepth = opt.maxExtglobRecursion ?? 2;\n        let escaping = false;\n        let inBrace = false;\n        let braceStart = -1;\n        let braceNeg = false;\n        if (ast.type === null) {\n            // outside of a extglob, append until we find a start\n            let i = pos;\n            let acc = '';\n            while (i < str.length) {\n                const c = str.charAt(i++);\n                // still accumulate escapes at this point, but we do ignore\n                // starts that are escaped\n                if (escaping || c === '\\\\') {\n                    escaping = !escaping;\n                    acc += c;\n                    continue;\n                }\n                if (inBrace) {\n                    if (i === braceStart + 1) {\n                        if (c === '^' || c === '!') {\n                            braceNeg = true;\n                        }\n                    }\n                    else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n                        inBrace = false;\n                    }\n                    acc += c;\n                    continue;\n                }\n                else if (c === '[') {\n                    inBrace = true;\n                    braceStart = i;\n                    braceNeg = false;\n                    acc += c;\n                    continue;\n                }\n                const doRecurse = !opt.noext &&\n                    isExtglobType(c) &&\n                    str.charAt(i) === '(' &&\n                    extDepth <= maxDepth;\n                if (doRecurse) {\n                    ast.push(acc);\n                    acc = '';\n                    const ext = new _a(c, ast);\n                    i = _a.#parseAST(str, ext, i, opt, extDepth + 1);\n                    ast.push(ext);\n                    continue;\n                }\n                acc += c;\n            }\n            ast.push(acc);\n            return i;\n        }\n        // some kind of extglob, pos is at the (\n        // find the next | or )\n        let i = pos + 1;\n        let part = new _a(null, ast);\n        const parts = [];\n        let acc = '';\n        while (i < str.length) {\n            const c = str.charAt(i++);\n            // still accumulate escapes at this point, but we do ignore\n            // starts that are escaped\n            if (escaping || c === '\\\\') {\n                escaping = !escaping;\n                acc += c;\n                continue;\n            }\n            if (inBrace) {\n                if (i === braceStart + 1) {\n                    if (c === '^' || c === '!') {\n                        braceNeg = true;\n                    }\n                }\n                else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n                    inBrace = false;\n                }\n                acc += c;\n                continue;\n            }\n            else if (c === '[') {\n                inBrace = true;\n                braceStart = i;\n                braceNeg = false;\n                acc += c;\n                continue;\n            }\n            const doRecurse = isExtglobType(c) &&\n                str.charAt(i) === '(' &&\n                /* c8 ignore start - the maxDepth is sufficient here */\n                (extDepth <= maxDepth || (ast && ast.#canAdoptType(c)));\n            /* c8 ignore stop */\n            if (doRecurse) {\n                const depthAdd = ast && ast.#canAdoptType(c) ? 0 : 1;\n                part.push(acc);\n                acc = '';\n                const ext = new _a(c, part);\n                part.push(ext);\n                i = _a.#parseAST(str, ext, i, opt, extDepth + depthAdd);\n                continue;\n            }\n            if (c === '|') {\n                part.push(acc);\n                acc = '';\n                parts.push(part);\n                part = new _a(null, ast);\n                continue;\n            }\n            if (c === ')') {\n                if (acc === '' && ast.#parts.length === 0) {\n                    ast.#emptyExt = true;\n                }\n                part.push(acc);\n                acc = '';\n                ast.push(...parts, part);\n                return i;\n            }\n            acc += c;\n        }\n        // unfinished extglob\n        // if we got here, it was a malformed extglob! not an extglob, but\n        // maybe something else in there.\n        ast.type = null;\n        ast.#hasMagic = undefined;\n        ast.#parts = [str.substring(pos - 1)];\n        return i;\n    }\n    #canAdoptWithSpace(child) {\n        return this.#canAdopt(child, adoptionWithSpaceMap);\n    }\n    #canAdopt(child, map = adoptionMap) {\n        if (!child ||\n            typeof child !== 'object' ||\n            child.type !== null ||\n            child.#parts.length !== 1 ||\n            this.type === null) {\n            return false;\n        }\n        const gc = child.#parts[0];\n        if (!gc || typeof gc !== 'object' || gc.type === null) {\n            return false;\n        }\n        return this.#canAdoptType(gc.type, map);\n    }\n    #canAdoptType(c, map = adoptionAnyMap) {\n        return !!map.get(this.type)?.includes(c);\n    }\n    #adoptWithSpace(child, index) {\n        const gc = child.#parts[0];\n        const blank = new _a(null, gc, this.options);\n        blank.#parts.push('');\n        gc.push(blank);\n        this.#adopt(child, index);\n    }\n    #adopt(child, index) {\n        const gc = child.#parts[0];\n        this.#parts.splice(index, 1, ...gc.#parts);\n        for (const p of gc.#parts) {\n            if (typeof p === 'object')\n                p.#parent = this;\n        }\n        this.#toString = undefined;\n    }\n    #canUsurpType(c) {\n        const m = usurpMap.get(this.type);\n        return !!(m?.has(c));\n    }\n    #canUsurp(child) {\n        if (!child ||\n            typeof child !== 'object' ||\n            child.type !== null ||\n            child.#parts.length !== 1 ||\n            this.type === null ||\n            this.#parts.length !== 1) {\n            return false;\n        }\n        const gc = child.#parts[0];\n        if (!gc || typeof gc !== 'object' || gc.type === null) {\n            return false;\n        }\n        return this.#canUsurpType(gc.type);\n    }\n    #usurp(child) {\n        const m = usurpMap.get(this.type);\n        const gc = child.#parts[0];\n        const nt = m?.get(gc.type);\n        /* c8 ignore start - impossible */\n        if (!nt)\n            return false;\n        /* c8 ignore stop */\n        this.#parts = gc.#parts;\n        for (const p of this.#parts) {\n            if (typeof p === 'object')\n                p.#parent = this;\n        }\n        this.type = nt;\n        this.#toString = undefined;\n        this.#emptyExt = false;\n    }\n    #flatten() {\n        if (!isExtglobAST(this)) {\n            for (const p of this.#parts) {\n                if (typeof p === 'object')\n                    p.#flatten();\n            }\n        }\n        else {\n            let iterations = 0;\n            let done = false;\n            do {\n                done = true;\n                for (let i = 0; i < this.#parts.length; i++) {\n                    const c = this.#parts[i];\n                    if (typeof c === 'object') {\n                        c.#flatten();\n                        if (this.#canAdopt(c)) {\n                            done = false;\n                            this.#adopt(c, i);\n                        }\n                        else if (this.#canAdoptWithSpace(c)) {\n                            done = false;\n                            this.#adoptWithSpace(c, i);\n                        }\n                        else if (this.#canUsurp(c)) {\n                            done = false;\n                            this.#usurp(c);\n                        }\n                    }\n                }\n            } while (!done && ++iterations < 10);\n        }\n        this.#toString = undefined;\n    }\n    static fromGlob(pattern, options = {}) {\n        const ast = new _a(null, undefined, options);\n        _a.#parseAST(pattern, ast, 0, options, 0);\n        return ast;\n    }\n    // returns the regular expression if there's magic, or the unescaped\n    // string if not.\n    toMMPattern() {\n        // should only be called on root\n        /* c8 ignore start */\n        if (this !== this.#root)\n            return this.#root.toMMPattern();\n        /* c8 ignore stop */\n        const glob = this.toString();\n        const [re, body, hasMagic, uflag] = this.toRegExpSource();\n        // if we're in nocase mode, and not nocaseMagicOnly, then we do\n        // still need a regular expression if we have to case-insensitively\n        // match capital/lowercase characters.\n        const anyMagic = hasMagic ||\n            this.#hasMagic ||\n            (this.#options.nocase &&\n                !this.#options.nocaseMagicOnly &&\n                glob.toUpperCase() !== glob.toLowerCase());\n        if (!anyMagic) {\n            return body;\n        }\n        const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        return Object.assign(new RegExp(`^${re}$`, flags), {\n            _src: re,\n            _glob: glob,\n        });\n    }\n    get options() {\n        return this.#options;\n    }\n    // returns the string match, the regexp source, whether there's magic\n    // in the regexp (so a regular expression is required) and whether or\n    // not the uflag is needed for the regular expression (for posix classes)\n    // TODO: instead of injecting the start/end at this point, just return\n    // the BODY of the regexp, along with the start/end portions suitable\n    // for binding the start/end in either a joined full-path makeRe context\n    // (where we bind to (^|/), or a standalone matchPart context (where\n    // we bind to ^, and not /).  Otherwise slashes get duped!\n    //\n    // In part-matching mode, the start is:\n    // - if not isStart: nothing\n    // - if traversal possible, but not allowed: ^(?!\\.\\.?$)\n    // - if dots allowed or not possible: ^\n    // - if dots possible and not allowed: ^(?!\\.)\n    // end is:\n    // - if not isEnd(): nothing\n    // - else: $\n    //\n    // In full-path matching mode, we put the slash at the START of the\n    // pattern, so start is:\n    // - if first pattern: same as part-matching mode\n    // - if not isStart(): nothing\n    // - if traversal possible, but not allowed: /(?!\\.\\.?(?:$|/))\n    // - if dots allowed or not possible: /\n    // - if dots possible and not allowed: /(?!\\.)\n    // end is:\n    // - if last pattern, same as part-matching mode\n    // - else nothing\n    //\n    // Always put the (?:$|/) on negated tails, though, because that has to be\n    // there to bind the end of the negated pattern portion, and it's easier to\n    // just stick it in now rather than try to inject it later in the middle of\n    // the pattern.\n    //\n    // We can just always return the same end, and leave it up to the caller\n    // to know whether it's going to be used joined or in parts.\n    // And, if the start is adjusted slightly, can do the same there:\n    // - if not isStart: nothing\n    // - if traversal possible, but not allowed: (?:/|^)(?!\\.\\.?$)\n    // - if dots allowed or not possible: (?:/|^)\n    // - if dots possible and not allowed: (?:/|^)(?!\\.)\n    //\n    // But it's better to have a simpler binding without a conditional, for\n    // performance, so probably better to return both start options.\n    //\n    // Then the caller just ignores the end if it's not the first pattern,\n    // and the start always gets applied.\n    //\n    // But that's always going to be $ if it's the ending pattern, or nothing,\n    // so the caller can just attach $ at the end of the pattern when building.\n    //\n    // So the todo is:\n    // - better detect what kind of start is needed\n    // - return both flavors of starting pattern\n    // - attach $ at the end of the pattern when creating the actual RegExp\n    //\n    // Ah, but wait, no, that all only applies to the root when the first pattern\n    // is not an extglob. If the first pattern IS an extglob, then we need all\n    // that dot prevention biz to live in the extglob portions, because eg\n    // +(*|.x*) can match .xy but not .yx.\n    //\n    // So, return the two flavors if it's #root and the first child is not an\n    // AST, otherwise leave it to the child AST to handle it, and there,\n    // use the (?:^|/) style of start binding.\n    //\n    // Even simplified further:\n    // - Since the start for a join is eg /(?!\\.) and the start for a part\n    // is ^(?!\\.), we can just prepend (?!\\.) to the pattern (either root\n    // or start or whatever) and prepend ^ or / at the Regexp construction.\n    toRegExpSource(allowDot) {\n        const dot = allowDot ?? !!this.#options.dot;\n        if (this.#root === this) {\n            this.#flatten();\n            this.#fillNegs();\n        }\n        if (!isExtglobAST(this)) {\n            const noEmpty = this.isStart() && this.isEnd();\n            const src = this.#parts\n                .map(p => {\n                const [re, _, hasMagic, uflag] = typeof p === 'string'\n                    ? _a.#parseGlob(p, this.#hasMagic, noEmpty)\n                    : p.toRegExpSource(allowDot);\n                this.#hasMagic = this.#hasMagic || hasMagic;\n                this.#uflag = this.#uflag || uflag;\n                return re;\n            })\n                .join('');\n            let start = '';\n            if (this.isStart()) {\n                if (typeof this.#parts[0] === 'string') {\n                    // this is the string that will match the start of the pattern,\n                    // so we need to protect against dots and such.\n                    // '.' and '..' cannot match unless the pattern is that exactly,\n                    // even if it starts with . or dot:true is set.\n                    const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);\n                    if (!dotTravAllowed) {\n                        const aps = addPatternStart;\n                        // check if we have a possibility of matching . or ..,\n                        // and prevent that.\n                        const needNoTrav = \n                        // dots are allowed, and the pattern starts with [ or .\n                        (dot && aps.has(src.charAt(0))) ||\n                            // the pattern starts with \\., and then [ or .\n                            (src.startsWith('\\\\.') && aps.has(src.charAt(2))) ||\n                            // the pattern starts with \\.\\., and then [ or .\n                            (src.startsWith('\\\\.\\\\.') && aps.has(src.charAt(4)));\n                        // no need to prevent dots if it can't match a dot, or if a\n                        // sub-pattern will be preventing it anyway.\n                        const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));\n                        start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : '';\n                    }\n                }\n            }\n            // append the \"end of path portion\" pattern to negation tails\n            let end = '';\n            if (this.isEnd() &&\n                this.#root.#filledNegs &&\n                this.#parent?.type === '!') {\n                end = '(?:$|\\\\/)';\n            }\n            const final = start + src + end;\n            return [\n                final,\n                unescape(src),\n                (this.#hasMagic = !!this.#hasMagic),\n                this.#uflag,\n            ];\n        }\n        // We need to calculate the body *twice* if it's a repeat pattern\n        // at the start, once in nodot mode, then again in dot mode, so a\n        // pattern like *(?) can match 'x.y'\n        const repeated = this.type === '*' || this.type === '+';\n        // some kind of extglob\n        const start = this.type === '!' ? '(?:(?!(?:' : '(?:';\n        let body = this.#partsToRegExp(dot);\n        if (this.isStart() && this.isEnd() && !body && this.type !== '!') {\n            // invalid extglob, has to at least be *something* present, if it's\n            // the entire path portion.\n            const s = this.toString();\n            const me = this;\n            me.#parts = [s];\n            me.type = null;\n            me.#hasMagic = undefined;\n            return [s, unescape(this.toString()), false, false];\n        }\n        // XXX abstract out this map method\n        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot\n            ? ''\n            : this.#partsToRegExp(true);\n        if (bodyDotAllowed === body) {\n            bodyDotAllowed = '';\n        }\n        if (bodyDotAllowed) {\n            body = `(?:${body})(?:${bodyDotAllowed})*?`;\n        }\n        // an empty !() is exactly equivalent to a starNoEmpty\n        let final = '';\n        if (this.type === '!' && this.#emptyExt) {\n            final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty;\n        }\n        else {\n            const close = this.type === '!'\n                ? // !() must match something,but !(x) can match ''\n                    '))' +\n                        (this.isStart() && !dot && !allowDot ? startNoDot : '') +\n                        star +\n                        ')'\n                : this.type === '@'\n                    ? ')'\n                    : this.type === '?'\n                        ? ')?'\n                        : this.type === '+' && bodyDotAllowed\n                            ? ')'\n                            : this.type === '*' && bodyDotAllowed\n                                ? `)?`\n                                : `)${this.type}`;\n            final = start + body + close;\n        }\n        return [\n            final,\n            unescape(body),\n            (this.#hasMagic = !!this.#hasMagic),\n            this.#uflag,\n        ];\n    }\n    #partsToRegExp(dot) {\n        return this.#parts\n            .map(p => {\n            // extglob ASTs should only contain parent ASTs\n            /* c8 ignore start */\n            if (typeof p === 'string') {\n                throw new Error('string type in extglob ast??');\n            }\n            /* c8 ignore stop */\n            // can ignore hasMagic, because extglobs are already always magic\n            const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot);\n            this.#uflag = this.#uflag || uflag;\n            return re;\n        })\n            .filter(p => !(this.isStart() && this.isEnd()) || !!p)\n            .join('|');\n    }\n    static #parseGlob(glob, hasMagic, noEmpty = false) {\n        let escaping = false;\n        let re = '';\n        let uflag = false;\n        // multiple stars that aren't globstars coalesce into one *\n        let inStar = false;\n        for (let i = 0; i < glob.length; i++) {\n            const c = glob.charAt(i);\n            if (escaping) {\n                escaping = false;\n                re += (reSpecials.has(c) ? '\\\\' : '') + c;\n                inStar = false;\n                continue;\n            }\n            if (c === '\\\\') {\n                if (i === glob.length - 1) {\n                    re += '\\\\\\\\';\n                }\n                else {\n                    escaping = true;\n                }\n                continue;\n            }\n            if (c === '[') {\n                const [src, needUflag, consumed, magic] = parseClass(glob, i);\n                if (consumed) {\n                    re += src;\n                    uflag = uflag || needUflag;\n                    i += consumed - 1;\n                    hasMagic = hasMagic || magic;\n                    inStar = false;\n                    continue;\n                }\n            }\n            if (c === '*') {\n                if (inStar)\n                    continue;\n                inStar = true;\n                re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;\n                hasMagic = true;\n                continue;\n            }\n            else {\n                inStar = false;\n            }\n            if (c === '?') {\n                re += qmark;\n                hasMagic = true;\n                continue;\n            }\n            re += regExpEscape(c);\n        }\n        return [re, unescape(glob), !!hasMagic, uflag];\n    }\n}\n_a = AST;\n//# sourceMappingURL=ast.js.map","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","import expand from 'brace-expansion';\nimport { assertValidPattern } from './assert-valid-pattern.js';\nimport { AST } from './ast.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        AST: class AST extends orig.AST {\n            /* c8 ignore start */\n            constructor(type, parent, options = {}) {\n                super(type, parent, ext(def, options));\n            }\n            /* c8 ignore stop */\n            static fromGlob(pattern, options = {}) {\n                return orig.AST.fromGlob(pattern, ext(def, options));\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    maxGlobstarRecursion;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            // just collapse multiple ** portions into one\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (matched) {\n                    globParts[i] = [];\n                    globParts[j] = matched;\n                    break;\n                }\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        let fileStartIndex = 0;\n        let patternStartIndex = 0;\n        // UNC paths like //?/X:/... can match X:/... and vice versa\n        // Drive letters in absolute drive or unc paths are always compared\n        // case-insensitively.\n        if (this.isWindows) {\n            const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);\n            const fileUNC = !fileDrive &&\n                file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);\n            const patternUNC = !patternDrive &&\n                pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined;\n            const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined;\n            if (typeof fdi === 'number' && typeof pdi === 'number') {\n                const [fd, pd] = [\n                    file[fdi],\n                    pattern[pdi],\n                ];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    pattern[pdi] = fd;\n                    patternStartIndex = pdi;\n                    fileStartIndex = fdi;\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        if (pattern.includes(GLOBSTAR)) {\n            return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);\n        }\n        return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);\n    }\n    #matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {\n        const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);\n        const lastgs = pattern.lastIndexOf(GLOBSTAR);\n        const [head, body, tail] = partial ? [\n            pattern.slice(patternIndex, firstgs),\n            pattern.slice(firstgs + 1),\n            [],\n        ] : [\n            pattern.slice(patternIndex, firstgs),\n            pattern.slice(firstgs + 1, lastgs),\n            pattern.slice(lastgs + 1),\n        ];\n        if (head.length) {\n            const fileHead = file.slice(fileIndex, fileIndex + head.length);\n            if (!this.#matchOne(fileHead, head, partial, 0, 0))\n                return false;\n            fileIndex += head.length;\n        }\n        let fileTailMatch = 0;\n        if (tail.length) {\n            if (tail.length + fileIndex > file.length)\n                return false;\n            let tailStart = file.length - tail.length;\n            if (this.#matchOne(file, tail, partial, tailStart, 0)) {\n                fileTailMatch = tail.length;\n            }\n            else {\n                if (file[file.length - 1] !== '' ||\n                    fileIndex + tail.length === file.length) {\n                    return false;\n                }\n                tailStart--;\n                if (!this.#matchOne(file, tail, partial, tailStart, 0))\n                    return false;\n                fileTailMatch = tail.length + 1;\n            }\n        }\n        if (!body.length) {\n            let sawSome = !!fileTailMatch;\n            for (let i = fileIndex; i < file.length - fileTailMatch; i++) {\n                const f = String(file[i]);\n                sawSome = true;\n                if (f === '.' || f === '..' ||\n                    (!this.options.dot && f.startsWith('.'))) {\n                    return false;\n                }\n            }\n            return partial || sawSome;\n        }\n        const bodySegments = [[[], 0]];\n        let currentBody = bodySegments[0];\n        let nonGsParts = 0;\n        const nonGsPartsSums = [0];\n        for (const b of body) {\n            if (b === GLOBSTAR) {\n                nonGsPartsSums.push(nonGsParts);\n                currentBody = [[], 0];\n                bodySegments.push(currentBody);\n            }\n            else {\n                currentBody[0].push(b);\n                nonGsParts++;\n            }\n        }\n        let i = bodySegments.length - 1;\n        const fileLength = file.length - fileTailMatch;\n        for (const b of bodySegments) {\n            b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);\n        }\n        return !!this.#matchGlobStarBodySections(file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);\n    }\n    #matchGlobStarBodySections(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {\n        const bs = bodySegments[bodyIndex];\n        if (!bs) {\n            for (let i = fileIndex; i < file.length; i++) {\n                sawTail = true;\n                const f = file[i];\n                if (f === '.' || f === '..' ||\n                    (!this.options.dot && f.startsWith('.'))) {\n                    return false;\n                }\n            }\n            return sawTail;\n        }\n        const [body, after] = bs;\n        while (fileIndex <= after) {\n            const m = this.#matchOne(file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);\n            if (m && globStarDepth < this.maxGlobstarRecursion) {\n                const sub = this.#matchGlobStarBodySections(file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);\n                if (sub !== false)\n                    return sub;\n            }\n            const f = file[fileIndex];\n            if (f === '.' || f === '..' ||\n                (!this.options.dot && f.startsWith('.'))) {\n                return false;\n            }\n            fileIndex++;\n        }\n        return partial || null;\n    }\n    #matchOne(file, pattern, partial, fileIndex, patternIndex) {\n        let fi;\n        let pi;\n        let pl;\n        let fl;\n        for (fi = fileIndex, pi = patternIndex,\n            fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            let p = pattern[pi];\n            let f = file[fi];\n            this.debug(pattern, p, f);\n            /* c8 ignore start */\n            if (p === false || p === GLOBSTAR)\n                return false;\n            /* c8 ignore stop */\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        if (fi === fl && pi === pl) {\n            return true;\n        }\n        else if (fi === fl) {\n            return partial;\n        }\n        else if (pi === pl) {\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        const re = AST.fromGlob(pattern, this.options).toMMPattern();\n        if (fastTest && typeof re === 'object') {\n            // Avoids overriding in frozen environments\n            Reflect.defineProperty(re, 'test', { value: fastTest });\n        }\n        return re;\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = new Set(options.nocase ? ['i'] : []);\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => {\n                if (p instanceof RegExp) {\n                    for (const f of p.flags.split(''))\n                        flags.add(f);\n                }\n                return typeof p === 'string'\n                    ? regExpEscape(p)\n                    : p === GLOBSTAR\n                        ? GLOBSTAR\n                        : p._src;\n            });\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // need to wrap in parens if we had more than one thing with |,\n        // otherwise only the first will be anchored to ^ and the last to $\n        const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', ''];\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^' + open + re + close + '$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').+$';\n        try {\n            this.regexp = new RegExp(re, [...flags].join(''));\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js';\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.AST = AST;\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    for (const key of headers.keys()) {\n        output[key] = headers.get(key);\n    }\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","import { minimatch } from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\n// @ts-expect-error Types declare default export but runtime provides named export\nimport { EntityDecoder } from \"@nodable/entities\";\nimport nestedProp from \"nested-property\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction toJPathString(jPath) {\n    if (typeof jPath === \"string\") {\n        return jPath;\n    }\n    return jPath.toString(\".\", false);\n}\nfunction getParser({ attributeNamePrefix, attributeParsers, entityDecoder: entityDecoderOptions, tagParsers }) {\n    const parserOptions = {\n        allowBooleanAttributes: true,\n        attributeNamePrefix,\n        textNodeName: \"text\",\n        ignoreAttributes: false,\n        removeNSPrefix: true,\n        jPath: false,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        },\n        attributeValueProcessor(_, attrValue, jPath) {\n            const pathStr = toJPathString(jPath);\n            for (const processor of attributeParsers) {\n                try {\n                    const value = processor(pathStr, attrValue);\n                    if (value !== attrValue) {\n                        return value;\n                    }\n                }\n                catch (error) {\n                    // skipping this invalid processor\n                }\n            }\n            return attrValue;\n        },\n        tagValueProcessor(tagName, tagValue, jPath) {\n            const pathStr = toJPathString(jPath);\n            for (const processor of tagParsers) {\n                try {\n                    const value = processor(pathStr, tagValue);\n                    if (value !== tagValue) {\n                        return value;\n                    }\n                }\n                catch (error) {\n                    // skipping this invalid processor\n                }\n            }\n            return tagValue;\n        }\n    };\n    if (entityDecoderOptions) {\n        parserOptions.entityDecoder = new EntityDecoder({\n            limit: {\n                maxTotalExpansions: entityDecoderOptions.limit?.maxTotalExpansions ?? 0,\n                maxExpandedLength: entityDecoderOptions.limit?.maxExpandedLength ?? 0\n            }\n        });\n    }\n    return new XMLParser(parserOptions);\n}\n/**\n * Tag parser for the displayname prop.\n * Ensure that the displayname is not parsed and always handled as is.\n * @param path The jPath of the tag\n * @param value The text value of the tag\n */\nexport function displaynameTagParser(path, value) {\n    if (path.endsWith(\"propstat.prop.displayname\")) {\n        // Do not parse the displayname, because this causes e.g. '2024.10' to result in number 2024.1\n        return;\n    }\n    return value;\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @param context The current client context\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml, context) {\n    // backwards compatibility as this method is exported from the package\n    context = context ?? {\n        attributeNamePrefix: \"@\",\n        attributeParsers: [],\n        tagParsers: [displaynameTagParser]\n    };\n    return new Promise(resolve => {\n        const result = getParser(context).parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\n/**\n * Get a file stat result from given DAV properties\n * @param props DAV properties\n * @param filename The filename for the file stat\n * @param isDetailed Whether or not the raw props of the resource should be returned\n * @returns A file stat result\n */\nexport function prepareFileFromProps(props, filename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        // The XML parser tries to interpret values, but the display name is required to be a string\n        if (typeof props.displayname !== \"undefined\") {\n            props.displayname = String(props.displayname);\n        }\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (String(value)) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(String(value), 10);\n    }\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { DAVResult, FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { parseXML } from 'webdav'\nimport { processResponsePayload } from 'webdav/dist/node/response.js'\nimport { prepareFileFromProps } from 'webdav/dist/node/tools/dav.js'\nimport client from './DavClient.ts'\n\nexport const DEFAULT_LIMIT = 20\n\n/**\n * Retrieve the comments list\n *\n * @param data destructuring object\n * @param data.resourceType the resource type\n * @param data.resourceId the resource ID\n * @param [options] optional options for axios\n * @param [options.offset] the pagination offset\n * @param [options.limit] the pagination limit, defaults to 20\n * @param [options.datetime] optional date to query\n * @return the comments list\n */\nexport async function getComments({ resourceType, resourceId }, options: { offset: number, limit?: number, datetime?: Date }) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\tconst datetime = options.datetime ? `${options.datetime.toISOString()}` : ''\n\tconst response = await client.customRequest(resourcePath, {\n\t\tmethod: 'REPORT',\n\t\tdata: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n\t\t...options,\n\t})\n\n\tconst responseData = await response.text()\n\tconst result = await parseXML(responseData)\n\tconst stat = getDirectoryFiles(result, true)\n\t// https://github.com/perry-mitchell/webdav-client/issues/339\n\treturn processResponsePayload(response, stat, true) as ResponseDataDetailed\n}\n\n/**\n * https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\n *\n * @param result\n * @param isDetailed\n */\nfunction getDirectoryFiles(\n\tresult: DAVResult,\n\tisDetailed = false,\n): Array {\n\t// Extract the response items (directory contents)\n\tconst {\n\t\tmultistatus: { response: responseItems },\n\t} = result\n\n\t// Map all items to a consistent output structure (results)\n\treturn responseItems.map((item) => {\n\t\t// Each item should contain a stat object\n\t\tconst props = item.propstat!.prop!\n\n\t\treturn prepareFileFromProps(props, props.id!.toString(), isDetailed)\n\t})\n}\n"],"names":["getRootPath","generateRemoteUrl","client","createClient","setHeaders","token","onRequestTokenUpdate","getRequestToken","balancedMatch","balanced","a","b","str","maybeMatch","r","range","reg","m","begs","beg","left","right","result","ai","bi","i","require$$0","braceExpansion","expandTop","escSlash","escOpen","escClose","escComma","escPeriod","EXPANSION_MAX","EXPANSION_MAX_LENGTH","numeric","escapeBraces","unescapeBraces","parseCommaParts","parts","pre","body","post","p","postParts","options","max","maxLength","expand","embrace","isPadded","el","lte","y","gte","combine","acc","values","dropEmpties","out","length","v","expansion","expandSequence","isAlphaSequence","n","N","x","width","incr","test","reverse","pad","c","need","z","isTop","firstGroup","isNumericSequence","isSequence","isOptions","dropsEmpties","d","valuesLength","outer","j","expanded","k","MAX_PATTERN_LENGTH","assertValidPattern","pattern","posixClasses","braceEscape","s","regexpEscape","rangesToString","ranges","parseClass","glob","position","pos","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","cls","unip","u","neg","sranges","snegs","unescape","windowsPathsNoEscape","_a","types","isExtglobType","isExtglobAST","adoptionMap","adoptionWithSpaceMap","adoptionAnyMap","usurpMap","startNoTraversal","startNoDot","addPatternStart","justDots","reSpecials","regExpEscape","qmark","star","starNoEmpty","AST","#root","#hasMagic","#uflag","#parts","#parent","#parentIndex","#negs","#filledNegs","#options","#toString","#emptyExt","type","parent","#fillNegs","pp","part","ret","pl","#parseAST","ast","opt","extDepth","maxDepth","inBrace","braceStart","braceNeg","ext","#canAdoptType","depthAdd","#canAdoptWithSpace","child","#canAdopt","map","gc","#adoptWithSpace","index","blank","#adopt","#canUsurpType","#canUsurp","#usurp","nt","#flatten","iterations","done","re","hasMagic","flags","allowDot","dot","noEmpty","src","_","#parseGlob","start","aps","needNoTrav","needNoDot","end","repeated","#partsToRegExp","me","bodyDotAllowed","final","close","_hasMagic","inStar","needUflag","consumed","magic","escape","minimatch","Minimatch","starDotExtRE","starDotExtTest","f","starDotExtTestDot","starDotExtTestNocase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","define_process_env_default","path","sep","GLOBSTAR","twoStarDot","twoStarNoDot","filter","defaults","def","orig","list","braceExpand","makeRe","match","mm","globMagic","args","rawGlobParts","set","__","isUNC","isDrive","ss","globParts","optimizationLevel","gs","prev","didSomething","dd","gss","next","p2","other","splin","matched","emptyGSMatch","which","negateOffset","file","partial","fileStartIndex","patternStartIndex","fileDrive","fileUNC","patternDrive","patternUNC","fdi","pdi","fd","pd","#matchGlobstar","#matchOne","fileIndex","patternIndex","firstgs","lastgs","head","tail","fileHead","fileTailMatch","tailStart","sawSome","bodySegments","currentBody","nonGsParts","nonGsPartsSums","fileLength","#matchGlobStarBodySections","bodyIndex","globStarDepth","sawTail","bs","after","sub","fi","pi","fl","hit","fastTest","twoStar","open","ff","filename","convertResponseHeaders","headers","output","key","processResponsePayload","response","data","isDetailed","util","isString","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","segment","from","to","trim","arr","fromParts","toParts","samePartsLength","outputParts","root","dir","pathObject","base","pathString","allParts","pathPosix","_typeof","obj","_classCallCheck","instance","Constructor","_possibleConstructorReturn","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","_wrapNativeSuper","Class","_cache","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","Parent","_isNativeReflectConstruct","fn","o","ARRAY_WILDCARD","PATH_DELIMITER","ObjectPrototypeMutationError","_Error","params","_this","nestedProperty","setNestedProperty","getNestedProperty","hasNestedProperty","object","property","isInNestedProperty","traverse","currentObject","currentProperty","has","segments","isLastSegment","value","nextPropIsNumber","nextPropIsArrayWildcard","err","objectInPath","isIn","pathExists","callback","_loop","idx","currentSegment","remainingSegments","pathToHere","_ret","PropertyType","prepareFileFromProps","props","lastMod","rawSize","resourceType","mimeType","etag","stat","DEFAULT_LIMIT","getComments","resourceId","resourcePath","datetime","responseData","parseXML","getDirectoryFiles","responseItems","item"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14]}
\ No newline at end of file
diff --git a/dist/SetStatusModal---TlI7zt.chunk.mjs b/dist/SetStatusModal-CwtN6IY3.chunk.mjs
similarity index 99%
rename from dist/SetStatusModal---TlI7zt.chunk.mjs
rename to dist/SetStatusModal-CwtN6IY3.chunk.mjs
index 0aff879e293fe..c25f221867ce3 100644
--- a/dist/SetStatusModal---TlI7zt.chunk.mjs
+++ b/dist/SetStatusModal-CwtN6IY3.chunk.mjs
@@ -1,2 +1,2 @@
-import{a as v}from"./index--CXeJKGn.chunk.mjs";import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{b as O}from"./index-BRcsAfAF.chunk.mjs";import{N as A}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as q}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{N as x}from"./index-DF7qcH5u.chunk.mjs";import{c as C,m as R,a as T,O as j,l as I}from"./user_status-menu.mjs";import{_ as S}from"./public-C1mLBHT3.chunk.mjs";import{r as c,o as n,f as m,g as a,t as l,k as p,w as g,j as b,F as $,B,c as y,a6 as M,m as L,L as U,h as k}from"./Web-X6XNrbMx.chunk.mjs";import{N as V}from"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import{_ as E}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{N as D}from"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";function H(){return[{label:s("user_status","Don't clear"),clearAt:null},{label:s("user_status","30 minutes"),clearAt:{type:"period",time:1800}},{label:s("user_status","1 hour"),clearAt:{type:"period",time:3600}},{label:s("user_status","4 hours"),clearAt:{type:"period",time:14400}},{label:s("user_status","Today"),clearAt:{type:"end-of",time:"day"}},{label:s("user_status","This week"),clearAt:{type:"end-of",time:"week"}}]}const W={name:"ClearAtSelect",components:{NcSelect:x},props:{clearAt:{type:Object,default:null}},emits:["selectClearAt"],data(){return{options:H()}},computed:{option(){return{clearAt:this.clearAt,label:C(this.clearAt)}}},methods:{t:s,select(t){t&&this.$emit("selectClearAt",t.clearAt)}}},z={class:"clear-at-select"},K={class:"clear-at-select__label",for:"clearStatus"};function Y(t,i,u,_,o,e){const d=c("NcSelect");return n(),m("div",z,[a("label",K,l(e.t("user_status","Clear status after")),1),p(d,{inputId:"clearStatus",class:"clear-at-select__select",options:o.options,modelValue:e.option,clearable:!1,placement:"top",labelOutside:"","onOption:selected":e.select},null,8,["options","modelValue","onOption:selected"])])}const G=S(W,[["render",Y],["__scopeId","data-v-83a07433"]]),J={name:"CustomMessageInput",components:{NcTextField:E,NcButton:A,NcEmojiPicker:V},props:{icon:{type:String,default:"😀"},message:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["change","selectIcon"],computed:{visibleIcon(){return this.icon||"😀"}},methods:{t:s,focus(){this.$refs.input.focus()},onChange(t){this.$emit("change",t)},setIcon(t){this.$emit("selectIcon",t)}}},Q={class:"custom-input",role:"group"},X={class:"custom-input__container"};function Z(t,i,u,_,o,e){const d=c("NcButton"),r=c("NcEmojiPicker"),f=c("NcTextField");return n(),m("div",Q,[p(r,{container:"#user_status-dialog",onSelect:e.setIcon},{default:g(()=>[p(d,{variant:"tertiary","aria-label":e.t("user_status","Emoji for your status message")},{icon:g(()=>[b(l(e.visibleIcon),1)]),_:1},8,["aria-label"])]),_:1},8,["onSelect"]),a("div",X,[p(f,{ref:"input",maxlength:"80",disabled:u.disabled,placeholder:e.t("user_status","What is your status?"),modelValue:u.message,type:"text",label:e.t("user_status","What is your status?"),"onUpdate:modelValue":e.onChange},null,8,["disabled","placeholder","modelValue","label","onUpdate:modelValue"])])])}const ee=S(J,[["render",Z],["__scopeId","data-v-90dc6f12"]]),te={name:"OnlineStatusSelect",components:{NcUserStatusIcon:D},props:{checked:{type:Boolean,default:!1},type:{type:String,required:!0},label:{type:String,required:!0},subline:{type:String,default:null}},emits:["select"],computed:{id(){return`user-status-online-status-${this.type}`}},methods:{onChange(){this.$emit("select",this.type)}}},se={class:"user-status-online-select"},ae=["id","checked"],ie=["for"],re={class:"user-status-online-select__icon-wrapper"},ue={class:"user-status-online-select__subline"};function le(t,i,u,_,o,e){const d=c("NcUserStatusIcon");return n(),m("div",se,[a("input",{id:e.id,checked:u.checked,class:"hidden-visually user-status-online-select__input",type:"radio",name:"user-status-online",onChange:i[0]||(i[0]=(...r)=>e.onChange&&e.onChange(...r))},null,40,ae),a("label",{for:e.id,class:"user-status-online-select__label"},[a("span",re,[p(d,{status:u.type,class:"user-status-online-select__icon","aria-hidden":"true"},null,8,["status"])]),b(" "+l(u.label)+" ",1),a("em",ue,l(u.subline),1)],8,ie)])}const ne=S(te,[["render",le],["__scopeId","data-v-16876893"]]),ce={name:"PredefinedStatus",props:{messageId:{type:String,required:!0},icon:{type:String,required:!0},message:{type:String,required:!0},clearAt:{type:Object,required:!1,default:null},selected:{type:Boolean,required:!1,default:!1}},emits:["select"],computed:{id(){return`user-status-predefined-status-${this.messageId}`},formattedClearAt(){return C(this.clearAt)}},methods:{select(){this.$emit("select")}}},oe={class:"predefined-status"},de=["id","checked"],pe=["for"],me={"aria-hidden":"true",class:"predefined-status__label--icon"},he={class:"predefined-status__label--message"},ge={class:"predefined-status__label--clear-at"};function Se(t,i,u,_,o,e){return n(),m("li",oe,[a("input",{id:e.id,class:"hidden-visually predefined-status__input",type:"radio",name:"predefined-status",checked:u.selected,onChange:i[0]||(i[0]=(...d)=>e.select&&e.select(...d))},null,40,de),a("label",{class:"predefined-status__label",for:e.id},[a("span",me,l(u.icon),1),a("span",he,l(u.message),1),a("span",ge,l(e.formattedClearAt),1)],8,pe)])}const _e=S(ce,[["render",Se],["__scopeId","data-v-200bf95b"]]),fe={name:"PredefinedStatusesList",components:{PredefinedStatus:_e},emits:["selectStatus"],data(){return{lastSelected:null}},computed:{...T({predefinedStatuses:t=>t.predefinedStatuses.predefinedStatuses,messageId:t=>t.userStatus.messageId}),...R(["statusesHaveLoaded"])},watch:{messageId:{immediate:!0,handler(){this.lastSelected=this.messageId}}},created(){this.$store.dispatch("loadAllPredefinedStatuses")},methods:{t:s,selectStatus(t){this.lastSelected=t.id,this.$emit("selectStatus",t)}}},be=["aria-label"],ye={key:1,class:"predefined-statuses-list"};function ve(t,i,u,_,o,e){const d=c("PredefinedStatus");return t.statusesHaveLoaded?(n(),m("ul",{key:0,class:"predefined-statuses-list","aria-label":e.t("user_status","Predefined statuses")},[(n(!0),m($,null,B(t.predefinedStatuses,r=>(n(),y(d,{key:r.id,messageId:r.id,icon:r.icon,message:r.message,clearAt:r.clearAt,selected:o.lastSelected===r.id,onSelect:f=>e.selectStatus(r)},null,8,["messageId","icon","message","clearAt","selected","onSelect"]))),128))],8,be)):(n(),m("div",ye,[...i[0]||(i[0]=[a("div",{class:"icon icon-loading-small"},null,-1)])]))}const Ie=S(fe,[["render",ve],["__scopeId","data-v-b7009355"]]),ke={name:"PreviousStatus",components:{NcButton:A},props:{icon:{type:[String,null],required:!0},message:{type:String,required:!0}},emits:["select"],methods:{t:s,select(){this.$emit("select")}}},Ae={class:"predefined-status__icon"},Me={class:"predefined-status__message"},Ce={class:"predefined-status__clear-at"},$e={class:"backup-status__reset-button"};function Be(t,i,u,_,o,e){const d=c("NcButton");return n(),m("div",{class:"predefined-status backup-status",tabindex:"0",onKeyup:[i[0]||(i[0]=M((...r)=>e.select&&e.select(...r),["enter"])),i[1]||(i[1]=M((...r)=>e.select&&e.select(...r),["space"]))],onClick:i[2]||(i[2]=(...r)=>e.select&&e.select(...r))},[a("span",Ae,l(u.icon),1),a("span",Me,l(u.message),1),a("span",Ce,l(e.t("user_status","Previously set")),1),a("div",$e,[p(d,{onClick:e.select},{default:g(()=>[b(l(e.t("user_status","Reset status")),1)]),_:1},8,["onClick"])])],32)}const Ne=S(ke,[["render",Be],["__scopeId","data-v-5fa747a0"]]);function Pe(){return[{type:"online",label:s("user_status","Online")},{type:"away",label:s("user_status","Away")},{type:"busy",label:s("user_status","Busy")},{type:"dnd",label:s("user_status","Do not disturb"),subline:s("user_status","Mute all notifications")},{type:"invisible",label:s("user_status","Invisible"),subline:s("user_status","Appear offline")}]}const we={name:"SetStatusModal",components:{ClearAtSelect:G,CustomMessageInput:ee,NcModal:q,OnlineStatusSelect:ne,PredefinedStatusesList:Ie,PreviousStatus:Ne,NcButton:A},mixins:[j],props:{inline:{type:Boolean,default:!1}},emits:["close"],data(){return{clearAt:null,editedMessage:"",predefinedMessageId:null,isSavingStatus:!1,statuses:Pe()}},computed:{messageId(){return this.$store.state.userStatus.messageId},icon(){return this.$store.state.userStatus.icon},message(){return this.$store.state.userStatus.message||""},hasBackupStatus(){return this.messageId&&(this.backupIcon||this.backupMessage)},backupIcon(){return this.$store.state.userBackupStatus.icon||""},backupMessage(){return this.$store.state.userBackupStatus.message||""},absencePageUrl(){return O("settings/user/availability#absence")},resetButtonText(){return this.backupIcon&&this.backupMessage?s("user_status",'Reset status to "{icon} {message}"',{icon:this.backupIcon,message:this.backupMessage}):this.backupMessage?s("user_status",'Reset status to "{message}"',{message:this.backupMessage}):this.backupIcon?s("user_status",'Reset status to "{icon}"',{icon:this.backupIcon}):s("user_status","Reset status")},setReturnFocus(){if(!this.inline)return document.querySelector('[aria-controls="header-menu-user-menu"]')??void 0}},watch:{message:{immediate:!0,handler(t){this.editedMessage=t}}},mounted(){this.$store.dispatch("fetchBackupFromServer"),this.predefinedMessageId=this.$store.state.userStatus.messageId,this.$store.state.userStatus.clearAt!==null&&(this.clearAt={type:"_time",time:this.$store.state.userStatus.clearAt})},methods:{t:s,closeModal(){this.$emit("close")},setIcon(t){this.predefinedMessageId=null,this.$store.dispatch("setCustomMessage",{message:this.message,icon:t,clearAt:this.clearAt}),this.$nextTick(()=>{this.$refs.customMessageInput.focus()})},setMessage(t){this.predefinedMessageId=null,this.editedMessage=t},setClearAt(t){this.clearAt=t},selectPredefinedMessage(t){this.predefinedMessageId=t.id,this.clearAt=t.clearAt,this.$store.dispatch("setPredefinedMessage",{messageId:t.id,clearAt:t.clearAt})},async saveStatus(){if(!this.isSavingStatus){try{this.isSavingStatus=!0,this.predefinedMessageId===null?await this.$store.dispatch("setCustomMessage",{message:this.editedMessage,icon:this.icon,clearAt:this.clearAt}):this.$store.dispatch("setPredefinedMessage",{messageId:this.predefinedMessageId,clearAt:this.clearAt})}catch(t){v(s("user_status","There was an error saving the status")),I.debug(t),this.isSavingStatus=!1;return}this.isSavingStatus=!1,this.closeModal()}},async clearStatus(){try{this.isSavingStatus=!0,await this.$store.dispatch("clearMessage")}catch(t){v(s("user_status","There was an error clearing the status")),I.debug(t),this.isSavingStatus=!1;return}this.isSavingStatus=!1,this.predefinedMessageId=null,this.closeModal()},async revertBackupFromServer(){try{this.isSavingStatus=!0,await this.$store.dispatch("revertBackupFromServer",{messageId:this.messageId})}catch(t){v(s("user_status","There was an error reverting the status")),I.debug(t),this.isSavingStatus=!1;return}this.isSavingStatus=!1,this.predefinedMessageId=this.$store.state.userStatus?.messageId}}},Fe={class:"set-status-modal"},Oe={id:"user_status-set-dialog",class:"set-status-modal__header"},qe=["aria-label"],xe={class:"set-status-modal__header"},Re={class:"set-status-modal__custom-input"},Te={key:0,class:"set-status-modal__automation-hint"},je={class:"status-buttons"};function Le(t,i,u,_,o,e){const d=c("OnlineStatusSelect"),r=c("CustomMessageInput"),f=c("NcButton"),N=c("PreviousStatus"),P=c("PredefinedStatusesList"),w=c("ClearAtSelect"),F=c("NcModal");return n(),y(F,{id:"user_status-dialog",size:"normal",labelId:"user_status-set-dialog",dark:"",setReturnFocus:e.setReturnFocus,onClose:e.closeModal},{default:g(()=>[a("div",Fe,[a("h2",Oe,l(e.t("user_status","Online status")),1),a("div",{class:"set-status-modal__online-status",role:"radiogroup","aria-label":e.t("user_status","Online status")},[(n(!0),m($,null,B(o.statuses,h=>(n(),y(d,L({key:h.type},{ref_for:!0},h,{checked:h.type===t.statusType,onSelect:t.changeStatus}),null,16,["checked","onSelect"]))),128))],8,qe),a("form",{onSubmit:i[0]||(i[0]=U((...h)=>e.saveStatus&&e.saveStatus(...h),["prevent"])),onReset:i[1]||(i[1]=(...h)=>e.clearStatus&&e.clearStatus(...h))},[a("h3",xe,l(e.t("user_status","Status message")),1),a("div",Re,[p(r,{ref:"customMessageInput",icon:e.icon,message:o.editedMessage,onChange:e.setMessage,onSelectIcon:e.setIcon},null,8,["icon","message","onChange","onSelectIcon"]),e.messageId==="vacationing"?(n(),y(f,{key:0,href:e.absencePageUrl,target:"_blank",variant:"secondary","aria-label":e.t("user_status","Set absence period")},{default:g(()=>[b(l(e.t("user_status","Set absence period and replacement")+" ↗"),1)]),_:1},8,["href","aria-label"])):k("",!0)]),e.hasBackupStatus?(n(),m("div",Te,l(e.t("user_status","Your status was set automatically")),1)):k("",!0),e.hasBackupStatus?(n(),y(N,{key:1,icon:e.backupIcon,message:e.backupMessage,onSelect:e.revertBackupFromServer},null,8,["icon","message","onSelect"])):k("",!0),p(P,{onSelectStatus:e.selectPredefinedMessage},null,8,["onSelectStatus"]),p(w,{clearAt:o.clearAt,onSelectClearAt:e.setClearAt},null,8,["clearAt","onSelectClearAt"]),a("div",je,[p(f,{wide:!0,variant:"tertiary",type:"reset","aria-label":e.t("user_status","Clear status message"),disabled:o.isSavingStatus},{default:g(()=>[b(l(e.t("user_status","Clear status message")),1)]),_:1},8,["aria-label","disabled"]),p(f,{wide:!0,variant:"primary",type:"submit","aria-label":e.t("user_status","Set status message"),disabled:o.isSavingStatus},{default:g(()=>[b(l(e.t("user_status","Set status message")),1)]),_:1},8,["aria-label","disabled"])])],32)])]),_:1},8,["setReturnFocus","onClose"])}const ct=S(we,[["render",Le],["__scopeId","data-v-e87f4d59"]]);export{ct as default};
-//# sourceMappingURL=SetStatusModal---TlI7zt.chunk.mjs.map
+import{a as v}from"./index-9np_X5jS.chunk.mjs";import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{b as O}from"./index-BRcsAfAF.chunk.mjs";import{N as A}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as q}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{N as x}from"./index-DF7qcH5u.chunk.mjs";import{c as C,m as R,a as T,O as j,l as I}from"./user_status-menu.mjs";import{_ as S}from"./public-C1mLBHT3.chunk.mjs";import{r as c,o as n,f as m,g as a,t as l,k as p,w as g,j as b,F as $,B,c as y,a6 as M,m as L,L as U,h as k}from"./Web-X6XNrbMx.chunk.mjs";import{N as V}from"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import{_ as E}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{N as D}from"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";function H(){return[{label:s("user_status","Don't clear"),clearAt:null},{label:s("user_status","30 minutes"),clearAt:{type:"period",time:1800}},{label:s("user_status","1 hour"),clearAt:{type:"period",time:3600}},{label:s("user_status","4 hours"),clearAt:{type:"period",time:14400}},{label:s("user_status","Today"),clearAt:{type:"end-of",time:"day"}},{label:s("user_status","This week"),clearAt:{type:"end-of",time:"week"}}]}const W={name:"ClearAtSelect",components:{NcSelect:x},props:{clearAt:{type:Object,default:null}},emits:["selectClearAt"],data(){return{options:H()}},computed:{option(){return{clearAt:this.clearAt,label:C(this.clearAt)}}},methods:{t:s,select(t){t&&this.$emit("selectClearAt",t.clearAt)}}},z={class:"clear-at-select"},K={class:"clear-at-select__label",for:"clearStatus"};function Y(t,i,u,_,o,e){const d=c("NcSelect");return n(),m("div",z,[a("label",K,l(e.t("user_status","Clear status after")),1),p(d,{inputId:"clearStatus",class:"clear-at-select__select",options:o.options,modelValue:e.option,clearable:!1,placement:"top",labelOutside:"","onOption:selected":e.select},null,8,["options","modelValue","onOption:selected"])])}const G=S(W,[["render",Y],["__scopeId","data-v-83a07433"]]),J={name:"CustomMessageInput",components:{NcTextField:E,NcButton:A,NcEmojiPicker:V},props:{icon:{type:String,default:"😀"},message:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["change","selectIcon"],computed:{visibleIcon(){return this.icon||"😀"}},methods:{t:s,focus(){this.$refs.input.focus()},onChange(t){this.$emit("change",t)},setIcon(t){this.$emit("selectIcon",t)}}},Q={class:"custom-input",role:"group"},X={class:"custom-input__container"};function Z(t,i,u,_,o,e){const d=c("NcButton"),r=c("NcEmojiPicker"),f=c("NcTextField");return n(),m("div",Q,[p(r,{container:"#user_status-dialog",onSelect:e.setIcon},{default:g(()=>[p(d,{variant:"tertiary","aria-label":e.t("user_status","Emoji for your status message")},{icon:g(()=>[b(l(e.visibleIcon),1)]),_:1},8,["aria-label"])]),_:1},8,["onSelect"]),a("div",X,[p(f,{ref:"input",maxlength:"80",disabled:u.disabled,placeholder:e.t("user_status","What is your status?"),modelValue:u.message,type:"text",label:e.t("user_status","What is your status?"),"onUpdate:modelValue":e.onChange},null,8,["disabled","placeholder","modelValue","label","onUpdate:modelValue"])])])}const ee=S(J,[["render",Z],["__scopeId","data-v-90dc6f12"]]),te={name:"OnlineStatusSelect",components:{NcUserStatusIcon:D},props:{checked:{type:Boolean,default:!1},type:{type:String,required:!0},label:{type:String,required:!0},subline:{type:String,default:null}},emits:["select"],computed:{id(){return`user-status-online-status-${this.type}`}},methods:{onChange(){this.$emit("select",this.type)}}},se={class:"user-status-online-select"},ae=["id","checked"],ie=["for"],re={class:"user-status-online-select__icon-wrapper"},ue={class:"user-status-online-select__subline"};function le(t,i,u,_,o,e){const d=c("NcUserStatusIcon");return n(),m("div",se,[a("input",{id:e.id,checked:u.checked,class:"hidden-visually user-status-online-select__input",type:"radio",name:"user-status-online",onChange:i[0]||(i[0]=(...r)=>e.onChange&&e.onChange(...r))},null,40,ae),a("label",{for:e.id,class:"user-status-online-select__label"},[a("span",re,[p(d,{status:u.type,class:"user-status-online-select__icon","aria-hidden":"true"},null,8,["status"])]),b(" "+l(u.label)+" ",1),a("em",ue,l(u.subline),1)],8,ie)])}const ne=S(te,[["render",le],["__scopeId","data-v-16876893"]]),ce={name:"PredefinedStatus",props:{messageId:{type:String,required:!0},icon:{type:String,required:!0},message:{type:String,required:!0},clearAt:{type:Object,required:!1,default:null},selected:{type:Boolean,required:!1,default:!1}},emits:["select"],computed:{id(){return`user-status-predefined-status-${this.messageId}`},formattedClearAt(){return C(this.clearAt)}},methods:{select(){this.$emit("select")}}},oe={class:"predefined-status"},de=["id","checked"],pe=["for"],me={"aria-hidden":"true",class:"predefined-status__label--icon"},he={class:"predefined-status__label--message"},ge={class:"predefined-status__label--clear-at"};function Se(t,i,u,_,o,e){return n(),m("li",oe,[a("input",{id:e.id,class:"hidden-visually predefined-status__input",type:"radio",name:"predefined-status",checked:u.selected,onChange:i[0]||(i[0]=(...d)=>e.select&&e.select(...d))},null,40,de),a("label",{class:"predefined-status__label",for:e.id},[a("span",me,l(u.icon),1),a("span",he,l(u.message),1),a("span",ge,l(e.formattedClearAt),1)],8,pe)])}const _e=S(ce,[["render",Se],["__scopeId","data-v-200bf95b"]]),fe={name:"PredefinedStatusesList",components:{PredefinedStatus:_e},emits:["selectStatus"],data(){return{lastSelected:null}},computed:{...T({predefinedStatuses:t=>t.predefinedStatuses.predefinedStatuses,messageId:t=>t.userStatus.messageId}),...R(["statusesHaveLoaded"])},watch:{messageId:{immediate:!0,handler(){this.lastSelected=this.messageId}}},created(){this.$store.dispatch("loadAllPredefinedStatuses")},methods:{t:s,selectStatus(t){this.lastSelected=t.id,this.$emit("selectStatus",t)}}},be=["aria-label"],ye={key:1,class:"predefined-statuses-list"};function ve(t,i,u,_,o,e){const d=c("PredefinedStatus");return t.statusesHaveLoaded?(n(),m("ul",{key:0,class:"predefined-statuses-list","aria-label":e.t("user_status","Predefined statuses")},[(n(!0),m($,null,B(t.predefinedStatuses,r=>(n(),y(d,{key:r.id,messageId:r.id,icon:r.icon,message:r.message,clearAt:r.clearAt,selected:o.lastSelected===r.id,onSelect:f=>e.selectStatus(r)},null,8,["messageId","icon","message","clearAt","selected","onSelect"]))),128))],8,be)):(n(),m("div",ye,[...i[0]||(i[0]=[a("div",{class:"icon icon-loading-small"},null,-1)])]))}const Ie=S(fe,[["render",ve],["__scopeId","data-v-b7009355"]]),ke={name:"PreviousStatus",components:{NcButton:A},props:{icon:{type:[String,null],required:!0},message:{type:String,required:!0}},emits:["select"],methods:{t:s,select(){this.$emit("select")}}},Ae={class:"predefined-status__icon"},Me={class:"predefined-status__message"},Ce={class:"predefined-status__clear-at"},$e={class:"backup-status__reset-button"};function Be(t,i,u,_,o,e){const d=c("NcButton");return n(),m("div",{class:"predefined-status backup-status",tabindex:"0",onKeyup:[i[0]||(i[0]=M((...r)=>e.select&&e.select(...r),["enter"])),i[1]||(i[1]=M((...r)=>e.select&&e.select(...r),["space"]))],onClick:i[2]||(i[2]=(...r)=>e.select&&e.select(...r))},[a("span",Ae,l(u.icon),1),a("span",Me,l(u.message),1),a("span",Ce,l(e.t("user_status","Previously set")),1),a("div",$e,[p(d,{onClick:e.select},{default:g(()=>[b(l(e.t("user_status","Reset status")),1)]),_:1},8,["onClick"])])],32)}const Ne=S(ke,[["render",Be],["__scopeId","data-v-5fa747a0"]]);function Pe(){return[{type:"online",label:s("user_status","Online")},{type:"away",label:s("user_status","Away")},{type:"busy",label:s("user_status","Busy")},{type:"dnd",label:s("user_status","Do not disturb"),subline:s("user_status","Mute all notifications")},{type:"invisible",label:s("user_status","Invisible"),subline:s("user_status","Appear offline")}]}const we={name:"SetStatusModal",components:{ClearAtSelect:G,CustomMessageInput:ee,NcModal:q,OnlineStatusSelect:ne,PredefinedStatusesList:Ie,PreviousStatus:Ne,NcButton:A},mixins:[j],props:{inline:{type:Boolean,default:!1}},emits:["close"],data(){return{clearAt:null,editedMessage:"",predefinedMessageId:null,isSavingStatus:!1,statuses:Pe()}},computed:{messageId(){return this.$store.state.userStatus.messageId},icon(){return this.$store.state.userStatus.icon},message(){return this.$store.state.userStatus.message||""},hasBackupStatus(){return this.messageId&&(this.backupIcon||this.backupMessage)},backupIcon(){return this.$store.state.userBackupStatus.icon||""},backupMessage(){return this.$store.state.userBackupStatus.message||""},absencePageUrl(){return O("settings/user/availability#absence")},resetButtonText(){return this.backupIcon&&this.backupMessage?s("user_status",'Reset status to "{icon} {message}"',{icon:this.backupIcon,message:this.backupMessage}):this.backupMessage?s("user_status",'Reset status to "{message}"',{message:this.backupMessage}):this.backupIcon?s("user_status",'Reset status to "{icon}"',{icon:this.backupIcon}):s("user_status","Reset status")},setReturnFocus(){if(!this.inline)return document.querySelector('[aria-controls="header-menu-user-menu"]')??void 0}},watch:{message:{immediate:!0,handler(t){this.editedMessage=t}}},mounted(){this.$store.dispatch("fetchBackupFromServer"),this.predefinedMessageId=this.$store.state.userStatus.messageId,this.$store.state.userStatus.clearAt!==null&&(this.clearAt={type:"_time",time:this.$store.state.userStatus.clearAt})},methods:{t:s,closeModal(){this.$emit("close")},setIcon(t){this.predefinedMessageId=null,this.$store.dispatch("setCustomMessage",{message:this.message,icon:t,clearAt:this.clearAt}),this.$nextTick(()=>{this.$refs.customMessageInput.focus()})},setMessage(t){this.predefinedMessageId=null,this.editedMessage=t},setClearAt(t){this.clearAt=t},selectPredefinedMessage(t){this.predefinedMessageId=t.id,this.clearAt=t.clearAt,this.$store.dispatch("setPredefinedMessage",{messageId:t.id,clearAt:t.clearAt})},async saveStatus(){if(!this.isSavingStatus){try{this.isSavingStatus=!0,this.predefinedMessageId===null?await this.$store.dispatch("setCustomMessage",{message:this.editedMessage,icon:this.icon,clearAt:this.clearAt}):this.$store.dispatch("setPredefinedMessage",{messageId:this.predefinedMessageId,clearAt:this.clearAt})}catch(t){v(s("user_status","There was an error saving the status")),I.debug(t),this.isSavingStatus=!1;return}this.isSavingStatus=!1,this.closeModal()}},async clearStatus(){try{this.isSavingStatus=!0,await this.$store.dispatch("clearMessage")}catch(t){v(s("user_status","There was an error clearing the status")),I.debug(t),this.isSavingStatus=!1;return}this.isSavingStatus=!1,this.predefinedMessageId=null,this.closeModal()},async revertBackupFromServer(){try{this.isSavingStatus=!0,await this.$store.dispatch("revertBackupFromServer",{messageId:this.messageId})}catch(t){v(s("user_status","There was an error reverting the status")),I.debug(t),this.isSavingStatus=!1;return}this.isSavingStatus=!1,this.predefinedMessageId=this.$store.state.userStatus?.messageId}}},Fe={class:"set-status-modal"},Oe={id:"user_status-set-dialog",class:"set-status-modal__header"},qe=["aria-label"],xe={class:"set-status-modal__header"},Re={class:"set-status-modal__custom-input"},Te={key:0,class:"set-status-modal__automation-hint"},je={class:"status-buttons"};function Le(t,i,u,_,o,e){const d=c("OnlineStatusSelect"),r=c("CustomMessageInput"),f=c("NcButton"),N=c("PreviousStatus"),P=c("PredefinedStatusesList"),w=c("ClearAtSelect"),F=c("NcModal");return n(),y(F,{id:"user_status-dialog",size:"normal",labelId:"user_status-set-dialog",dark:"",setReturnFocus:e.setReturnFocus,onClose:e.closeModal},{default:g(()=>[a("div",Fe,[a("h2",Oe,l(e.t("user_status","Online status")),1),a("div",{class:"set-status-modal__online-status",role:"radiogroup","aria-label":e.t("user_status","Online status")},[(n(!0),m($,null,B(o.statuses,h=>(n(),y(d,L({key:h.type},{ref_for:!0},h,{checked:h.type===t.statusType,onSelect:t.changeStatus}),null,16,["checked","onSelect"]))),128))],8,qe),a("form",{onSubmit:i[0]||(i[0]=U((...h)=>e.saveStatus&&e.saveStatus(...h),["prevent"])),onReset:i[1]||(i[1]=(...h)=>e.clearStatus&&e.clearStatus(...h))},[a("h3",xe,l(e.t("user_status","Status message")),1),a("div",Re,[p(r,{ref:"customMessageInput",icon:e.icon,message:o.editedMessage,onChange:e.setMessage,onSelectIcon:e.setIcon},null,8,["icon","message","onChange","onSelectIcon"]),e.messageId==="vacationing"?(n(),y(f,{key:0,href:e.absencePageUrl,target:"_blank",variant:"secondary","aria-label":e.t("user_status","Set absence period")},{default:g(()=>[b(l(e.t("user_status","Set absence period and replacement")+" ↗"),1)]),_:1},8,["href","aria-label"])):k("",!0)]),e.hasBackupStatus?(n(),m("div",Te,l(e.t("user_status","Your status was set automatically")),1)):k("",!0),e.hasBackupStatus?(n(),y(N,{key:1,icon:e.backupIcon,message:e.backupMessage,onSelect:e.revertBackupFromServer},null,8,["icon","message","onSelect"])):k("",!0),p(P,{onSelectStatus:e.selectPredefinedMessage},null,8,["onSelectStatus"]),p(w,{clearAt:o.clearAt,onSelectClearAt:e.setClearAt},null,8,["clearAt","onSelectClearAt"]),a("div",je,[p(f,{wide:!0,variant:"tertiary",type:"reset","aria-label":e.t("user_status","Clear status message"),disabled:o.isSavingStatus},{default:g(()=>[b(l(e.t("user_status","Clear status message")),1)]),_:1},8,["aria-label","disabled"]),p(f,{wide:!0,variant:"primary",type:"submit","aria-label":e.t("user_status","Set status message"),disabled:o.isSavingStatus},{default:g(()=>[b(l(e.t("user_status","Set status message")),1)]),_:1},8,["aria-label","disabled"])])],32)])]),_:1},8,["setReturnFocus","onClose"])}const ct=S(we,[["render",Le],["__scopeId","data-v-e87f4d59"]]);export{ct as default};
+//# sourceMappingURL=SetStatusModal-CwtN6IY3.chunk.mjs.map
diff --git a/dist/SetStatusModal---TlI7zt.chunk.mjs.license b/dist/SetStatusModal-CwtN6IY3.chunk.mjs.license
similarity index 100%
rename from dist/SetStatusModal---TlI7zt.chunk.mjs.license
rename to dist/SetStatusModal-CwtN6IY3.chunk.mjs.license
diff --git a/dist/SetStatusModal---TlI7zt.chunk.mjs.map b/dist/SetStatusModal-CwtN6IY3.chunk.mjs.map
similarity index 99%
rename from dist/SetStatusModal---TlI7zt.chunk.mjs.map
rename to dist/SetStatusModal-CwtN6IY3.chunk.mjs.map
index 6bf95d43c56f5..6125deb63d4b1 100644
--- a/dist/SetStatusModal---TlI7zt.chunk.mjs.map
+++ b/dist/SetStatusModal-CwtN6IY3.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"SetStatusModal---TlI7zt.chunk.mjs","sources":["../build/frontend/apps/user_status/src/services/clearAtOptionsService.js","../build/frontend/apps/user_status/src/components/ClearAtSelect.vue","../build/frontend/apps/user_status/src/components/CustomMessageInput.vue","../build/frontend/apps/user_status/src/components/OnlineStatusSelect.vue","../build/frontend/apps/user_status/src/components/PredefinedStatus.vue","../build/frontend/apps/user_status/src/components/PredefinedStatusesList.vue","../build/frontend/apps/user_status/src/components/PreviousStatus.vue","../build/frontend/apps/user_status/src/services/statusOptionsService.js","../build/frontend/apps/user_status/src/components/SetStatusModal.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\n/**\n * Returns an array\n *\n * @return {object[]}\n */\nfunction getAllClearAtOptions() {\n\treturn [{\n\t\tlabel: t('user_status', 'Don\\'t clear'),\n\t\tclearAt: null,\n\t}, {\n\t\tlabel: t('user_status', '30 minutes'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 1800,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', '1 hour'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 3600,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', '4 hours'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 14400,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', 'Today'),\n\t\tclearAt: {\n\t\t\ttype: 'end-of',\n\t\t\ttime: 'day',\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', 'This week'),\n\t\tclearAt: {\n\t\t\ttype: 'end-of',\n\t\t\ttime: 'week',\n\t\t},\n\t}]\n}\n\nexport {\n\tgetAllClearAtOptions,\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\n/**\n * Returns a list of all user-definable statuses\n *\n * @return {object[]}\n */\nfunction getAllStatusOptions() {\n\treturn [{\n\t\ttype: 'online',\n\t\tlabel: t('user_status', 'Online'),\n\t}, {\n\t\ttype: 'away',\n\t\tlabel: t('user_status', 'Away'),\n\t}, {\n\t\ttype: 'busy',\n\t\tlabel: t('user_status', 'Busy'),\n\t}, {\n\t\ttype: 'dnd',\n\t\tlabel: t('user_status', 'Do not disturb'),\n\t\tsubline: t('user_status', 'Mute all notifications'),\n\t}, {\n\t\ttype: 'invisible',\n\t\tlabel: t('user_status', 'Invisible'),\n\t\tsubline: t('user_status', 'Appear offline'),\n\t}]\n}\n\nexport {\n\tgetAllStatusOptions,\n}\n","\n\n\n\n\n\n\n"],"names":["getAllClearAtOptions","t","_sfc_main","NcSelect","clearAtFormat","option","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_hoisted_2","_toDisplayString","$options","_createVNode","_component_NcSelect","$data","NcTextField","NcButton","NcEmojiPicker","value","icon","_component_NcEmojiPicker","_component_NcButton","_component_NcTextField","$props","NcUserStatusIcon","_hoisted_4","_hoisted_5","args","_component_NcUserStatusIcon","_hoisted_6","PredefinedStatus","mapState","state","mapGetters","status","_ctx","_Fragment","_renderList","_createBlock","_component_PredefinedStatus","$event","_cache","_hoisted_3","getAllStatusOptions","ClearAtSelect","CustomMessageInput","NcModal","OnlineStatusSelect","PredefinedStatusesList","PreviousStatus","OnlineStatusMixin","generateUrl","newValue","message","clearAt","err","showError","logger","_hoisted_7","_component_NcModal","_component_OnlineStatusSelect","_mergeProps","_component_CustomMessageInput","_component_PreviousStatus","_component_PredefinedStatusesList","_component_ClearAtSelect"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"SetStatusModal-CwtN6IY3.chunk.mjs","sources":["../build/frontend/apps/user_status/src/services/clearAtOptionsService.js","../build/frontend/apps/user_status/src/components/ClearAtSelect.vue","../build/frontend/apps/user_status/src/components/CustomMessageInput.vue","../build/frontend/apps/user_status/src/components/OnlineStatusSelect.vue","../build/frontend/apps/user_status/src/components/PredefinedStatus.vue","../build/frontend/apps/user_status/src/components/PredefinedStatusesList.vue","../build/frontend/apps/user_status/src/components/PreviousStatus.vue","../build/frontend/apps/user_status/src/services/statusOptionsService.js","../build/frontend/apps/user_status/src/components/SetStatusModal.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\n/**\n * Returns an array\n *\n * @return {object[]}\n */\nfunction getAllClearAtOptions() {\n\treturn [{\n\t\tlabel: t('user_status', 'Don\\'t clear'),\n\t\tclearAt: null,\n\t}, {\n\t\tlabel: t('user_status', '30 minutes'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 1800,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', '1 hour'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 3600,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', '4 hours'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 14400,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', 'Today'),\n\t\tclearAt: {\n\t\t\ttype: 'end-of',\n\t\t\ttime: 'day',\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', 'This week'),\n\t\tclearAt: {\n\t\t\ttype: 'end-of',\n\t\t\ttime: 'week',\n\t\t},\n\t}]\n}\n\nexport {\n\tgetAllClearAtOptions,\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '@nextcloud/l10n'\n\n/**\n * Returns a list of all user-definable statuses\n *\n * @return {object[]}\n */\nfunction getAllStatusOptions() {\n\treturn [{\n\t\ttype: 'online',\n\t\tlabel: t('user_status', 'Online'),\n\t}, {\n\t\ttype: 'away',\n\t\tlabel: t('user_status', 'Away'),\n\t}, {\n\t\ttype: 'busy',\n\t\tlabel: t('user_status', 'Busy'),\n\t}, {\n\t\ttype: 'dnd',\n\t\tlabel: t('user_status', 'Do not disturb'),\n\t\tsubline: t('user_status', 'Mute all notifications'),\n\t}, {\n\t\ttype: 'invisible',\n\t\tlabel: t('user_status', 'Invisible'),\n\t\tsubline: t('user_status', 'Appear offline'),\n\t}]\n}\n\nexport {\n\tgetAllStatusOptions,\n}\n","\n\n\n\n\n\n\n"],"names":["getAllClearAtOptions","t","_sfc_main","NcSelect","clearAtFormat","option","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_hoisted_2","_toDisplayString","$options","_createVNode","_component_NcSelect","$data","NcTextField","NcButton","NcEmojiPicker","value","icon","_component_NcEmojiPicker","_component_NcButton","_component_NcTextField","$props","NcUserStatusIcon","_hoisted_4","_hoisted_5","args","_component_NcUserStatusIcon","_hoisted_6","PredefinedStatus","mapState","state","mapGetters","status","_ctx","_Fragment","_renderList","_createBlock","_component_PredefinedStatus","$event","_cache","_hoisted_3","getAllStatusOptions","ClearAtSelect","CustomMessageInput","NcModal","OnlineStatusSelect","PredefinedStatusesList","PreviousStatus","OnlineStatusMixin","generateUrl","newValue","message","clearAt","err","showError","logger","_hoisted_7","_component_NcModal","_component_OnlineStatusSelect","_mergeProps","_component_CustomMessageInput","_component_PreviousStatus","_component_PredefinedStatusesList","_component_ClearAtSelect"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/SetStatusModal---TlI7zt.chunk.mjs.map.license b/dist/SetStatusModal-CwtN6IY3.chunk.mjs.map.license
similarity index 100%
rename from dist/SetStatusModal---TlI7zt.chunk.mjs.map.license
rename to dist/SetStatusModal-CwtN6IY3.chunk.mjs.map.license
diff --git a/dist/SystemTagPicker-arnTjlaX.chunk.mjs b/dist/SystemTagPicker-CKFmz-Cj.chunk.mjs
similarity index 98%
rename from dist/SystemTagPicker-arnTjlaX.chunk.mjs
rename to dist/SystemTagPicker-CKFmz-Cj.chunk.mjs
index 32be195b4ef61..5d2e53337050d 100644
--- a/dist/SystemTagPicker-arnTjlaX.chunk.mjs
+++ b/dist/SystemTagPicker-CKFmz-Cj.chunk.mjs
@@ -1,2 +1,2 @@
-import{f as R,a as q,d as J}from"./index-BRcsAfAF.chunk.mjs";import{a as _}from"./index--CXeJKGn.chunk.mjs";import{_ as A,l as K}from"./public-C1mLBHT3.chunk.mjs";import{t as f,g as S,e as Q,p as W,a as k}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as X}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as Y}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{P as tt,N as et}from"./Plus-CjEmRLfi.chunk.mjs";import st from"./index-Cx763gSp.chunk.mjs";import{N as at}from"./index-CJbq0R0g.chunk.mjs";import{N as it}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as ot}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as lt}from"./mdi-GefgkJkH.chunk.mjs";import{_ as nt}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{o as a,f as d,g,t as p,h as C,m as w,b as rt,r as c,c as h,w as m,F as E,k as u,B as ct,O as dt,j as N,J as mt,K as gt,y as ht}from"./Web-X6XNrbMx.chunk.mjs";import{P as pt}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{l as L,g as O,s as x,e as I,h as z,c as ut,i as yt,f as ft,u as Ct}from"./api-DKdVsZMv.chunk.mjs";import{e as bt,i as kt,a as Nt}from"./systemtags-init.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./dav-BUnvPvLq.chunk.mjs";import"./index-PbTIJ1eH.chunk.mjs";import"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./index-B3rZk8FQ.chunk.mjs";const At={name:"CheckCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vt=["aria-hidden","aria-label"],wt=["fill","width","height"],Tt={d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z"},_t={key:0};function St(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon check-circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Tt,[e.title?(a(),d("title",_t,p(e.title),1)):C("",!0)])],8,wt))],16,vt)}const Lt=A(At,[["render",St]]),It={name:"CircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},$t=["aria-hidden","aria-label"],Rt=["fill","width","height"],Et={d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ot={key:0};function xt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Et,[e.title?(a(),d("title",Ot,p(e.title),1)):C("",!0)])],8,Rt))],16,$t)}const zt=A(It,[["render",xt]]),Pt={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Mt=["aria-hidden","aria-label"],Vt=["fill","width","height"],Bt={d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ut={key:0};function Dt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Bt,[e.title?(a(),d("title",Ut,p(e.title),1)):C("",!0)])],8,Vt))],16,Mt)}const Gt=A(Pt,[["render",Dt]]),jt={name:"TagOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ft=["aria-hidden","aria-label"],Ht=["fill","width","height"],Zt={d:"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L4 11V4H11L20 13M6.5 5A1.5 1.5 0 1 1 5 6.5A1.5 1.5 0 0 1 6.5 5Z"},qt={key:0};function Jt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon tag-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Zt,[e.title?(a(),d("title",qt,p(e.title),1)):C("",!0)])],8,Ht))],16,Ft)}const Kt=A(jt,[["render",Jt]]),Qt=J(Ct,500),Wt=getComputedStyle(document.body).getPropertyValue("--color-main-background").replace("#","")||(Nt()?"000000":"ffffff");var P=(t=>(t.BASE="base",t.LOADING="loading",t.CREATING_TAG="creating-tag",t.DONE="done",t))(P||{});const Xt=K("systemtags","restrictSystemTagsCreationToAdmin",!1),Yt=rt({name:"SystemTagPicker",components:{CheckIcon:Lt,CircleIcon:zt,CircleOutlineIcon:Gt,NcButton:X,NcCheckboxRadioSwitch:Y,NcChip:et,NcColorPicker:st,NcDialog:at,NcEmptyContent:it,NcLoadingIcon:ot,NcNoteCard:lt,NcTextField:nt,PencilIcon:pt,PlusIcon:tt,TagIcon:Kt},props:{nodes:{type:Array,required:!0}},emits:{close(t){return t===null||typeof t=="boolean"}},setup(){return{emit:R,Status:P,t:f,canEditOrCreateTag:!Xt||q()?.isAdmin}},data(){return{status:"base",opened:!0,openedPicker:!1,input:"",tags:[],tagList:{},toAdd:[],toRemove:[]}},computed:{sortedTags(){return[...this.tags].sort((t,s)=>t.displayName.localeCompare(s.displayName,S(),{ignorePunctuation:!0}))},filteredTags(){return this.input.trim()===""?this.sortedTags:this.sortedTags.filter(t=>t.displayName.normalize().toLowerCase().includes(this.input.normalize().toLowerCase()))},hasChanges(){return this.toAdd.length>0||this.toRemove.length>0},canCreateTag(){return this.input.trim()!==""&&!this.tags.some(t=>t.displayName.trim().toLocaleLowerCase()===this.input.trim().toLocaleLowerCase())},statusMessage(){if(this.toAdd.length===0&&this.toRemove.length===0)return"";if(this.toAdd.length===1&&this.toRemove.length===1)return k("systemtags","{tag1} will be set and {tag2} will be removed from {count} file.","{tag1} will be set and {tag2} will be removed from {count} files.",this.nodes.length,{tag1:this.formatTagChip(this.toAdd[0]),tag2:this.formatTagChip(this.toRemove[0]),count:this.nodes.length},{escape:!1});const t=this.toAdd.map(this.formatTagChip),s=t.pop(),e=this.toRemove.map(this.formatTagChip),o=e.pop(),l=k("systemtags","{tag} will be set to 1 file.","{tag} will be set to {count} files.",this.nodes.length,{tag:s,count:this.nodes.length},{escape:!1}),n=k("systemtags","{tag} will be removed from {count} file.","{tag} will be removed from {count} files.",this.nodes.length,{tag:o,count:this.nodes.length},{escape:!1}),i=k("systemtags","{tags} and {lastTag} will be set to 1 file.","{tags} and {lastTag} will be set to {count} files.",this.nodes.length,{tags:t.join(", "),lastTag:s,count:this.nodes.length},{escape:!1}),y=k("systemtags","{tags} and {lastTag} will be removed from 1 file.","{tags} and {lastTag} will be removed from {count} files.",this.nodes.length,{tags:e.join(", "),lastTag:o,count:this.nodes.length},{escape:!1});return this.toAdd.length===1&&this.toRemove.length===0?l:this.toAdd.length===0&&this.toRemove.length===1?n:this.toAdd.length>1&&this.toRemove.length===0?i:this.toAdd.length===0&&this.toRemove.length>1?y:this.toAdd.length>1&&this.toRemove.length===1?`${i} ${n}`:this.toAdd.length===1&&this.toRemove.length>1?`${l} ${y}`:`${i} ${y}`}},beforeMount(){ft().then(t=>{this.tags=t}),this.tagList=this.nodes.reduce((t,s)=>((I(s)||[]).forEach(e=>{t[e]=(t[e]||0)+1}),t),{}),this.canEditOrCreateTag||L.debug("System tag creation is restricted to admins and the current user is not an admin")},methods:{formatTagChip(t){const s=this.$refs.chip.$el.cloneNode(!0);if(t.color){const e=this.tagListStyle(t);Object.entries(e).forEach(([o,l])=>{s.style.setProperty(o,l)})}return s.outerHTML.replace("%s",Q(W.sanitize(t.displayName)))},formatTagName(t){return t.userVisible?t.userAssignable?t.displayName:f("systemtags","{displayName} (restricted)",{displayName:t.displayName}):f("systemtags","{displayName} (hidden)",{displayName:t.displayName})},onColorChange(t,s){t.color=s.replace("#",""),Qt(t)},isChecked(t){return t.displayName in this.tagList&&this.tagList[t.displayName]===this.nodes.length},isIndeterminate(t){return t.displayName in this.tagList&&this.tagList[t.displayName]!==0&&this.tagList[t.displayName]!==this.nodes.length},onCheckUpdate(t,s){s?(this.toAdd.push(t),this.toRemove=this.toRemove.filter(e=>e.id!==t.id),this.tagList[t.displayName]=this.nodes.length):(this.toRemove.push(t),this.toAdd=this.toAdd.filter(e=>e.id!==t.id),this.tagList[t.displayName]=0)},async onNewTag(){if(!this.canEditOrCreateTag){_(f("systemtags","Only admins can create new tags"));return}this.status="creating-tag";try{const t={displayName:this.input.trim(),userAssignable:!0,userVisible:!0,canAssign:!0},s=await ut(t),e=await yt(s);this.tags.push(e),this.input="",this.onCheckUpdate(e,!0),await this.$nextTick(),Array.isArray(this.$refs.tags)&&this.$refs.tags.find(o=>o.dataset.cySystemtagsPickerTag===s.toString())?.scrollIntoView({behavior:"instant",block:"center",inline:"center"})}catch(t){_(t?.message||f("systemtags","Failed to create tag"))}finally{this.status="base"}},async onSubmit(){this.status="loading",L.debug("Applying tags",{toAdd:this.toAdd,toRemove:this.toRemove});try{for(const s of this.toAdd){const{etag:e,objects:o}=await O(s,"files"),l=[...new Set([...o.map(n=>n.id).filter(Boolean),...this.nodes.map(n=>n.fileid).filter(Boolean)])];await x(s,"files",l.map(n=>({id:n,type:"files"})),e)}for(const s of this.toRemove){const{etag:e,objects:o}=await O(s,"files"),l=new Set(this.nodes.map(i=>i.fileid)),n=o.map(i=>i.id).filter((i,y,T)=>!l.has(i)&&T.indexOf(i)===y);await x(s,"files",n.map(i=>({id:i,type:"files"})),e)}}catch(s){L.error("Failed to apply tags",{error:s}),_(f("systemtags","Failed to apply tags changes")),this.status="base";return}const t=[];this.toAdd.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[],s.displayName].sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));z(e,o),t.push(e)})}),this.toRemove.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[]].filter(l=>l!==s.displayName).sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));z(e,o),t.push(e)})}),t.forEach(s=>R("systemtags:node:updated",s)),this.status="done",setTimeout(()=>{this.opened=!1,this.$emit("close",!0)},2e3)},onCancel(){this.opened=!1,this.$emit("close",null)},tagListStyle(t){if(!t.color)return{"--color-circle-icon":"var(--color-text-maxcontrast)"};const s=bt(`#${t.color}`,`#${Wt}`),e=kt(s)?"#000000":"#ffffff";return{"--color-circle-icon":"var(--color-primary-element)","--color-primary":s,"--color-primary-text":e,"--color-primary-element":s,"--color-primary-element-text":e}}}}),te={class:"systemtags-picker__input"},ee={class:"systemtags-picker__tags","data-cy-systemtags-picker-tags":""},se=["data-cy-systemtags-picker-tag"],ae={class:"systemtags-picker__tag-create-subline"},ie={class:"systemtags-picker__note"},oe=["innerHTML"];function le(t,s,e,o,l,n){const i=c("NcLoadingIcon"),y=c("CheckIcon"),T=c("NcEmptyContent"),M=c("TagIcon"),V=c("NcTextField"),B=c("NcCheckboxRadioSwitch"),U=c("CircleIcon"),D=c("CircleOutlineIcon"),G=c("PencilIcon"),v=c("NcButton"),j=c("NcColorPicker"),F=c("PlusIcon"),$=c("NcNoteCard"),H=c("NcChip"),Z=c("NcDialog");return a(),h(Z,{"data-cy-systemtags-picker":"",noClose:t.status===t.Status.LOADING,name:t.t("systemtags","Manage tags"),open:t.opened,class:ht(["systemtags-picker--"+t.status,"systemtags-picker"]),closeOnClickOutside:"",outTransition:"","onUpdate:open":t.onCancel},{actions:m(()=>[u(v,{disabled:t.status!==t.Status.BASE,variant:"tertiary","data-cy-systemtags-picker-button-cancel":"",onClick:t.onCancel},{default:m(()=>[N(p(t.t("systemtags","Cancel")),1)]),_:1},8,["disabled","onClick"]),u(v,{disabled:!t.hasChanges||t.status!==t.Status.BASE,"data-cy-systemtags-picker-button-submit":"",onClick:t.onSubmit},{default:m(()=>[N(p(t.t("systemtags","Apply")),1)]),_:1},8,["disabled","onClick"])]),default:m(()=>[t.status===t.Status.LOADING||t.status===t.Status.DONE?(a(),h(T,{key:0,name:t.t("systemtags","Applying tags changes…")},{icon:m(()=>[t.status===t.Status.LOADING?(a(),h(i,{key:0})):(a(),h(y,{key:1,fillColor:"var(--color-border-success)"}))]),_:1},8,["name"])):(a(),d(E,{key:1},[g("div",te,[u(V,{modelValue:t.input,"onUpdate:modelValue":s[0]||(s[0]=r=>t.input=r),label:t.canEditOrCreateTag?t.t("systemtags","Search or create tag"):t.t("systemtags","Search tag"),"data-cy-systemtags-picker-input":""},{default:m(()=>[u(M,{size:20})]),_:1},8,["modelValue","label"])]),g("ul",ee,[(a(!0),d(E,null,ct(t.filteredTags,r=>(a(),d("li",{key:r.id,ref_for:!0,ref:"tags","data-cy-systemtags-picker-tag":r.id,style:dt(t.tagListStyle(r)),class:"systemtags-picker__tag"},[u(B,{modelValue:t.isChecked(r),disabled:!r.canAssign,indeterminate:t.isIndeterminate(r),label:r.displayName,class:"systemtags-picker__tag-checkbox","onUpdate:modelValue":b=>t.onCheckUpdate(r,b)},{default:m(()=>[N(p(t.formatTagName(r)),1)]),_:2},1032,["modelValue","disabled","indeterminate","label","onUpdate:modelValue"]),t.canEditOrCreateTag?(a(),h(j,{key:0,"data-cy-systemtags-picker-tag-color":r.id,modelValue:`#${r.color||"000000"}`,shown:t.openedPicker===r.id,class:"systemtags-picker__tag-color","onUpdate:shown":b=>t.openedPicker=b?r.id:!1,onSubmit:b=>t.onColorChange(r,b)},{default:m(()=>[u(v,{"aria-label":t.t("systemtags","Change tag color"),variant:"tertiary"},{icon:m(()=>[r.color?(a(),h(U,{key:0,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-circle"})):(a(),h(D,{key:1,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-empty"})),u(G,{class:"button-color-pencil"})]),_:2},1032,["aria-label"])]),_:2},1032,["data-cy-systemtags-picker-tag-color","modelValue","shown","onUpdate:shown","onSubmit"])):C("",!0)],12,se))),128)),g("li",null,[t.canEditOrCreateTag&&t.canCreateTag?(a(),h(v,{key:0,disabled:t.status===t.Status.CREATING_TAG,alignment:"start",class:"systemtags-picker__tag-create",type:"submit",variant:"tertiary","data-cy-systemtags-picker-button-create":"",onClick:t.onNewTag},{icon:m(()=>[u(F)]),default:m(()=>[N(p(t.input.trim()),1),s[1]||(s[1]=g("br",null,null,-1)),g("span",ae,p(t.t("systemtags","Create new tag")),1)]),_:1},8,["disabled","onClick"])):C("",!0)])]),g("div",ie,[t.hasChanges?(a(),h($,{key:1,type:"info"},{default:m(()=>[g("span",{innerHTML:t.statusMessage},null,8,oe)]),_:1})):(a(),h($,{key:0,type:"info"},{default:m(()=>[N(p(t.t("systemtags","Choose tags for the selected files")),1)]),_:1}))])],64)),mt(g("div",null,[u(H,{ref:"chip",text:"%s",noClose:"",variant:"primary"},null,512)],512),[[gt,!1]])]),_:1},8,["noClose","name","open","class","onUpdate:open"])}const Pe=A(Yt,[["render",le],["__scopeId","data-v-1f458e10"]]);export{Pe as default};
-//# sourceMappingURL=SystemTagPicker-arnTjlaX.chunk.mjs.map
+import{f as R,a as q,d as J}from"./index-BRcsAfAF.chunk.mjs";import{a as _}from"./index-9np_X5jS.chunk.mjs";import{_ as A,l as K}from"./public-C1mLBHT3.chunk.mjs";import{t as f,g as S,e as Q,p as W,a as k}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as X}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as Y}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{P as tt,N as et}from"./Plus-CjEmRLfi.chunk.mjs";import st from"./index-Cx763gSp.chunk.mjs";import{N as at}from"./index-CJbq0R0g.chunk.mjs";import{N as it}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as ot}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as lt}from"./mdi-GefgkJkH.chunk.mjs";import{_ as nt}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{o as a,f as d,g,t as p,h as C,m as w,b as rt,r as c,c as h,w as m,F as E,k as u,B as ct,O as dt,j as N,J as mt,K as gt,y as ht}from"./Web-X6XNrbMx.chunk.mjs";import{P as pt}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{l as L,g as O,s as x,e as I,h as z,c as ut,i as yt,f as ft,u as Ct}from"./api-BGDQp1C8.chunk.mjs";import{e as bt,i as kt,a as Nt}from"./systemtags-init.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CSrs_fa4.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./dav-BnceviPD.chunk.mjs";import"./index-CpA8_zX5.chunk.mjs";import"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./index-B3rZk8FQ.chunk.mjs";const At={name:"CheckCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vt=["aria-hidden","aria-label"],wt=["fill","width","height"],Tt={d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z"},_t={key:0};function St(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon check-circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Tt,[e.title?(a(),d("title",_t,p(e.title),1)):C("",!0)])],8,wt))],16,vt)}const Lt=A(At,[["render",St]]),It={name:"CircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},$t=["aria-hidden","aria-label"],Rt=["fill","width","height"],Et={d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ot={key:0};function xt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Et,[e.title?(a(),d("title",Ot,p(e.title),1)):C("",!0)])],8,Rt))],16,$t)}const zt=A(It,[["render",xt]]),Pt={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Mt=["aria-hidden","aria-label"],Vt=["fill","width","height"],Bt={d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ut={key:0};function Dt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Bt,[e.title?(a(),d("title",Ut,p(e.title),1)):C("",!0)])],8,Vt))],16,Mt)}const Gt=A(Pt,[["render",Dt]]),jt={name:"TagOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ft=["aria-hidden","aria-label"],Ht=["fill","width","height"],Zt={d:"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L4 11V4H11L20 13M6.5 5A1.5 1.5 0 1 1 5 6.5A1.5 1.5 0 0 1 6.5 5Z"},qt={key:0};function Jt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon tag-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Zt,[e.title?(a(),d("title",qt,p(e.title),1)):C("",!0)])],8,Ht))],16,Ft)}const Kt=A(jt,[["render",Jt]]),Qt=J(Ct,500),Wt=getComputedStyle(document.body).getPropertyValue("--color-main-background").replace("#","")||(Nt()?"000000":"ffffff");var P=(t=>(t.BASE="base",t.LOADING="loading",t.CREATING_TAG="creating-tag",t.DONE="done",t))(P||{});const Xt=K("systemtags","restrictSystemTagsCreationToAdmin",!1),Yt=rt({name:"SystemTagPicker",components:{CheckIcon:Lt,CircleIcon:zt,CircleOutlineIcon:Gt,NcButton:X,NcCheckboxRadioSwitch:Y,NcChip:et,NcColorPicker:st,NcDialog:at,NcEmptyContent:it,NcLoadingIcon:ot,NcNoteCard:lt,NcTextField:nt,PencilIcon:pt,PlusIcon:tt,TagIcon:Kt},props:{nodes:{type:Array,required:!0}},emits:{close(t){return t===null||typeof t=="boolean"}},setup(){return{emit:R,Status:P,t:f,canEditOrCreateTag:!Xt||q()?.isAdmin}},data(){return{status:"base",opened:!0,openedPicker:!1,input:"",tags:[],tagList:{},toAdd:[],toRemove:[]}},computed:{sortedTags(){return[...this.tags].sort((t,s)=>t.displayName.localeCompare(s.displayName,S(),{ignorePunctuation:!0}))},filteredTags(){return this.input.trim()===""?this.sortedTags:this.sortedTags.filter(t=>t.displayName.normalize().toLowerCase().includes(this.input.normalize().toLowerCase()))},hasChanges(){return this.toAdd.length>0||this.toRemove.length>0},canCreateTag(){return this.input.trim()!==""&&!this.tags.some(t=>t.displayName.trim().toLocaleLowerCase()===this.input.trim().toLocaleLowerCase())},statusMessage(){if(this.toAdd.length===0&&this.toRemove.length===0)return"";if(this.toAdd.length===1&&this.toRemove.length===1)return k("systemtags","{tag1} will be set and {tag2} will be removed from {count} file.","{tag1} will be set and {tag2} will be removed from {count} files.",this.nodes.length,{tag1:this.formatTagChip(this.toAdd[0]),tag2:this.formatTagChip(this.toRemove[0]),count:this.nodes.length},{escape:!1});const t=this.toAdd.map(this.formatTagChip),s=t.pop(),e=this.toRemove.map(this.formatTagChip),o=e.pop(),l=k("systemtags","{tag} will be set to 1 file.","{tag} will be set to {count} files.",this.nodes.length,{tag:s,count:this.nodes.length},{escape:!1}),n=k("systemtags","{tag} will be removed from {count} file.","{tag} will be removed from {count} files.",this.nodes.length,{tag:o,count:this.nodes.length},{escape:!1}),i=k("systemtags","{tags} and {lastTag} will be set to 1 file.","{tags} and {lastTag} will be set to {count} files.",this.nodes.length,{tags:t.join(", "),lastTag:s,count:this.nodes.length},{escape:!1}),y=k("systemtags","{tags} and {lastTag} will be removed from 1 file.","{tags} and {lastTag} will be removed from {count} files.",this.nodes.length,{tags:e.join(", "),lastTag:o,count:this.nodes.length},{escape:!1});return this.toAdd.length===1&&this.toRemove.length===0?l:this.toAdd.length===0&&this.toRemove.length===1?n:this.toAdd.length>1&&this.toRemove.length===0?i:this.toAdd.length===0&&this.toRemove.length>1?y:this.toAdd.length>1&&this.toRemove.length===1?`${i} ${n}`:this.toAdd.length===1&&this.toRemove.length>1?`${l} ${y}`:`${i} ${y}`}},beforeMount(){ft().then(t=>{this.tags=t}),this.tagList=this.nodes.reduce((t,s)=>((I(s)||[]).forEach(e=>{t[e]=(t[e]||0)+1}),t),{}),this.canEditOrCreateTag||L.debug("System tag creation is restricted to admins and the current user is not an admin")},methods:{formatTagChip(t){const s=this.$refs.chip.$el.cloneNode(!0);if(t.color){const e=this.tagListStyle(t);Object.entries(e).forEach(([o,l])=>{s.style.setProperty(o,l)})}return s.outerHTML.replace("%s",Q(W.sanitize(t.displayName)))},formatTagName(t){return t.userVisible?t.userAssignable?t.displayName:f("systemtags","{displayName} (restricted)",{displayName:t.displayName}):f("systemtags","{displayName} (hidden)",{displayName:t.displayName})},onColorChange(t,s){t.color=s.replace("#",""),Qt(t)},isChecked(t){return t.displayName in this.tagList&&this.tagList[t.displayName]===this.nodes.length},isIndeterminate(t){return t.displayName in this.tagList&&this.tagList[t.displayName]!==0&&this.tagList[t.displayName]!==this.nodes.length},onCheckUpdate(t,s){s?(this.toAdd.push(t),this.toRemove=this.toRemove.filter(e=>e.id!==t.id),this.tagList[t.displayName]=this.nodes.length):(this.toRemove.push(t),this.toAdd=this.toAdd.filter(e=>e.id!==t.id),this.tagList[t.displayName]=0)},async onNewTag(){if(!this.canEditOrCreateTag){_(f("systemtags","Only admins can create new tags"));return}this.status="creating-tag";try{const t={displayName:this.input.trim(),userAssignable:!0,userVisible:!0,canAssign:!0},s=await ut(t),e=await yt(s);this.tags.push(e),this.input="",this.onCheckUpdate(e,!0),await this.$nextTick(),Array.isArray(this.$refs.tags)&&this.$refs.tags.find(o=>o.dataset.cySystemtagsPickerTag===s.toString())?.scrollIntoView({behavior:"instant",block:"center",inline:"center"})}catch(t){_(t?.message||f("systemtags","Failed to create tag"))}finally{this.status="base"}},async onSubmit(){this.status="loading",L.debug("Applying tags",{toAdd:this.toAdd,toRemove:this.toRemove});try{for(const s of this.toAdd){const{etag:e,objects:o}=await O(s,"files"),l=[...new Set([...o.map(n=>n.id).filter(Boolean),...this.nodes.map(n=>n.fileid).filter(Boolean)])];await x(s,"files",l.map(n=>({id:n,type:"files"})),e)}for(const s of this.toRemove){const{etag:e,objects:o}=await O(s,"files"),l=new Set(this.nodes.map(i=>i.fileid)),n=o.map(i=>i.id).filter((i,y,T)=>!l.has(i)&&T.indexOf(i)===y);await x(s,"files",n.map(i=>({id:i,type:"files"})),e)}}catch(s){L.error("Failed to apply tags",{error:s}),_(f("systemtags","Failed to apply tags changes")),this.status="base";return}const t=[];this.toAdd.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[],s.displayName].sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));z(e,o),t.push(e)})}),this.toRemove.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[]].filter(l=>l!==s.displayName).sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));z(e,o),t.push(e)})}),t.forEach(s=>R("systemtags:node:updated",s)),this.status="done",setTimeout(()=>{this.opened=!1,this.$emit("close",!0)},2e3)},onCancel(){this.opened=!1,this.$emit("close",null)},tagListStyle(t){if(!t.color)return{"--color-circle-icon":"var(--color-text-maxcontrast)"};const s=bt(`#${t.color}`,`#${Wt}`),e=kt(s)?"#000000":"#ffffff";return{"--color-circle-icon":"var(--color-primary-element)","--color-primary":s,"--color-primary-text":e,"--color-primary-element":s,"--color-primary-element-text":e}}}}),te={class:"systemtags-picker__input"},ee={class:"systemtags-picker__tags","data-cy-systemtags-picker-tags":""},se=["data-cy-systemtags-picker-tag"],ae={class:"systemtags-picker__tag-create-subline"},ie={class:"systemtags-picker__note"},oe=["innerHTML"];function le(t,s,e,o,l,n){const i=c("NcLoadingIcon"),y=c("CheckIcon"),T=c("NcEmptyContent"),M=c("TagIcon"),V=c("NcTextField"),B=c("NcCheckboxRadioSwitch"),U=c("CircleIcon"),D=c("CircleOutlineIcon"),G=c("PencilIcon"),v=c("NcButton"),j=c("NcColorPicker"),F=c("PlusIcon"),$=c("NcNoteCard"),H=c("NcChip"),Z=c("NcDialog");return a(),h(Z,{"data-cy-systemtags-picker":"",noClose:t.status===t.Status.LOADING,name:t.t("systemtags","Manage tags"),open:t.opened,class:ht(["systemtags-picker--"+t.status,"systemtags-picker"]),closeOnClickOutside:"",outTransition:"","onUpdate:open":t.onCancel},{actions:m(()=>[u(v,{disabled:t.status!==t.Status.BASE,variant:"tertiary","data-cy-systemtags-picker-button-cancel":"",onClick:t.onCancel},{default:m(()=>[N(p(t.t("systemtags","Cancel")),1)]),_:1},8,["disabled","onClick"]),u(v,{disabled:!t.hasChanges||t.status!==t.Status.BASE,"data-cy-systemtags-picker-button-submit":"",onClick:t.onSubmit},{default:m(()=>[N(p(t.t("systemtags","Apply")),1)]),_:1},8,["disabled","onClick"])]),default:m(()=>[t.status===t.Status.LOADING||t.status===t.Status.DONE?(a(),h(T,{key:0,name:t.t("systemtags","Applying tags changes…")},{icon:m(()=>[t.status===t.Status.LOADING?(a(),h(i,{key:0})):(a(),h(y,{key:1,fillColor:"var(--color-border-success)"}))]),_:1},8,["name"])):(a(),d(E,{key:1},[g("div",te,[u(V,{modelValue:t.input,"onUpdate:modelValue":s[0]||(s[0]=r=>t.input=r),label:t.canEditOrCreateTag?t.t("systemtags","Search or create tag"):t.t("systemtags","Search tag"),"data-cy-systemtags-picker-input":""},{default:m(()=>[u(M,{size:20})]),_:1},8,["modelValue","label"])]),g("ul",ee,[(a(!0),d(E,null,ct(t.filteredTags,r=>(a(),d("li",{key:r.id,ref_for:!0,ref:"tags","data-cy-systemtags-picker-tag":r.id,style:dt(t.tagListStyle(r)),class:"systemtags-picker__tag"},[u(B,{modelValue:t.isChecked(r),disabled:!r.canAssign,indeterminate:t.isIndeterminate(r),label:r.displayName,class:"systemtags-picker__tag-checkbox","onUpdate:modelValue":b=>t.onCheckUpdate(r,b)},{default:m(()=>[N(p(t.formatTagName(r)),1)]),_:2},1032,["modelValue","disabled","indeterminate","label","onUpdate:modelValue"]),t.canEditOrCreateTag?(a(),h(j,{key:0,"data-cy-systemtags-picker-tag-color":r.id,modelValue:`#${r.color||"000000"}`,shown:t.openedPicker===r.id,class:"systemtags-picker__tag-color","onUpdate:shown":b=>t.openedPicker=b?r.id:!1,onSubmit:b=>t.onColorChange(r,b)},{default:m(()=>[u(v,{"aria-label":t.t("systemtags","Change tag color"),variant:"tertiary"},{icon:m(()=>[r.color?(a(),h(U,{key:0,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-circle"})):(a(),h(D,{key:1,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-empty"})),u(G,{class:"button-color-pencil"})]),_:2},1032,["aria-label"])]),_:2},1032,["data-cy-systemtags-picker-tag-color","modelValue","shown","onUpdate:shown","onSubmit"])):C("",!0)],12,se))),128)),g("li",null,[t.canEditOrCreateTag&&t.canCreateTag?(a(),h(v,{key:0,disabled:t.status===t.Status.CREATING_TAG,alignment:"start",class:"systemtags-picker__tag-create",type:"submit",variant:"tertiary","data-cy-systemtags-picker-button-create":"",onClick:t.onNewTag},{icon:m(()=>[u(F)]),default:m(()=>[N(p(t.input.trim()),1),s[1]||(s[1]=g("br",null,null,-1)),g("span",ae,p(t.t("systemtags","Create new tag")),1)]),_:1},8,["disabled","onClick"])):C("",!0)])]),g("div",ie,[t.hasChanges?(a(),h($,{key:1,type:"info"},{default:m(()=>[g("span",{innerHTML:t.statusMessage},null,8,oe)]),_:1})):(a(),h($,{key:0,type:"info"},{default:m(()=>[N(p(t.t("systemtags","Choose tags for the selected files")),1)]),_:1}))])],64)),mt(g("div",null,[u(H,{ref:"chip",text:"%s",noClose:"",variant:"primary"},null,512)],512),[[gt,!1]])]),_:1},8,["noClose","name","open","class","onUpdate:open"])}const Pe=A(Yt,[["render",le],["__scopeId","data-v-1f458e10"]]);export{Pe as default};
+//# sourceMappingURL=SystemTagPicker-CKFmz-Cj.chunk.mjs.map
diff --git a/dist/SystemTagPicker-arnTjlaX.chunk.mjs.license b/dist/SystemTagPicker-CKFmz-Cj.chunk.mjs.license
similarity index 100%
rename from dist/SystemTagPicker-arnTjlaX.chunk.mjs.license
rename to dist/SystemTagPicker-CKFmz-Cj.chunk.mjs.license
diff --git a/dist/SystemTagPicker-arnTjlaX.chunk.mjs.map b/dist/SystemTagPicker-CKFmz-Cj.chunk.mjs.map
similarity index 99%
rename from dist/SystemTagPicker-arnTjlaX.chunk.mjs.map
rename to dist/SystemTagPicker-CKFmz-Cj.chunk.mjs.map
index e8463b7670406..561320d3639b0 100644
--- a/dist/SystemTagPicker-arnTjlaX.chunk.mjs.map
+++ b/dist/SystemTagPicker-CKFmz-Cj.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"SystemTagPicker-arnTjlaX.chunk.mjs","sources":["../node_modules/vue-material-design-icons/CheckCircle.vue","../node_modules/vue-material-design-icons/Circle.vue","../node_modules/vue-material-design-icons/CircleOutline.vue","../node_modules/vue-material-design-icons/TagOutline.vue","../build/frontend/apps/systemtags/src/components/SystemTagPicker.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","debounceUpdateTag","debounce","updateTag","mainBackgroundColor","isDarkModeEnabled","Status","restrictSystemTagsCreationToAdmin","loadState","defineComponent","CheckIcon","CircleIcon","CircleOutlineIcon","NcButton","NcCheckboxRadioSwitch","NcChip","NcColorPicker","NcDialog","NcEmptyContent","NcLoadingIcon","NcNoteCard","NcTextField","PencilIcon","PlusIcon","TagIcon","status","emit","t","getCurrentUser","a","b","getLanguage","tag","n","tagsAdd","lastTagAdd","tagsRemove","lastTagRemove","addStringSingular","removeStringSingular","addStringPlural","removeStringPlural","fetchTags","tags","acc","node","getNodeSystemTags","logger","chipCloneEl","style","key","value","escapeHTML","domPurify","color","checked","search","showError","payload","id","createTag","fetchTag","el","error","etag","objects","getTagObjects","ids","obj","setTagObjects","nodeFileIds","index","self","nodes","setNodeSystemTags","primaryElement","elementColor","textColor","invertTextColor","_hoisted_1","_hoisted_4","_hoisted_5","_createBlock","_component_NcDialog","_normalizeClass","_withCtx","_createVNode","_component_NcButton","_createTextVNode","_toDisplayString","_component_NcEmptyContent","_component_NcLoadingIcon","_component_CheckIcon","_Fragment","_component_NcTextField","_component_TagIcon","_hoisted_2","_renderList","_normalizeStyle","_component_NcCheckboxRadioSwitch","_component_NcColorPicker","_component_CircleIcon","_component_CircleOutlineIcon","_component_PencilIcon","_component_PlusIcon","_component_NcNoteCard","_hoisted_6","_component_NcChip"],"mappings":"ypDAoBA,MAAKA,GAAU,CACb,KAAM,kBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,QAER,UAAW,CACT,KAAM,OACN,QAAS,gBAEX,KAAM,CACJ,KAAM,OACN,QAAS,EACX,CACF,CACF,+DAxBYC,GAAA,CAAA,EAAE,qHAAqH,iDAXjIC,EAeO,OAfPC,EAAcC,EAAA,OAAM,CACb,cAAaC,EAAA,MAAK,KAAA,OAClB,aAAYA,EAAA,MACb,MAAM,yCACN,KAAK,MACJ,QAAKC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEH,EAAA,MAAK,QAAUG,CAAM,WACjCL,EAQM,MAAA,CARA,KAAMG,EAAA,UACP,MAAM,4BACL,MAAOA,EAAA,KACP,OAAQA,EAAA,KACT,QAAQ,cACXG,EAEO,OAFPP,GAEO,CADQI,EAAA,OAAbI,EAAA,EAAAP,EAAuC,aAAhBG,EAAA,KAAK,EAAA,CAAA,6DCO/BL,GAAU,CACb,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,QAER,UAAW,CACT,KAAM,OACN,QAAS,gBAEX,KAAM,CACJ,KAAM,OACN,QAAS,EACX,CACF,CACF,+DAxBYC,GAAA,CAAA,EAAE,8EAA8E,iDAX1FC,EAeO,OAfPC,EAAcC,EAAA,OAAM,CACb,cAAaC,EAAA,MAAK,KAAA,OAClB,aAAYA,EAAA,MACb,MAAM,mCACN,KAAK,MACJ,QAAKC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEH,EAAA,MAAK,QAAUG,CAAM,WACjCL,EAQM,MAAA,CARA,KAAMG,EAAA,UACP,MAAM,4BACL,MAAOA,EAAA,KACP,OAAQA,EAAA,KACT,QAAQ,cACXG,EAEO,OAFPP,GAEO,CADQI,EAAA,OAAbI,EAAA,EAAAP,EAAuC,aAAhBG,EAAA,KAAK,EAAA,CAAA,6DCO/BL,GAAU,CACb,KAAM,oBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,QAER,UAAW,CACT,KAAM,OACN,QAAS,gBAEX,KAAM,CACJ,KAAM,OACN,QAAS,EACX,CACF,CACF,+DAxBYC,GAAA,CAAA,EAAE,kJAAkJ,iDAX9JC,EAeO,OAfPC,EAAcC,EAAA,OAAM,CACb,cAAaC,EAAA,MAAK,KAAA,OAClB,aAAYA,EAAA,MACb,MAAM,2CACN,KAAK,MACJ,QAAKC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEH,EAAA,MAAK,QAAUG,CAAM,WACjCL,EAQM,MAAA,CARA,KAAMG,EAAA,UACP,MAAM,4BACL,MAAOA,EAAA,KACP,OAAQA,EAAA,KACT,QAAQ,cACXG,EAEO,OAFPP,GAEO,CADQI,EAAA,OAAbI,EAAA,EAAAP,EAAuC,aAAhBG,EAAA,KAAK,EAAA,CAAA,6DCO/BL,GAAU,CACb,KAAM,iBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,QAER,UAAW,CACT,KAAM,OACN,QAAS,gBAEX,KAAM,CACJ,KAAM,OACN,QAAS,EACX,CACF,CACF,+DAxBYC,GAAA,CAAA,EAAE,yPAAyP,iDAXrQC,EAeO,OAfPC,EAAcC,EAAA,OAAM,CACb,cAAaC,EAAA,MAAK,KAAA,OAClB,aAAYA,EAAA,MACb,MAAM,wCACN,KAAK,MACJ,QAAKC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEH,EAAA,MAAK,QAAUG,CAAM,WACjCL,EAQM,MAAA,CARA,KAAMG,EAAA,UACP,MAAM,4BACL,MAAOA,EAAA,KACP,OAAQA,EAAA,KACT,QAAQ,cACXG,EAEO,OAFPP,GAEO,CADQI,EAAA,OAAbI,EAAA,EAAAP,EAAuC,aAAhBG,EAAA,KAAK,EAAA,CAAA,6DCoK9BK,GAAoBC,EAASC,GAAW,GAAG,EAC3CC,GAAsB,iBAAiB,SAAS,IAAI,EACxD,iBAAiB,yBAAyB,EAC1C,QAAQ,IAAK,EAAE,IAAMC,GAAA,EAAsB,SAAW,UAMxD,IAAKC,GAAAA,IACJA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,aAAe,eACfA,EAAA,KAAO,OAJHA,IAAAA,GAAA,CAAA,CAAA,EAOL,MAAMC,GAAoCC,EAAU,aAAc,oCAAqC,EAAK,EAE5GjB,GAAekB,GAAgB,CAC9B,KAAM,kBAEN,WAAY,CACX,UAAAC,GACA,WAAAC,GACA,kBAAAC,GACA,SAAAC,EACA,sBAAAC,EAEA,OAAAC,GACA,cAAAC,GACA,SAAAC,GACA,eAAAC,GACA,cAAAC,GACA,WAAAC,GAAA,YACAC,GACA,WAAAC,GACA,SAAAC,GACA,QAAAC,EAAA,EAGD,MAAO,CACN,MAAO,CACN,KAAM,MACN,SAAU,EAAA,CACX,EAGD,MAAO,CACN,MAAMC,EAAwB,CAC7B,OAAOA,IAAW,MAAQ,OAAOA,GAAW,SAC7C,CAAA,EAGD,OAAQ,CACP,MAAO,CACN,KAAAC,EACA,OAAApB,EAAA,EACAqB,EAEA,mBAAoB,CAACpB,IAAqCqB,KAAkB,OAAA,CAE9E,EAEA,MAAO,CACN,MAAO,CACN,OAAQ,OACR,OAAQ,GACR,aAAc,GAEd,MAAO,GACP,KAAM,CAAA,EACN,QAAS,CAAA,EAET,MAAO,CAAA,EACP,SAAU,CAAA,CAAC,CAEb,EAEA,SAAU,CACT,YAA0B,CACzB,MAAO,CAAC,GAAG,KAAK,IAAI,EAClB,KAAK,CAACC,EAAGC,IAAMD,EAAE,YAAY,cAAcC,EAAE,YAAaC,EAAA,EAAe,CAAE,kBAAmB,EAAA,CAAM,CAAC,CACxG,EAEA,cAA4B,CAC3B,OAAI,KAAK,MAAM,KAAA,IAAW,GAClB,KAAK,WAGN,KAAK,WACV,OAAQC,GAAQA,EAAI,YAAY,UAAA,EAAY,YAAA,EAAc,SAAS,KAAK,MAAM,YAAY,YAAA,CAAa,CAAC,CAC3G,EAEA,YAAsB,CACrB,OAAO,KAAK,MAAM,OAAS,GAAK,KAAK,SAAS,OAAS,CACxD,EAEA,cAAwB,CACvB,OAAO,KAAK,MAAM,KAAA,IAAW,IACzB,CAAC,KAAK,KAAK,KAAMA,GAAQA,EAAI,YAAY,KAAA,EAAO,kBAAA,IAAwB,KAAK,MAAM,OAAO,mBAAmB,CAClH,EAEA,eAAwB,CACvB,GAAI,KAAK,MAAM,SAAW,GAAK,KAAK,SAAS,SAAW,EAEvD,MAAO,GAGR,GAAI,KAAK,MAAM,SAAW,GAAK,KAAK,SAAS,SAAW,EACvD,OAAOC,EACN,aACA,mEACA,oEACA,KAAK,MAAM,OACX,CACC,KAAM,KAAK,cAAc,KAAK,MAAM,CAAC,CAAC,EACtC,KAAM,KAAK,cAAc,KAAK,SAAS,CAAC,CAAC,EACzC,MAAO,KAAK,MAAM,MAAA,EAEnB,CAAE,OAAQ,EAAA,CAAM,EAIlB,MAAMC,EAAU,KAAK,MAAM,IAAI,KAAK,aAAa,EAC3CC,EAAaD,EAAQ,IAAA,EACrBE,EAAa,KAAK,SAAS,IAAI,KAAK,aAAa,EACjDC,EAAgBD,EAAW,IAAA,EAE3BE,EAAoBL,EACzB,aACA,+BACA,sCACA,KAAK,MAAM,OACX,CACC,IAAKE,EACL,MAAO,KAAK,MAAM,MAAA,EAEnB,CAAE,OAAQ,EAAA,CAAM,EAGXI,EAAuBN,EAC5B,aACA,2CACA,4CACA,KAAK,MAAM,OACX,CACC,IAAKI,EACL,MAAO,KAAK,MAAM,MAAA,EAEnB,CAAE,OAAQ,EAAA,CAAM,EAGXG,EAAkBP,EACvB,aACA,8CACA,qDACA,KAAK,MAAM,OACX,CACC,KAAMC,EAAQ,KAAK,IAAI,EACvB,QAASC,EACT,MAAO,KAAK,MAAM,MAAA,EAEnB,CAAE,OAAQ,EAAA,CAAM,EAGXM,EAAqBR,EAC1B,aACA,oDACA,2DACA,KAAK,MAAM,OACX,CACC,KAAMG,EAAW,KAAK,IAAI,EAC1B,QAASC,EACT,MAAO,KAAK,MAAM,MAAA,EAEnB,CAAE,OAAQ,EAAA,CAAM,EAIjB,OAAI,KAAK,MAAM,SAAW,GAAK,KAAK,SAAS,SAAW,EAChDC,EAEJ,KAAK,MAAM,SAAW,GAAK,KAAK,SAAS,SAAW,EAChDC,EAIJ,KAAK,MAAM,OAAS,GAAK,KAAK,SAAS,SAAW,EAC9CC,EAEJ,KAAK,MAAM,SAAW,GAAK,KAAK,SAAS,OAAS,EAC9CC,EAIJ,KAAK,MAAM,OAAS,GAAK,KAAK,SAAS,SAAW,EAC9C,GAAGD,CAAe,IAAID,CAAoB,GAE9C,KAAK,MAAM,SAAW,GAAK,KAAK,SAAS,OAAS,EAC9C,GAAGD,CAAiB,IAAIG,CAAkB,GAI3C,GAAGD,CAAe,IAAIC,CAAkB,EAChD,CAAA,EAGD,aAAc,CACbC,GAAA,EAAY,KAAMC,GAAS,CAC1B,KAAK,KAAOA,CACb,CAAC,EAGD,KAAK,QAAU,KAAK,MAAM,OAAO,CAACC,EAAmBC,MACvCC,EAAkBD,CAAI,GAAK,CAAA,GACnC,QAASb,GAAQ,CACrBY,EAAIZ,CAAG,GAAKY,EAAIZ,CAAG,GAAK,GAAK,CAC9B,CAAC,EACMY,GACL,CAAA,CAAkB,EAEhB,KAAK,oBACTG,EAAO,MAAM,kFAAkF,CAEjG,EAEA,QAAS,CAER,cAAcf,EAAwB,CAErC,MAAMgB,EADO,KAAK,MAAM,KACC,IAAI,UAAU,EAAI,EAC3C,GAAIhB,EAAI,MAAO,CACd,MAAMiB,EAAQ,KAAK,aAAajB,CAAG,EACnC,OAAO,QAAQiB,CAAK,EAAE,QAAQ,CAAC,CAACC,EAAKC,CAAK,IAAM,CAC/CH,EAAY,MAAM,YAAYE,EAAKC,CAAK,CACzC,CAAC,CACF,CAEA,OADiBH,EAAY,UACb,QAAQ,KAAMI,EAAWC,EAAU,SAASrB,EAAI,WAAW,CAAC,CAAC,CAC9E,EAEA,cAAcA,EAAwB,CACrC,OAAKA,EAAI,YAIJA,EAAI,eAIFA,EAAI,YAHHL,EAAE,aAAc,6BAA8B,CAAE,YAAaK,EAAI,YAAa,EAJ9EL,EAAE,aAAc,yBAA0B,CAAE,YAAaK,EAAI,YAAa,CAQnF,EAEA,cAAcA,EAAgBsB,EAAqB,CAClDtB,EAAI,MAAQsB,EAAM,QAAQ,IAAK,EAAE,EACjCrD,GAAkB+B,CAAG,CACtB,EAEA,UAAUA,EAAyB,CAClC,OAAOA,EAAI,eAAe,KAAK,SAC3B,KAAK,QAAQA,EAAI,WAAW,IAAM,KAAK,MAAM,MAClD,EAEA,gBAAgBA,EAAyB,CACxC,OAAOA,EAAI,eAAe,KAAK,SAC3B,KAAK,QAAQA,EAAI,WAAW,IAAM,GAClC,KAAK,QAAQA,EAAI,WAAW,IAAM,KAAK,MAAM,MAClD,EAEA,cAAcA,EAAgBuB,EAAkB,CAC3CA,GACH,KAAK,MAAM,KAAKvB,CAAG,EACnB,KAAK,SAAW,KAAK,SAAS,OAAQwB,GAAWA,EAAO,KAAOxB,EAAI,EAAE,EACrE,KAAK,QAAQA,EAAI,WAAW,EAAI,KAAK,MAAM,SAE3C,KAAK,SAAS,KAAKA,CAAG,EACtB,KAAK,MAAQ,KAAK,MAAM,OAAQwB,GAAWA,EAAO,KAAOxB,EAAI,EAAE,EAC/D,KAAK,QAAQA,EAAI,WAAW,EAAI,EAElC,EAEA,MAAM,UAAW,CAChB,GAAI,CAAC,KAAK,mBAAoB,CAE7ByB,EAAU9B,EAAE,aAAc,iCAAiC,CAAC,EAC5D,MACD,CAEA,KAAK,OAAS,eACd,GAAI,CACH,MAAM+B,EAAe,CACpB,YAAa,KAAK,MAAM,KAAA,EACxB,eAAgB,GAChB,YAAa,GACb,UAAW,EAAA,EAENC,EAAK,MAAMC,GAAUF,CAAO,EAC5B1B,EAAM,MAAM6B,GAASF,CAAE,EAC7B,KAAK,KAAK,KAAK3B,CAAG,EAClB,KAAK,MAAQ,GAGb,KAAK,cAAcA,EAAK,EAAI,EAG5B,MAAM,KAAK,UAAA,EACP,MAAM,QAAQ,KAAK,MAAM,IAAI,GACf,KAAK,MAAM,KAC1B,KAAM8B,GAAoBA,EAAG,QAAQ,wBAA0BH,EAAG,SAAA,CAAU,GACpE,eAAe,CACxB,SAAU,UACV,MAAO,SACP,OAAQ,QAAA,CACR,CAEH,OAASI,EAAO,CACfN,EAAWM,GAAiB,SAAWpC,EAAE,aAAc,sBAAsB,CAAC,CAC/E,SACC,KAAK,OAAS,MACf,CACD,EAEA,MAAM,UAAW,CAChB,KAAK,OAAS,UACdoB,EAAO,MAAM,gBAAiB,CAC7B,MAAO,KAAK,MACZ,SAAU,KAAK,QAAA,CACf,EAED,GAAI,CAEH,UAAWf,KAAO,KAAK,MAAO,CAC7B,KAAM,CAAE,KAAAgC,EAAM,QAAAC,CAAA,EAAY,MAAMC,EAAclC,EAAK,OAAO,EAGpDmC,EAAM,CAAC,GAAG,IAAI,IAAI,CACvB,GAAGF,EAAQ,IAAKG,GAAQA,EAAI,EAAE,EAAE,OAAO,OAAO,EAC9C,GAAG,KAAK,MAAM,IAAKvB,GAASA,EAAK,MAAM,EAAE,OAAO,OAAO,CAAA,CACvD,CAAC,EAGF,MAAMwB,EAAcrC,EAAK,QAASmC,EAAI,IAAKR,IAAQ,CAAE,GAAAA,EAAI,KAAM,OAAA,EAAU,EAAGK,CAAI,CACjF,CAGA,UAAWhC,KAAO,KAAK,SAAU,CAChC,KAAM,CAAE,KAAAgC,EAAM,QAAAC,CAAA,EAAY,MAAMC,EAAclC,EAAK,OAAO,EAGpDsC,EAAc,IAAI,IAAI,KAAK,MAAM,IAAKzB,GAASA,EAAK,MAAM,CAAC,EAG3DsB,EAAMF,EACV,IAAKG,GAAQA,EAAI,EAAE,EACnB,OAAO,CAACT,EAAIY,EAAOC,IAAS,CAACF,EAAY,IAAIX,CAAE,GAAKa,EAAK,QAAQb,CAAE,IAAMY,CAAK,EAGhF,MAAMF,EAAcrC,EAAK,QAASmC,EAAI,IAAKR,IAAQ,CAAE,GAAAA,EAAI,KAAM,OAAA,EAAU,EAAGK,CAAI,CACjF,CACD,OAASD,EAAO,CACfhB,EAAO,MAAM,uBAAwB,CAAE,MAAAgB,CAAA,CAAO,EAC9CN,EAAU9B,EAAE,aAAc,8BAA8B,CAAC,EACzD,KAAK,OAAS,OACd,MACD,CAEA,MAAM8C,EAAQ,CAAA,EAGd,KAAK,MAAM,QAASzC,GAAQ,CAC3B,KAAK,MAAM,QAASa,GAAS,CAC5B,MAAMF,EAAO,CAAC,GAAIG,EAAkBD,CAAI,GAAK,GAAKb,EAAI,WAAW,EAC/D,KAAK,CAACH,EAAGC,IAAMD,EAAE,cAAcC,EAAGC,EAAA,EAAe,CAAE,kBAAmB,EAAA,CAAM,CAAC,EAC/E2C,EAAkB7B,EAAMF,CAAI,EAC5B8B,EAAM,KAAK5B,CAAI,CAChB,CAAC,CACF,CAAC,EAED,KAAK,SAAS,QAASb,GAAQ,CAC9B,KAAK,MAAM,QAASa,GAAS,CAC5B,MAAMF,EAAO,CAAC,GAAIG,EAAkBD,CAAI,GAAK,EAAG,EAAE,OAAQlB,GAAMA,IAAMK,EAAI,WAAW,EACnF,KAAK,CAACH,EAAGC,IAAMD,EAAE,cAAcC,EAAGC,IAAe,CAAE,kBAAmB,EAAA,CAAM,CAAC,EAC/E2C,EAAkB7B,EAAMF,CAAI,EAC5B8B,EAAM,KAAK5B,CAAI,CAChB,CAAC,CACF,CAAC,EAGD4B,EAAM,QAAS5B,GAASnB,EAAK,0BAA2BmB,CAAI,CAAC,EAE7D,KAAK,OAAS,OACd,WAAW,IAAM,CAChB,KAAK,OAAS,GACd,KAAK,MAAM,QAAS,EAAI,CACzB,EAAG,GAAI,CACR,EAEA,UAAW,CACV,KAAK,OAAS,GACd,KAAK,MAAM,QAAS,IAAI,CACzB,EAEA,aAAab,EAAwC,CAEpD,GAAI,CAACA,EAAI,MACR,MAAO,CAEN,sBAAuB,+BAAA,EAMzB,MAAM2C,EAAiBC,GAAa,IAAI5C,EAAI,KAAK,GAAI,IAAI5B,EAAmB,EAAE,EACxEyE,EAAYC,GAAgBH,CAAc,EAAI,UAAY,UAChE,MAAO,CACN,sBAAuB,+BACvB,kBAAmBA,EACnB,uBAAwBE,EACxB,0BAA2BF,EAC3B,+BAAgCE,CAAA,CAElC,CAAA,CAEF,CAAC,EA9jBOE,GAAA,CAAA,MAAM,0BAAA,MAWV,MAAM,0BACN,iCAAA,yCAyDQC,GAAA,CAAA,MAAM,uCAAA,EASVC,GAAA,CAAA,MAAM,yBAAA,0VAnGbC,EAsIWC,EAAA,CArIV,4BAAA,GACC,QAASxF,WAAWA,EAAA,OAAO,QAC3B,KAAMA,EAAA,EAAC,aAAA,aAAA,EACP,KAAMA,EAAA,OACN,MAAKyF,GAAA,CAAA,sBAA0BzF,EAAA,OAC1B,mBAAmB,CAAA,EACzB,oBAAA,GACA,cAAA,GACC,gBAAaA,EAAA,QAAA,EAAA,CAqGH,QAAO0F,EACjB,IAMW,CANXC,EAMWC,EAAA,CALT,SAAU5F,WAAWA,EAAA,OAAO,KAC7B,QAAQ,WACR,0CAAA,GACC,QAAOA,EAAA,QAAA,EAAA,WACR,IAA+B,CAAA6F,EAAAC,EAA5B9F,EAAA,EAAC,aAAA,QAAA,CAAA,EAAA,CAAA,CAAA,CAAA,iCAEL2F,EAKWC,EAAA,CAJT,SAAQ,CAAG5F,EAAA,YAAcA,EAAA,SAAWA,EAAA,OAAO,KAC5C,0CAAA,GACC,QAAOA,EAAA,QAAA,EAAA,WACR,IAA8B,CAAA6F,EAAAC,EAA3B9F,EAAA,EAAC,aAAA,OAAA,CAAA,EAAA,CAAA,CAAA,CAAA,6CAhHN,IAOiB,CANVA,WAAWA,EAAA,OAAO,SAAWA,EAAA,SAAWA,EAAA,OAAO,UADtDuF,EAOiBQ,EAAA,CAAA,IAAA,EALf,KAAM/F,EAAA,EAAC,aAAA,wBAAA,CAAA,EAAA,CACG,KAAI0F,EACd,IAAkD,CAA7B1F,EAAA,SAAWA,EAAA,OAAO,SAAAK,EAAA,EAAvCkF,EAAkDS,iBAClDT,EAA4DU,EAAA,CAAA,IAAA,EAA1C,UAAU,6BAAA,CAAA,4BAI9BnG,EAyFWoG,EAAA,CAAA,IAAA,GAAA,CAvFV9F,EAOM,MAPNgF,GAOM,CANLO,EAKcQ,EAAA,CAAA,WAJJnG,EAAA,MAAA,sBAAAE,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAH,EAAA,MAAKG,GACb,MAAOH,EAAA,mBAAqBA,EAAA,EAAC,aAAA,sBAAA,EAAyCA,EAAA,EAAC,aAAA,YAAA,EACxE,kCAAA,EAAA,EAAA,WACA,IAAsB,CAAtB2F,EAAsBS,EAAA,CAAZ,KAAM,EAAA,CAAE,CAAA,CAAA,mCAKpBhG,EAiEK,KAjELiG,GAiEK,EAAAhG,EAAA,EAAA,EA9DJP,EA0CKoG,EAAA,KAAAI,GAzCUtG,EAAA,aAAPqC,QADRvC,EA0CK,KAAA,CAxCH,IAAKuC,EAAI,GAAA,QAAA,GACV,IAAI,OACH,gCAA+BA,EAAI,GACnC,MAAKkE,GAAEvG,EAAA,aAAaqC,CAAG,CAAA,EACxB,MAAM,wBAAA,EAAA,CACNsD,EAQwBa,EAAA,CAPtB,WAAYxG,YAAUqC,CAAG,EACzB,SAAQ,CAAGA,EAAI,UACf,cAAerC,kBAAgBqC,CAAG,EAClC,MAAOA,EAAI,YACZ,MAAM,kCACL,sBAAiBlC,GAAEH,EAAA,cAAcqC,EAAKlC,CAAM,CAAA,EAAA,WAC7C,IAAwB,CAAA0F,EAAAC,EAArB9F,gBAAcqC,CAAG,CAAA,EAAA,CAAA,CAAA,CAAA,qFAKdrC,EAAA,oBAAAK,IADPkF,EAuBgBkB,EAAA,CAAA,IAAA,EArBd,sCAAqCpE,EAAI,GACzC,WAAU,IAAMA,EAAI,OAAK,QAAA,GACzB,MAAOrC,iBAAiBqC,EAAI,GAC7B,MAAM,+BACL,iBAAYlC,GAAEH,EAAA,aAAeG,EAASkC,EAAI,GAAE,GAC5C,SAAMlC,GAAEH,EAAA,cAAcqC,EAAKlC,CAAM,CAAA,EAAA,WAClC,IAcW,CAdXwF,EAcWC,EAAA,CAdA,aAAY5F,EAAA,EAAC,aAAA,kBAAA,EAAoC,QAAQ,UAAA,EAAA,CACxD,KAAI0F,EACd,IAI+B,CAHxBrD,EAAI,WADXkD,EAI+BmB,EAAA,CAAA,IAAA,EAF7B,KAAM,GACP,UAAU,2BACV,MAAM,qBAAA,CAAA,IAAArG,EAAA,EACPkF,EAI8BoB,EAAA,CAAA,IAAA,EAF5B,KAAM,GACP,UAAU,2BACV,MAAM,oBAAA,CAAA,GACPhB,EAA0CiB,EAAA,CAA9B,MAAM,qBAAA,CAAqB,CAAA,CAAA,4JAO3CxG,EAgBK,KAAA,KAAA,CAdGJ,EAAA,oBAAsBA,oBAD7BuF,EAcWK,EAAA,CAAA,IAAA,EAZT,SAAU5F,WAAWA,EAAA,OAAO,aAC7B,UAAU,QACV,MAAM,gCACN,KAAK,SACL,QAAQ,WACR,0CAAA,GACC,QAAOA,EAAA,QAAA,EAAA,CAGG,KAAI0F,EACd,IAAY,CAAZC,EAAYkB,CAAA,CAAA,CAAA,YAHb,IAAkB,CAAAhB,EAAAC,EAAf9F,QAAM,KAAA,CAAI,EAAA,CAAA,EAAAE,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAKE,EAAI,KAAA,KAAA,KAAA,EAAA,GACtBA,EAAkG,OAAlGiF,GAAkGS,EAA3C9F,EAAA,EAAC,aAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,CAAA,+CAS3DI,EAQM,MARNkF,GAQM,CAPctF,kBAGnBuF,EAGauB,EAAA,CAAA,IAAA,EAHM,KAAK,MAAA,EAAA,WAEvB,IAA+B,CAA/B1G,EAA+B,OAAA,CAAzB,UAAQJ,EAAA,eAAa,KAAA,EAAA+G,EAAA,CAAA,CAAA,cAL5BxB,EAEauB,EAAA,CAAA,IAAA,EAFkB,KAAK,MAAA,EAAA,WACnC,IAA2D,CAAAjB,EAAAC,EAAxD9F,EAAA,EAAC,aAAA,oCAAA,CAAA,EAAA,CAAA,CAAA,CAAA,oBA0BPI,EAMM,MAAA,KAAA,CALLuF,EAIqBqB,EAAA,CAHpB,IAAI,OACJ,KAAK,KACL,QAAA,GACA,QAAQ,SAAA,EAAA,KAAA,GAAA,aALG,EAAK,CAAA,CAAA","x_google_ignoreList":[0,1,2,3]}
\ No newline at end of file
+{"version":3,"file":"SystemTagPicker-CKFmz-Cj.chunk.mjs","sources":["../node_modules/vue-material-design-icons/CheckCircle.vue","../node_modules/vue-material-design-icons/Circle.vue","../node_modules/vue-material-design-icons/CircleOutline.vue","../node_modules/vue-material-design-icons/TagOutline.vue","../build/frontend/apps/systemtags/src/components/SystemTagPicker.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","debounceUpdateTag","debounce","updateTag","mainBackgroundColor","isDarkModeEnabled","Status","restrictSystemTagsCreationToAdmin","loadState","defineComponent","CheckIcon","CircleIcon","CircleOutlineIcon","NcButton","NcCheckboxRadioSwitch","NcChip","NcColorPicker","NcDialog","NcEmptyContent","NcLoadingIcon","NcNoteCard","NcTextField","PencilIcon","PlusIcon","TagIcon","status","emit","t","getCurrentUser","a","b","getLanguage","tag","n","tagsAdd","lastTagAdd","tagsRemove","lastTagRemove","addStringSingular","removeStringSingular","addStringPlural","removeStringPlural","fetchTags","tags","acc","node","getNodeSystemTags","logger","chipCloneEl","style","key","value","escapeHTML","domPurify","color","checked","search","showError","payload","id","createTag","fetchTag","el","error","etag","objects","getTagObjects","ids","obj","setTagObjects","nodeFileIds","index","self","nodes","setNodeSystemTags","primaryElement","elementColor","textColor","invertTextColor","_hoisted_1","_hoisted_4","_hoisted_5","_createBlock","_component_NcDialog","_normalizeClass","_withCtx","_createVNode","_component_NcButton","_createTextVNode","_toDisplayString","_component_NcEmptyContent","_component_NcLoadingIcon","_component_CheckIcon","_Fragment","_component_NcTextField","_component_TagIcon","_hoisted_2","_renderList","_normalizeStyle","_component_NcCheckboxRadioSwitch","_component_NcColorPicker","_component_CircleIcon","_component_CircleOutlineIcon","_component_PencilIcon","_component_PlusIcon","_component_NcNoteCard","_hoisted_6","_component_NcChip"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
\ No newline at end of file
diff --git a/dist/SystemTagPicker-arnTjlaX.chunk.mjs.map.license b/dist/SystemTagPicker-CKFmz-Cj.chunk.mjs.map.license
similarity index 100%
rename from dist/SystemTagPicker-arnTjlaX.chunk.mjs.map.license
rename to dist/SystemTagPicker-CKFmz-Cj.chunk.mjs.map.license
diff --git a/dist/UpdateAllDialog-wohJJdWD.chunk.mjs b/dist/UpdateAllDialog-Cv_g-se6.chunk.mjs
similarity index 99%
rename from dist/UpdateAllDialog-wohJJdWD.chunk.mjs
rename to dist/UpdateAllDialog-Cv_g-se6.chunk.mjs
index 97c4bdb735304..3ffd8f86902dc 100644
--- a/dist/UpdateAllDialog-wohJJdWD.chunk.mjs
+++ b/dist/UpdateAllDialog-Cv_g-se6.chunk.mjs
@@ -1,2 +1,2 @@
-import{r as U,o as d,f as k,g,J as K,am as Q,y as c,k as p,t as f,n as X,b as G,E as Y,c as h,u as e,l as D,w as u,h as V,v as S,a7 as Z,F as z,B,z as x,j as C,a8 as ee,C as j,a as ae,_ as te,q as le}from"./Web-X6XNrbMx.chunk.mjs";import{E as se,F as pe,G as ie,H as oe,I as re,J as ne,K as T,q as de,L as ue,w as me,N as ce}from"./mdi-GefgkJkH.chunk.mjs";import{t as n,g as _e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{a as ye,N}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{_ as he,N as v,c as ge}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{b as be}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{P as fe}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{e as ve,b as ke,w as we}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css                                          */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{s as Ae,t as Ge,u as M,v as O,N as A}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as q}from"./TrashCanOutline-BBIwb491.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{s as Ie,N as Se}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import{N as E}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css                                       */import{N as $e}from"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{b as $,B as De,e as Ve,f as Ce,u as P,g as F,d as H,M as Me,l as xe}from"./appstore-main.mjs";import{_ as I}from"./public-C1mLBHT3.chunk.mjs";import{a as Ee}from"./index--CXeJKGn.chunk.mjs";const ze={name:"NcActionCheckbox",components:{NcIconSvgWrapper:v},mixins:[ye],inject:{isInSemanticMenu:{from:ve,default:!1}},props:{id:{type:String,default:()=>"action-"+ge(),validator:i=>i.trim()!==""},modelValue:{type:Boolean,default:!1},value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:["change","check","uncheck","update:modelValue"],setup(i){return{model:X(i,"modelValue"),mdiCheckboxBlankOutline:Ge,mdiCheckboxMarked:Ae}},methods:{onChange(i){this.$emit("change",i),i.target.checked?this.$emit("check"):this.$emit("uncheck")}}},qe=["role"],Ne=["role","aria-checked"],Le={class:"action-checkbox__icon"},Ue=["id","value","disabled"],Be={class:"action-checkbox__text"};function je(i,s,r,a,l,t){const o=U("NcIconSvgWrapper");return d(),k("li",{class:c(["action",{"action--disabled":r.disabled}]),role:t.isInSemanticMenu&&"presentation"},[g("label",{class:"action-checkbox",role:t.isInSemanticMenu&&"menuitemcheckbox","aria-checked":t.isInSemanticMenu&&a.model.toString()},[g("span",Le,[K(g("input",{id:r.id,"onUpdate:modelValue":s[0]||(s[0]=b=>a.model=b),type:"checkbox",class:c(["action-checkbox__input",{focusable:!r.disabled}]),value:r.value,disabled:r.disabled,onChange:s[1]||(s[1]=(...b)=>t.onChange&&t.onChange(...b))},null,42,Ue),[[Q,a.model]]),p(o,{path:a.model?a.mdiCheckboxMarked:a.mdiCheckboxBlankOutline,size:20},null,8,["path"])]),g("span",Be,f(i.text),1)],8,Ne)],10,qe)}const Te=he(ze,[["render",je],["__scopeId","data-v-2947bc3b"]]),Oe=["src"],Pe=new fe({concurrency:4}),Fe=G({__name:"AppImage",props:{app:{}},setup(i){const s=i,r=D(!1),a=D(!0);return Y(()=>{s.app.screenshot?(r.value=!1,a.value=!0,Pe.add(()=>{const l=new Image,{promise:t,resolve:o}=Promise.withResolvers();return l.onload=()=>{a.value=!1,o()},l.onerror=()=>{r.value=!0,a.value=!1,o()},l.src=s.app.screenshot,t})):(a.value=!1,r.value=!1)}),(l,t)=>(d(),k("div",{class:c(l.$style.appImage)},[r.value||!s.app.screenshot?(d(),h(e(v),{key:0,size:80,path:e(se)},null,8,["path"])):a.value?(d(),h(e(q),{key:1,size:80})):(d(),k("img",{key:2,class:c(l.$style.appImage__image),src:s.app.screenshot,alt:""},null,10,Oe))],2))}}),He="_appImage_1ky4h_2",Re="_appImage__image_1ky4h_9",Je={appImage:He,appImage__image:Re},We={$style:Je},Ke=I(Fe,[["__cssModules",We]]),Qe=G({__name:"AppGridItem",props:{app:{}},setup(i){const s=$(),r=M(),a=S(()=>({...r,params:{...r.params,id:i.app.id},query:s.getQuery()}));return(l,t)=>{const o=U("RouterLink");return d(),k("li",{class:c(l.$style.appGridItem)},[p(o,{to:a.value},{default:u(()=>[p(Ke,{app:i.app,class:c(l.$style.appGridItem__image)},null,8,["app","class"]),g("div",{class:c(l.$style.appGridItem__content)},[g("h3",{class:c(l.$style.appGridItem__name)},f(i.app.name),3),g("p",null,f(i.app.summary),1)],2)]),_:1},8,["to"]),g("div",{class:c(l.$style.appGridItem__badges)},[p(De,{app:i.app},null,8,["app"]),p(Ve,{level:i.app.level},null,8,["level"]),i.app.app_api&&i.app.daemon?(d(),h(Ce,{key:0,daemon:i.app.daemon},null,8,["daemon"])):V("",!0)],2)],2)}}}),Xe="_appGridItem_6wxsl_2",Ye="_appGridItem__content_6wxsl_17",Ze="_appGridItem__image_6wxsl_21",ea="_appGridItem__name_6wxsl_29",aa="_appGridItem__badges_6wxsl_35",ta={appGridItem:Xe,appGridItem__content:Ye,appGridItem__image:Ze,appGridItem__name:ea,appGridItem__badges:aa},la={$style:ta},sa=I(Qe,[["__cssModules",la]]),pa=G({__name:"AppGrid",props:{apps:{}},setup(i){Z(a=>({dc9c258c:r.value}));const s=$(),r=S(()=>s.gridSizePx);return(a,l)=>(d(),k("ul",{class:c(a.$style.appGrid)},[(d(!0),k(z,null,B(i.apps,t=>(d(),h(sa,{key:t.id,app:t},null,8,["app"]))),128))],2))}}),ia="_appGrid_xjc6e_2",oa={appGrid:ia},ra={$style:oa},R=I(pa,[["__cssModules",ra]]),na=G({__name:"AppToolbar",setup(i){const s=M(),r=O(),a=$();return x(()=>a.isGridView,l=>{r.replace({...s,query:{...s.query,grid:l?null:void 0}})}),x(()=>a.defaultGridSize,l=>{a.isGridView&&r.replace({...s,query:{...s.query,grid:l||null}})}),x(()=>a.showIncompatible,l=>{l?r.replace({...s,query:{...s.query,compatible:void 0}}):r.replace({...s,query:{...s.query,compatible:null}})}),(l,t)=>(d(),k("div",{class:c(l.$style.appToolbar)},[p(e(ke),{class:c(l.$style.appToolbar__filterButton),"aria-label":e(n)("appstore","Filter view"),forceMenu:""},{icon:u(()=>[p(e(v),{path:e(re)},null,8,["path"])]),default:u(()=>[e(a).isGridView?(d(),h(e(be),{key:0,name:e(n)("appstore","Grid size")},{default:u(()=>[p(e(N),{"aria-label":e(n)("appstore","Small grid size"),modelValue:e(a).defaultGridSize==="",type:"radio",value:"","onUpdate:modelValue":t[0]||(t[0]=o=>e(a).defaultGridSize="")},{icon:u(()=>[p(e(v),{path:e(pe)},null,8,["path"])]),_:1},8,["aria-label","modelValue"]),p(e(N),{"aria-label":e(n)("appstore","Medium grid size"),modelValue:e(a).defaultGridSize==="m",type:"radio",value:"m","onUpdate:modelValue":t[1]||(t[1]=o=>e(a).defaultGridSize="m")},{icon:u(()=>[p(e(v),{path:e(ie)},null,8,["path"])]),_:1},8,["aria-label","modelValue"]),p(e(N),{"aria-label":e(n)("appstore","Large grid size"),modelValue:e(a).defaultGridSize==="l",type:"radio",value:"l","onUpdate:modelValue":t[2]||(t[2]=o=>e(a).defaultGridSize="l")},{icon:u(()=>[p(e(v),{path:e(oe)},null,8,["path"])]),_:1},8,["aria-label","modelValue"])]),_:1},8,["name"])):V("",!0),p(e(Te),{modelValue:e(a).showIncompatible,"onUpdate:modelValue":t[3]||(t[3]=o=>e(a).showIncompatible=o)},{default:u(()=>[C(f(e(n)("appstore","Show incompatible")),1)]),_:1},8,["modelValue"])]),_:1},8,["class","aria-label"]),p(e(A),{pressed:e(a).isGridView,"onUpdate:pressed":t[4]||(t[4]=o=>e(a).isGridView=o),"aria-label":e(n)("appstore","Grid view"),variant:"tertiary"},{icon:u(()=>[p(e(v),{path:e(ne)},null,8,["path"])]),_:1},8,["pressed","aria-label"])],2))}}),da="_appToolbar_1v7y4_2",ua={appToolbar:da},ma={$style:ua},J=I(na,[["__cssModules",ma]]);function W(i){const s=$(),r=M();return S(()=>{const a=[r.query.q||""].flat()[0];return ee(i).filter(l=>{if(!s.showIncompatible&&l.isCompatible===!1)return!1;if(a){const t=a.trim().toLocaleLowerCase();return l.name.toLocaleLowerCase().includes(t)||l.id.toLocaleLowerCase().includes(t)||l.summary.toLocaleLowerCase().includes(t)}return!0})})}const ca=G({__name:"AppstoreManage",setup(i){const s=ae(()=>te(()=>Promise.resolve().then(()=>Na),void 0,import.meta.url)),r=M(),a=P(),l=F(),t=$(),o=S(()=>r.params.category),b=S(()=>o.value==="installed"?a.apps.filter(m=>m.installed):o.value==="enabled"?a.apps.filter(m=>m.active):o.value==="disabled"?a.apps.filter(m=>m.installed&&!m.active):o.value==="updates"?a.apps.filter(m=>m.active&&m.update):[]),w=W(b);async function _(){await Ie(s,{apps:w.value})}return(m,y)=>(d(),k(z,null,[p(J),o.value==="updates"&&e(l).updateCount>0?(d(),h(e(A),{key:0,class:c(m.$style.appstoreManage__updateAllButton),variant:"primary",onClick:_},{icon:u(()=>[p(e(v),{path:e(T)},null,8,["path"])]),default:u(()=>[C(" "+f(e(n)("appstore","Update all applications")),1)]),_:1},8,["class"])):V("",!0),e(a).isLoadingApps?(d(),h(e(E),{key:1,name:e(n)("appstore","Loading app list")},{icon:u(()=>[p(e(q),{size:64})]),_:1},8,["name"])):e(w).length?(d(),h(j(e(t).isGridView?R:H),{key:2,class:c(m.$style.appstoreManage),apps:e(w)},null,8,["class","apps"])):(d(),h(e(E),{key:3,name:e(n)("appstore","No matching apps found")},{action:u(()=>[p(e(A),{variant:"primary",onClick:y[0]||(y[0]=L=>m.$router.push({query:m.$route.query,name:"apps-search"}))},{default:u(()=>[C(f(e(n)("appstore","Search everywhere")),1)]),_:1})]),_:1},8,["name"]))],64))}}),_a="_appstoreManage_worb1_2",ya="_appstoreManage__updateAllButton_worb1_6",ha={appstoreManage:_a,appstoreManage__updateAllButton:ya},ga={$style:ha},ba=I(ca,[["__cssModules",ga]]),At=Object.freeze(Object.defineProperty({__proto__:null,default:ba},Symbol.toStringTag,{value:"Module"})),fa=G({__name:"AppstoreSearch",setup(i){const s=M(),r=O(),a=P(),l=$(),t=W(()=>a.apps),o=D("");return x(()=>s.query.q,b=>{o.value=[b||""].flat()[0]},{immediate:!0}),we(o,b=>{r.replace({...s,query:{...s.query,q:b.trim()}})},{debounce:500}),(b,w)=>(d(),k(z,null,[p(J),e(a).isLoadingApps?(d(),h(e(E),{key:0,name:e(n)("appstore","Loading app list")},{icon:u(()=>[p(e(q),{size:64})]),_:1},8,["name"])):e(t).length&&o.value.trim().length>2?(d(),h(j(e(l).isGridView?R:H),{key:1,class:c(b.$style.appstoreSearch),apps:e(t)},null,8,["class","apps"])):(d(),h(e(E),{key:2,name:e(n)("appstore","No matching apps found"),description:o.value.trim().length<=2?e(n)("appstore","Please enter more characters to search."):void 0},{action:u(()=>[p(e($e),{modelValue:o.value,"onUpdate:modelValue":w[0]||(w[0]=_=>o.value=_),type:"search",label:e(n)("appstore","Search apps")},null,8,["modelValue","label"])]),_:1},8,["name","description"]))],64))}}),va="_appstoreSearch_e0puj_2",ka={appstoreSearch:va},wa={$style:ka},Aa=I(fa,[["__cssModules",wa]]),Gt=Object.freeze(Object.defineProperty({__proto__:null,default:Aa},Symbol.toStringTag,{value:"Module"})),Ga=G({__name:"UpdateAllDialog",props:{apps:{}},emits:["close"],setup(i,{emit:s}){const r=i,a=s,l=F(),t=D(""),o=D(!1),b=S(()=>{if(!t.value)return"";const _=r.apps.find(y=>y.id===t.value);if(!_||!_.releases||_.releases.length===0)return"";const[m]=_.releases;return m.translations[_e()]?.changelog??m.translations.en?.changelog??""});async function w(){o.value=!0;for(const _ of r.apps)try{await l.updateApp(_.id)}catch(m){xe.error(`Failed to update app ${_.id}`,{error:m}),Ee(n("appstore","Failed to update app {appName}",{appName:_.name}))}o.value=!1,a("close")}return(_,m)=>(d(),h(e(Se),{contentClasses:_.$style.updateAllDialog,size:"normal",name:e(n)("appstore","Update all apps")},{actions:u(()=>[p(e(A),{variant:"tertiary",onClick:m[0]||(m[0]=y=>a("close"))},{default:u(()=>[C(f(e(n)("appstore","Cancel")),1)]),_:1}),p(e(A),{variant:"primary",onClick:w},le({default:u(()=>[C(" "+f(e(n)("appstore","Update all")),1)]),_:2},[o.value?{name:"icon",fn:u(()=>[p(e(q))]),key:"0"}:void 0]),1024)]),default:u(()=>[g("p",null,f(e(n)("appstore","Are you sure you want to update all apps?")),1),g("ul",null,[(d(!0),k(z,null,B(i.apps,y=>(d(),k("li",{key:y.id,class:c(_.$style.updateAllDialog__listEntry)},[g("div",{class:c(_.$style.updateAllDialog__listEntryContent)},[g("div",{class:c(_.$style.updateAllDialog__listEntryHeading)},[p(e(v),{path:y.update?e(T):e(de),name:y.update?void 0:e(n)("appstore","Update done")},null,8,["path","name"]),g("span",{class:c(_.$style.updateAllDialog__listEntryName)},f(y.name)+" ("+f(y.version)+" → "+f(y.update)+")",3)],2),g("div",{class:c(_.$style.updateAllDialog__listEntryActions)},[y.website?(d(),h(e(A),{key:0,"aria-label":e(n)("appstore","View website"),title:e(n)("appstore","View website"),href:y.website,target:"_blank",variant:"tertiary"},{icon:u(()=>[p(e(v),{path:e(ue)},null,8,["path"])]),_:1},8,["aria-label","title","href"])):V("",!0),y.releases?(d(),h(e(A),{key:1,"aria-label":e(n)("appstore","Show details"),title:e(n)("appstore","Show details"),pressed:t.value===y.id,"onUpdate:pressed":L=>t.value=L?y.id:""},{icon:u(()=>[p(e(v),{path:e(me)},null,8,["path"])]),_:1},8,["aria-label","title","pressed","onUpdate:pressed"])):V("",!0)],2)],2)],2))),128))]),p(e(ce),{class:c(_.$style.updateAllDialog__listEntryDetails),heading:e(n)("appstore","Details"),type:"info"},{default:u(()=>[p(Me,{minHeadingLevel:3,text:b.value},null,8,["text"])]),_:1},8,["class","heading"])]),_:1},8,["contentClasses","name"]))}}),Ia="_updateAllDialog_e6bft_2",Sa="_updateAllDialog__list_e6bft_6",$a="_updateAllDialog__listEntry_e6bft_12",Da="_updateAllDialog__listEntryHeading_e6bft_19",Va="_updateAllDialog__listEntryName_e6bft_23",Ca="_updateAllDialog__listEntryActions_e6bft_28",Ma="_updateAllDialog__listEntryContent_e6bft_34",xa="_updateAllDialog__listEntryDetails_e6bft_39",Ea={updateAllDialog:Ia,updateAllDialog__list:Sa,updateAllDialog__listEntry:$a,updateAllDialog__listEntryHeading:Da,updateAllDialog__listEntryName:Va,updateAllDialog__listEntryActions:Ca,updateAllDialog__listEntryContent:Ma,updateAllDialog__listEntryDetails:xa},za={$style:Ea},qa=I(Ga,[["__cssModules",za]]),Na=Object.freeze(Object.defineProperty({__proto__:null,default:qa},Symbol.toStringTag,{value:"Module"}));export{Ke as A,J as a,R as b,At as c,Gt as d,W as u};
-//# sourceMappingURL=UpdateAllDialog-wohJJdWD.chunk.mjs.map
+import{r as U,o as d,f as k,g,J as K,am as Q,y as c,k as p,t as f,n as X,b as G,E as Y,c as h,u as e,l as D,w as u,h as V,v as S,a7 as Z,F as z,B,z as x,j as C,a8 as ee,C as j,a as ae,_ as te,q as le}from"./Web-X6XNrbMx.chunk.mjs";import{E as se,F as pe,G as ie,H as oe,I as re,J as ne,K as T,q as de,L as ue,w as me,N as ce}from"./mdi-GefgkJkH.chunk.mjs";import{t as n,g as _e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{a as ye,N}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{_ as he,N as v,c as ge}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{b as be}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{P as fe}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{e as ve,b as ke,w as we}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css                                          */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{s as Ae,t as Ge,u as M,v as O,N as A}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as q}from"./TrashCanOutline-BBIwb491.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{s as Ie,N as Se}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import{N as E}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css                                       */import{N as $e}from"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{b as $,B as De,e as Ve,f as Ce,u as P,g as F,d as H,M as Me,l as xe}from"./appstore-main.mjs";import{_ as I}from"./public-C1mLBHT3.chunk.mjs";import{a as Ee}from"./index-9np_X5jS.chunk.mjs";const ze={name:"NcActionCheckbox",components:{NcIconSvgWrapper:v},mixins:[ye],inject:{isInSemanticMenu:{from:ve,default:!1}},props:{id:{type:String,default:()=>"action-"+ge(),validator:i=>i.trim()!==""},modelValue:{type:Boolean,default:!1},value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:["change","check","uncheck","update:modelValue"],setup(i){return{model:X(i,"modelValue"),mdiCheckboxBlankOutline:Ge,mdiCheckboxMarked:Ae}},methods:{onChange(i){this.$emit("change",i),i.target.checked?this.$emit("check"):this.$emit("uncheck")}}},qe=["role"],Ne=["role","aria-checked"],Le={class:"action-checkbox__icon"},Ue=["id","value","disabled"],Be={class:"action-checkbox__text"};function je(i,s,r,a,l,t){const o=U("NcIconSvgWrapper");return d(),k("li",{class:c(["action",{"action--disabled":r.disabled}]),role:t.isInSemanticMenu&&"presentation"},[g("label",{class:"action-checkbox",role:t.isInSemanticMenu&&"menuitemcheckbox","aria-checked":t.isInSemanticMenu&&a.model.toString()},[g("span",Le,[K(g("input",{id:r.id,"onUpdate:modelValue":s[0]||(s[0]=b=>a.model=b),type:"checkbox",class:c(["action-checkbox__input",{focusable:!r.disabled}]),value:r.value,disabled:r.disabled,onChange:s[1]||(s[1]=(...b)=>t.onChange&&t.onChange(...b))},null,42,Ue),[[Q,a.model]]),p(o,{path:a.model?a.mdiCheckboxMarked:a.mdiCheckboxBlankOutline,size:20},null,8,["path"])]),g("span",Be,f(i.text),1)],8,Ne)],10,qe)}const Te=he(ze,[["render",je],["__scopeId","data-v-2947bc3b"]]),Oe=["src"],Pe=new fe({concurrency:4}),Fe=G({__name:"AppImage",props:{app:{}},setup(i){const s=i,r=D(!1),a=D(!0);return Y(()=>{s.app.screenshot?(r.value=!1,a.value=!0,Pe.add(()=>{const l=new Image,{promise:t,resolve:o}=Promise.withResolvers();return l.onload=()=>{a.value=!1,o()},l.onerror=()=>{r.value=!0,a.value=!1,o()},l.src=s.app.screenshot,t})):(a.value=!1,r.value=!1)}),(l,t)=>(d(),k("div",{class:c(l.$style.appImage)},[r.value||!s.app.screenshot?(d(),h(e(v),{key:0,size:80,path:e(se)},null,8,["path"])):a.value?(d(),h(e(q),{key:1,size:80})):(d(),k("img",{key:2,class:c(l.$style.appImage__image),src:s.app.screenshot,alt:""},null,10,Oe))],2))}}),He="_appImage_1ky4h_2",Re="_appImage__image_1ky4h_9",Je={appImage:He,appImage__image:Re},We={$style:Je},Ke=I(Fe,[["__cssModules",We]]),Qe=G({__name:"AppGridItem",props:{app:{}},setup(i){const s=$(),r=M(),a=S(()=>({...r,params:{...r.params,id:i.app.id},query:s.getQuery()}));return(l,t)=>{const o=U("RouterLink");return d(),k("li",{class:c(l.$style.appGridItem)},[p(o,{to:a.value},{default:u(()=>[p(Ke,{app:i.app,class:c(l.$style.appGridItem__image)},null,8,["app","class"]),g("div",{class:c(l.$style.appGridItem__content)},[g("h3",{class:c(l.$style.appGridItem__name)},f(i.app.name),3),g("p",null,f(i.app.summary),1)],2)]),_:1},8,["to"]),g("div",{class:c(l.$style.appGridItem__badges)},[p(De,{app:i.app},null,8,["app"]),p(Ve,{level:i.app.level},null,8,["level"]),i.app.app_api&&i.app.daemon?(d(),h(Ce,{key:0,daemon:i.app.daemon},null,8,["daemon"])):V("",!0)],2)],2)}}}),Xe="_appGridItem_6wxsl_2",Ye="_appGridItem__content_6wxsl_17",Ze="_appGridItem__image_6wxsl_21",ea="_appGridItem__name_6wxsl_29",aa="_appGridItem__badges_6wxsl_35",ta={appGridItem:Xe,appGridItem__content:Ye,appGridItem__image:Ze,appGridItem__name:ea,appGridItem__badges:aa},la={$style:ta},sa=I(Qe,[["__cssModules",la]]),pa=G({__name:"AppGrid",props:{apps:{}},setup(i){Z(a=>({dc9c258c:r.value}));const s=$(),r=S(()=>s.gridSizePx);return(a,l)=>(d(),k("ul",{class:c(a.$style.appGrid)},[(d(!0),k(z,null,B(i.apps,t=>(d(),h(sa,{key:t.id,app:t},null,8,["app"]))),128))],2))}}),ia="_appGrid_xjc6e_2",oa={appGrid:ia},ra={$style:oa},R=I(pa,[["__cssModules",ra]]),na=G({__name:"AppToolbar",setup(i){const s=M(),r=O(),a=$();return x(()=>a.isGridView,l=>{r.replace({...s,query:{...s.query,grid:l?null:void 0}})}),x(()=>a.defaultGridSize,l=>{a.isGridView&&r.replace({...s,query:{...s.query,grid:l||null}})}),x(()=>a.showIncompatible,l=>{l?r.replace({...s,query:{...s.query,compatible:void 0}}):r.replace({...s,query:{...s.query,compatible:null}})}),(l,t)=>(d(),k("div",{class:c(l.$style.appToolbar)},[p(e(ke),{class:c(l.$style.appToolbar__filterButton),"aria-label":e(n)("appstore","Filter view"),forceMenu:""},{icon:u(()=>[p(e(v),{path:e(re)},null,8,["path"])]),default:u(()=>[e(a).isGridView?(d(),h(e(be),{key:0,name:e(n)("appstore","Grid size")},{default:u(()=>[p(e(N),{"aria-label":e(n)("appstore","Small grid size"),modelValue:e(a).defaultGridSize==="",type:"radio",value:"","onUpdate:modelValue":t[0]||(t[0]=o=>e(a).defaultGridSize="")},{icon:u(()=>[p(e(v),{path:e(pe)},null,8,["path"])]),_:1},8,["aria-label","modelValue"]),p(e(N),{"aria-label":e(n)("appstore","Medium grid size"),modelValue:e(a).defaultGridSize==="m",type:"radio",value:"m","onUpdate:modelValue":t[1]||(t[1]=o=>e(a).defaultGridSize="m")},{icon:u(()=>[p(e(v),{path:e(ie)},null,8,["path"])]),_:1},8,["aria-label","modelValue"]),p(e(N),{"aria-label":e(n)("appstore","Large grid size"),modelValue:e(a).defaultGridSize==="l",type:"radio",value:"l","onUpdate:modelValue":t[2]||(t[2]=o=>e(a).defaultGridSize="l")},{icon:u(()=>[p(e(v),{path:e(oe)},null,8,["path"])]),_:1},8,["aria-label","modelValue"])]),_:1},8,["name"])):V("",!0),p(e(Te),{modelValue:e(a).showIncompatible,"onUpdate:modelValue":t[3]||(t[3]=o=>e(a).showIncompatible=o)},{default:u(()=>[C(f(e(n)("appstore","Show incompatible")),1)]),_:1},8,["modelValue"])]),_:1},8,["class","aria-label"]),p(e(A),{pressed:e(a).isGridView,"onUpdate:pressed":t[4]||(t[4]=o=>e(a).isGridView=o),"aria-label":e(n)("appstore","Grid view"),variant:"tertiary"},{icon:u(()=>[p(e(v),{path:e(ne)},null,8,["path"])]),_:1},8,["pressed","aria-label"])],2))}}),da="_appToolbar_1v7y4_2",ua={appToolbar:da},ma={$style:ua},J=I(na,[["__cssModules",ma]]);function W(i){const s=$(),r=M();return S(()=>{const a=[r.query.q||""].flat()[0];return ee(i).filter(l=>{if(!s.showIncompatible&&l.isCompatible===!1)return!1;if(a){const t=a.trim().toLocaleLowerCase();return l.name.toLocaleLowerCase().includes(t)||l.id.toLocaleLowerCase().includes(t)||l.summary.toLocaleLowerCase().includes(t)}return!0})})}const ca=G({__name:"AppstoreManage",setup(i){const s=ae(()=>te(()=>Promise.resolve().then(()=>Na),void 0,import.meta.url)),r=M(),a=P(),l=F(),t=$(),o=S(()=>r.params.category),b=S(()=>o.value==="installed"?a.apps.filter(m=>m.installed):o.value==="enabled"?a.apps.filter(m=>m.active):o.value==="disabled"?a.apps.filter(m=>m.installed&&!m.active):o.value==="updates"?a.apps.filter(m=>m.active&&m.update):[]),w=W(b);async function _(){await Ie(s,{apps:w.value})}return(m,y)=>(d(),k(z,null,[p(J),o.value==="updates"&&e(l).updateCount>0?(d(),h(e(A),{key:0,class:c(m.$style.appstoreManage__updateAllButton),variant:"primary",onClick:_},{icon:u(()=>[p(e(v),{path:e(T)},null,8,["path"])]),default:u(()=>[C(" "+f(e(n)("appstore","Update all applications")),1)]),_:1},8,["class"])):V("",!0),e(a).isLoadingApps?(d(),h(e(E),{key:1,name:e(n)("appstore","Loading app list")},{icon:u(()=>[p(e(q),{size:64})]),_:1},8,["name"])):e(w).length?(d(),h(j(e(t).isGridView?R:H),{key:2,class:c(m.$style.appstoreManage),apps:e(w)},null,8,["class","apps"])):(d(),h(e(E),{key:3,name:e(n)("appstore","No matching apps found")},{action:u(()=>[p(e(A),{variant:"primary",onClick:y[0]||(y[0]=L=>m.$router.push({query:m.$route.query,name:"apps-search"}))},{default:u(()=>[C(f(e(n)("appstore","Search everywhere")),1)]),_:1})]),_:1},8,["name"]))],64))}}),_a="_appstoreManage_worb1_2",ya="_appstoreManage__updateAllButton_worb1_6",ha={appstoreManage:_a,appstoreManage__updateAllButton:ya},ga={$style:ha},ba=I(ca,[["__cssModules",ga]]),At=Object.freeze(Object.defineProperty({__proto__:null,default:ba},Symbol.toStringTag,{value:"Module"})),fa=G({__name:"AppstoreSearch",setup(i){const s=M(),r=O(),a=P(),l=$(),t=W(()=>a.apps),o=D("");return x(()=>s.query.q,b=>{o.value=[b||""].flat()[0]},{immediate:!0}),we(o,b=>{r.replace({...s,query:{...s.query,q:b.trim()}})},{debounce:500}),(b,w)=>(d(),k(z,null,[p(J),e(a).isLoadingApps?(d(),h(e(E),{key:0,name:e(n)("appstore","Loading app list")},{icon:u(()=>[p(e(q),{size:64})]),_:1},8,["name"])):e(t).length&&o.value.trim().length>2?(d(),h(j(e(l).isGridView?R:H),{key:1,class:c(b.$style.appstoreSearch),apps:e(t)},null,8,["class","apps"])):(d(),h(e(E),{key:2,name:e(n)("appstore","No matching apps found"),description:o.value.trim().length<=2?e(n)("appstore","Please enter more characters to search."):void 0},{action:u(()=>[p(e($e),{modelValue:o.value,"onUpdate:modelValue":w[0]||(w[0]=_=>o.value=_),type:"search",label:e(n)("appstore","Search apps")},null,8,["modelValue","label"])]),_:1},8,["name","description"]))],64))}}),va="_appstoreSearch_e0puj_2",ka={appstoreSearch:va},wa={$style:ka},Aa=I(fa,[["__cssModules",wa]]),Gt=Object.freeze(Object.defineProperty({__proto__:null,default:Aa},Symbol.toStringTag,{value:"Module"})),Ga=G({__name:"UpdateAllDialog",props:{apps:{}},emits:["close"],setup(i,{emit:s}){const r=i,a=s,l=F(),t=D(""),o=D(!1),b=S(()=>{if(!t.value)return"";const _=r.apps.find(y=>y.id===t.value);if(!_||!_.releases||_.releases.length===0)return"";const[m]=_.releases;return m.translations[_e()]?.changelog??m.translations.en?.changelog??""});async function w(){o.value=!0;for(const _ of r.apps)try{await l.updateApp(_.id)}catch(m){xe.error(`Failed to update app ${_.id}`,{error:m}),Ee(n("appstore","Failed to update app {appName}",{appName:_.name}))}o.value=!1,a("close")}return(_,m)=>(d(),h(e(Se),{contentClasses:_.$style.updateAllDialog,size:"normal",name:e(n)("appstore","Update all apps")},{actions:u(()=>[p(e(A),{variant:"tertiary",onClick:m[0]||(m[0]=y=>a("close"))},{default:u(()=>[C(f(e(n)("appstore","Cancel")),1)]),_:1}),p(e(A),{variant:"primary",onClick:w},le({default:u(()=>[C(" "+f(e(n)("appstore","Update all")),1)]),_:2},[o.value?{name:"icon",fn:u(()=>[p(e(q))]),key:"0"}:void 0]),1024)]),default:u(()=>[g("p",null,f(e(n)("appstore","Are you sure you want to update all apps?")),1),g("ul",null,[(d(!0),k(z,null,B(i.apps,y=>(d(),k("li",{key:y.id,class:c(_.$style.updateAllDialog__listEntry)},[g("div",{class:c(_.$style.updateAllDialog__listEntryContent)},[g("div",{class:c(_.$style.updateAllDialog__listEntryHeading)},[p(e(v),{path:y.update?e(T):e(de),name:y.update?void 0:e(n)("appstore","Update done")},null,8,["path","name"]),g("span",{class:c(_.$style.updateAllDialog__listEntryName)},f(y.name)+" ("+f(y.version)+" → "+f(y.update)+")",3)],2),g("div",{class:c(_.$style.updateAllDialog__listEntryActions)},[y.website?(d(),h(e(A),{key:0,"aria-label":e(n)("appstore","View website"),title:e(n)("appstore","View website"),href:y.website,target:"_blank",variant:"tertiary"},{icon:u(()=>[p(e(v),{path:e(ue)},null,8,["path"])]),_:1},8,["aria-label","title","href"])):V("",!0),y.releases?(d(),h(e(A),{key:1,"aria-label":e(n)("appstore","Show details"),title:e(n)("appstore","Show details"),pressed:t.value===y.id,"onUpdate:pressed":L=>t.value=L?y.id:""},{icon:u(()=>[p(e(v),{path:e(me)},null,8,["path"])]),_:1},8,["aria-label","title","pressed","onUpdate:pressed"])):V("",!0)],2)],2)],2))),128))]),p(e(ce),{class:c(_.$style.updateAllDialog__listEntryDetails),heading:e(n)("appstore","Details"),type:"info"},{default:u(()=>[p(Me,{minHeadingLevel:3,text:b.value},null,8,["text"])]),_:1},8,["class","heading"])]),_:1},8,["contentClasses","name"]))}}),Ia="_updateAllDialog_e6bft_2",Sa="_updateAllDialog__list_e6bft_6",$a="_updateAllDialog__listEntry_e6bft_12",Da="_updateAllDialog__listEntryHeading_e6bft_19",Va="_updateAllDialog__listEntryName_e6bft_23",Ca="_updateAllDialog__listEntryActions_e6bft_28",Ma="_updateAllDialog__listEntryContent_e6bft_34",xa="_updateAllDialog__listEntryDetails_e6bft_39",Ea={updateAllDialog:Ia,updateAllDialog__list:Sa,updateAllDialog__listEntry:$a,updateAllDialog__listEntryHeading:Da,updateAllDialog__listEntryName:Va,updateAllDialog__listEntryActions:Ca,updateAllDialog__listEntryContent:Ma,updateAllDialog__listEntryDetails:xa},za={$style:Ea},qa=I(Ga,[["__cssModules",za]]),Na=Object.freeze(Object.defineProperty({__proto__:null,default:qa},Symbol.toStringTag,{value:"Module"}));export{Ke as A,J as a,R as b,At as c,Gt as d,W as u};
+//# sourceMappingURL=UpdateAllDialog-Cv_g-se6.chunk.mjs.map
diff --git a/dist/UpdateAllDialog-wohJJdWD.chunk.mjs.license b/dist/UpdateAllDialog-Cv_g-se6.chunk.mjs.license
similarity index 100%
rename from dist/UpdateAllDialog-wohJJdWD.chunk.mjs.license
rename to dist/UpdateAllDialog-Cv_g-se6.chunk.mjs.license
diff --git a/dist/UpdateAllDialog-wohJJdWD.chunk.mjs.map b/dist/UpdateAllDialog-Cv_g-se6.chunk.mjs.map
similarity index 99%
rename from dist/UpdateAllDialog-wohJJdWD.chunk.mjs.map
rename to dist/UpdateAllDialog-Cv_g-se6.chunk.mjs.map
index adb85917cc55c..753d743ad62c3 100644
--- a/dist/UpdateAllDialog-wohJJdWD.chunk.mjs.map
+++ b/dist/UpdateAllDialog-Cv_g-se6.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"mappings":"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","names":["_sfc_main","NcIconSvgWrapper","ActionGlobalMixin","NC_ACTIONS_IS_SEMANTIC_MENU","createElementId","id","props","useModel","mdiCheckboxBlankOutline","mdiCheckboxMarked","event","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_component_NcIconSvgWrapper","resolveComponent","openBlock","createElementBlock","normalizeClass","createElementVNode","withDirectives","$event","args","vModelCheckbox","createVNode","toDisplayString","NcActionCheckbox","_export_sfc","queue","PQueue","__props","isError","ref","isLoading","watchEffect","image","promise","resolve","_createElementBlock","_normalizeClass","$style","_createBlock","_unref","mdiCogOutline","NcLoadingIcon","userSettingsStore","useUserSettingsStore","route","useRoute","routeToDetails","computed","_createVNode","_component_RouterLink","AppImage","_createElementVNode","_toDisplayString","BadgeAppScore","BadgeAppLevel","BadgeAppDaemon","userSettings","gridSize","_Fragment","_renderList","app","AppGridItem","router","useRouter","watch","enabled","newSize","showIncompatible","NcActions","t","mdiFilterVariant","NcActionButtonGroup","NcActionButton","mdiSizeS","mdiSizeM","mdiSizeL","NcButton","mdiViewGrid","useFilteredApps","apps","store","query","toValue","needle","UpdateAllDialog","defineAsyncComponent","__vitePreload","UpdateAllDialog$1","useAppsStore","updatesStore","useUpdatesStore","currentCategory","visibleApps","onUpdateAll","spawnDialog","AppToolbar","mdiUpdate","_createTextVNode","NcEmptyContent","_openBlock","_resolveDynamicComponent","AppGrid","AppTable","$router","$route","search","newQuery","watchDebounced","newValue","NcInputField","emit","__emit","showDetails","isUpdating","changelogText","release","getLanguage","onUpdate","error","logger","showError","NcDialog","mdiCheck","mdiWeb","mdiInformationOutline","NcNoteCard","MarkdownPreview"],"ignoreList":[0],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcActionCheckbox-DBqiK-AZ.mjs","../build/frontend/apps/appstore/src/components/AppImage.vue","../build/frontend/apps/appstore/src/components/AppGrid/AppGridItem.vue","../build/frontend/apps/appstore/src/components/AppGrid/AppGrid.vue","../build/frontend/apps/appstore/src/components/AppToolbar.vue","../build/frontend/apps/appstore/src/composables/useFilteredApps.ts","../build/frontend/apps/appstore/src/views/AppstoreManage.vue","../build/frontend/apps/appstore/src/views/AppstoreSearch.vue","../build/frontend/apps/appstore/src/components/UpdateAllDialog.vue"],"sourcesContent":["import '../assets/NcActionCheckbox-wD8m_a8-.css';\nimport { h as mdiCheckboxMarked, i as mdiCheckboxBlankOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withDirectives, vModelCheckbox, createVNode, toDisplayString, useModel } from \"vue\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-BZFdtdJL.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n  name: \"NcActionCheckbox\",\n  components: {\n    NcIconSvgWrapper\n  },\n  mixins: [ActionGlobalMixin],\n  inject: {\n    isInSemanticMenu: {\n      from: NC_ACTIONS_IS_SEMANTIC_MENU,\n      default: false\n    }\n  },\n  props: {\n    /**\n     * id attribute of the checkbox element\n     */\n    id: {\n      type: String,\n      default: () => \"action-\" + createElementId(),\n      validator: (id) => id.trim() !== \"\"\n    },\n    /**\n     * checked state of the the checkbox element\n     */\n    modelValue: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * value of the checkbox input\n     */\n    value: {\n      type: [String, Number],\n      default: \"\"\n    },\n    /**\n     * disabled state of the checkbox element\n     */\n    disabled: {\n      type: Boolean,\n      default: false\n    }\n  },\n  emits: [\n    /** Native change event */\n    \"change\",\n    /** Checkbox is checked */\n    \"check\",\n    /** Checkbox is unchecked */\n    \"uncheck\",\n    /** Model value changed */\n    \"update:modelValue\"\n  ],\n  setup(props) {\n    const model = useModel(props, \"modelValue\");\n    return {\n      model,\n      mdiCheckboxBlankOutline,\n      mdiCheckboxMarked\n    };\n  },\n  methods: {\n    onChange(event) {\n      this.$emit(\"change\", event);\n      if (event.target.checked) {\n        this.$emit(\"check\");\n      } else {\n        this.$emit(\"uncheck\");\n      }\n    }\n  }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = [\"role\", \"aria-checked\"];\nconst _hoisted_3 = { class: \"action-checkbox__icon\" };\nconst _hoisted_4 = [\"id\", \"value\", \"disabled\"];\nconst _hoisted_5 = { class: \"action-checkbox__text\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  const _component_NcIconSvgWrapper = resolveComponent(\"NcIconSvgWrapper\");\n  return openBlock(), createElementBlock(\"li\", {\n    class: normalizeClass([\"action\", { \"action--disabled\": $props.disabled }]),\n    role: $options.isInSemanticMenu && \"presentation\"\n  }, [\n    createElementVNode(\"label\", {\n      class: \"action-checkbox\",\n      role: $options.isInSemanticMenu && \"menuitemcheckbox\",\n      \"aria-checked\": $options.isInSemanticMenu && $setup.model.toString()\n    }, [\n      createElementVNode(\"span\", _hoisted_3, [\n        withDirectives(createElementVNode(\"input\", {\n          id: $props.id,\n          \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $setup.model = $event),\n          type: \"checkbox\",\n          class: normalizeClass([\"action-checkbox__input\", { focusable: !$props.disabled }]),\n          value: $props.value,\n          disabled: $props.disabled,\n          onChange: _cache[1] || (_cache[1] = (...args) => $options.onChange && $options.onChange(...args))\n        }, null, 42, _hoisted_4), [\n          [vModelCheckbox, $setup.model]\n        ]),\n        createVNode(_component_NcIconSvgWrapper, {\n          path: $setup.model ? $setup.mdiCheckboxMarked : $setup.mdiCheckboxBlankOutline,\n          size: 20\n        }, null, 8, [\"path\"])\n      ]),\n      createElementVNode(\"span\", _hoisted_5, toDisplayString(_ctx.text), 1)\n    ], 8, _hoisted_2)\n  ], 10, _hoisted_1);\n}\nconst NcActionCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-2947bc3b\"]]);\nexport {\n  NcActionCheckbox as N\n};\n//# sourceMappingURL=NcActionCheckbox-DBqiK-AZ.mjs.map\n","\n\n\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/*!\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { MaybeRefOrGetter } from 'vue'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { computed, toValue } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { useUserSettingsStore } from '../store/userSettings.ts'\n\n/**\n * Get the filtered list of apps based on the user settings\n *\n * @param apps - The apps to filter\n */\nexport function useFilteredApps(apps: MaybeRefOrGetter<(IAppstoreApp | IAppstoreExApp)[]>) {\n\tconst store = useUserSettingsStore()\n\tconst route = useRoute()\n\treturn computed(() => {\n\t\tconst query = [route.query.q || ''].flat()[0]!\n\t\treturn toValue(apps)\n\t\t\t.filter((app) => {\n\t\t\t\tif (!store.showIncompatible && app.isCompatible === false) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif (query) {\n\t\t\t\t\tconst needle = query.trim().toLocaleLowerCase()\n\t\t\t\t\treturn app.name.toLocaleLowerCase().includes(needle)\n\t\t\t\t\t\t|| app.id.toLocaleLowerCase().includes(needle)\n\t\t\t\t\t\t|| app.summary.toLocaleLowerCase().includes(needle)\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t})\n\t})\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"file":"UpdateAllDialog-wohJJdWD.chunk.mjs"}
\ No newline at end of file
+{"version":3,"mappings":"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","names":["_sfc_main","NcIconSvgWrapper","ActionGlobalMixin","NC_ACTIONS_IS_SEMANTIC_MENU","createElementId","id","props","useModel","mdiCheckboxBlankOutline","mdiCheckboxMarked","event","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_component_NcIconSvgWrapper","resolveComponent","openBlock","createElementBlock","normalizeClass","createElementVNode","withDirectives","$event","args","vModelCheckbox","createVNode","toDisplayString","NcActionCheckbox","_export_sfc","queue","PQueue","__props","isError","ref","isLoading","watchEffect","image","promise","resolve","_createElementBlock","_normalizeClass","$style","_createBlock","_unref","mdiCogOutline","NcLoadingIcon","userSettingsStore","useUserSettingsStore","route","useRoute","routeToDetails","computed","_createVNode","_component_RouterLink","AppImage","_createElementVNode","_toDisplayString","BadgeAppScore","BadgeAppLevel","BadgeAppDaemon","userSettings","gridSize","_Fragment","_renderList","app","AppGridItem","router","useRouter","watch","enabled","newSize","showIncompatible","NcActions","t","mdiFilterVariant","NcActionButtonGroup","NcActionButton","mdiSizeS","mdiSizeM","mdiSizeL","NcButton","mdiViewGrid","useFilteredApps","apps","store","query","toValue","needle","UpdateAllDialog","defineAsyncComponent","__vitePreload","UpdateAllDialog$1","useAppsStore","updatesStore","useUpdatesStore","currentCategory","visibleApps","onUpdateAll","spawnDialog","AppToolbar","mdiUpdate","_createTextVNode","NcEmptyContent","_openBlock","_resolveDynamicComponent","AppGrid","AppTable","$router","$route","search","newQuery","watchDebounced","newValue","NcInputField","emit","__emit","showDetails","isUpdating","changelogText","release","getLanguage","onUpdate","error","logger","showError","NcDialog","mdiCheck","mdiWeb","mdiInformationOutline","NcNoteCard","MarkdownPreview"],"ignoreList":[0],"sources":["../node_modules/@nextcloud/vue/dist/chunks/NcActionCheckbox-DBqiK-AZ.mjs","../build/frontend/apps/appstore/src/components/AppImage.vue","../build/frontend/apps/appstore/src/components/AppGrid/AppGridItem.vue","../build/frontend/apps/appstore/src/components/AppGrid/AppGrid.vue","../build/frontend/apps/appstore/src/components/AppToolbar.vue","../build/frontend/apps/appstore/src/composables/useFilteredApps.ts","../build/frontend/apps/appstore/src/views/AppstoreManage.vue","../build/frontend/apps/appstore/src/views/AppstoreSearch.vue","../build/frontend/apps/appstore/src/components/UpdateAllDialog.vue"],"sourcesContent":["import '../assets/NcActionCheckbox-wD8m_a8-.css';\nimport { h as mdiCheckboxMarked, i as mdiCheckboxBlankOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withDirectives, vModelCheckbox, createVNode, toDisplayString, useModel } from \"vue\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-BZFdtdJL.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n  name: \"NcActionCheckbox\",\n  components: {\n    NcIconSvgWrapper\n  },\n  mixins: [ActionGlobalMixin],\n  inject: {\n    isInSemanticMenu: {\n      from: NC_ACTIONS_IS_SEMANTIC_MENU,\n      default: false\n    }\n  },\n  props: {\n    /**\n     * id attribute of the checkbox element\n     */\n    id: {\n      type: String,\n      default: () => \"action-\" + createElementId(),\n      validator: (id) => id.trim() !== \"\"\n    },\n    /**\n     * checked state of the the checkbox element\n     */\n    modelValue: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * value of the checkbox input\n     */\n    value: {\n      type: [String, Number],\n      default: \"\"\n    },\n    /**\n     * disabled state of the checkbox element\n     */\n    disabled: {\n      type: Boolean,\n      default: false\n    }\n  },\n  emits: [\n    /** Native change event */\n    \"change\",\n    /** Checkbox is checked */\n    \"check\",\n    /** Checkbox is unchecked */\n    \"uncheck\",\n    /** Model value changed */\n    \"update:modelValue\"\n  ],\n  setup(props) {\n    const model = useModel(props, \"modelValue\");\n    return {\n      model,\n      mdiCheckboxBlankOutline,\n      mdiCheckboxMarked\n    };\n  },\n  methods: {\n    onChange(event) {\n      this.$emit(\"change\", event);\n      if (event.target.checked) {\n        this.$emit(\"check\");\n      } else {\n        this.$emit(\"uncheck\");\n      }\n    }\n  }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = [\"role\", \"aria-checked\"];\nconst _hoisted_3 = { class: \"action-checkbox__icon\" };\nconst _hoisted_4 = [\"id\", \"value\", \"disabled\"];\nconst _hoisted_5 = { class: \"action-checkbox__text\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  const _component_NcIconSvgWrapper = resolveComponent(\"NcIconSvgWrapper\");\n  return openBlock(), createElementBlock(\"li\", {\n    class: normalizeClass([\"action\", { \"action--disabled\": $props.disabled }]),\n    role: $options.isInSemanticMenu && \"presentation\"\n  }, [\n    createElementVNode(\"label\", {\n      class: \"action-checkbox\",\n      role: $options.isInSemanticMenu && \"menuitemcheckbox\",\n      \"aria-checked\": $options.isInSemanticMenu && $setup.model.toString()\n    }, [\n      createElementVNode(\"span\", _hoisted_3, [\n        withDirectives(createElementVNode(\"input\", {\n          id: $props.id,\n          \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $setup.model = $event),\n          type: \"checkbox\",\n          class: normalizeClass([\"action-checkbox__input\", { focusable: !$props.disabled }]),\n          value: $props.value,\n          disabled: $props.disabled,\n          onChange: _cache[1] || (_cache[1] = (...args) => $options.onChange && $options.onChange(...args))\n        }, null, 42, _hoisted_4), [\n          [vModelCheckbox, $setup.model]\n        ]),\n        createVNode(_component_NcIconSvgWrapper, {\n          path: $setup.model ? $setup.mdiCheckboxMarked : $setup.mdiCheckboxBlankOutline,\n          size: 20\n        }, null, 8, [\"path\"])\n      ]),\n      createElementVNode(\"span\", _hoisted_5, toDisplayString(_ctx.text), 1)\n    ], 8, _hoisted_2)\n  ], 10, _hoisted_1);\n}\nconst NcActionCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-2947bc3b\"]]);\nexport {\n  NcActionCheckbox as N\n};\n//# sourceMappingURL=NcActionCheckbox-DBqiK-AZ.mjs.map\n","\n\n\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/*!\n * SPDX-License-Identifier: AGPL-3.0-or-later\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n */\n\nimport type { MaybeRefOrGetter } from 'vue'\nimport type { IAppstoreApp, IAppstoreExApp } from '../apps.d.ts'\n\nimport { computed, toValue } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { useUserSettingsStore } from '../store/userSettings.ts'\n\n/**\n * Get the filtered list of apps based on the user settings\n *\n * @param apps - The apps to filter\n */\nexport function useFilteredApps(apps: MaybeRefOrGetter<(IAppstoreApp | IAppstoreExApp)[]>) {\n\tconst store = useUserSettingsStore()\n\tconst route = useRoute()\n\treturn computed(() => {\n\t\tconst query = [route.query.q || ''].flat()[0]!\n\t\treturn toValue(apps)\n\t\t\t.filter((app) => {\n\t\t\t\tif (!store.showIncompatible && app.isCompatible === false) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif (query) {\n\t\t\t\t\tconst needle = query.trim().toLocaleLowerCase()\n\t\t\t\t\treturn app.name.toLocaleLowerCase().includes(needle)\n\t\t\t\t\t\t|| app.id.toLocaleLowerCase().includes(needle)\n\t\t\t\t\t\t|| app.summary.toLocaleLowerCase().includes(needle)\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t})\n\t})\n}\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n"],"file":"UpdateAllDialog-Cv_g-se6.chunk.mjs"}
\ No newline at end of file
diff --git a/dist/UpdateAllDialog-wohJJdWD.chunk.mjs.map.license b/dist/UpdateAllDialog-Cv_g-se6.chunk.mjs.map.license
similarity index 100%
rename from dist/UpdateAllDialog-wohJJdWD.chunk.mjs.map.license
rename to dist/UpdateAllDialog-Cv_g-se6.chunk.mjs.map.license
diff --git a/dist/api-DKdVsZMv.chunk.mjs b/dist/api-BGDQp1C8.chunk.mjs
similarity index 97%
rename from dist/api-DKdVsZMv.chunk.mjs
rename to dist/api-BGDQp1C8.chunk.mjs
index 08cd478cdc8a8..6c1da372934da 100644
--- a/dist/api-DKdVsZMv.chunk.mjs
+++ b/dist/api-BGDQp1C8.chunk.mjs
@@ -1,4 +1,4 @@
-import{c as u}from"./index-CfIbVNTc.chunk.mjs";import{g as y,f as c,c as f}from"./index-BRcsAfAF.chunk.mjs";import{t as o}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as h}from"./index-CSrs_fa4.chunk.mjs";import{g as b}from"./dav-BUnvPvLq.chunk.mjs";const r=y().setApp("systemtags").detectUser().build(),O={userVisible:!0,userAssignable:!0,canAssign:!0},x=Object.freeze({"display-name":"displayName","user-visible":"userVisible","user-assignable":"userAssignable","can-assign":"canAssign"});function p(t){return t.map(({props:s})=>Object.fromEntries(Object.entries(s).map(([e,a])=>(e=x[e]??e,a=e==="displayName"?String(a):a,[e,a]))))}function w(t){const s=t.indexOf("?");s>0&&(t=t.substring(0,s));const e=t.split("/");let a;do a=e[e.length-1],e.pop();while(!a&&e.length>0);return Number(a)}function v(t){if("name"in t&&!("displayName"in t))return{...t};const s={...t};return s.name=s.displayName,delete s.displayName,s}function V(t){const s=t.attributes?.["system-tags"]?.["system-tag"];return s===void 0?[]:[s].flat().map(e=>typeof e=="string"?e:e.text)}function N(t,s){t.attributes["system-tags"]={"system-tag":s},c("files:node:updated",t)}const n=b(),l=`
+import{c as u}from"./index-CfIbVNTc.chunk.mjs";import{g as y,f as c,c as f}from"./index-BRcsAfAF.chunk.mjs";import{t as o}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as h}from"./index-CSrs_fa4.chunk.mjs";import{g as b}from"./dav-BnceviPD.chunk.mjs";const r=y().setApp("systemtags").detectUser().build(),O={userVisible:!0,userAssignable:!0,canAssign:!0},x=Object.freeze({"display-name":"displayName","user-visible":"userVisible","user-assignable":"userAssignable","can-assign":"canAssign"});function p(t){return t.map(({props:s})=>Object.fromEntries(Object.entries(s).map(([e,a])=>(e=x[e]??e,a=e==="displayName"?String(a):a,[e,a]))))}function w(t){const s=t.indexOf("?");s>0&&(t=t.substring(0,s));const e=t.split("/");let a;do a=e[e.length-1],e.pop();while(!a&&e.length>0);return Number(a)}function v(t){if("name"in t&&!("displayName"in t))return{...t};const s={...t};return s.name=s.displayName,delete s.displayName,s}function V(t){const s=t.attributes?.["system-tags"]?.["system-tag"];return s===void 0?[]:[s].flat().map(e=>typeof e=="string"?e:e.text)}function N(t,s){t.attributes["system-tags"]={"system-tag":s},c("files:node:updated",t)}const n=b(),l=`
 
 	
 		
@@ -40,4 +40,4 @@ import{c as u}from"./index-CfIbVNTc.chunk.mjs";import{g as y,f as c,c as f}from"
 				
 			
 		`),await n.customRequest(i,{method:"PROPPATCH",data:d,headers:{"if-match":a}})}async function k(t){const s=t?"1":"0",e=f("/apps/provisioning_api/api/v1/config/apps/{appId}/{key}",{appId:"systemtags",key:"restrict_creation_to_admin"});await h();const{data:a}=await u.post(e,{value:s});return a}export{T as a,k as b,C as c,O as d,V as e,P as f,_ as g,N as h,D as i,r as l,q as s,R as u};
-//# sourceMappingURL=api-DKdVsZMv.chunk.mjs.map
+//# sourceMappingURL=api-BGDQp1C8.chunk.mjs.map
diff --git a/dist/api-DKdVsZMv.chunk.mjs.license b/dist/api-BGDQp1C8.chunk.mjs.license
similarity index 100%
rename from dist/api-DKdVsZMv.chunk.mjs.license
rename to dist/api-BGDQp1C8.chunk.mjs.license
diff --git a/dist/api-DKdVsZMv.chunk.mjs.map b/dist/api-BGDQp1C8.chunk.mjs.map
similarity index 99%
rename from dist/api-DKdVsZMv.chunk.mjs.map
rename to dist/api-BGDQp1C8.chunk.mjs.map
index ce91d1e9f672c..78651ef676245 100644
--- a/dist/api-DKdVsZMv.chunk.mjs.map
+++ b/dist/api-BGDQp1C8.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"api-DKdVsZMv.chunk.mjs","sources":["../build/frontend/apps/systemtags/src/logger.ts","../build/frontend/apps/systemtags/src/utils.ts","../build/frontend/apps/systemtags/src/services/davClient.ts","../build/frontend/apps/systemtags/src/services/api.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 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('systemtags')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { DAVResultResponseProps } from 'webdav'\nimport type { BaseTag, ServerTag, Tag, TagWithId } from './types.ts'\n\nimport { emit } from '@nextcloud/event-bus'\n\nexport const defaultBaseTag: BaseTag = {\n\tuserVisible: true,\n\tuserAssignable: true,\n\tcanAssign: true,\n}\n\nconst propertyMappings = Object.freeze({\n\t'display-name': 'displayName',\n\t'user-visible': 'userVisible',\n\t'user-assignable': 'userAssignable',\n\t'can-assign': 'canAssign',\n})\n\n/**\n * Parse tags from WebDAV response\n *\n * @param tags - Array of tags from WebDAV response\n */\nexport function parseTags(tags: { props: DAVResultResponseProps }[]): TagWithId[] {\n\treturn tags.map(({ props }) => Object.fromEntries(Object.entries(props)\n\t\t.map(([key, value]) => {\n\t\t\tkey = propertyMappings[key] ?? key\n\t\t\tvalue = key === 'displayName' ? String(value) : value\n\t\t\treturn [key, value]\n\t\t})) as unknown as TagWithId)\n}\n\n/**\n * Parse id from `Content-Location` header\n *\n * @param url URL to parse\n */\nexport function parseIdFromLocation(url: string): number {\n\tconst queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substring(0, queryPos)\n\t}\n\n\tconst parts = url.split('/')\n\tlet result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn Number(result)\n}\n\n/**\n * Format a tag for WebDAV operations\n *\n * @param initialTag - Tag to format\n */\nexport function formatTag(initialTag: Tag | ServerTag): ServerTag {\n\tif ('name' in initialTag && !('displayName' in initialTag)) {\n\t\treturn { ...initialTag }\n\t}\n\n\tconst tag: Record = { ...initialTag }\n\ttag.name = tag.displayName\n\tdelete tag.displayName\n\n\treturn tag as unknown as ServerTag\n}\n\n/**\n * Get system tags from a node\n *\n * @param node - The node to get tags from\n */\nexport function getNodeSystemTags(node: INode): string[] {\n\tconst attribute = node.attributes?.['system-tags']?.['system-tag']\n\tif (attribute === undefined) {\n\t\treturn []\n\t}\n\n\t// if there is only one tag it is a single string or prop object\n\t// if there are multiple then its an array - so we flatten it to be always an array of string or prop objects\n\treturn [attribute]\n\t\t.flat()\n\t\t.map((tag: string | { text: string }) => (\n\t\t\ttypeof tag === 'string'\n\t\t\t\t// its a plain text prop (the tag name) without prop attributes\n\t\t\t\t? tag\n\t\t\t\t// its a prop object with attributes, the tag name is in the 'text' attribute\n\t\t\t\t: tag.text\n\t\t))\n}\n\n/**\n * Set system tags on a node\n *\n * @param node - The node to set tags on\n * @param tags - The tags to set\n */\nexport function setNodeSystemTags(node: INode, tags: string[]): void {\n\tnode.attributes['system-tags'] = {\n\t\t'system-tag': tags,\n\t}\n\temit('files:node:updated', node)\n}\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav'\n\nexport const davClient = getClient()\n\n/**\n * Fetches a node from the given path\n *\n * @param path - The path to fetch the node from\n */\nexport async function fetchNode(path: string): Promise {\n\tconst propfindPayload = getDefaultPropfind()\n\tconst result = await davClient.stat(`${getRootPath()}${path}`, {\n\t\tdetails: true,\n\t\tdata: propfindPayload,\n\t}) as ResponseDataDetailed\n\treturn resultToNode(result.data)\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { FileStat, ResponseDataDetailed, WebDAVClientError } from 'webdav'\nimport type { ServerTag, Tag, TagWithId } from '../types.ts'\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { t } from '@nextcloud/l10n'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport logger from '../logger.ts'\nimport { formatTag, parseIdFromLocation, parseTags } from '../utils.ts'\nimport { davClient } from './davClient.ts'\n\nexport const fetchTagsPayload = `\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/**\n * Fetch all tags.\n */\nexport async function fetchTags(): Promise {\n\tconst path = '/systemtags'\n\ttry {\n\t\tconst { data: tags } = await davClient.getDirectoryContents(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t\tglob: '/systemtags/*', // Filter out first empty tag\n\t\t}) as ResponseDataDetailed[]>\n\t\treturn parseTags(tags)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tags'), { cause: error })\n\t}\n}\n\n/**\n * Fetch a single tag by its ID.\n *\n * @param tagId - The ID of the tag to fetch\n */\nexport async function fetchTag(tagId: number): Promise {\n\tconst path = '/systemtags/' + tagId\n\ttry {\n\t\tconst { data: tag } = await davClient.stat(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed>\n\t\treturn parseTags([tag])[0]!\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tag'), { cause: error })\n\t}\n}\n\n/**\n * Get the last used tag IDs.\n */\nexport async function fetchLastUsedTagIds(): Promise {\n\tconst url = generateUrl('/apps/systemtags/lastused')\n\ttry {\n\t\tconst { data: lastUsedTagIds } = await axios.get(url)\n\t\treturn lastUsedTagIds.map(Number)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load last used tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load last used tags'), { cause: error })\n\t}\n}\n\n/**\n * Create a tag and return the Id of the newly created tag.\n *\n * @param tag The tag to create\n */\nexport async function createTag(tag: Tag | ServerTag): Promise {\n\tconst path = '/systemtags'\n\tconst tagToPost = formatTag(tag)\n\ttry {\n\t\tconst { headers } = await davClient.customRequest(path, {\n\t\t\tmethod: 'POST',\n\t\t\tdata: tagToPost,\n\t\t})\n\t\tconst contentLocation = headers.get('content-location')\n\t\tif (contentLocation) {\n\t\t\temit('systemtags:tag:created', tag)\n\t\t\treturn parseIdFromLocation(contentLocation)\n\t\t}\n\t\tlogger.error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t\tthrow new Error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t} catch (error) {\n\t\tif ((error as WebDAVClientError)?.response?.status === 409) {\n\t\t\tlogger.error(t('systemtags', 'A tag with the same name already exists'), { error })\n\t\t\tthrow new Error(t('systemtags', 'A tag with the same name already exists'), { cause: error })\n\t\t}\n\t\tlogger.error(t('systemtags', 'Failed to create tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to create tag'), { cause: error })\n\t}\n}\n\n/**\n * Update a tag on the server.\n *\n * @param tag - The tag to update\n */\nexport async function updateTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${tag.displayName}\n\t\t\t\t${tag.userVisible}\n\t\t\t\t${tag.userAssignable}\n\t\t\t\t${tag?.color || null}\n\t\t\t\n\t\t\n\t`\n\n\ttry {\n\t\tawait davClient.customRequest(path, {\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata,\n\t\t})\n\t\temit('systemtags:tag:updated', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to update tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to update tag'), { cause: error })\n\t}\n}\n\n/**\n * Delete a tag.\n *\n * @param tag - The tag to delete\n */\nexport async function deleteTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\ttry {\n\t\tawait davClient.deleteFile(path)\n\t\temit('systemtags:tag:deleted', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to delete tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to delete tag'), { cause: error })\n\t}\n}\n\ntype TagObject = {\n\tid: number\n\ttype: string\n}\n\ntype TagObjectResponse = {\n\tetag: string\n\tobjects: TagObject[]\n}\n\n/**\n * Get the objects for a tag.\n *\n * @param tag - The tag to get the objects for\n * @param type - The type of the objects\n */\nexport async function getTagObjects(tag: TagWithId, type: string): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t`\n\n\tconst response = await davClient.stat(path, { data, details: true }) as ResponseDataDetailed\n\tconst etag = response?.data?.props?.getetag || '\"\"'\n\tconst objects = Object.values(response?.data?.props?.['object-ids'] || []).flat() as TagObject[]\n\n\treturn {\n\t\tetag,\n\t\tobjects,\n\t}\n}\n\n/**\n * Set the objects for a tag.\n * Warning: This will overwrite the existing objects.\n *\n * @param tag The tag to set the objects for\n * @param type The type of the objects\n * @param objectIds The objects to set\n * @param etag Strongly recommended to avoid conflict and data loss.\n */\nexport async function setTagObjects(tag: TagWithId, type: string, objectIds: TagObject[], etag: string = ''): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tlet data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${objectIds.map(({ id, type }) => `${id}${type}`).join('')}\n\t\t\t\n\t\t\n\t`\n\n\tif (objectIds.length === 0) {\n\t\tdata = `\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tawait davClient.customRequest(path, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata,\n\t\theaders: {\n\t\t\t'if-match': etag,\n\t\t},\n\t})\n}\n\n/**\n * Update the system tags admin restriction setting.\n *\n * @param isAllowed - True if system tags creation is allowed for non-admins\n */\nexport async function updateSystemTagsAdminRestriction(isAllowed: boolean): Promise {\n\t// Convert to string for compatibility\n\tconst isAllowedString = isAllowed ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'systemtags',\n\t\tkey: 'restrict_creation_to_admin',\n\t})\n\n\tawait confirmPassword()\n\n\tconst { data } = await axios.post(url, {\n\t\tvalue: isAllowedString,\n\t})\n\n\treturn data\n}\n"],"names":["logger","getLoggerBuilder","defaultBaseTag","propertyMappings","parseTags","tags","props","key","value","parseIdFromLocation","url","queryPos","parts","result","formatTag","initialTag","tag","getNodeSystemTags","node","attribute","setNodeSystemTags","emit","davClient","getClient","fetchTagsPayload","fetchTags","path","error","t","fetchTag","tagId","createTag","tagToPost","headers","contentLocation","updateTag","data","deleteTag","getTagObjects","type","response","etag","objects","setTagObjects","objectIds","id","updateSystemTagsAdminRestriction","isAllowed","isAllowedString","generateOcsUrl","confirmPassword","axios"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"api-BGDQp1C8.chunk.mjs","sources":["../build/frontend/apps/systemtags/src/logger.ts","../build/frontend/apps/systemtags/src/utils.ts","../build/frontend/apps/systemtags/src/services/davClient.ts","../build/frontend/apps/systemtags/src/services/api.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 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('systemtags')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { DAVResultResponseProps } from 'webdav'\nimport type { BaseTag, ServerTag, Tag, TagWithId } from './types.ts'\n\nimport { emit } from '@nextcloud/event-bus'\n\nexport const defaultBaseTag: BaseTag = {\n\tuserVisible: true,\n\tuserAssignable: true,\n\tcanAssign: true,\n}\n\nconst propertyMappings = Object.freeze({\n\t'display-name': 'displayName',\n\t'user-visible': 'userVisible',\n\t'user-assignable': 'userAssignable',\n\t'can-assign': 'canAssign',\n})\n\n/**\n * Parse tags from WebDAV response\n *\n * @param tags - Array of tags from WebDAV response\n */\nexport function parseTags(tags: { props: DAVResultResponseProps }[]): TagWithId[] {\n\treturn tags.map(({ props }) => Object.fromEntries(Object.entries(props)\n\t\t.map(([key, value]) => {\n\t\t\tkey = propertyMappings[key] ?? key\n\t\t\tvalue = key === 'displayName' ? String(value) : value\n\t\t\treturn [key, value]\n\t\t})) as unknown as TagWithId)\n}\n\n/**\n * Parse id from `Content-Location` header\n *\n * @param url URL to parse\n */\nexport function parseIdFromLocation(url: string): number {\n\tconst queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substring(0, queryPos)\n\t}\n\n\tconst parts = url.split('/')\n\tlet result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn Number(result)\n}\n\n/**\n * Format a tag for WebDAV operations\n *\n * @param initialTag - Tag to format\n */\nexport function formatTag(initialTag: Tag | ServerTag): ServerTag {\n\tif ('name' in initialTag && !('displayName' in initialTag)) {\n\t\treturn { ...initialTag }\n\t}\n\n\tconst tag: Record = { ...initialTag }\n\ttag.name = tag.displayName\n\tdelete tag.displayName\n\n\treturn tag as unknown as ServerTag\n}\n\n/**\n * Get system tags from a node\n *\n * @param node - The node to get tags from\n */\nexport function getNodeSystemTags(node: INode): string[] {\n\tconst attribute = node.attributes?.['system-tags']?.['system-tag']\n\tif (attribute === undefined) {\n\t\treturn []\n\t}\n\n\t// if there is only one tag it is a single string or prop object\n\t// if there are multiple then its an array - so we flatten it to be always an array of string or prop objects\n\treturn [attribute]\n\t\t.flat()\n\t\t.map((tag: string | { text: string }) => (\n\t\t\ttypeof tag === 'string'\n\t\t\t\t// its a plain text prop (the tag name) without prop attributes\n\t\t\t\t? tag\n\t\t\t\t// its a prop object with attributes, the tag name is in the 'text' attribute\n\t\t\t\t: tag.text\n\t\t))\n}\n\n/**\n * Set system tags on a node\n *\n * @param node - The node to set tags on\n * @param tags - The tags to set\n */\nexport function setNodeSystemTags(node: INode, tags: string[]): void {\n\tnode.attributes['system-tags'] = {\n\t\t'system-tag': tags,\n\t}\n\temit('files:node:updated', node)\n}\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav'\n\nexport const davClient = getClient()\n\n/**\n * Fetches a node from the given path\n *\n * @param path - The path to fetch the node from\n */\nexport async function fetchNode(path: string): Promise {\n\tconst propfindPayload = getDefaultPropfind()\n\tconst result = await davClient.stat(`${getRootPath()}${path}`, {\n\t\tdetails: true,\n\t\tdata: propfindPayload,\n\t}) as ResponseDataDetailed\n\treturn resultToNode(result.data)\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { FileStat, ResponseDataDetailed, WebDAVClientError } from 'webdav'\nimport type { ServerTag, Tag, TagWithId } from '../types.ts'\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { t } from '@nextcloud/l10n'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport logger from '../logger.ts'\nimport { formatTag, parseIdFromLocation, parseTags } from '../utils.ts'\nimport { davClient } from './davClient.ts'\n\nexport const fetchTagsPayload = `\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/**\n * Fetch all tags.\n */\nexport async function fetchTags(): Promise {\n\tconst path = '/systemtags'\n\ttry {\n\t\tconst { data: tags } = await davClient.getDirectoryContents(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t\tglob: '/systemtags/*', // Filter out first empty tag\n\t\t}) as ResponseDataDetailed[]>\n\t\treturn parseTags(tags)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tags'), { cause: error })\n\t}\n}\n\n/**\n * Fetch a single tag by its ID.\n *\n * @param tagId - The ID of the tag to fetch\n */\nexport async function fetchTag(tagId: number): Promise {\n\tconst path = '/systemtags/' + tagId\n\ttry {\n\t\tconst { data: tag } = await davClient.stat(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed>\n\t\treturn parseTags([tag])[0]!\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tag'), { cause: error })\n\t}\n}\n\n/**\n * Get the last used tag IDs.\n */\nexport async function fetchLastUsedTagIds(): Promise {\n\tconst url = generateUrl('/apps/systemtags/lastused')\n\ttry {\n\t\tconst { data: lastUsedTagIds } = await axios.get(url)\n\t\treturn lastUsedTagIds.map(Number)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load last used tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load last used tags'), { cause: error })\n\t}\n}\n\n/**\n * Create a tag and return the Id of the newly created tag.\n *\n * @param tag The tag to create\n */\nexport async function createTag(tag: Tag | ServerTag): Promise {\n\tconst path = '/systemtags'\n\tconst tagToPost = formatTag(tag)\n\ttry {\n\t\tconst { headers } = await davClient.customRequest(path, {\n\t\t\tmethod: 'POST',\n\t\t\tdata: tagToPost,\n\t\t})\n\t\tconst contentLocation = headers.get('content-location')\n\t\tif (contentLocation) {\n\t\t\temit('systemtags:tag:created', tag)\n\t\t\treturn parseIdFromLocation(contentLocation)\n\t\t}\n\t\tlogger.error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t\tthrow new Error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t} catch (error) {\n\t\tif ((error as WebDAVClientError)?.response?.status === 409) {\n\t\t\tlogger.error(t('systemtags', 'A tag with the same name already exists'), { error })\n\t\t\tthrow new Error(t('systemtags', 'A tag with the same name already exists'), { cause: error })\n\t\t}\n\t\tlogger.error(t('systemtags', 'Failed to create tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to create tag'), { cause: error })\n\t}\n}\n\n/**\n * Update a tag on the server.\n *\n * @param tag - The tag to update\n */\nexport async function updateTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${tag.displayName}\n\t\t\t\t${tag.userVisible}\n\t\t\t\t${tag.userAssignable}\n\t\t\t\t${tag?.color || null}\n\t\t\t\n\t\t\n\t`\n\n\ttry {\n\t\tawait davClient.customRequest(path, {\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata,\n\t\t})\n\t\temit('systemtags:tag:updated', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to update tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to update tag'), { cause: error })\n\t}\n}\n\n/**\n * Delete a tag.\n *\n * @param tag - The tag to delete\n */\nexport async function deleteTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\ttry {\n\t\tawait davClient.deleteFile(path)\n\t\temit('systemtags:tag:deleted', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to delete tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to delete tag'), { cause: error })\n\t}\n}\n\ntype TagObject = {\n\tid: number\n\ttype: string\n}\n\ntype TagObjectResponse = {\n\tetag: string\n\tobjects: TagObject[]\n}\n\n/**\n * Get the objects for a tag.\n *\n * @param tag - The tag to get the objects for\n * @param type - The type of the objects\n */\nexport async function getTagObjects(tag: TagWithId, type: string): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t`\n\n\tconst response = await davClient.stat(path, { data, details: true }) as ResponseDataDetailed\n\tconst etag = response?.data?.props?.getetag || '\"\"'\n\tconst objects = Object.values(response?.data?.props?.['object-ids'] || []).flat() as TagObject[]\n\n\treturn {\n\t\tetag,\n\t\tobjects,\n\t}\n}\n\n/**\n * Set the objects for a tag.\n * Warning: This will overwrite the existing objects.\n *\n * @param tag The tag to set the objects for\n * @param type The type of the objects\n * @param objectIds The objects to set\n * @param etag Strongly recommended to avoid conflict and data loss.\n */\nexport async function setTagObjects(tag: TagWithId, type: string, objectIds: TagObject[], etag: string = ''): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tlet data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${objectIds.map(({ id, type }) => `${id}${type}`).join('')}\n\t\t\t\n\t\t\n\t`\n\n\tif (objectIds.length === 0) {\n\t\tdata = `\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tawait davClient.customRequest(path, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata,\n\t\theaders: {\n\t\t\t'if-match': etag,\n\t\t},\n\t})\n}\n\n/**\n * Update the system tags admin restriction setting.\n *\n * @param isAllowed - True if system tags creation is allowed for non-admins\n */\nexport async function updateSystemTagsAdminRestriction(isAllowed: boolean): Promise {\n\t// Convert to string for compatibility\n\tconst isAllowedString = isAllowed ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'systemtags',\n\t\tkey: 'restrict_creation_to_admin',\n\t})\n\n\tawait confirmPassword()\n\n\tconst { data } = await axios.post(url, {\n\t\tvalue: isAllowedString,\n\t})\n\n\treturn data\n}\n"],"names":["logger","getLoggerBuilder","defaultBaseTag","propertyMappings","parseTags","tags","props","key","value","parseIdFromLocation","url","queryPos","parts","result","formatTag","initialTag","tag","getNodeSystemTags","node","attribute","setNodeSystemTags","emit","davClient","getClient","fetchTagsPayload","fetchTags","path","error","t","fetchTag","tagId","createTag","tagToPost","headers","contentLocation","updateTag","data","deleteTag","getTagObjects","type","response","etag","objects","setTagObjects","objectIds","id","updateSystemTagsAdminRestriction","isAllowed","isAllowedString","generateOcsUrl","confirmPassword","axios"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/api-DKdVsZMv.chunk.mjs.map.license b/dist/api-BGDQp1C8.chunk.mjs.map.license
similarity index 100%
rename from dist/api-DKdVsZMv.chunk.mjs.map.license
rename to dist/api-BGDQp1C8.chunk.mjs.map.license
diff --git a/dist/appstore-main.mjs b/dist/appstore-main.mjs
index acbf0987c33ca..b7e69988de813 100644
--- a/dist/appstore-main.mjs
+++ b/dist/appstore-main.mjs
@@ -1,5 +1,5 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/AppstoreDiscover-DJks4Aya.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/index--CXeJKGn.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/pinia-CaE5yuEV.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-BYh5hWDN-9MECBj_y.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcContent-BYh5hWDN-CKeEKmjj.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-BMEoxMqX.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-B4eyDS9i-BknLVeOm.chunk.css'),window.OC.filePath('', '', 'dist/common-NcTextArea-Dxzj4zdb-CY5ND5WA.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/Plus-CjEmRLfi.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-Cx763gSp.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-bfXBK-tQ.chunk.css'),window.OC.filePath('', '', 'dist/index-C5srBhP3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BnF98eos.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-C8k9NUlo-C5D-rZyy.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-UTxgju3f-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/index-3kTsQt96.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBuXQ7OS.chunk.css'),window.OC.filePath('', '', 'dist/index-D-unkGTr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBhtJjWD.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-DhdKfuvN.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BXR7vT0V-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CSrs_fa4.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-AppstoreDiscover-D5SWaP1O.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-CM0uWLr1-BezK2wMx.chunk.css'),window.OC.filePath('', '', 'dist/UpdateAllDialog-wohJJdWD.chunk.mjs'),window.OC.filePath('', '', 'dist/common-UpdateAllDialog-CZVJ1CV6.chunk.css'),window.OC.filePath('', '', 'dist/AppstoreBrowse-C-eSGUK5.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-AppstoreBrowse-BmXPxQ1G.chunk.css')])))=>i.map(i=>d[i]);
-import{d as ke,c as Ft}from"./pinia-CaE5yuEV.chunk.mjs";import{b as E,o as d,f as x,g as _,t as v,i as Wt,y as w,c as R,u as o,L as Xt,w as y,j as N,v as $,F as M,B as Z,k,l as L,a9 as dt,p as ht,z as re,h as z,q as Me,a8 as fe,R as Yt,a as Kt,_ as oe,E as Jt,S as ea,r as ta,e as aa}from"./Web-X6XNrbMx.chunk.mjs";import{t as u,p as na,g as sa}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as ie,v as Oe,u as _e,H as la,I as ra}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as ia,a as oa}from"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{c as Ge,f as gt,g as pa,b as J}from"./index-BRcsAfAF.chunk.mjs";import{_ as q,l as ee}from"./public-C1mLBHT3.chunk.mjs";import{N as ca}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{_ as mt,N as C}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{c as ua,d as K,e as da,f as ha,N as ga}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{P as ft}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import{N as ma,a as fa,_ as ba}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{U as ka,w as _a,b as ya,l as wa,u as va}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css                                          */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{N as Ie}from"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as xa}from"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import{N as $a,a as Ta}from"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{N as bt,s as kt}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import{N as Ze}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css                                       */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{M as Aa,O as Sa,P as Ra,Q as Da,R as za,S as Ia,T as Ca,U as La,V as Ba,W as Ea,X as Pa,x as Na,Y as qa,E as Se,Z as Ma,_ as Oa,$ as je,z as He,a0 as _t,a1 as Ga,a2 as yt,q as wt,a3 as Za,a4 as ja,a5 as Ha,a6 as vt,a7 as Ua,a8 as Qa,a9 as xt,N as at,aa as Va,ab as Fa,ac as Wa,ad as Xa,ae as Ya,L as Ka,af as Ja,l as en,K as tn,ag as an,w as nn,ah as sn}from"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import{c as O}from"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import{a as be}from"./index--CXeJKGn.chunk.mjs";import{a as ln,P as ye,c as Ue}from"./index-CSrs_fa4.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const rn={class:"app-navigation-spacer"},on=E({__name:"NcAppNavigationSpacer",setup(e){return(t,n)=>(d(),x("li",rn))}}),pn=mt(on,[["__scopeId","data-v-277fa710"]]),cn={name:"NcAppSidebarTab",inject:["registerTab","unregisterTab","getActiveTab","isTablistShown"],props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:""},order:{type:Number,default:0}},emits:["bottomReached","scroll"],expose:["id","name","icon","order","renderIcon"],computed:{isActive(){return this.getActiveTab()===this.id}},created(){this.registerTab(this)},beforeUnmount(){this.unregisterTab(this.id)},methods:{onScroll(e){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit("bottomReached",e),this.$emit("scroll",e)},renderIcon(){return this.$slots.icon?.()}}},un=["id","aria-hidden","aria-label","aria-labelledby","role","tabindex"],dn={class:"hidden-visually"};function hn(e,t,n,s,a,r){return d(),x("section",{id:`tab-${n.id}`,"aria-hidden":!r.isActive,"aria-label":r.isTablistShown()?void 0:n.name,"aria-labelledby":r.isTablistShown()?`tab-button-${n.id}`:void 0,class:w(["app-sidebar__tab",{"app-sidebar__tab--active":r.isActive}]),role:r.isTablistShown()?"tabpanel":void 0,tabindex:r.isTablistShown()?0:-1,onScroll:t[0]||(t[0]=(...l)=>r.onScroll&&r.onScroll(...l))},[_("h3",dn,v(n.name),1),Wt(e.$slots,"default",{},void 0,!0)],42,un)}const Ce=mt(cn,[["render",hn],["__scopeId","data-v-dba10798"]]),W=Object.freeze({discover:u("appstore","Discover"),installed:u("appstore","Your apps"),enabled:u("appstore","Active apps"),disabled:u("appstore","Disabled apps"),updates:u("appstore","Updates"),bundles:u("appstore","App bundles"),featured:u("appstore","Featured apps"),supported:u("appstore","Supported apps"),search:u("appstore","Search results")}),X=Object.freeze({discover:ja,installed:Za,enabled:wt,disabled:yt,bundles:Ga,supported:_t,featured:He,updates:je,ai:Oa,auth:Ma,customization:Se,dashboard:qa,files:Na,games:Pa,integration:Ea,monitoring:Ba,multimedia:La,office:Ca,organization:Ia,search:za,security:Da,social:Ra,tools:Sa,workflow:Aa}),Ki=["post","showcase","carousel"];ln(O);const te=Ge("apps/appstore/api/v1"),se=Object.freeze({apps:`${te}/apps`,categories:`${te}/apps/categories`,enable:`${te}/apps/enable`,disable:`${te}/apps/disable`,uninstall:`${te}/apps/uninstall`,update:`${te}/apps/update`,bundleEnable:`${te}/bundles/enable`}),we=new ft({concurrency:1});async function nt(e,t=!1,n){return we.add(async()=>{await O.post(se.enable,{appId:e,groups:n,force:t||void 0},{confirmPassword:ye.Strict})})}async function gn(e){return we.add(async()=>{await O.post(se.disable,{appId:e},{confirmPassword:ye.Lax})})}async function mn(e){return we.add(async()=>{await O.post(se.update,{appId:e},{confirmPassword:ye.Strict})})}async function fn(e){return we.add(async()=>{await O.post(se.uninstall,{appId:e},{confirmPassword:ye.Strict})})}async function bn(){const{data:e}=await O.get(se.apps);return e.ocs.data}async function kn(){const{data:e}=await O.get(se.categories);for(const t of e.ocs.data)t.icon=X[t.id]??"";return e.ocs.data}async function _n(e){return we.add(async()=>{await O.post(se.bundleEnable,{bundleId:e},{confirmPassword:ye.Strict})})}async function ge(){const{data:e}=await O.get(Ge("core/navigation/apps?format=json"));e.ocs.meta.statuscode===200&&(gt("nextcloud:app-menu.refresh",{apps:e.ocs.data}),window.dispatchEvent(new Event("resize")))}function pe(e){return e.installed||e.internal?!1:e.missingDependencies===void 0||e.missingDependencies.length===0||!e.isCompatible&&e.missingDependencies.length===1}function $t(e){return e.installed&&e.removable&&!e.active}function Tt(e){return!Rt(e)&&!Dt(e)&&At(e)&&e.isCompatible}function At(e){return!e.active&&(e.installed||pe(e))}function ve(e){return!e.active&&!e.isCompatible}function St(e){return!Rt(e)&&!Dt(e)&&e.active&&!e.internal}function yn(e){return e.update!==void 0}const wn=["filesystem","prelogin","authentication","logging","prevent_group_restriction"];function Qe(e){return!e.active&&!e.installed||!e.active&&ve(e)?!1:e.types?e.types.every(t=>!wn.includes(t)):!0}function Rt(e){return e.app_api&&(e.status.action==="init"||e.status.action==="healthcheck")}function Dt(e){return e.app_api&&e.status.action==="deploy"}const H=pa().setApp("appstore").detectUser().build(),vn=E({__name:"DaemonSelectionDialogListEntry",props:{daemon:{},isDefault:{type:Boolean}},emits:["selected"],setup(e,{emit:t}){const n=e,s=t,a=$(()=>`${n.daemon.name} - ${n.daemon.display_name}`);return(r,l)=>(d(),R(o($a),{active:e.isDefault,counterNumber:e.daemon.exAppsCount,counterType:"highlighted",details:e.isDefault?o(u)("appstore","Default"):"",forceDisplayActions:"",name:a.value,onClick:l[0]||(l[0]=Xt(p=>s("selected"),["stop"]))},{subname:y(()=>[N(v(e.daemon.accepts_deploy_id),1)]),_:1},8,["active","counterNumber","details","name"]))}}),xn=["aria-label"],$n=E({__name:"DaemonSelectionDialogList",emits:["selected"],setup(e){const t=xe();return(n,s)=>(d(),x("ul",{class:w(n.$style.DaemonSelectionDialogList),"aria-label":o(u)("appstore","Registered Deploy daemons list")},[(d(!0),x(M,null,Z(o(t).dockerDaemons,a=>(d(),R(vn,{key:a.id,daemon:a,isDefault:o(t).defaultDaemon?.name===a.name,onSelected:r=>n.$emit("selected",a)},null,8,["daemon","isDefault","onSelected"]))),128))],10,xn))}}),Tn="_DaemonSelectionDialogList_x38pt_2",An={DaemonSelectionDialogList:Tn},Sn={$style:An},Rn=q($n,[["__cssModules",Sn]]),Dn=E({__name:"DaemonSelectionDialog",props:{app:{}},emits:["close"],setup(e){const t=xe(),n=J("/settings/admin/app_api");return(s,a)=>(d(),R(o(bt),{name:o(u)("appstore","Choose Deploy Daemon for {appName}",{appName:e.app.name}),size:"normal","onUpdate:open":a[1]||(a[1]=r=>r||s.$emit("close"))},{default:y(()=>[o(t).dockerDaemons.length===0?(d(),R(o(Ze),{key:0,class:"daemon-selection-list__empty-content",name:o(u)("appstore","No Deploy daemons configured"),description:o(u)("appstore","Register a custom one or setup from available templates")},{icon:y(()=>[k(o(C),{path:o(Ha)},null,8,["path"])]),action:y(()=>[k(o(ie),{href:o(n)},{default:y(()=>[N(v(o(u)("appstore","Manage Deploy daemons")),1)]),_:1},8,["href"])]),_:1},8,["name","description"])):(d(),R(Rn,{key:1,app:e.app,onSelected:a[0]||(a[0]=r=>s.$emit("close",r))},null,8,["app"]))]),_:1},8,["name"]))}});async function zn(){const{data:e}=await O.get(J("/apps/app_api/apps/list"));return e.apps}async function In(e){const{data:t}=await O.get(J(`/apps/app_api/apps/status/${e}`));return t}async function Ee(e,t,n){await Ue(),await O.post(J(`/apps/app_api/apps/enable/${e.id}/${t.name}`),{deployOptions:n})}async function Cn(e){await Ue(),await O.post(J("/apps/app_api/apps/force"),{appId:e})}async function st(e){await Ue(),await O.get(J(`apps/app_api/apps/disable/${e}`))}const xe=ke("external-apps",()=>{const e=ee("appstore","appApiEnabled",!1),t=L([]),n=L(ee("appstore","appstoreExAppUpdateCount",0));let s=null;const a=L(ee("appstore","defaultDaemonConfigAccessible",!1)),r=L(ee("appstore","defaultDaemonConfig",null)),l=L([]),p=$(()=>t.value.filter(g=>g?.status?.action&&g.status.type!==""&&(g?.status?.action==="deploy"||g.status.action==="init"||g.status.action==="healthcheck")));function i(g){return t.value.find(({id:c})=>c===g)??null}async function f(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{if(l.value.length===1&&c.needsDownload)Ee(c,l[0]),c.daemon=l[0];else if(c.needsDownload){const B=await kt(Dn,{app:c});if(!B)throw new Error("No daemon selected");await Ee(c,B),c.daemon=B}else await Ee(c,c.daemon);c.installed||(c.needsDownload=!1,c.status={type:"install",action:"deploy",init:0,deploy:0}),c.removable=!0,delete c.error,await V(g)}finally{c.loading=!1}}async function m(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await Cn(g),await S(!0),c.active=!1}finally{c.loading=!1}}async function h(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await st(g),c.active=!1}finally{c.loading=!1}}async function b(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await st(g),c.active=!1,c.needsDownload=!0,c.installed=!1,c.daemon=null,c.status={},c.update!==null&&n.value--,delete c.update,delete c.error}finally{c.loading=!1}}async function A(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await O.get(J(`/apps/app_api/apps/update/${g}`)),c.version=c.update||c.version,c.status={type:"update",action:"deploy",init:0,deploy:0},delete c.update,delete c.error,n.value--,await V(g)}catch(B){H.error("Failed to update ex app",{appId:g,error:B}),be(u("appstore","Could not update the app. Please try again later."))}finally{c.loading=!1}}async function S(g=!1){(g||!r.value||!l.value.length)&&await P(),(g||t.value.length===0)&&await Y()}return{isEnabled:e,apps:t,updateCount:n,defaultDaemon:r,dockerDaemons:l,daemonAccessible:a,getById:i,disableApp:h,enableApp:f,forceEnableApp:m,updateApp:A,uninstallApp:b,initialize:S};async function P(){try{const{data:g}=await O.get(J("/apps/app_api/daemons"));r.value=g.daemons.find(c=>c.name===g.default_daemon_config),l.value=g.daemons.filter(c=>c.accepts_deploy_id==="docker-install")}catch(g){return H.error("[app-api-store] Failed to fetch Docker daemons",{error:g}),!1}return!0}async function Y(){try{t.value=await zn()}catch(g){H.error("An error occurred while fetching apps",{error:g}),be(u("appstore","An error occurred during the request. Unable to proceed."))}}async function V(g){const c=i(g);if(!c){H.error("[app-api-store] app not found while fetching status",{appId:g});return}c.loading=!0;try{const B=await In(g);c.status=B,H.debug("[app-api-store] initializingOrDeployingApps after setAppStatus",{initializingOrDeployingApps:p}),p.value.length===0&&(H.debug("[app-api-store] Clearing interval"),clearInterval(s),s=null),c.status.error&&p.value.length===1&&(clearInterval(s),s=null)}catch(B){throw T(),B}finally{c.loading=!1}}function T(){clearInterval(s),p.value.length!==0&&(s=window.setInterval(()=>{H.debug("[app-api-store] initializingOrDeployingApps",{initializingOrDeployingApps:p});for(const g of p.value)V(g.id)},2e3))}}),j=ke("apps",()=>{const e=xe(),t=L([]),n=L([]),s=dt(ee("appstore","appstoreBundles")),a=L(!1),r=L(!1),l=$(()=>[...t.value,...e.isEnabled?e.apps:[]]);function p(T){return n.value.find(({id:g})=>g===T)??null}function i(T){return l.value.find(({id:g})=>g===T)??null}function f(T){return l.value.filter(g=>[g.category].flat().includes(T))}async function m(T,g=!1){const c=i(T);if(!c)throw new Error(`App with id ${T} not found`);if(c.active||!c.installed&&!pe(c))throw new Error(`App with id ${T} cannot be enabled`);if(!g&&ve(c))throw new Error(`App with id ${T} requires force enable`);c.loading=!0;try{c.app_api?await e.enableApp(T):await nt(T,g),g&&(c.isCompatible=!0),c.active=!0,c.installed=!0,c.removable=!0,await ge()}finally{c.loading=!1}}async function h(T){const g=i(T);if(!g)throw new Error(`App with id ${T} not found`);if(!St(g))throw new Error(`App with id ${T} cannot be disabled`);g.loading=!0;try{g.app_api?await e.disableApp(T):await gn(T),g.active=!1,g.isCompatible=g.missingDependencies===void 0||g.missingDependencies.length===0,await ge()}finally{g.loading=!1}}async function b(T){const g=i(T);if(!g)throw new Error(`App with id ${T} not found`);if(!$t(g))throw new Error(`App with id ${T} cannot be uninstalled`);g.loading=!0;try{g.app_api?await e.uninstallApp(T):await fn(T),g.active=!1,g.installed=!1,await ge()}finally{g.loading=!1}}async function A(T,g){const c=i(T);if(!c)throw new Error(`App with id ${T} not found`);if(!Qe(c))throw new Error(`App with id ${T} cannot be limited to groups`);if(!c.app_api)try{c.loading=!0,await nt(T,!1,g),c.groups=g}finally{c.loading=!1}}async function S(T){const g=s.find(c=>c.id===T);if(!g)throw new Error(`Bundle with id ${T} not found`);try{for(const c of g.appIdentifiers){const B=i(c);B.loading=!0}await _n(g.id);for(const c of g.appIdentifiers){const B=i(c);B.active=!0,B.installed=!0,B.removable=!0,await ge()}}finally{for(const c of g.appIdentifiers){const B=i(c);B.loading=!1}}}return P(),{apps:l,bundles:s,categories:n,isLoadingApps:a,isLoadingCategories:r,disableApp:h,enableApp:m,uninstallApp:b,enableBundle:S,getAppById:i,getAppsByCategory:f,getCategoryById:p,limitAppToGroups:A};async function P(){await Promise.allSettled([V(),Y(),e.isEnabled?e.initialize():Promise.resolve()])}async function Y(){try{r.value=!0,n.value=await kn()}catch(T){H.error("Failed to load app categories",{error:T}),be(u("appstore","Could not load app categories. Please try again later."))}finally{r.value=!1}}async function V(){try{a.value=!0,t.value=await bn()}catch(T){H.error("Failed to load apps list",{error:T}),be(u("appstore","Could not load apps list. Please try again later."))}finally{a.value=!1}}}),zt=ke("updates",()=>{const e=xe(),t=L(ee("appstore","appstoreUpdateCount",0)),n=$(()=>t.value+e.updateCount);async function s(a){const r=j().getAppById(a);if(!r)throw new Error(`App with id ${a} not found`);try{"app_api"in r&&r.app_api?await e.updateApp(a):(await mn(a),t.value=Math.max(t.value-1,0)),r.update=void 0,ge()}catch(l){H.error("Failed to update app",{appId:a,error:l}),be(u("appstore","Could not update the app. Please try again later."))}}return{updateCount:n,updateApp:s}}),It=ke("userSettings",()=>{const e=L(""),t=L(!1),n=L(!0),s=$(()=>e.value==="m"?"468px":e.value==="l"?"512px":"320px");function a(l){return{...(_e()??{}).query,grid:l??t.value?e.value||null:void 0,compatible:n.value?void 0:null}}return Oe().afterEach(l=>{r(l.query)}),{defaultGridSize:e,gridSizePx:s,isGridView:t,showIncompatible:n,getQuery:a};function r(l){t.value="grid"in l,e.value=[l.grid??""].flat()[0].toLowerCase(),n.value=!("compatible"in l)}}),Ln=E({__name:"AppstoreNavigation",setup(e){const t=ee("settings","appstoreEnabled",!0),n=j(),s=zt(),a=It(),r=$(()=>n.categories),l=$(()=>n.isLoadingCategories),p=_e(),i=Oe(),f=ht("search");ka("f",()=>{f.value?.$refs.inputElement||(gt("toggle-navigation",{open:!0}),window.setTimeout(()=>f.value?.$refs.inputElement?.focus(),400)),f.value?.$refs.inputElement?.focus()},{ctrl:!0,stop:!0,prevent:!0});const m=L("");re(()=>p.query.q,b=>{m.value=[b||""].flat()[0]},{immediate:!0}),_a(m,(b,A)=>{if(b.trim()!==A.trim()){if(i.currentRoute.value.name==="apps-discover"||i.currentRoute.value.name==="apps-manage"&&p.params.category==="bundles"){i.push({name:"apps-search",query:{...p.query,q:b.trim()||void 0}});return}i.replace({...p,query:{...p.query,q:b.trim()||void 0}})}},{debounce:500});const h=$(()=>n.apps.find(({level:b})=>b===300)!==void 0);return(b,A)=>(d(),R(o(ua),{"aria-label":o(u)("appstore","Appstore categories")},{search:y(()=>[k(o(da),{ref_key:"search",ref:m,modelValue:m.value,"onUpdate:modelValue":A[0]||(A[0]=S=>m.value=S),label:o(u)("appstore","Search apps…")},null,8,["modelValue","label"])]),list:y(()=>[o(t)?(d(),R(o(K),{key:0,to:{name:"apps-discover"},name:o(W).discover},{icon:y(()=>[k(o(C),{path:o(X).discover},null,8,["path"])]),_:1},8,["name"])):z("",!0),k(o(K),{to:{name:"apps-manage",params:{category:"installed"}},name:o(W).installed},{icon:y(()=>[k(o(C),{path:o(X).installed},null,8,["path"])]),_:1},8,["name"]),k(o(K),{to:{name:"apps-manage",params:{category:"enabled"}},name:o(W).enabled},{icon:y(()=>[k(o(C),{path:o(X).enabled},null,8,["path"])]),_:1},8,["name"]),k(o(K),{to:{name:"apps-manage",params:{category:"disabled"}},name:o(W).disabled},{icon:y(()=>[k(o(C),{path:o(X).disabled},null,8,["path"])]),_:1},8,["name"]),o(s).updateCount>0?(d(),R(o(K),{key:1,to:{name:"apps-manage",params:{category:"updates"}},name:o(W).updates},{counter:y(()=>[k(o(Ta),{count:o(s).updateCount},null,8,["count"])]),icon:y(()=>[k(o(C),{path:o(X).updates},null,8,["path"])]),_:1},8,["name"])):z("",!0),k(o(K),{to:{name:"apps-bundles"},name:o(W).bundles},{icon:y(()=>[k(o(C),{path:o(X).bundles},null,8,["path"])]),_:1},8,["name"]),k(o(pn)),o(t)&&l.value?(d(),x("li",{key:2,class:w(b.$style.appstoreNavigation__categories_loading)},[k(o(Ie),{size:20,name:o(u)("appstore","Loading categories")},null,8,["name"])],2)):o(t)&&!l.value?(d(),x(M,{key:3},[h.value?(d(),R(o(K),{key:0,id:"app-category-supported",to:{name:"apps-category",params:{category:"supported"},query:o(a).getQuery(!0)},name:o(W).supported},{icon:y(()=>[k(o(C),{path:o(X).supported},null,8,["path"])]),_:1},8,["to","name"])):z("",!0),k(o(K),{id:"app-category-featured",to:{name:"apps-category",params:{category:"featured"},query:o(a).getQuery(!0)},name:o(W).featured},{icon:y(()=>[k(o(C),{path:o(X).featured},null,8,["path"])]),_:1},8,["to","name"]),(d(!0),x(M,null,Z(r.value,S=>(d(),R(o(K),{id:`app-category-${S.id}`,key:S.id,name:S.displayName,to:{name:"apps-category",params:{category:S.id},query:o(a).getQuery(!0)}},{icon:y(()=>[k(o(C),{path:S.icon},null,8,["path"])]),_:2},1032,["id","name","to"]))),128))],64)):z("",!0)]),_:1},8,["aria-label"]))}}),Bn="_appstoreNavigation__categories_loading_1fsn2_2",En={appstoreNavigation__categories_loading:Bn},Pn={$style:En},Nn=q(Ln,[["__cssModules",Pn]]),qn=E({__name:"AppActions",props:{app:{},actions:{},maxInlineActions:{default:1},iconOnly:{type:Boolean}},setup(e){const t=$(()=>e.actions.length<=e.maxInlineActions?e.actions:e.actions.filter(s=>s.inline!==!1).slice(0,e.maxInlineActions)),n=$(()=>e.actions.filter(s=>!t.value.includes(s)));return(s,a)=>(d(),x("div",{class:w(s.$style.appActions)},[(d(!0),x(M,null,Z(t.value,r=>(d(),R(o(ie),{key:r.id,ariaLabel:e.iconOnly?r.label(e.app):void 0,title:e.iconOnly?r.label(e.app):void 0,variant:r.variant,href:"href"in r?r.href(e.app):void 0,to:"to"in r?r.to(e.app):void 0,target:"href"in r?"_blank":void 0,onClick:l=>"callback"in r&&r.callback(e.app)},Me({icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),_:2},[e.iconOnly?void 0:{name:"default",fn:y(()=>[N(v(r.label(e.app)),1)]),key:"0"}]),1032,["ariaLabel","title","variant","href","to","target","onClick"]))),128)),k(o(ya),{forceMenu:""},{default:y(()=>[(d(!0),x(M,null,Z(n.value,r=>(d(),x(M,null,["callback"in r?(d(),R(o(ca),{key:"callback-"+r.id,closeAfterClick:"",variant:r.variant,onClick:l=>r.callback(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[N(" "+v(r.label(e.app)),1)]),_:2},1032,["variant","onClick"])):"href"in r?(d(),R(o(ma),{key:"link-"+r.id,closeAfterClick:"",variant:r.variant,href:r.href(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[N(" "+v(r.label(e.app)),1)]),_:2},1032,["variant","href"])):(d(),R(o(fa),{key:"route-"+r.id,closeAfterClick:"",variant:r.variant,to:r.to(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[N(" "+v(r.label(e.app)),1)]),_:2},1032,["variant","to"]))],64))),256))]),_:1})],2))}}),Mn="_appActions_lrf6h_2",On={appActions:Mn},Gn={$style:On},Ct=q(qn,[["__cssModules",Gn]]),Zn=E({__name:"AppDeployDaemonTab",props:{app:{}},setup(e){const t=L(e.app?.daemon?.deploy_config?.computeDevice?.id!=="cpu"||!1);return(n,s)=>e.app?.daemon?(d(),R(o(Ce),{key:0,id:"daemon",name:o(u)("appstore","Daemon"),order:5},{icon:y(()=>[k(o(C),{path:o(vt),size:24},null,8,["path"])]),default:y(()=>[_("div",{class:w(n.$style.appDeployDaemonTab)},[_("h4",null,v(o(u)("appstore","Deploy Daemon")),1),_("p",null,[_("b",null,v(o(u)("appstore","Type")),1),N(": "+v(e.app?.daemon.accepts_deploy_id),1)]),_("p",null,[_("b",null,v(o(u)("appstore","Name")),1),N(": "+v(e.app?.daemon.name),1)]),_("p",null,[_("b",null,v(o(u)("appstore","Display Name")),1),N(": "+v(e.app?.daemon.display_name),1)]),_("p",null,[_("b",null,v(o(u)("appstore","GPUs support")),1),N(": "+v(t.value),1)]),_("p",null,[_("b",null,v(o(u)("appstore","Compute device")),1),N(": "+v(e.app?.daemon?.deploy_config?.computeDevice?.label),1)])],2)]),_:1},8,["name"])):z("",!0)}}),jn="_appDeployDaemonTab_1xkhp_2",Hn={appDeployDaemonTab:jn},Un={$style:Hn},Qn=q(Zn,[["__cssModules",Un]]);function Ve(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var le=Ve();function lt(e){le=e}var ne={exec:()=>null};function D(e,t=""){let n=typeof e=="string"?e:e.source,s={replace:(a,r)=>{let l=typeof r=="string"?r:r.source;return l=l.replace(G.caret,"$1"),n=n.replace(a,l),s},getRegex:()=>new RegExp(n,t)};return s}var Vn=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[	 ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ 	][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Fn=/^(?:[ \t]*(?:\n|$))+/,Wn=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Xn=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$e=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Yn=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Fe=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Lt=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Bt=D(Lt).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Kn=D(Lt).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),We=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Jn=/^[^\n]+/,Xe=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,es=D(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Xe).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ts=D(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Fe).getRegex(),Le="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ye=/|$))/,as=D("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$))","i").replace("comment",Ye).replace("tag",Le).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Et=D(We).replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex(),ns=D(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Et).getRegex(),Ke={blockquote:ns,code:Wn,def:es,fences:Xn,heading:Yn,hr:$e,html:as,lheading:Bt,list:ts,newline:Fn,paragraph:Et,table:ne,text:Jn},rt=D("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}	)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex(),ss={...Ke,lheading:Kn,table:rt,paragraph:D(We).replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",rt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex()},ls={...Ke,html:D(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ye).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ne,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:D(We).replace("hr",$e).replace("heading",` *#{1,6} *[^
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/AppstoreDiscover-Dx4n5UIV.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/index-9np_X5jS.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/pinia-CaE5yuEV.chunk.mjs'),window.OC.filePath('', '', 'dist/NcContent-BYh5hWDN-9MECBj_y.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcContent-BYh5hWDN-CKeEKmjj.chunk.css'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-BMEoxMqX.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-B4eyDS9i-BknLVeOm.chunk.css'),window.OC.filePath('', '', 'dist/common-NcTextArea-Dxzj4zdb-CY5ND5WA.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/Plus-CjEmRLfi.chunk.mjs'),window.OC.filePath('', '', 'dist/common-Plus-Som-mR4B.chunk.css'),window.OC.filePath('', '', 'dist/index-Cx763gSp.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-bfXBK-tQ.chunk.css'),window.OC.filePath('', '', 'dist/index-C5srBhP3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BnF98eos.chunk.css'),window.OC.filePath('', '', 'dist/NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs'),window.OC.filePath('', '', 'dist/emoji-C8k9NUlo-C5D-rZyy.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmojiPicker-UTxgju3f-ChsL0oK6.chunk.css'),window.OC.filePath('', '', 'dist/index-3kTsQt96.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBuXQ7OS.chunk.css'),window.OC.filePath('', '', 'dist/index-D-unkGTr.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BBhtJjWD.chunk.css'),window.OC.filePath('', '', 'dist/NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs'),window.OC.filePath('', '', 'dist/ContentCopy-DhdKfuvN.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ContentCopy-D7mIRwIy.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BXR7vT0V-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/modulepreload-polyfill-BxzAKjcf.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CSrs_fa4.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-AppstoreDiscover-D5SWaP1O.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/common-NcGuestContent-CM0uWLr1-BezK2wMx.chunk.css'),window.OC.filePath('', '', 'dist/UpdateAllDialog-Cv_g-se6.chunk.mjs'),window.OC.filePath('', '', 'dist/common-UpdateAllDialog-CZVJ1CV6.chunk.css'),window.OC.filePath('', '', 'dist/AppstoreBrowse-CTMBzEdc.chunk.mjs'),window.OC.filePath('', '', 'dist/appstore-AppstoreBrowse-BmXPxQ1G.chunk.css')])))=>i.map(i=>d[i]);
+import{d as ke,c as Ft}from"./pinia-CaE5yuEV.chunk.mjs";import{b as E,o as d,f as x,g as _,t as v,i as Wt,y as w,c as R,u as o,L as Xt,w as y,j as N,v as $,F as M,B as Z,k,l as L,a9 as dt,p as ht,z as re,h as z,q as Me,a8 as fe,R as Yt,a as Kt,_ as oe,E as Jt,S as ea,r as ta,e as aa}from"./Web-X6XNrbMx.chunk.mjs";import{t as u,p as na,g as sa}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as ie,v as Oe,u as _e,H as la,I as ra}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as ia,a as oa}from"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{c as Ge,f as gt,g as pa,b as J}from"./index-BRcsAfAF.chunk.mjs";import{_ as q,l as ee}from"./public-C1mLBHT3.chunk.mjs";import{N as ca}from"./PencilOutline-DAU1EhgS.chunk.mjs";import{_ as mt,N as C}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{c as ua,d as K,e as da,f as ha,N as ga}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{P as ft}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import{N as ma,a as fa,_ as ba}from"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{U as ka,w as _a,b as ya,l as wa,u as va}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css                                          */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import{N as Ie}from"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as xa}from"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import{N as $a,a as Ta}from"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{N as bt,s as kt}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import{N as Ze}from"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css                                       */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{M as Aa,O as Sa,P as Ra,Q as Da,R as za,S as Ia,T as Ca,U as La,V as Ba,W as Ea,X as Pa,x as Na,Y as qa,E as Se,Z as Ma,_ as Oa,$ as je,z as He,a0 as _t,a1 as Ga,a2 as yt,q as wt,a3 as Za,a4 as ja,a5 as Ha,a6 as vt,a7 as Ua,a8 as Qa,a9 as xt,N as at,aa as Va,ab as Fa,ac as Wa,ad as Xa,ae as Ya,L as Ka,af as Ja,l as en,K as tn,ag as an,w as nn,ah as sn}from"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import{c as O}from"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import{a as be}from"./index-9np_X5jS.chunk.mjs";import{a as ln,P as ye,c as Ue}from"./index-CSrs_fa4.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const rn={class:"app-navigation-spacer"},on=E({__name:"NcAppNavigationSpacer",setup(e){return(t,n)=>(d(),x("li",rn))}}),pn=mt(on,[["__scopeId","data-v-277fa710"]]),cn={name:"NcAppSidebarTab",inject:["registerTab","unregisterTab","getActiveTab","isTablistShown"],props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:""},order:{type:Number,default:0}},emits:["bottomReached","scroll"],expose:["id","name","icon","order","renderIcon"],computed:{isActive(){return this.getActiveTab()===this.id}},created(){this.registerTab(this)},beforeUnmount(){this.unregisterTab(this.id)},methods:{onScroll(e){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit("bottomReached",e),this.$emit("scroll",e)},renderIcon(){return this.$slots.icon?.()}}},un=["id","aria-hidden","aria-label","aria-labelledby","role","tabindex"],dn={class:"hidden-visually"};function hn(e,t,n,s,a,r){return d(),x("section",{id:`tab-${n.id}`,"aria-hidden":!r.isActive,"aria-label":r.isTablistShown()?void 0:n.name,"aria-labelledby":r.isTablistShown()?`tab-button-${n.id}`:void 0,class:w(["app-sidebar__tab",{"app-sidebar__tab--active":r.isActive}]),role:r.isTablistShown()?"tabpanel":void 0,tabindex:r.isTablistShown()?0:-1,onScroll:t[0]||(t[0]=(...l)=>r.onScroll&&r.onScroll(...l))},[_("h3",dn,v(n.name),1),Wt(e.$slots,"default",{},void 0,!0)],42,un)}const Ce=mt(cn,[["render",hn],["__scopeId","data-v-dba10798"]]),W=Object.freeze({discover:u("appstore","Discover"),installed:u("appstore","Your apps"),enabled:u("appstore","Active apps"),disabled:u("appstore","Disabled apps"),updates:u("appstore","Updates"),bundles:u("appstore","App bundles"),featured:u("appstore","Featured apps"),supported:u("appstore","Supported apps"),search:u("appstore","Search results")}),X=Object.freeze({discover:ja,installed:Za,enabled:wt,disabled:yt,bundles:Ga,supported:_t,featured:He,updates:je,ai:Oa,auth:Ma,customization:Se,dashboard:qa,files:Na,games:Pa,integration:Ea,monitoring:Ba,multimedia:La,office:Ca,organization:Ia,search:za,security:Da,social:Ra,tools:Sa,workflow:Aa}),Ki=["post","showcase","carousel"];ln(O);const te=Ge("apps/appstore/api/v1"),se=Object.freeze({apps:`${te}/apps`,categories:`${te}/apps/categories`,enable:`${te}/apps/enable`,disable:`${te}/apps/disable`,uninstall:`${te}/apps/uninstall`,update:`${te}/apps/update`,bundleEnable:`${te}/bundles/enable`}),we=new ft({concurrency:1});async function nt(e,t=!1,n){return we.add(async()=>{await O.post(se.enable,{appId:e,groups:n,force:t||void 0},{confirmPassword:ye.Strict})})}async function gn(e){return we.add(async()=>{await O.post(se.disable,{appId:e},{confirmPassword:ye.Lax})})}async function mn(e){return we.add(async()=>{await O.post(se.update,{appId:e},{confirmPassword:ye.Strict})})}async function fn(e){return we.add(async()=>{await O.post(se.uninstall,{appId:e},{confirmPassword:ye.Strict})})}async function bn(){const{data:e}=await O.get(se.apps);return e.ocs.data}async function kn(){const{data:e}=await O.get(se.categories);for(const t of e.ocs.data)t.icon=X[t.id]??"";return e.ocs.data}async function _n(e){return we.add(async()=>{await O.post(se.bundleEnable,{bundleId:e},{confirmPassword:ye.Strict})})}async function ge(){const{data:e}=await O.get(Ge("core/navigation/apps?format=json"));e.ocs.meta.statuscode===200&&(gt("nextcloud:app-menu.refresh",{apps:e.ocs.data}),window.dispatchEvent(new Event("resize")))}function pe(e){return e.installed||e.internal?!1:e.missingDependencies===void 0||e.missingDependencies.length===0||!e.isCompatible&&e.missingDependencies.length===1}function $t(e){return e.installed&&e.removable&&!e.active}function Tt(e){return!Rt(e)&&!Dt(e)&&At(e)&&e.isCompatible}function At(e){return!e.active&&(e.installed||pe(e))}function ve(e){return!e.active&&!e.isCompatible}function St(e){return!Rt(e)&&!Dt(e)&&e.active&&!e.internal}function yn(e){return e.update!==void 0}const wn=["filesystem","prelogin","authentication","logging","prevent_group_restriction"];function Qe(e){return!e.active&&!e.installed||!e.active&&ve(e)?!1:e.types?e.types.every(t=>!wn.includes(t)):!0}function Rt(e){return e.app_api&&(e.status.action==="init"||e.status.action==="healthcheck")}function Dt(e){return e.app_api&&e.status.action==="deploy"}const H=pa().setApp("appstore").detectUser().build(),vn=E({__name:"DaemonSelectionDialogListEntry",props:{daemon:{},isDefault:{type:Boolean}},emits:["selected"],setup(e,{emit:t}){const n=e,s=t,a=$(()=>`${n.daemon.name} - ${n.daemon.display_name}`);return(r,l)=>(d(),R(o($a),{active:e.isDefault,counterNumber:e.daemon.exAppsCount,counterType:"highlighted",details:e.isDefault?o(u)("appstore","Default"):"",forceDisplayActions:"",name:a.value,onClick:l[0]||(l[0]=Xt(p=>s("selected"),["stop"]))},{subname:y(()=>[N(v(e.daemon.accepts_deploy_id),1)]),_:1},8,["active","counterNumber","details","name"]))}}),xn=["aria-label"],$n=E({__name:"DaemonSelectionDialogList",emits:["selected"],setup(e){const t=xe();return(n,s)=>(d(),x("ul",{class:w(n.$style.DaemonSelectionDialogList),"aria-label":o(u)("appstore","Registered Deploy daemons list")},[(d(!0),x(M,null,Z(o(t).dockerDaemons,a=>(d(),R(vn,{key:a.id,daemon:a,isDefault:o(t).defaultDaemon?.name===a.name,onSelected:r=>n.$emit("selected",a)},null,8,["daemon","isDefault","onSelected"]))),128))],10,xn))}}),Tn="_DaemonSelectionDialogList_x38pt_2",An={DaemonSelectionDialogList:Tn},Sn={$style:An},Rn=q($n,[["__cssModules",Sn]]),Dn=E({__name:"DaemonSelectionDialog",props:{app:{}},emits:["close"],setup(e){const t=xe(),n=J("/settings/admin/app_api");return(s,a)=>(d(),R(o(bt),{name:o(u)("appstore","Choose Deploy Daemon for {appName}",{appName:e.app.name}),size:"normal","onUpdate:open":a[1]||(a[1]=r=>r||s.$emit("close"))},{default:y(()=>[o(t).dockerDaemons.length===0?(d(),R(o(Ze),{key:0,class:"daemon-selection-list__empty-content",name:o(u)("appstore","No Deploy daemons configured"),description:o(u)("appstore","Register a custom one or setup from available templates")},{icon:y(()=>[k(o(C),{path:o(Ha)},null,8,["path"])]),action:y(()=>[k(o(ie),{href:o(n)},{default:y(()=>[N(v(o(u)("appstore","Manage Deploy daemons")),1)]),_:1},8,["href"])]),_:1},8,["name","description"])):(d(),R(Rn,{key:1,app:e.app,onSelected:a[0]||(a[0]=r=>s.$emit("close",r))},null,8,["app"]))]),_:1},8,["name"]))}});async function zn(){const{data:e}=await O.get(J("/apps/app_api/apps/list"));return e.apps}async function In(e){const{data:t}=await O.get(J(`/apps/app_api/apps/status/${e}`));return t}async function Ee(e,t,n){await Ue(),await O.post(J(`/apps/app_api/apps/enable/${e.id}/${t.name}`),{deployOptions:n})}async function Cn(e){await Ue(),await O.post(J("/apps/app_api/apps/force"),{appId:e})}async function st(e){await Ue(),await O.get(J(`apps/app_api/apps/disable/${e}`))}const xe=ke("external-apps",()=>{const e=ee("appstore","appApiEnabled",!1),t=L([]),n=L(ee("appstore","appstoreExAppUpdateCount",0));let s=null;const a=L(ee("appstore","defaultDaemonConfigAccessible",!1)),r=L(ee("appstore","defaultDaemonConfig",null)),l=L([]),p=$(()=>t.value.filter(g=>g?.status?.action&&g.status.type!==""&&(g?.status?.action==="deploy"||g.status.action==="init"||g.status.action==="healthcheck")));function i(g){return t.value.find(({id:c})=>c===g)??null}async function f(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{if(l.value.length===1&&c.needsDownload)Ee(c,l[0]),c.daemon=l[0];else if(c.needsDownload){const B=await kt(Dn,{app:c});if(!B)throw new Error("No daemon selected");await Ee(c,B),c.daemon=B}else await Ee(c,c.daemon);c.installed||(c.needsDownload=!1,c.status={type:"install",action:"deploy",init:0,deploy:0}),c.removable=!0,delete c.error,await V(g)}finally{c.loading=!1}}async function m(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await Cn(g),await S(!0),c.active=!1}finally{c.loading=!1}}async function h(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await st(g),c.active=!1}finally{c.loading=!1}}async function b(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await st(g),c.active=!1,c.needsDownload=!0,c.installed=!1,c.daemon=null,c.status={},c.update!==null&&n.value--,delete c.update,delete c.error}finally{c.loading=!1}}async function A(g){const c=i(g);if(!c)throw new Error(`App with id ${g} not found`);c.loading=!0;try{await O.get(J(`/apps/app_api/apps/update/${g}`)),c.version=c.update||c.version,c.status={type:"update",action:"deploy",init:0,deploy:0},delete c.update,delete c.error,n.value--,await V(g)}catch(B){H.error("Failed to update ex app",{appId:g,error:B}),be(u("appstore","Could not update the app. Please try again later."))}finally{c.loading=!1}}async function S(g=!1){(g||!r.value||!l.value.length)&&await P(),(g||t.value.length===0)&&await Y()}return{isEnabled:e,apps:t,updateCount:n,defaultDaemon:r,dockerDaemons:l,daemonAccessible:a,getById:i,disableApp:h,enableApp:f,forceEnableApp:m,updateApp:A,uninstallApp:b,initialize:S};async function P(){try{const{data:g}=await O.get(J("/apps/app_api/daemons"));r.value=g.daemons.find(c=>c.name===g.default_daemon_config),l.value=g.daemons.filter(c=>c.accepts_deploy_id==="docker-install")}catch(g){return H.error("[app-api-store] Failed to fetch Docker daemons",{error:g}),!1}return!0}async function Y(){try{t.value=await zn()}catch(g){H.error("An error occurred while fetching apps",{error:g}),be(u("appstore","An error occurred during the request. Unable to proceed."))}}async function V(g){const c=i(g);if(!c){H.error("[app-api-store] app not found while fetching status",{appId:g});return}c.loading=!0;try{const B=await In(g);c.status=B,H.debug("[app-api-store] initializingOrDeployingApps after setAppStatus",{initializingOrDeployingApps:p}),p.value.length===0&&(H.debug("[app-api-store] Clearing interval"),clearInterval(s),s=null),c.status.error&&p.value.length===1&&(clearInterval(s),s=null)}catch(B){throw T(),B}finally{c.loading=!1}}function T(){clearInterval(s),p.value.length!==0&&(s=window.setInterval(()=>{H.debug("[app-api-store] initializingOrDeployingApps",{initializingOrDeployingApps:p});for(const g of p.value)V(g.id)},2e3))}}),j=ke("apps",()=>{const e=xe(),t=L([]),n=L([]),s=dt(ee("appstore","appstoreBundles")),a=L(!1),r=L(!1),l=$(()=>[...t.value,...e.isEnabled?e.apps:[]]);function p(T){return n.value.find(({id:g})=>g===T)??null}function i(T){return l.value.find(({id:g})=>g===T)??null}function f(T){return l.value.filter(g=>[g.category].flat().includes(T))}async function m(T,g=!1){const c=i(T);if(!c)throw new Error(`App with id ${T} not found`);if(c.active||!c.installed&&!pe(c))throw new Error(`App with id ${T} cannot be enabled`);if(!g&&ve(c))throw new Error(`App with id ${T} requires force enable`);c.loading=!0;try{c.app_api?await e.enableApp(T):await nt(T,g),g&&(c.isCompatible=!0),c.active=!0,c.installed=!0,c.removable=!0,await ge()}finally{c.loading=!1}}async function h(T){const g=i(T);if(!g)throw new Error(`App with id ${T} not found`);if(!St(g))throw new Error(`App with id ${T} cannot be disabled`);g.loading=!0;try{g.app_api?await e.disableApp(T):await gn(T),g.active=!1,g.isCompatible=g.missingDependencies===void 0||g.missingDependencies.length===0,await ge()}finally{g.loading=!1}}async function b(T){const g=i(T);if(!g)throw new Error(`App with id ${T} not found`);if(!$t(g))throw new Error(`App with id ${T} cannot be uninstalled`);g.loading=!0;try{g.app_api?await e.uninstallApp(T):await fn(T),g.active=!1,g.installed=!1,await ge()}finally{g.loading=!1}}async function A(T,g){const c=i(T);if(!c)throw new Error(`App with id ${T} not found`);if(!Qe(c))throw new Error(`App with id ${T} cannot be limited to groups`);if(!c.app_api)try{c.loading=!0,await nt(T,!1,g),c.groups=g}finally{c.loading=!1}}async function S(T){const g=s.find(c=>c.id===T);if(!g)throw new Error(`Bundle with id ${T} not found`);try{for(const c of g.appIdentifiers){const B=i(c);B.loading=!0}await _n(g.id);for(const c of g.appIdentifiers){const B=i(c);B.active=!0,B.installed=!0,B.removable=!0,await ge()}}finally{for(const c of g.appIdentifiers){const B=i(c);B.loading=!1}}}return P(),{apps:l,bundles:s,categories:n,isLoadingApps:a,isLoadingCategories:r,disableApp:h,enableApp:m,uninstallApp:b,enableBundle:S,getAppById:i,getAppsByCategory:f,getCategoryById:p,limitAppToGroups:A};async function P(){await Promise.allSettled([V(),Y(),e.isEnabled?e.initialize():Promise.resolve()])}async function Y(){try{r.value=!0,n.value=await kn()}catch(T){H.error("Failed to load app categories",{error:T}),be(u("appstore","Could not load app categories. Please try again later."))}finally{r.value=!1}}async function V(){try{a.value=!0,t.value=await bn()}catch(T){H.error("Failed to load apps list",{error:T}),be(u("appstore","Could not load apps list. Please try again later."))}finally{a.value=!1}}}),zt=ke("updates",()=>{const e=xe(),t=L(ee("appstore","appstoreUpdateCount",0)),n=$(()=>t.value+e.updateCount);async function s(a){const r=j().getAppById(a);if(!r)throw new Error(`App with id ${a} not found`);try{"app_api"in r&&r.app_api?await e.updateApp(a):(await mn(a),t.value=Math.max(t.value-1,0)),r.update=void 0,ge()}catch(l){H.error("Failed to update app",{appId:a,error:l}),be(u("appstore","Could not update the app. Please try again later."))}}return{updateCount:n,updateApp:s}}),It=ke("userSettings",()=>{const e=L(""),t=L(!1),n=L(!0),s=$(()=>e.value==="m"?"468px":e.value==="l"?"512px":"320px");function a(l){return{...(_e()??{}).query,grid:l??t.value?e.value||null:void 0,compatible:n.value?void 0:null}}return Oe().afterEach(l=>{r(l.query)}),{defaultGridSize:e,gridSizePx:s,isGridView:t,showIncompatible:n,getQuery:a};function r(l){t.value="grid"in l,e.value=[l.grid??""].flat()[0].toLowerCase(),n.value=!("compatible"in l)}}),Ln=E({__name:"AppstoreNavigation",setup(e){const t=ee("settings","appstoreEnabled",!0),n=j(),s=zt(),a=It(),r=$(()=>n.categories),l=$(()=>n.isLoadingCategories),p=_e(),i=Oe(),f=ht("search");ka("f",()=>{f.value?.$refs.inputElement||(gt("toggle-navigation",{open:!0}),window.setTimeout(()=>f.value?.$refs.inputElement?.focus(),400)),f.value?.$refs.inputElement?.focus()},{ctrl:!0,stop:!0,prevent:!0});const m=L("");re(()=>p.query.q,b=>{m.value=[b||""].flat()[0]},{immediate:!0}),_a(m,(b,A)=>{if(b.trim()!==A.trim()){if(i.currentRoute.value.name==="apps-discover"||i.currentRoute.value.name==="apps-manage"&&p.params.category==="bundles"){i.push({name:"apps-search",query:{...p.query,q:b.trim()||void 0}});return}i.replace({...p,query:{...p.query,q:b.trim()||void 0}})}},{debounce:500});const h=$(()=>n.apps.find(({level:b})=>b===300)!==void 0);return(b,A)=>(d(),R(o(ua),{"aria-label":o(u)("appstore","Appstore categories")},{search:y(()=>[k(o(da),{ref_key:"search",ref:m,modelValue:m.value,"onUpdate:modelValue":A[0]||(A[0]=S=>m.value=S),label:o(u)("appstore","Search apps…")},null,8,["modelValue","label"])]),list:y(()=>[o(t)?(d(),R(o(K),{key:0,to:{name:"apps-discover"},name:o(W).discover},{icon:y(()=>[k(o(C),{path:o(X).discover},null,8,["path"])]),_:1},8,["name"])):z("",!0),k(o(K),{to:{name:"apps-manage",params:{category:"installed"}},name:o(W).installed},{icon:y(()=>[k(o(C),{path:o(X).installed},null,8,["path"])]),_:1},8,["name"]),k(o(K),{to:{name:"apps-manage",params:{category:"enabled"}},name:o(W).enabled},{icon:y(()=>[k(o(C),{path:o(X).enabled},null,8,["path"])]),_:1},8,["name"]),k(o(K),{to:{name:"apps-manage",params:{category:"disabled"}},name:o(W).disabled},{icon:y(()=>[k(o(C),{path:o(X).disabled},null,8,["path"])]),_:1},8,["name"]),o(s).updateCount>0?(d(),R(o(K),{key:1,to:{name:"apps-manage",params:{category:"updates"}},name:o(W).updates},{counter:y(()=>[k(o(Ta),{count:o(s).updateCount},null,8,["count"])]),icon:y(()=>[k(o(C),{path:o(X).updates},null,8,["path"])]),_:1},8,["name"])):z("",!0),k(o(K),{to:{name:"apps-bundles"},name:o(W).bundles},{icon:y(()=>[k(o(C),{path:o(X).bundles},null,8,["path"])]),_:1},8,["name"]),k(o(pn)),o(t)&&l.value?(d(),x("li",{key:2,class:w(b.$style.appstoreNavigation__categories_loading)},[k(o(Ie),{size:20,name:o(u)("appstore","Loading categories")},null,8,["name"])],2)):o(t)&&!l.value?(d(),x(M,{key:3},[h.value?(d(),R(o(K),{key:0,id:"app-category-supported",to:{name:"apps-category",params:{category:"supported"},query:o(a).getQuery(!0)},name:o(W).supported},{icon:y(()=>[k(o(C),{path:o(X).supported},null,8,["path"])]),_:1},8,["to","name"])):z("",!0),k(o(K),{id:"app-category-featured",to:{name:"apps-category",params:{category:"featured"},query:o(a).getQuery(!0)},name:o(W).featured},{icon:y(()=>[k(o(C),{path:o(X).featured},null,8,["path"])]),_:1},8,["to","name"]),(d(!0),x(M,null,Z(r.value,S=>(d(),R(o(K),{id:`app-category-${S.id}`,key:S.id,name:S.displayName,to:{name:"apps-category",params:{category:S.id},query:o(a).getQuery(!0)}},{icon:y(()=>[k(o(C),{path:S.icon},null,8,["path"])]),_:2},1032,["id","name","to"]))),128))],64)):z("",!0)]),_:1},8,["aria-label"]))}}),Bn="_appstoreNavigation__categories_loading_1fsn2_2",En={appstoreNavigation__categories_loading:Bn},Pn={$style:En},Nn=q(Ln,[["__cssModules",Pn]]),qn=E({__name:"AppActions",props:{app:{},actions:{},maxInlineActions:{default:1},iconOnly:{type:Boolean}},setup(e){const t=$(()=>e.actions.length<=e.maxInlineActions?e.actions:e.actions.filter(s=>s.inline!==!1).slice(0,e.maxInlineActions)),n=$(()=>e.actions.filter(s=>!t.value.includes(s)));return(s,a)=>(d(),x("div",{class:w(s.$style.appActions)},[(d(!0),x(M,null,Z(t.value,r=>(d(),R(o(ie),{key:r.id,ariaLabel:e.iconOnly?r.label(e.app):void 0,title:e.iconOnly?r.label(e.app):void 0,variant:r.variant,href:"href"in r?r.href(e.app):void 0,to:"to"in r?r.to(e.app):void 0,target:"href"in r?"_blank":void 0,onClick:l=>"callback"in r&&r.callback(e.app)},Me({icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),_:2},[e.iconOnly?void 0:{name:"default",fn:y(()=>[N(v(r.label(e.app)),1)]),key:"0"}]),1032,["ariaLabel","title","variant","href","to","target","onClick"]))),128)),k(o(ya),{forceMenu:""},{default:y(()=>[(d(!0),x(M,null,Z(n.value,r=>(d(),x(M,null,["callback"in r?(d(),R(o(ca),{key:"callback-"+r.id,closeAfterClick:"",variant:r.variant,onClick:l=>r.callback(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[N(" "+v(r.label(e.app)),1)]),_:2},1032,["variant","onClick"])):"href"in r?(d(),R(o(ma),{key:"link-"+r.id,closeAfterClick:"",variant:r.variant,href:r.href(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[N(" "+v(r.label(e.app)),1)]),_:2},1032,["variant","href"])):(d(),R(o(fa),{key:"route-"+r.id,closeAfterClick:"",variant:r.variant,to:r.to(e.app)},{icon:y(()=>[k(o(C),{path:r.icon},null,8,["path"])]),default:y(()=>[N(" "+v(r.label(e.app)),1)]),_:2},1032,["variant","to"]))],64))),256))]),_:1})],2))}}),Mn="_appActions_lrf6h_2",On={appActions:Mn},Gn={$style:On},Ct=q(qn,[["__cssModules",Gn]]),Zn=E({__name:"AppDeployDaemonTab",props:{app:{}},setup(e){const t=L(e.app?.daemon?.deploy_config?.computeDevice?.id!=="cpu"||!1);return(n,s)=>e.app?.daemon?(d(),R(o(Ce),{key:0,id:"daemon",name:o(u)("appstore","Daemon"),order:5},{icon:y(()=>[k(o(C),{path:o(vt),size:24},null,8,["path"])]),default:y(()=>[_("div",{class:w(n.$style.appDeployDaemonTab)},[_("h4",null,v(o(u)("appstore","Deploy Daemon")),1),_("p",null,[_("b",null,v(o(u)("appstore","Type")),1),N(": "+v(e.app?.daemon.accepts_deploy_id),1)]),_("p",null,[_("b",null,v(o(u)("appstore","Name")),1),N(": "+v(e.app?.daemon.name),1)]),_("p",null,[_("b",null,v(o(u)("appstore","Display Name")),1),N(": "+v(e.app?.daemon.display_name),1)]),_("p",null,[_("b",null,v(o(u)("appstore","GPUs support")),1),N(": "+v(t.value),1)]),_("p",null,[_("b",null,v(o(u)("appstore","Compute device")),1),N(": "+v(e.app?.daemon?.deploy_config?.computeDevice?.label),1)])],2)]),_:1},8,["name"])):z("",!0)}}),jn="_appDeployDaemonTab_1xkhp_2",Hn={appDeployDaemonTab:jn},Un={$style:Hn},Qn=q(Zn,[["__cssModules",Un]]);function Ve(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var le=Ve();function lt(e){le=e}var ne={exec:()=>null};function D(e,t=""){let n=typeof e=="string"?e:e.source,s={replace:(a,r)=>{let l=typeof r=="string"?r:r.source;return l=l.replace(G.caret,"$1"),n=n.replace(a,l),s},getRegex:()=>new RegExp(n,t)};return s}var Vn=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[	 ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ 	][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Fn=/^(?:[ \t]*(?:\n|$))+/,Wn=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Xn=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$e=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Yn=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Fe=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Lt=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Bt=D(Lt).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Kn=D(Lt).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),We=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Jn=/^[^\n]+/,Xe=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,es=D(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Xe).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ts=D(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Fe).getRegex(),Le="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ye=/|$))/,as=D("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ 	]*)+\\n|$))","i").replace("comment",Ye).replace("tag",Le).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Et=D(We).replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex(),ns=D(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Et).getRegex(),Ke={blockquote:ns,code:Wn,def:es,fences:Xn,heading:Yn,hr:$e,html:as,lheading:Bt,list:ts,newline:Fn,paragraph:Et,table:ne,text:Jn},rt=D("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}	)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex(),ss={...Ke,lheading:Kn,table:rt,paragraph:D(We).replace("hr",$e).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",rt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le).getRegex()},ls={...Ke,html:D(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ye).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ne,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:D(We).replace("hr",$e).replace("heading",` *#{1,6} *[^
 ]`).replace("lheading",Bt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},rs=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,is=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Pt=/^( {2,}|\\)\n(?!\s*$)/,os=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Vn?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),qt=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,hs=D(qt,"u").replace(/punct/g,ce).getRegex(),gs=D(qt,"u").replace(/punct/g,Nt).getRegex(),Mt="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",ms=D(Mt,"gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Be).replace(/punct/g,ce).getRegex(),fs=D(Mt,"gu").replace(/notPunctSpace/g,us).replace(/punctSpace/g,cs).replace(/punct/g,Nt).getRegex(),bs=D("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Be).replace(/punct/g,ce).getRegex(),ks=D(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ce).getRegex(),_s="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",ys=D(_s,"gu").replace(/notPunctSpace/g,Je).replace(/punctSpace/g,Be).replace(/punct/g,ce).getRegex(),ws=D(/\\(punct)/,"gu").replace(/punct/g,ce).getRegex(),vs=D(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),xs=D(Ye).replace("(?:-->|$)","-->").getRegex(),$s=D("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",xs).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Re=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Ts=D(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Re).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ot=D(/^!?\[(label)\]\[(ref)\]/).replace("label",Re).replace("ref",Xe).getRegex(),Gt=D(/^!?\[(ref)\](?:\[\])?/).replace("ref",Xe).getRegex(),As=D("reflink|nolink(?!\\()","g").replace("reflink",Ot).replace("nolink",Gt).getRegex(),it=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,et={_backpedal:ne,anyPunctuation:ws,autolink:vs,blockSkip:ds,br:Pt,code:is,del:ne,delLDelim:ne,delRDelim:ne,emStrongLDelim:hs,emStrongRDelimAst:ms,emStrongRDelimUnd:bs,escape:rs,link:Ts,nolink:Gt,punctuation:ps,reflink:Ot,reflinkSearch:As,tag:$s,text:os,url:ne},Ss={...et,link:D(/^!?\[(label)\]\((.*?)\)/).replace("label",Re).getRegex(),reflink:D(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Re).getRegex()},Pe={...et,emStrongRDelimAst:fs,emStrongLDelim:gs,delLDelim:ks,delRDelim:ys,url:D(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",it).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:D(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},ot=e=>Ds[e];function F(e,t){if(t){if(G.escapeTest.test(e))return e.replace(G.escapeReplace,ot)}else if(G.escapeTestNoEncode.test(e))return e.replace(G.escapeReplaceNoEncode,ot);return e}function pt(e){try{e=encodeURI(e).replace(G.percentDecode,"%")}catch{return null}return e}function ct(e,t){let n=e.replace(G.findPipe,(r,l,p)=>{let i=!1,f=l;for(;--f>=0&&p[f]==="\\";)i=!i;return i?"|":" |"}),s=n.split(G.splitPipe),a=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length0?-2:-1}function Is(e,t=0){let n=t,s="";for(let a of e)if(a==="	"){let r=4-n%4;s+=" ".repeat(r),n+=r}else s+=a,n++;return s}function ut(e,t,n,s,a){let r=t.href,l=t.title||null,p=e[1].replace(a.other.outputLinkReplace,"$1");s.state.inLink=!0;let i={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:r,title:l,text:p,tokens:s.inlineTokens(p)};return s.state.inLink=!1,i}function Cs(e,t,n){let s=e.match(n.other.indentCodeCompensation);if(s===null)return t;let a=s[1];return t.split(`
 `).map(r=>{let l=r.match(n.other.beginningSpace);if(l===null)return r;let[p]=l;return p.length>=a.length?r.slice(a.length):r}).join(`
 `)}var De=class{options;rules;lexer;constructor(e){this.options=e||le}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:he(n,`
@@ -57,5 +57,5 @@ ${this.parser.parse(e)}
 ${e}
 `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`
 `}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${F(e,!0)}`}br(e){return"
"}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let s=this.parser.parseInline(n),a=pt(e);if(a===null)return s;e=a;let r='
",r}image({href:e,title:t,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));let a=pt(e);if(a===null)return F(n);e=a;let r=`${F(n)}{let l=a[r].flat(1/0);n=n.concat(this.walkTokens(l,t))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let r=t.renderers[a.name];r?t.renderers[a.name]=function(...l){let p=a.renderer.apply(this,l);return p===!1&&(p=r.apply(this,l)),p}:t.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let r=t[a.level];r?r.unshift(a.tokenizer):t[a.level]=[a.tokenizer],a.start&&(a.level==="block"?t.startBlock?t.startBlock.push(a.start):t.startBlock=[a.start]:a.level==="inline"&&(t.startInline?t.startInline.push(a.start):t.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(t.childTokens[a.name]=a.childTokens)}),s.extensions=t),n.renderer){let a=this.defaults.renderer||new ze(this.defaults);for(let r in n.renderer){if(!(r in a))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let l=r,p=n.renderer[l],i=a[l];a[l]=(...f)=>{let m=p.apply(a,f);return m===!1&&(m=i.apply(a,f)),m||""}}s.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new De(this.defaults);for(let r in n.tokenizer){if(!(r in a))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let l=r,p=n.tokenizer[l],i=a[l];a[l]=(...f)=>{let m=p.apply(a,f);return m===!1&&(m=i.apply(a,f)),m}}s.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new me;for(let r in n.hooks){if(!(r in a))throw new Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let l=r,p=n.hooks[l],i=a[l];me.passThroughHooks.has(r)?a[l]=f=>{if(this.defaults.async&&me.passThroughHooksRespectAsync.has(r))return(async()=>{let h=await p.call(a,f);return i.call(a,h)})();let m=p.call(a,f);return i.call(a,m)}:a[l]=(...f)=>{if(this.defaults.async)return(async()=>{let h=await p.apply(a,f);return h===!1&&(h=await i.apply(a,f)),h})();let m=p.apply(a,f);return m===!1&&(m=i.apply(a,f)),m}}s.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,r=n.walkTokens;s.walkTokens=function(l){let p=[];return p.push(r.call(this,l)),a&&(p=p.concat(a.call(this,l))),p}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return U.lex(e,t??this.defaults)}parser(e,t){return Q.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let s={...n},a={...this.defaults,...s},r=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&s.async===!1)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return r(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let l=a.hooks?await a.hooks.preprocess(t):t,p=await(a.hooks?await a.hooks.provideLexer(e):e?U.lex:U.lexInline)(l,a),i=a.hooks?await a.hooks.processAllTokens(p):p;a.walkTokens&&await Promise.all(this.walkTokens(i,a.walkTokens));let f=await(a.hooks?await a.hooks.provideParser(e):e?Q.parse:Q.parseInline)(i,a);return a.hooks?await a.hooks.postprocess(f):f})().catch(r);try{a.hooks&&(t=a.hooks.preprocess(t));let l=(a.hooks?a.hooks.provideLexer(e):e?U.lex:U.lexInline)(t,a);a.hooks&&(l=a.hooks.processAllTokens(l)),a.walkTokens&&this.walkTokens(l,a.walkTokens);let p=(a.hooks?a.hooks.provideParser(e):e?Q.parse:Q.parseInline)(l,a);return a.hooks&&(p=a.hooks.postprocess(p)),p}catch(l){return r(l)}}}onError(e,t){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let s="

An error occurred:

"+F(n.message+"",!0)+"
";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}},ae=new Ls;function I(e,t){return ae.parse(e,t)}I.options=I.setOptions=function(e){return ae.setOptions(e),I.defaults=ae.defaults,lt(I.defaults),I},I.getDefaults=Ve,I.defaults=le,I.use=function(...e){return ae.use(...e),I.defaults=ae.defaults,lt(I.defaults),I},I.walkTokens=function(e,t){return ae.walkTokens(e,t)},I.parseInline=ae.parseInline,I.Parser=Q,I.parser=Q.parse,I.Renderer=ze,I.TextRenderer=tt,I.Lexer=U,I.lexer=U.lex,I.Tokenizer=De,I.Hooks=me,I.parse=I,I.options,I.setOptions,I.use,I.walkTokens,I.parseInline,Q.parse,U.lex;function Bs(e,t){const n=new I.Renderer;return n.blockquote=Ns,n.link=Es,n.image=Ps,$(()=>{const s=t?.minHeadingLevel??1;n.heading=qs(s);const a=fe(e).trim();return na.sanitize(I(a,{async:!1,renderer:n,gfm:!1,breaks:!1,pedantic:!1}),{ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","strong","p","a","ul","ol","li","em","del","blockquote"]})})}function Es({href:e,title:t,text:n}){let s;try{s=new URL(e)}catch{return""}if(s.protocol!=="http:"&&s.protocol!=="https:")return"";let a='
",a}function Ps({title:e,text:t}){return t||(e??"")}function Ns({text:e}){return`
${e}
`}function qs(e){return({text:t,depth:n})=>(n=Math.min(6,n+(e-1)),`${t}`)}const Ms=["innerHTML"],Os=E({__name:"MarkdownPreview",props:{text:{},minHeadingLevel:{default:1}},setup(e){const t=Bs(()=>e.text,{minHeadingLevel:e.minHeadingLevel});return(n,s)=>(d(),x("div",{class:"settings-markdown",innerHTML:o(t)},null,8,Ms))}}),Zt=q(Os,[["__scopeId","data-v-cf1f9874"]]),Gs=E({__name:"AppDescriptionTab",props:{app:{}},setup(e){return(t,n)=>(d(),R(o(Ce),{id:"desc",name:o(u)("appstore","Description"),order:0},{icon:y(()=>[k(o(C),{path:o(Ua)},null,8,["path"])]),default:y(()=>[_("div",{class:w(t.$style.appDescriptionTab)},[k(Zt,{text:e.app.description,minHeadingLevel:3},null,8,["text"])],2)]),_:1},8,["name"]))}}),Zs="_appDescriptionTab_118mz_2",js={appDescriptionTab:Zs},Hs={$style:js},Us=q(Gs,[["__cssModules",Hs]]),Qs=["title"],Vs=E({__name:"BadgeAppDaemon",props:{daemon:{}},setup(e){return(t,n)=>e.daemon?(d(),x("span",{key:0,class:w(t.$style.appDaemonBadge),title:e.daemon.name},[k(o(C),{path:o(vt),size:20,inline:""},null,8,["path"]),N(" "+v(e.daemon.display_name),1)],10,Qs)):z("",!0)}}),Fs="_appDaemonBadge_1n34s_2",Ws={appDaemonBadge:Fs},Xs={$style:Ws},jt=q(Vs,[["__cssModules",Xs]]),Ys=["title"],Ks=E({__name:"BadgeAppLevel",props:{level:{}},setup(e){const t=e,n=$(()=>t.level===300),s=$(()=>t.level===200),a=$(()=>n.value?_t:He),r=$(()=>n.value?u("appstore","Supported"):u("appstore","Featured")),l=$(()=>n.value?u("appstore","This app is supported via your current Nextcloud subscription."):u("appstore","Featured apps are developed by and within the community. They offer central functionality and are ready for production use."));return(p,i)=>n.value||s.value?(d(),x("span",{key:0,class:w([p.$style.appLevelBadge,{[p.$style.appLevelBadge__supported]:n.value}]),title:l.value},[k(o(C),{path:a.value,size:20,inline:""},null,8,["path"]),N(" "+v(r.value),1)],10,Ys)):z("",!0)}}),Js="_appLevelBadge_q2et3_2",el="_appLevelBadge__supported_q2et3_15",tl={appLevelBadge:Js,appLevelBadge__supported:el},al={$style:tl},Ht=q(Ks,[["__cssModules",al]]),nl=["aria-label","title"],sl=E({__name:"BadgeAppScore",props:{app:{}},setup(e){const t=$(()=>!e.app.shipped&&e.app.ratingNumOverall&&e.app.ratingNumOverall>5),n=$(()=>e.app.ratingOverall??4),s=$(()=>{const p=(n.value*5).toFixed(1);return u("appstore","Community rating: {score}/5",{score:p})}),a=$(()=>Math.floor(n.value*5+.25)),r=$(()=>Math.min(Math.floor((1-n.value)*5+.25),5-a.value)),l=$(()=>a.value+r.value<5);return(p,i)=>t.value?(d(),x("span",{key:0,role:"img","aria-label":s.value,title:s.value,class:w(p.$style.badgeAppScore)},[(d(!0),x(M,null,Z(a.value,f=>(d(),R(o(C),{key:`full-star-${f}`,path:o(He),inline:""},null,8,["path"]))),128)),l.value?(d(),R(o(C),{key:0,path:o(Qa),inline:""},null,8,["path"])):z("",!0),(d(!0),x(M,null,Z(r.value,f=>(d(),R(o(C),{key:`empty-star-${f}`,path:o(xt),inline:""},null,8,["path"]))),128))],10,nl)):z("",!0)}}),ll="_badgeAppScore_1t97c_2",rl={badgeAppScore:ll},il={$style:rl},ol=q(sl,[["__cssModules",il]]),pl=new ft({concurrency:3}),Ut=ke("groups",()=>{const e=L(new Map);async function t(r){return await pl.add(()=>a(r))}async function n(r){const l=Ge("/cloud/groups/details");try{const{data:p}=await O.get(l,{params:{search:r.trim(),limit:10}});for(const i of p.ocs.data.groups)e.value.has(i.id)||e.value.set(i.id,{id:i.id,displayName:i.displayname,isNoUser:!0})}catch(p){H.error("Failed to search groups",{error:p})}}function s(r){return e.value.get(r)}return{groups:$(()=>Array.from(e.value.values())),searchGroups:n,getGroupById:s,fetchGroupById:t};async function a(r){return e.value.has(r)||await n(r),e.value.get(r)}});function Qt(e){const t=Ut(),n=L([]);return re(()=>fe(e).groups,async()=>{const s=fe(e).groups;if(s===void 0){n.value=[];return}const a=s.map(l=>t.fetchGroupById(l)),r=await Promise.all(a);n.value=r.filter(Boolean)},{immediate:!0}),dt(n)}const cl={class:"app-details"},ul=["aria-label"],dl=["id"],hl=["aria-labelledby"],gl=["title"],ml=["aria-label"],fl=["href"],bl=E({__name:"AppDetailsTab",props:{app:{}},setup(e){const t=j(),n=Yt(),s=$(()=>e.app.releases?.map(h=>h.lastModified).map(h=>Date.parse(h)).sort().at(-1)),a=$(()=>e.app?[e.app.author].flat().map(m).sort((h,b)=>h.split(" ").at(-1).localeCompare(b.split(" ").at(-1))).join(", "):""),r=$(()=>`https://apps.nextcloud.com/apps/${e.app.id}`),l=Qt(()=>e.app),p=$(()=>{const h=[];return e.app.internal||h.push({id:"appstore",href:r.value,label:u("appstore","View in store")}),e.app.website&&h.push({id:"website",href:e.app.website,label:u("appstore","Visit website")}),e.app.documentation&&(e.app.documentation.user&&h.push({id:"doc-user",href:e.app.documentation.user,label:u("appstore","Usage documentation")}),e.app.documentation.admin&&h.push({id:"doc-admin",href:e.app.documentation.admin,label:u("appstore","Admin documentation")}),e.app.documentation.developer&&h.push({id:"doc-developer",href:e.app.documentation.developer,label:u("appstore","Developer documentation")})),h}),i=$(()=>[e.app.category].flat().map(h=>t.getCategoryById(h)?.displayName??h).join(", ")),f=$(()=>e.app.active&&!Qe(e.app));function m(h){return h["@value"]?h["@value"]:h}return(h,b)=>(d(),R(o(Ce),{id:"details",name:o(u)("appstore","Details"),order:1},{icon:y(()=>[k(o(C),{path:o(Va)},null,8,["path"])]),default:y(()=>[_("div",cl,[_("div",{class:w(h.$style.appstoreDetailsTab__badges)},[k(Ht,{level:e.app.level},null,8,["level"]),e.app.app_api&&e.app.daemon?(d(),R(jt,{key:0,daemon:e.app.daemon},null,8,["daemon"])):z("",!0),k(ol,{app:e.app},null,8,["app"])],2),!e.app.isCompatible&&e.app.missingDependencies&&e.app.missingDependencies.length?(d(),R(o(at),{key:0,type:"error"},{default:y(()=>[N(v(o(u)("appstore","This app cannot be installed because the following dependencies are not fulfilled:"))+" ",1),_("ul",{"aria-label":o(u)("appstore","Missing dependencies"),class:w(h.$style.appstoreDetailsTab__missingDependencies)},[(d(!0),x(M,null,Z(e.app.missingDependencies,(A,S)=>(d(),x("li",{key:S},v(A),1))),128))],10,ul)]),_:1})):z("",!0),f.value?(d(),R(o(at),{key:1,type:"info"},{default:y(()=>[N(v(o(u)("appstore","This app cannot be limited to groups because it provides functionality that is executed before group membership is determined.")),1)]),_:1})):z("",!0),o(l).length?(d(),x("div",{key:2,class:w(h.$style.appstoreDetailsTab__section)},[_("h4",{id:o(n)},v(o(u)("appstore","Limited to groups")),9,dl),_("ul",{"aria-labelledby":o(n),class:w(h.$style.appstoreDetailsTab__sectionDetails)},[(d(!0),x(M,null,Z(o(l),A=>(d(),x("li",{key:A.id,title:A.id},v(A.displayName),9,gl))),128))],10,hl)],2)):z("",!0),s.value&&!e.app.shipped?(d(),x("div",{key:3,class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Latest updated")),1),k(o(ba),{class:w(h.$style.appstoreDetailsTab__sectionDetails),timestamp:s.value},null,8,["class","timestamp"])],2)):z("",!0),_("div",{class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Author")),1),_("p",{class:w(h.$style.appstoreDetailsTab__sectionDetails)},v(a.value),3)],2),_("div",{class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Categories")),1),_("p",{class:w(h.$style.appstoreDetailsTab__sectionDetails)},v(i.value),3)],2),p.value.length>0?(d(),x("div",{key:4,class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Resources")),1),_("ul",{class:w(h.$style.appstoreDetailsTab__resources),"aria-label":o(u)("appstore","Documentation resources")},[(d(!0),x(M,null,Z(p.value,A=>(d(),x("li",{key:A.id,class:w(h.$style.appstoreDetailsTab__resourcesItem)},[_("a",{class:w(h.$style.appstoreDetailsTab__resourcesLink),href:A.href,target:"_blank",rel:"noreferrer noopener"},v(A.label)+" ↗ ",11,fl)],2))),128))],10,ml)],2)):z("",!0)])]),_:1},8,["name"]))}}),kl="_appstoreDetailsTab__badges_4x76r_2",_l="_appstoreDetailsTab__section_4x76r_8",yl="_appstoreDetailsTab__sectionDetails_4x76r_18",wl="_appstoreDetailsTab__missingDependencies_4x76r_22",vl="_appstoreDetailsTab__resourcesLink_4x76r_28",xl="_appstoreDetailsTab__resourcesItem_4x76r_32",$l={appstoreDetailsTab__badges:kl,appstoreDetailsTab__section:_l,appstoreDetailsTab__sectionDetails:yl,appstoreDetailsTab__missingDependencies:wl,appstoreDetailsTab__resourcesLink:vl,appstoreDetailsTab__resourcesItem:xl},Tl={$style:$l},Al=q(bl,[["__cssModules",Tl]]),Sl=E({__name:"AppReleasesTab",props:{app:{}},setup(e){const t=e,n=$(()=>(t.app.releases??[]).filter(a=>{const r=Object.values(a.translations??{});return r.length>0&&r.some(({changelog:l})=>!!l)}));function s(a){return a.translations[sa()]?.changelog??a.translations.en?.changelog??""}return(a,r)=>n.value.length>0?(d(),R(o(Ce),{key:0,id:"changelog",name:o(u)("appstore","Changelog"),order:2},{icon:y(()=>[k(o(C),{path:o(Fa),size:24},null,8,["path"])]),default:y(()=>[(d(!0),x(M,null,Z(n.value,l=>(d(),x("div",{key:l.version,class:w(a.$style.appReleasesTab)},[_("h3",{class:w(a.$style.appReleasesTab__heading)},v(l.version),3),k(Zt,{class:w(a.$style.appReleasesTab__text),minHeadingLevel:3,text:s(l)},null,8,["class","text"])],2))),128))]),_:1},8,["name"])):z("",!0)}}),Rl="_appReleasesTab__heading_9xawz_2",Dl="_appReleasesTab__text_9xawz_7",zl={appReleasesTab__heading:Rl,appReleasesTab__text:Dl},Il={$style:zl},Cl=q(Sl,[["__cssModules",Il]]),Ll={id:"disable",icon:yt,order:10,enabled:St,label:()=>u("appstore","Disable"),async callback(e){await j().disableApp(e.id)}},Bl={id:"enable",icon:wt,order:1,variant:"primary",enabled(e){return!pe(e)&&Tt(e)},label:()=>u("appstore","Enable"),async callback(e){await j().enableApp(e.id)}},El={id:"force-enable",icon:Wa,order:3,inline:!1,variant:"warning",label:()=>u("appstore","Force enable"),enabled(e){return!pe(e)&&At(e)&&ve(e)},async callback(e){await j().enableApp(e.id,!0)}},Pl={id:"install",icon:je,order:5,enabled(e){return pe(e)&&!ve(e)},label:e=>e.app_api?u("appstore","Deploy and enable"):e.needsDownload?u("appstore","Download and enable"):u("appstore","Install and enable"),async callback(e){await j().enableApp(e.id)}},Nl={id:"install-forced",icon:je,order:5,inline:!1,enabled(e){return pe(e)&&ve(e)},label:e=>e.app_api?u("appstore","Deploy and force enable"):e.needsDownload?u("appstore","Download and force enable"):u("appstore","Install and force enable"),async callback(e){await j().enableApp(e.id,!0)}},ql=[{id:"rate",icon:xt,order:30,inline:!1,label:()=>u("appstore","Rate the app"),enabled(e){return!e.shipped},href(e){return`https://apps.nextcloud.com/apps/${encodeURIComponent(e.id)}#comments`}},{id:"report-bug",icon:Xa,order:32,inline:!1,label:()=>u("appstore","Report a bug"),enabled(e){return!!e.bugs},href(e){return e.bugs}},{id:"discussion",icon:Ya,order:35,inline:!1,label:()=>u("appstore","Ask questions or discuss the app"),enabled(e){return!!e.discussion},href(e){return e.discussion}},{id:"website",icon:Ka,order:38,inline:!1,label:()=>u("appstore","Visit the website"),enabled(e){return!!e.website},href(e){return e.website}}],Ml=Kt(()=>oe(()=>Promise.resolve().then(()=>br),void 0,import.meta.url)),Ol={id:"limit-to-group",icon:Ja,order:16,inline:!1,label:()=>u("appstore","Limit to groups"),enabled:Qe,async callback(e){await kt(Ml,{app:e})}},Gl={id:"remove",order:20,icon:en,variant:"error",inline:!1,enabled:$t,label:()=>u("appstore","Remove"),async callback(e){await j().uninstallApp(e.id)}},Zl={id:"update",icon:tn,variant:"primary",order:0,enabled(e){return yn(e)?e.app_api?e.daemon&&e.daemon?.accepts_deploy_id==="manual-install"?!0:xe().daemonAccessible:!0:!1},label:e=>u("appstore","Update to {version}",{version:e.update}),async callback(e){await zt().updateApp(e.id)}},jl=[Zl,Bl,Ll,El,Pl,Nl,Gl,Ol,...ql].sort((e,t)=>e.order-t.order);function Vt(e){return $(()=>fe(e)?jl.filter(t=>t.enabled(fe(e))):[])}function Hl(e){const t=L(null),n=$(()=>{let s;return e.value?.app_api?s=Se:s=[e.value?.category??[]].flat().map(a=>X[a]).filter(a=>!!a).at(0)??(e.value?.app_api?Se:an),s?``:null});return Jt(async()=>{if(!e.value?.icon)t.value=n.value;else{t.value=null;try{const s=await(await(await window.fetch(e.value.icon)).blob()).text();t.value=s.replaceAll(/fill="#(fff|ffffff)([a-z0-9]{1,2})?"/ig,'fill="currentColor"')}catch(s){t.value=n.value,H.error("Could not load app icon",{error:s})}}}),{appIcon:t}}const Ul=E({__name:"AppstoreSidebar",setup(e){const t=_e(),n=Oe(),s=j(),a=It(),r=$(()=>[t.params.id].flat()[0]),l=$(()=>s.getAppById(r.value)??null),{appIcon:p}=Hl(l),i=$(()=>l.value?l.value.license?u("appstore","Version {version}, {license}-licensed",{version:l.value.version,license:String(l.value.license).toUpperCase()}):u("appstore","Version {version}",{version:l.value.version}):""),f=L("details");re([l],()=>{f.value="details"});function m(){n.replace({name:t.name,params:{...t.params,id:void 0},query:a.getQuery()})}const h=L(!1),b=$(()=>l.value?.screenshot&&h.value);function A(){if(l.value?.releases&&l.value?.screenshot){const P=new Image;P.onload=()=>{h.value=!0},P.src=l.value.screenshot}}re([l],A),ea(A);const S=Vt(()=>l.value);return(P,Y)=>(d(),R(o(ha),{active:f.value,"onUpdate:active":Y[0]||(Y[0]=V=>f.value=V),class:w([P.$style.appstoreSidebar,{[P.$style.appstoreSidebar_withScreenshot]:b.value}]),background:b.value?l.value.screenshot:void 0,compact:!b.value,name:l.value?.name??r.value,title:l.value?.name??r.value,subname:i.value,subtitle:i.value,onClose:m},Me({default:y(()=>[l.value?(d(),x(M,{key:1},[k(Us,{app:l.value},null,8,["app"]),k(Cl,{app:l.value},null,8,["app"]),k(Al,{app:l.value},null,8,["app"]),l.value.app_api?(d(),R(Qn,{key:0,app:l.value},null,8,["app"])):z("",!0)],64)):(d(),R(o(Ze),{key:0,name:"No such app"}))]),_:2},[b.value?void 0:{name:"header",fn:y(()=>[k(o(C),{class:w(P.$style.appstoreSidebar__fallbackIcon),svg:o(p)??"",size:64},null,8,["class","svg"])]),key:"0"},l.value?{name:"description",fn:y(()=>[k(Ct,{app:l.value,actions:o(S),iconOnly:"",maxInlineActions:6},null,8,["app","actions"])]),key:"1"}:void 0]),1032,["active","class","background","compact","name","title","subname","subtitle"]))}}),Ql="_appstoreSidebar_withScreenshot_1224s_3",Vl="_appstoreSidebar__fallbackIcon_1224s_9",Fl={appstoreSidebar_withScreenshot:Ql,appstoreSidebar__fallbackIcon:Vl},Wl={$style:Fl},Xl=q(Ul,[["__cssModules",Wl]]),Yl=E({__name:"AppstoreApp",setup(e){const t=_e(),n=j(),s=$(()=>t.params.category?[t.params.category].flat()[0]:t.name==="apps-bundles"?"bundles":t.name==="apps-search"?"search":"discover"),a=$(()=>s.value in W?W[s.value]:n.getCategoryById(s.value)?.displayName??s.value),r=$(()=>`${a.value} - ${u("appstore","App store")}`),l=$(()=>!!t.params.id);return(p,i)=>{const f=ta("router-view");return d(),R(o(oa),{appName:"appstore"},{default:y(()=>[k(Nn),k(o(ia),{class:w(p.$style.appstoreApp__content),pageHeading:o(u)("appstore","App store"),pageTitle:r.value},{default:y(()=>[a.value?(d(),x("h2",{key:0,class:w(p.$style.appstoreApp__heading)},v(a.value),3)):z("",!0),k(f)]),_:1},8,["class","pageHeading","pageTitle"]),l.value?(d(),R(Xl,{key:0})):z("",!0)]),_:1})}}}),Kl="_appstoreApp__content_1pi7x_2",Jl="_appstoreApp__heading_1pi7x_7",er={appstoreApp__content:Kl,appstoreApp__heading:Jl},tr={$style:er},ar=q(Yl,[["__cssModules",tr]]),nr=ee("appstore","appstoreEnabled",!0),sr=()=>oe(()=>import("./AppstoreDiscover-DJks4Aya.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73]),import.meta.url),lr=()=>oe(()=>import("./UpdateAllDialog-wohJJdWD.chunk.mjs").then(e=>e.c),__vite__mapDeps([74,1,2,3,4,5,6,7,8,9,10,25,13,14,26,27,23,24,28,15,16,29,30,31,32,33,12,17,34,20,21,35,36,37,38,39,40,41,42,18,19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,11,75,72,73]),import.meta.url),rr=()=>oe(()=>Promise.resolve().then(()=>ii),void 0,import.meta.url),ir=()=>oe(()=>import("./AppstoreBrowse-C-eSGUK5.chunk.mjs"),__vite__mapDeps([76,6,7,4,1,2,5,8,9,18,19,15,16,74,3,10,25,13,14,26,27,23,24,28,29,30,31,32,33,12,17,34,20,21,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,11,75,72,73,22,69,70,77]),import.meta.url),or=()=>oe(()=>import("./UpdateAllDialog-wohJJdWD.chunk.mjs").then(e=>e.d),__vite__mapDeps([74,1,2,3,4,5,6,7,8,9,10,25,13,14,26,27,23,24,28,15,16,29,30,31,32,33,12,17,34,20,21,35,36,37,38,39,40,41,42,18,19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,11,75,72,73]),import.meta.url),pr=[{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:nr?{name:"apps-discover"}:{name:"apps-manage",params:{category:"installed"}},children:[{path:"discover/:id?",name:"apps-discover",component:sr},{path:"bundles/:id?",name:"apps-bundles",component:rr},{path:":category(installed|enabled|disabled|updates)/:id?",name:"apps-manage",component:lr},{path:":category/:id?",name:"apps-category",component:ir},{path:"search/:id?",name:"apps-search",component:or}]}],cr=la({history:ra(J("")),linkActiveClass:"active",routes:pr}),ur=Ft(),Ae=aa(ar);Ae.config.idPrefix="appstore",Ae.use(ur),Ae.use(cr),Ae.mount("#content");const dr=E({__name:"LimitToGroupDialog",props:{app:{}},emits:["close"],setup(e,{emit:t}){const n=t,s=j(),a=Ut(),r=L(!1),l=L([]);re(()=>e.app,()=>{l.value=(e.app.groups??[]).map(h=>{const b=a.getGroupById(h);return b||a.searchGroups(h),b??{id:h,displayName:h,isNoUser:!0}})},{immediate:!0});const p=$(()=>a.groups.filter(h=>!l.value.includes(h))),i=wa(a.searchGroups,400);async function f(){try{r.value=!0,await s.limitAppToGroups(e.app.id,l.value.map(h=>h.id)),n("close")}finally{r.value=!1}}async function m(){try{r.value=!0,await s.limitAppToGroups(e.app.id,[]),n("close")}finally{r.value=!1}}return(h,b)=>(d(),R(o(bt),{isForm:"",name:o(u)("appstore","Limit to groups"),onSubmit:f,onReset:m},{actions:y(()=>[k(o(ie),{disabled:r.value,type:"reset"},{default:y(()=>[N(v(o(u)("appstore","Reset limitation")),1)]),_:1},8,["disabled"]),k(o(ie),{disabled:r.value,type:"submit",variant:"primary"},Me({default:y(()=>[N(" "+v(o(u)("appstore","Save")),1)]),_:2},[r.value?{name:"icon",fn:y(()=>[k(o(Ie))]),key:"0"}:void 0]),1032,["disabled"])]),default:y(()=>[_("p",null,v(o(u)("appstore","Restrict the usage of {app} to members of the following groups.",{app:e.app.name})),1),k(o(ga),{modelValue:l.value,"onUpdate:modelValue":b[0]||(b[0]=A=>l.value=A),class:w(h.$style.limitToGroupDialog__input),keepOpen:"",labelOutside:"",multiple:"",options:p.value,onSearch:o(i)},null,8,["modelValue","class","options","onSearch"])]),_:1},8,["name"]))}}),hr="_limitToGroupDialog__input_sofp5_2",gr={limitToGroupDialog__input:hr},mr={$style:gr},fr=q(dr,[["__cssModules",mr]]),br=Object.freeze(Object.defineProperty({__proto__:null,default:fr},Symbol.toStringTag,{value:"Module"})),kr=["src","height","width"],_r=E({__name:"AppIcon",props:{app:{},noFallback:{type:Boolean},size:{default:20}},setup(e){const t=$(()=>e.app.icon?.endsWith(".svg")),n=L("");return re(()=>e.app.icon,async()=>{if(n.value="",e.app.icon?.endsWith(".svg")){const s=await fetch(e.app.icon);s.ok&&(n.value=await s.text(),n.value=n.value.replaceAll(/(?<=[";])fill:\s?(#fff(fff)?|white)(;|(?="))/gi,"").replaceAll(/(?<=\s)fill="[^"]+"/gi,"").replaceAll(/(?<=\s)color="[^"]+"/gi,""))}},{immediate:!0}),(s,a)=>(d(),x("span",{class:w(s.$style.appIcon)},[n.value?(d(),R(o(C),{key:0,size:e.size,svg:n.value},null,8,["size","svg"])):e.app.icon&&!t.value?(d(),x("img",{key:1,class:w(s.$style.appIcon__image),alt:"",src:e.app.icon,height:e.size,width:e.size},null,10,kr)):e.noFallback?z("",!0):(d(),R(o(C),{key:2,path:o(Se),size:e.size},null,8,["path","size"]))],2))}}),yr="_appIcon_mcsmb_2",wr="_appIcon__image_mcsmb_7",vr={appIcon:yr,appIcon__image:wr},xr={$style:vr},$r=q(_r,[["__cssModules",xr]]),Tr={key:0,class:"hidden-visually"},Ar={class:"hidden-visually"},Sr={key:0},Rr={key:1},Dr=["title"],zr={key:0,"aria-hidden":"true"},Ir=E({__name:"AppTableRow",props:{app:{},isNarrow:{type:Boolean},isWide:{type:Boolean}},setup(e){const t=_e(),n=$(()=>({...t,params:{...t.params,id:e.app.id},query:{...t.query}})),s=$(()=>({id:"details",order:99,enabled:()=>!0,label:()=>u("appstore","Show details"),icon:nn,to:()=>n.value,inline:!1})),a=Qt(()=>e.app),r=Vt(()=>e.app),l=$(()=>[...r.value,s.value]);return(p,i)=>(d(),x("tr",{class:w(p.$style.appTableRow)},[_("td",{class:w(p.$style.appTableRow__nameCell)},[k(o(ie),{alignment:"start",title:o(u)("appstore","Show details"),to:n.value,variant:"tertiary-no-background",wide:""},{icon:y(()=>[e.app.loading?(d(),R(o(Ie),{key:0,size:24})):(d(),R($r,{key:1,app:e.app,size:24},null,8,["app"]))]),default:y(()=>[N(" "+v(e.app.name)+" ",1),e.app.loading?(d(),x("span",Tr,"("+v(o(u)("appstore","is loading…"))+")",1)):z("",!0),_("span",Ar,"("+v(o(u)("appstore","Show details"))+")",1)]),_:1},8,["title","to"])],2),_("td",null,[_("span",{class:w(p.$style.appTableRow__versionCell)},v(e.app.version),3)]),e.isNarrow?z("",!0):(d(),x("td",Sr,[_("div",{class:w(p.$style.appTableRow__levelCell)},[e.app.level?(d(),R(Ht,{key:0,level:e.app.level},null,8,["level"])):z("",!0),"daemon"in e.app&&e.app.daemon?(d(),R(jt,{key:1,daemon:e.app.daemon},null,8,["daemon"])):z("",!0)],2)])),e.isWide?(d(),x("td",Rr,[o(a).length>0?(d(),x("ul",{key:0,class:w(p.$style.appTableRow__groupsCell),title:o(a).map(f=>f.displayName).join(", ")},[(d(!0),x(M,null,Z(o(a),(f,m)=>(d(),x(M,{key:f.id},[m===3?(d(),x("li",zr," … ")):z("",!0),_("li",{class:w({"hidden-visually":m>2})},[k(o(xa),{text:f.displayName,noClose:""},null,8,["text"])],2)],64))),128))],10,Dr)):z("",!0)])):z("",!0),_("td",null,[_("div",{class:w(p.$style.appTableRow__actionsCell)},[k(Ct,{class:w(p.$style.appTableRow__actionsCellActions),app:e.app,actions:l.value,iconOnly:e.isNarrow},null,8,["class","app","actions","iconOnly"])],2)])],2))}}),Cr="_appTableRow_yekky_2",Lr="_appTableRow__nameCell_yekky_11",Br="_appTableRow__levelCell_yekky_16",Er="_appTableRow__versionCell_yekky_22",Pr="_appTableRow__groupsCell_yekky_26",Nr="_appTableRow__actionsCell_yekky_31",qr="_appTableRow__actionsCellActions_yekky_37",Mr={appTableRow:Cr,appTableRow__nameCell:Lr,appTableRow__levelCell:Br,appTableRow__versionCell:Er,appTableRow__groupsCell:Pr,appTableRow__actionsCell:Nr,appTableRow__actionsCellActions:qr},Or={$style:Mr},Gr=q(Ir,[["__cssModules",Or]]),Zr={hidden:""},jr={key:0},Hr={key:1},Ur=E({__name:"AppTable",props:{apps:{}},setup(e){const t=ht("table"),{width:n}=va(t),s=$(()=>n.value<768),a=$(()=>n.value>=1280);return(r,l)=>(d(),x("table",{ref:"table",class:w([r.$style.appTable,{[r.$style.appTable_narrow]:s.value,[r.$style.appTable_wide]:a.value}])},[_("colgroup",null,[_("col",{class:w(r.$style.appTable__colName)},null,2),_("col",{class:w(r.$style.appTable__colVersion)},null,2),s.value?z("",!0):(d(),x("col",{key:0,class:w(r.$style.appTable__colSupport)},null,2)),a.value?(d(),x("col",{key:1,class:w(r.$style.appTable__colGroups)},null,2)):z("",!0),_("col",{class:w(r.$style.appTable__colActions)},null,2)]),_("thead",Zr,[_("tr",null,[_("th",null,v(o(u)("appstore","App name")),1),_("th",null,v(o(u)("appstore","Version")),1),s.value?z("",!0):(d(),x("th",jr,v(o(u)("appstore","Support level")),1)),a.value?(d(),x("th",Hr,v(o(u)("appstore","Groups")),1)):z("",!0),_("th",null,v(o(u)("appstore","Actions")),1)])]),_("tbody",null,[(d(!0),x(M,null,Z(e.apps,p=>(d(),R(Gr,{key:p.id,app:p,isNarrow:s.value,isWide:a.value},null,8,["app","isNarrow","isWide"]))),128))])],2))}}),Qr="_appTable_ss46x_2",Vr="_appTable__colName_ss46x_7",Fr="_appTable_narrow_ss46x_11",Wr="_appTable_wide_ss46x_15",Xr="_appTable__colSupport_ss46x_19",Yr="_appTable__colActions_ss46x_27",Kr={appTable:Qr,appTable__colName:Vr,appTable_narrow:Fr,appTable_wide:Wr,appTable__colSupport:Xr,appTable__colActions:Yr},Jr={$style:Kr},ei=q(Ur,[["__cssModules",Jr]]),ti=E({__name:"AppstoreBundles",setup(e){const t=j(),n=$(()=>t.bundles.map(l=>({...l,apps:l.appIdentifiers.map(p=>t.apps.find(i=>i.id===p)).filter(Boolean),isEnabling:!1})));function s(l){return l.appIdentifiers.every(p=>{const i=t.apps.find(f=>f.id===p);return i&&(i.active||Tt(i))})}function a(l){return l.appIdentifiers.every(p=>{const i=t.apps.find(f=>f.id===p);return i&&i.active})}async function r(l){l.isEnabling=!0,await t.enableBundle(l.id),l.isEnabling=!1}return(l,p)=>o(t).isLoadingApps?(d(),R(o(Ze),{key:0,name:o(u)("appstore","Loading app list")},{icon:y(()=>[k(o(Ie),{size:64})]),_:1},8,["name"])):(d(!0),x(M,{key:1},Z(n.value,i=>(d(),x("section",{key:i.id},[_("div",{class:w(l.$style.appstoreBundles__header)},[_("h3",null,v(i.name),1),a(i)?z("",!0):(d(),R(o(ie),{key:0,disabled:!s(i),variant:"primary",onClick:f=>r(i)},{icon:y(()=>[k(o(C),{path:o(sn)},null,8,["path"])]),default:y(()=>[N(" "+v(o(u)("appstore","Download and enable all")),1)]),_:1},8,["disabled","onClick"]))],2),k(ei,{class:w(l.$style.appstoreBundles__appTable),apps:i.apps},null,8,["class","apps"])]))),128))}}),ai="_appstoreBundles__header_oplvy_2",ni="_appstoreBundles__appTable_oplvy_11",si={appstoreBundles__header:ai,appstoreBundles__appTable:ni},li={$style:si},ri=q(ti,[["__cssModules",li]]),ii=Object.freeze(Object.defineProperty({__proto__:null,default:ri},Symbol.toStringTag,{value:"Module"}));export{Ki as A,ol as B,Zt as M,St as a,It as b,pe as c,ei as d,Ht as e,jt as f,zt as g,H as l,ve as n,j as u}; +Please report this to https://github.com/markedjs/marked.`,e){let s="

An error occurred:

"+F(n.message+"",!0)+"
";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}},ae=new Ls;function I(e,t){return ae.parse(e,t)}I.options=I.setOptions=function(e){return ae.setOptions(e),I.defaults=ae.defaults,lt(I.defaults),I},I.getDefaults=Ve,I.defaults=le,I.use=function(...e){return ae.use(...e),I.defaults=ae.defaults,lt(I.defaults),I},I.walkTokens=function(e,t){return ae.walkTokens(e,t)},I.parseInline=ae.parseInline,I.Parser=Q,I.parser=Q.parse,I.Renderer=ze,I.TextRenderer=tt,I.Lexer=U,I.lexer=U.lex,I.Tokenizer=De,I.Hooks=me,I.parse=I,I.options,I.setOptions,I.use,I.walkTokens,I.parseInline,Q.parse,U.lex;function Bs(e,t){const n=new I.Renderer;return n.blockquote=Ns,n.link=Es,n.image=Ps,$(()=>{const s=t?.minHeadingLevel??1;n.heading=qs(s);const a=fe(e).trim();return na.sanitize(I(a,{async:!1,renderer:n,gfm:!1,breaks:!1,pedantic:!1}),{ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","strong","p","a","ul","ol","li","em","del","blockquote"]})})}function Es({href:e,title:t,text:n}){let s;try{s=new URL(e)}catch{return""}if(s.protocol!=="http:"&&s.protocol!=="https:")return"";let a='
",a}function Ps({title:e,text:t}){return t||(e??"")}function Ns({text:e}){return`
${e}
`}function qs(e){return({text:t,depth:n})=>(n=Math.min(6,n+(e-1)),`${t}`)}const Ms=["innerHTML"],Os=E({__name:"MarkdownPreview",props:{text:{},minHeadingLevel:{default:1}},setup(e){const t=Bs(()=>e.text,{minHeadingLevel:e.minHeadingLevel});return(n,s)=>(d(),x("div",{class:"settings-markdown",innerHTML:o(t)},null,8,Ms))}}),Zt=q(Os,[["__scopeId","data-v-cf1f9874"]]),Gs=E({__name:"AppDescriptionTab",props:{app:{}},setup(e){return(t,n)=>(d(),R(o(Ce),{id:"desc",name:o(u)("appstore","Description"),order:0},{icon:y(()=>[k(o(C),{path:o(Ua)},null,8,["path"])]),default:y(()=>[_("div",{class:w(t.$style.appDescriptionTab)},[k(Zt,{text:e.app.description,minHeadingLevel:3},null,8,["text"])],2)]),_:1},8,["name"]))}}),Zs="_appDescriptionTab_118mz_2",js={appDescriptionTab:Zs},Hs={$style:js},Us=q(Gs,[["__cssModules",Hs]]),Qs=["title"],Vs=E({__name:"BadgeAppDaemon",props:{daemon:{}},setup(e){return(t,n)=>e.daemon?(d(),x("span",{key:0,class:w(t.$style.appDaemonBadge),title:e.daemon.name},[k(o(C),{path:o(vt),size:20,inline:""},null,8,["path"]),N(" "+v(e.daemon.display_name),1)],10,Qs)):z("",!0)}}),Fs="_appDaemonBadge_1n34s_2",Ws={appDaemonBadge:Fs},Xs={$style:Ws},jt=q(Vs,[["__cssModules",Xs]]),Ys=["title"],Ks=E({__name:"BadgeAppLevel",props:{level:{}},setup(e){const t=e,n=$(()=>t.level===300),s=$(()=>t.level===200),a=$(()=>n.value?_t:He),r=$(()=>n.value?u("appstore","Supported"):u("appstore","Featured")),l=$(()=>n.value?u("appstore","This app is supported via your current Nextcloud subscription."):u("appstore","Featured apps are developed by and within the community. They offer central functionality and are ready for production use."));return(p,i)=>n.value||s.value?(d(),x("span",{key:0,class:w([p.$style.appLevelBadge,{[p.$style.appLevelBadge__supported]:n.value}]),title:l.value},[k(o(C),{path:a.value,size:20,inline:""},null,8,["path"]),N(" "+v(r.value),1)],10,Ys)):z("",!0)}}),Js="_appLevelBadge_q2et3_2",el="_appLevelBadge__supported_q2et3_15",tl={appLevelBadge:Js,appLevelBadge__supported:el},al={$style:tl},Ht=q(Ks,[["__cssModules",al]]),nl=["aria-label","title"],sl=E({__name:"BadgeAppScore",props:{app:{}},setup(e){const t=$(()=>!e.app.shipped&&e.app.ratingNumOverall&&e.app.ratingNumOverall>5),n=$(()=>e.app.ratingOverall??4),s=$(()=>{const p=(n.value*5).toFixed(1);return u("appstore","Community rating: {score}/5",{score:p})}),a=$(()=>Math.floor(n.value*5+.25)),r=$(()=>Math.min(Math.floor((1-n.value)*5+.25),5-a.value)),l=$(()=>a.value+r.value<5);return(p,i)=>t.value?(d(),x("span",{key:0,role:"img","aria-label":s.value,title:s.value,class:w(p.$style.badgeAppScore)},[(d(!0),x(M,null,Z(a.value,f=>(d(),R(o(C),{key:`full-star-${f}`,path:o(He),inline:""},null,8,["path"]))),128)),l.value?(d(),R(o(C),{key:0,path:o(Qa),inline:""},null,8,["path"])):z("",!0),(d(!0),x(M,null,Z(r.value,f=>(d(),R(o(C),{key:`empty-star-${f}`,path:o(xt),inline:""},null,8,["path"]))),128))],10,nl)):z("",!0)}}),ll="_badgeAppScore_1t97c_2",rl={badgeAppScore:ll},il={$style:rl},ol=q(sl,[["__cssModules",il]]),pl=new ft({concurrency:3}),Ut=ke("groups",()=>{const e=L(new Map);async function t(r){return await pl.add(()=>a(r))}async function n(r){const l=Ge("/cloud/groups/details");try{const{data:p}=await O.get(l,{params:{search:r.trim(),limit:10}});for(const i of p.ocs.data.groups)e.value.has(i.id)||e.value.set(i.id,{id:i.id,displayName:i.displayname,isNoUser:!0})}catch(p){H.error("Failed to search groups",{error:p})}}function s(r){return e.value.get(r)}return{groups:$(()=>Array.from(e.value.values())),searchGroups:n,getGroupById:s,fetchGroupById:t};async function a(r){return e.value.has(r)||await n(r),e.value.get(r)}});function Qt(e){const t=Ut(),n=L([]);return re(()=>fe(e).groups,async()=>{const s=fe(e).groups;if(s===void 0){n.value=[];return}const a=s.map(l=>t.fetchGroupById(l)),r=await Promise.all(a);n.value=r.filter(Boolean)},{immediate:!0}),dt(n)}const cl={class:"app-details"},ul=["aria-label"],dl=["id"],hl=["aria-labelledby"],gl=["title"],ml=["aria-label"],fl=["href"],bl=E({__name:"AppDetailsTab",props:{app:{}},setup(e){const t=j(),n=Yt(),s=$(()=>e.app.releases?.map(h=>h.lastModified).map(h=>Date.parse(h)).sort().at(-1)),a=$(()=>e.app?[e.app.author].flat().map(m).sort((h,b)=>h.split(" ").at(-1).localeCompare(b.split(" ").at(-1))).join(", "):""),r=$(()=>`https://apps.nextcloud.com/apps/${e.app.id}`),l=Qt(()=>e.app),p=$(()=>{const h=[];return e.app.internal||h.push({id:"appstore",href:r.value,label:u("appstore","View in store")}),e.app.website&&h.push({id:"website",href:e.app.website,label:u("appstore","Visit website")}),e.app.documentation&&(e.app.documentation.user&&h.push({id:"doc-user",href:e.app.documentation.user,label:u("appstore","Usage documentation")}),e.app.documentation.admin&&h.push({id:"doc-admin",href:e.app.documentation.admin,label:u("appstore","Admin documentation")}),e.app.documentation.developer&&h.push({id:"doc-developer",href:e.app.documentation.developer,label:u("appstore","Developer documentation")})),h}),i=$(()=>[e.app.category].flat().map(h=>t.getCategoryById(h)?.displayName??h).join(", ")),f=$(()=>e.app.active&&!Qe(e.app));function m(h){return h["@value"]?h["@value"]:h}return(h,b)=>(d(),R(o(Ce),{id:"details",name:o(u)("appstore","Details"),order:1},{icon:y(()=>[k(o(C),{path:o(Va)},null,8,["path"])]),default:y(()=>[_("div",cl,[_("div",{class:w(h.$style.appstoreDetailsTab__badges)},[k(Ht,{level:e.app.level},null,8,["level"]),e.app.app_api&&e.app.daemon?(d(),R(jt,{key:0,daemon:e.app.daemon},null,8,["daemon"])):z("",!0),k(ol,{app:e.app},null,8,["app"])],2),!e.app.isCompatible&&e.app.missingDependencies&&e.app.missingDependencies.length?(d(),R(o(at),{key:0,type:"error"},{default:y(()=>[N(v(o(u)("appstore","This app cannot be installed because the following dependencies are not fulfilled:"))+" ",1),_("ul",{"aria-label":o(u)("appstore","Missing dependencies"),class:w(h.$style.appstoreDetailsTab__missingDependencies)},[(d(!0),x(M,null,Z(e.app.missingDependencies,(A,S)=>(d(),x("li",{key:S},v(A),1))),128))],10,ul)]),_:1})):z("",!0),f.value?(d(),R(o(at),{key:1,type:"info"},{default:y(()=>[N(v(o(u)("appstore","This app cannot be limited to groups because it provides functionality that is executed before group membership is determined.")),1)]),_:1})):z("",!0),o(l).length?(d(),x("div",{key:2,class:w(h.$style.appstoreDetailsTab__section)},[_("h4",{id:o(n)},v(o(u)("appstore","Limited to groups")),9,dl),_("ul",{"aria-labelledby":o(n),class:w(h.$style.appstoreDetailsTab__sectionDetails)},[(d(!0),x(M,null,Z(o(l),A=>(d(),x("li",{key:A.id,title:A.id},v(A.displayName),9,gl))),128))],10,hl)],2)):z("",!0),s.value&&!e.app.shipped?(d(),x("div",{key:3,class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Latest updated")),1),k(o(ba),{class:w(h.$style.appstoreDetailsTab__sectionDetails),timestamp:s.value},null,8,["class","timestamp"])],2)):z("",!0),_("div",{class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Author")),1),_("p",{class:w(h.$style.appstoreDetailsTab__sectionDetails)},v(a.value),3)],2),_("div",{class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Categories")),1),_("p",{class:w(h.$style.appstoreDetailsTab__sectionDetails)},v(i.value),3)],2),p.value.length>0?(d(),x("div",{key:4,class:w(h.$style.appstoreDetailsTab__section)},[_("h4",null,v(o(u)("appstore","Resources")),1),_("ul",{class:w(h.$style.appstoreDetailsTab__resources),"aria-label":o(u)("appstore","Documentation resources")},[(d(!0),x(M,null,Z(p.value,A=>(d(),x("li",{key:A.id,class:w(h.$style.appstoreDetailsTab__resourcesItem)},[_("a",{class:w(h.$style.appstoreDetailsTab__resourcesLink),href:A.href,target:"_blank",rel:"noreferrer noopener"},v(A.label)+" ↗ ",11,fl)],2))),128))],10,ml)],2)):z("",!0)])]),_:1},8,["name"]))}}),kl="_appstoreDetailsTab__badges_4x76r_2",_l="_appstoreDetailsTab__section_4x76r_8",yl="_appstoreDetailsTab__sectionDetails_4x76r_18",wl="_appstoreDetailsTab__missingDependencies_4x76r_22",vl="_appstoreDetailsTab__resourcesLink_4x76r_28",xl="_appstoreDetailsTab__resourcesItem_4x76r_32",$l={appstoreDetailsTab__badges:kl,appstoreDetailsTab__section:_l,appstoreDetailsTab__sectionDetails:yl,appstoreDetailsTab__missingDependencies:wl,appstoreDetailsTab__resourcesLink:vl,appstoreDetailsTab__resourcesItem:xl},Tl={$style:$l},Al=q(bl,[["__cssModules",Tl]]),Sl=E({__name:"AppReleasesTab",props:{app:{}},setup(e){const t=e,n=$(()=>(t.app.releases??[]).filter(a=>{const r=Object.values(a.translations??{});return r.length>0&&r.some(({changelog:l})=>!!l)}));function s(a){return a.translations[sa()]?.changelog??a.translations.en?.changelog??""}return(a,r)=>n.value.length>0?(d(),R(o(Ce),{key:0,id:"changelog",name:o(u)("appstore","Changelog"),order:2},{icon:y(()=>[k(o(C),{path:o(Fa),size:24},null,8,["path"])]),default:y(()=>[(d(!0),x(M,null,Z(n.value,l=>(d(),x("div",{key:l.version,class:w(a.$style.appReleasesTab)},[_("h3",{class:w(a.$style.appReleasesTab__heading)},v(l.version),3),k(Zt,{class:w(a.$style.appReleasesTab__text),minHeadingLevel:3,text:s(l)},null,8,["class","text"])],2))),128))]),_:1},8,["name"])):z("",!0)}}),Rl="_appReleasesTab__heading_9xawz_2",Dl="_appReleasesTab__text_9xawz_7",zl={appReleasesTab__heading:Rl,appReleasesTab__text:Dl},Il={$style:zl},Cl=q(Sl,[["__cssModules",Il]]),Ll={id:"disable",icon:yt,order:10,enabled:St,label:()=>u("appstore","Disable"),async callback(e){await j().disableApp(e.id)}},Bl={id:"enable",icon:wt,order:1,variant:"primary",enabled(e){return!pe(e)&&Tt(e)},label:()=>u("appstore","Enable"),async callback(e){await j().enableApp(e.id)}},El={id:"force-enable",icon:Wa,order:3,inline:!1,variant:"warning",label:()=>u("appstore","Force enable"),enabled(e){return!pe(e)&&At(e)&&ve(e)},async callback(e){await j().enableApp(e.id,!0)}},Pl={id:"install",icon:je,order:5,enabled(e){return pe(e)&&!ve(e)},label:e=>e.app_api?u("appstore","Deploy and enable"):e.needsDownload?u("appstore","Download and enable"):u("appstore","Install and enable"),async callback(e){await j().enableApp(e.id)}},Nl={id:"install-forced",icon:je,order:5,inline:!1,enabled(e){return pe(e)&&ve(e)},label:e=>e.app_api?u("appstore","Deploy and force enable"):e.needsDownload?u("appstore","Download and force enable"):u("appstore","Install and force enable"),async callback(e){await j().enableApp(e.id,!0)}},ql=[{id:"rate",icon:xt,order:30,inline:!1,label:()=>u("appstore","Rate the app"),enabled(e){return!e.shipped},href(e){return`https://apps.nextcloud.com/apps/${encodeURIComponent(e.id)}#comments`}},{id:"report-bug",icon:Xa,order:32,inline:!1,label:()=>u("appstore","Report a bug"),enabled(e){return!!e.bugs},href(e){return e.bugs}},{id:"discussion",icon:Ya,order:35,inline:!1,label:()=>u("appstore","Ask questions or discuss the app"),enabled(e){return!!e.discussion},href(e){return e.discussion}},{id:"website",icon:Ka,order:38,inline:!1,label:()=>u("appstore","Visit the website"),enabled(e){return!!e.website},href(e){return e.website}}],Ml=Kt(()=>oe(()=>Promise.resolve().then(()=>br),void 0,import.meta.url)),Ol={id:"limit-to-group",icon:Ja,order:16,inline:!1,label:()=>u("appstore","Limit to groups"),enabled:Qe,async callback(e){await kt(Ml,{app:e})}},Gl={id:"remove",order:20,icon:en,variant:"error",inline:!1,enabled:$t,label:()=>u("appstore","Remove"),async callback(e){await j().uninstallApp(e.id)}},Zl={id:"update",icon:tn,variant:"primary",order:0,enabled(e){return yn(e)?e.app_api?e.daemon&&e.daemon?.accepts_deploy_id==="manual-install"?!0:xe().daemonAccessible:!0:!1},label:e=>u("appstore","Update to {version}",{version:e.update}),async callback(e){await zt().updateApp(e.id)}},jl=[Zl,Bl,Ll,El,Pl,Nl,Gl,Ol,...ql].sort((e,t)=>e.order-t.order);function Vt(e){return $(()=>fe(e)?jl.filter(t=>t.enabled(fe(e))):[])}function Hl(e){const t=L(null),n=$(()=>{let s;return e.value?.app_api?s=Se:s=[e.value?.category??[]].flat().map(a=>X[a]).filter(a=>!!a).at(0)??(e.value?.app_api?Se:an),s?``:null});return Jt(async()=>{if(!e.value?.icon)t.value=n.value;else{t.value=null;try{const s=await(await(await window.fetch(e.value.icon)).blob()).text();t.value=s.replaceAll(/fill="#(fff|ffffff)([a-z0-9]{1,2})?"/ig,'fill="currentColor"')}catch(s){t.value=n.value,H.error("Could not load app icon",{error:s})}}}),{appIcon:t}}const Ul=E({__name:"AppstoreSidebar",setup(e){const t=_e(),n=Oe(),s=j(),a=It(),r=$(()=>[t.params.id].flat()[0]),l=$(()=>s.getAppById(r.value)??null),{appIcon:p}=Hl(l),i=$(()=>l.value?l.value.license?u("appstore","Version {version}, {license}-licensed",{version:l.value.version,license:String(l.value.license).toUpperCase()}):u("appstore","Version {version}",{version:l.value.version}):""),f=L("details");re([l],()=>{f.value="details"});function m(){n.replace({name:t.name,params:{...t.params,id:void 0},query:a.getQuery()})}const h=L(!1),b=$(()=>l.value?.screenshot&&h.value);function A(){if(l.value?.releases&&l.value?.screenshot){const P=new Image;P.onload=()=>{h.value=!0},P.src=l.value.screenshot}}re([l],A),ea(A);const S=Vt(()=>l.value);return(P,Y)=>(d(),R(o(ha),{active:f.value,"onUpdate:active":Y[0]||(Y[0]=V=>f.value=V),class:w([P.$style.appstoreSidebar,{[P.$style.appstoreSidebar_withScreenshot]:b.value}]),background:b.value?l.value.screenshot:void 0,compact:!b.value,name:l.value?.name??r.value,title:l.value?.name??r.value,subname:i.value,subtitle:i.value,onClose:m},Me({default:y(()=>[l.value?(d(),x(M,{key:1},[k(Us,{app:l.value},null,8,["app"]),k(Cl,{app:l.value},null,8,["app"]),k(Al,{app:l.value},null,8,["app"]),l.value.app_api?(d(),R(Qn,{key:0,app:l.value},null,8,["app"])):z("",!0)],64)):(d(),R(o(Ze),{key:0,name:"No such app"}))]),_:2},[b.value?void 0:{name:"header",fn:y(()=>[k(o(C),{class:w(P.$style.appstoreSidebar__fallbackIcon),svg:o(p)??"",size:64},null,8,["class","svg"])]),key:"0"},l.value?{name:"description",fn:y(()=>[k(Ct,{app:l.value,actions:o(S),iconOnly:"",maxInlineActions:6},null,8,["app","actions"])]),key:"1"}:void 0]),1032,["active","class","background","compact","name","title","subname","subtitle"]))}}),Ql="_appstoreSidebar_withScreenshot_1224s_3",Vl="_appstoreSidebar__fallbackIcon_1224s_9",Fl={appstoreSidebar_withScreenshot:Ql,appstoreSidebar__fallbackIcon:Vl},Wl={$style:Fl},Xl=q(Ul,[["__cssModules",Wl]]),Yl=E({__name:"AppstoreApp",setup(e){const t=_e(),n=j(),s=$(()=>t.params.category?[t.params.category].flat()[0]:t.name==="apps-bundles"?"bundles":t.name==="apps-search"?"search":"discover"),a=$(()=>s.value in W?W[s.value]:n.getCategoryById(s.value)?.displayName??s.value),r=$(()=>`${a.value} - ${u("appstore","App store")}`),l=$(()=>!!t.params.id);return(p,i)=>{const f=ta("router-view");return d(),R(o(oa),{appName:"appstore"},{default:y(()=>[k(Nn),k(o(ia),{class:w(p.$style.appstoreApp__content),pageHeading:o(u)("appstore","App store"),pageTitle:r.value},{default:y(()=>[a.value?(d(),x("h2",{key:0,class:w(p.$style.appstoreApp__heading)},v(a.value),3)):z("",!0),k(f)]),_:1},8,["class","pageHeading","pageTitle"]),l.value?(d(),R(Xl,{key:0})):z("",!0)]),_:1})}}}),Kl="_appstoreApp__content_1pi7x_2",Jl="_appstoreApp__heading_1pi7x_7",er={appstoreApp__content:Kl,appstoreApp__heading:Jl},tr={$style:er},ar=q(Yl,[["__cssModules",tr]]),nr=ee("appstore","appstoreEnabled",!0),sr=()=>oe(()=>import("./AppstoreDiscover-Dx4n5UIV.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73]),import.meta.url),lr=()=>oe(()=>import("./UpdateAllDialog-Cv_g-se6.chunk.mjs").then(e=>e.c),__vite__mapDeps([74,1,2,3,4,5,6,7,8,9,10,25,13,14,26,27,23,24,28,15,16,29,30,31,32,33,12,17,34,20,21,35,36,37,38,39,40,41,42,18,19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,11,75,72,73]),import.meta.url),rr=()=>oe(()=>Promise.resolve().then(()=>ii),void 0,import.meta.url),ir=()=>oe(()=>import("./AppstoreBrowse-CTMBzEdc.chunk.mjs"),__vite__mapDeps([76,6,7,4,1,2,5,8,9,18,19,15,16,74,3,10,25,13,14,26,27,23,24,28,29,30,31,32,33,12,17,34,20,21,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,11,75,72,73,22,69,70,77]),import.meta.url),or=()=>oe(()=>import("./UpdateAllDialog-Cv_g-se6.chunk.mjs").then(e=>e.d),__vite__mapDeps([74,1,2,3,4,5,6,7,8,9,10,25,13,14,26,27,23,24,28,15,16,29,30,31,32,33,12,17,34,20,21,35,36,37,38,39,40,41,42,18,19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,11,75,72,73]),import.meta.url),pr=[{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:nr?{name:"apps-discover"}:{name:"apps-manage",params:{category:"installed"}},children:[{path:"discover/:id?",name:"apps-discover",component:sr},{path:"bundles/:id?",name:"apps-bundles",component:rr},{path:":category(installed|enabled|disabled|updates)/:id?",name:"apps-manage",component:lr},{path:":category/:id?",name:"apps-category",component:ir},{path:"search/:id?",name:"apps-search",component:or}]}],cr=la({history:ra(J("")),linkActiveClass:"active",routes:pr}),ur=Ft(),Ae=aa(ar);Ae.config.idPrefix="appstore",Ae.use(ur),Ae.use(cr),Ae.mount("#content");const dr=E({__name:"LimitToGroupDialog",props:{app:{}},emits:["close"],setup(e,{emit:t}){const n=t,s=j(),a=Ut(),r=L(!1),l=L([]);re(()=>e.app,()=>{l.value=(e.app.groups??[]).map(h=>{const b=a.getGroupById(h);return b||a.searchGroups(h),b??{id:h,displayName:h,isNoUser:!0}})},{immediate:!0});const p=$(()=>a.groups.filter(h=>!l.value.includes(h))),i=wa(a.searchGroups,400);async function f(){try{r.value=!0,await s.limitAppToGroups(e.app.id,l.value.map(h=>h.id)),n("close")}finally{r.value=!1}}async function m(){try{r.value=!0,await s.limitAppToGroups(e.app.id,[]),n("close")}finally{r.value=!1}}return(h,b)=>(d(),R(o(bt),{isForm:"",name:o(u)("appstore","Limit to groups"),onSubmit:f,onReset:m},{actions:y(()=>[k(o(ie),{disabled:r.value,type:"reset"},{default:y(()=>[N(v(o(u)("appstore","Reset limitation")),1)]),_:1},8,["disabled"]),k(o(ie),{disabled:r.value,type:"submit",variant:"primary"},Me({default:y(()=>[N(" "+v(o(u)("appstore","Save")),1)]),_:2},[r.value?{name:"icon",fn:y(()=>[k(o(Ie))]),key:"0"}:void 0]),1032,["disabled"])]),default:y(()=>[_("p",null,v(o(u)("appstore","Restrict the usage of {app} to members of the following groups.",{app:e.app.name})),1),k(o(ga),{modelValue:l.value,"onUpdate:modelValue":b[0]||(b[0]=A=>l.value=A),class:w(h.$style.limitToGroupDialog__input),keepOpen:"",labelOutside:"",multiple:"",options:p.value,onSearch:o(i)},null,8,["modelValue","class","options","onSearch"])]),_:1},8,["name"]))}}),hr="_limitToGroupDialog__input_sofp5_2",gr={limitToGroupDialog__input:hr},mr={$style:gr},fr=q(dr,[["__cssModules",mr]]),br=Object.freeze(Object.defineProperty({__proto__:null,default:fr},Symbol.toStringTag,{value:"Module"})),kr=["src","height","width"],_r=E({__name:"AppIcon",props:{app:{},noFallback:{type:Boolean},size:{default:20}},setup(e){const t=$(()=>e.app.icon?.endsWith(".svg")),n=L("");return re(()=>e.app.icon,async()=>{if(n.value="",e.app.icon?.endsWith(".svg")){const s=await fetch(e.app.icon);s.ok&&(n.value=await s.text(),n.value=n.value.replaceAll(/(?<=[";])fill:\s?(#fff(fff)?|white)(;|(?="))/gi,"").replaceAll(/(?<=\s)fill="[^"]+"/gi,"").replaceAll(/(?<=\s)color="[^"]+"/gi,""))}},{immediate:!0}),(s,a)=>(d(),x("span",{class:w(s.$style.appIcon)},[n.value?(d(),R(o(C),{key:0,size:e.size,svg:n.value},null,8,["size","svg"])):e.app.icon&&!t.value?(d(),x("img",{key:1,class:w(s.$style.appIcon__image),alt:"",src:e.app.icon,height:e.size,width:e.size},null,10,kr)):e.noFallback?z("",!0):(d(),R(o(C),{key:2,path:o(Se),size:e.size},null,8,["path","size"]))],2))}}),yr="_appIcon_mcsmb_2",wr="_appIcon__image_mcsmb_7",vr={appIcon:yr,appIcon__image:wr},xr={$style:vr},$r=q(_r,[["__cssModules",xr]]),Tr={key:0,class:"hidden-visually"},Ar={class:"hidden-visually"},Sr={key:0},Rr={key:1},Dr=["title"],zr={key:0,"aria-hidden":"true"},Ir=E({__name:"AppTableRow",props:{app:{},isNarrow:{type:Boolean},isWide:{type:Boolean}},setup(e){const t=_e(),n=$(()=>({...t,params:{...t.params,id:e.app.id},query:{...t.query}})),s=$(()=>({id:"details",order:99,enabled:()=>!0,label:()=>u("appstore","Show details"),icon:nn,to:()=>n.value,inline:!1})),a=Qt(()=>e.app),r=Vt(()=>e.app),l=$(()=>[...r.value,s.value]);return(p,i)=>(d(),x("tr",{class:w(p.$style.appTableRow)},[_("td",{class:w(p.$style.appTableRow__nameCell)},[k(o(ie),{alignment:"start",title:o(u)("appstore","Show details"),to:n.value,variant:"tertiary-no-background",wide:""},{icon:y(()=>[e.app.loading?(d(),R(o(Ie),{key:0,size:24})):(d(),R($r,{key:1,app:e.app,size:24},null,8,["app"]))]),default:y(()=>[N(" "+v(e.app.name)+" ",1),e.app.loading?(d(),x("span",Tr,"("+v(o(u)("appstore","is loading…"))+")",1)):z("",!0),_("span",Ar,"("+v(o(u)("appstore","Show details"))+")",1)]),_:1},8,["title","to"])],2),_("td",null,[_("span",{class:w(p.$style.appTableRow__versionCell)},v(e.app.version),3)]),e.isNarrow?z("",!0):(d(),x("td",Sr,[_("div",{class:w(p.$style.appTableRow__levelCell)},[e.app.level?(d(),R(Ht,{key:0,level:e.app.level},null,8,["level"])):z("",!0),"daemon"in e.app&&e.app.daemon?(d(),R(jt,{key:1,daemon:e.app.daemon},null,8,["daemon"])):z("",!0)],2)])),e.isWide?(d(),x("td",Rr,[o(a).length>0?(d(),x("ul",{key:0,class:w(p.$style.appTableRow__groupsCell),title:o(a).map(f=>f.displayName).join(", ")},[(d(!0),x(M,null,Z(o(a),(f,m)=>(d(),x(M,{key:f.id},[m===3?(d(),x("li",zr," … ")):z("",!0),_("li",{class:w({"hidden-visually":m>2})},[k(o(xa),{text:f.displayName,noClose:""},null,8,["text"])],2)],64))),128))],10,Dr)):z("",!0)])):z("",!0),_("td",null,[_("div",{class:w(p.$style.appTableRow__actionsCell)},[k(Ct,{class:w(p.$style.appTableRow__actionsCellActions),app:e.app,actions:l.value,iconOnly:e.isNarrow},null,8,["class","app","actions","iconOnly"])],2)])],2))}}),Cr="_appTableRow_yekky_2",Lr="_appTableRow__nameCell_yekky_11",Br="_appTableRow__levelCell_yekky_16",Er="_appTableRow__versionCell_yekky_22",Pr="_appTableRow__groupsCell_yekky_26",Nr="_appTableRow__actionsCell_yekky_31",qr="_appTableRow__actionsCellActions_yekky_37",Mr={appTableRow:Cr,appTableRow__nameCell:Lr,appTableRow__levelCell:Br,appTableRow__versionCell:Er,appTableRow__groupsCell:Pr,appTableRow__actionsCell:Nr,appTableRow__actionsCellActions:qr},Or={$style:Mr},Gr=q(Ir,[["__cssModules",Or]]),Zr={hidden:""},jr={key:0},Hr={key:1},Ur=E({__name:"AppTable",props:{apps:{}},setup(e){const t=ht("table"),{width:n}=va(t),s=$(()=>n.value<768),a=$(()=>n.value>=1280);return(r,l)=>(d(),x("table",{ref:"table",class:w([r.$style.appTable,{[r.$style.appTable_narrow]:s.value,[r.$style.appTable_wide]:a.value}])},[_("colgroup",null,[_("col",{class:w(r.$style.appTable__colName)},null,2),_("col",{class:w(r.$style.appTable__colVersion)},null,2),s.value?z("",!0):(d(),x("col",{key:0,class:w(r.$style.appTable__colSupport)},null,2)),a.value?(d(),x("col",{key:1,class:w(r.$style.appTable__colGroups)},null,2)):z("",!0),_("col",{class:w(r.$style.appTable__colActions)},null,2)]),_("thead",Zr,[_("tr",null,[_("th",null,v(o(u)("appstore","App name")),1),_("th",null,v(o(u)("appstore","Version")),1),s.value?z("",!0):(d(),x("th",jr,v(o(u)("appstore","Support level")),1)),a.value?(d(),x("th",Hr,v(o(u)("appstore","Groups")),1)):z("",!0),_("th",null,v(o(u)("appstore","Actions")),1)])]),_("tbody",null,[(d(!0),x(M,null,Z(e.apps,p=>(d(),R(Gr,{key:p.id,app:p,isNarrow:s.value,isWide:a.value},null,8,["app","isNarrow","isWide"]))),128))])],2))}}),Qr="_appTable_ss46x_2",Vr="_appTable__colName_ss46x_7",Fr="_appTable_narrow_ss46x_11",Wr="_appTable_wide_ss46x_15",Xr="_appTable__colSupport_ss46x_19",Yr="_appTable__colActions_ss46x_27",Kr={appTable:Qr,appTable__colName:Vr,appTable_narrow:Fr,appTable_wide:Wr,appTable__colSupport:Xr,appTable__colActions:Yr},Jr={$style:Kr},ei=q(Ur,[["__cssModules",Jr]]),ti=E({__name:"AppstoreBundles",setup(e){const t=j(),n=$(()=>t.bundles.map(l=>({...l,apps:l.appIdentifiers.map(p=>t.apps.find(i=>i.id===p)).filter(Boolean),isEnabling:!1})));function s(l){return l.appIdentifiers.every(p=>{const i=t.apps.find(f=>f.id===p);return i&&(i.active||Tt(i))})}function a(l){return l.appIdentifiers.every(p=>{const i=t.apps.find(f=>f.id===p);return i&&i.active})}async function r(l){l.isEnabling=!0,await t.enableBundle(l.id),l.isEnabling=!1}return(l,p)=>o(t).isLoadingApps?(d(),R(o(Ze),{key:0,name:o(u)("appstore","Loading app list")},{icon:y(()=>[k(o(Ie),{size:64})]),_:1},8,["name"])):(d(!0),x(M,{key:1},Z(n.value,i=>(d(),x("section",{key:i.id},[_("div",{class:w(l.$style.appstoreBundles__header)},[_("h3",null,v(i.name),1),a(i)?z("",!0):(d(),R(o(ie),{key:0,disabled:!s(i),variant:"primary",onClick:f=>r(i)},{icon:y(()=>[k(o(C),{path:o(sn)},null,8,["path"])]),default:y(()=>[N(" "+v(o(u)("appstore","Download and enable all")),1)]),_:1},8,["disabled","onClick"]))],2),k(ei,{class:w(l.$style.appstoreBundles__appTable),apps:i.apps},null,8,["class","apps"])]))),128))}}),ai="_appstoreBundles__header_oplvy_2",ni="_appstoreBundles__appTable_oplvy_11",si={appstoreBundles__header:ai,appstoreBundles__appTable:ni},li={$style:si},ri=q(ti,[["__cssModules",li]]),ii=Object.freeze(Object.defineProperty({__proto__:null,default:ri},Symbol.toStringTag,{value:"Module"}));export{Ki as A,ol as B,Zt as M,St as a,It as b,pe as c,ei as d,Ht as e,jt as f,zt as g,H as l,ve as n,j as u}; //# sourceMappingURL=appstore-main.mjs.map diff --git a/dist/comments-comments-app.mjs b/dist/comments-comments-app.mjs index 9854fe08e2cdb..4d402535830ac 100644 --- a/dist/comments-comments-app.mjs +++ b/dist/comments-comments-app.mjs @@ -1,2 +1,2 @@ -import{l as o}from"./activity-nG-Rk4qJ.chunk.mjs";import{a as m,t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as r}from"./pinia-CaE5yuEV.chunk.mjs";import{e as n}from"./Web-X6XNrbMx.chunk.mjs";import{C as a}from"./FilesSidebarTab-CXT7lLdT.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";import"./index--CXeJKGn.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./CommentView-DBgM9q8R.chunk.mjs";/* empty css */import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./GetComments-Bnfad0N4.chunk.mjs";import"./index-PbTIJ1eH.chunk.mjs";class e{app;instance;constructor(t="files",i={}){const p=r();this.app=n(a,{...i.propsData??{},...i.props??{},resourceType:t}),this.app.mixin({data(){return{logger:o}},methods:{t:s,n:m}}),this.app.use(p),i.el&&(this.instance=this.app.mount(i.el))}$mount(t){this.instance&&this.app.unmount(),this.instance=this.app.mount(t)}$unmount(){this.app.unmount(),this.instance=void 0}update(t){this.instance&&this.instance.update(t)}}window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:e}),o.debug("OCA.Comments.View initialized"); +import{l as o}from"./activity-nG-Rk4qJ.chunk.mjs";import{a as m,t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as r}from"./pinia-CaE5yuEV.chunk.mjs";import{e as n}from"./Web-X6XNrbMx.chunk.mjs";import{C as a}from"./FilesSidebarTab-Wt0Ssd3N.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";import"./index-9np_X5jS.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./index-CfIbVNTc.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./CommentView--RDJB_xe.chunk.mjs";/* empty css */import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./GetComments-BU90Le50.chunk.mjs";import"./index-CpA8_zX5.chunk.mjs";class e{app;instance;constructor(t="files",i={}){const p=r();this.app=n(a,{...i.propsData??{},...i.props??{},resourceType:t}),this.app.mixin({data(){return{logger:o}},methods:{t:s,n:m}}),this.app.use(p),i.el&&(this.instance=this.app.mount(i.el))}$mount(t){this.instance&&this.app.unmount(),this.instance=this.app.mount(t)}$unmount(){this.app.unmount(),this.instance=void 0}update(t){this.instance&&this.instance.update(t)}}window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:e}),o.debug("OCA.Comments.View initialized"); //# sourceMappingURL=comments-comments-app.mjs.map diff --git a/dist/comments-comments-tab.mjs b/dist/comments-comments-tab.mjs index 596ea03815443..141775d4eafae 100644 --- a/dist/comments-comments-tab.mjs +++ b/dist/comments-comments-tab.mjs @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/ActivityCommentAction-Bk4jb7bY.chunk.mjs'),window.OC.filePath('', '', 'dist/index--CXeJKGn.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/CommentView-DBgM9q8R.chunk.mjs'),window.OC.filePath('', '', 'dist/pinia-CaE5yuEV.chunk.mjs'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BXR7vT0V-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/activity-nG-Rk4qJ.chunk.mjs'),window.OC.filePath('', '', 'dist/GetComments-Bnfad0N4.chunk.mjs'),window.OC.filePath('', '', 'dist/index-PbTIJ1eH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-CommentView-D9eoYnuL.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/comments-ActivityCommentAction-D5Q48MrJ.chunk.css'),window.OC.filePath('', '', 'dist/ActivityCommentEntry-DvgEP7MW.chunk.mjs'),window.OC.filePath('', '', 'dist/comments-ActivityCommentEntry-CVfnMLz5.chunk.css'),window.OC.filePath('', '', 'dist/FilesSidebarTab-CXT7lLdT.chunk.mjs'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/common-FilesSidebarTab-D1FhhmK6.chunk.css')])))=>i.map(i=>d[i]); -import{_ as m,e as c,d as w}from"./Web-X6XNrbMx.chunk.mjs";import{r as _}from"./index-B3rZk8FQ.chunk.mjs";import{t as g}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as l}from"./pinia-CaE5yuEV.chunk.mjs";import{l as r,i as A}from"./activity-nG-Rk4qJ.chunk.mjs";import{g as v}from"./GetComments-Bnfad0N4.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";import"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-PbTIJ1eH.chunk.mjs";const y='';function V(){let o;window.OCA.Activity.registerSidebarAction({mount:async(t,{node:e,reload:i})=>{const a=l();if(!o){const{default:s}=await m(async()=>{const{default:n}=await import("./ActivityCommentAction-Bk4jb7bY.chunk.mjs");return{default:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]),import.meta.url);o=c(s,{reloadCallback:i,resourceId:e.fileid})}o.use(a),o.mount(t),r.info("Comments plugin mounted in Activity sidebar action",{node:e})},unmount:()=>{o?.unmount()}}),window.OCA.Activity.registerSidebarEntries(async({node:t,limit:e,offset:i})=>{const{data:a}=await v({resourceType:"files",resourceId:t.fileid},{limit:e,offset:i??0});r.debug("Loaded comments",{node:t,comments:a});const{default:s}=await m(async()=>{const{default:n}=await import("./ActivityCommentEntry-DvgEP7MW.chunk.mjs");return{default:n}},__vite__mapDeps([41,8,9,18,2,3,19,20,6,7,10,11,5,12,21,22,23,24,25,26,27,28,29,30,31,13,14,32,33,34,1,4,15,16,17,35,36,37,38,39,42]),import.meta.url);return a.map(n=>({_CommentsViewInstance:void 0,timestamp:Date.parse(n.props?.creationDateTime??""),mount(f,{reload:p}){const d=c(s,{comment:n,resourceId:t.fileid,reloadCallback:p});d.mount(f),this._CommentsViewInstance=d},unmount(){this._CommentsViewInstance?.unmount()}}))}),window.OCA.Activity.registerSidebarFilter(t=>t.type!=="comments"),r.info("Comments plugin registered for Activity sidebar action")}const u="comments_files-sidebar-tab";A()?window.addEventListener("DOMContentLoaded",function(){V()}):_({id:"comments",displayName:g("comments","Comments"),iconSvgInline:y,order:50,tagName:u,async onInit(){const{default:o}=await m(async()=>{const{default:e}=await import("./FilesSidebarTab-CXT7lLdT.chunk.mjs").then(i=>i.F);return{default:e}},__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,22,23,24,25,26,27,28,29,20,21,30,31,32,44,45,18,19,33,34,35,36,37,38,39,46]),import.meta.url),t=w(o,{configureApp(e){const i=l();e.use(i)},shadowRoot:!1});window.customElements.define(u,t)}}); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/ActivityCommentAction-DS6yQXGU.chunk.mjs'),window.OC.filePath('', '', 'dist/index-9np_X5jS.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/CommentView--RDJB_xe.chunk.mjs'),window.OC.filePath('', '', 'dist/pinia-CaE5yuEV.chunk.mjs'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserBubble-BXR7vT0V-f2DD9EAL.chunk.css'),window.OC.filePath('', '', 'dist/activity-nG-Rk4qJ.chunk.mjs'),window.OC.filePath('', '', 'dist/GetComments-BU90Le50.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CpA8_zX5.chunk.mjs'),window.OC.filePath('', '', 'dist/common-CommentView-D9eoYnuL.chunk.css'),window.OC.filePath('', '', 'dist/common-NcActionSeparator-Ct2RnclR-pXJ_-D_I.chunk.css'),window.OC.filePath('', '', 'dist/comments-ActivityCommentAction-D5Q48MrJ.chunk.css'),window.OC.filePath('', '', 'dist/ActivityCommentEntry-D9609Hcb.chunk.mjs'),window.OC.filePath('', '', 'dist/comments-ActivityCommentEntry-CVfnMLz5.chunk.css'),window.OC.filePath('', '', 'dist/FilesSidebarTab-Wt0Ssd3N.chunk.mjs'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/common-FilesSidebarTab-D1FhhmK6.chunk.css')])))=>i.map(i=>d[i]); +import{_ as m,e as c,d as w}from"./Web-X6XNrbMx.chunk.mjs";import{r as _}from"./index-B3rZk8FQ.chunk.mjs";import{t as g}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as l}from"./pinia-CaE5yuEV.chunk.mjs";import{l as r,i as A}from"./activity-nG-Rk4qJ.chunk.mjs";import{g as v}from"./GetComments-BU90Le50.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";import"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CpA8_zX5.chunk.mjs";const y='';function V(){let o;window.OCA.Activity.registerSidebarAction({mount:async(t,{node:e,reload:i})=>{const a=l();if(!o){const{default:s}=await m(async()=>{const{default:n}=await import("./ActivityCommentAction-DS6yQXGU.chunk.mjs");return{default:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]),import.meta.url);o=c(s,{reloadCallback:i,resourceId:e.fileid})}o.use(a),o.mount(t),r.info("Comments plugin mounted in Activity sidebar action",{node:e})},unmount:()=>{o?.unmount()}}),window.OCA.Activity.registerSidebarEntries(async({node:t,limit:e,offset:i})=>{const{data:a}=await v({resourceType:"files",resourceId:t.fileid},{limit:e,offset:i??0});r.debug("Loaded comments",{node:t,comments:a});const{default:s}=await m(async()=>{const{default:n}=await import("./ActivityCommentEntry-D9609Hcb.chunk.mjs");return{default:n}},__vite__mapDeps([41,8,9,18,2,3,19,20,6,7,10,11,5,12,21,22,23,24,25,26,27,28,29,30,31,13,14,32,33,34,1,4,15,16,17,35,36,37,38,39,42]),import.meta.url);return a.map(n=>({_CommentsViewInstance:void 0,timestamp:Date.parse(n.props?.creationDateTime??""),mount(f,{reload:p}){const d=c(s,{comment:n,resourceId:t.fileid,reloadCallback:p});d.mount(f),this._CommentsViewInstance=d},unmount(){this._CommentsViewInstance?.unmount()}}))}),window.OCA.Activity.registerSidebarFilter(t=>t.type!=="comments"),r.info("Comments plugin registered for Activity sidebar action")}const u="comments_files-sidebar-tab";A()?window.addEventListener("DOMContentLoaded",function(){V()}):_({id:"comments",displayName:g("comments","Comments"),iconSvgInline:y,order:50,tagName:u,async onInit(){const{default:o}=await m(async()=>{const{default:e}=await import("./FilesSidebarTab-Wt0Ssd3N.chunk.mjs").then(i=>i.F);return{default:e}},__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,22,23,24,25,26,27,28,29,20,21,30,31,32,44,45,18,19,33,34,35,36,37,38,39,46]),import.meta.url),t=w(o,{configureApp(e){const i=l();e.use(i)},shadowRoot:!1});window.customElements.define(u,t)}}); //# sourceMappingURL=comments-comments-tab.mjs.map diff --git a/dist/dav-BUnvPvLq.chunk.mjs b/dist/dav-BnceviPD.chunk.mjs similarity index 76% rename from dist/dav-BUnvPvLq.chunk.mjs rename to dist/dav-BnceviPD.chunk.mjs index 8c93785348400..62bc271a62d60 100644 --- a/dist/dav-BUnvPvLq.chunk.mjs +++ b/dist/dav-BnceviPD.chunk.mjs @@ -1,9 +1,9 @@ -import{a as m,h as E,o as q,e as D}from"./index-BRcsAfAF.chunk.mjs";import{l as y}from"./public-C1mLBHT3.chunk.mjs";import{z as P,L as T}from"./index-PbTIJ1eH.chunk.mjs";import{s as i,l as u,N as x,a as R,b as S,P as o}from"./externalStorageUtils-Djf4yowl.chunk.mjs";function f(){return y("files_sharing","isPublic",null)??document.querySelector('input#isPublic[type="hidden"][name="isPublic"][value="1"]')!==null}function A(){return y("files_sharing","sharingToken",null)??document.querySelector('input#sharingToken[type="hidden"]')?.value??null}function k(e=""){let r=o.NONE;return e&&(e.includes("G")&&(r|=o.READ),e.includes("W")&&(r|=o.WRITE),e.includes("CK")&&(r|=o.CREATE),e.includes("NV")&&(r|=o.UPDATE),e.includes("D")&&(r|=o.DELETE),e.includes("R")&&(r|=o.SHARE)),r}const w=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:creationdate","d:displayname","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],$={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"};function F(e,r={nc:"http://nextcloud.org/ns"}){i.davNamespaces??={...$},i.davProperties??=[...w];const s={...i.davNamespaces,...r};if(i.davProperties.find(t=>t===e))return u.warn(`${e} already registered`,{prop:e}),!1;if(e.startsWith("<")||e.split(":").length!==2)return u.error(`${e} is not valid. See example: 'oc:fileid'`,{prop:e}),!1;const n=e.split(":")[0];return s[n]?(i.davProperties.push(e),i.davNamespaces=s,!0):(u.error(`${e} namespace unknown`,{prop:e,namespaces:s}),!1)}function h(){return i.davProperties??=[...w],i.davProperties.map(e=>`<${e} />`).join(" ")}function g(){return i.davNamespaces??={...$},Object.keys(i.davNamespaces).map(e=>`xmlns:${e}="${i.davNamespaces?.[e]}"`).join(" ")}function U(){return` +import{a as m,h as E,o as q,e as D}from"./index-BRcsAfAF.chunk.mjs";import{l as y}from"./public-C1mLBHT3.chunk.mjs";import{$ as P,R as T}from"./index-CpA8_zX5.chunk.mjs";import{s as i,l as u,N as x,a as R,b as S,P as o}from"./externalStorageUtils-Djf4yowl.chunk.mjs";function f(){return y("files_sharing","isPublic",null)??document.querySelector('input#isPublic[type="hidden"][name="isPublic"][value="1"]')!==null}function A(){return y("files_sharing","sharingToken",null)??document.querySelector('input#sharingToken[type="hidden"]')?.value??null}function k(e=""){let r=o.NONE;return e&&(e.includes("G")&&(r|=o.READ),e.includes("W")&&(r|=o.WRITE),e.includes("CK")&&(r|=o.CREATE),e.includes("NV")&&(r|=o.UPDATE),e.includes("D")&&(r|=o.DELETE),e.includes("R")&&(r|=o.SHARE)),r}const $=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:creationdate","d:displayname","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],w={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"};function F(e,r={nc:"http://nextcloud.org/ns"}){i.davNamespaces??={...w},i.davProperties??=[...$];const s={...i.davNamespaces,...r};if(i.davProperties.find(t=>t===e))return u.warn(`${e} already registered`,{prop:e}),!1;if(e.startsWith("<")||e.split(":").length!==2)return u.error(`${e} is not valid. See example: 'oc:fileid'`,{prop:e}),!1;const n=e.split(":")[0];return s[n]?(i.davProperties.push(e),i.davNamespaces=s,!0):(u.error(`${e} namespace unknown`,{prop:e,namespaces:s}),!1)}function h(){return i.davProperties??=[...$],i.davProperties.map(e=>`<${e} />`).join(" ")}function g(){return i.davNamespaces??={...w},Object.keys(i.davNamespaces).map(e=>`xmlns:${e}="${i.davNamespaces?.[e]}"`).join(" ")}function U(){return` ${h()} - `}function z(){return` +
`}function j(){return` ${h()} @@ -65,5 +65,5 @@ import{a as m,h as E,o as q,e as D}from"./index-BRcsAfAF.chunk.mjs";import{l as 0 -`}function j(){return f()?`/files/${A()}`:`/files/${m()?.uid}`}const b=j();function L(){const e=E("dav");return f()?e.replace("remote.php","public.php"):e}const N=L();function W(e=N,r={}){const s=P(e,{headers:r});function n(t){s.setHeaders({...r,"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return q(n),n(D()),T().patch("fetch",(t,d)=>{const a=d.headers;return a?.method&&(d.method=a.method,delete a.method),fetch(t,d)}),s}async function _(e={}){const r=e.client??W(),s=e.path??"/",n=e.davRoot??b;return(await r.getDirectoryContents(`${n}${s}`,{signal:e.signal,details:!0,data:z(),headers:{method:"REPORT"},includeSelf:!0})).data.filter(t=>t.filename!==s).map(t=>C(t,n))}function C(e,r=b,s=N){let n=m()?.uid;if(f())n=n??"anonymous";else if(!n)throw new Error("No user id found");const t=e.props,d=k(t?.permissions),a=String(t?.["owner-id"]||n),v=t.fileid||0,c=new Date(Date.parse(e.lastmod)),p=new Date(Date.parse(t.creationdate)),l={id:v,source:`${s}${e.filename}`,mtime:!isNaN(c.getTime())&&c.getTime()!==0?c:void 0,crtime:!isNaN(p.getTime())&&p.getTime()!==0?p:void 0,mime:e.mime||"application/octet-stream",displayname:t.displayname!==void 0?String(t.displayname):void 0,size:t?.size||Number.parseInt(t.getcontentlength||"0"),status:v<0?x.FAILED:void 0,permissions:d,owner:a,root:r,attributes:{...e,...t,hasPreview:t?.["has-preview"]}};return delete l.attributes?.props,e.type==="file"?new R(l):new S(l)}export{g as a,h as b,F as c,N as d,L as e,j as f,W as g,_ as h,b as i,X as j,U as k,C as r}; -//# sourceMappingURL=dav-BUnvPvLq.chunk.mjs.map +`}function z(){return f()?`/files/${A()}`:`/files/${m()?.uid}`}const b=z();function W(){const e=E("dav");return f()?e.replace("remote.php","public.php"):e}const N=W();function C(e=N,r={}){const s=P(e,{headers:r});function n(t){s.setHeaders({...r,"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return q(n),n(D()),T().patch("fetch",(t,d)=>{const a=d.headers;return a?.method&&(d.method=a.method,delete a.method),fetch(t,d)}),s}async function _(e={}){const r=e.client??C(),s=e.path??"/",n=e.davRoot??b;return(await r.getDirectoryContents(`${n}${s}`,{signal:e.signal,details:!0,data:j(),headers:{method:"REPORT"},includeSelf:!0})).data.filter(t=>t.filename!==s).map(t=>H(t,n))}function H(e,r=b,s=N){let n=m()?.uid;if(f())n=n??"anonymous";else if(!n)throw new Error("No user id found");const t=e.props,d=k(t?.permissions),a=String(t?.["owner-id"]||n),v=t.fileid||0,c=new Date(Date.parse(e.lastmod)),p=new Date(Date.parse(t.creationdate)),l={id:v,source:`${s}${e.filename}`,mtime:!isNaN(c.getTime())&&c.getTime()!==0?c:void 0,crtime:!isNaN(p.getTime())&&p.getTime()!==0?p:void 0,mime:e.mime||"application/octet-stream",displayname:t.displayname!==void 0?String(t.displayname):void 0,size:t?.size||Number.parseInt(t.getcontentlength||"0"),status:v<0?x.FAILED:void 0,permissions:d,owner:a,root:r,attributes:{...e,...t,hasPreview:t?.["has-preview"]}};return delete l.attributes?.props,e.type==="file"?new R(l):new S(l)}export{g as a,h as b,F as c,N as d,W as e,z as f,C as g,_ as h,b as i,X as j,U as k,H as r}; +//# sourceMappingURL=dav-BnceviPD.chunk.mjs.map diff --git a/dist/dav-BUnvPvLq.chunk.mjs.license b/dist/dav-BnceviPD.chunk.mjs.license similarity index 100% rename from dist/dav-BUnvPvLq.chunk.mjs.license rename to dist/dav-BnceviPD.chunk.mjs.license diff --git a/dist/dav-BUnvPvLq.chunk.mjs.map b/dist/dav-BnceviPD.chunk.mjs.map similarity index 99% rename from dist/dav-BUnvPvLq.chunk.mjs.map rename to dist/dav-BnceviPD.chunk.mjs.map index 32cf54c248ba8..ffc9c90c7d7af 100644 --- a/dist/dav-BUnvPvLq.chunk.mjs.map +++ b/dist/dav-BnceviPD.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"dav-BUnvPvLq.chunk.mjs","sources":["../node_modules/@nextcloud/files/node_modules/@nextcloud/sharing/dist/public.js","../node_modules/@nextcloud/files/dist/dav.mjs"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * @module public\n */\nimport { loadState } from '@nextcloud/initial-state';\n/**\n * Check if the current page is on a public share\n */\nexport function isPublicShare() {\n // check both the new initial state version and fallback to legacy input\n return (loadState('files_sharing', 'isPublic', null)\n ?? document.querySelector('input#isPublic[type=\"hidden\"][name=\"isPublic\"][value=\"1\"]') !== null);\n}\n/**\n * Get the sharing token for the current public share\n */\nexport function getSharingToken() {\n return (loadState('files_sharing', 'sharingToken', null)\n ?? document.querySelector('input#sharingToken[type=\"hidden\"]')?.value\n ?? null);\n}\n","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n}\nfunction getFavoritesReport() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}\nfunction getRecentSearch(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\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\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\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\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n"],"names":["isPublicShare","loadState","getSharingToken","parsePermissions","permString","permissions","Permission","defaultDavProperties","defaultDavNamespaces","registerDavProperty","prop","namespace","scopedGlobals","namespaces","search","logger","ns","getDavProperties","getDavNameSpaces","getDefaultPropfind","getFavoritesReport","getRecentSearch","lastModified","getCurrentUser","getRootPath","defaultRootPath","getRemoteURL","url","generateRemoteUrl","defaultRemoteURL","getClient","remoteURL","headers","client","createClient","setHeaders","token","onRequestTokenUpdate","getRequestToken","getPatcher","options","headers2","getFavoriteNodes","path","davRoot","node","result","resultToNode","filesRoot","userId","props","owner","id","mtime","crtime","nodeData","NodeStatus","File","Folder"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file +{"version":3,"file":"dav-BnceviPD.chunk.mjs","sources":["../node_modules/@nextcloud/files/node_modules/@nextcloud/sharing/dist/public.js","../node_modules/@nextcloud/files/dist/dav.mjs"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * @module public\n */\nimport { loadState } from '@nextcloud/initial-state';\n/**\n * Check if the current page is on a public share\n */\nexport function isPublicShare() {\n // check both the new initial state version and fallback to legacy input\n return (loadState('files_sharing', 'isPublic', null)\n ?? document.querySelector('input#isPublic[type=\"hidden\"][name=\"isPublic\"][value=\"1\"]') !== null);\n}\n/**\n * Get the sharing token for the current public share\n */\nexport function getSharingToken() {\n return (loadState('files_sharing', 'sharingToken', null)\n ?? document.querySelector('input#sharingToken[type=\"hidden\"]')?.value\n ?? null);\n}\n","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n}\nfunction getFavoritesReport() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}\nfunction getRecentSearch(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\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\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\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\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n"],"names":["isPublicShare","loadState","getSharingToken","parsePermissions","permString","permissions","Permission","defaultDavProperties","defaultDavNamespaces","registerDavProperty","prop","namespace","scopedGlobals","namespaces","search","logger","ns","getDavProperties","getDavNameSpaces","getDefaultPropfind","getFavoritesReport","getRecentSearch","lastModified","getCurrentUser","getRootPath","defaultRootPath","getRemoteURL","url","generateRemoteUrl","defaultRemoteURL","getClient","remoteURL","headers","client","createClient","setHeaders","token","onRequestTokenUpdate","getRequestToken","getPatcher","options","headers2","getFavoriteNodes","path","davRoot","node","result","resultToNode","filesRoot","userId","props","owner","id","mtime","crtime","nodeData","NodeStatus","File","Folder"],"mappings":"2QAWO,SAASA,GAAgB,CAE5B,OAAQC,EAAU,gBAAiB,WAAY,IAAI,GAC5C,SAAS,cAAc,2DAA2D,IAAM,IACnG,CAIO,SAASC,GAAkB,CAC9B,OAAQD,EAAU,gBAAiB,eAAgB,IAAI,GAChD,SAAS,cAAc,mCAAmC,GAAG,OAC7D,IACX,CCbA,SAASE,EAAiBC,EAAa,GAAI,CACzC,IAAIC,EAAcC,EAAW,KAC7B,OAAKF,IAGDA,EAAW,SAAS,GAAG,IACzBC,GAAeC,EAAW,MAExBF,EAAW,SAAS,GAAG,IACzBC,GAAeC,EAAW,OAExBF,EAAW,SAAS,IAAI,IAC1BC,GAAeC,EAAW,QAExBF,EAAW,SAAS,IAAI,IAC1BC,GAAeC,EAAW,QAExBF,EAAW,SAAS,GAAG,IACzBC,GAAeC,EAAW,QAExBF,EAAW,SAAS,GAAG,IACzBC,GAAeC,EAAW,QAErBD,CACT,CACA,MAAME,EAAuB,CAC3B,qBACA,mBACA,YACA,oBACA,iBACA,gBACA,0BACA,iBACA,iBACA,kBACA,gBACA,qBACA,cACA,YACA,wBACA,cACA,iBACA,SACF,EACMC,EAAuB,CAC3B,EAAG,OACH,GAAI,0BACJ,GAAI,yBACJ,IAAK,2CACP,EACA,SAASC,EAAoBC,EAAMC,EAAY,CAAE,GAAI,yBAAyB,EAAI,CAChFC,EAAc,gBAAkB,CAAE,GAAGJ,CAAoB,EACzDI,EAAc,gBAAkB,CAAC,GAAGL,CAAoB,EACxD,MAAMM,EAAa,CAAE,GAAGD,EAAc,cAAe,GAAGD,CAAS,EACjE,GAAIC,EAAc,cAAc,KAAME,GAAWA,IAAWJ,CAAI,EAC9D,OAAAK,EAAO,KAAK,GAAGL,CAAI,sBAAuB,CAAE,KAAAA,EAAM,EAC3C,GAET,GAAIA,EAAK,WAAW,GAAG,GAAKA,EAAK,MAAM,GAAG,EAAE,SAAW,EACrD,OAAAK,EAAO,MAAM,GAAGL,CAAI,0CAA2C,CAAE,KAAAA,EAAM,EAChE,GAET,MAAMM,EAAKN,EAAK,MAAM,GAAG,EAAE,CAAC,EAC5B,OAAKG,EAAWG,CAAE,GAIlBJ,EAAc,cAAc,KAAKF,CAAI,EACrCE,EAAc,cAAgBC,EACvB,KALLE,EAAO,MAAM,GAAGL,CAAI,qBAAsB,CAAE,KAAAA,EAAM,WAAAG,EAAY,EACvD,GAKX,CACA,SAASI,GAAmB,CAC1B,OAAAL,EAAc,gBAAkB,CAAC,GAAGL,CAAoB,EACjDK,EAAc,cAAc,IAAKF,GAAS,IAAIA,CAAI,KAAK,EAAE,KAAK,GAAG,CAC1E,CACA,SAASQ,GAAmB,CAC1B,OAAAN,EAAc,gBAAkB,CAAE,GAAGJ,CAAoB,EAClD,OAAO,KAAKI,EAAc,aAAa,EAAE,IAAKI,GAAO,SAASA,CAAE,KAAKJ,EAAc,gBAAgBI,CAAE,CAAC,GAAG,EAAE,KAAK,GAAG,CAC5H,CACA,SAASG,GAAqB,CAC5B,MAAO;AAAA,gBACOD,EAAgB,CAAE;AAAA;AAAA,MAE5BD,EAAgB,CAAE;AAAA;AAAA,gBAGxB,CACA,SAASG,GAAqB,CAC5B,MAAO;AAAA,qBACYF,EAAgB,CAAE;AAAA;AAAA,MAEjCD,EAAgB,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA,qBAMxB,CACA,SAASI,EAAgBC,EAAc,CACrC,MAAO;AAAA,mBACUJ,EAAgB,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA,MAK/BD,EAAgB,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKHM,EAAc,GAAI,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBA0BxBD,CAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAkB9B,CACA,SAASE,GAAc,CACrB,OAAIxB,EAAa,EACR,UAAUE,EAAe,CAAE,GAE7B,UAAUqB,EAAc,GAAI,GAAG,EACxC,CACK,MAACE,EAAkBD,EAAW,EACnC,SAASE,GAAe,CACtB,MAAMC,EAAMC,EAAkB,KAAK,EACnC,OAAI5B,EAAa,EACR2B,EAAI,QAAQ,aAAc,YAAY,EAExCA,CACT,CACK,MAACE,EAAmBH,EAAY,EACrC,SAASI,EAAUC,EAAYF,EAAkBG,EAAU,CAAA,EAAI,CAC7D,MAAMC,EAASC,EAAaH,EAAW,CAAE,QAAAC,CAAO,CAAE,EAClD,SAASG,EAAWC,EAAO,CACzBH,EAAO,WAAW,CAChB,GAAGD,EAEH,mBAAoB,iBAEpB,aAAcI,GAAS,EAC7B,CAAK,CACH,CACA,OAAAC,EAAqBF,CAAU,EAC/BA,EAAWG,EAAe,CAAE,EACZC,EAAU,EAClB,MAAM,QAAS,CAACZ,EAAKa,IAAY,CACvC,MAAMC,EAAWD,EAAQ,QACzB,OAAIC,GAAU,SACZD,EAAQ,OAASC,EAAS,OAC1B,OAAOA,EAAS,QAEX,MAAMd,EAAKa,CAAO,CAC3B,CAAC,EACMP,CACT,CACA,eAAeS,EAAiBF,EAAU,GAAI,CAC5C,MAAMP,EAASO,EAAQ,QAAUV,EAAS,EACpCa,EAAOH,EAAQ,MAAQ,IACvBI,EAAUJ,EAAQ,SAAWf,EAWnC,OAVyB,MAAMQ,EAAO,qBAAqB,GAAGW,CAAO,GAAGD,CAAI,GAAI,CAC9E,OAAQH,EAAQ,OAChB,QAAS,GACT,KAAMpB,EAAkB,EACxB,QAAS,CAEP,OAAQ,QACd,EACI,YAAa,EACjB,CAAG,GACuB,KAAK,OAAQyB,GAASA,EAAK,WAAaF,CAAI,EAAE,IAAKG,GAAWC,EAAaD,EAAQF,CAAO,CAAC,CACrH,CACA,SAASG,EAAaF,EAAMG,EAAYvB,EAAiBM,EAAYF,EAAkB,CACrF,IAAIoB,EAAS1B,EAAc,GAAI,IAC/B,GAAIvB,EAAa,EACfiD,EAASA,GAAU,oBACV,CAACA,EACV,MAAM,IAAI,MAAM,kBAAkB,EAEpC,MAAMC,EAAQL,EAAK,MACbxC,EAAcF,EAAiB+C,GAAO,WAAW,EACjDC,EAAQ,OAAOD,IAAQ,UAAU,GAAKD,CAAM,EAC5CG,EAAKF,EAAM,QAAU,EACrBG,EAAQ,IAAI,KAAK,KAAK,MAAMR,EAAK,OAAO,CAAC,EACzCS,EAAS,IAAI,KAAK,KAAK,MAAMJ,EAAM,YAAY,CAAC,EAChDK,EAAW,CACf,GAAAH,EACA,OAAQ,GAAGrB,CAAS,GAAGc,EAAK,QAAQ,GACpC,MAAO,CAAC,MAAMQ,EAAM,QAAO,CAAE,GAAKA,EAAM,QAAO,IAAO,EAAIA,EAAQ,OAClE,OAAQ,CAAC,MAAMC,EAAO,QAAO,CAAE,GAAKA,EAAO,QAAO,IAAO,EAAIA,EAAS,OACtE,KAAMT,EAAK,MAAQ,2BAEnB,YAAaK,EAAM,cAAgB,OAAS,OAAOA,EAAM,WAAW,EAAI,OACxE,KAAMA,GAAO,MAAQ,OAAO,SAASA,EAAM,kBAAoB,GAAG,EAElE,OAAQE,EAAK,EAAII,EAAW,OAAS,OACrC,YAAAnD,EACA,MAAA8C,EACA,KAAMH,EACN,WAAY,CACV,GAAGH,EACH,GAAGK,EACH,WAAYA,IAAQ,aAAa,CACvC,CACA,EACE,cAAOK,EAAS,YAAY,MACrBV,EAAK,OAAS,OAAS,IAAIY,EAAKF,CAAQ,EAAI,IAAIG,EAAOH,CAAQ,CACxE","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist/dav-BUnvPvLq.chunk.mjs.map.license b/dist/dav-BnceviPD.chunk.mjs.map.license similarity index 100% rename from dist/dav-BUnvPvLq.chunk.mjs.map.license rename to dist/dav-BnceviPD.chunk.mjs.map.license diff --git a/dist/dav-settings-admin-example-content.mjs b/dist/dav-settings-admin-example-content.mjs index 61a0038105b42..0bfb2c50810bb 100644 --- a/dist/dav-settings-admin-example-content.mjs +++ b/dist/dav-settings-admin-example-content.mjs @@ -1,2 +1,2 @@ -import{o as l,f as d,g as u,t as m,h as C,m as M,b as U,c as V,u as k,w as i,i as B,k as n,r as p,j as f,e as Z}from"./Web-X6XNrbMx.chunk.mjs";import{t as c}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as S}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import{b as g}from"./index-BRcsAfAF.chunk.mjs";import{N as H}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import{D as T,s as j}from"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{N as L}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import{c as x}from"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import{N as q}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{d as I,a as y}from"./index--CXeJKGn.chunk.mjs";import{_ as w,l as D}from"./public-C1mLBHT3.chunk.mjs";import{l as _}from"./logger-BweUpY17.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const G='',J={name:"AccountIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},K=["aria-hidden","aria-label"],P=["fill","width","height"],Q={d:"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"},W={key:0};function X(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon account-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",Q,[t.title?(l(),d("title",W,m(t.title),1)):C("",!0)])],8,P))],16,K)}const Y=w(J,[["render",X]]),ee={name:"RestoreIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},te=["aria-hidden","aria-label"],ae=["fill","width","height"],oe={d:"M13,3A9,9 0 0,0 4,12H1L4.89,15.89L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3Z"},ie={key:0};function le(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon restore-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",oe,[t.title?(l(),d("title",ie,m(t.title),1)):C("",!0)])],8,ae))],16,te)}const R=w(ee,[["render",le]]),ne={name:"TrayArrowUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},se=["aria-hidden","aria-label"],re=["fill","width","height"],ce={d:"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 2L6.46 7.46L7.88 8.88L11 5.75V15H13V5.75L16.13 8.88L17.55 7.45L12 2Z"},de={key:0};function pe(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon tray-arrow-up-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",ce,[t.title?(l(),d("title",de,m(t.title),1)):C("",!0)])],8,re))],16,se)}const $=w(ne,[["render",pe]]),me={class:"download-button"},ue={class:"download-button__label"},ve=U({__name:"ExampleContentDownloadButton",props:{href:{}},setup(a){return(e,t)=>(l(),V(k(S),{variant:"tertiary",href:a.href},{icon:i(()=>[B(e.$slots,"icon",{},void 0,!0)]),default:i(()=>[u("div",me,[u("span",ue,[B(e.$slots,"default",{},void 0,!0)]),n(T,{class:"download-button__icon",size:20})])]),_:3},8,["href"]))}}),O=w(ve,[["__scopeId","data-v-be40807a"]]),he=D("dav","enableDefaultContact",!1),fe=D("dav","hasCustomDefaultContact",!1),ge={name:"ExampleContactSettings",components:{NcDialog:L,NcButton:S,NcCheckboxRadioSwitch:H,IconUpload:$,IconRestore:R,IconAccount:Y,ExampleContentDownloadButton:O},setup(){return{t:c}},data(){return{enableDefaultContact:he,hasCustomDefaultContact:fe,isModalOpen:!1,loading:!1,buttons:[{label:c("dav","Cancel"),icon:G,callback:()=>{this.isModalOpen=!1}},{label:c("dav","Import"),icon:j,variant:"primary",callback:()=>{this.clickImportInput()}}]}},computed:{downloadUrl(){return g("/apps/dav/api/defaultcontact/contact")}},methods:{updateEnableDefaultContact(){x.put(g("apps/dav/api/defaultcontact/config"),{allow:!this.enableDefaultContact}).then(()=>{this.enableDefaultContact=!this.enableDefaultContact}).catch(()=>{y(c("dav","Error while saving settings"))})},toggleModal(){this.isModalOpen=!this.isModalOpen},clickImportInput(){this.$refs.exampleContactImportInput.click()},resetContact(){this.loading=!0,x.put(g("/apps/dav/api/defaultcontact/contact")).then(()=>{this.hasCustomDefaultContact=!1,I(c("dav","Contact reset successfully"))}).catch(a=>{_.error("Error importing contact:",{error:a}),y(c("dav","Error while resetting contact"))}).finally(()=>{this.loading=!1})},processFile(a){this.loading=!0;const e=a.target.files[0],t=new FileReader;t.onload=async()=>{this.isModalOpen=!1;try{await x.put(g("/apps/dav/api/defaultcontact/contact"),{contactData:t.result}),this.hasCustomDefaultContact=!0,I(c("dav","Contact imported successfully"))}catch(s){_.error("Error importing contact:",{error:s}),y(c("dav","Error while importing contact"))}finally{this.loading=!1,a.target.value=""}},t.readAsText(e)}}},Ce={class:"example-contact-settings"},we={key:0,class:"example-contact-settings__buttons"},be=["disabled"];function xe(a,e,t,s,o,r){const v=p("NcCheckboxRadioSwitch"),N=p("IconAccount"),A=p("ExampleContentDownloadButton"),E=p("IconUpload"),b=p("NcButton"),z=p("IconRestore"),F=p("NcDialog");return l(),d("div",Ce,[n(v,{modelValue:o.enableDefaultContact,type:"switch","onUpdate:modelValue":r.updateEnableDefaultContact},{default:i(()=>[f(m(s.t("dav","Add example contact to user's address book when they first log in")),1)]),_:1},8,["modelValue","onUpdate:modelValue"]),o.enableDefaultContact?(l(),d("div",we,[n(A,{href:r.downloadUrl},{icon:i(()=>[n(N,{size:20})]),default:i(()=>[e[2]||(e[2]=f(" example_contact.vcf ",-1))]),_:1},8,["href"]),n(b,{variant:"secondary",onClick:r.toggleModal},{icon:i(()=>[n(E,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Import contact")),1)]),_:1},8,["onClick"]),o.hasCustomDefaultContact?(l(),V(b,{key:0,variant:"tertiary",onClick:r.resetContact},{icon:i(()=>[n(z,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Reset to default")),1)]),_:1},8,["onClick"])):C("",!0)])):C("",!0),n(F,{open:o.isModalOpen,"onUpdate:open":e[0]||(e[0]=h=>o.isModalOpen=h),name:s.t("dav","Import contacts"),buttons:o.buttons},{default:i(()=>[u("div",null,[u("p",null,m(s.t("dav","Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?")),1)])]),_:1},8,["open","name","buttons"]),u("input",{id:"example-contact-import",ref:"exampleContactImportInput",disabled:o.loading,type:"file",accept:".vcf",class:"hidden-visually",onChange:e[1]||(e[1]=(...h)=>r.processFile&&r.processFile(...h))},null,40,be)])}const ye=w(ge,[["render",xe],["__scopeId","data-v-db8b0002"]]),_e={name:"CalendarBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ee=["aria-hidden","aria-label"],ke=["fill","width","height"],Ie={d:"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1"},De={key:0};function Me(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-blank-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",Ie,[t.title?(l(),d("title",De,m(t.title),1)):C("",!0)])],8,ke))],16,Ee)}const Ve=w(_e,[["render",Me]]);async function Ne(a){const e=g("/apps/dav/api/exampleEvent/enable");await x.post(e,{enable:a})}async function Ae(a){const e=g("/apps/dav/api/exampleEvent/event");await x.post(e,{ics:a})}async function ze(){const a=g("/apps/dav/api/exampleEvent/event");await x.delete(a)}const Fe={name:"ExampleEventSettings",components:{NcButton:S,NcCheckboxRadioSwitch:H,NcDialog:L,IconCalendarBlank:Ve,IconUpload:$,IconRestore:R,ExampleContentDownloadButton:O},setup(){return{t:c}},data(){return{createExampleEvent:D("dav","create_example_event",!1),hasCustomEvent:D("dav","has_custom_example_event",!1),showImportModal:!1,uploading:!1,deleting:!1,savingConfig:!1,selectedFile:void 0}},computed:{downloadUrl(){return g("/apps/dav/api/exampleEvent/event")}},methods:{selectFile(){this.selectedFile=this.$refs["event-file"]?.files[0]},async updateCreateExampleEvent(){this.savingConfig=!0;const a=!this.createExampleEvent;try{await Ne(a)}catch(e){y(c("dav","Failed to save example event creation setting")),_.error("Failed to save example event creation setting",{error:e,enable:a})}finally{this.savingConfig=!1}this.createExampleEvent=a},uploadCustomEvent(){if(!this.selectedFile)return;this.uploading=!0;const a=new FileReader;a.addEventListener("load",async()=>{const e=a.result;try{await Ae(e)}catch(t){y(c("dav","Failed to upload the example event")),_.error("Failed to upload example ICS",{error:t,ics:e});return}finally{this.uploading=!1}I(c("dav","Custom example event was saved successfully")),this.showImportModal=!1,this.hasCustomEvent=!0}),a.readAsText(this.selectedFile)},async deleteCustomEvent(){this.deleting=!0;try{await ze()}catch(a){y(c("dav","Failed to delete the custom example event")),_.error("Failed to delete the custom example event",{error:a});return}finally{this.deleting=!1}I(c("dav","Custom example event was deleted successfully")),this.hasCustomEvent=!1}}},Se={class:"example-event-settings"},Be={key:0,class:"example-event-settings__buttons"},Ue={class:"import-event-modal"},He=["disabled"],Le={class:"import-event-modal__buttons"};function Re(a,e,t,s,o,r){const v=p("NcCheckboxRadioSwitch"),N=p("IconCalendarBlank"),A=p("ExampleContentDownloadButton"),E=p("IconUpload"),b=p("NcButton"),z=p("IconRestore"),F=p("NcDialog");return l(),d("div",Se,[n(v,{modelValue:o.createExampleEvent,disabled:o.savingConfig,type:"switch","onUpdate:modelValue":r.updateCreateExampleEvent},{default:i(()=>[f(m(s.t("dav","Add example event to user's calendar when they first log in")),1)]),_:1},8,["modelValue","disabled","onUpdate:modelValue"]),o.createExampleEvent?(l(),d("div",Be,[n(A,{href:r.downloadUrl},{icon:i(()=>[n(N,{size:20})]),default:i(()=>[e[4]||(e[4]=f(" example_event.ics ",-1))]),_:1},8,["href"]),n(b,{variant:"secondary",onClick:e[0]||(e[0]=h=>o.showImportModal=!0)},{icon:i(()=>[n(E,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Import calendar event")),1)]),_:1}),o.hasCustomEvent?(l(),V(b,{key:0,variant:"tertiary",disabled:o.deleting,onClick:r.deleteCustomEvent},{icon:i(()=>[n(z,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Reset to default")),1)]),_:1},8,["disabled","onClick"])):C("",!0)])):C("",!0),n(F,{open:o.showImportModal,"onUpdate:open":e[3]||(e[3]=h=>o.showImportModal=h),name:s.t("dav","Import calendar event")},{default:i(()=>[u("div",Ue,[u("p",null,m(s.t("dav","Uploading a new event will overwrite the existing one.")),1),u("input",{ref:"event-file",disabled:o.uploading,type:"file",accept:".ics,text/calendar",class:"import-event-modal__file-picker",onChange:e[1]||(e[1]=(...h)=>r.selectFile&&r.selectFile(...h))},null,40,He),u("div",Le,[n(b,{disabled:o.uploading||!o.selectedFile,variant:"primary",onClick:e[2]||(e[2]=h=>r.uploadCustomEvent())},{icon:i(()=>[n(E,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Upload event")),1)]),_:1},8,["disabled"])])])]),_:1},8,["open","name"])])}const $e=w(Fe,[["render",Re],["__scopeId","data-v-88fee128"]]),Oe=U({__name:"ExampleContentSettingsSection",setup(a){return(e,t)=>(l(),V(k(q),{id:"example-content",name:k(c)("dav","Example content"),description:k(c)("dav","Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content.")},{default:i(()=>[n(ye),n($e)]),_:1},8,["name","description"]))}}),Ze=Z(Oe);Ze.mount("#settings-example-content"); +import{o as l,f as d,g as u,t as m,h as C,m as M,b as U,c as V,u as k,w as i,i as B,k as n,r as p,j as f,e as Z}from"./Web-X6XNrbMx.chunk.mjs";import{t as c}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as S}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import{b as g}from"./index-BRcsAfAF.chunk.mjs";import{N as H}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import{D as T,s as j}from"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{N as L}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import{c as x}from"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import{N as q}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{d as I,a as y}from"./index-9np_X5jS.chunk.mjs";import{_ as w,l as D}from"./public-C1mLBHT3.chunk.mjs";import{l as _}from"./logger-BweUpY17.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const G='',J={name:"AccountIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},K=["aria-hidden","aria-label"],P=["fill","width","height"],Q={d:"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"},W={key:0};function X(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon account-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",Q,[t.title?(l(),d("title",W,m(t.title),1)):C("",!0)])],8,P))],16,K)}const Y=w(J,[["render",X]]),ee={name:"RestoreIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},te=["aria-hidden","aria-label"],ae=["fill","width","height"],oe={d:"M13,3A9,9 0 0,0 4,12H1L4.89,15.89L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3Z"},ie={key:0};function le(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon restore-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",oe,[t.title?(l(),d("title",ie,m(t.title),1)):C("",!0)])],8,ae))],16,te)}const R=w(ee,[["render",le]]),ne={name:"TrayArrowUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},se=["aria-hidden","aria-label"],re=["fill","width","height"],ce={d:"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 2L6.46 7.46L7.88 8.88L11 5.75V15H13V5.75L16.13 8.88L17.55 7.45L12 2Z"},de={key:0};function pe(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon tray-arrow-up-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",ce,[t.title?(l(),d("title",de,m(t.title),1)):C("",!0)])],8,re))],16,se)}const $=w(ne,[["render",pe]]),me={class:"download-button"},ue={class:"download-button__label"},ve=U({__name:"ExampleContentDownloadButton",props:{href:{}},setup(a){return(e,t)=>(l(),V(k(S),{variant:"tertiary",href:a.href},{icon:i(()=>[B(e.$slots,"icon",{},void 0,!0)]),default:i(()=>[u("div",me,[u("span",ue,[B(e.$slots,"default",{},void 0,!0)]),n(T,{class:"download-button__icon",size:20})])]),_:3},8,["href"]))}}),O=w(ve,[["__scopeId","data-v-be40807a"]]),he=D("dav","enableDefaultContact",!1),fe=D("dav","hasCustomDefaultContact",!1),ge={name:"ExampleContactSettings",components:{NcDialog:L,NcButton:S,NcCheckboxRadioSwitch:H,IconUpload:$,IconRestore:R,IconAccount:Y,ExampleContentDownloadButton:O},setup(){return{t:c}},data(){return{enableDefaultContact:he,hasCustomDefaultContact:fe,isModalOpen:!1,loading:!1,buttons:[{label:c("dav","Cancel"),icon:G,callback:()=>{this.isModalOpen=!1}},{label:c("dav","Import"),icon:j,variant:"primary",callback:()=>{this.clickImportInput()}}]}},computed:{downloadUrl(){return g("/apps/dav/api/defaultcontact/contact")}},methods:{updateEnableDefaultContact(){x.put(g("apps/dav/api/defaultcontact/config"),{allow:!this.enableDefaultContact}).then(()=>{this.enableDefaultContact=!this.enableDefaultContact}).catch(()=>{y(c("dav","Error while saving settings"))})},toggleModal(){this.isModalOpen=!this.isModalOpen},clickImportInput(){this.$refs.exampleContactImportInput.click()},resetContact(){this.loading=!0,x.put(g("/apps/dav/api/defaultcontact/contact")).then(()=>{this.hasCustomDefaultContact=!1,I(c("dav","Contact reset successfully"))}).catch(a=>{_.error("Error importing contact:",{error:a}),y(c("dav","Error while resetting contact"))}).finally(()=>{this.loading=!1})},processFile(a){this.loading=!0;const e=a.target.files[0],t=new FileReader;t.onload=async()=>{this.isModalOpen=!1;try{await x.put(g("/apps/dav/api/defaultcontact/contact"),{contactData:t.result}),this.hasCustomDefaultContact=!0,I(c("dav","Contact imported successfully"))}catch(s){_.error("Error importing contact:",{error:s}),y(c("dav","Error while importing contact"))}finally{this.loading=!1,a.target.value=""}},t.readAsText(e)}}},Ce={class:"example-contact-settings"},we={key:0,class:"example-contact-settings__buttons"},be=["disabled"];function xe(a,e,t,s,o,r){const v=p("NcCheckboxRadioSwitch"),N=p("IconAccount"),A=p("ExampleContentDownloadButton"),E=p("IconUpload"),b=p("NcButton"),z=p("IconRestore"),F=p("NcDialog");return l(),d("div",Ce,[n(v,{modelValue:o.enableDefaultContact,type:"switch","onUpdate:modelValue":r.updateEnableDefaultContact},{default:i(()=>[f(m(s.t("dav","Add example contact to user's address book when they first log in")),1)]),_:1},8,["modelValue","onUpdate:modelValue"]),o.enableDefaultContact?(l(),d("div",we,[n(A,{href:r.downloadUrl},{icon:i(()=>[n(N,{size:20})]),default:i(()=>[e[2]||(e[2]=f(" example_contact.vcf ",-1))]),_:1},8,["href"]),n(b,{variant:"secondary",onClick:r.toggleModal},{icon:i(()=>[n(E,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Import contact")),1)]),_:1},8,["onClick"]),o.hasCustomDefaultContact?(l(),V(b,{key:0,variant:"tertiary",onClick:r.resetContact},{icon:i(()=>[n(z,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Reset to default")),1)]),_:1},8,["onClick"])):C("",!0)])):C("",!0),n(F,{open:o.isModalOpen,"onUpdate:open":e[0]||(e[0]=h=>o.isModalOpen=h),name:s.t("dav","Import contacts"),buttons:o.buttons},{default:i(()=>[u("div",null,[u("p",null,m(s.t("dav","Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?")),1)])]),_:1},8,["open","name","buttons"]),u("input",{id:"example-contact-import",ref:"exampleContactImportInput",disabled:o.loading,type:"file",accept:".vcf",class:"hidden-visually",onChange:e[1]||(e[1]=(...h)=>r.processFile&&r.processFile(...h))},null,40,be)])}const ye=w(ge,[["render",xe],["__scopeId","data-v-db8b0002"]]),_e={name:"CalendarBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ee=["aria-hidden","aria-label"],ke=["fill","width","height"],Ie={d:"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1"},De={key:0};function Me(a,e,t,s,o,r){return l(),d("span",M(a.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-blank-icon",role:"img",onClick:e[0]||(e[0]=v=>a.$emit("click",v))}),[(l(),d("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[u("path",Ie,[t.title?(l(),d("title",De,m(t.title),1)):C("",!0)])],8,ke))],16,Ee)}const Ve=w(_e,[["render",Me]]);async function Ne(a){const e=g("/apps/dav/api/exampleEvent/enable");await x.post(e,{enable:a})}async function Ae(a){const e=g("/apps/dav/api/exampleEvent/event");await x.post(e,{ics:a})}async function ze(){const a=g("/apps/dav/api/exampleEvent/event");await x.delete(a)}const Fe={name:"ExampleEventSettings",components:{NcButton:S,NcCheckboxRadioSwitch:H,NcDialog:L,IconCalendarBlank:Ve,IconUpload:$,IconRestore:R,ExampleContentDownloadButton:O},setup(){return{t:c}},data(){return{createExampleEvent:D("dav","create_example_event",!1),hasCustomEvent:D("dav","has_custom_example_event",!1),showImportModal:!1,uploading:!1,deleting:!1,savingConfig:!1,selectedFile:void 0}},computed:{downloadUrl(){return g("/apps/dav/api/exampleEvent/event")}},methods:{selectFile(){this.selectedFile=this.$refs["event-file"]?.files[0]},async updateCreateExampleEvent(){this.savingConfig=!0;const a=!this.createExampleEvent;try{await Ne(a)}catch(e){y(c("dav","Failed to save example event creation setting")),_.error("Failed to save example event creation setting",{error:e,enable:a})}finally{this.savingConfig=!1}this.createExampleEvent=a},uploadCustomEvent(){if(!this.selectedFile)return;this.uploading=!0;const a=new FileReader;a.addEventListener("load",async()=>{const e=a.result;try{await Ae(e)}catch(t){y(c("dav","Failed to upload the example event")),_.error("Failed to upload example ICS",{error:t,ics:e});return}finally{this.uploading=!1}I(c("dav","Custom example event was saved successfully")),this.showImportModal=!1,this.hasCustomEvent=!0}),a.readAsText(this.selectedFile)},async deleteCustomEvent(){this.deleting=!0;try{await ze()}catch(a){y(c("dav","Failed to delete the custom example event")),_.error("Failed to delete the custom example event",{error:a});return}finally{this.deleting=!1}I(c("dav","Custom example event was deleted successfully")),this.hasCustomEvent=!1}}},Se={class:"example-event-settings"},Be={key:0,class:"example-event-settings__buttons"},Ue={class:"import-event-modal"},He=["disabled"],Le={class:"import-event-modal__buttons"};function Re(a,e,t,s,o,r){const v=p("NcCheckboxRadioSwitch"),N=p("IconCalendarBlank"),A=p("ExampleContentDownloadButton"),E=p("IconUpload"),b=p("NcButton"),z=p("IconRestore"),F=p("NcDialog");return l(),d("div",Se,[n(v,{modelValue:o.createExampleEvent,disabled:o.savingConfig,type:"switch","onUpdate:modelValue":r.updateCreateExampleEvent},{default:i(()=>[f(m(s.t("dav","Add example event to user's calendar when they first log in")),1)]),_:1},8,["modelValue","disabled","onUpdate:modelValue"]),o.createExampleEvent?(l(),d("div",Be,[n(A,{href:r.downloadUrl},{icon:i(()=>[n(N,{size:20})]),default:i(()=>[e[4]||(e[4]=f(" example_event.ics ",-1))]),_:1},8,["href"]),n(b,{variant:"secondary",onClick:e[0]||(e[0]=h=>o.showImportModal=!0)},{icon:i(()=>[n(E,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Import calendar event")),1)]),_:1}),o.hasCustomEvent?(l(),V(b,{key:0,variant:"tertiary",disabled:o.deleting,onClick:r.deleteCustomEvent},{icon:i(()=>[n(z,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Reset to default")),1)]),_:1},8,["disabled","onClick"])):C("",!0)])):C("",!0),n(F,{open:o.showImportModal,"onUpdate:open":e[3]||(e[3]=h=>o.showImportModal=h),name:s.t("dav","Import calendar event")},{default:i(()=>[u("div",Ue,[u("p",null,m(s.t("dav","Uploading a new event will overwrite the existing one.")),1),u("input",{ref:"event-file",disabled:o.uploading,type:"file",accept:".ics,text/calendar",class:"import-event-modal__file-picker",onChange:e[1]||(e[1]=(...h)=>r.selectFile&&r.selectFile(...h))},null,40,He),u("div",Le,[n(b,{disabled:o.uploading||!o.selectedFile,variant:"primary",onClick:e[2]||(e[2]=h=>r.uploadCustomEvent())},{icon:i(()=>[n(E,{size:20})]),default:i(()=>[f(" "+m(s.t("dav","Upload event")),1)]),_:1},8,["disabled"])])])]),_:1},8,["open","name"])])}const $e=w(Fe,[["render",Re],["__scopeId","data-v-88fee128"]]),Oe=U({__name:"ExampleContentSettingsSection",setup(a){return(e,t)=>(l(),V(k(q),{id:"example-content",name:k(c)("dav","Example content"),description:k(c)("dav","Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content.")},{default:i(()=>[n(ye),n($e)]),_:1},8,["name","description"]))}}),Ze=Z(Oe);Ze.mount("#settings-example-content"); //# sourceMappingURL=dav-settings-admin-example-content.mjs.map diff --git a/dist/dav-settings-personal-availability.mjs b/dist/dav-settings-personal-availability.mjs index 91cf363417ec2..0960283120c80 100644 --- a/dist/dav-settings-personal-availability.mjs +++ b/dist/dav-settings-personal-availability.mjs @@ -1,4 +1,4 @@ -import{r as G,o as B,f as H,g as Q,k as v,y as dt,t as et,w as st,j as vt,L as Ae,F as Ft,B as Gt,c as Pt,h as de,b as ce,l as St,S as ge,u as _,e as De}from"./Web-X6XNrbMx.chunk.mjs";import{_ as he,l as jt,g as _e}from"./public-C1mLBHT3.chunk.mjs";import{t as D}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as Kt}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{d as Ee,c as mt,a as Lt,g as be,h as Ue,o as Ce,e as Ye}from"./index-BRcsAfAF.chunk.mjs";import{c as ft}from"./index-CfIbVNTc.chunk.mjs";import{d as zt,a as Ot}from"./index--CXeJKGn.chunk.mjs";import{S as ve}from"./ShareType-suoNfd7y.chunk.mjs";import{N as Ht}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as me}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import{N as Oe,a as we}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{_ as Me}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{l as W}from"./logger-BweUpY17.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{m as Ne}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{D as xe}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as Ie}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{P as ke}from"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{z as Be,_ as Pe}from"./index-PbTIJ1eH.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";function qt(r){const t=r.getFullYear(),e=(r.getMonth()+1).toString().padStart(2,"0"),s=r.getDate().toString().padStart(2,"0");return`${t}-${e}-${s}`}const Le="_absenceForm_1i2bj_2",ze="_absenceForm__pickerContainer_1i2bj_8",Ve="_absenceForm__picker_1i2bj_8",je="_absenceForm__longMessage_1i2bj_22",He="_absenceForm__longMessageContainer_1i2bj_26",Re="_absenceForm__actions_1i2bj_33",We={absenceForm:Le,absenceForm__pickerContainer:ze,absenceForm__picker:Ve,absenceForm__longMessage:je,absenceForm__longMessageContainer:He,absenceForm__actions:Re};function Zt(r){const t=r.getTimezoneOffset()*60*1e3;return new Date(r.getTime()+t)}const Fe={name:"AbsenceForm",components:{NcButton:Ht,NcTextField:Me,NcTextArea:we,NcDateTimePickerNative:me,NcSelectUsers:Oe},setup(){return{t:D}},data(){const{firstDay:r,lastDay:t,status:e,message:s,replacementUserId:a,replacementUserDisplayName:i}=jt("dav","absence",{}),o=r?new Date(r):new Date,n=Zt(o),l=t?Zt(new Date(t)):null;return{loading:!1,status:e??"",message:s??"",firstDay:n,lastDay:l,replacementUserId:a,replacementUser:a?{user:a,displayName:i}:null,searchLoading:!1,options:[]}},computed:{valid(){const r=new Date(this.firstDay?.getTime()),t=new Date(this.lastDay?.getTime());return r?.setHours(0,0,0,0),t?.setHours(0,0,0,0),!!this.firstDay&&!!this.lastDay&&!!this.status&&!!this.message&&t>=r}},methods:{resetForm(){this.status="",this.message="",this.firstDay=new Date,this.lastDay=null},formatForMultiselect(r){return{user:r.uuid||r.value.shareWith,displayName:r.name||r.label,subtitle:r.dsc|""}},async asyncFind(r){this.searchLoading=!0,await this.debounceGetSuggestions(r.trim())},async getSuggestions(r){const t=[ve.User];let e;try{e=await ft.get(mt("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"file",search:r,shareType:t}})}catch(d){W.error("Error fetching suggestions",{error:d});return}const s=e.data.ocs.data,a=e.data.ocs.data.exact;s.exact=[];const i=a.users,o=s.users;W.info("AbsenceForm raw suggestions",{rawExactSuggestions:i,rawSuggestions:o});const n=i.map(d=>this.formatForMultiselect(d)),l=o.map(d=>this.formatForMultiselect(d)),u=n.concat(l),c=u.reduce((d,m)=>(m.displayName&&(d[m.displayName]||(d[m.displayName]=0),d[m.displayName]++),d),{});this.options=u.map(d=>c[d.displayName]>1&&!d.desc?{...d,desc:d.shareWithDisplayNameUnique}:d),this.searchLoading=!1,W.info("AbsenseForm suggestions",{options:this.options})},debounceGetSuggestions:Ee(function(...r){this.getSuggestions(...r)},300),async saveForm(){if(this.valid){this.loading=!0;try{await ft.post(mt("/apps/dav/api/v1/outOfOffice/{userId}",{userId:Lt().uid}),{firstDay:qt(this.firstDay),lastDay:qt(this.lastDay),status:this.status,message:this.message,replacementUserId:this.replacementUser?.user??null}),zt(D("dav","Absence saved"))}catch(r){Ot(D("dav","Failed to save your absence settings")),W.error("Could not save absence",{error:r})}finally{this.loading=!1}}},async clearAbsence(){this.loading=!0;try{await ft.delete(mt("/apps/dav/api/v1/outOfOffice/{userId}",{userId:Lt().uid})),this.resetForm(),zt(D("dav","Absence cleared"))}catch(r){Ot(D("dav","Failed to clear your absence settings")),W.error("Could not clear absence",{error:r})}finally{this.loading=!1}}}},Ge={for:"replacement-search-input"};function Ke(r,t,e,s,a,i){const o=G("NcDateTimePickerNative"),n=G("NcSelectUsers"),l=G("NcTextField"),u=G("NcTextArea"),c=G("NcButton");return B(),H("form",{class:dt(r.$style.absenceForm),onSubmit:t[5]||(t[5]=Ae((...d)=>i.saveForm&&i.saveForm(...d),["prevent"]))},[Q("div",{class:dt(r.$style.absenceForm__pickerContainer)},[v(o,{id:"absence-first-day",modelValue:a.firstDay,"onUpdate:modelValue":t[0]||(t[0]=d=>a.firstDay=d),class:dt(r.$style.absenceForm__picker),label:s.t("dav","First day"),required:""},null,8,["modelValue","class","label"]),v(o,{id:"absence-last-day",modelValue:a.lastDay,"onUpdate:modelValue":t[1]||(t[1]=d=>a.lastDay=d),class:dt(r.$style.absenceForm__picker),label:s.t("dav","Last day (inclusive)"),required:""},null,8,["modelValue","class","label"])],2),Q("label",Ge,et(s.t("dav","Out of office replacement (optional)")),1),v(n,{modelValue:a.replacementUser,"onUpdate:modelValue":t[2]||(t[2]=d=>a.replacementUser=d),inputId:"replacement-search-input",loading:a.searchLoading,placeholder:s.t("dav","Name of the replacement"),options:a.options,onSearch:i.asyncFind},null,8,["modelValue","loading","placeholder","options","onSearch"]),v(l,{modelValue:a.status,"onUpdate:modelValue":t[3]||(t[3]=d=>a.status=d),label:s.t("dav","Short absence status"),required:!0},null,8,["modelValue","label"]),Q("div",{class:dt(r.$style.absenceForm__longMessageContainer)},[v(u,{modelValue:a.message,"onUpdate:modelValue":t[4]||(t[4]=d=>a.message=d),inputClass:r.$style.absenceForm__longMessage,label:s.t("dav","Long absence Message"),required:"",resize:"none",rows:"6"},null,8,["modelValue","inputClass","label"])],2),Q("div",{class:dt(r.$style.absenceForm__actions)},[v(c,{disabled:a.loading||!i.valid,variant:"primary",type:"submit"},{default:st(()=>[vt(et(s.t("dav","Save")),1)]),_:1},8,["disabled"]),v(c,{disabled:a.loading||!i.valid,variant:"error",onClick:i.clearAbsence},{default:st(()=>[vt(et(s.t("dav","Disable absence")),1)]),_:1},8,["disabled","onClick"])],2)],34)}const qe={$style:We},Ze=he(Fe,[["render",Ke],["__cssModules",qe]]);var at={},ct={},Jt;function Je(){return Jt||(Jt=1,Object.defineProperty(ct,"__esModule",{value:!0}),ct.zonesMap=ct.defaultStart=void 0,ct.defaultStart="19700101T000000",ct.zonesMap=new Map([["Africa/Abidjan",{s:{f:"+0000",n:"GMT"}}],["Africa/Accra",{s:{f:"+0000",n:"GMT"}}],["Africa/Addis_Ababa",{s:{f:"+0300",n:"EAT"}}],["Africa/Algiers",{s:{f:"+0100",n:"CET"}}],["Africa/Asmara",{s:{f:"+0300",n:"EAT"}}],["Africa/Bamako",{s:{f:"+0000",n:"GMT"}}],["Africa/Bangui",{s:{f:"+0100",n:"WAT"}}],["Africa/Banjul",{s:{f:"+0000",n:"GMT"}}],["Africa/Bissau",{s:{f:"+0000",n:"GMT"}}],["Africa/Blantyre",{s:{f:"+0200",n:"CAT"}}],["Africa/Brazzaville",{s:{f:"+0100",n:"WAT"}}],["Africa/Bujumbura",{s:{f:"+0200",n:"CAT"}}],["Africa/Cairo",{s:{f:"+0200",n:"EET"}}],["Africa/Casablanca",{s:{f:"+0100",n:"+01"}}],["Africa/Ceuta",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Africa/Conakry",{s:{f:"+0000",n:"GMT"}}],["Africa/Dakar",{s:{f:"+0000",n:"GMT"}}],["Africa/Dar_es_Salaam",{s:{f:"+0300",n:"EAT"}}],["Africa/Djibouti",{s:{f:"+0300",n:"EAT"}}],["Africa/Douala",{s:{f:"+0100",n:"WAT"}}],["Africa/El_Aaiun",{s:{f:"+0100",n:"+01"}}],["Africa/Freetown",{s:{f:"+0000",n:"GMT"}}],["Africa/Gaborone",{s:{f:"+0200",n:"CAT"}}],["Africa/Harare",{s:{f:"+0200",n:"CAT"}}],["Africa/Johannesburg",{s:{f:"+0200",n:"SAST"}}],["Africa/Juba",{s:{f:"+0300",n:"EAT"}}],["Africa/Kampala",{s:{f:"+0300",n:"EAT"}}],["Africa/Khartoum",{s:{f:"+0200",n:"CAT"}}],["Africa/Kigali",{s:{f:"+0200",n:"CAT"}}],["Africa/Kinshasa",{s:{f:"+0100",n:"WAT"}}],["Africa/Lagos",{s:{f:"+0100",n:"WAT"}}],["Africa/Libreville",{s:{f:"+0100",n:"WAT"}}],["Africa/Lome",{s:{f:"+0000",n:"GMT"}}],["Africa/Luanda",{s:{f:"+0100",n:"WAT"}}],["Africa/Lubumbashi",{s:{f:"+0200",n:"CAT"}}],["Africa/Lusaka",{s:{f:"+0200",n:"CAT"}}],["Africa/Malabo",{s:{f:"+0100",n:"WAT"}}],["Africa/Maputo",{s:{f:"+0200",n:"CAT"}}],["Africa/Maseru",{s:{f:"+0200",n:"SAST"}}],["Africa/Mbabane",{s:{f:"+0200",n:"SAST"}}],["Africa/Mogadishu",{s:{f:"+0300",n:"EAT"}}],["Africa/Monrovia",{s:{f:"+0000",n:"GMT"}}],["Africa/Nairobi",{s:{f:"+0300",n:"EAT"}}],["Africa/Ndjamena",{s:{f:"+0100",n:"WAT"}}],["Africa/Niamey",{s:{f:"+0100",n:"WAT"}}],["Africa/Nouakchott",{s:{f:"+0000",n:"GMT"}}],["Africa/Ouagadougou",{s:{f:"+0000",n:"GMT"}}],["Africa/Porto-Novo",{s:{f:"+0100",n:"WAT"}}],["Africa/Sao_Tome",{s:{f:"+0100",n:"WAT"}}],["Africa/Tripoli",{s:{f:"+0200",n:"EET"}}],["Africa/Tunis",{s:{f:"+0100",n:"CET"}}],["Africa/Windhoek",{s:{f:"+0200",n:"CAT"}}],["America/Adak",{s:{f:"-0900",t:"-1000",n:"HST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-1000",t:"-0900",n:"HDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Anchorage",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Anguilla",{s:{f:"-0400",n:"AST"}}],["America/Antigua",{s:{f:"-0400",n:"AST"}}],["America/Araguaina",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Buenos_Aires",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Catamarca",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Cordoba",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Jujuy",{s:{f:"-0300",n:"-03"}}],["America/Argentina/La_Rioja",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Mendoza",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Rio_Gallegos",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Salta",{s:{f:"-0300",n:"-03"}}],["America/Argentina/San_Juan",{s:{f:"-0300",n:"-03"}}],["America/Argentina/San_Luis",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Tucuman",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Ushuaia",{s:{f:"-0300",n:"-03"}}],["America/Aruba",{s:{f:"-0400",n:"AST"}}],["America/Asuncion",{s:{f:"-0300",t:"-0400",n:"-04",s:"19700322T000000",r:{m:3,d:"4SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701004T000000",r:{m:10,d:"1SU"}}}],["America/Atikokan",{s:{f:"-0500",n:"EST"}}],["America/Bahia_Banderas",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Bahia",{s:{f:"-0300",n:"-03"}}],["America/Barbados",{s:{f:"-0400",n:"AST"}}],["America/Belem",{s:{f:"-0300",n:"-03"}}],["America/Belize",{s:{f:"-0600",n:"CST"}}],["America/Blanc-Sablon",{s:{f:"-0400",n:"AST"}}],["America/Boa_Vista",{s:{f:"-0400",n:"-04"}}],["America/Bogota",{s:{f:"-0500",n:"-05"}}],["America/Boise",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Cambridge_Bay",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Campo_Grande",{s:{f:"-0400",n:"-04",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Cancun",{s:{f:"-0500",n:"EST"}}],["America/Caracas",{s:{f:"-0400",n:"-04"}}],["America/Cayenne",{s:{f:"-0300",n:"-03"}}],["America/Cayman",{s:{f:"-0500",n:"EST"}}],["America/Chicago",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Chihuahua",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Costa_Rica",{s:{f:"-0600",n:"CST"}}],["America/Creston",{s:{f:"-0700",n:"MST"}}],["America/Cuiaba",{s:{f:"-0400",n:"-04",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Curacao",{s:{f:"-0400",n:"AST"}}],["America/Danmarkshavn",{s:{f:"+0000",n:"GMT"}}],["America/Dawson_Creek",{s:{f:"-0700",n:"MST"}}],["America/Dawson",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Denver",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Detroit",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Dominica",{s:{f:"-0400",n:"AST"}}],["America/Edmonton",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Eirunepe",{s:{f:"-0500",n:"-05"}}],["America/El_Salvador",{s:{f:"-0600",n:"CST"}}],["America/Fort_Nelson",{s:{f:"-0700",n:"MST"}}],["America/Fortaleza",{s:{f:"-0300",n:"-03"}}],["America/Glace_Bay",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Godthab",{s:{f:"-0200",t:"-0300",n:"-03",s:"19701024T230000",r:{m:10,d:"-1SA"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19700328T220000",r:{m:3,d:"-1SA"}}}],["America/Goose_Bay",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Grand_Turk",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Grenada",{s:{f:"-0400",n:"AST"}}],["America/Guadeloupe",{s:{f:"-0400",n:"AST"}}],["America/Guatemala",{s:{f:"-0600",n:"CST"}}],["America/Guayaquil",{s:{f:"-0500",n:"-05"}}],["America/Guyana",{s:{f:"-0400",n:"-04"}}],["America/Halifax",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Havana",{s:{f:"-0400",t:"-0500",n:"CST",s:"19701101T010000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"CDT",s:"19700308T000000",r:{m:3,d:"2SU"}}}],["America/Hermosillo",{s:{f:"-0700",n:"MST"}}],["America/Indiana/Indianapolis",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Knox",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Marengo",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Petersburg",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Tell_City",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Vevay",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Vincennes",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Winamac",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Inuvik",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Iqaluit",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Jamaica",{s:{f:"-0500",n:"EST"}}],["America/Juneau",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kentucky/Louisville",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kentucky/Monticello",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kralendijk",{s:{f:"-0400",n:"AST"}}],["America/La_Paz",{s:{f:"-0400",n:"-04"}}],["America/Lima",{s:{f:"-0500",n:"-05"}}],["America/Los_Angeles",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Lower_Princes",{s:{f:"-0400",n:"AST"}}],["America/Maceio",{s:{f:"-0300",n:"-03"}}],["America/Managua",{s:{f:"-0600",n:"CST"}}],["America/Manaus",{s:{f:"-0400",n:"-04"}}],["America/Marigot",{s:{f:"-0400",n:"AST"}}],["America/Martinique",{s:{f:"-0400",n:"AST"}}],["America/Matamoros",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Mazatlan",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Menominee",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Merida",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Metlakatla",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Mexico_City",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Miquelon",{s:{f:"-0200",t:"-0300",n:"-03",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Moncton",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Monterrey",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Montevideo",{s:{f:"-0300",n:"-03"}}],["America/Montserrat",{s:{f:"-0400",n:"AST"}}],["America/Nassau",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/New_York",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Nipigon",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Nome",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Noronha",{s:{f:"-0200",n:"-02"}}],["America/North_Dakota/Beulah",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/North_Dakota/Center",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/North_Dakota/New_Salem",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Ojinaga",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Panama",{s:{f:"-0500",n:"EST"}}],["America/Pangnirtung",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Paramaribo",{s:{f:"-0300",n:"-03"}}],["America/Phoenix",{s:{f:"-0700",n:"MST"}}],["America/Port_of_Spain",{s:{f:"-0400",n:"AST"}}],["America/Port-au-Prince",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Porto_Velho",{s:{f:"-0400",n:"-04"}}],["America/Puerto_Rico",{s:{f:"-0400",n:"AST"}}],["America/Punta_Arenas",{s:{f:"-0300",n:"-03"}}],["America/Rainy_River",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Rankin_Inlet",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Recife",{s:{f:"-0300",n:"-03"}}],["America/Regina",{s:{f:"-0600",n:"CST"}}],["America/Resolute",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Rio_Branco",{s:{f:"-0500",n:"-05"}}],["America/Santarem",{s:{f:"-0300",n:"-03"}}],["America/Santiago",{s:{f:"-0300",t:"-0400",n:"-04",s:"19700405T000000",r:{m:4,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19700906T000000",r:{m:9,d:"1SU"}}}],["America/Santo_Domingo",{s:{f:"-0400",n:"AST"}}],["America/Sao_Paulo",{s:{f:"-0300",n:"-03",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Scoresbysund",{s:{f:"+0000",t:"-0100",n:"-01",s:"19701025T010000",r:{m:10,d:"-1SU"}},d:{f:"-0100",t:"+0000",n:"+00",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["America/Sitka",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/St_Barthelemy",{s:{f:"-0400",n:"AST"}}],["America/St_Johns",{s:{f:"-0230",t:"-0330",n:"NST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0330",t:"-0230",n:"NDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/St_Kitts",{s:{f:"-0400",n:"AST"}}],["America/St_Lucia",{s:{f:"-0400",n:"AST"}}],["America/St_Thomas",{s:{f:"-0400",n:"AST"}}],["America/St_Vincent",{s:{f:"-0400",n:"AST"}}],["America/Swift_Current",{s:{f:"-0600",n:"CST"}}],["America/Tegucigalpa",{s:{f:"-0600",n:"CST"}}],["America/Thule",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Thunder_Bay",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Tijuana",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Toronto",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Tortola",{s:{f:"-0400",n:"AST"}}],["America/Vancouver",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Whitehorse",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Winnipeg",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Yakutat",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Yellowknife",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["Antarctica/Casey",{s:{f:"+0800",n:"+08"}}],["Antarctica/Davis",{s:{f:"+0700",n:"+07"}}],["Antarctica/DumontDUrville",{s:{f:"+1000",n:"+10"}}],["Antarctica/Macquarie",{s:{f:"+1100",n:"+11"}}],["Antarctica/Mawson",{s:{f:"+0500",n:"+05"}}],["Antarctica/McMurdo",{s:{f:"+1300",t:"+1200",n:"NZST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1200",t:"+1300",n:"NZDT",s:"19700927T020000",r:{m:9,d:"-1SU"}}}],["Antarctica/Palmer",{s:{f:"-0300",n:"-03"}}],["Antarctica/Rothera",{s:{f:"-0300",n:"-03"}}],["Antarctica/Syowa",{s:{f:"+0300",n:"+03"}}],["Antarctica/Troll",{s:{f:"+0200",t:"+0000",n:"+00",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0200",n:"+02",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Antarctica/Vostok",{s:{f:"+0600",n:"+06"}}],["Arctic/Longyearbyen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Asia/Aden",{s:{f:"+0300",n:"+03"}}],["Asia/Almaty",{s:{f:"+0600",n:"+06"}}],["Asia/Amman",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701030T010000",r:{m:10,d:"-1FR"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700326T235959",r:{m:3,d:"-1TH"}}}],["Asia/Anadyr",{s:{f:"+1200",n:"+12"}}],["Asia/Aqtau",{s:{f:"+0500",n:"+05"}}],["Asia/Aqtobe",{s:{f:"+0500",n:"+05"}}],["Asia/Ashgabat",{s:{f:"+0500",n:"+05"}}],["Asia/Atyrau",{s:{f:"+0500",n:"+05"}}],["Asia/Baghdad",{s:{f:"+0300",n:"+03"}}],["Asia/Bahrain",{s:{f:"+0300",n:"+03"}}],["Asia/Baku",{s:{f:"+0400",n:"+04"}}],["Asia/Bangkok",{s:{f:"+0700",n:"+07"}}],["Asia/Barnaul",{s:{f:"+0700",n:"+07"}}],["Asia/Beirut",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T000000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["Asia/Bishkek",{s:{f:"+0600",n:"+06"}}],["Asia/Brunei",{s:{f:"+0800",n:"+08"}}],["Asia/Chita",{s:{f:"+0900",n:"+09"}}],["Asia/Choibalsan",{s:{f:"+0800",n:"+08"}}],["Asia/Colombo",{s:{f:"+0530",n:"+0530"}}],["Asia/Damascus",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701030T000000",r:{m:10,d:"-1FR"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700327T000000",r:{m:3,d:"-1FR"}}}],["Asia/Dhaka",{s:{f:"+0600",n:"+06"}}],["Asia/Dili",{s:{f:"+0900",n:"+09"}}],["Asia/Dubai",{s:{f:"+0400",n:"+04"}}],["Asia/Dushanbe",{s:{f:"+0500",n:"+05"}}],["Asia/Famagusta",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Asia/Gaza",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701031T010000",r:{m:10,d:"-1SA"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700328T010000",r:{m:3,d:"4SA"}}}],["Asia/Hebron",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701031T010000",r:{m:10,d:"-1SA"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700328T010000",r:{m:3,d:"4SA"}}}],["Asia/Ho_Chi_Minh",{s:{f:"+0700",n:"+07"}}],["Asia/Hong_Kong",{s:{f:"+0800",n:"HKT"}}],["Asia/Hovd",{s:{f:"+0700",n:"+07"}}],["Asia/Irkutsk",{s:{f:"+0800",n:"+08"}}],["Asia/Istanbul",{s:{f:"+0300",n:"+03"}}],["Asia/Jakarta",{s:{f:"+0700",n:"WIB"}}],["Asia/Jayapura",{s:{f:"+0900",n:"WIT"}}],["Asia/Jerusalem",{s:{f:"+0300",t:"+0200",n:"IST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"IDT",s:"19700327T020000",r:{m:3,d:"-1FR"}}}],["Asia/Kabul",{s:{f:"+0430",n:"+0430"}}],["Asia/Kamchatka",{s:{f:"+1200",n:"+12"}}],["Asia/Karachi",{s:{f:"+0500",n:"PKT"}}],["Asia/Kathmandu",{s:{f:"+0545",n:"+0545"}}],["Asia/Khandyga",{s:{f:"+0900",n:"+09"}}],["Asia/Kolkata",{s:{f:"+0530",n:"IST"}}],["Asia/Krasnoyarsk",{s:{f:"+0700",n:"+07"}}],["Asia/Kuala_Lumpur",{s:{f:"+0800",n:"+08"}}],["Asia/Kuching",{s:{f:"+0800",n:"+08"}}],["Asia/Kuwait",{s:{f:"+0300",n:"+03"}}],["Asia/Macau",{s:{f:"+0800",n:"CST"}}],["Asia/Magadan",{s:{f:"+1100",n:"+11"}}],["Asia/Makassar",{s:{f:"+0800",n:"WITA"}}],["Asia/Manila",{s:{f:"+0800",n:"PST"}}],["Asia/Muscat",{s:{f:"+0400",n:"+04"}}],["Asia/Nicosia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Asia/Novokuznetsk",{s:{f:"+0700",n:"+07"}}],["Asia/Novosibirsk",{s:{f:"+0700",n:"+07"}}],["Asia/Omsk",{s:{f:"+0600",n:"+06"}}],["Asia/Oral",{s:{f:"+0500",n:"+05"}}],["Asia/Phnom_Penh",{s:{f:"+0700",n:"+07"}}],["Asia/Pontianak",{s:{f:"+0700",n:"WIB"}}],["Asia/Pyongyang",{s:{f:"+0900",n:"KST"}}],["Asia/Qatar",{s:{f:"+0300",n:"+03"}}],["Asia/Qyzylorda",{s:{f:"+0600",n:"+06"}}],["Asia/Riyadh",{s:{f:"+0300",n:"+03"}}],["Asia/Sakhalin",{s:{f:"+1100",n:"+11"}}],["Asia/Samarkand",{s:{f:"+0500",n:"+05"}}],["Asia/Seoul",{s:{f:"+0900",n:"KST"}}],["Asia/Shanghai",{s:{f:"+0800",n:"CST"}}],["Asia/Singapore",{s:{f:"+0800",n:"+08"}}],["Asia/Srednekolymsk",{s:{f:"+1100",n:"+11"}}],["Asia/Taipei",{s:{f:"+0800",n:"CST"}}],["Asia/Tashkent",{s:{f:"+0500",n:"+05"}}],["Asia/Tbilisi",{s:{f:"+0400",n:"+04"}}],["Asia/Tehran",{s:{f:"+0430",t:"+0330",n:"+0330",s:"19700921T000000",r:{m:9,d:"3SU"}},d:{f:"+0330",t:"+0430",n:"+0430",s:"19700321T000000",r:{m:3,d:"3SU"}}}],["Asia/Thimphu",{s:{f:"+0600",n:"+06"}}],["Asia/Tokyo",{s:{f:"+0900",n:"JST"}}],["Asia/Tomsk",{s:{f:"+0700",n:"+07"}}],["Asia/Ulaanbaatar",{s:{f:"+0800",n:"+08"}}],["Asia/Urumqi",{s:{f:"+0600",n:"+06"}}],["Asia/Ust-Nera",{s:{f:"+1000",n:"+10"}}],["Asia/Vientiane",{s:{f:"+0700",n:"+07"}}],["Asia/Vladivostok",{s:{f:"+1000",n:"+10"}}],["Asia/Yakutsk",{s:{f:"+0900",n:"+09"}}],["Asia/Yangon",{s:{f:"+0630",n:"+0630"}}],["Asia/Yekaterinburg",{s:{f:"+0500",n:"+05"}}],["Asia/Yerevan",{s:{f:"+0400",n:"+04"}}],["Atlantic/Azores",{s:{f:"+0000",t:"-0100",n:"-01",s:"19701025T010000",r:{m:10,d:"-1SU"}},d:{f:"-0100",t:"+0000",n:"+00",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["Atlantic/Bermuda",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["Atlantic/Canary",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Cape_Verde",{s:{f:"-0100",n:"-01"}}],["Atlantic/Faroe",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Madeira",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Reykjavik",{s:{f:"+0000",n:"GMT"}}],["Atlantic/South_Georgia",{s:{f:"-0200",n:"-02"}}],["Atlantic/St_Helena",{s:{f:"+0000",n:"GMT"}}],["Atlantic/Stanley",{s:{f:"-0300",n:"-03"}}],["Australia/Adelaide",{s:{f:"+1030",t:"+0930",n:"ACST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+0930",t:"+1030",n:"ACDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Brisbane",{s:{f:"+1000",n:"AEST"}}],["Australia/Broken_Hill",{s:{f:"+1030",t:"+0930",n:"ACST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+0930",t:"+1030",n:"ACDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Currie",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Darwin",{s:{f:"+0930",n:"ACST"}}],["Australia/Eucla",{s:{f:"+0845",n:"+0845"}}],["Australia/Hobart",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Lindeman",{s:{f:"+1000",n:"AEST"}}],["Australia/Lord_Howe",{s:{f:"+1100",t:"+1030",n:"+1030",s:"19700405T020000",r:{m:4,d:"1SU"}},d:{f:"+1030",t:"+1100",n:"+11",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Melbourne",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Perth",{s:{f:"+0800",n:"AWST"}}],["Australia/Sydney",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Etc/GMT-0",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT-1",{s:{f:"-0100",n:"-01"}}],["Etc/GMT-10",{s:{f:"-1000",n:"-10"}}],["Etc/GMT-11",{s:{f:"-1100",n:"-11"}}],["Etc/GMT-12",{s:{f:"-1200",n:"-12"}}],["Etc/GMT-2",{s:{f:"-0200",n:"-02"}}],["Etc/GMT-3",{s:{f:"-0300",n:"-03"}}],["Etc/GMT-4",{s:{f:"-0400",n:"-04"}}],["Etc/GMT-5",{s:{f:"-0500",n:"-05"}}],["Etc/GMT-6",{s:{f:"-0600",n:"-06"}}],["Etc/GMT-7",{s:{f:"-0700",n:"-07"}}],["Etc/GMT-8",{s:{f:"-0800",n:"-08"}}],["Etc/GMT-9",{s:{f:"-0900",n:"-09"}}],["Etc/GMT",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT+0",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT+1",{s:{f:"+0100",n:"+01"}}],["Etc/GMT+10",{s:{f:"+1000",n:"+10"}}],["Etc/GMT+11",{s:{f:"+1100",n:"+11"}}],["Etc/GMT+12",{s:{f:"+1200",n:"+12"}}],["Etc/GMT+13",{s:{f:"+1300",n:"+13"}}],["Etc/GMT+14",{s:{f:"+1400",n:"+14"}}],["Etc/GMT+2",{s:{f:"+0200",n:"+02"}}],["Etc/GMT+3",{s:{f:"+0300",n:"+03"}}],["Etc/GMT+4",{s:{f:"+0400",n:"+04"}}],["Etc/GMT+5",{s:{f:"+0500",n:"+05"}}],["Etc/GMT+6",{s:{f:"+0600",n:"+06"}}],["Etc/GMT+7",{s:{f:"+0700",n:"+07"}}],["Etc/GMT+8",{s:{f:"+0800",n:"+08"}}],["Etc/GMT+9",{s:{f:"+0900",n:"+09"}}],["Etc/GMT0",{s:{f:"+0000",n:"GMT"}}],["Etc/Greenwich",{s:{f:"+0000",n:"GMT"}}],["Etc/UCT",{s:{f:"+0000",n:"UCT"}}],["Etc/Universal",{s:{f:"+0000",n:"UTC"}}],["Etc/UTC",{s:{f:"+0000",n:"UTC"}}],["Etc/Zulu",{s:{f:"+0000",n:"UTC"}}],["Europe/Amsterdam",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Andorra",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Astrakhan",{s:{f:"+0400",n:"+04"}}],["Europe/Athens",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Belgrade",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Berlin",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Bratislava",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Brussels",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Bucharest",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Budapest",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Busingen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Chisinau",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Copenhagen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Dublin",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"IST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Gibraltar",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Guernsey",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Helsinki",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Isle_of_Man",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Istanbul",{s:{f:"+0300",n:"+03"}}],["Europe/Jersey",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Kaliningrad",{s:{f:"+0200",n:"EET"}}],["Europe/Kiev",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Kirov",{s:{f:"+0300",n:"+03"}}],["Europe/Lisbon",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Ljubljana",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/London",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Luxembourg",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Madrid",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Malta",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Mariehamn",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Minsk",{s:{f:"+0300",n:"+03"}}],["Europe/Monaco",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Moscow",{s:{f:"+0300",n:"MSK"}}],["Europe/Nicosia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Oslo",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Paris",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Podgorica",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Prague",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Riga",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Rome",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Samara",{s:{f:"+0400",n:"+04"}}],["Europe/San_Marino",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Sarajevo",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Saratov",{s:{f:"+0400",n:"+04"}}],["Europe/Simferopol",{s:{f:"+0300",n:"MSK"}}],["Europe/Skopje",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Sofia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Stockholm",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Tallinn",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Tirane",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Ulyanovsk",{s:{f:"+0400",n:"+04"}}],["Europe/Uzhgorod",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Vaduz",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vatican",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vienna",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vilnius",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Volgograd",{s:{f:"+0400",n:"+04"}}],["Europe/Warsaw",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Zagreb",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Zaporozhye",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Zurich",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Indian/Antananarivo",{s:{f:"+0300",n:"EAT"}}],["Indian/Chagos",{s:{f:"+0600",n:"+06"}}],["Indian/Christmas",{s:{f:"+0700",n:"+07"}}],["Indian/Cocos",{s:{f:"+0630",n:"+0630"}}],["Indian/Comoro",{s:{f:"+0300",n:"EAT"}}],["Indian/Kerguelen",{s:{f:"+0500",n:"+05"}}],["Indian/Mahe",{s:{f:"+0400",n:"+04"}}],["Indian/Maldives",{s:{f:"+0500",n:"+05"}}],["Indian/Mauritius",{s:{f:"+0400",n:"+04"}}],["Indian/Mayotte",{s:{f:"+0300",n:"EAT"}}],["Indian/Reunion",{s:{f:"+0400",n:"+04"}}],["Pacific/Apia",{s:{f:"+1400",t:"+1300",n:"+13",s:"19700405T040000",r:{m:4,d:"1SU"}},d:{f:"+1300",t:"+1400",n:"+14",s:"19700927T030000",r:{m:9,d:"-1SU"}}}],["Pacific/Auckland",{s:{f:"+1300",t:"+1200",n:"NZST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1200",t:"+1300",n:"NZDT",s:"19700927T020000",r:{m:9,d:"-1SU"}}}],["Pacific/Bougainville",{s:{f:"+1100",n:"+11"}}],["Pacific/Chatham",{s:{f:"+1345",t:"+1245",n:"+1245",s:"19700405T034500",r:{m:4,d:"1SU"}},d:{f:"+1245",t:"+1345",n:"+1345",s:"19700927T024500",r:{m:9,d:"-1SU"}}}],["Pacific/Chuuk",{s:{f:"+1000",n:"+10"}}],["Pacific/Easter",{s:{f:"-0500",t:"-0600",n:"-06",s:"19700404T220000",r:{m:4,d:"1SA"}},d:{f:"-0600",t:"-0500",n:"-05",s:"19700905T220000",r:{m:9,d:"1SA"}}}],["Pacific/Efate",{s:{f:"+1100",n:"+11"}}],["Pacific/Enderbury",{s:{f:"+1300",n:"+13"}}],["Pacific/Fakaofo",{s:{f:"+1300",n:"+13"}}],["Pacific/Fiji",{s:{f:"+1300",t:"+1200",n:"+12",s:"19700118T030000",r:{m:1,d:"-2SU"}},d:{f:"+1200",t:"+1300",n:"+13",s:"19701101T020000",r:{m:11,d:"1SU"}}}],["Pacific/Funafuti",{s:{f:"+1200",n:"+12"}}],["Pacific/Galapagos",{s:{f:"-0600",n:"-06"}}],["Pacific/Gambier",{s:{f:"-0900",n:"-09"}}],["Pacific/Guadalcanal",{s:{f:"+1100",n:"+11"}}],["Pacific/Guam",{s:{f:"+1000",n:"ChST"}}],["Pacific/Honolulu",{s:{f:"-1000",n:"HST"}}],["Pacific/Kiritimati",{s:{f:"+1400",n:"+14"}}],["Pacific/Kosrae",{s:{f:"+1100",n:"+11"}}],["Pacific/Kwajalein",{s:{f:"+1200",n:"+12"}}],["Pacific/Majuro",{s:{f:"+1200",n:"+12"}}],["Pacific/Marquesas",{s:{f:"-0930",n:"-0930"}}],["Pacific/Midway",{s:{f:"-1100",n:"SST"}}],["Pacific/Nauru",{s:{f:"+1200",n:"+12"}}],["Pacific/Niue",{s:{f:"-1100",n:"-11"}}],["Pacific/Norfolk",{s:{f:"+1100",n:"+11"}}],["Pacific/Noumea",{s:{f:"+1100",n:"+11"}}],["Pacific/Pago_Pago",{s:{f:"-1100",n:"SST"}}],["Pacific/Palau",{s:{f:"+0900",n:"+09"}}],["Pacific/Pitcairn",{s:{f:"-0800",n:"-08"}}],["Pacific/Pohnpei",{s:{f:"+1100",n:"+11"}}],["Pacific/Port_Moresby",{s:{f:"+1000",n:"+10"}}],["Pacific/Rarotonga",{s:{f:"-1000",n:"-10"}}],["Pacific/Saipan",{s:{f:"+1000",n:"ChST"}}],["Pacific/Tahiti",{s:{f:"-1000",n:"-10"}}],["Pacific/Tarawa",{s:{f:"+1200",n:"+12"}}],["Pacific/Tongatapu",{s:{f:"+1300",n:"+13"}}],["Pacific/Wake",{s:{f:"+1200",n:"+12"}}],["Pacific/Wallis",{s:{f:"+1200",n:"+12"}}]])),ct}var $t;function $e(){if($t)return at;$t=1,Object.defineProperty(at,"__esModule",{value:!0}),at.getZoneString=at.getZoneLines=void 0;const r=Je();function t(a){const{n:i,f:o,t:n,r:l,s:u}=a;return[`TZNAME:${i}`,`TZOFFSETFROM:${o}`,`TZOFFSETTO:${n||o}`,`DTSTART:${u||r.defaultStart}`,...l?[`RRULE:FREQ=${l.f||"YEARLY"};BYMONTH=${l.m};BYDAY=${l.d}`]:[]]}function e(a,i=!0){const o=r.zonesMap.get(a);if(o){const{s:n,d:l}=o;return[...i?["BEGIN:VTIMEZONE"]:[],`TZID:${a}`,"BEGIN:STANDARD",...t(n),"END:STANDARD",...l?["BEGIN:DAYLIGHT",...t(l),"END:DAYLIGHT"]:[],...i?["END:VTIMEZONE"]:[]]}}at.getZoneLines=e;function s(a,i=!0){return e(a,i)?.join(`\r +import{r as G,o as B,f as H,g as Q,k as v,y as dt,t as et,w as st,j as vt,L as Ae,F as Ft,B as Gt,c as Pt,h as de,b as ce,l as St,S as ge,u as _,e as De}from"./Web-X6XNrbMx.chunk.mjs";import{_ as he,l as jt,g as _e}from"./public-C1mLBHT3.chunk.mjs";import{t as D}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as Kt}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{d as Ee,c as mt,a as Lt,g as be,h as Ue,o as Ce,e as Ye}from"./index-BRcsAfAF.chunk.mjs";import{c as ft}from"./index-CfIbVNTc.chunk.mjs";import{d as zt,a as Ot}from"./index-9np_X5jS.chunk.mjs";import{S as ve}from"./ShareType-suoNfd7y.chunk.mjs";import{N as Ht}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as me}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import{N as Oe,a as we}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{_ as Me}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{l as W}from"./logger-BweUpY17.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{m as Ne}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{D as xe}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as Ie}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{P as ke}from"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{$ as Be,l as Pe}from"./index-CpA8_zX5.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";function qt(r){const t=r.getFullYear(),e=(r.getMonth()+1).toString().padStart(2,"0"),s=r.getDate().toString().padStart(2,"0");return`${t}-${e}-${s}`}const Le="_absenceForm_1i2bj_2",ze="_absenceForm__pickerContainer_1i2bj_8",Ve="_absenceForm__picker_1i2bj_8",je="_absenceForm__longMessage_1i2bj_22",He="_absenceForm__longMessageContainer_1i2bj_26",Re="_absenceForm__actions_1i2bj_33",We={absenceForm:Le,absenceForm__pickerContainer:ze,absenceForm__picker:Ve,absenceForm__longMessage:je,absenceForm__longMessageContainer:He,absenceForm__actions:Re};function Zt(r){const t=r.getTimezoneOffset()*60*1e3;return new Date(r.getTime()+t)}const Fe={name:"AbsenceForm",components:{NcButton:Ht,NcTextField:Me,NcTextArea:we,NcDateTimePickerNative:me,NcSelectUsers:Oe},setup(){return{t:D}},data(){const{firstDay:r,lastDay:t,status:e,message:s,replacementUserId:a,replacementUserDisplayName:i}=jt("dav","absence",{}),o=r?new Date(r):new Date,n=Zt(o),l=t?Zt(new Date(t)):null;return{loading:!1,status:e??"",message:s??"",firstDay:n,lastDay:l,replacementUserId:a,replacementUser:a?{user:a,displayName:i}:null,searchLoading:!1,options:[]}},computed:{valid(){const r=new Date(this.firstDay?.getTime()),t=new Date(this.lastDay?.getTime());return r?.setHours(0,0,0,0),t?.setHours(0,0,0,0),!!this.firstDay&&!!this.lastDay&&!!this.status&&!!this.message&&t>=r}},methods:{resetForm(){this.status="",this.message="",this.firstDay=new Date,this.lastDay=null},formatForMultiselect(r){return{user:r.uuid||r.value.shareWith,displayName:r.name||r.label,subtitle:r.dsc|""}},async asyncFind(r){this.searchLoading=!0,await this.debounceGetSuggestions(r.trim())},async getSuggestions(r){const t=[ve.User];let e;try{e=await ft.get(mt("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"file",search:r,shareType:t}})}catch(d){W.error("Error fetching suggestions",{error:d});return}const s=e.data.ocs.data,a=e.data.ocs.data.exact;s.exact=[];const i=a.users,o=s.users;W.info("AbsenceForm raw suggestions",{rawExactSuggestions:i,rawSuggestions:o});const n=i.map(d=>this.formatForMultiselect(d)),l=o.map(d=>this.formatForMultiselect(d)),u=n.concat(l),c=u.reduce((d,m)=>(m.displayName&&(d[m.displayName]||(d[m.displayName]=0),d[m.displayName]++),d),{});this.options=u.map(d=>c[d.displayName]>1&&!d.desc?{...d,desc:d.shareWithDisplayNameUnique}:d),this.searchLoading=!1,W.info("AbsenseForm suggestions",{options:this.options})},debounceGetSuggestions:Ee(function(...r){this.getSuggestions(...r)},300),async saveForm(){if(this.valid){this.loading=!0;try{await ft.post(mt("/apps/dav/api/v1/outOfOffice/{userId}",{userId:Lt().uid}),{firstDay:qt(this.firstDay),lastDay:qt(this.lastDay),status:this.status,message:this.message,replacementUserId:this.replacementUser?.user??null}),zt(D("dav","Absence saved"))}catch(r){Ot(D("dav","Failed to save your absence settings")),W.error("Could not save absence",{error:r})}finally{this.loading=!1}}},async clearAbsence(){this.loading=!0;try{await ft.delete(mt("/apps/dav/api/v1/outOfOffice/{userId}",{userId:Lt().uid})),this.resetForm(),zt(D("dav","Absence cleared"))}catch(r){Ot(D("dav","Failed to clear your absence settings")),W.error("Could not clear absence",{error:r})}finally{this.loading=!1}}}},Ge={for:"replacement-search-input"};function Ke(r,t,e,s,a,i){const o=G("NcDateTimePickerNative"),n=G("NcSelectUsers"),l=G("NcTextField"),u=G("NcTextArea"),c=G("NcButton");return B(),H("form",{class:dt(r.$style.absenceForm),onSubmit:t[5]||(t[5]=Ae((...d)=>i.saveForm&&i.saveForm(...d),["prevent"]))},[Q("div",{class:dt(r.$style.absenceForm__pickerContainer)},[v(o,{id:"absence-first-day",modelValue:a.firstDay,"onUpdate:modelValue":t[0]||(t[0]=d=>a.firstDay=d),class:dt(r.$style.absenceForm__picker),label:s.t("dav","First day"),required:""},null,8,["modelValue","class","label"]),v(o,{id:"absence-last-day",modelValue:a.lastDay,"onUpdate:modelValue":t[1]||(t[1]=d=>a.lastDay=d),class:dt(r.$style.absenceForm__picker),label:s.t("dav","Last day (inclusive)"),required:""},null,8,["modelValue","class","label"])],2),Q("label",Ge,et(s.t("dav","Out of office replacement (optional)")),1),v(n,{modelValue:a.replacementUser,"onUpdate:modelValue":t[2]||(t[2]=d=>a.replacementUser=d),inputId:"replacement-search-input",loading:a.searchLoading,placeholder:s.t("dav","Name of the replacement"),options:a.options,onSearch:i.asyncFind},null,8,["modelValue","loading","placeholder","options","onSearch"]),v(l,{modelValue:a.status,"onUpdate:modelValue":t[3]||(t[3]=d=>a.status=d),label:s.t("dav","Short absence status"),required:!0},null,8,["modelValue","label"]),Q("div",{class:dt(r.$style.absenceForm__longMessageContainer)},[v(u,{modelValue:a.message,"onUpdate:modelValue":t[4]||(t[4]=d=>a.message=d),inputClass:r.$style.absenceForm__longMessage,label:s.t("dav","Long absence Message"),required:"",resize:"none",rows:"6"},null,8,["modelValue","inputClass","label"])],2),Q("div",{class:dt(r.$style.absenceForm__actions)},[v(c,{disabled:a.loading||!i.valid,variant:"primary",type:"submit"},{default:st(()=>[vt(et(s.t("dav","Save")),1)]),_:1},8,["disabled"]),v(c,{disabled:a.loading||!i.valid,variant:"error",onClick:i.clearAbsence},{default:st(()=>[vt(et(s.t("dav","Disable absence")),1)]),_:1},8,["disabled","onClick"])],2)],34)}const qe={$style:We},Ze=he(Fe,[["render",Ke],["__cssModules",qe]]);var at={},ct={},Jt;function Je(){return Jt||(Jt=1,Object.defineProperty(ct,"__esModule",{value:!0}),ct.zonesMap=ct.defaultStart=void 0,ct.defaultStart="19700101T000000",ct.zonesMap=new Map([["Africa/Abidjan",{s:{f:"+0000",n:"GMT"}}],["Africa/Accra",{s:{f:"+0000",n:"GMT"}}],["Africa/Addis_Ababa",{s:{f:"+0300",n:"EAT"}}],["Africa/Algiers",{s:{f:"+0100",n:"CET"}}],["Africa/Asmara",{s:{f:"+0300",n:"EAT"}}],["Africa/Bamako",{s:{f:"+0000",n:"GMT"}}],["Africa/Bangui",{s:{f:"+0100",n:"WAT"}}],["Africa/Banjul",{s:{f:"+0000",n:"GMT"}}],["Africa/Bissau",{s:{f:"+0000",n:"GMT"}}],["Africa/Blantyre",{s:{f:"+0200",n:"CAT"}}],["Africa/Brazzaville",{s:{f:"+0100",n:"WAT"}}],["Africa/Bujumbura",{s:{f:"+0200",n:"CAT"}}],["Africa/Cairo",{s:{f:"+0200",n:"EET"}}],["Africa/Casablanca",{s:{f:"+0100",n:"+01"}}],["Africa/Ceuta",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Africa/Conakry",{s:{f:"+0000",n:"GMT"}}],["Africa/Dakar",{s:{f:"+0000",n:"GMT"}}],["Africa/Dar_es_Salaam",{s:{f:"+0300",n:"EAT"}}],["Africa/Djibouti",{s:{f:"+0300",n:"EAT"}}],["Africa/Douala",{s:{f:"+0100",n:"WAT"}}],["Africa/El_Aaiun",{s:{f:"+0100",n:"+01"}}],["Africa/Freetown",{s:{f:"+0000",n:"GMT"}}],["Africa/Gaborone",{s:{f:"+0200",n:"CAT"}}],["Africa/Harare",{s:{f:"+0200",n:"CAT"}}],["Africa/Johannesburg",{s:{f:"+0200",n:"SAST"}}],["Africa/Juba",{s:{f:"+0300",n:"EAT"}}],["Africa/Kampala",{s:{f:"+0300",n:"EAT"}}],["Africa/Khartoum",{s:{f:"+0200",n:"CAT"}}],["Africa/Kigali",{s:{f:"+0200",n:"CAT"}}],["Africa/Kinshasa",{s:{f:"+0100",n:"WAT"}}],["Africa/Lagos",{s:{f:"+0100",n:"WAT"}}],["Africa/Libreville",{s:{f:"+0100",n:"WAT"}}],["Africa/Lome",{s:{f:"+0000",n:"GMT"}}],["Africa/Luanda",{s:{f:"+0100",n:"WAT"}}],["Africa/Lubumbashi",{s:{f:"+0200",n:"CAT"}}],["Africa/Lusaka",{s:{f:"+0200",n:"CAT"}}],["Africa/Malabo",{s:{f:"+0100",n:"WAT"}}],["Africa/Maputo",{s:{f:"+0200",n:"CAT"}}],["Africa/Maseru",{s:{f:"+0200",n:"SAST"}}],["Africa/Mbabane",{s:{f:"+0200",n:"SAST"}}],["Africa/Mogadishu",{s:{f:"+0300",n:"EAT"}}],["Africa/Monrovia",{s:{f:"+0000",n:"GMT"}}],["Africa/Nairobi",{s:{f:"+0300",n:"EAT"}}],["Africa/Ndjamena",{s:{f:"+0100",n:"WAT"}}],["Africa/Niamey",{s:{f:"+0100",n:"WAT"}}],["Africa/Nouakchott",{s:{f:"+0000",n:"GMT"}}],["Africa/Ouagadougou",{s:{f:"+0000",n:"GMT"}}],["Africa/Porto-Novo",{s:{f:"+0100",n:"WAT"}}],["Africa/Sao_Tome",{s:{f:"+0100",n:"WAT"}}],["Africa/Tripoli",{s:{f:"+0200",n:"EET"}}],["Africa/Tunis",{s:{f:"+0100",n:"CET"}}],["Africa/Windhoek",{s:{f:"+0200",n:"CAT"}}],["America/Adak",{s:{f:"-0900",t:"-1000",n:"HST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-1000",t:"-0900",n:"HDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Anchorage",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Anguilla",{s:{f:"-0400",n:"AST"}}],["America/Antigua",{s:{f:"-0400",n:"AST"}}],["America/Araguaina",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Buenos_Aires",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Catamarca",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Cordoba",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Jujuy",{s:{f:"-0300",n:"-03"}}],["America/Argentina/La_Rioja",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Mendoza",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Rio_Gallegos",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Salta",{s:{f:"-0300",n:"-03"}}],["America/Argentina/San_Juan",{s:{f:"-0300",n:"-03"}}],["America/Argentina/San_Luis",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Tucuman",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Ushuaia",{s:{f:"-0300",n:"-03"}}],["America/Aruba",{s:{f:"-0400",n:"AST"}}],["America/Asuncion",{s:{f:"-0300",t:"-0400",n:"-04",s:"19700322T000000",r:{m:3,d:"4SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701004T000000",r:{m:10,d:"1SU"}}}],["America/Atikokan",{s:{f:"-0500",n:"EST"}}],["America/Bahia_Banderas",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Bahia",{s:{f:"-0300",n:"-03"}}],["America/Barbados",{s:{f:"-0400",n:"AST"}}],["America/Belem",{s:{f:"-0300",n:"-03"}}],["America/Belize",{s:{f:"-0600",n:"CST"}}],["America/Blanc-Sablon",{s:{f:"-0400",n:"AST"}}],["America/Boa_Vista",{s:{f:"-0400",n:"-04"}}],["America/Bogota",{s:{f:"-0500",n:"-05"}}],["America/Boise",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Cambridge_Bay",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Campo_Grande",{s:{f:"-0400",n:"-04",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Cancun",{s:{f:"-0500",n:"EST"}}],["America/Caracas",{s:{f:"-0400",n:"-04"}}],["America/Cayenne",{s:{f:"-0300",n:"-03"}}],["America/Cayman",{s:{f:"-0500",n:"EST"}}],["America/Chicago",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Chihuahua",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Costa_Rica",{s:{f:"-0600",n:"CST"}}],["America/Creston",{s:{f:"-0700",n:"MST"}}],["America/Cuiaba",{s:{f:"-0400",n:"-04",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Curacao",{s:{f:"-0400",n:"AST"}}],["America/Danmarkshavn",{s:{f:"+0000",n:"GMT"}}],["America/Dawson_Creek",{s:{f:"-0700",n:"MST"}}],["America/Dawson",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Denver",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Detroit",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Dominica",{s:{f:"-0400",n:"AST"}}],["America/Edmonton",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Eirunepe",{s:{f:"-0500",n:"-05"}}],["America/El_Salvador",{s:{f:"-0600",n:"CST"}}],["America/Fort_Nelson",{s:{f:"-0700",n:"MST"}}],["America/Fortaleza",{s:{f:"-0300",n:"-03"}}],["America/Glace_Bay",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Godthab",{s:{f:"-0200",t:"-0300",n:"-03",s:"19701024T230000",r:{m:10,d:"-1SA"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19700328T220000",r:{m:3,d:"-1SA"}}}],["America/Goose_Bay",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Grand_Turk",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Grenada",{s:{f:"-0400",n:"AST"}}],["America/Guadeloupe",{s:{f:"-0400",n:"AST"}}],["America/Guatemala",{s:{f:"-0600",n:"CST"}}],["America/Guayaquil",{s:{f:"-0500",n:"-05"}}],["America/Guyana",{s:{f:"-0400",n:"-04"}}],["America/Halifax",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Havana",{s:{f:"-0400",t:"-0500",n:"CST",s:"19701101T010000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"CDT",s:"19700308T000000",r:{m:3,d:"2SU"}}}],["America/Hermosillo",{s:{f:"-0700",n:"MST"}}],["America/Indiana/Indianapolis",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Knox",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Marengo",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Petersburg",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Tell_City",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Vevay",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Vincennes",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Winamac",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Inuvik",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Iqaluit",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Jamaica",{s:{f:"-0500",n:"EST"}}],["America/Juneau",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kentucky/Louisville",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kentucky/Monticello",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kralendijk",{s:{f:"-0400",n:"AST"}}],["America/La_Paz",{s:{f:"-0400",n:"-04"}}],["America/Lima",{s:{f:"-0500",n:"-05"}}],["America/Los_Angeles",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Lower_Princes",{s:{f:"-0400",n:"AST"}}],["America/Maceio",{s:{f:"-0300",n:"-03"}}],["America/Managua",{s:{f:"-0600",n:"CST"}}],["America/Manaus",{s:{f:"-0400",n:"-04"}}],["America/Marigot",{s:{f:"-0400",n:"AST"}}],["America/Martinique",{s:{f:"-0400",n:"AST"}}],["America/Matamoros",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Mazatlan",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Menominee",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Merida",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Metlakatla",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Mexico_City",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Miquelon",{s:{f:"-0200",t:"-0300",n:"-03",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Moncton",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Monterrey",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Montevideo",{s:{f:"-0300",n:"-03"}}],["America/Montserrat",{s:{f:"-0400",n:"AST"}}],["America/Nassau",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/New_York",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Nipigon",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Nome",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Noronha",{s:{f:"-0200",n:"-02"}}],["America/North_Dakota/Beulah",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/North_Dakota/Center",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/North_Dakota/New_Salem",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Ojinaga",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Panama",{s:{f:"-0500",n:"EST"}}],["America/Pangnirtung",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Paramaribo",{s:{f:"-0300",n:"-03"}}],["America/Phoenix",{s:{f:"-0700",n:"MST"}}],["America/Port_of_Spain",{s:{f:"-0400",n:"AST"}}],["America/Port-au-Prince",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Porto_Velho",{s:{f:"-0400",n:"-04"}}],["America/Puerto_Rico",{s:{f:"-0400",n:"AST"}}],["America/Punta_Arenas",{s:{f:"-0300",n:"-03"}}],["America/Rainy_River",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Rankin_Inlet",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Recife",{s:{f:"-0300",n:"-03"}}],["America/Regina",{s:{f:"-0600",n:"CST"}}],["America/Resolute",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Rio_Branco",{s:{f:"-0500",n:"-05"}}],["America/Santarem",{s:{f:"-0300",n:"-03"}}],["America/Santiago",{s:{f:"-0300",t:"-0400",n:"-04",s:"19700405T000000",r:{m:4,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19700906T000000",r:{m:9,d:"1SU"}}}],["America/Santo_Domingo",{s:{f:"-0400",n:"AST"}}],["America/Sao_Paulo",{s:{f:"-0300",n:"-03",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Scoresbysund",{s:{f:"+0000",t:"-0100",n:"-01",s:"19701025T010000",r:{m:10,d:"-1SU"}},d:{f:"-0100",t:"+0000",n:"+00",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["America/Sitka",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/St_Barthelemy",{s:{f:"-0400",n:"AST"}}],["America/St_Johns",{s:{f:"-0230",t:"-0330",n:"NST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0330",t:"-0230",n:"NDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/St_Kitts",{s:{f:"-0400",n:"AST"}}],["America/St_Lucia",{s:{f:"-0400",n:"AST"}}],["America/St_Thomas",{s:{f:"-0400",n:"AST"}}],["America/St_Vincent",{s:{f:"-0400",n:"AST"}}],["America/Swift_Current",{s:{f:"-0600",n:"CST"}}],["America/Tegucigalpa",{s:{f:"-0600",n:"CST"}}],["America/Thule",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Thunder_Bay",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Tijuana",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Toronto",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Tortola",{s:{f:"-0400",n:"AST"}}],["America/Vancouver",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Whitehorse",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Winnipeg",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Yakutat",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Yellowknife",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["Antarctica/Casey",{s:{f:"+0800",n:"+08"}}],["Antarctica/Davis",{s:{f:"+0700",n:"+07"}}],["Antarctica/DumontDUrville",{s:{f:"+1000",n:"+10"}}],["Antarctica/Macquarie",{s:{f:"+1100",n:"+11"}}],["Antarctica/Mawson",{s:{f:"+0500",n:"+05"}}],["Antarctica/McMurdo",{s:{f:"+1300",t:"+1200",n:"NZST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1200",t:"+1300",n:"NZDT",s:"19700927T020000",r:{m:9,d:"-1SU"}}}],["Antarctica/Palmer",{s:{f:"-0300",n:"-03"}}],["Antarctica/Rothera",{s:{f:"-0300",n:"-03"}}],["Antarctica/Syowa",{s:{f:"+0300",n:"+03"}}],["Antarctica/Troll",{s:{f:"+0200",t:"+0000",n:"+00",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0200",n:"+02",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Antarctica/Vostok",{s:{f:"+0600",n:"+06"}}],["Arctic/Longyearbyen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Asia/Aden",{s:{f:"+0300",n:"+03"}}],["Asia/Almaty",{s:{f:"+0600",n:"+06"}}],["Asia/Amman",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701030T010000",r:{m:10,d:"-1FR"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700326T235959",r:{m:3,d:"-1TH"}}}],["Asia/Anadyr",{s:{f:"+1200",n:"+12"}}],["Asia/Aqtau",{s:{f:"+0500",n:"+05"}}],["Asia/Aqtobe",{s:{f:"+0500",n:"+05"}}],["Asia/Ashgabat",{s:{f:"+0500",n:"+05"}}],["Asia/Atyrau",{s:{f:"+0500",n:"+05"}}],["Asia/Baghdad",{s:{f:"+0300",n:"+03"}}],["Asia/Bahrain",{s:{f:"+0300",n:"+03"}}],["Asia/Baku",{s:{f:"+0400",n:"+04"}}],["Asia/Bangkok",{s:{f:"+0700",n:"+07"}}],["Asia/Barnaul",{s:{f:"+0700",n:"+07"}}],["Asia/Beirut",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T000000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["Asia/Bishkek",{s:{f:"+0600",n:"+06"}}],["Asia/Brunei",{s:{f:"+0800",n:"+08"}}],["Asia/Chita",{s:{f:"+0900",n:"+09"}}],["Asia/Choibalsan",{s:{f:"+0800",n:"+08"}}],["Asia/Colombo",{s:{f:"+0530",n:"+0530"}}],["Asia/Damascus",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701030T000000",r:{m:10,d:"-1FR"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700327T000000",r:{m:3,d:"-1FR"}}}],["Asia/Dhaka",{s:{f:"+0600",n:"+06"}}],["Asia/Dili",{s:{f:"+0900",n:"+09"}}],["Asia/Dubai",{s:{f:"+0400",n:"+04"}}],["Asia/Dushanbe",{s:{f:"+0500",n:"+05"}}],["Asia/Famagusta",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Asia/Gaza",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701031T010000",r:{m:10,d:"-1SA"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700328T010000",r:{m:3,d:"4SA"}}}],["Asia/Hebron",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701031T010000",r:{m:10,d:"-1SA"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700328T010000",r:{m:3,d:"4SA"}}}],["Asia/Ho_Chi_Minh",{s:{f:"+0700",n:"+07"}}],["Asia/Hong_Kong",{s:{f:"+0800",n:"HKT"}}],["Asia/Hovd",{s:{f:"+0700",n:"+07"}}],["Asia/Irkutsk",{s:{f:"+0800",n:"+08"}}],["Asia/Istanbul",{s:{f:"+0300",n:"+03"}}],["Asia/Jakarta",{s:{f:"+0700",n:"WIB"}}],["Asia/Jayapura",{s:{f:"+0900",n:"WIT"}}],["Asia/Jerusalem",{s:{f:"+0300",t:"+0200",n:"IST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"IDT",s:"19700327T020000",r:{m:3,d:"-1FR"}}}],["Asia/Kabul",{s:{f:"+0430",n:"+0430"}}],["Asia/Kamchatka",{s:{f:"+1200",n:"+12"}}],["Asia/Karachi",{s:{f:"+0500",n:"PKT"}}],["Asia/Kathmandu",{s:{f:"+0545",n:"+0545"}}],["Asia/Khandyga",{s:{f:"+0900",n:"+09"}}],["Asia/Kolkata",{s:{f:"+0530",n:"IST"}}],["Asia/Krasnoyarsk",{s:{f:"+0700",n:"+07"}}],["Asia/Kuala_Lumpur",{s:{f:"+0800",n:"+08"}}],["Asia/Kuching",{s:{f:"+0800",n:"+08"}}],["Asia/Kuwait",{s:{f:"+0300",n:"+03"}}],["Asia/Macau",{s:{f:"+0800",n:"CST"}}],["Asia/Magadan",{s:{f:"+1100",n:"+11"}}],["Asia/Makassar",{s:{f:"+0800",n:"WITA"}}],["Asia/Manila",{s:{f:"+0800",n:"PST"}}],["Asia/Muscat",{s:{f:"+0400",n:"+04"}}],["Asia/Nicosia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Asia/Novokuznetsk",{s:{f:"+0700",n:"+07"}}],["Asia/Novosibirsk",{s:{f:"+0700",n:"+07"}}],["Asia/Omsk",{s:{f:"+0600",n:"+06"}}],["Asia/Oral",{s:{f:"+0500",n:"+05"}}],["Asia/Phnom_Penh",{s:{f:"+0700",n:"+07"}}],["Asia/Pontianak",{s:{f:"+0700",n:"WIB"}}],["Asia/Pyongyang",{s:{f:"+0900",n:"KST"}}],["Asia/Qatar",{s:{f:"+0300",n:"+03"}}],["Asia/Qyzylorda",{s:{f:"+0600",n:"+06"}}],["Asia/Riyadh",{s:{f:"+0300",n:"+03"}}],["Asia/Sakhalin",{s:{f:"+1100",n:"+11"}}],["Asia/Samarkand",{s:{f:"+0500",n:"+05"}}],["Asia/Seoul",{s:{f:"+0900",n:"KST"}}],["Asia/Shanghai",{s:{f:"+0800",n:"CST"}}],["Asia/Singapore",{s:{f:"+0800",n:"+08"}}],["Asia/Srednekolymsk",{s:{f:"+1100",n:"+11"}}],["Asia/Taipei",{s:{f:"+0800",n:"CST"}}],["Asia/Tashkent",{s:{f:"+0500",n:"+05"}}],["Asia/Tbilisi",{s:{f:"+0400",n:"+04"}}],["Asia/Tehran",{s:{f:"+0430",t:"+0330",n:"+0330",s:"19700921T000000",r:{m:9,d:"3SU"}},d:{f:"+0330",t:"+0430",n:"+0430",s:"19700321T000000",r:{m:3,d:"3SU"}}}],["Asia/Thimphu",{s:{f:"+0600",n:"+06"}}],["Asia/Tokyo",{s:{f:"+0900",n:"JST"}}],["Asia/Tomsk",{s:{f:"+0700",n:"+07"}}],["Asia/Ulaanbaatar",{s:{f:"+0800",n:"+08"}}],["Asia/Urumqi",{s:{f:"+0600",n:"+06"}}],["Asia/Ust-Nera",{s:{f:"+1000",n:"+10"}}],["Asia/Vientiane",{s:{f:"+0700",n:"+07"}}],["Asia/Vladivostok",{s:{f:"+1000",n:"+10"}}],["Asia/Yakutsk",{s:{f:"+0900",n:"+09"}}],["Asia/Yangon",{s:{f:"+0630",n:"+0630"}}],["Asia/Yekaterinburg",{s:{f:"+0500",n:"+05"}}],["Asia/Yerevan",{s:{f:"+0400",n:"+04"}}],["Atlantic/Azores",{s:{f:"+0000",t:"-0100",n:"-01",s:"19701025T010000",r:{m:10,d:"-1SU"}},d:{f:"-0100",t:"+0000",n:"+00",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["Atlantic/Bermuda",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["Atlantic/Canary",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Cape_Verde",{s:{f:"-0100",n:"-01"}}],["Atlantic/Faroe",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Madeira",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Reykjavik",{s:{f:"+0000",n:"GMT"}}],["Atlantic/South_Georgia",{s:{f:"-0200",n:"-02"}}],["Atlantic/St_Helena",{s:{f:"+0000",n:"GMT"}}],["Atlantic/Stanley",{s:{f:"-0300",n:"-03"}}],["Australia/Adelaide",{s:{f:"+1030",t:"+0930",n:"ACST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+0930",t:"+1030",n:"ACDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Brisbane",{s:{f:"+1000",n:"AEST"}}],["Australia/Broken_Hill",{s:{f:"+1030",t:"+0930",n:"ACST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+0930",t:"+1030",n:"ACDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Currie",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Darwin",{s:{f:"+0930",n:"ACST"}}],["Australia/Eucla",{s:{f:"+0845",n:"+0845"}}],["Australia/Hobart",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Lindeman",{s:{f:"+1000",n:"AEST"}}],["Australia/Lord_Howe",{s:{f:"+1100",t:"+1030",n:"+1030",s:"19700405T020000",r:{m:4,d:"1SU"}},d:{f:"+1030",t:"+1100",n:"+11",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Melbourne",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Perth",{s:{f:"+0800",n:"AWST"}}],["Australia/Sydney",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Etc/GMT-0",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT-1",{s:{f:"-0100",n:"-01"}}],["Etc/GMT-10",{s:{f:"-1000",n:"-10"}}],["Etc/GMT-11",{s:{f:"-1100",n:"-11"}}],["Etc/GMT-12",{s:{f:"-1200",n:"-12"}}],["Etc/GMT-2",{s:{f:"-0200",n:"-02"}}],["Etc/GMT-3",{s:{f:"-0300",n:"-03"}}],["Etc/GMT-4",{s:{f:"-0400",n:"-04"}}],["Etc/GMT-5",{s:{f:"-0500",n:"-05"}}],["Etc/GMT-6",{s:{f:"-0600",n:"-06"}}],["Etc/GMT-7",{s:{f:"-0700",n:"-07"}}],["Etc/GMT-8",{s:{f:"-0800",n:"-08"}}],["Etc/GMT-9",{s:{f:"-0900",n:"-09"}}],["Etc/GMT",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT+0",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT+1",{s:{f:"+0100",n:"+01"}}],["Etc/GMT+10",{s:{f:"+1000",n:"+10"}}],["Etc/GMT+11",{s:{f:"+1100",n:"+11"}}],["Etc/GMT+12",{s:{f:"+1200",n:"+12"}}],["Etc/GMT+13",{s:{f:"+1300",n:"+13"}}],["Etc/GMT+14",{s:{f:"+1400",n:"+14"}}],["Etc/GMT+2",{s:{f:"+0200",n:"+02"}}],["Etc/GMT+3",{s:{f:"+0300",n:"+03"}}],["Etc/GMT+4",{s:{f:"+0400",n:"+04"}}],["Etc/GMT+5",{s:{f:"+0500",n:"+05"}}],["Etc/GMT+6",{s:{f:"+0600",n:"+06"}}],["Etc/GMT+7",{s:{f:"+0700",n:"+07"}}],["Etc/GMT+8",{s:{f:"+0800",n:"+08"}}],["Etc/GMT+9",{s:{f:"+0900",n:"+09"}}],["Etc/GMT0",{s:{f:"+0000",n:"GMT"}}],["Etc/Greenwich",{s:{f:"+0000",n:"GMT"}}],["Etc/UCT",{s:{f:"+0000",n:"UCT"}}],["Etc/Universal",{s:{f:"+0000",n:"UTC"}}],["Etc/UTC",{s:{f:"+0000",n:"UTC"}}],["Etc/Zulu",{s:{f:"+0000",n:"UTC"}}],["Europe/Amsterdam",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Andorra",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Astrakhan",{s:{f:"+0400",n:"+04"}}],["Europe/Athens",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Belgrade",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Berlin",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Bratislava",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Brussels",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Bucharest",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Budapest",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Busingen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Chisinau",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Copenhagen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Dublin",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"IST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Gibraltar",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Guernsey",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Helsinki",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Isle_of_Man",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Istanbul",{s:{f:"+0300",n:"+03"}}],["Europe/Jersey",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Kaliningrad",{s:{f:"+0200",n:"EET"}}],["Europe/Kiev",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Kirov",{s:{f:"+0300",n:"+03"}}],["Europe/Lisbon",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Ljubljana",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/London",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Luxembourg",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Madrid",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Malta",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Mariehamn",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Minsk",{s:{f:"+0300",n:"+03"}}],["Europe/Monaco",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Moscow",{s:{f:"+0300",n:"MSK"}}],["Europe/Nicosia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Oslo",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Paris",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Podgorica",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Prague",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Riga",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Rome",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Samara",{s:{f:"+0400",n:"+04"}}],["Europe/San_Marino",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Sarajevo",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Saratov",{s:{f:"+0400",n:"+04"}}],["Europe/Simferopol",{s:{f:"+0300",n:"MSK"}}],["Europe/Skopje",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Sofia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Stockholm",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Tallinn",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Tirane",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Ulyanovsk",{s:{f:"+0400",n:"+04"}}],["Europe/Uzhgorod",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Vaduz",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vatican",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vienna",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vilnius",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Volgograd",{s:{f:"+0400",n:"+04"}}],["Europe/Warsaw",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Zagreb",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Zaporozhye",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Zurich",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Indian/Antananarivo",{s:{f:"+0300",n:"EAT"}}],["Indian/Chagos",{s:{f:"+0600",n:"+06"}}],["Indian/Christmas",{s:{f:"+0700",n:"+07"}}],["Indian/Cocos",{s:{f:"+0630",n:"+0630"}}],["Indian/Comoro",{s:{f:"+0300",n:"EAT"}}],["Indian/Kerguelen",{s:{f:"+0500",n:"+05"}}],["Indian/Mahe",{s:{f:"+0400",n:"+04"}}],["Indian/Maldives",{s:{f:"+0500",n:"+05"}}],["Indian/Mauritius",{s:{f:"+0400",n:"+04"}}],["Indian/Mayotte",{s:{f:"+0300",n:"EAT"}}],["Indian/Reunion",{s:{f:"+0400",n:"+04"}}],["Pacific/Apia",{s:{f:"+1400",t:"+1300",n:"+13",s:"19700405T040000",r:{m:4,d:"1SU"}},d:{f:"+1300",t:"+1400",n:"+14",s:"19700927T030000",r:{m:9,d:"-1SU"}}}],["Pacific/Auckland",{s:{f:"+1300",t:"+1200",n:"NZST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1200",t:"+1300",n:"NZDT",s:"19700927T020000",r:{m:9,d:"-1SU"}}}],["Pacific/Bougainville",{s:{f:"+1100",n:"+11"}}],["Pacific/Chatham",{s:{f:"+1345",t:"+1245",n:"+1245",s:"19700405T034500",r:{m:4,d:"1SU"}},d:{f:"+1245",t:"+1345",n:"+1345",s:"19700927T024500",r:{m:9,d:"-1SU"}}}],["Pacific/Chuuk",{s:{f:"+1000",n:"+10"}}],["Pacific/Easter",{s:{f:"-0500",t:"-0600",n:"-06",s:"19700404T220000",r:{m:4,d:"1SA"}},d:{f:"-0600",t:"-0500",n:"-05",s:"19700905T220000",r:{m:9,d:"1SA"}}}],["Pacific/Efate",{s:{f:"+1100",n:"+11"}}],["Pacific/Enderbury",{s:{f:"+1300",n:"+13"}}],["Pacific/Fakaofo",{s:{f:"+1300",n:"+13"}}],["Pacific/Fiji",{s:{f:"+1300",t:"+1200",n:"+12",s:"19700118T030000",r:{m:1,d:"-2SU"}},d:{f:"+1200",t:"+1300",n:"+13",s:"19701101T020000",r:{m:11,d:"1SU"}}}],["Pacific/Funafuti",{s:{f:"+1200",n:"+12"}}],["Pacific/Galapagos",{s:{f:"-0600",n:"-06"}}],["Pacific/Gambier",{s:{f:"-0900",n:"-09"}}],["Pacific/Guadalcanal",{s:{f:"+1100",n:"+11"}}],["Pacific/Guam",{s:{f:"+1000",n:"ChST"}}],["Pacific/Honolulu",{s:{f:"-1000",n:"HST"}}],["Pacific/Kiritimati",{s:{f:"+1400",n:"+14"}}],["Pacific/Kosrae",{s:{f:"+1100",n:"+11"}}],["Pacific/Kwajalein",{s:{f:"+1200",n:"+12"}}],["Pacific/Majuro",{s:{f:"+1200",n:"+12"}}],["Pacific/Marquesas",{s:{f:"-0930",n:"-0930"}}],["Pacific/Midway",{s:{f:"-1100",n:"SST"}}],["Pacific/Nauru",{s:{f:"+1200",n:"+12"}}],["Pacific/Niue",{s:{f:"-1100",n:"-11"}}],["Pacific/Norfolk",{s:{f:"+1100",n:"+11"}}],["Pacific/Noumea",{s:{f:"+1100",n:"+11"}}],["Pacific/Pago_Pago",{s:{f:"-1100",n:"SST"}}],["Pacific/Palau",{s:{f:"+0900",n:"+09"}}],["Pacific/Pitcairn",{s:{f:"-0800",n:"-08"}}],["Pacific/Pohnpei",{s:{f:"+1100",n:"+11"}}],["Pacific/Port_Moresby",{s:{f:"+1000",n:"+10"}}],["Pacific/Rarotonga",{s:{f:"-1000",n:"-10"}}],["Pacific/Saipan",{s:{f:"+1000",n:"ChST"}}],["Pacific/Tahiti",{s:{f:"-1000",n:"-10"}}],["Pacific/Tarawa",{s:{f:"+1200",n:"+12"}}],["Pacific/Tongatapu",{s:{f:"+1300",n:"+13"}}],["Pacific/Wake",{s:{f:"+1200",n:"+12"}}],["Pacific/Wallis",{s:{f:"+1200",n:"+12"}}]])),ct}var $t;function $e(){if($t)return at;$t=1,Object.defineProperty(at,"__esModule",{value:!0}),at.getZoneString=at.getZoneLines=void 0;const r=Je();function t(a){const{n:i,f:o,t:n,r:l,s:u}=a;return[`TZNAME:${i}`,`TZOFFSETFROM:${o}`,`TZOFFSETTO:${n||o}`,`DTSTART:${u||r.defaultStart}`,...l?[`RRULE:FREQ=${l.f||"YEARLY"};BYMONTH=${l.m};BYDAY=${l.d}`]:[]]}function e(a,i=!0){const o=r.zonesMap.get(a);if(o){const{s:n,d:l}=o;return[...i?["BEGIN:VTIMEZONE"]:[],`TZID:${a}`,"BEGIN:STANDARD",...t(n),"END:STANDARD",...l?["BEGIN:DAYLIGHT",...t(l),"END:DAYLIGHT"]:[],...i?["END:VTIMEZONE"]:[]]}}at.getZoneLines=e;function s(a,i=!0){return e(a,i)?.join(`\r `)}return at.getZoneString=s,at}var Xe=$e();class Nt{static fromString(t){return new Nt(t)}constructor(t){this.value=t}icaltype="binary";decodeValue(){return this._b64_decode(this.value)}setEncodedValue(t){this.value=this._b64_encode(t)}_b64_encode(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s,a,i,o,n,l,u,c,d=0,m=0,p="",y=[];if(!t)return t;do s=t.charCodeAt(d++),a=t.charCodeAt(d++),i=t.charCodeAt(d++),c=s<<16|a<<8|i,o=c>>18&63,n=c>>12&63,l=c>>6&63,u=c&63,y[m++]=e.charAt(o)+e.charAt(n)+e.charAt(l)+e.charAt(u);while(d>16&255,a=c>>8&255,i=c&255,l==64?y[m++]=String.fromCharCode(s):u==64?y[m++]=String.fromCharCode(s,a):y[m++]=String.fromCharCode(s,a,i);while(ds)-(e0?-1:0}toString(){return this.start+"/"+(this.end||this.duration)}toJSON(){return[this.start.toString(),(this.end||this.duration).toString()]}toICALString(){return this.start.toICALString()+"/"+(this.end||this.duration).toICALString()}}class h{static _dowCache={};static _wnCache={};static daysInMonth(t,e){let s=[0,31,28,31,30,31,30,31,31,30,31,30,31],a=30;return t<1||t>12||(a=s[t],t==2&&(a+=h.isLeapYear(e))),a}static isLeapYear(t){return t<=1752?t%4==0:t%4==0&&t%100!=0||t%400==0}static fromDayOfYear(t,e){let s=e,a=t,i=new h;i.auto_normalize=!1;let o=h.isLeapYear(s)?1:0;if(a<1)return s--,o=h.isLeapYear(s)?1:0,a+=h.daysInYearPassedMonth[o][12],h.fromDayOfYear(a,s);if(a>h.daysInYearPassedMonth[o][12])return o=h.isLeapYear(s)?1:0,a-=h.daysInYearPassedMonth[o][12],s++,h.fromDayOfYear(a,s);i.year=s,i.isDate=!0;for(let n=11;n>=0;n--)if(a>h.daysInYearPassedMonth[o][n]){i.month=n+1,i.day=a-h.daysInYearPassedMonth[o][n];break}return i.auto_normalize=!0,i}static fromStringv2(t){return new h({year:parseInt(t.slice(0,4),10),month:parseInt(t.slice(5,7),10),day:parseInt(t.slice(8,10),10),isDate:!0})}static fromDateString(t){return new h({year:O(t.slice(0,4)),month:O(t.slice(5,7)),day:O(t.slice(8,10)),isDate:!0})}static fromDateTimeString(t,e){if(t.length<19)throw new Error('invalid date-time value: "'+t+'"');let s,a;t.slice(-1)==="Z"?s=T.utcTimezone:e&&(a=e.getParameter("tzid"),e.parent&&(e.parent.name==="standard"||e.parent.name==="daylight"?s=T.localTimezone:a&&(s=e.parent.getTimeZoneByID(a))));const i={year:O(t.slice(0,4)),month:O(t.slice(5,7)),day:O(t.slice(8,10)),hour:O(t.slice(11,13)),minute:O(t.slice(14,16)),second:O(t.slice(17,19))};return a&&!s&&(i.timezone=a),new h(i,s)}static fromString(t,e){return t.length>10?h.fromDateTimeString(t,e):h.fromDateString(t)}static fromJSDate(t,e){return new h().fromJSDate(t,e)}static fromData=function(t,e){return new h().fromData(t,e)};static now(){return h.fromJSDate(new Date,!1)}static weekOneStarts(t,e){let s=h.fromData({year:t,month:1,day:1,isDate:!0}),a=s.dayOfWeek(),i=e||h.DEFAULT_WEEK_START;return a>h.THURSDAY&&(s.day+=7),i>h.THURSDAY&&(s.day-=7),s.day-=a-i,s}static getDominicalLetter(t){let e="GFEDCBA",s=(t+(t/4|0)+(t/400|0)-(t/100|0)-1)%7;return h.isLeapYear(t)?e[(s+6)%7]+e[s]:e[s]}static#t=null;static get epochTime(){return this.#t||(this.#t=h.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"})),this.#t}static _cmp_attr(t,e,s){return t[s]>e[s]?1:t[s]=0){n.day=1,i!=0&&i--,o=n.day;let l=n.dayOfWeek(),u=t-l;u<0&&(u+=7),o+=u,o-=t,a=t}else{n.day=s;let l=n.dayOfWeek();i++,a=l-t,a<0&&(a+=7),a=s-a}return a+=i*7,o+a}isNthWeekDay(t,e){let s=this.dayOfWeek();return e===0&&s===t||this.nthWeekDay(t,e)===this.day}weekNumber(t){let e=(this.year<<12)+(this.month<<8)+(this.day<<3)+t;if(e in h._wnCache)return h._wnCache[e];let s,a=this.clone();a.isDate=!0;let i=this.year;a.month==12&&a.day>25?(s=h.weekOneStarts(i+1,t),a.compare(s)<0?s=h.weekOneStarts(i,t):i++):(s=h.weekOneStarts(i,t),a.compare(s)<0&&(s=h.weekOneStarts(--i,t)));let o=a.subtractDate(s).toSeconds()/86400,n=C(o/7)+1;return h._wnCache[e]=n,n}addDuration(t){let e=t.isNegative?-1:1,s=this.second,a=this.minute,i=this.hour,o=this.day;s+=e*t.seconds,a+=e*t.minutes,i+=e*t.hours,o+=e*t.days,o+=e*7*t.weeks,this.second=s,this.minute=a,this.hour=i,this.day=o,this._cachedUnixTime=null}subtractDate(t){let e=this.toUnixTime()+this.utcOffset(),s=t.toUnixTime()+t.utcOffset();return M.fromSeconds(e-s)}subtractDateTz(t){let e=this.toUnixTime(),s=t.toUnixTime();return M.fromSeconds(e-s)}compare(t){if(t instanceof K)return-1*t.compare(this);{let e=this.toUnixTime(),s=t.toUnixTime();return e>s?1:s>e?-1:0}}compareDateOnlyTz(t,e){let s=this.convertToZone(e),a=t.convertToZone(e),i=0;return(i=h._cmp_attr(s,a,"year"))!=0||(i=h._cmp_attr(s,a,"month"))!=0||(i=h._cmp_attr(s,a,"day"))!=0,i}convertToZone(t){let e=this.clone(),s=this.zone.tzid==t.tzid;return!this.isDate&&!s&&T.convert_time(e,this.zone,t),e.zone=t,e}utcOffset(){return this.zone==T.localTimezone||this.zone==T.utcTimezone?0:this.zone.utcOffset(this)}toICALString(){let t=this.toString();return t.length>10?b.icalendar.value["date-time"].toICAL(t):b.icalendar.value.date.toICAL(t)}toString(){let t=this.year+"-"+k(this.month)+"-"+k(this.day);return this.isDate||(t+="T"+k(this.hour)+":"+k(this.minute)+":"+k(this.second),this.zone===T.utcTimezone&&(t+="Z")),t}toJSDate(){return this.zone==T.localTimezone?this.isDate?new Date(this.year,this.month-1,this.day):new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second,0):new Date(this.toUnixTime()*1e3)}_normalize(){return this._time.isDate&&(this._time.hour=0,this._time.minute=0,this._time.second=0),this.adjust(0,0,0,0),this}adjust(t,e,s,a,i){let o,n,l=0,u=0,c,d,m,p,y,f=i||this._time;if(f.isDate||(c=f.second+a,f.second=c%60,o=C(c/60),f.second<0&&(f.second+=60,o--),d=f.minute+s+o,f.minute=d%60,n=C(d/60),f.minute<0&&(f.minute+=60,n--),m=f.hour+e+n,f.hour=m%24,l=C(m/24),f.hour<0&&(f.hour+=24,l--)),f.month>12?u=C((f.month-1)/12):f.month<1&&(u=C(f.month/12)-1),f.year+=u,f.month-=12*u,p=f.day+t+l,p>0)for(;y=h.daysInMonth(f.month,f.year),!(p<=y);)f.month++,f.month>12&&(f.year++,f.month=1),p-=y;else for(;p<=0;)f.month==1?(f.year--,f.month=12):f.month--,p+=h.daysInMonth(f.month,f.year);return f.day=p,this._cachedUnixTime=null,this}fromUnixTime(t){this.zone=T.utcTimezone;let e=new Date(t*1e3);this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this._time.isDate?(this.hour=0,this.minute=0,this.second=0):(this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()),this._cachedUnixTime=null}toUnixTime(){if(this._cachedUnixTime!==null)return this._cachedUnixTime;let t=this.utcOffset(),e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-t);return this._cachedUnixTime=e/1e3,this._cachedUnixTime}toJSON(){let t=["year","month","day","hour","minute","second","isDate"],e=Object.create(null),s=0,a=t.length,i;for(;s1)throw new it("invalid ical body. component began but did not end");return t=null,e.length==1?e[0]:e}g.property=function(r,t){let e={component:[[],[]],designSet:t||b.defaultSet};return g._handleContentLine(r,e),e.component[1][0]},g.component=function(r){return g(r)};class it extends Error{name=this.constructor.name}g.ParserError=it,g._handleContentLine=function(r,t){let e=r.indexOf(At),s=r.indexOf(xt),a,i,o,n,l={};s!==-1&&e!==-1&&s>e&&(s=-1);let u;if(s!==-1){if(o=r.slice(0,Math.max(0,s)).toLowerCase(),u=g._parseParameters(r.slice(Math.max(0,s)),0,t.designSet),u[2]==-1)throw new it("Invalid parameters in '"+r+"'");l=u[0];let U;if(typeof u[1]=="string"?U=u[1].length:U=u[1].reduce((ht,rt)=>ht+rt.length,0),a=U+u[2]+s,(i=r.slice(Math.max(0,a)).indexOf(At))!==-1)n=r.slice(Math.max(0,a+i+1));else throw new it("Missing parameter value in '"+r+"'")}else if(e!==-1){if(o=r.slice(0,Math.max(0,e)).toLowerCase(),n=r.slice(Math.max(0,e+1)),o==="begin"){let U=[n.toLowerCase(),[],[]];t.stack.length===1?t.component.push(U):t.component[2].push(U),t.stack.push(t.component),t.component=U,t.designSet||(t.designSet=b.getDesignSet(t.component[0]));return}else if(o==="end"){t.component=t.stack.pop();return}}else throw new it('invalid line (no token ";" or ":") "'+r+'"');let c,d=!1,m=!1,p,y,f;t.designSet.propertyGroups&&o.indexOf(".")!==-1?(y=o.split("."),l.group=y[0],f=y[1]):f=o,f in t.designSet.property&&(p=t.designSet.property[f],"multiValue"in p&&(d=p.multiValue),"structuredValue"in p&&(m=p.structuredValue),n&&"detectType"in p&&(c=p.detectType(n))),c||("value"in l?c=l.value.toLowerCase():p?c=p.defaultType:c=a0),delete l.value;let A;d&&m?(n=g._parseMultiValue(n,m,c,[],d,t.designSet,m),A=[f,l,c,n]):d?(A=[f,l,c],g._parseMultiValue(n,d,c,A,null,t.designSet,!1)):m?(n=g._parseMultiValue(n,m,c,[],null,t.designSet,m),A=[f,l,c,n]):(n=g._parseValue(n,c,t.designSet,!1),A=[f,l,c,n]),t.component[0]==="vcard"&&t.component[1].length===0&&!(o==="version"&&n==="4.0")&&(t.designSet=b.getDesignSet("vcard3")),t.component[1].push(A)},g._parseValue=function(r,t,e,s){return t in e.value&&"fromICAL"in e.value[t]?e.value[t].fromICAL(r,s):r},g._parseParameters=function(r,t,e){let s=t,a=0,i=r0,o={},n,l,u,c=-1,d,m,p;for(;a!==!1&&(a=r.indexOf(i,a+1))!==-1;){if(n=r.slice(s+1,a),n.length==0)throw new it("Empty parameter name in '"+r+"'");if(l=n.toLowerCase(),p=!1,m=!1,l in e.param&&e.param[l].valueType?d=e.param[l].valueType:d=i0,l in e.param&&(m=e.param[l].multiValue,e.param[l].multiValueSeparateDQuote&&(p=g._rfc6868Escape('"'+m+'"'))),r[a+1]==='"'){if(c=a+2,a=r.indexOf('"',c),m&&a!=-1){let A=!0;for(;A;)r[a+1]==m&&r[a+2]=='"'?a=r.indexOf('"',a+3):A=!1}if(a===-1)throw new it('invalid line (no matching double quote) "'+r+'"');u=r.slice(c,a),s=r.indexOf(xt,a);let f=r.indexOf(At,a);(s===-1||f!==-1&&s>f)&&(a=!1)}else{c=a+1;let f=r.indexOf(xt,c),A=r.indexOf(At,c);A!==-1&&f>A?(f=A,a=!1):f===-1?(A===-1?f=r.length:f=A,a=!1):(s=f,a=f),u=r.slice(c,f)}const y=u.length;if(u=g._rfc6868Escape(u),c+=y-u.length,m){let f=p||m;u=g._parseMultiValue(u,f,d,[],null,e)}else u=g._parseValue(u,d,e);m&&l in o?Array.isArray(o[l])?o[l].push(u):o[l]=[o[l],u]:o[l]=u}return[o,u,c]},g._rfc6868Escape=function(r){return r.replace(/\^['n^]/g,function(t){return n0[t]})},g._parseMultiValue=function(r,t,e,s,a,i,o){let n=0,l=0,u;if(t.length===0)return r;for(;(n=fe(r,t,l))!==-1;)u=r.slice(l,n),a?u=g._parseMultiValue(u,a,e,[],null,i,o):u=g._parseValue(u,e,i,o),s.push(u),l=n+t.length;return u=r.slice(l),a?u=g._parseMultiValue(u,a,e,[],null,i,o):u=g._parseValue(u,e,i,o),s.push(u),s.length==1?s[0]:s},g._eachLine=function(r,t){let e=r.length,s=r.search(s0),a=s,i,o,n;do a=r.indexOf(` `,s)+1,a>1&&r[a-2]==="\r"?n=2:n=1,a===0&&(a=e,n=0),o=r[s],o===" "||o===" "?i+=r.slice(s+1,a-n):(i&&t(null,i),i=r.slice(s,a-n)),s=a;while(a!==e);i=i.trim(),i.length&&t(null,i)};const o0=["tzid","location","tznames","latitude","longitude"];class T{static _compare_change_fn(t,e){return t.yeare.year?1:t.monthe.month?1:t.daye.day?1:t.houre.hour?1:t.minutee.minute?1:t.seconde.second?1:0}static convert_time(t,e,s){if(t.isDate||e.tzid==s.tzid||e==T.localTimezone||s==T.localTimezone)return t.zone=s,t;let a=e.utcOffset(t);return t.adjust(0,0,0,-a),a=s.utcOffset(t),t.adjust(0,0,0,a),null}static fromData(t){return new T().fromData(t)}static#t=null;static get utcTimezone(){return this.#t||(this.#t=T.fromData({tzid:"UTC"})),this.#t}static#e=null;static get localTimezone(){return this.#e||(this.#e=T.fromData({tzid:"floating"})),this.#e}static adjust_change(t,e,s,a,i){return h.prototype.adjust.call(t,e,s,a,i,t)}static _minimumExpansionYear=-1;static EXTRA_COVERAGE=5;constructor(t){this.wrappedJSObject=this,this.fromData(t)}tzid="";location="";tznames="";latitude=0;longitude=0;component=null;expandedUntilYear=0;icalclass="icaltimezone";fromData(t){if(this.expandedUntilYear=0,this.changes=[],t instanceof z)this.component=t;else{if(t&&"component"in t)if(typeof t.component=="string"){let e=g(t.component);this.component=new z(e)}else t.component instanceof z?this.component=t.component:this.component=null;for(let e of o0)t&&e in t&&(this[e]=t[e])}return this.component instanceof z&&!this.tzid&&(this.tzid=this.component.getFirstPropertyValue("tzid")),this}utcOffset(t){if(this==T.utcTimezone||this==T.localTimezone||(this._ensureCoverage(t.year),!this.changes.length))return 0;let e={year:t.year,month:t.month,day:t.day,hour:t.hour,minute:t.minute,second:t.second},s=this._findNearbyChange(e),a=-1,i=1;for(;;){let n=lt(this.changes[s],!0);if(n.utcOffset=0?a=s:i=-1,i==-1&&a!=-1)break;if(s+=i,s<0)return 0;if(s>=this.changes.length)break}let o=this.changes[a];if(o.utcOffset-o.prevUtcOffset<0&&a>0){let n=lt(o,!0);if(T.adjust_change(n,0,0,0,n.prevUtcOffset),T._compare_change_fn(e,n)<0){let l=this.changes[a-1],u=!1;o.is_daylight!=u&&l.is_daylight==u&&(o=l)}}return o.utcOffset}_findNearbyChange(t){let e=nt(this.changes,t,T._compare_change_fn);return e>=this.changes.length?this.changes.length-1:e}_ensureCoverage(t){if(T._minimumExpansionYear==-1){let s=h.now();T._minimumExpansionYear=s.year}let e=t;if(ee||!d));)i.year=d.year,i.month=d.month,i.day=d.day,i.hour=d.hour,i.minute=d.minute,i.second=d.second,i.isDate=d.isDate,T.adjust_change(i,0,0,0,-i.prevUtcOffset),s.push(i)}}return s}toString(){return this.tznames?this.tznames:this.tzid}}let N=null;const wt={get count(){return N===null?0:Object.keys(N).length},reset:function(){N=Object.create(null);let r=T.utcTimezone;N.Z=r,N.UTC=r,N.GMT=r},_hard_reset:function(){N=null},has:function(r){return N===null?!1:!!N[r]},get:function(r){return N===null&&this.reset(),N[r]},register:function(r,t){if(N===null&&this.reset(),typeof r=="string"&&t instanceof T&&([r,t]=[t,r]),t||(r instanceof T?t=r.tzid:r.name==="vtimezone"&&(r=new T(r),t=r.tzid)),!t)throw new TypeError("Neither a timezone nor a name was passed");if(r instanceof T)N[t]=r;else throw new TypeError("timezone must be ICAL.Timezone or ICAL.Component")},remove:function(r){return N===null?null:delete N[r]}};function l0(r){let t,e,s,a,i;if(!r||r.name!=="vcalendar")return r;for(t=r.getAllSubcomponents(),e=[],s={},i=0;i"u"))return r instanceof t?r:new t(r)}function fe(r,t,e){for(;(e=r.indexOf(t,e))!==-1;)if(e>0&&r[e-1]==="\\")e+=1;else return e;return-1}function nt(r,t,e){if(!r.length)return 0;let s=0,a=r.length-1,i,o;for(;s<=a;)if(i=s+Math.floor((a-s)/2),o=e(t,r[i]),o<0)a=i-1;else if(o>0)s=i+1;else break;return o<0?i:o>0?i+1:i}function lt(r,t){if(!r||typeof r!="object")return r;if(r instanceof Date)return new Date(r.getTime());if("clone"in r)return r.clone();if(Array.isArray(r)){let e=[];for(let s=0;s65535?2:1:(t+=L.newLineChar+" "+e.slice(0,Math.max(0,s)),e=e.slice(Math.max(0,s)),s=a=0)}return t.slice(L.newLineChar.length+1)}function k(r){switch(typeof r!="string"&&(typeof r=="number"&&(r=parseInt(r)),r=String(r)),r.length){case 0:return"00";case 1:return"0"+r;default:return r}}function C(r){return r<0?Math.ceil(r):Math.floor(r)}function ut(r,t){for(let e in r){let s=Object.getOwnPropertyDescriptor(r,e);s&&!Object.getOwnPropertyDescriptor(t,e)&&Object.defineProperty(t,e,s)}return t}var u0=Object.freeze({__proto__:null,binsearchInsert:nt,clone:lt,extend:ut,foldline:pe,formatClassType:q,isStrictlyNaN:pt,pad2:k,strictParseInt:O,trunc:C,unescapedIndexOf:fe,updateTimezones:l0});class V{static fromString(t){let e={};return e.factor=t[0]==="+"?1:-1,e.hours=O(t.slice(1,3)),e.minutes=O(t.slice(4,6)),new V(e)}static fromSeconds(t){let e=new V;return e.fromSeconds(t),e}constructor(t){this.fromData(t)}hours=0;minutes=0;factor=1;icaltype="utc-offset";clone(){return V.fromSeconds(this.toSeconds())}fromData(t){if(t)for(let[e,s]of Object.entries(t))this[e]=s;this._normalize()}fromSeconds(t){let e=Math.abs(t);return this.factor=t<0?-1:1,this.hours=C(e/3600),e-=this.hours*3600,this.minutes=C(e/60),this}toSeconds(){return this.factor*(60*this.minutes+3600*this.hours)}compare(t){let e=this.toSeconds(),s=t.toSeconds();return(e>s)-(s>e)}_normalize(){let t=this.toSeconds(),e=this.factor;for(;t<-43200;)t+=97200;for(;t>50400;)t-=97200;this.fromSeconds(t),t==0&&(this.factor=e)}toICALString(){return b.icalendar.value["utc-offset"].toICAL(this.toString())}toString(){return(this.factor==1?"+":"-")+k(this.hours)+":"+k(this.minutes)}}class tt extends h{static fromDateAndOrTimeString(t,e){function s(f,A,U){return f?O(f.slice(A,A+U)):null}let a=t.split("T"),i=a[0],o=a[1],n=o?b.vcard.value.time._splitZone(o):[],l=n[0],u=n[1],c=i?i.length:0,d=u?u.length:0,m=i&&i[0]=="-"&&i[1]=="-",p=u&&u[0]=="-",y={year:m?null:s(i,0,4),month:m&&(c==4||c==7)?s(i,2,2):c==7||c==10?s(i,5,2):null,day:c==5?s(i,3,2):c==7&&m?s(i,5,2):c==10?s(i,8,2):null,hour:p?null:s(u,0,2),minute:p&&d==3?s(u,1,2):d>4?p?s(u,1,2):s(u,3,2):null,second:d==4?s(u,2,2):d==6?s(u,4,2):d==8?s(u,6,2):null};return l=="Z"?l=T.utcTimezone:l&&l[3]==":"?l=V.fromString(l):l=null,new tt(y,l,e)}constructor(t,e,s){super(t,e),this.icaltype=s||"date-and-or-time"}icalclass="vcardtime";icaltype="date-and-or-time";clone(){return new tt(this._time,this.zone,this.icaltype)}_normalize(){return this}utcOffset(){return this.zone instanceof V?this.zone.toSeconds():h.prototype.utcOffset.apply(this,arguments)}toICALString(){return b.vcard.value[this.icaltype].toICAL(this.toString())}toString(){let t=this.year,e=this.month,s=this.day,a=this.hour,i=this.minute,o=this.second,n=t!==null,l=e!==null,u=s!==null,c=a!==null,d=i!==null,m=o!==null,p=(n?k(t)+(l||u?"-":""):l||u?"--":"")+(l?k(e):"")+(u?"-"+k(s):""),y=(c?k(a):"-")+(c&&d?":":"")+(d?k(i):"")+(!c&&!d?"-":"")+(d&&m?":":"")+(m?k(o):""),f;switch(this.zone===T.utcTimezone?f="Z":this.zone instanceof V?f=this.zone.toString():this.zone===T.localTimezone?f="":this.zone instanceof T?f=V.fromSeconds(this.zone.utcOffset(this)).toString():f="",this.icaltype){case"time":return y+f;case"date-and-or-time":case"date-time":return p+(y=="--"?"":"T"+y+f);case"date":return p}return null}}class R{static _indexMap={BYSECOND:0,BYMINUTE:1,BYHOUR:2,BYDAY:3,BYMONTHDAY:4,BYYEARDAY:5,BYWEEKNO:6,BYMONTH:7,BYSETPOS:8};static _expandMap={SECONDLY:[1,1,1,1,1,1,1,1],MINUTELY:[2,1,1,1,1,1,1,1],HOURLY:[2,2,1,1,1,1,1,1],DAILY:[2,2,2,1,1,1,1,1],WEEKLY:[2,2,2,2,3,3,1,1],MONTHLY:[2,2,2,2,2,3,3,1],YEARLY:[2,2,2,2,2,2,2,2]};static UNKNOWN=0;static CONTRACT=1;static EXPAND=2;static ILLEGAL=3;constructor(t){this.fromData(t)}completed=!1;rule=null;dtstart=null;last=null;occurrence_number=0;by_indices=null;initialized=!1;by_data=null;days=null;days_index=0;fromData(t){if(this.rule=q(t.rule,w),!this.rule)throw new Error("iterator requires a (ICAL.Recur) rule");if(this.dtstart=q(t.dtstart,h),!this.dtstart)throw new Error("iterator requires a (ICAL.Time) dtstart");if(t.by_data?this.by_data=t.by_data:this.by_data=lt(this.rule.parts,!0),t.occurrence_number&&(this.occurrence_number=t.occurrence_number),this.days=t.days||[],t.last&&(this.last=q(t.last,h)),this.by_indices=t.by_indices,this.by_indices||(this.by_indices={BYSECOND:0,BYMINUTE:0,BYHOUR:0,BYDAY:0,BYMONTH:0,BYWEEKNO:0,BYMONTHDAY:0}),this.initialized=t.initialized||!1,!this.initialized)try{this.init()}catch(e){if(e instanceof gt)this.completed=!0;else throw e}}init(){this.initialized=!0,this.last=this.dtstart.clone();let t=this.by_data;if("BYDAY"in t&&this.sort_byday_rules(t.BYDAY),"BYYEARDAY"in t&&("BYMONTH"in t||"BYWEEKNO"in t||"BYMONTHDAY"in t))throw new Error("Invalid BYYEARDAY rule");if("BYWEEKNO"in t&&"BYMONTHDAY"in t)throw new Error("BYWEEKNO does not fit to BYMONTHDAY");if(this.rule.freq=="MONTHLY"&&("BYYEARDAY"in t||"BYWEEKNO"in t))throw new Error("For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear");if(this.rule.freq=="WEEKLY"&&("BYYEARDAY"in t||"BYMONTHDAY"in t))throw new Error("For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear");if(this.rule.freq!="YEARLY"&&"BYYEARDAY"in t)throw new Error("BYYEARDAY may only appear in YEARLY rules");if(this.last.second=this.setup_defaults("BYSECOND","SECONDLY",this.dtstart.second),this.last.minute=this.setup_defaults("BYMINUTE","MINUTELY",this.dtstart.minute),this.last.hour=this.setup_defaults("BYHOUR","HOURLY",this.dtstart.hour),this.last.day=this.setup_defaults("BYMONTHDAY","DAILY",this.dtstart.day),this.last.month=this.setup_defaults("BYMONTH","MONTHLY",this.dtstart.month),this.rule.freq=="WEEKLY")if("BYDAY"in t){let[,e]=this.ruleDayOfWeek(t.BYDAY[0],this.rule.wkst),s=e-this.last.dayOfWeek(this.rule.wkst);(this.last.dayOfWeek(this.rule.wkst)=0||s<0)&&(this.last.day+=s)}else{let e=w.numericDayToIcalDay(this.dtstart.dayOfWeek());t.BYDAY=[e]}if(this.rule.freq=="YEARLY"){const e=this.rule.until?this.rule.until.year:2e4;for(;this.last.year<=e&&(this.expand_year_days(this.last.year),!(this.days.length>0));)this.increment_year(this.rule.interval);if(this.days.length==0)throw new gt;if(!this._nextByYearDay()&&!this.next_year()&&!this.next_year()&&!this.next_year())throw new gt}if(this.rule.freq=="MONTHLY"){if(this.has_by_data("BYDAY")){let e=null,s=this.last.clone(),a=h.daysInMonth(this.last.month,this.last.year);for(let i of this.by_data.BYDAY){this.last=s.clone();let[o,n]=this.ruleDayOfWeek(i),l=this.last.nthWeekDay(n,o);if(o>=6||o<=-6)throw new Error("Malformed values in BYDAY part");if(l>a||l<=0){if(e&&e.month==s.month)continue;for(;l>a||l<=0;)this.increment_month(),a=h.daysInMonth(this.last.month,this.last.year),l=this.last.nthWeekDay(n,o)}this.last.day=l,(!e||this.last.compare(e)<0)&&(e=this.last.clone())}if(this.last=e.clone(),this.has_by_data("BYMONTHDAY")&&this._byDayAndMonthDay(!0),this.last.day>a||this.last.day==0)throw new Error("Malformed values in BYDAY part")}else if(this.has_by_data("BYMONTHDAY")){this.last.day=1;let e=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY).filter(s=>s>=this.last.day);if(e.length)this.last.day=e[0],this.by_data.BYMONTHDAY=e;else if(!this.next_month()&&!this.next_month()&&!this.next_month())throw new gt}}}next(t=!1){let e=this.last?this.last.clone():null;if((this.rule.count&&this.occurrence_number>=this.rule.count||this.rule.until&&this.last.compare(this.rule.until)>0)&&(this.completed=!0),this.completed)return null;if(this.occurrence_number==0&&this.last.compare(this.dtstart)>=0)return this.occurrence_number++,this.last;let s,a=0;do switch(s=1,this.rule.freq){case"SECONDLY":this.next_second();break;case"MINUTELY":this.next_minute();break;case"HOURLY":this.next_hour();break;case"DAILY":this.next_day();break;case"WEEKLY":this.next_week();break;case"MONTHLY":if(s=this.next_month(),s)a=0;else if(++a==336)return this.completed=!0,null;break;case"YEARLY":if(s=this.next_year(),s)a=0;else if(++a==28)return this.completed=!0,null;break;default:return null}while(!this.check_contracting_rules()||this.last.compare(this.dtstart)<0||!s);if(this.last.compare(e)==0){if(t)throw new Error("Same occurrence found twice, protecting you from death by recursion");this.next(!0)}return this.rule.until&&this.last.compare(this.rule.until)>0?(this.completed=!0,null):(this.occurrence_number++,this.last)}next_second(){return this.next_generic("BYSECOND","SECONDLY","second","minute")}increment_second(t){return this.increment_generic(t,"second",60,"minute")}next_minute(){return this.next_generic("BYMINUTE","MINUTELY","minute","hour","next_second")}increment_minute(t){return this.increment_generic(t,"minute",60,"hour")}next_hour(){return this.next_generic("BYHOUR","HOURLY","hour","monthday","next_minute")}increment_hour(t){this.increment_generic(t,"hour",24,"monthday")}next_day(){let t=this.rule.freq=="DAILY";return this.next_hour()==0||(t?this.increment_monthday(this.rule.interval):this.increment_monthday(1)),0}next_week(){let t=0;if(this.next_weekday_by_week()==0)return t;if(this.has_by_data("BYWEEKNO")){this.by_indices.BYWEEKNO++,this.by_indices.BYWEEKNO==this.by_data.BYWEEKNO.length&&(this.by_indices.BYWEEKNO=0,t=1),this.last.month=1,this.last.day=1;let e=this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];this.last.day+=7*e,t&&this.increment_year(1)}else this.increment_monthday(7*this.rule.interval);return t}normalizeByMonthDayRules(t,e,s){let a=h.daysInMonth(e,t),i=[],o=0,n=s.length,l;for(;oa)){if(l<0)l=a+(l+1);else if(l===0)continue;i.indexOf(l)===-1&&i.push(l)}}return i.sort(function(u,c){return u-c})}_byDayAndMonthDay(t){let e,s=this.by_data.BYDAY,a,i=0,o,n=s.length,l=0,u,c=this,d=this.last.day;function m(){for(u=h.daysInMonth(c.last.month,c.last.year),e=c.normalizeByMonthDayRules(c.last.year,c.last.month,c.by_data.BYMONTHDAY),o=e.length;e[i]<=d&&!(t&&e[i]==d)&&iu){p();continue}let f=e[i++];if(f>=a)d=f;else{p();continue}for(let A=0;Ae&&(this.last.day=1,this.increment_month(),this.is_day_in_byday(this.last)?(!this.has_by_data("BYSETPOS")||this.check_set_position(1))&&(t=1):t=0)}else if(this.has_by_data("BYMONTHDAY")){if(this.by_indices.BYMONTHDAY++,this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length&&(this.by_indices.BYMONTHDAY=0,this.increment_month(),this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length))return 0;let e=h.daysInMonth(this.last.month,this.last.year),s=this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];s<0&&(s=e+s+1),s>e?(this.last.day=1,t=this.is_day_in_byday(this.last)):this.last.day=s}else{this.increment_month();let e=h.daysInMonth(this.last.month,this.last.year);this.by_data.BYMONTHDAY[0]>e?t=0:this.last.day=this.by_data.BYMONTHDAY[0]}return t}next_weekday_by_week(){let t=0;if(this.next_hour()==0)return t;if(!this.has_by_data("BYDAY"))return 1;for(;;){let e=new h;this.by_indices.BYDAY++,this.by_indices.BYDAY==Object.keys(this.by_data.BYDAY).length&&(this.by_indices.BYDAY=0,t=1);let s=this.by_data.BYDAY[this.by_indices.BYDAY],a=this.ruleDayOfWeek(s)[1];a-=this.rule.wkst,a<0&&(a+=7),e.year=this.last.year,e.month=this.last.month,e.day=this.last.day;let i=e.startDoyWeek(this.rule.wkst);if(a+i<1&&!t)continue;let o=h.fromDayOfYear(i+a,this.last.year);return this.last.year=o.year,this.last.month=o.month,this.last.day=o.day,t}}next_year(){return this.next_hour()==0||(this.days.length==0||++this.days_index==this.days.length)&&(this.days_index=0,this.increment_year(this.rule.interval),this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY)),this.expand_year_days(this.last.year),this.days.length==0)?0:this._nextByYearDay()}_nextByYearDay(){let t=this.days[this.days_index],e=this.last.year;if(Math.abs(t)==366&&!h.isLeapYear(this.last.year))return 0;t<1&&(t+=1,e+=1);let s=h.fromDayOfYear(t,e);return this.last.day=s.day,this.last.month=s.month,1}ruleDayOfWeek(t,e){let s=t.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);if(s){let a=parseInt(s[1]||0,10);return t=w.icalDayToNumericDay(s[2],e),[a,t]}else return[0,0]}next_generic(t,e,s,a,i){let o=t in this.by_data,n=this.rule.freq==e,l=0;if(i&&this[i]()==0)return l;if(o){this.by_indices[t]++;let u=this.by_data[t];this.by_indices[t]==u.length&&(this.by_indices[t]=0,l=1),this.last[s]=u[this.by_indices[t]]}else n&&this["increment_"+s](this.rule.interval);return o&&l&&n&&this["increment_"+a](1),l}increment_monthday(t){for(let e=0;es&&(this.last.day-=s,this.increment_month())}}increment_month(){if(this.last.day=1,this.has_by_data("BYMONTH"))this.by_indices.BYMONTH++,this.by_indices.BYMONTH==this.by_data.BYMONTH.length&&(this.by_indices.BYMONTH=0,this.increment_year(1)),this.last.month=this.by_data.BYMONTH[this.by_indices.BYMONTH];else{this.rule.freq=="MONTHLY"?this.last.month+=this.rule.interval:this.last.month++,this.last.month--;let t=C(this.last.month/12);this.last.month%=12,this.last.month++,t!=0&&this.increment_year(t)}this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY))}increment_year(t){this.last.day=1,this.last.year+=t}increment_generic(t,e,s,a){this.last[e]+=t;let i=C(this.last[e]/s);this.last[e]%=s,i!=0&&this["increment_"+a](i)}has_by_data(t){return t in this.rule.parts}expand_year_days(t){let e=new h;this.days=[];let s={},a=["BYDAY","BYWEEKNO","BYMONTHDAY","BYMONTH","BYYEARDAY"];for(let n of a)n in this.rule.parts&&(s[n]=this.rule.parts[n]);if("BYMONTH"in s&&"BYWEEKNO"in s){let n=1,l={};e.year=t,e.isDate=!0;for(let u=0;u0?(A=U+(y-1)*7,A<=l&&this.days.push(c+A)):(A=ht+(y+1)*7,A>0&&this.days.push(c+A))}}this.days.sort(function(n,l){return n-l})}else if(i==2&&"BYDAY"in s&&"BYMONTHDAY"in s){let n=this.expand_by_day(t);for(let l of n){let u=h.fromDayOfYear(l,t);this.by_data.BYMONTHDAY.indexOf(u.day)>=0&&this.days.push(l)}}else if(i==3&&"BYDAY"in s&&"BYMONTHDAY"in s&&"BYMONTH"in s){let n=this.expand_by_day(t);for(let l of n){let u=h.fromDayOfYear(l,t);this.by_data.BYMONTH.indexOf(u.month)>=0&&this.by_data.BYMONTHDAY.indexOf(u.day)>=0&&this.days.push(l)}}else if(i==2&&"BYDAY"in s&&"BYWEEKNO"in s){let n=this.expand_by_day(t);for(let l of n){let u=h.fromDayOfYear(l,t).weekNumber(this.rule.wkst);this.by_data.BYWEEKNO.indexOf(u)&&this.days.push(l)}}else if(!(i==3&&"BYDAY"in s&&"BYWEEKNO"in s&&"BYMONTHDAY"in s))if(i==1&&"BYYEARDAY"in s)this.days=this.days.concat(this.by_data.BYYEARDAY);else if(i==2&&"BYYEARDAY"in s&&"BYDAY"in s){let n=h.isLeapYear(t)?366:365,l=new Set(this.expand_by_day(t));for(let u of this.by_data.BYYEARDAY)u<0&&(u+=n+1),l.has(u)&&this.days.push(u)}else this.days=[]}let o=h.isLeapYear(t)?366:365;return this.days.sort((n,l)=>(n<0&&(n+=o+1),l<0&&(l+=o+1),n-l)),0}expand_by_day(t){let e=[],s=this.last.clone();s.year=t,s.month=1,s.day=1,s.isDate=!0;let a=s.dayOfWeek();s.month=12,s.day=31,s.isDate=!0;let i=s.dayOfWeek(),o=s.dayOfYear();for(let n of this.by_data.BYDAY){let l=this.ruleDayOfWeek(n),u=l[0],c=l[1];if(u==0){let d=(c+7-a)%7+1;for(let m=d;m<=o;m+=7)e.push(m)}else if(u>0){let d;c>=a?d=c-a+1:d=c-a+8,e.push(d+(u-1)*7)}else{let d;u=-u,c<=i?d=o-i+c:d=o-i+c-7,e.push(d-(u-1)*7)}}return e}is_day_in_byday(t){if(this.by_data.BYDAY)for(let e of this.by_data.BYDAY){let s=this.ruleDayOfWeek(e),a=s[0],i=s[1],o=t.dayOfWeek();if(a==0&&i==o||t.nthWeekDay(i,a)==t.day)return 1}return 0}check_set_position(t){return this.has_by_data("BYSETPOS")?this.by_data.BYSETPOS.indexOf(t)!==-1:!1}sort_byday_rules(t){for(let e=0;ei){let o=t[e];t[e]=t[s],t[s]=o}}}check_contract_restriction(t,e){let s=R._indexMap[t],a=R._expandMap[this.rule.freq][s],i=!1;if(t in this.by_data&&a==R.CONTRACT){let o=this.by_data[t];for(let n of o)if(n==e){i=!0;break}}else i=!0;return i}check_contracting_rules(){let t=this.last.dayOfWeek(),e=this.last.weekNumber(this.rule.wkst),s=this.last.dayOfYear();return this.check_contract_restriction("BYSECOND",this.last.second)&&this.check_contract_restriction("BYMINUTE",this.last.minute)&&this.check_contract_restriction("BYHOUR",this.last.hour)&&this.check_contract_restriction("BYDAY",w.numericDayToIcalDay(t))&&this.check_contract_restriction("BYWEEKNO",e)&&this.check_contract_restriction("BYMONTHDAY",this.last.day)&&this.check_contract_restriction("BYMONTH",this.last.month)&&this.check_contract_restriction("BYYEARDAY",s)}setup_defaults(t,e,s){let a=R._indexMap[t];return R._expandMap[this.rule.freq][a]!=R.CONTRACT&&(t in this.by_data||(this.by_data[t]=[s]),this.rule.freq!=e)?this.by_data[t][0]:s}toJSON(){let t=Object.create(null);return t.initialized=this.initialized,t.rule=this.rule.toJSON(),t.dtstart=this.dtstart.toJSON(),t.by_data=this.by_data,t.days=this.days,t.last=this.last.toJSON(),t.by_indices=this.by_indices,t.occurrence_number=this.occurrence_number,t}}class gt extends Error{constructor(){super("Recurrence rule has no valid occurrences")}}const d0=/^(SU|MO|TU|WE|TH|FR|SA)$/,c0=/^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/,Te={SU:h.SUNDAY,MO:h.MONDAY,TU:h.TUESDAY,WE:h.WEDNESDAY,TH:h.THURSDAY,FR:h.FRIDAY,SA:h.SATURDAY},h0=Object.fromEntries(Object.entries(Te).map(r=>r.reverse())),Xt=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"];class w{static fromString(t){let e=this._stringToData(t,!1);return new w(e)}static fromData(t){return new w(t)}static _stringToData(t,e){let s=Object.create(null),a=t.split(";"),i=a.length;for(let o=0;o7&&(a-=7),h0[a]}constructor(t){this.wrappedJSObject=this,this.parts={},t&&typeof t=="object"&&this.fromData(t)}parts=null;interval=1;wkst=h.MONDAY;until=null;count=null;freq=null;icalclass="icalrecur";icaltype="recur";iterator(t){return new R({rule:this,dtstart:t})}clone(){return new w(this.toJSON())}isFinite(){return!!(this.count||this.until)}isByCount(){return!!(this.count&&!this.until)}addComponent(t,e){let s=t.toUpperCase();s in this.parts?this.parts[s].push(e):this.parts[s]=[e]}setComponent(t,e){this.parts[t.toUpperCase()]=e.slice()}getComponent(t){let e=t.toUpperCase();return e in this.parts?this.parts[e].slice():[]}getNextOccurrence(t,e){let s=this.iterator(t),a;do a=s.next();while(a&&a.compare(e)<=0);return a&&e.zone&&(a.zone=e.zone),a}fromData(t){for(let e in t){let s=e.toUpperCase();s in kt?Array.isArray(t[e])?this.parts[s]=t[e]:this.parts[s]=[t[e]]:this[e]=t[e]}this.interval&&typeof this.interval!="number"&&It.INTERVAL(this.interval,this),this.wkst&&typeof this.wkst!="number"&&(this.wkst=w.icalDayToNumericDay(this.wkst)),this.until&&!(this.until instanceof h)&&(this.until=h.fromString(this.until))}toJSON(){let t=Object.create(null);t.freq=this.freq,this.count&&(t.count=this.count),this.interval>1&&(t.interval=this.interval);for(let[e,s]of Object.entries(this.parts))Array.isArray(s)&&s.length==1?t[e.toLowerCase()]=s[0]:t[e.toLowerCase()]=lt(s);return this.until&&(t.until=this.until.toString()),"wkst"in this&&this.wkst!==h.DEFAULT_WEEK_START&&(t.wkst=w.numericDayToIcalDay(this.wkst)),t}toString(){let t="FREQ="+this.freq;this.count&&(t+=";COUNT="+this.count),this.interval>1&&(t+=";INTERVAL="+this.interval);for(let[e,s]of Object.entries(this.parts))t+=";"+e+"="+s;return this.until&&(t+=";UNTIL="+this.until.toICALString()),"wkst"in this&&this.wkst!==h.DEFAULT_WEEK_START&&(t+=";WKST="+w.numericDayToIcalDay(this.wkst)),t}}function Z(r,t,e,s){let a=s;if(s[0]==="+"&&(a=s.slice(1)),a=O(a),t!==void 0&&s '+t);if(e!==void 0&&s>e)throw new Error(r+': invalid value "'+s+'" must be < '+t);return a}const It={FREQ:function(r,t,e){if(Xt.indexOf(r)!==-1)t.freq=r;else throw new Error('invalid frequency "'+r+'" expected: "'+Xt.join(", ")+'"')},COUNT:function(r,t,e){t.count=O(r)},INTERVAL:function(r,t,e){t.interval=O(r),t.interval<1&&(t.interval=1)},UNTIL:function(r,t,e){r.length>10?t.until=b.icalendar.value["date-time"].fromICAL(r):t.until=b.icalendar.value.date.fromICAL(r),e||(t.until=h.fromString(t.until))},WKST:function(r,t,e){if(d0.test(r))t.wkst=w.icalDayToNumericDay(r);else throw new Error('invalid WKST value "'+r+'"')}},kt={BYSECOND:Z.bind(void 0,"BYSECOND",0,60),BYMINUTE:Z.bind(void 0,"BYMINUTE",0,59),BYHOUR:Z.bind(void 0,"BYHOUR",0,23),BYDAY:function(r){if(c0.test(r))return r;throw new Error('invalid BYDAY value "'+r+'"')},BYMONTHDAY:Z.bind(void 0,"BYMONTHDAY",-31,31),BYYEARDAY:Z.bind(void 0,"BYYEARDAY",-366,366),BYWEEKNO:Z.bind(void 0,"BYWEEKNO",-53,53),BYMONTH:Z.bind(void 0,"BYMONTH",1,12),BYSETPOS:Z.bind(void 0,"BYSETPOS",-366,366)},m0=/\\\\|\\;|\\,|\\[Nn]/g,f0=/\\|;|,|\n/g,Qt=/\\\\|\\,|\\[Nn]/g,te=/\\|,|\n/g;function Vt(r,t){return{matches:/.*/,fromICAL:function(e,s){return T0(e,r,s)},toICAL:function(e,s){let a=t;return s&&(a=new RegExp(a.source+"|"+s,a.flags)),e.replace(a,function(i){switch(i){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case` diff --git a/dist/encryption-encryption.mjs b/dist/encryption-encryption.mjs index 7409026468865..b7e27ddb249d3 100644 --- a/dist/encryption-encryption.mjs +++ b/dist/encryption-encryption.mjs @@ -1,2 +1,2 @@ -import{a as o,b as i}from"./index-BRcsAfAF.chunk.mjs";import{c as r}from"./index-CfIbVNTc.chunk.mjs";import{s as a}from"./index--CXeJKGn.chunk.mjs";import"./Web-X6XNrbMx.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";window.addEventListener("DOMContentLoaded",async function(){if(o()===null)return;const{data:t}=await r.get(i("/apps/encryption/ajax/getStatus"));t.status==="interactionNeeded"&&a(t.data.message)}); +import{a as o,b as i}from"./index-BRcsAfAF.chunk.mjs";import{c as r}from"./index-CfIbVNTc.chunk.mjs";import{s as a}from"./index-9np_X5jS.chunk.mjs";import"./Web-X6XNrbMx.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";window.addEventListener("DOMContentLoaded",async function(){if(o()===null)return;const{data:t}=await r.get(i("/apps/encryption/ajax/getStatus"));t.status==="interactionNeeded"&&a(t.data.message)}); //# sourceMappingURL=encryption-encryption.mjs.map diff --git a/dist/encryption-settings_admin.mjs b/dist/encryption-settings_admin.mjs index e4f84f0b970b0..67b3e5a2b3545 100644 --- a/dist/encryption-settings_admin.mjs +++ b/dist/encryption-settings_admin.mjs @@ -1,2 +1,2 @@ -import{b as k,n as x,z as T,o as p,c as f,u as e,w as c,j as g,t as w,l as s,p as A,f as P,k as m,h,L as K,v as N,y as j,F as H,g as z,e as D}from"./Web-X6XNrbMx.chunk.mjs";import{_ as F,l as I}from"./public-C1mLBHT3.chunk.mjs";import{t as o}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{w as M}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as U}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import{b as S}from"./index-BRcsAfAF.chunk.mjs";import{N as B}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as E}from"./mdi-GefgkJkH.chunk.mjs";import{N as V}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import{c as R}from"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import{N as $}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{d as L}from"./index--CXeJKGn.chunk.mjs";import{N as q,l as C,I as O}from"./types-BcWygGQq.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const G=k({__name:"SettingsAdminHomeStorage",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(b){const a=x(b,"modelValue"),i=s(!1);return T(a,()=>{i.value=!0}),M(a,async(t,n)=>{if(t===n){i.value=!1;return}try{await R.post(S("/apps/encryption/ajax/setEncryptHomeStorage"),{encryptHomeStorage:t})}finally{i.value=!1}},{debounce:800}),(t,n)=>(p(),f(e(B),{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=r=>a.value=r),loading:i.value,description:e(o)("encryption","Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted"),type:"switch"},{default:c(()=>[g(w(e(o)("encryption","Encrypt the home storage")),1)]),_:1},8,["modelValue","loading","description"]))}}),J=k({__name:"SettingsAdminRecoveryKey",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(b){const a=x(b,"modelValue"),i=A("form"),t=s(!1),n=s(!1),r=s(""),l=s(""),v=N(()=>r.value===l.value);async function _(){if(!t.value&&v.value){n.value=!1,t.value=!0;try{const{data:d}=await R.post(S("/apps/encryption/ajax/adminRecovery"),{adminEnableRecovery:!a.value,recoveryPassword:r.value,confirmPassword:l.value});a.value=!a.value,r.value=l.value="",i.value?.reset(),d.data.message&&L(d.data.message)}catch(d){n.value=!0,C.error("Failed to update recovery key settings",{error:d})}finally{t.value=!1}}}return(d,u)=>(p(),P("form",{ref:"form",onSubmit:K(_,["prevent"])},[m(e(q),{label:a.value?e(o)("encryption","Disable recovery key"):e(o)("encryption","Enable recovery key"),description:e(o)("encryption","The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten.")},{default:c(()=>[m(e(V),{modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=y=>r.value=y),required:"",name:"password",label:e(o)("encryption","Recovery key password")},null,8,["modelValue","label"]),m(e(V),{modelValue:l.value,"onUpdate:modelValue":u[1]||(u[1]=y=>l.value=y),required:"",name:"confirmPassword",error:!!l.value&&!v.value,helperText:v.value||!l.value?"":e(o)("encryption","Passwords fields do not match"),label:e(o)("encryption","Repeat recovery key password")},null,8,["modelValue","error","helperText","label"]),m(e(U),{type:"submit",variant:a.value?"error":"primary"},{default:c(()=>[g(w(a.value?e(o)("encryption","Disable recovery key"):e(o)("encryption","Enable recovery key")),1)]),_:1},8,["variant"]),n.value?(p(),f(e(E),{key:0,type:"error"},{default:c(()=>[g(w(e(o)("encryption","An error occurred while updating the recovery key settings. Please try again.")),1)]),_:1})):h("",!0)]),_:1},8,["label","description"])],544))}}),Q=k({__name:"SettingsAdminRecoveryKeyChange",setup(b){const a=A("form"),i=s(!1),t=s(!1),n=s(""),r=s(""),l=s(""),v=N(()=>r.value===l.value);async function _(){if(!i.value&&v.value){t.value=!1,i.value=!0;try{await R.post(S("/apps/encryption/ajax/changeRecoveryPassword"),{oldPassword:n.value,newPassword:r.value,confirmPassword:l.value}),n.value=r.value=l.value="",a.value?.reset()}catch(d){t.value=!0,C.error("Failed to update recovery key settings",{error:d})}finally{i.value=!1}}}return(d,u)=>(p(),P("form",{ref:"form",class:j(d.$style.settingsAdminRecoveryKeyChange),onSubmit:K(_,["prevent"])},[m(e(q),{label:e(o)("encryption","Change recovery key password")},{default:c(()=>[m(e(V),{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=y=>n.value=y),required:"",name:"oldPassword",label:e(o)("encryption","Old recovery key password")},null,8,["modelValue","label"]),m(e(V),{modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=y=>r.value=y),required:"",name:"password",label:e(o)("encryption","New recovery key password")},null,8,["modelValue","label"]),m(e(V),{modelValue:l.value,"onUpdate:modelValue":u[2]||(u[2]=y=>l.value=y),required:"",name:"confirmPassword",error:!v.value&&!!l.value,helperText:v.value||!l.value?"":e(o)("encryption","Passwords fields do not match"),label:e(o)("encryption","Repeat new recovery key password")},null,8,["modelValue","error","helperText","label"]),m(e(U),{type:"submit",variant:"primary"},{default:c(()=>[g(w(e(o)("encryption","Change recovery key password")),1)]),_:1}),t.value?(p(),f(e(E),{key:0,type:"error"},{default:c(()=>[g(w(e(o)("encryption","An error occurred while changing the recovery key password. Please try again.")),1)]),_:1})):h("",!0)]),_:1},8,["label"])],34))}}),W="_settingsAdminRecoveryKeyChange_12rwr_2",X={settingsAdminRecoveryKeyChange:W},Y={$style:X},Z=F(Q,[["__cssModules",Y]]),ee=k({__name:"SettingsAdmin",setup(b){const a=I("encryption","adminSettings"),i=s(a.encryptHomeStorage),t=s(a.recoveryEnabled);return(n,r)=>(p(),f(e($),{name:e(o)("encryption","Default encryption module")},{default:c(()=>[e(a).initStatus===e(O).NotInitialized&&!e(a).masterKeyEnabled?(p(),f(e(E),{key:0,type:"warning"},{default:c(()=>[g(w(e(o)("encryption","Encryption app is enabled but your keys are not initialized, please log-out and log-in again")),1)]),_:1})):(p(),P(H,{key:1},[m(G,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=l=>i.value=l)},null,8,["modelValue"]),r[2]||(r[2]=z("br",null,null,-1)),e(a).masterKeyEnabled?h("",!0):(p(),f(J,{key:0,modelValue:t.value,"onUpdate:modelValue":r[1]||(r[1]=l=>t.value=l)},null,8,["modelValue"])),!e(a).masterKeyEnabled&&t.value?(p(),f(Z,{key:1})):h("",!0)],64))]),_:1},8,["name"]))}}),ae=D(ee);ae.mount("#encryption-settings-section"); +import{b as k,n as x,z as T,o as p,c as f,u as e,w as c,j as g,t as w,l as s,p as A,f as P,k as m,h,L as K,v as N,y as j,F as H,g as z,e as D}from"./Web-X6XNrbMx.chunk.mjs";import{_ as F,l as I}from"./public-C1mLBHT3.chunk.mjs";import{t as o}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{w as M}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as U}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import{b as S}from"./index-BRcsAfAF.chunk.mjs";import{N as B}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as E}from"./mdi-GefgkJkH.chunk.mjs";import{N as V}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import{c as R}from"./index-CfIbVNTc.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import{N as $}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{d as L}from"./index-9np_X5jS.chunk.mjs";import{N as q,l as C,I as O}from"./types-BcWygGQq.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const G=k({__name:"SettingsAdminHomeStorage",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(b){const a=x(b,"modelValue"),i=s(!1);return T(a,()=>{i.value=!0}),M(a,async(t,n)=>{if(t===n){i.value=!1;return}try{await R.post(S("/apps/encryption/ajax/setEncryptHomeStorage"),{encryptHomeStorage:t})}finally{i.value=!1}},{debounce:800}),(t,n)=>(p(),f(e(B),{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=r=>a.value=r),loading:i.value,description:e(o)("encryption","Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted"),type:"switch"},{default:c(()=>[g(w(e(o)("encryption","Encrypt the home storage")),1)]),_:1},8,["modelValue","loading","description"]))}}),J=k({__name:"SettingsAdminRecoveryKey",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(b){const a=x(b,"modelValue"),i=A("form"),t=s(!1),n=s(!1),r=s(""),l=s(""),v=N(()=>r.value===l.value);async function _(){if(!t.value&&v.value){n.value=!1,t.value=!0;try{const{data:d}=await R.post(S("/apps/encryption/ajax/adminRecovery"),{adminEnableRecovery:!a.value,recoveryPassword:r.value,confirmPassword:l.value});a.value=!a.value,r.value=l.value="",i.value?.reset(),d.data.message&&L(d.data.message)}catch(d){n.value=!0,C.error("Failed to update recovery key settings",{error:d})}finally{t.value=!1}}}return(d,u)=>(p(),P("form",{ref:"form",onSubmit:K(_,["prevent"])},[m(e(q),{label:a.value?e(o)("encryption","Disable recovery key"):e(o)("encryption","Enable recovery key"),description:e(o)("encryption","The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten.")},{default:c(()=>[m(e(V),{modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=y=>r.value=y),required:"",name:"password",label:e(o)("encryption","Recovery key password")},null,8,["modelValue","label"]),m(e(V),{modelValue:l.value,"onUpdate:modelValue":u[1]||(u[1]=y=>l.value=y),required:"",name:"confirmPassword",error:!!l.value&&!v.value,helperText:v.value||!l.value?"":e(o)("encryption","Passwords fields do not match"),label:e(o)("encryption","Repeat recovery key password")},null,8,["modelValue","error","helperText","label"]),m(e(U),{type:"submit",variant:a.value?"error":"primary"},{default:c(()=>[g(w(a.value?e(o)("encryption","Disable recovery key"):e(o)("encryption","Enable recovery key")),1)]),_:1},8,["variant"]),n.value?(p(),f(e(E),{key:0,type:"error"},{default:c(()=>[g(w(e(o)("encryption","An error occurred while updating the recovery key settings. Please try again.")),1)]),_:1})):h("",!0)]),_:1},8,["label","description"])],544))}}),Q=k({__name:"SettingsAdminRecoveryKeyChange",setup(b){const a=A("form"),i=s(!1),t=s(!1),n=s(""),r=s(""),l=s(""),v=N(()=>r.value===l.value);async function _(){if(!i.value&&v.value){t.value=!1,i.value=!0;try{await R.post(S("/apps/encryption/ajax/changeRecoveryPassword"),{oldPassword:n.value,newPassword:r.value,confirmPassword:l.value}),n.value=r.value=l.value="",a.value?.reset()}catch(d){t.value=!0,C.error("Failed to update recovery key settings",{error:d})}finally{i.value=!1}}}return(d,u)=>(p(),P("form",{ref:"form",class:j(d.$style.settingsAdminRecoveryKeyChange),onSubmit:K(_,["prevent"])},[m(e(q),{label:e(o)("encryption","Change recovery key password")},{default:c(()=>[m(e(V),{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=y=>n.value=y),required:"",name:"oldPassword",label:e(o)("encryption","Old recovery key password")},null,8,["modelValue","label"]),m(e(V),{modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=y=>r.value=y),required:"",name:"password",label:e(o)("encryption","New recovery key password")},null,8,["modelValue","label"]),m(e(V),{modelValue:l.value,"onUpdate:modelValue":u[2]||(u[2]=y=>l.value=y),required:"",name:"confirmPassword",error:!v.value&&!!l.value,helperText:v.value||!l.value?"":e(o)("encryption","Passwords fields do not match"),label:e(o)("encryption","Repeat new recovery key password")},null,8,["modelValue","error","helperText","label"]),m(e(U),{type:"submit",variant:"primary"},{default:c(()=>[g(w(e(o)("encryption","Change recovery key password")),1)]),_:1}),t.value?(p(),f(e(E),{key:0,type:"error"},{default:c(()=>[g(w(e(o)("encryption","An error occurred while changing the recovery key password. Please try again.")),1)]),_:1})):h("",!0)]),_:1},8,["label"])],34))}}),W="_settingsAdminRecoveryKeyChange_12rwr_2",X={settingsAdminRecoveryKeyChange:W},Y={$style:X},Z=F(Q,[["__cssModules",Y]]),ee=k({__name:"SettingsAdmin",setup(b){const a=I("encryption","adminSettings"),i=s(a.encryptHomeStorage),t=s(a.recoveryEnabled);return(n,r)=>(p(),f(e($),{name:e(o)("encryption","Default encryption module")},{default:c(()=>[e(a).initStatus===e(O).NotInitialized&&!e(a).masterKeyEnabled?(p(),f(e(E),{key:0,type:"warning"},{default:c(()=>[g(w(e(o)("encryption","Encryption app is enabled but your keys are not initialized, please log-out and log-in again")),1)]),_:1})):(p(),P(H,{key:1},[m(G,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=l=>i.value=l)},null,8,["modelValue"]),r[2]||(r[2]=z("br",null,null,-1)),e(a).masterKeyEnabled?h("",!0):(p(),f(J,{key:0,modelValue:t.value,"onUpdate:modelValue":r[1]||(r[1]=l=>t.value=l)},null,8,["modelValue"])),!e(a).masterKeyEnabled&&t.value?(p(),f(Z,{key:1})):h("",!0)],64))]),_:1},8,["name"]))}}),ae=D(ee);ae.mount("#encryption-settings-section"); //# sourceMappingURL=encryption-settings_admin.mjs.map diff --git a/dist/encryption-settings_personal.mjs b/dist/encryption-settings_personal.mjs index 5368994f0b662..e7b7c5691af58 100644 --- a/dist/encryption-settings_personal.mjs +++ b/dist/encryption-settings_personal.mjs @@ -1,2 +1,2 @@ -import{b as V,p as x,o as l,f as j,k as f,w as d,c as u,u as e,j as g,t as w,h,L as z,l as p,n as I,z as q,e as B}from"./Web-X6XNrbMx.chunk.mjs";import{c as U,i as P}from"./index-CfIbVNTc.chunk.mjs";import{a as S,c as K,b as R}from"./index--CXeJKGn.chunk.mjs";import{l as C}from"./public-C1mLBHT3.chunk.mjs";import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{b as k}from"./index-BRcsAfAF.chunk.mjs";import{N}from"./mdi-GefgkJkH.chunk.mjs";import{N as T}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{w as L}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as M}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as O}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";import{N as Y,I as E,l as A}from"./types-BcWygGQq.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as _}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";const D=V({__name:"SettingsPersonalChangePrivateKey",props:{recoveryEnabledForUser:{type:Boolean}},emits:["updated"],setup(y,{emit:a}){const n=a,i=x("form"),t=p(!1),o=p(!1),r=p(""),m=p("");async function F(){if(!t.value){t.value=!0,o.value=!1;try{await U.post(k("/apps/encryption/ajax/updatePrivateKeyPassword"),{oldPassword:r.value,newPassword:m.value}),r.value=m.value="",i.value?.reset(),n("updated")}catch(c){P(c)&&c.response&&c.response.data?.data?.message&&S(c.response.data.data.message),o.value=!0}finally{t.value=!1}}}return(c,v)=>(l(),j("form",{ref:"form",onSubmit:z(F,["prevent"])},[f(e(Y),{label:e(s)("encryption","Update private key password"),description:e(s)("encryption","Your private key password no longer matches your log-in password. Set your old private key password to your current log-in password.")},{default:d(()=>[y.recoveryEnabledForUser?(l(),u(e(N),{key:0},{default:d(()=>[g(w(e(s)("encryption","If you do not remember your old password you can ask your administrator to recover your files.")),1)]),_:1})):h("",!0),f(e(_),{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=b=>r.value=b),required:"",name:"oldPassword",label:e(s)("encryption","Old log-in password")},null,8,["modelValue","label"]),f(e(_),{modelValue:m.value,"onUpdate:modelValue":v[1]||(v[1]=b=>m.value=b),required:"",name:"newPassword",label:e(s)("encryption","Current log-in password")},null,8,["modelValue","label"]),f(e(M),{type:"submit",variant:"primary"},{default:d(()=>[g(w(e(s)("encryption","Update")),1)]),_:1})]),_:1},8,["label","description"])],544))}}),G=V({__name:"SettingsPersonalEnableRecovery",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(y){const a=I(y,"modelValue"),n=p(!1);return q(a,()=>{n.value=!0}),L([a],async([i],[t])=>{if(i===t){n.value=!1;return}const o=K(s("encryption","Updating recovery keys. This can take some time…"));try{await U.post(k("/apps/encryption/ajax/userSetRecovery"),{userEnableRecovery:a.value})}catch(r){a.value=t,P(r)&&r.response&&r.response.data?.data?.message&&S(r.response.data.data.message)}finally{o.hideToast(),n.value=!1}},{debounce:800}),(i,t)=>(l(),u(e(O),{modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=o=>a.value=o),type:"switch",loading:n.value,description:e(s)("encryption","Enabling this option will allow you to reobtain access to your encrypted files in case of password loss")},{default:d(()=>[g(w(e(s)("encryption","Enable password recovery")),1)]),_:1},8,["modelValue","loading","description"]))}}),H=V({__name:"SettingsPersonal",setup(y){const a=C("encryption","personalSettings"),n=p(a.initialized),i=p(a.recoveryEnabledForUser);async function t(){try{const{data:o}=await U.get(k("/apps/encryption/ajax/getStatus"));n.value=o.initStatus,o.data.message&&R(o.data.message)}catch(o){A.error("Failed to fetch current encryption status",{error:o})}}return(o,r)=>(l(),u(e(T),{name:e(s)("encryption","Basic encryption module")},{default:d(()=>[n.value===e(E).NotInitialized?(l(),u(e(N),{key:0,type:"warning"},{default:d(()=>[g(w(e(s)("encryption","Encryption app is enabled but your keys are not initialized, please log-out and log-in again")),1)]),_:1})):n.value===e(E).InitExecuted?(l(),u(D,{key:1,recoveryEnabledForUser:i.value,onUpdated:t},null,8,["recoveryEnabledForUser"])):e(a).recoveryEnabled&&e(a).privateKeySet?(l(),u(G,{key:2,modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=m=>i.value=m)},null,8,["modelValue"])):h("",!0)]),_:1},8,["name"]))}}),J=B(H);J.mount("#encryption-settings-section"); +import{b as V,p as x,o as l,f as j,k as f,w as d,c as u,u as e,j as g,t as w,h,L as z,l as p,n as I,z as q,e as B}from"./Web-X6XNrbMx.chunk.mjs";import{c as U,i as P}from"./index-CfIbVNTc.chunk.mjs";import{a as S,c as K,b as R}from"./index-9np_X5jS.chunk.mjs";import{l as C}from"./public-C1mLBHT3.chunk.mjs";import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{b as k}from"./index-BRcsAfAF.chunk.mjs";import{N}from"./mdi-GefgkJkH.chunk.mjs";import{N as T}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{w as L}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as M}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as O}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";import{N as Y,I as E,l as A}from"./types-BcWygGQq.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as _}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";const D=V({__name:"SettingsPersonalChangePrivateKey",props:{recoveryEnabledForUser:{type:Boolean}},emits:["updated"],setup(y,{emit:a}){const n=a,i=x("form"),t=p(!1),o=p(!1),r=p(""),m=p("");async function F(){if(!t.value){t.value=!0,o.value=!1;try{await U.post(k("/apps/encryption/ajax/updatePrivateKeyPassword"),{oldPassword:r.value,newPassword:m.value}),r.value=m.value="",i.value?.reset(),n("updated")}catch(c){P(c)&&c.response&&c.response.data?.data?.message&&S(c.response.data.data.message),o.value=!0}finally{t.value=!1}}}return(c,v)=>(l(),j("form",{ref:"form",onSubmit:z(F,["prevent"])},[f(e(Y),{label:e(s)("encryption","Update private key password"),description:e(s)("encryption","Your private key password no longer matches your log-in password. Set your old private key password to your current log-in password.")},{default:d(()=>[y.recoveryEnabledForUser?(l(),u(e(N),{key:0},{default:d(()=>[g(w(e(s)("encryption","If you do not remember your old password you can ask your administrator to recover your files.")),1)]),_:1})):h("",!0),f(e(_),{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=b=>r.value=b),required:"",name:"oldPassword",label:e(s)("encryption","Old log-in password")},null,8,["modelValue","label"]),f(e(_),{modelValue:m.value,"onUpdate:modelValue":v[1]||(v[1]=b=>m.value=b),required:"",name:"newPassword",label:e(s)("encryption","Current log-in password")},null,8,["modelValue","label"]),f(e(M),{type:"submit",variant:"primary"},{default:d(()=>[g(w(e(s)("encryption","Update")),1)]),_:1})]),_:1},8,["label","description"])],544))}}),G=V({__name:"SettingsPersonalEnableRecovery",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(y){const a=I(y,"modelValue"),n=p(!1);return q(a,()=>{n.value=!0}),L([a],async([i],[t])=>{if(i===t){n.value=!1;return}const o=K(s("encryption","Updating recovery keys. This can take some time…"));try{await U.post(k("/apps/encryption/ajax/userSetRecovery"),{userEnableRecovery:a.value})}catch(r){a.value=t,P(r)&&r.response&&r.response.data?.data?.message&&S(r.response.data.data.message)}finally{o.hideToast(),n.value=!1}},{debounce:800}),(i,t)=>(l(),u(e(O),{modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=o=>a.value=o),type:"switch",loading:n.value,description:e(s)("encryption","Enabling this option will allow you to reobtain access to your encrypted files in case of password loss")},{default:d(()=>[g(w(e(s)("encryption","Enable password recovery")),1)]),_:1},8,["modelValue","loading","description"]))}}),H=V({__name:"SettingsPersonal",setup(y){const a=C("encryption","personalSettings"),n=p(a.initialized),i=p(a.recoveryEnabledForUser);async function t(){try{const{data:o}=await U.get(k("/apps/encryption/ajax/getStatus"));n.value=o.initStatus,o.data.message&&R(o.data.message)}catch(o){A.error("Failed to fetch current encryption status",{error:o})}}return(o,r)=>(l(),u(e(T),{name:e(s)("encryption","Basic encryption module")},{default:d(()=>[n.value===e(E).NotInitialized?(l(),u(e(N),{key:0,type:"warning"},{default:d(()=>[g(w(e(s)("encryption","Encryption app is enabled but your keys are not initialized, please log-out and log-in again")),1)]),_:1})):n.value===e(E).InitExecuted?(l(),u(D,{key:1,recoveryEnabledForUser:i.value,onUpdated:t},null,8,["recoveryEnabledForUser"])):e(a).recoveryEnabled&&e(a).privateKeySet?(l(),u(G,{key:2,modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=m=>i.value=m)},null,8,["modelValue"])):h("",!0)]),_:1},8,["name"]))}}),J=B(H);J.mount("#encryption-settings-section"); //# sourceMappingURL=encryption-settings_personal.mjs.map diff --git a/dist/federatedfilesharing-init-files.mjs b/dist/federatedfilesharing-init-files.mjs index 9fb56069bb7a7..d63c7415b6bbe 100644 --- a/dist/federatedfilesharing-init-files.mjs +++ b/dist/federatedfilesharing-init-files.mjs @@ -1,2 +1,2 @@ -import{c as d,i as _}from"./index-CfIbVNTc.chunk.mjs";import{b as y,a as u}from"./index--CXeJKGn.chunk.mjs";import{s as b,b as m}from"./index-BRcsAfAF.chunk.mjs";import{_ as R,l as v}from"./public-C1mLBHT3.chunk.mjs";import{t}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as D,s as S}from"./index-CJbq0R0g.chunk.mjs";import{N as O}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import{b as F,o as f,c as h,w as k,g as C,t as P,u as i,y as q,h as x,l as N,v as E}from"./Web-X6XNrbMx.chunk.mjs";import{l as M}from"./logger-B8XtISYb.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";const T=F({__name:"RemoteShareDialog",props:{name:{},owner:{},remote:{},passwordRequired:{type:Boolean}},emits:["close"],setup(e,{emit:r}){const s=e,a=r,o=N(""),n=E(()=>[{label:t("federatedfilesharing","Cancel"),callback:()=>a("close",!1)},{label:t("federatedfilesharing","Add remote share"),type:s.passwordRequired?"submit":void 0,variant:"primary",callback:()=>a("close",!0,o.value)}]);return(p,l)=>(f(),h(i(D),{buttons:n.value,isForm:e.passwordRequired,name:i(t)("federatedfilesharing","Remote share"),onSubmit:l[1]||(l[1]=w=>a("close",!0,o.value))},{default:k(()=>[C("p",null,P(i(t)("federatedfilesharing","Do you want to add the remote share {name} from {owner}@{remote}?",{name:e.name,owner:e.owner,remote:e.remote})),1),e.passwordRequired?(f(),h(i(O),{key:0,modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=w=>o.value=w),class:q(p.$style.remoteShareDialog__password),label:i(t)("federatedfilesharing","Remote share password")},null,8,["modelValue","class","label"])):x("",!0)]),_:1},8,["buttons","isForm","name"]))}}),U="_remoteShareDialog__password_1ccpy_2",V={remoteShareDialog__password:U},$={$style:V},j=R(T,[["__cssModules",$]]);async function I(e,r,s,a=!1){const[o,n]=await S(j,{name:e,owner:r,remote:s,passwordRequired:a});if(a&&o)return n;if(!o)throw new Error("Dialog was cancelled")}window.addEventListener("DOMContentLoaded",()=>{L(),v("federatedfilesharing","notificationsEnabled",!0)!==!0&&A(),b("notifications:action:executed",({action:e,notification:r})=>{r.app==="files_sharing"&&r.object_type==="remote_share"&&e.type==="POST"&&c()})});function c(){if(!window?.OCP?.Files?.Router?.goToRoute){window.location.reload();return}window.OCP.Files.Router.goToRoute(null,{...window.OCP.Files.Router.params,fileid:void 0},{...window.OCP.Files.Router.query,dir:"/",openfile:void 0})}function L(){const e=window.OC.Util.History.parseUrlQuery();if(e.remote&&e.token&&e.name){const r=(s,a)=>{s!==!1&&d.post(m("apps/federatedfilesharing/askForFederatedShare"),{remote:a.remote,token:a.token,owner:a.owner,ownerDisplayName:a.ownerDisplayName||a.owner,name:a.name,password:a.password||""}).then(({data:o})=>{Object.hasOwn(o,"legacyMount")?c():y(o.message)}).catch(o=>{M.error("Error while processing incoming share",{error:o}),_(o)&&o.response.data.message?u(o.response.data.message):u(t("federatedfilesharing","Incoming share could not be processed"))})};location.hash="",e.passwordProtected=parseInt(e.protected,10)===1,g(e,e.passwordProtected,r)}}async function A(){const{data:e}=await d.get(m("/apps/files_sharing/api/externalShares"));for(let r=0;rc())})}function g(e,r,s){const a=e.ownerDisplayName||e.owner,o=e.name,n=e.remote.replace(/^https?:\/\//,"").replace(/\/$/,"");I(o,a,n,r).then(p=>s(!0,{...e,password:p})).catch(()=>s(!1,e))} +import{c as d,i as _}from"./index-CfIbVNTc.chunk.mjs";import{b as y,a as u}from"./index-9np_X5jS.chunk.mjs";import{s as b,b as m}from"./index-BRcsAfAF.chunk.mjs";import{_ as R,l as v}from"./public-C1mLBHT3.chunk.mjs";import{t}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as D,s as S}from"./index-CJbq0R0g.chunk.mjs";import{N as O}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import{b as F,o as f,c as h,w as k,g as C,t as P,u as i,y as q,h as x,l as N,v as E}from"./Web-X6XNrbMx.chunk.mjs";import{l as M}from"./logger-B8XtISYb.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";const T=F({__name:"RemoteShareDialog",props:{name:{},owner:{},remote:{},passwordRequired:{type:Boolean}},emits:["close"],setup(e,{emit:r}){const s=e,a=r,o=N(""),n=E(()=>[{label:t("federatedfilesharing","Cancel"),callback:()=>a("close",!1)},{label:t("federatedfilesharing","Add remote share"),type:s.passwordRequired?"submit":void 0,variant:"primary",callback:()=>a("close",!0,o.value)}]);return(p,l)=>(f(),h(i(D),{buttons:n.value,isForm:e.passwordRequired,name:i(t)("federatedfilesharing","Remote share"),onSubmit:l[1]||(l[1]=w=>a("close",!0,o.value))},{default:k(()=>[C("p",null,P(i(t)("federatedfilesharing","Do you want to add the remote share {name} from {owner}@{remote}?",{name:e.name,owner:e.owner,remote:e.remote})),1),e.passwordRequired?(f(),h(i(O),{key:0,modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=w=>o.value=w),class:q(p.$style.remoteShareDialog__password),label:i(t)("federatedfilesharing","Remote share password")},null,8,["modelValue","class","label"])):x("",!0)]),_:1},8,["buttons","isForm","name"]))}}),U="_remoteShareDialog__password_1ccpy_2",V={remoteShareDialog__password:U},$={$style:V},j=R(T,[["__cssModules",$]]);async function I(e,r,s,a=!1){const[o,n]=await S(j,{name:e,owner:r,remote:s,passwordRequired:a});if(a&&o)return n;if(!o)throw new Error("Dialog was cancelled")}window.addEventListener("DOMContentLoaded",()=>{L(),v("federatedfilesharing","notificationsEnabled",!0)!==!0&&A(),b("notifications:action:executed",({action:e,notification:r})=>{r.app==="files_sharing"&&r.object_type==="remote_share"&&e.type==="POST"&&c()})});function c(){if(!window?.OCP?.Files?.Router?.goToRoute){window.location.reload();return}window.OCP.Files.Router.goToRoute(null,{...window.OCP.Files.Router.params,fileid:void 0},{...window.OCP.Files.Router.query,dir:"/",openfile:void 0})}function L(){const e=window.OC.Util.History.parseUrlQuery();if(e.remote&&e.token&&e.name){const r=(s,a)=>{s!==!1&&d.post(m("apps/federatedfilesharing/askForFederatedShare"),{remote:a.remote,token:a.token,owner:a.owner,ownerDisplayName:a.ownerDisplayName||a.owner,name:a.name,password:a.password||""}).then(({data:o})=>{Object.hasOwn(o,"legacyMount")?c():y(o.message)}).catch(o=>{M.error("Error while processing incoming share",{error:o}),_(o)&&o.response.data.message?u(o.response.data.message):u(t("federatedfilesharing","Incoming share could not be processed"))})};location.hash="",e.passwordProtected=parseInt(e.protected,10)===1,g(e,e.passwordProtected,r)}}async function A(){const{data:e}=await d.get(m("/apps/files_sharing/api/externalShares"));for(let r=0;rc())})}function g(e,r,s){const a=e.ownerDisplayName||e.owner,o=e.name,n=e.remote.replace(/^https?:\/\//,"").replace(/\/$/,"");I(o,a,n,r).then(p=>s(!0,{...e,password:p})).catch(()=>s(!1,e))} //# sourceMappingURL=federatedfilesharing-init-files.mjs.map diff --git a/dist/federatedfilesharing-settings-admin.mjs b/dist/federatedfilesharing-settings-admin.mjs index 794e303c1f394..97f3b9ff587f0 100644 --- a/dist/federatedfilesharing-settings-admin.mjs +++ b/dist/federatedfilesharing-settings-admin.mjs @@ -1,2 +1,2 @@ -import{l as s,_ as A}from"./public-C1mLBHT3.chunk.mjs";import{b as U,o as g,c,w as i,k as f,u as a,j as p,t as l,h as m,g as h,P as G,e as T}from"./Web-X6XNrbMx.chunk.mjs";import{c as x}from"./index-CfIbVNTc.chunk.mjs";import{a as v,e as b}from"./index--CXeJKGn.chunk.mjs";import{t as e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as C}from"./index-CSrs_fa4.chunk.mjs";import{c as D}from"./index-BRcsAfAF.chunk.mjs";import{N as u}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as j}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{l as S}from"./logger-B8XtISYb.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";const I={class:"settings-subsection"},q={class:"settings-subsection__name"},F=U({__name:"AdminSettings",setup(R){const E=s("federatedfilesharing","sharingFederatedDocUrl"),y=new Proxy({outgoingServer2serverShareEnabled:[s("federatedfilesharing","outgoingServer2serverShareEnabled"),"outgoing_server2server_share_enabled"],incomingServer2serverShareEnabled:[s("federatedfilesharing","incomingServer2serverShareEnabled"),"incoming_server2server_share_enabled"],outgoingServer2serverGroupShareEnabled:[s("federatedfilesharing","outgoingServer2serverGroupShareEnabled"),"outgoing_server2server_group_share_enabled"],incomingServer2serverGroupShareEnabled:[s("federatedfilesharing","incomingServer2serverGroupShareEnabled"),"incoming_server2server_group_share_enabled"],federatedGroupSharingSupported:[s("federatedfilesharing","federatedGroupSharingSupported"),"federated_group_sharing_supported"],federatedTrustedShareAutoAccept:[s("federatedfilesharing","federatedTrustedShareAutoAccept"),"federatedTrustedShareAutoAccept"],lookupServerEnabled:[s("federatedfilesharing","lookupServerEnabled"),"lookupServerEnabled"],lookupServerUploadEnabled:[s("federatedfilesharing","lookupServerUploadEnabled"),"lookupServerUploadEnabled"]},{get(d,o){return d[o]?.[0]},set(d,o,t){return o in d?(d[o][0]=t,k(d[o][1],t),!0):!1}}),r=G(y);async function _(d){if(d===!1)return r.lookupServerUploadEnabled=!1;await b({name:e("federatedfilesharing","Confirm data upload to lookup server"),text:e("federatedfilesharing",'When enabled, all account properties (e.g. email address) with scope visibility set to "published", will be automatically synced and transmitted to an external system and made available in a public, global address book.'),labelConfirm:e("federatedfilesharing","Enable data upload"),labelReject:e("federatedfilesharing","Disable upload"),severity:"warning"}).then(()=>{r.lookupServerUploadEnabled=!0}).catch(()=>{r.lookupServerUploadEnabled=!1})}async function w(d){if(d===!1)return r.lookupServerEnabled=!1;await b({name:e("federatedfilesharing","Confirm querying lookup server"),text:e("federatedfilesharing","When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book.")+e("federatedfilesharing","This is used to retrieve the federated cloud ID to make federated sharing easier.")+e("federatedfilesharing","Moreover, email addresses of users might be sent to that system in order to verify them."),labelConfirm:e("federatedfilesharing","Enable querying"),labelReject:e("federatedfilesharing","Disable querying"),severity:"warning"}).then(()=>{r.lookupServerEnabled=!0}).catch(()=>{r.lookupServerEnabled=!1})}async function k(d,o){await C();const t=D("/apps/provisioning_api/api/v1/config/apps/{appId}/{key}",{appId:"files_sharing",key:d}),V=o?"yes":"no";try{const{data:n}=await x.post(t,{value:V});if(n.ocs.meta.status!=="ok")if(n.ocs.meta.message)v(n.ocs.meta.message),S.error("Error updating federated files sharing config",{error:n.ocs});else throw new Error(`Failed to update federatedfilesharing config, ${n.ocs.meta.statuscode}`)}catch(n){S.error("Error updating federated files sharing config",{error:n}),v(e("federatedfilesharing","Unable to update federated files sharing config"))}}return(d,o)=>(g(),c(a(j),{name:a(e)("federatedfilesharing","Federated Cloud Sharing"),description:a(e)("federatedfilesharing","Adjust how people can share between servers. This includes shares between people on this server as well if they are using federated sharing."),docUrl:a(E)},{default:i(()=>[f(a(u),{modelValue:r.outgoingServer2serverShareEnabled,"onUpdate:modelValue":o[0]||(o[0]=t=>r.outgoingServer2serverShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to send shares to other servers (this option also allows WebDAV access to public shares)")),1)]),_:1},8,["modelValue"]),f(a(u),{modelValue:r.incomingServer2serverShareEnabled,"onUpdate:modelValue":o[1]||(o[1]=t=>r.incomingServer2serverShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to receive shares from other servers")),1)]),_:1},8,["modelValue"]),r.federatedGroupSharingSupported?(g(),c(a(u),{key:0,modelValue:r.outgoingServer2serverGroupShareEnabled,"onUpdate:modelValue":o[2]||(o[2]=t=>r.outgoingServer2serverGroupShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to send shares to groups on other servers")),1)]),_:1},8,["modelValue"])):m("",!0),r.federatedGroupSharingSupported?(g(),c(a(u),{key:1,modelValue:r.incomingServer2serverGroupShareEnabled,"onUpdate:modelValue":o[3]||(o[3]=t=>r.incomingServer2serverGroupShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to receive group shares from other servers")),1)]),_:1},8,["modelValue"])):m("",!0),h("fieldset",null,[h("legend",null,l(a(e)("federatedfilesharing","The lookup server is only available for global scale.")),1),f(a(u),{type:"switch",modelValue:r.lookupServerEnabled,disabled:"","onUpdate:modelValue":w},{default:i(()=>[p(l(a(e)("federatedfilesharing","Search global and public address book for people")),1)]),_:1},8,["modelValue"]),f(a(u),{type:"switch",modelValue:r.lookupServerUploadEnabled,disabled:"","onUpdate:modelValue":_},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people to publish their data to a global and public address book")),1)]),_:1},8,["modelValue"])]),h("div",I,[h("h3",q,l(a(e)("federatedfilesharing","Trusted federation")),1),f(a(u),{modelValue:r.federatedTrustedShareAutoAccept,"onUpdate:modelValue":o[4]||(o[4]=t=>r.federatedTrustedShareAutoAccept=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Automatically accept shares from trusted federated accounts and groups by default")),1)]),_:1},8,["modelValue"])])]),_:1},8,["name","description","docUrl"]))}}),N=A(F,[["__scopeId","data-v-71370f43"]]),P=s("federatedfilesharing","internalOnly",!1);P||T(N).mount("#vue-admin-federated"); +import{l as s,_ as A}from"./public-C1mLBHT3.chunk.mjs";import{b as U,o as g,c,w as i,k as f,u as a,j as p,t as l,h as m,g as h,P as G,e as T}from"./Web-X6XNrbMx.chunk.mjs";import{c as x}from"./index-CfIbVNTc.chunk.mjs";import{a as v,e as b}from"./index-9np_X5jS.chunk.mjs";import{t as e}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as C}from"./index-CSrs_fa4.chunk.mjs";import{c as D}from"./index-BRcsAfAF.chunk.mjs";import{N as u}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as j}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{l as S}from"./logger-B8XtISYb.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";const I={class:"settings-subsection"},q={class:"settings-subsection__name"},F=U({__name:"AdminSettings",setup(R){const E=s("federatedfilesharing","sharingFederatedDocUrl"),y=new Proxy({outgoingServer2serverShareEnabled:[s("federatedfilesharing","outgoingServer2serverShareEnabled"),"outgoing_server2server_share_enabled"],incomingServer2serverShareEnabled:[s("federatedfilesharing","incomingServer2serverShareEnabled"),"incoming_server2server_share_enabled"],outgoingServer2serverGroupShareEnabled:[s("federatedfilesharing","outgoingServer2serverGroupShareEnabled"),"outgoing_server2server_group_share_enabled"],incomingServer2serverGroupShareEnabled:[s("federatedfilesharing","incomingServer2serverGroupShareEnabled"),"incoming_server2server_group_share_enabled"],federatedGroupSharingSupported:[s("federatedfilesharing","federatedGroupSharingSupported"),"federated_group_sharing_supported"],federatedTrustedShareAutoAccept:[s("federatedfilesharing","federatedTrustedShareAutoAccept"),"federatedTrustedShareAutoAccept"],lookupServerEnabled:[s("federatedfilesharing","lookupServerEnabled"),"lookupServerEnabled"],lookupServerUploadEnabled:[s("federatedfilesharing","lookupServerUploadEnabled"),"lookupServerUploadEnabled"]},{get(d,o){return d[o]?.[0]},set(d,o,t){return o in d?(d[o][0]=t,k(d[o][1],t),!0):!1}}),r=G(y);async function _(d){if(d===!1)return r.lookupServerUploadEnabled=!1;await b({name:e("federatedfilesharing","Confirm data upload to lookup server"),text:e("federatedfilesharing",'When enabled, all account properties (e.g. email address) with scope visibility set to "published", will be automatically synced and transmitted to an external system and made available in a public, global address book.'),labelConfirm:e("federatedfilesharing","Enable data upload"),labelReject:e("federatedfilesharing","Disable upload"),severity:"warning"}).then(()=>{r.lookupServerUploadEnabled=!0}).catch(()=>{r.lookupServerUploadEnabled=!1})}async function w(d){if(d===!1)return r.lookupServerEnabled=!1;await b({name:e("federatedfilesharing","Confirm querying lookup server"),text:e("federatedfilesharing","When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book.")+e("federatedfilesharing","This is used to retrieve the federated cloud ID to make federated sharing easier.")+e("federatedfilesharing","Moreover, email addresses of users might be sent to that system in order to verify them."),labelConfirm:e("federatedfilesharing","Enable querying"),labelReject:e("federatedfilesharing","Disable querying"),severity:"warning"}).then(()=>{r.lookupServerEnabled=!0}).catch(()=>{r.lookupServerEnabled=!1})}async function k(d,o){await C();const t=D("/apps/provisioning_api/api/v1/config/apps/{appId}/{key}",{appId:"files_sharing",key:d}),V=o?"yes":"no";try{const{data:n}=await x.post(t,{value:V});if(n.ocs.meta.status!=="ok")if(n.ocs.meta.message)v(n.ocs.meta.message),S.error("Error updating federated files sharing config",{error:n.ocs});else throw new Error(`Failed to update federatedfilesharing config, ${n.ocs.meta.statuscode}`)}catch(n){S.error("Error updating federated files sharing config",{error:n}),v(e("federatedfilesharing","Unable to update federated files sharing config"))}}return(d,o)=>(g(),c(a(j),{name:a(e)("federatedfilesharing","Federated Cloud Sharing"),description:a(e)("federatedfilesharing","Adjust how people can share between servers. This includes shares between people on this server as well if they are using federated sharing."),docUrl:a(E)},{default:i(()=>[f(a(u),{modelValue:r.outgoingServer2serverShareEnabled,"onUpdate:modelValue":o[0]||(o[0]=t=>r.outgoingServer2serverShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to send shares to other servers (this option also allows WebDAV access to public shares)")),1)]),_:1},8,["modelValue"]),f(a(u),{modelValue:r.incomingServer2serverShareEnabled,"onUpdate:modelValue":o[1]||(o[1]=t=>r.incomingServer2serverShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to receive shares from other servers")),1)]),_:1},8,["modelValue"]),r.federatedGroupSharingSupported?(g(),c(a(u),{key:0,modelValue:r.outgoingServer2serverGroupShareEnabled,"onUpdate:modelValue":o[2]||(o[2]=t=>r.outgoingServer2serverGroupShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to send shares to groups on other servers")),1)]),_:1},8,["modelValue"])):m("",!0),r.federatedGroupSharingSupported?(g(),c(a(u),{key:1,modelValue:r.incomingServer2serverGroupShareEnabled,"onUpdate:modelValue":o[3]||(o[3]=t=>r.incomingServer2serverGroupShareEnabled=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people on this server to receive group shares from other servers")),1)]),_:1},8,["modelValue"])):m("",!0),h("fieldset",null,[h("legend",null,l(a(e)("federatedfilesharing","The lookup server is only available for global scale.")),1),f(a(u),{type:"switch",modelValue:r.lookupServerEnabled,disabled:"","onUpdate:modelValue":w},{default:i(()=>[p(l(a(e)("federatedfilesharing","Search global and public address book for people")),1)]),_:1},8,["modelValue"]),f(a(u),{type:"switch",modelValue:r.lookupServerUploadEnabled,disabled:"","onUpdate:modelValue":_},{default:i(()=>[p(l(a(e)("federatedfilesharing","Allow people to publish their data to a global and public address book")),1)]),_:1},8,["modelValue"])]),h("div",I,[h("h3",q,l(a(e)("federatedfilesharing","Trusted federation")),1),f(a(u),{modelValue:r.federatedTrustedShareAutoAccept,"onUpdate:modelValue":o[4]||(o[4]=t=>r.federatedTrustedShareAutoAccept=t),type:"switch"},{default:i(()=>[p(l(a(e)("federatedfilesharing","Automatically accept shares from trusted federated accounts and groups by default")),1)]),_:1},8,["modelValue"])])]),_:1},8,["name","description","docUrl"]))}}),N=A(F,[["__scopeId","data-v-71370f43"]]),P=s("federatedfilesharing","internalOnly",!1);P||T(N).mount("#vue-admin-federated"); //# sourceMappingURL=federatedfilesharing-settings-admin.mjs.map diff --git a/dist/federatedfilesharing-settings-personal.mjs b/dist/federatedfilesharing-settings-personal.mjs index 7264b815f0cb9..8f793616a4658 100644 --- a/dist/federatedfilesharing-settings-personal.mjs +++ b/dist/federatedfilesharing-settings-personal.mjs @@ -1,4 +1,4 @@ -import{o as l,f as g,g as t,t as i,h as F,m as A,b as H,c as y,w as r,k as s,u as e,j as d,W as J,F as W,O as Z,l as N,v as C,e as q}from"./Web-X6XNrbMx.chunk.mjs";import{d as L}from"./index--CXeJKGn.chunk.mjs";import{_ as S,l as c}from"./public-C1mLBHT3.chunk.mjs";import{t as a}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{k as _}from"./index-BRcsAfAF.chunk.mjs";import{N as m}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as E}from"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{I as G,N as K}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";const Q={name:"CheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},X=["aria-hidden","aria-label"],ee=["fill","width","height"],ae={d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"},te={key:0};function re(b,u,o,w,h,x){return l(),g("span",A(b.$attrs,{"aria-hidden":o.title?null:"true","aria-label":o.title,class:"material-design-icon check-icon",role:"img",onClick:u[0]||(u[0]=k=>b.$emit("click",k))}),[(l(),g("svg",{fill:o.fillColor,class:"material-design-icon__svg",width:o.size,height:o.size,viewBox:"0 0 24 24"},[t("path",ae,[o.title?(l(),g("title",te,i(o.title),1)):F("",!0)])],8,ee))],16,X)}const oe=S(Q,[["render",re]]),ie={class:"social-button"},le=["src"],ne=["src"],se=["src"],de={style:{margin:"10px 0"}},ce=["href"],ue=H({__name:"PersonalSettings",setup(b){const u=window.OC.theme.productName,o=c("federatedfilesharing","color"),w=c("federatedfilesharing","textColor"),h=c("federatedfilesharing","cloudId"),x=c("federatedfilesharing","docUrlFederated"),k=c("federatedfilesharing","logoPath"),f=c("federatedfilesharing","reference"),U=_("core","facebook"),z=_("core","mastodon"),D=_("core","bluesky"),B=a("federatedfilesharing","Share with me through my #Nextcloud Federated Cloud ID, see {url}",{url:f}),M=a("federatedfilesharing","Share with me through my #Nextcloud Federated Cloud ID"),R=`https://mastodon.social/?text=${encodeURIComponent(M)}&url=${encodeURIComponent(f)}`,T=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(f)}`,O=`https://bsky.app/intent/compose?text=${encodeURIComponent(B)}`,P=new URL(k,location.origin),v=N(!1),p=N(!1),I=C(()=>` +import{o as l,f as g,g as t,t as i,h as F,m as A,b as H,c as y,w as r,k as s,u as e,j as d,W as J,F as W,O as Z,l as N,v as C,e as q}from"./Web-X6XNrbMx.chunk.mjs";import{d as L}from"./index-9np_X5jS.chunk.mjs";import{_ as S,l as c}from"./public-C1mLBHT3.chunk.mjs";import{t as a}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{k as _}from"./index-BRcsAfAF.chunk.mjs";import{N as m}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as E}from"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{I as G,N as K}from"./ContentCopy-DhdKfuvN.chunk.mjs";import"./modulepreload-polyfill-BxzAKjcf.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";const Q={name:"CheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},X=["aria-hidden","aria-label"],ee=["fill","width","height"],ae={d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"},te={key:0};function re(b,u,o,w,h,x){return l(),g("span",A(b.$attrs,{"aria-hidden":o.title?null:"true","aria-label":o.title,class:"material-design-icon check-icon",role:"img",onClick:u[0]||(u[0]=k=>b.$emit("click",k))}),[(l(),g("svg",{fill:o.fillColor,class:"material-design-icon__svg",width:o.size,height:o.size,viewBox:"0 0 24 24"},[t("path",ae,[o.title?(l(),g("title",te,i(o.title),1)):F("",!0)])],8,ee))],16,X)}const oe=S(Q,[["render",re]]),ie={class:"social-button"},le=["src"],ne=["src"],se=["src"],de={style:{margin:"10px 0"}},ce=["href"],ue=H({__name:"PersonalSettings",setup(b){const u=window.OC.theme.productName,o=c("federatedfilesharing","color"),w=c("federatedfilesharing","textColor"),h=c("federatedfilesharing","cloudId"),x=c("federatedfilesharing","docUrlFederated"),k=c("federatedfilesharing","logoPath"),f=c("federatedfilesharing","reference"),U=_("core","facebook"),z=_("core","mastodon"),D=_("core","bluesky"),B=a("federatedfilesharing","Share with me through my #Nextcloud Federated Cloud ID, see {url}",{url:f}),M=a("federatedfilesharing","Share with me through my #Nextcloud Federated Cloud ID"),R=`https://mastodon.social/?text=${encodeURIComponent(M)}&url=${encodeURIComponent(f)}`,T=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(f)}`,O=`https://bsky.app/intent/compose?text=${encodeURIComponent(B)}`,P=new URL(k,location.origin),v=N(!1),p=N(!1),I=C(()=>` padding:10px; background-color:${o}; color:${w}; diff --git a/dist/federation-settings-admin.mjs b/dist/federation-settings-admin.mjs index 1a7ecebde45e6..14128760b1def 100644 --- a/dist/federation-settings-admin.mjs +++ b/dist/federation-settings-admin.mjs @@ -1,2 +1,2 @@ -import{b as g,p as x,o as l,f as U,g as h,t as E,u as t,y as u,k as _,w as T,L,l as w,D as k,c as f,v as p,h as O,Q as P,F as R,B as K,e as V}from"./Web-X6XNrbMx.chunk.mjs";import{_ as F,l as q}from"./public-C1mLBHT3.chunk.mjs";import{t as r}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{k as z,l as G,a as B,b as M,d as j,N as Q}from"./mdi-GefgkJkH.chunk.mjs";import{N as W}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{d as H,a as y}from"./index--CXeJKGn.chunk.mjs";import{N as b}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as A}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{_ as J}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{c as C,i as X}from"./index-CfIbVNTc.chunk.mjs";import{c as $,g as Y}from"./index-BRcsAfAF.chunk.mjs";import{N as Z}from"./TrashCanOutline-BBIwb491.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const d=Object.freeze({STATUS_OK:1,STATUS_PENDING:2,STATUS_FAILURE:3,STATUS_ACCESS_REVOKED:4});class N extends Error{}async function ee(a){try{const{data:i}=await C.post($("apps/federation/trusted-servers"),{url:a}),s=i.ocs.data;return{id:s.id,url:s.url,status:d.STATUS_PENDING}}catch(i){throw I(i)}}async function te(a){try{await C.delete($(`apps/federation/trusted-servers/${a}`))}catch(i){throw I(i)}}function I(a){return X(a)&&a.response?.data?.ocs?new N(a.response.data.ocs.meta.message,{cause:a}):a}const D=Y().setApp("federation").build(),re=g({__name:"AddTrustedServerForm",emits:["add"],setup(a,{emit:i}){const s=i,v=x("form"),o=w("");async function m(){try{const e=await ee(o.value);o.value="",s("add",e),k(()=>v.value?.reset()),H(r("federation","Added to the list of trusted servers"))}catch(e){D.error("Failed to add trusted server",{error:e}),e instanceof N?y(e.message):y(r("federation","Could not add trusted server. Please try again later."))}}return(e,n)=>(l(),U("form",{ref:"form",onSubmit:L(m,["prevent"])},[h("h3",{class:u(e.$style.addTrustedServerForm__heading)},E(t(r)("federation","Add trusted server")),3),h("div",{class:u(e.$style.addTrustedServerForm__wrapper)},[_(t(J),{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=c=>o.value=c),label:t(r)("federation","Server url"),placeholder:"https://…",required:"",type:"url"},null,8,["modelValue","label"]),_(t(b),{class:u(e.$style.addTrustedServerForm__submitButton),"aria-label":t(r)("federation","Add"),title:t(r)("federation","Add"),type:"submit",variant:"primary"},{icon:T(()=>[_(t(A),{path:t(z)},null,8,["path"])]),_:1},8,["class","aria-label","title"])],2)],544))}}),se="_addTrustedServerForm__heading_14ngv_2",ae="_addTrustedServerForm__wrapper_14ngv_7",ie="_addTrustedServerForm__submitButton_14ngv_14",oe={addTrustedServerForm__heading:se,addTrustedServerForm__wrapper:ae,addTrustedServerForm__submitButton:ie},de={$style:oe},ne=F(re,[["__cssModules",de]]),le=["textContent"],ue=g({__name:"TrustedServer",props:{server:{}},emits:["delete"],setup(a,{emit:i}){const s=a,v=i,o=w(!1),m=p(()=>s.server.status===d.STATUS_FAILURE),e=p(()=>{switch(s.server.status){case d.STATUS_OK:return j;case d.STATUS_PENDING:case d.STATUS_ACCESS_REVOKED:return M;case d.STATUS_FAILURE:default:return B}}),n=p(()=>{switch(s.server.status){case d.STATUS_OK:return[r("federation","Server ok"),r("federation","User list was exchanged at least once successfully with the remote server.")];case d.STATUS_PENDING:return[r("federation","Server pending"),r("federation","Waiting for shared secret or initial user list exchange.")];case d.STATUS_ACCESS_REVOKED:return[r("federation","Server access revoked"),r("federation","Server access revoked")];case d.STATUS_FAILURE:default:return[r("federation","Server failure"),r("federation","Connection to the remote server failed or the remote server is misconfigured.")]}});async function c(){try{o.value=!0,await te(s.server.id),v("delete",s.server)}catch(S){o.value=!1,D.error("Failed to delete trusted server",{error:S}),y(r("federation","Failed to delete trusted server. Please try again later."))}}return(S,Ee)=>(l(),U("li",{class:u(S.$style.trustedServer)},[_(t(A),{class:u({[S.$style.trustedServer__icon_error]:m.value}),path:e.value,name:n.value[0],title:n.value[1]},null,8,["class","path","name","title"]),h("code",{class:u(S.$style.trustedServer__url),textContent:E(a.server.url)},null,10,le),_(t(b),{"aria-label":t(r)("federation","Delete"),title:t(r)("federation","Delete"),disabled:o.value,onClick:c},{icon:T(()=>[o.value?(l(),f(t(Z),{key:0})):(l(),f(t(A),{key:1,path:t(G)},null,8,["path"]))]),_:1},8,["aria-label","title","disabled"])],2))}}),_e="_trustedServer_1wqey_2",ce="_trustedServer__icon_error_1wqey_15",ve="_trustedServer__url_1wqey_19",me={trustedServer:_e,trustedServer__icon_error:ce,trustedServer__url:ve},Se={$style:me},fe=F(ue,[["__cssModules",Se]]),pe=g({__name:"AdminSettings",setup(a){const i=q("federation","adminSettings"),s=w(i.trustedServers),v=p(()=>s.value.some(e=>e.status===d.STATUS_PENDING));async function o(e){s.value.unshift(e)}function m(e){s.value=s.value.filter(n=>n.id!==e.id)}return(e,n)=>(l(),f(t(W),{name:t(r)("federation","Trusted servers"),docUrl:t(i).docUrl,description:t(r)("federation","Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share.")},{default:T(()=>[v.value?(l(),f(t(Q),{key:0,type:"info",text:t(r)("federation","Each server must validate the other. This process may require a few cron cycles.")},null,8,["text"])):O("",!0),_(P,{class:u(e.$style.federationAdminSettings__trustedServersList),"aria-label":t(r)("federation","Trusted servers"),tag:"ul",enterFromClass:e.$style.transition_hidden,enterActiveClass:e.$style.transition_active,leaveActiveClass:e.$style.transition_active,leaveToClass:e.$style.transition_hidden},{default:T(()=>[(l(!0),U(R,null,K(s.value,c=>(l(),f(fe,{key:c.id,class:u(e.$style.federationAdminSettings__trustedServersListItem),server:c,onDelete:m},null,8,["class","server"]))),128))]),_:1},8,["class","aria-label","enterFromClass","enterActiveClass","leaveActiveClass","leaveToClass"]),_(ne,{onAdd:o})]),_:1},8,["name","docUrl","description"]))}}),Te="_federationAdminSettings__trustedServersList_z3uvu_2",he="_federationAdminSettings__trustedServersListItem_z3uvu_9",ye="_transition_active_z3uvu_13",Ae="_transition_hidden_z3uvu_17",ge={federationAdminSettings__trustedServersList:Te,federationAdminSettings__trustedServersListItem:he,transition_active:ye,transition_hidden:Ae},Ue={$style:ge},we=F(pe,[["__cssModules",Ue]]),Fe=V(we);Fe.mount("#federation-admin-settings"); +import{b as g,p as x,o as l,f as U,g as h,t as E,u as t,y as u,k as _,w as T,L,l as w,D as k,c as f,v as p,h as O,Q as P,F as R,B as K,e as V}from"./Web-X6XNrbMx.chunk.mjs";import{_ as F,l as q}from"./public-C1mLBHT3.chunk.mjs";import{t as r}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{k as z,l as G,a as B,b as M,d as j,N as Q}from"./mdi-GefgkJkH.chunk.mjs";import{N as W}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{d as H,a as y}from"./index-9np_X5jS.chunk.mjs";import{N as b}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import{N as A}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{_ as J}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{c as C,i as X}from"./index-CfIbVNTc.chunk.mjs";import{c as $,g as Y}from"./index-BRcsAfAF.chunk.mjs";import{N as Z}from"./TrashCanOutline-BBIwb491.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const d=Object.freeze({STATUS_OK:1,STATUS_PENDING:2,STATUS_FAILURE:3,STATUS_ACCESS_REVOKED:4});class N extends Error{}async function ee(a){try{const{data:i}=await C.post($("apps/federation/trusted-servers"),{url:a}),s=i.ocs.data;return{id:s.id,url:s.url,status:d.STATUS_PENDING}}catch(i){throw I(i)}}async function te(a){try{await C.delete($(`apps/federation/trusted-servers/${a}`))}catch(i){throw I(i)}}function I(a){return X(a)&&a.response?.data?.ocs?new N(a.response.data.ocs.meta.message,{cause:a}):a}const D=Y().setApp("federation").build(),re=g({__name:"AddTrustedServerForm",emits:["add"],setup(a,{emit:i}){const s=i,v=x("form"),o=w("");async function m(){try{const e=await ee(o.value);o.value="",s("add",e),k(()=>v.value?.reset()),H(r("federation","Added to the list of trusted servers"))}catch(e){D.error("Failed to add trusted server",{error:e}),e instanceof N?y(e.message):y(r("federation","Could not add trusted server. Please try again later."))}}return(e,n)=>(l(),U("form",{ref:"form",onSubmit:L(m,["prevent"])},[h("h3",{class:u(e.$style.addTrustedServerForm__heading)},E(t(r)("federation","Add trusted server")),3),h("div",{class:u(e.$style.addTrustedServerForm__wrapper)},[_(t(J),{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=c=>o.value=c),label:t(r)("federation","Server url"),placeholder:"https://…",required:"",type:"url"},null,8,["modelValue","label"]),_(t(b),{class:u(e.$style.addTrustedServerForm__submitButton),"aria-label":t(r)("federation","Add"),title:t(r)("federation","Add"),type:"submit",variant:"primary"},{icon:T(()=>[_(t(A),{path:t(z)},null,8,["path"])]),_:1},8,["class","aria-label","title"])],2)],544))}}),se="_addTrustedServerForm__heading_14ngv_2",ae="_addTrustedServerForm__wrapper_14ngv_7",ie="_addTrustedServerForm__submitButton_14ngv_14",oe={addTrustedServerForm__heading:se,addTrustedServerForm__wrapper:ae,addTrustedServerForm__submitButton:ie},de={$style:oe},ne=F(re,[["__cssModules",de]]),le=["textContent"],ue=g({__name:"TrustedServer",props:{server:{}},emits:["delete"],setup(a,{emit:i}){const s=a,v=i,o=w(!1),m=p(()=>s.server.status===d.STATUS_FAILURE),e=p(()=>{switch(s.server.status){case d.STATUS_OK:return j;case d.STATUS_PENDING:case d.STATUS_ACCESS_REVOKED:return M;case d.STATUS_FAILURE:default:return B}}),n=p(()=>{switch(s.server.status){case d.STATUS_OK:return[r("federation","Server ok"),r("federation","User list was exchanged at least once successfully with the remote server.")];case d.STATUS_PENDING:return[r("federation","Server pending"),r("federation","Waiting for shared secret or initial user list exchange.")];case d.STATUS_ACCESS_REVOKED:return[r("federation","Server access revoked"),r("federation","Server access revoked")];case d.STATUS_FAILURE:default:return[r("federation","Server failure"),r("federation","Connection to the remote server failed or the remote server is misconfigured.")]}});async function c(){try{o.value=!0,await te(s.server.id),v("delete",s.server)}catch(S){o.value=!1,D.error("Failed to delete trusted server",{error:S}),y(r("federation","Failed to delete trusted server. Please try again later."))}}return(S,Ee)=>(l(),U("li",{class:u(S.$style.trustedServer)},[_(t(A),{class:u({[S.$style.trustedServer__icon_error]:m.value}),path:e.value,name:n.value[0],title:n.value[1]},null,8,["class","path","name","title"]),h("code",{class:u(S.$style.trustedServer__url),textContent:E(a.server.url)},null,10,le),_(t(b),{"aria-label":t(r)("federation","Delete"),title:t(r)("federation","Delete"),disabled:o.value,onClick:c},{icon:T(()=>[o.value?(l(),f(t(Z),{key:0})):(l(),f(t(A),{key:1,path:t(G)},null,8,["path"]))]),_:1},8,["aria-label","title","disabled"])],2))}}),_e="_trustedServer_1wqey_2",ce="_trustedServer__icon_error_1wqey_15",ve="_trustedServer__url_1wqey_19",me={trustedServer:_e,trustedServer__icon_error:ce,trustedServer__url:ve},Se={$style:me},fe=F(ue,[["__cssModules",Se]]),pe=g({__name:"AdminSettings",setup(a){const i=q("federation","adminSettings"),s=w(i.trustedServers),v=p(()=>s.value.some(e=>e.status===d.STATUS_PENDING));async function o(e){s.value.unshift(e)}function m(e){s.value=s.value.filter(n=>n.id!==e.id)}return(e,n)=>(l(),f(t(W),{name:t(r)("federation","Trusted servers"),docUrl:t(i).docUrl,description:t(r)("federation","Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share.")},{default:T(()=>[v.value?(l(),f(t(Q),{key:0,type:"info",text:t(r)("federation","Each server must validate the other. This process may require a few cron cycles.")},null,8,["text"])):O("",!0),_(P,{class:u(e.$style.federationAdminSettings__trustedServersList),"aria-label":t(r)("federation","Trusted servers"),tag:"ul",enterFromClass:e.$style.transition_hidden,enterActiveClass:e.$style.transition_active,leaveActiveClass:e.$style.transition_active,leaveToClass:e.$style.transition_hidden},{default:T(()=>[(l(!0),U(R,null,K(s.value,c=>(l(),f(fe,{key:c.id,class:u(e.$style.federationAdminSettings__trustedServersListItem),server:c,onDelete:m},null,8,["class","server"]))),128))]),_:1},8,["class","aria-label","enterFromClass","enterActiveClass","leaveActiveClass","leaveToClass"]),_(ne,{onAdd:o})]),_:1},8,["name","docUrl","description"]))}}),Te="_federationAdminSettings__trustedServersList_z3uvu_2",he="_federationAdminSettings__trustedServersListItem_z3uvu_9",ye="_transition_active_z3uvu_13",Ae="_transition_hidden_z3uvu_17",ge={federationAdminSettings__trustedServersList:Te,federationAdminSettings__trustedServersListItem:he,transition_active:ye,transition_hidden:Ae},Ue={$style:ge},we=F(pe,[["__cssModules",Ue]]),Fe=V(we);Fe.mount("#federation-admin-settings"); //# sourceMappingURL=federation-settings-admin.mjs.map diff --git a/dist/files_external-auth_rsa.mjs b/dist/files_external-auth_rsa.mjs index a7ce00a0513cf..a66129bfae230 100644 --- a/dist/files_external-auth_rsa.mjs +++ b/dist/files_external-auth_rsa.mjs @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/AuthMechanismRsa-R-taZeCz.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/index--CXeJKGn.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/types-DmMhTORo.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-C6O_UhM3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-AuthMechanismRsa-DGFpo-hc.chunk.css')])))=>i.map(i=>d[i]); -import{d as t,a as i,_ as a}from"./Web-X6XNrbMx.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";const r=i(()=>a(()=>import("./AuthMechanismRsa-R-taZeCz.chunk.mjs").then(e=>e.A),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]),import.meta.url)),s=t(r,{shadowRoot:!1});customElements.define("files_external-auth-mechanism-rsa",s),window.OCA.FilesExternal.AuthMechanism.registerHandler({id:"rsa",tagName:"files_external-auth-mechanism-rsa",enabled(e){return e.scheme==="publickey"&&e.identifier==="publickey::rsa"}}); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/AuthMechanismRsa-DjvZ-2rQ.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/index-9np_X5jS.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/types-DmMhTORo.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-C6O_UhM3.chunk.mjs'),window.OC.filePath('', '', 'dist/common-AuthMechanismRsa-DGFpo-hc.chunk.css')])))=>i.map(i=>d[i]); +import{d as t,a as i,_ as a}from"./Web-X6XNrbMx.chunk.mjs";import"./public-C1mLBHT3.chunk.mjs";const r=i(()=>a(()=>import("./AuthMechanismRsa-DjvZ-2rQ.chunk.mjs").then(e=>e.A),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]),import.meta.url)),s=t(r,{shadowRoot:!1});customElements.define("files_external-auth-mechanism-rsa",s),window.OCA.FilesExternal.AuthMechanism.registerHandler({id:"rsa",tagName:"files_external-auth-mechanism-rsa",enabled(e){return e.scheme==="publickey"&&e.identifier==="publickey::rsa"}}); //# sourceMappingURL=files_external-auth_rsa.mjs.map diff --git a/dist/files_external-init.mjs b/dist/files_external-init.mjs index 3df660ab0bfb3..9424eb0066e92 100644 --- a/dist/files_external-init.mjs +++ b/dist/files_external-init.mjs @@ -1,3 +1,3 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/CredentialsDialog-BTR4ocbQ.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs')])))=>i.map(i=>d[i]); -import{D as x,b as C,V as E,C as p,a as c}from"./index-B3rZk8FQ.chunk.mjs";import{l as V}from"./public-C1mLBHT3.chunk.mjs";import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{a as M,_ as L}from"./Web-X6XNrbMx.chunk.mjs";import{c as l}from"./index-CfIbVNTc.chunk.mjs";import{d as w,a as h,s as S,e as T}from"./index--CXeJKGn.chunk.mjs";import{b as m,f as _,a as u,c as A,h as v}from"./index-BRcsAfAF.chunk.mjs";import{a as N,P as D}from"./index-CSrs_fa4.chunk.mjs";import{s as I}from"./index-CJbq0R0g.chunk.mjs";import{S as a}from"./types-DmMhTORo.chunk.mjs";import{i as y,b as H,P as d}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";const P='',k='';function b(e){return e.status===void 0||e.status===a.Success?!1:e.userProvided||e.authMechanism==="password::global::user"}N(l);async function O(e,t,n){const r=(await l.request({method:"PUT",url:m("apps/files_external/userglobalstorages/{id}",{id:e.id}),confirmPassword:D.Strict,data:{backendOptions:{user:t,password:n}}})).data;return r.status!==a.Success?(h(s("files_external","Unable to update this external storage config. {statusMessage}",{statusMessage:r?.statusMessage||""})),null):(w(s("files_external","New configuration successfully saved")),e.attributes.config=r,_("files:node:updated",e),!0)}const R="credentials-external-storage",U={id:R,displayName:()=>s("files","Enter missing credentials"),iconSvgInline:()=>k,enabled:({nodes:e})=>{if(e.length!==1||!e[0])return!1;const t=e[0];if(!y(t))return!1;const n=t.attributes?.config||{};return!!b(n)},async exec({nodes:e}){const{login:t,password:n}=await I(M(()=>L(()=>import("./CredentialsDialog-BTR4ocbQ.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]),import.meta.url)))??{};if(t&&n)try{await O(e[0],t,n),w(s("files_external","Credentials successfully set"))}catch(r){h(s("files_external","Error while setting credentials: {error}",{error:r.message}))}return null},order:-1e3,default:x.DEFAULT,inline:()=>!0},$='',o=`/files/${u()?.uid}`;function B(e){const t=(e.path+"/"+e.name).replace(/^\//gm,"");return new H({id:e.id,source:v("dav"+o+"/"+t),root:o,owner:u()?.uid||null,permissions:e.config.status!==a.Success?d.NONE:e?.permissions||d.READ,attributes:{displayName:t,...e}})}async function F(){const e=(await l.get(A("apps/files_external/api/v1/mounts"))).data.ocs.data.map(B);return{folder:new H({id:0,source:v("dav"+o),root:o,owner:u()?.uid||null,permissions:d.READ}),contents:e}}function Z(e,t=!0){const n=t?"userglobalstorages":"userstorages";return l.get(m(`apps/files_external/${n}/${e}?testOnly=false`))}const j={id:"check-external-storage",displayName:()=>"",iconSvgInline:()=>"",enabled:({nodes:e})=>e.every(t=>y(t)===!0),exec:async()=>null,async renderInline({nodes:e}){if(e.length!==1||!e[0])return null;const t=e[0],n=document.createElement("span");n.className="files-list__row-status",n.innerHTML=s("files_external","Checking storage …");let r;try{const{data:i}=await Z(t.id,t.attributes.scope==="system");if(r=i,t.attributes.config=r,_("files:node:updated",t),r.status!==a.Success)throw new Error(r?.statusMessage||s("files_external","There was an error with this external storage."));n.remove()}catch(i){i.response&&!r&&S(s("files_external","We were unable to check the external storage {basename}",{basename:t.basename})),n.innerHTML="";const f=r?b(r):!1,g=document.createElement("span");g.classList.add(`files-list__row-status--${f?"warning":"error"}`),f||(n.innerHTML=$,n.title=i.message),n.prepend(g)}return n},order:10},q={id:"open-in-files-external-storage",displayName:({nodes:e})=>(e?.[0]?.attributes?.config||{status:a.Indeterminate}).status!==a.Success?s("files_external","Examine this faulty external storage configuration"):s("files","Open in Files"),iconSvgInline:()=>"",enabled:({view:e})=>e.id==="extstoragemounts",async exec({nodes:e}){if(e[0]?.attributes?.config?.status!==a.Success){if(await T({name:s("files_external","External mount error"),text:s("files_external","There was an error with this external storage. Do you want to review this mount point config in the settings page?"),labelConfirm:s("files_external","Open settings"),labelReject:s("files_external","Ignore")})===!0){const t=u()?.isAdmin?"admin":"user";window.location.href=m(`/settings/${t}/externalstorages`)}return null}return window.OCP.Files.Router.goToRoute(null,{view:"files"},{dir:e[0].path}),null},order:-1e3,default:x.HIDDEN},W=V("files_external","allowUserMounting",!1),Y=C();Y.register(new E({id:"extstoragemounts",name:s("files_external","External storage"),caption:s("files_external","List of external storage."),emptyCaption:W?s("files_external","There is no external storage configured. You can configure them in your Personal settings."):s("files_external","There is no external storage configured and you don't have the permission to configure them."),emptyTitle:s("files_external","No external storage"),icon:P,order:30,columns:[new p({id:"storage-type",title:s("files_external","Storage type"),render(e){const t=e.attributes?.backend||s("files_external","Unknown"),n=document.createElement("span");return n.textContent=t,n}}),new p({id:"scope",title:s("files_external","Scope"),render(e){const t=document.createElement("span");let n=s("files_external","Personal");return e.attributes?.scope==="system"&&(n=s("files_external","System")),t.textContent=n,t}})],getContents:F})),c(U),c(j),c(q); +import{D as x,b as C,V as E,C as p,a as c}from"./index-B3rZk8FQ.chunk.mjs";import{l as V}from"./public-C1mLBHT3.chunk.mjs";import{t as s}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{a as M,_ as L}from"./Web-X6XNrbMx.chunk.mjs";import{c as l}from"./index-CfIbVNTc.chunk.mjs";import{d as w,a as h,s as S,e as T}from"./index-9np_X5jS.chunk.mjs";import{b as m,f as _,a as u,c as A,h as v}from"./index-BRcsAfAF.chunk.mjs";import{a as N,P as D}from"./index-CSrs_fa4.chunk.mjs";import{s as I}from"./index-CJbq0R0g.chunk.mjs";import{S as a}from"./types-DmMhTORo.chunk.mjs";import{i as y,b as H,P as d}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";const P='',k='';function b(e){return e.status===void 0||e.status===a.Success?!1:e.userProvided||e.authMechanism==="password::global::user"}N(l);async function O(e,t,n){const r=(await l.request({method:"PUT",url:m("apps/files_external/userglobalstorages/{id}",{id:e.id}),confirmPassword:D.Strict,data:{backendOptions:{user:t,password:n}}})).data;return r.status!==a.Success?(h(s("files_external","Unable to update this external storage config. {statusMessage}",{statusMessage:r?.statusMessage||""})),null):(w(s("files_external","New configuration successfully saved")),e.attributes.config=r,_("files:node:updated",e),!0)}const R="credentials-external-storage",U={id:R,displayName:()=>s("files","Enter missing credentials"),iconSvgInline:()=>k,enabled:({nodes:e})=>{if(e.length!==1||!e[0])return!1;const t=e[0];if(!y(t))return!1;const n=t.attributes?.config||{};return!!b(n)},async exec({nodes:e}){const{login:t,password:n}=await I(M(()=>L(()=>import("./CredentialsDialog-BTR4ocbQ.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]),import.meta.url)))??{};if(t&&n)try{await O(e[0],t,n),w(s("files_external","Credentials successfully set"))}catch(r){h(s("files_external","Error while setting credentials: {error}",{error:r.message}))}return null},order:-1e3,default:x.DEFAULT,inline:()=>!0},$='',o=`/files/${u()?.uid}`;function B(e){const t=(e.path+"/"+e.name).replace(/^\//gm,"");return new H({id:e.id,source:v("dav"+o+"/"+t),root:o,owner:u()?.uid||null,permissions:e.config.status!==a.Success?d.NONE:e?.permissions||d.READ,attributes:{displayName:t,...e}})}async function F(){const e=(await l.get(A("apps/files_external/api/v1/mounts"))).data.ocs.data.map(B);return{folder:new H({id:0,source:v("dav"+o),root:o,owner:u()?.uid||null,permissions:d.READ}),contents:e}}function Z(e,t=!0){const n=t?"userglobalstorages":"userstorages";return l.get(m(`apps/files_external/${n}/${e}?testOnly=false`))}const j={id:"check-external-storage",displayName:()=>"",iconSvgInline:()=>"",enabled:({nodes:e})=>e.every(t=>y(t)===!0),exec:async()=>null,async renderInline({nodes:e}){if(e.length!==1||!e[0])return null;const t=e[0],n=document.createElement("span");n.className="files-list__row-status",n.innerHTML=s("files_external","Checking storage …");let r;try{const{data:i}=await Z(t.id,t.attributes.scope==="system");if(r=i,t.attributes.config=r,_("files:node:updated",t),r.status!==a.Success)throw new Error(r?.statusMessage||s("files_external","There was an error with this external storage."));n.remove()}catch(i){i.response&&!r&&S(s("files_external","We were unable to check the external storage {basename}",{basename:t.basename})),n.innerHTML="";const f=r?b(r):!1,g=document.createElement("span");g.classList.add(`files-list__row-status--${f?"warning":"error"}`),f||(n.innerHTML=$,n.title=i.message),n.prepend(g)}return n},order:10},q={id:"open-in-files-external-storage",displayName:({nodes:e})=>(e?.[0]?.attributes?.config||{status:a.Indeterminate}).status!==a.Success?s("files_external","Examine this faulty external storage configuration"):s("files","Open in Files"),iconSvgInline:()=>"",enabled:({view:e})=>e.id==="extstoragemounts",async exec({nodes:e}){if(e[0]?.attributes?.config?.status!==a.Success){if(await T({name:s("files_external","External mount error"),text:s("files_external","There was an error with this external storage. Do you want to review this mount point config in the settings page?"),labelConfirm:s("files_external","Open settings"),labelReject:s("files_external","Ignore")})===!0){const t=u()?.isAdmin?"admin":"user";window.location.href=m(`/settings/${t}/externalstorages`)}return null}return window.OCP.Files.Router.goToRoute(null,{view:"files"},{dir:e[0].path}),null},order:-1e3,default:x.HIDDEN},W=V("files_external","allowUserMounting",!1),Y=C();Y.register(new E({id:"extstoragemounts",name:s("files_external","External storage"),caption:s("files_external","List of external storage."),emptyCaption:W?s("files_external","There is no external storage configured. You can configure them in your Personal settings."):s("files_external","There is no external storage configured and you don't have the permission to configure them."),emptyTitle:s("files_external","No external storage"),icon:P,order:30,columns:[new p({id:"storage-type",title:s("files_external","Storage type"),render(e){const t=e.attributes?.backend||s("files_external","Unknown"),n=document.createElement("span");return n.textContent=t,n}}),new p({id:"scope",title:s("files_external","Scope"),render(e){const t=document.createElement("span");let n=s("files_external","Personal");return e.attributes?.scope==="system"&&(n=s("files_external","System")),t.textContent=n,t}})],getContents:F})),c(U),c(j),c(q); //# sourceMappingURL=files_external-init.mjs.map diff --git a/dist/files_external-settings.mjs b/dist/files_external-settings.mjs index e430296d64ff2..e19f95d6c57ac 100644 --- a/dist/files_external-settings.mjs +++ b/dist/files_external-settings.mjs @@ -1,2 +1,2 @@ -import{d as Te,c as Oe}from"./pinia-CaE5yuEV.chunk.mjs";import{E as K,a8 as W,P as fe,v as S,b as O,n as B,o as u,c as h,u as e,l as A,z as Z,f as x,y,g as b,t as g,F as M,C as qe,B as q,J as Y,K as X,h as T,s as J,a0 as z,R as pe,k as v,w,j as V,L as Ne,e as Ee}from"./Web-X6XNrbMx.chunk.mjs";import{s as Pe,g as Re,N as ne,t as Fe,u as je,v as De,l as Be,w as Le,k as He}from"./mdi-GefgkJkH.chunk.mjs";import{_ as N,l as $}from"./public-C1mLBHT3.chunk.mjs";import{t as n,a as Ge}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as R}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as j}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{N as ge}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{N as Ie,s as Qe}from"./index-CJbq0R0g.chunk.mjs";import{N as oe}from"./index-DF7qcH5u.chunk.mjs";import{_ as ve}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{c as U}from"./index-CfIbVNTc.chunk.mjs";import{b as P}from"./index-BRcsAfAF.chunk.mjs";import{N as ze}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{l as Ze}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as be}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as F}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as _e}from"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as Ke}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import{N as We}from"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{C as ye}from"./AuthMechanismRsa-R-taZeCz.chunk.mjs";import{C as I,a as he,M as D,S as L,b as Je,c as Ye}from"./types-DmMhTORo.chunk.mjs";import{a as xe,P as Q}from"./index-CSrs_fa4.chunk.mjs";import{c as we}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import{a as ie,d as re}from"./index--CXeJKGn.chunk.mjs";import{l as ke}from"./logger-C6O_UhM3.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";const Xe='',ee=fe(new Map),ae=fe(new Map),te=new Set;function Ve(s){const a=S(()=>W(s).map(t=>({id:`user:${t}`,user:t,displayName:ee.get(t)||t})));return K(async()=>{const t=W(s).filter(i=>!ee.has(i));if(t.length>0){const{data:i}=await U.post(P("/displaynames"),{users:t});for(const[c,d]of Object.entries(i.users))ee.set(c,d)}}),a}function Se(s){const a=S(()=>W(s).map(t=>Ce(t,ae.get(t))));return K(async()=>{const t=W(s).filter(i=>!ae.has(i)&&!te.has(i));t.forEach(i=>te.add(i));for(const i of t)try{const{data:c}=await U.get(P("apps/files_external/ajax/applicable"),{params:{pattern:i,limit:50}});ae.set(i,c.groups[i]??i)}finally{te.delete(i)}}),a}function Ce(s,a){return{id:s,isNoUser:!0,displayName:a||s,iconSvg:Xe}}const ea=O({__name:"ApplicableEntities",props:{groups:{default:()=>[]},groupsModifiers:{},users:{default:()=>[]},usersModifiers:{}},emits:["update:groups","update:users"],setup(s){const a=B(s,"groups"),t=B(s,"users"),i=A([]),c=Ve(t),d=Se(a),p=S({get(){return[...d.value,...c.value]},set(o){t.value=o.filter(_=>_.user).map(_=>_.user),a.value=o.filter(_=>_.isNoUser).map(_=>_.id)}}),r=Ze(l,500);async function l(o){const{data:_}=await U.get(P("apps/files_external/ajax/applicable"),{params:{pattern:o,limit:20}}),m=[...i.value.map(f=>[f.id,f]),...Object.entries(_.groups).map(([f,C])=>[f,{...Ce(f),displayName:C}]),...Object.entries(_.users).map(([f,C])=>[`user:${f}`,{id:`user:${f}`,user:f,displayName:C}])];i.value=[...new Map(m).values()]}return(o,_)=>(u(),h(e(ze),{modelValue:p.value,"onUpdate:modelValue":_[0]||(_[0]=m=>p.value=m),keepOpen:"",multiple:"",options:i.value,inputLabel:e(n)("files_external","Restrict to"),onSearch:e(r)},null,8,["modelValue","options","inputLabel","onSearch"]))}}),aa=O({__name:"AuthMechanismConfiguration",props:J({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(s){const a=B(s,"modelValue"),t=s,i=S(()=>{if(!t.authMechanism.configuration)return;const l=Object.entries(t.authMechanism.configuration).filter(([,o])=>!(o.flags&I.UserProvided));return Object.fromEntries(l)}),c=S(()=>window.OCA.FilesExternal.AuthMechanism.getHandler(t.authMechanism)),d=S(()=>{if(!i.value)return!1;for(const l of Object.values(i.value))if(!(l.flags&I.Hidden||l.flags&I.UserProvided))return!0;return!1}),p=A(!1);K(async()=>{c.value&&(p.value=!0,await window.customElements.whenDefined(c.value.tagName),p.value=!1)}),Z(i,()=>{for(const l in i.value)l in a.value||(a.value[l]=i.value[l]?.type===he.Boolean?!1:"")});function r(l){const o=[l.detail].flat()[0];a.value={...a.value,...o}}return(l,o)=>d.value?(u(),x("fieldset",{key:0,class:y(l.$style.authMechanismConfiguration)},[b("legend",null,g(e(n)("files_external","Authentication")),1),c.value?(u(),x(M,{key:0},[p.value?(u(),h(e(be),{key:0})):(u(),h(qe(c.value.tagName),{key:1,".modelValue":a.value,".authMechanism":s.authMechanism,"onUpdate:modelValue":r},null,40,[".modelValue",".authMechanism"]))],64)):(u(!0),x(M,{key:1},q(i.value,(_,m)=>Y((u(),h(ye,{key:_.value,modelValue:a.value[m],"onUpdate:modelValue":f=>a.value[m]=f,"config-key":m,"config-option":_},null,8,["modelValue","onUpdate:modelValue","config-key","config-option"])),[[X,!(_.flags&e(I).Hidden)]])),128))],2)):T("",!0)}}),ta="_authMechanismConfiguration_kpcpy_2",la={authMechanismConfiguration:ta},sa={$style:la},na=N(aa,[["__cssModules",sa]]),oa=O({__name:"BackendConfiguration",props:J({configuration:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(s){const a=B(s,"modelValue"),t=s;return Z(()=>t.configuration,()=>{for(const i in t.configuration)i in a.value||(a.value[i]=t.configuration[i]?.defaultValue??(t.configuration[i]?.type===he.Boolean?!1:""))},{immediate:!0}),(i,c)=>(u(),x("fieldset",{class:y(i.$style.backendConfiguration)},[b("legend",null,g(e(n)("files_external","Storage configuration")),1),(u(!0),x(M,null,q(s.configuration,(d,p)=>Y((u(),h(ye,{key:d.value,modelValue:a.value[p],"onUpdate:modelValue":r=>a.value[p]=r,configKey:p,configOption:d},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[X,!(d.flags&e(I).Hidden)]])),128))],2))}}),ia="_backendConfiguration_1sf6y_2",ra={backendConfiguration:ia},ua={$style:ra},da=N(oa,[["__cssModules",ua]]),{isAdmin:ca}=$("files_external","settings"),pa=Object.freeze({encrypt:!0,previews:!0,filesystem_check_changes:D.OncePerRequest,enable_sharing:!1,encoding_compatibility:!1,readonly:!1}),ue=Te("files_external--storages",()=>{const s=A([]),a=A([]);async function t(m){const f=P("apps/files_external/globalstorages"),{data:C}=await U.post(f,z(m),{confirmPassword:Q.Strict});s.value.push(H(C))}async function i(m){const f=P("apps/files_external/userstorages"),{data:C}=await U.post(f,z(m),{confirmPassword:Q.Strict});a.value.push(H(C))}async function c(m){await U.delete(o(m),{confirmPassword:Q.Strict}),m.type==="personal"?a.value=a.value.filter(f=>f.id!==m.id):s.value=s.value.filter(f=>f.id!==m.id)}async function d(m){const{data:f}=await U.put(o(m),z(m),{confirmPassword:Q.Strict});_(H(f))}async function p(m){const{data:f}=await U.get(o(m));_(H(f))}return l(),{globalStorages:s,userStorages:a,createGlobalStorage:t,createUserStorage:i,deleteStorage:c,reloadStorage:p,updateStorage:d};async function r(m){const f=`apps/files_external/${m}`,{data:C}=await U.get(P(f));return Object.values(C).map(H)}async function l(){xe(U),ca?s.value=await r("globalstorages"):(a.value=await r("userstorages"),s.value=await r("userglobalstorages"))}function o(m){const f=m.type==="personal"?"userstorages":"globalstorages";return P(`apps/files_external/${f}/${m.id}`)}function _(m){if(m.type==="personal"){const f=a.value.findIndex(C=>C.id===m.id);a.value.splice(f,1,m)}else{const f=s.value.findIndex(C=>C.id===m.id);s.value.splice(f,1,m)}}});function H(s){return{...s,mountOptions:Me(s.mountOptions)}}function Me(s){const a={...s};return a.encrypt=G(a.encrypt,!0),a.previews=G(a.previews,!0),a.enable_sharing=G(a.enable_sharing,!1),a.filesystem_check_changes=typeof a.filesystem_check_changes=="string"?Number.parseInt(a.filesystem_check_changes):a.filesystem_check_changes??D.Never,a.encoding_compatibility=G(a.encoding_compatibility,!1),a.readonly=G(a.readonly,!1),a}function G(s,a=!1){return s===void 0?a:s===!0||s==="true"||s==="1"}const _a=["id","aria-labelledby"],ma=O({__name:"MountOptions",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(s){const a=B(s,"modelValue");K(()=>{Object.keys(a.value).length===0&&(a.value=Me(a.value))});const{hasEncryption:t}=$("files_external","settings"),i=pe(),c=pe(),d=A(!1),p=[{label:n("files_external","Never"),value:D.Never},{label:n("files_external","Once every direct access"),value:D.OncePerRequest},{label:n("files_external","Always"),value:D.Always}],r=S({get(){return p.find(l=>l.value===a.value.filesystem_check_changes)},set(l){a.value.filesystem_check_changes=l?.value??D.OncePerRequest}});return(l,o)=>(u(),x("div",{class:y(l.$style.mountOptions)},[v(e(R),{id:e(i),"aria-controls":e(c),"aria-expanded":d.value,variant:"tertiary-no-background",onClick:o[0]||(o[0]=_=>d.value=!d.value)},{icon:w(()=>[v(e(j),{directional:"",path:d.value?e(Pe):e(Re)},null,8,["path"])]),default:w(()=>[V(" "+g(e(n)("files_external","Mount options")),1)]),_:1},8,["id","aria-controls","aria-expanded"]),Y(b("fieldset",{id:e(c),class:y(l.$style.mountOptions__fieldset),"aria-labelledby":e(i)},[v(e(oe),{modelValue:r.value,"onUpdate:modelValue":o[1]||(o[1]=_=>r.value=_),inputLabel:e(n)("files_external","Check filesystem changes"),options:p},null,8,["modelValue","inputLabel"]),v(e(F),{modelValue:s.modelValue.readonly,"onUpdate:modelValue":o[2]||(o[2]=_=>s.modelValue.readonly=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Read only")),1)]),_:1},8,["modelValue"]),v(e(F),{modelValue:s.modelValue.previews,"onUpdate:modelValue":o[3]||(o[3]=_=>s.modelValue.previews=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Enable previews")),1)]),_:1},8,["modelValue"]),v(e(F),{modelValue:s.modelValue.enable_sharing,"onUpdate:modelValue":o[4]||(o[4]=_=>s.modelValue.enable_sharing=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Enable sharing")),1)]),_:1},8,["modelValue"]),e(t)?(u(),h(e(F),{key:0,modelValue:s.modelValue.encrypt,"onUpdate:modelValue":o[5]||(o[5]=_=>s.modelValue.encrypt=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Enable encryption")),1)]),_:1},8,["modelValue"])):T("",!0),v(e(F),{modelValue:s.modelValue.encoding_compatibility,"onUpdate:modelValue":o[6]||(o[6]=_=>s.modelValue.encoding_compatibility=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Compatibility with Mac NFD encoding (slow)")),1)]),_:1},8,["modelValue"])],10,_a),[[X,d.value]])],2))}}),fa="_mountOptions_1fqyb_2",ga="_mountOptions__fieldset_1fqyb_12",va={mountOptions:fa,mountOptions__fieldset:ga},ba={$style:va},ya=N(ma,[["__cssModules",ba]]),{isAdmin:le}=$("files_external","settings"),ha=$("files_external","allowedBackends"),me=$("files_external","backends").filter(s=>ha.includes(s.identifier)),xa=$("files_external","authMechanisms"),wa=O({__name:"AddExternalStorageDialog",props:J({storage:{default:()=>({backendOptions:{},mountOptions:{...pa},type:le?"system":"personal"})}},{open:{type:Boolean,default:!0},openModifiers:{}}),emits:J(["close"],["update:open"]),setup(s){const a=B(s,"open"),t=A(structuredClone(z(s.storage)));K(()=>{a.value&&(t.value=structuredClone(z(s.storage)))});const i=S(()=>we(t.value.applicableUsers,t.value.applicableGroups)),c=S({get(){return me.find(r=>r.identifier===t.value.backend)},set(r){t.value.backend=r?.identifier}}),d=S(()=>xa.filter(({scheme:r})=>c.value?.authSchemes[r])),p=S({get(){return d.value.find(r=>r.identifier===t.value.authMechanism)},set(r){t.value.authMechanism=r?.identifier}});return Z(d,()=>{d.value.length===1&&(t.value.authMechanism=d.value[0].identifier)}),(r,l)=>(u(),h(e(Ie),{open:a.value,"onUpdate:open":[l[9]||(l[9]=o=>a.value=o),l[11]||(l[11]=o=>o||r.$emit("close"))],isForm:"",contentClasses:r.$style.externalStorageDialog,name:t.value.id?e(n)("files_external","Edit storage"):e(n)("files_external","Add storage"),onSubmit:l[10]||(l[10]=o=>r.$emit("close",t.value))},{actions:w(()=>[s.storage.id?(u(),h(e(R),{key:0,onClick:l[8]||(l[8]=o=>r.$emit("close"))},{default:w(()=>[V(g(e(n)("files_external","Cancel")),1)]),_:1})):T("",!0),v(e(R),{variant:"primary",type:"submit"},{default:w(()=>[V(g(s.storage.id?e(n)("files_external","Edit"):e(n)("files_external","Create")),1)]),_:1})]),default:w(()=>[v(e(ve),{modelValue:t.value.mountPoint,"onUpdate:modelValue":l[0]||(l[0]=o=>t.value.mountPoint=o),label:e(n)("files_external","Folder name"),required:""},null,8,["modelValue","label"]),v(ya,{modelValue:t.value.mountOptions,"onUpdate:modelValue":l[1]||(l[1]=o=>t.value.mountOptions=o)},null,8,["modelValue"]),e(le)?(u(),h(ea,{key:0,groups:t.value.applicableGroups,"onUpdate:groups":l[2]||(l[2]=o=>t.value.applicableGroups=o),users:t.value.applicableUsers,"onUpdate:users":l[3]||(l[3]=o=>t.value.applicableUsers=o),class:y(r.$style.externalStorageDialog__dropdown)},null,8,["groups","users","class"])):T("",!0),e(le)&&i.value?(u(),h(e(ne),{key:1,type:"info",text:e(n)("files_external","Without a restriction this storage is available to every account on this server.")},null,8,["text"])):T("",!0),v(e(oe),{modelValue:c.value,"onUpdate:modelValue":l[4]||(l[4]=o=>c.value=o),options:e(me),disabled:!!(t.value.id&&t.value.backend),inputLabel:e(n)("files_external","External storage"),class:y(r.$style.externalStorageDialog__dropdown),label:"name",required:""},null,8,["modelValue","options","disabled","inputLabel","class"]),v(e(oe),{modelValue:p.value,"onUpdate:modelValue":l[5]||(l[5]=o=>p.value=o),options:d.value,disabled:!t.value.backend||d.value.length<=1||!!(t.value.id&&t.value.authMechanism),inputLabel:e(n)("files_external","Authentication"),class:y(r.$style.externalStorageDialog__dropdown),label:"name",required:""},null,8,["modelValue","options","disabled","inputLabel","class"]),c.value&&t.value.backendOptions?(u(),h(da,{key:2,modelValue:t.value.backendOptions,"onUpdate:modelValue":l[6]||(l[6]=o=>t.value.backendOptions=o),class:y(r.$style.externalStorageDialog__configuration),configuration:c.value.configuration},null,8,["modelValue","class","configuration"])):T("",!0),p.value&&t.value.backendOptions?(u(),h(na,{key:3,modelValue:t.value.backendOptions,"onUpdate:modelValue":l[7]||(l[7]=o=>t.value.backendOptions=o),class:y(r.$style.externalStorageDialog__configuration),authMechanism:p.value},null,8,["modelValue","class","authMechanism"])):T("",!0)]),_:1},8,["open","contentClasses","name"]))}}),ka="_externalStorageDialog_l5jv4_2",Va="_externalStorageDialog__configuration_l5jv4_9",Sa="_externalStorageDialog__dropdown_l5jv4_13",Ca={externalStorageDialog:ka,externalStorageDialog__configuration:Va,externalStorageDialog__dropdown:Sa},Ma={$style:Ca},Ae=N(wa,[["__cssModules",Ma]]),Aa={class:"hidden-visually"},$a={key:0},Ua=O({__name:"ExternalStorageTableRow",props:{storage:{},isAdmin:{type:Boolean}},setup(s){const a=s,t=ue(),i=$("files_external","backends"),c=S(()=>i.find(k=>k.identifier===a.storage.backend).name),d=$("files_external","authMechanisms"),p=S(()=>d.find(k=>k.identifier===a.storage.authMechanism).name),r=A(!1),l=S(()=>{if(r.value)return{icon:"loading",label:n("files_external","Checking …")};const k=a.storage.status??L.Indeterminate,de=a.storage.statusMessage||Je[k],E=Ye[k],ce=k===L.NetworkError||k===L.Timeout,Ue=!ce&&k!==L.Success&&k!==L.Indeterminate;return{icon:E,label:de,isWarning:ce,isError:Ue}}),o=Ve(()=>a.storage.applicableUsers||[]),_=Se(()=>a.storage.applicableGroups||[]),m=S(()=>we(a.storage.applicableUsers,a.storage.applicableGroups));async function f(){await t.deleteStorage(a.storage)}async function C(){const k=await Qe(Ae,{storage:a.storage});k&&await t.updateStorage(k)}async function $e(){r.value=!0;try{await t.reloadStorage(a.storage)}finally{r.value=!1}}return(k,de)=>(u(),x("tr",{class:y(k.$style.storageTableRow)},[b("td",null,[b("span",Aa,g(l.value.label),1),v(e(R),{"aria-label":e(n)("files_external","Recheck status"),title:l.value.label,variant:"tertiary-no-background",onClick:$e},{icon:w(()=>[l.value.icon==="loading"?(u(),h(e(be),{key:0})):(u(),h(e(j),{key:1,class:y({[k.$style.storageTableRow__status_error]:l.value.isError,[k.$style.storageTableRow__status_warning]:l.value.isWarning}),path:l.value.icon},null,8,["class","path"]))]),_:1},8,["aria-label","title"])]),b("td",null,g(s.storage.mountPoint),1),b("td",null,g(c.value),1),b("td",null,g(p.value),1),s.isAdmin?(u(),x("td",$a,[b("div",{class:y(k.$style.storageTableRow__cellApplicable)},[m.value?(u(),h(e(_e),{key:0,iconPath:e(Fe),noClose:"",text:e(n)("files_external","All accounts")},null,8,["iconPath","text"])):T("",!0),(u(!0),x(M,null,q(e(_),E=>(u(),h(e(_e),{key:E.id,iconPath:e(je),noClose:"",text:E.displayName},null,8,["iconPath","text"]))),128)),(u(!0),x(M,null,q(e(o),E=>(u(),h(e(We),{key:E.user,displayName:E.displayName,size:24,user:E.user},null,8,["displayName","user"]))),128))],2)])):T("",!0),b("td",null,[s.isAdmin||s.storage.type==="personal"?(u(),x("div",{key:0,class:y(k.$style.storageTableRow__cellActions)},[v(e(R),{"aria-label":e(n)("files_external","Edit"),title:e(n)("files_external","Edit"),onClick:C},{icon:w(()=>[v(e(j),{path:e(De)},null,8,["path"])]),_:1},8,["aria-label","title"]),v(e(R),{"aria-label":e(n)("files_external","Delete"),title:e(n)("files_external","Delete"),variant:"error",onClick:f},{icon:w(()=>[v(e(j),{path:e(Be)},null,8,["path"])]),_:1},8,["aria-label","title"])],2)):(u(),h(e(j),{key:1,inline:"",path:e(Le),name:e(n)("files_external","System provided storage"),title:e(n)("files_external","System provided storage")},null,8,["path","name","title"]))])],2))}}),Ta="_storageTableRow__cellActions_goqfw_2",Oa="_storageTableRow__cellApplicable_goqfw_7",qa="_storageTableRow__status_warning_goqfw_17",Na="_storageTableRow__status_error_goqfw_21",Ea={storageTableRow__cellActions:Ta,storageTableRow__cellApplicable:Oa,storageTableRow__status_warning:qa,storageTableRow__status_error:Na},Pa={$style:Ea},Ra=N(Ua,[["__cssModules",Pa]]),Fa=["aria-label"],ja={class:"hidden-visually"},Da={key:0},Ba={class:"hidden-visually"},La=O({__name:"ExternalStorageTable",setup(s){const a=ue(),{isAdmin:t}=$("files_external","settings"),i=S(()=>t?a.globalStorages:[...a.userStorages,...a.globalStorages]);return(c,d)=>(u(),x("table",{class:y(c.$style.storageTable),"aria-label":e(n)("files_external","External storages")},[b("thead",{class:y(c.$style.storageTable__header)},[b("tr",null,[b("th",{class:y(c.$style.storageTable__headerStatus)},[b("span",ja,g(e(n)("files_external","Status")),1)],2),b("th",{class:y(c.$style.storageTable__headerFolder)},g(e(n)("files_external","Folder name")),3),b("th",{class:y(c.$style.storageTable__headerBackend)},g(e(n)("files_external","External storage")),3),b("th",{class:y(c.$style.storageTable__headerAuthentication)},g(e(n)("files_external","Authentication")),3),e(t)?(u(),x("th",Da,g(e(n)("files_external","Restricted to")),1)):T("",!0),b("th",{class:y(c.$style.storageTable__headerActions)},[b("span",Ba,g(e(n)("files_external","Actions")),1)],2)])],2),b("tbody",null,[(u(!0),x(M,null,q(i.value,p=>(u(),h(Ra,{key:p.id,isAdmin:e(t),storage:p},null,8,["isAdmin","storage"]))),128))])],10,Fa))}}),Ha="_storageTable_1dqte_2",Ga="_storageTable__header_1dqte_11",Ia="_storageTable__headerStatus_1dqte_16",Qa="_storageTable__headerFolder_1dqte_20",za="_storageTable__headerBackend_1dqte_24",Za="_storageTable__headerFAuthentication_1dqte_28",Ka="_storageTable__headerActions_1dqte_32",Wa={storageTable:Ha,storageTable__header:Ga,storageTable__headerStatus:Ia,storageTable__headerFolder:Qa,storageTable__headerBackend:za,storageTable__headerFAuthentication:Za,storageTable__headerActions:Ka},Ja={$style:Wa},Ya=N(La,[["__cssModules",Ja]]),Xa=O({__name:"UserMountSettings",setup(s){const a=$("files_external","user-mounting"),t=$("files_external","backends").filter(d=>d.identifier!=="local"),i=A(a.allowUserMounting),c=A(a.allowedBackends);return Z(i,()=>{const d=!i.value;window.OCP.AppConfig.setValue("files_external","allow_user_mounting",i.value?"yes":"no",{success:()=>re(n("files_external","Saved")),error:()=>{i.value=d,ie(n("files_external","Error while saving"))}})}),Z(c,(d,p)=>{window.OCP.AppConfig.setValue("files_external","user_mounting_backends",d.join(","),{success:()=>re(n("files_external","Saved allowed backends")),error:()=>{ie(n("files_external","Failed to save allowed backends")),c.value=p}})}),(d,p)=>(u(),x("form",null,[b("h3",{class:y(d.$style.userMountSettings__heading)},g(e(n)("files_external","Advanced options for external storage mounts")),3),v(e(F),{modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=r=>i.value=r),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Allow people to mount external storage")),1)]),_:1},8,["modelValue"]),Y(b("fieldset",{class:y(d.$style.userMountSettings__backends)},[b("legend",null,g(e(n)("files_external","External storage backends people are allowed to mount")),1),(u(!0),x(M,null,q(e(t),r=>(u(),h(e(F),{key:r.identifier,modelValue:c.value,"onUpdate:modelValue":p[1]||(p[1]=l=>c.value=l),value:r.identifier,name:"allowUserMountingBackends[]"},{default:w(()=>[V(g(r.name),1)]),_:2},1032,["modelValue","value"]))),128))],2),[[X,i.value]])]))}}),et="_userMountSettings__heading_59moz_2",at="_userMountSettings__backends_59moz_9",tt={userMountSettings__heading:et,userMountSettings__backends:at},lt={$style:tt},st=N(Xa,[["__cssModules",lt]]);const nt=["aria-label"],ot=O({__name:"ExternalStoragesSection",setup(s){const a=$("files_external","settings",{docUrl:"",dependencyIssues:{messages:null,modules:null},isAdmin:!1}),t=ue(),i=a.dependencyIssues?.messages??[],c=a.dependencyIssues?.modules??{},d=A(!1),p=A();async function r(l){if(d.value=!1,!!l)try{a.isAdmin?await t.createGlobalStorage(l):await t.createUserStorage(l),p.value=void 0}catch(o){ke.error("Failed to add external storage",{error:o,storage:l}),p.value={...l},d.value=!0}}return(l,o)=>(u(),h(e(ge),{docUrl:e(a).docUrl,name:e(n)("files_external","External storage"),description:e(n)("files_external","External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices.")+(e(a).isAdmin?" "+e(n)("files_external","You may also allow people to mount their own external storage services."):"")},{default:w(()=>[(u(!0),x(M,null,q(e(i),(_,m)=>(u(),h(e(ne),{key:m,type:"error"},{default:w(()=>[V(g(_),1)]),_:2},1024))),128)),(u(!0),x(M,null,q(e(c),(_,m)=>(u(),h(e(ne),{key:m,type:"warning"},{default:w(()=>[b("p",null,[m==="curl"?(u(),x(M,{key:0},[V(g(e(n)("files_external","The cURL support in PHP is not enabled or installed.")),1)],64)):m==="ftp"?(u(),x(M,{key:1},[V(g(e(n)("files_external","The FTP support in PHP is not enabled or installed.")),1)],64)):(u(),x(M,{key:2},[V(g(e(n)("files_external","{module} is not installed.",{module:m})),1)],64)),V(" "+g(e(Ge)("files_external","Please ask your system administrator to install it as otherwise mounting the following backend is not possible:","Please ask your system administrator to install it as otherwise mounting the following backends is not possible:",_.length)),1)]),b("ul",{class:y(l.$style.externalStoragesSection__dependantList),"aria-label":e(n)("files_external","Dependant backends")},[(u(!0),x(M,null,q(_,f=>(u(),x("li",{key:f},g(f),1))),128))],10,nt)]),_:2},1024))),128)),T("",!0),v(Ya),v(e(R),{class:y(l.$style.externalStoragesSection__newStorageButton),variant:"primary",onClick:o[0]||(o[0]=_=>d.value=!d.value)},{icon:w(()=>[v(e(j),{path:e(He)},null,8,["path"])]),default:w(()=>[V(" "+g(e(n)("files_external","Add external storage")),1)]),_:1},8,["class"]),v(Ae,{open:d.value,"onUpdate:open":o[1]||(o[1]=_=>d.value=_),storage:p.value,onClose:r},null,8,["open","storage"]),e(a).isAdmin?(u(),h(st,{key:1})):T("",!0)]),_:1},8,["docUrl","name","description"]))}}),it="_externalStoragesSection__dependantList_atsmn_2",rt="_externalStoragesSection__newStorageButton_atsmn_7",ut={externalStoragesSection__dependantList:it,externalStoragesSection__newStorageButton:rt},dt={$style:ut},ct=N(ot,[["__cssModules",dt]]),pt=O({__name:"GlobalCredentialsSection",setup(s){const a=$("files_external","global-credentials"),t=A(!1),i=A(a.user),c=A(a.password);xe(U);async function d(){try{t.value=!0;const{data:p}=await U.post(P("apps/files_external/globalcredentials"),{uid:a.uid,user:i.value,password:c.value},{confirmPassword:Q.Strict});if(p){re(n("files_external","Global credentials saved"));return}}catch(p){ke.error(p)}finally{t.value=!1}ie(n("files_external","Could not save global credentials")),i.value=a.user,c.value=a.password}return(p,r)=>(u(),h(e(ge),{name:e(n)("files_external","Global credentials"),description:e(n)("files_external","Global credentials can be used to authenticate with multiple external storages that have the same credentials.")},{default:w(()=>[b("form",{id:"global_credentials",class:y(p.$style.globalCredentialsSectionForm),autocomplete:"false",onSubmit:Ne(d,["prevent"])},[v(e(ve),{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=l=>i.value=l),name:"username",autocomplete:"false",label:e(n)("files_external","Login")},null,8,["modelValue","label"]),v(e(Ke),{modelValue:c.value,"onUpdate:modelValue":r[1]||(r[1]=l=>c.value=l),name:"password",autocomplete:"false",label:e(n)("files_external","Password")},null,8,["modelValue","label"]),v(e(R),{class:y(p.$style.globalCredentialsSectionForm__submit),disabled:t.value,variant:"primary",type:"submit"},{default:w(()=>[V(g(t.value?e(n)("files_external","Saving …"):e(n)("files_external","Save")),1)]),_:1},8,["class","disabled"])],34)]),_:1},8,["name","description"]))}}),_t="_globalCredentialsSectionForm_bgjv2_2",mt="_globalCredentialsSectionForm__submit_bgjv2_10",ft={globalCredentialsSectionForm:_t,globalCredentialsSectionForm__submit:mt},gt={$style:ft},vt=N(pt,[["__cssModules",gt]]),bt=O({__name:"FilesExternalSettings",setup(s){return(a,t)=>(u(),x(M,null,[v(ct),v(vt)],64))}}),yt=Oe(),se=Ee(bt);se.config.idPrefix="files-external",se.use(yt),se.mount("#files-external"); +import{d as Te,c as Oe}from"./pinia-CaE5yuEV.chunk.mjs";import{E as K,a8 as W,P as fe,v as S,b as O,n as B,o as u,c as h,u as e,l as A,z as Z,f as x,y,g as b,t as g,F as M,C as qe,B as q,J as Y,K as X,h as T,s as J,a0 as z,R as pe,k as v,w,j as V,L as Ne,e as Ee}from"./Web-X6XNrbMx.chunk.mjs";import{s as Pe,g as Re,N as ne,t as Fe,u as je,v as De,l as Be,w as Le,k as He}from"./mdi-GefgkJkH.chunk.mjs";import{_ as N,l as $}from"./public-C1mLBHT3.chunk.mjs";import{t as n,a as Ge}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{N as R}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import{N as j}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{N as ge}from"./ContentCopy-DhdKfuvN.chunk.mjs";import{N as Ie,s as Qe}from"./index-CJbq0R0g.chunk.mjs";import{N as oe}from"./index-DF7qcH5u.chunk.mjs";import{_ as ve}from"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import{c as U}from"./index-CfIbVNTc.chunk.mjs";import{b as P}from"./index-BRcsAfAF.chunk.mjs";import{N as ze}from"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{l as Ze}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as be}from"./TrashCanOutline-BBIwb491.chunk.mjs";import{N as F}from"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import{N as _e}from"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as Ke}from"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import{N as We}from"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{C as ye}from"./AuthMechanismRsa-DjvZ-2rQ.chunk.mjs";import{C as I,a as he,M as D,S as L,b as Je,c as Ye}from"./types-DmMhTORo.chunk.mjs";import{a as xe,P as Q}from"./index-CSrs_fa4.chunk.mjs";import{c as we}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import{a as ie,d as re}from"./index-9np_X5jS.chunk.mjs";import{l as ke}from"./logger-C6O_UhM3.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";const Xe='',ee=fe(new Map),ae=fe(new Map),te=new Set;function Ve(s){const a=S(()=>W(s).map(t=>({id:`user:${t}`,user:t,displayName:ee.get(t)||t})));return K(async()=>{const t=W(s).filter(i=>!ee.has(i));if(t.length>0){const{data:i}=await U.post(P("/displaynames"),{users:t});for(const[c,d]of Object.entries(i.users))ee.set(c,d)}}),a}function Se(s){const a=S(()=>W(s).map(t=>Ce(t,ae.get(t))));return K(async()=>{const t=W(s).filter(i=>!ae.has(i)&&!te.has(i));t.forEach(i=>te.add(i));for(const i of t)try{const{data:c}=await U.get(P("apps/files_external/ajax/applicable"),{params:{pattern:i,limit:50}});ae.set(i,c.groups[i]??i)}finally{te.delete(i)}}),a}function Ce(s,a){return{id:s,isNoUser:!0,displayName:a||s,iconSvg:Xe}}const ea=O({__name:"ApplicableEntities",props:{groups:{default:()=>[]},groupsModifiers:{},users:{default:()=>[]},usersModifiers:{}},emits:["update:groups","update:users"],setup(s){const a=B(s,"groups"),t=B(s,"users"),i=A([]),c=Ve(t),d=Se(a),p=S({get(){return[...d.value,...c.value]},set(o){t.value=o.filter(_=>_.user).map(_=>_.user),a.value=o.filter(_=>_.isNoUser).map(_=>_.id)}}),r=Ze(l,500);async function l(o){const{data:_}=await U.get(P("apps/files_external/ajax/applicable"),{params:{pattern:o,limit:20}}),m=[...i.value.map(f=>[f.id,f]),...Object.entries(_.groups).map(([f,C])=>[f,{...Ce(f),displayName:C}]),...Object.entries(_.users).map(([f,C])=>[`user:${f}`,{id:`user:${f}`,user:f,displayName:C}])];i.value=[...new Map(m).values()]}return(o,_)=>(u(),h(e(ze),{modelValue:p.value,"onUpdate:modelValue":_[0]||(_[0]=m=>p.value=m),keepOpen:"",multiple:"",options:i.value,inputLabel:e(n)("files_external","Restrict to"),onSearch:e(r)},null,8,["modelValue","options","inputLabel","onSearch"]))}}),aa=O({__name:"AuthMechanismConfiguration",props:J({authMechanism:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(s){const a=B(s,"modelValue"),t=s,i=S(()=>{if(!t.authMechanism.configuration)return;const l=Object.entries(t.authMechanism.configuration).filter(([,o])=>!(o.flags&I.UserProvided));return Object.fromEntries(l)}),c=S(()=>window.OCA.FilesExternal.AuthMechanism.getHandler(t.authMechanism)),d=S(()=>{if(!i.value)return!1;for(const l of Object.values(i.value))if(!(l.flags&I.Hidden||l.flags&I.UserProvided))return!0;return!1}),p=A(!1);K(async()=>{c.value&&(p.value=!0,await window.customElements.whenDefined(c.value.tagName),p.value=!1)}),Z(i,()=>{for(const l in i.value)l in a.value||(a.value[l]=i.value[l]?.type===he.Boolean?!1:"")});function r(l){const o=[l.detail].flat()[0];a.value={...a.value,...o}}return(l,o)=>d.value?(u(),x("fieldset",{key:0,class:y(l.$style.authMechanismConfiguration)},[b("legend",null,g(e(n)("files_external","Authentication")),1),c.value?(u(),x(M,{key:0},[p.value?(u(),h(e(be),{key:0})):(u(),h(qe(c.value.tagName),{key:1,".modelValue":a.value,".authMechanism":s.authMechanism,"onUpdate:modelValue":r},null,40,[".modelValue",".authMechanism"]))],64)):(u(!0),x(M,{key:1},q(i.value,(_,m)=>Y((u(),h(ye,{key:_.value,modelValue:a.value[m],"onUpdate:modelValue":f=>a.value[m]=f,"config-key":m,"config-option":_},null,8,["modelValue","onUpdate:modelValue","config-key","config-option"])),[[X,!(_.flags&e(I).Hidden)]])),128))],2)):T("",!0)}}),ta="_authMechanismConfiguration_kpcpy_2",la={authMechanismConfiguration:ta},sa={$style:la},na=N(aa,[["__cssModules",sa]]),oa=O({__name:"BackendConfiguration",props:J({configuration:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(s){const a=B(s,"modelValue"),t=s;return Z(()=>t.configuration,()=>{for(const i in t.configuration)i in a.value||(a.value[i]=t.configuration[i]?.defaultValue??(t.configuration[i]?.type===he.Boolean?!1:""))},{immediate:!0}),(i,c)=>(u(),x("fieldset",{class:y(i.$style.backendConfiguration)},[b("legend",null,g(e(n)("files_external","Storage configuration")),1),(u(!0),x(M,null,q(s.configuration,(d,p)=>Y((u(),h(ye,{key:d.value,modelValue:a.value[p],"onUpdate:modelValue":r=>a.value[p]=r,configKey:p,configOption:d},null,8,["modelValue","onUpdate:modelValue","configKey","configOption"])),[[X,!(d.flags&e(I).Hidden)]])),128))],2))}}),ia="_backendConfiguration_1sf6y_2",ra={backendConfiguration:ia},ua={$style:ra},da=N(oa,[["__cssModules",ua]]),{isAdmin:ca}=$("files_external","settings"),pa=Object.freeze({encrypt:!0,previews:!0,filesystem_check_changes:D.OncePerRequest,enable_sharing:!1,encoding_compatibility:!1,readonly:!1}),ue=Te("files_external--storages",()=>{const s=A([]),a=A([]);async function t(m){const f=P("apps/files_external/globalstorages"),{data:C}=await U.post(f,z(m),{confirmPassword:Q.Strict});s.value.push(H(C))}async function i(m){const f=P("apps/files_external/userstorages"),{data:C}=await U.post(f,z(m),{confirmPassword:Q.Strict});a.value.push(H(C))}async function c(m){await U.delete(o(m),{confirmPassword:Q.Strict}),m.type==="personal"?a.value=a.value.filter(f=>f.id!==m.id):s.value=s.value.filter(f=>f.id!==m.id)}async function d(m){const{data:f}=await U.put(o(m),z(m),{confirmPassword:Q.Strict});_(H(f))}async function p(m){const{data:f}=await U.get(o(m));_(H(f))}return l(),{globalStorages:s,userStorages:a,createGlobalStorage:t,createUserStorage:i,deleteStorage:c,reloadStorage:p,updateStorage:d};async function r(m){const f=`apps/files_external/${m}`,{data:C}=await U.get(P(f));return Object.values(C).map(H)}async function l(){xe(U),ca?s.value=await r("globalstorages"):(a.value=await r("userstorages"),s.value=await r("userglobalstorages"))}function o(m){const f=m.type==="personal"?"userstorages":"globalstorages";return P(`apps/files_external/${f}/${m.id}`)}function _(m){if(m.type==="personal"){const f=a.value.findIndex(C=>C.id===m.id);a.value.splice(f,1,m)}else{const f=s.value.findIndex(C=>C.id===m.id);s.value.splice(f,1,m)}}});function H(s){return{...s,mountOptions:Me(s.mountOptions)}}function Me(s){const a={...s};return a.encrypt=G(a.encrypt,!0),a.previews=G(a.previews,!0),a.enable_sharing=G(a.enable_sharing,!1),a.filesystem_check_changes=typeof a.filesystem_check_changes=="string"?Number.parseInt(a.filesystem_check_changes):a.filesystem_check_changes??D.Never,a.encoding_compatibility=G(a.encoding_compatibility,!1),a.readonly=G(a.readonly,!1),a}function G(s,a=!1){return s===void 0?a:s===!0||s==="true"||s==="1"}const _a=["id","aria-labelledby"],ma=O({__name:"MountOptions",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(s){const a=B(s,"modelValue");K(()=>{Object.keys(a.value).length===0&&(a.value=Me(a.value))});const{hasEncryption:t}=$("files_external","settings"),i=pe(),c=pe(),d=A(!1),p=[{label:n("files_external","Never"),value:D.Never},{label:n("files_external","Once every direct access"),value:D.OncePerRequest},{label:n("files_external","Always"),value:D.Always}],r=S({get(){return p.find(l=>l.value===a.value.filesystem_check_changes)},set(l){a.value.filesystem_check_changes=l?.value??D.OncePerRequest}});return(l,o)=>(u(),x("div",{class:y(l.$style.mountOptions)},[v(e(R),{id:e(i),"aria-controls":e(c),"aria-expanded":d.value,variant:"tertiary-no-background",onClick:o[0]||(o[0]=_=>d.value=!d.value)},{icon:w(()=>[v(e(j),{directional:"",path:d.value?e(Pe):e(Re)},null,8,["path"])]),default:w(()=>[V(" "+g(e(n)("files_external","Mount options")),1)]),_:1},8,["id","aria-controls","aria-expanded"]),Y(b("fieldset",{id:e(c),class:y(l.$style.mountOptions__fieldset),"aria-labelledby":e(i)},[v(e(oe),{modelValue:r.value,"onUpdate:modelValue":o[1]||(o[1]=_=>r.value=_),inputLabel:e(n)("files_external","Check filesystem changes"),options:p},null,8,["modelValue","inputLabel"]),v(e(F),{modelValue:s.modelValue.readonly,"onUpdate:modelValue":o[2]||(o[2]=_=>s.modelValue.readonly=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Read only")),1)]),_:1},8,["modelValue"]),v(e(F),{modelValue:s.modelValue.previews,"onUpdate:modelValue":o[3]||(o[3]=_=>s.modelValue.previews=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Enable previews")),1)]),_:1},8,["modelValue"]),v(e(F),{modelValue:s.modelValue.enable_sharing,"onUpdate:modelValue":o[4]||(o[4]=_=>s.modelValue.enable_sharing=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Enable sharing")),1)]),_:1},8,["modelValue"]),e(t)?(u(),h(e(F),{key:0,modelValue:s.modelValue.encrypt,"onUpdate:modelValue":o[5]||(o[5]=_=>s.modelValue.encrypt=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Enable encryption")),1)]),_:1},8,["modelValue"])):T("",!0),v(e(F),{modelValue:s.modelValue.encoding_compatibility,"onUpdate:modelValue":o[6]||(o[6]=_=>s.modelValue.encoding_compatibility=_),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Compatibility with Mac NFD encoding (slow)")),1)]),_:1},8,["modelValue"])],10,_a),[[X,d.value]])],2))}}),fa="_mountOptions_1fqyb_2",ga="_mountOptions__fieldset_1fqyb_12",va={mountOptions:fa,mountOptions__fieldset:ga},ba={$style:va},ya=N(ma,[["__cssModules",ba]]),{isAdmin:le}=$("files_external","settings"),ha=$("files_external","allowedBackends"),me=$("files_external","backends").filter(s=>ha.includes(s.identifier)),xa=$("files_external","authMechanisms"),wa=O({__name:"AddExternalStorageDialog",props:J({storage:{default:()=>({backendOptions:{},mountOptions:{...pa},type:le?"system":"personal"})}},{open:{type:Boolean,default:!0},openModifiers:{}}),emits:J(["close"],["update:open"]),setup(s){const a=B(s,"open"),t=A(structuredClone(z(s.storage)));K(()=>{a.value&&(t.value=structuredClone(z(s.storage)))});const i=S(()=>we(t.value.applicableUsers,t.value.applicableGroups)),c=S({get(){return me.find(r=>r.identifier===t.value.backend)},set(r){t.value.backend=r?.identifier}}),d=S(()=>xa.filter(({scheme:r})=>c.value?.authSchemes[r])),p=S({get(){return d.value.find(r=>r.identifier===t.value.authMechanism)},set(r){t.value.authMechanism=r?.identifier}});return Z(d,()=>{d.value.length===1&&(t.value.authMechanism=d.value[0].identifier)}),(r,l)=>(u(),h(e(Ie),{open:a.value,"onUpdate:open":[l[9]||(l[9]=o=>a.value=o),l[11]||(l[11]=o=>o||r.$emit("close"))],isForm:"",contentClasses:r.$style.externalStorageDialog,name:t.value.id?e(n)("files_external","Edit storage"):e(n)("files_external","Add storage"),onSubmit:l[10]||(l[10]=o=>r.$emit("close",t.value))},{actions:w(()=>[s.storage.id?(u(),h(e(R),{key:0,onClick:l[8]||(l[8]=o=>r.$emit("close"))},{default:w(()=>[V(g(e(n)("files_external","Cancel")),1)]),_:1})):T("",!0),v(e(R),{variant:"primary",type:"submit"},{default:w(()=>[V(g(s.storage.id?e(n)("files_external","Edit"):e(n)("files_external","Create")),1)]),_:1})]),default:w(()=>[v(e(ve),{modelValue:t.value.mountPoint,"onUpdate:modelValue":l[0]||(l[0]=o=>t.value.mountPoint=o),label:e(n)("files_external","Folder name"),required:""},null,8,["modelValue","label"]),v(ya,{modelValue:t.value.mountOptions,"onUpdate:modelValue":l[1]||(l[1]=o=>t.value.mountOptions=o)},null,8,["modelValue"]),e(le)?(u(),h(ea,{key:0,groups:t.value.applicableGroups,"onUpdate:groups":l[2]||(l[2]=o=>t.value.applicableGroups=o),users:t.value.applicableUsers,"onUpdate:users":l[3]||(l[3]=o=>t.value.applicableUsers=o),class:y(r.$style.externalStorageDialog__dropdown)},null,8,["groups","users","class"])):T("",!0),e(le)&&i.value?(u(),h(e(ne),{key:1,type:"info",text:e(n)("files_external","Without a restriction this storage is available to every account on this server.")},null,8,["text"])):T("",!0),v(e(oe),{modelValue:c.value,"onUpdate:modelValue":l[4]||(l[4]=o=>c.value=o),options:e(me),disabled:!!(t.value.id&&t.value.backend),inputLabel:e(n)("files_external","External storage"),class:y(r.$style.externalStorageDialog__dropdown),label:"name",required:""},null,8,["modelValue","options","disabled","inputLabel","class"]),v(e(oe),{modelValue:p.value,"onUpdate:modelValue":l[5]||(l[5]=o=>p.value=o),options:d.value,disabled:!t.value.backend||d.value.length<=1||!!(t.value.id&&t.value.authMechanism),inputLabel:e(n)("files_external","Authentication"),class:y(r.$style.externalStorageDialog__dropdown),label:"name",required:""},null,8,["modelValue","options","disabled","inputLabel","class"]),c.value&&t.value.backendOptions?(u(),h(da,{key:2,modelValue:t.value.backendOptions,"onUpdate:modelValue":l[6]||(l[6]=o=>t.value.backendOptions=o),class:y(r.$style.externalStorageDialog__configuration),configuration:c.value.configuration},null,8,["modelValue","class","configuration"])):T("",!0),p.value&&t.value.backendOptions?(u(),h(na,{key:3,modelValue:t.value.backendOptions,"onUpdate:modelValue":l[7]||(l[7]=o=>t.value.backendOptions=o),class:y(r.$style.externalStorageDialog__configuration),authMechanism:p.value},null,8,["modelValue","class","authMechanism"])):T("",!0)]),_:1},8,["open","contentClasses","name"]))}}),ka="_externalStorageDialog_l5jv4_2",Va="_externalStorageDialog__configuration_l5jv4_9",Sa="_externalStorageDialog__dropdown_l5jv4_13",Ca={externalStorageDialog:ka,externalStorageDialog__configuration:Va,externalStorageDialog__dropdown:Sa},Ma={$style:Ca},Ae=N(wa,[["__cssModules",Ma]]),Aa={class:"hidden-visually"},$a={key:0},Ua=O({__name:"ExternalStorageTableRow",props:{storage:{},isAdmin:{type:Boolean}},setup(s){const a=s,t=ue(),i=$("files_external","backends"),c=S(()=>i.find(k=>k.identifier===a.storage.backend).name),d=$("files_external","authMechanisms"),p=S(()=>d.find(k=>k.identifier===a.storage.authMechanism).name),r=A(!1),l=S(()=>{if(r.value)return{icon:"loading",label:n("files_external","Checking …")};const k=a.storage.status??L.Indeterminate,de=a.storage.statusMessage||Je[k],E=Ye[k],ce=k===L.NetworkError||k===L.Timeout,Ue=!ce&&k!==L.Success&&k!==L.Indeterminate;return{icon:E,label:de,isWarning:ce,isError:Ue}}),o=Ve(()=>a.storage.applicableUsers||[]),_=Se(()=>a.storage.applicableGroups||[]),m=S(()=>we(a.storage.applicableUsers,a.storage.applicableGroups));async function f(){await t.deleteStorage(a.storage)}async function C(){const k=await Qe(Ae,{storage:a.storage});k&&await t.updateStorage(k)}async function $e(){r.value=!0;try{await t.reloadStorage(a.storage)}finally{r.value=!1}}return(k,de)=>(u(),x("tr",{class:y(k.$style.storageTableRow)},[b("td",null,[b("span",Aa,g(l.value.label),1),v(e(R),{"aria-label":e(n)("files_external","Recheck status"),title:l.value.label,variant:"tertiary-no-background",onClick:$e},{icon:w(()=>[l.value.icon==="loading"?(u(),h(e(be),{key:0})):(u(),h(e(j),{key:1,class:y({[k.$style.storageTableRow__status_error]:l.value.isError,[k.$style.storageTableRow__status_warning]:l.value.isWarning}),path:l.value.icon},null,8,["class","path"]))]),_:1},8,["aria-label","title"])]),b("td",null,g(s.storage.mountPoint),1),b("td",null,g(c.value),1),b("td",null,g(p.value),1),s.isAdmin?(u(),x("td",$a,[b("div",{class:y(k.$style.storageTableRow__cellApplicable)},[m.value?(u(),h(e(_e),{key:0,iconPath:e(Fe),noClose:"",text:e(n)("files_external","All accounts")},null,8,["iconPath","text"])):T("",!0),(u(!0),x(M,null,q(e(_),E=>(u(),h(e(_e),{key:E.id,iconPath:e(je),noClose:"",text:E.displayName},null,8,["iconPath","text"]))),128)),(u(!0),x(M,null,q(e(o),E=>(u(),h(e(We),{key:E.user,displayName:E.displayName,size:24,user:E.user},null,8,["displayName","user"]))),128))],2)])):T("",!0),b("td",null,[s.isAdmin||s.storage.type==="personal"?(u(),x("div",{key:0,class:y(k.$style.storageTableRow__cellActions)},[v(e(R),{"aria-label":e(n)("files_external","Edit"),title:e(n)("files_external","Edit"),onClick:C},{icon:w(()=>[v(e(j),{path:e(De)},null,8,["path"])]),_:1},8,["aria-label","title"]),v(e(R),{"aria-label":e(n)("files_external","Delete"),title:e(n)("files_external","Delete"),variant:"error",onClick:f},{icon:w(()=>[v(e(j),{path:e(Be)},null,8,["path"])]),_:1},8,["aria-label","title"])],2)):(u(),h(e(j),{key:1,inline:"",path:e(Le),name:e(n)("files_external","System provided storage"),title:e(n)("files_external","System provided storage")},null,8,["path","name","title"]))])],2))}}),Ta="_storageTableRow__cellActions_goqfw_2",Oa="_storageTableRow__cellApplicable_goqfw_7",qa="_storageTableRow__status_warning_goqfw_17",Na="_storageTableRow__status_error_goqfw_21",Ea={storageTableRow__cellActions:Ta,storageTableRow__cellApplicable:Oa,storageTableRow__status_warning:qa,storageTableRow__status_error:Na},Pa={$style:Ea},Ra=N(Ua,[["__cssModules",Pa]]),Fa=["aria-label"],ja={class:"hidden-visually"},Da={key:0},Ba={class:"hidden-visually"},La=O({__name:"ExternalStorageTable",setup(s){const a=ue(),{isAdmin:t}=$("files_external","settings"),i=S(()=>t?a.globalStorages:[...a.userStorages,...a.globalStorages]);return(c,d)=>(u(),x("table",{class:y(c.$style.storageTable),"aria-label":e(n)("files_external","External storages")},[b("thead",{class:y(c.$style.storageTable__header)},[b("tr",null,[b("th",{class:y(c.$style.storageTable__headerStatus)},[b("span",ja,g(e(n)("files_external","Status")),1)],2),b("th",{class:y(c.$style.storageTable__headerFolder)},g(e(n)("files_external","Folder name")),3),b("th",{class:y(c.$style.storageTable__headerBackend)},g(e(n)("files_external","External storage")),3),b("th",{class:y(c.$style.storageTable__headerAuthentication)},g(e(n)("files_external","Authentication")),3),e(t)?(u(),x("th",Da,g(e(n)("files_external","Restricted to")),1)):T("",!0),b("th",{class:y(c.$style.storageTable__headerActions)},[b("span",Ba,g(e(n)("files_external","Actions")),1)],2)])],2),b("tbody",null,[(u(!0),x(M,null,q(i.value,p=>(u(),h(Ra,{key:p.id,isAdmin:e(t),storage:p},null,8,["isAdmin","storage"]))),128))])],10,Fa))}}),Ha="_storageTable_1dqte_2",Ga="_storageTable__header_1dqte_11",Ia="_storageTable__headerStatus_1dqte_16",Qa="_storageTable__headerFolder_1dqte_20",za="_storageTable__headerBackend_1dqte_24",Za="_storageTable__headerFAuthentication_1dqte_28",Ka="_storageTable__headerActions_1dqte_32",Wa={storageTable:Ha,storageTable__header:Ga,storageTable__headerStatus:Ia,storageTable__headerFolder:Qa,storageTable__headerBackend:za,storageTable__headerFAuthentication:Za,storageTable__headerActions:Ka},Ja={$style:Wa},Ya=N(La,[["__cssModules",Ja]]),Xa=O({__name:"UserMountSettings",setup(s){const a=$("files_external","user-mounting"),t=$("files_external","backends").filter(d=>d.identifier!=="local"),i=A(a.allowUserMounting),c=A(a.allowedBackends);return Z(i,()=>{const d=!i.value;window.OCP.AppConfig.setValue("files_external","allow_user_mounting",i.value?"yes":"no",{success:()=>re(n("files_external","Saved")),error:()=>{i.value=d,ie(n("files_external","Error while saving"))}})}),Z(c,(d,p)=>{window.OCP.AppConfig.setValue("files_external","user_mounting_backends",d.join(","),{success:()=>re(n("files_external","Saved allowed backends")),error:()=>{ie(n("files_external","Failed to save allowed backends")),c.value=p}})}),(d,p)=>(u(),x("form",null,[b("h3",{class:y(d.$style.userMountSettings__heading)},g(e(n)("files_external","Advanced options for external storage mounts")),3),v(e(F),{modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=r=>i.value=r),type:"switch"},{default:w(()=>[V(g(e(n)("files_external","Allow people to mount external storage")),1)]),_:1},8,["modelValue"]),Y(b("fieldset",{class:y(d.$style.userMountSettings__backends)},[b("legend",null,g(e(n)("files_external","External storage backends people are allowed to mount")),1),(u(!0),x(M,null,q(e(t),r=>(u(),h(e(F),{key:r.identifier,modelValue:c.value,"onUpdate:modelValue":p[1]||(p[1]=l=>c.value=l),value:r.identifier,name:"allowUserMountingBackends[]"},{default:w(()=>[V(g(r.name),1)]),_:2},1032,["modelValue","value"]))),128))],2),[[X,i.value]])]))}}),et="_userMountSettings__heading_59moz_2",at="_userMountSettings__backends_59moz_9",tt={userMountSettings__heading:et,userMountSettings__backends:at},lt={$style:tt},st=N(Xa,[["__cssModules",lt]]);const nt=["aria-label"],ot=O({__name:"ExternalStoragesSection",setup(s){const a=$("files_external","settings",{docUrl:"",dependencyIssues:{messages:null,modules:null},isAdmin:!1}),t=ue(),i=a.dependencyIssues?.messages??[],c=a.dependencyIssues?.modules??{},d=A(!1),p=A();async function r(l){if(d.value=!1,!!l)try{a.isAdmin?await t.createGlobalStorage(l):await t.createUserStorage(l),p.value=void 0}catch(o){ke.error("Failed to add external storage",{error:o,storage:l}),p.value={...l},d.value=!0}}return(l,o)=>(u(),h(e(ge),{docUrl:e(a).docUrl,name:e(n)("files_external","External storage"),description:e(n)("files_external","External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices.")+(e(a).isAdmin?" "+e(n)("files_external","You may also allow people to mount their own external storage services."):"")},{default:w(()=>[(u(!0),x(M,null,q(e(i),(_,m)=>(u(),h(e(ne),{key:m,type:"error"},{default:w(()=>[V(g(_),1)]),_:2},1024))),128)),(u(!0),x(M,null,q(e(c),(_,m)=>(u(),h(e(ne),{key:m,type:"warning"},{default:w(()=>[b("p",null,[m==="curl"?(u(),x(M,{key:0},[V(g(e(n)("files_external","The cURL support in PHP is not enabled or installed.")),1)],64)):m==="ftp"?(u(),x(M,{key:1},[V(g(e(n)("files_external","The FTP support in PHP is not enabled or installed.")),1)],64)):(u(),x(M,{key:2},[V(g(e(n)("files_external","{module} is not installed.",{module:m})),1)],64)),V(" "+g(e(Ge)("files_external","Please ask your system administrator to install it as otherwise mounting the following backend is not possible:","Please ask your system administrator to install it as otherwise mounting the following backends is not possible:",_.length)),1)]),b("ul",{class:y(l.$style.externalStoragesSection__dependantList),"aria-label":e(n)("files_external","Dependant backends")},[(u(!0),x(M,null,q(_,f=>(u(),x("li",{key:f},g(f),1))),128))],10,nt)]),_:2},1024))),128)),T("",!0),v(Ya),v(e(R),{class:y(l.$style.externalStoragesSection__newStorageButton),variant:"primary",onClick:o[0]||(o[0]=_=>d.value=!d.value)},{icon:w(()=>[v(e(j),{path:e(He)},null,8,["path"])]),default:w(()=>[V(" "+g(e(n)("files_external","Add external storage")),1)]),_:1},8,["class"]),v(Ae,{open:d.value,"onUpdate:open":o[1]||(o[1]=_=>d.value=_),storage:p.value,onClose:r},null,8,["open","storage"]),e(a).isAdmin?(u(),h(st,{key:1})):T("",!0)]),_:1},8,["docUrl","name","description"]))}}),it="_externalStoragesSection__dependantList_atsmn_2",rt="_externalStoragesSection__newStorageButton_atsmn_7",ut={externalStoragesSection__dependantList:it,externalStoragesSection__newStorageButton:rt},dt={$style:ut},ct=N(ot,[["__cssModules",dt]]),pt=O({__name:"GlobalCredentialsSection",setup(s){const a=$("files_external","global-credentials"),t=A(!1),i=A(a.user),c=A(a.password);xe(U);async function d(){try{t.value=!0;const{data:p}=await U.post(P("apps/files_external/globalcredentials"),{uid:a.uid,user:i.value,password:c.value},{confirmPassword:Q.Strict});if(p){re(n("files_external","Global credentials saved"));return}}catch(p){ke.error(p)}finally{t.value=!1}ie(n("files_external","Could not save global credentials")),i.value=a.user,c.value=a.password}return(p,r)=>(u(),h(e(ge),{name:e(n)("files_external","Global credentials"),description:e(n)("files_external","Global credentials can be used to authenticate with multiple external storages that have the same credentials.")},{default:w(()=>[b("form",{id:"global_credentials",class:y(p.$style.globalCredentialsSectionForm),autocomplete:"false",onSubmit:Ne(d,["prevent"])},[v(e(ve),{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=l=>i.value=l),name:"username",autocomplete:"false",label:e(n)("files_external","Login")},null,8,["modelValue","label"]),v(e(Ke),{modelValue:c.value,"onUpdate:modelValue":r[1]||(r[1]=l=>c.value=l),name:"password",autocomplete:"false",label:e(n)("files_external","Password")},null,8,["modelValue","label"]),v(e(R),{class:y(p.$style.globalCredentialsSectionForm__submit),disabled:t.value,variant:"primary",type:"submit"},{default:w(()=>[V(g(t.value?e(n)("files_external","Saving …"):e(n)("files_external","Save")),1)]),_:1},8,["class","disabled"])],34)]),_:1},8,["name","description"]))}}),_t="_globalCredentialsSectionForm_bgjv2_2",mt="_globalCredentialsSectionForm__submit_bgjv2_10",ft={globalCredentialsSectionForm:_t,globalCredentialsSectionForm__submit:mt},gt={$style:ft},vt=N(pt,[["__cssModules",gt]]),bt=O({__name:"FilesExternalSettings",setup(s){return(a,t)=>(u(),x(M,null,[v(ct),v(vt)],64))}}),yt=Oe(),se=Ee(bt);se.config.idPrefix="files-external",se.use(yt),se.mount("#files-external"); //# sourceMappingURL=files_external-settings.mjs.map diff --git a/dist/files_reminders-init.mjs b/dist/files_reminders-init.mjs index dbf058cf04429..a60a921de7a0c 100644 --- a/dist/files_reminders-init.mjs +++ b/dist/files_reminders-init.mjs @@ -1,2 +1,2 @@ -import{a as l}from"./index-B3rZk8FQ.chunk.mjs";import{c as X}from"./dav-BUnvPvLq.chunk.mjs";import{c as W,f as y,g as K}from"./index-BRcsAfAF.chunk.mjs";import{b as B,t as i}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as O}from"./index-CfIbVNTc.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{N as ee}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{f as te}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as C}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{N as re,s as ie}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as M}from"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{b as ne,A as ae,S as se,o as w,c as D,w as d,g as oe,L as de,k as T,u as a,j as m,t as u,h as A,l as c,v as le}from"./Web-X6XNrbMx.chunk.mjs";import{a as f,d as N}from"./index--CXeJKGn.chunk.mjs";import{_ as me}from"./public-C1mLBHT3.chunk.mjs";import"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-PbTIJ1eH.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";const ue='';async function E(e,t){const r=W("/apps/files_reminders/api/v1/{fileId}",{fileId:e});return(await O.put(r,{dueDate:t.toISOString()})).data.ocs.data}async function Z(e){const t=W("/apps/files_reminders/api/v1/{fileId}",{fileId:e});return(await O.delete(t,{validateStatus:r=>r===200||r===404})).data.ocs.data}var p=(e=>(e.LaterToday="later-today",e.Tomorrow="tomorrow",e.ThisWeekend="this-weekend",e.NextWeek="next-week",e))(p||{});function F(){const e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-e.getDay()+1),new Date(e)}function I(e){new Date(e).setHours(0,0,0,0);const t=new Date(e.getFullYear(),0,1,0,0,0,0),r=(e.getTime()-t.getTime())/864e5;return Math.ceil((r+t.getDay()+1)/7)}function ce(e,t){return I(e)===I(t)&&e.getFullYear()===t.getFullYear()}function fe(e,t){return e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()}function b(e){return{"later-today":()=>{const t=new Date,r=new Date;r.setHours(18,0,0,0);const s=new Date;return s.setHours(17,0,0,0),t>=s?null:r},tomorrow:()=>{const t=new Date,r=new Date;return r.setDate(t.getDate()+1),r.setHours(8,0,0,0),r},"this-weekend":()=>{const t=new Date;if([5,6,0].includes(t.getDay()))return null;const r=new Date,s=F();return r.setDate(s.getDate()+5),r.setHours(8,0,0,0),r},"next-week":()=>{if(new Date().getDay()===0)return null;const t=new Date,r=F();return t.setDate(r.getDate()+7),t.setHours(8,0,0,0),t}}[e]()}function pe(){const e=new Date,t=new Date;return t.setHours(e.getHours()+2,0,0,0),t}function V(e){let t={hour:"numeric",minute:"2-digit"};const r=new Date;return fe(e,r)||(t={...t,weekday:"short"}),ce(e,r)||(t={...t,month:"short",day:"numeric"}),e.getFullYear()!==r.getFullYear()&&(t={...t,year:"numeric"}),e.toLocaleString(B(),t)}function L(e){let t={month:"long",day:"numeric",weekday:"long",hour:"numeric",minute:"2-digit"};const r=new Date;return e.getFullYear()!==r.getFullYear()&&(t={...t,year:"numeric"}),e.toLocaleString(B(),t)}const ge={id:"clear-reminder",displayName:()=>i("files_reminders","Clear reminder"),title:({nodes:e})=>{const t=e.at(0),r=new Date(t.attributes["reminder-due-date"]);return`${i("files_reminders","Clear reminder")} – ${L(r)}`},iconSvgInline:()=>ue,enabled:({nodes:e})=>e.length!==1?!1:!!e.at(0).attributes["reminder-due-date"],async exec({nodes:e}){const t=e.at(0);if(t.fileid)try{return await Z(t.fileid),t.attributes["reminder-due-date"]="",y("files:node:updated",t),!0}catch{return!1}return null},order:19},U='',_=K().setApp("files_reminders").detectUser().build(),ve=ne({__name:"SetCustomReminderModal",props:{node:{}},emits:["close"],setup(e,{emit:t}){const r=e,s=t,h=c(!1),S=c(!1),g=c(!0),o=c(),k=c(new Date),q=le(()=>{const n=te(o.value??0);return k.value.getTime()>=(o.value?.getTime()??0)?i("files_reminders","We reminded you of this file {relativeDueDate}",{relativeDueDate:n}):i("files_reminders","We will remind you of this file {relativeDueDate}",{relativeDueDate:n})});ae(()=>{const n=r.node.attributes["reminder-due-date"]?new Date(r.node.attributes["reminder-due-date"]):void 0;h.value=!!n,g.value=!0,S.value=!0,o.value=n??pe(),k.value=new Date}),se(()=>{const n=document.getElementById("set-custom-reminder");n.focus(),h.value||n.showPicker()});async function z(){if(!(o.value instanceof Date)||isNaN(o.value.getTime())){f(i("files_reminders","Please choose a valid date & time"));return}try{await E(r.node.fileid,o.value);const n=r.node.clone();n.attributes["reminder-due-date"]=o.value.toISOString(),y("files:node:updated",n),N(i("files_reminders",'Reminder set for "{fileName}"',{fileName:r.node.displayname})),v()}catch(n){_.error("Failed to set reminder",{error:n}),f(i("files_reminders","Failed to set reminder"))}}async function G(){try{await Z(r.node.fileid);const n=r.node.clone();n.attributes["reminder-due-date"]="",y("files:node:updated",n),N(i("files_reminders",'Reminder cleared for "{fileName}"',{fileName:r.node.displayname})),v()}catch(n){_.error("Failed to clear reminder",{error:n}),f(i("files_reminders","Failed to clear reminder"))}}function v(){S.value=!1,s("close")}function J(){const n=document.getElementById("set-custom-reminder");g.value=n.checkValidity()}return(n,H)=>S.value?(w(),D(a(re),{key:0,name:a(i)("files_reminders","Set reminder for '{fileName}'",{fileName:e.node.displayname}),outTransition:"",size:"small",closeOnClickOutside:"",onClosing:v},{actions:d(()=>[T(a(C),{variant:"tertiary",onClick:v},{default:d(()=>[m(u(a(i)("files_reminders","Cancel")),1)]),_:1}),h.value?(w(),D(a(C),{key:0,onClick:G},{default:d(()=>[m(u(a(i)("files_reminders","Clear reminder")),1)]),_:1})):A("",!0),T(a(C),{disabled:!g.value,variant:"primary",form:"set-custom-reminder-form",type:"submit"},{default:d(()=>[m(u(a(i)("files_reminders","Set reminder")),1)]),_:1},8,["disabled"])]),default:d(()=>[oe("form",{id:"set-custom-reminder-form",class:"custom-reminder-modal",onSubmit:de(z,["prevent"])},[T(a(ee),{id:"set-custom-reminder",modelValue:o.value,"onUpdate:modelValue":H[0]||(H[0]=Q=>o.value=Q),label:a(i)("files_reminders","Reminder at custom date & time"),min:k.value,required:!0,type:"datetime-local",onInput:J},null,8,["modelValue","label","min"]),g.value&&o.value?(w(),D(a(M),{key:0,type:"info"},{default:d(()=>[m(u(q.value),1)]),_:1})):(w(),D(a(M),{key:1,type:"error"},{default:d(()=>[m(u(a(i)("files_reminders","Please choose a valid date & time")),1)]),_:1}))],32)]),_:1},8,["name"])):A("",!0)}}),we=me(ve,[["__scopeId","data-v-d7127154"]]);async function j(e){await ie(we,{node:e})}const De={id:"reminder-status",inline:()=>!0,displayName:()=>"",title:({nodes:e})=>{const t=e.at(0),r=new Date(t.attributes["reminder-due-date"]);return`${i("files_reminders","Reminder set")} – ${L(r)}`},iconSvgInline:()=>U,enabled:({nodes:e})=>{if(e.length!==1)return!1;const t=e.at(0).attributes["reminder-due-date"],r=new Date;return!!t&&new Date(t)>r},async exec({nodes:e}){const t=e.at(0);return await j(t),null},order:-15},ye='',x="set-reminder-menu",be={id:x,displayName:()=>i("files_reminders","Set reminder"),iconSvgInline:()=>U,enabled:({nodes:e,view:t})=>t.id==="trashbin"||e.length!==1?!1:e.at(0).attributes["reminder-due-date"]!==void 0,async exec(){return null},order:20},Le={id:"set-reminder-custom",displayName:()=>i("files_reminders","Custom reminder"),title:()=>i("files_reminders","Reminder at custom date & time"),iconSvgInline:()=>ye,enabled:({nodes:e,view:t})=>t.id==="trashbin"||e.length!==1?!1:e.at(0).attributes["reminder-due-date"]!==void 0,parent:x,async exec({nodes:e}){const t=e.at(0);return j(t),null},order:22},P={dateTimePreset:p.LaterToday,label:i("files_reminders","Later today"),ariaLabel:i("files_reminders","Set reminder for later today"),dateString:"",verboseDateString:""},Y={dateTimePreset:p.Tomorrow,label:i("files_reminders","Tomorrow"),ariaLabel:i("files_reminders","Set reminder for tomorrow"),dateString:"",verboseDateString:""},$={dateTimePreset:p.ThisWeekend,label:i("files_reminders","This weekend"),ariaLabel:i("files_reminders","Set reminder for this weekend"),dateString:"",verboseDateString:""},R={dateTimePreset:p.NextWeek,label:i("files_reminders","Next week"),ariaLabel:i("files_reminders","Set reminder for next week"),dateString:"",verboseDateString:""};function _e(){return[P,Y,$,R].forEach(e=>{const t=b(e.dateTimePreset);t&&(e.dateString=V(t),e.verboseDateString=L(t),setInterval(()=>{const r=b(e.dateTimePreset);r&&(e.dateString=V(r),e.verboseDateString=L(r))},1e3*30*60))}),[P,Y,$,R].map(he)}function he(e){return{id:`set-reminder-${e.dateTimePreset}`,displayName:()=>`${e.label} – ${e.dateString}`,title:()=>`${e.ariaLabel} – ${e.verboseDateString}`,iconSvgInline:()=>"",enabled:({nodes:t,view:r})=>r.id==="trashbin"||t.length!==1?!1:t.at(0).attributes["reminder-due-date"]!==void 0&&!!b(e.dateTimePreset),parent:x,async exec({nodes:t}){const r=t.at(0);if(!r.fileid)return _.error("Failed to set reminder, missing file id"),f(i("files_reminders","Failed to set reminder")),null;try{const s=b(e.dateTimePreset);await E(r.fileid,s),r.attributes["reminder-due-date"]=s.toISOString(),y("files:node:updated",r),N(i("files_reminders",'Reminder set for "{fileName}"',{fileName:r.basename}))}catch(s){_.error("Failed to set reminder",{error:s}),f(i("files_reminders","Failed to set reminder"))}return null},order:21}}X("nc:reminder-due-date",{nc:"http://nextcloud.org/ns"}),l(De),l(ge),l(be),l(Le),_e().forEach(l); +import{a as l}from"./index-B3rZk8FQ.chunk.mjs";import{c as X}from"./dav-BnceviPD.chunk.mjs";import{c as W,f as y,g as K}from"./index-BRcsAfAF.chunk.mjs";import{b as B,t as i}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{c as O}from"./index-CfIbVNTc.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./NcTextArea-Dxzj4zdb-Bx35ShA2.chunk.mjs";import{N as ee}from"./NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";import{f as te}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";/* empty css */import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./NcContent-BYh5hWDN-9MECBj_y.chunk.mjs";import{N as C}from"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs";import"./Plus-CjEmRLfi.chunk.mjs";import"./index-Cx763gSp.chunk.mjs";import"./TrayArrowDown-BMEoxMqX.chunk.mjs";import"./index-C5srBhP3.chunk.mjs";import{N as re,s as ie}from"./index-CJbq0R0g.chunk.mjs";import"./index-DF7qcH5u.chunk.mjs";import"./NcEmojiPicker-UTxgju3f--S5KNYEW.chunk.mjs";import"./NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs";import"./index-3kTsQt96.chunk.mjs";/* empty css */import"./NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs";import{N as M}from"./mdi-GefgkJkH.chunk.mjs";import"./NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs";import"./index-D-unkGTr.chunk.mjs";import"./NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs";import"./NcSelectTags-I2hJaNax-BBqnJLFs.chunk.mjs";import"./ContentCopy-DhdKfuvN.chunk.mjs";import"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./emoji-C8k9NUlo-C5D-rZyy.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import{b as ne,A as ae,S as se,o as w,c as D,w as d,g as oe,L as de,k as T,u as a,j as m,t as u,h as A,l as c,v as le}from"./Web-X6XNrbMx.chunk.mjs";import{a as f,d as N}from"./index-9np_X5jS.chunk.mjs";import{_ as me}from"./public-C1mLBHT3.chunk.mjs";import"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CpA8_zX5.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";const ue='';async function E(e,t){const r=W("/apps/files_reminders/api/v1/{fileId}",{fileId:e});return(await O.put(r,{dueDate:t.toISOString()})).data.ocs.data}async function Z(e){const t=W("/apps/files_reminders/api/v1/{fileId}",{fileId:e});return(await O.delete(t,{validateStatus:r=>r===200||r===404})).data.ocs.data}var p=(e=>(e.LaterToday="later-today",e.Tomorrow="tomorrow",e.ThisWeekend="this-weekend",e.NextWeek="next-week",e))(p||{});function F(){const e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-e.getDay()+1),new Date(e)}function I(e){new Date(e).setHours(0,0,0,0);const t=new Date(e.getFullYear(),0,1,0,0,0,0),r=(e.getTime()-t.getTime())/864e5;return Math.ceil((r+t.getDay()+1)/7)}function ce(e,t){return I(e)===I(t)&&e.getFullYear()===t.getFullYear()}function fe(e,t){return e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()}function b(e){return{"later-today":()=>{const t=new Date,r=new Date;r.setHours(18,0,0,0);const s=new Date;return s.setHours(17,0,0,0),t>=s?null:r},tomorrow:()=>{const t=new Date,r=new Date;return r.setDate(t.getDate()+1),r.setHours(8,0,0,0),r},"this-weekend":()=>{const t=new Date;if([5,6,0].includes(t.getDay()))return null;const r=new Date,s=F();return r.setDate(s.getDate()+5),r.setHours(8,0,0,0),r},"next-week":()=>{if(new Date().getDay()===0)return null;const t=new Date,r=F();return t.setDate(r.getDate()+7),t.setHours(8,0,0,0),t}}[e]()}function pe(){const e=new Date,t=new Date;return t.setHours(e.getHours()+2,0,0,0),t}function V(e){let t={hour:"numeric",minute:"2-digit"};const r=new Date;return fe(e,r)||(t={...t,weekday:"short"}),ce(e,r)||(t={...t,month:"short",day:"numeric"}),e.getFullYear()!==r.getFullYear()&&(t={...t,year:"numeric"}),e.toLocaleString(B(),t)}function L(e){let t={month:"long",day:"numeric",weekday:"long",hour:"numeric",minute:"2-digit"};const r=new Date;return e.getFullYear()!==r.getFullYear()&&(t={...t,year:"numeric"}),e.toLocaleString(B(),t)}const ge={id:"clear-reminder",displayName:()=>i("files_reminders","Clear reminder"),title:({nodes:e})=>{const t=e.at(0),r=new Date(t.attributes["reminder-due-date"]);return`${i("files_reminders","Clear reminder")} – ${L(r)}`},iconSvgInline:()=>ue,enabled:({nodes:e})=>e.length!==1?!1:!!e.at(0).attributes["reminder-due-date"],async exec({nodes:e}){const t=e.at(0);if(t.fileid)try{return await Z(t.fileid),t.attributes["reminder-due-date"]="",y("files:node:updated",t),!0}catch{return!1}return null},order:19},U='',_=K().setApp("files_reminders").detectUser().build(),ve=ne({__name:"SetCustomReminderModal",props:{node:{}},emits:["close"],setup(e,{emit:t}){const r=e,s=t,h=c(!1),S=c(!1),g=c(!0),o=c(),k=c(new Date),q=le(()=>{const n=te(o.value??0);return k.value.getTime()>=(o.value?.getTime()??0)?i("files_reminders","We reminded you of this file {relativeDueDate}",{relativeDueDate:n}):i("files_reminders","We will remind you of this file {relativeDueDate}",{relativeDueDate:n})});ae(()=>{const n=r.node.attributes["reminder-due-date"]?new Date(r.node.attributes["reminder-due-date"]):void 0;h.value=!!n,g.value=!0,S.value=!0,o.value=n??pe(),k.value=new Date}),se(()=>{const n=document.getElementById("set-custom-reminder");n.focus(),h.value||n.showPicker()});async function z(){if(!(o.value instanceof Date)||isNaN(o.value.getTime())){f(i("files_reminders","Please choose a valid date & time"));return}try{await E(r.node.fileid,o.value);const n=r.node.clone();n.attributes["reminder-due-date"]=o.value.toISOString(),y("files:node:updated",n),N(i("files_reminders",'Reminder set for "{fileName}"',{fileName:r.node.displayname})),v()}catch(n){_.error("Failed to set reminder",{error:n}),f(i("files_reminders","Failed to set reminder"))}}async function G(){try{await Z(r.node.fileid);const n=r.node.clone();n.attributes["reminder-due-date"]="",y("files:node:updated",n),N(i("files_reminders",'Reminder cleared for "{fileName}"',{fileName:r.node.displayname})),v()}catch(n){_.error("Failed to clear reminder",{error:n}),f(i("files_reminders","Failed to clear reminder"))}}function v(){S.value=!1,s("close")}function J(){const n=document.getElementById("set-custom-reminder");g.value=n.checkValidity()}return(n,H)=>S.value?(w(),D(a(re),{key:0,name:a(i)("files_reminders","Set reminder for '{fileName}'",{fileName:e.node.displayname}),outTransition:"",size:"small",closeOnClickOutside:"",onClosing:v},{actions:d(()=>[T(a(C),{variant:"tertiary",onClick:v},{default:d(()=>[m(u(a(i)("files_reminders","Cancel")),1)]),_:1}),h.value?(w(),D(a(C),{key:0,onClick:G},{default:d(()=>[m(u(a(i)("files_reminders","Clear reminder")),1)]),_:1})):A("",!0),T(a(C),{disabled:!g.value,variant:"primary",form:"set-custom-reminder-form",type:"submit"},{default:d(()=>[m(u(a(i)("files_reminders","Set reminder")),1)]),_:1},8,["disabled"])]),default:d(()=>[oe("form",{id:"set-custom-reminder-form",class:"custom-reminder-modal",onSubmit:de(z,["prevent"])},[T(a(ee),{id:"set-custom-reminder",modelValue:o.value,"onUpdate:modelValue":H[0]||(H[0]=Q=>o.value=Q),label:a(i)("files_reminders","Reminder at custom date & time"),min:k.value,required:!0,type:"datetime-local",onInput:J},null,8,["modelValue","label","min"]),g.value&&o.value?(w(),D(a(M),{key:0,type:"info"},{default:d(()=>[m(u(q.value),1)]),_:1})):(w(),D(a(M),{key:1,type:"error"},{default:d(()=>[m(u(a(i)("files_reminders","Please choose a valid date & time")),1)]),_:1}))],32)]),_:1},8,["name"])):A("",!0)}}),we=me(ve,[["__scopeId","data-v-d7127154"]]);async function j(e){await ie(we,{node:e})}const De={id:"reminder-status",inline:()=>!0,displayName:()=>"",title:({nodes:e})=>{const t=e.at(0),r=new Date(t.attributes["reminder-due-date"]);return`${i("files_reminders","Reminder set")} – ${L(r)}`},iconSvgInline:()=>U,enabled:({nodes:e})=>{if(e.length!==1)return!1;const t=e.at(0).attributes["reminder-due-date"],r=new Date;return!!t&&new Date(t)>r},async exec({nodes:e}){const t=e.at(0);return await j(t),null},order:-15},ye='',x="set-reminder-menu",be={id:x,displayName:()=>i("files_reminders","Set reminder"),iconSvgInline:()=>U,enabled:({nodes:e,view:t})=>t.id==="trashbin"||e.length!==1?!1:e.at(0).attributes["reminder-due-date"]!==void 0,async exec(){return null},order:20},Le={id:"set-reminder-custom",displayName:()=>i("files_reminders","Custom reminder"),title:()=>i("files_reminders","Reminder at custom date & time"),iconSvgInline:()=>ye,enabled:({nodes:e,view:t})=>t.id==="trashbin"||e.length!==1?!1:e.at(0).attributes["reminder-due-date"]!==void 0,parent:x,async exec({nodes:e}){const t=e.at(0);return j(t),null},order:22},P={dateTimePreset:p.LaterToday,label:i("files_reminders","Later today"),ariaLabel:i("files_reminders","Set reminder for later today"),dateString:"",verboseDateString:""},Y={dateTimePreset:p.Tomorrow,label:i("files_reminders","Tomorrow"),ariaLabel:i("files_reminders","Set reminder for tomorrow"),dateString:"",verboseDateString:""},$={dateTimePreset:p.ThisWeekend,label:i("files_reminders","This weekend"),ariaLabel:i("files_reminders","Set reminder for this weekend"),dateString:"",verboseDateString:""},R={dateTimePreset:p.NextWeek,label:i("files_reminders","Next week"),ariaLabel:i("files_reminders","Set reminder for next week"),dateString:"",verboseDateString:""};function _e(){return[P,Y,$,R].forEach(e=>{const t=b(e.dateTimePreset);t&&(e.dateString=V(t),e.verboseDateString=L(t),setInterval(()=>{const r=b(e.dateTimePreset);r&&(e.dateString=V(r),e.verboseDateString=L(r))},1e3*30*60))}),[P,Y,$,R].map(he)}function he(e){return{id:`set-reminder-${e.dateTimePreset}`,displayName:()=>`${e.label} – ${e.dateString}`,title:()=>`${e.ariaLabel} – ${e.verboseDateString}`,iconSvgInline:()=>"",enabled:({nodes:t,view:r})=>r.id==="trashbin"||t.length!==1?!1:t.at(0).attributes["reminder-due-date"]!==void 0&&!!b(e.dateTimePreset),parent:x,async exec({nodes:t}){const r=t.at(0);if(!r.fileid)return _.error("Failed to set reminder, missing file id"),f(i("files_reminders","Failed to set reminder")),null;try{const s=b(e.dateTimePreset);await E(r.fileid,s),r.attributes["reminder-due-date"]=s.toISOString(),y("files:node:updated",r),N(i("files_reminders",'Reminder set for "{fileName}"',{fileName:r.basename}))}catch(s){_.error("Failed to set reminder",{error:s}),f(i("files_reminders","Failed to set reminder"))}return null},order:21}}X("nc:reminder-due-date",{nc:"http://nextcloud.org/ns"}),l(De),l(ge),l(be),l(Le),_e().forEach(l); //# sourceMappingURL=files_reminders-init.mjs.map diff --git a/dist/files_trashbin-init.mjs b/dist/files_trashbin-init.mjs index a5cc828af62d7..66d0a8532bcdb 100644 --- a/dist/files_trashbin-init.mjs +++ b/dist/files_trashbin-init.mjs @@ -1,4 +1,4 @@ -import{C as c,V as _,b as v,c as x,a as V}from"./index-B3rZk8FQ.chunk.mjs";import{a as o,b as H,i as A,g as C,h as N,j as E,f as h}from"./index-BRcsAfAF.chunk.mjs";import{c as u,i as S}from"./index-CfIbVNTc.chunk.mjs";import{a as b,d as $,g as I}from"./index--CXeJKGn.chunk.mjs";import{P as D}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import{g as y,b as f,t as n}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{g as L,a as M,b as T,r as k,d as F}from"./dav-BUnvPvLq.chunk.mjs";import{f as B}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{e as U}from"./Web-X6XNrbMx.chunk.mjs";import{N as P}from"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import{l as O}from"./public-C1mLBHT3.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./index-PbTIJ1eH.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";const R='',j='',w=`/trashbin/${o()?.uid}/trash`,q=L(),z=` +import{C as c,V as _,b as v,c as x,a as V}from"./index-B3rZk8FQ.chunk.mjs";import{a as o,b as H,i as A,g as C,h as N,j as E,f as h}from"./index-BRcsAfAF.chunk.mjs";import{c as u,i as S}from"./index-CfIbVNTc.chunk.mjs";import{a as b,d as $,g as I}from"./index-9np_X5jS.chunk.mjs";import{P as D}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import{g as y,b as f,t as n}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{g as L,a as M,b as T,r as k,d as F}from"./dav-BnceviPD.chunk.mjs";import{f as B}from"./NcModal-DiDvgcU8-CuQupdH6.chunk.mjs";import{e as U}from"./Web-X6XNrbMx.chunk.mjs";import{N as P}from"./NcUserBubble-BXR7vT0V-BLzAgliL.chunk.mjs";import{l as O}from"./public-C1mLBHT3.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";import"./index-CJbq0R0g.chunk.mjs";import"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import"./logger-D3RVzcfQ-BhA9fykO.chunk.mjs";import"./TrashCanOutline-BBIwb491.chunk.mjs";import"./mdi-GefgkJkH.chunk.mjs";import"./index-CpA8_zX5.chunk.mjs";import"./NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs";import"./ArrowRight-D54JS6Uu.chunk.mjs";import"./colors-Cv9F-jWS-CwgImFGi.chunk.mjs";import"./NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs";import"./PencilOutline-DAU1EhgS.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs";const R='',j='',w=`/trashbin/${o()?.uid}/trash`,q=L(),z=` diff --git a/dist/files_versions-sidebar-tab.mjs b/dist/files_versions-sidebar-tab.mjs index 6d510e47d3f66..faef004cdf4ce 100644 --- a/dist/files_versions-sidebar-tab.mjs +++ b/dist/files_versions-sidebar-tab.mjs @@ -1,3 +1,3 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/FilesVersionsSidebarTab-CVkivcRB.chunk.mjs'),window.OC.filePath('', '', 'dist/index--CXeJKGn.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/index-B3rZk8FQ.chunk.mjs'),window.OC.filePath('', '', 'dist/externalStorageUtils-Djf4yowl.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-BMEoxMqX.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/dav-BUnvPvLq.chunk.mjs'),window.OC.filePath('', '', 'dist/index-PbTIJ1eH.chunk.mjs'),window.OC.filePath('', '', 'dist/files_versions-FilesVersionsSidebarTab-CHVM526v.chunk.css')])))=>i.map(i=>d[i]); -import{d as i,a as r,_ as e}from"./Web-X6XNrbMx.chunk.mjs";import{r as t}from"./index-B3rZk8FQ.chunk.mjs";import{t as m}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{i as n}from"./public-C1mLBHT3.chunk.mjs";import{F as a}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const d='',s="files-versions_sidebar-tab";t({id:"files_versions",tagName:s,order:90,displayName:m("files_versions","Versions"),iconSvgInline:d,enabled({node:o}){return!(n()||o.type!==a.File)},async onInit(){const o=r(()=>e(()=>import("./FilesVersionsSidebarTab-CVkivcRB.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]),import.meta.url));window.customElements.define(s,i(o,{shadowRoot:!1}))}}); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/FilesVersionsSidebarTab-BoqKwijz.chunk.mjs'),window.OC.filePath('', '', 'dist/index-9np_X5jS.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/index-B3rZk8FQ.chunk.mjs'),window.OC.filePath('', '', 'dist/externalStorageUtils-Djf4yowl.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/NcAvatar-1KxMUN7V-Df6-lMUV.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/ArrowRight-D54JS6Uu.chunk.mjs'),window.OC.filePath('', '', 'dist/common-ArrowRight-DfvWJUh_.chunk.css'),window.OC.filePath('', '', 'dist/colors-Cv9F-jWS-CwgImFGi.chunk.mjs'),window.OC.filePath('', '', 'dist/NcUserStatusIcon-BF5OEQFU-I_j8Vufj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcUserStatusIcon-BF5OEQFU-Bq_6hmXG.chunk.css'),window.OC.filePath('', '', 'dist/common-NcAvatar-1KxMUN7V-CIJAK_jb.chunk.css'),window.OC.filePath('', '', 'dist/TrayArrowDown-BMEoxMqX.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrayArrowDown-BEbvWlY3.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/dav-BnceviPD.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CpA8_zX5.chunk.mjs'),window.OC.filePath('', '', 'dist/files_versions-FilesVersionsSidebarTab-CHVM526v.chunk.css')])))=>i.map(i=>d[i]); +import{d as i,a as r,_ as e}from"./Web-X6XNrbMx.chunk.mjs";import{r as t}from"./index-B3rZk8FQ.chunk.mjs";import{t as m}from"./translation-DoG5ZELJ-CIhv9uCk.chunk.mjs";import{i as n}from"./public-C1mLBHT3.chunk.mjs";import{F as a}from"./externalStorageUtils-Djf4yowl.chunk.mjs";import"./index-BRcsAfAF.chunk.mjs";import"./util-BcZIBtn7.chunk.mjs";const d='',s="files-versions_sidebar-tab";t({id:"files_versions",tagName:s,order:90,displayName:m("files_versions","Versions"),iconSvgInline:d,enabled({node:o}){return!(n()||o.type!==a.File)},async onInit(){const o=r(()=>e(()=>import("./FilesVersionsSidebarTab-BoqKwijz.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]),import.meta.url));window.customElements.define(s,i(o,{shadowRoot:!1}))}}); //# sourceMappingURL=files_versions-sidebar-tab.mjs.map diff --git a/dist/index--CXeJKGn.chunk.mjs b/dist/index-9np_X5jS.chunk.mjs similarity index 99% rename from dist/index--CXeJKGn.chunk.mjs rename to dist/index-9np_X5jS.chunk.mjs index 97f1bf82458dd..8c923e7da34cc 100644 --- a/dist/index--CXeJKGn.chunk.mjs +++ b/dist/index-9np_X5jS.chunk.mjs @@ -1,6 +1,6 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/FilePicker-DuWsKdWk.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/index-B3rZk8FQ.chunk.mjs'),window.OC.filePath('', '', 'dist/externalStorageUtils-Djf4yowl.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/ShareType-suoNfd7y.chunk.mjs'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-B4eyDS9i-BknLVeOm.chunk.css'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/dav-BUnvPvLq.chunk.mjs'),window.OC.filePath('', '', 'dist/index-PbTIJ1eH.chunk.mjs')])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('', '', 'dist/FilePicker-5ci1Hixq.chunk.mjs'),window.OC.filePath('', '', 'dist/Web-X6XNrbMx.chunk.mjs'),window.OC.filePath('', '', 'dist/public-C1mLBHT3.chunk.mjs'),window.OC.filePath('', '', 'dist/index-BRcsAfAF.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CJbq0R0g.chunk.mjs'),window.OC.filePath('', '', 'dist/NcModal-DiDvgcU8-CuQupdH6.chunk.mjs'),window.OC.filePath('', '', 'dist/logger-D3RVzcfQ-BhA9fykO.chunk.mjs'),window.OC.filePath('', '', 'dist/createElementId-DhjFt1I9-CwvT49nE.chunk.mjs'),window.OC.filePath('', '', 'dist/translation-DoG5ZELJ-CIhv9uCk.chunk.mjs'),window.OC.filePath('', '', 'dist/common-createElementId-DhjFt1I9-C_oBIsvc.chunk.css'),window.OC.filePath('', '', 'dist/common-logger-D3RVzcfQ-Ks0gkIDB.chunk.css'),window.OC.filePath('', '', 'dist/common-NcModal-DiDvgcU8-B-yi1OwC.chunk.css'),window.OC.filePath('', '', 'dist/TrashCanOutline-BBIwb491.chunk.mjs'),window.OC.filePath('', '', 'dist/common-TrashCanOutline-BYHcrfvW.chunk.css'),window.OC.filePath('', '', 'dist/common-index-DYA_tnKg.chunk.css'),window.OC.filePath('', '', 'dist/NcEmptyContent-CGAPqk4S-fXhKqzty.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcEmptyContent-CGAPqk4S-Don1d5Bd.chunk.css'),window.OC.filePath('', '', 'dist/index-B3rZk8FQ.chunk.mjs'),window.OC.filePath('', '', 'dist/externalStorageUtils-Djf4yowl.chunk.mjs'),window.OC.filePath('', '', 'dist/util-BcZIBtn7.chunk.mjs'),window.OC.filePath('', '', 'dist/NcCheckboxRadioSwitch-DVdt5Hkq-Dz8mze0W.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcCheckboxRadioSwitch-DVdt5Hkq-Ct9ZGMmH.chunk.css'),window.OC.filePath('', '', 'dist/NcDateTime.vue_vue_type_script_setup_true_lang-BJuPH7S7-DP0mYqKf.chunk.mjs'),window.OC.filePath('', '', 'dist/PencilOutline-DAU1EhgS.chunk.mjs'),window.OC.filePath('', '', 'dist/common-PencilOutline-B3DMd8SU.chunk.css'),window.OC.filePath('', '', 'dist/common-NcDateTime-b9UhLDij.chunk.css'),window.OC.filePath('', '', 'dist/mdi-GefgkJkH.chunk.mjs'),window.OC.filePath('', '', 'dist/common-mdi-BWNFKLbC.chunk.css'),window.OC.filePath('', '', 'dist/ShareType-suoNfd7y.chunk.mjs'),window.OC.filePath('', '', 'dist/NcBreadcrumbs-B4eyDS9i-CkgrteCC.chunk.mjs'),window.OC.filePath('', '', 'dist/NcPasswordField-BFyzHTOO-D_TNEGk2.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CfIbVNTc.chunk.mjs'),window.OC.filePath('', '', 'dist/NcInputField-5Sg6EUP6-CMWwaZH2.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcInputField-5Sg6EUP6-BYHxARP-.chunk.css'),window.OC.filePath('', '', 'dist/common-NcPasswordField-BFyzHTOO-Crp_EMfV.chunk.css'),window.OC.filePath('', '', 'dist/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2-CrVqaEnj.chunk.mjs'),window.OC.filePath('', '', 'dist/common-NcBreadcrumbs-B4eyDS9i-BknLVeOm.chunk.css'),window.OC.filePath('', '', 'dist/index-DF7qcH5u.chunk.mjs'),window.OC.filePath('', '', 'dist/common-index-BWhNCeJl.chunk.css'),window.OC.filePath('', '', 'dist/dav-BnceviPD.chunk.mjs'),window.OC.filePath('', '', 'dist/index-CpA8_zX5.chunk.mjs')])))=>i.map(i=>d[i]); import{b as j,S as M,ai as I,o as x,c as p,w as D,u as A,g as Y,t as P,h as w,f as _,v as V,_ as W}from"./Web-X6XNrbMx.chunk.mjs";import{s as y,N as U}from"./index-CJbq0R0g.chunk.mjs";import{q as T,g as L,v as q}from"./index-BRcsAfAF.chunk.mjs";import{l as K}from"./createElementId-DhjFt1I9-CwvT49nE.chunk.mjs";import{N as O}from"./mdi-GefgkJkH.chunk.mjs";var v={exports:{}},H=v.exports,k;function R(){return k||(k=1,(function(i){(function(e,s){i.exports?i.exports=s():e.Toastify=s()})(H,function(e){var s=function(u){return new s.lib.init(u)},t="1.12.0";s.defaults={oldestFirst:!0,text:"Toastify is awesome!",node:void 0,duration:3e3,selector:void 0,callback:function(){},destination:void 0,newWindow:!1,close:!1,gravity:"toastify-top",positionLeft:!1,position:"",backgroundColor:"",avatar:"",className:"",stopOnFocus:!0,onClick:function(){},offset:{x:0,y:0},escapeMarkup:!0,ariaLive:"polite",style:{background:""}},s.lib=s.prototype={toastify:t,constructor:s,init:function(u){return u||(u={}),this.options={},this.toastElement=null,this.options.text=u.text||s.defaults.text,this.options.node=u.node||s.defaults.node,this.options.duration=u.duration===0?0:u.duration||s.defaults.duration,this.options.selector=u.selector||s.defaults.selector,this.options.callback=u.callback||s.defaults.callback,this.options.destination=u.destination||s.defaults.destination,this.options.newWindow=u.newWindow||s.defaults.newWindow,this.options.close=u.close||s.defaults.close,this.options.gravity=u.gravity==="bottom"?"toastify-bottom":s.defaults.gravity,this.options.positionLeft=u.positionLeft||s.defaults.positionLeft,this.options.position=u.position||s.defaults.position,this.options.backgroundColor=u.backgroundColor||s.defaults.backgroundColor,this.options.avatar=u.avatar||s.defaults.avatar,this.options.className=u.className||s.defaults.className,this.options.stopOnFocus=u.stopOnFocus===void 0?s.defaults.stopOnFocus:u.stopOnFocus,this.options.onClick=u.onClick||s.defaults.onClick,this.options.offset=u.offset||s.defaults.offset,this.options.escapeMarkup=u.escapeMarkup!==void 0?u.escapeMarkup:s.defaults.escapeMarkup,this.options.ariaLive=u.ariaLive||s.defaults.ariaLive,this.options.style=u.style||s.defaults.style,u.backgroundColor&&(this.options.style.background=u.backgroundColor),this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var u=document.createElement("div");u.className="toastify on "+this.options.className,this.options.position?u.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(u.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):u.className+=" toastify-right",u.className+=" "+this.options.gravity,this.options.backgroundColor&&console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.');for(var a in this.options.style)u.style[a]=this.options.style[a];if(this.options.ariaLive&&u.setAttribute("aria-live",this.options.ariaLive),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)u.appendChild(this.options.node);else if(this.options.escapeMarkup?u.innerText=this.options.text:u.innerHTML=this.options.text,this.options.avatar!==""){var g=document.createElement("img");g.src=this.options.avatar,g.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?u.appendChild(g):u.insertAdjacentElement("afterbegin",g)}if(this.options.close===!0){var o=document.createElement("button");o.type="button",o.setAttribute("aria-label","Close"),o.className="toast-close",o.innerHTML="✖",o.addEventListener("click",function(C){C.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var m=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&m>360?u.insertAdjacentElement("afterbegin",o):u.appendChild(o)}if(this.options.stopOnFocus&&this.options.duration>0){var d=this;u.addEventListener("mouseover",function(C){window.clearTimeout(u.timeOutValue)}),u.addEventListener("mouseleave",function(){u.timeOutValue=window.setTimeout(function(){d.removeElement(u)},d.options.duration)})}if(typeof this.options.destination<"u"&&u.addEventListener("click",function(C){C.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination>"u"&&u.addEventListener("click",function(C){C.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var E=n("x",this.options),c=n("y",this.options),B=this.options.position=="left"?E:"-"+E,S=this.options.gravity=="toastify-top"?c:"-"+c;u.style.transform="translate("+B+","+S+")"}return u},showToast:function(){this.toastElement=this.buildToast();var u;if(typeof this.options.selector=="string"?u=document.getElementById(this.options.selector):this.options.selector instanceof HTMLElement||typeof ShadowRoot<"u"&&this.options.selector instanceof ShadowRoot?u=this.options.selector:u=document.body,!u)throw"Root element is not defined";var a=s.defaults.oldestFirst?u.firstChild:u.lastChild;return u.insertBefore(this.toastElement,a),s.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(u){u.className=u.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),u.parentNode&&u.parentNode.removeChild(u),this.options.callback.call(u),s.reposition()}.bind(this),400)}},s.reposition=function(){for(var u={top:15,bottom:15},a={top:15,bottom:15},g={top:15,bottom:15},o=document.getElementsByClassName("toastify"),m,d=0;d0?window.innerWidth:screen.width;B<=360?(o[d].style[m]=g[m]+"px",g[m]+=E+c):r(o[d],"toastify-left")===!0?(o[d].style[m]=u[m]+"px",u[m]+=E+c):(o[d].style[m]=a[m]+"px",a[m]+=E+c)}return this};function n(u,a){return a.offset[u]?isNaN(a.offset[u])?a.offset[u]:a.offset[u]+"px":"0px"}function r(u,a){return!u||typeof a!="string"?!1:!!(u.className&&u.className.trim().split(/\s+/gi).indexOf(a)>-1)}return s.lib.init.prototype=s.lib,s})})(v)),v.exports}var G=R();const Z=T(G),J='',Q='',b=K().detectLanguage();for(const i of[{language:"ar",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" لا يصلح كاسم مجلد.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" غير مسموح به كاسم مجلد']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" غير مسموح به داخل اسم مجلد.']},{msgid:"All files",msgstr:["كل الملفات"]},{msgid:"Choose",msgstr:["إختَر"]},{msgid:"Choose {file}",msgstr:["إختر {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["إختَر %n ملف","إختَر %n ملف","إختَر %n ملف","إختَر %n ملفات","إختَر %n ملف","إختر %n ملف"]},{msgid:"Copy",msgstr:["نسخ"]},{msgid:"Copy to {target}",msgstr:["نسخ إلى {target}"]},{msgid:"Could not create the new folder",msgstr:["تعذّر إنشاء المجلد الجديد"]},{msgid:"Could not load files settings",msgstr:["يتعذّر تحميل إعدادات الملفات"]},{msgid:"Could not load files views",msgstr:["تعذر تحميل عرض الملفات"]},{msgid:"Create directory",msgstr:["إنشاء مجلد"]},{msgid:"Current view selector",msgstr:["محدد العرض الحالي"]},{msgid:"Favorites",msgstr:["المفضلة"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["الملفات والمجلدات التي تحددها كمفضلة ستظهر هنا."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["الملفات و المجلدات التي قمت مؤخراً بتعديلها سوف تظهر هنا."]},{msgid:"Filter file list",msgstr:["تصفية قائمة الملفات"]},{msgid:"Folder name cannot be empty.",msgstr:["اسم المجلد لا يمكن أن يكون فارغاً."]},{msgid:"Home",msgstr:["البداية"]},{msgid:"Modified",msgstr:["التعديل"]},{msgid:"Move",msgstr:["نقل"]},{msgid:"Move to {target}",msgstr:["نقل إلى {target}"]},{msgid:"Name",msgstr:["الاسم"]},{msgid:"New",msgstr:["جديد"]},{msgid:"New folder",msgstr:["مجلد جديد"]},{msgid:"New folder name",msgstr:["اسم المجلد الجديد"]},{msgid:"No files in here",msgstr:["لا توجد ملفات هنا"]},{msgid:"No files matching your filter were found.",msgstr:["لا توجد ملفات تتطابق مع عامل التصفية الذي وضعته"]},{msgid:"No matching files",msgstr:["لا توجد ملفات مطابقة"]},{msgid:"Recent",msgstr:["الحالي"]},{msgid:"Select all entries",msgstr:["حدد جميع الإدخالات"]},{msgid:"Select entry",msgstr:["إختَر المدخل"]},{msgid:"Select the row for {nodename}",msgstr:["إختر سطر الـ {nodename}"]},{msgid:"Size",msgstr:["الحجم"]},{msgid:"Undo",msgstr:["تراجع"]},{msgid:"Upload some content or sync with your devices!",msgstr:["قم برفع بعض المحتوى أو المزامنة مع أجهزتك!"]}]},{language:"ast",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["«{name}» ye un nome de carpeta inválidu."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["«{name}» ye un nome de carpeta inválidu"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["Nun se permite'l caráuter «/» dientro'l nome de les carpetes."]},{msgid:"All files",msgstr:["Tolos ficheros"]},{msgid:"Choose",msgstr:["Escoyer"]},{msgid:"Choose {file}",msgstr:["Escoyer «{ficheru}»"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escoyer %n ficheru","Escoyer %n ficheros"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar en: {target}"]},{msgid:"Could not create the new folder",msgstr:["Nun se pudo crear la carpeta"]},{msgid:"Could not load files settings",msgstr:["Nun se pudo cargar la configuración de los ficheros"]},{msgid:"Could not load files views",msgstr:["Nun se pudieron cargar les vistes de los ficheros"]},{msgid:"Create directory",msgstr:["Crear un direutoriu"]},{msgid:"Current view selector",msgstr:["Selector de la vista actual"]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Equí apaecen los ficheros y les carpetes que metas en Favoritos."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Equí apaecen los fichero y les carpetes que modificares apocayá."]},{msgid:"Filter file list",msgstr:["Peñerar la llista de ficheros"]},{msgid:"Folder name cannot be empty.",msgstr:["El nome de la carpeta nun pue tar baleru."]},{msgid:"Home",msgstr:["Aniciu"]},{msgid:"Modified",msgstr:["Modificóse"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"New",msgstr:["Nuevu"]},{msgid:"New folder",msgstr:["Carpeta nueva"]},{msgid:"New folder name",msgstr:["Nome de carpeta nuevu"]},{msgid:"No files in here",msgstr:["Equí nun hai nengún ficheru"]},{msgid:"No files matching your filter were found.",msgstr:["Nun s'atopó nengún ficheru que concasare cola peñera."]},{msgid:"No matching files",msgstr:["Nun hai nengún ficheru que concase"]},{msgid:"Recent",msgstr:["De recién"]},{msgid:"Select all entries",msgstr:["Seleicionar toles entraes"]},{msgid:"Select entry",msgstr:["Seleicionar la entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleicionar la filera de: {nodename}"]},{msgid:"Size",msgstr:["Tamañu"]},{msgid:"Undo",msgstr:["Desfacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Xubi dalgún elementu o sincroniza colos tos preseos!"]}]},{language:"ca",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:[`No és permès d'usar el caràcter "{char}" en un nom.`]},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" no és un nom permès.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" no és vàlid com a nom de carpeta.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" no és vàlid com a nom de carpeta']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" és un mot reservat i no està permès com a nom.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:[`"/" no està permès en el nom d'una carpeta.`]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n conflicte de fitxers","%n conflictes de fitxers"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n onflicte de fitxers a {dirname}","%n conflictes de fitxers a {dirname}"]},{msgid:"All files",msgstr:["Tots els fitxers"]},{msgid:"Cancel",msgstr:["Cancel·lar"]},{msgid:"Cancel the entire operation",msgstr:["Cancel·lar tota l'operació"]},{msgid:"Choose",msgstr:["Tria"]},{msgid:"Choose {file}",msgstr:["Tria {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Tria %n fitxer","Tria %n fitxers"]},{msgid:"Confirm",msgstr:["Confirma"]},{msgid:"Continue",msgstr:["Continuar"]},{msgid:"Copy",msgstr:["Copia"]},{msgid:"Copy to {target}",msgstr:["Copia a {target}"]},{msgid:"Could not create the new folder",msgstr:["No s'ha pogut crear la carpeta nova"]},{msgid:"Could not load files settings",msgstr:["No es poden carregar fitxers de configuració"]},{msgid:"Could not load files views",msgstr:["No es poden carregar fitxers de vistes"]},{msgid:"Create directory",msgstr:["Crea un directori"]},{msgid:"Current view selector",msgstr:["Selector de visualització actual"]},{msgid:"Enter your name",msgstr:["Escriviu el vostre nom"]},{msgid:"Existing version",msgstr:["Versió existent"]},{msgid:"Failed to set nickname.",msgstr:["No s'ha pogut desar el sobrenom."]},{msgid:"Favorites",msgstr:["Preferits"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Els fitxers i les carpetes que marqueu com a favorits es mostraran aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Els fitxers i les carpetes recentment modificats es mostraran aquí."]},{msgid:"Filter file list",msgstr:["Filtrar llistat de fitxers"]},{msgid:"Folder name cannot be empty.",msgstr:["El nom de la carpeta no pot estar buit."]},{msgid:"Guest identification",msgstr:["Identificació com a convidat"]},{msgid:"Home",msgstr:["Inici"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Si seleccioneu les dues versions, el fitxer entrant tindrà un número afegit al seu nom."]},{msgid:"Invalid name.",msgstr:["Nom no vàlid."]},{msgid:"Last modified date unknown",msgstr:["Data de l'última modificació desconeguda"]},{msgid:"Modified",msgstr:["Data de modificació"]},{msgid:"Move",msgstr:["Desplaça"]},{msgid:"Move to {target}",msgstr:["Desplaça a {target}"]},{msgid:"Name",msgstr:["Nom"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Els noms poden tenir com a màxim 64 caràcters."]},{msgid:"Names must not be empty.",msgstr:["Els noms no poden ser buits."]},{msgid:'Names must not end with "{extension}".',msgstr:[`Els noms no poden acabar amb l'extensió "{extension}".`]},{msgid:"Names must not start with a dot.",msgstr:["Els noms no poden començar amb un punt."]},{msgid:"New",msgstr:["Crea"]},{msgid:"New folder",msgstr:["Carpeta nova"]},{msgid:"New folder name",msgstr:["Nom de la carpeta nova"]},{msgid:"New version",msgstr:["Nova versió"]},{msgid:"No files in here",msgstr:["No hi ha cap fitxer"]},{msgid:"No files matching your filter were found.",msgstr:["No s'ha trobat cap fitxer que coincideixi amb el filtre."]},{msgid:"No matching files",msgstr:["No hi ha cap fitxer que coincideixi"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Si us plau, escriu un nom amb 2 caràcters com a mínim."]},{msgid:"Recent",msgstr:["Recents"]},{msgid:"Select all checkboxes",msgstr:["Selecciona totes les caselles de selecció"]},{msgid:"Select all entries",msgstr:["Selecciona totes les entrades"]},{msgid:"Select all existing files",msgstr:["Selecciona tots els fitxers existents"]},{msgid:"Select all new files",msgstr:["Selecciona tots els fitxers nous"]},{msgid:"Select entry",msgstr:["Selecciona l'entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecciona la fila per a {nodename}"]},{msgid:"Size",msgstr:["Mida"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Omet %n fitxer","Omet %n fitxers"]},{msgid:"Skip this file",msgstr:["Omet aquest fitxer"]},{msgid:"Submit name",msgstr:["Entreu el nom"]},{msgid:"Undo",msgstr:["Desfés"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Pugeu contingut o sincronitzeu-lo amb els vostres dispositius!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Quan es selecciona una carpeta entrant, també se sobreescriuran els fitxers que hi entrin en conflicte."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Quan es selecciona una carpeta entrant, el contingut s'escriu a la carpeta existent i es realitza una resolució recursiva de conflictes."]},{msgid:"Which files do you want to keep?",msgstr:["Quins fitxers voleu conservar?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Actualment se us mostra com a {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Actualment no esteu identificat."]},{msgid:"You cannot leave the name empty.",msgstr:["No podeu deixar el nom buit."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Heu de triar com a mínim una solució de conflicte"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Heu de seleccionar com a mínim una versió de cada fitxer per continuar."]}]},{language:"cs_CZ",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["znak „{char}“ není možné použít uvnitř názvu složky."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}“ není možné použít uvnitř názvu."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}“ není možné použít jako název."]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["„{segment}“ je vyhrazeným názvem a není možné ho používat pro názvy složek."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}“ je vyhrazeným názvem a není možné ho použít."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n kolize souboru","%n kolize souborů","%n kolizí souborů","%n kolize souborů"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n kolize souborů v {dirname}","%n kolize souborů v {dirname}","%n kolizí souborů v {dirname}","%n kolize souborů v {dirname}"]},{msgid:"All files",msgstr:["Veškeré soubory"]},{msgid:"Cancel",msgstr:["Storno"]},{msgid:"Cancel the entire operation",msgstr:["Zrušit celou operaci"]},{msgid:"Choose",msgstr:["Zvolit"]},{msgid:"Choose {file}",msgstr:["Zvolit {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Zvolte %n soubor","Zvolte %n soubory","Zvolte %n souborů","Zvolte %n soubory"]},{msgid:"Confirm",msgstr:["Potvrdit"]},{msgid:"Continue",msgstr:["Pokračovat"]},{msgid:"Copy",msgstr:["Zkopírovat"]},{msgid:"Copy to {target}",msgstr:["Zkopírovat do {target}"]},{msgid:"Could not create the new folder",msgstr:["Novou složku se nepodařilo vytvořit"]},{msgid:"Could not load files settings",msgstr:["Nepodařilo se načíst nastavení pro soubory"]},{msgid:"Could not load files views",msgstr:["Nepodařilo se načíst pohledy souborů"]},{msgid:"Create directory",msgstr:["Vytvořit složku"]},{msgid:"Current view selector",msgstr:["Výběr stávajícího zobrazení"]},{msgid:"Enter your name",msgstr:["Zadejte své jméno"]},{msgid:"Existing version",msgstr:["Existující verze"]},{msgid:"Failed to set nickname.",msgstr:["Nepodařilo se nastavit přezdívku."]},{msgid:"Favorites",msgstr:["Oblíbené"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Zde se zobrazí soubory a složky, které označíte jako oblíbené."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Zde se zobrazí soubory a složky, které jste nedávno pozměnili."]},{msgid:"Filter file list",msgstr:["Filtrovat seznam souborů"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["Názvy složek nemohou končit na „{extension}“."]},{msgid:"Guest identification",msgstr:["Identifikace hosta"]},{msgid:"Home",msgstr:["Domů"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Pokud vyberete obě verze, pak k názvu příchozího souboru bude přidáno číslo."]},{msgid:"Invalid folder name.",msgstr:["Neplatný název složky."]},{msgid:"Invalid name.",msgstr:["Neplatný název."]},{msgid:"Last modified date unknown",msgstr:["Datum poslední změny neznámé"]},{msgid:"Modified",msgstr:["Změněno"]},{msgid:"Move",msgstr:["Přesounout"]},{msgid:"Move to {target}",msgstr:["Přesunout do {target}"]},{msgid:"Name",msgstr:["Název"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Je třeba, aby délka jmen nepřesahovala 64 znaků."]},{msgid:"Names must not be empty.",msgstr:["Názvy je třeba vyplnit."]},{msgid:'Names must not end with "{extension}".',msgstr:["Názvy nemohou končit na „{extension}“."]},{msgid:"Names must not start with a dot.",msgstr:["Názvy nemohou začínat tečkou."]},{msgid:"New",msgstr:["Nové"]},{msgid:"New folder",msgstr:["Nová složka"]},{msgid:"New folder name",msgstr:["Název pro novou složku"]},{msgid:"New version",msgstr:["Nová verze"]},{msgid:"No files in here",msgstr:["Nejsou zde žádné soubory"]},{msgid:"No files matching your filter were found.",msgstr:["Nenalezeny žádné soubory odpovídající vašemu filtru"]},{msgid:"No matching files",msgstr:["Žádné odpovídající soubory"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Zadejte jméno dlouhé alespoň 2 znaky."]},{msgid:"Recent",msgstr:["Nedávné"]},{msgid:"Select all checkboxes",msgstr:["Vybrat všechny zaškrtávací kolonky"]},{msgid:"Select all entries",msgstr:["Vybrat všechny položky"]},{msgid:"Select all existing files",msgstr:["Vybrat všechny existující soubory"]},{msgid:"Select all new files",msgstr:["Vybrat všechny nové soubory"]},{msgid:"Select entry",msgstr:["Vybrat položku"]},{msgid:"Select the row for {nodename}",msgstr:["Vybrat řádek pro {nodename}"]},{msgid:"Size",msgstr:["Velikost"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Přeskočit %n soubor","Přeskočit %n soubory","Přeskočit %n souborů","Přeskočit %n soubory"]},{msgid:"Skip this file",msgstr:["Přeskočit tento soubor"]},{msgid:"Submit name",msgstr:["Odeslat jméno"]},{msgid:"Undo",msgstr:["Zpět"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Nahrajte sem nějaký obsah nebo proveďte synchronizaci se svými zařízeními!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Pokud je vybrána příchozí složka, budou v ní také přepsány jakékoli kolidující soubory."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Když je vybrána příchozí složka, jakékoli soubory v ní budou také přepsány."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Pokud je vybrána příchozí složka, je obsah zapsán do existující složky a je provedeno rekurzivní vyřešení kolizí."]},{msgid:"Which files do you want to keep?",msgstr:["Které soubory chcete ponechat?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["V tuto chvíli jste identifikováni jako {nickname}."]},{msgid:"You are currently not identified.",msgstr:["V tuto chvíli nejste identifikovaní."]},{msgid:"You cannot leave the name empty.",msgstr:["Jméno nelze ponechat nevyplněné."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Je třeba zvolit alespoň jedno z řešení kolize"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru."]}]},{language:"da",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" er ikke tilladt i et navn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" er ikke tilladt i et navn.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" er et ugyldigt mappenavn.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" er ikke et tilladt mappenavn']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" er et reserveret navn og er derfor ikke tilladt.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" er ikke tilladt i et mappenavn.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n filkonflikt","%n filer konflikter"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n filkonflikt i {dirname}","%n filkonflikter i {dirname}"]},{msgid:"All files",msgstr:["Alle filer"]},{msgid:"Cancel",msgstr:["Fortryd"]},{msgid:"Cancel the entire operation",msgstr:["Annullér hele operationen"]},{msgid:"Choose",msgstr:["Vælg"]},{msgid:"Choose {file}",msgstr:["Vælg {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Vælg %n fil","Vælg %n filer"]},{msgid:"Confirm",msgstr:["Bekræft"]},{msgid:"Continue",msgstr:["Fortsæt"]},{msgid:"Copy",msgstr:["Kopier"]},{msgid:"Copy to {target}",msgstr:["Kopier til {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunne ikke oprette den nye mappe"]},{msgid:"Could not load files settings",msgstr:["Filindstillingerne kunne ikke indlæses"]},{msgid:"Could not load files views",msgstr:["Kunne ikke indlæse filvisninger"]},{msgid:"Create directory",msgstr:["Opret mappe"]},{msgid:"Current view selector",msgstr:["Aktuel visningsvælger"]},{msgid:"Enter your name",msgstr:["Indtast dit navn"]},{msgid:"Existing version",msgstr:["Eksisterende version"]},{msgid:"Failed to set nickname.",msgstr:["Forsøg på at gemme kaldenavn mislykkedes."]},{msgid:"Favorites",msgstr:["Favoritter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer og mapper, du markerer som foretrukne, vises her."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer og mapper, du for nylig har ændret, vises her."]},{msgid:"Filter file list",msgstr:["Filtrer fil liste"]},{msgid:"Folder name cannot be empty.",msgstr:["Mappenavnet må ikke være tomt."]},{msgid:"Guest identification",msgstr:["Gæsteidentifikation"]},{msgid:"Home",msgstr:["Hjem"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner, vil den indkommende fil have et nummer tilføjet til sit navn."]},{msgid:"Invalid name.",msgstr:["Ugyldigt navn."]},{msgid:"Last modified date unknown",msgstr:["Senest ændret dato ukendt"]},{msgid:"Modified",msgstr:["Ændret"]},{msgid:"Move",msgstr:["Flyt"]},{msgid:"Move to {target}",msgstr:["Flyt til {target}"]},{msgid:"Name",msgstr:["Navn"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Navne kan højst være 64 tegn lange."]},{msgid:"Names must not be empty.",msgstr:["Navne kan ikke være tomt."]},{msgid:'Names must not end with "{extension}".',msgstr:['Navne må ikke ende på "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Navne skal starte med et punktum."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mappe"]},{msgid:"New folder name",msgstr:["Ny mappe navn"]},{msgid:"New version",msgstr:["Ny version"]},{msgid:"No files in here",msgstr:["Ingen filer here"]},{msgid:"No files matching your filter were found.",msgstr:["Der blev ikke fundet nogen filer, der matcher dit filter."]},{msgid:"No matching files",msgstr:["Ingen matchende filer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Indtast et navn med mindst 2 tegn."]},{msgid:"Recent",msgstr:["Seneste"]},{msgid:"Select all checkboxes",msgstr:["Markér alle afkrydsningsfelter"]},{msgid:"Select all entries",msgstr:["Vælg alle poster"]},{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},{msgid:"Select entry",msgstr:["Vælg post"]},{msgid:"Select the row for {nodename}",msgstr:["Vælg rækken for {nodenavn}"]},{msgid:"Size",msgstr:["Størelse"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Spring %n fil over","Spring %n filer over"]},{msgid:"Skip this file",msgstr:["Spring denne fil over"]},{msgid:"Submit name",msgstr:["Indsend navn"]},{msgid:"Undo",msgstr:["Fortryd"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Upload noget indhold eller synkroniser med dine enheder!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Når en indkommende mappe er valgt, vil eventuelle modstridende filer i det også blive overskrevet."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Når en indkommende mappe er valgt, er indholdet skrevet ind i den eksisterende mappe og en rekursiv konfliktløsning udføres."]},{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer vil du have?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du er i øjeblikket identificeret som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du er ikke identificeret."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan ikke efterlade navnet tomt."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Du skal vælge mindst én konfliktløsning"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}]},{language:"de",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" ist innerhalb eines Ordnernamens nicht zulässig.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" ist innerhalb eines Namens nicht zulässig.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ist kein zulässiger Name.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" ist ein reservierter Name und nicht zulässig für Ordnernamen.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" ist ein reservierter Name und nicht zulässig.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n Dateikonflikt","%n Dateikonflikte"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n Dateikonflikt in {dirname}","%n Dateikonflikte in {dirname}"]},{msgid:"All files",msgstr:["Alle Dateien"]},{msgid:"Cancel",msgstr:["Abbrechen"]},{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},{msgid:"Choose",msgstr:["Auswählen"]},{msgid:"Choose {file}",msgstr:["{file} auswählen"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n Datei auswählen","%n Dateien auswählen"]},{msgid:"Confirm",msgstr:["Bestätigen"]},{msgid:"Continue",msgstr:["Fortsetzen"]},{msgid:"Copy",msgstr:["Kopieren"]},{msgid:"Copy to {target}",msgstr:["Nach {target} kopieren"]},{msgid:"Could not create the new folder",msgstr:["Der neue Ordner konnte nicht erstellt werden"]},{msgid:"Could not load files settings",msgstr:["Dateieinstellungen konnten nicht geladen werden"]},{msgid:"Could not load files views",msgstr:["Dateiansichten konnten nicht geladen werden"]},{msgid:"Create directory",msgstr:["Verzeichnis erstellen"]},{msgid:"Current view selector",msgstr:["Aktuelle Ansichtsauswahl"]},{msgid:"Enter your name",msgstr:["Gib deinen Namen ein"]},{msgid:"Existing version",msgstr:["Vorhandene Version"]},{msgid:"Failed to set nickname.",msgstr:["Spitzname konnte nicht gespeichert werden."]},{msgid:"Favorites",msgstr:["Favoriten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Dateien und Ordner, die du als Favorit markierst, werden hier angezeigt."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Dateien und Ordner, die du kürzlich geändert hast, werden hier angezeigt."]},{msgid:"Filter file list",msgstr:["Dateiliste filtern"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Ordnernamen dürfen nicht mit "{extension}" enden.']},{msgid:"Guest identification",msgstr:["Gast-Identifikation"]},{msgid:"Home",msgstr:["Home"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt."]},{msgid:"Invalid folder name.",msgstr:["Ungültiger Ordnername."]},{msgid:"Invalid name.",msgstr:["Ungültiger Name."]},{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},{msgid:"Modified",msgstr:["Geändert"]},{msgid:"Move",msgstr:["Verschieben"]},{msgid:"Move to {target}",msgstr:["Nach {target} verschieben"]},{msgid:"Name",msgstr:["Name"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namen dürfen maximal 64 Zeichen lang sein."]},{msgid:"Names must not be empty.",msgstr:["Namen dürfen nicht leer sein."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namen dürfen nicht mit "{extension}" enden.']},{msgid:"Names must not start with a dot.",msgstr:["Namen dürfen nicht mit einem Punkt beginnen."]},{msgid:"New",msgstr:["Neu"]},{msgid:"New folder",msgstr:["Neuer Ordner"]},{msgid:"New folder name",msgstr:["Neuer Ordnername"]},{msgid:"New version",msgstr:["Neue Version"]},{msgid:"No files in here",msgstr:["Hier sind keine Dateien"]},{msgid:"No files matching your filter were found.",msgstr:["Es wurden keine Dateien gefunden, die deinem Filter entsprechen."]},{msgid:"No matching files",msgstr:["Keine passenden Dateien"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Bitte einen Namen mit mindestens zwei Zeichen eingeben."]},{msgid:"Recent",msgstr:["Neueste"]},{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},{msgid:"Select all entries",msgstr:["Alle Einträge auswählen"]},{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},{msgid:"Select entry",msgstr:["Eintrag auswählen"]},{msgid:"Select the row for {nodename}",msgstr:["Die Zeile für {nodename} auswählen."]},{msgid:"Size",msgstr:["Größe"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n Datei überspringen","%n Dateien überspringen"]},{msgid:"Skip this file",msgstr:["Diese Datei überspringen"]},{msgid:"Submit name",msgstr:["Namen senden"]},{msgid:"Undo",msgstr:["Rückgängig machen"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Lade Inhalte hoch oder synchronisiere diese mit deinen Geräten!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien überschrieben."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt."]},{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien sollen behalten werden?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du bist derzeit als {nickname} identifiziert."]},{msgid:"You are currently not identified.",msgstr:["Du bist momentan nicht identifiziert."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kannst den Namen nicht leer lassen."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Es muss mindestens eine Konfliktlösung gewählt werden"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren."]}]},{language:"de_DE",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" ist innerhalb eines Ordnernamens nicht zulässig.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" ist innerhalb eines Namens nicht zulässig.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ist kein zulässiger Name.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" ist ein reservierter Name und nicht zulässig für Ordnernamen.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" ist ein reservierter Name und nicht zulässig.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n Dateikonflikt","%n Dateikonflikte"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n Dateikonflikt in {dirname}","%n Dateikonflikte in {dirname}"]},{msgid:"All files",msgstr:["Alle Dateien"]},{msgid:"Cancel",msgstr:["Abbrechen"]},{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},{msgid:"Choose",msgstr:["Auswählen"]},{msgid:"Choose {file}",msgstr:["{file} auswählen"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n Datei auswählen","%n Dateien auswählen"]},{msgid:"Confirm",msgstr:["Bestätigen"]},{msgid:"Continue",msgstr:["Fortsetzen"]},{msgid:"Copy",msgstr:["Kopieren"]},{msgid:"Copy to {target}",msgstr:["Nach {target} kopieren"]},{msgid:"Could not create the new folder",msgstr:["Der neue Ordner konnte nicht erstellt werden"]},{msgid:"Could not load files settings",msgstr:["Dateieinstellungen konnten nicht geladen werden"]},{msgid:"Could not load files views",msgstr:["Dateiansichten konnten nicht geladen werden"]},{msgid:"Create directory",msgstr:["Verzeichnis erstellen"]},{msgid:"Current view selector",msgstr:["Aktuelle Ansichtsauswahl"]},{msgid:"Enter your name",msgstr:["Geben Sie Ihren Namen ein"]},{msgid:"Existing version",msgstr:["Vorhandene Version"]},{msgid:"Failed to set nickname.",msgstr:["Spitzname konnte nicht gespeichert werden."]},{msgid:"Favorites",msgstr:["Favoriten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Dateien und Ordner, die Sie als Favorit markieren, werden hier angezeigt."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Dateien und Ordner, die Sie kürzlich geändert haben, werden hier angezeigt."]},{msgid:"Filter file list",msgstr:["Dateiliste filtern"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Ordnernamen dürfen nicht mit "{extension}" enden.']},{msgid:"Guest identification",msgstr:["Gast-Identifikation"]},{msgid:"Home",msgstr:["Home"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt."]},{msgid:"Invalid folder name.",msgstr:["Ungültiger Ordnername."]},{msgid:"Invalid name.",msgstr:["Ungültiger Name."]},{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},{msgid:"Modified",msgstr:["Geändert"]},{msgid:"Move",msgstr:["Verschieben"]},{msgid:"Move to {target}",msgstr:["Nach {target} verschieben"]},{msgid:"Name",msgstr:["Name"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namen dürfen maximal 64 Zeichen lang sein."]},{msgid:"Names must not be empty.",msgstr:["Namen dürfen nicht leer sein."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namen dürfen nicht mit "{extension}" enden.']},{msgid:"Names must not start with a dot.",msgstr:["Namen dürfen nicht mit einem Punkt beginnen."]},{msgid:"New",msgstr:["Neu"]},{msgid:"New folder",msgstr:["Neuer Ordner"]},{msgid:"New folder name",msgstr:["Neuer Ordnername"]},{msgid:"New version",msgstr:["Neue Version"]},{msgid:"No files in here",msgstr:["Hier sind keine Dateien"]},{msgid:"No files matching your filter were found.",msgstr:["Es wurden keine Dateien gefunden, die Ihrem Filter entsprechen."]},{msgid:"No matching files",msgstr:["Keine passenden Dateien"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Bitte einen Namen mit mindestens zwei Zeichen eingeben."]},{msgid:"Recent",msgstr:["Neueste"]},{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},{msgid:"Select all entries",msgstr:["Alle Einträge auswählen"]},{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},{msgid:"Select entry",msgstr:["Eintrag auswählen"]},{msgid:"Select the row for {nodename}",msgstr:["Die Zeile für {nodename} auswählen."]},{msgid:"Size",msgstr:["Größe"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n Datei überspringen","%n Dateien überspringen"]},{msgid:"Skip this file",msgstr:["Diese Datei überspringen"]},{msgid:"Submit name",msgstr:["Namen senden"]},{msgid:"Undo",msgstr:["Rückgängig machen"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Laden Sie Inhalte hoch oder synchronisieren Sie diese mit Ihren Geräten!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien überschrieben."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt."]},{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien sollen behalten werden?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Sie sind derzeit als {nickname} identifiziert."]},{msgid:"You are currently not identified.",msgstr:["Sie sind momentan nicht identifiziert."]},{msgid:"You cannot leave the name empty.",msgstr:["Sie können den Namen nicht leer lassen."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Es muss mindestens eine Konfliktlösung gewählt werden"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren."]}]},{language:"el",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["Το «{char}» δεν επιτρέπεται μέσα σε όνομα φακέλου."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" δεν επιτρέπεται μέσα σε ένα όνομα.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" δεν είναι επιτρεπτό όνομα.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["Το «{segment}» είναι ένα δεσμευμένο όνομα και δεν επιτρέπεται για ονόματα φακέλων."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" είναι ένα δεσμευμένο όνομα και δεν επιτρέπεται.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n σύγκρουση αρχείου","%n σύγκρουση αρχείων"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n σύγκρουση αρχείου στο {dirname}","%n σύγκρουση αρχείων στο {dirname}"]},{msgid:"All files",msgstr:["Όλα τα αρχεία"]},{msgid:"Cancel",msgstr:["Ακύρωση"]},{msgid:"Cancel the entire operation",msgstr:["Ακύρωση όλης της διαδικασίας"]},{msgid:"Choose",msgstr:["Επιλογή"]},{msgid:"Choose {file}",msgstr:["Επιλέξτε {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Επιλέξτε %n αρχείο","Επιλέξτε %n αρχεία"]},{msgid:"Confirm",msgstr:["Επιβεβαίωση"]},{msgid:"Continue",msgstr:["Συνέχεια"]},{msgid:"Copy",msgstr:["Αντιγραφή"]},{msgid:"Copy to {target}",msgstr:["Αντιγραφή στο {target}"]},{msgid:"Could not create the new folder",msgstr:["Αδυναμία δημιουργίας νέου φακέλου"]},{msgid:"Could not load files settings",msgstr:["Αδυναμία φόρτωσης ρυθμίσεων αρχείων"]},{msgid:"Could not load files views",msgstr:["Αδυναμία φόρτωσης προβολών αρχείων"]},{msgid:"Create directory",msgstr:["Δημιουργία καταλόγου"]},{msgid:"Current view selector",msgstr:["Επιλογέας τρέχουσας προβολής"]},{msgid:"Enter your name",msgstr:["Εισάγετε το όνομά σας"]},{msgid:"Existing version",msgstr:["Υφιστάμενη έκδοση"]},{msgid:"Failed to set nickname.",msgstr:["Αποτυχία στην ρύθμιση του ψευδώνυμου."]},{msgid:"Favorites",msgstr:["Αγαπημένα"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Τα αρχεία και οι φάκελοι που επισημάνετε ως αγαπημένα θα εμφανίζονται εδώ."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Τα αρχεία και οι φάκελοι που τροποποιήσατε πρόσφατα θα εμφανίζονται εδώ."]},{msgid:"Filter file list",msgstr:["Φιλτράρισμα λίστας αρχείων"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["Τα ονόματα των φακέλων δεν πρέπει να τελειώνουν με «{extension}»."]},{msgid:"Guest identification",msgstr:["Ταυτοποίηση επισκέπτη"]},{msgid:"Home",msgstr:["Αρχική"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Εάν επιλέξετε και τις δύο εκδόσεις, στο όνομα του εισερχόμενου αρχείου θα προστεθεί ένας αριθμός."]},{msgid:"Invalid folder name.",msgstr:["Μη έγκυρο όνομα φακέλου."]},{msgid:"Invalid name.",msgstr:["Μη έγκυρο όνομα."]},{msgid:"Last modified date unknown",msgstr:["Άγνωστη ημερομηνία τελευταίας τροποποίησης"]},{msgid:"Modified",msgstr:["Τροποποιήθηκε"]},{msgid:"Move",msgstr:["Μετακίνηση"]},{msgid:"Move to {target}",msgstr:["Μετακίνηση στο {target}"]},{msgid:"Name",msgstr:["Όνομα"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Τα ονόματα μπορούν να έχουν μέγιστο μήκος 64 χαρακτήρες."]},{msgid:"Names must not be empty.",msgstr:["Τα ονόματα δεν πρέπει να είναι κενά."]},{msgid:'Names must not end with "{extension}".',msgstr:['Τα ονόματα δεν πρέπει να τελειώνουν με "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Τα ονόματα δεν πρέπει να ξεκινούν με τελεία."]},{msgid:"New",msgstr:["Νέο"]},{msgid:"New folder",msgstr:["Νέος φάκελος"]},{msgid:"New folder name",msgstr:["Όνομα νέου φακέλου"]},{msgid:"New version",msgstr:["Νέα έκδοση"]},{msgid:"No files in here",msgstr:["Δεν υπάρχουν αρχεία εδώ"]},{msgid:"No files matching your filter were found.",msgstr:["Δεν βρέθηκαν αρχεία που να ταιριάζουν με το φίλτρο σας."]},{msgid:"No matching files",msgstr:["Κανένα αρχείο δεν ταιριάζει"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Παρακαλώ εισάγετε ένα όνομα με τουλάχιστον 2 χαρακτήρες."]},{msgid:"Recent",msgstr:["Πρόσφατα"]},{msgid:"Select all checkboxes",msgstr:["Επιλέξτε όλα τα πλαίσια ελέγχου"]},{msgid:"Select all entries",msgstr:["Επιλογή όλων των καταχωρήσεων"]},{msgid:"Select all existing files",msgstr:["Επιλογή όλων των υπάρχοντων αρχείων"]},{msgid:"Select all new files",msgstr:["Επιλογή όλων των νέων αρχείων"]},{msgid:"Select entry",msgstr:["Επιλογή εγγραφής"]},{msgid:"Select the row for {nodename}",msgstr:["Επιλέξτε τη γραμμή για το {nodename}"]},{msgid:"Size",msgstr:["Μέγεθος"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Παράλειψη ενός αρχείου","Παράλειψη %n αρχείων"]},{msgid:"Skip this file",msgstr:["Παράλειψη αυτού το αρχείου"]},{msgid:"Submit name",msgstr:["Υποβολή ονόματος"]},{msgid:"Undo",msgstr:["Αναίρεση"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Ανεβάστε κάποιο περιεχόμενο ή συγχρονίστε με τις συσκευές σας!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Όταν επιλέγεται ένας φάκελος εισερχομένων, όλα τα αρχεία που βρίσκονται σε σύγκρουση μέσα σε αυτόν θα αντικατασταθούν επίσης."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Όταν επιλέγεται ένας φάκελος εισερχομένων, το περιεχόμενο εγγράφεται στον υπάρχοντα φάκελο και εκτελείται μια αναδρομική επίλυση σύγκρουσης."]},{msgid:"Which files do you want to keep?",msgstr:["Ποια αρχεία θέλετε να διατηρήσετε;"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Αυτή τη στιγμή έχετε αναγνωριστεί ως {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Δεν έχετε ταυτοποιηθεί."]},{msgid:"You cannot leave the name empty.",msgstr:["Δεν μπορείτε να αφήσετε το όνομα κενό."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Πρέπει να επιλέξετε τουλάχιστον μία λύση σύγκρουσης"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Πρέπει να επιλέξετε τουλάχιστον μία έκδοση από κάθε αρχείο για να συνεχίσετε."]}]},{language:"en_GB",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" is not allowed inside a folder name.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" is not allowed inside a name.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" is not an allowed name.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" is a reserved name and cannot be used for folder names.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" is a reserved name and not allowed.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n file conflict","%n files conflict"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n file conflict in {dirname}","%n file conflicts in {dirname}"]},{msgid:"All files",msgstr:["All files"]},{msgid:"Cancel",msgstr:["Cancel"]},{msgid:"Cancel the entire operation",msgstr:["Cancel the entire operation"]},{msgid:"Choose",msgstr:["Choose"]},{msgid:"Choose {file}",msgstr:["Choose {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Choose %n file","Choose %n files"]},{msgid:"Confirm",msgstr:["Confirm"]},{msgid:"Continue",msgstr:["Continue"]},{msgid:"Copy",msgstr:["Copy"]},{msgid:"Copy to {target}",msgstr:["Copy to {target}"]},{msgid:"Could not create the new folder",msgstr:["Could not create the new folder"]},{msgid:"Could not load files settings",msgstr:["Could not load files settings"]},{msgid:"Could not load files views",msgstr:["Could not load files views"]},{msgid:"Create directory",msgstr:["Create directory"]},{msgid:"Current view selector",msgstr:["Current view selector"]},{msgid:"Enter your name",msgstr:["Enter your name"]},{msgid:"Existing version",msgstr:["Existing version"]},{msgid:"Failed to set nickname.",msgstr:["Failed to set nickname."]},{msgid:"Favorites",msgstr:["Favourites"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Files and folders you mark as favourite will show up here."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Files and folders you recently modified will show up here."]},{msgid:"Filter file list",msgstr:["Filter file list"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Folder names must not end with "{extension}".']},{msgid:"Guest identification",msgstr:["Guest identification"]},{msgid:"Home",msgstr:["Home"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["If you select both versions, the incoming file will have a number added to its name."]},{msgid:"Invalid folder name.",msgstr:["Invalid folder name."]},{msgid:"Invalid name.",msgstr:["Invalid name."]},{msgid:"Last modified date unknown",msgstr:["Last modified date unknown"]},{msgid:"Modified",msgstr:["Modified"]},{msgid:"Move",msgstr:["Move"]},{msgid:"Move to {target}",msgstr:["Move to {target}"]},{msgid:"Name",msgstr:["Name"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Names may be at most 64 characters long."]},{msgid:"Names must not be empty.",msgstr:["Names must not be empty."]},{msgid:'Names must not end with "{extension}".',msgstr:['Names must not end with "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Names must not start with a dot."]},{msgid:"New",msgstr:["New"]},{msgid:"New folder",msgstr:["New folder"]},{msgid:"New folder name",msgstr:["New folder name"]},{msgid:"New version",msgstr:["New version"]},{msgid:"No files in here",msgstr:["No files in here"]},{msgid:"No files matching your filter were found.",msgstr:["No files matching your filter were found."]},{msgid:"No matching files",msgstr:["No matching files"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Please enter a name with at least 2 characters."]},{msgid:"Recent",msgstr:["Recent"]},{msgid:"Select all checkboxes",msgstr:["Select all checkboxes"]},{msgid:"Select all entries",msgstr:["Select all entries"]},{msgid:"Select all existing files",msgstr:["Select all existing files"]},{msgid:"Select all new files",msgstr:["Select all new files"]},{msgid:"Select entry",msgstr:["Select entry"]},{msgid:"Select the row for {nodename}",msgstr:["Select the row for {nodename}"]},{msgid:"Size",msgstr:["Size"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Skip %n file","Skip %n files"]},{msgid:"Skip this file",msgstr:["Skip this file"]},{msgid:"Submit name",msgstr:["Submit name"]},{msgid:"Undo",msgstr:["Undo"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Upload some content or sync with your devices!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["When an incoming folder is selected, any conflicting files within it will also be overwritten."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["When an incoming folder is selected, any files within it will also be overwritten."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed."]},{msgid:"Which files do you want to keep?",msgstr:["Which files do you want to keep?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["You are currently identified as {nickname}."]},{msgid:"You are currently not identified.",msgstr:["You are currently not identified."]},{msgid:"You cannot leave the name empty.",msgstr:["You cannot leave the name empty."]},{msgid:"You need to choose at least one conflict solution",msgstr:["You need to choose at least one conflict solution"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["You need to select at least one version of each file to continue."]}]},{language:"es",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" no está permitido dentro de un nombre.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" no es un nombre permitido.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" es un nombre de carpeta no válido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" no es un nombre de carpeta permitido']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" es un nombre reservado y no está permitido.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" no está permitido dentro del nombre de una carpeta.']},{msgid:"All files",msgstr:["Todos los archivos"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Choose",msgstr:["Seleccionar"]},{msgid:"Choose {file}",msgstr:["Seleccionar {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Elige %n archivo","Elige %n archivos","Seleccione %n archivos"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar a {target}"]},{msgid:"Could not create the new folder",msgstr:["No se pudo crear la nueva carpeta"]},{msgid:"Could not load files settings",msgstr:["No se pudieron cargar los ajustes de archivos"]},{msgid:"Could not load files views",msgstr:["No se pudieron cargar las vistas de los archivos"]},{msgid:"Create directory",msgstr:["Crear directorio"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Enter your name",msgstr:["Ingrese su nombre"]},{msgid:"Failed to set nickname.",msgstr:["Fallo al establecer apodo."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Los archivos y carpetas que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Los archivos y carpetas que modificó recientemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar lista de archivos"]},{msgid:"Folder name cannot be empty.",msgstr:["El nombre de la carpeta no puede estar vacío."]},{msgid:"Guest identification",msgstr:["Identificación de invitado"]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"Invalid name.",msgstr:["Nombre inválido."]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nombre"]},{msgid:"Names must not be empty.",msgstr:["Los nombres no deben estar vacíos."]},{msgid:'Names must not end with "{extension}".',msgstr:['Los nombres no deben terminar con "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Los nombres no deben iniciar con un punto."]},{msgid:"New",msgstr:["Nuevo"]},{msgid:"New folder",msgstr:[" Nueva carpeta"]},{msgid:"New folder name",msgstr:["Nuevo nombre de carpeta"]},{msgid:"No files in here",msgstr:["No hay archivos aquí"]},{msgid:"No files matching your filter were found.",msgstr:["No se encontraron archivos que coincidiesen con su filtro."]},{msgid:"No matching files",msgstr:["No hay archivos coincidentes"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Por favor, ingrese un nombre con al menos 2 caracteres."]},{msgid:"Recent",msgstr:["Reciente"]},{msgid:"Select all entries",msgstr:["Seleccionar todas las entradas"]},{msgid:"Select entry",msgstr:["Seleccionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccione la fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Submit name",msgstr:["Enviar nombre"]},{msgid:"Undo",msgstr:["Deshacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Cargue algún contenido o sincronice con sus dispositivos!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Ud. se encuentra identificado actualmente como {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Ud. no se encuentra identificado actualmente."]},{msgid:"You cannot leave the name empty.",msgstr:["No puede dejar el nombre vacío."]}]},{language:"es_AR",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" es un nombre de carpeta inválido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" no es un nombre de carpeta permitido']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" no está permitido en el nombre de una carpeta.']},{msgid:"All files",msgstr:["Todos los archivos"]},{msgid:"Choose",msgstr:["Elegir"]},{msgid:"Choose {file}",msgstr:["Elija {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Elija %n archivo","Elija %n archivos","Elija %n archivos"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar a {target}"]},{msgid:"Could not create the new folder",msgstr:["No se pudo crear la nueva carpeta"]},{msgid:"Could not load files settings",msgstr:["No se pudo cargar la configuración de archivos"]},{msgid:"Could not load files views",msgstr:["No se pudieron cargar las vistas de los archivos"]},{msgid:"Create directory",msgstr:["Crear directorio"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Los archivos y carpetas que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Los archivos y carpetas que modificó recientemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar lista de archivos"]},{msgid:"Folder name cannot be empty.",msgstr:["El nombre de la carpeta no puede estar vacío."]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nombre"]},{msgid:"New",msgstr:["Nuevo"]},{msgid:"New folder",msgstr:["Nueva carpeta"]},{msgid:"New folder name",msgstr:["Nombre de nueva carpeta"]},{msgid:"No files in here",msgstr:["No hay archivos aquí"]},{msgid:"No files matching your filter were found.",msgstr:["No se encontraron archivos que coincidan con su filtro."]},{msgid:"No matching files",msgstr:["No hay archivos coincidentes"]},{msgid:"Recent",msgstr:["Reciente"]},{msgid:"Select all entries",msgstr:["Seleccionar todas las entradas"]},{msgid:"Select entry",msgstr:["Seleccionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccione la fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Undo",msgstr:["Deshacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Cargue algún contenido o sincronice con sus dispositivos!"]}]},{language:"es_MX",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" no está permitido dentro de un nombre de carpeta']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" no está permitido dentro de un nombre']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" no es un nombre permitido']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" es un nombre reservado y no está permitido para nombres de carpetas']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" es un nombre reservado y no está permitido']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n conflicto de archivo","%n conflicto de archivos","%n conflicto de archivos"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n conflicto de archivo en {dirname}","%n conflictos de archivo en {dirname}","%n conflictos de archivo en {dirname}"]},{msgid:"All files",msgstr:["Todos los archivos"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Cancel the entire operation",msgstr:["Cancelar la operación completa"]},{msgid:"Choose",msgstr:["Seleccionar"]},{msgid:"Choose {file}",msgstr:["Seleccionar {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Seleccionar %n archivo","Seleccionar %n archivos","Seleccionar %n archivos"]},{msgid:"Confirm",msgstr:["Confirmar"]},{msgid:"Continue",msgstr:["Continuar"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar a {target}"]},{msgid:"Could not create the new folder",msgstr:["No se pudo crear la nueva carpeta"]},{msgid:"Could not load files settings",msgstr:["No se pudo cargar la configuración de archivos"]},{msgid:"Could not load files views",msgstr:["No se pudieron cargar las vistas de los archivos"]},{msgid:"Create directory",msgstr:["Crear carpeta"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Enter your name",msgstr:["Ingresa tu nombre"]},{msgid:"Existing version",msgstr:["Versión existente"]},{msgid:"Failed to set nickname.",msgstr:["No se pudo establecer el nickname"]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Los archivos y carpetas que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Los archivos y carpetas que modificó recientemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar lista de archivos"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Los nombres para carpeta no deben terminar con "{extension}"']},{msgid:"Guest identification",msgstr:["Identificación de invitado"]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Si seleccionas ambas versiones, se le agregará al archivo que se está descargando, un número a su nombre."]},{msgid:"Invalid folder name.",msgstr:["Nombre de carpeta no válido"]},{msgid:"Invalid name.",msgstr:["Nombre no válido"]},{msgid:"Last modified date unknown",msgstr:["Última fecha de modificación desconocida"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nombre"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Los nombres pueden tener como máximo 64 caracteres."]},{msgid:"Names must not be empty.",msgstr:["Los nombres no deben estar vacíos."]},{msgid:'Names must not end with "{extension}".',msgstr:['Los nombres no deben terminar con "{extension}"']},{msgid:"Names must not start with a dot.",msgstr:["Los nombres no deben comenzar con un punto."]},{msgid:"New",msgstr:["Nuevo"]},{msgid:"New folder",msgstr:["Nueva carpeta"]},{msgid:"New folder name",msgstr:["Nombre de nueva carpeta"]},{msgid:"New version",msgstr:["Versión nueva"]},{msgid:"No files in here",msgstr:["No hay archivos aquí"]},{msgid:"No files matching your filter were found.",msgstr:["No se encontraron archivos que coincidan con su filtro."]},{msgid:"No matching files",msgstr:["No hay archivos coincidentes"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Por favor ingrese un nombre con al menos 2 caracteres."]},{msgid:"Recent",msgstr:["Reciente"]},{msgid:"Select all checkboxes",msgstr:["Seleccione todas las casillas de verificación"]},{msgid:"Select all entries",msgstr:["Seleccionar todas las entradas"]},{msgid:"Select all existing files",msgstr:["Seleccione todos los archivos que aparecen"]},{msgid:"Select all new files",msgstr:["Seleccione todos los archivos nuevos"]},{msgid:"Select entry",msgstr:["Seleccionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccione la fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Omitir %n archivo","Omitir %n archivos","Omitir %n archivos"]},{msgid:"Skip this file",msgstr:["Omitir este archivo"]},{msgid:"Submit name",msgstr:["Enviar nombre"]},{msgid:"Undo",msgstr:["Deshacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Suba algún contenido o sincronice con sus dispositivos!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Cuando se selecciona una carpeta en descarga, cualquier archivo conflictivo que contenga también se sobrescribirá."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Cuando se selecciona una carpeta en descarga, el contenido se escribe en la carpeta existente y se realiza una resolución de conflicto recursiva."]},{msgid:"Which files do you want to keep?",msgstr:["¿Qué archivos deseas conservar?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Actualmente estás identificado como {nickname}"]},{msgid:"You are currently not identified.",msgstr:["No estás identificado actualmente."]},{msgid:"You cannot leave the name empty.",msgstr:["No puedes dejar el nombre vacío."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Necesitas elegir al menos una solución al conflicto."]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Necesitas seleccionar al menos una versión de cada archivo para continuar."]}]},{language:"et_EE",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["„{char}“ pole kausta nimes lubatud."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}“ pole nimes lubatud."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}“ pole lubatud nimi."]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["„{segment}“ on reserveeritud nimi ja pole kausta nimes lubatud."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}“ on reserveeritud nimi ja pole kasutamiseks lubatud."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fail on vastuolus","%n faili on omavahel vastuolus"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n fail on {dirname} kaustas vastuolus","%n faili on omavahel {dirname} kaustas vastuolus"]},{msgid:"All files",msgstr:["Kõik failid"]},{msgid:"Cancel",msgstr:["Katkesta"]},{msgid:"Cancel the entire operation",msgstr:["Katkesta kogu tegevus"]},{msgid:"Choose",msgstr:["Tee valik"]},{msgid:"Choose {file}",msgstr:["Vali {file} fail"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Vali %n fail","Vali %n faili"]},{msgid:"Confirm",msgstr:["Kinnita"]},{msgid:"Continue",msgstr:["Jätka"]},{msgid:"Copy",msgstr:["Kopeeri"]},{msgid:"Copy to {target}",msgstr:["Kopeeri sihtkohta „{target}“"]},{msgid:"Could not create the new folder",msgstr:["Uue kausta loomine ei õnnestunud"]},{msgid:"Could not load files settings",msgstr:["Failide seadistusi ei õnnestunud laadida"]},{msgid:"Could not load files views",msgstr:["Failide vaatamiskordi ei õnnestunud laadida"]},{msgid:"Create directory",msgstr:["Loo kaust"]},{msgid:"Current view selector",msgstr:["Praeguse vaate valija"]},{msgid:"Enter your name",msgstr:["Sisesta oma nimi"]},{msgid:"Existing version",msgstr:["Olemasolev versioon"]},{msgid:"Failed to set nickname.",msgstr:["Hüüdnime sisestamine ei õnnestunud."]},{msgid:"Favorites",msgstr:["Lemmikud"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Failid ja kaustad, mida märgid lemmikuks, kuvatakse siin."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Siin kuvatakse hiljuti muudetud failid ja kaustad."]},{msgid:"Filter file list",msgstr:["Filtreeri faililoendit"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["Kausta nime lõpus ei tohi olla „{extension}“."]},{msgid:"Guest identification",msgstr:["Külalise tuvastamine"]},{msgid:"Home",msgstr:["Avaleht"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Kui valid mõlemad versioonid, siis uue faili nimele lisatakse number."]},{msgid:"Invalid folder name.",msgstr:["Vigane kausta nimi."]},{msgid:"Invalid name.",msgstr:["Vigane nimi."]},{msgid:"Last modified date unknown",msgstr:["Viimase muutmise kuupäev pole teada"]},{msgid:"Modified",msgstr:["Muudetud"]},{msgid:"Move",msgstr:["Teisalda"]},{msgid:"Move to {target}",msgstr:["Teisalda kausta „{target}“"]},{msgid:"Name",msgstr:["Nimi"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Nimed võivad olla vaid kuni 64 tähemärki pikad."]},{msgid:"Names must not be empty.",msgstr:["Nimi ei saa olla tühi."]},{msgid:'Names must not end with "{extension}".',msgstr:["Nime lõpus ei tohi olla „{extension}“."]},{msgid:"Names must not start with a dot.",msgstr:["Nime alguses ei tohi olla punkti."]},{msgid:"New",msgstr:["Uus"]},{msgid:"New folder",msgstr:["Uus kaust"]},{msgid:"New folder name",msgstr:["Uue kausta nimi"]},{msgid:"New version",msgstr:["Uus versioon"]},{msgid:"No files in here",msgstr:["Siin pole faile"]},{msgid:"No files matching your filter were found.",msgstr:["Sinu filtrile vastavaid faile ei leidunud."]},{msgid:"No matching files",msgstr:["Puuduvad sobivad failid"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Palun sisesta vähemalt 2 tähemärki pikk nimi."]},{msgid:"Recent",msgstr:["Hiljutine"]},{msgid:"Select all checkboxes",msgstr:["Vali kõik märkeruudud"]},{msgid:"Select all entries",msgstr:["Vali kõik kirjed"]},{msgid:"Select all existing files",msgstr:["Vali kõik olemasolevad failid"]},{msgid:"Select all new files",msgstr:["Vali kõik uued failid"]},{msgid:"Select entry",msgstr:["Vali kirje"]},{msgid:"Select the row for {nodename}",msgstr:["Vali rida „{nodename}“ jaoks"]},{msgid:"Size",msgstr:["Suurus"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Jäta %n fail vahele","Jäta %n faili vahele"]},{msgid:"Skip this file",msgstr:["Jäta see fail vahele"]},{msgid:"Submit name",msgstr:["Lisa nimi"]},{msgid:"Undo",msgstr:["Tühista"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Lisa mingit sisu või sünkrooni see oma seadmetest!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Kui uute failide kaust on valitud, siis kõik seal leiduvad vastuolus failid saavad üle kirjutatud."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Kui uute (saabuvate) failide kaust on valitud, siis kõik seal leiduvad failid saavad samuti üle kirjutatud."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Kui uute failide kaust on valitud, siis sisu kirjutatakse olemasolevasse kausta ja korraldatakse rekursiivne failikonfliktide lahendamine."]},{msgid:"Which files do you want to keep?",msgstr:["Missugused failid tahaksid alles jätta?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Sa oled hetkel tuvastatav kui {nickname}.."]},{msgid:"You are currently not identified.",msgstr:["Sa oled hetkel tuvastamata."]},{msgid:"You cannot leave the name empty.",msgstr:["Sa ei saa jätta nime tühjaks."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Sa pead valima vähemalt ühe failikonflikti lahenduse."]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Jätkamaks pead valima igast failist vähemalt ühe versiooni."]}]},{language:"fa",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} نام پوشه معتبر نیست"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} نام پوشه مجاز نیست"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" نمی‌تواند در نام پوشه استفاده شود.']},{msgid:"All files",msgstr:["همه فایل‌ها"]},{msgid:"Cancel",msgstr:["لغو"]},{msgid:"Choose",msgstr:["انتخاب"]},{msgid:"Choose {file}",msgstr:["انتخاب {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["انتخاب %n فایل","انتخاب %n فایل"]},{msgid:"Copy",msgstr:["رونوشت"]},{msgid:"Copy to {target}",msgstr:["رونوشت از {target}"]},{msgid:"Could not create the new folder",msgstr:["پوشه جدید ایجاد نشد"]},{msgid:"Could not load files settings",msgstr:["تنظیمات فایل باز نشد"]},{msgid:"Could not load files views",msgstr:["نمای فایل‌ها بارگیری نشد"]},{msgid:"Create directory",msgstr:["ایجاد فهرست"]},{msgid:"Current view selector",msgstr:["انتخابگر نماگر فعلی"]},{msgid:"Enter your name",msgstr:["نام خود را وارد کنید"]},{msgid:"Failed to set nickname.",msgstr:["تنظیم نام مستعار ناموفق بود."]},{msgid:"Favorites",msgstr:["علایق"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["فایل‌ها و پوشه‌هایی که به‌عنوان مورد علاقه علامت‌گذاری می‌کنید در اینجا نشان داده می‌شوند."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["فایل‌ها و پوشه‌هایی که اخیراً تغییر داده‌اید در اینجا نمایش داده می‌شوند."]},{msgid:"Filter file list",msgstr:["فیلتر لیست فایل"]},{msgid:"Folder name cannot be empty.",msgstr:["نام پوشه نمی تواند خالی باشد."]},{msgid:"Guest identification",msgstr:["شناسایی مهمان"]},{msgid:"Home",msgstr:["خانه"]},{msgid:"Modified",msgstr:["اصلاح شده"]},{msgid:"Move",msgstr:["انتقال"]},{msgid:"Move to {target}",msgstr:["انتقال به {target}"]},{msgid:"Name",msgstr:["نام"]},{msgid:"New",msgstr:["جدید"]},{msgid:"New folder",msgstr:["پوشه جدید"]},{msgid:"New folder name",msgstr:["نام پوشه جدید"]},{msgid:"No files in here",msgstr:["فایلی اینجا نیست"]},{msgid:"No files matching your filter were found.",msgstr:["هیچ فایلی مطابق با فیلتر شما یافت نشد."]},{msgid:"No matching files",msgstr:["فایل منطبقی وجود ندارد"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["لطفاً نامی با حداقل ۲ کاراکتر وارد کنید."]},{msgid:"Recent",msgstr:["اخیر"]},{msgid:"Select all entries",msgstr:["انتخاب همه ورودی ها"]},{msgid:"Select entry",msgstr:["انتخاب ورودی"]},{msgid:"Select the row for {nodename}",msgstr:["انتخاب ردیف برای {nodename}"]},{msgid:"Size",msgstr:["اندازه"]},{msgid:"Submit name",msgstr:["ارسال نام"]},{msgid:"Undo",msgstr:["بازگردانی"]},{msgid:"Upload some content or sync with your devices!",msgstr:["مقداری محتوا آپلود کنید یا با دستگاه های خود همگام سازی کنید!"]},{msgid:"You are currently not identified.",msgstr:["شما در حال حاضر شناسایی نشده‌اید."]},{msgid:"You cannot leave the name empty.",msgstr:["نمی‌توانید نام را خالی بگذارید."]}]},{language:"fi_FI",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" ei ole sallittu nimessä.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ei ole sallittu nimi.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" on virheellinen kansion nimi.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" ei ole sallittu kansion nimi']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" on varattu nimi eikä se ole sallittu.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ei ole sallittu kansion nimessä.']},{msgid:"All files",msgstr:["Kaikki tiedostot"]},{msgid:"Cancel",msgstr:["Peruuta"]},{msgid:"Choose",msgstr:["Valitse"]},{msgid:"Choose {file}",msgstr:["Valitse {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Valitse %n tiedosto","Valitse %n tiedostoa"]},{msgid:"Copy",msgstr:["Kopioi"]},{msgid:"Copy to {target}",msgstr:["Kopioi sijaintiin {target}"]},{msgid:"Could not create the new folder",msgstr:["Uutta kansiota ei voitu luoda"]},{msgid:"Could not load files settings",msgstr:["Tiedoston asetuksia ei saa ladattua"]},{msgid:"Could not load files views",msgstr:["Tiedoston näkymiä ei saa ladattua"]},{msgid:"Create directory",msgstr:["Luo kansio"]},{msgid:"Current view selector",msgstr:["Nykyisen näkymän valinta"]},{msgid:"Enter your name",msgstr:["Kirjoita nimesi"]},{msgid:"Failed to set nickname.",msgstr:["Kutsumanimen asettaminen epäonnistui."]},{msgid:"Favorites",msgstr:["Suosikit"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tiedostot ja kansiot, jotka merkitset suosikkeihisi, näkyvät täällä."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Tiedostot ja kansiot, joita muokkasit äskettäin, näkyvät täällä."]},{msgid:"Filter file list",msgstr:["Suodata tiedostolistaa"]},{msgid:"Folder name cannot be empty.",msgstr:["Kansion nimi ei voi olla tyhjä."]},{msgid:"Guest identification",msgstr:["Vieraan tunnistaminen"]},{msgid:"Home",msgstr:["Koti"]},{msgid:"Invalid name.",msgstr:["Virheellinen nimi."]},{msgid:"Modified",msgstr:["Muokattu"]},{msgid:"Move",msgstr:["Siirrä"]},{msgid:"Move to {target}",msgstr:["Siirrä sijaintiin {target}"]},{msgid:"Name",msgstr:["Nimi"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Nimissä voi olla enintään 64 merkkiä."]},{msgid:"Names must not be empty.",msgstr:["Nimet eivät saa olla tyhjiä."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nimet eivät saa päättyä sanaan "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nimet eivät saa alkaa pisteellä."]},{msgid:"New",msgstr:["Uusi"]},{msgid:"New folder",msgstr:["Uusi kansio"]},{msgid:"New folder name",msgstr:["Uuden kansion nimi"]},{msgid:"No files in here",msgstr:["Täällä ei ole tiedostoja"]},{msgid:"No files matching your filter were found.",msgstr:["Suodatinta vastaavia tiedostoja ei löytynyt."]},{msgid:"No matching files",msgstr:["Ei vastaavia tiedostoja"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Kirjoita vähintään kaksi merkkiä sisältävä nimi."]},{msgid:"Recent",msgstr:["Viimeisimmät"]},{msgid:"Select all entries",msgstr:["Valitse kaikki tietueet"]},{msgid:"Select entry",msgstr:["Valitse tietue"]},{msgid:"Select the row for {nodename}",msgstr:["Valitse rivi {nodename}:lle"]},{msgid:"Size",msgstr:["Koko"]},{msgid:"Submit name",msgstr:["Lähetä nimi"]},{msgid:"Undo",msgstr:["Kumoa"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Lähetä jotain sisältöä tai synkronoi laitteidesi kanssa!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Sinut tunnetaan tällä hetkellä nimellä {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Sinua ei ole tunnistettu."]},{msgid:"You cannot leave the name empty.",msgstr:["Nimeä ei voi jättää tyhjäksi."]}]},{language:"fr",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:[`"{char}" n'est pas autorisé dans un nom de dossier.`]},{msgid:'"{char}" is not allowed inside a name.',msgstr:[`"{char}" n'est pas autorisé dans un nom.`]},{msgid:'"{extension}" is not an allowed name.',msgstr:[`"{extension}" n'est pas un nom autorisé.`]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:[`"{segment}" est un nom réservé et n'est pas autorisé pour un nom de dossier.`]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:[`"{segment}" est un nom réservé et n'est pas autorisé.`]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n conflit de fichier","%n conflit de fichiers","%n conflit de fichiers"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%nconflit de fichier dans {dirname}","%n conflit de fichiers dans {dirname}","%nconflit de fichiers dans {dirname}"]},{msgid:"All files",msgstr:["Tous les fichiers"]},{msgid:"Cancel",msgstr:["Annuler"]},{msgid:"Cancel the entire operation",msgstr:["Tout annuler "]},{msgid:"Choose",msgstr:["Choisir"]},{msgid:"Choose {file}",msgstr:["Choisir {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Choisir %n fichier","Choisir %n fichiers","Choisir %n fichiers "]},{msgid:"Confirm",msgstr:["Confirmer"]},{msgid:"Continue",msgstr:["Continuer"]},{msgid:"Copy",msgstr:["Copier"]},{msgid:"Copy to {target}",msgstr:["Copier vers {target}"]},{msgid:"Could not create the new folder",msgstr:["Impossible de créer le nouveau dossier"]},{msgid:"Could not load files settings",msgstr:["Les paramètres des fichiers n'ont pas pu être chargés"]},{msgid:"Could not load files views",msgstr:["Impossible de charger les vues des fichiers"]},{msgid:"Create directory",msgstr:["Créer un répertoire"]},{msgid:"Current view selector",msgstr:["Sélecteur d'affichage actuel"]},{msgid:"Enter your name",msgstr:["Entrez votre nom"]},{msgid:"Existing version",msgstr:["Version actuelle "]},{msgid:"Failed to set nickname.",msgstr:["Échec de définition du surnom."]},{msgid:"Favorites",msgstr:["Favoris"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Les fichiers et répertoires marqués en favoris apparaîtront ici."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Les fichiers et répertoires modifiés récemment apparaîtront ici."]},{msgid:"Filter file list",msgstr:["Filtrer la liste des fichiers"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Les noms de dossiers ne doivent pas se terminer par "{extension}".']},{msgid:"Guest identification",msgstr:["Identification d'invité"]},{msgid:"Home",msgstr:["Accueil"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Si vous conservez les deux versions, le fichier reçu sera renommé avec un numéro."]},{msgid:"Invalid folder name.",msgstr:["Nom de dossier invalide."]},{msgid:"Invalid name.",msgstr:["Nom invalide."]},{msgid:"Last modified date unknown",msgstr:["Date de modification inconnue"]},{msgid:"Modified",msgstr:["Modifié"]},{msgid:"Move",msgstr:["Déplacer"]},{msgid:"Move to {target}",msgstr:["Déplacer vers {target}"]},{msgid:"Name",msgstr:["Nom"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Les noms peuvent comporter au maximum 64 caractères."]},{msgid:"Names must not be empty.",msgstr:["Les noms ne peuvent pas être vides."]},{msgid:'Names must not end with "{extension}".',msgstr:['Les noms ne doivent pas se terminer par "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Les noms ne peuvent pas commencer par un point."]},{msgid:"New",msgstr:["Nouveau"]},{msgid:"New folder",msgstr:["Nouveau dossier"]},{msgid:"New folder name",msgstr:["Nom du nouveau dossier"]},{msgid:"New version",msgstr:["Nouvelle version"]},{msgid:"No files in here",msgstr:["Aucun fichier ici"]},{msgid:"No files matching your filter were found.",msgstr:["Aucun fichier trouvé correspondant à votre filtre."]},{msgid:"No matching files",msgstr:["Aucun fichier correspondant"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Veuillez entrer un nom avec au moins 2 caractères."]},{msgid:"Recent",msgstr:["Récents"]},{msgid:"Select all checkboxes",msgstr:["Sélectionner toutes les cases à cocher"]},{msgid:"Select all entries",msgstr:["Tout sélectionner"]},{msgid:"Select all existing files",msgstr:["Sélectionner tous les fichiers existants"]},{msgid:"Select all new files",msgstr:["Sélectionner tous les nouveaux fichiers"]},{msgid:"Select entry",msgstr:["Sélectionner une entrée"]},{msgid:"Select the row for {nodename}",msgstr:["Sélectionner la ligne correspondant à {nodename}"]},{msgid:"Size",msgstr:["Taille"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Ignorer %n fichier","Ignorer %n fichiers ","Ignorer %n fichiers "]},{msgid:"Skip this file",msgstr:["Ignorer ce fichier"]},{msgid:"Submit name",msgstr:["Envoyer le nom"]},{msgid:"Undo",msgstr:["Annuler"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Chargez du contenu ou synchronisez avec vos équipements !"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["En sélectionnant un dossier entrant, les fichiers en conflit qu’il contient seront automatiquement écrasés."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Suite à la sélection d'un dossier en entrée, tout fichier présent dans ce dossier sera alors écrasé. "]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Lorsque vous sélectionnez un dossier entrant, son contenu est ajouté au dossier existant et les conflits sont résolus automatiquement."]},{msgid:"Which files do you want to keep?",msgstr:["Quels fichiers souhaitez-vous conserver ?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Vous êtes actuellement identifié comme {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Vous n'êtes pas identifié actuellement."]},{msgid:"You cannot leave the name empty.",msgstr:["Vous ne pouvez pas laisser le nom vide."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Vous devez choisir au moins une option pour résoudre le conflit"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Sélectionnez au moins une version de chaque fichier pour continuer."]}]},{language:"ga",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:[`Ní cheadaítear "{char}" laistigh d'ainm fillteáin.`]},{msgid:'"{char}" is not allowed inside a name.',msgstr:[`Ní cheadaítear "{char}" laistigh d'ainm.`]},{msgid:'"{extension}" is not an allowed name.',msgstr:['Ní ainm ceadaithe é "{extension}".']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:[`Is ainm curtha in áirithe é "{segment}" agus ní cheadaítear é d'ainmneacha fillteán.`]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['Is ainm curtha in áirithe é "{segment}" agus ní cheadaítear é.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n coimhlint comhaid","%n coimhlint comhad","%n coimhlint comhad","%n coimhlint comhad","%n coimhlint comhad"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n coimhlint comhaid i {dirname}","%n coimhlintí comhaid i {dirname}","%n coimhlintí comhaid i {dirname}","%n coimhlintí comhaid i {dirname}","%n coimhlintí comhaid i {dirname}"]},{msgid:"All files",msgstr:["Gach comhad"]},{msgid:"Cancel",msgstr:["Cealaigh"]},{msgid:"Cancel the entire operation",msgstr:["Cealaigh an oibríocht ar fad"]},{msgid:"Choose",msgstr:["Roghnaigh"]},{msgid:"Choose {file}",msgstr:["Roghnaigh {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Roghnaigh %n comhad","Roghnaigh %n comhaid","Roghnaigh %n comhaid","Roghnaigh %n comhaid","Roghnaigh %n comhaid"]},{msgid:"Confirm",msgstr:["Deimhnigh"]},{msgid:"Continue",msgstr:["Lean ar aghaidh"]},{msgid:"Copy",msgstr:["Cóip"]},{msgid:"Copy to {target}",msgstr:["Cóipeáil chuig {target}"]},{msgid:"Could not create the new folder",msgstr:["Níorbh fhéidir an fillteán nua a chruthú"]},{msgid:"Could not load files settings",msgstr:["Níorbh fhéidir socruithe comhaid a lódáil"]},{msgid:"Could not load files views",msgstr:["Níorbh fhéidir radhairc comhad a lódáil"]},{msgid:"Create directory",msgstr:["Cruthaigh eolaire"]},{msgid:"Current view selector",msgstr:["Roghnóir amhairc reatha"]},{msgid:"Enter your name",msgstr:["Cuir isteach d'ainm"]},{msgid:"Existing version",msgstr:["Leagan atá ann cheana féin"]},{msgid:"Failed to set nickname.",msgstr:["Theip ar leasainm a shocrú."]},{msgid:"Favorites",msgstr:["Ceanáin"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Taispeánfar comhaid agus fillteáin a mharcálann tú mar is fearr leat anseo."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Taispeánfar comhaid agus fillteáin a d'athraigh tú le déanaí anseo."]},{msgid:"Filter file list",msgstr:["Scag liosta comhad"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Ní féidir ainmneacha fillteán a chríochnú le "{extension}".']},{msgid:"Guest identification",msgstr:["Aitheantas aoi"]},{msgid:"Home",msgstr:["Baile"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Má roghnaíonn tú an dá leagan, cuirfear uimhir le hainm an chomhaid atá ag teacht isteach."]},{msgid:"Invalid folder name.",msgstr:["Ainm fillteáin neamhbhailí."]},{msgid:"Invalid name.",msgstr:["Ainm neamhbhailí."]},{msgid:"Last modified date unknown",msgstr:["Dáta an athraithe dheireanaigh anaithnid"]},{msgid:"Modified",msgstr:["Athraithe"]},{msgid:"Move",msgstr:["Bog"]},{msgid:"Move to {target}",msgstr:["Bog go{target}"]},{msgid:"Name",msgstr:["Ainm"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Ní fhéadfaidh ainmneacha a bheith níos mó ná 64 carachtar ar fhad."]},{msgid:"Names must not be empty.",msgstr:["Ní féidir ainmneacha a bheith folamh."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ní féidir ainmneacha a chríochnú le "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Ní mór ainmneacha a bheith ag tosú le ponc."]},{msgid:"New",msgstr:["Nua"]},{msgid:"New folder",msgstr:["Fillteán nua"]},{msgid:"New folder name",msgstr:["Ainm fillteáin nua"]},{msgid:"New version",msgstr:["Leagan nua"]},{msgid:"No files in here",msgstr:["Níl aon chomhaid istigh anseo"]},{msgid:"No files matching your filter were found.",msgstr:["Níor aimsíodh aon chomhad a tháinig le do scagaire."]},{msgid:"No matching files",msgstr:["Gan comhaid meaitseála"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Cuir isteach ainm ina bhfuil 2 charachtar ar a laghad."]},{msgid:"Recent",msgstr:["le déanaí"]},{msgid:"Select all checkboxes",msgstr:["Roghnaigh na boscaí seiceála go léir"]},{msgid:"Select all entries",msgstr:["Roghnaigh gach iontráil"]},{msgid:"Select all existing files",msgstr:["Roghnaigh na comhaid uile atá ann cheana"]},{msgid:"Select all new files",msgstr:["Roghnaigh gach comhad nua"]},{msgid:"Select entry",msgstr:["Roghnaigh iontráil"]},{msgid:"Select the row for {nodename}",msgstr:["Roghnaigh an ró do {nodename}"]},{msgid:"Size",msgstr:["Méid"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Léim %n comhad","Léim %n comhaid","Léim %n comhaid","Léim %n comhaid","Léim %n comhaid"]},{msgid:"Skip this file",msgstr:["Scipeáil an comhad seo"]},{msgid:"Submit name",msgstr:["Cuir isteach ainm"]},{msgid:"Undo",msgstr:["Cealaigh"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Uaslódáil roinnt ábhair nó sioncronaigh le do ghléasanna!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Nuair a roghnaítear fillteán isteach, déanfar aon chomhaid choimhlinteacha ann a athscríobh freisin."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Nuair a roghnaítear fillteán isteach, déanfar aon chomhaid laistigh de a athscríobh freisin."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Nuair a roghnaítear fillteán isteach, scríobhtar an t-ábhar isteach sa fhillteán atá ann cheana féin agus déantar réiteach coinbhleachta athchúrsach."]},{msgid:"Which files do you want to keep?",msgstr:["Cé na comhaid ar mhaith leat a choinneáil?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Is é {nickname} an ainm atá ort faoi láthair."]},{msgid:"You are currently not identified.",msgstr:["Níl aitheantas tugtha duit faoi láthair."]},{msgid:"You cannot leave the name empty.",msgstr:["Ní féidir leat an t-ainm a fhágáil folamh."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Ní mór duit réiteach coinbhleachta amháin ar a laghad a roghnú"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Ní mór duit leagan amháin ar a laghad de gach comhad a roghnú le leanúint ar aghaidh."]}]},{language:"gl",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["«{char}» non está permitido no nome dun cartafol."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:["«{char}» non está permitido dentro dun nome."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["«{extension}» non é un nome permitido."]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["«{segment}» é un nome reservado e non está permitido para nomes de cartafoles."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["«{segment}» é un nome reservado e non está permitido."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n ficheiro en conflito","%n ficheiros en conflito"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n ficheiro en conflito en {dirname}","%n ficheiros en conflito en {dirname}"]},{msgid:"All files",msgstr:["Todos os ficheiros"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Cancel the entire operation",msgstr:["Cancelar toda a operación"]},{msgid:"Choose",msgstr:["Escoller"]},{msgid:"Choose {file}",msgstr:["Escoller {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escoller %n ficheiro","Escoller %n ficheiros"]},{msgid:"Confirm",msgstr:["Confirmar"]},{msgid:"Continue",msgstr:["Continuar"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar en {target}"]},{msgid:"Could not create the new folder",msgstr:["Non foi posíbel crear o novo cartafol"]},{msgid:"Could not load files settings",msgstr:["Non foi posíbel cargar os axustes dos ficheiros"]},{msgid:"Could not load files views",msgstr:["Non foi posíbel cargar as vistas dos ficheiros"]},{msgid:"Create directory",msgstr:["Crear un directorio"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Enter your name",msgstr:["Introduza o seu nome"]},{msgid:"Existing version",msgstr:["Versión existente"]},{msgid:"Failed to set nickname.",msgstr:["Produciuse un fallo ao definir o alcume."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os ficheiros e cartafoles que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Os ficheiros e cartafoles que modificou recentemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar a lista de ficheiros"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["Os nomes de cartafol non deben rematar en «{extension}»."]},{msgid:"Guest identification",msgstr:["Identificación do convidado"]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro entrante terá un número engadido ao seu nome."]},{msgid:"Invalid folder name.",msgstr:["O nome de cartafol non é válido."]},{msgid:"Invalid name.",msgstr:["Nome incorrecto"]},{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover cara a {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Os nomes poden ter unha lonxitude máxima de 64 caracteres."]},{msgid:"Names must not be empty.",msgstr:["Os nomes non deben estar baleiros."]},{msgid:'Names must not end with "{extension}".',msgstr:["Os nomes non deben rematar en «{extension}»."]},{msgid:"Names must not start with a dot.",msgstr:["Os nomes non deben comezar cun punto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Novo cartafol"]},{msgid:"New folder name",msgstr:["Novo nome do cartafol"]},{msgid:"New version",msgstr:["Nova versión"]},{msgid:"No files in here",msgstr:["Aquí non hai ficheiros"]},{msgid:"No files matching your filter were found.",msgstr:["Non se atopou ningún ficheiro que coincida co filtro."]},{msgid:"No matching files",msgstr:["Non hai ficheiros coincidentes"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Introduza un nome con polo menos 2 caracteres."]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all checkboxes",msgstr:["Seleccionar todas as caixas"]},{msgid:"Select all entries",msgstr:["Seleccionar todas as entradas"]},{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},{msgid:"Select entry",msgstr:["Seleccionar a entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccionar a fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Omitir %n ficheiro","Omitir %n ficheiros"]},{msgid:"Skip this file",msgstr:["Omitir este ficheiro"]},{msgid:"Submit name",msgstr:["Enviar o nome"]},{msgid:"Undo",msgstr:["Desfacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Enviar algún contido ou sincronizalo cos seus dispositivos!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Cando se selecciona un cartafol entrante, todos os ficheiros conflitivos dentro dela tamén serán sobrescritos."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Cando se selecciona un cartafol entrante, o contido escríbese no cartafol existente e realízase unha resolución recursiva de conflitos."]},{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Vde. está identificado actualmente como {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Vde. non está identificado actualmente."]},{msgid:"You cannot leave the name empty.",msgstr:["Vde. non pode deixar o nome baleiro."]},{msgid:"You need to choose at least one conflict solution",msgstr:["É necesario escoller polo menos unha solución de conflito"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["É necesario seleccionar polo menos unha versión de cada ficheiro para continuar."]}]},{language:"hr",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["Znak „{char}” nije dopušten u nazivu mape."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:["Znak „{char}” nije dopušten u nazivu."]},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" nije dopušten u nazivu.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" je rezervirana riječ i nije dopušten u nazivu mape.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" je rezervirana riječ i nije dopušten.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["Sukobljava se %n datoteka","Sukobljava se %n datoteke","Sukobljava se %n datoteke"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n sukob datoteka u {dirname}","%n sukoba datoteka u {dirname}","%n sukoba datoteka u {dirname}"]},{msgid:"All files",msgstr:["Sve datoteke"]},{msgid:"Cancel",msgstr:["Odustani"]},{msgid:"Cancel the entire operation",msgstr:["Odustani od cijele operacije"]},{msgid:"Choose",msgstr:["Odaberi"]},{msgid:"Choose {file}",msgstr:["Odaberi {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Odaberi %n datoteku","Odaberi %n datoteka","Odaberi %n datoteke"]},{msgid:"Confirm",msgstr:["Potvrdi"]},{msgid:"Continue",msgstr:["Nastavi"]},{msgid:"Copy",msgstr:["Kopiraj"]},{msgid:"Copy to {target}",msgstr:["Kopiraj u {target}"]},{msgid:"Could not create the new folder",msgstr:["Nije moguće stvoriti novu mapu"]},{msgid:"Could not load files settings",msgstr:["Nije moguće učitati postavke datoteka"]},{msgid:"Could not load files views",msgstr:["Nije moguće učitati prikaze datoteka"]},{msgid:"Create directory",msgstr:["Stvori mapu"]},{msgid:"Current view selector",msgstr:["Odabir trenutačnog prikaza"]},{msgid:"Enter your name",msgstr:["Unesite vaše ime"]},{msgid:"Existing version",msgstr:["Postojeća verzija"]},{msgid:"Failed to set nickname.",msgstr:["Neuspjelo postavljanje nadimka."]},{msgid:"Favorites",msgstr:["Favoriti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Ovdje se prikazuju datoteke i mape koje ste označili kao favoriti."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Ovdje se prikazuju datoteke i mape koje ste nedavno ažurirali."]},{msgid:"Filter file list",msgstr:["Filtriranje liste datoteka"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Nazivi mapa ne smiju završiti sa "{extension}".']},{msgid:"Guest identification",msgstr:["Identifikacija gosta"]},{msgid:"Home",msgstr:["Naslovna"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Ako odaberete obje verzije, dolaznoj datoteci bit će dodan broj u nazivu."]},{msgid:"Invalid folder name.",msgstr:["Neispavan naziv mape."]},{msgid:"Invalid name.",msgstr:["Neispravan naziv."]},{msgid:"Last modified date unknown",msgstr:["Nepoznat datum zadnjeg ažuriranja"]},{msgid:"Modified",msgstr:["Ažurirano"]},{msgid:"Move",msgstr:["Premjesti"]},{msgid:"Move to {target}",msgstr:["Premjesti u {target}"]},{msgid:"Name",msgstr:["Naziv"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Nazivi mogu imati najviše 64 znaka."]},{msgid:"Names must not be empty.",msgstr:["Nazivi ne smiju biti prazni."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nazivi ne smiju završiti sa "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nazivi ne smiju započinjati točkom."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Nova mapa"]},{msgid:"New folder name",msgstr:["Novi naziv mape"]},{msgid:"New version",msgstr:["Nova verzija"]},{msgid:"No files in here",msgstr:["Ovdje nema datoteka"]},{msgid:"No files matching your filter were found.",msgstr:["Nisu pronađene datoteke koje odgovaraju vašem filtru."]},{msgid:"No matching files",msgstr:["Nema odgovarajućih datoteka."]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Unesite naziv s najmanje 2 znaka."]},{msgid:"Recent",msgstr:["Nedavno"]},{msgid:"Select all checkboxes",msgstr:["Označi sve potvrdne okvire"]},{msgid:"Select all entries",msgstr:["Označi sve stavke"]},{msgid:"Select all existing files",msgstr:["Označi sve postojeće datoteke"]},{msgid:"Select all new files",msgstr:["Označi sve nove datoteke"]},{msgid:"Select entry",msgstr:["Označi stavku"]},{msgid:"Select the row for {nodename}",msgstr:["Označi red za{nodename}"]},{msgid:"Size",msgstr:["Veličina"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Preskoči %n datoteku","Preskoči %n datoteke","Preskoči %n datoteke"]},{msgid:"Skip this file",msgstr:["Preskoči ovu datoteku"]},{msgid:"Submit name",msgstr:["Pošalji naziv"]},{msgid:"Undo",msgstr:["Poništi"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Prenesite neki sadržaj ili sinkronizirajte sa svojim uređajima!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Kada je odabrana dolazna mapa, sve datoteke unutar nje koje su u sukobu također će biti prepisane."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Kada je odabrana dolazna mapa, sadržaj se upisuje u postojeću mapu i provodi se rekurzivno rješavanje sukoba."]},{msgid:"Which files do you want to keep?",msgstr:["Koje datoteke želite zadržati?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Trenutno ste identificirani kao {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Trenutno niste identificirani."]},{msgid:"You cannot leave the name empty.",msgstr:["Ne možete ostaviti naziv prazan."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Morate odabrati barem jedno rješenje sukoba"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Morate odabrati barem jednu verziju svake datoteke kako biste nastavili."]}]},{language:"hu_HU",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["A(z) „{char}” nem engedélyezett egy mappanévben."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:["A(z) „{char}” nem engedélyezett egy névben."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["A(z) „{extension}” nem engedélyezett név."]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["A(z) „{segment}” foglalt név, és nem engedélyezett a mappanevekben."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["A(z) „{segment}” foglalt név, és nem engedélyezett."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n ütköző fájl","%n ütköző fájl"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n ütköző fájl ebben: {dirname}","%n ütköző fájl ebben: {dirname}"]},{msgid:"All files",msgstr:["Összes fájl"]},{msgid:"Cancel",msgstr:["Mégse"]},{msgid:"Cancel the entire operation",msgstr:["Egész művelet megszakítása"]},{msgid:"Choose",msgstr:["Kiválasztás"]},{msgid:"Choose {file}",msgstr:["{file} kiválasztása"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n fájl kiválasztása","%n fájl kiválasztása"]},{msgid:"Confirm",msgstr:["Megerősítés"]},{msgid:"Continue",msgstr:["Folytatás"]},{msgid:"Copy",msgstr:["Másolás"]},{msgid:"Copy to {target}",msgstr:["Másolás ide: {target}"]},{msgid:"Could not create the new folder",msgstr:["Nem lehet létrehozni az új mappát"]},{msgid:"Could not load files settings",msgstr:["Nem lehet betölteni a fájlok beállításait"]},{msgid:"Could not load files views",msgstr:["Nem lehet betölteni a fájlok nézeteit"]},{msgid:"Create directory",msgstr:["Mappa létrehozása"]},{msgid:"Current view selector",msgstr:["Jelenlegi nézet választója"]},{msgid:"Enter your name",msgstr:["Adja meg a nevét"]},{msgid:"Existing version",msgstr:["Meglévő verzió"]},{msgid:"Failed to set nickname.",msgstr:["Nem sikerült a becenév beállítása."]},{msgid:"Favorites",msgstr:["Kedvencek"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["A kedvencként megjelölt fájlok és mappák itt jelennek meg."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["A nemrég módosított fájlok és mappák itt jelennek meg."]},{msgid:"Filter file list",msgstr:["Fájllista szűrése"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["A mappanevek nem végződhetnek ezzel: „{extension}”."]},{msgid:"Guest identification",msgstr:["Vendégazonosítás"]},{msgid:"Home",msgstr:["Kezdőlap"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Ha mindkét verziót választja, akkor a bejövő fájl nevéhez egy szám lesz hozzáfűzve."]},{msgid:"Invalid folder name.",msgstr:["Érvénytelen mappanév."]},{msgid:"Invalid name.",msgstr:["Érvénytelen név."]},{msgid:"Last modified date unknown",msgstr:["Legutóbbi módosítás ideje ismeretlen"]},{msgid:"Modified",msgstr:["Módosítva"]},{msgid:"Move",msgstr:["Áthelyezés"]},{msgid:"Move to {target}",msgstr:["Áthelyezés ide: {target}"]},{msgid:"Name",msgstr:["Név"]},{msgid:"Names may be at most 64 characters long.",msgstr:["A nevek legfeljebb 64 karakter hosszúak lehetnek."]},{msgid:"Names must not be empty.",msgstr:["A nevek nem lehetnek üresek."]},{msgid:'Names must not end with "{extension}".',msgstr:["A nevek nem végződhetnek ezzel: „{extension}”."]},{msgid:"Names must not start with a dot.",msgstr:["A nevek nem kezdődhetnek ponttal."]},{msgid:"New",msgstr:["Új"]},{msgid:"New folder",msgstr:["Új mappa"]},{msgid:"New folder name",msgstr:["Új mappa neve"]},{msgid:"New version",msgstr:["Új verzió"]},{msgid:"No files in here",msgstr:["Itt nincsenek fájlok"]},{msgid:"No files matching your filter were found.",msgstr:["Nincs a szűrési feltételeknek megfelelő fájl."]},{msgid:"No matching files",msgstr:["Nincs ilyen fájl"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Legalább 2 karakteres nevet adjon meg."]},{msgid:"Recent",msgstr:["Legutóbbi"]},{msgid:"Select all checkboxes",msgstr:["Összes jelölőmező bepipálása"]},{msgid:"Select all entries",msgstr:["Összes bejegyzés kijelölése"]},{msgid:"Select all existing files",msgstr:["Összes meglévő fájl kijelölése"]},{msgid:"Select all new files",msgstr:["Összes új fájl kijelölése"]},{msgid:"Select entry",msgstr:["Bejegyzés kijelölése"]},{msgid:"Select the row for {nodename}",msgstr:["Válasszon sort a következőnek: {nodename}"]},{msgid:"Size",msgstr:["Méret"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n fájl kihagyása","%n fájl kihagyása"]},{msgid:"Skip this file",msgstr:["Fájl kihagyása"]},{msgid:"Submit name",msgstr:["Név beküldése"]},{msgid:"Undo",msgstr:["Visszavonás"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Töltsön fel tartalmat, vagy szinkronizáljon az eszközeivel!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Ha egy bejövő mappa van kijelölve, akkor a benne lévő ütköző fájlok is felül lesznek írva."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Amikor egy bejövő mappát kiválaszt, a benne lévő fájlok is felülíródnak."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Ha egy bejövő mappa van kijelölve, akkor a tartalom a meglévő mappába lesz írva, és rekurzív ütközéskezelés lesz végezve."]},{msgid:"Which files do you want to keep?",msgstr:["Mely fájlokat akarja megtartani?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Jelenleg ekként van azonosítva: {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Jelenleg nincs azonosítva."]},{msgid:"You cannot leave the name empty.",msgstr:["A nevet nem hagyhatja üresen."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Legalább egy ütközéskezelési megoldást kell választania"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["A folytatáshoz az összes fájlnak legalább egy verzióját ki kell választania."]}]},{language:"hy",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} սխալ թղթապանակի անվանում է"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} համարվում է անթույլատրելի թղթապանակի անվանում"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["/ չի թույլատրվում օգտագործել անվանման մեջ"]},{msgid:"All files",msgstr:["Բոլոր ֆայլերը"]},{msgid:"Choose",msgstr:["Ընտրել"]},{msgid:"Choose {file}",msgstr:["Ընտրել {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Ընտրել %n ֆայլ","Ընտրել %n ֆայլեր"]},{msgid:"Copy",msgstr:["Պատճենել"]},{msgid:"Copy to {target}",msgstr:["Պատճենել {target}"]},{msgid:"Could not create the new folder",msgstr:["Չստացվեց ստեղծել նոր թղթապանակը"]},{msgid:"Could not load files settings",msgstr:["Չստացվեց բեռնել ֆայլի կարգավորումները"]},{msgid:"Could not load files views",msgstr:["Չստացվեց բեռնել ֆայլերի դիտումները"]},{msgid:"Create directory",msgstr:["Ստեղծել դիրեկտորիա"]},{msgid:"Current view selector",msgstr:["Ընթացիկ դիտման ընտրիչ"]},{msgid:"Favorites",msgstr:["Նախընտրելիներ"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք դուք նշել եք որպես նախընտրելիներ:"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք վերջերս փոխել եք:"]},{msgid:"Filter file list",msgstr:["Ֆիլտրել ֆայլերի ցուցակը"]},{msgid:"Folder name cannot be empty.",msgstr:["Թղթապանակի անունը չի կարող դատարկ լինել:"]},{msgid:"Home",msgstr:["Սկիզբ"]},{msgid:"Modified",msgstr:["Փոփոխված"]},{msgid:"Move",msgstr:["Տեղափոխել"]},{msgid:"Move to {target}",msgstr:["Տեղափոխել {target}"]},{msgid:"Name",msgstr:["Անուն"]},{msgid:"New",msgstr:["Նոր"]},{msgid:"New folder",msgstr:["Նոր թղթապանակ"]},{msgid:"New folder name",msgstr:["Նոր թղթապանակի անվանում"]},{msgid:"No files in here",msgstr:["Այստեղ չկան ֆայլեր"]},{msgid:"No files matching your filter were found.",msgstr:["Ձեր ֆիլտրին համապատասխանող ֆայլերը չեն գտնվել:"]},{msgid:"No matching files",msgstr:["Չկան համապատասխան ֆայլեր"]},{msgid:"Recent",msgstr:["Վերջին"]},{msgid:"Select all entries",msgstr:["Ընտրել բոլոր գրառումները"]},{msgid:"Select entry",msgstr:["Ընտրել բոլոր գրառումը"]},{msgid:"Select the row for {nodename}",msgstr:["Ընտրեք տողը {nodename}-ի համար "]},{msgid:"Size",msgstr:["Չափ"]},{msgid:"Undo",msgstr:["Ետարկել"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Ներբեռնեք որոշ բովանդակություն կամ համաժամացրեք այն ձեր սարքերի հետ:"]}]},{language:"id",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" tidak diizinkan di dalam nama folder.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" tidak diizinkan di dalam nama.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" bukan nama yang diizinkan.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" adalah nama yang dicadangkan dan tidak diizinkan untuk nama folder.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" adalah nama yang dicadangkan dan tidak diizinkan.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n konflik file"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n konflik file di {dirname}"]},{msgid:"All files",msgstr:["Semua berkas"]},{msgid:"Cancel",msgstr:["Batal"]},{msgid:"Cancel the entire operation",msgstr:["Batalkan seluruh operasi"]},{msgid:"Choose",msgstr:["Pilih"]},{msgid:"Choose {file}",msgstr:["Pilih {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pilih %n file"]},{msgid:"Confirm",msgstr:["Konfirmasi"]},{msgid:"Continue",msgstr:["Lanjutkan"]},{msgid:"Copy",msgstr:["Salin"]},{msgid:"Copy to {target}",msgstr:["Salin ke {target}"]},{msgid:"Could not create the new folder",msgstr:["Tidak dapat membuat folder baru"]},{msgid:"Could not load files settings",msgstr:["Tidak dapat memuat pengaturan file"]},{msgid:"Could not load files views",msgstr:["Tidak dapat memuat tampilan file"]},{msgid:"Create directory",msgstr:["Buat direktori"]},{msgid:"Current view selector",msgstr:["Pemilih tampilan saat ini"]},{msgid:"Enter your name",msgstr:["Masukkan nama Anda"]},{msgid:"Existing version",msgstr:["Versi yang ada"]},{msgid:"Failed to set nickname.",msgstr:["Gagal menetapkan nama panggilan."]},{msgid:"Favorites",msgstr:["Favorit"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Berkas dan folder yang Anda tandai sebagai favorit akan muncul di sini."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Berkas dan folder yang Anda ubah baru-baru ini akan muncul di sini."]},{msgid:"Filter file list",msgstr:["Saring daftar berkas"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Nama folder tidak boleh diakhiri dengan "{extension}".']},{msgid:"Guest identification",msgstr:["Identifikasi tamu"]},{msgid:"Home",msgstr:["Beranda"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Jika Anda memilih kedua versi, file yang masuk akan ditambahkan angka pada namanya."]},{msgid:"Invalid folder name.",msgstr:["Nama folder tidak valid."]},{msgid:"Invalid name.",msgstr:["Nama tidak valid."]},{msgid:"Last modified date unknown",msgstr:["Tanggal modifikasi terakhir tidak diketahui"]},{msgid:"Modified",msgstr:["Diubah"]},{msgid:"Move",msgstr:["Pindahkan"]},{msgid:"Move to {target}",msgstr:["Pindahkan ke {target}"]},{msgid:"Name",msgstr:["Nama"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Panjang nama maksimal 64 karakter."]},{msgid:"Names must not be empty.",msgstr:["Nama tidak boleh kosong."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nama tidak boleh diakhiri dengan "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nama tidak boleh diawali dengan titik."]},{msgid:"New",msgstr:["Baru"]},{msgid:"New folder",msgstr:["Folder baru"]},{msgid:"New folder name",msgstr:["Nama folder baru"]},{msgid:"New version",msgstr:["Versi baru"]},{msgid:"No files in here",msgstr:["Tidak ada berkas di sini"]},{msgid:"No files matching your filter were found.",msgstr:["Tidak ada berkas yang cocok dengan penyaringan Anda."]},{msgid:"No matching files",msgstr:["Tidak ada berkas yang cocok"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Silakan masukkan nama dengan minimal 2 karakter."]},{msgid:"Recent",msgstr:["Terkini"]},{msgid:"Select all checkboxes",msgstr:["Pilih semua kotak centang"]},{msgid:"Select all entries",msgstr:["Pilih semua entri"]},{msgid:"Select all existing files",msgstr:["Pilih semua file yang ada"]},{msgid:"Select all new files",msgstr:["Pilih semua file baru"]},{msgid:"Select entry",msgstr:["Pilih entri"]},{msgid:"Select the row for {nodename}",msgstr:["Pilih baris untuk {nodename}"]},{msgid:"Size",msgstr:["Ukuran"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Lewati %n file"]},{msgid:"Skip this file",msgstr:["Lewati file ini"]},{msgid:"Submit name",msgstr:["Kirim nama"]},{msgid:"Undo",msgstr:["Tidak jadi"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Unggah beberapa konten atau sinkronkan dengan perangkat Anda!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Saat folder yang masuk dipilih, semua file yang konflik di dalamnya juga akan ditimpa."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Saat folder yang masuk dipilih, konten ditulis ke dalam folder yang ada dan penyelesaian konflik rekursif dilakukan."]},{msgid:"Which files do you want to keep?",msgstr:["File mana yang ingin Anda pertahankan?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Saat ini Anda teridentifikasi sebagai {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Saat ini Anda tidak teridentifikasi."]},{msgid:"You cannot leave the name empty.",msgstr:["Anda tidak dapat membiarkan nama kosong."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Anda perlu memilih setidaknya satu solusi konflik"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Anda perlu memilih setidaknya satu versi dari setiap file untuk melanjutkan."]}]},{language:"is",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" er ógilt möppuheiti.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" er ekki leyfilegt möppuheiti']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" er er ekki leyfilegt innan í skráarheiti.']},{msgid:"All files",msgstr:["Allar skrár"]},{msgid:"Choose",msgstr:["Veldu"]},{msgid:"Choose {file}",msgstr:["Veldu {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Veldu %n skrá","Veldu %n skrár"]},{msgid:"Copy",msgstr:["Afrita"]},{msgid:"Copy to {target}",msgstr:["Afrita í {target}"]},{msgid:"Could not create the new folder",msgstr:["Get ekki búið til nýju möppuna"]},{msgid:"Could not load files settings",msgstr:["Tókst ekki að hlaða inn stillingum skráa"]},{msgid:"Could not load files views",msgstr:["Tókst ekki að hlaða inn sýnum skráa"]},{msgid:"Create directory",msgstr:["Búa til möppu"]},{msgid:"Current view selector",msgstr:["Núverandi val sýnar"]},{msgid:"Favorites",msgstr:["Eftirlæti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Skrár og möppur sem þú merkir sem eftirlæti birtast hér."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Skrár og möppur sem þú breyttir nýlega birtast hér."]},{msgid:"Filter file list",msgstr:["Sía skráalista"]},{msgid:"Folder name cannot be empty.",msgstr:["Möppuheiti má ekki vera tómt."]},{msgid:"Home",msgstr:["Heim"]},{msgid:"Modified",msgstr:["Breytt"]},{msgid:"Move",msgstr:["Færa"]},{msgid:"Move to {target}",msgstr:["Færa í {target}"]},{msgid:"Name",msgstr:["Heiti"]},{msgid:"New",msgstr:["Nýtt"]},{msgid:"New folder",msgstr:["Ný mappa"]},{msgid:"New folder name",msgstr:["Heiti nýrrar möppu"]},{msgid:"No files in here",msgstr:["Engar skrár hér"]},{msgid:"No files matching your filter were found.",msgstr:["Engar skrár fundust sem passa við síuna."]},{msgid:"No matching files",msgstr:["Engar samsvarandi skrár"]},{msgid:"Recent",msgstr:["Nýlegt"]},{msgid:"Select all entries",msgstr:["Velja allar færslur"]},{msgid:"Select entry",msgstr:["Velja færslu"]},{msgid:"Select the row for {nodename}",msgstr:["Veldu röðina fyrir {nodename}"]},{msgid:"Size",msgstr:["Stærð"]},{msgid:"Undo",msgstr:["Afturkalla"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Sendu inn eitthvað efni eða samstilltu við tækin þín!"]}]},{language:"it",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:[`"{char}" non è consentito all'interno di un nome di cartella.`]},{msgid:'"{char}" is not allowed inside a name.',msgstr:[`"{char}" non è consentito all'interno di un nome.`]},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" non è un nome consentito']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" è un nome riservato e non consentito per i nomi delle cartelle.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" è un nome riservato e non consentito.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n file in conflitto","%n file in conflitto","%n file in conflitto"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n file in conflitto in {dirname}","%n file in conflitto in {dirname}","%n file in conflitto in {dirname}"]},{msgid:"All files",msgstr:["Tutti i file"]},{msgid:"Cancel",msgstr:["Annulla"]},{msgid:"Cancel the entire operation",msgstr:["Annulla l'intera operazione"]},{msgid:"Choose",msgstr:["Scegli"]},{msgid:"Choose {file}",msgstr:["Scegli {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Scegli %n file","Scegli %n file","Scegli %n file"]},{msgid:"Confirm",msgstr:["Conferma"]},{msgid:"Continue",msgstr:["Continua"]},{msgid:"Copy",msgstr:["Copia"]},{msgid:"Copy to {target}",msgstr:["Copia in {target}"]},{msgid:"Could not create the new folder",msgstr:["Impossibile creare la nuova cartella"]},{msgid:"Could not load files settings",msgstr:["Impossibile caricare le impostazioni dei file"]},{msgid:"Could not load files views",msgstr:["Impossibile caricare le visualizzazioni dei file"]},{msgid:"Create directory",msgstr:["Crea cartella"]},{msgid:"Current view selector",msgstr:["Selettore della vista attuale"]},{msgid:"Enter your name",msgstr:["Inserisci il tuo nome"]},{msgid:"Existing version",msgstr:["Versione esistente"]},{msgid:"Failed to set nickname.",msgstr:["Impossibile impostare lo pseudonimo."]},{msgid:"Favorites",msgstr:["Preferiti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["I file e le cartelle contrassegnate come preferite saranno mostrate qui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["I file e le cartelle che hai modificato di recente saranno mostrate qui."]},{msgid:"Filter file list",msgstr:["Filtra l'elenco dei file"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['I nomi delle cartelle devono finire con "{extension}".']},{msgid:"Guest identification",msgstr:["Identificazione ospiti"]},{msgid:"Home",msgstr:["Home"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Se selezioni entrambe le versioni, al nome del file in arrivo verrà aggiunto un numero."]},{msgid:"Invalid folder name.",msgstr:["Nome cartella non valido."]},{msgid:"Invalid name.",msgstr:["Nome non valido."]},{msgid:"Last modified date unknown",msgstr:["Data di ultima modifica sconosciuta"]},{msgid:"Modified",msgstr:["Modificato"]},{msgid:"Move",msgstr:["Sposta"]},{msgid:"Move to {target}",msgstr:["Sposta in {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names may be at most 64 characters long.",msgstr:["I nomi dovrebbero avere una lunghezza massima di 64 caratteri."]},{msgid:"Names must not be empty.",msgstr:["I nomi non devono essere vuoti."]},{msgid:'Names must not end with "{extension}".',msgstr:['I nomi devono finire con "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["I nomi non possono iniziare con un punto."]},{msgid:"New",msgstr:["Nuovo"]},{msgid:"New folder",msgstr:["Nuova cartella"]},{msgid:"New folder name",msgstr:["Nome della nuova cartella"]},{msgid:"New version",msgstr:["Nuova versione"]},{msgid:"No files in here",msgstr:["Nessun file qui"]},{msgid:"No files matching your filter were found.",msgstr:["Nessun file che corrisponde al tuo filtro è stato trovato."]},{msgid:"No matching files",msgstr:["Nessun file corrispondente"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Digita un nome con almeno 2 caratteri."]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all checkboxes",msgstr:["Seleziona tutte le caselle"]},{msgid:"Select all entries",msgstr:["Scegli tutte le voci"]},{msgid:"Select all existing files",msgstr:["Seleziona tutti i file esistenti"]},{msgid:"Select all new files",msgstr:["Seleziona tutti i nuovi file"]},{msgid:"Select entry",msgstr:["Seleziona la voce"]},{msgid:"Select the row for {nodename}",msgstr:["Seleziona la riga per {nodename}"]},{msgid:"Size",msgstr:["Dimensioni"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Salta %n file","Salta %n file","Salta %n file"]},{msgid:"Skip this file",msgstr:["Salta questo file"]},{msgid:"Submit name",msgstr:["Invia nome"]},{msgid:"Undo",msgstr:["Annulla"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Carica qualche contenuto o sincronizza con i tuoi dispositivi!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Quando si seleziona una cartella in arrivo, anche tutti i file in conflitto al suo interno saranno sovrascritti."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Quando si seleziona una cartella in arrivo, anche i documenti all'interno verranno sovrascritti."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Quando si seleziona una cartella in arrivo, il contenuto viene scritto nella cartella esistente e viene eseguita una risoluzione ricorsiva dei conflitti."]},{msgid:"Which files do you want to keep?",msgstr:["Quali file vuoi conservare?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Sei attualmente identificato come {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Attualmente non sei identificato."]},{msgid:"You cannot leave the name empty.",msgstr:["Non puoi lasciare il nome vuoto."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Devi scegliere almeno una soluzione al conflitto"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Per continuare, è necessario selezionare almeno una versione di ciascun file."]}]},{language:"ja_JP",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['フォルダー名に "{char}" を使用することはできません。']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['名前に "{char}" を使用することはできません。']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" は許可された名前ではありません。']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" は予約名のため、使用できません。']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" は予約名のため、使用できません。']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%nファイルが競合しています"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%nディレクトリ{dirname}内のファイル競合"]},{msgid:"All files",msgstr:["すべてのファイル"]},{msgid:"Cancel",msgstr:["キャンセル"]},{msgid:"Cancel the entire operation",msgstr:["すべての操作をキャンセル"]},{msgid:"Choose",msgstr:["選択"]},{msgid:"Choose {file}",msgstr:["{file} を選択"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n 個のファイルを選択"]},{msgid:"Confirm",msgstr:["確認"]},{msgid:"Continue",msgstr:["続行"]},{msgid:"Copy",msgstr:["コピー"]},{msgid:"Copy to {target}",msgstr:["{target} にコピー"]},{msgid:"Could not create the new folder",msgstr:["新しいフォルダーを作成できませんでした"]},{msgid:"Could not load files settings",msgstr:["ファイル設定を読み込めませんでした"]},{msgid:"Could not load files views",msgstr:["ファイルビューを読み込めませんでした"]},{msgid:"Create directory",msgstr:["ディレクトリを作成"]},{msgid:"Current view selector",msgstr:["現在のビュー選択"]},{msgid:"Enter your name",msgstr:["名前を入力してください"]},{msgid:"Existing version",msgstr:["現行バージョン"]},{msgid:"Failed to set nickname.",msgstr:["ニックネームの設定に失敗しました。"]},{msgid:"Favorites",msgstr:["お気に入り"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["お気に入りとしてマークしたファイルとフォルダーがここに表示されます。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["最近変更したファイルとフォルダーがここに表示されます。"]},{msgid:"Filter file list",msgstr:["ファイルのリストをフィルター"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['フォルダー名の末尾に "{extension}" を使用できません。']},{msgid:"Guest identification",msgstr:["ゲスト識別"]},{msgid:"Home",msgstr:["ホーム"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["両方のバージョンを選択した場合、受信ファイル名には番号が追加されます。"]},{msgid:"Invalid folder name.",msgstr:["フォルダー名が無効です。"]},{msgid:"Invalid name.",msgstr:["無効な名前です。"]},{msgid:"Last modified date unknown",msgstr:["最終更新日不明"]},{msgid:"Modified",msgstr:["変更済み"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["{target} に移動"]},{msgid:"Name",msgstr:["名前"]},{msgid:"Names may be at most 64 characters long.",msgstr:["名前は最大64文字です。"]},{msgid:"Names must not be empty.",msgstr:["名前は空にできません。"]},{msgid:'Names must not end with "{extension}".',msgstr:['名前の末尾に "{extension}" を使用できません。']},{msgid:"Names must not start with a dot.",msgstr:["ドットで始まる名前は使用できません。"]},{msgid:"New",msgstr:["新規作成"]},{msgid:"New folder",msgstr:["新しいフォルダー"]},{msgid:"New folder name",msgstr:["新しいフォルダーの名前"]},{msgid:"New version",msgstr:["新バージョン"]},{msgid:"No files in here",msgstr:["ファイルがありません"]},{msgid:"No files matching your filter were found.",msgstr:["フィルターに一致するファイルは見つかりませんでした。"]},{msgid:"No matching files",msgstr:["一致するファイルはありません"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["名前は2文字以上を入力してください。"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all checkboxes",msgstr:["すべてのチェックボックスを選択"]},{msgid:"Select all entries",msgstr:["すべてのエントリを選択"]},{msgid:"Select all existing files",msgstr:["既存のファイルをすべて選択"]},{msgid:"Select all new files",msgstr:["すべての新規ファイルを選択"]},{msgid:"Select entry",msgstr:["エントリを選択"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} の行を選択"]},{msgid:"Size",msgstr:["サイズ"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n 個のファイルをスキップ"]},{msgid:"Skip this file",msgstr:["このファイルをスキップ"]},{msgid:"Submit name",msgstr:["名前を送信する"]},{msgid:"Undo",msgstr:["元に戻す"]},{msgid:"Upload some content or sync with your devices!",msgstr:["コンテンツをアップロードするか、デバイスと同期してください!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["受信フォルダーを選択すると、そのフォルダー内の競合ファイルも上書きされます。"]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["受信フォルダを選択すると、その中のファイルも上書きされます。"]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["受信フォルダーを選択すると、内容は既存のフォルダーに書き込まれ、再帰的な競合解決が実行されます。"]},{msgid:"Which files do you want to keep?",msgstr:["どのファイルを残しますか?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["現在、{nickname}として識別されています。"]},{msgid:"You are currently not identified.",msgstr:["現在あなたは識別されていません。"]},{msgid:"You cannot leave the name empty.",msgstr:["名前を空にすることはできません。"]},{msgid:"You need to choose at least one conflict solution",msgstr:["少なくとも1つの競合ソリューションを選択する必要があります"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["続行するには、各ファイルのバージョンを少なくとも1つ選択する必要があります。"]}]},{language:"ko",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["문자 '{char}'은(는) 폴더 이름에 사용할 수 없습니다."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:["문자 '{char}'은(는) 이름에 사용할 수 없습니다."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["'{extension}'은(는) 사용 불가능한 이름입니다."]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["'{segment}'은(는) 예약된 이름이므로 폴더 이름으로 사용할 수 없습니다."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["'{segment}'은(는) 예약된 이름이므로 사용할 수 없습니다."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n개의 파일이 충돌함"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname}에서 %n개의 파일이 충돌함"]},{msgid:"All files",msgstr:["모든 파일"]},{msgid:"Cancel",msgstr:["취소"]},{msgid:"Cancel the entire operation",msgstr:["전체 작업 취소"]},{msgid:"Choose",msgstr:["선택"]},{msgid:"Choose {file}",msgstr:["{file} 선택"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["파일 %n개 선택"]},{msgid:"Confirm",msgstr:["확인"]},{msgid:"Continue",msgstr:["계속"]},{msgid:"Copy",msgstr:["복사"]},{msgid:"Copy to {target}",msgstr:["{target}(으)로 복사"]},{msgid:"Could not create the new folder",msgstr:["새 폴더를 만들 수 없음"]},{msgid:"Could not load files settings",msgstr:["파일 설정을 불러오지 못함"]},{msgid:"Could not load files views",msgstr:["파일 보기를 불러오지 못함"]},{msgid:"Create directory",msgstr:["디렉토리 만들기"]},{msgid:"Current view selector",msgstr:["현재 보기 방식"]},{msgid:"Enter your name",msgstr:["이름을 입력하세요"]},{msgid:"Existing version",msgstr:["기존 버전"]},{msgid:"Failed to set nickname.",msgstr:[`닉네임을 설정하지 못했습니다. - `]},{msgid:"Favorites",msgstr:["즐겨찾기"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["즐겨찾기 한 파일 및 폴더가 이곳에 표시됩니다."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["최근 수정된 파일 및 폴더가 이곳에 표시됩니다."]},{msgid:"Filter file list",msgstr:["파일 목록 필터링"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["폴더 이름은 '{extension}'(으)로 끝날 수 없습니다."]},{msgid:"Guest identification",msgstr:["게스트 확인"]},{msgid:"Home",msgstr:["홈"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["두 버전을 모두 선택할 경우 새로 추가되는 파일의 이름에 숫자가 붙게 됩니다."]},{msgid:"Invalid folder name.",msgstr:["잘못된 폴더 이름입니다."]},{msgid:"Invalid name.",msgstr:["잘못된 이름입니다. "]},{msgid:"Last modified date unknown",msgstr:["최근 수정일 알 수 없음"]},{msgid:"Modified",msgstr:["수정됨"]},{msgid:"Move",msgstr:["이동"]},{msgid:"Move to {target}",msgstr:["{target}(으)로 이동"]},{msgid:"Name",msgstr:["이름"]},{msgid:"Names may be at most 64 characters long.",msgstr:["이름은 최대 64글자까지 지정할 수 있습니다."]},{msgid:"Names must not be empty.",msgstr:["이름은 비어 있을 수 없습니다."]},{msgid:'Names must not end with "{extension}".',msgstr:["이름은 '{extension}'(으)로 끝날 수 없습니다."]},{msgid:"Names must not start with a dot.",msgstr:["이름은 마침표로 시작될 수 없습니다."]},{msgid:"New",msgstr:["새로 만들기"]},{msgid:"New folder",msgstr:["새 폴더"]},{msgid:"New folder name",msgstr:["새 폴더명"]},{msgid:"New version",msgstr:["새로운 버전"]},{msgid:"No files in here",msgstr:["파일이 없습니다"]},{msgid:"No files matching your filter were found.",msgstr:["선택된 필터에 해당하는 파일이 없습니다."]},{msgid:"No matching files",msgstr:["해당하는 파일 없음"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["최소 두 글자 이상의 이름을 입력해주세요."]},{msgid:"Recent",msgstr:["최근"]},{msgid:"Select all checkboxes",msgstr:["체크박스 모두 선택"]},{msgid:"Select all entries",msgstr:["모두 선택"]},{msgid:"Select all existing files",msgstr:["기존 파일 모두 선택"]},{msgid:"Select all new files",msgstr:["새 파일 모두 선택"]},{msgid:"Select entry",msgstr:["항목 선택"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename}의 행 선택"]},{msgid:"Size",msgstr:["크기"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n개 파일 건너뛰기"]},{msgid:"Skip this file",msgstr:["이 파일 건너뛰기"]},{msgid:"Submit name",msgstr:["이름 제출"]},{msgid:"Undo",msgstr:["되돌리기"]},{msgid:"Upload some content or sync with your devices!",msgstr:["기기에서 파일을 업로드 또는 동기화하세요!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["새 폴더를 선택할 경우, 해당 폴더 내의 충돌 파일들도 덮어쓰기 됩니다."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["새 폴더를 선택할 경우 내용물이 기존 폴더에 기록되며 재귀적 충돌 해결이 수행됩니다."]},{msgid:"Which files do you want to keep?",msgstr:["어떤 파일들을 유지하시겠습니까?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["{nickname}(으)로 인증된 상태 입니다."]},{msgid:"You are currently not identified.",msgstr:["현재 인증 정보가 없습니다."]},{msgid:"You cannot leave the name empty.",msgstr:["이름은 비워 둘 수 없습니다. "]},{msgid:"You need to choose at least one conflict solution",msgstr:["최소한 하나의 충돌 해결 방안을 선택해야 합니다."]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다."]}]},{language:"lb",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} ass en ongëlteg Dossier"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} ass net en erlaabten Dossiernumm"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ass net an engem Dossier Numm erlaabt']},{msgid:"All files",msgstr:["All Dateien"]},{msgid:"Choose",msgstr:["Wielt"]},{msgid:"Choose {file}",msgstr:["Wielt {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Wielt %n Fichieren","Wielt %n Fichier"]},{msgid:"Copy",msgstr:["Kopie"]},{msgid:"Copy to {target}",msgstr:["Kopie op {target}"]},{msgid:"Could not create the new folder",msgstr:["Konnt den neien Dossier net erstellen"]},{msgid:"Could not load files settings",msgstr:["Konnt d'Dateienastellungen net lueden"]},{msgid:"Could not load files views",msgstr:["Konnt d'Dateien net lueden"]},{msgid:"Create directory",msgstr:["Erstellt Verzeechnes"]},{msgid:"Current view selector",msgstr:["Aktuell Vue selector"]},{msgid:"Favorites",msgstr:["Favoritten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Dateien an Ordner, déi Dir als Favorit markéiert, ginn hei gewisen"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Dateien an Ordner déi Dir viru kuerzem geännert hutt ginn hei op"]},{msgid:"Filter file list",msgstr:["Filter Datei Lëscht"]},{msgid:"Folder name cannot be empty.",msgstr:["Dossier Numm kann net eidel sinn"]},{msgid:"Home",msgstr:["Wëllkomm"]},{msgid:"Modified",msgstr:["Geännert"]},{msgid:"Move",msgstr:["Plënne"]},{msgid:"Move to {target}",msgstr:["Plënneren {target}"]},{msgid:"Name",msgstr:["Numm"]},{msgid:"New",msgstr:["Nei"]},{msgid:"New folder",msgstr:["Neien dossier"]},{msgid:"New folder name",msgstr:["Neien dossier numm"]},{msgid:"No files in here",msgstr:["Kee fichier hei"]},{msgid:"No files matching your filter were found.",msgstr:["Kee fichier deen äre filter passt gouf fonnt"]},{msgid:"No matching files",msgstr:["Keng passende dateien"]},{msgid:"Recent",msgstr:["Rezent"]},{msgid:"Select all entries",msgstr:["Wielt all entréen"]},{msgid:"Select entry",msgstr:["Wielt entrée"]},{msgid:"Select the row for {nodename}",msgstr:["Wielt d'zeil fir {nodename}"]},{msgid:"Size",msgstr:["Gréisst"]},{msgid:"Undo",msgstr:["Undoen"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Luet en inhalt erop oder synchroniséiert mat ären apparater"]}]},{language:"lo",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" ບໍ່ອະນຸຍາດໃຫ້ມີຢູ່ໃນຊື່ໂຟນເດີ.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['ບໍ່ອະນຸຍາດໃຫ້ມີ "{char}" ພາຍໃນຊື່.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ບໍ່ແມ່ນຊື່ທີ່ໄດ້ຮັບອະນຸຍາດ.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" ແມ່ນຊື່ທີ່ສະຫງວນໄວ້ ແລະ ບໍ່ອະນຸຍາດໃຫ້ໃຊ້ເປັນຊື່ໂຟນເດີ.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" ແມ່ນຊື່ທີ່ສະຫງວນໄວ້ ແລະ ບໍ່ໄດ້ຮັບອະນຸຍາດ.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["ໄຟລ໌ຂັດກັນ %n ລາຍການ"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["ໄຟລ໌ຂັດກັນ %n ລາຍການໃນ {dirname}"]},{msgid:"All files",msgstr:["ໄຟລ໌ທັງໝົດ"]},{msgid:"Cancel",msgstr:["ຍົກເລີກ"]},{msgid:"Cancel the entire operation",msgstr:["ຍົກເລີກການດຳເນີນການທັງໝົດ"]},{msgid:"Choose",msgstr:["ເລືອກ"]},{msgid:"Choose {file}",msgstr:["ເລືອກ {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["ເລືອກ %n ໄຟລ໌"]},{msgid:"Confirm",msgstr:["ຢືນຢັນ"]},{msgid:"Continue",msgstr:["ດຳເນີນການຕໍ່"]},{msgid:"Copy",msgstr:["ຄັດລອກ"]},{msgid:"Copy to {target}",msgstr:["ຄັດລອກໄປທີ່ {target}"]},{msgid:"Could not create the new folder",msgstr:["ບໍ່ສາມາດສ້າງໂຟນເດີໃໝ່ໄດ້"]},{msgid:"Could not load files settings",msgstr:["ບໍ່ສາມາດໂຫຼດການຕັ້ງຄ່າໄຟລ໌ໄດ້"]},{msgid:"Could not load files views",msgstr:["ບໍ່ສາມາດໂຫຼດມຸມມອງໄຟລ໌ໄດ້"]},{msgid:"Create directory",msgstr:["ສ້າງໄດເຣັກທໍຣີ"]},{msgid:"Current view selector",msgstr:["ຕົວເລືອກມຸມມອງປັດຈຸບັນ"]},{msgid:"Enter your name",msgstr:["ປ້ອນຊື່ຂອງທ່ານ"]},{msgid:"Existing version",msgstr:["ເວີຊັນທີ່ມີຢູ່"]},{msgid:"Failed to set nickname.",msgstr:["ຕັ້ງຊື່ຫຼິ້ນບໍ່ສຳເລັດ."]},{msgid:"Favorites",msgstr:["ລາຍການທີ່ມັກ"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["ໄຟລ໌ ແລະ ໂຟນເດີທີ່ທ່ານໝາຍວ່າເປັນລາຍການທີ່ມັກຈະສະແດງຢູ່ບ່ອນນີ້."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["ໄຟລ໌ ແລະ ໂຟນເດີທີ່ທ່ານແກ້ໄຂລ່າສຸດຈະສະແດງຢູ່ບ່ອນນີ້."]},{msgid:"Filter file list",msgstr:["ກັ່ນຕອງລາຍການໄຟລ໌"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['ຊື່ໂຟນເດີຕ້ອງບໍ່ລົງທ້າຍດ້ວຍ "{extension}".']},{msgid:"Guest identification",msgstr:["ການລະບຸຕົວຕົນຂອງແຂກ"]},{msgid:"Home",msgstr:["ໜ້າຫຼັກ"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["ຖ້າທ່ານເລືອກທັງສອງເວີຊັນ, ໄຟລ໌ທີ່ເຂົ້າມາຈະມີຕົວເລກເພີ່ມໃສ່ຊື່ຂອງມັນ."]},{msgid:"Invalid folder name.",msgstr:["ຊື່ໂຟນເດີບໍ່ຖືກຕ້ອງ."]},{msgid:"Invalid name.",msgstr:["ຊື່ບໍ່ຖືກຕ້ອງ."]},{msgid:"Last modified date unknown",msgstr:["ບໍ່ຮູ້ວັນທີແກ້ໄຂລ່າສຸດ"]},{msgid:"Modified",msgstr:["ແກ້ໄຂເມື່ອ"]},{msgid:"Move",msgstr:["ຍ້າຍ"]},{msgid:"Move to {target}",msgstr:["ຍ້າຍໄປທີ່ {target}"]},{msgid:"Name",msgstr:["ຊື່"]},{msgid:"Names may be at most 64 characters long.",msgstr:["ຊື່ອາດມີຄວາມຍາວສູງສຸດ 64 ຕົວອັກສອນ."]},{msgid:"Names must not be empty.",msgstr:["ຊື່ຕ້ອງບໍ່ຫວ່າງເປົ່າ."]},{msgid:'Names must not end with "{extension}".',msgstr:['ຊື່ຕ້ອງບໍ່ລົງທ້າຍດ້ວຍ "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["ຊື່ຕ້ອງບໍ່ຂຶ້ນຕົ້ນດ້ວຍຈຸດ."]},{msgid:"New",msgstr:["ໃໝ່"]},{msgid:"New folder",msgstr:["ໂຟນເດີໃໝ່"]},{msgid:"New folder name",msgstr:["ຊື່ໂຟນເດີໃໝ່"]},{msgid:"New version",msgstr:["ເວີຊັນໃໝ່"]},{msgid:"No files in here",msgstr:["ບໍ່ມີໄຟລ໌ຢູ່ບ່ອນນີ້"]},{msgid:"No files matching your filter were found.",msgstr:["ບໍ່ພົບໄຟລ໌ທີ່ກົງກັບການກັ່ນຕອງຂອງທ່ານ."]},{msgid:"No matching files",msgstr:["ບໍ່ມີໄຟລ໌ທີ່ກົງກັນ"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["ກະລຸນາປ້ອນຊື່ທີ່ມີຢ່າງໜ້ອຍ 2 ຕົວອັກສອນ."]},{msgid:"Recent",msgstr:["ລ່າສຸດ"]},{msgid:"Select all checkboxes",msgstr:["ເລືອກກ່ອງໝາຍທັງໝົດ"]},{msgid:"Select all entries",msgstr:["ເລືອກທຸກລາຍການ"]},{msgid:"Select all existing files",msgstr:["ເລືອກໄຟລ໌ທີ່ມີຢູ່ທັງໝົດ"]},{msgid:"Select all new files",msgstr:["ເລືອກໄຟລ໌ໃໝ່ທັງໝົດ"]},{msgid:"Select entry",msgstr:["ເລືອກລາຍການ"]},{msgid:"Select the row for {nodename}",msgstr:["ເລືອກແຖວສຳລັບ {nodename}"]},{msgid:"Size",msgstr:["ຂະໜາດ"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["ຂ້າມ %n ໄຟລ໌"]},{msgid:"Skip this file",msgstr:["ຂ້າມໄຟລ໌ນີ້"]},{msgid:"Submit name",msgstr:["ສົ່ງຊື່"]},{msgid:"Undo",msgstr:["ເອົາຄືນ"]},{msgid:"Upload some content or sync with your devices!",msgstr:["ອັບໂຫຼດເນື້ອຫາ ຫຼື ຊິງຄ໌ກັບອຸປະກອນຂອງທ່ານ!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["ເມື່ອເລືອກໂຟນເດີທີ່ເຂົ້າມາ, ໄຟລ໌ໃດໆທີ່ຂັດກັນພາຍໃນໂຟນເດີນັ້ນກໍຈະຖືກຂຽນທັບເຊັ່ນກັນ."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["ເມື່ອເລືອກໂຟນເດີທີ່ເຂົ້າມາ, ເນື້ອຫາຈະຖືກຂຽນລົງໃນໂຟນເດີທີ່ມີຢູ່ ແລະ ຈະມີການແກ້ໄຂຂໍ້ຂັດແຍ່ງແບບຕໍ່ເນື່ອງ."]},{msgid:"Which files do you want to keep?",msgstr:["ທ່ານຕ້ອງການເກັບໄຟລ໌ໃດໄວ້?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["ຕອນນີ້ທ່ານຖືກລະບຸວ່າເປັນ {nickname}."]},{msgid:"You are currently not identified.",msgstr:["ຕອນນີ້ທ່ານຍັງບໍ່ໄດ້ຖືກລະບຸຕົວຕົນ."]},{msgid:"You cannot leave the name empty.",msgstr:["ທ່ານບໍ່ສາມາດປະຊື່ໃຫ້ຫວ່າງເປົ່າໄດ້."]},{msgid:"You need to choose at least one conflict solution",msgstr:["ທ່ານຈຳເປັນຕ້ອງເລືອກວິທີແກ້ໄຂຂໍ້ຂັດແຍ່ງຢ່າງໜ້ອຍໜຶ່ງຢ່າງ"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["ທ່ານຈຳເປັນຕ້ອງເລືອກຢ່າງໜ້ອຍໜຶ່ງເວີຊັນຂອງແຕ່ລະໄຟລ໌ເພື່ອດຳເນີນການຕໍ່."]}]},{language:"lt_LT",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["„{char}“ negalima naudoti aplanko pavadinime."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}“ negalima naudoti vardo sudėtyje."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}“ nėra leidžiamas vardas."]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["„{segment}“ yra rezervuotas vardas, kurio negalima naudoti aplankų pavadinimuose."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}“ yra rezervuotas vardas, todėl jo naudoti negalima."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n failo konfliktas","%n failų konfliktas","%n failų konfliktas","%n failų konfliktas"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n failo konfliktas {dirname}","%n failų konfliktas {dirname}","%n failų konfliktas {dirname}","%n failų konfliktas {dirname}"]},{msgid:"All files",msgstr:["Visi failai"]},{msgid:"Cancel",msgstr:["Atsisakyti"]},{msgid:"Cancel the entire operation",msgstr:["Atsisakyti visos operacijos"]},{msgid:"Choose",msgstr:["Pasirinkti"]},{msgid:"Choose {file}",msgstr:["Pasirinkti {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pasirinkti %n failą","Pasirinkti %n failus","Pasirinkti %n failų","Pasirinkti %n failą"]},{msgid:"Confirm",msgstr:["Patvirtinti"]},{msgid:"Continue",msgstr:["Tęsti"]},{msgid:"Copy",msgstr:["Kopijuoti"]},{msgid:"Copy to {target}",msgstr:["Kopijuoti į {target}"]},{msgid:"Could not create the new folder",msgstr:["Nepavyko sukurti naujo aplanko"]},{msgid:"Could not load files settings",msgstr:["Nepavyko įkelti failų nustatymų"]},{msgid:"Could not load files views",msgstr:["Nepavyko įkelti failų peržiūrų"]},{msgid:"Create directory",msgstr:["Sukurti katalogą"]},{msgid:"Current view selector",msgstr:["Dabartinis peržiūros pasirinkimas"]},{msgid:"Enter your name",msgstr:["Įrašykite savo vardą"]},{msgid:"Existing version",msgstr:["Esama versija"]},{msgid:"Failed to set nickname.",msgstr:["Nepavyko nustatyti slapyvardžio"]},{msgid:"Favorites",msgstr:["Populiariausi"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Failai ir aplankai, kuriuos pažymėsite kaip mėgstamiausius, bus rodomi čia."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Čia bus rodomi failai ir aplankai, kuriuos neseniai pakeitėte."]},{msgid:"Filter file list",msgstr:["Filtruoti failų sąrašą"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["Aplankų pavadinimai neturi baigtis simboliu „{extension}“."]},{msgid:"Guest identification",msgstr:["Svečio identifikacija"]},{msgid:"Home",msgstr:["Pradžia"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Jei pasirinksite abi versijas, prie gaunamo failo pavadinimo bus pridėtas numeris."]},{msgid:"Invalid folder name.",msgstr:["Netinkamas aplanko pavadinimas."]},{msgid:"Invalid name.",msgstr:["Netinkamas pavadinimas."]},{msgid:"Last modified date unknown",msgstr:["Paskutinio atnaujinimo data nežinoma"]},{msgid:"Modified",msgstr:["Pakeista"]},{msgid:"Move",msgstr:["Perkelti"]},{msgid:"Move to {target}",msgstr:["Perkelti į {target}"]},{msgid:"Name",msgstr:["Vardas"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Vardų ilgis negali viršyti 64 simbolių."]},{msgid:"Names must not be empty.",msgstr:["Pavadinimai negali būti tušti."]},{msgid:'Names must not end with "{extension}".',msgstr:["Vardai neturi baigtis simboliu „{extension}“."]},{msgid:"Names must not start with a dot.",msgstr:["Vardai negali prasidėti tašku."]},{msgid:"New",msgstr:["Naujas"]},{msgid:"New folder",msgstr:["Naujas aplankas"]},{msgid:"New folder name",msgstr:["Naujas aplanko pavadinimas"]},{msgid:"New version",msgstr:["Nauja versija"]},{msgid:"No files in here",msgstr:["Čia failų nėra"]},{msgid:"No files matching your filter were found.",msgstr:["Nepavyko rasti failų pagal filtro nustatymus"]},{msgid:"No matching files",msgstr:["Nėra atitinkančių failų"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Įrašykite vardą iš mažiausiai dviejų ženklų."]},{msgid:"Recent",msgstr:["Nauji"]},{msgid:"Select all checkboxes",msgstr:["Pažymėti visus langelius"]},{msgid:"Select all entries",msgstr:["Žymėti visus įrašus"]},{msgid:"Select all existing files",msgstr:["Pažymėti visus esamus failus"]},{msgid:"Select all new files",msgstr:["Pažymėti visus naujus failus"]},{msgid:"Select entry",msgstr:["Žymėti įrašą"]},{msgid:"Select the row for {nodename}",msgstr:["Pasirinkite eilutę {nodename}"]},{msgid:"Size",msgstr:["Dydis"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Praleisti %n failą","Praleisti %n failus","Praleisti %n failų","Praleisti %n failą"]},{msgid:"Skip this file",msgstr:["Praleisti šį failą"]},{msgid:"Submit name",msgstr:["Pateikti pavadinimą"]},{msgid:"Undo",msgstr:["Atšaukti"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Įkelkite turinio arba sinchronizuokite su savo įrenginiais!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Pasirinkus įeinančių failų aplanką, jame esantys failai, su kuriais kyla konfliktas, taip pat bus perrašyti."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Pasirinkus gaunamų laiškų aplanką, visi jame esantys failai taip pat bus perrašyti."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Pasirinkus įeinančių failų aplanką, jo turinys įrašomas į esamą aplanką ir atliekamas rekursyvus konfliktų sprendimas."]},{msgid:"Which files do you want to keep?",msgstr:["Kokius failus norite išsaugoti?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Šiuo metu esate identifikuotas kaip {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Šiuo metu nesate identifikuotas."]},{msgid:"You cannot leave the name empty.",msgstr:["Negalite palikti tuščio vardo lauko."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Turite pasirinkti bent vieną konflikto sprendimo būdą"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Norėdami tęsti, turite pasirinkti bent vieną kiekvieno failo versiją."]}]},{language:"lv",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" nav derīgs mapes nosaukums.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nav atļauts mapes nosaukums']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nav atļauts mapes nosaukuma izmantošanā.']},{msgid:"All files",msgstr:["Visas datnes"]},{msgid:"Choose",msgstr:["Izvēlieties"]},{msgid:"Choose {file}",msgstr:["Izvēlieties {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izvēlēties %n datņu","Izvēlēties %n datni","Izvēlēties %n datnes"]},{msgid:"Copy",msgstr:["Kopēt"]},{msgid:"Copy to {target}",msgstr:["Kopēt uz {target}"]},{msgid:"Could not create the new folder",msgstr:["Nevarēja izveidot jaunu mapi"]},{msgid:"Could not load files settings",msgstr:["Nevarēja ielādēt datņu iestatījumus"]},{msgid:"Could not load files views",msgstr:["Nevarēja ielādēt datņu apskatījumus"]},{msgid:"Create directory",msgstr:["Izveidot direktoriju"]},{msgid:"Current view selector",msgstr:["Pašreizēja skata atlasītājs"]},{msgid:"Favorites",msgstr:["Favorīti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Šeit parādīsies datnes un mapes, kas tiks atzīmētas kā iecienītas."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Šeit parādīsies datnes un mapes, kuras nesen tika izmainītas."]},{msgid:"Filter file list",msgstr:["Atlasīt datņu sarakstu"]},{msgid:"Folder name cannot be empty.",msgstr:["Mapes nosaukums nevar būt tukšs."]},{msgid:"Home",msgstr:["Sākums"]},{msgid:"Modified",msgstr:["Izmaninīta"]},{msgid:"Move",msgstr:["Pārvietot"]},{msgid:"Move to {target}",msgstr:["Pārvietot uz {target}"]},{msgid:"Name",msgstr:["Nosaukums"]},{msgid:"New",msgstr:["Jauns"]},{msgid:"New folder",msgstr:["Jauna mape"]},{msgid:"New folder name",msgstr:["Jaunas mapes nosaukums"]},{msgid:"No files in here",msgstr:["Šeit nav datņu"]},{msgid:"No files matching your filter were found.",msgstr:["Netika atrasta neviena datne, kas atbilst atlasei."]},{msgid:"No matching files",msgstr:["Nav atbilstošu datņu"]},{msgid:"Recent",msgstr:["Nesenās"]},{msgid:"Select all entries",msgstr:["Atlasīt visus ierakstus"]},{msgid:"Select entry",msgstr:["Atlasīt ierakstu"]},{msgid:"Select the row for {nodename}",msgstr:["Atlasīt rindu {nodename}"]},{msgid:"Size",msgstr:["Izmērs"]},{msgid:"Undo",msgstr:["Atsaukt"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Augšupielādē kādu saturu vai sinhronizē savās iekārtās!"]}]},{language:"mk",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" не е дозволен во име на папка.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не е дозволено во име.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" не е дозволено име.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" е резервирано име и не е дозволено за име на папка.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" е резервирано име и не е дозволено.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n конфликт со датотекa","%n конфликти со датотеки"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n конфликт со датотека во {dirname}","%n конфликти со датотеки vo {dirname}"]},{msgid:"All files",msgstr:["Сите датотеки"]},{msgid:"Cancel",msgstr:["Откажи"]},{msgid:"Cancel the entire operation",msgstr:["Прекини ја целата операција"]},{msgid:"Choose",msgstr:["Избери"]},{msgid:"Choose {file}",msgstr:["Избери {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Избери %n датотека","Избери %n датотеки"]},{msgid:"Confirm",msgstr:["Потврди"]},{msgid:"Continue",msgstr:["Продолжи"]},{msgid:"Copy",msgstr:["Копирај"]},{msgid:"Copy to {target}",msgstr:["Копирај во {target}"]},{msgid:"Could not create the new folder",msgstr:["Неможе да се креира нова папка"]},{msgid:"Could not load files settings",msgstr:["Неможе да се вчиаат параметрите за датотеките"]},{msgid:"Could not load files views",msgstr:["Неможе да се вчитаат погледите за датотеките"]},{msgid:"Create directory",msgstr:["Креирај папка"]},{msgid:"Current view selector",msgstr:["Избирач на тековен приказ"]},{msgid:"Enter your name",msgstr:["Внесете го вашето име"]},{msgid:"Existing version",msgstr:["Моментална верзија"]},{msgid:"Failed to set nickname.",msgstr:["Неуспешно поставување прекар."]},{msgid:"Favorites",msgstr:["Фаворити"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Датотеките и папките кој ќе ги означите за омилени ќе се појават овде."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Датотеките и папките кој неодамна сте ги измениле ќе се појават овде."]},{msgid:"Filter file list",msgstr:["Филтрирај листа на датотеки"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Имињата на папките неможе да завршуваат со "{extension}".']},{msgid:"Guest identification",msgstr:["Гостинска идентификација"]},{msgid:"Home",msgstr:["Почетна"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Ако ги избереш двете верзии, влезната датотека ќе добие број додаден на нејзиното име."]},{msgid:"Invalid folder name.",msgstr:["Невалидно име на папка."]},{msgid:"Invalid name.",msgstr:["Невалидно име."]},{msgid:"Last modified date unknown",msgstr:["Датумот на последна измена е непознат"]},{msgid:"Modified",msgstr:["Променето"]},{msgid:"Move",msgstr:["Премести"]},{msgid:"Move to {target}",msgstr:["Премести во {target}"]},{msgid:"Name",msgstr:["Име"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Имињата можат да бидат најмногу со 64 карактери."]},{msgid:"Names must not be empty.",msgstr:["Имињата неможе да бидат празни."]},{msgid:'Names must not end with "{extension}".',msgstr:['Имињата неможе да завршуваат со "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Имињата неможе да започнуваат со точка."]},{msgid:"New",msgstr:["Нова"]},{msgid:"New folder",msgstr:["Нова папка"]},{msgid:"New folder name",msgstr:["Ново име на папка"]},{msgid:"New version",msgstr:["Нова верзија"]},{msgid:"No files in here",msgstr:["Овде нема датотеки"]},{msgid:"No files matching your filter were found.",msgstr:["Не се пронајдени датотеки што одговараат на вашиот филтер."]},{msgid:"No matching files",msgstr:["Нема датотеки што се совпаѓаат"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Внесете име со најмалку 2 карактери."]},{msgid:"Recent",msgstr:["Неодамнешни"]},{msgid:"Select all checkboxes",msgstr:["Избери ги сите полиња за избор"]},{msgid:"Select all entries",msgstr:["Изберете ги сите записи"]},{msgid:"Select all existing files",msgstr:["Изберете ги сите постоечки датотеки"]},{msgid:"Select all new files",msgstr:["Изберете ги сите нови датотеки"]},{msgid:"Select entry",msgstr:["Избери запис"]},{msgid:"Select the row for {nodename}",msgstr:["Избери ред за {nodename}"]},{msgid:"Size",msgstr:["Големина"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Прескокни %n датотека","Прескокни %n датотеки"]},{msgid:"Skip this file",msgstr:["Прескокни ја оваа датотека"]},{msgid:"Submit name",msgstr:["Испрати име"]},{msgid:"Undo",msgstr:["Врати"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Прикачи содржина или синхронизирај со ваши уреди!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Кога е избрана влезна папка, сите конфликтни датотеки во неа исто така ќе бидат препишани."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Кога е избрана влезна папка, содржината се запишува во постоечката папка и се извршува рекурсивно решавање на конфликти."]},{msgid:"Which files do you want to keep?",msgstr:["Кој датотеки сакаш да ги зачуваш?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Моментално сте идентификувани како {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Моментално не сте идентификувани."]},{msgid:"You cannot leave the name empty.",msgstr:["Не можете да го оставите името празно."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Треба да избереш најмалку едно решение за конфликт"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Треба да избереш најмалку една верзија за секоја датотека за да продолжи."]}]},{language:"ms_MY",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" adalah nama folder yang tidak sesuai ']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nama folder yang tidak dibenarkan']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" tidak dibenarkan dalam nama folder']},{msgid:"All files",msgstr:["Semua fail"]},{msgid:"Choose",msgstr:["Pilih"]},{msgid:"Choose {file}",msgstr:["Pilih {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pilih fail %n"]},{msgid:"Copy",msgstr:["menyalin"]},{msgid:"Copy to {target}",msgstr:["menyalin ke {target}"]},{msgid:"Could not create the new folder",msgstr:["Tidak dapat mewujudkan folder baharu"]},{msgid:"Could not load files settings",msgstr:["Tidak dapat memuatkan tetapan fail"]},{msgid:"Could not load files views",msgstr:["Tidak dapat memuatkan paparan fail"]},{msgid:"Create directory",msgstr:["mewujudkan direktori"]},{msgid:"Current view selector",msgstr:["pemilih pandangan semasa"]},{msgid:"Favorites",msgstr:["Pilihan"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Fail dan folder yang anda tanda sebagai pilihan akan dipaparkan di sini."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Fail dan folder yang anda telah ubah suai baru-baru ini dipaparkan di sini."]},{msgid:"Filter file list",msgstr:["Menapis senarai fail"]},{msgid:"Folder name cannot be empty.",msgstr:["Nama folder tidak boleh kosong."]},{msgid:"Home",msgstr:["Utama"]},{msgid:"Modified",msgstr:["Ubah suai"]},{msgid:"Move",msgstr:["pindah"]},{msgid:"Move to {target}",msgstr:["pindah ke {target}"]},{msgid:"Name",msgstr:["Nama"]},{msgid:"New",msgstr:["Baru"]},{msgid:"New folder",msgstr:["Folder Baharu"]},{msgid:"New folder name",msgstr:["Nama folder baharu"]},{msgid:"No files in here",msgstr:["Tiada fail di sini"]},{msgid:"No files matching your filter were found.",msgstr:["Tiada fail yang sepadan dengan tapisan anda."]},{msgid:"No matching files",msgstr:["Tiada fail yang sepadan"]},{msgid:"Recent",msgstr:["baru-baru ini"]},{msgid:"Select all entries",msgstr:["Pilih semua entri"]},{msgid:"Select entry",msgstr:["Pilih entri"]},{msgid:"Select the row for {nodename}",msgstr:["memilih baris {nodename}"]},{msgid:"Size",msgstr:["Saiz"]},{msgid:"Undo",msgstr:["buat asal"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Muat naik beberapa kandungan atau selaras dengan peranti anda!"]}]},{language:"nb_NO",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" er ikke tillatt i et mappenavn.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" er ikke tillatt i et navn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" er ikke et tillatt navn.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" er et reservert navn og er ikke tillatt for mappenavn.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" er et reservert navn og er ikke tillatt.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n filkonflikt","%n files conflict"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n fil konflikter i {dirname}","%n fil konflikter i {dirname}"]},{msgid:"All files",msgstr:["Alle filer"]},{msgid:"Cancel",msgstr:["Avbryt"]},{msgid:"Cancel the entire operation",msgstr:["Avbryt hele operasjonen"]},{msgid:"Choose",msgstr:["Velg"]},{msgid:"Choose {file}",msgstr:["Velg {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Velg %n fil","Velg %n filer"]},{msgid:"Confirm",msgstr:["Bekreft"]},{msgid:"Continue",msgstr:["Fortsett"]},{msgid:"Copy",msgstr:["Kopier"]},{msgid:"Copy to {target}",msgstr:["Kopier til {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunne ikke opprette den nye mappen"]},{msgid:"Could not load files settings",msgstr:["Kunne ikke laste filinnstillinger"]},{msgid:"Could not load files views",msgstr:["Kunne ikke laste filvisninger"]},{msgid:"Create directory",msgstr:["Opprett mappe"]},{msgid:"Current view selector",msgstr:["Nåværende visningsvelger"]},{msgid:"Enter your name",msgstr:["Skriv inn navnet ditt"]},{msgid:"Existing version",msgstr:["Eksisterende versjon"]},{msgid:"Failed to set nickname.",msgstr:["Kunne ikke lagre kallenavnet."]},{msgid:"Favorites",msgstr:["Favoritter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer og mapper du markerer som favoritter vil vises her."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer og mapper du nylig har endret, vil vises her."]},{msgid:"Filter file list",msgstr:["Filtrer filliste"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Mappenavn må ikke slutte med "{extension}".']},{msgid:"Guest identification",msgstr:["Gjesteidentifikasjon"]},{msgid:"Home",msgstr:["Hjem"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Hvis du velger begge versjonene, vil den innkommende filen få et nummer lagt til navnet sitt."]},{msgid:"Invalid folder name.",msgstr:["Ugyldig mappenavn."]},{msgid:"Invalid name.",msgstr:["Ugyldig navn."]},{msgid:"Last modified date unknown",msgstr:["Sist endret dato ukjent"]},{msgid:"Modified",msgstr:["Modifisert"]},{msgid:"Move",msgstr:["Flytt"]},{msgid:"Move to {target}",msgstr:["Flytt til {target}"]},{msgid:"Name",msgstr:["Navn"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Navn kan maksimalt være 64 tegn lange."]},{msgid:"Names must not be empty.",msgstr:["Navn kan ikke være tomme."]},{msgid:'Names must not end with "{extension}".',msgstr:['Navn kan ikke ende med "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Navn kan ikke starte med et punktum."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mappe"]},{msgid:"New folder name",msgstr:["Nytt mappenavn"]},{msgid:"New version",msgstr:["Ny versjon"]},{msgid:"No files in here",msgstr:["Ingen filer her"]},{msgid:"No files matching your filter were found.",msgstr:["Ingen filer funnet med ditt filter."]},{msgid:"No matching files",msgstr:["Ingen filer samsvarer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Vennligst angi et navn som har minst 2 tegn."]},{msgid:"Recent",msgstr:["Nylige"]},{msgid:"Select all checkboxes",msgstr:["Merk av i alle avmerkingsboksene"]},{msgid:"Select all entries",msgstr:["Velg alle oppføringer"]},{msgid:"Select all existing files",msgstr:["Velg alle eksisterende filer"]},{msgid:"Select all new files",msgstr:["Velg alle nye filer"]},{msgid:"Select entry",msgstr:["Velg oppføring"]},{msgid:"Select the row for {nodename}",msgstr:["Velg raden for {nodename}"]},{msgid:"Size",msgstr:["Størrelse"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Hopp over %n fil","Hopp over %nfiler"]},{msgid:"Skip this file",msgstr:["Hopp over denne filen"]},{msgid:"Submit name",msgstr:["Bekreft navn"]},{msgid:"Undo",msgstr:["Angre"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Last opp innhold eller synkroniser med enhetene dine!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Når en innkommende mappe velges, vil eventuelle motstridende filer i den også bli overskrevet."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Når en innkommende mappe velges, vil eventuelle filer i den også bli overskrevet."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Når en innkommende mappe velges, skrives innholdet inn i den eksisterende mappen, og en rekursiv konfliktløsning utføres."]},{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer vil du beholde?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du er akkurat nå identifisert som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du er akkurat nå ikke identifisert."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan ikke la navnet være blankt."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Du må velge minst én konfliktløsning"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du må velge minst én versjon av hver fil for å fortsette."]}]},{language:"nl",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" is niet toegestaan in een mapnaam.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" kan niet gebruikt worden in de benaming.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" is geen toegestane naam.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" is een gereserveerde naam en niet toegestaan in mapnamen.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" is een gereserveerde naam en niet toegestaan.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n bestanden conflicteren","%nbestand bestanden conflicteren"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n bestand conflicteerd in {dirname}","%nbestanden conflicteert in {dirname}"]},{msgid:"All files",msgstr:["Alle bestanden"]},{msgid:"Cancel",msgstr:["Annuleren"]},{msgid:"Cancel the entire operation",msgstr:["Annuleer de hele bewerking"]},{msgid:"Choose",msgstr:["Kiezen"]},{msgid:"Choose {file}",msgstr:["Kies {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Kies %n bestand","Kies %n bestanden"]},{msgid:"Confirm",msgstr:["Bevestigen"]},{msgid:"Continue",msgstr:["Doorgaan"]},{msgid:"Copy",msgstr:["Kopiëren"]},{msgid:"Copy to {target}",msgstr:["Kopiëren naar {target}"]},{msgid:"Could not create the new folder",msgstr:["Kon de nieuwe map niet maken"]},{msgid:"Could not load files settings",msgstr:["Kon de bestandsinstellingen niet laden"]},{msgid:"Could not load files views",msgstr:["Kon de bestandsweergaves niet laden"]},{msgid:"Create directory",msgstr:["Map aanmaken"]},{msgid:"Current view selector",msgstr:["Huidige weergave keuze"]},{msgid:"Enter your name",msgstr:["Voer je naam in"]},{msgid:"Existing version",msgstr:["Bestaande versie"]},{msgid:"Failed to set nickname.",msgstr:["Kon geen bijnaam instellen."]},{msgid:"Favorites",msgstr:["Favorieten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Bestanden en mappen die je als favoriet markeert, verschijnen hier."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Bestanden en mappen die je recentelijk hebt gewijzigd, verschijnen hier."]},{msgid:"Filter file list",msgstr:["Bestandslijst filteren"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Mapnamen mogen niet eindigen op "{extension}".']},{msgid:"Guest identification",msgstr:["Gastenidentificatie"]},{msgid:"Home",msgstr:["Thuis"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Als u beide versies selecteert wordt een nummer toegevoegd aan de naam van het binnenkomende bestand."]},{msgid:"Invalid folder name.",msgstr:["Ongeldige mapnaam."]},{msgid:"Invalid name.",msgstr:["Ongeldige naam."]},{msgid:"Last modified date unknown",msgstr:["Laatste wijzigingsdatum onbekend"]},{msgid:"Modified",msgstr:["Gewijzigd"]},{msgid:"Move",msgstr:["Verplaatsen"]},{msgid:"Move to {target}",msgstr:["Verplaatsen naar {target}"]},{msgid:"Name",msgstr:["Naam"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namen mogen maximaal 64 tekens lang zijn."]},{msgid:"Names must not be empty.",msgstr:["Namen mogen niet leeg zijn."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namen mogen niet eindigen met "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Namen mogen niet begonnen met een punt."]},{msgid:"New",msgstr:["Nieuw"]},{msgid:"New folder",msgstr:["Nieuwe map"]},{msgid:"New folder name",msgstr:["Nieuwe mapnaam"]},{msgid:"New version",msgstr:["Nieuwe versie"]},{msgid:"No files in here",msgstr:["Geen bestanden hier"]},{msgid:"No files matching your filter were found.",msgstr:["Geen bestanden gevonden die voldoen aan je filter."]},{msgid:"No matching files",msgstr:["Geen overeenkomende bestanden"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Voer een naam in met minimaal 2 tekens."]},{msgid:"Recent",msgstr:["Recent"]},{msgid:"Select all checkboxes",msgstr:["Selecteer alle aanvinkopties"]},{msgid:"Select all entries",msgstr:["Alle invoer selecteren"]},{msgid:"Select all existing files",msgstr:["Selecteer alle bestaande bestanden"]},{msgid:"Select all new files",msgstr:["Selecteer alle nieuwe bestanden"]},{msgid:"Select entry",msgstr:["Invoer selecteren"]},{msgid:"Select the row for {nodename}",msgstr:["Selecteer de rij voor {nodename}"]},{msgid:"Size",msgstr:["Grootte"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Sla %n bestand over","Sla %n bestanden over"]},{msgid:"Skip this file",msgstr:["Sla dit bestand over"]},{msgid:"Submit name",msgstr:["Naam indienen"]},{msgid:"Undo",msgstr:["Ongedaan maken"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Upload inhoud of synchroniseer met je apparaten!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Als een inkomende map wordt geselecteerd, worden alle conflicterende bestanden daarin overschreven."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Wanneer een inkomende folder is geselecteerd, worden bestanden in deze folder ook overschreven."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Als een inkomende map wordt geselecteerd, wordt de inhoud naar de bestaande map geschreven en wordt een recursieve conflict-oplossing uitgevoerd."]},{msgid:"Which files do you want to keep?",msgstr:["Welke bestanden wilt u bewaren?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Je wordt momenteel geïdentificeerd als {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Je bent momenteel niet geïdentificeerd."]},{msgid:"You cannot leave the name empty.",msgstr:["Je kunt de naam niet leeg laten."]},{msgid:"You need to choose at least one conflict solution",msgstr:["U moet in elk geval een conflictoplossing kiezen"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["U moet minstens een versie van elk bestand kiezen om door te gaan. "]}]},{language:"pl",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['Znak "{char}" nie jest dozwolony w nazwie folderu.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" nie jest dozwolone w nazwie.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" nie jest dozwoloną nazwą.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" jest nazwą zastrzeżoną i nie jest dozwolona jako nazwa folderu.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" jest zastrzeżoną nazwą i nie jest dozwolone.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["Konflikt pliku","Konflikt %n plików","Konflikt %n plików","Konflikt %n plików"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n konfliktów pliku w {dirname}","%n konfliktów plików w {dirname}","%n konfliktów plików w {dirname}","%n konfliktów plików w {dirname}"]},{msgid:"All files",msgstr:["Wszystkie pliki"]},{msgid:"Cancel",msgstr:["Anuluj"]},{msgid:"Cancel the entire operation",msgstr:["Anuluj całą operację"]},{msgid:"Choose",msgstr:["Wybierz"]},{msgid:"Choose {file}",msgstr:["Wybierz {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Wybierz %n plik","Wybierz %n pliki","Wybierz %n plików","Wybierz %n plików"]},{msgid:"Confirm",msgstr:["Potwierdź"]},{msgid:"Continue",msgstr:["Kontynuuj"]},{msgid:"Copy",msgstr:["Kopiuj"]},{msgid:"Copy to {target}",msgstr:["Skopiuj do {target}"]},{msgid:"Could not create the new folder",msgstr:["Nie można utworzyć nowego folderu"]},{msgid:"Could not load files settings",msgstr:["Nie można wczytać ustawień plików"]},{msgid:"Could not load files views",msgstr:["Nie można wczytać widoków plików"]},{msgid:"Create directory",msgstr:["Utwórz katalog"]},{msgid:"Current view selector",msgstr:["Bieżący selektor widoku"]},{msgid:"Enter your name",msgstr:["Wprowadź nazwę"]},{msgid:"Existing version",msgstr:["Istniejąca wersja"]},{msgid:"Failed to set nickname.",msgstr:["Nie udało się utworzyć pseudonimu."]},{msgid:"Favorites",msgstr:["Ulubione"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Pliki i foldery które oznaczysz jako ulubione będą wyświetlały się tutaj"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Pliki i foldery które ostatnio modyfikowałeś będą wyświetlały się tutaj"]},{msgid:"Filter file list",msgstr:["Filtruj listę plików"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Nazwy folderów nie mogą kończyć się na "{extension}".']},{msgid:"Guest identification",msgstr:["Identyfikacja gościa"]},{msgid:"Home",msgstr:["Strona główna"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Jeśli wybierzesz obie wersje, do nazwy przychodzącego pliku zostanie dodany numer."]},{msgid:"Invalid folder name.",msgstr:["Nieprawidłowa nazwa folderu."]},{msgid:"Invalid name.",msgstr:["Nieprawidłowa nazwa."]},{msgid:"Last modified date unknown",msgstr:["Data ostatniej modyfikacji nieznana"]},{msgid:"Modified",msgstr:["Zmodyfikowano"]},{msgid:"Move",msgstr:["Przenieś"]},{msgid:"Move to {target}",msgstr:["Przejdź do {target}"]},{msgid:"Name",msgstr:["Nazwa"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Nazwy mogą mieć maksymalnie 64 znaki."]},{msgid:"Names must not be empty.",msgstr:["Nazwy nie mogą być puste."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nazwy nie mogą kończyć się na "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nazwy nie mogą zaczynać się od kropki."]},{msgid:"New",msgstr:["Nowy"]},{msgid:"New folder",msgstr:["Nowy folder"]},{msgid:"New folder name",msgstr:["Nowa nazwa folderu"]},{msgid:"New version",msgstr:["Nowa wersja"]},{msgid:"No files in here",msgstr:["Brak plików"]},{msgid:"No files matching your filter were found.",msgstr:["Nie znaleziono plików spełniających warunki filtru"]},{msgid:"No matching files",msgstr:["Brak pasujących plików"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Wprowadź nazwę zawierającą minimum 2 znaki."]},{msgid:"Recent",msgstr:["Ostatni"]},{msgid:"Select all checkboxes",msgstr:["Zaznacz wszystkie pola wyboru"]},{msgid:"Select all entries",msgstr:["Wybierz wszystkie wpisy"]},{msgid:"Select all existing files",msgstr:["Zaznacz wszystkie istniejące pliki"]},{msgid:"Select all new files",msgstr:["Zaznacz wszystkie nowe pliki"]},{msgid:"Select entry",msgstr:["Wybierz wpis"]},{msgid:"Select the row for {nodename}",msgstr:["Wybierz wiersz dla {nodename}"]},{msgid:"Size",msgstr:["Rozmiar"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Pomiń %n plik","Pomiń %n plików","Pomiń %n plików","Pomiń %n plików"]},{msgid:"Skip this file",msgstr:["Pomiń ten plik"]},{msgid:"Submit name",msgstr:["Zatwierdź nazwę"]},{msgid:"Undo",msgstr:["Cofnij"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Wyślij zawartość lub zsynchronizuj ze swoimi urządzeniami!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Po wybraniu przychodzącego folderu wszystkie konfliktujące pliki w jego obrębie również zostaną nadpisane."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Po wybraniu przychodzącego folderu jego zawartość zostanie zapisana w istniejącym folderze i zostanie przeprowadzone rekursywne rozwiązywanie konfliktów."]},{msgid:"Which files do you want to keep?",msgstr:["Które pliki chcesz zachować?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Obecnie jesteś zidentyfikowany jako {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Użytkownik nie został uwierzytelniony."]},{msgid:"You cannot leave the name empty.",msgstr:["Nazwa nie może być pusta."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Musisz wybrać co najmniej jedno rozwiązanie konfliktu"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku."]}]},{language:"pt_BR",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" não é permitido dentro de um nome de pasta.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" não é permitido dentro de um nome.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" não é um nome permitido.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" é um nome reservado e não permitido para nomes de pasta.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" é um nome reservado e não permitido.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n arquivo conflita","%n de arquivos conflitam","%n arquivos conflitam"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n conflito de arquivo em {dirname}","%n de conflitos de arquivos em {dirname}","%n conflitos de arquivos em {dirname}"]},{msgid:"All files",msgstr:["Todos os arquivos"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Cancel the entire operation",msgstr:["Cancelar toda a operação"]},{msgid:"Choose",msgstr:["Escolher"]},{msgid:"Choose {file}",msgstr:["Escolher {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escolher %n arquivo","Escolher %n arquivos","Escolher %n arquivos"]},{msgid:"Confirm",msgstr:["Confirmar"]},{msgid:"Continue",msgstr:["Continuar"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar para {target}"]},{msgid:"Could not create the new folder",msgstr:["Não foi possível criar a nova pasta"]},{msgid:"Could not load files settings",msgstr:["Não foi possível carregar configurações de arquivos"]},{msgid:"Could not load files views",msgstr:["Não foi possível carregar visualições de arquivos"]},{msgid:"Create directory",msgstr:["Criar diretório"]},{msgid:"Current view selector",msgstr:["Seletor de visualização atual"]},{msgid:"Enter your name",msgstr:["Digite seu nome"]},{msgid:"Existing version",msgstr:["Versão existente"]},{msgid:"Failed to set nickname.",msgstr:["Falha ao definir apelido."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os arquivos e pastas que você marca como favoritos aparecerão aqui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Arquivos e pastas que você modificou recentemente aparecerão aqui."]},{msgid:"Filter file list",msgstr:["Filtrar lista de arquivos"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Nomes de pasta não podem terminar com "{extension}".']},{msgid:"Guest identification",msgstr:["Identificação de convidados"]},{msgid:"Home",msgstr:["Início"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Se você selecionar ambas as versões, um número será adicionado ao nome do arquivo recebido."]},{msgid:"Invalid folder name.",msgstr:["Nome de pasta inválido."]},{msgid:"Invalid name.",msgstr:["Nome inválido."]},{msgid:"Last modified date unknown",msgstr:["Data da última modificação desconhecida"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover para {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Os nomes podem ter no máximo 64 caracteres."]},{msgid:"Names must not be empty.",msgstr:["Nomes não podem estar vazios."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nomes não podem terminar com "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nomes não podem começar com um ponto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Nova pasta"]},{msgid:"New folder name",msgstr:["Novo nome de pasta"]},{msgid:"New version",msgstr:["Nova versão"]},{msgid:"No files in here",msgstr:["Nenhum arquivo aqui"]},{msgid:"No files matching your filter were found.",msgstr:["Nenhum arquivo correspondente ao seu filtro foi encontrado."]},{msgid:"No matching files",msgstr:["Nenhum arquivo correspondente"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Digite um nome com pelo menos 2 caracteres."]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all checkboxes",msgstr:["Selecione todas as caixas de seleção"]},{msgid:"Select all entries",msgstr:["Selecionar todas as entradas"]},{msgid:"Select all existing files",msgstr:["Selecione todos os arquivos existentes"]},{msgid:"Select all new files",msgstr:["Selecione todos os novos arquivos"]},{msgid:"Select entry",msgstr:["Selecionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecionar a linha para {nodename}"]},{msgid:"Size",msgstr:["Tamanho"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Ignorar %n arquivo","Ignorar %n de arquivos","Ignorar %n arquivos"]},{msgid:"Skip this file",msgstr:["Ignorar este arquivo"]},{msgid:"Submit name",msgstr:["Enviar nome"]},{msgid:"Undo",msgstr:["Desfazer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Faça upload de algum conteúdo ou sincronize com seus dispositivos!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Ao selecionar uma pasta de entrada, quaisquer arquivos conflitantes dentro dela também serão sobrescritos."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Quando uma pasta de entrada for selecionada, todos os arquivos nela contidos também serão substituídos."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Quando uma pasta de entrada é selecionada, o conteúdo é gravado na pasta existente e uma resolução recursiva de conflitos é realizada."]},{msgid:"Which files do you want to keep?",msgstr:["Quais arquivos você deseja manter?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Você está atualmente identificado como {nickname}."]},{msgid:"You are currently not identified.",msgstr:["No momento, você não está identificado."]},{msgid:"You cannot leave the name empty.",msgstr:["Você não pode deixar o nome vazio."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Você precisa escolher pelo menos uma solução para o conflito"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Você precisa selecionar pelo menos uma versão de cada arquivo para continuar."]}]},{language:"pt_PT",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" não é permitido dentro de um nome de pasta.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" não é permitido dentro de um nome.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" não é um nome permitido.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" é um nome reservado e não é permitido para nomes de pasta.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" é um nome reservado e não é permitido.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n ficheiro em conflito","%n ficheiros em conflito","%n ficheiros em conflito"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n ficheiro em conflito em {dirname}","%n ficheiros em conflito em {dirname}","%n ficheiros em conflito em {dirname}"]},{msgid:"All files",msgstr:["Todos os ficheiros"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Cancel the entire operation",msgstr:["Cancelar toda a operação"]},{msgid:"Choose",msgstr:["Escolher"]},{msgid:"Choose {file}",msgstr:["Escolher {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escolha %n ficheiro","Escolha %n ficheiros","Escolha %n ficheiros"]},{msgid:"Confirm",msgstr:["Confirmar"]},{msgid:"Continue",msgstr:["Continuar"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar para {target}"]},{msgid:"Could not create the new folder",msgstr:["Não foi possível criar a nova pasta "]},{msgid:"Could not load files settings",msgstr:["Não foi possível carregar as definições dos ficheiros"]},{msgid:"Could not load files views",msgstr:["Não foi possível carregar as visualizações dos ficheiros"]},{msgid:"Create directory",msgstr:["Criar pasta"]},{msgid:"Current view selector",msgstr:["Seletor de visualização atual"]},{msgid:"Enter your name",msgstr:["Introduza o seu nome"]},{msgid:"Existing version",msgstr:["Versão existente"]},{msgid:"Failed to set nickname.",msgstr:["Falha ao definir o nome alternativo."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os ficheiros e as pastas que marcar como favoritos aparecerão aqui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Os ficheiros e as pastas que modificou recentemente aparecerão aqui."]},{msgid:"Filter file list",msgstr:["Filtrar lista de ficheiros"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Nomes de pasta não podem terminar em "{extension}".']},{msgid:"Guest identification",msgstr:["Identificação de convidado"]},{msgid:"Home",msgstr:["Início"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Se você selecionar ambas as versões, um número será adicionado ao nome do ficheiro recebido."]},{msgid:"Invalid folder name.",msgstr:["Nome de pasta inválido."]},{msgid:"Invalid name.",msgstr:["Nome inválido."]},{msgid:"Last modified date unknown",msgstr:["Data da última modificação desconhecida"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover para {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Os nomes podem ter no máximo 64 caracteres."]},{msgid:"Names must not be empty.",msgstr:["O nome não pode ficar em branco."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nomes não podem terminar em "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Os nomes não podem começar por um ponto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Nova pasta"]},{msgid:"New folder name",msgstr:["Novo nome da pasta"]},{msgid:"New version",msgstr:["Nova versão"]},{msgid:"No files in here",msgstr:["Sem ficheiros aqui"]},{msgid:"No files matching your filter were found.",msgstr:["Não foi encontrado nenhum ficheiro correspondente ao seu filtro."]},{msgid:"No matching files",msgstr:["Nenhum ficheiro correspondente"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Introduza um nome com, pelo menos, 2 caracteres."]},{msgid:"Recent",msgstr:["Recentes"]},{msgid:"Select all checkboxes",msgstr:["Selecione todas as caixas de seleção"]},{msgid:"Select all entries",msgstr:["Selecionar todas as entradas"]},{msgid:"Select all existing files",msgstr:["Selecione todos os ficheiros existentes"]},{msgid:"Select all new files",msgstr:["Selecione todos os novos ficheiros"]},{msgid:"Select entry",msgstr:["Selecionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecione a linha para {nodename}"]},{msgid:"Size",msgstr:["Tamanho"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Ignorar %n ficheiro","Ignorar %n ficheiros","Ignorar %n ficheiros"]},{msgid:"Skip this file",msgstr:["Ignorar este ficheiro"]},{msgid:"Submit name",msgstr:["Submeter nome"]},{msgid:"Undo",msgstr:["Anular"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Envie algum conteúdo ou sincronize com os seus dispositivos!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Ao selecionar uma pasta de entrada, quaisquer ficheiros conflituantes dentro da mesma serão também sobrescritos."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Ao selecionar uma pasta de entrada, todos os ficheiros nela contidos serão também sobrescritos."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Quando uma pasta de entrada é selecionada, o conteúdo é gravado na pasta existente e é realizada uma resolução recursiva de conflitos."]},{msgid:"Which files do you want to keep?",msgstr:["Quais os ficheiros que deseja manter?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Atualmente está identificado como {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Atualmente, não está identificado."]},{msgid:"You cannot leave the name empty.",msgstr:["Não pode deixar o nome em branco."]},{msgid:"You need to choose at least one conflict solution",msgstr:["É preciso escolher pelo menos uma solução para o conflito."]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["É necessário selecionar pelo menos uma versão de cada ficheiro para continuar."]}]},{language:"ro",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" este un nume de director invalid.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nu este un nume de director permis']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nu este permis în numele unui director.']},{msgid:"All files",msgstr:["Toate fișierele"]},{msgid:"Choose",msgstr:["Alege"]},{msgid:"Choose {file}",msgstr:["Alege {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Alege %n fișier","Alege %n fișiere","Alege %n fișiere"]},{msgid:"Copy",msgstr:["Copiază"]},{msgid:"Copy to {target}",msgstr:["Copiază în {target}"]},{msgid:"Could not create the new folder",msgstr:["Nu s-a putut crea noul director"]},{msgid:"Could not load files settings",msgstr:["Nu s-au putut încărca setările fișierelor"]},{msgid:"Could not load files views",msgstr:["Nu s-au putut încărca vizualizările fișierelor"]},{msgid:"Create directory",msgstr:["Creează director"]},{msgid:"Current view selector",msgstr:["Selectorul curent al vizualizării"]},{msgid:"Favorites",msgstr:["Favorite"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Fișiere și directoare pe care le marcați ca favorite vor apărea aici."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Fișiere și directoare pe care le-ați modificat recent vor apărea aici."]},{msgid:"Filter file list",msgstr:["Filtrează lista de fișiere"]},{msgid:"Folder name cannot be empty.",msgstr:["Numele de director nu poate fi necompletat."]},{msgid:"Home",msgstr:["Acasă"]},{msgid:"Modified",msgstr:["Modificat"]},{msgid:"Move",msgstr:["Mută"]},{msgid:"Move to {target}",msgstr:["Mută către {target}"]},{msgid:"Name",msgstr:["Nume"]},{msgid:"New",msgstr:["Nou"]},{msgid:"New folder",msgstr:["Director nou"]},{msgid:"New folder name",msgstr:["Numele noului director"]},{msgid:"No files in here",msgstr:["Nu există fișiere"]},{msgid:"No files matching your filter were found.",msgstr:["Nu există fișiere potrivite pentru filtrul selectat"]},{msgid:"No matching files",msgstr:["Nu există fișiere potrivite"]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all entries",msgstr:["Selectează toate înregistrările"]},{msgid:"Select entry",msgstr:["Selectează înregistrarea"]},{msgid:"Select the row for {nodename}",msgstr:["Selectează rândul pentru {nodename}"]},{msgid:"Size",msgstr:["Mărime"]},{msgid:"Undo",msgstr:["Anulează"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Încărcați conținut sau sincronizați cu dispozitivele dumneavoastră!"]}]},{language:"ru",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" не допускается в названии папки.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не допускается внутри имени.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" — недопустимое имя.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" — зарезервированное имя, недопустимое для имени папки.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" — зарезервированное и недопустимое имя.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n конфликт файла","%n конфликта файлов","%n конфликтов файлов","%n конфликтов файлов"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n конфликт файлов в {dirname}","%n конфликта файлов в {dirname}","%n конфликтов файлов в {dirname}","%n конфликтов файлов в {dirname}"]},{msgid:"All files",msgstr:["Все файлы"]},{msgid:"Cancel",msgstr:["Отмена"]},{msgid:"Cancel the entire operation",msgstr:["Отменить всю операцию"]},{msgid:"Choose",msgstr:["Выбрать"]},{msgid:"Choose {file}",msgstr:["Выбрать «{file}»"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Выбрать %n файл","Выбрать %n файла","Выбрать %n файлов","Выбрать %n файлов"]},{msgid:"Confirm",msgstr:["Подтвердить"]},{msgid:"Continue",msgstr:["Продолжить"]},{msgid:"Copy",msgstr:["Копировать"]},{msgid:"Copy to {target}",msgstr:["Копировать в «{target}»"]},{msgid:"Could not create the new folder",msgstr:["Не удалось создать новую папку"]},{msgid:"Could not load files settings",msgstr:["Не удалось загрузить настройки файлов"]},{msgid:"Could not load files views",msgstr:["Не удалось загрузить конфигурацию просмотра файлов"]},{msgid:"Create directory",msgstr:["Создать папку"]},{msgid:"Current view selector",msgstr:["Переключатель текущего вида"]},{msgid:"Enter your name",msgstr:["Введите ваше имя"]},{msgid:"Existing version",msgstr:["Текущая версия"]},{msgid:"Failed to set nickname.",msgstr:["Не удалось задать никнейм."]},{msgid:"Favorites",msgstr:["Избранное"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Здесь будут отображаться файлы и папки, которые вы пометили как избранные."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Здесь будут отображаться файлы и папки, которые вы недавно изменили."]},{msgid:"Filter file list",msgstr:["Фильтровать список файлов"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Имена папок не могут оканчиваться на "{extension}".']},{msgid:"Guest identification",msgstr:["Гостевая идентификация"]},{msgid:"Home",msgstr:["Домой"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Если вы выберете обе версии, к имени входящего файла будет добавлен номер."]},{msgid:"Invalid folder name.",msgstr:["Недопустимое имя папки."]},{msgid:"Invalid name.",msgstr:["Недопустимое имя."]},{msgid:"Last modified date unknown",msgstr:["Дата последнего изменения неизвестна"]},{msgid:"Modified",msgstr:["Изменен"]},{msgid:"Move",msgstr:["Переместить"]},{msgid:"Move to {target}",msgstr:["Переместить в «{target}»"]},{msgid:"Name",msgstr:["Имя"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Имена не могут быть длиннее 64 символов."]},{msgid:"Names must not be empty.",msgstr:["Имена не могут быть пустыми."]},{msgid:'Names must not end with "{extension}".',msgstr:['Имена не могут оканчиваться на "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Имена не должны начинаться с точки."]},{msgid:"New",msgstr:["Новый"]},{msgid:"New folder",msgstr:["Новая папка"]},{msgid:"New folder name",msgstr:["Имя новой папки"]},{msgid:"New version",msgstr:["Новая версия"]},{msgid:"No files in here",msgstr:["Здесь нет файлов"]},{msgid:"No files matching your filter were found.",msgstr:["Файлы, соответствующие вашему фильтру, не найдены."]},{msgid:"No matching files",msgstr:["Нет подходящих файлов"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Введите имя длиной не менее 2 символов."]},{msgid:"Recent",msgstr:["Недавний"]},{msgid:"Select all checkboxes",msgstr:["Выбрать все флажки"]},{msgid:"Select all entries",msgstr:["Выбрать все записи"]},{msgid:"Select all existing files",msgstr:["Выбрать все существующие файлы"]},{msgid:"Select all new files",msgstr:["Выбрать все новые файлы"]},{msgid:"Select entry",msgstr:["Выбрать запись"]},{msgid:"Select the row for {nodename}",msgstr:["Выбрать строку для «{nodename}»"]},{msgid:"Size",msgstr:["Размер"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Пропустить %n файл","Пропустить %n файла","Пропустить %n файлов","Пропустить %n файлов"]},{msgid:"Skip this file",msgstr:["Пропустить файл"]},{msgid:"Submit name",msgstr:["Отправить имя"]},{msgid:"Undo",msgstr:["Отменить"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Загрузите контент или синхронизируйте его со своими устройствами!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Когда выбрана входящая папка, все конфликтующие файлы в ней также будут перезаписаны."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Когда выбрана входящая папка, все файлы в ней также будут перезаписаны."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Когда выбрана входящая папка, содержимое записывается в существующую папку и выполняется рекурсивное разрешение конфликтов."]},{msgid:"Which files do you want to keep?",msgstr:["Какие файлы вы хотите сохранить?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Вы идентифицированы как {nickname}."]},{msgid:"You are currently not identified.",msgstr:["В данный момент вы не идентифицированы."]},{msgid:"You cannot leave the name empty.",msgstr:["Вы не можете оставить имя пустым."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Вам нужно выбрать хотя бы одно решение конфликта"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Для продолжения вам нужно выбрать хотя бы одну версию каждого файла."]}]},{language:"sk_SK",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" nie je povolené v názve priečinka.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" nie je povolené v rámci mena.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" nie je povolený názov.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["„{segment}“ je rezervované meno a nie je povolené na názvy priečinkov."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" je rezervované meno a nie je povolené.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n konflikt súborov","%n konflikty súborov","%n konfliktov súborov","%n konflikty súborov"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n konflikt súborov v {dirname}","%n konflikty súborov v {dirname}","%n konfliktov súborov v {dirname}","%n konfliktov súborov v {dirname}"]},{msgid:"All files",msgstr:["Všetky súbory"]},{msgid:"Cancel",msgstr:["Zrušiť"]},{msgid:"Cancel the entire operation",msgstr:["Zrušiť celú operáciu"]},{msgid:"Choose",msgstr:["Vybrať"]},{msgid:"Choose {file}",msgstr:["Vybrať {súbor}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Vybraný %n súbor","Vybrané %n súbory","Vybraných %n súborov","Vybraných %n súborov"]},{msgid:"Confirm",msgstr:["Potvrdiť"]},{msgid:"Continue",msgstr:["Pokračovať"]},{msgid:"Copy",msgstr:["Kopírovať"]},{msgid:"Copy to {target}",msgstr:["Kopírovať do {umiestnenia}"]},{msgid:"Could not create the new folder",msgstr:["Nepodarilo sa vytvoriť nový priečinok"]},{msgid:"Could not load files settings",msgstr:["Nepodarilo sa načítať nastavenia súborov"]},{msgid:"Could not load files views",msgstr:["Nepodarilo sa načítať pohľady súborov"]},{msgid:"Create directory",msgstr:["Vytvoriť adresár"]},{msgid:"Current view selector",msgstr:["Výber aktuálneho zobrazenia"]},{msgid:"Enter your name",msgstr:["Zadajte svoje meno"]},{msgid:"Existing version",msgstr:["Existujúca verzia"]},{msgid:"Failed to set nickname.",msgstr:["Nepodarilo sa nastaviť prezývku."]},{msgid:"Favorites",msgstr:["Obľúbené"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tu sa zobrazia súbory a priečinky, ktoré označíte ako obľúbené."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Tu sa zobrazia súbory a priečinky, ktoré ste nedávno upravili."]},{msgid:"Filter file list",msgstr:["Filtrovať zoznam súborov"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Názvy priečinkov nesmú končiť na "{extension}".']},{msgid:"Guest identification",msgstr:["Identifikácia hosťa"]},{msgid:"Home",msgstr:["Domov"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Ak vyberiete obe verzie, prichádzajúci súbor bude mať k svojmu názvu pridané číslo."]},{msgid:"Invalid folder name.",msgstr:["Neplatný názov priečinka."]},{msgid:"Invalid name.",msgstr:["Neplatné meno."]},{msgid:"Last modified date unknown",msgstr:["Posledná zmena dátumu neznáma"]},{msgid:"Modified",msgstr:["Upravené"]},{msgid:"Move",msgstr:["Prejsť"]},{msgid:"Move to {target}",msgstr:["Prejsť na {umiestnenie}"]},{msgid:"Name",msgstr:["Názov"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Mená môžu mať maximálne 64 znakov."]},{msgid:"Names must not be empty.",msgstr:["Mená nesmú byť prázdne."]},{msgid:'Names must not end with "{extension}".',msgstr:['Mená nesmú končiť "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Mená nesmú začínať bodkou."]},{msgid:"New",msgstr:["Pridať"]},{msgid:"New folder",msgstr:["Pridať priečinok"]},{msgid:"New folder name",msgstr:["Pridať názov priečinka"]},{msgid:"New version",msgstr:["Nová verzia"]},{msgid:"No files in here",msgstr:["Nie sú tu žiadne súbory"]},{msgid:"No files matching your filter were found.",msgstr:["Nenašli sa žiadne súbory zodpovedajúce vášmu filtru."]},{msgid:"No matching files",msgstr:["Žiadne zodpovedajúce súbory"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Zadajte meno s aspoň 2 znakmi."]},{msgid:"Recent",msgstr:["Nedávne"]},{msgid:"Select all checkboxes",msgstr:["Vyberte všetky zaškrtávacie políčka"]},{msgid:"Select all entries",msgstr:["Vybrať všetky položky"]},{msgid:"Select all existing files",msgstr:["Vybrať všetky existujúce súbory"]},{msgid:"Select all new files",msgstr:["Vybrať všetky nové súbory"]},{msgid:"Select entry",msgstr:["Vybrať položku"]},{msgid:"Select the row for {nodename}",msgstr:["Vyberte riadok pre {názov uzla}"]},{msgid:"Size",msgstr:["Veľkosť"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Preskočiť %n súbor","Preskočiť %n súbory","Preskočiť %n súborov","Preskočiť %n súbory"]},{msgid:"Skip this file",msgstr:["Preskočiť tento súbor"]},{msgid:"Submit name",msgstr:["Zadať meno"]},{msgid:"Undo",msgstr:["Späť"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Nahrajte nejaký obsah alebo synchronizujte so svojimi zariadeniami!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Keď je vybraná prichádzajúca složka, všetky konfliktné súbory v nej budú taktiež prepísané."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Keď je vybraná prichádzajúca zložka, obsah sa zapíše do existujúcej zložky a vykoná sa rekurzívne riešenie konfliktov."]},{msgid:"Which files do you want to keep?",msgstr:["Ktoré súbory chcete zachovať?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Momentálne ste identifikovaný ako {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Momentálne nie ste identifikovaný."]},{msgid:"You cannot leave the name empty.",msgstr:["Nemôžete nechať meno prázdne."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Musíte si vybrať aspoň jedno riešenie konfliktu."]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Musíte vybrať aspoň jednu verziu každého súboru, aby ste mohli pokračovať."]}]},{language:"sl",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} je neveljavno ime mape."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} ni dovoljeno ime mape"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ni dovoljen v imenu mape.']},{msgid:"All files",msgstr:["Vse datoteke"]},{msgid:"Choose",msgstr:["Izberi"]},{msgid:"Choose {file}",msgstr:["Izberi {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izberi %n datoteko","Izberi %n datoteki","Izberi %n datotek","Izberi %n datotek"]},{msgid:"Copy",msgstr:["Kopiraj"]},{msgid:"Copy to {target}",msgstr:["Kopiraj v {target}"]},{msgid:"Could not create the new folder",msgstr:["Nisem mogel ustvariti nove mape"]},{msgid:"Could not load files settings",msgstr:["NIsem mogel naložiti nastavitev datotek"]},{msgid:"Could not load files views",msgstr:["Nisem mogel naložiti pogledov datotek"]},{msgid:"Create directory",msgstr:["Ustvari mapo"]},{msgid:"Current view selector",msgstr:["Izbirnik trenutnega pogleda"]},{msgid:"Favorites",msgstr:["Priljubljene"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Datoteke in mape ki jih označite kot priljubljene se bodo prikazale tukaj."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Daoteke in mape ki ste jih pred kratkim spremenili se bodo prikazale tukaj."]},{msgid:"Filter file list",msgstr:["Filtriraj seznam datotek"]},{msgid:"Folder name cannot be empty.",msgstr:["Ime mape ne more biti prazno"]},{msgid:"Home",msgstr:["Domov"]},{msgid:"Modified",msgstr:["Spremenjeno"]},{msgid:"Move",msgstr:["Premakni"]},{msgid:"Move to {target}",msgstr:["Premakni v {target}"]},{msgid:"Name",msgstr:["Ime"]},{msgid:"New",msgstr:["Nov"]},{msgid:"New folder",msgstr:["Nova mapa"]},{msgid:"New folder name",msgstr:["Novo ime mape"]},{msgid:"No files in here",msgstr:["Tukaj ni datotek"]},{msgid:"No files matching your filter were found.",msgstr:["Ni bilo najdenih ujemajočih datotek glede na vaš filter."]},{msgid:"No matching files",msgstr:["Ni ujemajočih datotek"]},{msgid:"Recent",msgstr:["Nedavne"]},{msgid:"Select all entries",msgstr:["Izberi vse vnose"]},{msgid:"Select entry",msgstr:["Izberi vnos"]},{msgid:"Select the row for {nodename}",msgstr:["Izberi vrstico za {nodename}"]},{msgid:"Size",msgstr:["Velikost"]},{msgid:"Undo",msgstr:["Razveljavi"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Naloži nekaj vsebine ali sinhroniziraj s svojimi napravami!"]}]},{language:"sr",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}” није дозвољено унутар имена."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}” није дозвољено име."]},{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}” није исправно име фолдера."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}” није дозвољено име за фолдер."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}” је резервисано име и није дозвољено."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/” није дозвољено унутар имена фолдера."]},{msgid:"All files",msgstr:["Сви фајлови"]},{msgid:"Cancel",msgstr:["Откажи"]},{msgid:"Choose",msgstr:["Изаберите"]},{msgid:"Choose {file}",msgstr:["Изаберите {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Изаберите %n фајл","Изаберите %n фајла","Изаберите %n фајлова"]},{msgid:"Copy",msgstr:["Копирај"]},{msgid:"Copy to {target}",msgstr:["Копирај у {target}"]},{msgid:"Could not create the new folder",msgstr:["Није могао да се креира нови фолдер"]},{msgid:"Could not load files settings",msgstr:["Не могу да се учитају подешавања фајлова"]},{msgid:"Could not load files views",msgstr:["Не могу да се учитају прикази фајлова"]},{msgid:"Create directory",msgstr:["Креирај директоријум"]},{msgid:"Current view selector",msgstr:["Бирач тренутног приказа"]},{msgid:"Enter your name",msgstr:["Унесите своје име"]},{msgid:"Failed to set nickname.",msgstr:["Није успело постављање надимка."]},{msgid:"Favorites",msgstr:["Омиљено"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Овде ће се појавити фајлови и фолдери које сте означили као омиљене."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Овде ће се појавити фајлови и фолдери који се се недавно изменили."]},{msgid:"Filter file list",msgstr:["Фитрирање листе фајлова"]},{msgid:"Folder name cannot be empty.",msgstr:["Име фолдера не може бити празно."]},{msgid:"Guest identification",msgstr:["Идентификација госта"]},{msgid:"Home",msgstr:["Почетак"]},{msgid:"Invalid name.",msgstr:["Неисправно име."]},{msgid:"Modified",msgstr:["Измењено"]},{msgid:"Move",msgstr:["Премести"]},{msgid:"Move to {target}",msgstr:["Премести у {target}"]},{msgid:"Name",msgstr:["Име"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Највећа дужина имена може бити 64 карактера."]},{msgid:"Names must not be empty.",msgstr:["Имена не смеју да буду празна."]},{msgid:'Names must not end with "{extension}".',msgstr:["Имена не смеју да се завршавају на „{extension}”."]},{msgid:"Names must not start with a dot.",msgstr:["Имена не смеју да почињу тачком."]},{msgid:"New",msgstr:["Ново"]},{msgid:"New folder",msgstr:["Нови фолдер"]},{msgid:"New folder name",msgstr:["Име новог фолдера"]},{msgid:"No files in here",msgstr:["Овде нема фајлова"]},{msgid:"No files matching your filter were found.",msgstr:["Није пронађен ниједан фајл који задовољава ваш филтер."]},{msgid:"No matching files",msgstr:["Нема таквих фајлова"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Молимо вас да унесете име од барем два карактера."]},{msgid:"Recent",msgstr:["Скорашње"]},{msgid:"Select all entries",msgstr:["Изаберите све ставке"]},{msgid:"Select entry",msgstr:["Изаберите ставку"]},{msgid:"Select the row for {nodename}",msgstr:["Изаберите ред за {nodename}"]},{msgid:"Size",msgstr:["Величина"]},{msgid:"Submit name",msgstr:["Предај име"]},{msgid:"Undo",msgstr:["Поништи"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Отпремите нешто или синхронизујте са својим уређајима!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Тренутно се идентификујете као {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Тренутно немате идентификацију."]},{msgid:"You cannot leave the name empty.",msgstr:["Име не можете да оставите празно."]}]},{language:"sr@latin",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}” je neispravan naziv foldera."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}” je nedozvoljen naziv foldera."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/” se ne može koristiti unutar naziva foldera."]},{msgid:"All files",msgstr:["Svi fajlovi"]},{msgid:"Choose",msgstr:["Izaberite"]},{msgid:"Choose {file}",msgstr:["Izaberite {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izaberite %n fajl","Izaberite %n fajla","Izaberite %n fajlova"]},{msgid:"Copy",msgstr:["Kopiraj"]},{msgid:"Copy to {target}",msgstr:["Kopiraj u {target}"]},{msgid:"Could not create the new folder",msgstr:["Neuspešno kreiranje novog foldera"]},{msgid:"Could not load files settings",msgstr:["Neuspešno učitavanje podešavanja fajlova"]},{msgid:"Could not load files views",msgstr:["Neuspešno učitavanje prikaza fajlova"]},{msgid:"Create directory",msgstr:["Kreiraj direktorijum"]},{msgid:"Current view selector",msgstr:["Birač trenutnog prikaza"]},{msgid:"Favorites",msgstr:["Omiljeno"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Lista omiljenih fajlova i foldera."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Lista fajlova i foldera sa skorašnjim izmenama."]},{msgid:"Filter file list",msgstr:["Fitriranje liste fajlova"]},{msgid:"Folder name cannot be empty.",msgstr:["Naziv foldera ne može biti prazan."]},{msgid:"Home",msgstr:["Početak"]},{msgid:"Modified",msgstr:["Izmenjeno"]},{msgid:"Move",msgstr:["Premesti"]},{msgid:"Move to {target}",msgstr:["Premesti u {target}"]},{msgid:"Name",msgstr:["Naziv"]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Novi folder"]},{msgid:"New folder name",msgstr:["Naziv novog foldera"]},{msgid:"No files in here",msgstr:["Bez fajlova"]},{msgid:"No files matching your filter were found.",msgstr:["Nema fajlova koji zadovoljavaju uslove filtera."]},{msgid:"No matching files",msgstr:["Nema takvih fajlova"]},{msgid:"Recent",msgstr:["Skorašnje"]},{msgid:"Select all entries",msgstr:["Izaberite sve stavke"]},{msgid:"Select entry",msgstr:["Izaberite stavku"]},{msgid:"Select the row for {nodename}",msgstr:["Izaberite red za {nodename}"]},{msgid:"Size",msgstr:["Veličina"]},{msgid:"Undo",msgstr:["Vrati"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Otpremite sadržaj ili sinhronizujte sa svojim uređajima!"]}]},{language:"sv",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" är inte tillåtet i ett mappnamn.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" är inte tillåtet i ett namn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" är inte ett tillåtet namn.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" är ett reserverat namn och inte tillåtet mappnamn.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" är ett reserverat namn och inte tillåtet.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fil är i konflikt","%n filer är i konflikt"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n fil är i konflikt i {dirname}","%n filer är i konflikt i {dirname}"]},{msgid:"All files",msgstr:["Alla filer"]},{msgid:"Cancel",msgstr:["Avbryt"]},{msgid:"Cancel the entire operation",msgstr:["Avbryt hela operationen"]},{msgid:"Choose",msgstr:["Välj"]},{msgid:"Choose {file}",msgstr:["Välj {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Välj %n fil","Välj %n filer"]},{msgid:"Confirm",msgstr:["Bekräfta"]},{msgid:"Continue",msgstr:["Fortsätt"]},{msgid:"Copy",msgstr:["Kopiera"]},{msgid:"Copy to {target}",msgstr:["Kopiera till {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunde inte skapa den nya mappen"]},{msgid:"Could not load files settings",msgstr:["Kunde inte ladda filinställningar"]},{msgid:"Could not load files views",msgstr:["Kunde inte ladda filvyer"]},{msgid:"Create directory",msgstr:["Skapa katalog"]},{msgid:"Current view selector",msgstr:["Aktuell vyväljare"]},{msgid:"Enter your name",msgstr:["Ange ditt namn"]},{msgid:"Existing version",msgstr:["Nuvarande version"]},{msgid:"Failed to set nickname.",msgstr:["Kunde inte ställa in smeknamn."]},{msgid:"Favorites",msgstr:["Favoriter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer och mappar som du markerar som favorit kommer att visas här."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer och mappar som du nyligen ändrat kommer att visas här."]},{msgid:"Filter file list",msgstr:["Filtrera fillistan"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Mappnamn får inte sluta med "{extension}".']},{msgid:"Guest identification",msgstr:["Gästidentifiering"]},{msgid:"Home",msgstr:["Hem"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den inkommande filen att få ett nummer tillagt i sitt namn."]},{msgid:"Invalid folder name.",msgstr:["Ogiltigt mappnamn."]},{msgid:"Invalid name.",msgstr:["Ogiltigt namn."]},{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},{msgid:"Modified",msgstr:["Ändrad"]},{msgid:"Move",msgstr:["Flytta"]},{msgid:"Move to {target}",msgstr:["Flytta till {target}"]},{msgid:"Name",msgstr:["Namn"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namnen kan vara högst 64 tecken långa."]},{msgid:"Names must not be empty.",msgstr:["Namn får inte vara tomt."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namn får inte sluta med "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Namn får inte börja med en punkt."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mapp"]},{msgid:"New folder name",msgstr:["Nytt mappnamn"]},{msgid:"New version",msgstr:["Ny version"]},{msgid:"No files in here",msgstr:["Inga filer här"]},{msgid:"No files matching your filter were found.",msgstr:["Inga filer som matchar ditt filter hittades."]},{msgid:"No matching files",msgstr:["Inga matchande filer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Ange ett namn med minst 2 tecken."]},{msgid:"Recent",msgstr:["Nyligen"]},{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},{msgid:"Select all entries",msgstr:["Välj alla poster"]},{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},{msgid:"Select entry",msgstr:["Välj post"]},{msgid:"Select the row for {nodename}",msgstr:["Välj raden för {nodename}"]},{msgid:"Size",msgstr:["Storlek"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Hoppa över %n fil","Hoppa över %n filer"]},{msgid:"Skip this file",msgstr:["Hoppa över den här filen"]},{msgid:"Submit name",msgstr:["Skicka namn"]},{msgid:"Undo",msgstr:["Ångra"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Ladda upp lite innehåll eller synkronisera med dina enheter!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs kommer eventuella konflikterande filer i den också att skrivas över."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs kommer även filer i den att skrivas över."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["När en inkommande mapp väljs skrivs innehållet in i den befintliga mappen och en rekursiv konfliktlösning utförs."]},{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du är för närvarande identifierad som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du är för närvarande inte identifierad."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan inte lämna namnet tomt."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Du måste välja minst en konfliktlösning"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}]},{language:"tr",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['"{char}" karakteri bir klasör adında kullanılamaz.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['Bir ad içinde "{char}" karakteri kullanılamaz.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" adına izin verilmiyor.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:['"{segment}" adı sistem için ayrılmış olduğundan klasör adlarında kullanılamaz.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" adı sistem için ayrılmış olduğundan kullanılamaz.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n dosya çakışıyor","%n dosya çakışıyor"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname} içindeki %n dosya çakışıyor","{dirname} içindeki %n dosya çakışıyor"]},{msgid:"All files",msgstr:["Tüm dosyalar"]},{msgid:"Cancel",msgstr:["İptal"]},{msgid:"Cancel the entire operation",msgstr:["Tüm işlemi iptal et"]},{msgid:"Choose",msgstr:["Seçin"]},{msgid:"Choose {file}",msgstr:["{file} seçin"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n dosya seçin","%n dosya seçin"]},{msgid:"Confirm",msgstr:["Onayla"]},{msgid:"Continue",msgstr:["İlerle"]},{msgid:"Copy",msgstr:["Kopyala"]},{msgid:"Copy to {target}",msgstr:["{target} üzerine kopyala"]},{msgid:"Could not create the new folder",msgstr:["Yeni klasör oluşturulamadı"]},{msgid:"Could not load files settings",msgstr:["Dosyalar uygulamasının ayarları yüklenemedi"]},{msgid:"Could not load files views",msgstr:["Dosyalar uygulamasının görünümleri yüklenemedi"]},{msgid:"Create directory",msgstr:["Klasör oluştur"]},{msgid:"Current view selector",msgstr:["Geçerli görünüm seçici"]},{msgid:"Enter your name",msgstr:["Adınızı yazın"]},{msgid:"Existing version",msgstr:["Var olan sürüm"]},{msgid:"Failed to set nickname.",msgstr:["Takma ad ayarlanamadı."]},{msgid:"Favorites",msgstr:["Sık kullanılanlar"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Sık kullanılan olarak seçtiğiniz dosyalar burada görüntülenir."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir."]},{msgid:"Filter file list",msgstr:["Dosya listesini süz"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Klasör adları "{extension}" ile bitemez.']},{msgid:"Guest identification",msgstr:["Konuk kimliği"]},{msgid:"Home",msgstr:["Giriş"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, gelen dosyanın adına bir sayı eklenir."]},{msgid:"Invalid folder name.",msgstr:["Klasör adı geçersiz."]},{msgid:"Invalid name.",msgstr:["Ad geçersiz."]},{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor."]},{msgid:"Modified",msgstr:["Değiştirilme"]},{msgid:"Move",msgstr:["Taşı"]},{msgid:"Move to {target}",msgstr:["{target} üzerine taşı"]},{msgid:"Name",msgstr:["Ad"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Adlar en fazla 64 karakter uzunluğunda olabilir."]},{msgid:"Names must not be empty.",msgstr:["Ad boş olamaz."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ad "{extension}" ile bitemez.']},{msgid:"Names must not start with a dot.",msgstr:["Ad nokta karakteri ile başlayamaz."]},{msgid:"New",msgstr:["Yeni"]},{msgid:"New folder",msgstr:["Yeni klasör"]},{msgid:"New folder name",msgstr:["Yeni klasör adı"]},{msgid:"New version",msgstr:["Yeni sürüm"]},{msgid:"No files in here",msgstr:["Burada herhangi bir dosya yok"]},{msgid:"No files matching your filter were found.",msgstr:["Süzgece uyan bir dosya bulunamadı."]},{msgid:"No matching files",msgstr:["Eşleşen bir dosya yok"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Ad en az 2 karakter uzunluğunda olmalıdır."]},{msgid:"Recent",msgstr:["Son kullanılanlar"]},{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},{msgid:"Select all entries",msgstr:["Tüm kayıtları seç"]},{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},{msgid:"Select entry",msgstr:["Kaydı seç"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} satırını seçin"]},{msgid:"Size",msgstr:["Boyut"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n dosyayı atla","%n dosyayı atla"]},{msgid:"Skip this file",msgstr:["Bu dosyayı atla"]},{msgid:"Submit name",msgstr:["Adı gönder"]},{msgid:"Undo",msgstr:["Geri al"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Bazı içerikler yükleyin ya da aygıtlarınızla eşitleyin!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki dosyaların da üzerine yazılır."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Bir gelen klasör seçildiğinde, içerik var olan klasöre yazılır ve alt klasörlerle bir çakışma çözümü uygulanır."]},{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["{nickname} olarak tanınıyorsunuz."]},{msgid:"You are currently not identified.",msgstr:["Henüz kendinizi tanıtmadınız."]},{msgid:"You cannot leave the name empty.",msgstr:["Ad boş bırakılamaz."]},{msgid:"You need to choose at least one conflict solution",msgstr:["En az bir çakışma çözümü seçmelisiniz"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosaynın en az bir sürümünü seçmelisiniz."]}]},{language:"uk",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["{char} не дозволено всередині назви каталогу."]},{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не дозволено всередині імени.']},{msgid:'"{extension}" is not an allowed name.',msgstr:[`"{extension}" недозволене ім'я.`]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["{segment} є зарезервованим ім'ям і не дозволено для назви каталогу."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:[`"{segment}" зарезервоване ім'я і не дозволено для використання.`]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n конфлікт файлів","%n конфлікти файлів","%n конфліктів файлів","%n конфліктів файлів"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n конфлікт файлів у каталозі {dirname}","%n конфлікти файлів у каталозі {dirname}","%n конфліктів файлів у каталозі {dirname}","%n конфліктів файлів у каталозі {dirname}"]},{msgid:"All files",msgstr:["Всі файли"]},{msgid:"Cancel",msgstr:["Скасувати"]},{msgid:"Cancel the entire operation",msgstr:["Скасувати всю операцію"]},{msgid:"Choose",msgstr:["Вибрати"]},{msgid:"Choose {file}",msgstr:["Вибрати {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Вибрати %n файл","Вибрати %n файли","Вибрати %n файлів","Вибрати %n файлів"]},{msgid:"Confirm",msgstr:["Підтвердити"]},{msgid:"Continue",msgstr:["Продовжити"]},{msgid:"Copy",msgstr:["Копіювати"]},{msgid:"Copy to {target}",msgstr:["Копіювати до {target}"]},{msgid:"Could not create the new folder",msgstr:["Не вдалося створити новий каталог"]},{msgid:"Could not load files settings",msgstr:["Не вдалося завантажити налаштування файлів"]},{msgid:"Could not load files views",msgstr:["Не вдалося завантажити подання файлів"]},{msgid:"Create directory",msgstr:["Створити каталог"]},{msgid:"Current view selector",msgstr:["Вибір подання"]},{msgid:"Enter your name",msgstr:["Зазначте ваше ім'я"]},{msgid:"Existing version",msgstr:["Наявна версія"]},{msgid:"Failed to set nickname.",msgstr:["Не вдалося встановити псевдо."]},{msgid:"Favorites",msgstr:["Із зірочкою"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Тут показуватимуться файли та каталоги, які ви позначите зірочкою."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Тут показуватимуться файли та каталоги, які було нещодавно змінено."]},{msgid:"Filter file list",msgstr:["Фільтрувати список файлів"]},{msgid:'Folder names must not end with "{extension}".',msgstr:[`Ім'я каталогу не може закінчуватися на "{extension}".`]},{msgid:"Guest identification",msgstr:["Ім'я для гостя"]},{msgid:"Home",msgstr:["Домівка"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Якщо вибрати обидві версії, до назви вхідного файлу буде додано цифру. "]},{msgid:"Invalid folder name.",msgstr:["Недійсне ім'я каталогу."]},{msgid:"Invalid name.",msgstr:["Недійсне ім'я."]},{msgid:"Last modified date unknown",msgstr:["Дата останньої зміни невідома"]},{msgid:"Modified",msgstr:["Змінено"]},{msgid:"Move",msgstr:["Перемістити"]},{msgid:"Move to {target}",msgstr:["Перемістити до {target}"]},{msgid:"Name",msgstr:["Ім'я"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Імена мають мати довжину не більше 64 символів."]},{msgid:"Names must not be empty.",msgstr:["Ім'я не може бути порожнє."]},{msgid:'Names must not end with "{extension}".',msgstr:[`Ім'я не може закінчуватися на "{extension}".`]},{msgid:"Names must not start with a dot.",msgstr:["Ім'я не може починатися з крапки."]},{msgid:"New",msgstr:["Новий"]},{msgid:"New folder",msgstr:["Новий каталог"]},{msgid:"New folder name",msgstr:["Ім'я нового каталогу"]},{msgid:"New version",msgstr:["Нова версія"]},{msgid:"No files in here",msgstr:["Тут відсутні файли"]},{msgid:"No files matching your filter were found.",msgstr:["Відсутні збіги за фільтром."]},{msgid:"No matching files",msgstr:["Відсутні збіги файлів."]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Зазначте ім'я довжиною не менше 2 символів"]},{msgid:"Recent",msgstr:["Останні"]},{msgid:"Select all checkboxes",msgstr:["Вибрати всі прапорці"]},{msgid:"Select all entries",msgstr:["Вибрати всі записи"]},{msgid:"Select all existing files",msgstr:["Вибрати всі наявні файли"]},{msgid:"Select all new files",msgstr:["Вибрати всі нові файли"]},{msgid:"Select entry",msgstr:["Вибрати запис"]},{msgid:"Select the row for {nodename}",msgstr:["Вибрати рядок для {nodename}"]},{msgid:"Size",msgstr:["Розмір"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Пропустити %n файл","Пропустити %n файли","Пропустити %n файлів","Пропустити %n файлів"]},{msgid:"Skip this file",msgstr:["Пропустити цей файл"]},{msgid:"Submit name",msgstr:["Встановити ім'я"]},{msgid:"Undo",msgstr:["Повернути"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Завантажте вміст або синхронізуйте з вашим пристроєм!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Коли вибрано вхідний каталог, будь-які файли з конфліктами буде також перезаписано."]},{msgid:"When an incoming folder is selected, any files within it will also be overwritten.",msgstr:["Якщо буде вибрано вхідний каталог, будь-який файл в ньому буде також перезаписано."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Коли вибрано вхідний каталог, вміст буде записано до існуючого каталогу, а також виконано вирішення конфліктів всередині каталогу."]},{msgid:"Which files do you want to keep?",msgstr:["Які файли залишити?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Вас визначено як {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Вас не ідентифіковано."]},{msgid:"You cannot leave the name empty.",msgstr:["Потрібно зазначити ім'я."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Треб вибрати щонайменше одне розв'язання конфлікту"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Треба вибрати щонайменше одну версію кожного файлу, щоби продовжити."]}]},{language:"uz",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:['Papka nomi ichida "{char}" ga ruxsat berilmaydi.']},{msgid:'"{char}" is not allowed inside a name.',msgstr:['Nom ichida "{char}" ga ruxsat berilmagan.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ruxsat etilgan nom emas.']},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:[`"{segment}" ajratilgan nom bo'lib, papka nomlari uchun ruxsat berilmagan.`]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" - zaxiralangan nom va ruxsat berilmaydi.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fayl ziddiyatli"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname} da %n fayl ziddiyati"]},{msgid:"All files",msgstr:["Barcha fayllar"]},{msgid:"Cancel",msgstr:["Bekor qilish"]},{msgid:"Cancel the entire operation",msgstr:["Butun operatsiyani bekor qiling"]},{msgid:"Choose",msgstr:["Tanlang"]},{msgid:"Choose {file}",msgstr:["Tanlang {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Tanlang %n faylni"]},{msgid:"Confirm",msgstr:["Tasdiqlang"]},{msgid:"Continue",msgstr:["Davom eting"]},{msgid:"Copy",msgstr:["Nusxa"]},{msgid:"Copy to {target}",msgstr:[" {target} ga nusxa"]},{msgid:"Could not create the new folder",msgstr:["Yangi jild yaratib bo‘lmadi"]},{msgid:"Could not load files settings",msgstr:["Fayl sozlamalari yuklanmadi"]},{msgid:"Could not load files views",msgstr:["Fayllarni koʻrishni yuklab boʻlmadi"]},{msgid:"Create directory",msgstr:["Katalog yaratish"]},{msgid:"Current view selector",msgstr:["Joriy ko'rinish selektori"]},{msgid:"Enter your name",msgstr:["Ismingizni kiriting"]},{msgid:"Existing version",msgstr:["Mavjud versiya"]},{msgid:"Failed to set nickname.",msgstr:["Taxallusni o‘rnatib bo‘lmadi."]},{msgid:"Favorites",msgstr:["Tanlanganlar"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tanlangan deb belgilagan fayl va papkalar shu yerda koʻrinadi."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Siz yaqinda oʻzgartirgan fayl va papkalar shu yerda koʻrinadi."]},{msgid:"Filter file list",msgstr:["Fayl ro'yxatini filtrlash"]},{msgid:'Folder names must not end with "{extension}".',msgstr:['Papka nomlari "{extension}" bilan tugamasligi kerak.']},{msgid:"Guest identification",msgstr:["Foydalanuvchini identifikatsiyalash"]},{msgid:"Home",msgstr:["Uy"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Agar siz ikkala versiyani tanlasangiz, kiruvchi fayl nomiga qo'shilgan raqamga ega bo'ladi."]},{msgid:"Invalid folder name.",msgstr:["Jild nomi noto'g'ri."]},{msgid:"Invalid name.",msgstr:["Nomi noto‘g‘ri."]},{msgid:"Last modified date unknown",msgstr:["Oxirgi tahrirlangan sana noma'lum"]},{msgid:"Modified",msgstr:["Modifikatsiyalangan"]},{msgid:"Move",msgstr:["Ko'chirish"]},{msgid:"Move to {target}",msgstr:[" {target} ga ko'chirish"]},{msgid:"Name",msgstr:["Nomi"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Ismlar ko'pi bilan 64 ta belgidan iborat bo'lishi mumkin."]},{msgid:"Names must not be empty.",msgstr:["Ismlar bo'sh bo'lmasligi kerak."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ismlar "{extension}" bilan tugamasligi kerak.']},{msgid:"Names must not start with a dot.",msgstr:["Ismlar nuqta bilan boshlanmasligi kerak."]},{msgid:"New",msgstr:["Yangi"]},{msgid:"New folder",msgstr:["Yangi jild"]},{msgid:"New folder name",msgstr:["Yangi jild nomi"]},{msgid:"New version",msgstr:["Yangi versiya"]},{msgid:"No files in here",msgstr:["Fayl mavjud emas"]},{msgid:"No files matching your filter were found.",msgstr:["Filtringizga mos keladigan fayl topilmadi."]},{msgid:"No matching files",msgstr:["Mos fayllar yo'q"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Kamida 2 ta belgidan iborat nom kiriting."]},{msgid:"Recent",msgstr:["Yaqinda"]},{msgid:"Select all checkboxes",msgstr:["Barcha katakchalarni belgilang"]},{msgid:"Select all entries",msgstr:["Barcha yozuvlarni tanlang"]},{msgid:"Select all existing files",msgstr:["Barcha mavjud fayllarni tanlang"]},{msgid:"Select all new files",msgstr:["Barcha yangi fayllarni tanlang"]},{msgid:"Select entry",msgstr:["Yozuvni tanlang"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} uchun qatorni tanlang"]},{msgid:"Size",msgstr:["O`lcham"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n faylni oʻtkazib yuborish"]},{msgid:"Skip this file",msgstr:["Ushbu faylni o'tkazib yuboring"]},{msgid:"Submit name",msgstr:["Ismni tasdiqlang"]},{msgid:"Undo",msgstr:["Bekor qilish"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Qurilmangizga ba'zi kontentni yuklang yoki sinxronlang!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Kiruvchi papka tanlanganda, undagi har qanday ziddiyatli fayllar ham ustiga yoziladi."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Kiruvchi papka tanlanganda, kontent mavjud jildga yoziladi va nizolarni rekursiv hal qilish amalga oshiriladi."]},{msgid:"Which files do you want to keep?",msgstr:["Qaysi fayllarni saqlamoqchisiz?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Siz hozirda {nickname} sifatida aniqlangansiz."]},{msgid:"You are currently not identified.",msgstr:["Siz hozirda identifikatsiyadan o'tmagansiz"]},{msgid:"You cannot leave the name empty.",msgstr:["Ism katagini bo'sh qoldirib bo'lmaydi."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Siz kamida bitta mojaro yechimini tanlashingiz kerak"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Davom etish uchun har bir faylning kamida bitta versiyasini tanlashingiz kerak."]}]},{language:"vi",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" là tên thư mục không hợp lệ.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"1{name}"không phải là tên thư mục được cho phép']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/"không được phép đặt trong tên thư mục.']},{msgid:"All files",msgstr:["Tất cả tệp"]},{msgid:"Choose",msgstr:["Chọn"]},{msgid:"Choose {file}",msgstr:["Chọn {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Chọn %n tệp"]},{msgid:"Copy",msgstr:["Sao chép"]},{msgid:"Copy to {target}",msgstr:["Sao chép đến {target}"]},{msgid:"Could not create the new folder",msgstr:["Không thể tạo thư mục mới"]},{msgid:"Could not load files settings",msgstr:["Không thể tải tập tin cài đặt"]},{msgid:"Could not load files views",msgstr:["Không thể tải xuống tệp xem"]},{msgid:"Create directory",msgstr:["Tạo thư mục"]},{msgid:"Current view selector",msgstr:["Hiện tại chế độ xem của bộ chọn"]},{msgid:"Favorites",msgstr:["Yêu cầu thích"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Các tập tin và thư mục bạn đánh dấu yêu thích sẽ hiển thị ở đây."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Các tập tin và thư mục bạn sửa đổi gần đây sẽ hiển thị ở đây."]},{msgid:"Filter file list",msgstr:["Filter list file"]},{msgid:"Folder name cannot be empty.",msgstr:["Thư mục tên không được để trống."]},{msgid:"Home",msgstr:["Trang chủ"]},{msgid:"Modified",msgstr:["Đã sửa đổi"]},{msgid:"Move",msgstr:["Di chuyển"]},{msgid:"Move to {target}",msgstr:["Di chuyển đến{target}"]},{msgid:"Name",msgstr:["Tên"]},{msgid:"New",msgstr:["Mới"]},{msgid:"New folder",msgstr:["New thư mục"]},{msgid:"New folder name",msgstr:["New thư mục tên"]},{msgid:"No files in here",msgstr:["No file at here"]},{msgid:"No files matching your filter were found.",msgstr:["Không tìm thấy tệp nào phù hợp với bộ lọc của bạn."]},{msgid:"No matching files",msgstr:["No file phù hợp"]},{msgid:"Recent",msgstr:["Gần đây"]},{msgid:"Select all entries",msgstr:["Choose all items"]},{msgid:"Select entry",msgstr:["Chọn mục nhập"]},{msgid:"Select the row for {nodename}",msgstr:["Choose hang cho{nodename}"]},{msgid:"Size",msgstr:["Kích cỡ"]},{msgid:"Undo",msgstr:["Hoàn tác"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Tải lên một số nội dung hoặc đồng bộ hóa với thiết bị của bạn!"]}]},{language:"zh_CN",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["“{name}” 是无效的文件夹名称。"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["“{name}” 不是允许的文件夹名称"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["文件夹名称中不允许包含 “/”。"]},{msgid:"All files",msgstr:["所有文件"]},{msgid:"Choose",msgstr:["选择"]},{msgid:"Choose {file}",msgstr:["选择 {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["选择 %n 个文件"]},{msgid:"Copy",msgstr:["复制"]},{msgid:"Copy to {target}",msgstr:["复制到 {target}"]},{msgid:"Could not create the new folder",msgstr:["无法创建新文件夹"]},{msgid:"Could not load files settings",msgstr:["无法加载文件设置"]},{msgid:"Could not load files views",msgstr:["无法加载文件视图"]},{msgid:"Create directory",msgstr:["创建目录"]},{msgid:"Current view selector",msgstr:["当前视图选择器"]},{msgid:"Favorites",msgstr:["最爱"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您标记为最爱的文件与文件夹会显示在这里"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的文件与文件夹会显示在这里"]},{msgid:"Filter file list",msgstr:["过滤文件列表"]},{msgid:"Folder name cannot be empty.",msgstr:["文件夹名称不能为空。"]},{msgid:"Home",msgstr:["主目录"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移动"]},{msgid:"Move to {target}",msgstr:["移动至 {target}"]},{msgid:"Name",msgstr:["名称"]},{msgid:"New",msgstr:["新建"]},{msgid:"New folder",msgstr:["新文件夹"]},{msgid:"New folder name",msgstr:["新文件夹名称"]},{msgid:"No files in here",msgstr:["此处无文件"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您过滤条件的文件"]},{msgid:"No matching files",msgstr:["无符合的文件"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["选择所有条目"]},{msgid:"Select entry",msgstr:["选择条目"]},{msgid:"Select the row for {nodename}",msgstr:["选择 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Undo",msgstr:[" 撤消"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上传一些项目或与您的设备同步!"]}]},{language:"zh_HK",translations:[{msgid:'"{char}" is not allowed inside a folder name.',msgstr:["資料夾名稱中不允許使用「{char}」。"]},{msgid:'"{char}" is not allowed inside a name.',msgstr:['名稱中不能使用 "{char}"。']},{msgid:'"{extension}" is not an allowed name.',msgstr:["「{extension}」並非允許的名稱。"]},{msgid:'"{segment}" is a reserved name and not allowed for folder names.',msgstr:["「{segment}」為保留名稱,不能用作資料夾名稱。"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["「{segment}」是一個保留名稱,不能使用。"]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n 檔案衝突"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname} 中有 %n 個檔案衝突"]},{msgid:"All files",msgstr:["所有檔案"]},{msgid:"Cancel",msgstr:["取消"]},{msgid:"Cancel the entire operation",msgstr:["取消整個操作"]},{msgid:"Choose",msgstr:["選擇"]},{msgid:"Choose {file}",msgstr:["選擇 {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["選擇 %n 個檔案"]},{msgid:"Confirm",msgstr:["確認"]},{msgid:"Continue",msgstr:["繼續"]},{msgid:"Copy",msgstr:["複製"]},{msgid:"Copy to {target}",msgstr:["複製到 {target}"]},{msgid:"Could not create the new folder",msgstr:["無法建立新資料夾"]},{msgid:"Could not load files settings",msgstr:["無法載入檔案設定"]},{msgid:"Could not load files views",msgstr:["無法載入檔案視圖"]},{msgid:"Create directory",msgstr:["建立目錄"]},{msgid:"Current view selector",msgstr:["目前視圖選擇器"]},{msgid:"Enter your name",msgstr:["輸入您的名字"]},{msgid:"Existing version",msgstr:["現有的版本"]},{msgid:"Failed to set nickname.",msgstr:["無法設置暱稱。"]},{msgid:"Favorites",msgstr:["最愛"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您標記為最愛的檔案與資料夾將會顯示在此處。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的檔案與資料夾將會顯示在此處。"]},{msgid:"Filter file list",msgstr:["過濾檔案清單"]},{msgid:'Folder names must not end with "{extension}".',msgstr:["資料夾名稱不得以「{extension}」結尾。"]},{msgid:"Guest identification",msgstr:["訪客身份識別"]},{msgid:"Home",msgstr:["首頁"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["如果您選擇兩個版本,傳入的檔案名稱將會附加一個數字。"]},{msgid:"Invalid folder name.",msgstr:["無效的資料夾名稱。"]},{msgid:"Invalid name.",msgstr:["無效的名字。"]},{msgid:"Last modified date unknown",msgstr:["最後的修改日期不詳"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["移動至 {target}"]},{msgid:"Name",msgstr:["名稱"]},{msgid:"Names may be at most 64 characters long.",msgstr:["名稱長度最多為 64 個字元。"]},{msgid:"Names must not be empty.",msgstr:["名稱不能為空。"]},{msgid:'Names must not end with "{extension}".',msgstr:["名稱不得以「{extension}」結尾。"]},{msgid:"Names must not start with a dot.",msgstr:["名稱不得以點開頭。"]},{msgid:"New",msgstr:["新"]},{msgid:"New folder",msgstr:["新資料夾"]},{msgid:"New folder name",msgstr:["新資料夾名稱"]},{msgid:"New version",msgstr:["新版本"]},{msgid:"No files in here",msgstr:["此處無檔案"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您過濾條件的檔案。"]},{msgid:"No matching files",msgstr:["沒有匹配的檔案"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["請輸入至少 2 個字符的名稱。"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all checkboxes",msgstr:["選擇所有復選框"]},{msgid:"Select all entries",msgstr:["選擇所有項目"]},{msgid:"Select all existing files",msgstr:["選擇所有現有的檔案"]},{msgid:"Select all new files",msgstr:["選擇所有新檔案"]},{msgid:"Select entry",msgstr:["選擇項目"]},{msgid:"Select the row for {nodename}",msgstr:["選擇 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["跳過 %n 個檔案"]},{msgid:"Skip this file",msgstr:["跳過此檔案"]},{msgid:"Submit name",msgstr:["遞交名字"]},{msgid:"Undo",msgstr:["還原"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上傳一些內容或與您的裝置同步!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["選取傳入資料夾時,其中任何衝突的檔案也將被覆蓋。"]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["當選取傳入資料夾時,內容將寫入現有資料夾,並執行遞歸衝突解決。"]},{msgid:"Which files do you want to keep?",msgstr:["你想保留哪些檔案?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["您目前被識別為 {nickname}。"]},{msgid:"You are currently not identified.",msgstr:["您目前尚未被識別。"]},{msgid:"You cannot leave the name empty.",msgstr:["名稱不能留空。"]},{msgid:"You need to choose at least one conflict solution",msgstr:["你需要選擇至少一種衝突解決方案。"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["您必須選擇每個文件的至少一個版本才能繼續。"]}]},{language:"zh_TW",translations:[{msgid:'"{name}" is an invalid file name.',msgstr:["「{name}」是無效的檔案名稱。"]},{msgid:'"{name}" is not an allowed filetype',msgstr:["「{name}」並非允許的檔案類型"]},{msgid:'"/" is not allowed inside a file name.',msgstr:["檔案名稱中不允許使用「/」。"]},{msgid:"All files",msgstr:["所有檔案"]},{msgid:"Choose",msgstr:["選擇"]},{msgid:"Choose {file}",msgstr:["選擇 {file}"]},{msgid:"Copy",msgstr:["複製"]},{msgid:"Copy to {target}",msgstr:["複製到 {target}"]},{msgid:"Could not create the new folder",msgstr:["無法建立新資料夾"]},{msgid:"Create directory",msgstr:["建立目錄"]},{msgid:"Current view selector",msgstr:["目前檢視選取器"]},{msgid:"Favorites",msgstr:["最愛"]},{msgid:"File name cannot be empty.",msgstr:["檔案名稱不能為空。"]},{msgid:"Filepicker sections",msgstr:["檔案挑選器選取"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您標記為最愛的檔案與資料夾將會顯示在此處。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的檔案與資料夾將會顯示在此處。"]},{msgid:"Filter file list",msgstr:["過濾檔案清單"]},{msgid:"Home",msgstr:["家"]},{msgid:"Mime type {mime}",msgstr:["Mime type {mime}"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["移動至 {target}"]},{msgid:"Name",msgstr:["名稱"]},{msgid:"New",msgstr:["新"]},{msgid:"New folder",msgstr:["新資料夾"]},{msgid:"New folder name",msgstr:["新資料夾名稱"]},{msgid:"No files in here",msgstr:["此處無檔案"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您過濾條件的檔案。"]},{msgid:"No matching files",msgstr:["無符合的檔案"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["選取所有條目"]},{msgid:"Select entry",msgstr:["選取條目"]},{msgid:"Select the row for {nodename}",msgstr:["選取 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Undo",msgstr:["復原"]},{msgid:"unknown",msgstr:["未知"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上傳一些內容或與您的裝置同步"]}]}]){const{language:e,translations:s}=i,t={headers:{},translations:{"":Object.fromEntries(s.map(n=>[n.msgid,n]))}};b.addTranslation(e,t)}const h=b.build(),$=h.ngettext.bind(h),l=h.gettext.bind(h),N=L().setApp("@nextcloud/dialogs").detectLogLevel().build();class X extends Error{}class uu{title;multiSelect;mimeTypeFilter;directoriesAllowed;noMenu;buttons;path;filter;canPick;container;disabledNavigation;constructor(e,s,t,n,r,u,a,g,o,m,d=!1){this.title=e,this.multiSelect=s,this.mimeTypeFilter=t,this.directoriesAllowed=n,this.noMenu=r,this.path=a,this.filter=g,this.canPick=o,this.buttons=u,this.container=m,this.disabledNavigation=d}async pickNodes(){const{default:e}=await W(async()=>{const{default:t}=await import("./FilePicker-DuWsKdWk.chunk.mjs");return{default:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]),import.meta.url),s=await y(e,{allowPickDirectory:this.directoriesAllowed,noMenu:this.noMenu,buttons:this.buttons,name:this.title,path:this.path,mimetypeFilter:this.mimeTypeFilter,multiselect:this.multiSelect,filterFn:this.filter,canPickFn:this.canPick,disabledNavigation:this.disabledNavigation},{container:this.container});if(!Array.isArray(s)||s.length===0)throw new X("FilePicker: No nodes selected");return s}async pick(){const e=await this.pickNodes();return this.multiSelect?e.map(s=>s.path):e[0]?.path??"/"}}class eu{title;multiSelect=!1;mimeTypeFilter=[];directoriesAllowed=!1;noMenu=!1;path;filter;canPick;buttons=[];container;disabledNavigation=!1;constructor(e){this.title=e}setContainer(e){return this.container=e,this}setMultiSelect(e){return this.multiSelect=e,this}addMimeTypeFilter(e){return this.mimeTypeFilter.push(e),this}setMimeTypeFilter(e){return this.mimeTypeFilter=e,this}addButton(e){return typeof this.buttons=="function"&&(N.warn("FilePicker buttons were set to factory, now overwritten with button object."),this.buttons=[]),this.buttons.push(e),this}setButtonFactory(e){return this.buttons=e,this}setType(e){return this.buttons=(s,t)=>{const n=[],r=s[0]?.displayname||q(t);if(e===1){let u=l("Choose");s.length===1?u=l("Choose {file}",{file:r}):this.multiSelect&&(u=$("Choose %n file","Choose %n files",s.length)),n.push({callback:()=>{},label:u,variant:"primary"})}return(e===4||e===3)&&n.push({callback:()=>{},label:r?l("Copy to {target}",{target:r}):l("Copy"),icon:Q,variant:e===3?"primary":"secondary"}),(e===4||e===2)&&n.push({callback:()=>{},label:r?l("Move to {target}",{target:r}):l("Move"),icon:J,variant:"primary"}),n},this}allowDirectories(e=!0){return this.directoriesAllowed=e,this}setNoMenu(e=!0){return this.noMenu=e,this}startAt(e){return this.path=e,this}setFilter(e){return this.filter=e,this}setCanPick(e){return this.canPick=e,this}disableNavigation(){return this.disabledNavigation=!0,this}build(){return new uu(this.title,this.multiSelect,this.mimeTypeFilter,this.directoriesAllowed,this.noMenu,this.buttons,this.path,this.filter,this.canPick,this.container,this.disabledNavigation)}}function Bu(i){return new eu(i)}const su=`[n.msgid,n]))}};b.addTranslation(e,t)}const h=b.build(),$=h.ngettext.bind(h),l=h.gettext.bind(h),N=L().setApp("@nextcloud/dialogs").detectLogLevel().build();class X extends Error{}class uu{title;multiSelect;mimeTypeFilter;directoriesAllowed;noMenu;buttons;path;filter;canPick;container;disabledNavigation;constructor(e,s,t,n,r,u,a,g,o,m,d=!1){this.title=e,this.multiSelect=s,this.mimeTypeFilter=t,this.directoriesAllowed=n,this.noMenu=r,this.path=a,this.filter=g,this.canPick=o,this.buttons=u,this.container=m,this.disabledNavigation=d}async pickNodes(){const{default:e}=await W(async()=>{const{default:t}=await import("./FilePicker-5ci1Hixq.chunk.mjs");return{default:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]),import.meta.url),s=await y(e,{allowPickDirectory:this.directoriesAllowed,noMenu:this.noMenu,buttons:this.buttons,name:this.title,path:this.path,mimetypeFilter:this.mimeTypeFilter,multiselect:this.multiSelect,filterFn:this.filter,canPickFn:this.canPick,disabledNavigation:this.disabledNavigation},{container:this.container});if(!Array.isArray(s)||s.length===0)throw new X("FilePicker: No nodes selected");return s}async pick(){const e=await this.pickNodes();return this.multiSelect?e.map(s=>s.path):e[0]?.path??"/"}}class eu{title;multiSelect=!1;mimeTypeFilter=[];directoriesAllowed=!1;noMenu=!1;path;filter;canPick;buttons=[];container;disabledNavigation=!1;constructor(e){this.title=e}setContainer(e){return this.container=e,this}setMultiSelect(e){return this.multiSelect=e,this}addMimeTypeFilter(e){return this.mimeTypeFilter.push(e),this}setMimeTypeFilter(e){return this.mimeTypeFilter=e,this}addButton(e){return typeof this.buttons=="function"&&(N.warn("FilePicker buttons were set to factory, now overwritten with button object."),this.buttons=[]),this.buttons.push(e),this}setButtonFactory(e){return this.buttons=e,this}setType(e){return this.buttons=(s,t)=>{const n=[],r=s[0]?.displayname||q(t);if(e===1){let u=l("Choose");s.length===1?u=l("Choose {file}",{file:r}):this.multiSelect&&(u=$("Choose %n file","Choose %n files",s.length)),n.push({callback:()=>{},label:u,variant:"primary"})}return(e===4||e===3)&&n.push({callback:()=>{},label:r?l("Copy to {target}",{target:r}):l("Copy"),icon:Q,variant:e===3?"primary":"secondary"}),(e===4||e===2)&&n.push({callback:()=>{},label:r?l("Move to {target}",{target:r}):l("Move"),icon:J,variant:"primary"}),n},this}allowDirectories(e=!0){return this.directoriesAllowed=e,this}setNoMenu(e=!0){return this.noMenu=e,this}startAt(e){return this.path=e,this}setFilter(e){return this.filter=e,this}setCanPick(e){return this.canPick=e,this}disableNavigation(){return this.disabledNavigation=!0,this}build(){return new uu(this.title,this.multiSelect,this.mimeTypeFilter,this.directoriesAllowed,this.noMenu,this.buttons,this.path,this.filter,this.canPick,this.container,this.disabledNavigation)}}function Bu(i){return new eu(i)}const su=` @@ -8,4 +8,4 @@ import{b as j,S as M,ai as I,o as x,c as p,w as D,u as A,g as Y,t as P,h as w,f `,iu="off",tu="polite",nu="assertive";var F=(i=>(i[i.OFF=iu]="OFF",i[i.POLITE=tu]="POLITE",i[i.ASSERTIVE=nu]="ASSERTIVE",i))(F||{});const ru=1e4,au=7e3,mu=-1;function f(i,e){if(e={timeout:au,isHTML:!1,type:void 0,selector:void 0,onRemove:()=>{},onClick:void 0,close:!0,...e},typeof i=="string"&&!e.isHTML){const u=document.createElement("div");u.innerHTML=i,i=u.innerText}let s=e.type??"";typeof e.onClick=="function"&&(s+=" toast-with-click ");const t=i instanceof Node;let n=F.POLITE;e.ariaLive?n=e.ariaLive:(e.type==="toast-error"||e.type==="toast-undo")&&(n=F.ASSERTIVE);const r=Z({[t?"node":"text"]:i,duration:e.timeout,callback:e.onRemove,onClick:e.onClick,close:e.close,gravity:"top",selector:e.selector,position:"right",backgroundColor:"",className:"dialogs "+s,escapeMarkup:!e.isHTML,ariaLive:n});return r.showToast(),r}function xu(i,e){return f(i,{...e,type:"toast-error"})}function vu(i,e){return f(i,{...e,type:"toast-warning"})}function Fu(i,e){return f(i,{...e,type:"toast-info"})}function pu(i,e){return f(i,{...e,type:"toast-success"})}function Du(i,e){const s=document.createElement("span");s.innerHTML=su,s.classList.add("toast-loader");const t=document.createElement("span");return t.classList.add("toast-loader-container"),t.innerText=i,t.appendChild(s),f(t,{...e,close:!1,timeout:mu,type:"toast-loading"})}function Au(i,e,s){if(!(e instanceof Function))throw new Error("Please provide a valid onUndo method");s=Object.assign(s||{},{timeout:ru});const t=document.createElement("span"),n=document.createElement("button");t.classList.add("toast-undo-container"),n.classList.add("toast-undo-button"),n.innerText=l("Undo"),t.innerText=i,t.appendChild(n);const r=f(t,{...s,type:"toast-undo"});return n.addEventListener("click",function(u){u.stopPropagation(),e(u),r?.hideToast instanceof Function&&r.hideToast()}),r}const ou=["textContent"],du=["innerHTML"],gu=j({__name:"GenericDialog",props:{name:{},text:{},html:{},buttons:{},severity:{}},emits:["close"],setup(i,{emit:e}){const s=i,t=e,n=V(()=>s.buttons?.map(u=>({...u,callback(){u.callback(),t("close",!0)}}))),r=()=>`${s.name}: ${s.text}`;return M(()=>window.addEventListener("unload",r)),I(()=>window.removeEventListener("unload",r)),(u,a)=>(x(),p(A(U),{dialogClasses:"nc-generic-dialog",buttons:n.value,name:i.name,message:i.text,"onUpdate:open":a[0]||(a[0]=g=>u.$emit("close",!1))},{default:D(()=>[i.severity?(x(),p(A(O),{key:0,type:i.severity},{default:D(()=>[Y("p",{textContent:P(i.text)},null,8,ou)]),_:1},8,["type"])):w("",!0),i.html?(x(),_("div",{key:1,innerHTML:i.html},null,8,du)):w("",!0)]),_:1},8,["buttons","name","message"]))}});class z{#e;#s;#i;#u;constructor(e,s,t=[],n){this.#e=e,this.#s=s,this.#i=t,this.#u=n}async show(){if(!await y(gu,{buttons:this.#i,name:this.#e,text:this.#s,severity:this.#u}))throw new Error("Dialog closed")}}class lu{#e;#s;#i;#u;constructor(e){this.#e=void 0,this.#s="",this.#i=e??"",this.#u=[]}setName(e){return this.#i=e,this}setText(e){return this.#s=e,this}setSeverity(e){return this.#e=e,this}setButtons(e){return this.#u.length>0&&N.warn("[@nextcloud/dialogs] Dialog buttons are already set - this overrides previous buttons."),this.#u=e,this}addButton(e){return this.#u.push(e),this}build(){return new z(this.#i,this.#s,this.#u,this.#e)}}function wu(i){return new lu(i)}async function ku(i){i={labelConfirm:l("Confirm"),...i};const{promise:e,resolve:s}=Promise.withResolvers(),t=[{label:i.labelConfirm,variant:"primary",callback(){s(!0)}}];return i.labelReject&&t.unshift({label:i.labelReject,callback(){s(!1)}}),await new z(i.name,i.text,t,i.severity).show(),e}export{ru as T,xu as a,Fu as b,Du as c,pu as d,ku as e,Au as f,wu as g,Bu as h,N as l,vu as s,l as t}; -//# sourceMappingURL=index--CXeJKGn.chunk.mjs.map +//# sourceMappingURL=index-9np_X5jS.chunk.mjs.map diff --git a/dist/index--CXeJKGn.chunk.mjs.license b/dist/index-9np_X5jS.chunk.mjs.license similarity index 100% rename from dist/index--CXeJKGn.chunk.mjs.license rename to dist/index-9np_X5jS.chunk.mjs.license diff --git a/dist/index--CXeJKGn.chunk.mjs.map b/dist/index-9np_X5jS.chunk.mjs.map similarity index 99% rename from dist/index--CXeJKGn.chunk.mjs.map rename to dist/index-9np_X5jS.chunk.mjs.map index c575d8fe7b4f7..5da75d7bf7112 100644 --- a/dist/index--CXeJKGn.chunk.mjs.map +++ b/dist/index-9np_X5jS.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["root","factory","module","this","global","Toastify","options","version","divElement","property","avatarElement","closeElement","event","width","self","x","getAxisOffsetAValue","y","xOffset","yOffset","rootElement","elementToInsert","toastElement","topLeftOffsetSize","topRightOffsetSize","offsetSize","allToasts","classUsed","i","containsClass","height","offset","axis","elem","yourClass","IconMove","IconCopy","gtBuilder","getGettextBuilder","data","language","translations","bundle","translation","gt","n","t","logger","getLoggerBuilder","FilePickerClosed","FilePicker","title","multiSelect","mimeTypeFilter","directoriesAllowed","noMenu","buttons","path","filter","canPick","container","disabledNavigation","FilePickerVue","__vitePreload","nodes","spawnDialog","node","FilePickerBuilder","ms","button","type","target","basename","label","allow","getFilePickerBuilder","LoaderSvg","TOAST_ARIA_LIVE_OFF","TOAST_ARIA_LIVE_POLITE","TOAST_ARIA_LIVE_ASSERTIVE","ToastAriaLive","ToastAriaLive2","TOAST_UNDO_TIMEOUT","TOAST_DEFAULT_TIMEOUT","TOAST_PERMANENT_TIMEOUT","showMessage","element","classes","isNode","ariaLive","toast","showError","text","showWarning","showInfo","showSuccess","showLoading","loader","loaderContent","showUndo","onUndo","undoContent","undoButton","_hoisted_1","_hoisted_2","_sfc_main","defineComponent","__props","__emit","props","emit","dialogButtons","computed","handleUnload","onMounted","onUnmounted","_ctx","_cache","openBlock","createBlock","unref","NcDialog","$event","withCtx","NcNoteCard","createElementVNode","toDisplayString","createCommentVNode","createElementBlock","Dialog","#name","#text","#buttons","#severity","name","severity","DialogBuilder","getDialogBuilder","showConfirmation","promise","resolve"],"ignoreList":[0,1],"sources":["../node_modules/toastify-js/src/toastify.js","../node_modules/@nextcloud/dialogs/dist/chunks/index.mjs"],"sourcesContent":["/*!\n * Toastify js 1.12.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n(function(root, factory) {\n if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Toastify = factory();\n }\n})(this, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n },\n // Library version\n version = \"1.12.0\";\n\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function () {\n },\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: '',\n backgroundColor: '',\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function () {\n },\n offset: {x: 0, y: 0},\n escapeMarkup: true,\n ariaLive: 'polite',\n style: {background: ''}\n };\n\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n\n constructor: Toastify,\n\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) {\n options = {};\n }\n\n // Creating the options object\n this.options = {};\n\n this.toastElement = null;\n\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.ariaLive = options.ariaLive || Toastify.defaults.ariaLive;\n this.options.style = options.style || Toastify.defaults.style;\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n\n // Returning the current object for chaining functions\n return this;\n },\n\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n\n // Positioning toast to left or right or center\n if (!!this.options.position) {\n divElement.className += \" toastify-\" + this.options.position;\n } else {\n // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.')\n } else {\n // Default position\n divElement.className += \" toastify-right\";\n }\n }\n\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n // Loop through our style object and apply styles to divElement\n for (var property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Announce the toast to screen readers\n if (this.options.ariaLive) {\n divElement.setAttribute('aria-live', this.options.ariaLive)\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\" || this.options.positionLeft === true) {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"button\");\n closeElement.type = \"button\";\n closeElement.setAttribute(\"aria-label\", \"Close\");\n closeElement.className = \"toast-close\";\n closeElement.innerHTML = \"✖\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }.bind(this)\n );\n\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n function(event) {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n function() {\n divElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n },\n self.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }.bind(this)\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.options.onClick();\n }.bind(this)\n );\n }\n\n // Adding offset\n if(typeof this.options.offset === \"object\") {\n\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n\n }\n\n // Returning the generated element\n return divElement;\n },\n\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") {\n rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {\n rootElement = this.options.selector;\n } else {\n rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }.bind(this),\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n },\n\n hideToast: function() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this.removeElement(this.toastElement);\n },\n\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n Toastify.reposition();\n }.bind(this),\n 400\n ); // Binding `this` for function invocation\n },\n };\n\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n\n var classUsed;\n\n // Modifying the position of each toast element\n for (var i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length-1)\n // Spacing between toasts\n var offset = 15;\n\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n\n // Supporting function chaining\n return this;\n };\n\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n\n if(options.offset[axis]) {\n if(isNaN(options.offset[axis])) {\n return options.offset[axis];\n }\n else {\n return options.offset[axis] + 'px';\n }\n }\n\n return '0px';\n\n }\n\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") {\n return false;\n } else if (\n elem.className &&\n elem.className\n .trim()\n .split(/\\s+/gi)\n .indexOf(yourClass) > -1\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n","import { spawnDialog } from \"@nextcloud/vue/functions/dialog\";\nimport { defineAsyncComponent, defineComponent, computed, onMounted, onUnmounted, openBlock, createBlock, unref, withCtx, createElementVNode, toDisplayString, createCommentVNode, createElementBlock } from \"vue\";\nimport { basename } from \"@nextcloud/paths\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\nimport { getLoggerBuilder } from \"@nextcloud/logger\";\nimport Toastify from \"toastify-js\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcNoteCard from \"@nextcloud/vue/components/NcNoteCard\";\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nasync function openConflictPicker(dirname, conflicts, content, options) {\n const ConflictPicker = defineAsyncComponent(() => import(\"./ConflictPicker.mjs\"));\n const incoming = [];\n const existing = [];\n for (const node of content) {\n if (isConflictingNode(node)) {\n existing.push(node);\n incoming.push(conflicts[indexOf(node)]);\n }\n }\n if (conflicts.length === 0 || content.length === 0) {\n throw new Error(\"ConflictPicker: files and conflicts must not be empty\");\n }\n if (conflicts.length !== content.length) {\n throw new Error(\"ConflictPicker: files and conflicts must have the same length. Make sure you filter out non conflicting files from the conflicts array.\");\n }\n return await spawnDialog(ConflictPicker, {\n dirname,\n existing,\n incoming,\n isOverwriting: options?.overwriting === true,\n recursiveUpload: options?.recursive === true\n }, {\n container: options?.container\n });\n function isConflictingNode(node) {\n return conflicts.some((entry) => nodeIsConflict(node, entry));\n }\n function indexOf(node) {\n return conflicts.findIndex((entry) => nodeIsConflict(node, entry));\n }\n function nodeIsConflict(node, conflict) {\n if (\"basename\" in conflict) {\n return conflict.basename === node.basename;\n }\n return conflict.name === node.basename;\n }\n}\nconst IconMove = '';\nconst IconCopy = '';\nconst gtBuilder = getGettextBuilder().detectLanguage();\nfor (const data of [{ \"language\": \"ar\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" لا يصلح كاسم مجلد.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" غير مسموح به كاسم مجلد'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" غير مسموح به داخل اسم مجلد.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"كل الملفات\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"إختَر\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"إختر {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"إختَر %n ملف\", \"إختَر %n ملف\", \"إختَر %n ملف\", \"إختَر %n ملفات\", \"إختَر %n ملف\", \"إختر %n ملف\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"نسخ\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"نسخ إلى {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"تعذّر إنشاء المجلد الجديد\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"يتعذّر تحميل إعدادات الملفات\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"تعذر تحميل عرض الملفات\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"إنشاء مجلد\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"محدد العرض الحالي\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"المفضلة\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"الملفات والمجلدات التي تحددها كمفضلة ستظهر هنا.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"الملفات و المجلدات التي قمت مؤخراً بتعديلها سوف تظهر هنا.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"تصفية قائمة الملفات\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"اسم المجلد لا يمكن أن يكون فارغاً.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"البداية\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"التعديل\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"نقل\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"نقل إلى {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"الاسم\"] }, { \"msgid\": \"New\", \"msgstr\": [\"جديد\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"مجلد جديد\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"اسم المجلد الجديد\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"لا توجد ملفات هنا\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"لا توجد ملفات تتطابق مع عامل التصفية الذي وضعته\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"لا توجد ملفات مطابقة\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"الحالي\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"حدد جميع الإدخالات\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"إختَر المدخل\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"إختر سطر الـ {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"الحجم\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"تراجع\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"قم برفع بعض المحتوى أو المزامنة مع أجهزتك!\"] }] }, { \"language\": \"ast\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"«{name}» ye un nome de carpeta inválidu.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"«{name}» ye un nome de carpeta inválidu\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"Nun se permite'l caráuter «/» dientro'l nome de les carpetes.\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tolos ficheros\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escoyer\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escoyer «{ficheru}»\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escoyer %n ficheru\", \"Escoyer %n ficheros\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar en: {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nun se pudo crear la carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nun se pudo cargar la configuración de los ficheros\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nun se pudieron cargar les vistes de los ficheros\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear un direutoriu\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de la vista actual\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Equí apaecen los ficheros y les carpetes que metas en Favoritos.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Equí apaecen los fichero y les carpetes que modificares apocayá.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Peñerar la llista de ficheros\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nome de la carpeta nun pue tar baleru.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Aniciu\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificóse\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevu\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Carpeta nueva\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nome de carpeta nuevu\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Equí nun hai nengún ficheru\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nun s'atopó nengún ficheru que concasare cola peñera.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nun hai nengún ficheru que concase\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"De recién\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleicionar toles entraes\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleicionar la entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleicionar la filera de: {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamañu\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Xubi dalgún elementu o sincroniza colos tos preseos!\"] }] }, { \"language\": \"ca\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`No és permès d'usar el caràcter \"{char}\" en un nom.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" no és un nom permès.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" no és vàlid com a nom de carpeta.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no és vàlid com a nom de carpeta'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" és un mot reservat i no està permès com a nom.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [`\"/\" no està permès en el nom d'una carpeta.`] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n conflicte de fitxers\", \"%n conflictes de fitxers\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n onflicte de fitxers a {dirname}\", \"%n conflictes de fitxers a {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tots els fitxers\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancel·lar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancel·lar tota l'operació\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Tria\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Tria {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Tria %n fitxer\", \"Tria %n fitxers\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirma\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copia\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copia a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No s'ha pogut crear la carpeta nova\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No es poden carregar fitxers de configuració\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No es poden carregar fitxers de vistes\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crea un directori\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de visualització actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Escriviu el vostre nom\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versió existent\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"No s'ha pogut desar el sobrenom.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Preferits\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Els fitxers i les carpetes que marqueu com a favorits es mostraran aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Els fitxers i les carpetes recentment modificats es mostraran aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar llistat de fitxers\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nom de la carpeta no pot estar buit.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificació com a convidat\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inici\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si seleccioneu les dues versions, el fitxer entrant tindrà un número afegit al seu nom.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nom no vàlid.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data de l'última modificació desconeguda\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Data de modificació\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Desplaça\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Desplaça a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nom\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Els noms poden tenir com a màxim 64 caràcters.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Els noms no poden ser buits.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [`Els noms no poden acabar amb l'extensió \"{extension}\".`] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Els noms no poden començar amb un punt.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Crea\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Carpeta nova\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nom de la carpeta nova\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versió\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hi ha cap fitxer\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No s'ha trobat cap fitxer que coincideixi amb el filtre.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hi ha cap fitxer que coincideixi\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Si us plau, escriu un nom amb 2 caràcters com a mínim.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recents\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecciona totes les caselles de selecció\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecciona totes les entrades\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecciona tots els fitxers existents\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecciona tots els fitxers nous\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecciona l'entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecciona la fila per a {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Mida\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Omet %n fitxer\", \"Omet %n fitxers\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Omet aquest fitxer\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Entreu el nom\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfés\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Pugeu contingut o sincronitzeu-lo amb els vostres dispositius!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Quan es selecciona una carpeta entrant, també se sobreescriuran els fitxers que hi entrin en conflicte.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quan es selecciona una carpeta entrant, el contingut s'escriu a la carpeta existent i es realitza una resolució recursiva de conflictes.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quins fitxers voleu conservar?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Actualment se us mostra com a {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Actualment no esteu identificat.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"No podeu deixar el nom buit.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Heu de triar com a mínim una solució de conflicte\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Heu de seleccionar com a mínim una versió de cada fitxer per continuar.\"] }] }, { \"language\": \"cs_CZ\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"znak „{char}“ není možné použít uvnitř názvu složky.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}“ není možné použít uvnitř názvu.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}“ není možné použít jako název.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ je vyhrazeným názvem a není možné ho používat pro názvy složek.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}“ je vyhrazeným názvem a není možné ho použít.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n kolize souboru\", \"%n kolize souborů\", \"%n kolizí souborů\", \"%n kolize souborů\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n kolize souborů v {dirname}\", \"%n kolize souborů v {dirname}\", \"%n kolizí souborů v {dirname}\", \"%n kolize souborů v {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Veškeré soubory\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Storno\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Zrušit celou operaci\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Zvolit\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Zvolit {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Zvolte %n soubor\", \"Zvolte %n soubory\", \"Zvolte %n souborů\", \"Zvolte %n soubory\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdit\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Pokračovat\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Zkopírovat\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Zkopírovat do {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Novou složku se nepodařilo vytvořit\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepodařilo se načíst nastavení pro soubory\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepodařilo se načíst pohledy souborů\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Vytvořit složku\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Výběr stávajícího zobrazení\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Zadejte své jméno\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Existující verze\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nepodařilo se nastavit přezdívku.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Oblíbené\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Zde se zobrazí soubory a složky, které označíte jako oblíbené.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Zde se zobrazí soubory a složky, které jste nedávno pozměnili.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrovat seznam souborů\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Názvy složek nemohou končit na „{extension}“.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikace hosta\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Domů\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Pokud vyberete obě verze, pak k názvu příchozího souboru bude přidáno číslo.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Neplatný název složky.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Neplatný název.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum poslední změny neznámé\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Změněno\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Přesounout\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Přesunout do {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Název\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Je třeba, aby délka jmen nepřesahovala 64 znaků.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Názvy je třeba vyplnit.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Názvy nemohou končit na „{extension}“.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Názvy nemohou začínat tečkou.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nové\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nová složka\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Název pro novou složku\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nová verze\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nejsou zde žádné soubory\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenalezeny žádné soubory odpovídající vašemu filtru\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Žádné odpovídající soubory\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Zadejte jméno dlouhé alespoň 2 znaky.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedávné\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Vybrat všechny zaškrtávací kolonky\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vybrat všechny položky\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vybrat všechny existující soubory\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vybrat všechny nové soubory\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vybrat položku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vybrat řádek pro {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Velikost\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Přeskočit %n soubor\", \"Přeskočit %n soubory\", \"Přeskočit %n souborů\", \"Přeskočit %n soubory\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Přeskočit tento soubor\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Odeslat jméno\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Zpět\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Nahrajte sem nějaký obsah nebo proveďte synchronizaci se svými zařízeními!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Pokud je vybrána příchozí složka, budou v ní také přepsány jakékoli kolidující soubory.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Když je vybrána příchozí složka, jakékoli soubory v ní budou také přepsány.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Pokud je vybrána příchozí složka, je obsah zapsán do existující složky a je provedeno rekurzivní vyřešení kolizí.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Které soubory chcete ponechat?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"V tuto chvíli jste identifikováni jako {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"V tuto chvíli nejste identifikovaní.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Jméno nelze ponechat nevyplněné.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Je třeba zvolit alespoň jedno z řešení kolize\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru.\"] }] }, { \"language\": \"da\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" er ikke tilladt i et navn.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" er ikke tilladt i et navn.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" er et ugyldigt mappenavn.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" er ikke et tilladt mappenavn'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" er et reserveret navn og er derfor ikke tilladt.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" er ikke tilladt i et mappenavn.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n filkonflikt\", \"%n filer konflikter\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n filkonflikt i {dirname}\", \"%n filkonflikter i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle filer\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Fortryd\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annullér hele operationen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Vælg\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vælg {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vælg %n fil\", \"Vælg %n filer\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekræft\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsæt\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopier\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopier til {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunne ikke oprette den nye mappe\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Filindstillingerne kunne ikke indlæses\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunne ikke indlæse filvisninger\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Opret mappe\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuel visningsvælger\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Indtast dit navn\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Eksisterende version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Forsøg på at gemme kaldenavn mislykkedes.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritter\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer og mapper, du markerer som foretrukne, vises her.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer og mapper, du for nylig har ændret, vises her.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer fil liste\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mappenavnet må ikke være tomt.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gæsteidentifikation\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Hjem\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Hvis du vælger begge versioner, vil den indkommende fil have et nummer tilføjet til sit navn.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ugyldigt navn.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Senest ændret dato ukendt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ændret\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Flyt\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flyt til {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Navn\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Navne kan højst være 64 tegn lange.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Navne kan ikke være tomt.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Navne må ikke ende på \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Navne skal starte med et punktum.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mappe\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ny mappe navn\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Ny version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Ingen filer here\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Der blev ikke fundet nogen filer, der matcher dit filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ingen matchende filer\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Indtast et navn med mindst 2 tegn.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Seneste\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Markér alle afkrydsningsfelter\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vælg alle poster\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vælg alle eksisterende filer\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vælg alle nye filer\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vælg post\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vælg rækken for {nodenavn}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Størelse\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Spring %n fil over\", \"Spring %n filer over\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Spring denne fil over\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Indsend navn\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Fortryd\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload noget indhold eller synkroniser med dine enheder!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Når en indkommende mappe er valgt, vil eventuelle modstridende filer i det også blive overskrevet.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Når en indkommende mappe er valgt, er indholdet skrevet ind i den eksisterende mappe og en rekursiv konfliktløsning udføres.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hvilke filer vil du have?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du er i øjeblikket identificeret som {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du er ikke identificeret.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kan ikke efterlade navnet tomt.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Du skal vælge mindst én konfliktløsning\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du skal vælge mindst én version af hver fil for at fortsætte.\"] }] }, { \"language\": \"de\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Ordnernamens nicht zulässig.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Namens nicht zulässig.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ist kein zulässiger Name.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig für Ordnernamen.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n Dateikonflikt\", \"%n Dateikonflikte\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n Dateikonflikt in {dirname}\", \"%n Dateikonflikte in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle Dateien\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Abbrechen\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Den gesamten Vorgang abbrechen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Auswählen\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} auswählen\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n Datei auswählen\", \"%n Dateien auswählen\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bestätigen\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsetzen\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopieren\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Nach {target} kopieren\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Der neue Ordner konnte nicht erstellt werden\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dateieinstellungen konnten nicht geladen werden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dateiansichten konnten nicht geladen werden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Verzeichnis erstellen\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuelle Ansichtsauswahl\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Gib deinen Namen ein\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Vorhandene Version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Spitzname konnte nicht gespeichert werden.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien und Ordner, die du als Favorit markierst, werden hier angezeigt.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien und Ordner, die du kürzlich geändert hast, werden hier angezeigt.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dateiliste filtern\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Ordnernamen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gast-Identifikation\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ungültiger Ordnername.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ungültiger Name.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum der letzten Änderung unbekannt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Geändert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Verschieben\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Nach {target} verschieben\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namen dürfen maximal 64 Zeichen lang sein.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namen dürfen nicht leer sein.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namen dürfen nicht mit einem Punkt beginnen.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Neuer Ordner\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Neuer Ordnername\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Neue Version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Hier sind keine Dateien\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Es wurden keine Dateien gefunden, die deinem Filter entsprechen.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Keine passenden Dateien\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Bitte einen Namen mit mindestens zwei Zeichen eingeben.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Neueste\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Alle Kontrollkästchen aktivieren\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle Einträge auswählen\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Alle vorhandenen Dateien auswählen\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Alle neuen Dateien auswählen\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Eintrag auswählen\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Die Zeile für {nodename} auswählen.\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Größe\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n Datei überspringen\", \"%n Dateien überspringen\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Diese Datei überspringen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Namen senden\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Rückgängig machen\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lade Inhalte hoch oder synchronisiere diese mit deinen Geräten!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welche Dateien sollen behalten werden?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du bist derzeit als {nickname} identifiziert.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du bist momentan nicht identifiziert.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kannst den Namen nicht leer lassen.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Es muss mindestens eine Konfliktlösung gewählt werden\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren.\"] }] }, { \"language\": \"de_DE\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Ordnernamens nicht zulässig.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Namens nicht zulässig.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ist kein zulässiger Name.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig für Ordnernamen.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n Dateikonflikt\", \"%n Dateikonflikte\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n Dateikonflikt in {dirname}\", \"%n Dateikonflikte in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle Dateien\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Abbrechen\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Den gesamten Vorgang abbrechen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Auswählen\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} auswählen\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n Datei auswählen\", \"%n Dateien auswählen\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bestätigen\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsetzen\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopieren\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Nach {target} kopieren\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Der neue Ordner konnte nicht erstellt werden\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dateieinstellungen konnten nicht geladen werden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dateiansichten konnten nicht geladen werden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Verzeichnis erstellen\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuelle Ansichtsauswahl\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Geben Sie Ihren Namen ein\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Vorhandene Version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Spitzname konnte nicht gespeichert werden.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien und Ordner, die Sie als Favorit markieren, werden hier angezeigt.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien und Ordner, die Sie kürzlich geändert haben, werden hier angezeigt.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dateiliste filtern\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Ordnernamen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gast-Identifikation\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ungültiger Ordnername.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ungültiger Name.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum der letzten Änderung unbekannt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Geändert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Verschieben\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Nach {target} verschieben\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namen dürfen maximal 64 Zeichen lang sein.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namen dürfen nicht leer sein.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namen dürfen nicht mit einem Punkt beginnen.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Neuer Ordner\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Neuer Ordnername\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Neue Version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Hier sind keine Dateien\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Es wurden keine Dateien gefunden, die Ihrem Filter entsprechen.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Keine passenden Dateien\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Bitte einen Namen mit mindestens zwei Zeichen eingeben.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Neueste\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Alle Kontrollkästchen aktivieren\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle Einträge auswählen\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Alle vorhandenen Dateien auswählen\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Alle neuen Dateien auswählen\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Eintrag auswählen\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Die Zeile für {nodename} auswählen.\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Größe\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n Datei überspringen\", \"%n Dateien überspringen\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Diese Datei überspringen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Namen senden\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Rückgängig machen\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Laden Sie Inhalte hoch oder synchronisieren Sie diese mit Ihren Geräten!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welche Dateien sollen behalten werden?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sie sind derzeit als {nickname} identifiziert.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Sie sind momentan nicht identifiziert.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Sie können den Namen nicht leer lassen.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Es muss mindestens eine Konfliktlösung gewählt werden\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren.\"] }] }, { \"language\": \"el\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"Το «{char}» δεν επιτρέπεται μέσα σε όνομα φακέλου.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" δεν επιτρέπεται μέσα σε ένα όνομα.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" δεν είναι επιτρεπτό όνομα.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"Το «{segment}» είναι ένα δεσμευμένο όνομα και δεν επιτρέπεται για ονόματα φακέλων.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" είναι ένα δεσμευμένο όνομα και δεν επιτρέπεται.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n σύγκρουση αρχείου\", \"%n σύγκρουση αρχείων\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n σύγκρουση αρχείου στο {dirname}\", \"%n σύγκρουση αρχείων στο {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Όλα τα αρχεία\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Ακύρωση\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Ακύρωση όλης της διαδικασίας\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Επιλογή\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Επιλέξτε {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Επιλέξτε %n αρχείο\", \"Επιλέξτε %n αρχεία\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Επιβεβαίωση\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Συνέχεια\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Αντιγραφή\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Αντιγραφή στο {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Αδυναμία δημιουργίας νέου φακέλου\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Αδυναμία φόρτωσης ρυθμίσεων αρχείων\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Αδυναμία φόρτωσης προβολών αρχείων\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Δημιουργία καταλόγου\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Επιλογέας τρέχουσας προβολής\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Εισάγετε το όνομά σας\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Υφιστάμενη έκδοση\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Αποτυχία στην ρύθμιση του ψευδώνυμου.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Αγαπημένα\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Τα αρχεία και οι φάκελοι που επισημάνετε ως αγαπημένα θα εμφανίζονται εδώ.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Τα αρχεία και οι φάκελοι που τροποποιήσατε πρόσφατα θα εμφανίζονται εδώ.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Φιλτράρισμα λίστας αρχείων\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Τα ονόματα των φακέλων δεν πρέπει να τελειώνουν με «{extension}».\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Ταυτοποίηση επισκέπτη\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Αρχική\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Εάν επιλέξετε και τις δύο εκδόσεις, στο όνομα του εισερχόμενου αρχείου θα προστεθεί ένας αριθμός.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Μη έγκυρο όνομα φακέλου.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Μη έγκυρο όνομα.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Άγνωστη ημερομηνία τελευταίας τροποποίησης\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Τροποποιήθηκε\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Μετακίνηση\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Μετακίνηση στο {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Όνομα\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Τα ονόματα μπορούν να έχουν μέγιστο μήκος 64 χαρακτήρες.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Τα ονόματα δεν πρέπει να είναι κενά.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Τα ονόματα δεν πρέπει να τελειώνουν με \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Τα ονόματα δεν πρέπει να ξεκινούν με τελεία.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Νέο\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Νέος φάκελος\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Όνομα νέου φακέλου\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Νέα έκδοση\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Δεν υπάρχουν αρχεία εδώ\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Δεν βρέθηκαν αρχεία που να ταιριάζουν με το φίλτρο σας.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Κανένα αρχείο δεν ταιριάζει\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Παρακαλώ εισάγετε ένα όνομα με τουλάχιστον 2 χαρακτήρες.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Πρόσφατα\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Επιλέξτε όλα τα πλαίσια ελέγχου\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Επιλογή όλων των καταχωρήσεων\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Επιλογή όλων των υπάρχοντων αρχείων\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Επιλογή όλων των νέων αρχείων\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Επιλογή εγγραφής\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Επιλέξτε τη γραμμή για το {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Μέγεθος\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Παράλειψη ενός αρχείου\", \"Παράλειψη %n αρχείων\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Παράλειψη αυτού το αρχείου\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Υποβολή ονόματος\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Αναίρεση\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Ανεβάστε κάποιο περιεχόμενο ή συγχρονίστε με τις συσκευές σας!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Όταν επιλέγεται ένας φάκελος εισερχομένων, όλα τα αρχεία που βρίσκονται σε σύγκρουση μέσα σε αυτόν θα αντικατασταθούν επίσης.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Όταν επιλέγεται ένας φάκελος εισερχομένων, το περιεχόμενο εγγράφεται στον υπάρχοντα φάκελο και εκτελείται μια αναδρομική επίλυση σύγκρουσης.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Ποια αρχεία θέλετε να διατηρήσετε;\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Αυτή τη στιγμή έχετε αναγνωριστεί ως {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Δεν έχετε ταυτοποιηθεί.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Δεν μπορείτε να αφήσετε το όνομα κενό.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Πρέπει να επιλέξετε τουλάχιστον μία λύση σύγκρουσης\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Πρέπει να επιλέξετε τουλάχιστον μία έκδοση από κάθε αρχείο για να συνεχίσετε.\"] }] }, { \"language\": \"en_GB\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" is not allowed inside a folder name.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" is not allowed inside a name.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" is not an allowed name.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" is a reserved name and cannot be used for folder names.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" is a reserved name and not allowed.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n file conflict\", \"%n files conflict\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n file conflict in {dirname}\", \"%n file conflicts in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"All files\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancel\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancel the entire operation\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Choose\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Choose {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Choose %n file\", \"Choose %n files\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirm\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continue\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copy\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copy to {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Could not create the new folder\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Could not load files settings\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Could not load files views\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Create directory\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Current view selector\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Enter your name\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Existing version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Failed to set nickname.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favourites\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Files and folders you mark as favourite will show up here.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Files and folders you recently modified will show up here.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter file list\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Folder names must not end with \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Guest identification\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"If you select both versions, the incoming file will have a number added to its name.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Invalid folder name.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Invalid name.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Last modified date unknown\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modified\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Move\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Move to {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Names may be at most 64 characters long.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Names must not be empty.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Names must not end with \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Names must not start with a dot.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"New\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"New folder\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"New folder name\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"New version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No files in here\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No files matching your filter were found.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No matching files\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Please enter a name with at least 2 characters.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recent\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Select all checkboxes\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Select all entries\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Select all existing files\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Select all new files\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Select entry\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Select the row for {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Size\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Skip %n file\", \"Skip %n files\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Skip this file\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Submit name\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Undo\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload some content or sync with your devices!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"When an incoming folder is selected, any conflicting files within it will also be overwritten.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"When an incoming folder is selected, any files within it will also be overwritten.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Which files do you want to keep?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"You are currently identified as {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"You are currently not identified.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"You cannot leave the name empty.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"You need to choose at least one conflict solution\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"You need to select at least one version of each file to continue.\"] }] }, { \"language\": \"es\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" no está permitido dentro de un nombre.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" no es un nombre permitido.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" es un nombre de carpeta no válido.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no es un nombre de carpeta permitido'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" es un nombre reservado y no está permitido.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no está permitido dentro del nombre de una carpeta.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Seleccionar\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Seleccionar {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Elige %n archivo\", \"Elige %n archivos\", \"Seleccione %n archivos\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudieron cargar los ajustes de archivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear directorio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ingrese su nombre\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Fallo al establecer apodo.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nombre de la carpeta no puede estar vacío.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificación de invitado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nombre inválido.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Los nombres no deben estar vacíos.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Los nombres no deben terminar con \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Los nombres no deben iniciar con un punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\" Nueva carpeta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nuevo nombre de carpeta\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidiesen con su filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Por favor, ingrese un nombre con al menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar nombre\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Cargue algún contenido o sincronice con sus dispositivos!\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Ud. se encuentra identificado actualmente como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Ud. no se encuentra identificado actualmente.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"No puede dejar el nombre vacío.\"] }] }, { \"language\": \"es_AR\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" es un nombre de carpeta inválido.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no es un nombre de carpeta permitido'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no está permitido en el nombre de una carpeta.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Elegir\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Elija {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Elija %n archivo\", \"Elija %n archivos\", \"Elija %n archivos\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudo cargar la configuración de archivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear directorio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nombre de la carpeta no puede estar vacío.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nueva carpeta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nombre de nueva carpeta\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidan con su filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Cargue algún contenido o sincronice con sus dispositivos!\"] }] }, { \"language\": \"es_MX\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" no está permitido dentro de un nombre de carpeta'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" no está permitido dentro de un nombre'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" no es un nombre permitido'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" es un nombre reservado y no está permitido para nombres de carpetas'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" es un nombre reservado y no está permitido'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n conflicto de archivo\", \"%n conflicto de archivos\", \"%n conflicto de archivos\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n conflicto de archivo en {dirname}\", \"%n conflictos de archivo en {dirname}\", \"%n conflictos de archivo en {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar la operación completa\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Seleccionar\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Seleccionar {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Seleccionar %n archivo\", \"Seleccionar %n archivos\", \"Seleccionar %n archivos\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudo cargar la configuración de archivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear carpeta\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ingresa tu nombre\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"No se pudo establecer el nickname\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Los nombres para carpeta no deben terminar con \"{extension}\"'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificación de invitado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si seleccionas ambas versiones, se le agregará al archivo que se está descargando, un número a su nombre.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nombre de carpeta no válido\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nombre no válido\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Última fecha de modificación desconocida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Los nombres pueden tener como máximo 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Los nombres no deben estar vacíos.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Los nombres no deben terminar con \"{extension}\"'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Los nombres no deben comenzar con un punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nueva carpeta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nombre de nueva carpeta\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Versión nueva\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidan con su filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Por favor ingrese un nombre con al menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleccione todas las casillas de verificación\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccione todos los archivos que aparecen\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccione todos los archivos nuevos\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Omitir %n archivo\", \"Omitir %n archivos\", \"Omitir %n archivos\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Omitir este archivo\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar nombre\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Suba algún contenido o sincronice con sus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cuando se selecciona una carpeta en descarga, cualquier archivo conflictivo que contenga también se sobrescribirá.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cuando se selecciona una carpeta en descarga, el contenido se escribe en la carpeta existente y se realiza una resolución de conflicto recursiva.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"¿Qué archivos deseas conservar?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Actualmente estás identificado como {nickname}\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"No estás identificado actualmente.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"No puedes dejar el nombre vacío.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Necesitas elegir al menos una solución al conflicto.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Necesitas seleccionar al menos una versión de cada archivo para continuar.\"] }] }, { \"language\": \"et_EE\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"„{char}“ pole kausta nimes lubatud.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}“ pole nimes lubatud.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}“ pole lubatud nimi.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ on reserveeritud nimi ja pole kausta nimes lubatud.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}“ on reserveeritud nimi ja pole kasutamiseks lubatud.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n fail on vastuolus\", \"%n faili on omavahel vastuolus\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n fail on {dirname} kaustas vastuolus\", \"%n faili on omavahel {dirname} kaustas vastuolus\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Kõik failid\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Katkesta\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Katkesta kogu tegevus\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Tee valik\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vali {file} fail\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vali %n fail\", \"Vali %n faili\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Kinnita\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Jätka\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopeeri\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopeeri sihtkohta „{target}“\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Uue kausta loomine ei õnnestunud\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Failide seadistusi ei õnnestunud laadida\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Failide vaatamiskordi ei õnnestunud laadida\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Loo kaust\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Praeguse vaate valija\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Sisesta oma nimi\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Olemasolev versioon\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Hüüdnime sisestamine ei õnnestunud.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Lemmikud\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Failid ja kaustad, mida märgid lemmikuks, kuvatakse siin.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Siin kuvatakse hiljuti muudetud failid ja kaustad.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtreeri faililoendit\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Kausta nime lõpus ei tohi olla „{extension}“.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Külalise tuvastamine\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Avaleht\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Kui valid mõlemad versioonid, siis uue faili nimele lisatakse number.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Vigane kausta nimi.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Vigane nimi.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Viimase muutmise kuupäev pole teada\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Muudetud\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Teisalda\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Teisalda kausta „{target}“\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nimi\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nimed võivad olla vaid kuni 64 tähemärki pikad.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nimi ei saa olla tühi.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Nime lõpus ei tohi olla „{extension}“.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nime alguses ei tohi olla punkti.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Uus\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Uus kaust\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Uue kausta nimi\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Uus versioon\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Siin pole faile\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Sinu filtrile vastavaid faile ei leidunud.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Puuduvad sobivad failid\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Palun sisesta vähemalt 2 tähemärki pikk nimi.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Hiljutine\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Vali kõik märkeruudud\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vali kõik kirjed\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vali kõik olemasolevad failid\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vali kõik uued failid\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vali kirje\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vali rida „{nodename}“ jaoks\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Suurus\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Jäta %n fail vahele\", \"Jäta %n faili vahele\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Jäta see fail vahele\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Lisa nimi\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Tühista\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lisa mingit sisu või sünkrooni see oma seadmetest!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Kui uute failide kaust on valitud, siis kõik seal leiduvad vastuolus failid saavad üle kirjutatud.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Kui uute (saabuvate) failide kaust on valitud, siis kõik seal leiduvad failid saavad samuti üle kirjutatud.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Kui uute failide kaust on valitud, siis sisu kirjutatakse olemasolevasse kausta ja korraldatakse rekursiivne failikonfliktide lahendamine.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Missugused failid tahaksid alles jätta?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sa oled hetkel tuvastatav kui {nickname}..\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Sa oled hetkel tuvastamata.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Sa ei saa jätta nime tühjaks.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Sa pead valima vähemalt ühe failikonflikti lahenduse.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Jätkamaks pead valima igast failist vähemalt ühe versiooni.\"] }] }, { \"language\": \"fa\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} نام پوشه معتبر نیست\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} نام پوشه مجاز نیست\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" نمی‌تواند در نام پوشه استفاده شود.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"همه فایل‌ها\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"لغو\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"انتخاب\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"انتخاب {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"انتخاب %n فایل\", \"انتخاب %n فایل\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"رونوشت\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"رونوشت از {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"پوشه جدید ایجاد نشد\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"تنظیمات فایل باز نشد\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"نمای فایل‌ها بارگیری نشد\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"ایجاد فهرست\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"انتخابگر نماگر فعلی\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"نام خود را وارد کنید\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"تنظیم نام مستعار ناموفق بود.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"علایق\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"فایل‌ها و پوشه‌هایی که به‌عنوان مورد علاقه علامت‌گذاری می‌کنید در اینجا نشان داده می‌شوند.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"فایل‌ها و پوشه‌هایی که اخیراً تغییر داده‌اید در اینجا نمایش داده می‌شوند.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"فیلتر لیست فایل\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"نام پوشه نمی تواند خالی باشد.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"شناسایی مهمان\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"خانه\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"اصلاح شده\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"انتقال\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"انتقال به {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"نام\"] }, { \"msgid\": \"New\", \"msgstr\": [\"جدید\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"پوشه جدید\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"نام پوشه جدید\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"فایلی اینجا نیست\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"هیچ فایلی مطابق با فیلتر شما یافت نشد.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"فایل منطبقی وجود ندارد\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"لطفاً نامی با حداقل ۲ کاراکتر وارد کنید.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"اخیر\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"انتخاب همه ورودی ها\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"انتخاب ورودی\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"انتخاب ردیف برای {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"اندازه\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"ارسال نام\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"بازگردانی\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"مقداری محتوا آپلود کنید یا با دستگاه های خود همگام سازی کنید!\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"شما در حال حاضر شناسایی نشده‌اید.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"نمی‌توانید نام را خالی بگذارید.\"] }] }, { \"language\": \"fi_FI\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" ei ole sallittu nimessä.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ei ole sallittu nimi.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" on virheellinen kansion nimi.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" ei ole sallittu kansion nimi'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" on varattu nimi eikä se ole sallittu.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ei ole sallittu kansion nimessä.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Kaikki tiedostot\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Peruuta\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Valitse\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Valitse {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Valitse %n tiedosto\", \"Valitse %n tiedostoa\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopioi\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopioi sijaintiin {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Uutta kansiota ei voitu luoda\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tiedoston asetuksia ei saa ladattua\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tiedoston näkymiä ei saa ladattua\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Luo kansio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Nykyisen näkymän valinta\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Kirjoita nimesi\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kutsumanimen asettaminen epäonnistui.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Suosikit\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tiedostot ja kansiot, jotka merkitset suosikkeihisi, näkyvät täällä.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Tiedostot ja kansiot, joita muokkasit äskettäin, näkyvät täällä.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Suodata tiedostolistaa\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Kansion nimi ei voi olla tyhjä.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Vieraan tunnistaminen\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Koti\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Virheellinen nimi.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Muokattu\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Siirrä\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Siirrä sijaintiin {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nimi\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nimissä voi olla enintään 64 merkkiä.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nimet eivät saa olla tyhjiä.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nimet eivät saa päättyä sanaan \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nimet eivät saa alkaa pisteellä.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Uusi\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Uusi kansio\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Uuden kansion nimi\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Täällä ei ole tiedostoja\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Suodatinta vastaavia tiedostoja ei löytynyt.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ei vastaavia tiedostoja\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Kirjoita vähintään kaksi merkkiä sisältävä nimi.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Viimeisimmät\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Valitse kaikki tietueet\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Valitse tietue\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Valitse rivi {nodename}:lle\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Koko\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Lähetä nimi\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Kumoa\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lähetä jotain sisältöä tai synkronoi laitteidesi kanssa!\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sinut tunnetaan tällä hetkellä nimellä {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Sinua ei ole tunnistettu.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Nimeä ei voi jättää tyhjäksi.\"] }] }, { \"language\": \"fr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [`\"{char}\" n'est pas autorisé dans un nom de dossier.`] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`\"{char}\" n'est pas autorisé dans un nom.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [`\"{extension}\" n'est pas un nom autorisé.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [`\"{segment}\" est un nom réservé et n'est pas autorisé pour un nom de dossier.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [`\"{segment}\" est un nom réservé et n'est pas autorisé.`] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n conflit de fichier\", \"%n conflit de fichiers\", \"%n conflit de fichiers\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%nconflit de fichier dans {dirname}\", \"%n conflit de fichiers dans {dirname}\", \"%nconflit de fichiers dans {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tous les fichiers\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Annuler\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Tout annuler \"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Choisir\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Choisir {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Choisir %n fichier\", \"Choisir %n fichiers\", \"Choisir %n fichiers \"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmer\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuer\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copier\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copier vers {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Impossible de créer le nouveau dossier\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Les paramètres des fichiers n'ont pas pu être chargés\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Impossible de charger les vues des fichiers\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Créer un répertoire\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Sélecteur d'affichage actuel\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Entrez votre nom\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Version actuelle \"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Échec de définition du surnom.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoris\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Les fichiers et répertoires marqués en favoris apparaîtront ici.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Les fichiers et répertoires modifiés récemment apparaîtront ici.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer la liste des fichiers\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Les noms de dossiers ne doivent pas se terminer par \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identification d'invité\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Accueil\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si vous conservez les deux versions, le fichier reçu sera renommé avec un numéro.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nom de dossier invalide.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nom invalide.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Date de modification inconnue\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modifié\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Déplacer\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Déplacer vers {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nom\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Les noms peuvent comporter au maximum 64 caractères.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Les noms ne peuvent pas être vides.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Les noms ne doivent pas se terminer par \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Les noms ne peuvent pas commencer par un point.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nouveau\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nouveau dossier\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nom du nouveau dossier\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nouvelle version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Aucun fichier ici\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Aucun fichier trouvé correspondant à votre filtre.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Aucun fichier correspondant\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Veuillez entrer un nom avec au moins 2 caractères.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Récents\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Sélectionner toutes les cases à cocher\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Tout sélectionner\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Sélectionner tous les fichiers existants\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Sélectionner tous les nouveaux fichiers\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Sélectionner une entrée\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Sélectionner la ligne correspondant à {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Taille\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Ignorer %n fichier\", \"Ignorer %n fichiers \", \"Ignorer %n fichiers \"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ignorer ce fichier\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Envoyer le nom\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Annuler\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Chargez du contenu ou synchronisez avec vos équipements !\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"En sélectionnant un dossier entrant, les fichiers en conflit qu’il contient seront automatiquement écrasés.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Suite à la sélection d'un dossier en entrée, tout fichier présent dans ce dossier sera alors écrasé. \"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Lorsque vous sélectionnez un dossier entrant, son contenu est ajouté au dossier existant et les conflits sont résolus automatiquement.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quels fichiers souhaitez-vous conserver ?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Vous êtes actuellement identifié comme {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Vous n'êtes pas identifié actuellement.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Vous ne pouvez pas laisser le nom vide.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Vous devez choisir au moins une option pour résoudre le conflit\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Sélectionnez au moins une version de chaque fichier pour continuer.\"] }] }, { \"language\": \"ga\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [`Ní cheadaítear \"{char}\" laistigh d'ainm fillteáin.`] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`Ní cheadaítear \"{char}\" laistigh d'ainm.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['Ní ainm ceadaithe é \"{extension}\".'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [`Is ainm curtha in áirithe é \"{segment}\" agus ní cheadaítear é d'ainmneacha fillteán.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['Is ainm curtha in áirithe é \"{segment}\" agus ní cheadaítear é.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n coimhlint comhaid\", \"%n coimhlint comhad\", \"%n coimhlint comhad\", \"%n coimhlint comhad\", \"%n coimhlint comhad\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n coimhlint comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Gach comhad\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cealaigh\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cealaigh an oibríocht ar fad\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Roghnaigh\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Roghnaigh {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Roghnaigh %n comhad\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Deimhnigh\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Lean ar aghaidh\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Cóip\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Cóipeáil chuig {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Níorbh fhéidir an fillteán nua a chruthú\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Níorbh fhéidir socruithe comhaid a lódáil\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Níorbh fhéidir radhairc comhad a lódáil\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Cruthaigh eolaire\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Roghnóir amhairc reatha\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Cuir isteach d'ainm\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Leagan atá ann cheana féin\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Theip ar leasainm a shocrú.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Ceanáin\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Taispeánfar comhaid agus fillteáin a mharcálann tú mar is fearr leat anseo.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Taispeánfar comhaid agus fillteáin a d'athraigh tú le déanaí anseo.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Scag liosta comhad\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Ní féidir ainmneacha fillteán a chríochnú le \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Aitheantas aoi\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Baile\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Má roghnaíonn tú an dá leagan, cuirfear uimhir le hainm an chomhaid atá ag teacht isteach.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ainm fillteáin neamhbhailí.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ainm neamhbhailí.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Dáta an athraithe dheireanaigh anaithnid\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Athraithe\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Bog\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Bog go{target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ainm\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Ní fhéadfaidh ainmneacha a bheith níos mó ná 64 carachtar ar fhad.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ní féidir ainmneacha a bheith folamh.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Ní féidir ainmneacha a chríochnú le \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ní mór ainmneacha a bheith ag tosú le ponc.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nua\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Fillteán nua\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ainm fillteáin nua\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Leagan nua\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Níl aon chomhaid istigh anseo\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Níor aimsíodh aon chomhad a tháinig le do scagaire.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Gan comhaid meaitseála\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Cuir isteach ainm ina bhfuil 2 charachtar ar a laghad.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"le déanaí\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Roghnaigh na boscaí seiceála go léir\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Roghnaigh gach iontráil\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Roghnaigh na comhaid uile atá ann cheana\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Roghnaigh gach comhad nua\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Roghnaigh iontráil\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Roghnaigh an ró do {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Méid\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Léim %n comhad\", \"Léim %n comhaid\", \"Léim %n comhaid\", \"Léim %n comhaid\", \"Léim %n comhaid\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Scipeáil an comhad seo\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Cuir isteach ainm\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Cealaigh\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Uaslódáil roinnt ábhair nó sioncronaigh le do ghléasanna!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, déanfar aon chomhaid choimhlinteacha ann a athscríobh freisin.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, déanfar aon chomhaid laistigh de a athscríobh freisin.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, scríobhtar an t-ábhar isteach sa fhillteán atá ann cheana féin agus déantar réiteach coinbhleachta athchúrsach.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Cé na comhaid ar mhaith leat a choinneáil?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Is é {nickname} an ainm atá ort faoi láthair.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Níl aitheantas tugtha duit faoi láthair.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ní féidir leat an t-ainm a fhágáil folamh.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Ní mór duit réiteach coinbhleachta amháin ar a laghad a roghnú\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Ní mór duit leagan amháin ar a laghad de gach comhad a roghnú le leanúint ar aghaidh.\"] }] }, { \"language\": \"gl\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"«{char}» non está permitido no nome dun cartafol.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"«{char}» non está permitido dentro dun nome.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"«{extension}» non é un nome permitido.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"«{segment}» é un nome reservado e non está permitido para nomes de cartafoles.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"«{segment}» é un nome reservado e non está permitido.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n ficheiro en conflito\", \"%n ficheiros en conflito\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n ficheiro en conflito en {dirname}\", \"%n ficheiros en conflito en {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos os ficheiros\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda a operación\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escoller\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escoller {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escoller %n ficheiro\", \"Escoller %n ficheiros\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar en {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Non foi posíbel crear o novo cartafol\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Non foi posíbel cargar os axustes dos ficheiros\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Non foi posíbel cargar as vistas dos ficheiros\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear un directorio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Introduza o seu nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Produciuse un fallo ao definir o alcume.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os ficheiros e cartafoles que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Os ficheiros e cartafoles que modificou recentemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar a lista de ficheiros\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Os nomes de cartafol non deben rematar en «{extension}».\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificación do convidado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se selecciona ambas as versións, o ficheiro entrante terá un número engadido ao seu nome.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"O nome de cartafol non é válido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome incorrecto\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificación descoñecida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover cara a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Os nomes poden ter unha lonxitude máxima de 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Os nomes non deben estar baleiros.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Os nomes non deben rematar en «{extension}».\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Os nomes non deben comezar cun punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Novo cartafol\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome do cartafol\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versión\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Aquí non hai ficheiros\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Non se atopou ningún ficheiro que coincida co filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Non hai ficheiros coincidentes\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Introduza un nome con polo menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleccionar todas as caixas\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas as entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccionar todos os ficheiros existentes\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccionar todos os ficheiros novos\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar a entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccionar a fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Omitir %n ficheiro\", \"Omitir %n ficheiros\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Omitir este ficheiro\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar o nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Enviar algún contido ou sincronizalo cos seus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cando se selecciona un cartafol entrante, todos os ficheiros conflitivos dentro dela tamén serán sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cando se selecciona un cartafol entrante, o contido escríbese no cartafol existente e realízase unha resolución recursiva de conflitos.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Que ficheiros quere conservar?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Vde. está identificado actualmente como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Vde. non está identificado actualmente.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Vde. non pode deixar o nome baleiro.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"É necesario escoller polo menos unha solución de conflito\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"É necesario seleccionar polo menos unha versión de cada ficheiro para continuar.\"] }] }, { \"language\": \"hr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"Znak „{char}” nije dopušten u nazivu mape.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"Znak „{char}” nije dopušten u nazivu.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" nije dopušten u nazivu.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" je rezervirana riječ i nije dopušten u nazivu mape.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" je rezervirana riječ i nije dopušten.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"Sukobljava se %n datoteka\", \"Sukobljava se %n datoteke\", \"Sukobljava se %n datoteke\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n sukob datoteka u {dirname}\", \"%n sukoba datoteka u {dirname}\", \"%n sukoba datoteka u {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Sve datoteke\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Odustani\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Odustani od cijele operacije\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Odaberi\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Odaberi {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Odaberi %n datoteku\", \"Odaberi %n datoteka\", \"Odaberi %n datoteke\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdi\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Nastavi\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiraj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiraj u {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nije moguće stvoriti novu mapu\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nije moguće učitati postavke datoteka\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nije moguće učitati prikaze datoteka\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Stvori mapu\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Odabir trenutačnog prikaza\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Unesite vaše ime\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Postojeća verzija\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Neuspjelo postavljanje nadimka.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Ovdje se prikazuju datoteke i mape koje ste označili kao favoriti.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Ovdje se prikazuju datoteke i mape koje ste nedavno ažurirali.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtriranje liste datoteka\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nazivi mapa ne smiju završiti sa \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikacija gosta\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Naslovna\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ako odaberete obje verzije, dolaznoj datoteci bit će dodan broj u nazivu.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Neispavan naziv mape.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Neispravan naziv.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Nepoznat datum zadnjeg ažuriranja\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ažurirano\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Premjesti\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Premjesti u {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Naziv\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nazivi mogu imati najviše 64 znaka.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nazivi ne smiju biti prazni.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nazivi ne smiju završiti sa \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nazivi ne smiju započinjati točkom.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova mapa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novi naziv mape\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova verzija\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Ovdje nema datoteka\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nisu pronađene datoteke koje odgovaraju vašem filtru.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nema odgovarajućih datoteka.\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Unesite naziv s najmanje 2 znaka.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedavno\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Označi sve potvrdne okvire\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Označi sve stavke\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Označi sve postojeće datoteke\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Označi sve nove datoteke\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Označi stavku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Označi red za{nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Veličina\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Preskoči %n datoteku\", \"Preskoči %n datoteke\", \"Preskoči %n datoteke\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Preskoči ovu datoteku\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Pošalji naziv\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Poništi\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Prenesite neki sadržaj ili sinkronizirajte sa svojim uređajima!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Kada je odabrana dolazna mapa, sve datoteke unutar nje koje su u sukobu također će biti prepisane.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Kada je odabrana dolazna mapa, sadržaj se upisuje u postojeću mapu i provodi se rekurzivno rješavanje sukoba.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Koje datoteke želite zadržati?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Trenutno ste identificirani kao {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Trenutno niste identificirani.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ne možete ostaviti naziv prazan.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Morate odabrati barem jedno rješenje sukoba\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Morate odabrati barem jednu verziju svake datoteke kako biste nastavili.\"] }] }, { \"language\": \"hu_HU\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"A(z) „{char}” nem engedélyezett egy mappanévben.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"A(z) „{char}” nem engedélyezett egy névben.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"A(z) „{extension}” nem engedélyezett név.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"A(z) „{segment}” foglalt név, és nem engedélyezett a mappanevekben.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"A(z) „{segment}” foglalt név, és nem engedélyezett.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n ütköző fájl\", \"%n ütköző fájl\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n ütköző fájl ebben: {dirname}\", \"%n ütköző fájl ebben: {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Összes fájl\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Mégse\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Egész művelet megszakítása\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Kiválasztás\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} kiválasztása\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n fájl kiválasztása\", \"%n fájl kiválasztása\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Megerősítés\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Folytatás\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Másolás\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Másolás ide: {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nem lehet létrehozni az új mappát\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nem lehet betölteni a fájlok beállításait\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nem lehet betölteni a fájlok nézeteit\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Mappa létrehozása\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Jelenlegi nézet választója\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Adja meg a nevét\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Meglévő verzió\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nem sikerült a becenév beállítása.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Kedvencek\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"A kedvencként megjelölt fájlok és mappák itt jelennek meg.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"A nemrég módosított fájlok és mappák itt jelennek meg.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Fájllista szűrése\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"A mappanevek nem végződhetnek ezzel: „{extension}”.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Vendégazonosítás\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Kezdőlap\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ha mindkét verziót választja, akkor a bejövő fájl nevéhez egy szám lesz hozzáfűzve.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Érvénytelen mappanév.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Érvénytelen név.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Legutóbbi módosítás ideje ismeretlen\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Módosítva\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Áthelyezés\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Áthelyezés ide: {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Név\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"A nevek legfeljebb 64 karakter hosszúak lehetnek.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"A nevek nem lehetnek üresek.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"A nevek nem végződhetnek ezzel: „{extension}”.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"A nevek nem kezdődhetnek ponttal.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Új\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Új mappa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Új mappa neve\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Új verzió\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Itt nincsenek fájlok\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nincs a szűrési feltételeknek megfelelő fájl.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nincs ilyen fájl\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Legalább 2 karakteres nevet adjon meg.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Legutóbbi\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Összes jelölőmező bepipálása\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Összes bejegyzés kijelölése\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Összes meglévő fájl kijelölése\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Összes új fájl kijelölése\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Bejegyzés kijelölése\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Válasszon sort a következőnek: {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Méret\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n fájl kihagyása\", \"%n fájl kihagyása\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Fájl kihagyása\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Név beküldése\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Visszavonás\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Töltsön fel tartalmat, vagy szinkronizáljon az eszközeivel!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Ha egy bejövő mappa van kijelölve, akkor a benne lévő ütköző fájlok is felül lesznek írva.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Amikor egy bejövő mappát kiválaszt, a benne lévő fájlok is felülíródnak.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Ha egy bejövő mappa van kijelölve, akkor a tartalom a meglévő mappába lesz írva, és rekurzív ütközéskezelés lesz végezve.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Mely fájlokat akarja megtartani?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Jelenleg ekként van azonosítva: {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Jelenleg nincs azonosítva.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"A nevet nem hagyhatja üresen.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Legalább egy ütközéskezelési megoldást kell választania\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"A folytatáshoz az összes fájlnak legalább egy verzióját ki kell választania.\"] }] }, { \"language\": \"hy\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} սխալ թղթապանակի անվանում է\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} համարվում է անթույլատրելի թղթապանակի անվանում\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"/ չի թույլատրվում օգտագործել անվանման մեջ\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Բոլոր ֆայլերը\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Ընտրել\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Ընտրել {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Ընտրել %n ֆայլ\", \"Ընտրել %n ֆայլեր\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Պատճենել\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Պատճենել {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Չստացվեց ստեղծել նոր թղթապանակը\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Չստացվեց բեռնել ֆայլի կարգավորումները\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Չստացվեց բեռնել ֆայլերի դիտումները\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Ստեղծել դիրեկտորիա\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Ընթացիկ դիտման ընտրիչ\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Նախընտրելիներ\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք դուք նշել եք որպես նախընտրելիներ:\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք վերջերս փոխել եք:\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Ֆիլտրել ֆայլերի ցուցակը\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Թղթապանակի անունը չի կարող դատարկ լինել:\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Սկիզբ\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Փոփոխված\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Տեղափոխել\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Տեղափոխել {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Անուն\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Նոր\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Նոր թղթապանակ\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Նոր թղթապանակի անվանում\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Այստեղ չկան ֆայլեր\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Ձեր ֆիլտրին համապատասխանող ֆայլերը չեն գտնվել:\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Չկան համապատասխան ֆայլեր\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Վերջին\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Ընտրել բոլոր գրառումները\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Ընտրել բոլոր գրառումը\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Ընտրեք տողը {nodename}-ի համար \"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Չափ\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Ետարկել\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Ներբեռնեք որոշ բովանդակություն կամ համաժամացրեք այն ձեր սարքերի հետ:\"] }] }, { \"language\": \"id\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" tidak diizinkan di dalam nama folder.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" tidak diizinkan di dalam nama.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" bukan nama yang diizinkan.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" adalah nama yang dicadangkan dan tidak diizinkan untuk nama folder.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" adalah nama yang dicadangkan dan tidak diizinkan.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n konflik file\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n konflik file di {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Semua berkas\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Batal\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Batalkan seluruh operasi\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Pilih\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Pilih {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Pilih %n file\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Konfirmasi\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Lanjutkan\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Salin\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Salin ke {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Tidak dapat membuat folder baru\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tidak dapat memuat pengaturan file\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tidak dapat memuat tampilan file\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Buat direktori\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Pemilih tampilan saat ini\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Masukkan nama Anda\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versi yang ada\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Gagal menetapkan nama panggilan.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorit\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Berkas dan folder yang Anda tandai sebagai favorit akan muncul di sini.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Berkas dan folder yang Anda ubah baru-baru ini akan muncul di sini.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Saring daftar berkas\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nama folder tidak boleh diakhiri dengan \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikasi tamu\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Beranda\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jika Anda memilih kedua versi, file yang masuk akan ditambahkan angka pada namanya.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nama folder tidak valid.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nama tidak valid.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Tanggal modifikasi terakhir tidak diketahui\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Diubah\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Pindahkan\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Pindahkan ke {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nama\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Panjang nama maksimal 64 karakter.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nama tidak boleh kosong.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nama tidak boleh diakhiri dengan \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nama tidak boleh diawali dengan titik.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Baru\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Folder baru\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nama folder baru\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Versi baru\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Tidak ada berkas di sini\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Tidak ada berkas yang cocok dengan penyaringan Anda.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Tidak ada berkas yang cocok\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Silakan masukkan nama dengan minimal 2 karakter.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Terkini\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Pilih semua kotak centang\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Pilih semua entri\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Pilih semua file yang ada\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Pilih semua file baru\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Pilih entri\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Pilih baris untuk {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Ukuran\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Lewati %n file\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Lewati file ini\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Kirim nama\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Tidak jadi\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Unggah beberapa konten atau sinkronkan dengan perangkat Anda!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Saat folder yang masuk dipilih, semua file yang konflik di dalamnya juga akan ditimpa.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Saat folder yang masuk dipilih, konten ditulis ke dalam folder yang ada dan penyelesaian konflik rekursif dilakukan.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"File mana yang ingin Anda pertahankan?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Saat ini Anda teridentifikasi sebagai {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Saat ini Anda tidak teridentifikasi.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Anda tidak dapat membiarkan nama kosong.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Anda perlu memilih setidaknya satu solusi konflik\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Anda perlu memilih setidaknya satu versi dari setiap file untuk melanjutkan.\"] }] }, { \"language\": \"is\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" er ógilt möppuheiti.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" er ekki leyfilegt möppuheiti'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" er er ekki leyfilegt innan í skráarheiti.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Allar skrár\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Veldu\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Veldu {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Veldu %n skrá\", \"Veldu %n skrár\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Afrita\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Afrita í {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Get ekki búið til nýju möppuna\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tókst ekki að hlaða inn stillingum skráa\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tókst ekki að hlaða inn sýnum skráa\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Búa til möppu\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Núverandi val sýnar\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Eftirlæti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Skrár og möppur sem þú merkir sem eftirlæti birtast hér.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Skrár og möppur sem þú breyttir nýlega birtast hér.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Sía skráalista\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Möppuheiti má ekki vera tómt.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Heim\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Breytt\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Færa\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Færa í {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Heiti\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nýtt\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ný mappa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Heiti nýrrar möppu\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Engar skrár hér\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Engar skrár fundust sem passa við síuna.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Engar samsvarandi skrár\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nýlegt\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Velja allar færslur\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Velja færslu\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Veldu röðina fyrir {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Stærð\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Afturkalla\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Sendu inn eitthvað efni eða samstilltu við tækin þín!\"] }] }, { \"language\": \"it\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [`\"{char}\" non è consentito all'interno di un nome di cartella.`] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`\"{char}\" non è consentito all'interno di un nome.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" non è un nome consentito'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" è un nome riservato e non consentito per i nomi delle cartelle.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" è un nome riservato e non consentito.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n file in conflitto\", \"%n file in conflitto\", \"%n file in conflitto\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n file in conflitto in {dirname}\", \"%n file in conflitto in {dirname}\", \"%n file in conflitto in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tutti i file\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Annulla\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annulla l'intera operazione\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Scegli\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Scegli {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Scegli %n file\", \"Scegli %n file\", \"Scegli %n file\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Conferma\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continua\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copia\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copia in {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Impossibile creare la nuova cartella\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Impossibile caricare le impostazioni dei file\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Impossibile caricare le visualizzazioni dei file\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crea cartella\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selettore della vista attuale\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Inserisci il tuo nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versione esistente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Impossibile impostare lo pseudonimo.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Preferiti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"I file e le cartelle contrassegnate come preferite saranno mostrate qui.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"I file e le cartelle che hai modificato di recente saranno mostrate qui.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtra l'elenco dei file\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['I nomi delle cartelle devono finire con \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificazione ospiti\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se selezioni entrambe le versioni, al nome del file in arrivo verrà aggiunto un numero.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nome cartella non valido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome non valido.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data di ultima modifica sconosciuta\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificato\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Sposta\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Sposta in {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"I nomi dovrebbero avere una lunghezza massima di 64 caratteri.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"I nomi non devono essere vuoti.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['I nomi devono finire con \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"I nomi non possono iniziare con un punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuovo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nuova cartella\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nome della nuova cartella\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nuova versione\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nessun file qui\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nessun file che corrisponde al tuo filtro è stato trovato.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nessun file corrispondente\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Digita un nome con almeno 2 caratteri.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleziona tutte le caselle\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Scegli tutte le voci\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleziona tutti i file esistenti\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleziona tutti i nuovi file\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleziona la voce\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleziona la riga per {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Dimensioni\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Salta %n file\", \"Salta %n file\", \"Salta %n file\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Salta questo file\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Invia nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Annulla\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Carica qualche contenuto o sincronizza con i tuoi dispositivi!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Quando si seleziona una cartella in arrivo, anche tutti i file in conflitto al suo interno saranno sovrascritti.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Quando si seleziona una cartella in arrivo, anche i documenti all'interno verranno sovrascritti.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quando si seleziona una cartella in arrivo, il contenuto viene scritto nella cartella esistente e viene eseguita una risoluzione ricorsiva dei conflitti.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quali file vuoi conservare?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sei attualmente identificato come {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Attualmente non sei identificato.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Non puoi lasciare il nome vuoto.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Devi scegliere almeno una soluzione al conflitto\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Per continuare, è necessario selezionare almeno una versione di ciascun file.\"] }] }, { \"language\": \"ja_JP\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['フォルダー名に \"{char}\" を使用することはできません。'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['名前に \"{char}\" を使用することはできません。'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" は許可された名前ではありません。'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" は予約名のため、使用できません。'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" は予約名のため、使用できません。'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%nファイルが競合しています\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%nディレクトリ{dirname}内のファイル競合\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"すべてのファイル\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"キャンセル\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"すべての操作をキャンセル\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"選択\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} を選択\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n 個のファイルを選択\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"確認\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"続行\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"コピー\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target} にコピー\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"新しいフォルダーを作成できませんでした\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"ファイル設定を読み込めませんでした\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"ファイルビューを読み込めませんでした\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"ディレクトリを作成\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"現在のビュー選択\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"名前を入力してください\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"現行バージョン\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"ニックネームの設定に失敗しました。\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"お気に入り\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"お気に入りとしてマークしたファイルとフォルダーがここに表示されます。\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"最近変更したファイルとフォルダーがここに表示されます。\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"ファイルのリストをフィルター\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['フォルダー名の末尾に \"{extension}\" を使用できません。'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"ゲスト識別\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"ホーム\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"両方のバージョンを選択した場合、受信ファイル名には番号が追加されます。\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"フォルダー名が無効です。\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"無効な名前です。\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"最終更新日不明\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"変更済み\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target} に移動\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名前\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"名前は最大64文字です。\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"名前は空にできません。\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['名前の末尾に \"{extension}\" を使用できません。'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"ドットで始まる名前は使用できません。\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新規作成\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新しいフォルダー\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新しいフォルダーの名前\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"新バージョン\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"ファイルがありません\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"フィルターに一致するファイルは見つかりませんでした。\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"一致するファイルはありません\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"名前は2文字以上を入力してください。\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"すべてのチェックボックスを選択\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"すべてのエントリを選択\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"既存のファイルをすべて選択\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"すべての新規ファイルを選択\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"エントリを選択\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} の行を選択\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"サイズ\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n 個のファイルをスキップ\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"このファイルをスキップ\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"名前を送信する\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"元に戻す\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"コンテンツをアップロードするか、デバイスと同期してください!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"受信フォルダーを選択すると、そのフォルダー内の競合ファイルも上書きされます。\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"受信フォルダを選択すると、その中のファイルも上書きされます。\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"受信フォルダーを選択すると、内容は既存のフォルダーに書き込まれ、再帰的な競合解決が実行されます。\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"どのファイルを残しますか?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"現在、{nickname}として識別されています。\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"現在あなたは識別されていません。\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"名前を空にすることはできません。\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"少なくとも1つの競合ソリューションを選択する必要があります\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"続行するには、各ファイルのバージョンを少なくとも1つ選択する必要があります。\"] }] }, { \"language\": \"ko\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"문자 '{char}'은(는) 폴더 이름에 사용할 수 없습니다.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"문자 '{char}'은(는) 이름에 사용할 수 없습니다.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"'{extension}'은(는) 사용 불가능한 이름입니다.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"'{segment}'은(는) 예약된 이름이므로 폴더 이름으로 사용할 수 없습니다.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"'{segment}'은(는) 예약된 이름이므로 사용할 수 없습니다.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n개의 파일이 충돌함\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname}에서 %n개의 파일이 충돌함\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"모든 파일\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"취소\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"전체 작업 취소\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"선택\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} 선택\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"파일 %n개 선택\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"확인\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"계속\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"복사\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target}(으)로 복사\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"새 폴더를 만들 수 없음\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"파일 설정을 불러오지 못함\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"파일 보기를 불러오지 못함\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"디렉토리 만들기\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"현재 보기 방식\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"이름을 입력하세요\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"기존 버전\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"닉네임을 설정하지 못했습니다.\\n \"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"즐겨찾기\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"즐겨찾기 한 파일 및 폴더가 이곳에 표시됩니다.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"최근 수정된 파일 및 폴더가 이곳에 표시됩니다.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"파일 목록 필터링\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"폴더 이름은 '{extension}'(으)로 끝날 수 없습니다.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"게스트 확인\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"홈\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"두 버전을 모두 선택할 경우 새로 추가되는 파일의 이름에 숫자가 붙게 됩니다.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"잘못된 폴더 이름입니다.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"잘못된 이름입니다. \"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"최근 수정일 알 수 없음\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"수정됨\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"이동\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target}(으)로 이동\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"이름\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"이름은 최대 64글자까지 지정할 수 있습니다.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"이름은 비어 있을 수 없습니다.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"이름은 '{extension}'(으)로 끝날 수 없습니다.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"이름은 마침표로 시작될 수 없습니다.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"새로 만들기\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"새 폴더\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"새 폴더명\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"새로운 버전\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"파일이 없습니다\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"선택된 필터에 해당하는 파일이 없습니다.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"해당하는 파일 없음\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"최소 두 글자 이상의 이름을 입력해주세요.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"최근\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"체크박스 모두 선택\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"모두 선택\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"기존 파일 모두 선택\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"새 파일 모두 선택\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"항목 선택\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename}의 행 선택\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"크기\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n개 파일 건너뛰기\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"이 파일 건너뛰기\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"이름 제출\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"되돌리기\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"기기에서 파일을 업로드 또는 동기화하세요!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"새 폴더를 선택할 경우, 해당 폴더 내의 충돌 파일들도 덮어쓰기 됩니다.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"새 폴더를 선택할 경우 내용물이 기존 폴더에 기록되며 재귀적 충돌 해결이 수행됩니다.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"어떤 파일들을 유지하시겠습니까?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"{nickname}(으)로 인증된 상태 입니다.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"현재 인증 정보가 없습니다.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"이름은 비워 둘 수 없습니다. \"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"최소한 하나의 충돌 해결 방안을 선택해야 합니다.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다.\"] }] }, { \"language\": \"lb\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} ass en ongëlteg Dossier\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} ass net en erlaabten Dossiernumm\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ass net an engem Dossier Numm erlaabt'] }, { \"msgid\": \"All files\", \"msgstr\": [\"All Dateien\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Wielt\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Wielt {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Wielt %n Fichieren\", \"Wielt %n Fichier\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopie\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopie op {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Konnt den neien Dossier net erstellen\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Konnt d'Dateienastellungen net lueden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Konnt d'Dateien net lueden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Erstellt Verzeechnes\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuell Vue selector\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien an Ordner, déi Dir als Favorit markéiert, ginn hei gewisen\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien an Ordner déi Dir viru kuerzem geännert hutt ginn hei op\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter Datei Lëscht\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Dossier Numm kann net eidel sinn\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Wëllkomm\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Geännert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Plënne\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Plënneren {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Numm\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nei\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Neien dossier\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Neien dossier numm\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Kee fichier hei\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Kee fichier deen äre filter passt gouf fonnt\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Keng passende dateien\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Rezent\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Wielt all entréen\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Wielt entrée\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Wielt d'zeil fir {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Gréisst\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Undoen\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Luet en inhalt erop oder synchroniséiert mat ären apparater\"] }] }, { \"language\": \"lo\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" ບໍ່ອະນຸຍາດໃຫ້ມີຢູ່ໃນຊື່ໂຟນເດີ.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['ບໍ່ອະນຸຍາດໃຫ້ມີ \"{char}\" ພາຍໃນຊື່.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ບໍ່ແມ່ນຊື່ທີ່ໄດ້ຮັບອະນຸຍາດ.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" ແມ່ນຊື່ທີ່ສະຫງວນໄວ້ ແລະ ບໍ່ອະນຸຍາດໃຫ້ໃຊ້ເປັນຊື່ໂຟນເດີ.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" ແມ່ນຊື່ທີ່ສະຫງວນໄວ້ ແລະ ບໍ່ໄດ້ຮັບອະນຸຍາດ.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"ໄຟລ໌ຂັດກັນ %n ລາຍການ\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"ໄຟລ໌ຂັດກັນ %n ລາຍການໃນ {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"ໄຟລ໌ທັງໝົດ\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"ຍົກເລີກ\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"ຍົກເລີກການດຳເນີນການທັງໝົດ\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"ເລືອກ\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"ເລືອກ {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"ເລືອກ %n ໄຟລ໌\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"ຢືນຢັນ\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"ດຳເນີນການຕໍ່\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"ຄັດລອກ\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"ຄັດລອກໄປທີ່ {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"ບໍ່ສາມາດສ້າງໂຟນເດີໃໝ່ໄດ້\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"ບໍ່ສາມາດໂຫຼດການຕັ້ງຄ່າໄຟລ໌ໄດ້\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"ບໍ່ສາມາດໂຫຼດມຸມມອງໄຟລ໌ໄດ້\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"ສ້າງໄດເຣັກທໍຣີ\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"ຕົວເລືອກມຸມມອງປັດຈຸບັນ\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"ປ້ອນຊື່ຂອງທ່ານ\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"ເວີຊັນທີ່ມີຢູ່\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"ຕັ້ງຊື່ຫຼິ້ນບໍ່ສຳເລັດ.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"ລາຍການທີ່ມັກ\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"ໄຟລ໌ ແລະ ໂຟນເດີທີ່ທ່ານໝາຍວ່າເປັນລາຍການທີ່ມັກຈະສະແດງຢູ່ບ່ອນນີ້.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"ໄຟລ໌ ແລະ ໂຟນເດີທີ່ທ່ານແກ້ໄຂລ່າສຸດຈະສະແດງຢູ່ບ່ອນນີ້.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"ກັ່ນຕອງລາຍການໄຟລ໌\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['ຊື່ໂຟນເດີຕ້ອງບໍ່ລົງທ້າຍດ້ວຍ \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"ການລະບຸຕົວຕົນຂອງແຂກ\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"ໜ້າຫຼັກ\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"ຖ້າທ່ານເລືອກທັງສອງເວີຊັນ, ໄຟລ໌ທີ່ເຂົ້າມາຈະມີຕົວເລກເພີ່ມໃສ່ຊື່ຂອງມັນ.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"ຊື່ໂຟນເດີບໍ່ຖືກຕ້ອງ.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"ຊື່ບໍ່ຖືກຕ້ອງ.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"ບໍ່ຮູ້ວັນທີແກ້ໄຂລ່າສຸດ\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"ແກ້ໄຂເມື່ອ\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"ຍ້າຍ\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"ຍ້າຍໄປທີ່ {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"ຊື່\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"ຊື່ອາດມີຄວາມຍາວສູງສຸດ 64 ຕົວອັກສອນ.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"ຊື່ຕ້ອງບໍ່ຫວ່າງເປົ່າ.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['ຊື່ຕ້ອງບໍ່ລົງທ້າຍດ້ວຍ \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"ຊື່ຕ້ອງບໍ່ຂຶ້ນຕົ້ນດ້ວຍຈຸດ.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"ໃໝ່\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"ໂຟນເດີໃໝ່\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"ຊື່ໂຟນເດີໃໝ່\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"ເວີຊັນໃໝ່\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"ບໍ່ມີໄຟລ໌ຢູ່ບ່ອນນີ້\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"ບໍ່ພົບໄຟລ໌ທີ່ກົງກັບການກັ່ນຕອງຂອງທ່ານ.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"ບໍ່ມີໄຟລ໌ທີ່ກົງກັນ\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"ກະລຸນາປ້ອນຊື່ທີ່ມີຢ່າງໜ້ອຍ 2 ຕົວອັກສອນ.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"ລ່າສຸດ\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"ເລືອກກ່ອງໝາຍທັງໝົດ\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"ເລືອກທຸກລາຍການ\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"ເລືອກໄຟລ໌ທີ່ມີຢູ່ທັງໝົດ\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"ເລືອກໄຟລ໌ໃໝ່ທັງໝົດ\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"ເລືອກລາຍການ\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"ເລືອກແຖວສຳລັບ {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"ຂະໜາດ\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"ຂ້າມ %n ໄຟລ໌\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"ຂ້າມໄຟລ໌ນີ້\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"ສົ່ງຊື່\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"ເອົາຄືນ\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"ອັບໂຫຼດເນື້ອຫາ ຫຼື ຊິງຄ໌ກັບອຸປະກອນຂອງທ່ານ!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"ເມື່ອເລືອກໂຟນເດີທີ່ເຂົ້າມາ, ໄຟລ໌ໃດໆທີ່ຂັດກັນພາຍໃນໂຟນເດີນັ້ນກໍຈະຖືກຂຽນທັບເຊັ່ນກັນ.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"ເມື່ອເລືອກໂຟນເດີທີ່ເຂົ້າມາ, ເນື້ອຫາຈະຖືກຂຽນລົງໃນໂຟນເດີທີ່ມີຢູ່ ແລະ ຈະມີການແກ້ໄຂຂໍ້ຂັດແຍ່ງແບບຕໍ່ເນື່ອງ.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"ທ່ານຕ້ອງການເກັບໄຟລ໌ໃດໄວ້?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"ຕອນນີ້ທ່ານຖືກລະບຸວ່າເປັນ {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"ຕອນນີ້ທ່ານຍັງບໍ່ໄດ້ຖືກລະບຸຕົວຕົນ.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"ທ່ານບໍ່ສາມາດປະຊື່ໃຫ້ຫວ່າງເປົ່າໄດ້.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"ທ່ານຈຳເປັນຕ້ອງເລືອກວິທີແກ້ໄຂຂໍ້ຂັດແຍ່ງຢ່າງໜ້ອຍໜຶ່ງຢ່າງ\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"ທ່ານຈຳເປັນຕ້ອງເລືອກຢ່າງໜ້ອຍໜຶ່ງເວີຊັນຂອງແຕ່ລະໄຟລ໌ເພື່ອດຳເນີນການຕໍ່.\"] }] }, { \"language\": \"lt_LT\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"„{char}“ negalima naudoti aplanko pavadinime.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}“ negalima naudoti vardo sudėtyje.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}“ nėra leidžiamas vardas.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ yra rezervuotas vardas, kurio negalima naudoti aplankų pavadinimuose.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}“ yra rezervuotas vardas, todėl jo naudoti negalima.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n failo konfliktas\", \"%n failų konfliktas\", \"%n failų konfliktas\", \"%n failų konfliktas\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n failo konfliktas {dirname}\", \"%n failų konfliktas {dirname}\", \"%n failų konfliktas {dirname}\", \"%n failų konfliktas {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Visi failai\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Atsisakyti\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Atsisakyti visos operacijos\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Pasirinkti\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Pasirinkti {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Pasirinkti %n failą\", \"Pasirinkti %n failus\", \"Pasirinkti %n failų\", \"Pasirinkti %n failą\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Patvirtinti\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Tęsti\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopijuoti\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopijuoti į {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nepavyko sukurti naujo aplanko\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepavyko įkelti failų nustatymų\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepavyko įkelti failų peržiūrų\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Sukurti katalogą\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Dabartinis peržiūros pasirinkimas\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Įrašykite savo vardą\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Esama versija\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nepavyko nustatyti slapyvardžio\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Populiariausi\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Failai ir aplankai, kuriuos pažymėsite kaip mėgstamiausius, bus rodomi čia.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Čia bus rodomi failai ir aplankai, kuriuos neseniai pakeitėte.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtruoti failų sąrašą\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Aplankų pavadinimai neturi baigtis simboliu „{extension}“.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Svečio identifikacija\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Pradžia\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jei pasirinksite abi versijas, prie gaunamo failo pavadinimo bus pridėtas numeris.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Netinkamas aplanko pavadinimas.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Netinkamas pavadinimas.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Paskutinio atnaujinimo data nežinoma\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Pakeista\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Perkelti\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Perkelti į {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Vardas\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Vardų ilgis negali viršyti 64 simbolių.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Pavadinimai negali būti tušti.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Vardai neturi baigtis simboliu „{extension}“.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Vardai negali prasidėti tašku.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Naujas\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Naujas aplankas\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Naujas aplanko pavadinimas\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nauja versija\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Čia failų nėra\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nepavyko rasti failų pagal filtro nustatymus\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nėra atitinkančių failų\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Įrašykite vardą iš mažiausiai dviejų ženklų.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nauji\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Pažymėti visus langelius\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Žymėti visus įrašus\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Pažymėti visus esamus failus\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Pažymėti visus naujus failus\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Žymėti įrašą\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Pasirinkite eilutę {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Dydis\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Praleisti %n failą\", \"Praleisti %n failus\", \"Praleisti %n failų\", \"Praleisti %n failą\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Praleisti šį failą\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Pateikti pavadinimą\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Atšaukti\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Įkelkite turinio arba sinchronizuokite su savo įrenginiais!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Pasirinkus įeinančių failų aplanką, jame esantys failai, su kuriais kyla konfliktas, taip pat bus perrašyti.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Pasirinkus gaunamų laiškų aplanką, visi jame esantys failai taip pat bus perrašyti.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Pasirinkus įeinančių failų aplanką, jo turinys įrašomas į esamą aplanką ir atliekamas rekursyvus konfliktų sprendimas.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Kokius failus norite išsaugoti?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Šiuo metu esate identifikuotas kaip {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Šiuo metu nesate identifikuotas.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Negalite palikti tuščio vardo lauko.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Turite pasirinkti bent vieną konflikto sprendimo būdą\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Norėdami tęsti, turite pasirinkti bent vieną kiekvieno failo versiją.\"] }] }, { \"language\": \"lv\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" nav derīgs mapes nosaukums.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nav atļauts mapes nosaukums'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" nav atļauts mapes nosaukuma izmantošanā.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Visas datnes\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Izvēlieties\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Izvēlieties {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Izvēlēties %n datņu\", \"Izvēlēties %n datni\", \"Izvēlēties %n datnes\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopēt\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopēt uz {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nevarēja izveidot jaunu mapi\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nevarēja ielādēt datņu iestatījumus\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nevarēja ielādēt datņu apskatījumus\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Izveidot direktoriju\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Pašreizēja skata atlasītājs\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorīti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Šeit parādīsies datnes un mapes, kas tiks atzīmētas kā iecienītas.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Šeit parādīsies datnes un mapes, kuras nesen tika izmainītas.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Atlasīt datņu sarakstu\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mapes nosaukums nevar būt tukšs.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Sākums\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Izmaninīta\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Pārvietot\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Pārvietot uz {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nosaukums\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Jauns\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Jauna mape\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Jaunas mapes nosaukums\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Šeit nav datņu\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Netika atrasta neviena datne, kas atbilst atlasei.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nav atbilstošu datņu\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nesenās\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Atlasīt visus ierakstus\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Atlasīt ierakstu\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Atlasīt rindu {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Izmērs\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Atsaukt\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Augšupielādē kādu saturu vai sinhronizē savās iekārtās!\"] }] }, { \"language\": \"mk\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" не е дозволен во име на папка.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" не е дозволено во име.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" не е дозволено име.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" е резервирано име и не е дозволено за име на папка.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" е резервирано име и не е дозволено.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n конфликт со датотекa\", \"%n конфликти со датотеки\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n конфликт со датотека во {dirname}\", \"%n конфликти со датотеки vo {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Сите датотеки\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Откажи\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Прекини ја целата операција\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Избери\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Избери {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Избери %n датотека\", \"Избери %n датотеки\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Потврди\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Продолжи\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копирај\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копирај во {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Неможе да се креира нова папка\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Неможе да се вчиаат параметрите за датотеките\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Неможе да се вчитаат погледите за датотеките\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Креирај папка\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Избирач на тековен приказ\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Внесете го вашето име\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Моментална верзија\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Неуспешно поставување прекар.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Фаворити\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Датотеките и папките кој ќе ги означите за омилени ќе се појават овде.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Датотеките и папките кој неодамна сте ги измениле ќе се појават овде.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Филтрирај листа на датотеки\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Имињата на папките неможе да завршуваат со \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Гостинска идентификација\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Почетна\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ако ги избереш двете верзии, влезната датотека ќе добие број додаден на нејзиното име.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Невалидно име на папка.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Невалидно име.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Датумот на последна измена е непознат\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Променето\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Премести\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Премести во {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Име\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Имињата можат да бидат најмногу со 64 карактери.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Имињата неможе да бидат празни.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Имињата неможе да завршуваат со \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Имињата неможе да започнуваат со точка.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Нова\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Нова папка\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ново име на папка\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Нова верзија\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Овде нема датотеки\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Не се пронајдени датотеки што одговараат на вашиот филтер.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Нема датотеки што се совпаѓаат\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Внесете име со најмалку 2 карактери.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Неодамнешни\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Избери ги сите полиња за избор\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Изберете ги сите записи\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Изберете ги сите постоечки датотеки\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Изберете ги сите нови датотеки\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Избери запис\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Избери ред за {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Големина\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Прескокни %n датотека\", \"Прескокни %n датотеки\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Прескокни ја оваа датотека\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Испрати име\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Врати\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Прикачи содржина или синхронизирај со ваши уреди!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Кога е избрана влезна папка, сите конфликтни датотеки во неа исто така ќе бидат препишани.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Кога е избрана влезна папка, содржината се запишува во постоечката папка и се извршува рекурсивно решавање на конфликти.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Кој датотеки сакаш да ги зачуваш?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Моментално сте идентификувани како {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Моментално не сте идентификувани.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Не можете да го оставите името празно.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Треба да избереш најмалку едно решение за конфликт\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Треба да избереш најмалку една верзија за секоја датотека за да продолжи.\"] }] }, { \"language\": \"ms_MY\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" adalah nama folder yang tidak sesuai '] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nama folder yang tidak dibenarkan'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" tidak dibenarkan dalam nama folder'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Semua fail\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Pilih\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Pilih {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Pilih fail %n\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"menyalin\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"menyalin ke {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Tidak dapat mewujudkan folder baharu\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tidak dapat memuatkan tetapan fail\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tidak dapat memuatkan paparan fail\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"mewujudkan direktori\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"pemilih pandangan semasa\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Pilihan\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Fail dan folder yang anda tanda sebagai pilihan akan dipaparkan di sini.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Fail dan folder yang anda telah ubah suai baru-baru ini dipaparkan di sini.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Menapis senarai fail\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Nama folder tidak boleh kosong.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Utama\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ubah suai\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"pindah\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"pindah ke {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nama\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Baru\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Folder Baharu\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nama folder baharu\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Tiada fail di sini\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Tiada fail yang sepadan dengan tapisan anda.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Tiada fail yang sepadan\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"baru-baru ini\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Pilih semua entri\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Pilih entri\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"memilih baris {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Saiz\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"buat asal\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Muat naik beberapa kandungan atau selaras dengan peranti anda!\"] }] }, { \"language\": \"nb_NO\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" er ikke tillatt i et mappenavn.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" er ikke tillatt i et navn.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" er ikke et tillatt navn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" er et reservert navn og er ikke tillatt for mappenavn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" er et reservert navn og er ikke tillatt.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n filkonflikt\", \"%n files conflict\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n fil konflikter i {dirname}\", \"%n fil konflikter i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle filer\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Avbryt\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Avbryt hele operasjonen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Velg\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Velg {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Velg %n fil\", \"Velg %n filer\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekreft\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsett\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopier\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopier til {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunne ikke opprette den nye mappen\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kunne ikke laste filinnstillinger\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunne ikke laste filvisninger\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Opprett mappe\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Nåværende visningsvelger\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Skriv inn navnet ditt\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Eksisterende versjon\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kunne ikke lagre kallenavnet.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritter\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer og mapper du markerer som favoritter vil vises her.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer og mapper du nylig har endret, vil vises her.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer filliste\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Mappenavn må ikke slutte med \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gjesteidentifikasjon\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Hjem\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Hvis du velger begge versjonene, vil den innkommende filen få et nummer lagt til navnet sitt.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ugyldig mappenavn.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ugyldig navn.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Sist endret dato ukjent\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modifisert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Flytt\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flytt til {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Navn\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Navn kan maksimalt være 64 tegn lange.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Navn kan ikke være tomme.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Navn kan ikke ende med \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Navn kan ikke starte med et punktum.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mappe\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nytt mappenavn\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Ny versjon\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Ingen filer her\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Ingen filer funnet med ditt filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ingen filer samsvarer\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Vennligst angi et navn som har minst 2 tegn.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nylige\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Merk av i alle avmerkingsboksene\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Velg alle oppføringer\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Velg alle eksisterende filer\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Velg alle nye filer\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Velg oppføring\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Velg raden for {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Størrelse\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Hopp over %n fil\", \"Hopp over %nfiler\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Hopp over denne filen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Bekreft navn\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Angre\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Last opp innhold eller synkroniser med enhetene dine!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Når en innkommende mappe velges, vil eventuelle motstridende filer i den også bli overskrevet.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Når en innkommende mappe velges, vil eventuelle filer i den også bli overskrevet.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Når en innkommende mappe velges, skrives innholdet inn i den eksisterende mappen, og en rekursiv konfliktløsning utføres.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hvilke filer vil du beholde?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du er akkurat nå identifisert som {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du er akkurat nå ikke identifisert.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kan ikke la navnet være blankt.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Du må velge minst én konfliktløsning\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du må velge minst én versjon av hver fil for å fortsette.\"] }] }, { \"language\": \"nl\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" is niet toegestaan in een mapnaam.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" kan niet gebruikt worden in de benaming.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" is geen toegestane naam.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" is een gereserveerde naam en niet toegestaan in mapnamen.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" is een gereserveerde naam en niet toegestaan.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n bestanden conflicteren\", \"%nbestand bestanden conflicteren\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n bestand conflicteerd in {dirname}\", \"%nbestanden conflicteert in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle bestanden\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Annuleren\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annuleer de hele bewerking\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Kiezen\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Kies {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Kies %n bestand\", \"Kies %n bestanden\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bevestigen\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Doorgaan\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiëren\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiëren naar {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kon de nieuwe map niet maken\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kon de bestandsinstellingen niet laden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kon de bestandsweergaves niet laden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Map aanmaken\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Huidige weergave keuze\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Voer je naam in\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Bestaande versie\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kon geen bijnaam instellen.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorieten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Bestanden en mappen die je als favoriet markeert, verschijnen hier.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Bestanden en mappen die je recentelijk hebt gewijzigd, verschijnen hier.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Bestandslijst filteren\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Mapnamen mogen niet eindigen op \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gastenidentificatie\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Thuis\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Als u beide versies selecteert wordt een nummer toegevoegd aan de naam van het binnenkomende bestand.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ongeldige mapnaam.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ongeldige naam.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Laatste wijzigingsdatum onbekend\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Gewijzigd\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Verplaatsen\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Verplaatsen naar {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Naam\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namen mogen maximaal 64 tekens lang zijn.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namen mogen niet leeg zijn.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namen mogen niet eindigen met \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namen mogen niet begonnen met een punt.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nieuw\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nieuwe map\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nieuwe mapnaam\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nieuwe versie\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Geen bestanden hier\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Geen bestanden gevonden die voldoen aan je filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Geen overeenkomende bestanden\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Voer een naam in met minimaal 2 tekens.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recent\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecteer alle aanvinkopties\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle invoer selecteren\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecteer alle bestaande bestanden\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecteer alle nieuwe bestanden\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Invoer selecteren\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecteer de rij voor {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Grootte\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Sla %n bestand over\", \"Sla %n bestanden over\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Sla dit bestand over\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Naam indienen\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Ongedaan maken\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload inhoud of synchroniseer met je apparaten!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Als een inkomende map wordt geselecteerd, worden alle conflicterende bestanden daarin overschreven.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Wanneer een inkomende folder is geselecteerd, worden bestanden in deze folder ook overschreven.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Als een inkomende map wordt geselecteerd, wordt de inhoud naar de bestaande map geschreven en wordt een recursieve conflict-oplossing uitgevoerd.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welke bestanden wilt u bewaren?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Je wordt momenteel geïdentificeerd als {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Je bent momenteel niet geïdentificeerd.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Je kunt de naam niet leeg laten.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"U moet in elk geval een conflictoplossing kiezen\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"U moet minstens een versie van elk bestand kiezen om door te gaan. \"] }] }, { \"language\": \"pl\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['Znak \"{char}\" nie jest dozwolony w nazwie folderu.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" nie jest dozwolone w nazwie.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" nie jest dozwoloną nazwą.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" jest nazwą zastrzeżoną i nie jest dozwolona jako nazwa folderu.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" jest zastrzeżoną nazwą i nie jest dozwolone.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"Konflikt pliku\", \"Konflikt %n plików\", \"Konflikt %n plików\", \"Konflikt %n plików\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n konfliktów pliku w {dirname}\", \"%n konfliktów plików w {dirname}\", \"%n konfliktów plików w {dirname}\", \"%n konfliktów plików w {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Wszystkie pliki\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Anuluj\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Anuluj całą operację\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Wybierz\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Wybierz {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Wybierz %n plik\", \"Wybierz %n pliki\", \"Wybierz %n plików\", \"Wybierz %n plików\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potwierdź\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Kontynuuj\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiuj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Skopiuj do {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nie można utworzyć nowego folderu\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nie można wczytać ustawień plików\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nie można wczytać widoków plików\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Utwórz katalog\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Bieżący selektor widoku\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Wprowadź nazwę\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Istniejąca wersja\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nie udało się utworzyć pseudonimu.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Ulubione\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Pliki i foldery które oznaczysz jako ulubione będą wyświetlały się tutaj\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Pliki i foldery które ostatnio modyfikowałeś będą wyświetlały się tutaj\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtruj listę plików\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nazwy folderów nie mogą kończyć się na \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identyfikacja gościa\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Strona główna\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jeśli wybierzesz obie wersje, do nazwy przychodzącego pliku zostanie dodany numer.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nieprawidłowa nazwa folderu.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nieprawidłowa nazwa.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data ostatniej modyfikacji nieznana\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Zmodyfikowano\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Przenieś\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Przejdź do {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nazwa\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nazwy mogą mieć maksymalnie 64 znaki.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nazwy nie mogą być puste.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nazwy nie mogą kończyć się na \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nazwy nie mogą zaczynać się od kropki.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nowy\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nowy folder\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nowa nazwa folderu\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nowa wersja\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Brak plików\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nie znaleziono plików spełniających warunki filtru\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Brak pasujących plików\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Wprowadź nazwę zawierającą minimum 2 znaki.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Ostatni\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Zaznacz wszystkie pola wyboru\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Wybierz wszystkie wpisy\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Zaznacz wszystkie istniejące pliki\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Zaznacz wszystkie nowe pliki\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Wybierz wpis\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Wybierz wiersz dla {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Rozmiar\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Pomiń %n plik\", \"Pomiń %n plików\", \"Pomiń %n plików\", \"Pomiń %n plików\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Pomiń ten plik\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Zatwierdź nazwę\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Cofnij\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Wyślij zawartość lub zsynchronizuj ze swoimi urządzeniami!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Po wybraniu przychodzącego folderu wszystkie konfliktujące pliki w jego obrębie również zostaną nadpisane.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Po wybraniu przychodzącego folderu jego zawartość zostanie zapisana w istniejącym folderze i zostanie przeprowadzone rekursywne rozwiązywanie konfliktów.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Które pliki chcesz zachować?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Obecnie jesteś zidentyfikowany jako {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Użytkownik nie został uwierzytelniony.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Nazwa nie może być pusta.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Musisz wybrać co najmniej jedno rozwiązanie konfliktu\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku.\"] }] }, { \"language\": \"pt_BR\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome de pasta.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" não é um nome permitido.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" é um nome reservado e não permitido para nomes de pasta.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" é um nome reservado e não permitido.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n arquivo conflita\", \"%n de arquivos conflitam\", \"%n arquivos conflitam\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n conflito de arquivo em {dirname}\", \"%n de conflitos de arquivos em {dirname}\", \"%n conflitos de arquivos em {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos os arquivos\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda a operação\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escolher\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escolher {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escolher %n arquivo\", \"Escolher %n arquivos\", \"Escolher %n arquivos\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar para {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Não foi possível criar a nova pasta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Não foi possível carregar configurações de arquivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Não foi possível carregar visualições de arquivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Criar diretório\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Seletor de visualização atual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Digite seu nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versão existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Falha ao definir apelido.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os arquivos e pastas que você marca como favoritos aparecerão aqui.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Arquivos e pastas que você modificou recentemente aparecerão aqui.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de arquivos\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nomes de pasta não podem terminar com \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificação de convidados\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Início\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se você selecionar ambas as versões, um número será adicionado ao nome do arquivo recebido.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nome de pasta inválido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome inválido.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificação desconhecida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover para {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Os nomes podem ter no máximo 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nomes não podem estar vazios.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nomes não podem terminar com \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nomes não podem começar com um ponto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova pasta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome de pasta\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versão\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nenhum arquivo aqui\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenhum arquivo correspondente ao seu filtro foi encontrado.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nenhum arquivo correspondente\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Digite um nome com pelo menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecione todas as caixas de seleção\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecionar todas as entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecione todos os arquivos existentes\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecione todos os novos arquivos\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecionar a linha para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamanho\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Ignorar %n arquivo\", \"Ignorar %n de arquivos\", \"Ignorar %n arquivos\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ignorar este arquivo\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfazer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Faça upload de algum conteúdo ou sincronize com seus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Ao selecionar uma pasta de entrada, quaisquer arquivos conflitantes dentro dela também serão sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Quando uma pasta de entrada for selecionada, todos os arquivos nela contidos também serão substituídos.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quando uma pasta de entrada é selecionada, o conteúdo é gravado na pasta existente e uma resolução recursiva de conflitos é realizada.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quais arquivos você deseja manter?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Você está atualmente identificado como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"No momento, você não está identificado.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Você não pode deixar o nome vazio.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Você precisa escolher pelo menos uma solução para o conflito\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Você precisa selecionar pelo menos uma versão de cada arquivo para continuar.\"] }] }, { \"language\": \"pt_PT\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome de pasta.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" não é um nome permitido.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" é um nome reservado e não é permitido para nomes de pasta.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" é um nome reservado e não é permitido.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n ficheiro em conflito\", \"%n ficheiros em conflito\", \"%n ficheiros em conflito\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n ficheiro em conflito em {dirname}\", \"%n ficheiros em conflito em {dirname}\", \"%n ficheiros em conflito em {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos os ficheiros\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda a operação\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escolher\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escolher {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escolha %n ficheiro\", \"Escolha %n ficheiros\", \"Escolha %n ficheiros\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar para {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Não foi possível criar a nova pasta \"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Não foi possível carregar as definições dos ficheiros\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Não foi possível carregar as visualizações dos ficheiros\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Criar pasta\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Seletor de visualização atual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Introduza o seu nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versão existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Falha ao definir o nome alternativo.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os ficheiros e as pastas que marcar como favoritos aparecerão aqui.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Os ficheiros e as pastas que modificou recentemente aparecerão aqui.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de ficheiros\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nomes de pasta não podem terminar em \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificação de convidado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Início\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se você selecionar ambas as versões, um número será adicionado ao nome do ficheiro recebido.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nome de pasta inválido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome inválido.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificação desconhecida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover para {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Os nomes podem ter no máximo 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"O nome não pode ficar em branco.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nomes não podem terminar em \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Os nomes não podem começar por um ponto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova pasta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome da pasta\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versão\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Sem ficheiros aqui\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Não foi encontrado nenhum ficheiro correspondente ao seu filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nenhum ficheiro correspondente\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Introduza um nome com, pelo menos, 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recentes\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecione todas as caixas de seleção\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecionar todas as entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecione todos os ficheiros existentes\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecione todos os novos ficheiros\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecione a linha para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamanho\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Ignorar %n ficheiro\", \"Ignorar %n ficheiros\", \"Ignorar %n ficheiros\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ignorar este ficheiro\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Submeter nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Anular\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Envie algum conteúdo ou sincronize com os seus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Ao selecionar uma pasta de entrada, quaisquer ficheiros conflituantes dentro da mesma serão também sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Ao selecionar uma pasta de entrada, todos os ficheiros nela contidos serão também sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quando uma pasta de entrada é selecionada, o conteúdo é gravado na pasta existente e é realizada uma resolução recursiva de conflitos.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quais os ficheiros que deseja manter?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Atualmente está identificado como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Atualmente, não está identificado.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Não pode deixar o nome em branco.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"É preciso escolher pelo menos uma solução para o conflito.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"É necessário selecionar pelo menos uma versão de cada ficheiro para continuar.\"] }] }, { \"language\": \"ro\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" este un nume de director invalid.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nu este un nume de director permis'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" nu este permis în numele unui director.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Toate fișierele\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Alege\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Alege {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Alege %n fișier\", \"Alege %n fișiere\", \"Alege %n fișiere\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiază\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiază în {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nu s-a putut crea noul director\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nu s-au putut încărca setările fișierelor\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nu s-au putut încărca vizualizările fișierelor\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Creează director\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selectorul curent al vizualizării\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorite\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Fișiere și directoare pe care le marcați ca favorite vor apărea aici.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Fișiere și directoare pe care le-ați modificat recent vor apărea aici.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrează lista de fișiere\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Numele de director nu poate fi necompletat.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Acasă\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificat\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mută\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mută către {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nume\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nou\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Director nou\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Numele noului director\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nu există fișiere\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nu există fișiere potrivite pentru filtrul selectat\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nu există fișiere potrivite\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selectează toate înregistrările\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selectează înregistrarea\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selectează rândul pentru {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Mărime\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Anulează\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Încărcați conținut sau sincronizați cu dispozitivele dumneavoastră!\"] }] }, { \"language\": \"ru\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" не допускается в названии папки.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" не допускается внутри имени.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" — недопустимое имя.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" — зарезервированное имя, недопустимое для имени папки.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" — зарезервированное и недопустимое имя.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n конфликт файла\", \"%n конфликта файлов\", \"%n конфликтов файлов\", \"%n конфликтов файлов\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n конфликт файлов в {dirname}\", \"%n конфликта файлов в {dirname}\", \"%n конфликтов файлов в {dirname}\", \"%n конфликтов файлов в {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Все файлы\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Отмена\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Отменить всю операцию\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Выбрать\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Выбрать «{file}»\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Выбрать %n файл\", \"Выбрать %n файла\", \"Выбрать %n файлов\", \"Выбрать %n файлов\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Подтвердить\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Продолжить\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копировать\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копировать в «{target}»\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Не удалось создать новую папку\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не удалось загрузить настройки файлов\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не удалось загрузить конфигурацию просмотра файлов\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Создать папку\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Переключатель текущего вида\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Введите ваше имя\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Текущая версия\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Не удалось задать никнейм.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Избранное\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Здесь будут отображаться файлы и папки, которые вы пометили как избранные.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Здесь будут отображаться файлы и папки, которые вы недавно изменили.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фильтровать список файлов\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Имена папок не могут оканчиваться на \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Гостевая идентификация\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Домой\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Если вы выберете обе версии, к имени входящего файла будет добавлен номер.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Недопустимое имя папки.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Недопустимое имя.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Дата последнего изменения неизвестна\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Изменен\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Переместить\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Переместить в «{target}»\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Имя\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Имена не могут быть длиннее 64 символов.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Имена не могут быть пустыми.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Имена не могут оканчиваться на \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Имена не должны начинаться с точки.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Новый\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Новая папка\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Имя новой папки\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Новая версия\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Здесь нет файлов\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Файлы, соответствующие вашему фильтру, не найдены.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Нет подходящих файлов\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Введите имя длиной не менее 2 символов.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Недавний\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Выбрать все флажки\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Выбрать все записи\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Выбрать все существующие файлы\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Выбрать все новые файлы\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Выбрать запись\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Выбрать строку для «{nodename}»\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Размер\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Пропустить %n файл\", \"Пропустить %n файла\", \"Пропустить %n файлов\", \"Пропустить %n файлов\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Пропустить файл\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Отправить имя\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Отменить\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Загрузите контент или синхронизируйте его со своими устройствами!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Когда выбрана входящая папка, все конфликтующие файлы в ней также будут перезаписаны.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Когда выбрана входящая папка, все файлы в ней также будут перезаписаны.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Когда выбрана входящая папка, содержимое записывается в существующую папку и выполняется рекурсивное разрешение конфликтов.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Какие файлы вы хотите сохранить?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Вы идентифицированы как {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"В данный момент вы не идентифицированы.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Вы не можете оставить имя пустым.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Вам нужно выбрать хотя бы одно решение конфликта\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Для продолжения вам нужно выбрать хотя бы одну версию каждого файла.\"] }] }, { \"language\": \"sk_SK\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" nie je povolené v názve priečinka.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" nie je povolené v rámci mena.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" nie je povolený názov.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ je rezervované meno a nie je povolené na názvy priečinkov.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" je rezervované meno a nie je povolené.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n konflikt súborov\", \"%n konflikty súborov\", \"%n konfliktov súborov\", \"%n konflikty súborov\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n konflikt súborov v {dirname}\", \"%n konflikty súborov v {dirname}\", \"%n konfliktov súborov v {dirname}\", \"%n konfliktov súborov v {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Všetky súbory\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Zrušiť\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Zrušiť celú operáciu\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Vybrať\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vybrať {súbor}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vybraný %n súbor\", \"Vybrané %n súbory\", \"Vybraných %n súborov\", \"Vybraných %n súborov\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdiť\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Pokračovať\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopírovať\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopírovať do {umiestnenia}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nepodarilo sa vytvoriť nový priečinok\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepodarilo sa načítať nastavenia súborov\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepodarilo sa načítať pohľady súborov\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Vytvoriť adresár\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Výber aktuálneho zobrazenia\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Zadajte svoje meno\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Existujúca verzia\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nepodarilo sa nastaviť prezývku.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Obľúbené\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tu sa zobrazia súbory a priečinky, ktoré označíte ako obľúbené.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Tu sa zobrazia súbory a priečinky, ktoré ste nedávno upravili.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrovať zoznam súborov\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Názvy priečinkov nesmú končiť na \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikácia hosťa\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Domov\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ak vyberiete obe verzie, prichádzajúci súbor bude mať k svojmu názvu pridané číslo.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Neplatný názov priečinka.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Neplatné meno.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Posledná zmena dátumu neznáma\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Upravené\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Prejsť\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Prejsť na {umiestnenie}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Názov\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Mená môžu mať maximálne 64 znakov.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Mená nesmú byť prázdne.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Mená nesmú končiť \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Mená nesmú začínať bodkou.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Pridať\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Pridať priečinok\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Pridať názov priečinka\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nová verzia\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nie sú tu žiadne súbory\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenašli sa žiadne súbory zodpovedajúce vášmu filtru.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Žiadne zodpovedajúce súbory\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Zadajte meno s aspoň 2 znakmi.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedávne\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Vyberte všetky zaškrtávacie políčka\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vybrať všetky položky\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vybrať všetky existujúce súbory\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vybrať všetky nové súbory\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vybrať položku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vyberte riadok pre {názov uzla}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Veľkosť\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Preskočiť %n súbor\", \"Preskočiť %n súbory\", \"Preskočiť %n súborov\", \"Preskočiť %n súbory\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Preskočiť tento súbor\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Zadať meno\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Späť\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Nahrajte nejaký obsah alebo synchronizujte so svojimi zariadeniami!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Keď je vybraná prichádzajúca složka, všetky konfliktné súbory v nej budú taktiež prepísané.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Keď je vybraná prichádzajúca zložka, obsah sa zapíše do existujúcej zložky a vykoná sa rekurzívne riešenie konfliktov.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Ktoré súbory chcete zachovať?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Momentálne ste identifikovaný ako {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Momentálne nie ste identifikovaný.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Nemôžete nechať meno prázdne.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Musíte si vybrať aspoň jedno riešenie konfliktu.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Musíte vybrať aspoň jednu verziu každého súboru, aby ste mohli pokračovať.\"] }] }, { \"language\": \"sl\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} je neveljavno ime mape.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} ni dovoljeno ime mape\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ni dovoljen v imenu mape.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Vse datoteke\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Izberi\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Izberi {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Izberi %n datoteko\", \"Izberi %n datoteki\", \"Izberi %n datotek\", \"Izberi %n datotek\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiraj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiraj v {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nisem mogel ustvariti nove mape\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"NIsem mogel naložiti nastavitev datotek\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nisem mogel naložiti pogledov datotek\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Ustvari mapo\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Izbirnik trenutnega pogleda\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Priljubljene\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Datoteke in mape ki jih označite kot priljubljene se bodo prikazale tukaj.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Daoteke in mape ki ste jih pred kratkim spremenili se bodo prikazale tukaj.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtriraj seznam datotek\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Ime mape ne more biti prazno\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Domov\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Spremenjeno\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Premakni\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Premakni v {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ime\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nov\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova mapa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo ime mape\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Tukaj ni datotek\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Ni bilo najdenih ujemajočih datotek glede na vaš filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ni ujemajočih datotek\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedavne\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Izberi vse vnose\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Izberi vnos\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Izberi vrstico za {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Velikost\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Razveljavi\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Naloži nekaj vsebine ali sinhroniziraj s svojimi napravami!\"] }] }, { \"language\": \"sr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}” није дозвољено унутар имена.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}” није дозвољено име.\"] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"„{name}” није исправно име фолдера.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"„{name}” није дозвољено име за фолдер.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}” је резервисано име и није дозвољено.\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"„/” није дозвољено унутар имена фолдера.\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Сви фајлови\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Откажи\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Изаберите\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Изаберите {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Изаберите %n фајл\", \"Изаберите %n фајла\", \"Изаберите %n фајлова\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копирај\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копирај у {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Није могао да се креира нови фолдер\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не могу да се учитају подешавања фајлова\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не могу да се учитају прикази фајлова\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Креирај директоријум\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Бирач тренутног приказа\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Унесите своје име\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Није успело постављање надимка.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Омиљено\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Овде ће се појавити фајлови и фолдери које сте означили као омиљене.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Овде ће се појавити фајлови и фолдери који се се недавно изменили.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фитрирање листе фајлова\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Име фолдера не може бити празно.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Идентификација госта\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Почетак\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Неисправно име.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Измењено\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Премести\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Премести у {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Име\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Највећа дужина имена може бити 64 карактера.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Имена не смеју да буду празна.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Имена не смеју да се завршавају на „{extension}”.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Имена не смеју да почињу тачком.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ново\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Нови фолдер\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Име новог фолдера\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Овде нема фајлова\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Није пронађен ниједан фајл који задовољава ваш филтер.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Нема таквих фајлова\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Молимо вас да унесете име од барем два карактера.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Скорашње\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Изаберите све ставке\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Изаберите ставку\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Изаберите ред за {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Величина\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Предај име\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Поништи\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Отпремите нешто или синхронизујте са својим уређајима!\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Тренутно се идентификујете као {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Тренутно немате идентификацију.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Име не можете да оставите празно.\"] }] }, { \"language\": \"sr@latin\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"„{name}” je neispravan naziv foldera.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"„{name}” je nedozvoljen naziv foldera.\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"„/” se ne može koristiti unutar naziva foldera.\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Svi fajlovi\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Izaberite\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Izaberite {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Izaberite %n fajl\", \"Izaberite %n fajla\", \"Izaberite %n fajlova\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiraj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiraj u {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Neuspešno kreiranje novog foldera\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Neuspešno učitavanje podešavanja fajlova\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Neuspešno učitavanje prikaza fajlova\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Kreiraj direktorijum\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Birač trenutnog prikaza\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Omiljeno\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Lista omiljenih fajlova i foldera.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Lista fajlova i foldera sa skorašnjim izmenama.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Fitriranje liste fajlova\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Naziv foldera ne može biti prazan.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Početak\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Izmenjeno\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Premesti\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Premesti u {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Naziv\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Novi folder\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Naziv novog foldera\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Bez fajlova\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nema fajlova koji zadovoljavaju uslove filtera.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nema takvih fajlova\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Skorašnje\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Izaberite sve stavke\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Izaberite stavku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Izaberite red za {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Veličina\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Vrati\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Otpremite sadržaj ili sinhronizujte sa svojim uređajima!\"] }] }, { \"language\": \"sv\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" är inte tillåtet i ett mappnamn.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" är inte tillåtet i ett namn.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" är inte ett tillåtet namn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" är ett reserverat namn och inte tillåtet mappnamn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" är ett reserverat namn och inte tillåtet.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n fil är i konflikt\", \"%n filer är i konflikt\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n fil är i konflikt i {dirname}\", \"%n filer är i konflikt i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alla filer\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Avbryt\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Avbryt hela operationen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Välj\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Välj {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Välj %n fil\", \"Välj %n filer\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekräfta\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsätt\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiera\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiera till {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunde inte skapa den nya mappen\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kunde inte ladda filinställningar\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunde inte ladda filvyer\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Skapa katalog\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuell vyväljare\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ange ditt namn\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Nuvarande version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kunde inte ställa in smeknamn.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriter\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer och mappar som du markerar som favorit kommer att visas här.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer och mappar som du nyligen ändrat kommer att visas här.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrera fillistan\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Mappnamn får inte sluta med \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gästidentifiering\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Hem\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Om du väljer båda versionerna kommer den inkommande filen att få ett nummer tillagt i sitt namn.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ogiltigt mappnamn.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ogiltigt namn.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Senaste ändringsdatum okänt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ändrad\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Flytta\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flytta till {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Namn\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namnen kan vara högst 64 tecken långa.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namn får inte vara tomt.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namn får inte sluta med \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namn får inte börja med en punkt.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mapp\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nytt mappnamn\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Ny version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Inga filer här\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Inga filer som matchar ditt filter hittades.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Inga matchande filer\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Ange ett namn med minst 2 tecken.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nyligen\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Markera alla kryssrutor\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Välj alla poster\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Välj alla befintliga filer\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Välj alla nya filer\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Välj post\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Välj raden för {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Storlek\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Hoppa över %n fil\", \"Hoppa över %n filer\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Hoppa över den här filen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Skicka namn\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Ångra\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Ladda upp lite innehåll eller synkronisera med dina enheter!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"När en inkommande mapp väljs kommer eventuella konflikterande filer i den också att skrivas över.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"När en inkommande mapp väljs kommer även filer i den att skrivas över.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"När en inkommande mapp väljs skrivs innehållet in i den befintliga mappen och en rekursiv konfliktlösning utförs.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Vilka filer vill du behålla?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du är för närvarande identifierad som {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du är för närvarande inte identifierad.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kan inte lämna namnet tomt.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Du måste välja minst en konfliktlösning\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du måste välja minst en version av varje fil för att fortsätta.\"] }] }, { \"language\": \"tr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" karakteri bir klasör adında kullanılamaz.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['Bir ad içinde \"{char}\" karakteri kullanılamaz.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" adına izin verilmiyor.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" adı sistem için ayrılmış olduğundan klasör adlarında kullanılamaz.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" adı sistem için ayrılmış olduğundan kullanılamaz.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n dosya çakışıyor\", \"%n dosya çakışıyor\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname} içindeki %n dosya çakışıyor\", \"{dirname} içindeki %n dosya çakışıyor\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tüm dosyalar\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"İptal\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Tüm işlemi iptal et\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Seçin\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} seçin\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n dosya seçin\", \"%n dosya seçin\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Onayla\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"İlerle\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopyala\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target} üzerine kopyala\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Yeni klasör oluşturulamadı\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dosyalar uygulamasının ayarları yüklenemedi\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dosyalar uygulamasının görünümleri yüklenemedi\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Klasör oluştur\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Geçerli görünüm seçici\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Adınızı yazın\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Var olan sürüm\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Takma ad ayarlanamadı.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Sık kullanılanlar\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Sık kullanılan olarak seçtiğiniz dosyalar burada görüntülenir.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dosya listesini süz\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Klasör adları \"{extension}\" ile bitemez.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Konuk kimliği\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Giriş\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"İki sürümü de seçerseniz, gelen dosyanın adına bir sayı eklenir.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Klasör adı geçersiz.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ad geçersiz.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Son değiştirilme tarihi bilinmiyor.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Değiştirilme\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Taşı\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target} üzerine taşı\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ad\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Adlar en fazla 64 karakter uzunluğunda olabilir.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ad boş olamaz.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Ad \"{extension}\" ile bitemez.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ad nokta karakteri ile başlayamaz.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Yeni\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Yeni klasör\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Yeni klasör adı\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Yeni sürüm\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Burada herhangi bir dosya yok\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Süzgece uyan bir dosya bulunamadı.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Eşleşen bir dosya yok\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Ad en az 2 karakter uzunluğunda olmalıdır.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Son kullanılanlar\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Tüm kutuları işaretle\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Tüm kayıtları seç\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Tüm var olan dosyaları seç\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Tüm yeni dosyaları seç\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Kaydı seç\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} satırını seçin\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Boyut\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n dosyayı atla\", \"%n dosyayı atla\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Bu dosyayı atla\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Adı gönder\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Geri al\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Bazı içerikler yükleyin ya da aygıtlarınızla eşitleyin!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Bir gelen klasör seçildiğinde, içindeki dosyaların da üzerine yazılır.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bir gelen klasör seçildiğinde, içerik var olan klasöre yazılır ve alt klasörlerle bir çakışma çözümü uygulanır.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hangi dosyaları tutmak istiyorsunuz?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"{nickname} olarak tanınıyorsunuz.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Henüz kendinizi tanıtmadınız.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ad boş bırakılamaz.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"En az bir çakışma çözümü seçmelisiniz\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"İlerlemek için her dosaynın en az bir sürümünü seçmelisiniz.\"] }] }, { \"language\": \"uk\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"{char} не дозволено всередині назви каталогу.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" не дозволено всередині імени.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [`\"{extension}\" недозволене ім'я.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"{segment} є зарезервованим ім'ям і не дозволено для назви каталогу.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [`\"{segment}\" зарезервоване ім'я і не дозволено для використання.`] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n конфлікт файлів\", \"%n конфлікти файлів\", \"%n конфліктів файлів\", \"%n конфліктів файлів\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n конфлікт файлів у каталозі {dirname}\", \"%n конфлікти файлів у каталозі {dirname}\", \"%n конфліктів файлів у каталозі {dirname}\", \"%n конфліктів файлів у каталозі {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Всі файли\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Скасувати\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Скасувати всю операцію\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Вибрати\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Вибрати {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Вибрати %n файл\", \"Вибрати %n файли\", \"Вибрати %n файлів\", \"Вибрати %n файлів\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Підтвердити\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Продовжити\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копіювати\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копіювати до {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Не вдалося створити новий каталог\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не вдалося завантажити налаштування файлів\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не вдалося завантажити подання файлів\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Створити каталог\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Вибір подання\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Зазначте ваше ім'я\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Наявна версія\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Не вдалося встановити псевдо.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Із зірочкою\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Тут показуватимуться файли та каталоги, які ви позначите зірочкою.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Тут показуватимуться файли та каталоги, які було нещодавно змінено.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фільтрувати список файлів\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [`Ім'я каталогу не може закінчуватися на \"{extension}\".`] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Ім'я для гостя\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Домівка\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Якщо вибрати обидві версії, до назви вхідного файлу буде додано цифру. \"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Недійсне ім'я каталогу.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Недійсне ім'я.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Дата останньої зміни невідома\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Змінено\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Перемістити\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Перемістити до {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ім'я\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Імена мають мати довжину не більше 64 символів.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ім'я не може бути порожнє.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [`Ім'я не може закінчуватися на \"{extension}\".`] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ім'я не може починатися з крапки.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Новий\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Новий каталог\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ім'я нового каталогу\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Нова версія\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Тут відсутні файли\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Відсутні збіги за фільтром.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Відсутні збіги файлів.\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Зазначте ім'я довжиною не менше 2 символів\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Останні\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Вибрати всі прапорці\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Вибрати всі записи\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Вибрати всі наявні файли\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Вибрати всі нові файли\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Вибрати запис\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Вибрати рядок для {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Розмір\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Пропустити %n файл\", \"Пропустити %n файли\", \"Пропустити %n файлів\", \"Пропустити %n файлів\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Пропустити цей файл\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Встановити ім'я\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Повернути\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Завантажте вміст або синхронізуйте з вашим пристроєм!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Коли вибрано вхідний каталог, будь-які файли з конфліктами буде також перезаписано.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Якщо буде вибрано вхідний каталог, будь-який файл в ньому буде також перезаписано.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Коли вибрано вхідний каталог, вміст буде записано до існуючого каталогу, а також виконано вирішення конфліктів всередині каталогу.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Які файли залишити?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Вас визначено як {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Вас не ідентифіковано.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Потрібно зазначити ім'я.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Треб вибрати щонайменше одне розв'язання конфлікту\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Треба вибрати щонайменше одну версію кожного файлу, щоби продовжити.\"] }] }, { \"language\": \"uz\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['Papka nomi ichida \"{char}\" ga ruxsat berilmaydi.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['Nom ichida \"{char}\" ga ruxsat berilmagan.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ruxsat etilgan nom emas.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [`\"{segment}\" ajratilgan nom bo'lib, papka nomlari uchun ruxsat berilmagan.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" - zaxiralangan nom va ruxsat berilmaydi.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n fayl ziddiyatli\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname} da %n fayl ziddiyati\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Barcha fayllar\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Bekor qilish\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Butun operatsiyani bekor qiling\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Tanlang\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Tanlang {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Tanlang %n faylni\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Tasdiqlang\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Davom eting\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Nusxa\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\" {target} ga nusxa\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Yangi jild yaratib bo‘lmadi\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Fayl sozlamalari yuklanmadi\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Fayllarni koʻrishni yuklab boʻlmadi\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Katalog yaratish\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Joriy ko'rinish selektori\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ismingizni kiriting\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Mavjud versiya\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Taxallusni o‘rnatib bo‘lmadi.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Tanlanganlar\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tanlangan deb belgilagan fayl va papkalar shu yerda koʻrinadi.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Siz yaqinda oʻzgartirgan fayl va papkalar shu yerda koʻrinadi.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Fayl ro'yxatini filtrlash\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Papka nomlari \"{extension}\" bilan tugamasligi kerak.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Foydalanuvchini identifikatsiyalash\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Uy\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Agar siz ikkala versiyani tanlasangiz, kiruvchi fayl nomiga qo'shilgan raqamga ega bo'ladi.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Jild nomi noto'g'ri.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nomi noto‘g‘ri.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Oxirgi tahrirlangan sana noma'lum\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modifikatsiyalangan\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Ko'chirish\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\" {target} ga ko'chirish\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nomi\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Ismlar ko'pi bilan 64 ta belgidan iborat bo'lishi mumkin.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ismlar bo'sh bo'lmasligi kerak.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Ismlar \"{extension}\" bilan tugamasligi kerak.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ismlar nuqta bilan boshlanmasligi kerak.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Yangi\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Yangi jild\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Yangi jild nomi\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Yangi versiya\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Fayl mavjud emas\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Filtringizga mos keladigan fayl topilmadi.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Mos fayllar yo'q\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Kamida 2 ta belgidan iborat nom kiriting.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Yaqinda\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Barcha katakchalarni belgilang\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Barcha yozuvlarni tanlang\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Barcha mavjud fayllarni tanlang\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Barcha yangi fayllarni tanlang\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Yozuvni tanlang\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} uchun qatorni tanlang\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"O`lcham\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n faylni oʻtkazib yuborish\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ushbu faylni o'tkazib yuboring\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Ismni tasdiqlang\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Bekor qilish\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Qurilmangizga ba'zi kontentni yuklang yoki sinxronlang!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Kiruvchi papka tanlanganda, undagi har qanday ziddiyatli fayllar ham ustiga yoziladi.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Kiruvchi papka tanlanganda, kontent mavjud jildga yoziladi va nizolarni rekursiv hal qilish amalga oshiriladi.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Qaysi fayllarni saqlamoqchisiz?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Siz hozirda {nickname} sifatida aniqlangansiz.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Siz hozirda identifikatsiyadan o'tmagansiz\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ism katagini bo'sh qoldirib bo'lmaydi.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Siz kamida bitta mojaro yechimini tanlashingiz kerak\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Davom etish uchun har bir faylning kamida bitta versiyasini tanlashingiz kerak.\"] }] }, { \"language\": \"vi\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" là tên thư mục không hợp lệ.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"1{name}\"không phải là tên thư mục được cho phép'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\"không được phép đặt trong tên thư mục.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tất cả tệp\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Chọn\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Chọn {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Chọn %n tệp\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Sao chép\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Sao chép đến {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Không thể tạo thư mục mới\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Không thể tải tập tin cài đặt\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Không thể tải xuống tệp xem\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Tạo thư mục\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Hiện tại chế độ xem của bộ chọn\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Yêu cầu thích\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Các tập tin và thư mục bạn đánh dấu yêu thích sẽ hiển thị ở đây.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Các tập tin và thư mục bạn sửa đổi gần đây sẽ hiển thị ở đây.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter list file\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Thư mục tên không được để trống.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Trang chủ\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Đã sửa đổi\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Di chuyển\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Di chuyển đến{target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Tên\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Mới\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"New thư mục\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"New thư mục tên\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No file at here\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Không tìm thấy tệp nào phù hợp với bộ lọc của bạn.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No file phù hợp\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Gần đây\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Choose all items\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Chọn mục nhập\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Choose hang cho{nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Kích cỡ\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Hoàn tác\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Tải lên một số nội dung hoặc đồng bộ hóa với thiết bị của bạn!\"] }] }, { \"language\": \"zh_CN\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"“{name}” 是无效的文件夹名称。\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"“{name}” 不是允许的文件夹名称\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"文件夹名称中不允许包含 “/”。\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"所有文件\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"选择\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"选择 {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"选择 %n 个文件\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"复制\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"复制到 {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"无法创建新文件夹\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"无法加载文件设置\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"无法加载文件视图\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"创建目录\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"当前视图选择器\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"最爱\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您标记为最爱的文件与文件夹会显示在这里\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的文件与文件夹会显示在这里\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"过滤文件列表\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"文件夹名称不能为空。\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"主目录\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移动\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移动至 {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名称\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新建\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新文件夹\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新文件夹名称\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"此处无文件\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您过滤条件的文件\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"无符合的文件\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"选择所有条目\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"选择条目\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"选择 {nodename} 的列\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\" 撤消\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上传一些项目或与您的设备同步!\"] }] }, { \"language\": \"zh_HK\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"資料夾名稱中不允許使用「{char}」。\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['名稱中不能使用 \"{char}\"。'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"「{extension}」並非允許的名稱。\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"「{segment}」為保留名稱,不能用作資料夾名稱。\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"「{segment}」是一個保留名稱,不能使用。\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n 檔案衝突\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname} 中有 %n 個檔案衝突\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"所有檔案\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"取消\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"取消整個操作\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"選擇\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"選擇 {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"選擇 %n 個檔案\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"確認\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"繼續\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"複製\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"複製到 {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"無法建立新資料夾\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"無法載入檔案設定\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"無法載入檔案視圖\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"建立目錄\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"目前視圖選擇器\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"輸入您的名字\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"現有的版本\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"無法設置暱稱。\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"最愛\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您標記為最愛的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"過濾檔案清單\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"資料夾名稱不得以「{extension}」結尾。\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"訪客身份識別\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"首頁\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"如果您選擇兩個版本,傳入的檔案名稱將會附加一個數字。\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"無效的資料夾名稱。\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"無效的名字。\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"最後的修改日期不詳\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移動至 {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名稱\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"名稱長度最多為 64 個字元。\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"名稱不能為空。\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"名稱不得以「{extension}」結尾。\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"名稱不得以點開頭。\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新資料夾\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新資料夾名稱\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"新版本\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"此處無檔案\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您過濾條件的檔案。\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"沒有匹配的檔案\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"請輸入至少 2 個字符的名稱。\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"選擇所有復選框\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"選擇所有項目\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"選擇所有現有的檔案\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"選擇所有新檔案\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"選擇項目\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"選擇 {nodename} 的列\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"跳過 %n 個檔案\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"跳過此檔案\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"遞交名字\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"還原\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上傳一些內容或與您的裝置同步!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"選取傳入資料夾時,其中任何衝突的檔案也將被覆蓋。\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"當選取傳入資料夾時,內容將寫入現有資料夾,並執行遞歸衝突解決。\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"你想保留哪些檔案?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"您目前被識別為 {nickname}。\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"您目前尚未被識別。\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"名稱不能留空。\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"你需要選擇至少一種衝突解決方案。\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"您必須選擇每個文件的至少一個版本才能繼續。\"] }] }, { \"language\": \"zh_TW\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid file name.', \"msgstr\": [\"「{name}」是無效的檔案名稱。\"] }, { \"msgid\": '\"{name}\" is not an allowed filetype', \"msgstr\": [\"「{name}」並非允許的檔案類型\"] }, { \"msgid\": '\"/\" is not allowed inside a file name.', \"msgstr\": [\"檔案名稱中不允許使用「/」。\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"所有檔案\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"選擇\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"選擇 {file}\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"複製\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"複製到 {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"無法建立新資料夾\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"建立目錄\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"目前檢視選取器\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"最愛\"] }, { \"msgid\": \"File name cannot be empty.\", \"msgstr\": [\"檔案名稱不能為空。\"] }, { \"msgid\": \"Filepicker sections\", \"msgstr\": [\"檔案挑選器選取\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您標記為最愛的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"過濾檔案清單\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"家\"] }, { \"msgid\": \"Mime type {mime}\", \"msgstr\": [\"Mime type {mime}\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移動至 {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名稱\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新資料夾\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新資料夾名稱\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"此處無檔案\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您過濾條件的檔案。\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"無符合的檔案\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"選取所有條目\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"選取條目\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"選取 {nodename} 的列\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"復原\"] }, { \"msgid\": \"unknown\", \"msgstr\": [\"未知\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上傳一些內容或與您的裝置同步\"] }] }]) {\n const { language, translations } = data;\n const bundle = {\n headers: {},\n translations: {\n \"\": Object.fromEntries(translations.map((translation) => [translation.msgid, translation]))\n }\n };\n gtBuilder.addTranslation(language, bundle);\n}\nconst gt = gtBuilder.build();\nconst n = gt.ngettext.bind(gt);\nconst t = gt.gettext.bind(gt);\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/dialogs\").detectLogLevel().build();\nvar FilePickerType = /* @__PURE__ */ ((FilePickerType2) => {\n FilePickerType2[FilePickerType2[\"Choose\"] = 1] = \"Choose\";\n FilePickerType2[FilePickerType2[\"Move\"] = 2] = \"Move\";\n FilePickerType2[FilePickerType2[\"Copy\"] = 3] = \"Copy\";\n FilePickerType2[FilePickerType2[\"CopyMove\"] = 4] = \"CopyMove\";\n FilePickerType2[FilePickerType2[\"Custom\"] = 5] = \"Custom\";\n return FilePickerType2;\n})(FilePickerType || {});\nclass FilePickerClosed extends Error {\n}\nclass FilePicker {\n title;\n multiSelect;\n mimeTypeFilter;\n directoriesAllowed;\n noMenu;\n buttons;\n path;\n filter;\n canPick;\n container;\n disabledNavigation;\n constructor(title, multiSelect, mimeTypeFilter, directoriesAllowed, noMenu, buttons, path, filter, canPick, container, disabledNavigation = false) {\n this.title = title;\n this.multiSelect = multiSelect;\n this.mimeTypeFilter = mimeTypeFilter;\n this.directoriesAllowed = directoriesAllowed;\n this.noMenu = noMenu;\n this.path = path;\n this.filter = filter;\n this.canPick = canPick;\n this.buttons = buttons;\n this.container = container;\n this.disabledNavigation = disabledNavigation;\n }\n /**\n * Pick files using the FilePicker.\n *\n * @return Promise with array of picked files or rejected promise on close without picking\n */\n async pickNodes() {\n const { default: FilePickerVue } = await import(\"./FilePicker.mjs\");\n const nodes = await spawnDialog(FilePickerVue, {\n allowPickDirectory: this.directoriesAllowed,\n noMenu: this.noMenu,\n buttons: this.buttons,\n name: this.title,\n path: this.path,\n mimetypeFilter: this.mimeTypeFilter,\n multiselect: this.multiSelect,\n filterFn: this.filter,\n canPickFn: this.canPick,\n disabledNavigation: this.disabledNavigation\n }, {\n container: this.container\n });\n if (!Array.isArray(nodes) || nodes.length === 0) {\n throw new FilePickerClosed(\"FilePicker: No nodes selected\");\n }\n return nodes;\n }\n /**\n * Pick files using the FilePicker\n *\n * @return Promise with array of paths of picked files or rejected promise on close without picking\n */\n async pick() {\n const nodes = await this.pickNodes();\n if (this.multiSelect) {\n return nodes.map((node) => node.path);\n }\n const path = nodes[0]?.path ?? \"/\";\n return path;\n }\n}\nclass FilePickerBuilder {\n title;\n multiSelect = false;\n mimeTypeFilter = [];\n directoriesAllowed = false;\n noMenu = false;\n path;\n filter;\n canPick;\n buttons = [];\n container;\n disabledNavigation = false;\n /**\n * Construct a new FilePicker\n *\n * @param title Title of the FilePicker\n */\n constructor(title) {\n this.title = title;\n }\n /**\n * Set the container where the FilePicker will be mounted\n * By default 'body' is used\n *\n * @param container The dialog container\n */\n setContainer(container) {\n this.container = container;\n return this;\n }\n /**\n * Enable or disable picking multiple files\n *\n * @param ms True to enable picking multiple files, false otherwise\n */\n setMultiSelect(ms) {\n this.multiSelect = ms;\n return this;\n }\n /**\n * Add allowed MIME type\n *\n * @param filter MIME type to allow\n */\n addMimeTypeFilter(filter) {\n this.mimeTypeFilter.push(filter);\n return this;\n }\n /**\n * Set allowed MIME types\n *\n * @param filter Array of allowed MIME types\n */\n setMimeTypeFilter(filter) {\n this.mimeTypeFilter = filter;\n return this;\n }\n /**\n * Add a button to the FilePicker\n * Note: This overrides any previous `setButtonFactory` call\n *\n * @param button The button\n */\n addButton(button) {\n if (typeof this.buttons === \"function\") {\n logger.warn(\"FilePicker buttons were set to factory, now overwritten with button object.\");\n this.buttons = [];\n }\n this.buttons.push(button);\n return this;\n }\n /**\n * Set the button factory which is used to generate buttons from current view, path and selected nodes\n * Note: This overrides any previous `addButton` call\n *\n * @param factory The button factory\n */\n setButtonFactory(factory) {\n this.buttons = factory;\n return this;\n }\n /**\n * Set FilePicker type based on legacy file picker types\n *\n * @param type The legacy filepicker type to emulate\n * @deprecated Use `addButton` or `setButtonFactory` instead as with setType you do not know which button was pressed\n */\n setType(type) {\n this.buttons = (nodes, path) => {\n const buttons = [];\n const node = nodes[0];\n const target = node?.displayname || basename(path);\n if (type === 1) {\n let label = t(\"Choose\");\n if (nodes.length === 1) {\n label = t(\"Choose {file}\", { file: target });\n } else if (this.multiSelect) {\n label = n(\"Choose %n file\", \"Choose %n files\", nodes.length);\n }\n buttons.push({\n callback: () => {\n },\n label,\n variant: \"primary\"\n });\n }\n if (type === 4 || type === 3) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Copy to {target}\", { target }) : t(\"Copy\"),\n icon: IconCopy,\n variant: type === 3 ? \"primary\" : \"secondary\"\n });\n }\n if (type === 4 || type === 2) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Move to {target}\", { target }) : t(\"Move\"),\n icon: IconMove,\n variant: \"primary\"\n // move is always primary - also on copy-move\n });\n }\n return buttons;\n };\n return this;\n }\n /**\n * Allow to pick directories besides files\n *\n * @param allow True to allow picking directories\n */\n allowDirectories(allow = true) {\n this.directoriesAllowed = allow;\n return this;\n }\n /**\n * Allow to create New folders\n *\n * @param noMenu True to hide menu\n */\n setNoMenu(noMenu = true) {\n this.noMenu = noMenu;\n return this;\n }\n /**\n * Set starting path of the FilePicker\n *\n * @param path Path to start from picking\n */\n startAt(path) {\n this.path = path;\n return this;\n }\n /**\n * Add filter function to filter file list of FilePicker\n *\n * @param filter Filter function to apply\n */\n setFilter(filter) {\n this.filter = filter;\n return this;\n }\n /**\n * Add function to allow or not picking a node\n *\n * @param canPick Function to decide if a node can be picked\n */\n setCanPick(canPick) {\n this.canPick = canPick;\n return this;\n }\n /**\n * Disable navigation (view selection)\n */\n disableNavigation() {\n this.disabledNavigation = true;\n return this;\n }\n /**\n * Construct the configured FilePicker\n */\n build() {\n return new FilePicker(\n this.title,\n this.multiSelect,\n this.mimeTypeFilter,\n this.directoriesAllowed,\n this.noMenu,\n this.buttons,\n this.path,\n this.filter,\n this.canPick,\n this.container,\n this.disabledNavigation\n );\n }\n}\nfunction getFilePickerBuilder(title) {\n return new FilePickerBuilder(title);\n}\nasync function showGuestUserPrompt(props) {\n const name = await spawnDialog(\n defineAsyncComponent(() => import(\"./PublicAuthPrompt.mjs\")),\n props\n );\n return name;\n}\nconst LoaderSvg = '\\n\t\\n\t\\n\\n';\nvar ToastType = /* @__PURE__ */ ((ToastType2) => {\n ToastType2[\"ERROR\"] = \"toast-error\";\n ToastType2[\"WARNING\"] = \"toast-warning\";\n ToastType2[\"INFO\"] = \"toast-info\";\n ToastType2[\"SUCCESS\"] = \"toast-success\";\n ToastType2[\"UNDO\"] = \"toast-undo\";\n ToastType2[\"LOADING\"] = \"toast-loading\";\n return ToastType2;\n})(ToastType || {});\nconst TOAST_ARIA_LIVE_OFF = \"off\";\nconst TOAST_ARIA_LIVE_POLITE = \"polite\";\nconst TOAST_ARIA_LIVE_ASSERTIVE = \"assertive\";\nvar ToastAriaLive = /* @__PURE__ */ ((ToastAriaLive2) => {\n ToastAriaLive2[ToastAriaLive2[\"OFF\"] = TOAST_ARIA_LIVE_OFF] = \"OFF\";\n ToastAriaLive2[ToastAriaLive2[\"POLITE\"] = TOAST_ARIA_LIVE_POLITE] = \"POLITE\";\n ToastAriaLive2[ToastAriaLive2[\"ASSERTIVE\"] = TOAST_ARIA_LIVE_ASSERTIVE] = \"ASSERTIVE\";\n return ToastAriaLive2;\n})(ToastAriaLive || {});\nconst TOAST_UNDO_TIMEOUT = 1e4;\nconst TOAST_DEFAULT_TIMEOUT = 7e3;\nconst TOAST_PERMANENT_TIMEOUT = -1;\nfunction showMessage(data, options) {\n options = {\n timeout: TOAST_DEFAULT_TIMEOUT,\n isHTML: false,\n type: void 0,\n // An undefined selector defaults to the body element\n selector: void 0,\n onRemove: () => {\n },\n onClick: void 0,\n close: true,\n ...options\n };\n if (typeof data === \"string\" && !options.isHTML) {\n const element = document.createElement(\"div\");\n element.innerHTML = data;\n data = element.innerText;\n }\n let classes = options.type ?? \"\";\n if (typeof options.onClick === \"function\") {\n classes += \" toast-with-click \";\n }\n const isNode = data instanceof Node;\n let ariaLive = ToastAriaLive.POLITE;\n if (options.ariaLive) {\n ariaLive = options.ariaLive;\n } else if (options.type === \"toast-error\" || options.type === \"toast-undo\") {\n ariaLive = ToastAriaLive.ASSERTIVE;\n }\n const toast = Toastify({\n [!isNode ? \"text\" : \"node\"]: data,\n duration: options.timeout,\n callback: options.onRemove,\n onClick: options.onClick,\n close: options.close,\n gravity: \"top\",\n selector: options.selector,\n position: \"right\",\n backgroundColor: \"\",\n className: \"dialogs \" + classes,\n escapeMarkup: !options.isHTML,\n ariaLive\n });\n toast.showToast();\n return toast;\n}\nfunction showError(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-error\"\n /* ERROR */\n });\n}\nfunction showWarning(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-warning\"\n /* WARNING */\n });\n}\nfunction showInfo(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-info\"\n /* INFO */\n });\n}\nfunction showSuccess(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-success\"\n /* SUCCESS */\n });\n}\nfunction showLoading(text, options) {\n const loader = document.createElement(\"span\");\n loader.innerHTML = LoaderSvg;\n loader.classList.add(\"toast-loader\");\n const loaderContent = document.createElement(\"span\");\n loaderContent.classList.add(\"toast-loader-container\");\n loaderContent.innerText = text;\n loaderContent.appendChild(loader);\n return showMessage(loaderContent, {\n ...options,\n close: false,\n timeout: TOAST_PERMANENT_TIMEOUT,\n type: \"toast-loading\"\n /* LOADING */\n });\n}\nfunction showUndo(text, onUndo, options) {\n if (!(onUndo instanceof Function)) {\n throw new Error(\"Please provide a valid onUndo method\");\n }\n options = Object.assign(options || {}, {\n // force 10 seconds of timeout\n timeout: TOAST_UNDO_TIMEOUT\n });\n const undoContent = document.createElement(\"span\");\n const undoButton = document.createElement(\"button\");\n undoContent.classList.add(\"toast-undo-container\");\n undoButton.classList.add(\"toast-undo-button\");\n undoButton.innerText = t(\"Undo\");\n undoContent.innerText = text;\n undoContent.appendChild(undoButton);\n const toast = showMessage(undoContent, {\n ...options,\n type: \"toast-undo\"\n /* UNDO */\n });\n undoButton.addEventListener(\"click\", function(event) {\n event.stopPropagation();\n onUndo(event);\n if (toast?.hideToast instanceof Function) {\n toast.hideToast();\n }\n });\n return toast;\n}\nconst _hoisted_1 = [\"textContent\"];\nconst _hoisted_2 = [\"innerHTML\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"GenericDialog\",\n props: {\n name: {},\n text: {},\n html: {},\n buttons: {},\n severity: {}\n },\n emits: [\"close\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const dialogButtons = computed(() => props.buttons?.map((button) => ({\n ...button,\n callback() {\n button.callback();\n emit(\"close\", true);\n }\n })));\n const handleUnload = () => `${props.name}: ${props.text}`;\n onMounted(() => window.addEventListener(\"unload\", handleUnload));\n onUnmounted(() => window.removeEventListener(\"unload\", handleUnload));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcDialog), {\n dialogClasses: \"nc-generic-dialog\",\n buttons: dialogButtons.value,\n name: __props.name,\n message: __props.text,\n \"onUpdate:open\": _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"close\", false))\n }, {\n default: withCtx(() => [\n __props.severity ? (openBlock(), createBlock(unref(NcNoteCard), {\n key: 0,\n type: __props.severity\n }, {\n default: withCtx(() => [\n createElementVNode(\"p\", {\n textContent: toDisplayString(__props.text)\n }, null, 8, _hoisted_1)\n ]),\n _: 1\n }, 8, [\"type\"])) : createCommentVNode(\"\", true),\n __props.html ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n innerHTML: __props.html\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"buttons\", \"name\", \"message\"]);\n };\n }\n});\nclass Dialog {\n #name;\n #text;\n #buttons;\n #severity;\n constructor(name, text, buttons = [], severity) {\n this.#name = name;\n this.#text = text;\n this.#buttons = buttons;\n this.#severity = severity;\n }\n /**\n * Spawn and show the dialog - if already open the previous instance will be destroyed\n *\n * @return Promise that resolves when the dialog is answered successfully and rejects on close\n */\n async show() {\n const result = await spawnDialog(\n _sfc_main,\n {\n buttons: this.#buttons,\n name: this.#name,\n text: this.#text,\n severity: this.#severity\n }\n );\n if (!result) {\n throw new Error(\"Dialog closed\");\n }\n }\n}\nclass DialogBuilder {\n #severity;\n #text;\n #name;\n #buttons;\n constructor(name) {\n this.#severity = void 0;\n this.#text = \"\";\n this.#name = name ?? \"\";\n this.#buttons = [];\n }\n /**\n * Set dialog name\n *\n * @param name The name or headline of the dialog\n */\n setName(name) {\n this.#name = name;\n return this;\n }\n /**\n * Set the dialog text\n *\n * @param text Main text of the dialog\n */\n setText(text) {\n this.#text = text;\n return this;\n }\n /**\n * Set the severity of the dialog\n *\n * @param severity Severity of the dialog\n */\n setSeverity(severity) {\n this.#severity = severity;\n return this;\n }\n /**\n * Set buttons from array\n *\n * @param buttons Either an array of dialog buttons\n */\n setButtons(buttons) {\n if (this.#buttons.length > 0) {\n logger.warn(\"[@nextcloud/dialogs] Dialog buttons are already set - this overrides previous buttons.\");\n }\n this.#buttons = buttons;\n return this;\n }\n /**\n * Add a single button\n *\n * @param button Button to add\n */\n addButton(button) {\n this.#buttons.push(button);\n return this;\n }\n build() {\n return new Dialog(this.#name, this.#text, this.#buttons, this.#severity);\n }\n}\nfunction getDialogBuilder(name) {\n return new DialogBuilder(name);\n}\nasync function showConfirmation(options) {\n options = {\n labelConfirm: t(\"Confirm\"),\n ...options\n };\n const { promise, resolve } = Promise.withResolvers();\n const buttons = [{\n label: options.labelConfirm,\n variant: \"primary\",\n callback() {\n resolve(true);\n }\n }];\n if (options.labelReject) {\n buttons.unshift({\n label: options.labelReject,\n callback() {\n resolve(false);\n }\n });\n }\n const dialog = new Dialog(\n options.name,\n options.text,\n buttons,\n options.severity\n );\n await dialog.show();\n return promise;\n}\nexport {\n Dialog as D,\n FilePicker as F,\n TOAST_ARIA_LIVE_ASSERTIVE as T,\n DialogBuilder as a,\n FilePickerBuilder as b,\n FilePickerClosed as c,\n FilePickerType as d,\n TOAST_ARIA_LIVE_OFF as e,\n TOAST_ARIA_LIVE_POLITE as f,\n TOAST_DEFAULT_TIMEOUT as g,\n TOAST_PERMANENT_TIMEOUT as h,\n TOAST_UNDO_TIMEOUT as i,\n ToastAriaLive as j,\n ToastType as k,\n logger as l,\n getDialogBuilder as m,\n n,\n getFilePickerBuilder as o,\n openConflictPicker as p,\n showConfirmation as q,\n showGuestUserPrompt as r,\n showError as s,\n t,\n showInfo as u,\n showLoading as v,\n showMessage as w,\n showSuccess as x,\n showUndo as y,\n showWarning as z\n};\n//# sourceMappingURL=index.mjs.map\n"],"file":"index--CXeJKGn.chunk.mjs"} \ No newline at end of file +{"version":3,"mappings":"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","names":["root","factory","module","this","global","Toastify","options","version","divElement","property","avatarElement","closeElement","event","width","self","x","getAxisOffsetAValue","y","xOffset","yOffset","rootElement","elementToInsert","toastElement","topLeftOffsetSize","topRightOffsetSize","offsetSize","allToasts","classUsed","i","containsClass","height","offset","axis","elem","yourClass","IconMove","IconCopy","gtBuilder","getGettextBuilder","data","language","translations","bundle","translation","gt","n","t","logger","getLoggerBuilder","FilePickerClosed","FilePicker","title","multiSelect","mimeTypeFilter","directoriesAllowed","noMenu","buttons","path","filter","canPick","container","disabledNavigation","FilePickerVue","__vitePreload","nodes","spawnDialog","node","FilePickerBuilder","ms","button","type","target","basename","label","allow","getFilePickerBuilder","LoaderSvg","TOAST_ARIA_LIVE_OFF","TOAST_ARIA_LIVE_POLITE","TOAST_ARIA_LIVE_ASSERTIVE","ToastAriaLive","ToastAriaLive2","TOAST_UNDO_TIMEOUT","TOAST_DEFAULT_TIMEOUT","TOAST_PERMANENT_TIMEOUT","showMessage","element","classes","isNode","ariaLive","toast","showError","text","showWarning","showInfo","showSuccess","showLoading","loader","loaderContent","showUndo","onUndo","undoContent","undoButton","_hoisted_1","_hoisted_2","_sfc_main","defineComponent","__props","__emit","props","emit","dialogButtons","computed","handleUnload","onMounted","onUnmounted","_ctx","_cache","openBlock","createBlock","unref","NcDialog","$event","withCtx","NcNoteCard","createElementVNode","toDisplayString","createCommentVNode","createElementBlock","Dialog","#name","#text","#buttons","#severity","name","severity","DialogBuilder","getDialogBuilder","showConfirmation","promise","resolve"],"ignoreList":[0,1],"sources":["../node_modules/toastify-js/src/toastify.js","../node_modules/@nextcloud/dialogs/dist/chunks/index.mjs"],"sourcesContent":["/*!\n * Toastify js 1.12.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n(function(root, factory) {\n if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Toastify = factory();\n }\n})(this, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n },\n // Library version\n version = \"1.12.0\";\n\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function () {\n },\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: '',\n backgroundColor: '',\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function () {\n },\n offset: {x: 0, y: 0},\n escapeMarkup: true,\n ariaLive: 'polite',\n style: {background: ''}\n };\n\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n\n constructor: Toastify,\n\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) {\n options = {};\n }\n\n // Creating the options object\n this.options = {};\n\n this.toastElement = null;\n\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.ariaLive = options.ariaLive || Toastify.defaults.ariaLive;\n this.options.style = options.style || Toastify.defaults.style;\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n\n // Returning the current object for chaining functions\n return this;\n },\n\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n\n // Positioning toast to left or right or center\n if (!!this.options.position) {\n divElement.className += \" toastify-\" + this.options.position;\n } else {\n // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.')\n } else {\n // Default position\n divElement.className += \" toastify-right\";\n }\n }\n\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n // Loop through our style object and apply styles to divElement\n for (var property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Announce the toast to screen readers\n if (this.options.ariaLive) {\n divElement.setAttribute('aria-live', this.options.ariaLive)\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\" || this.options.positionLeft === true) {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"button\");\n closeElement.type = \"button\";\n closeElement.setAttribute(\"aria-label\", \"Close\");\n closeElement.className = \"toast-close\";\n closeElement.innerHTML = \"✖\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }.bind(this)\n );\n\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n function(event) {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n function() {\n divElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n },\n self.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }.bind(this)\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.options.onClick();\n }.bind(this)\n );\n }\n\n // Adding offset\n if(typeof this.options.offset === \"object\") {\n\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n\n }\n\n // Returning the generated element\n return divElement;\n },\n\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") {\n rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {\n rootElement = this.options.selector;\n } else {\n rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }.bind(this),\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n },\n\n hideToast: function() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this.removeElement(this.toastElement);\n },\n\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n Toastify.reposition();\n }.bind(this),\n 400\n ); // Binding `this` for function invocation\n },\n };\n\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n\n var classUsed;\n\n // Modifying the position of each toast element\n for (var i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length-1)\n // Spacing between toasts\n var offset = 15;\n\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n\n // Supporting function chaining\n return this;\n };\n\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n\n if(options.offset[axis]) {\n if(isNaN(options.offset[axis])) {\n return options.offset[axis];\n }\n else {\n return options.offset[axis] + 'px';\n }\n }\n\n return '0px';\n\n }\n\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") {\n return false;\n } else if (\n elem.className &&\n elem.className\n .trim()\n .split(/\\s+/gi)\n .indexOf(yourClass) > -1\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n","import { spawnDialog } from \"@nextcloud/vue/functions/dialog\";\nimport { defineAsyncComponent, defineComponent, computed, onMounted, onUnmounted, openBlock, createBlock, unref, withCtx, createElementVNode, toDisplayString, createCommentVNode, createElementBlock } from \"vue\";\nimport { basename } from \"@nextcloud/paths\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\nimport { getLoggerBuilder } from \"@nextcloud/logger\";\nimport Toastify from \"toastify-js\";\nimport NcDialog from \"@nextcloud/vue/components/NcDialog\";\nimport NcNoteCard from \"@nextcloud/vue/components/NcNoteCard\";\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nasync function openConflictPicker(dirname, conflicts, content, options) {\n const ConflictPicker = defineAsyncComponent(() => import(\"./ConflictPicker.mjs\"));\n const incoming = [];\n const existing = [];\n for (const node of content) {\n if (isConflictingNode(node)) {\n existing.push(node);\n incoming.push(conflicts[indexOf(node)]);\n }\n }\n if (conflicts.length === 0 || content.length === 0) {\n throw new Error(\"ConflictPicker: files and conflicts must not be empty\");\n }\n if (conflicts.length !== content.length) {\n throw new Error(\"ConflictPicker: files and conflicts must have the same length. Make sure you filter out non conflicting files from the conflicts array.\");\n }\n return await spawnDialog(ConflictPicker, {\n dirname,\n existing,\n incoming,\n isOverwriting: options?.overwriting === true,\n recursiveUpload: options?.recursive === true\n }, {\n container: options?.container\n });\n function isConflictingNode(node) {\n return conflicts.some((entry) => nodeIsConflict(node, entry));\n }\n function indexOf(node) {\n return conflicts.findIndex((entry) => nodeIsConflict(node, entry));\n }\n function nodeIsConflict(node, conflict) {\n if (\"basename\" in conflict) {\n return conflict.basename === node.basename;\n }\n return conflict.name === node.basename;\n }\n}\nconst IconMove = '';\nconst IconCopy = '';\nconst gtBuilder = getGettextBuilder().detectLanguage();\nfor (const data of [{ \"language\": \"ar\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" لا يصلح كاسم مجلد.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" غير مسموح به كاسم مجلد'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" غير مسموح به داخل اسم مجلد.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"كل الملفات\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"إختَر\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"إختر {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"إختَر %n ملف\", \"إختَر %n ملف\", \"إختَر %n ملف\", \"إختَر %n ملفات\", \"إختَر %n ملف\", \"إختر %n ملف\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"نسخ\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"نسخ إلى {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"تعذّر إنشاء المجلد الجديد\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"يتعذّر تحميل إعدادات الملفات\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"تعذر تحميل عرض الملفات\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"إنشاء مجلد\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"محدد العرض الحالي\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"المفضلة\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"الملفات والمجلدات التي تحددها كمفضلة ستظهر هنا.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"الملفات و المجلدات التي قمت مؤخراً بتعديلها سوف تظهر هنا.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"تصفية قائمة الملفات\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"اسم المجلد لا يمكن أن يكون فارغاً.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"البداية\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"التعديل\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"نقل\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"نقل إلى {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"الاسم\"] }, { \"msgid\": \"New\", \"msgstr\": [\"جديد\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"مجلد جديد\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"اسم المجلد الجديد\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"لا توجد ملفات هنا\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"لا توجد ملفات تتطابق مع عامل التصفية الذي وضعته\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"لا توجد ملفات مطابقة\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"الحالي\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"حدد جميع الإدخالات\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"إختَر المدخل\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"إختر سطر الـ {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"الحجم\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"تراجع\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"قم برفع بعض المحتوى أو المزامنة مع أجهزتك!\"] }] }, { \"language\": \"ast\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"«{name}» ye un nome de carpeta inválidu.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"«{name}» ye un nome de carpeta inválidu\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"Nun se permite'l caráuter «/» dientro'l nome de les carpetes.\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tolos ficheros\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escoyer\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escoyer «{ficheru}»\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escoyer %n ficheru\", \"Escoyer %n ficheros\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar en: {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nun se pudo crear la carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nun se pudo cargar la configuración de los ficheros\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nun se pudieron cargar les vistes de los ficheros\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear un direutoriu\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de la vista actual\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Equí apaecen los ficheros y les carpetes que metas en Favoritos.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Equí apaecen los fichero y les carpetes que modificares apocayá.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Peñerar la llista de ficheros\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nome de la carpeta nun pue tar baleru.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Aniciu\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificóse\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevu\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Carpeta nueva\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nome de carpeta nuevu\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Equí nun hai nengún ficheru\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nun s'atopó nengún ficheru que concasare cola peñera.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nun hai nengún ficheru que concase\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"De recién\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleicionar toles entraes\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleicionar la entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleicionar la filera de: {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamañu\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Xubi dalgún elementu o sincroniza colos tos preseos!\"] }] }, { \"language\": \"ca\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`No és permès d'usar el caràcter \"{char}\" en un nom.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" no és un nom permès.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" no és vàlid com a nom de carpeta.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no és vàlid com a nom de carpeta'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" és un mot reservat i no està permès com a nom.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [`\"/\" no està permès en el nom d'una carpeta.`] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n conflicte de fitxers\", \"%n conflictes de fitxers\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n onflicte de fitxers a {dirname}\", \"%n conflictes de fitxers a {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tots els fitxers\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancel·lar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancel·lar tota l'operació\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Tria\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Tria {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Tria %n fitxer\", \"Tria %n fitxers\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirma\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copia\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copia a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No s'ha pogut crear la carpeta nova\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No es poden carregar fitxers de configuració\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No es poden carregar fitxers de vistes\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crea un directori\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de visualització actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Escriviu el vostre nom\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versió existent\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"No s'ha pogut desar el sobrenom.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Preferits\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Els fitxers i les carpetes que marqueu com a favorits es mostraran aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Els fitxers i les carpetes recentment modificats es mostraran aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar llistat de fitxers\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nom de la carpeta no pot estar buit.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificació com a convidat\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inici\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si seleccioneu les dues versions, el fitxer entrant tindrà un número afegit al seu nom.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nom no vàlid.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data de l'última modificació desconeguda\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Data de modificació\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Desplaça\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Desplaça a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nom\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Els noms poden tenir com a màxim 64 caràcters.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Els noms no poden ser buits.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [`Els noms no poden acabar amb l'extensió \"{extension}\".`] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Els noms no poden començar amb un punt.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Crea\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Carpeta nova\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nom de la carpeta nova\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versió\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hi ha cap fitxer\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No s'ha trobat cap fitxer que coincideixi amb el filtre.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hi ha cap fitxer que coincideixi\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Si us plau, escriu un nom amb 2 caràcters com a mínim.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recents\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecciona totes les caselles de selecció\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecciona totes les entrades\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecciona tots els fitxers existents\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecciona tots els fitxers nous\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecciona l'entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecciona la fila per a {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Mida\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Omet %n fitxer\", \"Omet %n fitxers\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Omet aquest fitxer\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Entreu el nom\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfés\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Pugeu contingut o sincronitzeu-lo amb els vostres dispositius!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Quan es selecciona una carpeta entrant, també se sobreescriuran els fitxers que hi entrin en conflicte.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quan es selecciona una carpeta entrant, el contingut s'escriu a la carpeta existent i es realitza una resolució recursiva de conflictes.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quins fitxers voleu conservar?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Actualment se us mostra com a {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Actualment no esteu identificat.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"No podeu deixar el nom buit.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Heu de triar com a mínim una solució de conflicte\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Heu de seleccionar com a mínim una versió de cada fitxer per continuar.\"] }] }, { \"language\": \"cs_CZ\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"znak „{char}“ není možné použít uvnitř názvu složky.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}“ není možné použít uvnitř názvu.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}“ není možné použít jako název.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ je vyhrazeným názvem a není možné ho používat pro názvy složek.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}“ je vyhrazeným názvem a není možné ho použít.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n kolize souboru\", \"%n kolize souborů\", \"%n kolizí souborů\", \"%n kolize souborů\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n kolize souborů v {dirname}\", \"%n kolize souborů v {dirname}\", \"%n kolizí souborů v {dirname}\", \"%n kolize souborů v {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Veškeré soubory\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Storno\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Zrušit celou operaci\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Zvolit\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Zvolit {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Zvolte %n soubor\", \"Zvolte %n soubory\", \"Zvolte %n souborů\", \"Zvolte %n soubory\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdit\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Pokračovat\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Zkopírovat\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Zkopírovat do {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Novou složku se nepodařilo vytvořit\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepodařilo se načíst nastavení pro soubory\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepodařilo se načíst pohledy souborů\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Vytvořit složku\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Výběr stávajícího zobrazení\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Zadejte své jméno\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Existující verze\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nepodařilo se nastavit přezdívku.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Oblíbené\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Zde se zobrazí soubory a složky, které označíte jako oblíbené.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Zde se zobrazí soubory a složky, které jste nedávno pozměnili.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrovat seznam souborů\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Názvy složek nemohou končit na „{extension}“.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikace hosta\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Domů\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Pokud vyberete obě verze, pak k názvu příchozího souboru bude přidáno číslo.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Neplatný název složky.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Neplatný název.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum poslední změny neznámé\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Změněno\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Přesounout\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Přesunout do {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Název\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Je třeba, aby délka jmen nepřesahovala 64 znaků.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Názvy je třeba vyplnit.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Názvy nemohou končit na „{extension}“.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Názvy nemohou začínat tečkou.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nové\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nová složka\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Název pro novou složku\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nová verze\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nejsou zde žádné soubory\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenalezeny žádné soubory odpovídající vašemu filtru\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Žádné odpovídající soubory\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Zadejte jméno dlouhé alespoň 2 znaky.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedávné\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Vybrat všechny zaškrtávací kolonky\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vybrat všechny položky\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vybrat všechny existující soubory\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vybrat všechny nové soubory\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vybrat položku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vybrat řádek pro {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Velikost\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Přeskočit %n soubor\", \"Přeskočit %n soubory\", \"Přeskočit %n souborů\", \"Přeskočit %n soubory\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Přeskočit tento soubor\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Odeslat jméno\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Zpět\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Nahrajte sem nějaký obsah nebo proveďte synchronizaci se svými zařízeními!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Pokud je vybrána příchozí složka, budou v ní také přepsány jakékoli kolidující soubory.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Když je vybrána příchozí složka, jakékoli soubory v ní budou také přepsány.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Pokud je vybrána příchozí složka, je obsah zapsán do existující složky a je provedeno rekurzivní vyřešení kolizí.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Které soubory chcete ponechat?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"V tuto chvíli jste identifikováni jako {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"V tuto chvíli nejste identifikovaní.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Jméno nelze ponechat nevyplněné.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Je třeba zvolit alespoň jedno z řešení kolize\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru.\"] }] }, { \"language\": \"da\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" er ikke tilladt i et navn.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" er ikke tilladt i et navn.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" er et ugyldigt mappenavn.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" er ikke et tilladt mappenavn'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" er et reserveret navn og er derfor ikke tilladt.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" er ikke tilladt i et mappenavn.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n filkonflikt\", \"%n filer konflikter\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n filkonflikt i {dirname}\", \"%n filkonflikter i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle filer\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Fortryd\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annullér hele operationen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Vælg\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vælg {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vælg %n fil\", \"Vælg %n filer\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekræft\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsæt\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopier\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopier til {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunne ikke oprette den nye mappe\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Filindstillingerne kunne ikke indlæses\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunne ikke indlæse filvisninger\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Opret mappe\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuel visningsvælger\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Indtast dit navn\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Eksisterende version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Forsøg på at gemme kaldenavn mislykkedes.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritter\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer og mapper, du markerer som foretrukne, vises her.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer og mapper, du for nylig har ændret, vises her.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer fil liste\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mappenavnet må ikke være tomt.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gæsteidentifikation\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Hjem\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Hvis du vælger begge versioner, vil den indkommende fil have et nummer tilføjet til sit navn.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ugyldigt navn.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Senest ændret dato ukendt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ændret\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Flyt\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flyt til {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Navn\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Navne kan højst være 64 tegn lange.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Navne kan ikke være tomt.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Navne må ikke ende på \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Navne skal starte med et punktum.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mappe\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ny mappe navn\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Ny version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Ingen filer here\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Der blev ikke fundet nogen filer, der matcher dit filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ingen matchende filer\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Indtast et navn med mindst 2 tegn.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Seneste\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Markér alle afkrydsningsfelter\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vælg alle poster\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vælg alle eksisterende filer\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vælg alle nye filer\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vælg post\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vælg rækken for {nodenavn}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Størelse\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Spring %n fil over\", \"Spring %n filer over\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Spring denne fil over\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Indsend navn\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Fortryd\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload noget indhold eller synkroniser med dine enheder!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Når en indkommende mappe er valgt, vil eventuelle modstridende filer i det også blive overskrevet.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Når en indkommende mappe er valgt, er indholdet skrevet ind i den eksisterende mappe og en rekursiv konfliktløsning udføres.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hvilke filer vil du have?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du er i øjeblikket identificeret som {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du er ikke identificeret.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kan ikke efterlade navnet tomt.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Du skal vælge mindst én konfliktløsning\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du skal vælge mindst én version af hver fil for at fortsætte.\"] }] }, { \"language\": \"de\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Ordnernamens nicht zulässig.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Namens nicht zulässig.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ist kein zulässiger Name.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig für Ordnernamen.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n Dateikonflikt\", \"%n Dateikonflikte\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n Dateikonflikt in {dirname}\", \"%n Dateikonflikte in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle Dateien\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Abbrechen\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Den gesamten Vorgang abbrechen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Auswählen\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} auswählen\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n Datei auswählen\", \"%n Dateien auswählen\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bestätigen\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsetzen\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopieren\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Nach {target} kopieren\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Der neue Ordner konnte nicht erstellt werden\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dateieinstellungen konnten nicht geladen werden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dateiansichten konnten nicht geladen werden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Verzeichnis erstellen\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuelle Ansichtsauswahl\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Gib deinen Namen ein\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Vorhandene Version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Spitzname konnte nicht gespeichert werden.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien und Ordner, die du als Favorit markierst, werden hier angezeigt.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien und Ordner, die du kürzlich geändert hast, werden hier angezeigt.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dateiliste filtern\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Ordnernamen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gast-Identifikation\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ungültiger Ordnername.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ungültiger Name.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum der letzten Änderung unbekannt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Geändert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Verschieben\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Nach {target} verschieben\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namen dürfen maximal 64 Zeichen lang sein.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namen dürfen nicht leer sein.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namen dürfen nicht mit einem Punkt beginnen.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Neuer Ordner\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Neuer Ordnername\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Neue Version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Hier sind keine Dateien\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Es wurden keine Dateien gefunden, die deinem Filter entsprechen.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Keine passenden Dateien\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Bitte einen Namen mit mindestens zwei Zeichen eingeben.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Neueste\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Alle Kontrollkästchen aktivieren\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle Einträge auswählen\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Alle vorhandenen Dateien auswählen\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Alle neuen Dateien auswählen\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Eintrag auswählen\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Die Zeile für {nodename} auswählen.\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Größe\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n Datei überspringen\", \"%n Dateien überspringen\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Diese Datei überspringen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Namen senden\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Rückgängig machen\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lade Inhalte hoch oder synchronisiere diese mit deinen Geräten!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welche Dateien sollen behalten werden?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du bist derzeit als {nickname} identifiziert.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du bist momentan nicht identifiziert.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kannst den Namen nicht leer lassen.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Es muss mindestens eine Konfliktlösung gewählt werden\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren.\"] }] }, { \"language\": \"de_DE\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Ordnernamens nicht zulässig.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" ist innerhalb eines Namens nicht zulässig.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ist kein zulässiger Name.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig für Ordnernamen.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" ist ein reservierter Name und nicht zulässig.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n Dateikonflikt\", \"%n Dateikonflikte\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n Dateikonflikt in {dirname}\", \"%n Dateikonflikte in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle Dateien\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Abbrechen\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Den gesamten Vorgang abbrechen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Auswählen\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} auswählen\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n Datei auswählen\", \"%n Dateien auswählen\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bestätigen\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsetzen\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopieren\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Nach {target} kopieren\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Der neue Ordner konnte nicht erstellt werden\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dateieinstellungen konnten nicht geladen werden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dateiansichten konnten nicht geladen werden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Verzeichnis erstellen\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuelle Ansichtsauswahl\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Geben Sie Ihren Namen ein\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Vorhandene Version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Spitzname konnte nicht gespeichert werden.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien und Ordner, die Sie als Favorit markieren, werden hier angezeigt.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien und Ordner, die Sie kürzlich geändert haben, werden hier angezeigt.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dateiliste filtern\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Ordnernamen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gast-Identifikation\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ungültiger Ordnername.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ungültiger Name.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum der letzten Änderung unbekannt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Geändert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Verschieben\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Nach {target} verschieben\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namen dürfen maximal 64 Zeichen lang sein.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namen dürfen nicht leer sein.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namen dürfen nicht mit \"{extension}\" enden.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namen dürfen nicht mit einem Punkt beginnen.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Neuer Ordner\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Neuer Ordnername\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Neue Version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Hier sind keine Dateien\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Es wurden keine Dateien gefunden, die Ihrem Filter entsprechen.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Keine passenden Dateien\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Bitte einen Namen mit mindestens zwei Zeichen eingeben.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Neueste\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Alle Kontrollkästchen aktivieren\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle Einträge auswählen\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Alle vorhandenen Dateien auswählen\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Alle neuen Dateien auswählen\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Eintrag auswählen\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Die Zeile für {nodename} auswählen.\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Größe\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n Datei überspringen\", \"%n Dateien überspringen\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Diese Datei überspringen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Namen senden\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Rückgängig machen\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Laden Sie Inhalte hoch oder synchronisieren Sie diese mit Ihren Geräten!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien überschrieben.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welche Dateien sollen behalten werden?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sie sind derzeit als {nickname} identifiziert.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Sie sind momentan nicht identifiziert.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Sie können den Namen nicht leer lassen.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Es muss mindestens eine Konfliktlösung gewählt werden\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren.\"] }] }, { \"language\": \"el\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"Το «{char}» δεν επιτρέπεται μέσα σε όνομα φακέλου.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" δεν επιτρέπεται μέσα σε ένα όνομα.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" δεν είναι επιτρεπτό όνομα.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"Το «{segment}» είναι ένα δεσμευμένο όνομα και δεν επιτρέπεται για ονόματα φακέλων.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" είναι ένα δεσμευμένο όνομα και δεν επιτρέπεται.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n σύγκρουση αρχείου\", \"%n σύγκρουση αρχείων\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n σύγκρουση αρχείου στο {dirname}\", \"%n σύγκρουση αρχείων στο {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Όλα τα αρχεία\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Ακύρωση\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Ακύρωση όλης της διαδικασίας\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Επιλογή\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Επιλέξτε {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Επιλέξτε %n αρχείο\", \"Επιλέξτε %n αρχεία\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Επιβεβαίωση\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Συνέχεια\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Αντιγραφή\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Αντιγραφή στο {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Αδυναμία δημιουργίας νέου φακέλου\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Αδυναμία φόρτωσης ρυθμίσεων αρχείων\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Αδυναμία φόρτωσης προβολών αρχείων\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Δημιουργία καταλόγου\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Επιλογέας τρέχουσας προβολής\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Εισάγετε το όνομά σας\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Υφιστάμενη έκδοση\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Αποτυχία στην ρύθμιση του ψευδώνυμου.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Αγαπημένα\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Τα αρχεία και οι φάκελοι που επισημάνετε ως αγαπημένα θα εμφανίζονται εδώ.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Τα αρχεία και οι φάκελοι που τροποποιήσατε πρόσφατα θα εμφανίζονται εδώ.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Φιλτράρισμα λίστας αρχείων\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Τα ονόματα των φακέλων δεν πρέπει να τελειώνουν με «{extension}».\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Ταυτοποίηση επισκέπτη\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Αρχική\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Εάν επιλέξετε και τις δύο εκδόσεις, στο όνομα του εισερχόμενου αρχείου θα προστεθεί ένας αριθμός.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Μη έγκυρο όνομα φακέλου.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Μη έγκυρο όνομα.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Άγνωστη ημερομηνία τελευταίας τροποποίησης\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Τροποποιήθηκε\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Μετακίνηση\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Μετακίνηση στο {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Όνομα\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Τα ονόματα μπορούν να έχουν μέγιστο μήκος 64 χαρακτήρες.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Τα ονόματα δεν πρέπει να είναι κενά.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Τα ονόματα δεν πρέπει να τελειώνουν με \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Τα ονόματα δεν πρέπει να ξεκινούν με τελεία.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Νέο\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Νέος φάκελος\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Όνομα νέου φακέλου\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Νέα έκδοση\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Δεν υπάρχουν αρχεία εδώ\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Δεν βρέθηκαν αρχεία που να ταιριάζουν με το φίλτρο σας.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Κανένα αρχείο δεν ταιριάζει\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Παρακαλώ εισάγετε ένα όνομα με τουλάχιστον 2 χαρακτήρες.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Πρόσφατα\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Επιλέξτε όλα τα πλαίσια ελέγχου\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Επιλογή όλων των καταχωρήσεων\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Επιλογή όλων των υπάρχοντων αρχείων\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Επιλογή όλων των νέων αρχείων\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Επιλογή εγγραφής\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Επιλέξτε τη γραμμή για το {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Μέγεθος\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Παράλειψη ενός αρχείου\", \"Παράλειψη %n αρχείων\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Παράλειψη αυτού το αρχείου\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Υποβολή ονόματος\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Αναίρεση\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Ανεβάστε κάποιο περιεχόμενο ή συγχρονίστε με τις συσκευές σας!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Όταν επιλέγεται ένας φάκελος εισερχομένων, όλα τα αρχεία που βρίσκονται σε σύγκρουση μέσα σε αυτόν θα αντικατασταθούν επίσης.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Όταν επιλέγεται ένας φάκελος εισερχομένων, το περιεχόμενο εγγράφεται στον υπάρχοντα φάκελο και εκτελείται μια αναδρομική επίλυση σύγκρουσης.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Ποια αρχεία θέλετε να διατηρήσετε;\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Αυτή τη στιγμή έχετε αναγνωριστεί ως {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Δεν έχετε ταυτοποιηθεί.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Δεν μπορείτε να αφήσετε το όνομα κενό.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Πρέπει να επιλέξετε τουλάχιστον μία λύση σύγκρουσης\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Πρέπει να επιλέξετε τουλάχιστον μία έκδοση από κάθε αρχείο για να συνεχίσετε.\"] }] }, { \"language\": \"en_GB\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" is not allowed inside a folder name.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" is not allowed inside a name.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" is not an allowed name.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" is a reserved name and cannot be used for folder names.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" is a reserved name and not allowed.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n file conflict\", \"%n files conflict\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n file conflict in {dirname}\", \"%n file conflicts in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"All files\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancel\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancel the entire operation\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Choose\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Choose {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Choose %n file\", \"Choose %n files\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirm\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continue\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copy\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copy to {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Could not create the new folder\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Could not load files settings\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Could not load files views\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Create directory\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Current view selector\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Enter your name\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Existing version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Failed to set nickname.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favourites\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Files and folders you mark as favourite will show up here.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Files and folders you recently modified will show up here.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter file list\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Folder names must not end with \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Guest identification\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"If you select both versions, the incoming file will have a number added to its name.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Invalid folder name.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Invalid name.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Last modified date unknown\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modified\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Move\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Move to {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Names may be at most 64 characters long.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Names must not be empty.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Names must not end with \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Names must not start with a dot.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"New\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"New folder\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"New folder name\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"New version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No files in here\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No files matching your filter were found.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No matching files\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Please enter a name with at least 2 characters.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recent\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Select all checkboxes\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Select all entries\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Select all existing files\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Select all new files\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Select entry\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Select the row for {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Size\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Skip %n file\", \"Skip %n files\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Skip this file\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Submit name\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Undo\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload some content or sync with your devices!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"When an incoming folder is selected, any conflicting files within it will also be overwritten.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"When an incoming folder is selected, any files within it will also be overwritten.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Which files do you want to keep?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"You are currently identified as {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"You are currently not identified.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"You cannot leave the name empty.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"You need to choose at least one conflict solution\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"You need to select at least one version of each file to continue.\"] }] }, { \"language\": \"es\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" no está permitido dentro de un nombre.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" no es un nombre permitido.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" es un nombre de carpeta no válido.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no es un nombre de carpeta permitido'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" es un nombre reservado y no está permitido.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no está permitido dentro del nombre de una carpeta.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Seleccionar\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Seleccionar {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Elige %n archivo\", \"Elige %n archivos\", \"Seleccione %n archivos\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudieron cargar los ajustes de archivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear directorio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ingrese su nombre\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Fallo al establecer apodo.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nombre de la carpeta no puede estar vacío.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificación de invitado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nombre inválido.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Los nombres no deben estar vacíos.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Los nombres no deben terminar con \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Los nombres no deben iniciar con un punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\" Nueva carpeta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nuevo nombre de carpeta\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidiesen con su filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Por favor, ingrese un nombre con al menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar nombre\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Cargue algún contenido o sincronice con sus dispositivos!\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Ud. se encuentra identificado actualmente como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Ud. no se encuentra identificado actualmente.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"No puede dejar el nombre vacío.\"] }] }, { \"language\": \"es_AR\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" es un nombre de carpeta inválido.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no es un nombre de carpeta permitido'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no está permitido en el nombre de una carpeta.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Elegir\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Elija {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Elija %n archivo\", \"Elija %n archivos\", \"Elija %n archivos\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudo cargar la configuración de archivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear directorio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nombre de la carpeta no puede estar vacío.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nueva carpeta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nombre de nueva carpeta\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidan con su filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Cargue algún contenido o sincronice con sus dispositivos!\"] }] }, { \"language\": \"es_MX\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" no está permitido dentro de un nombre de carpeta'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" no está permitido dentro de un nombre'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" no es un nombre permitido'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" es un nombre reservado y no está permitido para nombres de carpetas'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" es un nombre reservado y no está permitido'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n conflicto de archivo\", \"%n conflicto de archivos\", \"%n conflicto de archivos\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n conflicto de archivo en {dirname}\", \"%n conflictos de archivo en {dirname}\", \"%n conflictos de archivo en {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar la operación completa\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Seleccionar\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Seleccionar {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Seleccionar %n archivo\", \"Seleccionar %n archivos\", \"Seleccionar %n archivos\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudo cargar la configuración de archivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear carpeta\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ingresa tu nombre\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"No se pudo establecer el nickname\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Los nombres para carpeta no deben terminar con \"{extension}\"'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificación de invitado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si seleccionas ambas versiones, se le agregará al archivo que se está descargando, un número a su nombre.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nombre de carpeta no válido\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nombre no válido\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Última fecha de modificación desconocida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Los nombres pueden tener como máximo 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Los nombres no deben estar vacíos.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Los nombres no deben terminar con \"{extension}\"'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Los nombres no deben comenzar con un punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nueva carpeta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nombre de nueva carpeta\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Versión nueva\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidan con su filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Por favor ingrese un nombre con al menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleccione todas las casillas de verificación\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccione todos los archivos que aparecen\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccione todos los archivos nuevos\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Omitir %n archivo\", \"Omitir %n archivos\", \"Omitir %n archivos\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Omitir este archivo\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar nombre\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Suba algún contenido o sincronice con sus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cuando se selecciona una carpeta en descarga, cualquier archivo conflictivo que contenga también se sobrescribirá.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cuando se selecciona una carpeta en descarga, el contenido se escribe en la carpeta existente y se realiza una resolución de conflicto recursiva.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"¿Qué archivos deseas conservar?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Actualmente estás identificado como {nickname}\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"No estás identificado actualmente.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"No puedes dejar el nombre vacío.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Necesitas elegir al menos una solución al conflicto.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Necesitas seleccionar al menos una versión de cada archivo para continuar.\"] }] }, { \"language\": \"et_EE\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"„{char}“ pole kausta nimes lubatud.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}“ pole nimes lubatud.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}“ pole lubatud nimi.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ on reserveeritud nimi ja pole kausta nimes lubatud.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}“ on reserveeritud nimi ja pole kasutamiseks lubatud.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n fail on vastuolus\", \"%n faili on omavahel vastuolus\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n fail on {dirname} kaustas vastuolus\", \"%n faili on omavahel {dirname} kaustas vastuolus\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Kõik failid\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Katkesta\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Katkesta kogu tegevus\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Tee valik\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vali {file} fail\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vali %n fail\", \"Vali %n faili\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Kinnita\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Jätka\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopeeri\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopeeri sihtkohta „{target}“\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Uue kausta loomine ei õnnestunud\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Failide seadistusi ei õnnestunud laadida\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Failide vaatamiskordi ei õnnestunud laadida\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Loo kaust\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Praeguse vaate valija\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Sisesta oma nimi\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Olemasolev versioon\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Hüüdnime sisestamine ei õnnestunud.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Lemmikud\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Failid ja kaustad, mida märgid lemmikuks, kuvatakse siin.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Siin kuvatakse hiljuti muudetud failid ja kaustad.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtreeri faililoendit\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Kausta nime lõpus ei tohi olla „{extension}“.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Külalise tuvastamine\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Avaleht\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Kui valid mõlemad versioonid, siis uue faili nimele lisatakse number.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Vigane kausta nimi.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Vigane nimi.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Viimase muutmise kuupäev pole teada\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Muudetud\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Teisalda\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Teisalda kausta „{target}“\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nimi\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nimed võivad olla vaid kuni 64 tähemärki pikad.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nimi ei saa olla tühi.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Nime lõpus ei tohi olla „{extension}“.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nime alguses ei tohi olla punkti.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Uus\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Uus kaust\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Uue kausta nimi\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Uus versioon\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Siin pole faile\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Sinu filtrile vastavaid faile ei leidunud.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Puuduvad sobivad failid\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Palun sisesta vähemalt 2 tähemärki pikk nimi.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Hiljutine\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Vali kõik märkeruudud\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vali kõik kirjed\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vali kõik olemasolevad failid\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vali kõik uued failid\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vali kirje\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vali rida „{nodename}“ jaoks\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Suurus\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Jäta %n fail vahele\", \"Jäta %n faili vahele\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Jäta see fail vahele\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Lisa nimi\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Tühista\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lisa mingit sisu või sünkrooni see oma seadmetest!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Kui uute failide kaust on valitud, siis kõik seal leiduvad vastuolus failid saavad üle kirjutatud.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Kui uute (saabuvate) failide kaust on valitud, siis kõik seal leiduvad failid saavad samuti üle kirjutatud.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Kui uute failide kaust on valitud, siis sisu kirjutatakse olemasolevasse kausta ja korraldatakse rekursiivne failikonfliktide lahendamine.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Missugused failid tahaksid alles jätta?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sa oled hetkel tuvastatav kui {nickname}..\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Sa oled hetkel tuvastamata.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Sa ei saa jätta nime tühjaks.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Sa pead valima vähemalt ühe failikonflikti lahenduse.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Jätkamaks pead valima igast failist vähemalt ühe versiooni.\"] }] }, { \"language\": \"fa\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} نام پوشه معتبر نیست\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} نام پوشه مجاز نیست\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" نمی‌تواند در نام پوشه استفاده شود.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"همه فایل‌ها\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"لغو\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"انتخاب\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"انتخاب {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"انتخاب %n فایل\", \"انتخاب %n فایل\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"رونوشت\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"رونوشت از {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"پوشه جدید ایجاد نشد\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"تنظیمات فایل باز نشد\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"نمای فایل‌ها بارگیری نشد\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"ایجاد فهرست\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"انتخابگر نماگر فعلی\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"نام خود را وارد کنید\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"تنظیم نام مستعار ناموفق بود.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"علایق\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"فایل‌ها و پوشه‌هایی که به‌عنوان مورد علاقه علامت‌گذاری می‌کنید در اینجا نشان داده می‌شوند.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"فایل‌ها و پوشه‌هایی که اخیراً تغییر داده‌اید در اینجا نمایش داده می‌شوند.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"فیلتر لیست فایل\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"نام پوشه نمی تواند خالی باشد.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"شناسایی مهمان\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"خانه\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"اصلاح شده\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"انتقال\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"انتقال به {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"نام\"] }, { \"msgid\": \"New\", \"msgstr\": [\"جدید\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"پوشه جدید\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"نام پوشه جدید\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"فایلی اینجا نیست\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"هیچ فایلی مطابق با فیلتر شما یافت نشد.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"فایل منطبقی وجود ندارد\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"لطفاً نامی با حداقل ۲ کاراکتر وارد کنید.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"اخیر\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"انتخاب همه ورودی ها\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"انتخاب ورودی\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"انتخاب ردیف برای {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"اندازه\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"ارسال نام\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"بازگردانی\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"مقداری محتوا آپلود کنید یا با دستگاه های خود همگام سازی کنید!\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"شما در حال حاضر شناسایی نشده‌اید.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"نمی‌توانید نام را خالی بگذارید.\"] }] }, { \"language\": \"fi_FI\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" ei ole sallittu nimessä.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ei ole sallittu nimi.'] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" on virheellinen kansion nimi.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" ei ole sallittu kansion nimi'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" on varattu nimi eikä se ole sallittu.'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ei ole sallittu kansion nimessä.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Kaikki tiedostot\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Peruuta\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Valitse\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Valitse {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Valitse %n tiedosto\", \"Valitse %n tiedostoa\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopioi\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopioi sijaintiin {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Uutta kansiota ei voitu luoda\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tiedoston asetuksia ei saa ladattua\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tiedoston näkymiä ei saa ladattua\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Luo kansio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Nykyisen näkymän valinta\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Kirjoita nimesi\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kutsumanimen asettaminen epäonnistui.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Suosikit\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tiedostot ja kansiot, jotka merkitset suosikkeihisi, näkyvät täällä.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Tiedostot ja kansiot, joita muokkasit äskettäin, näkyvät täällä.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Suodata tiedostolistaa\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Kansion nimi ei voi olla tyhjä.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Vieraan tunnistaminen\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Koti\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Virheellinen nimi.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Muokattu\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Siirrä\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Siirrä sijaintiin {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nimi\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nimissä voi olla enintään 64 merkkiä.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nimet eivät saa olla tyhjiä.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nimet eivät saa päättyä sanaan \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nimet eivät saa alkaa pisteellä.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Uusi\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Uusi kansio\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Uuden kansion nimi\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Täällä ei ole tiedostoja\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Suodatinta vastaavia tiedostoja ei löytynyt.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ei vastaavia tiedostoja\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Kirjoita vähintään kaksi merkkiä sisältävä nimi.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Viimeisimmät\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Valitse kaikki tietueet\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Valitse tietue\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Valitse rivi {nodename}:lle\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Koko\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Lähetä nimi\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Kumoa\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lähetä jotain sisältöä tai synkronoi laitteidesi kanssa!\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sinut tunnetaan tällä hetkellä nimellä {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Sinua ei ole tunnistettu.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Nimeä ei voi jättää tyhjäksi.\"] }] }, { \"language\": \"fr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [`\"{char}\" n'est pas autorisé dans un nom de dossier.`] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`\"{char}\" n'est pas autorisé dans un nom.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [`\"{extension}\" n'est pas un nom autorisé.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [`\"{segment}\" est un nom réservé et n'est pas autorisé pour un nom de dossier.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [`\"{segment}\" est un nom réservé et n'est pas autorisé.`] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n conflit de fichier\", \"%n conflit de fichiers\", \"%n conflit de fichiers\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%nconflit de fichier dans {dirname}\", \"%n conflit de fichiers dans {dirname}\", \"%nconflit de fichiers dans {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tous les fichiers\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Annuler\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Tout annuler \"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Choisir\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Choisir {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Choisir %n fichier\", \"Choisir %n fichiers\", \"Choisir %n fichiers \"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmer\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuer\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copier\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copier vers {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Impossible de créer le nouveau dossier\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Les paramètres des fichiers n'ont pas pu être chargés\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Impossible de charger les vues des fichiers\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Créer un répertoire\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Sélecteur d'affichage actuel\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Entrez votre nom\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Version actuelle \"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Échec de définition du surnom.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoris\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Les fichiers et répertoires marqués en favoris apparaîtront ici.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Les fichiers et répertoires modifiés récemment apparaîtront ici.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer la liste des fichiers\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Les noms de dossiers ne doivent pas se terminer par \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identification d'invité\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Accueil\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si vous conservez les deux versions, le fichier reçu sera renommé avec un numéro.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nom de dossier invalide.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nom invalide.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Date de modification inconnue\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modifié\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Déplacer\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Déplacer vers {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nom\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Les noms peuvent comporter au maximum 64 caractères.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Les noms ne peuvent pas être vides.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Les noms ne doivent pas se terminer par \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Les noms ne peuvent pas commencer par un point.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nouveau\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nouveau dossier\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nom du nouveau dossier\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nouvelle version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Aucun fichier ici\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Aucun fichier trouvé correspondant à votre filtre.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Aucun fichier correspondant\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Veuillez entrer un nom avec au moins 2 caractères.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Récents\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Sélectionner toutes les cases à cocher\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Tout sélectionner\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Sélectionner tous les fichiers existants\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Sélectionner tous les nouveaux fichiers\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Sélectionner une entrée\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Sélectionner la ligne correspondant à {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Taille\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Ignorer %n fichier\", \"Ignorer %n fichiers \", \"Ignorer %n fichiers \"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ignorer ce fichier\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Envoyer le nom\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Annuler\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Chargez du contenu ou synchronisez avec vos équipements !\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"En sélectionnant un dossier entrant, les fichiers en conflit qu’il contient seront automatiquement écrasés.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Suite à la sélection d'un dossier en entrée, tout fichier présent dans ce dossier sera alors écrasé. \"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Lorsque vous sélectionnez un dossier entrant, son contenu est ajouté au dossier existant et les conflits sont résolus automatiquement.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quels fichiers souhaitez-vous conserver ?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Vous êtes actuellement identifié comme {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Vous n'êtes pas identifié actuellement.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Vous ne pouvez pas laisser le nom vide.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Vous devez choisir au moins une option pour résoudre le conflit\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Sélectionnez au moins une version de chaque fichier pour continuer.\"] }] }, { \"language\": \"ga\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [`Ní cheadaítear \"{char}\" laistigh d'ainm fillteáin.`] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`Ní cheadaítear \"{char}\" laistigh d'ainm.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['Ní ainm ceadaithe é \"{extension}\".'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [`Is ainm curtha in áirithe é \"{segment}\" agus ní cheadaítear é d'ainmneacha fillteán.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['Is ainm curtha in áirithe é \"{segment}\" agus ní cheadaítear é.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n coimhlint comhaid\", \"%n coimhlint comhad\", \"%n coimhlint comhad\", \"%n coimhlint comhad\", \"%n coimhlint comhad\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n coimhlint comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\", \"%n coimhlintí comhaid i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Gach comhad\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cealaigh\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cealaigh an oibríocht ar fad\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Roghnaigh\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Roghnaigh {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Roghnaigh %n comhad\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Deimhnigh\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Lean ar aghaidh\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Cóip\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Cóipeáil chuig {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Níorbh fhéidir an fillteán nua a chruthú\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Níorbh fhéidir socruithe comhaid a lódáil\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Níorbh fhéidir radhairc comhad a lódáil\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Cruthaigh eolaire\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Roghnóir amhairc reatha\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Cuir isteach d'ainm\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Leagan atá ann cheana féin\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Theip ar leasainm a shocrú.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Ceanáin\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Taispeánfar comhaid agus fillteáin a mharcálann tú mar is fearr leat anseo.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Taispeánfar comhaid agus fillteáin a d'athraigh tú le déanaí anseo.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Scag liosta comhad\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Ní féidir ainmneacha fillteán a chríochnú le \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Aitheantas aoi\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Baile\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Má roghnaíonn tú an dá leagan, cuirfear uimhir le hainm an chomhaid atá ag teacht isteach.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ainm fillteáin neamhbhailí.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ainm neamhbhailí.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Dáta an athraithe dheireanaigh anaithnid\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Athraithe\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Bog\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Bog go{target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ainm\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Ní fhéadfaidh ainmneacha a bheith níos mó ná 64 carachtar ar fhad.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ní féidir ainmneacha a bheith folamh.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Ní féidir ainmneacha a chríochnú le \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ní mór ainmneacha a bheith ag tosú le ponc.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nua\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Fillteán nua\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ainm fillteáin nua\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Leagan nua\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Níl aon chomhaid istigh anseo\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Níor aimsíodh aon chomhad a tháinig le do scagaire.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Gan comhaid meaitseála\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Cuir isteach ainm ina bhfuil 2 charachtar ar a laghad.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"le déanaí\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Roghnaigh na boscaí seiceála go léir\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Roghnaigh gach iontráil\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Roghnaigh na comhaid uile atá ann cheana\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Roghnaigh gach comhad nua\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Roghnaigh iontráil\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Roghnaigh an ró do {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Méid\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Léim %n comhad\", \"Léim %n comhaid\", \"Léim %n comhaid\", \"Léim %n comhaid\", \"Léim %n comhaid\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Scipeáil an comhad seo\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Cuir isteach ainm\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Cealaigh\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Uaslódáil roinnt ábhair nó sioncronaigh le do ghléasanna!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, déanfar aon chomhaid choimhlinteacha ann a athscríobh freisin.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, déanfar aon chomhaid laistigh de a athscríobh freisin.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, scríobhtar an t-ábhar isteach sa fhillteán atá ann cheana féin agus déantar réiteach coinbhleachta athchúrsach.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Cé na comhaid ar mhaith leat a choinneáil?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Is é {nickname} an ainm atá ort faoi láthair.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Níl aitheantas tugtha duit faoi láthair.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ní féidir leat an t-ainm a fhágáil folamh.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Ní mór duit réiteach coinbhleachta amháin ar a laghad a roghnú\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Ní mór duit leagan amháin ar a laghad de gach comhad a roghnú le leanúint ar aghaidh.\"] }] }, { \"language\": \"gl\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"«{char}» non está permitido no nome dun cartafol.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"«{char}» non está permitido dentro dun nome.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"«{extension}» non é un nome permitido.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"«{segment}» é un nome reservado e non está permitido para nomes de cartafoles.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"«{segment}» é un nome reservado e non está permitido.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n ficheiro en conflito\", \"%n ficheiros en conflito\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n ficheiro en conflito en {dirname}\", \"%n ficheiros en conflito en {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos os ficheiros\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda a operación\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escoller\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escoller {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escoller %n ficheiro\", \"Escoller %n ficheiros\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar en {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Non foi posíbel crear o novo cartafol\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Non foi posíbel cargar os axustes dos ficheiros\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Non foi posíbel cargar as vistas dos ficheiros\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear un directorio\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Introduza o seu nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Produciuse un fallo ao definir o alcume.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os ficheiros e cartafoles que marque como favoritos aparecerán aquí.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Os ficheiros e cartafoles que modificou recentemente aparecerán aquí.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar a lista de ficheiros\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Os nomes de cartafol non deben rematar en «{extension}».\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificación do convidado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se selecciona ambas as versións, o ficheiro entrante terá un número engadido ao seu nome.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"O nome de cartafol non é válido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome incorrecto\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificación descoñecida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover cara a {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Os nomes poden ter unha lonxitude máxima de 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Os nomes non deben estar baleiros.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Os nomes non deben rematar en «{extension}».\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Os nomes non deben comezar cun punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Novo cartafol\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome do cartafol\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versión\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Aquí non hai ficheiros\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Non se atopou ningún ficheiro que coincida co filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Non hai ficheiros coincidentes\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Introduza un nome con polo menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleccionar todas as caixas\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas as entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccionar todos os ficheiros existentes\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccionar todos os ficheiros novos\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar a entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccionar a fila para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Omitir %n ficheiro\", \"Omitir %n ficheiros\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Omitir este ficheiro\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar o nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfacer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Enviar algún contido ou sincronizalo cos seus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cando se selecciona un cartafol entrante, todos os ficheiros conflitivos dentro dela tamén serán sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cando se selecciona un cartafol entrante, o contido escríbese no cartafol existente e realízase unha resolución recursiva de conflitos.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Que ficheiros quere conservar?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Vde. está identificado actualmente como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Vde. non está identificado actualmente.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Vde. non pode deixar o nome baleiro.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"É necesario escoller polo menos unha solución de conflito\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"É necesario seleccionar polo menos unha versión de cada ficheiro para continuar.\"] }] }, { \"language\": \"hr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"Znak „{char}” nije dopušten u nazivu mape.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"Znak „{char}” nije dopušten u nazivu.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" nije dopušten u nazivu.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" je rezervirana riječ i nije dopušten u nazivu mape.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" je rezervirana riječ i nije dopušten.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"Sukobljava se %n datoteka\", \"Sukobljava se %n datoteke\", \"Sukobljava se %n datoteke\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n sukob datoteka u {dirname}\", \"%n sukoba datoteka u {dirname}\", \"%n sukoba datoteka u {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Sve datoteke\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Odustani\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Odustani od cijele operacije\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Odaberi\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Odaberi {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Odaberi %n datoteku\", \"Odaberi %n datoteka\", \"Odaberi %n datoteke\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdi\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Nastavi\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiraj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiraj u {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nije moguće stvoriti novu mapu\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nije moguće učitati postavke datoteka\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nije moguće učitati prikaze datoteka\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Stvori mapu\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Odabir trenutačnog prikaza\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Unesite vaše ime\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Postojeća verzija\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Neuspjelo postavljanje nadimka.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Ovdje se prikazuju datoteke i mape koje ste označili kao favoriti.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Ovdje se prikazuju datoteke i mape koje ste nedavno ažurirali.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtriranje liste datoteka\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nazivi mapa ne smiju završiti sa \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikacija gosta\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Naslovna\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ako odaberete obje verzije, dolaznoj datoteci bit će dodan broj u nazivu.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Neispavan naziv mape.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Neispravan naziv.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Nepoznat datum zadnjeg ažuriranja\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ažurirano\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Premjesti\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Premjesti u {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Naziv\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nazivi mogu imati najviše 64 znaka.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nazivi ne smiju biti prazni.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nazivi ne smiju završiti sa \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nazivi ne smiju započinjati točkom.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova mapa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novi naziv mape\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova verzija\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Ovdje nema datoteka\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nisu pronađene datoteke koje odgovaraju vašem filtru.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nema odgovarajućih datoteka.\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Unesite naziv s najmanje 2 znaka.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedavno\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Označi sve potvrdne okvire\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Označi sve stavke\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Označi sve postojeće datoteke\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Označi sve nove datoteke\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Označi stavku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Označi red za{nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Veličina\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Preskoči %n datoteku\", \"Preskoči %n datoteke\", \"Preskoči %n datoteke\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Preskoči ovu datoteku\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Pošalji naziv\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Poništi\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Prenesite neki sadržaj ili sinkronizirajte sa svojim uređajima!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Kada je odabrana dolazna mapa, sve datoteke unutar nje koje su u sukobu također će biti prepisane.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Kada je odabrana dolazna mapa, sadržaj se upisuje u postojeću mapu i provodi se rekurzivno rješavanje sukoba.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Koje datoteke želite zadržati?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Trenutno ste identificirani kao {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Trenutno niste identificirani.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ne možete ostaviti naziv prazan.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Morate odabrati barem jedno rješenje sukoba\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Morate odabrati barem jednu verziju svake datoteke kako biste nastavili.\"] }] }, { \"language\": \"hu_HU\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"A(z) „{char}” nem engedélyezett egy mappanévben.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"A(z) „{char}” nem engedélyezett egy névben.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"A(z) „{extension}” nem engedélyezett név.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"A(z) „{segment}” foglalt név, és nem engedélyezett a mappanevekben.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"A(z) „{segment}” foglalt név, és nem engedélyezett.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n ütköző fájl\", \"%n ütköző fájl\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n ütköző fájl ebben: {dirname}\", \"%n ütköző fájl ebben: {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Összes fájl\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Mégse\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Egész művelet megszakítása\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Kiválasztás\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} kiválasztása\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n fájl kiválasztása\", \"%n fájl kiválasztása\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Megerősítés\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Folytatás\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Másolás\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Másolás ide: {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nem lehet létrehozni az új mappát\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nem lehet betölteni a fájlok beállításait\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nem lehet betölteni a fájlok nézeteit\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Mappa létrehozása\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Jelenlegi nézet választója\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Adja meg a nevét\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Meglévő verzió\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nem sikerült a becenév beállítása.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Kedvencek\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"A kedvencként megjelölt fájlok és mappák itt jelennek meg.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"A nemrég módosított fájlok és mappák itt jelennek meg.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Fájllista szűrése\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"A mappanevek nem végződhetnek ezzel: „{extension}”.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Vendégazonosítás\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Kezdőlap\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ha mindkét verziót választja, akkor a bejövő fájl nevéhez egy szám lesz hozzáfűzve.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Érvénytelen mappanév.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Érvénytelen név.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Legutóbbi módosítás ideje ismeretlen\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Módosítva\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Áthelyezés\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Áthelyezés ide: {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Név\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"A nevek legfeljebb 64 karakter hosszúak lehetnek.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"A nevek nem lehetnek üresek.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"A nevek nem végződhetnek ezzel: „{extension}”.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"A nevek nem kezdődhetnek ponttal.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Új\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Új mappa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Új mappa neve\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Új verzió\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Itt nincsenek fájlok\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nincs a szűrési feltételeknek megfelelő fájl.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nincs ilyen fájl\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Legalább 2 karakteres nevet adjon meg.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Legutóbbi\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Összes jelölőmező bepipálása\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Összes bejegyzés kijelölése\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Összes meglévő fájl kijelölése\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Összes új fájl kijelölése\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Bejegyzés kijelölése\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Válasszon sort a következőnek: {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Méret\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n fájl kihagyása\", \"%n fájl kihagyása\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Fájl kihagyása\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Név beküldése\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Visszavonás\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Töltsön fel tartalmat, vagy szinkronizáljon az eszközeivel!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Ha egy bejövő mappa van kijelölve, akkor a benne lévő ütköző fájlok is felül lesznek írva.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Amikor egy bejövő mappát kiválaszt, a benne lévő fájlok is felülíródnak.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Ha egy bejövő mappa van kijelölve, akkor a tartalom a meglévő mappába lesz írva, és rekurzív ütközéskezelés lesz végezve.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Mely fájlokat akarja megtartani?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Jelenleg ekként van azonosítva: {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Jelenleg nincs azonosítva.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"A nevet nem hagyhatja üresen.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Legalább egy ütközéskezelési megoldást kell választania\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"A folytatáshoz az összes fájlnak legalább egy verzióját ki kell választania.\"] }] }, { \"language\": \"hy\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} սխալ թղթապանակի անվանում է\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} համարվում է անթույլատրելի թղթապանակի անվանում\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"/ չի թույլատրվում օգտագործել անվանման մեջ\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Բոլոր ֆայլերը\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Ընտրել\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Ընտրել {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Ընտրել %n ֆայլ\", \"Ընտրել %n ֆայլեր\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Պատճենել\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Պատճենել {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Չստացվեց ստեղծել նոր թղթապանակը\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Չստացվեց բեռնել ֆայլի կարգավորումները\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Չստացվեց բեռնել ֆայլերի դիտումները\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Ստեղծել դիրեկտորիա\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Ընթացիկ դիտման ընտրիչ\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Նախընտրելիներ\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք դուք նշել եք որպես նախընտրելիներ:\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք վերջերս փոխել եք:\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Ֆիլտրել ֆայլերի ցուցակը\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Թղթապանակի անունը չի կարող դատարկ լինել:\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Սկիզբ\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Փոփոխված\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Տեղափոխել\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Տեղափոխել {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Անուն\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Նոր\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Նոր թղթապանակ\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Նոր թղթապանակի անվանում\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Այստեղ չկան ֆայլեր\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Ձեր ֆիլտրին համապատասխանող ֆայլերը չեն գտնվել:\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Չկան համապատասխան ֆայլեր\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Վերջին\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Ընտրել բոլոր գրառումները\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Ընտրել բոլոր գրառումը\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Ընտրեք տողը {nodename}-ի համար \"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Չափ\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Ետարկել\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Ներբեռնեք որոշ բովանդակություն կամ համաժամացրեք այն ձեր սարքերի հետ:\"] }] }, { \"language\": \"id\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" tidak diizinkan di dalam nama folder.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" tidak diizinkan di dalam nama.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" bukan nama yang diizinkan.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" adalah nama yang dicadangkan dan tidak diizinkan untuk nama folder.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" adalah nama yang dicadangkan dan tidak diizinkan.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n konflik file\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n konflik file di {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Semua berkas\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Batal\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Batalkan seluruh operasi\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Pilih\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Pilih {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Pilih %n file\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Konfirmasi\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Lanjutkan\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Salin\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Salin ke {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Tidak dapat membuat folder baru\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tidak dapat memuat pengaturan file\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tidak dapat memuat tampilan file\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Buat direktori\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Pemilih tampilan saat ini\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Masukkan nama Anda\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versi yang ada\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Gagal menetapkan nama panggilan.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorit\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Berkas dan folder yang Anda tandai sebagai favorit akan muncul di sini.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Berkas dan folder yang Anda ubah baru-baru ini akan muncul di sini.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Saring daftar berkas\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nama folder tidak boleh diakhiri dengan \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikasi tamu\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Beranda\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jika Anda memilih kedua versi, file yang masuk akan ditambahkan angka pada namanya.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nama folder tidak valid.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nama tidak valid.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Tanggal modifikasi terakhir tidak diketahui\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Diubah\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Pindahkan\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Pindahkan ke {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nama\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Panjang nama maksimal 64 karakter.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nama tidak boleh kosong.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nama tidak boleh diakhiri dengan \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nama tidak boleh diawali dengan titik.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Baru\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Folder baru\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nama folder baru\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Versi baru\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Tidak ada berkas di sini\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Tidak ada berkas yang cocok dengan penyaringan Anda.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Tidak ada berkas yang cocok\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Silakan masukkan nama dengan minimal 2 karakter.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Terkini\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Pilih semua kotak centang\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Pilih semua entri\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Pilih semua file yang ada\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Pilih semua file baru\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Pilih entri\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Pilih baris untuk {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Ukuran\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Lewati %n file\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Lewati file ini\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Kirim nama\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Tidak jadi\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Unggah beberapa konten atau sinkronkan dengan perangkat Anda!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Saat folder yang masuk dipilih, semua file yang konflik di dalamnya juga akan ditimpa.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Saat folder yang masuk dipilih, konten ditulis ke dalam folder yang ada dan penyelesaian konflik rekursif dilakukan.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"File mana yang ingin Anda pertahankan?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Saat ini Anda teridentifikasi sebagai {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Saat ini Anda tidak teridentifikasi.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Anda tidak dapat membiarkan nama kosong.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Anda perlu memilih setidaknya satu solusi konflik\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Anda perlu memilih setidaknya satu versi dari setiap file untuk melanjutkan.\"] }] }, { \"language\": \"is\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" er ógilt möppuheiti.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" er ekki leyfilegt möppuheiti'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" er er ekki leyfilegt innan í skráarheiti.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Allar skrár\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Veldu\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Veldu {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Veldu %n skrá\", \"Veldu %n skrár\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Afrita\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Afrita í {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Get ekki búið til nýju möppuna\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tókst ekki að hlaða inn stillingum skráa\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tókst ekki að hlaða inn sýnum skráa\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Búa til möppu\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Núverandi val sýnar\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Eftirlæti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Skrár og möppur sem þú merkir sem eftirlæti birtast hér.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Skrár og möppur sem þú breyttir nýlega birtast hér.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Sía skráalista\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Möppuheiti má ekki vera tómt.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Heim\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Breytt\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Færa\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Færa í {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Heiti\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nýtt\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ný mappa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Heiti nýrrar möppu\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Engar skrár hér\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Engar skrár fundust sem passa við síuna.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Engar samsvarandi skrár\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nýlegt\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Velja allar færslur\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Velja færslu\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Veldu röðina fyrir {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Stærð\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Afturkalla\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Sendu inn eitthvað efni eða samstilltu við tækin þín!\"] }] }, { \"language\": \"it\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [`\"{char}\" non è consentito all'interno di un nome di cartella.`] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [`\"{char}\" non è consentito all'interno di un nome.`] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" non è un nome consentito'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" è un nome riservato e non consentito per i nomi delle cartelle.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" è un nome riservato e non consentito.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n file in conflitto\", \"%n file in conflitto\", \"%n file in conflitto\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n file in conflitto in {dirname}\", \"%n file in conflitto in {dirname}\", \"%n file in conflitto in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tutti i file\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Annulla\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annulla l'intera operazione\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Scegli\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Scegli {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Scegli %n file\", \"Scegli %n file\", \"Scegli %n file\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Conferma\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continua\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copia\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copia in {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Impossibile creare la nuova cartella\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Impossibile caricare le impostazioni dei file\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Impossibile caricare le visualizzazioni dei file\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Crea cartella\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selettore della vista attuale\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Inserisci il tuo nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versione esistente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Impossibile impostare lo pseudonimo.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Preferiti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"I file e le cartelle contrassegnate come preferite saranno mostrate qui.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"I file e le cartelle che hai modificato di recente saranno mostrate qui.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtra l'elenco dei file\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['I nomi delle cartelle devono finire con \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificazione ospiti\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se selezioni entrambe le versioni, al nome del file in arrivo verrà aggiunto un numero.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nome cartella non valido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome non valido.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data di ultima modifica sconosciuta\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificato\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Sposta\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Sposta in {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"I nomi dovrebbero avere una lunghezza massima di 64 caratteri.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"I nomi non devono essere vuoti.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['I nomi devono finire con \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"I nomi non possono iniziare con un punto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nuovo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nuova cartella\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nome della nuova cartella\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nuova versione\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nessun file qui\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nessun file che corrisponde al tuo filtro è stato trovato.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nessun file corrispondente\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Digita un nome con almeno 2 caratteri.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleziona tutte le caselle\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Scegli tutte le voci\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleziona tutti i file esistenti\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleziona tutti i nuovi file\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleziona la voce\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleziona la riga per {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Dimensioni\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Salta %n file\", \"Salta %n file\", \"Salta %n file\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Salta questo file\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Invia nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Annulla\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Carica qualche contenuto o sincronizza con i tuoi dispositivi!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Quando si seleziona una cartella in arrivo, anche tutti i file in conflitto al suo interno saranno sovrascritti.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Quando si seleziona una cartella in arrivo, anche i documenti all'interno verranno sovrascritti.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quando si seleziona una cartella in arrivo, il contenuto viene scritto nella cartella esistente e viene eseguita una risoluzione ricorsiva dei conflitti.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quali file vuoi conservare?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Sei attualmente identificato come {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Attualmente non sei identificato.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Non puoi lasciare il nome vuoto.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Devi scegliere almeno una soluzione al conflitto\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Per continuare, è necessario selezionare almeno una versione di ciascun file.\"] }] }, { \"language\": \"ja_JP\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['フォルダー名に \"{char}\" を使用することはできません。'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['名前に \"{char}\" を使用することはできません。'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" は許可された名前ではありません。'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" は予約名のため、使用できません。'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" は予約名のため、使用できません。'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%nファイルが競合しています\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%nディレクトリ{dirname}内のファイル競合\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"すべてのファイル\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"キャンセル\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"すべての操作をキャンセル\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"選択\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} を選択\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n 個のファイルを選択\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"確認\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"続行\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"コピー\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target} にコピー\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"新しいフォルダーを作成できませんでした\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"ファイル設定を読み込めませんでした\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"ファイルビューを読み込めませんでした\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"ディレクトリを作成\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"現在のビュー選択\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"名前を入力してください\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"現行バージョン\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"ニックネームの設定に失敗しました。\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"お気に入り\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"お気に入りとしてマークしたファイルとフォルダーがここに表示されます。\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"最近変更したファイルとフォルダーがここに表示されます。\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"ファイルのリストをフィルター\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['フォルダー名の末尾に \"{extension}\" を使用できません。'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"ゲスト識別\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"ホーム\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"両方のバージョンを選択した場合、受信ファイル名には番号が追加されます。\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"フォルダー名が無効です。\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"無効な名前です。\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"最終更新日不明\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"変更済み\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target} に移動\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名前\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"名前は最大64文字です。\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"名前は空にできません。\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['名前の末尾に \"{extension}\" を使用できません。'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"ドットで始まる名前は使用できません。\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新規作成\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新しいフォルダー\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新しいフォルダーの名前\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"新バージョン\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"ファイルがありません\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"フィルターに一致するファイルは見つかりませんでした。\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"一致するファイルはありません\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"名前は2文字以上を入力してください。\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"すべてのチェックボックスを選択\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"すべてのエントリを選択\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"既存のファイルをすべて選択\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"すべての新規ファイルを選択\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"エントリを選択\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} の行を選択\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"サイズ\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n 個のファイルをスキップ\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"このファイルをスキップ\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"名前を送信する\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"元に戻す\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"コンテンツをアップロードするか、デバイスと同期してください!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"受信フォルダーを選択すると、そのフォルダー内の競合ファイルも上書きされます。\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"受信フォルダを選択すると、その中のファイルも上書きされます。\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"受信フォルダーを選択すると、内容は既存のフォルダーに書き込まれ、再帰的な競合解決が実行されます。\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"どのファイルを残しますか?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"現在、{nickname}として識別されています。\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"現在あなたは識別されていません。\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"名前を空にすることはできません。\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"少なくとも1つの競合ソリューションを選択する必要があります\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"続行するには、各ファイルのバージョンを少なくとも1つ選択する必要があります。\"] }] }, { \"language\": \"ko\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"문자 '{char}'은(는) 폴더 이름에 사용할 수 없습니다.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"문자 '{char}'은(는) 이름에 사용할 수 없습니다.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"'{extension}'은(는) 사용 불가능한 이름입니다.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"'{segment}'은(는) 예약된 이름이므로 폴더 이름으로 사용할 수 없습니다.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"'{segment}'은(는) 예약된 이름이므로 사용할 수 없습니다.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n개의 파일이 충돌함\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname}에서 %n개의 파일이 충돌함\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"모든 파일\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"취소\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"전체 작업 취소\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"선택\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} 선택\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"파일 %n개 선택\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"확인\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"계속\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"복사\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target}(으)로 복사\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"새 폴더를 만들 수 없음\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"파일 설정을 불러오지 못함\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"파일 보기를 불러오지 못함\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"디렉토리 만들기\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"현재 보기 방식\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"이름을 입력하세요\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"기존 버전\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"닉네임을 설정하지 못했습니다.\\n \"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"즐겨찾기\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"즐겨찾기 한 파일 및 폴더가 이곳에 표시됩니다.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"최근 수정된 파일 및 폴더가 이곳에 표시됩니다.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"파일 목록 필터링\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"폴더 이름은 '{extension}'(으)로 끝날 수 없습니다.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"게스트 확인\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"홈\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"두 버전을 모두 선택할 경우 새로 추가되는 파일의 이름에 숫자가 붙게 됩니다.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"잘못된 폴더 이름입니다.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"잘못된 이름입니다. \"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"최근 수정일 알 수 없음\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"수정됨\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"이동\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target}(으)로 이동\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"이름\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"이름은 최대 64글자까지 지정할 수 있습니다.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"이름은 비어 있을 수 없습니다.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"이름은 '{extension}'(으)로 끝날 수 없습니다.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"이름은 마침표로 시작될 수 없습니다.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"새로 만들기\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"새 폴더\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"새 폴더명\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"새로운 버전\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"파일이 없습니다\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"선택된 필터에 해당하는 파일이 없습니다.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"해당하는 파일 없음\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"최소 두 글자 이상의 이름을 입력해주세요.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"최근\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"체크박스 모두 선택\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"모두 선택\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"기존 파일 모두 선택\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"새 파일 모두 선택\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"항목 선택\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename}의 행 선택\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"크기\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n개 파일 건너뛰기\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"이 파일 건너뛰기\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"이름 제출\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"되돌리기\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"기기에서 파일을 업로드 또는 동기화하세요!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"새 폴더를 선택할 경우, 해당 폴더 내의 충돌 파일들도 덮어쓰기 됩니다.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"새 폴더를 선택할 경우 내용물이 기존 폴더에 기록되며 재귀적 충돌 해결이 수행됩니다.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"어떤 파일들을 유지하시겠습니까?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"{nickname}(으)로 인증된 상태 입니다.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"현재 인증 정보가 없습니다.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"이름은 비워 둘 수 없습니다. \"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"최소한 하나의 충돌 해결 방안을 선택해야 합니다.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다.\"] }] }, { \"language\": \"lb\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} ass en ongëlteg Dossier\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} ass net en erlaabten Dossiernumm\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ass net an engem Dossier Numm erlaabt'] }, { \"msgid\": \"All files\", \"msgstr\": [\"All Dateien\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Wielt\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Wielt {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Wielt %n Fichieren\", \"Wielt %n Fichier\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopie\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopie op {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Konnt den neien Dossier net erstellen\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Konnt d'Dateienastellungen net lueden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Konnt d'Dateien net lueden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Erstellt Verzeechnes\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuell Vue selector\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien an Ordner, déi Dir als Favorit markéiert, ginn hei gewisen\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien an Ordner déi Dir viru kuerzem geännert hutt ginn hei op\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter Datei Lëscht\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Dossier Numm kann net eidel sinn\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Wëllkomm\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Geännert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Plënne\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Plënneren {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Numm\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nei\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Neien dossier\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Neien dossier numm\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Kee fichier hei\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Kee fichier deen äre filter passt gouf fonnt\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Keng passende dateien\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Rezent\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Wielt all entréen\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Wielt entrée\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Wielt d'zeil fir {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Gréisst\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Undoen\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Luet en inhalt erop oder synchroniséiert mat ären apparater\"] }] }, { \"language\": \"lo\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" ບໍ່ອະນຸຍາດໃຫ້ມີຢູ່ໃນຊື່ໂຟນເດີ.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['ບໍ່ອະນຸຍາດໃຫ້ມີ \"{char}\" ພາຍໃນຊື່.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ບໍ່ແມ່ນຊື່ທີ່ໄດ້ຮັບອະນຸຍາດ.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" ແມ່ນຊື່ທີ່ສະຫງວນໄວ້ ແລະ ບໍ່ອະນຸຍາດໃຫ້ໃຊ້ເປັນຊື່ໂຟນເດີ.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" ແມ່ນຊື່ທີ່ສະຫງວນໄວ້ ແລະ ບໍ່ໄດ້ຮັບອະນຸຍາດ.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"ໄຟລ໌ຂັດກັນ %n ລາຍການ\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"ໄຟລ໌ຂັດກັນ %n ລາຍການໃນ {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"ໄຟລ໌ທັງໝົດ\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"ຍົກເລີກ\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"ຍົກເລີກການດຳເນີນການທັງໝົດ\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"ເລືອກ\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"ເລືອກ {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"ເລືອກ %n ໄຟລ໌\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"ຢືນຢັນ\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"ດຳເນີນການຕໍ່\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"ຄັດລອກ\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"ຄັດລອກໄປທີ່ {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"ບໍ່ສາມາດສ້າງໂຟນເດີໃໝ່ໄດ້\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"ບໍ່ສາມາດໂຫຼດການຕັ້ງຄ່າໄຟລ໌ໄດ້\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"ບໍ່ສາມາດໂຫຼດມຸມມອງໄຟລ໌ໄດ້\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"ສ້າງໄດເຣັກທໍຣີ\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"ຕົວເລືອກມຸມມອງປັດຈຸບັນ\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"ປ້ອນຊື່ຂອງທ່ານ\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"ເວີຊັນທີ່ມີຢູ່\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"ຕັ້ງຊື່ຫຼິ້ນບໍ່ສຳເລັດ.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"ລາຍການທີ່ມັກ\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"ໄຟລ໌ ແລະ ໂຟນເດີທີ່ທ່ານໝາຍວ່າເປັນລາຍການທີ່ມັກຈະສະແດງຢູ່ບ່ອນນີ້.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"ໄຟລ໌ ແລະ ໂຟນເດີທີ່ທ່ານແກ້ໄຂລ່າສຸດຈະສະແດງຢູ່ບ່ອນນີ້.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"ກັ່ນຕອງລາຍການໄຟລ໌\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['ຊື່ໂຟນເດີຕ້ອງບໍ່ລົງທ້າຍດ້ວຍ \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"ການລະບຸຕົວຕົນຂອງແຂກ\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"ໜ້າຫຼັກ\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"ຖ້າທ່ານເລືອກທັງສອງເວີຊັນ, ໄຟລ໌ທີ່ເຂົ້າມາຈະມີຕົວເລກເພີ່ມໃສ່ຊື່ຂອງມັນ.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"ຊື່ໂຟນເດີບໍ່ຖືກຕ້ອງ.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"ຊື່ບໍ່ຖືກຕ້ອງ.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"ບໍ່ຮູ້ວັນທີແກ້ໄຂລ່າສຸດ\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"ແກ້ໄຂເມື່ອ\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"ຍ້າຍ\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"ຍ້າຍໄປທີ່ {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"ຊື່\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"ຊື່ອາດມີຄວາມຍາວສູງສຸດ 64 ຕົວອັກສອນ.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"ຊື່ຕ້ອງບໍ່ຫວ່າງເປົ່າ.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['ຊື່ຕ້ອງບໍ່ລົງທ້າຍດ້ວຍ \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"ຊື່ຕ້ອງບໍ່ຂຶ້ນຕົ້ນດ້ວຍຈຸດ.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"ໃໝ່\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"ໂຟນເດີໃໝ່\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"ຊື່ໂຟນເດີໃໝ່\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"ເວີຊັນໃໝ່\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"ບໍ່ມີໄຟລ໌ຢູ່ບ່ອນນີ້\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"ບໍ່ພົບໄຟລ໌ທີ່ກົງກັບການກັ່ນຕອງຂອງທ່ານ.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"ບໍ່ມີໄຟລ໌ທີ່ກົງກັນ\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"ກະລຸນາປ້ອນຊື່ທີ່ມີຢ່າງໜ້ອຍ 2 ຕົວອັກສອນ.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"ລ່າສຸດ\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"ເລືອກກ່ອງໝາຍທັງໝົດ\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"ເລືອກທຸກລາຍການ\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"ເລືອກໄຟລ໌ທີ່ມີຢູ່ທັງໝົດ\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"ເລືອກໄຟລ໌ໃໝ່ທັງໝົດ\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"ເລືອກລາຍການ\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"ເລືອກແຖວສຳລັບ {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"ຂະໜາດ\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"ຂ້າມ %n ໄຟລ໌\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"ຂ້າມໄຟລ໌ນີ້\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"ສົ່ງຊື່\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"ເອົາຄືນ\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"ອັບໂຫຼດເນື້ອຫາ ຫຼື ຊິງຄ໌ກັບອຸປະກອນຂອງທ່ານ!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"ເມື່ອເລືອກໂຟນເດີທີ່ເຂົ້າມາ, ໄຟລ໌ໃດໆທີ່ຂັດກັນພາຍໃນໂຟນເດີນັ້ນກໍຈະຖືກຂຽນທັບເຊັ່ນກັນ.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"ເມື່ອເລືອກໂຟນເດີທີ່ເຂົ້າມາ, ເນື້ອຫາຈະຖືກຂຽນລົງໃນໂຟນເດີທີ່ມີຢູ່ ແລະ ຈະມີການແກ້ໄຂຂໍ້ຂັດແຍ່ງແບບຕໍ່ເນື່ອງ.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"ທ່ານຕ້ອງການເກັບໄຟລ໌ໃດໄວ້?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"ຕອນນີ້ທ່ານຖືກລະບຸວ່າເປັນ {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"ຕອນນີ້ທ່ານຍັງບໍ່ໄດ້ຖືກລະບຸຕົວຕົນ.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"ທ່ານບໍ່ສາມາດປະຊື່ໃຫ້ຫວ່າງເປົ່າໄດ້.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"ທ່ານຈຳເປັນຕ້ອງເລືອກວິທີແກ້ໄຂຂໍ້ຂັດແຍ່ງຢ່າງໜ້ອຍໜຶ່ງຢ່າງ\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"ທ່ານຈຳເປັນຕ້ອງເລືອກຢ່າງໜ້ອຍໜຶ່ງເວີຊັນຂອງແຕ່ລະໄຟລ໌ເພື່ອດຳເນີນການຕໍ່.\"] }] }, { \"language\": \"lt_LT\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"„{char}“ negalima naudoti aplanko pavadinime.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}“ negalima naudoti vardo sudėtyje.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}“ nėra leidžiamas vardas.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ yra rezervuotas vardas, kurio negalima naudoti aplankų pavadinimuose.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}“ yra rezervuotas vardas, todėl jo naudoti negalima.\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n failo konfliktas\", \"%n failų konfliktas\", \"%n failų konfliktas\", \"%n failų konfliktas\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n failo konfliktas {dirname}\", \"%n failų konfliktas {dirname}\", \"%n failų konfliktas {dirname}\", \"%n failų konfliktas {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Visi failai\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Atsisakyti\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Atsisakyti visos operacijos\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Pasirinkti\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Pasirinkti {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Pasirinkti %n failą\", \"Pasirinkti %n failus\", \"Pasirinkti %n failų\", \"Pasirinkti %n failą\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Patvirtinti\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Tęsti\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopijuoti\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopijuoti į {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nepavyko sukurti naujo aplanko\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepavyko įkelti failų nustatymų\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepavyko įkelti failų peržiūrų\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Sukurti katalogą\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Dabartinis peržiūros pasirinkimas\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Įrašykite savo vardą\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Esama versija\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nepavyko nustatyti slapyvardžio\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Populiariausi\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Failai ir aplankai, kuriuos pažymėsite kaip mėgstamiausius, bus rodomi čia.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Čia bus rodomi failai ir aplankai, kuriuos neseniai pakeitėte.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtruoti failų sąrašą\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"Aplankų pavadinimai neturi baigtis simboliu „{extension}“.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Svečio identifikacija\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Pradžia\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jei pasirinksite abi versijas, prie gaunamo failo pavadinimo bus pridėtas numeris.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Netinkamas aplanko pavadinimas.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Netinkamas pavadinimas.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Paskutinio atnaujinimo data nežinoma\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Pakeista\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Perkelti\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Perkelti į {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Vardas\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Vardų ilgis negali viršyti 64 simbolių.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Pavadinimai negali būti tušti.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Vardai neturi baigtis simboliu „{extension}“.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Vardai negali prasidėti tašku.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Naujas\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Naujas aplankas\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Naujas aplanko pavadinimas\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nauja versija\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Čia failų nėra\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nepavyko rasti failų pagal filtro nustatymus\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nėra atitinkančių failų\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Įrašykite vardą iš mažiausiai dviejų ženklų.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nauji\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Pažymėti visus langelius\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Žymėti visus įrašus\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Pažymėti visus esamus failus\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Pažymėti visus naujus failus\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Žymėti įrašą\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Pasirinkite eilutę {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Dydis\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Praleisti %n failą\", \"Praleisti %n failus\", \"Praleisti %n failų\", \"Praleisti %n failą\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Praleisti šį failą\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Pateikti pavadinimą\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Atšaukti\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Įkelkite turinio arba sinchronizuokite su savo įrenginiais!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Pasirinkus įeinančių failų aplanką, jame esantys failai, su kuriais kyla konfliktas, taip pat bus perrašyti.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Pasirinkus gaunamų laiškų aplanką, visi jame esantys failai taip pat bus perrašyti.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Pasirinkus įeinančių failų aplanką, jo turinys įrašomas į esamą aplanką ir atliekamas rekursyvus konfliktų sprendimas.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Kokius failus norite išsaugoti?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Šiuo metu esate identifikuotas kaip {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Šiuo metu nesate identifikuotas.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Negalite palikti tuščio vardo lauko.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Turite pasirinkti bent vieną konflikto sprendimo būdą\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Norėdami tęsti, turite pasirinkti bent vieną kiekvieno failo versiją.\"] }] }, { \"language\": \"lv\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" nav derīgs mapes nosaukums.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nav atļauts mapes nosaukums'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" nav atļauts mapes nosaukuma izmantošanā.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Visas datnes\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Izvēlieties\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Izvēlieties {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Izvēlēties %n datņu\", \"Izvēlēties %n datni\", \"Izvēlēties %n datnes\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopēt\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopēt uz {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nevarēja izveidot jaunu mapi\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nevarēja ielādēt datņu iestatījumus\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nevarēja ielādēt datņu apskatījumus\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Izveidot direktoriju\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Pašreizēja skata atlasītājs\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorīti\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Šeit parādīsies datnes un mapes, kas tiks atzīmētas kā iecienītas.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Šeit parādīsies datnes un mapes, kuras nesen tika izmainītas.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Atlasīt datņu sarakstu\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mapes nosaukums nevar būt tukšs.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Sākums\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Izmaninīta\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Pārvietot\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Pārvietot uz {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nosaukums\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Jauns\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Jauna mape\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Jaunas mapes nosaukums\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Šeit nav datņu\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Netika atrasta neviena datne, kas atbilst atlasei.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nav atbilstošu datņu\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nesenās\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Atlasīt visus ierakstus\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Atlasīt ierakstu\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Atlasīt rindu {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Izmērs\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Atsaukt\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Augšupielādē kādu saturu vai sinhronizē savās iekārtās!\"] }] }, { \"language\": \"mk\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" не е дозволен во име на папка.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" не е дозволено во име.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" не е дозволено име.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" е резервирано име и не е дозволено за име на папка.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" е резервирано име и не е дозволено.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n конфликт со датотекa\", \"%n конфликти со датотеки\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n конфликт со датотека во {dirname}\", \"%n конфликти со датотеки vo {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Сите датотеки\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Откажи\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Прекини ја целата операција\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Избери\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Избери {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Избери %n датотека\", \"Избери %n датотеки\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Потврди\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Продолжи\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копирај\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копирај во {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Неможе да се креира нова папка\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Неможе да се вчиаат параметрите за датотеките\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Неможе да се вчитаат погледите за датотеките\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Креирај папка\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Избирач на тековен приказ\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Внесете го вашето име\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Моментална верзија\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Неуспешно поставување прекар.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Фаворити\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Датотеките и папките кој ќе ги означите за омилени ќе се појават овде.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Датотеките и папките кој неодамна сте ги измениле ќе се појават овде.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Филтрирај листа на датотеки\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Имињата на папките неможе да завршуваат со \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Гостинска идентификација\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Почетна\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ако ги избереш двете верзии, влезната датотека ќе добие број додаден на нејзиното име.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Невалидно име на папка.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Невалидно име.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Датумот на последна измена е непознат\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Променето\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Премести\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Премести во {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Име\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Имињата можат да бидат најмногу со 64 карактери.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Имињата неможе да бидат празни.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Имињата неможе да завршуваат со \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Имињата неможе да започнуваат со точка.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Нова\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Нова папка\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ново име на папка\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Нова верзија\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Овде нема датотеки\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Не се пронајдени датотеки што одговараат на вашиот филтер.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Нема датотеки што се совпаѓаат\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Внесете име со најмалку 2 карактери.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Неодамнешни\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Избери ги сите полиња за избор\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Изберете ги сите записи\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Изберете ги сите постоечки датотеки\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Изберете ги сите нови датотеки\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Избери запис\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Избери ред за {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Големина\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Прескокни %n датотека\", \"Прескокни %n датотеки\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Прескокни ја оваа датотека\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Испрати име\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Врати\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Прикачи содржина или синхронизирај со ваши уреди!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Кога е избрана влезна папка, сите конфликтни датотеки во неа исто така ќе бидат препишани.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Кога е избрана влезна папка, содржината се запишува во постоечката папка и се извршува рекурсивно решавање на конфликти.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Кој датотеки сакаш да ги зачуваш?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Моментално сте идентификувани како {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Моментално не сте идентификувани.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Не можете да го оставите името празно.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Треба да избереш најмалку едно решение за конфликт\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Треба да избереш најмалку една верзија за секоја датотека за да продолжи.\"] }] }, { \"language\": \"ms_MY\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" adalah nama folder yang tidak sesuai '] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nama folder yang tidak dibenarkan'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" tidak dibenarkan dalam nama folder'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Semua fail\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Pilih\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Pilih {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Pilih fail %n\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"menyalin\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"menyalin ke {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Tidak dapat mewujudkan folder baharu\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tidak dapat memuatkan tetapan fail\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tidak dapat memuatkan paparan fail\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"mewujudkan direktori\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"pemilih pandangan semasa\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Pilihan\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Fail dan folder yang anda tanda sebagai pilihan akan dipaparkan di sini.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Fail dan folder yang anda telah ubah suai baru-baru ini dipaparkan di sini.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Menapis senarai fail\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Nama folder tidak boleh kosong.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Utama\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ubah suai\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"pindah\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"pindah ke {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nama\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Baru\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Folder Baharu\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nama folder baharu\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Tiada fail di sini\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Tiada fail yang sepadan dengan tapisan anda.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Tiada fail yang sepadan\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"baru-baru ini\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Pilih semua entri\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Pilih entri\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"memilih baris {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Saiz\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"buat asal\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Muat naik beberapa kandungan atau selaras dengan peranti anda!\"] }] }, { \"language\": \"nb_NO\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" er ikke tillatt i et mappenavn.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" er ikke tillatt i et navn.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" er ikke et tillatt navn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" er et reservert navn og er ikke tillatt for mappenavn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" er et reservert navn og er ikke tillatt.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n filkonflikt\", \"%n files conflict\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n fil konflikter i {dirname}\", \"%n fil konflikter i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle filer\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Avbryt\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Avbryt hele operasjonen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Velg\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Velg {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Velg %n fil\", \"Velg %n filer\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekreft\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsett\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopier\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopier til {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunne ikke opprette den nye mappen\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kunne ikke laste filinnstillinger\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunne ikke laste filvisninger\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Opprett mappe\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Nåværende visningsvelger\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Skriv inn navnet ditt\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Eksisterende versjon\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kunne ikke lagre kallenavnet.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritter\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer og mapper du markerer som favoritter vil vises her.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer og mapper du nylig har endret, vil vises her.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer filliste\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Mappenavn må ikke slutte med \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gjesteidentifikasjon\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Hjem\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Hvis du velger begge versjonene, vil den innkommende filen få et nummer lagt til navnet sitt.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ugyldig mappenavn.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ugyldig navn.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Sist endret dato ukjent\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modifisert\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Flytt\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flytt til {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Navn\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Navn kan maksimalt være 64 tegn lange.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Navn kan ikke være tomme.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Navn kan ikke ende med \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Navn kan ikke starte med et punktum.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mappe\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nytt mappenavn\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Ny versjon\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Ingen filer her\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Ingen filer funnet med ditt filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ingen filer samsvarer\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Vennligst angi et navn som har minst 2 tegn.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nylige\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Merk av i alle avmerkingsboksene\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Velg alle oppføringer\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Velg alle eksisterende filer\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Velg alle nye filer\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Velg oppføring\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Velg raden for {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Størrelse\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Hopp over %n fil\", \"Hopp over %nfiler\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Hopp over denne filen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Bekreft navn\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Angre\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Last opp innhold eller synkroniser med enhetene dine!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Når en innkommende mappe velges, vil eventuelle motstridende filer i den også bli overskrevet.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Når en innkommende mappe velges, vil eventuelle filer i den også bli overskrevet.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Når en innkommende mappe velges, skrives innholdet inn i den eksisterende mappen, og en rekursiv konfliktløsning utføres.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hvilke filer vil du beholde?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du er akkurat nå identifisert som {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du er akkurat nå ikke identifisert.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kan ikke la navnet være blankt.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Du må velge minst én konfliktløsning\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du må velge minst én versjon av hver fil for å fortsette.\"] }] }, { \"language\": \"nl\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" is niet toegestaan in een mapnaam.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" kan niet gebruikt worden in de benaming.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" is geen toegestane naam.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" is een gereserveerde naam en niet toegestaan in mapnamen.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" is een gereserveerde naam en niet toegestaan.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n bestanden conflicteren\", \"%nbestand bestanden conflicteren\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n bestand conflicteerd in {dirname}\", \"%nbestanden conflicteert in {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alle bestanden\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Annuleren\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annuleer de hele bewerking\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Kiezen\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Kies {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Kies %n bestand\", \"Kies %n bestanden\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bevestigen\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Doorgaan\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiëren\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiëren naar {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kon de nieuwe map niet maken\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kon de bestandsinstellingen niet laden\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kon de bestandsweergaves niet laden\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Map aanmaken\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Huidige weergave keuze\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Voer je naam in\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Bestaande versie\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kon geen bijnaam instellen.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorieten\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Bestanden en mappen die je als favoriet markeert, verschijnen hier.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Bestanden en mappen die je recentelijk hebt gewijzigd, verschijnen hier.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Bestandslijst filteren\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Mapnamen mogen niet eindigen op \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gastenidentificatie\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Thuis\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Als u beide versies selecteert wordt een nummer toegevoegd aan de naam van het binnenkomende bestand.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ongeldige mapnaam.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ongeldige naam.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Laatste wijzigingsdatum onbekend\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Gewijzigd\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Verplaatsen\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Verplaatsen naar {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Naam\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namen mogen maximaal 64 tekens lang zijn.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namen mogen niet leeg zijn.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namen mogen niet eindigen met \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namen mogen niet begonnen met een punt.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nieuw\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nieuwe map\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nieuwe mapnaam\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nieuwe versie\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Geen bestanden hier\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Geen bestanden gevonden die voldoen aan je filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Geen overeenkomende bestanden\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Voer een naam in met minimaal 2 tekens.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recent\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecteer alle aanvinkopties\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle invoer selecteren\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecteer alle bestaande bestanden\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecteer alle nieuwe bestanden\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Invoer selecteren\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecteer de rij voor {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Grootte\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Sla %n bestand over\", \"Sla %n bestanden over\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Sla dit bestand over\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Naam indienen\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Ongedaan maken\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload inhoud of synchroniseer met je apparaten!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Als een inkomende map wordt geselecteerd, worden alle conflicterende bestanden daarin overschreven.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Wanneer een inkomende folder is geselecteerd, worden bestanden in deze folder ook overschreven.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Als een inkomende map wordt geselecteerd, wordt de inhoud naar de bestaande map geschreven en wordt een recursieve conflict-oplossing uitgevoerd.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welke bestanden wilt u bewaren?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Je wordt momenteel geïdentificeerd als {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Je bent momenteel niet geïdentificeerd.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Je kunt de naam niet leeg laten.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"U moet in elk geval een conflictoplossing kiezen\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"U moet minstens een versie van elk bestand kiezen om door te gaan. \"] }] }, { \"language\": \"pl\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['Znak \"{char}\" nie jest dozwolony w nazwie folderu.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" nie jest dozwolone w nazwie.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" nie jest dozwoloną nazwą.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" jest nazwą zastrzeżoną i nie jest dozwolona jako nazwa folderu.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" jest zastrzeżoną nazwą i nie jest dozwolone.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"Konflikt pliku\", \"Konflikt %n plików\", \"Konflikt %n plików\", \"Konflikt %n plików\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n konfliktów pliku w {dirname}\", \"%n konfliktów plików w {dirname}\", \"%n konfliktów plików w {dirname}\", \"%n konfliktów plików w {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Wszystkie pliki\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Anuluj\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Anuluj całą operację\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Wybierz\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Wybierz {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Wybierz %n plik\", \"Wybierz %n pliki\", \"Wybierz %n plików\", \"Wybierz %n plików\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potwierdź\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Kontynuuj\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiuj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Skopiuj do {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nie można utworzyć nowego folderu\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nie można wczytać ustawień plików\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nie można wczytać widoków plików\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Utwórz katalog\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Bieżący selektor widoku\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Wprowadź nazwę\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Istniejąca wersja\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nie udało się utworzyć pseudonimu.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Ulubione\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Pliki i foldery które oznaczysz jako ulubione będą wyświetlały się tutaj\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Pliki i foldery które ostatnio modyfikowałeś będą wyświetlały się tutaj\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtruj listę plików\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nazwy folderów nie mogą kończyć się na \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identyfikacja gościa\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Strona główna\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jeśli wybierzesz obie wersje, do nazwy przychodzącego pliku zostanie dodany numer.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nieprawidłowa nazwa folderu.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nieprawidłowa nazwa.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data ostatniej modyfikacji nieznana\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Zmodyfikowano\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Przenieś\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Przejdź do {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nazwa\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Nazwy mogą mieć maksymalnie 64 znaki.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nazwy nie mogą być puste.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nazwy nie mogą kończyć się na \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nazwy nie mogą zaczynać się od kropki.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nowy\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nowy folder\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nowa nazwa folderu\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nowa wersja\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Brak plików\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nie znaleziono plików spełniających warunki filtru\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Brak pasujących plików\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Wprowadź nazwę zawierającą minimum 2 znaki.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Ostatni\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Zaznacz wszystkie pola wyboru\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Wybierz wszystkie wpisy\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Zaznacz wszystkie istniejące pliki\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Zaznacz wszystkie nowe pliki\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Wybierz wpis\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Wybierz wiersz dla {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Rozmiar\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Pomiń %n plik\", \"Pomiń %n plików\", \"Pomiń %n plików\", \"Pomiń %n plików\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Pomiń ten plik\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Zatwierdź nazwę\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Cofnij\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Wyślij zawartość lub zsynchronizuj ze swoimi urządzeniami!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Po wybraniu przychodzącego folderu wszystkie konfliktujące pliki w jego obrębie również zostaną nadpisane.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Po wybraniu przychodzącego folderu jego zawartość zostanie zapisana w istniejącym folderze i zostanie przeprowadzone rekursywne rozwiązywanie konfliktów.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Które pliki chcesz zachować?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Obecnie jesteś zidentyfikowany jako {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Użytkownik nie został uwierzytelniony.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Nazwa nie może być pusta.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Musisz wybrać co najmniej jedno rozwiązanie konfliktu\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku.\"] }] }, { \"language\": \"pt_BR\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome de pasta.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" não é um nome permitido.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" é um nome reservado e não permitido para nomes de pasta.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" é um nome reservado e não permitido.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n arquivo conflita\", \"%n de arquivos conflitam\", \"%n arquivos conflitam\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n conflito de arquivo em {dirname}\", \"%n de conflitos de arquivos em {dirname}\", \"%n conflitos de arquivos em {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos os arquivos\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda a operação\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escolher\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escolher {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escolher %n arquivo\", \"Escolher %n arquivos\", \"Escolher %n arquivos\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar para {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Não foi possível criar a nova pasta\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Não foi possível carregar configurações de arquivos\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Não foi possível carregar visualições de arquivos\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Criar diretório\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Seletor de visualização atual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Digite seu nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versão existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Falha ao definir apelido.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os arquivos e pastas que você marca como favoritos aparecerão aqui.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Arquivos e pastas que você modificou recentemente aparecerão aqui.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de arquivos\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nomes de pasta não podem terminar com \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificação de convidados\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Início\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se você selecionar ambas as versões, um número será adicionado ao nome do arquivo recebido.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nome de pasta inválido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome inválido.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificação desconhecida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover para {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Os nomes podem ter no máximo 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Nomes não podem estar vazios.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nomes não podem terminar com \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Nomes não podem começar com um ponto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova pasta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome de pasta\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versão\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nenhum arquivo aqui\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenhum arquivo correspondente ao seu filtro foi encontrado.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nenhum arquivo correspondente\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Digite um nome com pelo menos 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecione todas as caixas de seleção\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecionar todas as entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecione todos os arquivos existentes\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecione todos os novos arquivos\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecionar a linha para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamanho\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Ignorar %n arquivo\", \"Ignorar %n de arquivos\", \"Ignorar %n arquivos\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ignorar este arquivo\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Enviar nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Desfazer\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Faça upload de algum conteúdo ou sincronize com seus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Ao selecionar uma pasta de entrada, quaisquer arquivos conflitantes dentro dela também serão sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Quando uma pasta de entrada for selecionada, todos os arquivos nela contidos também serão substituídos.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quando uma pasta de entrada é selecionada, o conteúdo é gravado na pasta existente e uma resolução recursiva de conflitos é realizada.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quais arquivos você deseja manter?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Você está atualmente identificado como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"No momento, você não está identificado.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Você não pode deixar o nome vazio.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Você precisa escolher pelo menos uma solução para o conflito\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Você precisa selecionar pelo menos uma versão de cada arquivo para continuar.\"] }] }, { \"language\": \"pt_PT\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome de pasta.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" não é permitido dentro de um nome.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" não é um nome permitido.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" é um nome reservado e não é permitido para nomes de pasta.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" é um nome reservado e não é permitido.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n ficheiro em conflito\", \"%n ficheiros em conflito\", \"%n ficheiros em conflito\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n ficheiro em conflito em {dirname}\", \"%n ficheiros em conflito em {dirname}\", \"%n ficheiros em conflito em {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Todos os ficheiros\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda a operação\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Escolher\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escolher {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escolha %n ficheiro\", \"Escolha %n ficheiros\", \"Escolha %n ficheiros\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Confirmar\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar para {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Não foi possível criar a nova pasta \"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Não foi possível carregar as definições dos ficheiros\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Não foi possível carregar as visualizações dos ficheiros\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Criar pasta\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Seletor de visualização atual\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Introduza o seu nome\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Versão existente\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Falha ao definir o nome alternativo.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os ficheiros e as pastas que marcar como favoritos aparecerão aqui.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Os ficheiros e as pastas que modificou recentemente aparecerão aqui.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de ficheiros\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Nomes de pasta não podem terminar em \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identificação de convidado\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Início\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se você selecionar ambas as versões, um número será adicionado ao nome do ficheiro recebido.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Nome de pasta inválido.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nome inválido.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificação desconhecida\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover para {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Os nomes podem ter no máximo 64 caracteres.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"O nome não pode ficar em branco.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Nomes não podem terminar em \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Os nomes não podem começar por um ponto.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova pasta\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome da pasta\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nova versão\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Sem ficheiros aqui\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Não foi encontrado nenhum ficheiro correspondente ao seu filtro.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nenhum ficheiro correspondente\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Introduza um nome com, pelo menos, 2 caracteres.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recentes\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Selecione todas as caixas de seleção\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecionar todas as entradas\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecione todos os ficheiros existentes\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecione todos os novos ficheiros\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecionar entrada\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecione a linha para {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Tamanho\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Ignorar %n ficheiro\", \"Ignorar %n ficheiros\", \"Ignorar %n ficheiros\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ignorar este ficheiro\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Submeter nome\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Anular\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Envie algum conteúdo ou sincronize com os seus dispositivos!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Ao selecionar uma pasta de entrada, quaisquer ficheiros conflituantes dentro da mesma serão também sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Ao selecionar uma pasta de entrada, todos os ficheiros nela contidos serão também sobrescritos.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Quando uma pasta de entrada é selecionada, o conteúdo é gravado na pasta existente e é realizada uma resolução recursiva de conflitos.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quais os ficheiros que deseja manter?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Atualmente está identificado como {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Atualmente, não está identificado.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Não pode deixar o nome em branco.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"É preciso escolher pelo menos uma solução para o conflito.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"É necessário selecionar pelo menos uma versão de cada ficheiro para continuar.\"] }] }, { \"language\": \"ro\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" este un nume de director invalid.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nu este un nume de director permis'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" nu este permis în numele unui director.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Toate fișierele\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Alege\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Alege {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Alege %n fișier\", \"Alege %n fișiere\", \"Alege %n fișiere\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Copiază\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiază în {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nu s-a putut crea noul director\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nu s-au putut încărca setările fișierelor\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nu s-au putut încărca vizualizările fișierelor\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Creează director\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selectorul curent al vizualizării\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorite\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Fișiere și directoare pe care le marcați ca favorite vor apărea aici.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Fișiere și directoare pe care le-ați modificat recent vor apărea aici.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrează lista de fișiere\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Numele de director nu poate fi necompletat.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Acasă\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modificat\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Mută\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mută către {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nume\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nou\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Director nou\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Numele noului director\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nu există fișiere\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nu există fișiere potrivite pentru filtrul selectat\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nu există fișiere potrivite\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selectează toate înregistrările\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Selectează înregistrarea\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selectează rândul pentru {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Mărime\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Anulează\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Încărcați conținut sau sincronizați cu dispozitivele dumneavoastră!\"] }] }, { \"language\": \"ru\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" не допускается в названии папки.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" не допускается внутри имени.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" — недопустимое имя.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" — зарезервированное имя, недопустимое для имени папки.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" — зарезервированное и недопустимое имя.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n конфликт файла\", \"%n конфликта файлов\", \"%n конфликтов файлов\", \"%n конфликтов файлов\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n конфликт файлов в {dirname}\", \"%n конфликта файлов в {dirname}\", \"%n конфликтов файлов в {dirname}\", \"%n конфликтов файлов в {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Все файлы\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Отмена\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Отменить всю операцию\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Выбрать\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Выбрать «{file}»\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Выбрать %n файл\", \"Выбрать %n файла\", \"Выбрать %n файлов\", \"Выбрать %n файлов\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Подтвердить\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Продолжить\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копировать\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копировать в «{target}»\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Не удалось создать новую папку\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не удалось загрузить настройки файлов\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не удалось загрузить конфигурацию просмотра файлов\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Создать папку\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Переключатель текущего вида\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Введите ваше имя\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Текущая версия\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Не удалось задать никнейм.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Избранное\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Здесь будут отображаться файлы и папки, которые вы пометили как избранные.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Здесь будут отображаться файлы и папки, которые вы недавно изменили.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фильтровать список файлов\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Имена папок не могут оканчиваться на \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Гостевая идентификация\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Домой\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Если вы выберете обе версии, к имени входящего файла будет добавлен номер.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Недопустимое имя папки.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Недопустимое имя.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Дата последнего изменения неизвестна\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Изменен\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Переместить\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Переместить в «{target}»\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Имя\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Имена не могут быть длиннее 64 символов.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Имена не могут быть пустыми.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Имена не могут оканчиваться на \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Имена не должны начинаться с точки.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Новый\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Новая папка\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Имя новой папки\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Новая версия\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Здесь нет файлов\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Файлы, соответствующие вашему фильтру, не найдены.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Нет подходящих файлов\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Введите имя длиной не менее 2 символов.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Недавний\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Выбрать все флажки\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Выбрать все записи\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Выбрать все существующие файлы\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Выбрать все новые файлы\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Выбрать запись\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Выбрать строку для «{nodename}»\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Размер\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Пропустить %n файл\", \"Пропустить %n файла\", \"Пропустить %n файлов\", \"Пропустить %n файлов\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Пропустить файл\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Отправить имя\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Отменить\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Загрузите контент или синхронизируйте его со своими устройствами!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Когда выбрана входящая папка, все конфликтующие файлы в ней также будут перезаписаны.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Когда выбрана входящая папка, все файлы в ней также будут перезаписаны.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Когда выбрана входящая папка, содержимое записывается в существующую папку и выполняется рекурсивное разрешение конфликтов.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Какие файлы вы хотите сохранить?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Вы идентифицированы как {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"В данный момент вы не идентифицированы.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Вы не можете оставить имя пустым.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Вам нужно выбрать хотя бы одно решение конфликта\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Для продолжения вам нужно выбрать хотя бы одну версию каждого файла.\"] }] }, { \"language\": \"sk_SK\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" nie je povolené v názve priečinka.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" nie je povolené v rámci mena.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" nie je povolený názov.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"„{segment}“ je rezervované meno a nie je povolené na názvy priečinkov.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" je rezervované meno a nie je povolené.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n konflikt súborov\", \"%n konflikty súborov\", \"%n konfliktov súborov\", \"%n konflikty súborov\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n konflikt súborov v {dirname}\", \"%n konflikty súborov v {dirname}\", \"%n konfliktov súborov v {dirname}\", \"%n konfliktov súborov v {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Všetky súbory\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Zrušiť\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Zrušiť celú operáciu\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Vybrať\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vybrať {súbor}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vybraný %n súbor\", \"Vybrané %n súbory\", \"Vybraných %n súborov\", \"Vybraných %n súborov\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Potvrdiť\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Pokračovať\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopírovať\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopírovať do {umiestnenia}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nepodarilo sa vytvoriť nový priečinok\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepodarilo sa načítať nastavenia súborov\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepodarilo sa načítať pohľady súborov\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Vytvoriť adresár\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Výber aktuálneho zobrazenia\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Zadajte svoje meno\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Existujúca verzia\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Nepodarilo sa nastaviť prezývku.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Obľúbené\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tu sa zobrazia súbory a priečinky, ktoré označíte ako obľúbené.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Tu sa zobrazia súbory a priečinky, ktoré ste nedávno upravili.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrovať zoznam súborov\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Názvy priečinkov nesmú končiť na \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Identifikácia hosťa\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Domov\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Ak vyberiete obe verzie, prichádzajúci súbor bude mať k svojmu názvu pridané číslo.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Neplatný názov priečinka.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Neplatné meno.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Posledná zmena dátumu neznáma\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Upravené\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Prejsť\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Prejsť na {umiestnenie}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Názov\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Mená môžu mať maximálne 64 znakov.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Mená nesmú byť prázdne.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Mená nesmú končiť \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Mená nesmú začínať bodkou.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Pridať\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Pridať priečinok\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Pridať názov priečinka\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Nová verzia\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Nie sú tu žiadne súbory\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenašli sa žiadne súbory zodpovedajúce vášmu filtru.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Žiadne zodpovedajúce súbory\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Zadajte meno s aspoň 2 znakmi.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedávne\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Vyberte všetky zaškrtávacie políčka\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vybrať všetky položky\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vybrať všetky existujúce súbory\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vybrať všetky nové súbory\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Vybrať položku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vyberte riadok pre {názov uzla}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Veľkosť\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Preskočiť %n súbor\", \"Preskočiť %n súbory\", \"Preskočiť %n súborov\", \"Preskočiť %n súbory\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Preskočiť tento súbor\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Zadať meno\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Späť\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Nahrajte nejaký obsah alebo synchronizujte so svojimi zariadeniami!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Keď je vybraná prichádzajúca složka, všetky konfliktné súbory v nej budú taktiež prepísané.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Keď je vybraná prichádzajúca zložka, obsah sa zapíše do existujúcej zložky a vykoná sa rekurzívne riešenie konfliktov.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Ktoré súbory chcete zachovať?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Momentálne ste identifikovaný ako {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Momentálne nie ste identifikovaný.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Nemôžete nechať meno prázdne.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Musíte si vybrať aspoň jedno riešenie konfliktu.\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Musíte vybrať aspoň jednu verziu každého súboru, aby ste mohli pokračovať.\"] }] }, { \"language\": \"sl\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} je neveljavno ime mape.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} ni dovoljeno ime mape\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ni dovoljen v imenu mape.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Vse datoteke\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Izberi\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Izberi {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Izberi %n datoteko\", \"Izberi %n datoteki\", \"Izberi %n datotek\", \"Izberi %n datotek\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiraj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiraj v {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nisem mogel ustvariti nove mape\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"NIsem mogel naložiti nastavitev datotek\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nisem mogel naložiti pogledov datotek\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Ustvari mapo\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Izbirnik trenutnega pogleda\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Priljubljene\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Datoteke in mape ki jih označite kot priljubljene se bodo prikazale tukaj.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Daoteke in mape ki ste jih pred kratkim spremenili se bodo prikazale tukaj.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtriraj seznam datotek\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Ime mape ne more biti prazno\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Domov\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Spremenjeno\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Premakni\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Premakni v {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ime\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Nov\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Nova mapa\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo ime mape\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Tukaj ni datotek\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Ni bilo najdenih ujemajočih datotek glede na vaš filter.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Ni ujemajočih datotek\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nedavne\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Izberi vse vnose\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Izberi vnos\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Izberi vrstico za {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Velikost\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Razveljavi\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Naloži nekaj vsebine ali sinhroniziraj s svojimi napravami!\"] }] }, { \"language\": \"sr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": [\"„{char}” није дозвољено унутар имена.\"] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"„{extension}” није дозвољено име.\"] }, { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"„{name}” није исправно име фолдера.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"„{name}” није дозвољено име за фолдер.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"„{segment}” је резервисано име и није дозвољено.\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"„/” није дозвољено унутар имена фолдера.\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Сви фајлови\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Откажи\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Изаберите\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Изаберите {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Изаберите %n фајл\", \"Изаберите %n фајла\", \"Изаберите %n фајлова\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копирај\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копирај у {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Није могао да се креира нови фолдер\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не могу да се учитају подешавања фајлова\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не могу да се учитају прикази фајлова\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Креирај директоријум\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Бирач тренутног приказа\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Унесите своје име\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Није успело постављање надимка.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Омиљено\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Овде ће се појавити фајлови и фолдери које сте означили као омиљене.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Овде ће се појавити фајлови и фолдери који се се недавно изменили.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фитрирање листе фајлова\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Име фолдера не може бити празно.\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Идентификација госта\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Почетак\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Неисправно име.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Измењено\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Премести\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Премести у {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Име\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Највећа дужина имена може бити 64 карактера.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Имена не смеју да буду празна.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"Имена не смеју да се завршавају на „{extension}”.\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Имена не смеју да почињу тачком.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ново\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Нови фолдер\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Име новог фолдера\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Овде нема фајлова\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Није пронађен ниједан фајл који задовољава ваш филтер.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Нема таквих фајлова\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Молимо вас да унесете име од барем два карактера.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Скорашње\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Изаберите све ставке\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Изаберите ставку\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Изаберите ред за {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Величина\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Предај име\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Поништи\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Отпремите нешто или синхронизујте са својим уређајима!\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Тренутно се идентификујете као {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Тренутно немате идентификацију.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Име не можете да оставите празно.\"] }] }, { \"language\": \"sr@latin\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"„{name}” je neispravan naziv foldera.\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"„{name}” je nedozvoljen naziv foldera.\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"„/” se ne može koristiti unutar naziva foldera.\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Svi fajlovi\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Izaberite\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Izaberite {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Izaberite %n fajl\", \"Izaberite %n fajla\", \"Izaberite %n fajlova\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiraj\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiraj u {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Neuspešno kreiranje novog foldera\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Neuspešno učitavanje podešavanja fajlova\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Neuspešno učitavanje prikaza fajlova\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Kreiraj direktorijum\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Birač trenutnog prikaza\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Omiljeno\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Lista omiljenih fajlova i foldera.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Lista fajlova i foldera sa skorašnjim izmenama.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Fitriranje liste fajlova\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Naziv foldera ne može biti prazan.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Početak\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Izmenjeno\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Premesti\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Premesti u {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Naziv\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Novi folder\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Naziv novog foldera\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Bez fajlova\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nema fajlova koji zadovoljavaju uslove filtera.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Nema takvih fajlova\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Skorašnje\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Izaberite sve stavke\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Izaberite stavku\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Izaberite red za {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Veličina\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Vrati\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Otpremite sadržaj ili sinhronizujte sa svojim uređajima!\"] }] }, { \"language\": \"sv\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" är inte tillåtet i ett mappnamn.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" är inte tillåtet i ett namn.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" är inte ett tillåtet namn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" är ett reserverat namn och inte tillåtet mappnamn.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" är ett reserverat namn och inte tillåtet.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n fil är i konflikt\", \"%n filer är i konflikt\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n fil är i konflikt i {dirname}\", \"%n filer är i konflikt i {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Alla filer\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Avbryt\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Avbryt hela operationen\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Välj\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Välj {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Välj %n fil\", \"Välj %n filer\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Bekräfta\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsätt\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiera\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiera till {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunde inte skapa den nya mappen\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kunde inte ladda filinställningar\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunde inte ladda filvyer\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Skapa katalog\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuell vyväljare\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ange ditt namn\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Nuvarande version\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Kunde inte ställa in smeknamn.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriter\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer och mappar som du markerar som favorit kommer att visas här.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer och mappar som du nyligen ändrat kommer att visas här.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrera fillistan\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Mappnamn får inte sluta med \"{extension}\".'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Gästidentifiering\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Hem\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Om du väljer båda versionerna kommer den inkommande filen att få ett nummer tillagt i sitt namn.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Ogiltigt mappnamn.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ogiltigt namn.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Senaste ändringsdatum okänt\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Ändrad\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Flytta\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flytta till {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Namn\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Namnen kan vara högst 64 tecken långa.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Namn får inte vara tomt.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Namn får inte sluta med \"{extension}\".'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Namn får inte börja med en punkt.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mapp\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Nytt mappnamn\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Ny version\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Inga filer här\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Inga filer som matchar ditt filter hittades.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Inga matchande filer\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Ange ett namn med minst 2 tecken.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Nyligen\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Markera alla kryssrutor\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Välj alla poster\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Välj alla befintliga filer\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Välj alla nya filer\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Välj post\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Välj raden för {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Storlek\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Hoppa över %n fil\", \"Hoppa över %n filer\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Hoppa över den här filen\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Skicka namn\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Ångra\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Ladda upp lite innehåll eller synkronisera med dina enheter!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"När en inkommande mapp väljs kommer eventuella konflikterande filer i den också att skrivas över.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"När en inkommande mapp väljs kommer även filer i den att skrivas över.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"När en inkommande mapp väljs skrivs innehållet in i den befintliga mappen och en rekursiv konfliktlösning utförs.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Vilka filer vill du behålla?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Du är för närvarande identifierad som {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Du är för närvarande inte identifierad.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Du kan inte lämna namnet tomt.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Du måste välja minst en konfliktlösning\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du måste välja minst en version av varje fil för att fortsätta.\"] }] }, { \"language\": \"tr\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['\"{char}\" karakteri bir klasör adında kullanılamaz.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['Bir ad içinde \"{char}\" karakteri kullanılamaz.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" adına izin verilmiyor.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": ['\"{segment}\" adı sistem için ayrılmış olduğundan klasör adlarında kullanılamaz.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" adı sistem için ayrılmış olduğundan kullanılamaz.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n dosya çakışıyor\", \"%n dosya çakışıyor\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname} içindeki %n dosya çakışıyor\", \"{dirname} içindeki %n dosya çakışıyor\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tüm dosyalar\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"İptal\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Tüm işlemi iptal et\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Seçin\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} seçin\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n dosya seçin\", \"%n dosya seçin\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Onayla\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"İlerle\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Kopyala\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target} üzerine kopyala\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Yeni klasör oluşturulamadı\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dosyalar uygulamasının ayarları yüklenemedi\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dosyalar uygulamasının görünümleri yüklenemedi\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Klasör oluştur\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Geçerli görünüm seçici\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Adınızı yazın\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Var olan sürüm\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Takma ad ayarlanamadı.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Sık kullanılanlar\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Sık kullanılan olarak seçtiğiniz dosyalar burada görüntülenir.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dosya listesini süz\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Klasör adları \"{extension}\" ile bitemez.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Konuk kimliği\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Giriş\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"İki sürümü de seçerseniz, gelen dosyanın adına bir sayı eklenir.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Klasör adı geçersiz.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Ad geçersiz.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Son değiştirilme tarihi bilinmiyor.\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Değiştirilme\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Taşı\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target} üzerine taşı\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ad\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Adlar en fazla 64 karakter uzunluğunda olabilir.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ad boş olamaz.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Ad \"{extension}\" ile bitemez.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ad nokta karakteri ile başlayamaz.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Yeni\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Yeni klasör\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Yeni klasör adı\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Yeni sürüm\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Burada herhangi bir dosya yok\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Süzgece uyan bir dosya bulunamadı.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Eşleşen bir dosya yok\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Ad en az 2 karakter uzunluğunda olmalıdır.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Son kullanılanlar\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Tüm kutuları işaretle\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Tüm kayıtları seç\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Tüm var olan dosyaları seç\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Tüm yeni dosyaları seç\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Kaydı seç\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} satırını seçin\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Boyut\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n dosyayı atla\", \"%n dosyayı atla\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Bu dosyayı atla\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Adı gönder\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Geri al\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Bazı içerikler yükleyin ya da aygıtlarınızla eşitleyin!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Bir gelen klasör seçildiğinde, içindeki dosyaların da üzerine yazılır.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bir gelen klasör seçildiğinde, içerik var olan klasöre yazılır ve alt klasörlerle bir çakışma çözümü uygulanır.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hangi dosyaları tutmak istiyorsunuz?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"{nickname} olarak tanınıyorsunuz.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Henüz kendinizi tanıtmadınız.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ad boş bırakılamaz.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"En az bir çakışma çözümü seçmelisiniz\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"İlerlemek için her dosaynın en az bir sürümünü seçmelisiniz.\"] }] }, { \"language\": \"uk\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"{char} не дозволено всередині назви каталогу.\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['\"{char}\" не дозволено всередині імени.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [`\"{extension}\" недозволене ім'я.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"{segment} є зарезервованим ім'ям і не дозволено для назви каталогу.\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [`\"{segment}\" зарезервоване ім'я і не дозволено для використання.`] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n конфлікт файлів\", \"%n конфлікти файлів\", \"%n конфліктів файлів\", \"%n конфліктів файлів\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"%n конфлікт файлів у каталозі {dirname}\", \"%n конфлікти файлів у каталозі {dirname}\", \"%n конфліктів файлів у каталозі {dirname}\", \"%n конфліктів файлів у каталозі {dirname}\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Всі файли\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Скасувати\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Скасувати всю операцію\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Вибрати\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Вибрати {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Вибрати %n файл\", \"Вибрати %n файли\", \"Вибрати %n файлів\", \"Вибрати %n файлів\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Підтвердити\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Продовжити\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Копіювати\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копіювати до {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Не вдалося створити новий каталог\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не вдалося завантажити налаштування файлів\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не вдалося завантажити подання файлів\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Створити каталог\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Вибір подання\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Зазначте ваше ім'я\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Наявна версія\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Не вдалося встановити псевдо.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Із зірочкою\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Тут показуватимуться файли та каталоги, які ви позначите зірочкою.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Тут показуватимуться файли та каталоги, які було нещодавно змінено.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фільтрувати список файлів\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [`Ім'я каталогу не може закінчуватися на \"{extension}\".`] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Ім'я для гостя\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Домівка\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Якщо вибрати обидві версії, до назви вхідного файлу буде додано цифру. \"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Недійсне ім'я каталогу.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Недійсне ім'я.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Дата останньої зміни невідома\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Змінено\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Перемістити\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Перемістити до {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Ім'я\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Імена мають мати довжину не більше 64 символів.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ім'я не може бути порожнє.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [`Ім'я не може закінчуватися на \"{extension}\".`] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ім'я не може починатися з крапки.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Новий\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Новий каталог\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Ім'я нового каталогу\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Нова версія\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Тут відсутні файли\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Відсутні збіги за фільтром.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Відсутні збіги файлів.\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Зазначте ім'я довжиною не менше 2 символів\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Останні\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Вибрати всі прапорці\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Вибрати всі записи\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Вибрати всі наявні файли\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Вибрати всі нові файли\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Вибрати запис\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Вибрати рядок для {nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Розмір\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"Пропустити %n файл\", \"Пропустити %n файли\", \"Пропустити %n файлів\", \"Пропустити %n файлів\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Пропустити цей файл\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Встановити ім'я\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Повернути\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Завантажте вміст або синхронізуйте з вашим пристроєм!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Коли вибрано вхідний каталог, будь-які файли з конфліктами буде також перезаписано.\"] }, { \"msgid\": \"When an incoming folder is selected, any files within it will also be overwritten.\", \"msgstr\": [\"Якщо буде вибрано вхідний каталог, будь-який файл в ньому буде також перезаписано.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Коли вибрано вхідний каталог, вміст буде записано до існуючого каталогу, а також виконано вирішення конфліктів всередині каталогу.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Які файли залишити?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Вас визначено як {nickname}.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Вас не ідентифіковано.\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Потрібно зазначити ім'я.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Треб вибрати щонайменше одне розв'язання конфлікту\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Треба вибрати щонайменше одну версію кожного файлу, щоби продовжити.\"] }] }, { \"language\": \"uz\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": ['Papka nomi ichida \"{char}\" ga ruxsat berilmaydi.'] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['Nom ichida \"{char}\" ga ruxsat berilmagan.'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": ['\"{extension}\" ruxsat etilgan nom emas.'] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [`\"{segment}\" ajratilgan nom bo'lib, papka nomlari uchun ruxsat berilmagan.`] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": ['\"{segment}\" - zaxiralangan nom va ruxsat berilmaydi.'] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n fayl ziddiyatli\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname} da %n fayl ziddiyati\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"Barcha fayllar\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"Bekor qilish\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Butun operatsiyani bekor qiling\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Tanlang\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Tanlang {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Tanlang %n faylni\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"Tasdiqlang\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"Davom eting\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Nusxa\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\" {target} ga nusxa\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Yangi jild yaratib bo‘lmadi\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Fayl sozlamalari yuklanmadi\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Fayllarni koʻrishni yuklab boʻlmadi\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Katalog yaratish\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Joriy ko'rinish selektori\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"Ismingizni kiriting\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"Mavjud versiya\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"Taxallusni o‘rnatib bo‘lmadi.\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Tanlanganlar\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tanlangan deb belgilagan fayl va papkalar shu yerda koʻrinadi.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Siz yaqinda oʻzgartirgan fayl va papkalar shu yerda koʻrinadi.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Fayl ro'yxatini filtrlash\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": ['Papka nomlari \"{extension}\" bilan tugamasligi kerak.'] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"Foydalanuvchini identifikatsiyalash\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Uy\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Agar siz ikkala versiyani tanlasangiz, kiruvchi fayl nomiga qo'shilgan raqamga ega bo'ladi.\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"Jild nomi noto'g'ri.\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"Nomi noto‘g‘ri.\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Oxirgi tahrirlangan sana noma'lum\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Modifikatsiyalangan\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Ko'chirish\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\" {target} ga ko'chirish\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Nomi\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"Ismlar ko'pi bilan 64 ta belgidan iborat bo'lishi mumkin.\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"Ismlar bo'sh bo'lmasligi kerak.\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": ['Ismlar \"{extension}\" bilan tugamasligi kerak.'] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"Ismlar nuqta bilan boshlanmasligi kerak.\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Yangi\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"Yangi jild\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"Yangi jild nomi\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"Yangi versiya\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"Fayl mavjud emas\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Filtringizga mos keladigan fayl topilmadi.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"Mos fayllar yo'q\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"Kamida 2 ta belgidan iborat nom kiriting.\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Yaqinda\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Barcha katakchalarni belgilang\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Barcha yozuvlarni tanlang\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Barcha mavjud fayllarni tanlang\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"Barcha yangi fayllarni tanlang\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Yozuvni tanlang\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} uchun qatorni tanlang\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"O`lcham\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"%n faylni oʻtkazib yuborish\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"Ushbu faylni o'tkazib yuboring\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"Ismni tasdiqlang\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Bekor qilish\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Qurilmangizga ba'zi kontentni yuklang yoki sinxronlang!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Kiruvchi papka tanlanganda, undagi har qanday ziddiyatli fayllar ham ustiga yoziladi.\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Kiruvchi papka tanlanganda, kontent mavjud jildga yoziladi va nizolarni rekursiv hal qilish amalga oshiriladi.\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Qaysi fayllarni saqlamoqchisiz?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"Siz hozirda {nickname} sifatida aniqlangansiz.\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"Siz hozirda identifikatsiyadan o'tmagansiz\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"Ism katagini bo'sh qoldirib bo'lmaydi.\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"Siz kamida bitta mojaro yechimini tanlashingiz kerak\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Davom etish uchun har bir faylning kamida bitta versiyasini tanlashingiz kerak.\"] }] }, { \"language\": \"vi\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" là tên thư mục không hợp lệ.'] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"1{name}\"không phải là tên thư mục được cho phép'] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\"không được phép đặt trong tên thư mục.'] }, { \"msgid\": \"All files\", \"msgstr\": [\"Tất cả tệp\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"Chọn\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Chọn {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Chọn %n tệp\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"Sao chép\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Sao chép đến {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Không thể tạo thư mục mới\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Không thể tải tập tin cài đặt\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Không thể tải xuống tệp xem\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"Tạo thư mục\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"Hiện tại chế độ xem của bộ chọn\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"Yêu cầu thích\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Các tập tin và thư mục bạn đánh dấu yêu thích sẽ hiển thị ở đây.\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Các tập tin và thư mục bạn sửa đổi gần đây sẽ hiển thị ở đây.\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter list file\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Thư mục tên không được để trống.\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"Trang chủ\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"Đã sửa đổi\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"Di chuyển\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Di chuyển đến{target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"Tên\"] }, { \"msgid\": \"New\", \"msgstr\": [\"Mới\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"New thư mục\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"New thư mục tên\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"No file at here\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Không tìm thấy tệp nào phù hợp với bộ lọc của bạn.\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"No file phù hợp\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"Gần đây\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"Choose all items\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"Chọn mục nhập\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Choose hang cho{nodename}\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"Kích cỡ\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"Hoàn tác\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Tải lên một số nội dung hoặc đồng bộ hóa với thiết bị của bạn!\"] }] }, { \"language\": \"zh_CN\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"“{name}” 是无效的文件夹名称。\"] }, { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"“{name}” 不是允许的文件夹名称\"] }, { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"文件夹名称中不允许包含 “/”。\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"所有文件\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"选择\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"选择 {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"选择 %n 个文件\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"复制\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"复制到 {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"无法创建新文件夹\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"无法加载文件设置\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"无法加载文件视图\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"创建目录\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"当前视图选择器\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"最爱\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您标记为最爱的文件与文件夹会显示在这里\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的文件与文件夹会显示在这里\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"过滤文件列表\"] }, { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"文件夹名称不能为空。\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"主目录\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移动\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移动至 {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名称\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新建\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新文件夹\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新文件夹名称\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"此处无文件\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您过滤条件的文件\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"无符合的文件\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"选择所有条目\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"选择条目\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"选择 {nodename} 的列\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\" 撤消\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上传一些项目或与您的设备同步!\"] }] }, { \"language\": \"zh_HK\", \"translations\": [{ \"msgid\": '\"{char}\" is not allowed inside a folder name.', \"msgstr\": [\"資料夾名稱中不允許使用「{char}」。\"] }, { \"msgid\": '\"{char}\" is not allowed inside a name.', \"msgstr\": ['名稱中不能使用 \"{char}\"。'] }, { \"msgid\": '\"{extension}\" is not an allowed name.', \"msgstr\": [\"「{extension}」並非允許的名稱。\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed for folder names.', \"msgstr\": [\"「{segment}」為保留名稱,不能用作資料夾名稱。\"] }, { \"msgid\": '\"{segment}\" is a reserved name and not allowed.', \"msgstr\": [\"「{segment}」是一個保留名稱,不能使用。\"] }, { \"msgid\": \"%n file conflict\", \"msgid_plural\": \"%n files conflict\", \"msgstr\": [\"%n 檔案衝突\"] }, { \"msgid\": \"%n file conflict in {dirname}\", \"msgid_plural\": \"%n file conflicts in {dirname}\", \"msgstr\": [\"{dirname} 中有 %n 個檔案衝突\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"所有檔案\"] }, { \"msgid\": \"Cancel\", \"msgstr\": [\"取消\"] }, { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"取消整個操作\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"選擇\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"選擇 {file}\"] }, { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"選擇 %n 個檔案\"] }, { \"msgid\": \"Confirm\", \"msgstr\": [\"確認\"] }, { \"msgid\": \"Continue\", \"msgstr\": [\"繼續\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"複製\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"複製到 {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"無法建立新資料夾\"] }, { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"無法載入檔案設定\"] }, { \"msgid\": \"Could not load files views\", \"msgstr\": [\"無法載入檔案視圖\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"建立目錄\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"目前視圖選擇器\"] }, { \"msgid\": \"Enter your name\", \"msgstr\": [\"輸入您的名字\"] }, { \"msgid\": \"Existing version\", \"msgstr\": [\"現有的版本\"] }, { \"msgid\": \"Failed to set nickname.\", \"msgstr\": [\"無法設置暱稱。\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"最愛\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您標記為最愛的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"過濾檔案清單\"] }, { \"msgid\": 'Folder names must not end with \"{extension}\".', \"msgstr\": [\"資料夾名稱不得以「{extension}」結尾。\"] }, { \"msgid\": \"Guest identification\", \"msgstr\": [\"訪客身份識別\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"首頁\"] }, { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"如果您選擇兩個版本,傳入的檔案名稱將會附加一個數字。\"] }, { \"msgid\": \"Invalid folder name.\", \"msgstr\": [\"無效的資料夾名稱。\"] }, { \"msgid\": \"Invalid name.\", \"msgstr\": [\"無效的名字。\"] }, { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"最後的修改日期不詳\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移動至 {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名稱\"] }, { \"msgid\": \"Names may be at most 64 characters long.\", \"msgstr\": [\"名稱長度最多為 64 個字元。\"] }, { \"msgid\": \"Names must not be empty.\", \"msgstr\": [\"名稱不能為空。\"] }, { \"msgid\": 'Names must not end with \"{extension}\".', \"msgstr\": [\"名稱不得以「{extension}」結尾。\"] }, { \"msgid\": \"Names must not start with a dot.\", \"msgstr\": [\"名稱不得以點開頭。\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新資料夾\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新資料夾名稱\"] }, { \"msgid\": \"New version\", \"msgstr\": [\"新版本\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"此處無檔案\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您過濾條件的檔案。\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"沒有匹配的檔案\"] }, { \"msgid\": \"Please enter a name with at least 2 characters.\", \"msgstr\": [\"請輸入至少 2 個字符的名稱。\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"選擇所有復選框\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"選擇所有項目\"] }, { \"msgid\": \"Select all existing files\", \"msgstr\": [\"選擇所有現有的檔案\"] }, { \"msgid\": \"Select all new files\", \"msgstr\": [\"選擇所有新檔案\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"選擇項目\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"選擇 {nodename} 的列\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, { \"msgid\": \"Skip %n file\", \"msgid_plural\": \"Skip %n files\", \"msgstr\": [\"跳過 %n 個檔案\"] }, { \"msgid\": \"Skip this file\", \"msgstr\": [\"跳過此檔案\"] }, { \"msgid\": \"Submit name\", \"msgstr\": [\"遞交名字\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"還原\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上傳一些內容或與您的裝置同步!\"] }, { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"選取傳入資料夾時,其中任何衝突的檔案也將被覆蓋。\"] }, { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"當選取傳入資料夾時,內容將寫入現有資料夾,並執行遞歸衝突解決。\"] }, { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"你想保留哪些檔案?\"] }, { \"msgid\": \"You are currently identified as {nickname}.\", \"msgstr\": [\"您目前被識別為 {nickname}。\"] }, { \"msgid\": \"You are currently not identified.\", \"msgstr\": [\"您目前尚未被識別。\"] }, { \"msgid\": \"You cannot leave the name empty.\", \"msgstr\": [\"名稱不能留空。\"] }, { \"msgid\": \"You need to choose at least one conflict solution\", \"msgstr\": [\"你需要選擇至少一種衝突解決方案。\"] }, { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"您必須選擇每個文件的至少一個版本才能繼續。\"] }] }, { \"language\": \"zh_TW\", \"translations\": [{ \"msgid\": '\"{name}\" is an invalid file name.', \"msgstr\": [\"「{name}」是無效的檔案名稱。\"] }, { \"msgid\": '\"{name}\" is not an allowed filetype', \"msgstr\": [\"「{name}」並非允許的檔案類型\"] }, { \"msgid\": '\"/\" is not allowed inside a file name.', \"msgstr\": [\"檔案名稱中不允許使用「/」。\"] }, { \"msgid\": \"All files\", \"msgstr\": [\"所有檔案\"] }, { \"msgid\": \"Choose\", \"msgstr\": [\"選擇\"] }, { \"msgid\": \"Choose {file}\", \"msgstr\": [\"選擇 {file}\"] }, { \"msgid\": \"Copy\", \"msgstr\": [\"複製\"] }, { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"複製到 {target}\"] }, { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"無法建立新資料夾\"] }, { \"msgid\": \"Create directory\", \"msgstr\": [\"建立目錄\"] }, { \"msgid\": \"Current view selector\", \"msgstr\": [\"目前檢視選取器\"] }, { \"msgid\": \"Favorites\", \"msgstr\": [\"最愛\"] }, { \"msgid\": \"File name cannot be empty.\", \"msgstr\": [\"檔案名稱不能為空。\"] }, { \"msgid\": \"Filepicker sections\", \"msgstr\": [\"檔案挑選器選取\"] }, { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您標記為最愛的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的檔案與資料夾將會顯示在此處。\"] }, { \"msgid\": \"Filter file list\", \"msgstr\": [\"過濾檔案清單\"] }, { \"msgid\": \"Home\", \"msgstr\": [\"家\"] }, { \"msgid\": \"Mime type {mime}\", \"msgstr\": [\"Mime type {mime}\"] }, { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移動至 {target}\"] }, { \"msgid\": \"Name\", \"msgstr\": [\"名稱\"] }, { \"msgid\": \"New\", \"msgstr\": [\"新\"] }, { \"msgid\": \"New folder\", \"msgstr\": [\"新資料夾\"] }, { \"msgid\": \"New folder name\", \"msgstr\": [\"新資料夾名稱\"] }, { \"msgid\": \"No files in here\", \"msgstr\": [\"此處無檔案\"] }, { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您過濾條件的檔案。\"] }, { \"msgid\": \"No matching files\", \"msgstr\": [\"無符合的檔案\"] }, { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, { \"msgid\": \"Select all entries\", \"msgstr\": [\"選取所有條目\"] }, { \"msgid\": \"Select entry\", \"msgstr\": [\"選取條目\"] }, { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"選取 {nodename} 的列\"] }, { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, { \"msgid\": \"Undo\", \"msgstr\": [\"復原\"] }, { \"msgid\": \"unknown\", \"msgstr\": [\"未知\"] }, { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上傳一些內容或與您的裝置同步\"] }] }]) {\n const { language, translations } = data;\n const bundle = {\n headers: {},\n translations: {\n \"\": Object.fromEntries(translations.map((translation) => [translation.msgid, translation]))\n }\n };\n gtBuilder.addTranslation(language, bundle);\n}\nconst gt = gtBuilder.build();\nconst n = gt.ngettext.bind(gt);\nconst t = gt.gettext.bind(gt);\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/dialogs\").detectLogLevel().build();\nvar FilePickerType = /* @__PURE__ */ ((FilePickerType2) => {\n FilePickerType2[FilePickerType2[\"Choose\"] = 1] = \"Choose\";\n FilePickerType2[FilePickerType2[\"Move\"] = 2] = \"Move\";\n FilePickerType2[FilePickerType2[\"Copy\"] = 3] = \"Copy\";\n FilePickerType2[FilePickerType2[\"CopyMove\"] = 4] = \"CopyMove\";\n FilePickerType2[FilePickerType2[\"Custom\"] = 5] = \"Custom\";\n return FilePickerType2;\n})(FilePickerType || {});\nclass FilePickerClosed extends Error {\n}\nclass FilePicker {\n title;\n multiSelect;\n mimeTypeFilter;\n directoriesAllowed;\n noMenu;\n buttons;\n path;\n filter;\n canPick;\n container;\n disabledNavigation;\n constructor(title, multiSelect, mimeTypeFilter, directoriesAllowed, noMenu, buttons, path, filter, canPick, container, disabledNavigation = false) {\n this.title = title;\n this.multiSelect = multiSelect;\n this.mimeTypeFilter = mimeTypeFilter;\n this.directoriesAllowed = directoriesAllowed;\n this.noMenu = noMenu;\n this.path = path;\n this.filter = filter;\n this.canPick = canPick;\n this.buttons = buttons;\n this.container = container;\n this.disabledNavigation = disabledNavigation;\n }\n /**\n * Pick files using the FilePicker.\n *\n * @return Promise with array of picked files or rejected promise on close without picking\n */\n async pickNodes() {\n const { default: FilePickerVue } = await import(\"./FilePicker.mjs\");\n const nodes = await spawnDialog(FilePickerVue, {\n allowPickDirectory: this.directoriesAllowed,\n noMenu: this.noMenu,\n buttons: this.buttons,\n name: this.title,\n path: this.path,\n mimetypeFilter: this.mimeTypeFilter,\n multiselect: this.multiSelect,\n filterFn: this.filter,\n canPickFn: this.canPick,\n disabledNavigation: this.disabledNavigation\n }, {\n container: this.container\n });\n if (!Array.isArray(nodes) || nodes.length === 0) {\n throw new FilePickerClosed(\"FilePicker: No nodes selected\");\n }\n return nodes;\n }\n /**\n * Pick files using the FilePicker\n *\n * @return Promise with array of paths of picked files or rejected promise on close without picking\n */\n async pick() {\n const nodes = await this.pickNodes();\n if (this.multiSelect) {\n return nodes.map((node) => node.path);\n }\n const path = nodes[0]?.path ?? \"/\";\n return path;\n }\n}\nclass FilePickerBuilder {\n title;\n multiSelect = false;\n mimeTypeFilter = [];\n directoriesAllowed = false;\n noMenu = false;\n path;\n filter;\n canPick;\n buttons = [];\n container;\n disabledNavigation = false;\n /**\n * Construct a new FilePicker\n *\n * @param title Title of the FilePicker\n */\n constructor(title) {\n this.title = title;\n }\n /**\n * Set the container where the FilePicker will be mounted\n * By default 'body' is used\n *\n * @param container The dialog container\n */\n setContainer(container) {\n this.container = container;\n return this;\n }\n /**\n * Enable or disable picking multiple files\n *\n * @param ms True to enable picking multiple files, false otherwise\n */\n setMultiSelect(ms) {\n this.multiSelect = ms;\n return this;\n }\n /**\n * Add allowed MIME type\n *\n * @param filter MIME type to allow\n */\n addMimeTypeFilter(filter) {\n this.mimeTypeFilter.push(filter);\n return this;\n }\n /**\n * Set allowed MIME types\n *\n * @param filter Array of allowed MIME types\n */\n setMimeTypeFilter(filter) {\n this.mimeTypeFilter = filter;\n return this;\n }\n /**\n * Add a button to the FilePicker\n * Note: This overrides any previous `setButtonFactory` call\n *\n * @param button The button\n */\n addButton(button) {\n if (typeof this.buttons === \"function\") {\n logger.warn(\"FilePicker buttons were set to factory, now overwritten with button object.\");\n this.buttons = [];\n }\n this.buttons.push(button);\n return this;\n }\n /**\n * Set the button factory which is used to generate buttons from current view, path and selected nodes\n * Note: This overrides any previous `addButton` call\n *\n * @param factory The button factory\n */\n setButtonFactory(factory) {\n this.buttons = factory;\n return this;\n }\n /**\n * Set FilePicker type based on legacy file picker types\n *\n * @param type The legacy filepicker type to emulate\n * @deprecated Use `addButton` or `setButtonFactory` instead as with setType you do not know which button was pressed\n */\n setType(type) {\n this.buttons = (nodes, path) => {\n const buttons = [];\n const node = nodes[0];\n const target = node?.displayname || basename(path);\n if (type === 1) {\n let label = t(\"Choose\");\n if (nodes.length === 1) {\n label = t(\"Choose {file}\", { file: target });\n } else if (this.multiSelect) {\n label = n(\"Choose %n file\", \"Choose %n files\", nodes.length);\n }\n buttons.push({\n callback: () => {\n },\n label,\n variant: \"primary\"\n });\n }\n if (type === 4 || type === 3) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Copy to {target}\", { target }) : t(\"Copy\"),\n icon: IconCopy,\n variant: type === 3 ? \"primary\" : \"secondary\"\n });\n }\n if (type === 4 || type === 2) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Move to {target}\", { target }) : t(\"Move\"),\n icon: IconMove,\n variant: \"primary\"\n // move is always primary - also on copy-move\n });\n }\n return buttons;\n };\n return this;\n }\n /**\n * Allow to pick directories besides files\n *\n * @param allow True to allow picking directories\n */\n allowDirectories(allow = true) {\n this.directoriesAllowed = allow;\n return this;\n }\n /**\n * Allow to create New folders\n *\n * @param noMenu True to hide menu\n */\n setNoMenu(noMenu = true) {\n this.noMenu = noMenu;\n return this;\n }\n /**\n * Set starting path of the FilePicker\n *\n * @param path Path to start from picking\n */\n startAt(path) {\n this.path = path;\n return this;\n }\n /**\n * Add filter function to filter file list of FilePicker\n *\n * @param filter Filter function to apply\n */\n setFilter(filter) {\n this.filter = filter;\n return this;\n }\n /**\n * Add function to allow or not picking a node\n *\n * @param canPick Function to decide if a node can be picked\n */\n setCanPick(canPick) {\n this.canPick = canPick;\n return this;\n }\n /**\n * Disable navigation (view selection)\n */\n disableNavigation() {\n this.disabledNavigation = true;\n return this;\n }\n /**\n * Construct the configured FilePicker\n */\n build() {\n return new FilePicker(\n this.title,\n this.multiSelect,\n this.mimeTypeFilter,\n this.directoriesAllowed,\n this.noMenu,\n this.buttons,\n this.path,\n this.filter,\n this.canPick,\n this.container,\n this.disabledNavigation\n );\n }\n}\nfunction getFilePickerBuilder(title) {\n return new FilePickerBuilder(title);\n}\nasync function showGuestUserPrompt(props) {\n const name = await spawnDialog(\n defineAsyncComponent(() => import(\"./PublicAuthPrompt.mjs\")),\n props\n );\n return name;\n}\nconst LoaderSvg = '\\n\t\\n\t\\n\\n';\nvar ToastType = /* @__PURE__ */ ((ToastType2) => {\n ToastType2[\"ERROR\"] = \"toast-error\";\n ToastType2[\"WARNING\"] = \"toast-warning\";\n ToastType2[\"INFO\"] = \"toast-info\";\n ToastType2[\"SUCCESS\"] = \"toast-success\";\n ToastType2[\"UNDO\"] = \"toast-undo\";\n ToastType2[\"LOADING\"] = \"toast-loading\";\n return ToastType2;\n})(ToastType || {});\nconst TOAST_ARIA_LIVE_OFF = \"off\";\nconst TOAST_ARIA_LIVE_POLITE = \"polite\";\nconst TOAST_ARIA_LIVE_ASSERTIVE = \"assertive\";\nvar ToastAriaLive = /* @__PURE__ */ ((ToastAriaLive2) => {\n ToastAriaLive2[ToastAriaLive2[\"OFF\"] = TOAST_ARIA_LIVE_OFF] = \"OFF\";\n ToastAriaLive2[ToastAriaLive2[\"POLITE\"] = TOAST_ARIA_LIVE_POLITE] = \"POLITE\";\n ToastAriaLive2[ToastAriaLive2[\"ASSERTIVE\"] = TOAST_ARIA_LIVE_ASSERTIVE] = \"ASSERTIVE\";\n return ToastAriaLive2;\n})(ToastAriaLive || {});\nconst TOAST_UNDO_TIMEOUT = 1e4;\nconst TOAST_DEFAULT_TIMEOUT = 7e3;\nconst TOAST_PERMANENT_TIMEOUT = -1;\nfunction showMessage(data, options) {\n options = {\n timeout: TOAST_DEFAULT_TIMEOUT,\n isHTML: false,\n type: void 0,\n // An undefined selector defaults to the body element\n selector: void 0,\n onRemove: () => {\n },\n onClick: void 0,\n close: true,\n ...options\n };\n if (typeof data === \"string\" && !options.isHTML) {\n const element = document.createElement(\"div\");\n element.innerHTML = data;\n data = element.innerText;\n }\n let classes = options.type ?? \"\";\n if (typeof options.onClick === \"function\") {\n classes += \" toast-with-click \";\n }\n const isNode = data instanceof Node;\n let ariaLive = ToastAriaLive.POLITE;\n if (options.ariaLive) {\n ariaLive = options.ariaLive;\n } else if (options.type === \"toast-error\" || options.type === \"toast-undo\") {\n ariaLive = ToastAriaLive.ASSERTIVE;\n }\n const toast = Toastify({\n [!isNode ? \"text\" : \"node\"]: data,\n duration: options.timeout,\n callback: options.onRemove,\n onClick: options.onClick,\n close: options.close,\n gravity: \"top\",\n selector: options.selector,\n position: \"right\",\n backgroundColor: \"\",\n className: \"dialogs \" + classes,\n escapeMarkup: !options.isHTML,\n ariaLive\n });\n toast.showToast();\n return toast;\n}\nfunction showError(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-error\"\n /* ERROR */\n });\n}\nfunction showWarning(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-warning\"\n /* WARNING */\n });\n}\nfunction showInfo(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-info\"\n /* INFO */\n });\n}\nfunction showSuccess(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-success\"\n /* SUCCESS */\n });\n}\nfunction showLoading(text, options) {\n const loader = document.createElement(\"span\");\n loader.innerHTML = LoaderSvg;\n loader.classList.add(\"toast-loader\");\n const loaderContent = document.createElement(\"span\");\n loaderContent.classList.add(\"toast-loader-container\");\n loaderContent.innerText = text;\n loaderContent.appendChild(loader);\n return showMessage(loaderContent, {\n ...options,\n close: false,\n timeout: TOAST_PERMANENT_TIMEOUT,\n type: \"toast-loading\"\n /* LOADING */\n });\n}\nfunction showUndo(text, onUndo, options) {\n if (!(onUndo instanceof Function)) {\n throw new Error(\"Please provide a valid onUndo method\");\n }\n options = Object.assign(options || {}, {\n // force 10 seconds of timeout\n timeout: TOAST_UNDO_TIMEOUT\n });\n const undoContent = document.createElement(\"span\");\n const undoButton = document.createElement(\"button\");\n undoContent.classList.add(\"toast-undo-container\");\n undoButton.classList.add(\"toast-undo-button\");\n undoButton.innerText = t(\"Undo\");\n undoContent.innerText = text;\n undoContent.appendChild(undoButton);\n const toast = showMessage(undoContent, {\n ...options,\n type: \"toast-undo\"\n /* UNDO */\n });\n undoButton.addEventListener(\"click\", function(event) {\n event.stopPropagation();\n onUndo(event);\n if (toast?.hideToast instanceof Function) {\n toast.hideToast();\n }\n });\n return toast;\n}\nconst _hoisted_1 = [\"textContent\"];\nconst _hoisted_2 = [\"innerHTML\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"GenericDialog\",\n props: {\n name: {},\n text: {},\n html: {},\n buttons: {},\n severity: {}\n },\n emits: [\"close\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emit = __emit;\n const dialogButtons = computed(() => props.buttons?.map((button) => ({\n ...button,\n callback() {\n button.callback();\n emit(\"close\", true);\n }\n })));\n const handleUnload = () => `${props.name}: ${props.text}`;\n onMounted(() => window.addEventListener(\"unload\", handleUnload));\n onUnmounted(() => window.removeEventListener(\"unload\", handleUnload));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcDialog), {\n dialogClasses: \"nc-generic-dialog\",\n buttons: dialogButtons.value,\n name: __props.name,\n message: __props.text,\n \"onUpdate:open\": _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"close\", false))\n }, {\n default: withCtx(() => [\n __props.severity ? (openBlock(), createBlock(unref(NcNoteCard), {\n key: 0,\n type: __props.severity\n }, {\n default: withCtx(() => [\n createElementVNode(\"p\", {\n textContent: toDisplayString(__props.text)\n }, null, 8, _hoisted_1)\n ]),\n _: 1\n }, 8, [\"type\"])) : createCommentVNode(\"\", true),\n __props.html ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n innerHTML: __props.html\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"buttons\", \"name\", \"message\"]);\n };\n }\n});\nclass Dialog {\n #name;\n #text;\n #buttons;\n #severity;\n constructor(name, text, buttons = [], severity) {\n this.#name = name;\n this.#text = text;\n this.#buttons = buttons;\n this.#severity = severity;\n }\n /**\n * Spawn and show the dialog - if already open the previous instance will be destroyed\n *\n * @return Promise that resolves when the dialog is answered successfully and rejects on close\n */\n async show() {\n const result = await spawnDialog(\n _sfc_main,\n {\n buttons: this.#buttons,\n name: this.#name,\n text: this.#text,\n severity: this.#severity\n }\n );\n if (!result) {\n throw new Error(\"Dialog closed\");\n }\n }\n}\nclass DialogBuilder {\n #severity;\n #text;\n #name;\n #buttons;\n constructor(name) {\n this.#severity = void 0;\n this.#text = \"\";\n this.#name = name ?? \"\";\n this.#buttons = [];\n }\n /**\n * Set dialog name\n *\n * @param name The name or headline of the dialog\n */\n setName(name) {\n this.#name = name;\n return this;\n }\n /**\n * Set the dialog text\n *\n * @param text Main text of the dialog\n */\n setText(text) {\n this.#text = text;\n return this;\n }\n /**\n * Set the severity of the dialog\n *\n * @param severity Severity of the dialog\n */\n setSeverity(severity) {\n this.#severity = severity;\n return this;\n }\n /**\n * Set buttons from array\n *\n * @param buttons Either an array of dialog buttons\n */\n setButtons(buttons) {\n if (this.#buttons.length > 0) {\n logger.warn(\"[@nextcloud/dialogs] Dialog buttons are already set - this overrides previous buttons.\");\n }\n this.#buttons = buttons;\n return this;\n }\n /**\n * Add a single button\n *\n * @param button Button to add\n */\n addButton(button) {\n this.#buttons.push(button);\n return this;\n }\n build() {\n return new Dialog(this.#name, this.#text, this.#buttons, this.#severity);\n }\n}\nfunction getDialogBuilder(name) {\n return new DialogBuilder(name);\n}\nasync function showConfirmation(options) {\n options = {\n labelConfirm: t(\"Confirm\"),\n ...options\n };\n const { promise, resolve } = Promise.withResolvers();\n const buttons = [{\n label: options.labelConfirm,\n variant: \"primary\",\n callback() {\n resolve(true);\n }\n }];\n if (options.labelReject) {\n buttons.unshift({\n label: options.labelReject,\n callback() {\n resolve(false);\n }\n });\n }\n const dialog = new Dialog(\n options.name,\n options.text,\n buttons,\n options.severity\n );\n await dialog.show();\n return promise;\n}\nexport {\n Dialog as D,\n FilePicker as F,\n TOAST_ARIA_LIVE_ASSERTIVE as T,\n DialogBuilder as a,\n FilePickerBuilder as b,\n FilePickerClosed as c,\n FilePickerType as d,\n TOAST_ARIA_LIVE_OFF as e,\n TOAST_ARIA_LIVE_POLITE as f,\n TOAST_DEFAULT_TIMEOUT as g,\n TOAST_PERMANENT_TIMEOUT as h,\n TOAST_UNDO_TIMEOUT as i,\n ToastAriaLive as j,\n ToastType as k,\n logger as l,\n getDialogBuilder as m,\n n,\n getFilePickerBuilder as o,\n openConflictPicker as p,\n showConfirmation as q,\n showGuestUserPrompt as r,\n showError as s,\n t,\n showInfo as u,\n showLoading as v,\n showMessage as w,\n showSuccess as x,\n showUndo as y,\n showWarning as z\n};\n//# sourceMappingURL=index.mjs.map\n"],"file":"index-9np_X5jS.chunk.mjs"} \ No newline at end of file diff --git a/dist/index--CXeJKGn.chunk.mjs.map.license b/dist/index-9np_X5jS.chunk.mjs.map.license similarity index 100% rename from dist/index--CXeJKGn.chunk.mjs.map.license rename to dist/index-9np_X5jS.chunk.mjs.map.license diff --git a/dist/index-CpA8_zX5.chunk.mjs b/dist/index-CpA8_zX5.chunk.mjs new file mode 100644 index 0000000000000..393a8572807d1 --- /dev/null +++ b/dist/index-CpA8_zX5.chunk.mjs @@ -0,0 +1,9 @@ +import{ao as Ct}from"./Web-X6XNrbMx.chunk.mjs";import{t as It}from"./index-BRcsAfAF.chunk.mjs";var Bt={},Bn={2(n){function t(i,s,o){i instanceof RegExp&&(i=e(i,o)),s instanceof RegExp&&(s=e(s,o));var a=r(i,s,o);return a&&{start:a[0],end:a[1],pre:o.slice(0,a[0]),body:o.slice(a[0]+i.length,a[1]),post:o.slice(a[1]+s.length)}}function e(i,s){var o=s.match(i);return o?o[0]:null}function r(i,s,o){var a,l,u,c,h,p=o.indexOf(i),m=o.indexOf(s,p+1),g=p;if(p>=0&&m>0){for(a=[],u=o.length;g>=0&&!h;)g==p?(a.push(g),p=o.indexOf(i,g+1)):a.length==1?h=[a.pop(),m]:((l=a.pop())=0?p:m;a.length&&(h=[u,c])}return h}n.exports=t,t.range=r},101(n,t,e){var r;n=e.nmd(n),(function(){var i=(n&&n.exports,typeof Ct=="object"&&Ct);i.global!==i&&i.window;var s=function(c){this.message=c};(s.prototype=new Error).name="InvalidCharacterError";var o=function(c){throw new s(c)},a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=/[\t\n\f\r ]/g,u={encode:function(c){c=String(c),/[^\0-\xFF]/.test(c)&&o("The string to be encoded contains characters outside of the Latin1 range.");for(var h,p,m,g,f=c.length%3,d="",b=-1,y=c.length-f;++b>18&63)+a.charAt(g>>12&63)+a.charAt(g>>6&63)+a.charAt(63&g);return f==2?(h=c.charCodeAt(b)<<8,p=c.charCodeAt(++b),d+=a.charAt((g=h+p)>>10)+a.charAt(g>>4&63)+a.charAt(g<<2&63)+"="):f==1&&(g=c.charCodeAt(b),d+=a.charAt(g>>2)+a.charAt(g<<4&63)+"=="),d},decode:function(c){var h=(c=String(c).replace(l,"")).length;h%4==0&&(h=(c=c.replace(/==?$/,"")).length),(h%4==1||/[^+a-zA-Z0-9/]/.test(c))&&o("Invalid character: the string to be decoded is not correctly encoded.");for(var p,m,g=0,f="",d=-1;++d>(-2*g&6)));return f},version:"1.0.0"};(r=function(){return u}.call(t,e,t,n))===void 0||(n.exports=r)})()},172(n,t){t.d=function(e){if(!e)return 0;for(var r=(e=e.toString()).length,i=e.length;i--;){var s=e.charCodeAt(i);56320<=s&&s<=57343&&i--,127>>32-i},rotr:function(r,i){return r<<32-i|r>>>i},endian:function(r){if(r.constructor==Number)return 16711935&e.rotl(r,8)|4278255360&e.rotl(r,24);for(var i=0;i0;r--)i.push(Math.floor(256*Math.random()));return i},bytesToWords:function(r){for(var i=[],s=0,o=0;s>>5]|=r[s]<<24-o%32;return i},wordsToBytes:function(r){for(var i=[],s=0;s<32*r.length;s+=8)i.push(r[s>>>5]>>>24-s%32&255);return i},bytesToHex:function(r){for(var i=[],s=0;s>>4).toString(16)),i.push((15&r[s]).toString(16));return i.join("")},hexToBytes:function(r){for(var i=[],s=0;s>>6*(3-a)&63)):i.push("=");return i.join("")},base64ToBytes:function(r){r=r.replace(/[^A-Z0-9+\/]/gi,"");for(var i=[],s=0,o=0;s>>6-2*o);return i}},n.exports=e},135(n){function t(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}n.exports=function(e){return e!=null&&(t(e)||(function(r){return typeof r.readFloatLE=="function"&&typeof r.slice=="function"&&t(r.slice(0,0))})(e)||!!e._isBuffer)}},542(n,t,e){(function(){var r=e(298),i=e(526).utf8,s=e(135),o=e(526).bin,a=function(l,u){l.constructor==String?l=u&&u.encoding==="binary"?o.stringToBytes(l):i.stringToBytes(l):s(l)?l=Array.prototype.slice.call(l,0):Array.isArray(l)||l.constructor===Uint8Array||(l=l.toString());for(var c=r.bytesToWords(l),h=8*l.length,p=1732584193,m=-271733879,g=-1732584194,f=271733878,d=0;d>>24)|4278255360&(c[d]<<24|c[d]>>>8);c[h>>>5]|=128<>>9<<4)]=h;var b=a._ff,y=a._gg,x=a._hh,v=a._ii;for(d=0;d>>0,m=m+E>>>0,g=g+N>>>0,f=f+S>>>0}return r.endian([p,m,g,f])};a._ff=function(l,u,c,h,p,m,g){var f=l+(u&c|~u&h)+(p>>>0)+g;return(f<>>32-m)+u},a._gg=function(l,u,c,h,p,m,g){var f=l+(u&h|c&~h)+(p>>>0)+g;return(f<>>32-m)+u},a._hh=function(l,u,c,h,p,m,g){var f=l+(u^c^h)+(p>>>0)+g;return(f<>>32-m)+u},a._ii=function(l,u,c,h,p,m,g){var f=l+(c^(u|~h))+(p>>>0)+g;return(f<>>32-m)+u},a._blocksize=16,a._digestsize=16,n.exports=function(l,u){if(l==null)throw new Error("Illegal argument "+l);var c=r.wordsToBytes(a(l,u));return u&&u.asBytes?c:u&&u.asString?o.bytesToString(c):r.bytesToHex(c)}})()},285(n,t,e){var r=e(2);n.exports=function(x,v){if(!x)return[];var w=(v=v||{}).max==null?1e5:v.max,E=v.maxLength==null?4e6:v.maxLength;return x.substr(0,2)==="{}"&&(x="\\{\\}"+x.substr(2)),y((function(N){return N.split("\\\\").join(i).split("\\{").join(s).split("\\}").join(o).split("\\,").join(a).split("\\.").join(l)})(x),w,E,!0).map(c)};var i="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",o="\0CLOSE"+Math.random()+"\0",a="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function u(x){return parseInt(x,10)==x?parseInt(x,10):x.charCodeAt(0)}function c(x){return x.split(i).join("\\").split(s).join("{").split(o).join("}").split(a).join(",").split(l).join(".")}function h(x){if(!x)return[""];var v=[],w=r("{","}",x);if(!w)return x.split(",");var E=w.pre,N=w.body,S=w.post,T=E.split(",");T[T.length-1]+="{"+N+"}";var P=h(S);return S.length&&(T[T.length-1]+=P.shift(),T.push.apply(T,P)),v.push.apply(v,T),v}function p(x){return"{"+x+"}"}function m(x){return/^-?0\d/.test(x)}function g(x,v){return x<=v}function f(x,v){return x>=v}function d(x,v,w,E,N,S){for(var T=[],P=0,M=0;M=E)return T;var A=x[M]+v+w[J];if(!S||A){if(P+A.length>N)return T;T.push(A),P+=A.length}}return T}function b(x,v,w,E){var N=x.split(/\.\./),S=[];if(N[0]===void 0||N[1]===void 0)return S;var T=u(N[0]),P=u(N[1]),M=Math.max(N[0].length,N[1].length),J=N.length===3&&N[2]!==void 0?Math.max(Math.abs(u(N[2])),1):1,A=g;P0){var et=new Array(W+1).join("0");j=K<0?"-"+et+j.slice(1):et+j}}if(Y+j.length>E)break;S.push(j),Y+=j.length}return S}function y(x,v,w,E){for(var N=[""],S=!1,T=!0;;){const C=r("{","}",x);if(!C)return d(N,x,[""],v,w,S);const lt=C.pre;if(/\$$/.test(lt)){if(N=d(N,lt+"{"+C.body+"}",[""],v,w,S&&!C.post.length),T=!1,!C.post.length)break;x=C.post}else{var P,M=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(C.body),J=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(C.body),A=M||J,ot=C.body.indexOf(",")>=0;if(!A&&!ot){if(C.post.match(/,(?!,).*\}/)){x=C.pre+"{"+C.body+o+C.post,E=!0;continue}return d(N,lt+"{"+C.body+"}"+C.post,[""],v,w,S)}if(T&&(S=E&&!A,T=!1),A)P=b(C.body,J,v,w);else{var Y=h(C.body);if(Y.length===1&&Y[0]!==void 0&&(Y=y(Y[0],v,w,!1).map(p)).length===1){if(N=d(N,lt+Y[0],[""],v,w,S&&!C.post.length),!C.post.length)break;x=C.post;continue}for(var K=S&&!C.post.length&&!lt,j=0;K&&j=v||W+$t.length>w)break t;P.push($t),W+=$t.length}}}if(N=d(N,lt,P,v,w,S&&!C.post.length),!C.post.length)break;x=C.post}}return N}},829(n){function t(u){return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(c){return typeof c}:function(c){return c&&typeof Symbol=="function"&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c},t(u)}function e(u){var c=typeof Map=="function"?new Map:void 0;return e=function(h){if(h===null||(p=h,Function.toString.call(p).indexOf("[native code]")===-1))return h;var p;if(typeof h!="function")throw new TypeError("Super expression must either be null or a function");if(c!==void 0){if(c.has(h))return c.get(h);c.set(h,m)}function m(){return r(h,arguments,s(this).constructor)}return m.prototype=Object.create(h.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}),i(m,h)},e(u)}function r(u,c,h){return r=(function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch{return!1}})()?Reflect.construct:function(p,m,g){var f=[null];f.push.apply(f,m);var d=new(Function.bind.apply(p,f));return g&&i(d,g.prototype),d},r.apply(null,arguments)}function i(u,c){return i=Object.setPrototypeOf||function(h,p){return h.__proto__=p,h},i(u,c)}function s(u){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(c){return c.__proto__||Object.getPrototypeOf(c)},s(u)}var o=(function(u){function c(h){var p;return(function(m,g){if(!(m instanceof g))throw new TypeError("Cannot call a class as a function")})(this,c),(p=(function(m,g){return!g||t(g)!=="object"&&typeof g!="function"?(function(f){if(f===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f})(m):g})(this,s(c).call(this,h))).name="ObjectPrototypeMutationError",p}return(function(h,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function");h.prototype=Object.create(p&&p.prototype,{constructor:{value:h,writable:!0,configurable:!0}}),p&&i(h,p)})(c,u),c})(e(Error));function a(u,c){for(var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},p=c.split("."),m=p.length,g=function(b){var y=p[b];if(!u)return{v:void 0};if(y==="+"){if(Array.isArray(u))return{v:u.map((function(v,w){var E=p.slice(b+1);return E.length>0?a(v,E.join("."),h):h(u,w,p,b)}))};var x=p.slice(0,b).join(".");throw new Error("Object at wildcard (".concat(x,") is not an array"))}u=h(u,y,p,b)},f=0;f2&&arguments[2]!==void 0?arguments[2]:{};if(t(u)!="object"||u===null||c===void 0)return!1;if(typeof c=="number")return c in u;try{var p=!1;return a(u,c,(function(m,g,f,d){if(!l(f,d))return m&&m[g];p=h.own?m.hasOwnProperty(g):g in m})),p}catch{return!1}},hasOwn:function(u,c,h){return this.has(u,c,h||{own:!0})},isIn:function(u,c,h){var p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(t(u)!="object"||u===null||c===void 0)return!1;try{var m=!1,g=!1;return a(u,c,(function(f,d,b,y){return m=m||f===h||!!f&&f[d]===h,g=l(b,y)&&t(f)==="object"&&d in f,f&&f[d]})),p.validPath?m&&g:m}catch{return!1}},ObjectPrototypeMutationError:o}},47(n,t,e){var r=e(410),i=function(u){return typeof u=="string"};function s(u,c){for(var h=[],p=0;p=-1&&!c;h--){var p=h>=0?arguments[h]:It.cwd();if(!i(p))throw new TypeError("Arguments to path.resolve must be strings");p&&(u=p+"/"+u,c=p.charAt(0)==="/")}return(c?"/":"")+(u=s(u.split("/"),!c).join("/"))||"."},a.normalize=function(u){var c=a.isAbsolute(u),h=u.substr(-1)==="/";return(u=s(u.split("/"),!c).join("/"))||c||(u="."),u&&h&&(u+="/"),(c?"/":"")+u},a.isAbsolute=function(u){return u.charAt(0)==="/"},a.join=function(){for(var u="",c=0;c=0&&y[v]==="";v--);return x>v?[]:y.slice(x,v+1)}u=a.resolve(u).substr(1),c=a.resolve(c).substr(1);for(var p=h(u.split("/")),m=h(c.split("/")),g=Math.min(p.length,m.length),f=g,d=0;d=2&&(v=v.slice(2)):f(E)?v=w[4]:E?N&&(v=v.slice(2)):T>=2&&f(x.protocol)&&(v=w[4]),{protocol:E,slashes:N||f(E),slashesCount:T,rest:v}}function b(y,x,v){if(y=(y=h(y)).replace(o,""),!(this instanceof b))return new b(y,x,v);var w,E,N,S,T,P,M=p.slice(),J=typeof x,A=this,ot=0;for(J!=="object"&&J!=="string"&&(v=x,x=null),v&&typeof v!="function"&&(v=i.parse),w=!(E=d(y||"",x=g(x))).protocol&&!E.slashes,A.slashes=E.slashes||w&&x.slashes,A.protocol=E.protocol||x.protocol||"",y=E.rest,(E.protocol==="file:"&&(E.slashesCount!==2||c.test(y))||!E.slashes&&(E.protocol||E.slashesCount<2||!f(A.protocol)))&&(M[3]=[/(.*)/,"pathname"]);ot{var t=n&&n.__esModule?()=>n.default:()=>n;return $.d(t,{a:t}),t},$.d=(n,t)=>{for(var e in t)$.o(t,e)&&!$.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})},$.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t),$.nmd=n=>(n.paths=[],n.children||(n.children=[]),n);var Wn=$(737),Gn=$.n(Wn);function Wt(n){if(!re(n))throw new Error("Parameter was not an error")}function re(n){return!!n&&typeof n=="object"&&(t=n,Object.prototype.toString.call(t)==="[object Error]")||n instanceof Error;var t}class B extends Error{constructor(t,e){const r=[...arguments],{options:i,shortMessage:s}=(function(a){let l,u="";if(a.length===0)l={};else if(re(a[0]))l={cause:a[0]},u=a.slice(1).join(" ")||"";else if(a[0]&&typeof a[0]=="object")l=Object.assign({},a[0]),u=a.slice(1).join(" ")||"";else{if(typeof a[0]!="string")throw new Error("Invalid arguments passed to Layerr");l={},u=u=a.join(" ")||""}return{options:l,shortMessage:u}})(r);let o=s;if(i.cause&&(o=`${o}: ${i.cause.message}`),super(o),this.message=o,i.name&&typeof i.name=="string"?this.name=i.name:this.name="Layerr",i.cause&&Object.defineProperty(this,"_cause",{value:i.cause}),Object.defineProperty(this,"_info",{value:{}}),i.info&&typeof i.info=="object"&&Object.assign(this._info,i.info),Error.captureStackTrace){const a=i.constructorOpt||this.constructor;Error.captureStackTrace(this,a)}}static cause(t){return Wt(t),t._cause&&re(t._cause)?t._cause:null}static fullStack(t){Wt(t);const e=B.cause(t);return e?`${t.stack} +caused by: ${B.fullStack(e)}`:t.stack??""}static info(t){Wt(t);const e={},r=B.cause(t);return r&&Object.assign(e,B.info(r)),t._info&&Object.assign(e,t._info),e}toString(){let t=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(t=`${t}: ${this.message}`),t}}var zn=$(47),Rt=$.n(zn);const Pe="__PATH_SEPARATOR_POSIX__",je="__PATH_SEPARATOR_WINDOWS__";function O(n){try{const t=n.replace(/\//g,Pe).replace(/\\\\/g,je);return encodeURIComponent(t).split(je).join("\\\\").split(Pe).join("/")}catch(t){throw new B(t,"Failed encoding path")}}function $e(n){return n.startsWith("/")?n:"/"+n}function jt(n){let t=n;return t[0]!=="/"&&(t="/"+t),/^.+\/$/.test(t)&&(t=t.substr(0,t.length-1)),t}function Hn(n){let t=new(Gn())(n).pathname;return t.length<=0&&(t="/"),jt(t)}function _(...n){return(function(){return(function(t){var e=[];if(t.length===0)return"";if(typeof t[0]!="string")throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var r=t.shift();t[0]=r+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var i=0;i0&&(s=s.replace(/^[\/]+/,"")),s=i0?"?":"")+a.join("&")})(typeof arguments[0]=="object"?arguments[0]:[].slice.call(arguments))})(n.reduce(((t,e,r)=>((r===0||e!=="/"||e==="/"&&t[t.length-1]!=="/")&&t.push(e),t)),[]))}var Yn=$(542),xt=$.n(Yn);function Ce(n,t){const e=n.url.replace("//",""),r=e.indexOf("/")==-1?"/":e.slice(e.indexOf("/")),i=n.method?n.method.toUpperCase():"GET",s=!!/(^|,)\s*auth\s*($|,)/.test(t.qop)&&"auth",o=`00000000${t.nc}`.slice(-8),a=(function(p,m,g,f,d,b,y){const x=y||xt()(`${m}:${g}:${f}`);return p&&p.toLowerCase()==="md5-sess"?xt()(`${x}:${d}:${b}`):x})(t.algorithm,t.username,t.realm,t.password,t.nonce,t.cnonce,t.ha1),l=xt()(`${i}:${r}`),u=s?xt()(`${a}:${t.nonce}:${o}:${t.cnonce}:${s}:${l}`):xt()(`${a}:${t.nonce}:${l}`),c={username:t.username,realm:t.realm,nonce:t.nonce,uri:r,qop:s,response:u,nc:o,cnonce:t.cnonce,algorithm:t.algorithm,opaque:t.opaque},h=[];for(const p in c)c[p]&&(p==="qop"||p==="nc"||p==="algorithm"?h.push(`${p}=${c[p]}`):h.push(`${p}="${c[p]}"`));return`Digest ${h.join(", ")}`}function sn(n){return(n.headers&&n.headers.get("www-authenticate")||"").split(/\s/)[0].toLowerCase()==="digest"}var Xn=$(101),on=$.n(Xn);function Oe(n){return on().decode(n)}function _e(n,t){var e;return`Basic ${e=`${n}:${t}`,on().encode(e)}`}let H=(function(n){return n.Auto="auto",n.Digest="digest",n.None="none",n.Password="password",n.Token="token",n})({}),st=(function(n){return n.DataTypeNoLength="data-type-no-length",n.InvalidAuthType="invalid-auth-type",n.InvalidOutputFormat="invalid-output-format",n.LinkUnsupportedAuthType="link-unsupported-auth",n.InvalidUpdateRange="invalid-update-range",n.NotSupported="not-supported",n})({});function an(n,t,e,r,i){switch(n.authType){case H.Auto:t&&e&&(n.headers.Authorization=_e(t,e));break;case H.Digest:n.digest=(function(o,a,l){return{username:o,password:a,ha1:l,nc:0,algorithm:"md5",hasDigestAuth:!1}})(t,e,i);break;case H.None:break;case H.Password:n.headers.Authorization=_e(t,e);break;case H.Token:n.headers.Authorization=`${(s=r).token_type} ${s.access_token}`;break;default:throw new B({info:{code:st.InvalidAuthType}},`Invalid auth type: ${n.authType}`)}var s}$(345),$(800);const ke=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:typeof window<"u"?window:globalThis,Zn=ke.fetch.bind(ke),Ie="@@HOTPATCHER",Jn=()=>{};function Gt(n){return{original:n,methods:[n],final:!1}}class Kn{constructor(){this._configuration={registry:{},getEmptyAction:"null"},this.__type__=Ie}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(t){this.configuration.getEmptyAction=t}control(t,e=!1){if(!t||t.__type__!==Ie)throw new Error("Failed taking control of target HotPatcher instance: Invalid type or object");return Object.keys(t.configuration.registry).forEach((r=>{this.configuration.registry.hasOwnProperty(r)?e&&(this.configuration.registry[r]=Object.assign({},t.configuration.registry[r])):this.configuration.registry[r]=Object.assign({},t.configuration.registry[r])})),t._configuration=this.configuration,this}execute(t,...e){return(this.get(t)||Jn)(...e)}get(t){const e=this.configuration.registry[t];if(!e)switch(this.getEmptyAction){case"null":return null;case"throw":throw new Error(`Failed handling method request: No method provided for override: ${t}`);default:throw new Error(`Failed handling request which resulted in an empty method: Invalid empty-action specified: ${this.getEmptyAction}`)}return(function(...r){if(r.length===0)throw new Error("Failed creating sequence: No functions provided");return function(...i){let s=i;const o=this;for(;r.length>0;)s=[r.shift().apply(o,s)];return s[0]}})(...e.methods)}isPatched(t){return!!this.configuration.registry[t]}patch(t,e,r={}){const{chain:i=!1}=r;if(this.configuration.registry[t]&&this.configuration.registry[t].final)throw new Error(`Failed patching '${t}': Method marked as being final`);if(typeof e!="function")throw new Error(`Failed patching '${t}': Provided method is not a function`);if(i)this.configuration.registry[t]?this.configuration.registry[t].methods.push(e):this.configuration.registry[t]=Gt(e);else if(this.isPatched(t)){const{original:s}=this.configuration.registry[t];this.configuration.registry[t]=Object.assign(Gt(e),{original:s})}else this.configuration.registry[t]=Gt(e);return this}patchInline(t,e,...r){return this.isPatched(t)||this.patch(t,e),this.execute(t,...r)}plugin(t,...e){return e.forEach((r=>{this.patch(t,r,{chain:!0})})),this}restore(t){if(!this.isPatched(t))throw new Error(`Failed restoring method: No method present for key: ${t}`);if(typeof this.configuration.registry[t].original!="function")throw new Error(`Failed restoring method: Original method not found or of invalid type for key: ${t}`);return this.configuration.registry[t].methods=[this.configuration.registry[t].original],this}setFinal(t){if(!this.configuration.registry.hasOwnProperty(t))throw new Error(`Failed marking '${t}' as final: No method found for key`);return this.configuration.registry[t].final=!0,this}}let zt=null;function Qn(){return zt||(zt=new Kn),zt}function Lt(n){return(function(t){if(typeof t!="object"||t===null||Object.prototype.toString.call(t)!="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e})(n)?Object.assign({},n):Object.setPrototypeOf(Object.assign({},n),Object.getPrototypeOf(n))}function Re(...n){let t=null,e=[...n];for(;e.length>0;){const r=e.shift();t=t?cn(t,r):Lt(r)}return t}function cn(n,t){const e=Lt(n);return Object.keys(t).forEach((r=>{e.hasOwnProperty(r)?Array.isArray(t[r])?e[r]=Array.isArray(e[r])?[...e[r],...t[r]]:[...t[r]]:typeof t[r]=="object"&&t[r]?e[r]=typeof e[r]=="object"&&e[r]?cn(e[r],t[r]):Lt(t[r]):e[r]=t[r]:e[r]=t[r]})),e}function tr(n){const t={};return n.forEach(((e,r)=>{t[r]=e})),t}function ie(...n){if(n.length===0)return{};const t={};return n.reduce(((e,r)=>(Object.keys(r).forEach((i=>{const s=i.toLowerCase();t.hasOwnProperty(s)?e[t[s]]=r[i]:(t[s]=i,e[i]=r[i])})),e)),{})}$(805);const er=typeof ArrayBuffer=="function",{toString:nr}=Object.prototype;function un(n){return er&&(n instanceof ArrayBuffer||nr.call(n)==="[object ArrayBuffer]")}function ln(n){return n!=null&&n.constructor!=null&&typeof n.constructor.isBuffer=="function"&&n.constructor.isBuffer(n)}function de(n){return function(){for(var t=[],e=0;et.patchInline("fetch",Zn,e.url,(function(r){let i={};const s={method:r.method};if(r.headers&&(i=ie(i,r.headers)),r.data!==void 0){const[o,a]=(function(l){if(typeof l=="string")return[l,{}];if(ln(l))return[l,{}];if(un(l))return[l,{}];if(l&&typeof l=="object")return[JSON.stringify(l),{"content-type":"application/json"}];throw new Error("Unable to convert request body: Unexpected body type: "+typeof l)})(r.data);s.body=o,i=ie(i,a)}return r.signal&&(s.signal=r.signal),r.withCredentials&&(s.credentials="include"),s.headers=i,s})(e))),n)}var ir=$(285);const Dt=n=>{if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>65536)throw new TypeError("pattern is too long")},sr={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},vt=n=>n.replace(/[[\]\\-]/g,"\\$&"),Le=n=>n.join(""),or=(n,t)=>{const e=t;if(n.charAt(e)!=="[")throw new Error("not in a brace expression");const r=[],i=[];let s=e+1,o=!1,a=!1,l=!1,u=!1,c=e,h="";t:for(;sh?r.push(vt(h)+"-"+vt(f)):f===h&&r.push(vt(f)),h="",s++):n.startsWith("-]",s+1)?(r.push(vt(f+"-")),s+=2):n.startsWith("-",s+1)?(h=f,s+=2):(r.push(vt(f)),s++)}else l=!0,s++}else u=!0,s++}if(ct?n.replace(/\[([^\/\\])\]/g,"$1"):n.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var z;const ar=new Set(["!","?","+","*","@"]),oe=n=>ar.has(n),Me=n=>oe(n.type),cr=new Map([["!",["@"]],["?",["?","@"]],["@",["@"]],["*",["*","+","?","@"]],["+",["+","@"]]]),ur=new Map([["!",["?"]],["@",["?"]],["+",["?","*"]]]),lr=new Map([["!",["?","@"]],["?",["?","@"]],["@",["?","@"]],["*",["*","+","?","@"]],["+",["+","@","?","*"]]]),De=new Map([["!",new Map([["!","@"]])],["?",new Map([["*","*"],["+","*"]])],["@",new Map([["!","!"],["?","?"],["@","@"],["*","*"],["+","+"]])],["+",new Map([["?","*"],["*","*"]])]]),Ht="(?!\\.)",hr=new Set(["[","."]),pr=new Set(["..","."]),fr=new Set("().*{}+?[]^$\\!"),ge="[^/]",Fe=ge+"*?",Ue=ge+"+?";class me{type;#n;#r;#i=!1;#t=[];#e;#a;#u;#c=!1;#s;#o;#l=!1;constructor(t,e,r={}){this.type=t,t&&(this.#r=!0),this.#e=e,this.#n=this.#e?this.#e.#n:this,this.#s=this.#n===this?r:this.#n.#s,this.#u=this.#n===this?[]:this.#n.#u,t!=="!"||this.#n.#c||this.#u.push(this),this.#a=this.#e?this.#e.#t.length:0}get hasMagic(){if(this.#r!==void 0)return this.#r;for(const t of this.#t)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#r=!0;return this.#r}toString(){return this.#o!==void 0?this.#o:this.type?this.#o=this.type+"("+this.#t.map((t=>String(t))).join("|")+")":this.#o=this.#t.map((t=>String(t))).join("")}#y(){if(this!==this.#n)throw new Error("should only call on root");if(this.#c)return this;let t;for(this.toString(),this.#c=!0;t=this.#u.pop();){if(t.type!=="!")continue;let e=t,r=e.#e;for(;r;){for(let i=e.#a+1;!r.type&&itypeof e=="string"?e:e.toJSON())):[this.type,...this.#t.map((e=>e.toJSON()))];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#n||this.#n.#c&&this.#e?.type==="!")&&t.push({}),t}isStart(){if(this.#n===this)return!0;if(!this.#e?.isStart())return!1;if(this.#a===0)return!0;const t=this.#e;for(let e=0;e{const[m,g,f,d]=typeof p=="string"?z.#N(p,this.#r,l):p.toRegExpSource(t);return this.#r=this.#r||f,this.#i=this.#i||d,m})).join("");let c="";if(this.isStart()&&typeof this.#t[0]=="string"&&(this.#t.length!==1||!pr.has(this.#t[0]))){const p=hr,m=e&&p.has(u.charAt(0))||u.startsWith("\\.")&&p.has(u.charAt(2))||u.startsWith("\\.\\.")&&p.has(u.charAt(4)),g=!e&&!t&&p.has(u.charAt(0));c=m?"(?!(?:^|/)\\.\\.?(?:$|/))":g?Ht:""}let h="";return this.isEnd()&&this.#n.#c&&this.#e?.type==="!"&&(h="(?:$|\\/)"),[c+u+h,St(u),this.#r=!!this.#r,this.#i]}const r=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:";let s=this.#m(e);if(this.isStart()&&this.isEnd()&&!s&&this.type!=="!"){const l=this.toString(),u=this;return u.#t=[l],u.type=null,u.#r=void 0,[l,St(this.toString()),!1,!1]}let o=!r||t||e?"":this.#m(!0);o===s&&(o=""),o&&(s=`(?:${s})(?:${o})*?`);let a="";return a=this.type==="!"&&this.#l?(this.isStart()&&!e?Ht:"")+Ue:i+s+(this.type==="!"?"))"+(!this.isStart()||e||t?"":Ht)+Fe+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&o?")":this.type==="*"&&o?")?":`)${this.type}`),[a,St(s),this.#r=!!this.#r,this.#i]}#m(t){return this.#t.map((e=>{if(typeof e=="string")throw new Error("string type in extglob ast??");const[r,i,s,o]=e.toRegExpSource(t);return this.#i=this.#i||o,r})).filter((e=>!(this.isStart()&&this.isEnd()&&!e))).join("|")}static#N(t,e,r=!1){let i=!1,s="",o=!1,a=!1;for(let l=0;l(Dt(t),!(!e.nocomment&&t.charAt(0)==="#")&&new Ft(t,e).match(n)),dr=/^\*+([^+@!?\*\[\(]*)$/,gr=n=>t=>!t.startsWith(".")&&t.endsWith(n),mr=n=>t=>t.endsWith(n),yr=n=>(n=n.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(n)),br=n=>(n=n.toLowerCase(),t=>t.toLowerCase().endsWith(n)),xr=/^\*+\.\*+$/,vr=n=>!n.startsWith(".")&&n.includes("."),wr=n=>n!=="."&&n!==".."&&n.includes("."),Er=/^\.\*+$/,Nr=n=>n!=="."&&n!==".."&&n.startsWith("."),Ar=/^\*+$/,Sr=n=>n.length!==0&&!n.startsWith("."),Tr=n=>n.length!==0&&n!=="."&&n!=="..",Pr=/^\?+([^+@!?\*\[\(]*)?$/,jr=([n,t=""])=>{const e=pn([n]);return t?(t=t.toLowerCase(),r=>e(r)&&r.toLowerCase().endsWith(t)):e},$r=([n,t=""])=>{const e=fn([n]);return t?(t=t.toLowerCase(),r=>e(r)&&r.toLowerCase().endsWith(t)):e},Cr=([n,t=""])=>{const e=fn([n]);return t?r=>e(r)&&r.endsWith(t):e},Or=([n,t=""])=>{const e=pn([n]);return t?r=>e(r)&&r.endsWith(t):e},pn=([n])=>{const t=n.length;return e=>e.length===t&&!e.startsWith(".")},fn=([n])=>{const t=n.length;return e=>e.length===t&&e!=="."&&e!==".."},dn=typeof It=="object"&&It?typeof Bt=="object"&&Bt&&Bt.__MINIMATCH_TESTING_PLATFORM__||It.platform:"posix";F.sep=dn==="win32"?"\\":"/";const D=Symbol("globstar **");F.GLOBSTAR=D,F.filter=(n,t={})=>e=>F(e,n,t);const Q=(n,t={})=>Object.assign({},n,t);F.defaults=n=>{if(!n||typeof n!="object"||!Object.keys(n).length)return F;const t=F;return Object.assign(((e,r,i={})=>t(e,r,Q(n,i))),{Minimatch:class extends t.Minimatch{constructor(e,r={}){super(e,Q(n,r))}static defaults(e){return t.defaults(Q(n,e)).Minimatch}},AST:class extends t.AST{constructor(e,r,i={}){super(e,r,Q(n,i))}static fromGlob(e,r={}){return t.AST.fromGlob(e,Q(n,r))}},unescape:(e,r={})=>t.unescape(e,Q(n,r)),escape:(e,r={})=>t.escape(e,Q(n,r)),filter:(e,r={})=>t.filter(e,Q(n,r)),defaults:e=>t.defaults(Q(n,e)),makeRe:(e,r={})=>t.makeRe(e,Q(n,r)),braceExpand:(e,r={})=>t.braceExpand(e,Q(n,r)),match:(e,r,i={})=>t.match(e,r,Q(n,i)),sep:t.sep,GLOBSTAR:D})};const gn=(n,t={})=>(Dt(n),t.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:ir(n));F.braceExpand=gn,F.makeRe=(n,t={})=>new Ft(n,t).makeRe(),F.match=(n,t,e={})=>{const r=new Ft(t,e);return n=n.filter((i=>r.match(i))),r.options.nonull&&!n.length&&n.push(t),n};const Ve=/[?*]|[+@!]\(.*?\)|\[|\]/;class Ft{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;maxGlobstarRecursion;regexp;constructor(t,e={}){Dt(t),e=e||{},this.options=e,this.maxGlobstarRecursion=e.maxGlobstarRecursion??200,this.pattern=t,this.platform=e.platform||dn,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||e.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=e.windowsNoMagicRoot!==void 0?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if(typeof e!="string")return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&t.charAt(0)==="#")return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...s)=>console.error(...s)),this.debug(this.pattern,this.globSet);const r=this.globSet.map((s=>this.slashSplit(s)));this.globParts=this.preprocess(r),this.debug(this.pattern,this.globParts);let i=this.globParts.map(((s,o,a)=>{if(this.isWindows&&this.windowsNoMagicRoot){const l=!(s[0]!==""||s[1]!==""||s[2]!=="?"&&Ve.test(s[2])||Ve.test(s[3])),u=/^[a-z]:/i.test(s[0]);if(l)return[...s.slice(0,4),...s.slice(4).map((c=>this.parse(c)))];if(u)return[s[0],...s.slice(1).map((c=>this.parse(c)))]}return s.map((l=>this.parse(l)))}));if(this.debug(this.pattern,i),this.set=i.filter((s=>s.indexOf(!1)===-1)),this.isWindows)for(let s=0;s=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((e=>{let r=-1;for(;(r=e.indexOf("**",r+1))!==-1;){let i=r;for(;e[i+1]==="**";)i++;i!==r&&e.splice(r,i-r)}return e}))}levelOneOptimize(t){return t.map((e=>(e=e.reduce(((r,i)=>{const s=r[r.length-1];return i==="**"&&s==="**"?r:i===".."&&s&&s!==".."&&s!=="."&&s!=="**"?(r.pop(),r):(r.push(i),r)}),[])).length===0?[""]:e))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let i=1;ii&&r.splice(i+1,o-i);let a=r[i+1];const l=r[i+2],u=r[i+3];if(a!==".."||!l||l==="."||l===".."||!u||u==="."||u==="..")continue;e=!0,r.splice(i,1);const c=r.slice(0);c[i]="**",t.push(c),i--}if(!this.preserveMultipleSlashes){for(let o=1;oe.length))}partsMatch(t,e,r=!1){let i=0,s=0,o=[],a="";for(;i=2&&(t=this.levelTwoFileOptimize(t)),e.includes(D)?this.#n(t,e,r,i,s):this.#i(t,e,r,i,s)}#n(t,e,r,i,s){const o=e.indexOf(D,s),a=e.lastIndexOf(D),[l,u,c]=r?[e.slice(s,o),e.slice(o+1),[]]:[e.slice(s,o),e.slice(o+1,a),e.slice(a+1)];if(l.length){const y=t.slice(i,i+l.length);if(!this.#i(y,l,r,0,0))return!1;i+=l.length}let h=0;if(c.length){if(c.length+i>t.length)return!1;let y=t.length-c.length;if(this.#i(t,c,r,y,0))h=c.length;else{if(t[t.length-1]!==""||i+c.length===t.length||(y--,!this.#i(t,c,r,y,0)))return!1;h=c.length+1}}if(!u.length){let y=!!h;for(let x=i;x{const u=l.map((c=>{if(c instanceof RegExp)for(const h of c.flags.split(""))i.add(h);return typeof c=="string"?c.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"):c===D?D:c._src}));return u.forEach(((c,h)=>{const p=u[h+1],m=u[h-1];c===D&&m!==D&&(m===void 0?p!==void 0&&p!==D?u[h+1]="(?:\\/|"+r+"\\/)?"+p:u[h]=r:p===void 0?u[h-1]=m+"(?:\\/|"+r+")?":p!==D&&(u[h-1]=m+"(?:\\/|\\/"+r+"\\/)"+p,u[h+1]=D))})),u.filter((c=>c!==D)).join("/")})).join("|");const[o,a]=t.length>1?["(?:",")"]:["",""];s="^"+o+s+a+"$",this.negate&&(s="^(?!"+s+").+$");try{this.regexp=new RegExp(s,[...i].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&e)return!0;const r=this.options;this.isWindows&&(t=t.split("\\").join("/"));const i=this.slashSplit(t);this.debug(this.pattern,"split",i);const s=this.set;this.debug(this.pattern,"set",s);let o=i[i.length-1];if(!o)for(let a=i.length-2;!o&&a>=0;a--)o=i[a];for(let a=0;a=400)throw ye(t);return t}function yt(n,t,e=!1){return e?{data:t,headers:n.headers?tr(n.headers):{},status:n.status,statusText:n.statusText}:t}F.AST=me,F.Minimatch=Ft,F.escape=(n,{windowsPathsNoEscape:t=!1}={})=>t?n.replace(/[?*()[\]]/g,"[$&]"):n.replace(/[?*()[\]\\]/g,"\\$&"),F.unescape=St;const _r=(qe=function(n,t,e,r={}){const i=R({url:_(n.remoteURL,O(t)),method:"COPY",headers:{Destination:_(n.remoteURL,O(e)),Overwrite:r.overwrite===!1?"F":"T",Depth:r.shallow?"0":"infinity"}},n,r);return o=function(a){L(n,a)},(s=I(i,n))&&s.then||(s=Promise.resolve(s)),o?s.then(o):s;var s,o},function(){for(var n=[],t=0;tbe.includes(n)?"__"+n:n,Ir={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0,unicode:!1},tagValueProcessor:function(n,t){return t},attributeValueProcessor:function(n,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,t,e){return n},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:bn};function Rr(n,t){if(typeof n!="string")return;const e=n.toLowerCase();if(be.some((r=>e===r.toLowerCase())))throw new Error(`[SECURITY] Invalid ${t}: "${n}" is a reserved JavaScript keyword that could cause prototype pollution`);if(yn.some((r=>e===r.toLowerCase())))throw new Error(`[SECURITY] Invalid ${t}: "${n}" is a reserved JavaScript keyword that could cause prototype pollution`)}function xn(n,t){return typeof n=="boolean"?{enabled:n,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:"all"}:typeof n=="object"&&n!==null?{enabled:n.enabled!==!1,maxEntitySize:Math.max(1,n.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,n.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,n.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,n.maxExpandedLength??1e5),maxEntityCount:Math.max(1,n.maxEntityCount??1e3),allowedTags:n.allowedTags??null,tagFilter:n.tagFilter??null,appliesTo:n.appliesTo??"all"}:xn(!0)}const Lr=function(n){const t=Object.assign({},Ir,n),e=[{value:t.attributeNamePrefix,name:"attributeNamePrefix"},{value:t.attributesGroupName,name:"attributesGroupName"},{value:t.textNodeName,name:"textNodeName"},{value:t.cdataPropName,name:"cdataPropName"},{value:t.commentPropName,name:"commentPropName"}];for(const{value:r,name:i}of e)r&&Rr(r,i);return t.onDangerousProperty===null&&(t.onDangerousProperty=bn),t.processEntities=xn(t.processEntities,t.htmlEntities),t.unpairedTagsSet=new Set(t.unpairedTags),t.stopNodes&&Array.isArray(t.stopNodes)&&(t.stopNodes=t.stopNodes.map((r=>typeof r=="string"&&r.startsWith("*.")?".."+r.substring(2):r))),t};let ht;ht=typeof Symbol!="function"?"@@xmlMetadata":Symbol("XML Node Metadata");class rt{constructor(t){this.tagname=t,this.child=[],this[":@"]=Object.create(null)}add(t,e){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:e})}addChild(t,e){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child}),this.addStartIndex(e)}addStartIndex(t){t!==void 0&&(this.child[this.child.length-1][ht]={startIndex:t})}addEndIndex(t){const e=this.child[this.child.length-1];e!==void 0&&e[ht]!==void 0&&e[ht].endIndex===void 0&&(e[ht].endIndex=t)}static getMetaDataSymbol(){return ht}}const We=":A-Za-z_À-ÖØ-öø-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�",vn=":A-Za-z_À-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",Mr=vn+"\\-\\.\\d·̀-ͯ҇‿-⁀",xe=(n,t,e="")=>{const r=`[${n.replace(":","")}][${t.replace(":","")}]*`;return{name:new RegExp(`^[${n}][${t}]*$`,e),ncName:new RegExp(`^${r}$`,e),qName:new RegExp(`^${r}(?::${r})?$`,e),nmToken:new RegExp(`^[${t}]+$`,e),nmTokens:new RegExp(`^[${t}]+(?:\\s+[${t}]+)*$`,e)}},Dr=xe(We,We+"\\-\\.\\d·̀-ͯ‿-⁀"),Fr=xe(vn,Mr,"u"),Ge=":A-Za-z_",Ur=xe(Ge,Ge+"\\-\\.\\d"),wn=(n="1.0",t=!1)=>t?Ur:n==="1.1"?Fr:Dr,En=(n,{xmlVersion:t="1.0",asciiOnly:e=!1}={})=>wn(t,e).qName.test(n),ze=["name","ncName","qName","nmToken","nmTokens"],Nn=(n,{xmlVersion:t="1.0",asciiOnly:e=!1,maxCacheSize:r=2048}={})=>{if(!ze.includes(n))throw new TypeError(`Unknown production "${n}". Must be one of: ${ze.join(", ")}`);const i=wn(t,e)[n];let s=new Map;const o=a=>{const l=s.get(a);if(l!==void 0)return l;const u=i.test(a);return s.size{s=new Map},o};class Vr{constructor(t,e){this.suppressValidationErr=!t,this.options=t,this.xmlVersion=e||1}setXmlVersion(t=1){this.xmlVersion=t}readDocType(t,e){const r=Object.create(null);let i=0;if(t[e+3]!=="O"||t[e+4]!=="C"||t[e+5]!=="T"||t[e+6]!=="Y"||t[e+7]!=="P"||t[e+8]!=="E")throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let s=1,o=!1,a=!1,l=null,u="";for(;e"){if(a?t[e-1]==="-"&&t[e-2]==="-"&&(a=!1,s--):s--,s===0)break}else t[e]==="["?o=!0:u+=t[e];else{if(o&&ct(t,"!ENTITY",e)){let c,h;if(e+=7,[c,h,e]=this.readEntityExp(t,e+1,this.suppressValidationErr),h.indexOf("&")===-1){if(this.options.enabled!==!1&&this.options.maxEntityCount!=null&&i>=this.options.maxEntityCount)throw new Error(`Entity count (${i+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);r[c]=h,i++}}else if(o&&ct(t,"!ELEMENT",e)){e+=8;const{index:c}=this.readElementExp(t,e+1);e=c}else if(o&&ct(t,"!ATTLIST",e))e+=8;else if(o&&ct(t,"!NOTATION",e)){e+=9;const{index:c}=this.readNotationExp(t,e+1,this.suppressValidationErr);e=c}else{if(!ct(t,"!--",e))throw new Error("Invalid DOCTYPE");a=!0}s++,u=""}else l=t[e],u+=t[e];else t[e]===l&&(l=null),u+=t[e];if(l!==null||s!==0)throw new Error("Unclosed DOCTYPE")}return{entities:r,i:e}}readEntityExp(t,e){const r=e=G(t,e);for(;ethis.options.maxEntitySize)throw new Error(`Entity "${i}" size (${s.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[i,s,--e]}readNotationExp(t,e){const r=e=G(t,e);for(;e{for(;t=48&&l<=57||l===45)){if(l=55296&&l<=56319){if(a+1=56320&&u<=57343){const c=65536+(l-55296<<10)+(u-56320);if(ae.has(c)){s=a;break}}}}else if(ce[l-Tt]!==255||Ot.has(l)){s=a;break}}}if(s===-1)return r;const o=[];s>0&&o.push(r.slice(0,s));for(let a=s;a=48&&l<=57||l===45){o.push(r[a]);continue}if(l=55296&&l<=56319){if(a+1=56320&&c<=57343){const h=65536+(l-55296<<10)+(c-56320),p=ae.get(h);if(p!==void 0){o.push(String.fromCharCode(p+48)),a++;continue}}}o.push(r[a]);continue}if(Ot.has(l)){o.push("-");continue}const u=ce[l-Tt];o.push(u!==255?String.fromCharCode(u+48):r[a])}return o.join("")})(e),e==="0"))return 0;if(t.hex&&Br.test(e))return Yt(e,16);if(t.binary&&Wr.test(e))return Yt(e,2);if(t.octal&&Gr.test(e))return Yt(e,8);if(isFinite(e)){if(e.includes("e")||e.includes("E"))return(function(r,i,s){if(!s.eNotation)return r;const o=i.match(Xr);if(o){let a=o[1]||"";const l=o[3].indexOf("e")===-1?"E":"e",u=o[2],c=a?r[u.length+1]===l:r[u.length]===l;return u.length>1&&c?r:(u.length!==1||!o[3].startsWith(`.${l}`)&&o[3][0]!==l)&&u.length>0?s.leadingZeros&&!c?(i=(o[1]||"")+o[3],Number(i)):r:Number(i)}return r})(n,e,t);{const r=zr.exec(e);if(r){const i=r[1]||"",s=r[2];let o=(function(l){if(l&&l.indexOf(".")!==-1){let u=l.length;for(;u>0&&l.charCodeAt(u-1)===48;)u--;return(l=l.slice(0,u))==="."?l="0":l[0]==="."?l="0"+l:l[l.length-1]==="."&&(l=l.substring(0,l.length-1)),l}return l})(r[3]);const a=i?n[s.length+1]===".":n[s.length]===".";if(!t.leadingZeros&&(s.length>1||s.length===1&&!a))return n;{const l=Number(e),u=String(l);if(l===0)return l;if(u.search(/[eE]/)!==-1)return t.eNotation?l:n;if(e.indexOf(".")!==-1)return u==="0"||u===o||u===`${i}${o}`?l:n;let c=s?o:e;return s?c===u||i+c===u?l:n:c===u||c===i+u?l:n}}return n}}return(function(r,i,s){const o=i===1/0;switch(s.infinity.toLowerCase()){case"null":return null;case"infinity":return i;case"string":return o?"Infinity":"-Infinity";default:return r}})(n,Number(e),t)}const Xr=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function Yt(n,t){const e=n.trim();if(t!==2&&t!==8||(n=e.substring(2)),parseInt)return parseInt(n,t);if(Number.parseInt)return Number.parseInt(n,t);if(window&&window.parseInt)return window.parseInt(n,t);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}class Zr{constructor(t){this._matcher=t}get separator(){return this._matcher.separator}getCurrentTag(){const t=this._matcher.path;return t.length>0?t[t.length-1].tag:void 0}getCurrentNamespace(){const t=this._matcher.path;return t.length>0?t[t.length-1].namespace:void 0}getAttrValue(t){const e=this._matcher.path;if(e.length!==0)return e[e.length-1].values?.[t]}hasAttr(t){const e=this._matcher.path;if(e.length===0)return!1;const r=e[e.length-1];return r.values!==void 0&&t in r.values}getAnyParentAttr(t){return this._matcher.getAnyParentAttr(t)}hasAnyParentAttr(t){return this._matcher.hasAnyParentAttr(t)}getPosition(){const t=this._matcher.path;return t.length===0?-1:t[t.length-1].position??0}getCounter(){const t=this._matcher.path;return t.length===0?-1:t[t.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(t,e=!0){return this._matcher.toString(t,e)}toArray(){return this._matcher.path.map((t=>t.tag))}matches(t){return this._matcher.matches(t)}matchesAny(t){return t.matchesAny(this._matcher)}}class ve{constructor(t={}){this.separator=t.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new Zr(this),this._keptAttrs=[]}push(t,e=null,r=null,i=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const s=this.path.length;let o=this.siblingStacks[s];o||(o={counts:new Map,total:0},this.siblingStacks[s]=o);const a=r?`${r}:${t}`:t,l=o.counts.get(a)||0,u=o.total;o.counts.set(a,l+1),o.total++;const c={tag:t,position:u,counter:l};r!=null&&(c.namespace=r),e!=null&&(c.values=e),this.path.push(c);const h=this.path.length,p=i!==null?i.keep:null;if(p!=null&&p.length>0&&e)for(let m=0;mthis.path.length+1&&(this.siblingStacks.length=this.path.length+1);const e=this.path.length+1;for(;this._keptAttrs.length>0&&this._keptAttrs[this._keptAttrs.length-1].depth>=e;)this._keptAttrs.pop();return t}updateCurrent(t){if(this.path.length>0){const e=this.path[this.path.length-1];t!=null&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(this.path.length!==0)return this.path[this.path.length-1].values?.[t]}hasAttr(t){if(this.path.length===0)return!1;const e=this.path[this.path.length-1];return e.values!==void 0&&t in e.values}getAnyParentAttr(t){const e=this._keptAttrs;for(let r=e.length-1;r>=0;r--)if(e[r].name===t)return e[r].value}hasAnyParentAttr(t){const e=this._keptAttrs;for(let r=e.length-1;r>=0;r--)if(e[r].name===t)return!0;return!1}getPosition(){return this.path.length===0?-1:this.path[this.path.length-1].position??0}getCounter(){return this.path.length===0?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t,e=!0){const r=t||this.separator;if(r===this.separator&&e===!0){if(this._pathStringCache!==null)return this._pathStringCache;const i=this.path.map((s=>s.namespace?`${s.namespace}:${s.tag}`:s.tag)).join(r);return this._pathStringCache=i,i}return this.path.map((i=>e&&i.namespace?`${i.namespace}:${i.tag}`:i.tag)).join(r)}toArray(){return this.path.map((t=>t.tag))}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[],this._keptAttrs=[]}matches(t){const e=t.segments;return e.length!==0&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e=0&&e>=0;){const i=t[r];if(i.type==="deep-wildcard"){if(r--,r<0)return!0;const s=t[r];let o=!1;for(let a=e;a>=0;a--)if(this._matchSegment(s,this.path[a],a===this.path.length-1)){e=a-1,r--,o=!0;break}if(!o)return!1}else{if(!this._matchSegment(i,this.path[e],e===this.path.length-1))return!1;e--,r--}}return r<0}_matchSegment(t,e,r){if(t.tag!=="*"&&t.tag!==e.tag||t.namespace!==void 0&&t.namespace!=="*"&&t.namespace!==e.namespace||t.attrName!==void 0&&(!r||!e.values||!(t.attrName in e.values)||t.attrValue!==void 0&&String(e.values[t.attrName])!==String(t.attrValue)))return!1;if(t.position!==void 0){if(!r)return!1;const i=e.counter??0;if(t.position==="first"&&i!==0||t.position==="odd"&&i%2!=1||t.position==="even"&&i%2!=0||t.position==="nth"&&i!==t.positionValue)return!1}return!0}matchesAny(t){return t.matchesAny(this)}snapshot(){return{path:this.path.map((t=>({...t}))),siblingStacks:this.siblingStacks.map((t=>t&&{counts:new Map(t.counts),total:t.total})),keptAttrs:this._keptAttrs.map((t=>({...t})))}}restore(t){this._pathStringCache=null,this.path=t.path.map((e=>({...e}))),this.siblingStacks=t.siblingStacks.map((e=>e&&{counts:new Map(e.counts),total:e.total})),this._keptAttrs=(t.keptAttrs||[]).map((e=>({...e})))}readOnly(){return this._view}}class mt{constructor(t,e={},r){this.pattern=t,this.separator=e.separator||".",this.segments=this._parse(t),this.data=r,this._hasDeepWildcard=this.segments.some((i=>i.type==="deep-wildcard")),this._hasAttributeCondition=this.segments.some((i=>i.attrName!==void 0)),this._hasPositionSelector=this.segments.some((i=>i.position!==void 0))}_parse(t){const e=[];let r=0,i="";for(;r",lt:"<",quot:'"'},Qr={nbsp:" ",copy:"©",reg:"®",trade:"™",mdash:"—",ndash:"–",hellip:"…",laquo:"«",raquo:"»",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",para:"¶",sect:"§",deg:"°",frac12:"½",frac14:"¼",frac34:"¾"},Ut=Object.freeze({ALLOW:"allow",BLOCK:"block",THROW:"throw"}),ti=new Set("!?\\\\/[]$%{}^&*()<>|+");function He(n){if(n[0]==="#")throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${n}"`);for(const t of n)if(ti.has(t))throw new Error(`[EntityReplacer] Invalid character '${t}' in entity name: "${n}"`);return n}function Et(...n){const t=Object.create(null);for(const e of n)if(e)for(const r of Object.keys(e)){const i=e[r];if(typeof i=="string")t[r]=i;else if(i&&typeof i=="object"&&i.val!==void 0){const s=i.val;typeof s=="string"&&(t[r]=s)}}return t}const ut="external",_t="base",Xt="all",X=Object.freeze({allow:0,leave:1,remove:2,throw:3}),ei=new Set([9,10,13]);class Sn{constructor(t={}){var e;this._limit=t.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck=typeof t.postCheck=="function"?t.postCheck:i=>i,this._limitTiers=(e=this._limit.applyLimitsTo??ut)&&e!==ut?e===Xt?new Set([Xt]):e===_t?new Set([_t]):Array.isArray(e)?new Set(e):new Set([ut]):new Set([ut]),this._numericAllowed=t.numericAllowed??!0,this._baseMap=Et(An,t.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(t.remove&&Array.isArray(t.remove)?t.remove:[]),this._leaveSet=new Set(t.leave&&Array.isArray(t.leave)?t.leave:[]);const r=(function(i){if(!i)return{xmlVersion:1,onLevel:X.allow,nullLevel:X.remove};const s=i.xmlVersion===1.1?1.1:1,o=X[i.onNCR]??X.allow,a=X[i.nullNCR]??X.remove;return{xmlVersion:s,onLevel:o,nullLevel:Math.max(a,X.remove)}})(t.ncr);this._ncrXmlVersion=r.xmlVersion,this._ncrOnLevel=r.onLevel,this._ncrNullLevel=r.nullLevel,this._onExternalEntity=typeof t.onExternalEntity=="function"?t.onExternalEntity:null,this._onInputEntity=typeof t.onInputEntity=="function"?t.onInputEntity:null}_applyRegistrationHook(t,e,r,i){if(!t)return!0;const s=t(e,r);if(s===Ut.BLOCK)return!1;if(s===Ut.THROW)throw new Error(`[EntityDecoder] Registration of ${i} entity "&${e};" was rejected by hook`);return!0}setExternalEntities(t){if(t)for(const i of Object.keys(t))He(i);if(!this._onExternalEntity)return void(this._externalMap=Et(t));const e=Et(t),r=Object.create(null);for(const[i,s]of Object.entries(e))this._applyRegistrationHook(this._onExternalEntity,i,s,"external")&&(r[i]=s);this._externalMap=r}addExternalEntity(t,e){He(t),typeof e=="string"&&e.indexOf("&")===-1&&this._applyRegistrationHook(this._onExternalEntity,t,e,"external")&&(this._externalMap[t]=e)}addInputEntities(t){if(this._totalExpansions=0,this._expandedLength=0,!this._onInputEntity)return void(this._inputMap=Et(t));const e=Et(t),r=Object.create(null);for(const[i,s]of Object.entries(e))this._applyRegistrationHook(this._onInputEntity,i,s,"input")&&(r[i]=s);this._inputMap=r}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(t){this._ncrXmlVersion=t===1.1?1.1:1}decode(t){if(typeof t!="string"||t.length===0||t.indexOf("&")===-1)return t;const e=t,r=[],i=t.length;let s=0,o=0;const a=this._maxTotalExpansions>0,l=this._maxExpandedLength>0,u=a||l;for(;o=i||t.charCodeAt(h)!==59){o++;continue}const p=t.slice(o+1,h);if(p.length===0){o++;continue}let m,g;if(this._removeSet.has(p))m="",g===void 0&&(g=ut);else{if(this._leaveSet.has(p)){o++;continue}if(p.charCodeAt(0)===35){const f=this._resolveNCR(p);if(f===void 0){o++;continue}m=f,g=_t}else{const f=this._resolveName(p);m=f?.value,g=f?.tier}}if(m!==void 0){if(o>s&&r.push(t.slice(s,o)),r.push(m),s=h+1,o=s,u&&this._tierCounts(g)){if(a&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(l){const f=m.length-(p.length+2);if(f>0&&(this._expandedLength+=f,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}else o++}s=55296&&t<=57343||this._ncrXmlVersion===1&&t>=1&&t<=31&&!ei.has(t)?X.remove:-1}_applyNCRAction(t,e,r){switch(t){case X.allow:return String.fromCodePoint(r);case X.remove:return"";case X.leave:return;case X.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${e}; (U+${r.toString(16).toUpperCase().padStart(4,"0")})`);default:return String.fromCodePoint(r)}}_resolveNCR(t){const e=t.charCodeAt(1);let r;if(r=e===120||e===88?parseInt(t.slice(2),16):parseInt(t.slice(1),10),Number.isNaN(r)||r<0||r>1114111)return;const i=this._classifyNCR(r);if(!this._numericAllowed&&i/]/i},{id:"html-script-close",description:"<\/script closing tag",pattern:/<\/script[\s>]/i},{id:"html-javascript-protocol",description:"javascript: URI scheme (with optional whitespace/encoding)",pattern:/j[\t\n\r ]*a[\t\n\r ]*v[\t\n\r ]*a[\t\n\r ]*s[\t\n\r ]*c[\t\n\r ]*r[\t\n\r ]*i[\t\n\r ]*p[\t\n\r ]*t[\t\n\r ]*:/i},{id:"html-vbscript-protocol",description:"vbscript: URI scheme",pattern:/vbscript[\t\n\r ]*:/i},{id:"html-data-html",description:"data:text/html URI — can execute scripts in browsers",pattern:/data[\t\n\r ]*:[\t\n\r ]*text\/html/i},{id:"html-data-xhtml",description:"data:application/xhtml+xml URI",pattern:/data[\t\n\r ]*:[\t\n\r ]*application\/xhtml/i},{id:"html-data-svg",description:"data:image/svg+xml URI — can execute scripts",pattern:/data[\t\n\r ]*:[\t\n\r ]*image\/svg\+xml/i},{id:"html-inline-event-handler",description:"Inline event handler attributes: onclick=, onerror=, onload=, etc.",pattern:/\bon\w{1,30}\s*=/i},{id:"html-entity-obfuscated-script",description:"HTML-entity-encoded /]/i},{id:"html-form",description:"
/]/i}],jn=[{id:"xml-cdata-injection",description:"CDATA section injection: can terminate an enclosing CDATA section",pattern:/\]\]>/},{id:"xml-processing-instruction",description:"XML processing instruction: closes an enclosing XML comment",pattern:/-->/},{id:"xml-pi-close",description:"?> closes an enclosing processing instruction",pattern:/\?>/}],ri=[{id:"svg-script-element",description:"